diff -ruN hengband-0407/autopick.txt hengband-mold/autopick.txt --- hengband-0407/autopick.txt 2007-04-11 13:12:02.000000000 +0900 +++ hengband-mold/autopick.txt 2007-04-13 23:49:40.378374174 +0900 @@ -232,7 +232,7 @@ # Nibelung, Dark-Elf, Draconian, Mindflayer, Imp, Golem, # Skeleton, Zombie, Vampire, Spectre, Sprite, Beastman, Ent, # Archon, Balrog, Dunadan, Shadow-Fairy, Kuta, Android, -# Shoggoth +# Shoggoth, Deathmold # のどれか # $CLASS # 職業を英語名で返す。 diff -ruN hengband-0407/autopick_eng.txt hengband-mold/autopick_eng.txt --- hengband-0407/autopick_eng.txt 2007-04-11 13:12:02.000000000 +0900 +++ hengband-mold/autopick_eng.txt 2007-04-13 23:49:40.383373393 +0900 @@ -233,7 +233,7 @@ # Nibelung, Dark-Elf, Draconian, Mindflayer, Imp, Golem, # Skeleton, Zombie, Vampire, Spectre, Sprite, Beastman, Ent, # Archon, Balrog, Dunadan, Shadow-Fairy, Kutar, Android, -# Shoggoth +# Shoggoth, Deathmold # # $CLASS # Returns name of player class. One of below: diff -ruN hengband-0407/lib/edit/t0000001.txt hengband-mold/lib/edit/t0000001.txt --- hengband-0407/lib/edit/t0000001.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/edit/t0000001.txt 2007-04-13 23:49:40.379374018 +0900 @@ -468,8 +468,8 @@ B:0:A:4:他の町へ移動:500:500:m:42:0 #B:$0:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 #B:0:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 -B:$0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android -B:0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android +B:$0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold +B:0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold B:$1:N:Mayor:Uldrik:Human B:1:N:村長:ウルドリック:人間 diff -ruN hengband-0407/lib/edit/t0000002.txt hengband-mold/lib/edit/t0000002.txt --- hengband-0407/lib/edit/t0000002.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/edit/t0000002.txt 2007-04-13 23:49:40.380373862 +0900 @@ -307,8 +307,8 @@ B:4:A:3:他の町へ移動:500:500:m:42:0 #B:$4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 #B:4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 -B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android -B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android +B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold +B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold B:$5:N:Beastmaster:Lorien:Elf diff -ruN hengband-0407/lib/edit/t0000003.txt hengband-mold/lib/edit/t0000003.txt --- hengband-0407/lib/edit/t0000003.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/edit/t0000003.txt 2007-04-13 23:49:40.379374018 +0900 @@ -266,8 +266,8 @@ B:4:A:3:他の町へ移動:500:500:m:42:0 #B:$4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 #B:4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 -B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android -B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android +B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold +B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold B:$5:N:Beastmaster:Draxle:Draconian B:5:N:モンスター仙人:ドラクスル:ドラコニアン diff -ruN hengband-0407/lib/edit/t0000004.txt hengband-mold/lib/edit/t0000004.txt --- hengband-0407/lib/edit/t0000004.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/edit/t0000004.txt 2007-04-13 23:49:40.379374018 +0900 @@ -173,8 +173,8 @@ B:4:A:3:他の町へ移動:500:500:m:42:0 #B:$4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 #B:4:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 -B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android -B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android +B:$4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold +B:4:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold B:$5:N:Beastmaster:Aradreth:Elf B:5:N:モンスター仙人:アラドレス:エルフ diff -ruN hengband-0407/lib/edit/t_lite.txt hengband-mold/lib/edit/t_lite.txt --- hengband-0407/lib/edit/t_lite.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/edit/t_lite.txt 2007-04-13 23:49:40.379374018 +0900 @@ -532,8 +532,8 @@ B:0:A:2:噂を聞く:5:5:u:19:0 #B:$0:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 #B:0:R:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:0:0:0:0:0:1:1:0:1:0:1:1:1:0:1 -B:$0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android -B:0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android +B:$0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold +B:0:R:None#1:Default#0:Golem:Skeleton:Zombie:Vampire:Spectre:Ent:Balrog:Android:Deathmold B:$1:N:Mayor:Uldrik:Human B:1:N:村長:ウルドリック:人間 diff -ruN hengband-0407/lib/help/editor.txt hengband-mold/lib/help/editor.txt --- hengband-0407/lib/help/editor.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/help/editor.txt 2007-04-13 23:49:40.381373706 +0900 @@ -314,7 +314,8 @@ Half-Giant, Half-Titan, Cyclops, Yeek, Klackon, Kobold, Nibelung, Dark-Elf, Draconian, Mindflayer, Imp, Golem, Skeleton, Zombie, Vampire, Spectre, Sprite, Beastman, Ent, - Archon, Balrog, Dunadan, Shadow-Fairy, Kutar, Android, Shoggoth + Archon, Balrog, Dunadan, Shadow-Fairy, Kutar, Android, + Shoggoth, Deathmold $CLASS Returns name of player class. One of below: diff -ruN hengband-0407/lib/help/jeditor.txt hengband-mold/lib/help/jeditor.txt --- hengband-0407/lib/help/jeditor.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/help/jeditor.txt 2007-04-13 23:49:40.381373706 +0900 @@ -544,7 +544,7 @@ Cyclops, Yeek, Klackon, Kobold, Nibelung, Dark-Elf, Draconian, Mindflayer, Imp, Golem, Skeleton, Zombie, Vampire, Spectre, Sprite, Beastman, Ent, Archon, Balrog, Dunadan, Shadow-Fairy, Kuta, - Android, Shoggoth + Android, Shoggoth, Deathmold のどれか $CLASS diff -ruN hengband-0407/lib/help/jraceclas.txt hengband-mold/lib/help/jraceclas.txt --- hengband-0407/lib/help/jraceclas.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/help/jraceclas.txt 2007-04-13 23:49:40.382373550 +0900 @@ -9,7 +9,7 @@ === 種族 === オリジナルの変愚蛮怒には37種の種族が存在していますが、この改造版では -それを含めて38種の選択可能な種族が存在しています。各々の種族は様々な +それを含めて39種の選択可能な種族が存在しています。各々の種族は様々な 長所や短所があり、それぞれに能力値や特性に対する修正が存在します。多く の種族は生まれ持っての特性や力も持っています。 @@ -423,6 +423,15 @@ き、見えない物を見ることができます。叫び声は敵を起こしてしまいます。 ショゴスは通常は経験値を得ることができませんが、食事により経験値を 得ることができます。ショゴスは何でも食べることができます。 + + +***** +--- デスモルド --- + + デスモルドは極めて強力な生物です。とはいえ彼らはカビです。他の生物 + がするように移動することはできません。その代わりに彼らはショート・ + テレポート、次元の扉、念動力を使うことができます。また彼らは因果混 + 乱と地獄の耐性を持っています。 ***** diff -ruN hengband-0407/lib/help/raceclas.txt hengband-mold/lib/help/raceclas.txt --- hengband-0407/lib/help/raceclas.txt 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/help/raceclas.txt 2007-04-13 23:49:40.382373550 +0900 @@ -8,7 +8,7 @@ ***** === The Races === -There are thirty eight different races that you can choose from in +There are thirty nine different races that you can choose from in Hengband. Each race has various strengths and weaknesses and its own adjustments to a character's stats and abilities. Many races also have intrinsic abilities and powers. Their racial powers can be used @@ -468,6 +468,14 @@ cry wakes its enemies up. It doesn't acquire experience normally, but it can acquire experience by eating. It can eat anything. +***** +--- Deathmold --- + + Death Molds are incredibly powerful creatures. However, they are + also molds. Lacking the ability to move as other creatures do, + Death Molds have the powers of Phase Door, targeted teleportation, + telekinesis. They also intrinsically resist Nexus and Nether. + ***** === The Classes === @@ -1348,6 +1356,7 @@ Kutar +0 -1 -1 +1 +2 +3 11 +40% Android +4 -5 -5 +0 +4 -2 13 +100% Shoggoth +2 -4 +4 +0 +4 -6 13 +100% +Deathmold +10 +0 +10 +0 +10 -15 15 +150% --- Table 2 - Class Statistic Bonus Table --- @@ -1465,6 +1474,7 @@ Kutar -2 +5 +5 +5 -2 +6 +0 -5 None Android +0 -5 +0 -2 +3 +14 +20 +10 None Shoggoth -5 +0 +8 -inf +0 +7 +20 +0 None +Deathmold +15 -5 +15 +25 +0 +10 +25 +25 None --- Table 5 - Class Skill Bonus Table --- diff -ruN hengband-0407/lib/pref/xtra-new.prf hengband-mold/lib/pref/xtra-new.prf --- hengband-0407/lib/pref/xtra-new.prf 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/pref/xtra-new.prf 2007-04-13 23:49:40.379374018 +0900 @@ -90,6 +90,8 @@ R:0:0/0x97 ?:[EQU $RACE Shogopth] R:0:0/0x97 +?:[EQU $RACE Deathmold] +R:0:0/0x97 ?:[EQU $CLASS Warrior] diff -ruN hengband-0407/lib/pref/xtra-xxx.prf hengband-mold/lib/pref/xtra-xxx.prf --- hengband-0407/lib/pref/xtra-xxx.prf 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/lib/pref/xtra-xxx.prf 2007-04-13 23:49:40.379374018 +0900 @@ -85,6 +85,8 @@ R:0:0/0x97 ?:[EQU $RACE Shogoth] R:0:0/0x97 +?:[EQU $RACE Deathmold] +R:0:0/0x97 ?:[EQU $CLASS Warrior] R:0:0xA4/0 diff -ruN hengband-0407/src/avatar.c hengband-mold/src/avatar.c --- hengband-0407/src/avatar.c 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/src/avatar.c 2007-04-13 23:49:40.384373237 +0900 @@ -423,6 +423,9 @@ break; case RACE_ZOMBIE: case RACE_SKELETON: case RACE_VAMPIRE: case RACE_SPECTRE: +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: +#endif p_ptr->vir_types[i++] = V_UNLIFE; break; case RACE_BEASTMAN: diff -ruN hengband-0407/src/birth.c hengband-mold/src/birth.c --- hengband-0407/src/birth.c 2007-04-13 23:54:14.255618857 +0900 +++ hengband-mold/src/birth.c 2007-04-14 00:00:08.101330900 +0900 @@ -1,3 +1,4 @@ + /* Purpose: create a player character */ /* @@ -1622,6 +1623,83 @@ {"You were born of Ubbo-Sathla, the Unbegotten Source.", 100, 170, 0, 0} # endif #endif /*ADD_SHOGGOTH*/ +#ifdef ADD_DEATHMOLD +# ifdef JP + {"あなたは船底の汚水の中から", 10, 180, 181, 30}, + {"あなたは汚れた麦わらの中から", 20, 180, 181, 35}, + {"あなたはしめった泥の中から", 30, 180, 181, 40}, + {"あなたは積もったほこりの中から", 40, 180, 181, 45}, + {"あなたは砂の中から", 50, 180, 181, 50}, + {"あなたは砂利の中から", 60, 180, 181, 50}, + {"あなたはコボルドの死体の中から", 70, 180, 181, 55}, + {"あなたはドラゴンの糞の中から", 80, 180, 181, 60}, + {"あなたは骨の山の中から", 90, 180, 181, 65}, + {"あなたは強力な勇者の死体の中から",100, 180, 181, 70}, + + {"腐肉を元に生み出されました。", 10, 181, 182, 30}, + {"コボルドの魔法使いの手で生み出されました。", 20, 181, 182, 35}, + {"堕落した見習い魔術師の手で生み出されました。", 30, 181, 182, 40}, + {"好奇心旺盛な見習い魔術師の手で生み出されました。",40, 181, 182, 45}, + {"邪悪なビーストマスターの手で生み出されました。", 50, 181, 182, 50}, + {"実践的な死霊術師の手で生み出されました。", 60, 181, 182, 50}, + {"変異体育成家の手で生み出されました。", 70, 181, 182, 55}, + {"好奇心旺盛な冒険者の手で", 80, 181, 182, 60}, + {"アングマールの魔王により生命を与えられました。", 90, 181, 182, 65}, + {"サウロン自身によって生命を与えられました。", 100, 181, 182, 70}, + + {"それ以来、あなたは", 100, 182, 183, 50}, + + {"1つも子孫を生んでいません。", 10, 183, 0, 30}, + {"1つの意志薄弱な", 20, 183, 184, 35}, + {"2つの", 30, 183, 184, 40}, + {"3つの", 40, 183, 184, 45}, + {"4つの", 50, 183, 184, 50}, + {"5つの", 60, 183, 184, 50}, + {"12くらいの", 70, 183, 184, 55}, + {"何十もの", 80, 183, 184, 60}, + {"何百もの", 90, 183, 184, 65}, + {"数えきれないほどの", 100, 183, 184, 70}, + + {"汚らわしい子孫を生んでいます。", 100, 184, 0, 50}, +# else + {"You were born in dirty bilge-water, ", 10, 180, 181, 30}, + {"You were born in dirty straw, ", 20, 180, 181, 35}, + {"You were born in wet mud, ", 30, 180, 181, 40}, + {"You were born in a pile of dust, ", 40, 180, 181, 45}, + {"You were born in sand, ", 50, 180, 181, 50}, + {"You were born in pebbles, ", 60, 180, 181, 50}, + {"You were born in a kobold corpse, ", 70, 180, 181, 55}, + {"You were born in dragon droppings, ", 80, 180, 181, 60}, + {"You were born in a pile of bones, ", 90, 180, 181, 65}, + {"You were born in a corpse of a mighty hero, ",100, 180, 181, 70}, + + {"created by rotting flesh. ", 10, 181, 182, 30}, + {"created by a kobold magician. ", 20, 181, 182, 35}, + {"created by a corrupted apprentice. ", 30, 181, 182, 40}, + {"created by a curious mage apprentice. ", 40, 181, 182, 45}, + {"created by an evil Beastmaster. ", 50, 181, 182, 50}, + {"created by a practicing Necromancer. ", 60, 181, 182, 50}, + {"created by the Mutant Breeders. ", 70, 181, 182, 55}, + {"created by a curious adventurer. ", 80, 181, 182, 60}, + {"called to life by the Witch-King of Angmar. ", 90, 181, 182, 65}, + {"called to life by Sauron himself. ", 100, 181, 182, 70}, + + {"Since then you have given life to ", 100, 182, 183, 50}, + + {"no ", 10, 183, 184, 30}, + {"one weak-willed ", 20, 183, 184, 35}, + {"two ", 30, 183, 184, 40}, + {"three ", 40, 183, 184, 45}, + {"four ", 50, 183, 184, 50}, + {"five ", 60, 183, 184, 50}, + {"about twenty ", 70, 183, 184, 55}, + {"dozens of ", 80, 183, 184, 60}, + {"hundreds of ", 90, 183, 184, 65}, + {"uncounted multitudes of ", 100, 183, 184, 70}, + + {"foul offspring.", 100, 184, 0, 50}, +# endif +#endif /*ADD_DEATHMOLD*/ }; static cptr race_jouhou[MAX_RACES] = @@ -1786,6 +1864,14 @@ "A Shoggoth is a jelly-like nightmare that constantly cries 'Tekeli-li!'. Although it is stupid, its relationship to the outer gods makes it wise. It is tough and it can't be paralyzed or stunned. It can see without light and see the invisible. Its cry wakes its enemies up. It doesn't acquire experience normally, but it can acquire experience by eating. It can eat anything.", # endif #endif /*ADD_SHOGGOTH*/ + +#ifdef ADD_DEATHMOLD +# ifdef JP +"デスモルドは極めて強力な生物です。とはいえ彼らはカビです。他の生物がするように移動することはできません。その代わりに彼らはショート・テレポート、次元の扉、念動力を使うことができます。また彼らは因果混乱と地獄の耐性を持っています。", +# else +"Death Molds are incredibly powerful creatures. However, they are also molds. Lacking the ability to move as other creatures do, Death Molds have the powers of Phase Door, targeted teleportation, telekinesis. They also intrinsically resist Nexus and Nether.", +# endif +#endif /*ADD_DEATHMOLD*/ }; static cptr class_jouhou[MAX_CLASS] = @@ -3164,6 +3250,13 @@ break; } #endif +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + { + chart = 180; + break; + } +#endif default: { chart = 0; @@ -4164,6 +4257,15 @@ break; #endif +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + /* Potions of Water */ + object_prep(q_ptr, lookup_kind(TV_POTION, SV_POTION_WATER)); + q_ptr->number = (byte)rand_range(15, 23); + add_outfit(q_ptr); + break; +#endif + default: /* Food rations */ object_prep(q_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION)); diff -ruN hengband-0407/src/cmd1.c hengband-mold/src/cmd1.c --- hengband-0407/src/cmd1.c 2007-04-11 13:12:03.000000000 +0900 +++ hengband-mold/src/cmd1.c 2007-04-14 00:00:53.830207137 +0900 @@ -2993,6 +2993,9 @@ #ifdef ADD_SHOGGOTH case RACE_SHOGGOTH: #endif +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: +#endif mult = 30;break; default: mult = 10;break; @@ -3983,6 +3986,14 @@ } } +#ifdef ADD_DEATHMOLD + if (p_ptr->prace == RACE_DEATHMOLD && !p_ptr->mimic_form + && !p_ptr->riding && !p_ptr->wild_mode && oktomove) + { + teleport_player(10, 0L); + return; + } +#endif if (oktomove && p_ptr->riding) { if (riding_r_ptr->flags1 & RF1_NEVER_MOVE) diff -ruN hengband-0407/src/cmd6.c hengband-mold/src/cmd6.c --- hengband-0407/src/cmd6.c 2007-04-11 13:12:04.000000000 +0900 +++ hengband-mold/src/cmd6.c 2007-04-13 23:56:00.320052002 +0900 @@ -590,6 +590,9 @@ prace_is_(RACE_DEMON) || prace_is_(RACE_ANDROID) || prace_is_(RACE_SPECTRE) || +#ifdef ADD_DEATHMOLD + prace_is_(RACE_DEATHMOLD) || +#endif (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING)) { #ifdef JP @@ -1617,6 +1620,9 @@ } break; case RACE_ENT: +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: +#endif #ifdef JP msg_print("水分を取り込んだ。"); #else diff -ruN hengband-0407/src/defines.h hengband-mold/src/defines.h --- hengband-0407/src/defines.h 2007-04-11 13:12:04.000000000 +0900 +++ hengband-mold/src/defines.h 2007-04-13 23:49:40.384373237 +0900 @@ -130,6 +130,9 @@ /* 種族:ショゴス */ #define ADD_SHOGGOTH +/* 種族:デスモルド */ +#define ADD_DEATHMOLD + /* 性格:てんねん */ #define ADD_TENNEN @@ -1002,6 +1005,9 @@ #ifdef ADD_SHOGGOTH RACE_SHOGGOTH, #endif +#ifdef ADD_DEATHMOLD + RACE_DEATHMOLD, +#endif /* * Maximum number of player "race" types (see "table.c", etc) */ diff -ruN hengband-0407/src/files.c hengband-mold/src/files.c --- hengband-0407/src/files.c 2007-04-11 13:12:04.000000000 +0900 +++ hengband-mold/src/files.c 2007-04-13 23:49:40.384373237 +0900 @@ -2703,6 +2703,12 @@ add_flag(flgs, TR_AGGRAVATE); break; #endif /*ADD_SHOGGOTH*/ +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + add_flag(flgs, TR_RES_NEXUS); + add_flag(flgs, TR_RES_NETHER); + break; +#endif /*ADD_DEATHMOLD*/ default: ; /* Do nothing */ } @@ -6745,7 +6751,11 @@ if (ironman_downward) point *= 2; if (p_ptr->pclass == CLASS_BERSERKER) { +#ifdef ADD_DEATHMOLD + if ( p_ptr->prace == RACE_SPECTRE || p_ptr->prace == RACE_DEATHMOLD) +#else if ( p_ptr->prace == RACE_SPECTRE ) +#endif point = point / 5; } diff -ruN hengband-0407/src/monster2.c hengband-mold/src/monster2.c --- hengband-0407/src/monster2.c 2007-04-11 13:12:05.000000000 +0900 +++ hengband-mold/src/monster2.c 2007-04-13 23:49:40.384373237 +0900 @@ -2073,6 +2073,9 @@ #ifdef ADD_SHOGGOTH || prace_is_(RACE_SHOGGOTH) #endif +#ifdef ADD_DEATHMOLD + || prace_is_(RACE_DEATHMOLD) +#endif || (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_DEMON)) return; if (p_ptr->wizard) return; diff -ruN hengband-0407/src/racial.c hengband-mold/src/racial.c --- hengband-0407/src/racial.c 2007-04-11 13:12:05.000000000 +0900 +++ hengband-mold/src/racial.c 2007-04-14 00:02:01.435687801 +0900 @@ -3156,6 +3156,20 @@ } break; +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + if (command == -1) + { + if (!dimension_door()) return FALSE; + } + else if (command == -2) + { + int weight = p_ptr->lev * 15; + if (!get_aim_dir(&dir)) return FALSE; + fetch(dir, weight, FALSE); + } + break; +#endif default: #ifdef JP msg_print("この種族は特殊な能力を持っていません。"); @@ -4385,6 +4399,30 @@ power_desc[num].stat = A_STR; power_desc[num++].number = -1; break; +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: +#ifdef JP + strcpy(power_desc[num].name, "次元の扉"); +#else + strcpy(power_desc[num].name, "Dimension Door"); +#endif + power_desc[num].level = 1; + power_desc[num].cost = 20+p_ptr->lev/2; + power_desc[num].fail = 10; + power_desc[num].stat = A_STR; + power_desc[num++].number = -1; +#ifdef JP + strcpy(power_desc[num].name, "念動力"); +#else + strcpy(power_desc[num].name, "Telekinesis"); +#endif + power_desc[num].level = 1; + power_desc[num].cost = 10; + power_desc[num].fail = 5; + power_desc[num].stat = A_STR; + power_desc[num++].number = -2; + break; +#endif default: { break; diff -ruN hengband-0407/src/spells3.c hengband-mold/src/spells3.c --- hengband-0407/src/spells3.c 2007-04-11 13:12:05.000000000 +0900 +++ hengband-mold/src/spells3.c 2007-04-14 00:03:19.822487611 +0900 @@ -260,7 +260,12 @@ feature_type *f_ptr = &f_info[c_ptr->feat]; /* Require "teleportable" space */ +#ifdef ADD_DEATHMOLD + if (!have_flag(f_ptr->flags, FF_TELEPORTABLE) && + p_ptr->prace != RACE_DEATHMOLD) return FALSE; +#else if (!have_flag(f_ptr->flags, FF_TELEPORTABLE)) return FALSE; +#endif /* No magical teleporting into vaults and such */ if (!(mode & TELEPORT_NONMAGICAL) && (c_ptr->info & CAVE_ICKY)) return FALSE; @@ -6106,6 +6111,11 @@ summon_kin_type = 'j'; break; #endif /*ADD_SHOGGOTH*/ +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + summon_kin_type = 'm'; + break; +#endif /*ADD_DEATHMOLD*/ default: summon_kin_type = 'p'; break; diff -ruN hengband-0407/src/store.c hengband-mold/src/store.c --- hengband-0407/src/store.c 2007-04-11 13:12:05.000000000 +0900 +++ hengband-mold/src/store.c 2007-04-13 23:49:40.384373237 +0900 @@ -661,7 +661,7 @@ /*Hum, HfE, Elf, Hal, Gno, Dwa, HfO, HfT, Dun, HiE, Barbarian, HfOg, HGn, HTn, Cyc, Yek, Klc, Kbd, Nbl, DkE, Drc, Mind Flayer, Imp, Glm, Skl, Zombie, Vampire, Spectre, Fairy, Beastman, Ent, - Angel, Demon, Kuta, Android, Shoggoth*/ + Angel, Demon, Kuta, Android, Shoggoth, Deathmold*/ /* Human */ { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, @@ -671,6 +671,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Elf */ @@ -681,6 +684,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Elf */ @@ -691,6 +697,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Halfling */ @@ -701,6 +710,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Gnome */ @@ -711,6 +723,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Dwarf */ @@ -721,6 +736,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Orc */ @@ -731,6 +749,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Troll */ @@ -741,6 +762,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Amberite */ @@ -751,6 +775,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* High_Elf */ @@ -761,6 +788,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Human / Barbarian (copied from human) */ @@ -771,6 +801,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Ogre: theoretical, copied from half-troll */ @@ -781,6 +814,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Giant: theoretical, copied from half-troll */ @@ -791,6 +827,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Half-Titan: theoretical, copied from High_Elf */ @@ -801,6 +840,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Cyclops: theoretical, copied from half-troll */ @@ -811,6 +853,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Yeek: theoretical, copied from Half-Orc */ @@ -821,6 +866,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Klackon: theoretical, copied from Gnome */ @@ -831,6 +879,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Kobold: theoretical, copied from Half-Orc */ @@ -841,6 +892,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Nibelung: theoretical, copied from Dwarf */ @@ -851,6 +905,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Dark Elf */ @@ -861,6 +918,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Draconian: theoretical, copied from High_Elf */ @@ -871,6 +931,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Mind Flayer: theoretical, copied from High_Elf */ @@ -881,6 +944,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Imp: theoretical, copied from High_Elf */ @@ -891,6 +957,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Golem: theoretical, copied from High_Elf */ @@ -901,6 +970,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Skeleton: theoretical, copied from half-orc */ @@ -911,6 +983,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Zombie: Theoretical, copied from half-orc */ @@ -921,6 +996,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Vampire: Theoretical, copied from half-orc */ @@ -931,6 +1009,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Spectre: Theoretical, copied from half-orc */ @@ -941,6 +1022,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Sprite: Theoretical, copied from half-orc */ @@ -951,6 +1035,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Beastman: Theoretical, copied from half-orc */ @@ -961,6 +1048,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Ent */ @@ -971,6 +1061,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Angel */ @@ -981,6 +1074,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Demon */ @@ -991,6 +1087,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Dunadan */ @@ -1001,6 +1100,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Shadow Fairy */ { 110, 110, 110, 115, 120, 130, 115, 115, 120, 110, 115, @@ -1010,6 +1112,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Kuta */ @@ -1020,6 +1125,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, /* Android */ @@ -1030,6 +1138,9 @@ #ifdef ADD_SHOGGOTH 140, #endif +#ifdef ADD_DEATHMOLD + 140, +#endif }, #ifdef ADD_SHOGGOTH @@ -1039,6 +1150,22 @@ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, +#ifdef ADD_DEATHMOLD + 140, +#endif + }, +#endif + +#ifdef ADD_DEATHMOLD + /* Deathmold copied from Demon*/ + { 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, +#ifdef ADD_SHOGGOTH + 140, +#endif + 140, }, #endif }; diff -ruN hengband-0407/src/tables.c hengband-mold/src/tables.c --- hengband-0407/src/tables.c 2007-04-11 15:35:05.000000000 +0900 +++ hengband-mold/src/tables.c 2007-04-13 23:49:40.385373081 +0900 @@ -3758,6 +3758,32 @@ } }, #endif /*ADD_SHOGGOTH*/ +#ifdef ADD_DEATHMOLD + { +#ifdef JP + "デスモルド", +#endif + "Deathmold", + + { +10, +0, +10, 0, +10, -15 }, + +15, -5, +15, +25, 0, +10, +25, +25, + 15, 250, + 255, 255, + 72, 12, 240, 64, + 66, 12, 220, 64, + 10, + { + CH0_MAGE | CH0_PRIEST | CH0_ROGUE | + CH0_MINDCRAFTER | CH0_HIGH_MAGE | CH0_IMITATOR | + CH0_BEASTMASTER | CH0_SORCERER | + CH0_MAGIC_EATER | CH0_BLUE_MAGE | + CH0_MIRROR_MASTER | CH0_METAMORPHER | + CH0_GOLD_MAGE + , + CH1_CURSE_MAKER | CH1_RUNECRAFTER + } + }, +#endif /*ADD_DEATHMOLD*/ }; /* diff -ruN hengband-0407/src/xtra1.c hengband-mold/src/xtra1.c --- hengband-0407/src/xtra1.c 2007-04-11 18:00:08.000000000 +0900 +++ hengband-mold/src/xtra1.c 2007-04-13 23:49:40.384373237 +0900 @@ -3856,6 +3856,12 @@ p_ptr->cursed |= (TRC_AGGRAVATE); break; #endif /*ADD_SHOGGOTH*/ +#ifdef ADD_DEATHMOLD + case RACE_DEATHMOLD: + p_ptr->resist_nexus = TRUE; + p_ptr->resist_neth = TRUE; + break; +#endif /*ADD_DEATHMOLD*/ default: /* Do nothing */ ;