* @param r_idx モンスターID
* @return 討伐対象にできるならTRUEを返す。
*/
-static bool mon_hook_quest(int r_idx)
+static bool mon_hook_quest(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx モンスターID
* @return 死体を食べられるならTRUEを返す。
*/
-static bool monster_hook_human(int r_idx)
+static bool monster_hook_human(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* 自爆以外のなんらかのHP攻撃手段を持っていること。
* @return 参加できるか否か
*/
-static bool vault_aux_battle(int r_idx)
+static bool vault_aux_battle(IDX r_idx)
{
int i;
int dam = 0;
byte attr;
/* Get the race index */
- int r_idx = mon_idx[mon_top + i] ;
+ IDX r_idx = mon_idx[mon_top + i] ;
/* Access the race */
monster_race *r_ptr = &r_info[r_idx];
int calculate_upkeep(void)
{
s32b old_friend_align = friend_align;
- int m_idx;
+ IDX m_idx;
bool have_a_unique = FALSE;
s32b total_friend_levels = 0;
* @param only_browse 閲覧するだけならばTRUE
* @return 選択した魔力のID、キャンセルならば-1を返す
*/
-static int select_magic_eater(bool only_browse)
+static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
{
OBJECT_SUBTYPE_VALUE ext = 0;
char choice;
int menu_line = (use_menu ? 1 : 0);
#ifdef ALLOW_REPEAT
- int sn;
+ SPELL_IDX sn;
if (repeat_pull(&sn))
{
/* Verify the spell */
* @param m_idx 隣接数を調べたいモンスターのID
* @return 隣接しているモンスターの数
*/
-static int get_monster_crowd_number(int m_idx)
+static int get_monster_crowd_number(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
int my = m_ptr->fy;
* @param r_idx 判定したいモンスター種族のID
* @return 釣れる対象ならばTRUEを返す
*/
-static bool monster_tsuri(int r_idx)
+static bool monster_tsuri(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
Term_xtra(TERM_XTRA_DELAY, 10);
if (one_in_(1000))
{
- int r_idx;
+ IDX r_idx;
bool success = FALSE;
get_mon_num_prep(monster_tsuri,NULL);
r_idx = get_mon_num(dun_level ? dun_level : wilderness[p_ptr->wilderness_y][p_ptr->wilderness_x].level);
/* melee2.c */
extern bool make_attack_normal(IDX m_idx);
extern void process_monsters(void);
-extern int get_mproc_idx(int m_idx, int mproc_type);
+extern int get_mproc_idx(IDX m_idx, int mproc_type);
extern void mproc_init(void);
-extern bool set_monster_csleep(int m_idx, int v);
-extern bool set_monster_fast(int m_idx, int v);
-extern bool set_monster_slow(int m_idx, int v);
-extern bool set_monster_stunned(int m_idx, int v);
-extern bool set_monster_confused(int m_idx, int v);
-extern bool set_monster_monfear(int m_idx, int v);
-extern bool set_monster_invulner(int m_idx, int v, bool energy_need);
+extern bool set_monster_csleep(IDX m_idx, int v);
+extern bool set_monster_fast(IDX m_idx, int v);
+extern bool set_monster_slow(IDX m_idx, int v);
+extern bool set_monster_stunned(IDX m_idx, int v);
+extern bool set_monster_confused(IDX m_idx, int v);
+extern bool set_monster_monfear(IDX m_idx, int v);
+extern bool set_monster_invulner(IDX m_idx, int v, bool energy_need);
extern void process_monsters_mtimed(int mtimed_idx);
-extern void dispel_monster_status(int m_idx);
+extern void dispel_monster_status(IDX m_idx);
extern u32b get_curse(int power, object_type *o_ptr);
extern void curse_equipment(int chance, int heavy_chance);
-extern void mon_take_hit_mon(int m_idx, int dam, bool *fear, cptr note, int who);
+extern void mon_take_hit_mon(IDX m_idx, int dam, bool *fear, cptr note, int who);
extern bool process_the_world(int num, int who, bool vs_player);
-extern void monster_gain_exp(int m_idx, int s_idx);
+extern void monster_gain_exp(IDX m_idx, int s_idx);
/* monster1.c */
-extern void roff_top(int r_idx);
-extern void screen_roff(int r_idx, int mode);
-extern void display_roff(int r_idx);
-extern void output_monster_spoiler(int r_idx, void (*roff_func)(byte attr, cptr str));
+extern void roff_top(IDX r_idx);
+extern void screen_roff(IDX r_idx, int mode);
+extern void display_roff(IDX r_idx);
+extern void output_monster_spoiler(IDX r_idx, void (*roff_func)(byte attr, cptr str));
extern void create_name(int type, char *name);
-extern bool mon_hook_dungeon(int r_idx);
+extern bool mon_hook_dungeon(IDX r_idx);
extern monster_hook_type get_monster_hook(void);
extern monster_hook_type get_monster_hook2(int y, int x);
extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
extern bool monster_has_hostile_align(monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr);
extern bool monster_living(monster_race *r_ptr);
-extern bool no_questor_or_bounty_uniques(int r_idx);
+extern bool no_questor_or_bounty_uniques(IDX r_idx);
extern void dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div, char* msg);
extern errr get_mon_num_prep(monster_hook_type monster_hook, monster_hook_type monster_hook2);
extern s16b get_mon_num(int level);
extern void monster_desc(char *desc, monster_type *m_ptr, int mode);
-extern int lore_do_probe(int r_idx);
-extern void lore_treasure(int m_idx, int num_item, int num_gold);
+extern int lore_do_probe(IDX r_idx);
+extern void lore_treasure(IDX m_idx, int num_item, int num_gold);
extern void sanity_blast(monster_type *m_ptr, bool necro);
-extern void update_mon(int m_idx, bool full);
+extern void update_mon(IDX m_idx, bool full);
extern void update_monsters(bool full);
-extern bool place_monster_aux(int who, int y, int x, int r_idx, u32b mode);
+extern bool place_monster_aux(int who, int y, int x, IDX r_idx, u32b mode);
extern bool place_monster(int y, int x, u32b mode);
extern bool alloc_horde(POSITION y, POSITION x);
extern bool alloc_guardian(bool def_val);
extern bool alloc_monster(int dis, u32b mode);
extern bool summon_specific(int who, int y1, int x1, int lev, int type, u32b mode);
-extern bool summon_named_creature (int who, int oy, int ox, int r_idx, u32b mode);
-extern bool multiply_monster(int m_idx, bool clone, u32b mode);
-extern void update_smart_learn(int m_idx, int what);
+extern bool summon_named_creature (int who, int oy, int ox, IDX r_idx, u32b mode);
+extern bool multiply_monster(IDX m_idx, bool clone, u32b mode);
+extern void update_smart_learn(IDX m_idx, int what);
extern void choose_new_monster(IDX m_idx, bool born, IDX r_idx);
extern byte get_mspeed(monster_race *r_ptr);
extern bool player_place(POSITION y, POSITION x);
extern void object_wipe(object_type *o_ptr);
extern void object_prep(object_type *o_ptr, IDX k_idx);
extern void object_copy(object_type *o_ptr, object_type *j_ptr);
-extern void apply_magic(object_type *o_ptr, int lev, u32b mode);
-extern bool make_object(object_type *j_ptr, u32b mode);
-extern void place_object(int y, int x, u32b mode);
+extern void apply_magic(object_type *o_ptr, DEPTH lev, BIT_FLAGS mode);
+extern bool make_object(object_type *j_ptr, BIT_FLAGS mode);
+extern void place_object(POSITION y, POSITION x, BIT_FLAGS mode);
extern bool make_gold(object_type *j_ptr);
extern void place_gold(POSITION y, POSITION x);
extern s16b drop_near(object_type *o_ptr, int chance, int y, int x);
extern void seal_of_mirror(int dam);
/* spells2.c */
-extern void message_pain(int m_idx, int dam);
+extern void message_pain(IDX m_idx, int dam);
extern void self_knowledge(void);
extern bool detect_traps(int range, bool known);
extern bool detect_doors(int range);
extern bool slow_monsters(int power);
extern bool sleep_monsters(int power);
extern void aggravate_monsters(int who);
-extern bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spell_name);
+extern bool genocide_aux(IDX m_idx, int power, bool player_cast, int dam_side, cptr spell_name);
extern bool symbol_genocide(int power, bool player_cast);
extern bool mass_genocide(int power, bool player_cast);
extern bool mass_genocide_undead(int power, bool player_cast);
extern bool crusade(void);
extern bool turn_undead(void);
extern bool destroy_area(int y1, int x1, int r, bool in_generate);
-extern bool earthquake_aux(int cy, int cx, int r, int m_idx);
+extern bool earthquake_aux(int cy, int cx, int r, IDX m_idx);
extern bool earthquake(int cy, int cx, int r);
extern void lite_room(int y1, int x1);
extern void unlite_room(int y1, int x1);
extern bool cave_player_teleportable_bold(int y, int x, u32b mode);
extern bool teleport_player_aux(int dis, u32b mode);
extern void teleport_player(int dis, u32b mode);
-extern void teleport_player_away(int m_idx, int dis);
+extern void teleport_player_away(IDX m_idx, int dis);
extern void teleport_player_to(POSITION ny, POSITION nx, u32b mode);
-extern void teleport_away_followable(int m_idx);
-extern void teleport_level(int m_idx);
+extern void teleport_away_followable(IDX m_idx);
+extern void teleport_level(IDX m_idx);
extern IDX choose_dungeon(cptr note, int y, int x);
extern bool recall_player(int turns);
extern bool word_of_recall(void);
extern void check_find_art_quest_completion(object_type *o_ptr);
extern cptr extract_note_dies(monster_race *r_ptr);
extern void monster_death(IDX m_idx, bool drop_item);
-extern bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note);
+extern bool mon_take_hit(IDX m_idx, int dam, bool *fear, cptr note);
extern void get_screen_size(int *wid_p, int *hgt_p);
extern void panel_bounds_center(void);
extern void resize_map(void);
extern cptr look_mon_desc(monster_type *m_ptr, u32b mode);
extern void ang_sort_aux(vptr u, vptr v, int p, int q);
extern void ang_sort(vptr u, vptr v, int n);
-extern bool target_able(int m_idx);
+extern bool target_able(IDX m_idx);
extern bool target_okay(void);
extern bool target_set(int mode);
extern void target_set_prepare_look(void);
extern bool dispel_check(IDX m_idx);
extern bool spell_is_inate(u16b spell);
extern bool make_attack_spell(IDX m_idx);
-extern void beam(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type);
-extern void bolt(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type);
-extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type);
+extern void beam(IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type);
+extern void bolt(IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type);
+extern void breath(int y, int x, IDX m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type);
/* mspells2.c */
extern void get_project_point(int sy, int sx, int *ty, int *tx, int flg);
extern void set_rf_masks(s32b *f4, s32b *f5, s32b *f6, int mode);
/* mspells4.c */
-extern bool spell_learnable(int m_idx);
+extern bool spell_learnable(IDX m_idx);
extern int monspell_to_player(int SPELL_NUM, POSITION y, POSITION x, IDX m_idx);
extern int monspell_to_monster(int SPELL_NUM, POSITION y, POSITION x, IDX m_idx, IDX t_idx);
-extern int monspell_damage(int SPELL_NUM, int m_idx, int TYPE);
-extern int monspell_race_damage(int SPELL_NUM, int r_idx, int TYPE);
+extern int monspell_damage(int SPELL_NUM, IDX m_idx, int TYPE);
+extern int monspell_race_damage(int SPELL_NUM, IDX r_idx, int TYPE);
extern int monspell_bluemage_damage(int SPELL_NUM, int plev, int TYPE);
/* hissatsu.c */
extern bool hex_spell_fully(void);
extern void revenge_spell(void);
extern void revenge_store(int dam);
-extern bool teleport_barrier(int m_idx);
-extern bool magic_barrier(int m_idx);
-extern bool multiply_barrier(int m_idx);
+extern bool teleport_barrier(IDX m_idx);
+extern bool magic_barrier(IDX m_idx);
+extern bool multiply_barrier(IDX m_idx);
typedef s32b EXP; /*!< ゲーム中の主経験値の型定義 */
typedef s16b SUB_EXP; /*!< ゲーム中の副経験値の型定義 */
-typedef byte OBJECT_TYPE_VALUE; /*!< ゲーム中のアイテム主分類の型定義 */
-typedef byte OBJECT_SUBTYPE_VALUE; /*!< ゲーム中のアイテム副分類の型定義 */
+typedef s32b OBJECT_TYPE_VALUE; /*!< ゲーム中のアイテム主分類の型定義 */
+typedef s32b OBJECT_SUBTYPE_VALUE; /*!< ゲーム中のアイテム副分類の型定義 */
typedef s16b PARAMETER_VALUE; /*!< ゲーム中のアイテム能力値の型定義 */
typedef s16b WEIGHT; /*!< ゲーム中の重量の型定義(ポンド) */
* @param m_idx 判定の対象となるモンスターID
* @return 反テレポートの効果が適用されるならTRUEを返す
*/
-bool teleport_barrier(int m_idx)
+bool teleport_barrier(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param m_idx 判定の対象となるモンスターID
* @return 反魔法の効果が適用されるならTRUEを返す
*/
-bool magic_barrier(int m_idx)
+bool magic_barrier(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param m_idx 判定の対象となるモンスターID
* @return 反増殖の効果が適用されるならTRUEを返す
*/
-bool multiply_barrier(int m_idx)
+bool multiply_barrier(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param r_idx 読み込み先モンスターID
* @return なし
*/
-static void rd_lore(int r_idx)
+static void rd_lore(IDX r_idx)
{
byte tmp8u;
for (i = 1; i < limit; i++)
{
cave_type *c_ptr;
- int m_idx;
+ IDX m_idx;
monster_type *m_ptr;
/* Get a new record */
break;
case MS_DISPEL:
{
- int m_idx;
+ IDX m_idx;
if (!target_set(TARGET_KILL)) return FALSE;
m_idx = cave[target_row][target_col].m_idx;
* @param mm 移動するべき方角IDを返す参照ポインタ
* @return 方向が確定した場合TRUE、接近する敵がそもそもいない場合FALSEを返す
*/
-static bool get_enemy_dir(int m_idx, int *mm)
+static bool get_enemy_dir(IDX m_idx, int *mm)
{
int i;
int x = 0, y = 0;
- int t_idx;
+ IDX t_idx;
int start;
int plus = 1;
* @param who 打撃を行ったモンスターの参照ID
* @return なし
*/
-void mon_take_hit_mon(int m_idx, int dam, bool *fear, cptr note, int who)
+void mon_take_hit_mon(IDX m_idx, int dam, bool *fear, cptr note, int who)
{
monster_type *m_ptr = &m_list[m_idx];
* Note that this function is responsible for about one to five percent\n
* of the processor use in normal conditions...\n
*/
-static bool mon_will_run(int m_idx)
+static bool mon_will_run(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
* @param xp 適したマスのX座標を返す参照ポインタ
* @return 有効なマスがあった場合TRUEを返す
*/
-static bool get_moves_aux2(int m_idx, int *yp, int *xp)
+static bool get_moves_aux2(IDX m_idx, int *yp, int *xp)
{
int i, y, x, y1, x1, best = 999;
* being close enough to chase directly. I have no idea what will\n
* happen if you combine "smell" with low "aaf" values.\n
*/
-static bool get_moves_aux(int m_idx, int *yp, int *xp, bool no_flow)
+static bool get_moves_aux(IDX m_idx, int *yp, int *xp, bool no_flow)
{
int i, y, x, y1, x1, best;
* but instead of heading directly for it, the monster should "swerve"\n
* around the player so that he has a smaller chance of getting hit.\n
*/
-static bool get_fear_moves_aux(int m_idx, int *yp, int *xp)
+static bool get_fear_moves_aux(IDX m_idx, int *yp, int *xp)
{
int y, x, y1, x1, fy, fx, gy = 0, gx = 0;
int score = -1;
*\n
* Return TRUE if a safe location is available.\n
*/
-static bool find_safety(int m_idx, int *yp, int *xp)
+static bool find_safety(IDX m_idx, int *yp, int *xp)
{
monster_type *m_ptr = &m_list[m_idx];
*\n
* Return TRUE if a good location is available.\n
*/
-static bool find_hiding(int m_idx, int *yp, int *xp)
+static bool find_hiding(IDX m_idx, int *yp, int *xp)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param mm 移動方向を返す方向IDの参照ポインタ
* @return 有効方向があった場合TRUEを返す
*/
-static bool get_moves(int m_idx, int *mm)
+static bool get_moves(IDX m_idx, int *mm)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @return mproc_type モンスターの時限ステータスID
* @return 残りターン値
*/
-int get_mproc_idx(int m_idx, int mproc_type)
+int get_mproc_idx(IDX m_idx, int mproc_type)
{
s16b *cur_mproc_list = mproc_list[mproc_type];
int i;
* @return mproc_type 追加したいモンスターの時限ステータスID
* @return なし
*/
-static void mproc_add(int m_idx, int mproc_type)
+static void mproc_add(IDX m_idx, int mproc_type)
{
if (mproc_max[mproc_type] < max_m_idx) mproc_list[mproc_type][mproc_max[mproc_type]++] = (s16b)m_idx;
}
* @return mproc_type 削除したいモンスターの時限ステータスID
* @return なし
*/
-static void mproc_remove(int m_idx, int mproc_type)
+static void mproc_remove(IDX m_idx, int mproc_type)
{
int mproc_idx = get_mproc_idx(m_idx, mproc_type);
if (mproc_idx >= 0) mproc_list[mproc_type][mproc_idx] = mproc_list[mproc_type][--mproc_max[mproc_type]];
* @param v セットする値
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_csleep(int m_idx, int v)
+bool set_monster_csleep(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param v セットする値
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_fast(int m_idx, int v)
+bool set_monster_fast(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
/*
* Set "m_ptr->mtimed[MTIMED_SLOW]", notice observable changes
*/
-bool set_monster_slow(int m_idx, int v)
+bool set_monster_slow(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param v セットする値
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_stunned(int m_idx, int v)
+bool set_monster_stunned(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param v セットする値
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_confused(int m_idx, int v)
+bool set_monster_confused(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param v セットする値
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_monfear(int m_idx, int v)
+bool set_monster_monfear(IDX m_idx, int v)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param energy_need TRUEならば無敵解除時に行動ターン消費を行う
* @return 別途更新処理が必要な場合TRUEを返す
*/
-bool set_monster_invulner(int m_idx, int v, bool energy_need)
+bool set_monster_invulner(IDX m_idx, int v, bool energy_need)
{
monster_type *m_ptr = &m_list[m_idx];
bool notice = FALSE;
* @param mtimed_idx 更新するモンスターの時限ステータスID
* @return なし
*/
-static void process_monsters_mtimed_aux(int m_idx, int mtimed_idx)
+static void process_monsters_mtimed_aux(IDX m_idx, int mtimed_idx)
{
monster_type *m_ptr = &m_list[m_idx];
* @param m_idx 魔力消去を受けるモンスターの参照ID
* @return なし
*/
-void dispel_monster_status(int m_idx)
+void dispel_monster_status(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
char m_name[80];
* @param s_idx 撃破されたモンスター種族の参照ID
* @return なし
*/
-void monster_gain_exp(int m_idx, int s_idx)
+void monster_gain_exp(IDX m_idx, int s_idx)
{
monster_type *m_ptr;
monster_race *r_ptr;
* when you run it. It's probably easy to fix but I haven't tried,\n
* sorry.\n
*/
- static int get_mind_power(int *sn, bool only_browse)
- {
- int i;
- int num = 0;
- int y = 1;
- int x = 10;
- int minfail = 0;
- int plev = p_ptr->lev;
- int chance = 0;
- int ask = TRUE;
- char choice;
- char out_val[160];
- char comment[80];
- cptr p;
-
- mind_type spell;
- const mind_power *mind_ptr;
- bool flag, redraw;
- int use_mind;
- int menu_line = (use_menu ? 1 : 0);
-
- switch(p_ptr->pclass)
+static int get_mind_power(SPELL_IDX *sn, bool only_browse)
+{
+ int i;
+ int num = 0;
+ int y = 1;
+ int x = 10;
+ int minfail = 0;
+ int plev = p_ptr->lev;
+ int chance = 0;
+ int ask = TRUE;
+ char choice;
+ char out_val[160];
+ char comment[80];
+ cptr p;
+
+ mind_type spell;
+ const mind_power *mind_ptr;
+ bool flag, redraw;
+ int use_mind;
+ int menu_line = (use_menu ? 1 : 0);
+
+ switch (p_ptr->pclass)
{
case CLASS_MINDCRAFTER:
- {
- use_mind = MIND_MINDCRAFTER;
- p = _("超能力", "mindcraft");
- break;
- }
+ {
+ use_mind = MIND_MINDCRAFTER;
+ p = _("超能力", "mindcraft");
+ break;
+ }
case CLASS_FORCETRAINER:
- {
- use_mind = MIND_KI;
- p = _("練気術", "Force");
- break;
- }
+ {
+ use_mind = MIND_KI;
+ p = _("練気術", "Force");
+ break;
+ }
case CLASS_BERSERKER:
- {
- use_mind = MIND_BERSERKER;
- p = _("技", "brutal power");
- break;
- }
+ {
+ use_mind = MIND_BERSERKER;
+ p = _("技", "brutal power");
+ break;
+ }
case CLASS_MIRROR_MASTER:
- {
- use_mind = MIND_MIRROR_MASTER;
- p = _("鏡魔法", "magic");
- break;
- }
+ {
+ use_mind = MIND_MIRROR_MASTER;
+ p = _("鏡魔法", "magic");
+ break;
+ }
case CLASS_NINJA:
- {
- use_mind = MIND_NINJUTSU;
- p = _("忍術", "ninjutsu");
- break;
- }
+ {
+ use_mind = MIND_NINJUTSU;
+ p = _("忍術", "ninjutsu");
+ break;
+ }
default:
- {
- use_mind = 0;
- p = _("超能力", "mindcraft");
- break;
- }
+ {
+ use_mind = 0;
+ p = _("超能力", "mindcraft");
+ break;
+ }
}
- mind_ptr = &mind_powers[use_mind];
+ mind_ptr = &mind_powers[use_mind];
/* Assume cancelled */
- *sn = (-1);
+ *sn = (-1);
#ifdef ALLOW_REPEAT /* TNB */
int i;
int ty = y, tx = x;
int oy = y, ox = x;
- int m_idx = cave[y][x].m_idx;
+ IDX m_idx = cave[y][x].m_idx;
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
char m_name[80];
break;
case 9:
{
- int m_idx;
+ IDX m_idx;
if (!target_set(TARGET_KILL)) return FALSE;
m_idx = cave[target_row][target_col].m_idx;
case 12:
{
monster_type *m_ptr;
- int m_idx;
+ IDX m_idx;
char m_name[80];
int i;
int path_n;
u16b path_g[512];
- int ty,tx;
+ POSITION ty, tx;
if (!target_set(TARGET_KILL)) return FALSE;
m_idx = cave[target_row][target_col].m_idx;
* @details
* The higher the level, the fewer kills needed.
*/
-static bool know_armour(int r_idx)
+static bool know_armour(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* the more damage an attack does, the more attacks you need
* </pre>
*/
-static bool know_damage(int r_idx, int i)
+static bool know_damage(IDX r_idx, int i)
{
monster_race *r_ptr = &r_info[r_idx];
* @param tmp 返すメッセージを格納する配列
* @return なし
*/
-void set_damage(int r_idx, int SPELL_NUM, char* msg, char* tmp)
+void set_damage(IDX r_idx, int SPELL_NUM, char* msg, char* tmp)
{
int base_damage = monspell_race_damage(SPELL_NUM, r_idx, BASE_DAM);
int dice_num = monspell_race_damage(SPELL_NUM, r_idx, DICE_NUM);
* left edge of the screen, on a cleared line, in which the recall is
* to take place. One extra blank line is left after the recall.
*/
-static void roff_aux(int r_idx, int mode)
+static void roff_aux(IDX r_idx, int mode)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx モンスターの種族ID
* @return なし
*/
-void roff_top(int r_idx)
+void roff_top(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param mode 表示オプション
* @return なし
*/
-void screen_roff(int r_idx, int mode)
+void screen_roff(IDX r_idx, int mode)
{
/* Flush messages */
msg_print(NULL);
* @param r_idx モンスターの種族ID
* @return なし
*/
-void display_roff(int r_idx)
+void display_roff(IDX r_idx)
{
int y;
* @param roff_func 出力処理を行う関数ポインタ
* @return なし
*/
-void output_monster_spoiler(int r_idx, void (*roff_func)(byte attr, cptr str))
+void output_monster_spoiler(IDX r_idx, void (*roff_func)(byte attr, cptr str))
{
hook_c_roff = roff_func;
* @param r_idx 判定するモンスターの種族ID
* @return ダンジョンに出現するならばTRUEを返す
*/
-bool mon_hook_dungeon(int r_idx)
+bool mon_hook_dungeon(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 海洋に出現するならばTRUEを返す
*/
-static bool mon_hook_ocean(int r_idx)
+static bool mon_hook_ocean(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 海岸に出現するならばTRUEを返す
*/
-static bool mon_hook_shore(int r_idx)
+static bool mon_hook_shore(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 荒地に出現するならばTRUEを返す
*/
-static bool mon_hook_waste(int r_idx)
+static bool mon_hook_waste(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 荒地に出現するならばTRUEを返す
*/
-static bool mon_hook_town(int r_idx)
+static bool mon_hook_town(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 森林に出現するならばTRUEを返す
*/
-static bool mon_hook_wood(int r_idx)
+static bool mon_hook_wood(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 火山に出現するならばTRUEを返す
*/
-static bool mon_hook_volcano(int r_idx)
+static bool mon_hook_volcano(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 山地に出現するならばTRUEを返す
*/
-static bool mon_hook_mountain(int r_idx)
+static bool mon_hook_mountain(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 森林に出現するならばTRUEを返す
*/
-static bool mon_hook_grass(int r_idx)
+static bool mon_hook_grass(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 深い水地形に出現するならばTRUEを返す
*/
-static bool mon_hook_deep_water(int r_idx)
+static bool mon_hook_deep_water(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 浅い水地形に出現するならばTRUEを返す
*/
-static bool mon_hook_shallow_water(int r_idx)
+static bool mon_hook_shallow_water(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 溶岩地形に出現するならばTRUEを返す
*/
-static bool mon_hook_lava(int r_idx)
+static bool mon_hook_lava(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 判定するモンスターの種族ID
* @return 通常の床地形に出現するならばTRUEを返す
*/
-static bool mon_hook_floor(int r_idx)
+static bool mon_hook_floor(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @details
* 実質バーノール=ルパート用。
*/
-bool no_questor_or_bounty_uniques(int r_idx)
+bool no_questor_or_bounty_uniques(IDX r_idx)
{
switch (r_idx)
{
* @return 召喚条件が一致するならtrue
* @details
*/
-static bool summon_specific_aux(int r_idx)
+static bool summon_specific_aux(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
int okay = FALSE;
* @param r_idx チェックするモンスター種族ID
* @return 召喚条件が一致するならtrue / Return TRUE is the monster is OK and FALSE otherwise
*/
-static bool restrict_monster_to_dungeon(int r_idx)
+static bool restrict_monster_to_dungeon(IDX r_idx)
{
dungeon_info_type *d_ptr = &d_info[dungeon_type];
monster_race *r_ptr = &r_info[r_idx];
* @details
* Return the number of new flags learnt. -Mogami-
*/
-int lore_do_probe(int r_idx)
+int lore_do_probe(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
int i, n = 0;
* gold and items are dropped, and remembers that information to be
* described later by the monster recall code.
*/
-void lore_treasure(int m_idx, int num_item, int num_gold)
+void lore_treasure(IDX m_idx, int num_item, int num_gold)
{
monster_type *m_ptr = &m_list[m_idx];
* "disturb_near" (monster which is "easily" viewable moves in some
* way). Note that "moves" includes "appears" and "disappears".
*/
-void update_mon(int m_idx, bool full)
+void update_mon(IDX m_idx, bool full)
{
monster_type *m_ptr = &m_list[m_idx];
* @param r_idx モンスター種族ID
* @return 対象にできるならtrueを返す
*/
-static bool monster_hook_chameleon_lord(int r_idx)
+static bool monster_hook_chameleon_lord(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
monster_type *m_ptr = &m_list[chameleon_change_m_idx];
* @param r_idx モンスター種族ID
* @return 対象にできるならtrueを返す
*/
-static bool monster_hook_chameleon(int r_idx)
+static bool monster_hook_chameleon(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
monster_type *m_ptr = &m_list[chameleon_change_m_idx];
* @param r_idx モンスター種族ID
* @return 対象にできるならtrueを返す
*/
-static bool monster_hook_tanuki(int r_idx)
+static bool monster_hook_tanuki(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx モンスター種族ID
* @return モンスター種族の表層ID
*/
-static int initial_r_appearance(int r_idx)
+static int initial_r_appearance(IDX r_idx)
{
int attempts = 1000;
* @return 成功したらtrue
*
*/
-static bool mon_scatter(int r_idx, int *yp, int *xp, int y, int x, int max_dist)
+static bool mon_scatter(IDX r_idx, int *yp, int *xp, int y, int x, int max_dist)
{
int place_x[MON_SCAT_MAXD];
int place_y[MON_SCAT_MAXD];
* @param mode 生成オプション
* @return 成功したらtrue
*/
-static bool place_monster_group(int who, int y, int x, int r_idx, u32b mode)
+static bool place_monster_group(IDX who, POSITION y, POSITION x, IDX r_idx, u32b mode)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx チェックするモンスター種族のID
* @return 護衛にできるならばtrue
*/
-static bool place_monster_can_escort(int r_idx)
+static bool place_monster_can_escort(IDX r_idx)
{
monster_race *r_ptr = &r_info[place_monster_idx];
monster_type *m_ptr = &m_list[place_monster_m_idx];
* Note the use of the new "monster allocation table" code to restrict
* the "get_mon_num()" function to "legal" escort types.
*/
-bool place_monster_aux(int who, int y, int x, int r_idx, u32b mode)
+bool place_monster_aux(int who, int y, int x, IDX r_idx, u32b mode)
{
int i, j, n;
monster_race *r_ptr = &r_info[r_idx];
*/
bool place_monster(int y, int x, u32b mode)
{
- int r_idx;
+ IDX r_idx;
/* Prepare allocation table */
get_mon_num_prep(get_monster_hook(), get_monster_hook2(y, x));
* @param r_idx チェックするモンスター種族ID
* @return 召喚対象にできるならばTRUE
*/
-static bool summon_specific_okay(int r_idx)
+static bool summon_specific_okay(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param mode 生成オプション
* @return 召喚できたらtrueを返す
*/
-bool summon_named_creature (int who, int oy, int ox, int r_idx, u32b mode)
+bool summon_named_creature (int who, int oy, int ox, IDX r_idx, u32b mode)
{
int x, y;
* @details
* Note that "reproduction" REQUIRES empty space.
*/
-bool multiply_monster(int m_idx, bool clone, u32b mode)
+bool multiply_monster(IDX m_idx, bool clone, u32b mode)
{
monster_type *m_ptr = &m_list[m_idx];
* @details
* Technically should attempt to treat "Beholder"'s as jelly's
*/
-void message_pain(int m_idx, int dam)
+void message_pain(IDX m_idx, int dam)
{
long oldhp, newhp, tmp;
int percentage;
* @param what 学習対象ID
* @return なし
*/
-void update_smart_learn(int m_idx, int what)
+void update_smart_learn(IDX m_idx, int what)
{
monster_type *m_ptr = &m_list[m_idx];
* @param f6p モンスター魔法のフラグリスト3
* @return なし
*/
-static void remove_bad_spells(int m_idx, u32b *f4p, u32b *f5p, u32b *f6p)
+static void remove_bad_spells(IDX m_idx, u32b *f4p, u32b *f5p, u32b *f6p)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param target_type モンスターからモンスターへ撃つならMONSTER_TO_MONSTER、モンスターからプレイヤーならMONSTER_TO_PLAYER
* @return なし
*/
-void bolt(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type)
+void bolt(IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type)
{
int flg;
bool learnable = spell_learnable(m_idx);
* @param target_type モンスターからモンスターへ撃つならMONSTER_TO_MONSTER、モンスターからプレイヤーならMONSTER_TO_PLAYER
* @return なし
*/
-void beam(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type)
+void beam(IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type)
{
int flg;
bool learnable = spell_learnable(m_idx);
* @param target_type モンスターからモンスターへ撃つならMONSTER_TO_MONSTER、モンスターからプレイヤーならMONSTER_TO_PLAYER
* @return なし
*/
-void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type)
+void breath(int y, int x, IDX m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
*\n
* This function may well be an efficiency bottleneck.\n
*/
-static int choose_attack_spell(int m_idx, byte spells[], byte num)
+static int choose_attack_spell(IDX m_idx, byte spells[], byte num)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
bool monst_spell_monst(IDX m_idx)
{
int y = 0, x = 0;
- int i, k, t_idx = 0;
+ int i, k;
+ IDX t_idx = 0;
int thrown_spell;
int dam = 0;
int start;
break;
case MS_DISPEL:
{
- int m_idx;
+ IDX m_idx;
if (!target_set(TARGET_KILL)) return FALSE;
m_idx = cave[target_row][target_col].m_idx;
* @param m_idx モンスターID
* @param m_name モンスター名を入力する配列
*/
-void monster_name(int m_idx, char* m_name)
+void monster_name(IDX m_idx, char* m_name)
{
monster_type *m_ptr = &m_list[m_idx];
monster_desc(m_name, m_ptr, 0x00);
* @param t_idx モンスターID二体目
* @return モンスター2体のどちらかがプレイヤーの近くに居ればTRUE、どちらも遠ければFALSEを返す。
*/
-bool monster_near_player(int m_idx, int t_idx)
+bool monster_near_player(IDX m_idx, IDX t_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_type *t_ptr = &m_list[t_idx];
* @param m_idx モンスターID
* @return プレイヤーがモンスターを見ることができるならTRUE、そうでなければFALSEを返す。
*/
-bool see_monster(int m_idx)
+bool see_monster(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
return is_seen(m_ptr);
* @param m_idx モンスターID
* @return プレイヤーが青魔法で学習できるならTRUE、そうでなければFALSEを返す。
*/
-bool spell_learnable(int m_idx)
+bool spell_learnable(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
/* Extract the "see-able-ness" */
* @param m_idx モンスターID
* @return モンスターのレベル
*/
-int monster_level_idx(int m_idx)
+int monster_level_idx(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param m_idx モンスターID
* @return POWERFULフラグがあればTRUE、なければFALSEを返す。
*/
-bool monster_is_powerful(int m_idx)
+bool monster_is_powerful(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param m_idx モンスターID
* @return 召喚可能であればPM_ALLOW_UNIQUEを返す。
*/
-u32b monster_u_mode(int m_idx)
+u32b monster_u_mode(IDX m_idx)
{
u32b u_mode = 0L;
monster_type *m_ptr = &m_list[m_idx];
* @brief モンスターを起こす /
* @param t_idx モンスターID
*/
-void monster_wakeup(int t_idx)
+void monster_wakeup(IDX t_idx)
{
(void)set_monster_csleep(t_idx, 0);
}
* @param msg_flag_aux メッセージを分岐するためのフラグ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-static void monspell_message_base(int m_idx, int t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool msg_flag_aux, int TARGET_TYPE)
+static void monspell_message_base(IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool msg_flag_aux, int TARGET_TYPE)
{
bool known = monster_near_player(m_idx, t_idx);
bool see_either = see_monster(m_idx) || see_monster(t_idx);
* @param msg3 プレイヤーが盲目でなく、モンスター対象とする場合のメッセージ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void monspell_message(int m_idx, int t_idx, cptr msg1, cptr msg2, cptr msg3, int TARGET_TYPE)
+void monspell_message(IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int TARGET_TYPE)
{
monspell_message_base(m_idx, t_idx, msg1, msg1, msg2, msg3, p_ptr->blind > 0, TARGET_TYPE);
}
* @param msg2 モンスター対象とする場合のメッセージ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void simple_monspell_message(int m_idx, int t_idx, cptr msg1, cptr msg2, int TARGET_TYPE)
+void simple_monspell_message(IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, int TARGET_TYPE)
{
monspell_message_base(m_idx, t_idx, msg1, msg2, msg1, msg2, p_ptr->blind > 0, TARGET_TYPE);
}
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF4_SHRIEK(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF4_SHRIEK(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
simple_monspell_message(m_idx, t_idx,
_("%^sがかん高い金切り声をあげた。", "%^s makes a high pitched shriek."),
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF4_DISPEL(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF4_DISPEL(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
char m_name[80], t_name[80];
monster_name(m_idx, m_name);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_ROCKET(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF4_ROCKET(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_SHOOT(int y, int x, int m_idx, int t_idx,int TARGET_TYPE)
+int spell_RF4_SHOOT(int y, int x, IDX m_idx, IDX t_idx,int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BREATH(int GF_TYPE, int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF4_BREATH(int GF_TYPE, int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam, ms_type, drs_type;
cptr type_s;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BA_NUKE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF4_BA_NUKE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BA_CHAO(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF4_BA_CHAO(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_ACID(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_ACID(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_ELEC(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_ELEC(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_FIRE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_FIRE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam, rad;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_COLD(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_COLD(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_POIS(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_POIS(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_NETH(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_NETH(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_WATE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_WATE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
bool known = monster_near_player(m_idx, t_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_MANA(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_MANA(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_DARK(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_DARK(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_DRAIN_MANA(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_DRAIN_MANA(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
char m_name[80], t_name[80];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_MIND_BLAST(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_MIND_BLAST(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
bool seen = (!p_ptr->blind && m_ptr->ml);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BRAIN_SMASH(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BRAIN_SMASH(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
bool seen = (!p_ptr->blind && m_ptr->ml);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-void spell_RF5_CAUSE(int GF_TYPE, int dam, int y, int x, int m_idx, int t_idx, cptr msg1, cptr msg2, cptr msg3, int MS_TYPE, int TARGET_TYPE)
+void spell_RF5_CAUSE(int GF_TYPE, int dam, int y, int x, IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int MS_TYPE, int TARGET_TYPE)
{
char m_name[80], t_name[80];
monster_name(m_idx, m_name);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_1(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_CAUSE_1(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_2(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_CAUSE_2(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_3(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_CAUSE_3(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_4(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_CAUSE_4(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ACID(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_ACID(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ELEC(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_ELEC(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_FIRE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_FIRE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_COLD(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_COLD(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_LITE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BA_LITE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_NETH(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_NETH(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_WATE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_WATE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_MANA(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_MANA(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_PLAS(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_PLAS(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ICEE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_BO_ICEE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_MISSILE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF5_MISSILE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param saving_throw 抵抗に成功したか判別するフラグ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_badstatus_message(int m_idx, int t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool resist, bool saving_throw, int TARGET_TYPE)
+void spell_badstatus_message(IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool resist, bool saving_throw, int TARGET_TYPE)
{
bool see_either = see_monster(m_idx) || see_monster(t_idx);
bool see_t = see_monster(t_idx);
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF5_SCARE(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF5_SCARE(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF5_BLIND(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF5_BLIND(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF5_CONF(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF5_CONF(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF5_SLOW(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF5_SLOW(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF5_HOLD(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF5_HOLD(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_HASTE(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_HASTE(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
bool see_m = see_monster(m_idx);
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_HAND_DOOM(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF6_HAND_DOOM(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam = 0;
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_HEAL(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_HEAL(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
int rlev = monster_level_idx(m_idx);
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_INVULNER(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_INVULNER(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
bool seen = (!p_ptr->blind && m_ptr->ml);
* @param m_idx 呪文を唱えるモンスターID
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_TPORT(int m_idx, int TARGET_TYPE)
+void spell_RF6_TPORT(IDX m_idx, int TARGET_TYPE)
{
char m_name[80];
monster_name(m_idx, m_name);
* @brief RF6_WORLDの処理。時を止める。 /
* @param m_idx 呪文を唱えるモンスターID
*/
-int spell_RF6_WORLD(int m_idx)
+int spell_RF6_WORLD(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
int who = 0;
* @brief バーノール・ルパートのRF6_SPECIALの処理。分裂・合体。 /
* @param m_idx 呪文を唱えるモンスターID
*/
-int spell_RF6_SPECIAL_BANORLUPART(int m_idx)
+int spell_RF6_SPECIAL_BANORLUPART(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
HIT_POINT dummy_hp, dummy_maxhp;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_SPECIAL_ROLENTO(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF6_SPECIAL_ROLENTO(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int num = 1 + randint1(3);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-void spell_RF6_TELE_AWAY(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_TELE_AWAY(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-void spell_RF6_TELE_LEVEL(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_TELE_LEVEL(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *t_ptr = &m_list[t_idx];
monster_race *tr_ptr = &r_info[t_ptr->r_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_PSY_SPEAR(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+int spell_RF6_PSY_SPEAR(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int dam;
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_DARKNESS(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_DARKNESS(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
monster_type *t_ptr = &m_list[t_idx];
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
*/
-void spell_RF6_TRAPS(int y, int x, int m_idx)
+void spell_RF6_TRAPS(int y, int x, IDX m_idx)
{
char m_name[80];
monster_name(m_idx, m_name);
* @brief RF6_FORGETの処理。記憶消去。 /
* @param m_idx 呪文を唱えるモンスターID
*/
-void spell_RF6_FORGET(int m_idx)
+void spell_RF6_FORGET(IDX m_idx)
{
int rlev = monster_level_idx(m_idx);
char m_name[80];
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_RAISE_DEAD(int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_RAISE_DEAD(IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_EAGLE(int y, int x, int rlev, int m_idx)
+int summon_EAGLE(int y, int x, int rlev, IDX m_idx)
{
int k, count = 0;
int num = 4 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_IE(int y, int x, int rlev, int m_idx)
+int summon_IE(int y, int x, int rlev, IDX m_idx)
{
u32b mode = 0L;
int k, count = 0;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-int summon_Guardian(int y, int x, int rlev, int m_idx, int t_idx, int TARGET_TYPE)
+int summon_Guardian(int y, int x, int rlev, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int k, count = 0;
int num = 2 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_LOCK_CLONE(int y, int x, int rlev, int m_idx)
+int summon_LOCK_CLONE(int y, int x, int rlev, IDX m_idx)
{
u32b mode = 0L;
int k, count = 0;
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_LOUSE(int y, int x, int rlev, int m_idx)
+int summon_LOUSE(int y, int x, int rlev, IDX m_idx)
{
int k, count = 0;
int num = 2 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_Kin(int y, int x, int rlev, int m_idx)
+int summon_Kin(int y, int x, int rlev, IDX m_idx)
{
int k, count = 0;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_KIN(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_KIN(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
bool known = monster_near_player(m_idx, t_idx);
bool see_either = see_monster(m_idx) || see_monster(t_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_CYBER(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_CYBER(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_MONSTER(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_MONSTER(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_MONSTERS(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_MONSTERS(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_ANT(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_ANT(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_SPIDER(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_SPIDER(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HOUND(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_HOUND(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HYDRA(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_HYDRA(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_ANGEL(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_ANGEL(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int num = 1;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_DEMON(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_DEMON(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_UNDEAD(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_UNDEAD(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_DRAGON(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_DRAGON(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HI_DRAGON(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_HI_DRAGON(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_AMBERITES(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_AMBERITES(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_UNIQUE(int y, int x, int m_idx, int t_idx, int TARGET_TYPE)
+void spell_RF6_S_UNIQUE(int y, int x, IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
monster_type *m_ptr = &m_list[m_idx];
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_damage(int SPELL_NUM, int m_idx, int TYPE)
+int monspell_damage(int SPELL_NUM, IDX m_idx, int TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_race_damage(int SPELL_NUM, int r_idx, int TYPE)
+int monspell_race_damage(int SPELL_NUM, IDX r_idx, int TYPE)
{
monster_race *r_ptr = &r_info[r_idx];
int rlev = ((r_ptr->level >= 1) ? r_ptr->level : 1);
* @param r_idx チェックしたいモンスター種族のID
* @return 人形にできるならTRUEを返す
*/
-static bool item_monster_okay(int r_idx)
+static bool item_monster_okay(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* "good" and "great" arguments are false. As a total hack, if "great" is\n
* true, then the item gets 3 extra "attempts" to become an artifact.\n
*/
-void apply_magic(object_type *o_ptr, int lev, u32b mode)
+void apply_magic(object_type *o_ptr, DEPTH lev, BIT_FLAGS mode)
{
int i, rolls, f1, f2, power;
* This routine uses "object_level" for the "generation level".\n
* We assume that the given object has been "wiped".\n
*/
-bool make_object(object_type *j_ptr, u32b mode)
+bool make_object(object_type *j_ptr, BIT_FLAGS mode)
{
int prob, base;
byte obj_level;
* This routine uses "object_level" for the "generation level".\n
* This routine requires a clean floor grid destination.\n
*/
-void place_object(POSITION y, POSITION x, u32b mode)
+void place_object(POSITION y, POSITION x, BIT_FLAGS mode)
{
IDX o_idx;
* @param max 算出した最大ダメージを返すポインタ
* @return なし
*/
-void spell_damcalc_by_spellnum(int spell_num, int typ, int m_idx, int *max)
+void spell_damcalc_by_spellnum(int spell_num, int typ, IDX m_idx, int *max)
{
monster_type *m_ptr = &m_list[m_idx];
int dam = monspell_damage((spell_num), m_idx, DAM_MAX);
* @param r_idx 確認したいモンスター種族ID
* @return Vault生成の最低必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_simple(int r_idx)
+static bool vault_aux_simple(IDX r_idx)
{
/* Okay */
return (vault_monster_okay(r_idx));
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_jelly(int r_idx)
+static bool vault_aux_jelly(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_animal(int r_idx)
+static bool vault_aux_animal(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_undead(int r_idx)
+static bool vault_aux_undead(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_chapel_g(int r_idx)
+static bool vault_aux_chapel_g(IDX r_idx)
{
static int chapel_list[] = {
MON_NOV_PRIEST, MON_NOV_PALADIN, MON_NOV_PRIEST_G, MON_NOV_PALADIN_G,
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_kennel(int r_idx)
+static bool vault_aux_kennel(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_mimic(int r_idx)
+static bool vault_aux_mimic(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_clone(int r_idx)
+static bool vault_aux_clone(IDX r_idx)
{
/* Validate the monster */
if (!vault_monster_okay(r_idx)) return (FALSE);
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_symbol_e(int r_idx)
+static bool vault_aux_symbol_e(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_symbol_g(int r_idx)
+static bool vault_aux_symbol_g(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_orc(int r_idx)
+static bool vault_aux_orc(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_troll(int r_idx)
+static bool vault_aux_troll(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_giant(int r_idx)
+static bool vault_aux_giant(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_dragon(int r_idx)
+static bool vault_aux_dragon(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_demon(int r_idx)
+static bool vault_aux_demon(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_cthulhu(int r_idx)
+static bool vault_aux_cthulhu(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
*/
static void vault_prep_symbol(void)
{
- int r_idx;
+ IDX r_idx;
/* Apply the monster restriction */
get_mon_num_prep(vault_aux_simple, NULL);
* @param r_idx 確認したいモンスター種族ID
* @return 生成必要条件を満たしているならTRUEを返す。
*/
-static bool vault_aux_dark_elf(int r_idx)
+static bool vault_aux_dark_elf(IDX r_idx)
{
int i;
static int dark_elf_list[] =
struct vault_aux_type
{
cptr name;
- bool (*hook_func)(int r_idx);
+ bool (*hook_func)(IDX r_idx);
void (*prep_func)(void);
int level;
int chance;
/* Pick some monster types */
for (i = 0; i < NUM_NEST_MON_TYPE; i++)
{
- int r_idx = 0, attempts = 100;
+ IDX r_idx = 0, attempts = 100;
monster_race *r_ptr = NULL;
while (attempts--)
{
for (x = xval - 9; x <= xval + 9; x++)
{
- int r_idx;
+ IDX r_idx;
i = randint0(NUM_NEST_MON_TYPE);
r_idx = nest_mon_info[i].r_idx;
/* Pick some monster types */
for (i = 0; i < 16; i++)
{
- int r_idx = 0, attempts = 100;
+ IDX r_idx = 0, attempts = 100;
monster_race *r_ptr = NULL;
while (attempts--)
/*
* Helper function for "trapped monster pit"
*/
-static bool vault_aux_trapped_pit(int r_idx)
+static bool vault_aux_trapped_pit(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
/* Pick some monster types */
for (i = 0; i < 16; i++)
{
- int r_idx = 0, attempts = 100;
+ IDX r_idx = 0, attempts = 100;
monster_race *r_ptr = NULL;
while (attempts--)
/*
* Helper function for "glass room"
*/
-static bool vault_aux_lite(int r_idx)
+static bool vault_aux_lite(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
/*
* Helper function for "glass room"
*/
-static bool vault_aux_shards(int r_idx)
+static bool vault_aux_shards(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
/* Place fixed lite berathers */
for (dir1 = 4; dir1 < 8; dir1++)
{
- int r_idx = get_mon_num(dun_level);
+ IDX r_idx = get_mon_num(dun_level);
y = yval + 2 * ddy_ddd[dir1];
x = xval + 2 * ddx_ddd[dir1];
case 2: /* 1 lite breather + random object */
{
- int r_idx, dir1;
+ IDX r_idx, dir1;
/* Pillars */
c_ptr = &cave[y1 + 1][x1 + 1];
/* Place shard berathers */
for (dir1 = 4; dir1 < 8; dir1++)
{
- int r_idx = get_mon_num(dun_level);
+ IDX r_idx = get_mon_num(dun_level);
y = yval + ddy_ddd[dir1];
x = xval + ddx_ddd[dir1];
* @param r_idx モンスター種族ID
* @return なし
*/
-static void wr_lore(int r_idx)
+static void wr_lore(IDX r_idx)
{
monster_race *r_ptr = &r_info[r_idx];
* @param spell_name 抹殺効果を起こした魔法の名前
* @return 効力があった場合TRUEを返す
*/
-bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spell_name)
+bool genocide_aux(IDX m_idx, int power, bool player_cast, int dam_side, cptr spell_name)
{
int msec = delay_factor * delay_factor * delay_factor;
monster_type *m_ptr = &m_list[m_idx];
* This has allowed massive simplification of the "monster" code.
* </pre>
*/
-bool earthquake_aux(int cy, int cx, int r, int m_idx)
+bool earthquake_aux(int cy, int cx, int r, IDX m_idx)
{
int i, t, y, x, yy, xx, dy, dx;
int damage = 0;
* @param mode オプション
* @return テレポート先として妥当ならばtrue
*/
-static bool cave_monster_teleportable_bold(int m_idx, int y, int x, u32b mode)
+static bool cave_monster_teleportable_bold(IDX m_idx, int y, int x, u32b mode)
{
monster_type *m_ptr = &m_list[m_idx];
cave_type *c_ptr = &cave[y][x];
* @param dis テレポート距離
* @return なし
*/
-void teleport_player_away(int m_idx, int dis)
+void teleport_player_away(IDX m_idx, int dis)
{
int yy, xx;
}
-void teleport_away_followable(int m_idx)
+void teleport_away_followable(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
int oldfy = m_ptr->fy;
* @param m_idx テレポートの対象となるモンスターID(0ならばプレイヤー) / If m_idx <= 0, target is player.
* @return なし
*/
-void teleport_level(int m_idx)
+void teleport_level(IDX m_idx)
{
bool go_up;
char m_name[160];
int index;
};
-typedef bool (*monster_hook_type)(int r_idx);
+typedef bool (*monster_hook_type)(IDX r_idx);
/*
* @details
* XXX XXX XXX This function is rather dangerous
*/
-static void do_cmd_wiz_named(int r_idx)
+static void do_cmd_wiz_named(IDX r_idx)
{
(void)summon_named_creature(0, p_ptr->y, p_ptr->x, r_idx, (PM_ALLOW_SLEEP | PM_ALLOW_GROUP));
}
* @details
* XXX XXX XXX This function is rather dangerous
*/
-static void do_cmd_wiz_named_friendly(int r_idx)
+static void do_cmd_wiz_named_friendly(IDX r_idx)
{
(void)summon_named_creature(0, p_ptr->y, p_ptr->x, r_idx, (PM_ALLOW_SLEEP | PM_ALLOW_GROUP | PM_FORCE_PET));
}
static void print_monster_line(int x, int y, monster_type* m_ptr, int n_same){
char buf[256];
int i;
- int r_idx = m_ptr->ap_r_idx;
+ IDX r_idx = m_ptr->ap_r_idx;
monster_race* r_ptr = &r_info[r_idx];
Term_gotoxy(x, y);
if(!m_ptr->r_idx)continue;//dead?
{
/*
- int r_idx = m_ptr->ap_r_idx;
+ IDX r_idx = m_ptr->ap_r_idx;
monster_race* r_ptr = &r_info[r_idx];
cptr name = (r_name + r_ptr->name);
cptr ename = (r_name + r_ptr->name);
* Used to allocate proper treasure when "Creeping coins" die
* XXX XXX XXX Note the use of actual "monster names"
*/
-static int get_coin_type(int r_idx)
+static int get_coin_type(IDX r_idx)
{
/* Analyze monsters */
switch (r_idx)
{
for (y = 0; y < cur_hgt; ++ y)
{
- int m_idx = cave[y][x].m_idx;
+ IDX m_idx = cave[y][x].m_idx;
if (m_idx > 0 && is_hostile(&m_list[m_idx]))
{
* to induce changes in the monster recall code.
* </pre>
*/
-bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
+bool mon_take_hit(IDX m_idx, int dam, bool *fear, cptr note)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* Future versions may restrict the ability to target "trappers"
* and "mimics", but the semantics is a little bit weird.
*/
-bool target_able(int m_idx)
+bool target_able(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
}
else if (strcmp(zz[0], "MONSTER") == 0)
{
- int r_idx;
+ IDX r_idx;
monster_race *r_ptr;
while(1)
}
else if (strcmp(zz[0], "TOWN") == 0)
{
- int t_idx;
+ IDX t_idx;
s32b visit;
while(1)