#include "monster-race/race-flags7.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "monster-race/race-flags1.h"
#include "monster-race/race-flags7.h"
#include "monster-race/race-flags8.h"
+#include "monster/monster-info.h"
#include "monster/monster-util.h"
#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "effect/effect-item.h"
#include "autopick/autopick.h"
#include "floor/floor-object.h"
+#include "monster/monster-info.h"
#include "monster/place-monster-types.h"
#include "monster/monster2.h"
#include "object-enchant/tr-types.h"
#include "effect/effect-monster-util.h"
#include "floor/floor.h"
#include "monster/monster-death.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "monster/monster2.h"
/*!
* @brief affect_monster() に亘ってきた引数をeffect_monster_type構造体に代入する
#include "grid/grid.h"
#include "monster-race/race-flags1.h"
#include "monster-race/race-flags7.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "perception/object-perception.h"
#include "monster-race/race-flags1.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "object/object-flavor.h"
#include "object/object-info.h"
#include "monster-race/race-flags7.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
#include "mutation/mutation.h"
#include "object-enchant/artifact.h"
#include "io/report.h"
#include "io/uid-checker.h"
#include "monster-race/monster-race.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "object-enchant/artifact.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "object-enchant/object-curse.h"
#include "object/object-flavor.h"
#include "monster-race/race-flags7.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "term/term-color-types.h"
#include "view/display-main-window.h" // 暫定、後で消す.
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
#include "monster/monster-death.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "mspell/monster-spell.h"
#include "monster-lore/lore-store.h"
#include "floor/floor.h"
#include "monster-race/race-flags1.h"
-#include "monster/monster2.h" // todo 依存しているのは気持ち悪い。後で消したい.
+#include "monster/monster-info.h"
#include "system/monster-type-definition.h"
/*!
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
#include "monster/place-monster-types.h"
#include "monster/smart-learn-types.h"
#include "monster-race/race-flags1.h"
#include "monster/monster-description-types.h"
#include "monster/monster-flag-types.h"
-#include "monster/monster2.h" // todo 相互参照している.
+#include "monster/monster-info.h"
/*!
* @brief モンスターの呼称を作成する / Build a string describing a monster in some way.
/*!
- * @file monster1.c
* @brief モンスター情報の記述 / describe monsters (using monster memory)
* @date 2013/12/11
* @author
#include "dungeon/quest.h"
#include "floor/wild.h"
#include "monster-race/race-flags-resistance.h"
+#include "monster-race/race-flags1.h"
#include "monster-race/race-flags2.h"
#include "monster-race/race-flags3.h"
#include "monster-race/race-flags7.h"
#include "monster-race/race-flags8.h"
+#include "monster-race/race-indice-types.h"
#include "monster/monster-describer.h"
#include "monster/monster-flag-types.h"
-#include "monster/monster2.h" // todo 相互参照している、いずれ消す.
#include "monster/smart-learn-types.h"
#include "player/avatar.h"
{
return m_ptr->ml && !player_ptr->image && (m_ptr->ap_r_idx == m_ptr->r_idx);
}
+
+/* Determine monster race appearance index is same as race index */
+bool is_original_ap(monster_type *m_ptr) { return m_ptr->ap_r_idx == m_ptr->r_idx; }
+
+bool is_friendly(monster_type *m_ptr) { return (m_ptr->smart & SM_FRIENDLY) != 0; }
+
+bool is_pet(monster_type *m_ptr) { return (m_ptr->smart & SM_PET) != 0; }
+
+bool is_hostile(monster_type *m_ptr) { return !is_friendly(m_ptr) && !is_pet(m_ptr); }
+
+/*!
+ * @brief モンスターの真の種族を返す / Extract monster race pointer of a monster's true form
+ * @param m_ptr モンスターの参照ポインタ
+ * @return 本当のモンスター種族参照ポインタ
+ */
+monster_race *real_r_ptr(monster_type *m_ptr) { return &r_info[real_r_idx(m_ptr)]; }
+
+MONRACE_IDX real_r_idx(monster_type *m_ptr)
+{
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
+ if (m_ptr->mflag2 & MFLAG2_CHAMELEON) {
+ if (r_ptr->flags1 & RF1_UNIQUE)
+ return MON_CHAMELEON_K;
+ else
+ return MON_CHAMELEON;
+ }
+
+ return m_ptr->r_idx;
+}
bool are_enemies(player_type *player_ptr, monster_type *m_ptr1, monster_type *m_ptr2);
bool monster_has_hostile_align(player_type *player_ptr, monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr);
bool is_original_ap_and_seen(player_type *player_ptr, monster_type *m_ptr);
+
+bool is_friendly(monster_type *m_ptr);
+bool is_pet(monster_type *m_ptr);
+bool is_hostile(monster_type *m_ptr);
+bool is_original_ap(monster_type *m_ptr);
+
+monster_race *real_r_ptr(monster_type *m_ptr);
+MONRACE_IDX real_r_idx(monster_type *m_ptr);
#include "monster-race/race-flags3.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
-#include "monster/monster2.h"
+#include "monster/monster-info.h"
#include "monster/smart-learn-types.h"
#include "object-enchant/tr-types.h"
#include "object/object-flags.h"
#include "monster-race/race-flags7.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-describer.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
#include "pet/pet-fall-off.h"
#include "player/player-move.h"
void reset_target(monster_type *m_ptr) { set_target(m_ptr, 0, 0); }
/*!
- * @brief モンスターの真の種族を返す / Extract monster race pointer of a monster's true form
- * @param m_ptr モンスターの参照ポインタ
- * @return 本当のモンスター種族参照ポインタ
- */
-monster_race *real_r_ptr(monster_type *m_ptr) { return &r_info[real_r_idx(m_ptr)]; }
-
-MONRACE_IDX real_r_idx(monster_type *m_ptr)
-{
- monster_race *r_ptr = &r_info[m_ptr->r_idx];
- if (m_ptr->mflag2 & MFLAG2_CHAMELEON) {
- if (r_ptr->flags1 & RF1_UNIQUE)
- return MON_CHAMELEON_K;
- else
- return MON_CHAMELEON;
- }
-
- return m_ptr->r_idx;
-}
-
-/*!
* @brief モンスター配列からモンスターを消去する / Delete a monster by index.
* @param i 消去するモンスターのID
* @return なし
return count;
}
-
-bool is_original_ap(monster_type *m_ptr) { return m_ptr->ap_r_idx == m_ptr->r_idx; }
-
-bool is_friendly(monster_type *m_ptr) { return (m_ptr->smart & SM_FRIENDLY) != 0; }
-
-bool is_pet(monster_type *m_ptr) { return (m_ptr->smart & SM_PET) != 0; }
-
-bool is_hostile(monster_type *m_ptr) { return !is_friendly(m_ptr) && !is_pet(m_ptr); }
void set_target(monster_type *m_ptr, POSITION y, POSITION x);
void reset_target(monster_type *m_ptr);
-monster_race *real_r_ptr(monster_type *m_ptr);
-MONRACE_IDX real_r_idx(monster_type *m_ptr);
void delete_monster_idx(player_type *player_ptr, MONSTER_IDX i);
void compact_monsters(player_type *player_ptr, int size);
void wipe_monsters_list(player_type *player_ptr);
void choose_new_monster(player_type *player_ptr, MONSTER_IDX m_idx, bool born, MONRACE_IDX r_idx);
SPEED get_mspeed(player_type *player_ptr, monster_race *r_ptr);
void monster_drop_carried_objects(player_type *player_ptr, monster_type *m_ptr);
-bool is_friendly(monster_type *m_ptr);
-bool is_pet(monster_type *m_ptr);
-bool is_hostile(monster_type *m_ptr);
-
-/* Determine monster race appearance index is same as race index */
-bool is_original_ap(monster_type *m_ptr);
int get_monster_crowd_number(player_type *player_ptr, MONSTER_IDX m_idx);
void message_pain(player_type *player_ptr, MONSTER_IDX m_idx, HIT_POINT dam);
#include "monster-race/race-flags2.h"
#include "monster/monster-death.h"
#include "monster/monster-describer.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "mspell/assign-monster-spell.h"
#include "monster/monster-description-types.h"
#include "monster/monster-death.h"
#include "monster/monster-describer.h"
+#include "monster/monster-info.h"
#include "monster/monster-util.h"
#include "monster/monster2.h"
#include "mspell/monster-spell.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "monster/place-monster-types.h"
#include "monster-race/race-flags3.h"
#include "monster/monster-describer.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-description-types.h"
#include "monster/place-monster-types.h"
#include "monster/monster2.h"
#include "monster-race/race-flags1.h"
#include "monster-race/race-flags4.h"
#include "monster-race/race-indice-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "monster/monster2.h"
#include "mspell/monster-spell.h"
#include "mspell/mspell-damage-calculator.h"
#include "mspell/mspell-type.h"
#include "monster-race/monster-race-hook.h"
#include "monster/horror-descriptions.h"
#include "monster/monster-describer.h"
-#include "monster/smart-learn-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-util.h"
#include "monster/monster2.h"
+#include "monster/smart-learn-types.h"
#include "player/player-effects.h"
#include "player/player-status.h"
#include "player/mimic-info-table.h"
#include "monster-race/race-flags7.h"
#include "monster-race/monster-race-hook.h"
#include "monster-race/monster-race.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
#include "monster/monster2.h"
#include "monster-race/race-flags2.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "player/player-damage.h"
#include "player/player-effects.h"
#include "monster-race/race-flags3.h"
#include "monster-race/monster-race-hook.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
-#include "monster/monster2.h"
#include "object/object-hook.h"
#include "object/object-mark-types.h"
#include "realm/realm-song-numbers.h"
#include "monster-race/race-flags1.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "object-enchant/artifact.h"
#include "object-enchant/special-object-flags.h"
#include "monster-race/race-flags1.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "spell/process-effect.h"
#include "monster/monster-describer.h"
#include "monster/monster-description-types.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "inventory/inventory-object.h"
#include "inventory/player-inventory.h"
#include "monster-race/race-indice-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster2.h"
#include "monster/place-monster-types.h"
#include "monster-race/race-flags7.h"
#include "monster/monster-describer.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-processor.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
#include "monster-race/race-flags1.h"
#include "monster-race/race-flags2.h"
#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
-#include "monster/monster2.h"
#include "monster/smart-learn-types.h"
#include "object/object-flavor.h"
#include "object/object-kind.h"
#include "view/display-monster-status.h"
#include "monster-race/monster-race-hook.h"
#include "monster/monster-flag-types.h"
-#include "monster/monster2.h"
+#include "monster/monster-info.h"
#include "monster/smart-learn-types.h"
/*
#include "monster/monster-status.h"
#include "monster/monster-description-types.h"
#include "monster/monster-describer.h"
-#include "monster/place-monster-types.h"
+#include "monster/monster-info.h"
#include "monster/monster2.h"
+#include "monster/place-monster-types.h"
#include "monster/smart-learn-types.h"
#include "mspell/monster-spell.h"
#include "mutation/mutation.h"