* @param rad 効果半径\r
* @return フォーマットに従い整形された文字列\r
*/\r
-cptr info_radius(int rad)\r
+cptr info_radius(POSITION rad)\r
{\r
return format(_("半径:%d", "rad %d"), rad);\r
}\r
extern cptr info_multi_damage_dice(int dice, int sides);\r
extern cptr info_power(int power);\r
extern cptr info_power_dice(int dice, int sides);\r
-extern cptr info_radius(int rad);\r
+extern cptr info_radius(POSITION rad);\r
extern cptr info_weight(int weight);\r
int ident = FALSE;
int lev = powerful ? p_ptr->lev * 2 : p_ptr->lev;
int detect_rad = powerful ? DETECT_RAD_DEFAULT * 3 / 2 : DETECT_RAD_DEFAULT;
- int rad = powerful ? 3 : 2;
+ POSITION rad = powerful ? 3 : 2;
/* Unused */
(void)magic;
{
int ident = FALSE;
int lev = powerful ? p_ptr->lev * 2 : p_ptr->lev;
- int rad = powerful ? 3 : 2;
+ POSITION rad = powerful ? 3 : 2;
/* XXX Hack -- Wand of wonder can do anything before it */
if (sval == SV_WAND_WONDER)
extern bool earthquake(POSITION cy, POSITION cx, POSITION r);
extern void lite_room(POSITION y1, POSITION x1);
extern void unlite_room(POSITION y1, POSITION x1);
-extern bool lite_area(HIT_POINT dam, int rad);
-extern bool unlite_area(HIT_POINT dam, int rad);
-extern bool fire_ball(int typ, DIRECTION dir, HIT_POINT dam, int rad);
-extern bool fire_breath(int typ, DIRECTION dir, HIT_POINT dam, int rad);
-extern bool fire_rocket(int typ, DIRECTION dir, HIT_POINT dam, int rad);
-extern bool fire_ball_hide(int typ, DIRECTION dir, HIT_POINT dam, int rad);
+extern bool lite_area(HIT_POINT dam, POSITION rad);
+extern bool unlite_area(HIT_POINT dam, POSITION rad);
+extern bool fire_ball(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad);
+extern bool fire_breath(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad);
+extern bool fire_rocket(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad);
+extern bool fire_ball_hide(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad);
extern bool fire_meteor(MONSTER_IDX who, EFFECT_ID typ, POSITION x, POSITION y, HIT_POINT dam, POSITION rad);
extern bool fire_bolt(int typ, DIRECTION dir, HIT_POINT dam);
extern bool fire_blast(int typ, DIRECTION dir, int dd, int ds, int num, int dev);
extern void remove_all_mirrors(bool explode);
extern void ring_of_power(DIRECTION dir);
extern void wild_magic(int spell);
-extern void cast_meteor(HIT_POINT dam, int rad);
-extern bool cast_wrath_of_the_god(HIT_POINT dam, int rad);
+extern void cast_meteor(HIT_POINT dam, POSITION rad);
+extern bool cast_wrath_of_the_god(HIT_POINT dam, POSITION rad);
extern void cast_wonder(DIRECTION dir);
extern void cast_invoke_spirits(DIRECTION dir);
extern void cast_shuffle(void);
(f6 & RF6_BREATH_MASK))
{
/* Expected breath radius */
- int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 3 : 2;
+ POSITION rad = (r_ptr->flags2 & RF2_POWERFUL) ? 3 : 2;
if (!breath_direct(m_ptr->fy, m_ptr->fx, t_ptr->fy, t_ptr->fx, rad, 0, TRUE))
{
cptr info[128];
char o_name[MAX_NLEN];
int wid, hgt;
- int rad;
+ POSITION rad;
char desc[256];
int trivial_info = 0;
if (have_flag(flgs, TR_LITE_FUEL) && o_ptr->name2 != EGO_LITE_DARKNESS)
{
- if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), rad);
+ if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), (int)rad);
}
else
{
- if(rad > 0) sprintf(desc, _("それは永遠なる明かり(半径 %d)を授ける。", "It provides light (radius %d) forever."), rad);
- if(rad < 0) sprintf(desc, _("それは明かりの半径を狭める(半径に-%d)。", "It decreases radius of light source by %d."), -rad);
+ if(rad > 0) sprintf(desc, _("それは永遠なる明かり(半径 %d)を授ける。", "It provides light (radius %d) forever."), (int)rad);
+ if(rad < 0) sprintf(desc, _("それは明かりの半径を狭める(半径に-%d)。", "It decreases radius of light source by %d."), (int)-rad);
}
if(rad != 0) info[i++] = desc;
if (desc) return _("近くの透明なモンスターを感知する。", "Detects all invisible monsters in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの全ての見えるモンスターを感知する。", "Detects all monsters in your vicinity unless invisible.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
int dice = 2;
int sides = plev / 2;
- int rad = plev / 10 + 1;
+ POSITION rad = plev / 10 + 1;
if (info) return info_damage(dice, sides, 0);
if (desc) return _("近くの全ての罠と扉と階段を感知する。", "Detects traps, doors, and stairs in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの財宝を感知する。", "Detects all treasures in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの魔法がかかったアイテムを感知する。", "Detects all magical items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの全てのアイテムを感知する。", "Detects all items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
HIT_POINT dam = 75 + plev;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
"Detects all monsters, traps, doors, stairs, treasures and items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("隣接する罠と扉を破壊する。", "Destroys all traps in adjacent squares.");
{
- int rad = 1;
+ POSITION rad = 1;
if (info) return info_radius(rad);
{
int dice = 2;
int sides = plev / 2;
- int rad = (plev / 10) + 1;
+ POSITION rad = (plev / 10) + 1;
if (info) return info_damage(dice, sides, 0);
{
int dice = 3;
int sides = 5;
- int rad = (plev < 30) ? 2 : 3;
+ POSITION rad = (plev < 30) ? 2 : 3;
int base;
if (IS_WIZARD_CLASS())
{
HIT_POINT dam = 60 + plev;
- int rad = plev / 10 + 2;
+ POSITION rad = plev / 10 + 2;
if (info) return info_damage(0, 0, dam / 2);
{
HIT_POINT dam = plev + 55;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = plev * 2 + 99;
- int rad = plev / 5;
+ POSITION rad = plev / 5;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = plev + 70;
- int rad = 3 + plev / 40;
+ POSITION rad = 3 + plev / 40;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = 120 + plev * 2;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = plev * 2;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_multi_damage(dam);
{
HIT_POINT dam = 300 + 3 * plev;
- int rad = 8;
+ POSITION rad = 8;
if (info) return info_damage(0, 0, dam / 2);
{
HIT_POINT dam = 300 + plev * 4;
- int rad = 4;
+ POSITION rad = 4;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = p_ptr->chp;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
if (desc) return _("近くの邪悪なモンスターを感知する。", "Detects all evil monsters in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
int dice = 3;
int sides = 6;
- int rad = (plev < 30) ? 2 : 3;
+ POSITION rad = (plev < 30) ? 2 : 3;
int base;
if (p_ptr->pclass == CLASS_PRIEST ||
{
HIT_POINT dam = 100 + plev * 2;
- int rad = 4;
+ POSITION rad = 4;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = plev * 3 + 25;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_multi_damage(dam);
if (desc) return _("近くの生命のないモンスターを感知する。", "Detects all nonliving monsters in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
int dice = 3;
int sides = 6;
- int rad = (plev < 30) ? 2 : 3;
+ POSITION rad = (plev < 30) ? 2 : 3;
int base;
if (IS_WIZARD_CLASS())
if (desc) return _("周辺の地形を感知する。", "Maps nearby area.");
{
- int rad = DETECT_RAD_MAP;
+ POSITION rad = DETECT_RAD_MAP;
if (info) return info_radius(rad);
{
HIT_POINT dam = plev + 55;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = plev * 3 / 2 + 100;
- int rad = plev / 20 + 2;
+ POSITION rad = plev / 20 + 2;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = (55 + plev) * 2;
- int rad = 3;
+ POSITION rad = 3;
if (info) return info_damage(0, 0, dam / 2);
{
HIT_POINT dam = plev * 3 / 2 + 80;
- int rad = 2 + plev / 40;
+ POSITION rad = 2 + plev / 40;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = 100 + plev * 2;
- int rad = 4;
+ POSITION rad = 4;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = 50 + plev;
int power = 20 + plev;
- int rad = 3 + plev / 20;
+ POSITION rad = 3 + plev / 20;
if (info) return format("%s%d+%d", s_dam, dam / 2, dam / 2);
{
HIT_POINT dam = plev * 15;
- int rad = plev / 5;
+ POSITION rad = plev / 5;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = 600;
- int rad = 0;
+ POSITION rad = 0;
if (info) return info_damage(0, 0, dam);
if (desc) return _("近くの生命のないモンスターを感知する。", "Detects all nonliving monsters in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
int dice = 3 + (plev - 1) / 5;
int sides = 4;
- int rad = 0;
+ POSITION rad = 0;
if (info) return info_damage(dice, sides, 0);
if (desc) return _("近くの邪悪なモンスターを感知する。", "Detects all evil monsters in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
HIT_POINT dam = 10 + plev / 2;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_damage(0, 0, dam);
{
int dice = 3;
int sides = 6;
- int rad = (plev < 30) ? 2 : 3;
+ POSITION rad = (plev < 30) ? 2 : 3;
int base;
if (IS_WIZARD_CLASS())
{
HIT_POINT dam = (30 + plev) * 2;
- int rad = plev / 10 + 2;
+ POSITION rad = plev / 10 + 2;
if (info) return info_damage(0, 0, dam / 2);
{
HIT_POINT dam = 100 + plev * 2;
- int rad = 4;
+ POSITION rad = 4;
if (info) return info_damage(0, 0, dam);
{
HIT_POINT dam = 666;
- int rad = 3;
+ POSITION rad = 3;
if (info) return info_damage(0, 0, dam);
}
if (cont)
{
- int rad = 2 + (power / 50);
+ POSITION rad = 2 + (power / 50);
HEX_REVENGE_TURN(p_ptr)--;
{
int dice = 2;
int sides = plev / 2;
- int rad = plev / 10 + 1;
+ POSITION rad = plev / 10 + 1;
if (info) return info_damage(dice, sides, 0);
if (name) return _("罠 & 隠し扉感知", "Detect Doors & Traps");
if (desc) return _("近くの全ての罠と扉と階段を感知する。", "Detects traps, doors, and stairs in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("周辺の地形を感知する。", "Maps nearby area.");
{
- int rad = DETECT_RAD_MAP;
+ POSITION rad = DETECT_RAD_MAP;
if (info) return info_radius(rad);
if (desc) return _("自分のいる床と周囲8マスの床の上に、モンスターが通り抜けたり召喚されたりすることができなくなるルーンを描く。", "Creates glyphs in all adjacent squares and under you.");
{
- int rad = 1;
+ POSITION rad = 1;
if (info) return info_radius(rad);
if (desc) return _("近くの全てのモンスター、罠、扉、階段、財宝、そしてアイテムを感知する。", "Detects all monsters, traps, doors, stairs, treasures and items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの全ての見えるモンスターを感知する。", "Detects all monsters in your vicinity unless invisible.");\r
\r
{\r
- int rad = DETECT_RAD_DEFAULT;\r
+ POSITION rad = DETECT_RAD_DEFAULT;\r
\r
if (info) return info_radius(rad);\r
\r
if (desc) return _("近くの全ての罠と扉を感知する。", "Detects traps, doors, and stairs in your vicinity.");\r
\r
{\r
- int rad = DETECT_RAD_DEFAULT;\r
+ POSITION rad = DETECT_RAD_DEFAULT;\r
\r
if (info) return info_radius(rad);\r
\r
{\r
int dice = 2;\r
int sides = plev / 2;\r
- int rad = (plev / 10) + 1;\r
+ POSITION rad = (plev / 10) + 1;\r
\r
if (info) return info_damage(dice, sides, 0);\r
\r
"Shakes dungeon structure, and results in random swapping of floors and walls.");\r
\r
{\r
- int rad = 10;\r
+ POSITION rad = 10;\r
\r
if (info) return info_radius(rad);\r
\r
\r
{\r
HIT_POINT dam = 70 + plev * 3 / 2;\r
- int rad = plev / 12 + 1;\r
+ POSITION rad = plev / 12 + 1;\r
\r
if (info) return info_damage(0, 0, dam);\r
\r
\r
{\r
HIT_POINT dam = 90 + plev * 3 / 2;\r
- int rad = plev / 12 + 1;\r
+ POSITION rad = plev / 12 + 1;\r
\r
if (info) return info_damage(0, 0, dam);\r
\r
\r
{\r
HIT_POINT dam = 100 + plev * 3 / 2;\r
- int rad = plev / 12 + 1;\r
+ POSITION rad = plev / 12 + 1;\r
\r
if (info) return info_damage(0, 0, dam);\r
\r
\r
{\r
HIT_POINT dam = 150;\r
- int rad = 8;\r
+ POSITION rad = 8;\r
\r
if (info) return info_damage(0, 0, dam / 2);\r
\r
{
int dice = 2;
int sides = plev / 2;
- int rad = plev / 10 + 1;
+ POSITION rad = plev / 10 + 1;
if (info) return info_damage(dice, sides, 0);
}
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
}
{
- int rad = 1;
+ POSITION rad = 1;
if (info) return info_radius(rad);
if (desc) return _("近くのモンスターをテレポートさせる。抵抗されると無効。", "Teleports all nearby monsters away unless resisted.");
{
- int rad = plev / 15 + 1;
+ POSITION rad = plev / 15 + 1;
int power = plev * 3 + 1;
if (info) return info_radius(rad);
}
{
- int rad = 10;
+ POSITION rad = 10;
if (info) return info_radius(rad);
{
int dice = 50 + plev;
int sides = 10;
- int rad = 0;
+ POSITION rad = 0;
if (info) return info_damage(dice, sides, 0);
if (desc) return _("近くの全ての見えるモンスターを感知する。", "Detects all monsters in your vicinity unless invisible.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの全ての扉と罠を感知する。", "Detects traps, doors, and stairs in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
int dice = 2;
int sides = plev / 2;
- int rad = plev / 10 + 1;
+ POSITION rad = plev / 10 + 1;
if (info) return info_damage(dice, sides, 0);
if (desc) return _("周辺の地形を感知する。", "Maps nearby area.");
{
- int rad = DETECT_RAD_MAP;
+ POSITION rad = DETECT_RAD_MAP;
if (info) return info_radius(rad);
"Detects all monsters, traps, doors, stairs, treasures and items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
if (desc) return _("近くの全てのアイテムと財宝を感知する。", "Detects all treasures and items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
"Detects all monsters, traps, doors, stairs, treasures and items in your vicinity.");
{
- int rad = DETECT_RAD_DEFAULT;
+ POSITION rad = DETECT_RAD_DEFAULT;
if (info) return info_radius(rad);
{
HIT_POINT dam = plev * 2;
- int rad = 2;
+ POSITION rad = 2;
if (info) return info_multi_damage(dam);
* @param rad 効果半径
* @return 作用が実際にあった場合TRUEを返す
*/
-bool lite_area(HIT_POINT dam, int rad)
+bool lite_area(HIT_POINT dam, POSITION rad)
{
BIT_FLAGS flg = PROJECT_GRID | PROJECT_KILL;
* @param rad 効果半径
* @return 作用が実際にあった場合TRUEを返す
*/
-bool unlite_area(HIT_POINT dam, int rad)
+bool unlite_area(HIT_POINT dam, POSITION rad)
{
BIT_FLAGS flg = PROJECT_GRID | PROJECT_KILL;
* Affect grids, objects, and monsters
* </pre>
*/
-bool fire_ball(int typ, DIRECTION dir, HIT_POINT dam, int rad)
+bool fire_ball(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
{
int tx, ty;
* Affect grids, objects, and monsters
* </pre>
*/
-bool fire_breath(int typ, DIRECTION dir, HIT_POINT dam, int rad)
+bool fire_breath(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
{
return fire_ball(typ, dir, dam, -rad);
}
* Affect grids, objects, and monsters
* </pre>
*/
-bool fire_rocket(int typ, DIRECTION dir, HIT_POINT dam, int rad)
+bool fire_rocket(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
{
int tx, ty;
* Affect grids, objects, and monsters
* </pre>
*/
-bool fire_ball_hide(int typ, DIRECTION dir, HIT_POINT dam, int rad)
+bool fire_ball_hide(int typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
{
int tx, ty;
* @param rad 効力の半径
* @return なし
*/
-void cast_meteor(HIT_POINT dam, int rad)
+void cast_meteor(HIT_POINT dam, POSITION rad)
{
int i;
int b = 10 + randint1(10);
* @param rad 効力の半径
* @return ターゲットを指定し、実行したならばTRUEを返す。
*/
-bool cast_wrath_of_the_god(HIT_POINT dam, int rad)
+bool cast_wrath_of_the_god(HIT_POINT dam, POSITION rad)
{
POSITION x, y, tx, ty;
POSITION nx, ny;
static void analyze_misc_magic(object_type *o_ptr, cptr *misc_list)
{
u32b flgs[TR_FLAG_SIZE];
- int rad;
+ POSITION rad;
char desc[256];
object_flags(o_ptr, flgs);
if (have_flag(flgs, TR_LITE_FUEL))
{
- if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), rad);
+ if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), (int)rad);
}
else
{
- if(rad > 0) sprintf(desc, _("永久光源(半径 %d)", "Permanent Light(radius %d)"), rad);
- if(rad < 0) sprintf(desc, _("永久光源(半径-%d)。", "Permanent Light(radius -%d)"), -rad);
+ if(rad > 0) sprintf(desc, _("永久光源(半径 %d)", "Permanent Light(radius %d)"), (int)rad);
+ if(rad < 0) sprintf(desc, _("永久光源(半径-%d)。", "Permanent Light(radius -%d)"), (int)-rad);
}
if(rad != 0) *misc_list++ = quark_str(quark_add(desc));