From 0426d26655379e5f3d036b18756a3ba5f88234b5 Mon Sep 17 00:00:00 2001 From: hoge Date: Wed, 24 Apr 2002 13:32:57 +0000 Subject: [PATCH] =?utf8?q?=EF=BD=BC=EE=93=8B=EF=BD=A4=EF=BD=B9=EF=BD=B9?= =?utf8?q?=EF=BD=BF=EF=BD=B7=20=EF=BD=A4=EF=BE=88=EF=BD=A4=E7=86=99?= =?utf8?q?=EF=BD=A2=EF=BD=A4=EF=BD=A8=EF=BD=A4=EF=BD=BA=EF=BD=A1=EF=BD=A2?= =?utf8?q?=EF=BD=BF=EF=BE=8D=EF=BD=BB=EF=BE=82=EF=BD=A4=E7=91=A4=EF=BD=AA?= =?utf8?q?=EF=BD=BF=EF=BE=8D=EF=BD=B6=EE=8D=93=EF=BD=A4=20=EF=BD=BF?= =?utf8?q?=EF=BE=8D=EF=BD=B6=EE=8D=93=EF=BD=A4&=EF=BD=B7=EF=BE=99=EF=BD=B9?= =?utf8?q?=EE=81=A4=EF=BD=A8=EF=BD=A5=EF=BE=83=EF=BD=A5=EF=BD=BB=EF=BD=A5?= =?utf8?q?=EE=8A=98=EF=BD=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- configure.in | 2 +- lib/edit/e_info_j.txt | 9 +++++++-- lib/edit/k_info_j.txt | 2 +- lib/edit/r_info_j.txt | 2 +- lib/file/news_j.txt | 2 +- src/cmd1.c | 4 ++-- src/defines.h | 9 +++++++-- src/dungeon.c | 12 ++++++------ src/effects.c | 2 +- src/mspells1.c | 14 +++++++++----- src/object2.c | 8 ++++---- src/racial.c | 9 +++++++++ src/spells3.c | 7 ++++++- src/store.c | 1 + 14 files changed, 56 insertions(+), 27 deletions(-) diff --git a/configure.in b/configure.in index 3c7913028..c17f4f75f 100644 --- a/configure.in +++ b/configure.in @@ -3,7 +3,7 @@ AC_INIT(src/main.c) AM_CONFIG_HEADER(src/autoconf.h) -AM_INIT_AUTOMAKE(hengband, 1.0.11) +AM_INIT_AUTOMAKE(hengband, 1.0.13) AC_ARG_WITH(setgid, [ --with-setgid=NAME install hengband as group NAME], diff --git a/lib/edit/e_info_j.txt b/lib/edit/e_info_j.txt index d116e22f3..50c7129be 100644 --- a/lib/edit/e_info_j.txt +++ b/lib/edit/e_info_j.txt @@ -780,7 +780,7 @@ C:0:0:0:5 F:TUNNEL | BRAND_ACID | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD -N:101:¿Í»Â¤ê¤Î +N:101:¿Í¶ô¤¤¤Î E:of Slay Human X:24:10 W:0:23:0:2500 @@ -794,7 +794,12 @@ C:20:20:10:0 F:SEE_INVIS | AGGRAVATE | HEAVY_CURSE | CURSED F:RANDOM_CURSE2 -# 103 (unused) +N:103:*¿Í¶ô¤¤*¤Î +E:of *Slay* Human +X:24:16 +W:0:60:0:4000 +C:0:0:0:2 +F:DEX | SLAY_HUMAN ### Missile Launchers ### diff --git a/lib/edit/k_info_j.txt b/lib/edit/k_info_j.txt index f3fefc1e5..4874ee8ac 100644 --- a/lib/edit/k_info_j.txt +++ b/lib/edit/k_info_j.txt @@ -1804,7 +1804,7 @@ N:191:* E:*Remove Curse* G:?:d I:70:15:0 -W:50:0:5:8000 +W:50:0:5:4000 A:50/2:75/2 D:$It removes normal and heavy curses from equipped items when you read it. D:¤½¤ì¤ÏÆɤà¤ÈÁõÈ÷¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Ë¤«¤«¤Ã¤¿¼å¤¤¼ö¤¤¤È½Å¤¤¼ö¤¤¤ò²ò¤¯¡£ diff --git a/lib/edit/r_info_j.txt b/lib/edit/r_info_j.txt index 46b055139..c28ab25a9 100644 --- a/lib/edit/r_info_j.txt +++ b/lib/edit/r_info_j.txt @@ -7614,7 +7614,7 @@ D:$like the creation of some deranged alchemist. D:µí¤Ë»÷¤Æ¤¤¤ë¤¬Æ¬¤ÏµðÂç¤Ç¼ó¤ÏºÙ¤¯¤ÆÀޤ줽¤¦¤À¡£ºøÍ𤷤¿Ï£¶â½Ñ»Õ¤Ë¤è¤ê D:ºî¤é¤ì¤¿À¸Êª¤Î¤è¤¦¤À¡£ -N:448:¥ì¥Ã¥µ¡¼ ¥¦¥©¡¼¥ë¥â¥ó¥¹¥¿¡¼ +N:448:¥ì¥Ã¥µ¡¼¡¦¥¦¥©¡¼¥ë¥â¥ó¥¹¥¿¡¼ E:Lesser wall monster G:#:W I:110:13d8:20:75:40 diff --git a/lib/file/news_j.txt b/lib/file/news_j.txt index 4a4089c80..72e06fb4c 100644 --- a/lib/file/news_j.txt +++ b/lib/file/news_j.txt @@ -1,6 +1,6 @@ *************************************** - ** ÊѶòÈÚÅÜ 1.0.12 ** + ** ÊѶòÈÚÅÜ 1.0.13 ** *************************************** Based on Moria: Copyright (c) 1985 Robert Alan Koeneke diff --git a/src/cmd1.c b/src/cmd1.c index d8c4df3d1..222cc5896 100644 --- a/src/cmd1.c +++ b/src/cmd1.c @@ -247,7 +247,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode) r_ptr->r_flags3 |= RF3_ANIMAL; } - if (mult < 20) mult = 20; + if (mult < 25) mult = 25; } /* Slay Evil */ @@ -271,7 +271,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode) r_ptr->r_flags2 |= RF2_HUMAN; } - if (mult < 20) mult = 20; + if (mult < 25) mult = 25; } /* Slay Undead */ diff --git a/src/defines.h b/src/defines.h index 3e426151e..0d6054ded 100644 --- a/src/defines.h +++ b/src/defines.h @@ -1458,7 +1458,7 @@ #define EGO_DIGGING 100 #define EGO_SLAY_HUMAN 101 #define EGO_MORGUL 102 -/* xxx */ +#define EGO_KILL_HUMAN 103 /* Bows */ #define EGO_ACCURACY 104 @@ -3061,9 +3061,12 @@ #define TRC_TELEPORT_SELF 0x00000001L #define TRC_CHAINSWORD 0x00000002L +#define TRC_SPECIAL_MASK \ + (TRC_TY_CURSE | TRC_AGGRAVATE) + #define TRC_HEAVY_MASK \ (TRC_TY_CURSE | TRC_AGGRAVATE | TRC_DRAIN_EXP | TRC_ADD_H_CURSE | \ - TRC_CALL_DEMON | TRC_CALL_DRAGON) + TRC_CALL_DEMON | TRC_CALL_DRAGON | TRC_TELEPORT) #define TRC_P_FLAG_MASK \ (TRC_TY_CURSE | TRC_DRAIN_EXP | TRC_ADD_L_CURSE | TRC_ADD_H_CURSE | \ @@ -4781,8 +4784,10 @@ extern int PlayerUID; #define ESSENCE_RES_DISEN 64 #define ESSENCE__SH__FIRE 65 #define ESSENCE__SH__ELEC 66 +#define ESSENCE_S_HUMAN 67 #define ESSENCE__SH__COLD 68 #define ESSENCE_NO_MAGIC 70 +#define ESSENCE_WARNING 73 #define ESSENCE_FEATHER 77 #define ESSENCE_LITE 78 #define ESSENCE_SEE_INVIS 79 diff --git a/src/dungeon.c b/src/dungeon.c index b06bd9c25..381428b7b 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -12,7 +12,7 @@ #include "angband.h" -#define TY_CURSE_CHANCE 100 +#define TY_CURSE_CHANCE 200 #define CHAINSWORD_NOISE 100 static bool load = TRUE; @@ -3326,7 +3326,7 @@ msg_print(" * Hack: Uncursed teleporting items (e.g. Trump Weapons) * can actually be useful! */ - if ((p_ptr->cursed & TRC_TELEPORT_SELF) && one_in_(100)) + if ((p_ptr->cursed & TRC_TELEPORT_SELF) && one_in_(200)) { #ifdef JP if (get_check_strict("¥Æ¥ì¥Ý¡¼¥È¤·¤Þ¤¹¤«¡©", CHECK_OKAY_CANCEL)) @@ -3420,7 +3420,7 @@ msg_format(" } } /* Call animal */ - if ((p_ptr->cursed & TRC_CALL_ANIMAL) && one_in_(1500)) + if ((p_ptr->cursed & TRC_CALL_ANIMAL) && one_in_(2500)) { if (summon_specific(0, py, px, dun_level, SUMMON_ANIMAL, TRUE, FALSE, FALSE, TRUE, TRUE)) @@ -3438,7 +3438,7 @@ msg_format("%s } } /* Call demon */ - if ((p_ptr->cursed & TRC_CALL_DEMON) && one_in_(666)) + if ((p_ptr->cursed & TRC_CALL_DEMON) && one_in_(1111)) { if (summon_specific(0, py, px, dun_level, SUMMON_DEMON, TRUE, FALSE, FALSE, TRUE, TRUE)) @@ -3456,7 +3456,7 @@ msg_format("%s } } /* Call dragon */ - if ((p_ptr->cursed & TRC_CALL_DRAGON) && one_in_(400)) + if ((p_ptr->cursed & TRC_CALL_DRAGON) && one_in_(800)) { if (summon_specific(0, py, px, dun_level, SUMMON_DRAGON, TRUE, FALSE, FALSE, TRUE, TRUE)) @@ -3488,7 +3488,7 @@ msg_print(" } } /* Teleport player */ - if ((p_ptr->cursed & TRC_TELEPORT) && one_in_(100) && !p_ptr->anti_tele) + if ((p_ptr->cursed & TRC_TELEPORT) && one_in_(200) && !p_ptr->anti_tele) { disturb(0, 0); diff --git a/src/effects.c b/src/effects.c index e169819dc..37d1ff53b 100644 --- a/src/effects.c +++ b/src/effects.c @@ -4990,7 +4990,7 @@ bool take_hit(int damage_type, int damage, cptr hit_from, int monspell) /* Note cause of death */ #ifdef JP - sprintf(died_from, "%s%s", !p_ptr->paralyzed ? "" : p_ptr->free_act ? "ĦÁü¾õÂÖ¤Ç":"Ëãáã¾õÂÖ¤Ç", hit_from); + sprintf(died_from, "%s%s%s", !p_ptr->paralyzed ? "" : p_ptr->free_act ? "ĦÁü¾õÂÖ¤Ç":"Ëãáã¾õÂÖ¤Ç", p_ptr->image ? "¸¸³Ð¤ËÏĤó¤À" : "", hit_from); #else sprintf(died_from, "%s%s", hit_from, !p_ptr->paralyzed ? "" : " while helpless"); #endif diff --git a/src/mspells1.c b/src/mspells1.c index 6205c96ca..928060d87 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -540,6 +540,10 @@ u32b get_curse(int power, object_type *o_ptr) { if (!(new_curse & TRC_HEAVY_MASK)) continue; } + else if (power == 1) + { + if (new_curse & TRC_SPECIAL_MASK) continue; + } else if (power == 0) { if (new_curse & TRC_HEAVY_MASK) continue; @@ -597,7 +601,7 @@ msg_format("%s changed = TRUE; o_ptr->curse_flags |= TRC_CURSED; } - if (heavy_chance >= 50) curse_power = 2; + if (heavy_chance >= 50) curse_power++; new_curse = get_curse(curse_power, o_ptr); if (!(o_ptr->curse_flags & new_curse)) @@ -2752,7 +2756,7 @@ msg_print(" } else { - curse_equipment(33, 0); + curse_equipment(15, 0); take_hit(DAMAGE_ATTACK, dam, ddesc, MS_CAUSE_1); } break; @@ -2788,7 +2792,7 @@ msg_print(" } else { - curse_equipment(50, 5); + curse_equipment(25, MIN(rlev/2-15, 5)); take_hit(DAMAGE_ATTACK, dam, ddesc, MS_CAUSE_2); } break; @@ -2824,7 +2828,7 @@ msg_print(" } else { - curse_equipment(80, 15); + curse_equipment(33, MIN(rlev/2-15, 15)); take_hit(DAMAGE_ATTACK, dam, ddesc, MS_CAUSE_3); } break; @@ -3411,7 +3415,7 @@ msg_print(" #endif take_hit(DAMAGE_ATTACK, dummy, m_name, MS_HAND_DOOM); - curse_equipment(100, 20); + curse_equipment(40, 20); if (p_ptr->chp < 1) p_ptr->chp = 1; } diff --git a/src/object2.c b/src/object2.c index 69e3118c6..024e4fb77 100644 --- a/src/object2.c +++ b/src/object2.c @@ -6450,13 +6450,13 @@ static essence_type essence_info[MAX_ESSENCE] = { {"ÂÑÎô²½","ÂÑÎô²½", 64, 2, 20}, {"","", -1, 0, 0}, {"","", -1, 0, 0}, -{"","", 0, 0, 0}, +{"¿Í´ÖÇÜÂÇ","¿Í´ÖÇÜÂÇ", 67, 1, 20}, {"","", -1, 0, 0}, {"","", 0, 0, 0}, {"È¿ËâË¡","È¿ËâË¡", 70, 3, 15}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, -{"","", 0, 0, 0}, +{"·Ù¹ð","·Ù¹ð", 73, 3, 20}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, @@ -6561,13 +6561,13 @@ static essence_type essence_info[MAX_ESSENCE] = { {"res. disen.","resistance to disenchantment", 64, 2, 20}, {"","", -1, 0, 0}, {"","", -1, 0, 0}, -{"","", 0, 0, 0}, +{"slay human","slay human", 67, 1, 20}, {"","", -1, 0, 0}, {"","", 0, 0, 0}, {"anti magic","anti magic", 70, 3, 15}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, -{"","", 0, 0, 0}, +{"warning","warning", 73, 3, 20}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, {"","", 0, 0, 0}, diff --git a/src/racial.c b/src/racial.c index 033c0ca2a..2f388e6b9 100644 --- a/src/racial.c +++ b/src/racial.c @@ -1461,6 +1461,15 @@ msg_format(" } break; case MIMIC_VAMPIRE: + if (d_info[dungeon_type].flags1 & DF1_NO_MELEE) + { +#ifdef JP + msg_print("¤Ê¤¼¤«¹¶·â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£"); +#else + msg_print("Something prevent you from attacking."); +#endif + return FALSE; + } if (racial_aux(2, (1 + (plev / 3)), A_CON, 9)) { int y, x, dummy = 0; diff --git a/src/spells3.c b/src/spells3.c index 117ceebc0..768031f92 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -1781,7 +1781,12 @@ static int remove_curse_aux(int all) if (!all && (o_ptr->curse_flags & TRC_HEAVY_CURSE)) continue; /* Perma-Cursed Items can NEVER be uncursed */ - if (o_ptr->curse_flags & TRC_PERMA_CURSE) continue; + if (o_ptr->curse_flags & TRC_PERMA_CURSE) + { + /* Uncurse it */ + o_ptr->curse_flags &= (TRC_CURSED | TRC_HEAVY_CURSE | TRC_PERMA_CURSE); + continue; + } /* Uncurse it */ o_ptr->curse_flags = 0L; diff --git a/src/store.c b/src/store.c index 44c0172c3..5ddff60eb 100644 --- a/src/store.c +++ b/src/store.c @@ -992,6 +992,7 @@ static void mass_produce(object_type *o_ptr) if (cost <= 60L) size += damroll(3, 5); if (cost <= 240L) size += damroll(1, 5); if (o_ptr->sval == SV_SCROLL_STAR_IDENTIFY) size += damroll(3, 5); + if (o_ptr->sval == SV_SCROLL_STAR_REMOVE_CURSE) size += damroll(1, 4); break; } -- 2.11.0