diff -uNr src.org/birth.c src/birth.c --- src.org/birth.c Thu Dec 6 18:47:56 2007 +++ src/birth.c Fri Dec 7 13:53:20 2007 @@ -1686,6 +1686,8 @@ "クターとしている無表情の謎の生物です。彼らは外見がかわいらしいため、魅力が高いです。彼らは混乱しません。なぜなら、混乱してもクターとしているため変わりないからです。しかも、そのクターとしている外見から敵に見つかりにくいです。しかし、彼らは注意力が少ないため探索や知覚能力は悪いです。彼らはレベルが上がると横に伸びてACを上げる技を覚えますが、伸びている間は魔法防御能力は低くなってしまいます。", "アンドロイドは機械の身体を持つ人工的な存在です。魔法をうまく使うことはできませんが、戦士としては非常に優れています。彼らは他の種族のように経験値を得て成長するということはありません。身体に身につける装備によって成長します。ただし、指輪、アミュレット、光源は成長に影響しません。彼らは毒の耐性を持ち、麻痺知らずで、生命力を吸われることがありません。また、身体が頑丈なのでACにボーナスを得ます。しかし身体のいたるところに電子回路が組み込まれているため、電撃によって通常よりも大きなダメージを受けてしまいます。彼らは食物からほとんど動力を得られませんが、油を補給する事で動力源を得る事ができます。" +, +"殺人ロリは邪神の代行者です。彼女らは邪神とそれを崇拝するものたちの故郷と安寧を守るために、猟奇的に敵を倒していきます。殺人ロリはレイシャルパワーで暗黒領域の魔法の一部を使うことができます。このレイシャルパワーに必要な能力値は賢さです。", #else @@ -1763,6 +1765,9 @@ "An android is a artificial creation with a body of machinery. They are poor at spell casting, but they make excellent warriors. They don't acquire experience like other races, but rather gain in power as they attach new equipment to their frame. Rings, amulets, and lights do not influence growth. Androids are resistant to poison, can move freely, and are immune to life-draining attacks. Moreover, because of their hard metallic bodies, they get a bonus to AC. Androids have electronic circuits throughout their body and must beware of electric shocks. They gain very little nutrition from the food of mortals, but they can use flasks of oil as their energy source." +, +"It's Killer-Loli.", + #endif }; @@ -2812,6 +2817,7 @@ case RACE_HUMAN: case RACE_BARBARIAN: case RACE_DUNADAN: + case RACE_K_LOLI: { chart = 1; break; @@ -5774,11 +5780,25 @@ t += strlen(t) + 1; } } + + if (p_ptr->prace == RACE_K_LOLI && p_ptr->psex != SEX_FEMALE) + { +#ifdef JP + prt("この種族は女性にしか選べません。", 0, 0); +#else + prt("This race is for females only.", 0, 0); +#endif + inkey(); + prt("", 0, 0); + } + else + { #ifdef JP if (get_check_strict("よろしいですか?", CHECK_DEFAULT_Y)) break; #else if (get_check_strict("Are you sure? ", CHECK_DEFAULT_Y)) break; #endif + } clear_from(10); c_put_str(TERM_WHITE, " ", 4, 15); } diff -uNr src.org/cmd1.c src/cmd1.c --- src.org/cmd1.c Thu Dec 6 18:47:56 2007 +++ src/cmd1.c Thu Dec 6 18:59:02 2007 @@ -2943,6 +2943,7 @@ case RACE_DUNADAN: case RACE_BARBARIAN: case RACE_BEASTMAN: + case RACE_K_LOLI: mult = 25;break; case RACE_HALF_ORC: case RACE_HALF_TROLL: diff -uNr src.org/defines.h src/defines.h --- src.org/defines.h Thu May 12 21:01:00 2005 +++ src/defines.h Thu Dec 6 18:53:10 2007 @@ -867,11 +867,12 @@ #define RACE_S_FAIRY 34 #define RACE_KUTA 35 #define RACE_ANDROID 36 +#define RACE_K_LOLI 37 /* * Maximum number of player "race" types (see "table.c", etc) */ -#define MAX_RACES 37 +#define MAX_RACES 38 /* diff -uNr src.org/externs.h src/externs.h --- src.org/externs.h Thu Dec 6 18:47:56 2007 +++ src/externs.h Thu Dec 6 20:25:12 2007 @@ -1523,6 +1523,7 @@ extern void show_highclass(void); /* mind.c */ +extern void do_cmd_kloli_power(void); extern mind_power mind_powers[5]; extern void mindcraft_info(char *p, int use_mind, int power); extern void do_cmd_mind(void); diff -uNr src.org/mind.c src/mind.c --- src.org/mind.c Thu Dec 6 18:47:56 2007 +++ src/mind.c Fri Dec 7 16:46:08 2007 @@ -13,6 +13,328 @@ #include "angband.h" #include "mindtips.h" +typedef struct kl_pow_type kl_pow_type; +struct kl_pow_type +{ + int idx; + int min_lev; + int mana_cost; + int fail; + cptr name_J; + cptr name_E; +}; + +kl_pow_type kl_pows[] = { + {1, 1, 4, 15, "呪殺弾", "Malediction"}, + {2, 3, 2, 15, "邪悪感知", "Detect Evil"}, + {4, 4, 7, 20, "黒い眠り", "Black Sleep"}, + {5, 10,20, 45, "耐毒", "Resist Poison"}, + {6, 15,14, 20, "恐慌", "Horrify"}, + {12,20,60,65, "毒の刃", "Poison Branding"}, + {19,25,40,60, "狂乱", "Frenzy"}, + {22,39,45,45, "死の言魂", "Nether Wave"}, + {25,41,50,60, "死者召喚", "Raise the Dead"}, + {26,44,75,70, "死者の秘伝", "Esoteria"}, + {-1,99, 0, 0, (char *) 0, (char *) 0}, +}; + +/*return fail rate int % */ +static int kloli_power_chance(int idx) +{ + int chance; + int minfail; + int plev = p_ptr->lev; + kl_pow_type *powtmp = &kl_pows[idx]; + chance = powtmp->fail; + if (chance) + { + chance -= 3 * (plev - powtmp->min_lev); + chance -= 3 * (adj_mag_stat[p_ptr->stat_ind[A_WIS]] - 1); + minfail = adj_mag_fail[p_ptr->stat_ind[A_WIS]]; + + /* Minimum failure rate */ + if (chance < minfail) chance = minfail; + + /* Stunning makes spells harder */ + if (p_ptr->stun > 50) chance += 25; + else if (p_ptr->stun) chance += 15; + if (p_ptr->confused) chance += 70; + } + + /* Always a 5 percent chance of working */ + if (chance > 95) chance = 95; + + return chance; +} + +static int get_kloli_power(int *sn) +{ + int i, num = 0; + bool flag, redraw; + char choice; + int plev = p_ptr->lev; + char out_val[160]; + kl_pow_type *pow_ptr; + + for(i=0;i<50;i++) + { + if (kl_pows[i].min_lev <= plev) + { + num++; + } + if (kl_pows[i].idx < 0) + { + break; + } + } + +#ifdef JP + (void) strnfmt(out_val, 78, "(パワー %c-%c, '*'で一覧, ESC) どの力を使いますか?", +#else + (void) strnfmt(out_val, 78, "(Powers %c-%c, *=List, ESC=exit) Use which power? ", +#endif + I2A(0), I2A(num - 1)); + + *sn = (-1); + +#ifdef ALLOW_REPEAT /* TNB */ + + /* Get the spell, if available */ + if (repeat_pull(sn)) + { + /* Hack -- If requested INVEN_FORCE(1111), pull again */ + if (*sn == INVEN_FORCE) repeat_pull(sn); + + /* Verify the spell */ + if (kl_pows[*sn].min_lev <= plev) + { + /* Success */ + return (TRUE); + } + } + +#endif /* ALLOW_REPEAT -- TNB */ + + /* No redraw yet */ + redraw = FALSE; + flag = FALSE; + choice= (always_show_list) ? ESCAPE:1; + while(!flag) + { + char psi_desc[90] = ""; + int y = 1, x = 10; + + if(choice==ESCAPE) choice = ' '; + else if( !get_com(out_val, &choice, TRUE) )break; + + /* Request redraw */ + if ((choice == ' ') || (choice == '*') || (choice == '?')) + { + if (!redraw) + { + /* Show list */ + redraw = TRUE; + screen_save(); + + /* Display a list of spells */ + prt("", y, x); +#ifdef JP + put_str("名前", y, x + 5); +#else + put_str("Name", y, x + 5); +#endif +#ifdef JP + put_str("Lv MP 失率 効果", y, x + 35); +#else + put_str("Lv MP Fail Info", y, x + 35); +#endif + /* Dump the spells */ + for (i = 0; i < num; i++) + { + int chance = kloli_power_chance(i); + int mana_cost; + cptr info; + char infobuf[200]; + pow_ptr = &kl_pows[i]; + info = do_spell(REALM_DEATH, pow_ptr->idx, SPELL_INFO); + strcpy(infobuf, info); + mana_cost = pow_ptr->mana_cost; + sprintf(psi_desc, " %c) ",I2A(i)); + strcat(psi_desc, + format("%-30s%2d %4d %3d%% %s", +#ifdef JP + pow_ptr->name_J, +#else + pow_ptr->name_E, +#endif + pow_ptr->min_lev, mana_cost, chance, infobuf)); + prt(psi_desc, y + i + 1, x); + } + } + else + { + /* Hide list */ + redraw = FALSE; + + /* Restore the screen */ + screen_load(); + } + + /* Redo asking */ + continue; + } + + + /* Extract request */ + i = A2I(choice); + + /* Totally Illegal */ + if ((i < 0) || (i >= num)) + { + bell(); + continue; + } + + flag = TRUE; + } + + /* Restore the screen */ + if (redraw) screen_load(); + + /* Abort if needed */ + if (!flag) return (FALSE); + + (*sn) = i; + +#ifdef ALLOW_REPEAT /* TNB */ + + repeat_push(*sn); + +#endif /* ALLOW_REPEAT -- TNB */ + + return 1; +} + +static bool cast_kloli_power(int i) +{ + cptr *c; + kl_pow_type *pow_ptr = &kl_pows[i]; + c = do_spell(REALM_DEATH, pow_ptr->idx, SPELL_CAST); + if (pow_ptr->idx == 19) + { +#ifdef JP + msg_print("「あはははははははははははは!!」"); +#else + msg_print("\"Ahahahaha!!\""); +#endif + aggravate_monsters(0); + } + + if (c==NULL) + return FALSE; + return TRUE; +} + +static void useup_mana_or_hp(int mana_cost) +{ + /* If mana is not enough, player consumes hit point! */ + if (p_ptr->csp < mana_cost) + { + int hp_cost = mana_cost - p_ptr->csp; + p_ptr->csp = 0; +#ifdef JP + take_hit(DAMAGE_USELIFE, hp_cost, "過度の集中", -1); +#else + take_hit(DAMAGE_USELIFE, hp_cost, "concentrating too hard", -1); +#endif + } + else + { + p_ptr->csp -= mana_cost; + } + + /* Redraw mana and hp */ + p_ptr->redraw |= (PR_HP | PR_MANA); + + /* Window stuff */ + p_ptr->window |= (PW_PLAYER | PW_SPELL); +} + +void do_cmd_kloli_power(void) +{ + int n = 0; + int chance; + int mana_cost, use_hp = 0; + bool cast = FALSE; + kl_pow_type *pow_ptr; + + if (!get_kloli_power(&n)) return; + +#if 0 + msg_format("%dが選択されました。", n); +#endif + + pow_ptr = &kl_pows[n]; + + mana_cost = pow_ptr->mana_cost; + /* Use MP */ + /* Not enough mana - use hp */ + if (p_ptr->csp < mana_cost) use_hp = mana_cost - p_ptr->csp; + + if (p_ptr->chp < use_hp) + { +#ifdef JP + if (!get_check("本当に今の衰弱した状態でこの能力を使いますか?")) +#else + if (!get_check("Really use the power in your weakened state? ")) +#endif + { + energy_use = 0; + return; + } + } + + chance = kloli_power_chance(n); + + /* Failed spell */ + if (randint0(100) < chance) + { +#ifdef JP +msg_format("力の集中に失敗した!"); +#else + msg_format("You failed to concentrate hard enough!"); +#endif + sound(SOUND_FAIL); + if (mana_cost) + { + useup_mana_or_hp(mana_cost); + } + } + else + { + sound(SOUND_ZAP); + cast = cast_kloli_power(n); + + if (!cast) return; + + if (cast) + { + if (mana_cost) + { + useup_mana_or_hp(mana_cost); + } + } + } + + /* Take a turn */ + energy_use = 100; + + /* Redraw mana */ + p_ptr->redraw |= (PR_MANA); + + /* Window stuff */ + p_ptr->window |= (PW_PLAYER); +} mind_power mind_powers[5] = { diff -uNr src.org/racial.c src/racial.c --- src.org/racial.c Thu Dec 6 18:47:56 2007 +++ src/racial.c Fri Dec 7 16:12:58 2007 @@ -12,6 +12,12 @@ #include "angband.h" +#ifdef JP +#define K_LOLI_POWER_STR "殺人ロリパワー" +#else +#define K_LOLI_POWER_STR "Killer-Loli Powers" +#endif + /* * Hook to determine if an object is contertible in an arrow/bolt */ @@ -746,6 +752,12 @@ int sum = 0; int stat = p_ptr->stat_cur[pd_ptr->stat]; + /*Hack*/ + if (streq(pd_ptr->name, K_LOLI_POWER_STR)) + { + return (100); + } + /* No chance for success */ if ((p_ptr->lev < min_level) || p_ptr->confused) { @@ -798,6 +810,13 @@ int difficulty = pd_ptr->fail; int use_hp = 0; + /*Hack*/ + if (streq(pd_ptr->name, K_LOLI_POWER_STR)) + { + racial_cost = 0; + return 1; + } + racial_cost = pd_ptr->cost; /* Not enough mana - use hp */ @@ -2123,6 +2142,11 @@ } break; + case RACE_K_LOLI: + (void) do_cmd_kloli_power(); + break; + + default: #ifdef JP msg_print("この種族は特殊な能力を持っていません。"); @@ -2689,6 +2713,26 @@ { switch (p_ptr->prace) { + case RACE_K_LOLI: + strcpy(power_desc[num].name, K_LOLI_POWER_STR); + power_desc[num].level = 1; + power_desc[num].cost = 0; + power_desc[num].stat = A_WIS; + power_desc[num].fail = 1; + power_desc[num++].number = -1; + +#ifdef JP +strcpy(power_desc[num].name, "精神攻撃"); +#else + strcpy(power_desc[num].name, "Mind Blast"); +#endif + + power_desc[num].level = 5; + power_desc[num].cost = 3; + power_desc[num].stat = A_WIS; + power_desc[num].fail = 15; + power_desc[num++].number = MUT1_MIND_BLST; + break; case RACE_DWARF: #ifdef JP strcpy(power_desc[num].name, "ドアと罠 感知"); diff -uNr src.org/spells3.c src/spells3.c --- src.org/spells3.c Thu Dec 6 18:47:56 2007 +++ src/spells3.c Thu Dec 6 18:59:22 2007 @@ -5982,6 +5982,7 @@ case RACE_BARBARIAN: case RACE_BEASTMAN: case RACE_DUNADAN: + case RACE_K_LOLI: summon_kin_type = 'p'; break; case RACE_HALF_ELF: diff -uNr src.org/store.c src/store.c --- src.org/store.c Thu Dec 6 18:47:56 2007 +++ src/store.c Fri Dec 7 14:10:32 2007 @@ -661,229 +661,236 @@ /*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*/ + Angel, Demon, Kuta, Andr, KLoli*/ /* Human */ { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 115, 105, 125, 125, 125, 125, 105, 120, 105, 95, 140, - 100, 120, 110, 105 }, + 100, 120, 110, 105, 100 }, /* Half-Elf */ { 110, 100, 100, 105, 110, 120, 125, 130, 110, 100, 110, 120, 115, 108, 115, 110, 110, 120, 120, 115, 115, 110, 120, 110, 110, 110, 120, 110, 100, 125, 100, 95, 140, - 110, 115, 110, 110 }, + 110, 115, 110, 110, 110 }, /* Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 120, 120, 105, 120, 110, 105, 125, 125, 110, 115, 108, 120, 115, 110, 110, 120, 110, 100, 125, 100, 95, 140, - 110, 110, 105, 110 }, + 110, 110, 105, 110, 110 }, /* Halfling */ { 115, 110, 105, 95, 105, 110, 115, 130, 115, 105, 115, 125, 120, 120, 125, 115, 110, 120, 120, 120, 115, 115, 120, 110, 120, 120, 130, 110, 110, 130, 110, 95, 140, - 115, 120, 105, 115 }, + 115, 120, 105, 115, 115 }, /* Gnome */ { 115, 115, 110, 105, 95, 110, 115, 130, 115, 110, 115, 120, 125, 110, 120, 110, 105, 120, 110, 110, 105, 110, 120, 101, 110, 110, 120, 120, 115, 130, 115, 95, 140, - 115, 110, 110, 115 }, + 115, 110, 110, 115, 115 }, /* Dwarf */ { 115, 120, 120, 110, 110, 95, 125, 135, 115, 120, 115, 125, 140, 130, 130, 120, 115, 115, 115, 135, 125, 120, 120, 105, 115, 115, 115, 115, 120, 130, 120, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Half-Orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 115, 120, 125, 115, 125, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Half-Troll */ { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 110, 115, 112, 112, 115, 112, 120, 110, 120, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Amberite */ { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 120, 120, 105, 120, 115, 105, 115, 120, 110, 105, 105, 120, 105, 120, 120, 125, 120, 105, 135, 105, 95, 140, - 100, 110, 110, 100 }, + 100, 110, 110, 100, 100 }, /* High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 125, 120, 100, 125, 100, 95, 140, - 110, 110, 105, 110 }, + 110, 110, 105, 110, 110 }, /* Human / Barbarian (copied from human) */ { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 115, 105, 125, 125, 130, 125, 115, 120, 115, 95, 140, - 100, 120, 110, 100 }, + 100, 120, 110, 100, 100 }, /* Half-Ogre: theoretical, copied from half-troll */ { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 110, 115, 112, 112, 115, 112, 120, 110, 120, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Half-Giant: theoretical, copied from half-troll */ { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 110, 115, 112, 112, 115, 112, 130, 120, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Half-Titan: theoretical, copied from High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Cyclops: theoretical, copied from half-troll */ { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 110, 115, 112, 112, 115, 112, 130, 130, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Yeek: theoretical, copied from Half-Orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Klackon: theoretical, copied from Gnome */ { 115, 115, 110, 105, 95, 110, 115, 130, 115, 110, 115, 120, 125, 110, 120, 110, 105, 120, 110, 110, 105, 110, 120, 101, 110, 110, 120, 120, 130, 130, 130, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Kobold: theoretical, copied from Half-Orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Nibelung: theoretical, copied from Dwarf */ { 115, 120, 120, 110, 110, 95, 125, 135, 115, 120, 115, 125, 140, 130, 130, 120, 115, 115, 115, 135, 125, 120, 120, 105, 115, 115, 120, 120, 130, 130, 130, 95, 140, - 115, 135, 115, 115 }, + 115, 135, 115, 115, 115 }, /* Dark Elf */ { 110, 110, 110, 115, 120, 130, 115, 115, 120, 110, 115, 115, 115, 116, 115, 120, 120, 115, 115, 101, 110, 110, 110, 110, 112, 122, 110, 110, 110, 115, 110, 120, 120, - 110, 101, 115, 110 }, + 110, 101, 115, 110, 110 }, /* Draconian: theoretical, copied from High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Mind Flayer: theoretical, copied from High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Imp: theoretical, copied from High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 120, 120, 130, 130, 130, 120, 120, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Golem: theoretical, copied from High_Elf */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 125, 115, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 110, 110, 115, 110 }, + 110, 110, 115, 110, 110 }, /* Skeleton: theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 120, 120, - 115, 110, 125, 115 }, + 115, 110, 125, 115, 115 }, /* Zombie: Theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 120, 120, - 115, 110, 125, 115 }, + 115, 110, 125, 115, 115 }, /* Vampire: Theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 120, 120, - 115, 110, 125, 115 }, + 115, 110, 125, 115, 115 }, /* Spectre: Theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 120, 120, - 115, 110, 125, 115 }, + 115, 110, 125, 115, 115 }, /* Sprite: Theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 115, 110, 105, 115 }, + 115, 110, 105, 115, 115 }, /* Beastman: Theoretical, copied from half-orc */ { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 115, 125, 120, 120, 120, 120, 130, 130, 130, 95, 140, - 115, 110, 115, 115 }, + 115, 110, 115, 115, 115 }, /* Ent */ { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 120, 120, 105, 120, 110, 105, 125, 125, 110, 115, 108, 120, 115, 110, 110, 120, 110, 100, 125, 100, 95, 140, - 110, 110, 105, 110 }, + 110, 110, 105, 110, 110 }, /* Angel */ { 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 160, - 95, 95, 95, 95 }, + 95, 95, 95, 95, 95 }, /* 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, 160, 120, - 140, 140, 140, 140 }, + 140, 140, 140, 140, 140 }, /* Dunadan */ { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 115, 105, 125, 125, 125, 125, 105, 120, 105, 95, 140, - 100, 120, 110, 100 }, + 100, 120, 110, 100, 100 }, /* Shadow Fairy */ { 110, 110, 110, 115, 120, 130, 115, 115, 120, 110, 115, 115, 115, 116, 115, 120, 120, 115, 115, 101, 110, 110, 110, 110, 112, 122, 110, 110, 110, 115, 110, 120, 120, - 110, 101, 115, 110 }, + 110, 101, 115, 110, 110 }, /* Kuta */ { 110, 110, 105, 105, 110, 115, 115, 115, 110, 105, 110, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 125, 125, 125, 125, 105, 115, 105, 95, 140, - 110, 115, 100, 110 }, + 110, 115, 100, 110, 110 }, /* Android */ { 105, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 115, 105, 125, 125, 125, 125, 105, 120, 105, 95, 140, - 100, 120, 110, 100 }, + 100, 120, 110, 100, 105 }, + + /* Killer-Loli : copied from human */ + { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, + 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, + 115, 105, 125, 125, 125, 125, 105, 120, 105, 95, 140, + 100, 120, 110, 105, 100 }, + }; diff -uNr src.org/tables.c src/tables.c --- src.org/tables.c Thu Dec 6 18:47:56 2007 +++ src/tables.c Fri Dec 7 14:11:06 2007 @@ -3384,6 +3384,21 @@ 0, 0x0800001, }, + { +#ifdef JP + "殺人ロリ", +#endif + "Killer-Loli", + + { -1, -1, 1, 0, -1, 3 }, + 2, 3, 2, 1, 6, 11, -1, 5, + 9, 140, + 24, 16, + 66, 6, 130, 15, + 62, 6, 100, 10, + 0, + 0x7FFF7FF, + }, }; diff -uNr src.org/z-config.h src/z-config.h --- src.org/z-config.h Wed Jul 21 22:51:16 2004 +++ src/z-config.h Thu Dec 6 19:14:46 2007 @@ -600,7 +600,9 @@ /* * Use world score server */ + /* #define WORLD_SCORE + */ #endif #endif /* HAVE_CONFIG_H */