}
-
/*!
* @brief pit/nestの基準となるドラゴンの種類を決める /
* @return なし
/* Pick dragon type */
switch (randint0(6))
{
- /* Black */
- case 0:
- {
- /* Restrict dragon breath type */
+ case 0: /* Black */
vault_aux_dragon_mask4 = RF4_BR_ACID;
-
break;
- }
-
- /* Blue */
- case 1:
- {
- /* Restrict dragon breath type */
+ case 1: /* Blue */
vault_aux_dragon_mask4 = RF4_BR_ELEC;
-
break;
- }
-
- /* Red */
- case 2:
- {
- /* Restrict dragon breath type */
+ case 2: /* Red */
vault_aux_dragon_mask4 = RF4_BR_FIRE;
-
break;
- }
-
- /* White */
- case 3:
- {
- /* Restrict dragon breath type */
+ case 3: /* White */
vault_aux_dragon_mask4 = RF4_BR_COLD;
-
break;
- }
-
- /* Green */
- case 4:
- {
- /* Restrict dragon breath type */
+ case 4: /* Green */
vault_aux_dragon_mask4 = RF4_BR_POIS;
-
break;
- }
-
- /* Multi-hued */
- default:
- {
- /* Restrict dragon breath type */
- vault_aux_dragon_mask4 = (RF4_BR_ACID | RF4_BR_ELEC |
- RF4_BR_FIRE | RF4_BR_COLD |
- RF4_BR_POIS);
-
+ default: /* Multi-hued */
+ vault_aux_dragon_mask4 = (RF4_BR_ACID | RF4_BR_ELEC | RF4_BR_FIRE | RF4_BR_COLD | RF4_BR_POIS);
break;
}
- }
}
/*!
bool mon_hook_lava(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
if (!mon_hook_dungeon(r_idx)) return FALSE;
-
if (((r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) ||
(r_ptr->flags7 & RF7_CAN_FLY)) &&
!(r_ptr->flags3 & RF3_AURA_COLD))
bool mon_hook_floor(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- if (!(r_ptr->flags7 & RF7_AQUATIC) ||
- (r_ptr->flags7 & RF7_CAN_FLY))
+ if (!(r_ptr->flags7 & RF7_AQUATIC) || (r_ptr->flags7 & RF7_CAN_FLY))
return TRUE;
else
return FALSE;
bool vault_aux_lite(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return FALSE;
-
- /* Require lite attack */
if (!(r_ptr->flags4 & RF4_BR_LITE) && !(r_ptr->a_ability_flags1 & RF5_BA_LITE)) return FALSE;
-
- /* No wall passing monsters */
if (r_ptr->flags2 & (RF2_PASS_WALL | RF2_KILL_WALL)) return FALSE;
-
- /* No disintegrating monsters */
if (r_ptr->flags4 & RF4_BR_DISI) return FALSE;
-
return TRUE;
}
bool vault_aux_shards(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return FALSE;
-
- /* Require shards breath attack */
if (!(r_ptr->flags4 & RF4_BR_SHAR)) return FALSE;
-
return TRUE;
}
bool vault_aux_jelly(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE);
-
- /* Also decline evil jellies (like death molds and shoggoths) */
if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE);
-
- /* Require icky thing, jelly, mold, or mushroom */
if (!my_strchr("ijm,", r_ptr->d_char)) return (FALSE);
-
return (TRUE);
}
bool vault_aux_animal(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require "animal" flag */
if (!(r_ptr->flags3 & (RF3_ANIMAL))) return (FALSE);
-
return (TRUE);
}
bool vault_aux_undead(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require Undead */
if (!(r_ptr->flags3 & (RF3_UNDEAD))) return (FALSE);
-
return (TRUE);
}
MON_TOPAZ_MONK, 0 };
int i;
-
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE);
if ((r_idx == MON_A_GOLD) || (r_idx == MON_A_SILVER)) return (FALSE);
-
- /* Require "priest" or Angel */
-
if (r_ptr->d_char == 'A') return TRUE;
-
for (i = 0; chapel_list[i]; i++)
if (r_idx == chapel_list[i]) return TRUE;
-
return FALSE;
}
bool vault_aux_kennel(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require a Zephyr Hound or a dog */
if (!my_strchr("CZ", r_ptr->d_char)) return (FALSE);
-
return (TRUE);
}
bool vault_aux_mimic(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require mimic */
if (!my_strchr("!$&(/=?[\\|", r_ptr->d_char)) return (FALSE);
-
return (TRUE);
}
*/
bool vault_aux_clone(MONRACE_IDX r_idx)
{
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
return (r_idx == vault_aux_race);
}
bool vault_aux_symbol_e(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE);
-
if (r_ptr->flags3 & (RF3_GOOD)) return (FALSE);
-
- /* Decline incorrect symbol */
if (r_ptr->d_char != vault_aux_char) return (FALSE);
-
return (TRUE);
}
bool vault_aux_symbol_g(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE);
-
if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE);
-
- /* Decline incorrect symbol */
if (r_ptr->d_char != vault_aux_char) return (FALSE);
-
return (TRUE);
}
bool vault_aux_orc(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require orc */
if (!(r_ptr->flags3 & RF3_ORC)) return (FALSE);
-
- /* Decline undead */
if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE);
-
return (TRUE);
}
bool vault_aux_troll(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require troll */
if (!(r_ptr->flags3 & RF3_TROLL)) return (FALSE);
-
- /* Decline undead */
if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE);
-
return (TRUE);
}
bool vault_aux_giant(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require giant */
if (!(r_ptr->flags3 & RF3_GIANT)) return (FALSE);
-
if (r_ptr->flags3 & RF3_GOOD) return (FALSE);
-
- /* Decline undead */
if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE);
-
return (TRUE);
}
bool vault_aux_dragon(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
- /* Require dragon */
if (!(r_ptr->flags3 & RF3_DRAGON)) return (FALSE);
-
- /* Hack -- Require correct "breath attack" */
if (r_ptr->flags4 != vault_aux_dragon_mask4) return (FALSE);
-
- /* Decline undead */
if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE);
-
return (TRUE);
}
bool vault_aux_demon(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE);
-
- /* Require demon */
if (!(r_ptr->flags3 & RF3_DEMON)) return (FALSE);
-
return (TRUE);
}
bool vault_aux_cthulhu(MONRACE_IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
-
if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE);
-
- /* Require eldritch horror */
if (!(r_ptr->flags2 & (RF2_ELDRITCH_HORROR))) return (FALSE);
-
return (TRUE);
}
MON_D_ELF_LORD, MON_D_ELF_WARLOCK, MON_D_ELF_DRUID, MON_NIGHTBLADE,
MON_D_ELF_SORC, MON_D_ELF_SHADE, 0,
};
-
- /* Validate the monster */
if (!vault_monster_okay(r_idx)) return FALSE;
-
- /* Require dark elves */
- for (i = 0; dark_elf_list[i]; i++)
- if (r_idx == dark_elf_list[i]) return TRUE;
-
- /* Assume not */
+ for (i = 0; dark_elf_list[i]; i++) if (r_idx == dark_elf_list[i]) return TRUE;
return FALSE;
}