case 28:
case 29:
{
- int bonus_h, bonus_d;
+ hit_prob bonus_h;
+ hit_point bonus_d;
add_flag(o_ptr->art_flags, TR_SHOW_MODS);
- bonus_h = 4 + (randint1(11));
- bonus_d = 4 + (randint1(11));
+ bonus_h = 4 + (hit_prob)(randint1(11));
+ bonus_d = 4 + (hit_point)(randint1(11));
if ((o_ptr->tval != TV_SWORD) && (o_ptr->tval != TV_POLEARM) && (o_ptr->tval != TV_HAFTED) && (o_ptr->tval != TV_DIGGING) && (o_ptr->tval != TV_GLOVES) && (o_ptr->tval != TV_RING))
{
bonus_h /= 2;
bonus_d /= 2;
}
- o_ptr->to_h += (s16b)bonus_h;
- o_ptr->to_d += (s16b)bonus_d;
+ o_ptr->to_h += bonus_h;
+ o_ptr->to_d += bonus_d;
break;
}
case 30:
*/
bool inc_stat(int stat)
{
- int value, gain;
+ base_status value, gain;
/* Then augment the current/max stat */
value = p_ptr->stat_cur[stat];
extern bool make_object(object_type *j_ptr, u32b mode);
extern void place_object(int y, int x, u32b mode);
extern bool make_gold(object_type *j_ptr);
-extern void place_gold(int y, int x);
+extern void place_gold(position y, position x);
extern s16b drop_near(object_type *o_ptr, int chance, int y, int x);
extern void acquirement(int y1, int x1, int num, bool great, bool special, bool known);
extern void amusement(int y1, int x1, int num, bool known);
extern bool tgt_pt (int *x, int *y);
extern void do_poly_wounds(void);
extern void change_race(int new_race, cptr effect_msg);
-extern int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear);
+extern hit_point mon_damage_mod(monster_type *m_ptr, hit_point dam, bool is_psy_spear);
extern s16b gain_energy(void);
extern s16b bow_energy(int sval);
extern int bow_tmul(int sval);
#endif
+typedef s16b idx; /*!< ゲーム中のID型を定義 */
typedef byte position; /*!< ゲーム中の座標型を定義 */
typedef s16b hit_point; /*!< ゲーム中のHP/ダメージ型を定義 */
+typedef s16b hit_prob; /*!< ゲーム中の命中修正値を定義 */
typedef s16b base_status; /*!< ゲーム中の基礎能力値型を定義 */
*/
static void a_m_aux_1(object_type *o_ptr, int level, int power)
{
- int tohit1 = randint1(5) + m_bonus(5, level);
- int todam1 = randint1(5) + m_bonus(5, level);
+ hit_prob tohit1 = randint1(5) + m_bonus(5, level);
+ hit_point todam1 = randint1(5) + m_bonus(5, level);
- int tohit2 = m_bonus(10, level);
- int todam2 = m_bonus(10, level);
+ hit_prob tohit2 = m_bonus(10, level);
+ hit_point todam2 = m_bonus(10, level);
if ((o_ptr->tval == TV_BOLT) || (o_ptr->tval == TV_ARROW) || (o_ptr->tval == TV_SHOT))
{
* This routine uses "object_level" for the "generation level".\n
* This routine requires a clean floor grid destination.\n
*/
-void place_object(int y, int x, u32b mode)
+void place_object(position y, position x, u32b mode)
{
- s16b o_idx;
+ idx o_idx;
/* Acquire grid */
cave_type *c_ptr = &cave[y][x];
* @details
* The location must be a legal, clean, floor grid.
*/
-void place_gold(int y, int x)
+void place_gold(position y, position x)
{
s16b o_idx;
* "flg" was added.
* </pre>
*/
-static bool project_m(int who, int r, int y, int x, int dam, int typ, int flg, bool see_s_msg)
+static bool project_m(int who, int r, int y, int x, hit_point dam, int typ, int flg, bool see_s_msg)
{
int tmp;
struct object_type
{
- s16b k_idx; /* Kind index (zero if "dead") */
+ idx k_idx; /* Kind index (zero if "dead") */
- byte iy; /* Y-position on map, or zero */
- byte ix; /* X-position on map, or zero */
+ position iy; /* Y-position on map, or zero */
+ position ix; /* X-position on map, or zero */
byte tval; /* Item type (from kind) */
byte sval; /* Item sub-type (from kind) */
s16b xtra4; /* Extra info fuel or captured monster's current HP */
s16b xtra5; /* Extra info captured monster's max HP */
- s16b to_h; /* Plusses to hit */
- s16b to_d; /* Plusses to damage */
+ hit_prob to_h; /* Plusses to hit */
+ hit_point to_d; /* Plusses to damage */
s16b to_a; /* Plusses to AC */
s16b ac; /* Normal AC */
* "type" is not yet used and should be 0.
* </pre>
*/
-int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear)
+hit_point mon_damage_mod(monster_type *m_ptr, hit_point dam, bool is_psy_spear)
{
monster_race *r_ptr = &r_info[m_ptr->r_idx];