Separate monster hook functions from monster1.c and birth.c to monster-hook.c/h.
<ClCompile Include="..\..\src\floor-generate.c" />\r
<ClCompile Include="..\..\src\floor-save.c" />\r
<ClCompile Include="..\..\src\history.c" />\r
+ <ClCompile Include="..\..\src\monster-hook.c" />\r
<ClCompile Include="..\..\src\realm-craft.c" />\r
<ClCompile Include="..\..\src\realm-crusade.c" />\r
<ClCompile Include="..\..\src\realm-daemon.c" />\r
<ClInclude Include="..\..\src\init.h" />\r
<ClInclude Include="..\..\src\kajitips.h" />\r
<ClInclude Include="..\..\src\mindtips.h" />\r
+ <ClInclude Include="..\..\src\monster-hook.h" />\r
<ClInclude Include="..\..\src\readdib.h" />\r
<ClInclude Include="..\..\src\realm-arcane.h" />\r
<ClInclude Include="..\..\src\realm-chaos.h" />\r
<ClCompile Include="..\..\src\history.c">\r
<Filter>Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\src\monster-hook.c">\r
+ <Filter>Source</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\src\angband.h">\r
<ClInclude Include="..\..\src\history.h">\r
<Filter>Header</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\src\monster-hook.h">\r
+ <Filter>Header</Filter>\r
+ </ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
<ResourceCompile Include="..\..\src\angband.rc" />\r
generate.h grid.c grid.h h-basic.h h-config.h h-define.h hissatsu.c \
history.h history.c \
h-system.h h-type.h inet.c init1.c init2.c init.h japanese.c load.c \
- main.c main-x11.c main-gcu.c mane.c melee1.c melee2.c mind.c monster1.c \
+ main.c main-x11.c main-gcu.c mane.c melee1.c melee2.c mind.c \
+ monster-hook.c monster-hook.h monster1.c \
monster2.c mspells1.c mspells2.c mspells3.c mspells4.c mutation.c object1.c \
object2.c obj_kind.c racial.c realm-arcane.c \
realm-arcane.h realm-chaos.c realm-chaos.h realm-craft.c realm-craft.h \
#include "angband.h"
#include "history.h"
+#include "monster-hook.h"
/*!
* オートローラーの内容を描画する間隔 /
/* Never happened */
else
{
-#ifdef JP
- c_put_str(TERM_RED, "(なし)", 3+i, col+13);
-#else
- c_put_str(TERM_RED, "(NONE)", 3+i, col+13);
-#endif
-
+ c_put_str(TERM_RED, _("(なし)", "(NONE)"), 3+i, col+13);
}
}
}
/*!
- * @brief モンスターがクエストの討伐対象に成り得るかを返す / Hook function for quest monsters
- * @param r_idx モンスターID
- * @return 討伐対象にできるならTRUEを返す。
- */
-static bool mon_hook_quest(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- /* Random quests are in the dungeon */
- if (r_ptr->flags8 & RF8_WILD_ONLY) return FALSE;
-
- /* No random quests for aquatic monsters */
- if (r_ptr->flags7 & RF7_AQUATIC) return FALSE;
-
- /* No random quests for multiplying monsters */
- if (r_ptr->flags2 & RF2_MULTIPLY) return FALSE;
-
- /* No quests to kill friendly monsters */
- if (r_ptr->flags7 & RF7_FRIENDLY) return FALSE;
-
- return TRUE;
-}
-
-
-/*!
* @brief ランダムクエストの討伐ユニークを決める / Determine the random quest uniques
* @param q_ptr クエスト構造体の参照ポインタ
* @return なし
extern void display_roff(MONRACE_IDX r_idx);
extern void output_monster_spoiler(MONRACE_IDX r_idx, void (*roff_func)(byte attr, cptr str));
extern void create_name(int type, char *name);
-extern bool mon_hook_dungeon(MONRACE_IDX r_idx);
extern monster_hook_type get_monster_hook(void);
extern monster_hook_type get_monster_hook2(int y, int x);
--- /dev/null
+#include "angband.h"\r
+#include "monster-hook.h"\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\83N\83G\83X\83g\82Ì\93¢\94°\91Î\8fÛ\82É\90¬\82è\93¾\82é\82©\82ð\95Ô\82· / Hook function for quest monsters\r
+* @param r_idx \83\82\83\93\83X\83^\81[\82h\82c\r
+* @return \93¢\94°\91Î\8fÛ\82É\82Å\82«\82é\82È\82çTRUE\82ð\95Ô\82·\81B\r
+*/\r
+bool mon_hook_quest(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ /* Random quests are in the dungeon */\r
+ if (r_ptr->flags8 & RF8_WILD_ONLY) return FALSE;\r
+\r
+ /* No random quests for aquatic monsters */\r
+ if (r_ptr->flags7 & RF7_AQUATIC) return FALSE;\r
+\r
+ /* No random quests for multiplying monsters */\r
+ if (r_ptr->flags2 & RF2_MULTIPLY) return FALSE;\r
+\r
+ /* No quests to kill friendly monsters */\r
+ if (r_ptr->flags7 & RF7_FRIENDLY) return FALSE;\r
+\r
+ return TRUE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\83_\83\93\83W\83\87\83\93\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \83_\83\93\83W\83\87\83\93\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_dungeon(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (!(r_ptr->flags8 & RF8_WILD_ONLY))\r
+ return TRUE;\r
+ else\r
+ {\r
+ dungeon_info_type *d_ptr = &d_info[dungeon_type];\r
+ if ((d_ptr->mflags8 & RF8_WILD_MOUNTAIN) &&\r
+ (r_ptr->flags8 & RF8_WILD_MOUNTAIN)) return TRUE;\r
+ return FALSE;\r
+ }\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\8aC\97m\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \8aC\97m\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_ocean(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & RF8_WILD_OCEAN)\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\8aC\8aÝ\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \8aC\8aÝ\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_shore(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & RF8_WILD_SHORE)\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\8dr\92n\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \8dr\92n\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_waste(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & (RF8_WILD_WASTE | RF8_WILD_ALL))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\92¬\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \8dr\92n\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_town(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & (RF8_WILD_TOWN | RF8_WILD_ALL))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\90X\97Ñ\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \90X\97Ñ\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_wood(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & (RF8_WILD_WOOD | RF8_WILD_ALL))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\89Î\8eR\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \89Î\8eR\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_volcano(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & RF8_WILD_VOLCANO)\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\8eR\92n\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \8eR\92n\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_mountain(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & RF8_WILD_MOUNTAIN)\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\91\90\8c´\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \90X\97Ñ\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_grass(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (r_ptr->flags8 & (RF8_WILD_GRASS | RF8_WILD_ALL))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\90[\82¢\90\85\92n\8c`\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \90[\82¢\90\85\92n\8c`\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_deep_water(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (!mon_hook_dungeon(r_idx)) return FALSE;\r
+\r
+ if (r_ptr->flags7 & RF7_AQUATIC)\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\90ó\82¢\90\85\92n\8c`\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \90ó\82¢\90\85\92n\8c`\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_shallow_water(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (!mon_hook_dungeon(r_idx)) return FALSE;\r
+\r
+ if (r_ptr->flags2 & RF2_AURA_FIRE)\r
+ return FALSE;\r
+ else\r
+ return TRUE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\97n\8aâ\92n\8c`\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \97n\8aâ\92n\8c`\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_lava(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (!mon_hook_dungeon(r_idx)) return FALSE;\r
+\r
+ if (((r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK) ||\r
+ (r_ptr->flags7 & RF7_CAN_FLY)) &&\r
+ !(r_ptr->flags3 & RF3_AURA_COLD))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
+\r
+\r
+/*!\r
+* @brief \83\82\83\93\83X\83^\81[\82ª\92Ê\8fí\82Ì\8f°\92n\8c`\82É\8fo\8c»\82·\82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\r
+* @param r_idx \94»\92è\82·\82é\83\82\83\93\83X\83^\81[\82Ì\8eí\91°ID\r
+* @return \92Ê\8fí\82Ì\8f°\92n\8c`\82É\8fo\8c»\82·\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·\r
+*/\r
+bool mon_hook_floor(MONRACE_IDX r_idx)\r
+{\r
+ monster_race *r_ptr = &r_info[r_idx];\r
+\r
+ if (!(r_ptr->flags7 & RF7_AQUATIC) ||\r
+ (r_ptr->flags7 & RF7_CAN_FLY))\r
+ return TRUE;\r
+ else\r
+ return FALSE;\r
+}\r
--- /dev/null
+\r
+extern bool mon_hook_quest(MONRACE_IDX r_idx);\r
+extern bool mon_hook_dungeon(MONRACE_IDX r_idx);\r
+extern bool mon_hook_ocean(MONRACE_IDX r_idx);\r
+extern bool mon_hook_shore(MONRACE_IDX r_idx);\r
+extern bool mon_hook_waste(MONRACE_IDX r_idx);\r
+extern bool mon_hook_town(MONRACE_IDX r_idx);\r
+extern bool mon_hook_wood(MONRACE_IDX r_idx);\r
+extern bool mon_hook_volcano(MONRACE_IDX r_idx);\r
+extern bool mon_hook_wood(MONRACE_IDX r_idx);\r
+extern bool mon_hook_volcano(MONRACE_IDX r_idx);\r
+extern bool mon_hook_mountain(MONRACE_IDX r_idx);\r
+extern bool mon_hook_grass(MONRACE_IDX r_idx);\r
+extern bool mon_hook_deep_water(MONRACE_IDX r_idx);\r
+extern bool mon_hook_shallow_water(MONRACE_IDX r_idx);\r
+extern bool mon_hook_lava(MONRACE_IDX r_idx);\r
+extern bool mon_hook_floor(MONRACE_IDX r_idx);\r
+\r
+\r
#include "angband.h"
#include "cmd-pet.h"
+#include "monster-hook.h"
/*
}
-/*!
- * @brief モンスターがダンジョンに出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return ダンジョンに出現するならばTRUEを返す
- */
-bool mon_hook_dungeon(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (!(r_ptr->flags8 & RF8_WILD_ONLY))
- return TRUE;
- else
- {
- dungeon_info_type *d_ptr = &d_info[dungeon_type];
- if ((d_ptr->mflags8 & RF8_WILD_MOUNTAIN) &&
- (r_ptr->flags8 & RF8_WILD_MOUNTAIN)) return TRUE;
- return FALSE;
- }
-}
-
-
-/*!
- * @brief モンスターが海洋に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 海洋に出現するならばTRUEを返す
- */
-static bool mon_hook_ocean(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & RF8_WILD_OCEAN)
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが海岸に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 海岸に出現するならばTRUEを返す
- */
-static bool mon_hook_shore(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & RF8_WILD_SHORE)
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが荒地に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 荒地に出現するならばTRUEを返す
- */
-static bool mon_hook_waste(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & (RF8_WILD_WASTE | RF8_WILD_ALL))
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが町に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 荒地に出現するならばTRUEを返す
- */
-static bool mon_hook_town(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & (RF8_WILD_TOWN | RF8_WILD_ALL))
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが森林に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 森林に出現するならばTRUEを返す
- */
-static bool mon_hook_wood(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & (RF8_WILD_WOOD | RF8_WILD_ALL))
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが火山に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 火山に出現するならばTRUEを返す
- */
-static bool mon_hook_volcano(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & RF8_WILD_VOLCANO)
- return TRUE;
- else
- return FALSE;
-}
-
-/*!
- * @brief モンスターが山地に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 山地に出現するならばTRUEを返す
- */
-static bool mon_hook_mountain(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & RF8_WILD_MOUNTAIN)
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが草原に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 森林に出現するならばTRUEを返す
- */
-static bool mon_hook_grass(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (r_ptr->flags8 & (RF8_WILD_GRASS | RF8_WILD_ALL))
- return TRUE;
- else
- return FALSE;
-}
-
-/*!
- * @brief モンスターが深い水地形に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 深い水地形に出現するならばTRUEを返す
- */
-static bool mon_hook_deep_water(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (!mon_hook_dungeon(r_idx)) return FALSE;
-
- if (r_ptr->flags7 & RF7_AQUATIC)
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが浅い水地形に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 浅い水地形に出現するならばTRUEを返す
- */
-static bool mon_hook_shallow_water(MONRACE_IDX r_idx)
-{
- monster_race *r_ptr = &r_info[r_idx];
-
- if (!mon_hook_dungeon(r_idx)) return FALSE;
-
- if (r_ptr->flags2 & RF2_AURA_FIRE)
- return FALSE;
- else
- return TRUE;
-}
-
-
-/*!
- * @brief モンスターが溶岩地形に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 溶岩地形に出現するならばTRUEを返す
- */
-static 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))
- return TRUE;
- else
- return FALSE;
-}
-
-
-/*!
- * @brief モンスターが通常の床地形に出現するかどうかを返す
- * @param r_idx 判定するモンスターの種族ID
- * @return 通常の床地形に出現するならばTRUEを返す
- */
-static 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))
- return TRUE;
- else
- return FALSE;
-}
-
/*!
* @brief プレイヤーの現在の広域マップ座標から得た地勢を元にモンスターの生成条件関数を返す
#include "angband.h"
#include "cmd-pet.h"
+#include "monster-hook.h"
#define HORDE_NOGOOD 0x01 /*!< (未実装フラグ)HORDE生成でGOODなモンスターの生成を禁止する? */
#define HORDE_NOEVIL 0x02 /*!< (未実装フラグ)HORDE生成でEVILなモンスターの生成を禁止する? */
#include "generate.h"\r
#include "rooms.h"\r
#include "rooms-pitnest.h"\r
+#include "monster-hook.h"\r
\r
\r
\r
#include "grid.h"\r
#include "generate.h"\r
#include "rooms.h"\r
+#include "monster-hook.h"\r
\r
/*\r
* Helper function for "glass room"\r
/* Purpose: Angband utilities -BEN- */
#include "angband.h"
+#include "monster-hook.h"
static int num_more = 0;