OSDN Git Service
(root)
/
hengband
/
hengband.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[Refactor] #37353 癒し系の効果をtrue_healing()にまとめる。
[hengband/hengband.git]
/
src
/
xtra2.c
diff --git
a/src/xtra2.c
b/src/xtra2.c
index
b37cdde
..
68e4584
100644
(file)
--- a/
src/xtra2.c
+++ b/
src/xtra2.c
@@
-12,6
+12,7
@@
#include "angband.h"
#include "angband.h"
+#include "cmd-pet.h"
#define REWARD_CHANCE 10
#define REWARD_CHANCE 10
@@
-27,7
+28,7
@@
void check_experience(void)
bool level_mutation = FALSE;
bool level_inc_stat = FALSE;
bool android = (p_ptr->prace == RACE_ANDROID ? TRUE : FALSE);
bool level_mutation = FALSE;
bool level_inc_stat = FALSE;
bool android = (p_ptr->prace == RACE_ANDROID ? TRUE : FALSE);
-
int
old_lev = p_ptr->lev;
+
PLAYER_LEVEL
old_lev = p_ptr->lev;
/* Hack -- lower limit */
if (p_ptr->exp < 0) p_ptr->exp = 0;
/* Hack -- lower limit */
if (p_ptr->exp < 0) p_ptr->exp = 0;
@@
-103,12
+104,7
@@
void check_experience(void)
sound(SOUND_LEVEL);
/* Message */
sound(SOUND_LEVEL);
/* Message */
-#ifdef JP
-msg_format("レベル %d にようこそ。", p_ptr->lev);
-#else
- msg_format("Welcome to level %d.", p_ptr->lev);
-
-#endif
+ msg_format(_("レベル %d にようこそ。", "Welcome to level %d."), p_ptr->lev);
/* Update some stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
/* Update some stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
@@
-230,17
+226,17
@@
msg_format("レベル %d にようこそ。", p_ptr->lev);
* Used to allocate proper treasure when "Creeping coins" die
* XXX XXX XXX Note the use of actual "monster names"
*/
* 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(
MONRACE_IDX
r_idx)
{
/* Analyze monsters */
switch (r_idx)
{
{
/* Analyze monsters */
switch (r_idx)
{
- case MON_COPPER_COINS: return 2;
- case MON_SILVER_COINS: return 5;
- case MON_GOLD_COINS: return 10;
- case MON_MITHRIL_COINS:
- case MON_MITHRIL_GOLEM: return 16;
- case MON_ADAMANT_COINS: return 17;
+
case MON_COPPER_COINS: return 2;
+
case MON_SILVER_COINS: return 5;
+
case MON_GOLD_COINS: return 10;
+
case MON_MITHRIL_COINS:
+
case MON_MITHRIL_GOLEM: return 16;
+
case MON_ADAMANT_COINS: return 17;
}
/* Assume nothing */
}
/* Assume nothing */
@@
-254,7
+250,7
@@
static int get_coin_type(int r_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトがクロークならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトがクロークならばTRUEを返す
*/
-static bool kind_is_cloak(
int
k_idx)
+static bool kind_is_cloak(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-275,7
+271,7
@@
static bool kind_is_cloak(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが竿状武器ならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが竿状武器ならばTRUEを返す
*/
-static bool kind_is_polearm(
int
k_idx)
+static bool kind_is_polearm(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-296,7
+292,7
@@
static bool kind_is_polearm(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが剣ならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが剣ならばTRUEを返す
*/
-static bool kind_is_sword(
int
k_idx)
+static bool kind_is_sword(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-317,7
+313,7
@@
static bool kind_is_sword(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが魔法書ならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが魔法書ならばTRUEを返す
*/
-static bool kind_is_book(
int
k_idx)
+static bool kind_is_book(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-338,7
+334,7
@@
static bool kind_is_book(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトがベースアイテム時点でGOODなアイテムならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトがベースアイテム時点でGOODなアイテムならばTRUEを返す
*/
-static bool kind_is_good_book(
int
k_idx)
+static bool kind_is_good_book(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-359,7
+355,7
@@
static bool kind_is_good_book(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが鎧ならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが鎧ならばTRUEを返す
*/
-static bool kind_is_armor(
int
k_idx)
+static bool kind_is_armor(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-380,7
+376,7
@@
static bool kind_is_armor(int k_idx)
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが打撃武器ならばTRUEを返す
*/
* @param k_idx 判定したいオブジェクトのベースアイテムID
* @return オブジェクトが打撃武器ならばTRUEを返す
*/
-static bool kind_is_hafted(
int
k_idx)
+static bool kind_is_hafted(
KIND_OBJECT_IDX
k_idx)
{
object_kind *k_ptr = &k_info[k_idx];
{
object_kind *k_ptr = &k_info[k_idx];
@@
-420,6
+416,7
@@
void complete_quest(int quest_num)
if (!(q_ptr->flags & QUEST_FLAG_SILENT))
{
if (!(q_ptr->flags & QUEST_FLAG_SILENT))
{
+ play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_QUEST_CLEAR);
msg_print(_("クエストを達成した!", "You just completed your quest!"));
msg_print(NULL);
}
msg_print(_("クエストを達成した!", "You just completed your quest!"));
msg_print(NULL);
}
@@
-438,7
+435,7
@@
static int count_all_hostile_monsters(void)
{
for (y = 0; y < cur_hgt; ++ y)
{
{
for (y = 0; y < cur_hgt; ++ y)
{
-
int
m_idx = cave[y][x].m_idx;
+
MONSTER_IDX
m_idx = cave[y][x].m_idx;
if (m_idx > 0 && is_hostile(&m_list[m_idx]))
{
if (m_idx > 0 && is_hostile(&m_list[m_idx]))
{
@@
-458,7
+455,7
@@
static int count_all_hostile_monsters(void)
*/
void check_quest_completion(monster_type *m_ptr)
{
*/
void check_quest_completion(monster_type *m_ptr)
{
-
int
y, x;
+
POSITION
y, x;
int quest_num;
int quest_num;
@@
-466,7
+463,7
@@
void check_quest_completion(monster_type *m_ptr)
bool reward = FALSE;
object_type forge;
bool reward = FALSE;
object_type forge;
- object_type *
q
_ptr;
+ object_type *
o
_ptr;
/* Get the location */
y = m_ptr->fy;
/* Get the location */
y = m_ptr->fy;
@@
-480,7
+477,7
@@
void check_quest_completion(monster_type *m_ptr)
{
int i;
{
int i;
- for (i = max_q
uests
- 1; i > 0; i--)
+ for (i = max_q
_idx
- 1; i > 0; i--)
{
quest_type* const q_ptr = &quest[i];
{
quest_type* const q_ptr = &quest[i];
@@
-623,7
+620,7
@@
void check_quest_completion(monster_type *m_ptr)
/* Create a magical staircase */
if (create_stairs)
{
/* Create a magical staircase */
if (create_stairs)
{
-
int
ny, nx;
+
POSITION
ny, nx;
/* Stagger around */
while (cave_perma_bold(y, x) || cave[y][x].o_idx || (cave[y][x].info & CAVE_OBJECT) )
/* Stagger around */
while (cave_perma_bold(y, x) || cave[y][x].o_idx || (cave[y][x].info & CAVE_OBJECT) )
@@
-655,16
+652,16
@@
void check_quest_completion(monster_type *m_ptr)
for (i = 0; i < (dun_level / 15)+1; i++)
{
/* Get local object */
for (i = 0; i < (dun_level / 15)+1; i++)
{
/* Get local object */
-
q
_ptr = &forge;
+
o
_ptr = &forge;
/* Wipe the object */
/* Wipe the object */
- object_wipe(
q
_ptr);
+ object_wipe(
o
_ptr);
/* Make a great object */
/* Make a great object */
- make_object(
q
_ptr, AM_GOOD | AM_GREAT);
+ make_object(
o
_ptr, AM_GOOD | AM_GREAT);
/* Drop it in the dungeon */
/* Drop it in the dungeon */
- (void)drop_near(
q
_ptr, -1, y, x);
+ (void)drop_near(
o
_ptr, -1, y, x);
}
}
}
}
}
}
@@
-679,7
+676,7
@@
void check_find_art_quest_completion(object_type *o_ptr)
{
int i;
/* Check if completed a quest */
{
int i;
/* Check if completed a quest */
- for (i = 0; i < max_q
uests
; i++)
+ for (i = 0; i < max_q
_idx
; i++)
{
if ((quest[i].type == QUEST_TYPE_FIND_ARTIFACT) &&
(quest[i].status == QUEST_STATUS_TAKEN) &&
{
if ((quest[i].type == QUEST_TYPE_FIND_ARTIFACT) &&
(quest[i].status == QUEST_STATUS_TAKEN) &&
@@
-736,7
+733,7
@@
cptr extract_note_dies(monster_race *r_ptr)
* it drops all of its objects, which may disappear in crowded rooms.
* </pre>
*/
* it drops all of its objects, which may disappear in crowded rooms.
* </pre>
*/
-void monster_death(
int
m_idx, bool drop_item)
+void monster_death(
MONSTER_IDX
m_idx, bool drop_item)
{
int i, j, y, x;
{
int i, j, y, x;
@@
-791,11
+788,11
@@
void monster_death(int m_idx, bool drop_item)
{
if (r_ptr->blow[i].method == RBM_EXPLODE)
{
{
if (r_ptr->blow[i].method == RBM_EXPLODE)
{
-
int
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
+
BIT_FLAGS
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
int typ = mbe_info[r_ptr->blow[i].effect].explode_type;
int typ = mbe_info[r_ptr->blow[i].effect].explode_type;
-
int
d_dice = r_ptr->blow[i].d_dice;
-
int
d_side = r_ptr->blow[i].d_side;
-
int
damage = damroll(d_dice, d_side);
+
DICE_NUMBER
d_dice = r_ptr->blow[i].d_dice;
+
DICE_SID
d_side = r_ptr->blow[i].d_side;
+
HIT_POINT
damage = damroll(d_dice, d_side);
project(m_idx, 3, y, x, damage, typ, flg, -1);
break;
project(m_idx, 3, y, x, damage, typ, flg, -1);
break;
@@
-923,7
+920,7
@@
void monster_death(int m_idx, bool drop_item)
{
int wy = y, wx = x;
bool pet = is_pet(m_ptr);
{
int wy = y, wx = x;
bool pet = is_pet(m_ptr);
-
u32b
mode = 0L;
+
BIT_FLAGS
mode = 0L;
if (pet) mode |= PM_FORCE_PET;
if (pet) mode |= PM_FORCE_PET;
@@
-988,7
+985,7
@@
void monster_death(int m_idx, bool drop_item)
{
if (!one_in_(7))
{
{
if (!one_in_(7))
{
-
int
wy = y, wx = x;
+
POSITION
wy = y, wx = x;
int attempts = 100;
bool pet = is_pet(m_ptr);
int attempts = 100;
bool pet = is_pet(m_ptr);
@@
-1000,7
+997,7
@@
void monster_death(int m_idx, bool drop_item)
if (attempts > 0)
{
if (attempts > 0)
{
-
u32b
mode = 0L;
+
BIT_FLAGS
mode = 0L;
if (pet) mode |= PM_FORCE_PET;
if (summon_specific((pet ? -1 : m_idx), wy, wx, 100, SUMMON_DAWN, mode))
if (pet) mode |= PM_FORCE_PET;
if (summon_specific((pet ? -1 : m_idx), wy, wx, 100, SUMMON_DAWN, mode))
@@
-1016,7
+1013,7
@@
void monster_death(int m_idx, bool drop_item)
case MON_UNMAKER:
/* One more ultra-hack: An Unmaker goes out with a big bang! */
{
case MON_UNMAKER:
/* One more ultra-hack: An Unmaker goes out with a big bang! */
{
-
int
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
+
BIT_FLAGS
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
(void)project(m_idx, 6, y, x, 100, GF_CHAOS, flg, -1);
}
break;
(void)project(m_idx, 6, y, x, 100, GF_CHAOS, flg, -1);
}
break;
@@
-1131,7
+1128,7
@@
void monster_death(int m_idx, bool drop_item)
case MON_ROLENTO:
{
case MON_ROLENTO:
{
-
int
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
+
BIT_FLAGS
flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
(void)project(m_idx, 3, y, x, damroll(20, 10), GF_FIRE, flg, -1);
}
break;
(void)project(m_idx, 3, y, x, damroll(20, 10), GF_FIRE, flg, -1);
}
break;
@@
-1250,193
+1247,11
@@
void monster_death(int m_idx, bool drop_item)
int a_idx = 0;
int chance = 0;
int a_idx = 0;
int chance = 0;
-
switch (m_ptr->r_idx
)
+
for(i = 0; i < 4; i++
)
{
{
- case MON_OBERON:
- if (one_in_(3))
- {
- a_idx = ART_JUDGE;
- chance = 33;
- }
- else
- {
- a_idx = ART_AMBER;
- chance = 50;
- }
- break;
-
- case MON_GHB:
- a_idx = ART_GHB;
- chance = 100;
- break;
-
- case MON_STORMBRINGER:
- a_idx = ART_STORMBRINGER;
- chance = 100;
- break;
-
- case MON_ECHIZEN:
- a_idx = ART_CRIMSON;
- chance = 50;
- break;
-
- case MON_GANDALF:
- a_idx = ART_ICANUS;
- chance = 20;
- break;
-
- case MON_OROCHI:
- a_idx = ART_KUSANAGI;
- chance = 25;
- break;
-
- case MON_DWORKIN:
- a_idx = ART_JUDGE;
- chance = 20;
- break;
-
- case MON_SAURON:
- if (one_in_(10))
- {
- a_idx = ART_POWER;
- chance = 100;
- }
- else
- {
- a_idx = ART_AHO;
- chance = 100;
- }
- break;
-
- case MON_BRAND:
- if (!one_in_(3))
- {
- a_idx = ART_BRAND;
- chance = 25;
- }
- else
- {
- a_idx = ART_WEREWINDLE;
- chance = 33;
- }
- break;
-
- case MON_CORWIN:
- if (!one_in_(3))
- {
- a_idx = ART_GRAYSWANDIR;
- chance = 33;
- }
- else
- {
- a_idx = ART_CORWIN;
- chance = 33;
- }
- break;
-
- case MON_SURTUR:
- if (!one_in_(3))
- {
- a_idx = ART_TWILIGHT;
- chance = 100;
- }
- else
- {
- a_idx = ART_ORB_OF_FATE;
- chance = 100;
- }
- break;
-
- case MON_SARUMAN:
- a_idx = ART_ELENDIL;
- chance = 33;
- break;
-
- case MON_FIONA:
- a_idx = ART_FIONA;
- chance = 50;
- break;
-
- case MON_JULIAN:
- a_idx = ART_JULIAN;
- chance = 45;
- break;
-
- case MON_KLING:
- a_idx = ART_DESTINY;
- chance = 40;
- break;
-
- case MON_GOEMON:
- a_idx = ART_ZANTETSU;
- chance = 100;
- break;
-
- case MON_HAGEN:
- a_idx = ART_HAGEN;
- chance = 66;
- break;
-
- case MON_CAINE:
- a_idx = ART_CAINE;
- chance = 50;
- break;
-
- case MON_BULLGATES:
- a_idx = ART_WINBLOWS;
- chance = 66;
- break;
-
- case MON_LUNGORTHIN:
- a_idx = ART_CALRIS;
- chance = 50;
- break;
-
- case MON_JACK_SHADOWS:
- a_idx = ART_JACK;
- chance = 15;
- break;
-
- case MON_DIO:
- a_idx = ART_STONEMASK;
- chance = 20;
- break;
-
- case MON_BELD:
- a_idx = ART_SOULCRUSH;
- chance = 10;
- break;
-
- case MON_PIP:
- a_idx = ART_EXCALIBUR_J;
- chance = 50;
- break;
-
- case MON_SHUTEN:
- a_idx = ART_SHUTEN_DOJI;
- chance = 33;
- break;
-
- case MON_GOTHMOG:
- a_idx = ART_GOTHMOG;
- chance = 33;
- break;
-
- case MON_FUNDIN:
- a_idx = ART_FUNDIN;
- chance = 5;
- break;
-
- case MON_ROBIN_HOOD:
- a_idx = ART_ROBIN_HOOD;
- chance = 5;
- break;
-
- case MON_KOGAN:
- a_idx = ART_NANACHO;
- chance = 80;
- break;
-
+ if(!r_ptr->artifact_id[i]) break;
+ a_idx = r_ptr->artifact_id[i];
+ chance = r_ptr->artifact_percent[i];
}
if ((a_idx > 0) && ((randint0(100) < chance) || p_ptr->wizard))
}
if ((a_idx > 0) && ((randint0(100) < chance) || p_ptr->wizard))
@@
-1459,12
+1274,12
@@
void monster_death(int m_idx, bool drop_item)
if ((r_ptr->flags7 & RF7_GUARDIAN) && (d_info[dungeon_type].final_guardian == m_ptr->r_idx))
{
if ((r_ptr->flags7 & RF7_GUARDIAN) && (d_info[dungeon_type].final_guardian == m_ptr->r_idx))
{
-
int
k_idx = d_info[dungeon_type].final_object ? d_info[dungeon_type].final_object
+
IDX
k_idx = d_info[dungeon_type].final_object ? d_info[dungeon_type].final_object
: lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
if (d_info[dungeon_type].final_artifact)
{
: lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
if (d_info[dungeon_type].final_artifact)
{
-
int
a_idx = d_info[dungeon_type].final_artifact;
+ a_idx = d_info[dungeon_type].final_artifact;
artifact_type *a_ptr = &a_info[a_idx];
if (!a_ptr->cur_num)
artifact_type *a_ptr = &a_info[a_idx];
if (!a_ptr->cur_num)
@@
-1585,6
+1400,8
@@
void monster_death(int m_idx, bool drop_item)
/* Redraw the "title" */
p_ptr->redraw |= (PR_TITLE);
/* Redraw the "title" */
p_ptr->redraw |= (PR_TITLE);
+ play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_FINAL_QUEST_CLEAR);
+
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("見事に変愚蛮怒の勝利者となった!", "become *WINNER* of Hengband finely!"));
if ((p_ptr->pclass == CLASS_CHAOS_WARRIOR) || (p_ptr->muta2 & MUT2_CHAOS_GIFT))
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("見事に変愚蛮怒の勝利者となった!", "become *WINNER* of Hengband finely!"));
if ((p_ptr->pclass == CLASS_CHAOS_WARRIOR) || (p_ptr->muta2 & MUT2_CHAOS_GIFT))
@@
-1615,7
+1432,7
@@
void monster_death(int m_idx, bool drop_item)
* "type" is not yet used and should be 0.
* </pre>
*/
* "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];
{
monster_race *r_ptr = &r_info[m_ptr->r_idx];
@@
-1657,7
+1474,7
@@
int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear)
* experience point of a monster later.
* </pre>
*/
* experience point of a monster later.
* </pre>
*/
-static void get_exp_from_mon(
int
dam, monster_type *m_ptr)
+static void get_exp_from_mon(
HIT_POINT
dam, monster_type *m_ptr)
{
monster_race *r_ptr = &r_info[m_ptr->r_idx];
{
monster_race *r_ptr = &r_info[m_ptr->r_idx];
@@
-1756,7
+1573,7
@@
static void get_exp_from_mon(int dam, monster_type *m_ptr)
* to induce changes in the monster recall code.
* </pre>
*/
* 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(
MONSTER_IDX m_idx, HIT_POINT
dam, bool *fear, cptr note)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
@@
-1767,7
+1584,6
@@
bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
bool innocent = TRUE, thief = FALSE;
int i;
int expdam;
bool innocent = TRUE, thief = FALSE;
int i;
int expdam;
- int dealt_damage;
(void)COPY(&exp_mon, m_ptr, monster_type);
(void)COPY(&exp_mon, m_ptr, monster_type);
@@
-1794,9
+1610,6
@@
bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
/* Genocided by chaos patron */
if (!m_idx) return TRUE;
/* Genocided by chaos patron */
if (!m_idx) return TRUE;
- /* Remember dealt_damage before this attack*/
- dealt_damage = m_ptr->dealt_damage;
-
/* Hurt it */
m_ptr->hp -= dam;
/* Hurt it */
m_ptr->hp -= dam;
@@
-2020,7
+1833,7
@@
bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
chg_virtue (V_JUSTICE, -1);
}
chg_virtue (V_JUSTICE, -1);
}
- if ((r_ptr->flags3 & RF3_ANIMAL) && !(r_ptr->flags3 & RF3_EVIL) && !(r_ptr->flags4 & ~(RF4_NOMAGIC_MASK)) && !(r_ptr->
flags5 & ~(RF5_NOMAGIC_MASK)) && !(r_ptr->flags6
& ~(RF6_NOMAGIC_MASK)))
+ if ((r_ptr->flags3 & RF3_ANIMAL) && !(r_ptr->flags3 & RF3_EVIL) && !(r_ptr->flags4 & ~(RF4_NOMAGIC_MASK)) && !(r_ptr->
a_ability_flags1 & ~(RF5_NOMAGIC_MASK)) && !(r_ptr->a_ability_flags2
& ~(RF6_NOMAGIC_MASK)))
{
if (one_in_(4)) chg_virtue(V_NATURE, -1);
}
{
if (one_in_(4)) chg_virtue(V_NATURE, -1);
}
@@
-2052,7
+1865,7
@@
bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
msg_format("せっかくだから%sを殺した。", m_name);
else
if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
msg_format("せっかくだから%sを殺した。", m_name);
else
-msg_format("%sを殺した。", m_name);
+
msg_format("%sを殺した。", m_name);
#else
msg_format("You have killed %s.", m_name);
#endif
#else
msg_format("You have killed %s.", m_name);
#endif
@@
-2062,7
+1875,6
@@
msg_format("%sを殺した。", m_name);
/* Death by Physical attack -- non-living monster */
else if (!monster_living(r_ptr))
{
/* Death by Physical attack -- non-living monster */
else if (!monster_living(r_ptr))
{
- int i;
bool explode = FALSE;
for (i = 0; i < 4; i++)
bool explode = FALSE;
for (i = 0; i < 4; i++)
@@
-2120,7
+1932,7
@@
msg_format("%sを葬り去った。", m_name);
{
int dummy_y = m_ptr->fy;
int dummy_x = m_ptr->fx;
{
int dummy_y = m_ptr->fy;
int dummy_x = m_ptr->fx;
-
u32b
mode = 0L;
+
BIT_FLAGS
mode = 0L;
if (is_pet(m_ptr)) mode |= PM_FORCE_PET;
if (is_pet(m_ptr)) mode |= PM_FORCE_PET;
@@
-2518,7
+2330,7
@@
void verify_panel(void)
/*
* Monster health description
*/
/*
* Monster health description
*/
-cptr look_mon_desc(monster_type *m_ptr,
u32b
mode)
+cptr look_mon_desc(monster_type *m_ptr,
BIT_FLAGS
mode)
{
monster_race *ap_r_ptr = &r_info[m_ptr->ap_r_idx];
bool living;
{
monster_race *ap_r_ptr = &r_info[m_ptr->ap_r_idx];
bool living;
@@
-2710,7
+2522,7
@@
void ang_sort(vptr u, vptr v, int n)
* Future versions may restrict the ability to target "trappers"
* and "mimics", but the semantics is a little bit weird.
*/
* 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(
MONSTER_IDX
m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
{
monster_type *m_ptr = &m_list[m_idx];
@@
-2778,10
+2590,10
@@
bool target_okay(void)
*/
static bool ang_sort_comp_distance(vptr u, vptr v, int a, int b)
{
*/
static bool ang_sort_comp_distance(vptr u, vptr v, int a, int b)
{
-
byte *x = (byte
*)(u);
-
byte *y = (byte
*)(v);
+
POSITION *x = (POSITION
*)(u);
+
POSITION *y = (POSITION
*)(v);
-
int
da, db, kx, ky;
+
POSITION
da, db, kx, ky;
/* Absolute distance components */
kx = x[a]; kx -= p_ptr->x; kx = ABS(kx);
/* Absolute distance components */
kx = x[a]; kx -= p_ptr->x; kx = ABS(kx);
@@
-2810,8
+2622,8
@@
static bool ang_sort_comp_distance(vptr u, vptr v, int a, int b)
*/
static bool ang_sort_comp_importance(vptr u, vptr v, int a, int b)
{
*/
static bool ang_sort_comp_importance(vptr u, vptr v, int a, int b)
{
-
byte *x = (byte
*)(u);
-
byte *y = (byte
*)(v);
+
POSITION *x = (POSITION
*)(u);
+
POSITION *y = (POSITION
*)(v);
cave_type *ca_ptr = &cave[y[a]][x[a]];
cave_type *cb_ptr = &cave[y[b]][x[b]];
monster_type *ma_ptr = &m_list[ca_ptr->m_idx];
cave_type *ca_ptr = &cave[y[a]][x[a]];
cave_type *cb_ptr = &cave[y[b]][x[b]];
monster_type *ma_ptr = &m_list[ca_ptr->m_idx];
@@
-2879,10
+2691,10
@@
static bool ang_sort_comp_importance(vptr u, vptr v, int a, int b)
*/
static void ang_sort_swap_distance(vptr u, vptr v, int a, int b)
{
*/
static void ang_sort_swap_distance(vptr u, vptr v, int a, int b)
{
-
byte *x = (byte
*)(u);
-
byte *y = (byte
*)(v);
+
POSITION *x = (POSITION
*)(u);
+
POSITION *y = (POSITION
*)(v);
-
byte
temp;
+
POSITION
temp;
/* Swap "x" */
temp = x[a];
/* Swap "x" */
temp = x[a];
@@
-2900,13
+2712,11
@@
static void ang_sort_swap_distance(vptr u, vptr v, int a, int b)
/*
* Hack -- help "select" a location (see below)
*/
/*
* Hack -- help "select" a location (see below)
*/
-static
s16b target_pick(int y1, int x1, int dy, int
dx)
+static
POSITION_IDX target_pick(POSITION y1, POSITION x1, POSITION dy, POSITION
dx)
{
{
- int i, v;
-
- int x2, y2, x3, y3, x4, y4;
-
- int b_i = -1, b_v = 9999;
+ POSITION_IDX i, v;
+ POSITION x2, y2, x3, y3, x4, y4;
+ POSITION_IDX b_i = -1, b_v = 9999;
/* Scan the locations */
/* Scan the locations */
@@
-3016,7
+2826,7
@@
static bool target_set_accept(int y, int x)
*
* Return the number of target_able monsters in the set.
*/
*
* Return the number of target_able monsters in the set.
*/
-static void target_set_prepare(
int
mode)
+static void target_set_prepare(
BIT_FLAGS
mode)
{
int y, x;
int min_hgt, max_hgt, min_wid, max_wid;
{
int y, x;
int min_hgt, max_hgt, min_wid, max_wid;
@@
-3084,7
+2894,7
@@
static void target_set_prepare(int mode)
if (p_ptr->riding && target_pet && (temp_n > 1) && (mode & (TARGET_KILL)))
{
if (p_ptr->riding && target_pet && (temp_n > 1) && (mode & (TARGET_KILL)))
{
-
byte
tmp;
+
POSITION
tmp;
tmp = temp_y[0];
temp_y[0] = temp_y[1];
tmp = temp_y[0];
temp_y[0] = temp_y[1];
@@
-3094,7
+2904,8
@@
static void target_set_prepare(int mode)
temp_x[1] = tmp;
}
}
temp_x[1] = tmp;
}
}
-void target_set_prepare_look(){
+
+void target_set_prepare_look(void){
target_set_prepare(TARGET_LOOK);
}
target_set_prepare(TARGET_LOOK);
}
@@
-3177,7
+2988,7
@@
bool show_gold_on_floor = FALSE;
*
* This function must handle blindness/hallucination.
*/
*
* This function must handle blindness/hallucination.
*/
-static
int target_set_aux(int y, int x, int
mode, cptr info)
+static
char target_set_aux(POSITION y, POSITION x, BIT_FLAGS
mode, cptr info)
{
cave_type *c_ptr = &cave[y][x];
s16b this_o_idx, next_o_idx = 0;
{
cave_type *c_ptr = &cave[y][x];
s16b this_o_idx, next_o_idx = 0;
@@
-3185,11
+2996,12
@@
static int target_set_aux(int y, int x, int mode, cptr info)
bool boring = TRUE;
s16b feat;
feature_type *f_ptr;
bool boring = TRUE;
s16b feat;
feature_type *f_ptr;
-
int
query = '\001';
+
char
query = '\001';
char out_val[MAX_NLEN+80];
#ifdef ALLOW_EASY_FLOOR
char out_val[MAX_NLEN+80];
#ifdef ALLOW_EASY_FLOOR
- int floor_list[23], floor_num = 0;
+ OBJECT_IDX floor_list[23];
+ ITEM_NUMBER floor_num = 0;
/* Scan all objects in the grid */
if (easy_floor)
/* Scan all objects in the grid */
if (easy_floor)
@@
-3443,10
+3255,10
@@
static int target_set_aux(int y, int x, int mode, cptr info)
/* Display rough information about items */
#ifdef JP
sprintf(out_val, "%s %d個のアイテム%s%s ['x'で一覧, %s]",
/* Display rough information about items */
#ifdef JP
sprintf(out_val, "%s %d個のアイテム%s%s ['x'で一覧, %s]",
- s1, floor_num, s2, s3, info);
+ s1,
(int)
floor_num, s2, s3, info);
#else
sprintf(out_val, "%s%s%sa pile of %d items [x,%s]",
#else
sprintf(out_val, "%s%s%sa pile of %d items [x,%s]",
- s1, s2, s3, floor_num, info);
+ s1, s2, s3,
(int)
floor_num, info);
#endif
prt(out_val, 0, 0);
#endif
prt(out_val, 0, 0);
@@
-3465,7
+3277,8
@@
static int target_set_aux(int y, int x, int mode, cptr info)
/* Continue scrolling list if requested */
while (1)
{
/* Continue scrolling list if requested */
while (1)
{
- int i, o_idx;
+ int i;
+ IDX o_idx;
/* Save screen */
screen_save();
/* Save screen */
screen_save();
@@
-3478,10
+3291,10
@@
static int target_set_aux(int y, int x, int mode, cptr info)
/* Prompt */
#ifdef JP
sprintf(out_val, "%s %d個のアイテム%s%s [Enterで次へ, %s]",
/* Prompt */
#ifdef JP
sprintf(out_val, "%s %d個のアイテム%s%s [Enterで次へ, %s]",
- s1, floor_num, s2, s3, info);
+ s1,
(int)
floor_num, s2, s3, info);
#else
sprintf(out_val, "%s%s%sa pile of %d items [Enter,%s]",
#else
sprintf(out_val, "%s%s%sa pile of %d items [Enter,%s]",
- s1, s2, s3, floor_num, info);
+ s1, s2, s3,
(int)
floor_num, info);
#endif
prt(out_val, 0, 0);
#endif
prt(out_val, 0, 0);
@@
-3602,7
+3415,7
@@
static int target_set_aux(int y, int x, int mode, cptr info)
if (have_flag(f_ptr->flags, FF_QUEST_ENTER))
{
/* Set the quest number temporary */
if (have_flag(f_ptr->flags, FF_QUEST_ENTER))
{
/* Set the quest number temporary */
-
int
old_quest = p_ptr->inside_quest;
+
IDX
old_quest = p_ptr->inside_quest;
int j;
/* Clear the text */
int j;
/* Clear the text */
@@
-3689,9
+3502,9
@@
static int target_set_aux(int y, int x, int mode, cptr info)
if (c_ptr->mimic) sprintf(f_idx_str, "%d/%d", c_ptr->feat, c_ptr->mimic);
else sprintf(f_idx_str, "%d", c_ptr->feat);
#ifdef JP
if (c_ptr->mimic) sprintf(f_idx_str, "%d/%d", c_ptr->feat, c_ptr->mimic);
else sprintf(f_idx_str, "%d", c_ptr->feat);
#ifdef JP
- sprintf(out_val, "%s%s%s%s[%s] %x %s %d %d %d (%d,%d) %d", s1, name, s2, s3, info,
c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, y,
x, travel.cost[y][x]);
+ sprintf(out_val, "%s%s%s%s[%s] %x %s %d %d %d (%d,%d) %d", s1, name, s2, s3, info,
(unsigned int)c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, (int)y, (int)
x, travel.cost[y][x]);
#else
#else
- sprintf(out_val, "%s%s%s%s [%s] %x %s %d %d %d (%d,%d)", s1, s2, s3, name, info, c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when,
y,
x);
+ sprintf(out_val, "%s%s%s%s [%s] %x %s %d %d %d (%d,%d)", s1, s2, s3, name, info, c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when,
(int)y, (int)
x);
#endif
}
else
#endif
}
else
@@
-3758,19
+3571,17
@@
static int target_set_aux(int y, int x, int mode, cptr info)
* This command will cancel any old target, even if used from
* inside the "look" command.
*/
* This command will cancel any old target, even if used from
* inside the "look" command.
*/
-bool target_set(
int
mode)
+bool target_set(
BIT_FLAGS
mode)
{
int i, d, m, t, bd;
{
int i, d, m, t, bd;
-
int
y = p_ptr->y;
-
int
x = p_ptr->x;
+
POSITION
y = p_ptr->y;
+
POSITION
x = p_ptr->x;
bool done = FALSE;
bool done = FALSE;
-
bool flag = TRUE;
bool flag = TRUE;
-
char query;
char query;
-
char info[80];
char info[80];
+ char same_key;
cave_type *c_ptr;
cave_type *c_ptr;
@@
-3786,6
+3597,14
@@
bool target_set(int mode)
/* Cancel tracking */
/* health_track(0); */
/* Cancel tracking */
/* health_track(0); */
+ if (rogue_like_commands)
+ {
+ same_key = 'x';
+ }
+ else
+ {
+ same_key = 'l';
+ }
/* Prepare the "temp" array */
target_set_prepare(mode);
/* Prepare the "temp" array */
target_set_prepare(mode);
@@
-3821,6
+3640,15
@@
bool target_set(int mode)
{
strcpy(info, _("q止 p自 o現 +次 -前", "q,p,o,+,-,<dir>"));
}
{
strcpy(info, _("q止 p自 o現 +次 -前", "q,p,o,+,-,<dir>"));
}
+
+ if (cheat_sight)
+ {
+ char cheatinfo[30];
+ sprintf(cheatinfo, " LOS:%d, PROJECTABLE:%d",
+ los(p_ptr->y, p_ptr->x, y, x),
+ projectable(p_ptr->y, p_ptr->x, y, x));
+ strcat(info, cheatinfo);
+ }
/* Describe and Prompt */
while (TRUE){
/* Describe and Prompt */
while (TRUE){
@@
-3928,14
+3756,24
@@
bool target_set(int mode)
default:
{
default:
{
- /* Extract the action (if any) */
- d = get_keymap_dir(query);
+ if(query == same_key)
+ {
+ if (++m == temp_n)
+ {
+ m = 0;
+ if (!expand_list) done = TRUE;
+ }
+ }
+ else
+ {
+ /* Extract the action (if any) */
+ d = get_keymap_dir(query);
- if (!d) bell();
- break;
+ if (!d) bell();
+ break;
+ }
}
}
}
}
-
/* Hack -- move around */
if (d)
{
/* Hack -- move around */
if (d)
{
@@
-4050,8
+3888,17
@@
bool target_set(int mode)
/* Default prompt */
strcpy(info, _("q止 t決 p自 m近 +次 -前", "q,t,p,m,+,-,<dir>"));
/* Default prompt */
strcpy(info, _("q止 t決 p自 m近 +次 -前", "q,t,p,m,+,-,<dir>"));
+ if (cheat_sight)
+ {
+ char cheatinfo[30];
+ sprintf(cheatinfo, " LOS:%d, PROJECTABLE:%d",
+ los(p_ptr->y, p_ptr->x, y, x),
+ projectable(p_ptr->y, p_ptr->x, y, x));
+ strcat(info, cheatinfo);
+ }
+
/* Describe and Prompt (enable "TARGET_LOOK") */
/* Describe and Prompt (enable "TARGET_LOOK") */
- while (
!(query = target_set_aux(y, x, mode | TARGET_LOOK, info))
);
+ while (
(query = target_set_aux(y, x, mode | TARGET_LOOK, info)) == 0
);
/* Cancel tracking */
/* health_track(0); */
/* Cancel tracking */
/* health_track(0); */
@@
-4249,13
+4096,12
@@
bool target_set(int mode)
*
* Note that confusion over-rides any (explicit?) user choice.
*/
*
* Note that confusion over-rides any (explicit?) user choice.
*/
-bool get_aim_dir(
int
*dp)
+bool get_aim_dir(
DIRECTION
*dp)
{
{
- int dir;
-
+ DIRECTION dir;
char command;
char command;
-
cptr p;
cptr p;
+ COMMAND_CODE code;
/* Initialize */
(*dp) = 0;
/* Initialize */
(*dp) = 0;
@@
-4268,17
+4114,18
@@
bool get_aim_dir(int *dp)
#ifdef ALLOW_REPEAT /* TNB */
#ifdef ALLOW_REPEAT /* TNB */
- if (repeat_pull(
dp
))
+ if (repeat_pull(
&code
))
{
/* Confusion? */
/* Verify */
{
/* Confusion? */
/* Verify */
- if (!(
*dp
== 5 && !target_okay()))
+ if (!(
code
== 5 && !target_okay()))
{
/* return (TRUE); */
{
/* return (TRUE); */
- dir =
*dp
;
+ dir =
(DIRECTION)code
;
}
}
}
}
+ *dp = (DIRECTION)code;
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4373,7
+4220,7
@@
bool get_aim_dir(int *dp)
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
- repeat_push(command_dir);
+ repeat_push(
(COMMAND_CODE)
command_dir);
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4399,10
+4246,11
@@
bool get_aim_dir(int *dp)
* This function tracks and uses the "global direction", and uses
* that as the "desired direction", to which "confusion" is applied.
*/
* This function tracks and uses the "global direction", and uses
* that as the "desired direction", to which "confusion" is applied.
*/
-bool get_rep_dir(
int
*dp, bool under)
+bool get_rep_dir(
DIRECTION
*dp, bool under)
{
{
-
int
dir;
+
DIRECTION
dir;
cptr prompt;
cptr prompt;
+ COMMAND_CODE code;
/* Initialize */
(*dp) = 0;
/* Initialize */
(*dp) = 0;
@@
-4412,11
+4260,12
@@
bool get_rep_dir(int *dp, bool under)
#ifdef ALLOW_REPEAT /* TNB */
#ifdef ALLOW_REPEAT /* TNB */
- if (repeat_pull(
dp
))
+ if (repeat_pull(
&code
))
{
{
- dir =
*dp
;
+ dir =
(DIRECTION)code
;
/* return (TRUE); */
}
/* return (TRUE); */
}
+ *dp = (DIRECTION)code;
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4528,7
+4377,7
@@
bool get_rep_dir(int *dp, bool under)
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
- repeat_push(command_dir);
+ repeat_push(
(COMMAND_CODE)
command_dir);
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4537,9
+4386,10
@@
bool get_rep_dir(int *dp, bool under)
}
}
-bool get_rep_dir2(
int
*dp)
+bool get_rep_dir2(
DIRECTION
*dp)
{
{
- int dir;
+ DIRECTION dir;
+ COMMAND_CODE code;
/* Initialize */
(*dp) = 0;
/* Initialize */
(*dp) = 0;
@@
-4549,11
+4399,12
@@
bool get_rep_dir2(int *dp)
#ifdef ALLOW_REPEAT /* TNB */
#ifdef ALLOW_REPEAT /* TNB */
- if (repeat_pull(
dp
))
+ if (repeat_pull(
&code
))
{
{
- dir =
*dp
;
+ dir =
(DIRECTION)code
;
/* return (TRUE); */
}
/* return (TRUE); */
}
+ *dp = (DIRECTION)code;
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4605,7
+4456,7
@@
bool get_rep_dir2(int *dp)
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
#ifdef ALLOW_REPEAT /* TNB */
/* repeat_push(dir); */
- repeat_push(command_dir);
+ repeat_push(
(COMMAND_CODE)
command_dir);
#endif /* ALLOW_REPEAT -- TNB */
#endif /* ALLOW_REPEAT -- TNB */
@@
-4619,7
+4470,8
@@
void gain_level_reward(int chosen_reward)
object_type forge;
char wrath_reason[32] = "";
int nasty_chance = 6;
object_type forge;
char wrath_reason[32] = "";
int nasty_chance = 6;
- int dummy = 0, dummy2 = 0;
+ OBJECT_TYPE_VALUE dummy = 0;
+ OBJECT_SUBTYPE_VALUE dummy2 = 0;
int type, effect;
cptr reward = NULL;
char o_name[MAX_NLEN];
int type, effect;
cptr reward = NULL;
char o_name[MAX_NLEN];
@@
-4647,27
+4499,13
@@
void gain_level_reward(int chosen_reward)
type--;
type--;
-#ifdef JP
-sprintf(wrath_reason, "%sの怒り",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- sprintf(wrath_reason, "the Wrath of %s",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
-
+ sprintf(wrath_reason, _("%sの怒り", "the Wrath of %s"), chaos_patrons[p_ptr->chaos_patron]);
effect = chaos_rewards[p_ptr->chaos_patron][type];
if (one_in_(6) && !chosen_reward)
{
effect = chaos_rewards[p_ptr->chaos_patron][type];
if (one_in_(6) && !chosen_reward)
{
-#ifdef JP
-msg_format("%^sは褒美としてあなたを突然変異させた。",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("%^s rewards you with a mutation!",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
-
+ msg_format(_("%^sは褒美としてあなたを突然変異させた。", "%^s rewards you with a mutation!"), chaos_patrons[p_ptr->chaos_patron]);
(void)gain_random_mutation(0);
reward = _("変異した。", "mutation");
}
(void)gain_random_mutation(0);
reward = _("変異した。", "mutation");
}
@@
-4675,29
+4513,19
@@
msg_format("%^sは褒美としてあなたを突然変異させた。",
{
switch (chosen_reward ? chosen_reward : effect)
{
{
switch (chosen_reward ? chosen_reward : effect)
{
+
case REW_POLY_SLF:
case REW_POLY_SLF:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝、新たなる姿を必要とせり!」", "'Thou needst a new form, mortal!'"));
do_poly_self();
reward = _("変異した。", "polymorphing");
break;
msg_print(_("「汝、新たなる姿を必要とせり!」", "'Thou needst a new form, mortal!'"));
do_poly_self();
reward = _("変異した。", "polymorphing");
break;
+
case REW_GAIN_EXP:
case REW_GAIN_EXP:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝は良く行いたり!続けよ!」", "'Well done, mortal! Lead on!'"));
if (p_ptr->prace == RACE_ANDROID)
msg_print(_("「汝は良く行いたり!続けよ!」", "'Well done, mortal! Lead on!'"));
if (p_ptr->prace == RACE_ANDROID)
@@
-4714,15
+4542,10
@@
msg_format("%sの声が響き渡った:",
reward = _("経験値を得た", "experience");
}
break;
reward = _("経験値を得た", "experience");
}
break;
+
case REW_LOSE_EXP:
case REW_LOSE_EXP:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「下僕よ、汝それに値せず。」", "'Thou didst not deserve that, slave.'"));
if (p_ptr->prace == RACE_ANDROID)
msg_print(_("「下僕よ、汝それに値せず。」", "'Thou didst not deserve that, slave.'"));
if (p_ptr->prace == RACE_ANDROID)
@@
-4735,9
+4558,10
@@
msg_format("%sの声が響き渡った:",
reward = _("経験値を失った。", "losing experience");
}
break;
reward = _("経験値を失った。", "losing experience");
}
break;
+
case REW_GOOD_OBJ:
#ifdef JP
case REW_GOOD_OBJ:
#ifdef JP
-msg_format("%sの声がささやいた:",
+
msg_format("%sの声がささやいた:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s whispers:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s whispers:",
@@
-4749,29
+4573,19
@@
msg_format("%sの声がささやいた:",
acquirement(p_ptr->y, p_ptr->x, 1, FALSE, FALSE, FALSE);
reward = _("上質なアイテムを手に入れた。", "a good item");
break;
acquirement(p_ptr->y, p_ptr->x, 1, FALSE, FALSE, FALSE);
reward = _("上質なアイテムを手に入れた。", "a good item");
break;
+
case REW_GREA_OBJ:
case REW_GREA_OBJ:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我が与えし物を賢明に使うべし。」", "'Use my gift wisely.'"));
acquirement(p_ptr->y, p_ptr->x, 1, TRUE, FALSE, FALSE);
reward = _("高級品のアイテムを手に入れた。", "an excellent item");
break;
msg_print(_("「我が与えし物を賢明に使うべし。」", "'Use my gift wisely.'"));
acquirement(p_ptr->y, p_ptr->x, 1, TRUE, FALSE, FALSE);
reward = _("高級品のアイテムを手に入れた。", "an excellent item");
break;
+
case REW_CHAOS_WP:
case REW_CHAOS_WP:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝の行いは貴き剣に値せり。」", "'Thy deed hath earned thee a worthy blade.'"));
/* Get local object */
msg_print(_("「汝の行いは貴き剣に値せり。」", "'Thy deed hath earned thee a worthy blade.'"));
/* Get local object */
@@
-4874,41
+4688,30
@@
msg_format("%sの声が響き渡った:",
(void)drop_near(q_ptr, -1, p_ptr->y, p_ptr->x);
reward = _("(混沌)の武器を手に入れた。", "chaos weapon");
break;
(void)drop_near(q_ptr, -1, p_ptr->y, p_ptr->x);
reward = _("(混沌)の武器を手に入れた。", "chaos weapon");
break;
+
case REW_GOOD_OBS:
case REW_GOOD_OBS:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝の行いは貴き報いに値せり。」", "'Thy deed hath earned thee a worthy reward.'"));
acquirement(p_ptr->y, p_ptr->x, randint1(2) + 1, FALSE, FALSE, FALSE);
reward = _("上質なアイテムを手に入れた。", "good items");
break;
msg_print(_("「汝の行いは貴き報いに値せり。」", "'Thy deed hath earned thee a worthy reward.'"));
acquirement(p_ptr->y, p_ptr->x, randint1(2) + 1, FALSE, FALSE, FALSE);
reward = _("上質なアイテムを手に入れた。", "good items");
break;
+
case REW_GREA_OBS:
case REW_GREA_OBS:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「下僕よ、汝の献身への我が惜しみ無き報いを見るがよい。」", "'Behold, mortal, how generously I reward thy loyalty.'"));
acquirement(p_ptr->y, p_ptr->x, randint1(2) + 1, TRUE, FALSE, FALSE);
reward = _("高級品のアイテムを手に入れた。", "excellent items");
break;
msg_print(_("「下僕よ、汝の献身への我が惜しみ無き報いを見るがよい。」", "'Behold, mortal, how generously I reward thy loyalty.'"));
acquirement(p_ptr->y, p_ptr->x, randint1(2) + 1, TRUE, FALSE, FALSE);
reward = _("高級品のアイテムを手に入れた。", "excellent items");
break;
+
case REW_TY_CURSE:
#ifdef JP
case REW_TY_CURSE:
#ifdef JP
-msg_format("%sの声が轟き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
+ msg_format("%sの声が轟き渡った:", chaos_patrons[p_ptr->chaos_patron]);
#else
#else
- msg_format("The voice of %s thunders:",
- chaos_patrons[p_ptr->chaos_patron]);
+ msg_format("The voice of %s thunders:", chaos_patrons[p_ptr->chaos_patron]);
#endif
msg_print(_("「下僕よ、汝傲慢なり。」", "'Thou art growing arrogant, mortal.'"));
#endif
msg_print(_("「下僕よ、汝傲慢なり。」", "'Thou art growing arrogant, mortal.'"));
@@
-4916,15
+4719,10
@@
msg_format("%sの声が轟き渡った:",
(void)activate_ty_curse(FALSE, &count);
reward = _("禍々しい呪いをかけられた。", "cursing");
break;
(void)activate_ty_curse(FALSE, &count);
reward = _("禍々しい呪いをかけられた。", "cursing");
break;
+
case REW_SUMMON_M:
case REW_SUMMON_M:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我が下僕たちよ、かの傲慢なる者を倒すべし!」", "'My pets, destroy the arrogant mortal!'"));
for (dummy = 0; dummy < randint1(5) + 1; dummy++)
msg_print(_("「我が下僕たちよ、かの傲慢なる者を倒すべし!」", "'My pets, destroy the arrogant mortal!'"));
for (dummy = 0; dummy < randint1(5) + 1; dummy++)
@@
-4933,23
+4731,21
@@
msg_format("%sの声が響き渡った:",
}
reward = _("モンスターを召喚された。", "summoning hostile monsters");
break;
}
reward = _("モンスターを召喚された。", "summoning hostile monsters");
break;
+
+
case REW_H_SUMMON:
case REW_H_SUMMON:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝、より強き敵を必要とせり!」", "'Thou needst worthier opponents!'"));
activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
reward = _("モンスターを召喚された。", "summoning many hostile monsters");
break;
msg_print(_("「汝、より強き敵を必要とせり!」", "'Thou needst worthier opponents!'"));
activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
reward = _("モンスターを召喚された。", "summoning many hostile monsters");
break;
+
+
case REW_DO_HAVOC:
#ifdef JP
case REW_DO_HAVOC:
#ifdef JP
-msg_format("%sの声が響き渡った:",
+
msg_format("%sの声が響き渡った:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s booms out:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s booms out:",
@@
-4961,9
+4757,11
@@
msg_format("%sの声が響き渡った:",
call_chaos();
reward = _("カオスの力が渦巻いた。", "calling chaos");
break;
call_chaos();
reward = _("カオスの力が渦巻いた。", "calling chaos");
break;
+
+
case REW_GAIN_ABL:
#ifdef JP
case REW_GAIN_ABL:
#ifdef JP
-msg_format("%sの声が鳴り響いた:",
+
msg_format("%sの声が鳴り響いた:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s rings out:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s rings out:",
@@
-4978,9
+4776,11
@@
msg_format("%sの声が鳴り響いた:",
do_inc_stat(randint0(6));
reward = _("能力値が上がった。", "increasing a stat");
break;
do_inc_stat(randint0(6));
reward = _("能力値が上がった。", "increasing a stat");
break;
+
+
case REW_LOSE_ABL:
#ifdef JP
case REW_LOSE_ABL:
#ifdef JP
-msg_format("%sの声が響き渡った:",
+
msg_format("%sの声が響き渡った:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s booms out:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s booms out:",
@@
-4995,9
+4795,12
@@
msg_format("%sの声が響き渡った:",
(void)do_dec_stat(randint0(6));
reward = _("能力値が下がった。", "decreasing a stat");
break;
(void)do_dec_stat(randint0(6));
reward = _("能力値が下がった。", "decreasing a stat");
break;
+
+
case REW_RUIN_ABL:
case REW_RUIN_ABL:
+
#ifdef JP
#ifdef JP
-msg_format("%sの声が轟き渡った:",
+
msg_format("%sの声が轟き渡った:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s thunders:",
chaos_patrons[p_ptr->chaos_patron]);
#else
msg_format("The voice of %s thunders:",
@@
-5013,21
+4816,18
@@
msg_format("%sの声が轟き渡った:",
}
reward = _("全能力値が下がった。", "decreasing all stats");
break;
}
reward = _("全能力値が下がった。", "decreasing all stats");
break;
+
case REW_POLY_WND:
case REW_POLY_WND:
- msg_format(_("%sの力が触れるのを感じた。", "You feel the power of %s touch you."),
+ msg_format(_("%sの力が触れるのを感じた。", "You feel the power of %s touch you."),
chaos_patrons[p_ptr->chaos_patron]);
do_poly_wounds();
reward = _("傷が変化した。", "polymorphing wounds");
break;
chaos_patrons[p_ptr->chaos_patron]);
do_poly_wounds();
reward = _("傷が変化した。", "polymorphing wounds");
break;
+
case REW_AUGM_ABL:
case REW_AUGM_ABL:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我がささやかなる賜物を受けとるがよい!」", "'Receive this modest gift from me!'"));
msg_print(_("「我がささやかなる賜物を受けとるがよい!」", "'Receive this modest gift from me!'"));
@@
-5037,56
+4837,30
@@
msg_format("%sの声が響き渡った:",
}
reward = _("全能力値が上がった。", "increasing all stats");
break;
}
reward = _("全能力値が上がった。", "increasing all stats");
break;
+
case REW_HURT_LOT:
case REW_HURT_LOT:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「苦しむがよい、無能な愚か者よ!」", "'Suffer, pathetic fool!'"));
fire_ball(GF_DISINTEGRATE, 0, p_ptr->lev * 4, 4);
take_hit(DAMAGE_NOESCAPE, p_ptr->lev * 4, wrath_reason, -1);
reward = _("分解の球が発生した。", "generating disintegration ball");
break;
msg_print(_("「苦しむがよい、無能な愚か者よ!」", "'Suffer, pathetic fool!'"));
fire_ball(GF_DISINTEGRATE, 0, p_ptr->lev * 4, 4);
take_hit(DAMAGE_NOESCAPE, p_ptr->lev * 4, wrath_reason, -1);
reward = _("分解の球が発生した。", "generating disintegration ball");
break;
- case REW_HEAL_FUL:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
- msg_print(_("「甦るがよい、我が下僕よ!」", "'Rise, my servant!'"));
+ case REW_HEAL_FUL:
- restore_level();
- (void)set_poisoned(0);
- (void)set_blind(0);
- (void)set_confused(0);
- (void)set_image(0);
- (void)set_stun(0);
- (void)set_cut(0);
- hp_player(5000);
- for (dummy = 0; dummy < 6; dummy++)
- {
- (void)do_res_stat(dummy);
- }
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
+ (void)restore_level();
+ (void)restore_all_status();
+ (void)true_healing(5000);
reward = _("体力が回復した。", "healing");
break;
reward = _("体力が回復した。", "healing");
break;
+
case REW_CURSE_WP:
case REW_CURSE_WP:
- if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM)) break;
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM)) break;
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝、武器に頼ることなかれ。」", "'Thou reliest too much on thy weapon.'"));
dummy = INVEN_RARM;
msg_print(_("「汝、武器に頼ることなかれ。」", "'Thou reliest too much on thy weapon.'"));
dummy = INVEN_RARM;
@@
-5099,16
+4873,11
@@
msg_format("%sの声が響き渡った:",
(void)curse_weapon(FALSE, dummy);
reward = format(_("%sが破壊された。", "destroying %s"), o_name);
break;
(void)curse_weapon(FALSE, dummy);
reward = format(_("%sが破壊された。", "destroying %s"), o_name);
break;
+
case REW_CURSE_AR:
case REW_CURSE_AR:
- if (!inventory[INVEN_BODY].k_idx) break;
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ if (!inventory[INVEN_BODY].k_idx) break;
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「汝、防具に頼ることなかれ。」", "'Thou reliest too much on thine equipment.'"));
object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY);
msg_print(_("「汝、防具に頼ることなかれ。」", "'Thou reliest too much on thine equipment.'"));
object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY);
@@
-5116,14
+4885,8
@@
msg_format("%sの声が響き渡った:",
reward = format(_("%sが破壊された。", "destroying %s"), o_name);
break;
case REW_PISS_OFF:
reward = format(_("%sが破壊された。", "destroying %s"), o_name);
break;
case REW_PISS_OFF:
-#ifdef JP
-msg_format("%sの声がささやいた:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s whispers:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声がささやいた:", "The voice of %s whispers:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我を怒りしめた罪を償うべし。」", "'Now thou shalt pay for annoying me.'"));
switch (randint1(4))
msg_print(_("「我を怒りしめた罪を償うべし。」", "'Now thou shalt pay for annoying me.'"));
switch (randint1(4))
@@
-5167,10
+4930,10
@@
msg_format("%sの声がささやいた:",
break;
}
break;
break;
}
break;
+
case REW_WRATH:
case REW_WRATH:
- msg_format(_("%sの声が轟き渡った:", "The voice of %s thunders:"),
-
chaos_patrons[p_ptr->chaos_patron]);
+
msg_format(_("%sの声が轟き渡った:", "The voice of %s thunders:"),
chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「死ぬがよい、下僕よ!」", "'Die, mortal!'"));
take_hit(DAMAGE_LOSELIFE, p_ptr->lev * 4, wrath_reason, -1);
msg_print(_("「死ぬがよい、下僕よ!」", "'Die, mortal!'"));
take_hit(DAMAGE_LOSELIFE, p_ptr->lev * 4, wrath_reason, -1);
@@
-5195,70
+4958,46
@@
msg_format("%sの声がささやいた:",
}
if (one_in_(2)) (void)curse_armor();
break;
}
if (one_in_(2)) (void)curse_armor();
break;
+
case REW_DESTRUCT:
case REW_DESTRUCT:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「死と破壊こそ我が喜びなり!」", "'Death and destruction! This pleaseth me!'"));
(void)destroy_area(p_ptr->y, p_ptr->x, 25, FALSE);
reward = _("ダンジョンが*破壊*された。", "*destruct*ing dungeon");
break;
msg_print(_("「死と破壊こそ我が喜びなり!」", "'Death and destruction! This pleaseth me!'"));
(void)destroy_area(p_ptr->y, p_ptr->x, 25, FALSE);
reward = _("ダンジョンが*破壊*された。", "*destruct*ing dungeon");
break;
+
case REW_GENOCIDE:
case REW_GENOCIDE:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
-
(void)symbol_genocide(0, FALSE);
reward = _("モンスターが抹殺された。", "genociding monsters");
break;
(void)symbol_genocide(0, FALSE);
reward = _("モンスターが抹殺された。", "genociding monsters");
break;
+
case REW_MASS_GEN:
case REW_MASS_GEN:
-#ifdef JP
-msg_format("%sの声が響き渡った:",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("The voice of %s booms out:",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[p_ptr->chaos_patron]);
msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
(void)mass_genocide(0, FALSE);
reward = _("モンスターが抹殺された。", "genociding nearby monsters");
break;
msg_print(_("「我、汝の敵を抹殺せん!」", "'Let me relieve thee of thine oppressors!'"));
(void)mass_genocide(0, FALSE);
reward = _("モンスターが抹殺された。", "genociding nearby monsters");
break;
+
case REW_DISPEL_C:
case REW_DISPEL_C:
-#ifdef JP
-msg_format("%sの力が敵を攻撃するのを感じた!",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("You can feel the power of %s assault your enemies!",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sの力が敵を攻撃するのを感じた!", "You can feel the power of %s assault your enemies!"), chaos_patrons[p_ptr->chaos_patron]);
(void)dispel_monsters(p_ptr->lev * 4);
break;
(void)dispel_monsters(p_ptr->lev * 4);
break;
+
case REW_IGNORE:
case REW_IGNORE:
-#ifdef JP
-msg_format("%sはあなたを無視した。",
- chaos_patrons[p_ptr->chaos_patron]);
-#else
- msg_format("%s ignores you.",
- chaos_patrons[p_ptr->chaos_patron]);
-#endif
+ msg_format(_("%sはあなたを無視した。", "%s ignores you."), chaos_patrons[p_ptr->chaos_patron]);
break;
break;
+
case REW_SER_DEMO:
case REW_SER_DEMO:
+
msg_format(_("%sは褒美として悪魔の使いをよこした!", "%s rewards you with a demonic servant!"),chaos_patrons[p_ptr->chaos_patron]);
if (!summon_specific(-1, p_ptr->y, p_ptr->x, dun_level, SUMMON_DEMON, PM_FORCE_PET))
msg_format(_("%sは褒美として悪魔の使いをよこした!", "%s rewards you with a demonic servant!"),chaos_patrons[p_ptr->chaos_patron]);
if (!summon_specific(-1, p_ptr->y, p_ptr->x, dun_level, SUMMON_DEMON, PM_FORCE_PET))
@@
-5267,6
+5006,7
@@
msg_format("%sはあなたを無視した。",
reward = _("悪魔がペットになった。", "a demonic servant");
break;
reward = _("悪魔がペットになった。", "a demonic servant");
break;
+
case REW_SER_MONS:
msg_format(_("%sは褒美として使いをよこした!", "%s rewards you with a servant!"),chaos_patrons[p_ptr->chaos_patron]);
case REW_SER_MONS:
msg_format(_("%sは褒美として使いをよこした!", "%s rewards you with a servant!"),chaos_patrons[p_ptr->chaos_patron]);
@@
-5276,6
+5016,7
@@
msg_format("%sはあなたを無視した。",
reward = _("モンスターがペットになった。", "a servant");
break;
reward = _("モンスターがペットになった。", "a servant");
break;
+
case REW_SER_UNDE:
msg_format(_("%sは褒美としてアンデッドの使いをよこした。", "%s rewards you with an undead servant!"),chaos_patrons[p_ptr->chaos_patron]);
case REW_SER_UNDE:
msg_format(_("%sは褒美としてアンデッドの使いをよこした。", "%s rewards you with an undead servant!"),chaos_patrons[p_ptr->chaos_patron]);
@@
-5285,6
+5026,7
@@
msg_format("%sはあなたを無視した。",
reward = _("アンデッドがペットになった。", "an undead servant");
break;
reward = _("アンデッドがペットになった。", "an undead servant");
break;
+
default:
msg_format(_("%sの声がどもった:", "The voice of %s stammers:"),
default:
msg_format(_("%sの声がどもった:", "The voice of %s stammers:"),
@@
-5304,7
+5046,7
@@
msg_format("%sはあなたを無視した。",
* XAngband: determine if a given location is "interesting"
* based on target_set_accept function.
*/
* XAngband: determine if a given location is "interesting"
* based on target_set_accept function.
*/
-static bool tgt_pt_accept(
int y, int
x)
+static bool tgt_pt_accept(
POSITION y, POSITION
x)
{
cave_type *c_ptr;
{
cave_type *c_ptr;
@@
-5343,7
+5085,7
@@
static bool tgt_pt_accept(int y, int x)
*/
static void tgt_pt_prepare(void)
{
*/
static void tgt_pt_prepare(void)
{
-
int
y, x;
+
POSITION
y, x;
/* Reset "temp" array */
temp_n = 0;
/* Reset "temp" array */
temp_n = 0;
@@
-5376,10
+5118,11
@@
static void tgt_pt_prepare(void)
/*
* old -- from PsiAngband.
*/
/*
* old -- from PsiAngband.
*/
-bool tgt_pt(
int *x_ptr, int
*y_ptr)
+bool tgt_pt(
POSITION *x_ptr, POSITION
*y_ptr)
{
char ch = 0;
{
char ch = 0;
- int d, x, y, n = 0;
+ int d, n = 0;
+ POSITION x, y;
bool success = FALSE;
int wid, hgt;
bool success = FALSE;
int wid, hgt;
@@
-5561,13
+5304,12
@@
bool tgt_pt(int *x_ptr, int *y_ptr)
}
}
-bool get_hack_dir(
int
*dp)
+bool get_hack_dir(
DIRECTION
*dp)
{
{
-
int
dir;
+
DIRECTION
dir;
cptr p;
char command;
cptr p;
char command;
-
/* Initialize */
(*dp) = 0;
/* Initialize */
(*dp) = 0;
@@
-5688,12
+5430,14
@@
s16b gain_energy(void)
}
}
-/*
- * Return bow energy
+/*!
+ * @brief 射撃武器の攻撃に必要な基本消費エネルギーを返す/Return bow energy
+ * @param sval 射撃武器のアイテム副分類ID
+ * @return 消費する基本エネルギー
*/
*/
-
s16b bow_energy(int
sval)
+
ENERGY bow_energy(OBJECT_SUBTYPE_VALUE
sval)
{
{
-
int energy = 1
00;
+
ENERGY energy = 100
00;
/* Analyze the launcher */
switch (sval)
/* Analyze the launcher */
switch (sval)
@@
-5748,7
+5492,7
@@
s16b bow_energy(int sval)
/*
* Return bow tmul
*/
/*
* Return bow tmul
*/
-int bow_tmul(
int
sval)
+int bow_tmul(
OBJECT_SUBTYPE_VALUE
sval)
{
int tmul = 0;
{
int tmul = 0;
@@
-5869,10
+5613,10
@@
int spell_exp_level(int spell_exp)
* Display a rumor and apply its effects
*/
* Display a rumor and apply its effects
*/
-
int rumor_num(char *zz, int
max_idx)
+
IDX rumor_num(char *zz, IDX
max_idx)
{
if (strcmp(zz, "*") == 0) return randint1(max_idx - 1);
{
if (strcmp(zz, "*") == 0) return randint1(max_idx - 1);
- return atoi(zz);
+ return
(IDX)
atoi(zz);
}
cptr rumor_bind_name(char *base, cptr fullname)
}
cptr rumor_bind_name(char *base, cptr fullname)
@@
-5895,7
+5639,7
@@
cptr rumor_bind_name(char *base, cptr fullname)
void display_rumor(bool ex)
{
void display_rumor(bool ex)
{
-
bool
err;
+
errr
err;
int section = 0;
char Rumor[1024];
int section = 0;
char Rumor[1024];
@@
-5921,7
+5665,7
@@
void display_rumor(bool ex)
{
if (strcmp(zz[0], "ARTIFACT") == 0)
{
{
if (strcmp(zz[0], "ARTIFACT") == 0)
{
-
int
a_idx, k_idx;
+
IDX
a_idx, k_idx;
object_type forge;
object_type *q_ptr = &forge;
artifact_type *a_ptr;
object_type forge;
object_type *q_ptr = &forge;
artifact_type *a_ptr;
@@
-5942,7
+5686,7
@@
void display_rumor(bool ex)
}
else if (strcmp(zz[0], "MONSTER") == 0)
{
}
else if (strcmp(zz[0], "MONSTER") == 0)
{
-
int
r_idx;
+
MONRACE_IDX
r_idx;
monster_race *r_ptr;
while(1)
monster_race *r_ptr;
while(1)
@@
-5982,7
+5726,7
@@
void display_rumor(bool ex)
}
else if (strcmp(zz[0], "TOWN") == 0)
{
}
else if (strcmp(zz[0], "TOWN") == 0)
{
-
int
t_idx;
+
IDX
t_idx;
s32b visit;
while(1)
s32b visit;
while(1)