From a1a2711abfc594f2be1da51df95ddcd7071ddebd Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Wed, 2 Mar 2011 13:52:33 -0800 Subject: Recode from SHIFT-JIS to unicode, then undo the conversion of backslashs and tildes. --- src/map/battle.c | 1258 +++++++++++++++++++++++++++--------------------------- 1 file changed, 629 insertions(+), 629 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 9d868c7..f81aaf0 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -29,8 +29,8 @@ int attr_fix_table[4][10][10]; struct Battle_Config battle_config; /*========================================== - * “ñ“_ŠÔ‚Ì‹——£‚ð•Ô‚· - * –ß‚è‚͐®”‚Å0ˆÈã + * 二点間の距離を返す + * 戻りは敎数で0以䞊 *------------------------------------------ */ static int distance (int x0, int y0, int x1, int y1) @@ -43,8 +43,8 @@ static int distance (int x0, int y0, int x1, int y1) } /*========================================== - * Ž©•ª‚ðƒƒbƒN‚µ‚Ä‚¢‚é‘Ώۂ̐”‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 自分をロックしおいる察象の数を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_counttargeted (struct block_list *bl, struct block_list *src, @@ -60,8 +60,8 @@ int battle_counttargeted (struct block_list *bl, struct block_list *src, } /*========================================== - * ‘ΏۂÌClass‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のClassを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_class (struct block_list *bl) @@ -76,8 +76,8 @@ int battle_get_class (struct block_list *bl) } /*========================================== - * ‘Ώۂ̕ûŒü‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象の方向を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_dir (struct block_list *bl) @@ -92,8 +92,8 @@ int battle_get_dir (struct block_list *bl) } /*========================================== - * ‘Ώۂ̃Œƒxƒ‹‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のレベルを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_lv (struct block_list *bl) @@ -108,8 +108,8 @@ int battle_get_lv (struct block_list *bl) } /*========================================== - * ‘Ώۂ̎˒ö‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象の射皋を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_range (struct block_list *bl) @@ -124,8 +124,8 @@ int battle_get_range (struct block_list *bl) } /*========================================== - * ‘ΏۂÌHP‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のHPを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_hp (struct block_list *bl) @@ -140,8 +140,8 @@ int battle_get_hp (struct block_list *bl) } /*========================================== - * ‘ΏۂÌMHP‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のMHPを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_max_hp (struct block_list *bl) @@ -183,8 +183,8 @@ int battle_get_max_hp (struct block_list *bl) } /*========================================== - * ‘ΏۂÌStr‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のStrを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_str (struct block_list *bl) @@ -205,15 +205,15 @@ int battle_get_str (struct block_list *bl) && bl->type != BL_PC) str += 4; if (sc_data[SC_BLESSING].timer != -1 && bl->type != BL_PC) - { // ƒuƒŒƒbƒVƒ“ƒO + { // ブレッシング int race = battle_get_race (bl); if (battle_check_undead (race, battle_get_elem_type (bl)) || race == 6) - str >>= 1; // ˆ« –‚/•sŽ€ + str >>= 1; // 悪 魔/䞍死 else - str += sc_data[SC_BLESSING].val1; // ‚»‚Ì‘Œ + str += sc_data[SC_BLESSING].val1; // その他 } - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト str += 5; } if (str < 0) @@ -222,8 +222,8 @@ int battle_get_str (struct block_list *bl) } /*========================================== - * ‘ΏۂÌAgi‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のAgiを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ @@ -241,19 +241,19 @@ int battle_get_agi (struct block_list *bl) if (sc_data) { - if (sc_data[SC_INCREASEAGI].timer != -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1 && bl->type != BL_PC) // ‘¬“x‘‰Á(PC‚Ípc.c‚Å) + if (sc_data[SC_INCREASEAGI].timer != -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1 && bl->type != BL_PC) // 速床増加(PCはpc.cで) agi += 2 + sc_data[SC_INCREASEAGI].val1; if (sc_data[SC_CONCENTRATE].timer != -1 && sc_data[SC_QUAGMIRE].timer == -1 && bl->type != BL_PC) agi += agi * (2 + sc_data[SC_CONCENTRATE].val1) / 100; - if (sc_data[SC_DECREASEAGI].timer != -1) // ‘¬“xŒž­ + if (sc_data[SC_DECREASEAGI].timer != -1) // 速床枛少 agi -= 2 + sc_data[SC_DECREASEAGI].val1; - if (sc_data[SC_QUAGMIRE].timer != -1) // ƒNƒ@ƒOƒ}ƒCƒA + if (sc_data[SC_QUAGMIRE].timer != -1) // クァグマむア agi >>= 1; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト agi += 5; } if (agi < 0) @@ -262,8 +262,8 @@ int battle_get_agi (struct block_list *bl) } /*========================================== - * ‘ΏۂÌVit‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のVitを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_vit (struct block_list *bl) @@ -281,7 +281,7 @@ int battle_get_vit (struct block_list *bl) { if (sc_data[SC_STRIPARMOR].timer != -1 && bl->type != BL_PC) vit = vit * 60 / 100; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト vit += 5; } @@ -291,8 +291,8 @@ int battle_get_vit (struct block_list *bl) } /*========================================== - * ‘ΏۂÌInt‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のIntを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_int (struct block_list *bl) @@ -310,17 +310,17 @@ int battle_get_int (struct block_list *bl) if (sc_data) { if (sc_data[SC_BLESSING].timer != -1 && bl->type != BL_PC) - { // ƒuƒŒƒbƒVƒ“ƒO + { // ブレッシング int race = battle_get_race (bl); if (battle_check_undead (race, battle_get_elem_type (bl)) || race == 6) - int_ >>= 1; // ˆ« –‚/•sŽ€ + int_ >>= 1; // 悪 魔/䞍死 else - int_ += sc_data[SC_BLESSING].val1; // ‚»‚Ì‘Œ + int_ += sc_data[SC_BLESSING].val1; // その他 } if (sc_data[SC_STRIPHELM].timer != -1 && bl->type != BL_PC) int_ = int_ * 60 / 100; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト int_ += 5; } if (int_ < 0) @@ -329,8 +329,8 @@ int battle_get_int (struct block_list *bl) } /*========================================== - * ‘ΏۂÌDex‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のDexを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_dex (struct block_list *bl) @@ -352,18 +352,18 @@ int battle_get_dex (struct block_list *bl) dex += dex * (2 + sc_data[SC_CONCENTRATE].val1) / 100; if (sc_data[SC_BLESSING].timer != -1 && bl->type != BL_PC) - { // ƒuƒŒƒbƒVƒ“ƒO + { // ブレッシング int race = battle_get_race (bl); if (battle_check_undead (race, battle_get_elem_type (bl)) || race == 6) - dex >>= 1; // ˆ« –‚/•sŽ€ + dex >>= 1; // 悪 魔/䞍死 else - dex += sc_data[SC_BLESSING].val1; // ‚»‚Ì‘Œ + dex += sc_data[SC_BLESSING].val1; // その他 } - if (sc_data[SC_QUAGMIRE].timer != -1) // ƒNƒ@ƒOƒ}ƒCƒA + if (sc_data[SC_QUAGMIRE].timer != -1) // クァグマむア dex >>= 1; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト dex += 5; } if (dex < 0) @@ -372,8 +372,8 @@ int battle_get_dex (struct block_list *bl) } /*========================================== - * ‘ΏۂÌLuk‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のLukを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_luk (struct block_list *bl) @@ -390,11 +390,11 @@ int battle_get_luk (struct block_list *bl) if (sc_data) { - if (sc_data[SC_GLORIA].timer != -1 && bl->type != BL_PC) // ƒOƒƒŠƒA(PC‚Ípc.c‚Å) + if (sc_data[SC_GLORIA].timer != -1 && bl->type != BL_PC) // グロリア(PCはpc.cで) luk += 30; - if (sc_data[SC_CURSE].timer != -1) // Žô‚¢ + if (sc_data[SC_CURSE].timer != -1) // 呪い luk = 0; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト luk += 5; } if (luk < 0) @@ -403,8 +403,8 @@ int battle_get_luk (struct block_list *bl) } /*========================================== - * ‘ΏۂÌFlee‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã + * 察象のFleeを返す(汎甚) + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_flee (struct block_list *bl) @@ -427,9 +427,9 @@ int battle_get_flee (struct block_list *bl) (sc_data[SC_WHISTLE].val3 >> 16)) / 100; if (sc_data[SC_BLIND].timer != -1 && bl->type != BL_PC) flee -= flee * 25 / 100; - if (sc_data[SC_WINDWALK].timer != -1 && bl->type != BL_PC) // ƒEƒBƒ“ƒhƒEƒH[ƒN + if (sc_data[SC_WINDWALK].timer != -1 && bl->type != BL_PC) // りィンドりォヌク flee += flee * (sc_data[SC_WINDWALK].val2) / 100; - if (sc_data[SC_SPIDERWEB].timer != -1 && bl->type != BL_PC) //ƒXƒpƒCƒ_[ƒEƒFƒu + if (sc_data[SC_SPIDERWEB].timer != -1 && bl->type != BL_PC) //スパむダヌりェブ flee -= flee * 50 / 100; if (battle_is_unarmed (bl)) @@ -442,8 +442,8 @@ int battle_get_flee (struct block_list *bl) } /*========================================== - * ‘ΏۂÌHit‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã + * 察象のHitを返す(汎甚) + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_hit (struct block_list *bl) @@ -465,11 +465,11 @@ int battle_get_hit (struct block_list *bl) hit * (sc_data[SC_HUMMING].val1 * 2 + sc_data[SC_HUMMING].val2 + sc_data[SC_HUMMING].val3) / 100; - if (sc_data[SC_BLIND].timer != -1 && bl->type != BL_PC) // Žô‚¢ + if (sc_data[SC_BLIND].timer != -1 && bl->type != BL_PC) // 呪い hit -= hit * 25 / 100; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) // トゥルヌサむト hit += 3 * (sc_data[SC_TRUESIGHT].val1); - if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ + if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //コンセントレヌション hit += (hit * (10 * (sc_data[SC_CONCENTRATION].val1))) / 100; if (battle_is_unarmed (bl)) @@ -481,8 +481,8 @@ int battle_get_hit (struct block_list *bl) } /*========================================== - * ‘Ώۂ̊®‘S‰ñ”ð‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã + * 察象の完党回避を返す(汎甚) + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_flee2 (struct block_list *bl) @@ -518,8 +518,8 @@ int battle_get_flee2 (struct block_list *bl) } /*========================================== - * ‘Ώۂ̃NƒŠƒeƒBƒJƒ‹‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã + * 察象のクリティカルを返す(汎甚) + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_critical (struct block_list *bl) @@ -547,7 +547,7 @@ int battle_get_critical (struct block_list *bl) sc_data[SC_FORTUNE].val3) * 10; if (sc_data[SC_EXPLOSIONSPIRITS].timer != -1 && bl->type != BL_PC) critical += sc_data[SC_EXPLOSIONSPIRITS].val2; - if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) //ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1 && bl->type != BL_PC) //トゥルヌサむト critical += critical * sc_data[SC_TRUESIGHT].val1 / 100; } if (critical < 1) @@ -556,8 +556,8 @@ int battle_get_critical (struct block_list *bl) } /*========================================== - * base_atk‚ÌŽæ“Ÿ - * –ß‚è‚͐®”‚Å1ˆÈã + * base_atkの取埗 + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_baseatk (struct block_list *bl) @@ -568,31 +568,31 @@ int battle_get_baseatk (struct block_list *bl) nullpo_retr (1, bl); sc_data = battle_get_sc_data (bl); if (bl->type == BL_PC && (struct map_session_data *) bl) - batk = ((struct map_session_data *) bl)->base_atk; //Ý’肳‚ê‚Ä‚¢‚ébase_atk + batk = ((struct map_session_data *) bl)->base_atk; //蚭定されおいるbase_atk else - { //‚»‚êˆÈŠO‚È‚ç + { //それ以倖なら int str, dstr; str = battle_get_str (bl); //STR dstr = str / 10; - batk = dstr * dstr + str; //base_atk‚ðŒvŽZ‚·‚é + batk = dstr * dstr + str; //base_atkを蚈算する } if (sc_data) - { //ó‘Ԉُ킠‚è - if (sc_data[SC_PROVOKE].timer != -1 && bl->type != BL_PC) //PC‚Ńvƒƒ{ƒbƒN(SM_PROVOKE)ó‘Ô - batk = batk * (100 + 2 * sc_data[SC_PROVOKE].val1) / 100; //base_atk‘‰Á - if (sc_data[SC_CURSE].timer != -1) //Žô‚í‚ê‚Ä‚¢‚œ‚ç - batk -= batk * 25 / 100; //base_atk‚ª25%Œž­ - if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ + { //状態異垞あり + if (sc_data[SC_PROVOKE].timer != -1 && bl->type != BL_PC) //PCでプロボック(SM_PROVOKE)状態 + batk = batk * (100 + 2 * sc_data[SC_PROVOKE].val1) / 100; //base_atk増加 + if (sc_data[SC_CURSE].timer != -1) //呪われおいたら + batk -= batk * 25 / 100; //base_atkが25%枛少 + if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //コンセントレヌション batk += batk * (5 * sc_data[SC_CONCENTRATION].val1) / 100; } if (batk < 1) - batk = 1; //base_atk‚͍Œá‚Å‚à1 + batk = 1; //base_atkは最䜎でも1 return batk; } /*========================================== - * ‘ΏۂÌAtk‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のAtkを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_atk (struct block_list *bl) @@ -613,7 +613,7 @@ int battle_get_atk (struct block_list *bl) atk = atk * (100 + 2 * sc_data[SC_PROVOKE].val1) / 100; if (sc_data[SC_CURSE].timer != -1) atk -= atk * 25 / 100; - if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ + if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) //コンセントレヌション atk += atk * (5 * sc_data[SC_CONCENTRATION].val1) / 100; } if (atk < 0) @@ -622,8 +622,8 @@ int battle_get_atk (struct block_list *bl) } /*========================================== - * ‘Ώۂ̍¶ŽèAtk‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象の巊手Atkを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_atk_ (struct block_list *bl) @@ -642,8 +642,8 @@ int battle_get_atk_ (struct block_list *bl) } /*========================================== - * ‘ΏۂÌAtk2‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のAtk2を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_atk2 (struct block_list *bl) @@ -672,7 +672,7 @@ int battle_get_atk2 (struct block_list *bl) atk2 += sc_data[SC_NIBELUNGEN].val2; if (sc_data[SC_STRIPWEAPON].timer != -1) atk2 = atk2 * 90 / 100; - if (sc_data[SC_CONCENTRATION].timer != -1) //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ + if (sc_data[SC_CONCENTRATION].timer != -1) //コンセントレヌション atk2 += atk2 * (5 * sc_data[SC_CONCENTRATION].val1) / 100; } @@ -684,8 +684,8 @@ int battle_get_atk2 (struct block_list *bl) } /*========================================== - * ‘Ώۂ̍¶ŽèAtk2‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象の巊手Atk2を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_atk_2 (struct block_list *bl) @@ -698,8 +698,8 @@ int battle_get_atk_2 (struct block_list *bl) } /*========================================== - * ‘ΏۂÌMAtk1‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のMAtk1を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_matk1 (struct block_list *bl) @@ -724,8 +724,8 @@ int battle_get_matk1 (struct block_list *bl) } /*========================================== - * ‘ΏۂÌMAtk2‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のMAtk2を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_matk2 (struct block_list *bl) @@ -749,8 +749,8 @@ int battle_get_matk2 (struct block_list *bl) } /*========================================== - * ‘ΏۂÌDef‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のDefを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_def (struct block_list *bl) @@ -777,38 +777,38 @@ int battle_get_def (struct block_list *bl) { if (sc_data) { - //ƒL[ƒsƒ“ƒOŽž‚ÍDEF100 + //キヌピング時はDEF100 if (sc_data[SC_KEEPING].timer != -1) def = 100; - //ƒvƒƒ{ƒbƒNŽž‚ÍŒžŽZ + //プロボック時は枛算 if (sc_data[SC_PROVOKE].timer != -1 && bl->type != BL_PC) def = (def * (100 - 6 * sc_data[SC_PROVOKE].val1) + 50) / 100; - //í‘ŸŒÛ‚Ì‹¿‚«Žž‚͉ÁŽZ + //戊倪錓の響き時は加算 if (sc_data[SC_DRUMBATTLE].timer != -1 && bl->type != BL_PC) def += sc_data[SC_DRUMBATTLE].val3; - //“Å‚É‚©‚©‚Á‚Ä‚¢‚鎞‚ÍŒžŽZ + //毒にかかっおいる時は枛算 if (sc_data[SC_POISON].timer != -1 && bl->type != BL_PC) def = def * 75 / 100; - //ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒhŽž‚ÍŒžŽZ + //ストリップシヌルド時は枛算 if (sc_data[SC_STRIPSHIELD].timer != -1 && bl->type != BL_PC) def = def * 85 / 100; - //ƒVƒOƒiƒ€ƒNƒ‹ƒVƒXŽž‚ÍŒžŽZ + //シグナムクルシス時は枛算 if (sc_data[SC_SIGNUMCRUCIS].timer != -1 && bl->type != BL_PC) def = def * (100 - sc_data[SC_SIGNUMCRUCIS].val2) / 100; - //‰i‰“‚̍¬“׎ž‚ÍDEF0‚É‚È‚é + //氞遠の混沌時はDEF0になる if (sc_data[SC_ETERNALCHAOS].timer != -1 && bl->type != BL_PC) def = 0; - //“€Œ‹AÎ‰»Žž‚͉EƒVƒtƒg + //凍結、石化時は右シフト if (sc_data[SC_FREEZE].timer != -1 || (sc_data[SC_STONE].timer != -1 && sc_data[SC_STONE].val2 == 0)) def >>= 1; - //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Žž‚ÍŒžŽZ + //コンセントレヌション時は枛算 if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) def = (def * (100 - 5 * sc_data[SC_CONCENTRATION].val1)) / 100; } - //‰r¥’†‚͉r¥ŽžŒžŽZ—Š‚ÉŠî‚¢‚ÄŒžŽZ + //詠唱䞭は詠唱時枛算率に基づいお枛算 if (skilltimer != -1) { int def_rate = skill_get_castdef (skillid); @@ -822,8 +822,8 @@ int battle_get_def (struct block_list *bl) } /*========================================== - * ‘ΏۂÌMDef‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のMDefを返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_mdef (struct block_list *bl) @@ -842,7 +842,7 @@ int battle_get_mdef (struct block_list *bl) { if (sc_data) { - //ƒoƒŠƒA[ó‘ÔŽž‚ÍMDEF100 + //バリアヌ状態時はMDEF100 if (mdef < 90 && sc_data[SC_MBARRIER].timer != -1) { mdef += sc_data[SC_MBARRIER].val1; @@ -851,7 +851,7 @@ int battle_get_mdef (struct block_list *bl) } if (sc_data[SC_BARRIER].timer != -1) mdef = 100; - //“€Œ‹AÎ‰»Žž‚Í1.25”{ + //凍結、石化時は1.25倍 if (sc_data[SC_FREEZE].timer != -1 || (sc_data[SC_STONE].timer != -1 && sc_data[SC_STONE].val2 == 0)) @@ -866,8 +866,8 @@ int battle_get_mdef (struct block_list *bl) } /*========================================== - * ‘ΏۂÌDef2‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã + * 察象のDef2を返す(汎甚) + * 戻りは敎数で1以䞊 *------------------------------------------ */ int battle_get_def2 (struct block_list *bl) @@ -890,7 +890,7 @@ int battle_get_def2 (struct block_list *bl) def2 = (def2 * (100 - 6 * sc_data[SC_PROVOKE].val1) + 50) / 100; if (sc_data[SC_POISON].timer != -1 && bl->type != BL_PC) def2 = def2 * 75 / 100; - //ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“Žž‚ÍŒžŽZ + //コンセントレヌション時は枛算 if (sc_data[SC_CONCENTRATION].timer != -1 && bl->type != BL_PC) def2 = def2 * (100 - 5 * sc_data[SC_CONCENTRATION].val1) / 100; } @@ -900,8 +900,8 @@ int battle_get_def2 (struct block_list *bl) } /*========================================== - * ‘ΏۂÌMDef2‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å0ˆÈã + * 察象のMDef2を返す(汎甚) + * 戻りは敎数で0以䞊 *------------------------------------------ */ int battle_get_mdef2 (struct block_list *bl) @@ -929,9 +929,9 @@ int battle_get_mdef2 (struct block_list *bl) } /*========================================== - * ‘ΏۂÌSpeed(ˆÚ“®‘¬“x)‚ð•Ô‚·(”Ä—p) - * –ß‚è‚͐®”‚Å1ˆÈã - * Speed‚͏¬‚³‚¢‚Ù‚€‚ªˆÚ“®‘¬“x‚ª‘¬‚¢ + * 察象のSpeed(移動速床)を返す(汎甚) + * 戻りは敎数で1以䞊 + * Speedは小さいほうが移動速床が速い *------------------------------------------ */ int battle_get_speed (struct block_list *bl) @@ -948,35 +948,35 @@ int battle_get_speed (struct block_list *bl) if (sc_data) { - //‘¬“x‘‰ÁŽž‚Í25%ŒžŽZ + //速床増加時は25%枛算 if (sc_data[SC_INCREASEAGI].timer != -1 && sc_data[SC_DONTFORGETME].timer == -1) speed -= speed * 25 / 100; - //‘¬“xŒž­Žž‚Í25%‰ÁŽZ + //速床枛少時は25%加算 if (sc_data[SC_DECREASEAGI].timer != -1) speed = speed * 125 / 100; - //ƒNƒ@ƒOƒ}ƒCƒAŽž‚Í50%‰ÁŽZ + //クァグマむア時は50%加算 if (sc_data[SC_QUAGMIRE].timer != -1) speed = speed * 3 / 2; - //Ž„‚ð–Y‚ê‚È‚¢‚ŁcŽž‚͉ÁŽZ + //私を忘れないで 時は加算 if (sc_data[SC_DONTFORGETME].timer != -1) speed = speed * (100 + sc_data[SC_DONTFORGETME].val1 * 2 + sc_data[SC_DONTFORGETME].val2 + (sc_data[SC_DONTFORGETME].val3 & 0xffff)) / 100; - //‹à„Žž‚Í25%‰ÁŽZ + //金剛時は25%加算 if (sc_data[SC_STEELBODY].timer != -1) speed = speed * 125 / 100; - //ƒfƒBƒtƒFƒ“ƒ_[Žž‚͉ÁŽZ + //ディフェンダヌ時は加算 if (sc_data[SC_DEFENDER].timer != -1) speed = (speed * (155 - sc_data[SC_DEFENDER].val1 * 5)) / 100; - //—x‚èó‘Ô‚Í4”{’x‚¢ + //螊り状態は4倍遅い if (sc_data[SC_DANCING].timer != -1) speed *= 4; - //Žô‚¢Žž‚Í450‰ÁŽZ + //呪い時は450加算 if (sc_data[SC_CURSE].timer != -1) speed = speed + 450; - //ƒEƒBƒ“ƒhƒEƒH[ƒNŽž‚ÍLv*2%ŒžŽZ + //りィンドりォヌク時はLv*2%枛算 if (sc_data[SC_WINDWALK].timer != -1) speed -= (speed * (sc_data[SC_WINDWALK].val1 * 2)) / 100; } @@ -989,8 +989,8 @@ int battle_get_speed (struct block_list *bl) } /*========================================== - * ‘ΏۂÌaDelay(UŒ‚ŽžƒfƒBƒŒƒC)‚ð•Ô‚·(”Ä—p) - * aDelay‚͏¬‚³‚¢‚Ù‚€‚ªUŒ‚‘¬“x‚ª‘¬‚¢ + * 察象のaDelay(攻撃時ディレむ)を返す(汎甚) + * aDelayは小さいほうが攻撃速床が速い *------------------------------------------ */ int battle_get_adelay (struct block_list *bl) @@ -1007,28 +1007,28 @@ int battle_get_adelay (struct block_list *bl) if (sc_data) { - //ƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“Žg—pŽž‚ŃNƒ@ƒOƒ}ƒCƒA‚Å‚àŽ„‚ð–Y‚ê‚È‚¢‚Łc‚Å‚à‚È‚¢Žž‚Í3Š„ŒžŽZ + //ツヌハンドクむッケン䜿甚時でクァグマむアでも私を忘れないで でもない時は3割枛算 if (sc_data[SC_TWOHANDQUICKEN].timer != -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) // 2HQ aspd_rate -= 30; - //ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Žg—pŽž‚Ńc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“‚Å‚àƒNƒ@ƒOƒ}ƒCƒA‚Å‚àŽ„‚ð–Y‚ê‚È‚¢‚Łc‚Å‚à‚È‚¢Žž‚Í + //アドレナリンラッシュ䜿甚時でツヌハンドクむッケンでもクァグマむアでも私を忘れないで でもない時は if (sc_data[SC_ADRENALINE].timer != -1 && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) - { // ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… - //Žg—pŽÒ‚ƃp[ƒeƒBƒƒ“ƒo[‚ÅŠi·‚ªo‚éÝ’è‚Å‚È‚¯‚ê‚Î3Š„ŒžŽZ + { // アドレナリンラッシュ + //䜿甚者ずパヌティメンバヌで栌差が出る蚭定でなければ3割枛算 if (sc_data[SC_ADRENALINE].val2 || !battle_config.party_skill_penaly) aspd_rate -= 30; - //‚»‚€‚Å‚È‚¯‚ê‚Î2.5Š„ŒžŽZ + //そうでなければ2.5割枛算 else aspd_rate -= 25; } - //ƒXƒsƒAƒNƒBƒbƒPƒ“Žž‚ÍŒžŽZ - if (sc_data[SC_SPEARSQUICKEN].timer != -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) // ƒXƒsƒAƒNƒBƒbƒPƒ“ + //スピアクィッケン時は枛算 + if (sc_data[SC_SPEARSQUICKEN].timer != -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) // スピアクィッケン aspd_rate -= sc_data[SC_SPEARSQUICKEN].val2; - //—[“ú‚̃AƒTƒVƒ“ƒNƒƒXŽž‚ÍŒžŽZ - if (sc_data[SC_ASSNCROS].timer != -1 && // —[—z‚̃AƒTƒVƒ“ƒNƒƒX + //倕日のアサシンクロス時は枛算 + if (sc_data[SC_ASSNCROS].timer != -1 && // 倕陜のアサシンクロス sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_SPEARSQUICKEN].timer == -1 @@ -1036,16 +1036,16 @@ int battle_get_adelay (struct block_list *bl) aspd_rate -= 5 + sc_data[SC_ASSNCROS].val1 + sc_data[SC_ASSNCROS].val2 + sc_data[SC_ASSNCROS].val3; - //Ž„‚ð–Y‚ê‚È‚¢‚ŁcŽž‚͉ÁŽZ - if (sc_data[SC_DONTFORGETME].timer != -1) // Ž„‚ð–Y‚ê‚È‚¢‚Å + //私を忘れないで 時は加算 + if (sc_data[SC_DONTFORGETME].timer != -1) // 私を忘れないで aspd_rate += sc_data[SC_DONTFORGETME].val1 * 3 + sc_data[SC_DONTFORGETME].val2 + (sc_data[SC_DONTFORGETME].val3 >> 16); - //‹à„Žž25%‰ÁŽZ - if (sc_data[SC_STEELBODY].timer != -1) // ‹à„ + //金剛時25%加算 + if (sc_data[SC_STEELBODY].timer != -1) // 金剛 aspd_rate += 25; - //‘‘¬ƒ|[ƒVƒ‡ƒ“Žg—pŽž‚ÍŒžŽZ + //増速ポヌション䜿甚時は枛算 if (sc_data[i = SC_SPEEDPOTION2].timer != -1 || sc_data[i = SC_SPEEDPOTION1].timer != -1 || sc_data[i = SC_SPEEDPOTION0].timer != -1) @@ -1053,7 +1053,7 @@ int battle_get_adelay (struct block_list *bl) // Fate's `haste' spell works the same as the above if (sc_data[SC_HASTE].timer != -1) aspd_rate -= sc_data[SC_HASTE].val1; - //ƒfƒBƒtƒFƒ“ƒ_[Žž‚͉ÁŽZ + //ディフェンダヌ時は加算 if (sc_data[SC_DEFENDER].timer != -1) adelay += (1100 - sc_data[SC_DEFENDER].val1 * 100); } @@ -1087,16 +1087,16 @@ int battle_get_amotion (struct block_list *bl) && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) - { // ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… + { // アドレナリンラッシュ if (sc_data[SC_ADRENALINE].val2 || !battle_config.party_skill_penaly) aspd_rate -= 30; else aspd_rate -= 25; } - if (sc_data[SC_SPEARSQUICKEN].timer != -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) // ƒXƒsƒAƒNƒBƒbƒPƒ“ + if (sc_data[SC_SPEARSQUICKEN].timer != -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_QUAGMIRE].timer == -1 && sc_data[SC_DONTFORGETME].timer == -1) // スピアクィッケン aspd_rate -= sc_data[SC_SPEARSQUICKEN].val2; - if (sc_data[SC_ASSNCROS].timer != -1 && // —[—z‚̃AƒTƒVƒ“ƒNƒƒX + if (sc_data[SC_ASSNCROS].timer != -1 && // 倕陜のアサシンクロス sc_data[SC_TWOHANDQUICKEN].timer == -1 && sc_data[SC_ADRENALINE].timer == -1 && sc_data[SC_SPEARSQUICKEN].timer == -1 @@ -1104,12 +1104,12 @@ int battle_get_amotion (struct block_list *bl) aspd_rate -= 5 + sc_data[SC_ASSNCROS].val1 + sc_data[SC_ASSNCROS].val2 + sc_data[SC_ASSNCROS].val3; - if (sc_data[SC_DONTFORGETME].timer != -1) // Ž„‚ð–Y‚ê‚È‚¢‚Å + if (sc_data[SC_DONTFORGETME].timer != -1) // 私を忘れないで aspd_rate += sc_data[SC_DONTFORGETME].val1 * 3 + sc_data[SC_DONTFORGETME].val2 + (sc_data[SC_DONTFORGETME].val3 >> 16); - if (sc_data[SC_STEELBODY].timer != -1) // ‹à„ + if (sc_data[SC_STEELBODY].timer != -1) // 金剛 aspd_rate += 25; if (sc_data[i = SC_SPEEDPOTION2].timer != -1 || sc_data[i = SC_SPEEDPOTION1].timer != -1 @@ -1167,16 +1167,16 @@ int battle_get_element (struct block_list *bl) nullpo_retr (ret, bl); sc_data = battle_get_sc_data (bl); - if (bl->type == BL_MOB && (struct mob_data *) bl) // 10‚̈ʁLv*2A‚P‚̈ʁ‘®« + if (bl->type == BL_MOB && (struct mob_data *) bl) // 10の䜍Lv*2、の䜍属性 ret = ((struct mob_data *) bl)->def_ele; else if (bl->type == BL_PC && (struct map_session_data *) bl) - ret = 20 + ((struct map_session_data *) bl)->def_ele; // –hŒä‘®«Lv1 + ret = 20 + ((struct map_session_data *) bl)->def_ele; // 防埡属性Lv1 if (sc_data) { - if (sc_data[SC_BENEDICTIO].timer != -1) // ¹‘̍~•Ÿ + if (sc_data[SC_BENEDICTIO].timer != -1) // 聖䜓降犏 ret = 26; - if (sc_data[SC_FREEZE].timer != -1) // “€Œ‹ + if (sc_data[SC_FREEZE].timer != -1) // 凍結 ret = 21; if (sc_data[SC_STONE].timer != -1 && sc_data[SC_STONE].val2 == 0) ret = 22; @@ -1198,17 +1198,17 @@ int battle_get_attack_element (struct block_list *bl) if (sc_data) { - if (sc_data[SC_FROSTWEAPON].timer != -1) // ƒtƒƒXƒgƒEƒFƒ|ƒ“ + if (sc_data[SC_FROSTWEAPON].timer != -1) // フロストりェポン ret = 1; - if (sc_data[SC_SEISMICWEAPON].timer != -1) // ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ + if (sc_data[SC_SEISMICWEAPON].timer != -1) // サむズミックりェポン ret = 2; - if (sc_data[SC_FLAMELAUNCHER].timer != -1) // ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[ + if (sc_data[SC_FLAMELAUNCHER].timer != -1) // フレヌムランチャヌ ret = 3; - if (sc_data[SC_LIGHTNINGLOADER].timer != -1) // ƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[ + if (sc_data[SC_LIGHTNINGLOADER].timer != -1) // ラむトニングロヌダヌ ret = 4; - if (sc_data[SC_ENCPOISON].timer != -1) // ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“ + if (sc_data[SC_ENCPOISON].timer != -1) // ゚ンチャントポむズン ret = 5; - if (sc_data[SC_ASPERSIO].timer != -1) // ƒAƒXƒyƒ‹ƒVƒI + if (sc_data[SC_ASPERSIO].timer != -1) // アスペルシオ ret = 6; } @@ -1226,17 +1226,17 @@ int battle_get_attack_element2 (struct block_list *bl) if (sc_data) { - if (sc_data[SC_FROSTWEAPON].timer != -1) // ƒtƒƒXƒgƒEƒFƒ|ƒ“ + if (sc_data[SC_FROSTWEAPON].timer != -1) // フロストりェポン ret = 1; - if (sc_data[SC_SEISMICWEAPON].timer != -1) // ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ + if (sc_data[SC_SEISMICWEAPON].timer != -1) // サむズミックりェポン ret = 2; - if (sc_data[SC_FLAMELAUNCHER].timer != -1) // ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[ + if (sc_data[SC_FLAMELAUNCHER].timer != -1) // フレヌムランチャヌ ret = 3; - if (sc_data[SC_LIGHTNINGLOADER].timer != -1) // ƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[ + if (sc_data[SC_LIGHTNINGLOADER].timer != -1) // ラむトニングロヌダヌ ret = 4; - if (sc_data[SC_ENCPOISON].timer != -1) // ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“ + if (sc_data[SC_ENCPOISON].timer != -1) // ゚ンチャントポむズン ret = 5; - if (sc_data[SC_ASPERSIO].timer != -1) // ƒAƒXƒyƒ‹ƒVƒI + if (sc_data[SC_ASPERSIO].timer != -1) // アスペルシオ ret = 6; } return ret; @@ -1303,7 +1303,7 @@ int battle_get_mode (struct block_list *bl) if (bl->type == BL_MOB && (struct mob_data *) bl) return mob_db[((struct mob_data *) bl)->class].mode; else - return 0x01; // ‚Æ‚è‚ ‚Š‚ž“®‚­‚Æ‚¢‚€‚±‚Æ‚Å1 + return 0x01; // ずりあえず動くずいうこずで1 } int battle_get_mexp (struct block_list *bl) @@ -1345,7 +1345,7 @@ int battle_get_stat (int stat_id /* SP_VIT or similar */ , } } -// StatusChangeŒn‚̏Š“Ÿ +// StatusChange系の所埗 struct status_change *battle_get_sc_data (struct block_list *bl) { nullpo_retr (NULL, bl); @@ -1416,7 +1416,7 @@ short *battle_get_option (struct block_list *bl) //------------------------------------------------------------------- -// ƒ_ƒ[ƒW‚Ì’x‰„ +// ダメヌゞの遅延 struct battle_delay_damage_ { struct block_list *src, *target; @@ -1451,7 +1451,7 @@ int battle_delay_damage (unsigned int tick, struct block_list *src, return 0; } -// ŽÀÛ‚ÉHP‚𑀍ì +// 実際にHPを操䜜 int battle_damage (struct block_list *bl, struct block_list *target, int damage, int flag) { @@ -1460,7 +1460,7 @@ int battle_damage (struct block_list *bl, struct block_list *target, short *sc_count; int i; - nullpo_retr (0, target); //bl‚ÍNULL‚ŌĂ΂ê‚邱‚Æ‚ª‚ ‚é‚Ì‚Å‘Œ‚Ń`ƒFƒbƒN + nullpo_retr (0, target); //blはNULLで呌ばれるこずがあるので他でチェック if (damage == 0) return 0; @@ -1483,7 +1483,7 @@ int battle_damage (struct block_list *bl, struct block_list *target, if (!flag && (sc_count = battle_get_sc_count (target)) != NULL && *sc_count > 0) { - // “€Œ‹AÎ‰»A‡–°‚ðÁ‹Ž + // 凍結、石化、睡眠を消去 if (sc_data[SC_FREEZE].timer != -1) skill_status_change_end (target, SC_FREEZE, -1); if (sc_data[SC_STONE].timer != -1 && sc_data[SC_STONE].val2 == 0) @@ -1495,7 +1495,7 @@ int battle_damage (struct block_list *bl, struct block_list *target, if (target->type == BL_MOB) { // MOB struct mob_data *md = (struct mob_data *) target; - if (md && md->skilltimer != -1 && md->state.skillcastcancel) // ‰r¥–WŠQ + if (md && md->skilltimer != -1 && md->state.skillcastcancel) // 詠唱劚害 skill_castcancel (target, 0); return mob_damage (bl, md, damage, 0); } @@ -1505,7 +1505,7 @@ int battle_damage (struct block_list *bl, struct block_list *target, struct map_session_data *tsd = (struct map_session_data *) target; if (tsd && tsd->sc_data && tsd->sc_data[SC_DEVOTION].val1) - { // ƒfƒBƒ{[ƒVƒ‡ƒ“‚ð‚©‚¯‚ç‚ê‚Ä‚¢‚é + { // ディボヌションをかけられおいる struct map_session_data *md = map_id2sd (tsd->sc_data[SC_DEVOTION].val1); if (md && skill_devotion3 (&md->bl, target->id)) @@ -1525,8 +1525,8 @@ int battle_damage (struct block_list *bl, struct block_list *target, } if (tsd && tsd->skilltimer != -1) - { // ‰r¥–WŠQ - // ƒtƒFƒ“ƒJ[ƒh‚â–WŠQ‚³‚ê‚È‚¢ƒXƒLƒ‹‚©‚ÌŒŸž + { // 詠唱劚害 + // フェンカヌドや劚害されないスキルかの怜査 if ((!tsd->special_state.no_castcancel || map[bl->m].flag.gvg) && tsd->state.skillcastcancel && !tsd->special_state.no_castcancel2) @@ -1545,7 +1545,7 @@ int battle_damage (struct block_list *bl, struct block_list *target, int battle_heal (struct block_list *bl, struct block_list *target, int hp, int sp, int flag) { - nullpo_retr (0, target); //bl‚ÍNULL‚ŌĂ΂ê‚邱‚Æ‚ª‚ ‚é‚Ì‚Å‘Œ‚Ń`ƒFƒbƒN + nullpo_retr (0, target); //blはNULLで呌ばれるこずがあるので他でチェック if (target->type == BL_PC && pc_isdead ((struct map_session_data *) target)) @@ -1563,7 +1563,7 @@ int battle_heal (struct block_list *bl, struct block_list *target, int hp, return 0; } -// UŒ‚’âŽ~ +// 攻撃停止 int battle_stopattack (struct block_list *bl) { nullpo_retr (0, bl); @@ -1574,7 +1574,7 @@ int battle_stopattack (struct block_list *bl) return 0; } -// ˆÚ“®’âŽ~ +// 移動停止 int battle_stopwalking (struct block_list *bl, int type) { nullpo_retr (0, bl); @@ -1586,7 +1586,7 @@ int battle_stopwalking (struct block_list *bl, int type) } /*========================================== - * ƒ_ƒ[ƒW‚Ì‘®«C³ + * ダメヌゞの属性修正 *------------------------------------------ */ int battle_attr_fix (int damage, int atk_elem, int def_elem) @@ -1595,7 +1595,7 @@ int battle_attr_fix (int damage, int atk_elem, int def_elem) if (atk_elem < 0 || atk_elem > 9 || def_type < 0 || def_type > 9 || def_lv < 1 || def_lv > 4) - { // ‘® «’l‚ª‚š‚©‚µ‚¢‚Ì‚Å‚Æ‚è‚ ‚Š‚ž‚»‚Ì‚Ü‚Ü•Ô‚· + { // 属 性倀がおかしいのでずりあえずそのたた返す if (battle_config.error_log) printf ("battle_attr_fix: unknown attr type: atk=%d def_type=%d def_lv=%d\n", @@ -1607,7 +1607,7 @@ int battle_attr_fix (int damage, int atk_elem, int def_elem) } /*========================================== - * ƒ_ƒ[ƒWÅIŒvŽZ + * ダメヌゞ最終蚈算 *------------------------------------------ */ int battle_calc_damage (struct block_list *src, struct block_list *bl, @@ -1638,37 +1638,37 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, && flag & BF_WEAPON && flag & BF_SHORT && skill_num != NPC_GUIDEDATTACK) { - // ƒZ[ƒtƒeƒBƒEƒH[ƒ‹ + // セヌフティりォヌル struct skill_unit *unit = (struct skill_unit *) sc_data[SC_SAFETYWALL].val2; if (unit && unit->alive && (--unit->group->val2) <= 0) skill_delunit (unit); - skill_unit_move (bl, gettick (), 1); // d‚ËŠ|‚¯ƒ`ƒFƒbƒN + skill_unit_move (bl, gettick (), 1); // 重ね掛けチェック damage = 0; } if (sc_data[SC_PNEUMA].timer != -1 && damage > 0 && flag & BF_WEAPON && flag & BF_LONG && skill_num != NPC_GUIDEDATTACK) { - // ƒjƒ…[ƒ} + // ニュヌマ damage = 0; } if (sc_data[SC_ROKISWEIL].timer != -1 && damage > 0 && flag & BF_MAGIC) { - // ƒjƒ…[ƒ} + // ニュヌマ damage = 0; } if (sc_data[SC_AETERNA].timer != -1 && damage > 0) - { // ƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi + { // レックス゚ヌテルナ damage <<= 1; skill_status_change_end (bl, SC_AETERNA, -1); } - //‘®«ê‚̃_ƒ[ƒW‘‰Á + //属性堎のダメヌゞ増加 if (sc_data[SC_VOLCANO].timer != -1) - { // ƒ{ƒ‹ƒP[ƒm + { // ボルケヌノ if (flag & BF_SKILL && skill_get_pl (skill_num) == 3) damage += damage * sc_data[SC_VOLCANO].val4 / 100; else if (!(flag & BF_SKILL) && (battle_get_attack_element (bl) == 3)) @@ -1676,7 +1676,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, } if (sc_data[SC_VIOLENTGALE].timer != -1) - { // ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ + { // バむオレントゲむル if (flag & BF_SKILL && skill_get_pl (skill_num) == 4) damage += damage * sc_data[SC_VIOLENTGALE].val4 / 100; else if (!(flag & BF_SKILL) && (battle_get_attack_element (bl) == 4)) @@ -1684,7 +1684,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, } if (sc_data[SC_DELUGE].timer != -1) - { // ƒfƒŠƒ…[ƒW + { // デリュヌゞ if (flag & BF_SKILL && skill_get_pl (skill_num) == 1) damage += damage * sc_data[SC_DELUGE].val4 / 100; else if (!(flag & BF_SKILL) && (battle_get_attack_element (bl) == 1)) @@ -1693,7 +1693,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, if (sc_data[SC_ENERGYCOAT].timer != -1 && damage > 0 && flag & BF_WEAPON) - { // ƒGƒiƒW[ƒR[ƒg + { // ゚ナゞヌコヌト if (sd) { if (sd->status.sp > 0) @@ -1713,7 +1713,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, } if (sc_data[SC_KYRIE].timer != -1 && damage > 0) - { // ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“ + { // キリ゚゚レむ゜ン sc = &sc_data[SC_KYRIE]; sc->val2 -= damage; if (flag & BF_WEAPON) @@ -1730,13 +1730,13 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, if (sc_data[SC_BASILICA].timer != -1 && damage > 0) { - // ƒjƒ…[ƒ} + // ニュヌマ damage = 0; } if (sc_data[SC_LANDPROTECTOR].timer != -1 && damage > 0 && flag & BF_MAGIC) { - // ƒjƒ…[ƒ} + // ニュヌマ damage = 0; } @@ -1766,7 +1766,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, sc_data[SC_PARRYING].val1, 1); } } - // ƒŠƒWƒFƒNƒgƒ\[ƒh + // リゞェクト゜ヌド if (sc_data[SC_REJECTSWORD].timer != -1 && damage > 0 && flag & BF_WEAPON && @@ -1776,11 +1776,11 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, || src->type == BL_MOB)) { if (MRAND (100) < (10 + 5 * sc_data[SC_REJECTSWORD].val1)) - { //”œŽËŠm—Š‚Í10+5*Lv + { //反射確率は10+5*Lv damage = damage * 50 / 100; battle_damage (bl, src, damage, 0); - //ƒ_ƒ[ƒW‚ð—^‚Š‚œ‚Ì‚Í—Ç‚¢‚ñ‚Ÿ‚ªA‚±‚±‚©‚ç‚Ç‚€‚µ‚Ä•\ŽŠ‚·‚é‚ñ‚Ÿ‚©‚í‚©‚ñ‚Ë‚¥ - //ƒGƒtƒFƒNƒg‚à‚±‚ê‚Å‚¢‚¢‚Ì‚©‚í‚©‚ñ‚Ë‚¥ + //ダメヌゞを䞎えたのは良いんだが、ここからどうしお衚瀺するんだかわかんねぇ + //゚フェクトもこれでいいのかわかんねぇ clif_skill_nodamage (bl, bl, ST_REJECTSWORD, sc_data[SC_REJECTSWORD].val1, 1); if ((--sc_data[SC_REJECTSWORD].val2) <= 0) @@ -1805,11 +1805,11 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, if (gc && agit_flag == 0 && class != 1288) // guardians cannot be damaged during non-woe [Valaris] damage = 0; // end woe check [Valaris] if (g == NULL) - damage = 0; //ƒMƒ‹ƒh–¢‰Á“ü‚È‚çƒ_ƒ[ƒW–³‚µ + damage = 0; //ギルド未加入ならダメヌゞ無し else if ((gc != NULL) && guild_isallied (g, gc)) - damage = 0; //Ž©è—̃Mƒ‹ƒh‚̃Gƒ“ƒy‚È‚çƒ_ƒ[ƒW–³‚µ + damage = 0; //自占領ギルドの゚ンペならダメヌゞ無し else if (g && guild_checkskill (g, GD_APPROVAL) <= 0) - damage = 0; //³‹KƒMƒ‹ƒh³”F‚ª‚È‚¢‚ƃ_ƒ[ƒW–³‚µ + damage = 0; //正芏ギルド承認がないずダメヌゞ無し else if (battle_config.guild_max_castles != 0 && guild_checkcastles (g) >= battle_config.guild_max_castles) @@ -1847,14 +1847,14 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, damage = 3; } - if (md != NULL && md->hp > 0 && damage > 0) // ”œŒ‚‚È‚Ç‚ÌMOBƒXƒLƒ‹”»’è + if (md != NULL && md->hp > 0 && damage > 0) // 反撃などのMOBスキル刀定 mobskill_event (md, flag); return damage; } /*========================================== - * C—ûƒ_ƒ[ƒW + * 修緎ダメヌゞ *------------------------------------------ */ int battle_addmastery (struct map_session_data *sd, struct block_list *target, @@ -1867,13 +1867,13 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, nullpo_retr (0, sd); - // ƒf[ƒ‚ƒ“ƒxƒCƒ“(+3 ` +30) vs •sŽ€ or ˆ«–‚ (Ž€l‚ÍŠÜ‚ß‚È‚¢H) + // デヌモンベむン(+3 〜 +30) vs 䞍死 or 悪魔 (死人は含めない) if ((skill = pc_checkskill (sd, AL_DEMONBANE)) > 0 && (battle_check_undead (race, battle_get_elem_type (target)) || race == 6)) damage += (skill * 3); - // ƒr[ƒXƒgƒxƒCƒ“(+4 ` +40) vs “®•š or ©’Ž + // ビヌストベむン(+4 〜 +40) vs 動物 or 昆虫 if ((skill = pc_checkskill (sd, HT_BEASTBANE)) > 0 && (race == 2 || race == 4)) damage += (skill * 4); @@ -1884,10 +1884,10 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, weapon = sd->weapontype2; switch (weapon) { - case 0x01: // ’ZŒ• (Updated By AppleGirl) + case 0x01: // 短剣 (Updated By AppleGirl) case 0x02: // 1HS { - // Œ•C—û(+4 ` +40) •ÐŽèŒ• ’ZŒ•ŠÜ‚Þ + // 剣修緎(+4 〜 +40) 片手剣 短剣含む if ((skill = pc_checkskill (sd, SM_SWORD)) > 0) { damage += (skill * 4); @@ -1896,7 +1896,7 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } case 0x03: // 2HS { - // —ŒŽèŒ•C—û(+4 ` +40) —ŒŽèŒ• + // 䞡手剣修緎(+4 〜 +40) 䞡手剣 if ((skill = pc_checkskill (sd, SM_TWOHAND)) > 0) { damage += (skill * 4); @@ -1905,29 +1905,29 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } case 0x04: // 1HL { - // ‘„C—û(+4 ` +40,+5 ` +50) ‘„ + // 槍修緎(+4 〜 +40,+5 〜 +50) 槍 if ((skill = pc_checkskill (sd, KN_SPEARMASTERY)) > 0) { if (!pc_isriding (sd)) - damage += (skill * 4); // ƒyƒR‚ɏæ‚Á‚Ä‚È‚¢ + damage += (skill * 4); // ペコに乗っおない else - damage += (skill * 5); // ƒyƒR‚ɏæ‚Á‚Ä‚é + damage += (skill * 5); // ペコに乗っおる } break; } case 0x05: // 2HL { - // ‘„C—û(+4 ` +40,+5 ` +50) ‘„ + // 槍修緎(+4 〜 +40,+5 〜 +50) 槍 if ((skill = pc_checkskill (sd, KN_SPEARMASTERY)) > 0) { if (!pc_isriding (sd)) - damage += (skill * 4); // ƒyƒR‚ɏæ‚Á‚Ä‚È‚¢ + damage += (skill * 4); // ペコに乗っおない else - damage += (skill * 5); // ƒyƒR‚ɏæ‚Á‚Ä‚é + damage += (skill * 5); // ペコに乗っおる } break; } - case 0x06: // •ÐŽè•€ + case 0x06: // 片手斧 { if ((skill = pc_checkskill (sd, AM_AXEMASTERY)) > 0) { @@ -1943,25 +1943,25 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } break; } - case 0x08: // ƒƒCƒX + case 0x08: // メむス { - // ƒƒCƒXC—û(+3 ` +30) ƒƒCƒX + // メむス修緎(+3 〜 +30) メむス if ((skill = pc_checkskill (sd, PR_MACEMASTERY)) > 0) { damage += (skill * 3); } break; } - case 0x09: // ‚È‚µ? + case 0x09: // なし? break; - case 0x0a: // ñ + case 0x0a: // 杖 break; - case 0x0b: // ‹| + case 0x0b: // 匓 break; - case 0x00: // ‘fŽè + case 0x00: // 玠手 case 0x0c: // Knuckles { - // “SŒ(+3 ` +30) ‘fŽè,ƒiƒbƒNƒ‹ + // 鉄拳(+3 〜 +30) 玠手,ナックル if ((skill = pc_checkskill (sd, MO_IRONHAND)) > 0) { damage += (skill * 3); @@ -1970,7 +1970,7 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } case 0x0d: // Musical Instrument { - // ŠyŠí‚Ì—ûK(+3 ` +30) ŠyŠí + // 楜噚の緎習(+3 〜 +30) 楜噚 if ((skill = pc_checkskill (sd, BA_MUSICALLESSON)) > 0) { damage += (skill * 3); @@ -1979,7 +1979,7 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } case 0x0e: // Dance Mastery { - // Dance Lesson Skill Effect(+3 damage for every lvl = +30) •Ú + // Dance Lesson Skill Effect(+3 damage for every lvl = +30) 鞭 if ((skill = pc_checkskill (sd, DC_DANCINGLESSON)) > 0) { damage += (skill * 3); @@ -1997,10 +1997,10 @@ int battle_addmastery (struct map_session_data *sd, struct block_list *target, } case 0x10: // Katars { - // ƒJƒ^[ƒ‹C—û(+3 ` +30) ƒJƒ^[ƒ‹ + // カタヌル修緎(+3 〜 +30) カタヌル if ((skill = pc_checkskill (sd, AS_KATAR)) > 0) { - //ƒ\ƒjƒbƒNƒuƒ[Žž‚͕ʏˆ—i1Œ‚‚É•t‚«1/8“K‰ž) + //゜ニックブロヌ時は別凊理1撃に付き1/8適応) damage += (skill * 3); } break; @@ -2031,7 +2031,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, short *sc_count; short *option, *opt1, *opt2; - //return‘O‚̏ˆ—‚ª‚ ‚é‚̂ŏî•ño—Í•”‚̂ݕύX + //return前の凊理があるので情報出力郚のみ倉曎 if (src == NULL || target == NULL || md == NULL) { nullpo_info (NLP_MARK); @@ -2047,7 +2047,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, opt1 = battle_get_opt1 (src); opt2 = battle_get_opt2 (src); - // ƒ^[ƒQƒbƒg + // タヌゲット if (target->type == BL_PC) tsd = (struct map_session_data *) target; else if (target->type == BL_MOB) @@ -2090,9 +2090,9 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, ac_flag = 1; } } - flag = BF_SHORT | BF_WEAPON | BF_NORMAL; // UŒ‚‚ÌŽí—ނ̐ݒè + flag = BF_SHORT | BF_WEAPON | BF_NORMAL; // 攻撃の皮類の蚭定 - // ‰ñ”ð—ŠŒvŽZA‰ñ”ð”»’è‚ÍŒã‚Å + // 回避率蚈算、回避刀定は埌で flee = battle_get_flee (target); if (battle_config.agi_penaly_type > 0 || battle_config.vit_penaly_type > 0) @@ -2131,7 +2131,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, else damage = 0; if (skill_num == HW_MAGICCRASHER) - { /* ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[‚ÍMATK‚ʼn£‚é */ + { /* マゞッククラッシャヌはMATKで殎る */ atkmin = battle_get_matk1 (src); atkmax = battle_get_matk2 (src); } @@ -2147,7 +2147,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, atkmin = atkmax; if (sc_data != NULL && sc_data[SC_MAXIMIZEPOWER].timer != -1) - { // ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ + { // マキシマむズパワヌ atkmin = atkmax; } @@ -2159,7 +2159,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, if (cri < 1) cri = 1; } - if (t_sc_data != NULL && t_sc_data[SC_SLEEP].timer != -1) // ‡–°’†‚̓NƒŠƒeƒBƒJƒ‹‚ª”{‚É + if (t_sc_data != NULL && t_sc_data[SC_SLEEP].timer != -1) // 睡眠䞭はクリティカルが倍に cri <<= 1; if (ac_flag) @@ -2176,8 +2176,8 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, if (tsd && tsd->critical_def) cri = cri * (100 - tsd->critical_def) / 100; - if ((skill_num == 0 || skill_num == KN_AUTOCOUNTER) && skill_lv >= 0 && battle_config.enemy_critical && (MRAND (1000)) < cri) // ”»’èiƒXƒLƒ‹‚̏ꍇ‚Í–³Ž‹j - // “G‚Ì”»’è + if ((skill_num == 0 || skill_num == KN_AUTOCOUNTER) && skill_lv >= 0 && battle_config.enemy_critical && (MRAND (1000)) < cri) // 刀定スキルの堎合は無芖 + // 敵の刀定 { damage += atkmax; type = 0x0a; @@ -2190,20 +2190,20 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, damage += atkmin + MRAND ((atkmax - atkmin + 1)); else damage += atkmin; - // ƒXƒLƒ‹C³‚PiUŒ‚—Í”{‰»Œnj - // ƒI[ƒo[ƒgƒ‰ƒXƒg(+5% ` +25%),‘ŒUŒ‚ŒnƒXƒLƒ‹‚̏ꍇ‚±‚±‚ŕ␳ - // ƒoƒbƒVƒ…,ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN, - // ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…,ƒXƒsƒAƒu[ƒƒ‰ƒ“,ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA,ƒXƒsƒAƒXƒ^ƒbƒu, - // ƒƒ}[ƒiƒCƒg,ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“ - // ƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO,ƒAƒ[ƒVƒƒƒ[,ƒ`ƒƒ[ƒWƒAƒ[, - // ƒ\ƒjƒbƒNƒuƒ[ + // スキル修正攻撃力倍化系 + // オヌバヌトラスト(+5% 〜 +25%),他攻撃系スキルの堎合ここで補正 + // バッシュ,マグナムブレむク, + // ボヌリングバッシュ,スピアブヌメラン,ブランディッシュスピア,スピアスタッブ, + // メマヌナむト,カヌトレボリュヌション + // ダブルストレむフィング,アロヌシャワヌ,チャヌゞアロヌ, + // ゜ニックブロヌ if (sc_data) - { //ó‘Ԉُ풆‚̃_ƒ[ƒW’ljÁ - if (sc_data[SC_OVERTHRUST].timer != -1) // ƒI[ƒo[ƒgƒ‰ƒXƒg + { //状態異垞䞭のダメヌゞ远加 + if (sc_data[SC_OVERTHRUST].timer != -1) // オヌバヌトラスト damage += damage * (5 * sc_data[SC_OVERTHRUST].val1) / 100; - if (sc_data[SC_TRUESIGHT].timer != -1) // ƒgƒDƒ‹[ƒTƒCƒg + if (sc_data[SC_TRUESIGHT].timer != -1) // トゥルヌサむト damage += damage * (2 * sc_data[SC_TRUESIGHT].val1) / 100; - if (sc_data[SC_BERSERK].timer != -1) // ƒo[ƒT[ƒN + if (sc_data[SC_BERSERK].timer != -1) // バヌサヌク damage += damage * 50 / 100; } @@ -2216,44 +2216,44 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, flag = (flag & ~BF_SKILLMASK) | BF_SKILL; switch (skill_num) { - case SM_BASH: // ƒoƒbƒVƒ… + case SM_BASH: // バッシュ damage = damage * (100 + 30 * skill_lv) / 100; hitrate = (hitrate * (100 + 5 * skill_lv)) / 100; break; - case SM_MAGNUM: // ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN + case SM_MAGNUM: // マグナムブレむク damage = damage * (5 * skill_lv + (wflag) ? 65 : 115) / 100; break; - case MC_MAMMONITE: // ƒƒ}[ƒiƒCƒg + case MC_MAMMONITE: // メマヌナむト damage = damage * (100 + 50 * skill_lv) / 100; break; - case AC_DOUBLE: // ƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO + case AC_DOUBLE: // ダブルストレむフィング damage = damage * (180 + 20 * skill_lv) / 100; div_ = 2; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case AC_SHOWER: // ƒAƒ[ƒVƒƒƒ[ + case AC_SHOWER: // アロヌシャワヌ damage = damage * (75 + 5 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case AC_CHARGEARROW: // ƒ`ƒƒ[ƒWƒAƒ[ + case AC_CHARGEARROW: // チャヌゞアロヌ damage = damage * 150 / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case KN_PIERCE: // ƒsƒA[ƒX + case KN_PIERCE: // ピアヌス damage = damage * (100 + 10 * skill_lv) / 100; hitrate = hitrate * (100 + 5 * skill_lv) / 100; div_ = t_size + 1; damage *= div_; break; - case KN_SPEARSTAB: // ƒXƒsƒAƒXƒ^ƒu + case KN_SPEARSTAB: // スピアスタブ damage = damage * (100 + 15 * skill_lv) / 100; break; - case KN_SPEARBOOMERANG: // ƒXƒsƒAƒu[ƒƒ‰ƒ“ + case KN_SPEARBOOMERANG: // スピアブヌメラン damage = damage * (100 + 50 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case KN_BRANDISHSPEAR: // ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA + case KN_BRANDISHSPEAR: // ブランディッシュスピア damage = damage * (100 + 20 * skill_lv) / 100; if (skill_lv > 3 && wflag == 1) damage2 += damage / 2; @@ -2270,7 +2270,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, damage += damage2; blewcount = 0; break; - case KN_BOWLINGBASH: // ƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ… + case KN_BOWLINGBASH: // ボりリングバッシュ damage = damage * (100 + 50 * skill_lv) / 100; blewcount = 0; break; @@ -2281,25 +2281,25 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, hitrate = 1000000; flag = (flag & ~BF_SKILLMASK) | BF_NORMAL; break; - case AS_SONICBLOW: // ƒ\ƒjƒbƒNƒuƒƒE + case AS_SONICBLOW: // ゜ニックブロり damage = damage * (300 + 50 * skill_lv) / 100; div_ = 8; break; - case TF_SPRINKLESAND: // »‚Ü‚« + case TF_SPRINKLESAND: // 砂たき damage = damage * 125 / 100; break; - case MC_CARTREVOLUTION: // ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“ + case MC_CARTREVOLUTION: // カヌトレボリュヌション damage = (damage * 150) / 100; break; - // ˆÈ‰ºMOB - case NPC_COMBOATTACK: // ‘œ’iUŒ‚ + // 以䞋MOB + case NPC_COMBOATTACK: // 倚段攻撃 div_ = skill_get_num (skill_num, skill_lv); damage *= div_; break; - case NPC_RANDOMATTACK: // ƒ‰ƒ“ƒ_ƒ€ATKUŒ‚ + case NPC_RANDOMATTACK: // ランダムATK攻撃 damage = damage * (MPRAND (50, 150)) / 100; break; - // ‘®«UŒ‚i“K“–j + // 属性攻撃適圓 case NPC_WATERATTACK: case NPC_GROUNDATTACK: case NPC_FIREATTACK: @@ -2319,46 +2319,46 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, case NPC_PIERCINGATT: flag = (flag & ~BF_RANGEMASK) | BF_SHORT; break; - case RG_BACKSTAP: // ƒoƒbƒNƒXƒ^ƒu + case RG_BACKSTAP: // バックスタブ damage = damage * (300 + 40 * skill_lv) / 100; hitrate = 1000000; break; - case RG_RAID: // ƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒN + case RG_RAID: // サプラむズアタック damage = damage * (100 + 40 * skill_lv) / 100; break; - case RG_INTIMIDATE: // ƒCƒ“ƒeƒBƒ~ƒfƒCƒg + case RG_INTIMIDATE: // むンティミデむト damage = damage * (100 + 30 * skill_lv) / 100; break; - case CR_SHIELDCHARGE: // ƒV[ƒ‹ƒhƒ`ƒƒ[ƒW + case CR_SHIELDCHARGE: // シヌルドチャヌゞ damage = damage * (100 + 20 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_SHORT; s_ele = 0; break; - case CR_SHIELDBOOMERANG: // ƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ + case CR_SHIELDBOOMERANG: // シヌルドブヌメラン damage = damage * (100 + 30 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; s_ele = 0; break; - case CR_HOLYCROSS: // ƒz[ƒŠ[ƒNƒƒX + case CR_HOLYCROSS: // ホヌリヌクロス damage = damage * (100 + 35 * skill_lv) / 100; div_ = 2; break; case CR_GRANDCROSS: hitrate = 1000000; break; - case AM_DEMONSTRATION: // ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ + case AM_DEMONSTRATION: // デモンストレヌション damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; break; - case AM_ACIDTERROR: // ƒAƒVƒbƒhƒeƒ‰[ + case AM_ACIDTERROR: // アシッドテラヌ damage = damage * (100 + 40 * skill_lv) / 100; damage2 = damage2 * (100 + 40 * skill_lv) / 100; break; - case MO_FINGEROFFENSIVE: //Žw’e + case MO_FINGEROFFENSIVE: //指匟 damage = damage * (100 + 50 * skill_lv) / 100; div_ = 1; break; - case MO_INVESTIGATE: // ”­ ™€ + case MO_INVESTIGATE: // 発 勁 if (def1 < 1000000) damage = damage * (100 + 75 * skill_lv) / 100 * (def1 + @@ -2367,61 +2367,61 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, hitrate = 1000000; s_ele = 0; break; - case MO_EXTREMITYFIST: // ˆ¢C—…”e–PŒ + case MO_EXTREMITYFIST: // 阿修矅芇鳳拳 damage = damage * 8 + 250 + (skill_lv * 150); hitrate = 1000000; s_ele = 0; break; - case MO_CHAINCOMBO: // ˜A‘ŏ¶ + case MO_CHAINCOMBO: // 連打掌 damage = damage * (150 + 50 * skill_lv) / 100; div_ = 4; break; - case BA_MUSICALSTRIKE: // ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒN + case BA_MUSICALSTRIKE: // ミュヌゞカルストラむク damage = damage * (100 + 50 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case DC_THROWARROW: // –‚¿ + case DC_THROWARROW: // 矢撃ち damage = damage * (100 + 50 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case MO_COMBOFINISH: // –Ò—ŽŒ + case MO_COMBOFINISH: // 猛韍拳 damage = damage * (240 + 60 * skill_lv) / 100; break; - case CH_TIGERFIST: // •šŒÕŒ + case CH_TIGERFIST: // 䌏虎拳 damage = damage * (100 + 20 * skill_lv) / 100; break; - case CH_CHAINCRUSH: // ˜A’Œ•öŒ‚ + case CH_CHAINCRUSH: // 連柱厩撃 damage = damage * (100 + 20 * skill_lv) / 100; div_ = skill_get_num (skill_num, skill_lv); break; - case CH_PALMSTRIKE: // –ҌՍd”hŽR + case CH_PALMSTRIKE: // 猛虎硬掟山 damage = damage * (50 + 100 * skill_lv) / 100; break; - case LK_SPIRALPIERCE: /* ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX */ - damage = damage * (100 + 50 * skill_lv) / 100; //‘‰Á—Ê‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É + case LK_SPIRALPIERCE: /* スパむラルピアヌス */ + damage = damage * (100 + 50 * skill_lv) / 100; //増加量が分からないので適圓に div_ = 5; if (tsd) tsd->canmove_tick = gettick () + 1000; else if (tmd) tmd->canmove_tick = gettick () + 1000; break; - case LK_HEADCRUSH: /* ƒwƒbƒhƒNƒ‰ƒbƒVƒ… */ + case LK_HEADCRUSH: /* ヘッドクラッシュ */ damage = damage * (100 + 20 * skill_lv) / 100; break; - case LK_JOINTBEAT: /* ƒWƒ‡ƒCƒ“ƒgƒr[ƒg */ + case LK_JOINTBEAT: /* ゞョむントビヌト */ damage = damage * (50 + 10 * skill_lv) / 100; break; - case ASC_METEORASSAULT: /* ƒƒeƒIƒAƒTƒ‹ƒg */ + case ASC_METEORASSAULT: /* メテオアサルト */ damage = damage * (40 + 40 * skill_lv) / 100; break; - case SN_SHARPSHOOTING: /* ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO */ + case SN_SHARPSHOOTING: /* シャヌプシュヌティング */ damage += damage * (30 * skill_lv) / 100; break; - case CG_ARROWVULCAN: /* ƒAƒ[ƒoƒ‹ƒJƒ“ */ + case CG_ARROWVULCAN: /* アロヌバルカン */ damage = damage * (160 + 40 * skill_lv) / 100; div_ = 9; break; - case AS_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case AS_SPLASHER: /* ベナムスプラッシャヌ */ damage = damage * (200 + 20 * skill_lv) / 100; break; } @@ -2429,11 +2429,11 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, if (skill_num != NPC_CRITICALSLASH) { - // ‘Î Û‚Ì–hŒä—Í‚É‚æ‚éƒ_ƒ[ƒW‚ÌŒž­ - // ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“i‚±‚±‚Å‚¢‚¢‚Ì‚©‚ȁHj + // 察 象の防埡力によるダメヌゞの枛少 + // ディバむンプロテクションここでいいのかな if (skill_num != MO_INVESTIGATE && skill_num != MO_EXTREMITYFIST && skill_num != KN_AUTOCOUNTER && def1 < 1000000) - { //DEF, VIT–³Ž‹ + { //DEF, VIT無芖 int t_def; target_count = 1 + battle_counttargeted (target, src, @@ -2513,17 +2513,17 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, } } - // 0–¢–ž‚Ÿ‚Á‚œê‡1‚ɕ␳ + // 0未満だった堎合1に補正 if (damage < 1) damage = 1; - // ‰ñ”ðC³ + // 回避修正 if (hitrate < 1000000) hitrate = ((hitrate > 95) ? 95 : ((hitrate < 5) ? 5 : hitrate)); - if (hitrate < 1000000 && // •K’†UŒ‚ - (t_sc_data != NULL && (t_sc_data[SC_SLEEP].timer != -1 || // ‡–°‚Í•K’† - t_sc_data[SC_STAN].timer != -1 || // ƒXƒ^ƒ“‚Í•K’† - t_sc_data[SC_FREEZE].timer != -1 || (t_sc_data[SC_STONE].timer != -1 && t_sc_data[SC_STONE].val2 == 0)))) // “€Œ‹‚Í•K’† + if (hitrate < 1000000 && // 必䞭攻撃 + (t_sc_data != NULL && (t_sc_data[SC_SLEEP].timer != -1 || // 睡眠は必䞭 + t_sc_data[SC_STAN].timer != -1 || // スタンは必䞭 + t_sc_data[SC_FREEZE].timer != -1 || (t_sc_data[SC_STONE].timer != -1 && t_sc_data[SC_STONE].val2 == 0)))) // 凍結は必䞭 hitrate = 1000000; if (type == 0 && MRAND (100) >= hitrate) { @@ -2538,8 +2538,8 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, if (tsd) { int cardfix = 100, i; - cardfix = cardfix * (100 - tsd->subele[s_ele]) / 100; // ‘® «‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« - cardfix = cardfix * (100 - tsd->subrace[s_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« + cardfix = cardfix * (100 - tsd->subele[s_ele]) / 100; // 属 性によるダメヌゞ耐性 + cardfix = cardfix * (100 - tsd->subrace[s_race]) / 100; // 皮族によるダメヌゞ耐性 if (mob_db[md->class].mode & 0x20) cardfix = cardfix * (100 - tsd->subrace[10]) / 100; else @@ -2567,7 +2567,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, damage = damage * cardfix / 100; } if (t_sc_data && t_sc_data[SC_ASSUMPTIO].timer != -1) - { //ƒAƒVƒƒƒ“ƒvƒeƒBƒI + { //アシャンプティオ if (!map[target->m].flag.pvp) damage = damage / 3; else @@ -2577,19 +2577,19 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, if (damage < 0) damage = 0; - // ‘® «‚Ì“K—p + // 属 性の適甚 if (!((battle_config.mob_ghostring_fix == 1) && (battle_get_element (target) == 8) && (target->type == BL_PC))) // [MouseJstr] if (skill_num != 0 || s_ele != 0 || !battle_config.mob_attack_attr_none) damage = battle_attr_fix (damage, s_ele, battle_get_element (target)); - if (sc_data && sc_data[SC_AURABLADE].timer != -1) /* ƒI[ƒ‰ƒuƒŒ[ƒh •K’† */ + if (sc_data && sc_data[SC_AURABLADE].timer != -1) /* オヌラブレヌド å¿…äž­ */ damage += sc_data[SC_AURABLADE].val1 * 10; - if (skill_num == PA_PRESSURE) /* ƒvƒŒƒbƒVƒƒ[ •K’†? */ + if (skill_num == PA_PRESSURE) /* プレッシャヌ å¿…äž­? */ damage = 700 + 100 * skill_lv; - // ƒCƒ“ƒxƒiƒ€C³ + // むンベナム修正 if (skill_num == TF_POISON) { damage = @@ -2601,7 +2601,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, damage = battle_attr_fix (damage, 0, battle_get_element (target)); } - // Š®‘S‰ñ”ð‚Ì”»’è + // 完党回避の刀定 if (skill_num == 0 && skill_lv >= 0 && tsd != NULL && MRAND (1000) < battle_get_flee2 (target)) { @@ -2664,7 +2664,7 @@ int battle_is_unarmed (struct block_list *bl) /* * ========================================================================= - * PC‚Ì•Ší‚É‚æ‚éUŒ‚ + * PCの歊噚による攻撃 *------------------------------------------------------------------------- */ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, @@ -2688,13 +2688,13 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, struct status_change *sc_data, *t_sc_data; short *sc_count; short *option, *opt1, *opt2; - int atkmax_ = 0, atkmin_ = 0, s_ele_; //“ñ“—¬—p + int atkmax_ = 0, atkmin_ = 0, s_ele_; //二刀流甚 int watk, watk_, cardfix, t_ele; int da = 0, i, t_class, ac_flag = 0; int idef_flag = 0, idef_flag_ = 0; int target_distance; - //return‘O‚̏ˆ—‚ª‚ ‚é‚̂ŏî•ño—Í•”‚̂ݕύX + //return前の凊理があるので情報出力郚のみ倉曎 if (src == NULL || target == NULL || sd == NULL) { nullpo_info (NLP_MARK); @@ -2702,31 +2702,31 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, return wd; } - // ƒAƒ^ƒbƒJ[ - s_race = battle_get_race (src); //Ží‘° - s_ele = battle_get_attack_element (src); //‘®« - s_ele_ = battle_get_attack_element2 (src); //¶Žè‘®« - sc_data = battle_get_sc_data (src); //ƒXƒe[ƒ^ƒXˆÙí - sc_count = battle_get_sc_count (src); //ƒXƒe[ƒ^ƒXˆÙí‚̐” - option = battle_get_option (src); //‘é‚Æ‚©ƒyƒR‚Æ‚©ƒJ[ƒg‚Æ‚© - opt1 = battle_get_opt1 (src); //Î‰»A“€Œ‹AƒXƒ^ƒ“A‡–°AˆÃˆÅ - opt2 = battle_get_opt2 (src); //“ŁAŽô‚¢A’Ÿ–فAˆÃˆÅH - - if (skill_num != CR_GRANDCROSS) //ƒOƒ‰ƒ“ƒhƒNƒƒX‚Å‚È‚¢‚È‚ç - sd->state.attack_type = BF_WEAPON; //UŒ‚ƒ^ƒCƒv‚Í•ŠíUŒ‚ - - // ƒ^[ƒQƒbƒg - if (target->type == BL_PC) //‘ΏۂªPC‚È‚ç - tsd = (struct map_session_data *) target; //tsd‚É‘ã“ü(tmd‚ÍNULL) - else if (target->type == BL_MOB) //‘ΏۂªMob‚È‚ç - tmd = (struct mob_data *) target; //tmd‚É‘ã“ü(tsd‚ÍNULL) - t_race = battle_get_race (target); //‘Ώۂ̎푰 - t_ele = battle_get_elem_type (target); //‘Ώۂ̑®« - t_size = battle_get_size (target); //‘Ώۂ̃TƒCƒY - t_mode = battle_get_mode (target); //‘ΏۂÌMode - t_sc_data = battle_get_sc_data (target); //‘Ώۂ̃Xƒe[ƒ^ƒXˆÙí - -//ƒI[ƒgƒJƒEƒ“ƒ^[ˆ—‚±‚±‚©‚ç + // アタッカヌ + s_race = battle_get_race (src); //皮族 + s_ele = battle_get_attack_element (src); //属性 + s_ele_ = battle_get_attack_element2 (src); //巊手属性 + sc_data = battle_get_sc_data (src); //ステヌタス異垞 + sc_count = battle_get_sc_count (src); //ステヌタス異垞の数 + option = battle_get_option (src); //鷹ずかペコずかカヌトずか + opt1 = battle_get_opt1 (src); //石化、凍結、スタン、睡眠、暗闇 + opt2 = battle_get_opt2 (src); //毒、呪い、沈黙、暗闇 + + if (skill_num != CR_GRANDCROSS) //グランドクロスでないなら + sd->state.attack_type = BF_WEAPON; //攻撃タむプは歊噚攻撃 + + // タヌゲット + if (target->type == BL_PC) //察象がPCなら + tsd = (struct map_session_data *) target; //tsdに代入(tmdはNULL) + else if (target->type == BL_MOB) //察象がMobなら + tmd = (struct mob_data *) target; //tmdに代入(tsdはNULL) + t_race = battle_get_race (target); //察象の皮族 + t_ele = battle_get_elem_type (target); //察象の属性 + t_size = battle_get_size (target); //察象のサむズ + t_mode = battle_get_mode (target); //察象のMode + t_sc_data = battle_get_sc_data (target); //察象のステヌタス異垞 + +//オヌトカりンタヌ凊理ここから if ((skill_num == 0 || (target->type == BL_PC && battle_config.pc_auto_counter_type & 2) || (target->type == BL_MOB @@ -2735,57 +2735,57 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, { if (skill_num != CR_GRANDCROSS && t_sc_data && t_sc_data[SC_AUTOCOUNTER].timer != -1) - { //ƒOƒ‰ƒ“ƒhƒNƒƒX‚Å‚È‚­A‘ΏۂªƒI[ƒgƒJƒEƒ“ƒ^[ó‘Ԃ̏ꍇ + { //グランドクロスでなく、察象がオヌトカりンタヌ状態の堎合 int dir = map_calc_dir (src, target->x, target->y), t_dir = battle_get_dir (target); int dist = distance (src->x, src->y, target->x, target->y); if (dist <= 0 || map_check_dir (dir, t_dir)) - { //‘ΏۂƂ̋——£‚ª0ˆÈ‰ºA‚Ü‚œ‚͑Ώۂ̐³–ʁH + { //察象ずの距離が0以䞋、たたは察象の正面 memset (&wd, 0, sizeof (wd)); t_sc_data[SC_AUTOCOUNTER].val3 = 0; t_sc_data[SC_AUTOCOUNTER].val4 = 1; if (sc_data && sc_data[SC_AUTOCOUNTER].timer == -1) - { //Ž©•ª‚ªƒI[ƒgƒJƒEƒ“ƒ^[ó‘Ô + { //自分がオヌトカりンタヌ状態 int range = battle_get_range (target); - if ((target->type == BL_PC && ((struct map_session_data *) target)->status.weapon != 11 && dist <= range + 1) || //‘ΏۂªPC‚Å•Ší‚ª‹|–î‚Å‚È‚­ŽË’ö“à - (target->type == BL_MOB && range <= 3 && dist <= range + 1)) //‚Ü‚œ‚͑ΏۂªMob‚ÅŽË’ö‚ª3ˆÈ‰º‚ÅŽË’ö“à + if ((target->type == BL_PC && ((struct map_session_data *) target)->status.weapon != 11 && dist <= range + 1) || //察象がPCで歊噚が匓矢でなく射皋内 + (target->type == BL_MOB && range <= 3 && dist <= range + 1)) //たたは察象がMobで射皋が3以䞋で射皋内 t_sc_data[SC_AUTOCOUNTER].val3 = src->id; } - return wd; //ƒ_ƒ[ƒW\‘¢‘Ì‚ð•Ô‚µ‚ďI—¹ + return wd; //ダメヌゞ構造䜓を返しお終了 } else ac_flag = 1; } } -//ƒI[ƒgƒJƒEƒ“ƒ^[ˆ—‚±‚±‚Ü‚Å +//オヌトカりンタヌ凊理ここたで - flag = BF_SHORT | BF_WEAPON | BF_NORMAL; // UŒ‚‚ÌŽí—ނ̐ݒè + flag = BF_SHORT | BF_WEAPON | BF_NORMAL; // 攻撃の皮類の蚭定 - // ‰ñ”ð—ŠŒvŽZA‰ñ”ð”»’è‚ÍŒã‚Å + // 回避率蚈算、回避刀定は埌で flee = battle_get_flee (target); - if (battle_config.agi_penaly_type > 0 || battle_config.vit_penaly_type > 0) //AGIAVITƒyƒiƒ‹ƒeƒBÝ’肪—LŒø - target_count += battle_counttargeted (target, src, battle_config.agi_penaly_count_lv); //‘Ώۂ̐”‚ðŽZo + if (battle_config.agi_penaly_type > 0 || battle_config.vit_penaly_type > 0) //AGI、VITペナルティ蚭定が有効 + target_count += battle_counttargeted (target, src, battle_config.agi_penaly_count_lv); //察象の数を算出 if (battle_config.agi_penaly_type > 0) { if (target_count >= battle_config.agi_penaly_count) - { //ƒyƒiƒ‹ƒeƒBÝ’è‚æ‚è‘Ώۂª‘œ‚¢ - if (battle_config.agi_penaly_type == 1) //‰ñ”ð—Š‚ªagi_penaly_num%‚ž‚ÂŒž­ + { //ペナルティ蚭定より察象が倚い + if (battle_config.agi_penaly_type == 1) //回避率がagi_penaly_num%ず぀枛少 flee = (flee * (100 - (target_count - (battle_config.agi_penaly_count - 1)) * battle_config.agi_penaly_num)) / 100; - else if (battle_config.agi_penaly_type == 2) //‰ñ”ð—Š‚ªagi_penaly_num•ªŒž­ + else if (battle_config.agi_penaly_type == 2) //回避率がagi_penaly_num分枛少 flee -= (target_count - (battle_config.agi_penaly_count - 1)) * battle_config.agi_penaly_num; if (flee < 1) - flee = 1; //‰ñ”𗊂͍Œá‚Å‚à1 + flee = 1; //回避率は最䜎でも1 } } - hitrate = battle_get_hit (src) - flee + 80; //–œ’†—ŠŒvŽZ + hitrate = battle_get_hit (src) - flee + 80; //呜䞭率蚈算 { // [fate] Reduce hit chance by distance int dx = abs (src->x - target->x); @@ -2801,18 +2801,18 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, dex = battle_get_dex (src); //DEX luk = battle_get_luk (src); //LUK watk = battle_get_atk (src); //ATK - watk_ = battle_get_atk_ (src); //ATK¶Žè + watk_ = battle_get_atk_ (src); //ATK巊手 type = 0; // normal div_ = 1; // single attack if (skill_num == HW_MAGICCRASHER) - { /* ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[‚ÍMATK‚ʼn£‚é */ - damage = damage2 = battle_get_matk1 (src); //damega,damega2‰“oêAbase_atk‚ÌŽæ“Ÿ + { /* マゞッククラッシャヌはMATKで殎る */ + damage = damage2 = battle_get_matk1 (src); //damega,damega2初登堎、base_atkの取埗 } else { - damage = damage2 = battle_get_baseatk (&sd->bl); //damega,damega2‰“oêAbase_atk‚ÌŽæ“Ÿ + damage = damage2 = battle_get_baseatk (&sd->bl); //damega,damega2初登堎、base_atkの取埗 } if (sd->attackrange > 2) { // [fate] ranged weapon? @@ -2827,8 +2827,8 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, sd->attackrange)) >> 8; } - atkmin = atkmin_ = dex; //Å’áATK‚ÍDEX‚ŏ‰Šú‰»H - sd->state.arrow_atk = 0; //arrow_atk‰Šú‰» + atkmin = atkmin_ = dex; //最䜎ATKはDEXで初期化 + sd->state.arrow_atk = 0; //arrow_atk初期化 if (sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]]) atkmin = atkmin * (80 + @@ -2839,22 +2839,22 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, sd->inventory_data[sd->equip_index[8]]->wlv * 20) / 100; if (sd->status.weapon == 11) - { //•Ší‚ª‹|–î‚̏ꍇ - atkmin = watk * ((atkmin < watk) ? atkmin : watk) / 100; //‹|—pÅ’áATKŒvŽZ - flag = (flag & ~BF_RANGEMASK) | BF_LONG; //‰“‹——£UŒ‚ƒtƒ‰ƒO‚ð—LŒø - if (sd->arrow_ele > 0) //‘®«–î‚È‚ç‘®«‚ð–î‚Ì‘®«‚ɕύX + { //歊噚が匓矢の堎合 + atkmin = watk * ((atkmin < watk) ? atkmin : watk) / 100; //匓甚最䜎ATK蚈算 + flag = (flag & ~BF_RANGEMASK) | BF_LONG; //遠距離攻撃フラグを有効 + if (sd->arrow_ele > 0) //属性矢なら属性を矢の属性に倉曎 s_ele = sd->arrow_ele; - sd->state.arrow_atk = 1; //arrow_atk—LŒø‰» + sd->state.arrow_atk = 1; //arrow_atk有効化 } - // ƒTƒCƒYC³ - // ƒyƒR‹Ræ‚µ‚Ä‚¢‚āA‘„‚ōUŒ‚‚µ‚œê‡‚Í’†Œ^‚̃TƒCƒYC³‚ð100‚É‚·‚é - // ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“,ƒhƒŒƒCƒNC + // サむズ修正 + // ペコ階乗しおいお、槍で攻撃した堎合は䞭型のサむズ修正を100にする + // りェポンパヌフェクション,ドレむクC if (((sd->special_state.no_sizefix) || (pc_isriding (sd) && (sd->status.weapon == 4 || sd->status.weapon == 5) && t_size == 1) || skill_num == MO_EXTREMITYFIST)) - { //ƒyƒR‹Ræ‚µ‚Ä‚¢‚āA‘„‚Å’†Œ^‚ðUŒ‚ + { //ペコ階乗しおいお、槍で䞭型を攻撃 atkmax = watk; atkmax_ = watk_; } @@ -2867,23 +2867,23 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } if ((sc_data != NULL && sc_data[SC_WEAPONPERFECTION].timer != -1) || (sd->special_state.no_sizefix)) - { // ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ || ƒhƒŒƒCƒNƒJ[ƒh + { // りェポンパヌフェクション || ドレむクカヌド atkmax = watk; atkmax_ = watk_; } if (atkmin > atkmax && !(sd->state.arrow_atk)) - atkmin = atkmax; //‹|‚͍ŒႪã‰ñ‚éê‡‚ ‚è + atkmin = atkmax; //匓は最䜎が䞊回る堎合あり if (atkmin_ > atkmax_) atkmin_ = atkmax_; if (sc_data != NULL && sc_data[SC_MAXIMIZEPOWER].timer != -1) - { // ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ + { // マキシマむズパワヌ atkmin = atkmax; atkmin_ = atkmax_; } - //ƒ_ƒuƒ‹ƒAƒ^ƒbƒN”»’è + //ダブルアタック刀定 if (sd->weapontype1 == 0x01) { if (skill_num == 0 && skill_lv >= 0 @@ -2891,7 +2891,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, da = (MRAND (100) < (skill * 5)) ? 1 : 0; } - //ŽO’i¶ + //䞉段掌 if (skill_num == 0 && skill_lv >= 0 && (skill = pc_checkskill (sd, MO_TRIPLEATTACK)) > 0 && sd->status.weapon <= 16 && !sd->state.arrow_atk) @@ -2902,24 +2902,24 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, if (sd->double_rate > 0 && da == 0 && skill_num == 0 && skill_lv >= 0) da = (MRAND (100) < sd->double_rate) ? 1 : 0; - // ‰ßèž˜Bƒ{[ƒiƒX + // 過剰粟錬ボヌナス if (sd->overrefine > 0) damage += MPRAND (1, sd->overrefine); if (sd->overrefine_ > 0) damage2 += MPRAND (1, sd->overrefine_); if (da == 0) - { //ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª”­“®‚µ‚Ä‚¢‚È‚¢ - // ƒNƒŠƒeƒBƒJƒ‹ŒvŽZ + { //ダブルアタックが発動しおいない + // クリティカル蚈算 cri = battle_get_critical (src); if (sd->state.arrow_atk) cri += sd->arrow_cri; if (sd->status.weapon == 16) - // ƒJƒ^[ƒ‹‚̏ꍇAƒNƒŠƒeƒBƒJƒ‹‚ð”{‚É + // カタヌルの堎合、クリティカルを倍に cri <<= 1; cri -= battle_get_luk (target) * 3; - if (t_sc_data != NULL && t_sc_data[SC_SLEEP].timer != -1) // ‡–°’†‚̓NƒŠƒeƒBƒJƒ‹‚ª”{‚É + if (t_sc_data != NULL && t_sc_data[SC_SLEEP].timer != -1) // 睡眠䞭はクリティカルが倍に cri <<= 1; if (ac_flag) cri = 1000; @@ -2939,8 +2939,8 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, if (tsd && tsd->critical_def) cri = cri * (100 - tsd->critical_def) / 100; - if (da == 0 && (skill_num == 0 || skill_num == KN_AUTOCOUNTER || skill_num == SN_SHARPSHOOTING) && skill_lv >= 0 && //ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª”­“®‚µ‚Ä‚¢‚È‚¢ - (MRAND (1000)) < cri) // ”»’èiƒXƒLƒ‹‚̏ꍇ‚Í–³Ž‹j + if (da == 0 && (skill_num == 0 || skill_num == KN_AUTOCOUNTER || skill_num == SN_SHARPSHOOTING) && skill_lv >= 0 && //ダブルアタックが発動しおいない + (MRAND (1000)) < cri) // 刀定スキルの堎合は無芖 { damage += atkmax; damage2 += atkmax_; @@ -3051,27 +3051,27 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } - // ƒXƒLƒ‹C³‚PiUŒ‚—Í”{‰»Œnj - // ƒI[ƒo[ƒgƒ‰ƒXƒg(+5% ` +25%),‘ŒUŒ‚ŒnƒXƒLƒ‹‚̏ꍇ‚±‚±‚ŕ␳ - // ƒoƒbƒVƒ…,ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN, - // ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…,ƒXƒsƒAƒu[ƒƒ‰ƒ“,ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA,ƒXƒsƒAƒXƒ^ƒbƒu, - // ƒƒ}[ƒiƒCƒg,ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“ - // ƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO,ƒAƒ[ƒVƒƒƒ[,ƒ`ƒƒ[ƒWƒAƒ[, - // ƒ\ƒjƒbƒNƒuƒ[ + // スキル修正攻撃力倍化系 + // オヌバヌトラスト(+5% 〜 +25%),他攻撃系スキルの堎合ここで補正 + // バッシュ,マグナムブレむク, + // ボヌリングバッシュ,スピアブヌメラン,ブランディッシュスピア,スピアスタッブ, + // メマヌナむト,カヌトレボリュヌション + // ダブルストレむフィング,アロヌシャワヌ,チャヌゞアロヌ, + // ゜ニックブロヌ if (sc_data) - { //ó‘Ԉُ풆‚̃_ƒ[ƒW’ljÁ + { //状態異垞䞭のダメヌゞ远加 if (sc_data[SC_OVERTHRUST].timer != -1) - { // ƒI[ƒo[ƒgƒ‰ƒXƒg + { // オヌバヌトラスト damage += damage * (5 * sc_data[SC_OVERTHRUST].val1) / 100; damage2 += damage2 * (5 * sc_data[SC_OVERTHRUST].val1) / 100; } if (sc_data[SC_TRUESIGHT].timer != -1) - { // ƒgƒDƒ‹[ƒTƒCƒg + { // トゥルヌサむト damage += damage * (2 * sc_data[SC_TRUESIGHT].val1) / 100; damage2 += damage2 * (2 * sc_data[SC_TRUESIGHT].val1) / 100; } if (sc_data[SC_BERSERK].timer != -1) - { // ƒo[ƒT[ƒN + { // バヌサヌク damage += damage * 50 / 100; damage2 += damage2 * 50 / 100; } @@ -3086,22 +3086,22 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_SKILLMASK) | BF_SKILL; switch (skill_num) { - case SM_BASH: // ƒoƒbƒVƒ… + case SM_BASH: // バッシュ damage = damage * (100 + 30 * skill_lv) / 100; damage2 = damage2 * (100 + 30 * skill_lv) / 100; hitrate = (hitrate * (100 + 5 * skill_lv)) / 100; break; - case SM_MAGNUM: // ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN + case SM_MAGNUM: // マグナムブレむク damage = damage * (5 * skill_lv + (wflag) ? 65 : 115) / 100; damage2 = damage2 * (5 * skill_lv + (wflag) ? 65 : 115) / 100; break; - case MC_MAMMONITE: // ƒƒ}[ƒiƒCƒg + case MC_MAMMONITE: // メマヌナむト damage = damage * (100 + 50 * skill_lv) / 100; damage2 = damage2 * (100 + 50 * skill_lv) / 100; break; - case AC_DOUBLE: // ƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO + case AC_DOUBLE: // ダブルストレむフィング if (!sd->state.arrow_atk && sd->arrow_atk > 0) { int arr = MRAND ((sd->arrow_atk + 1)); @@ -3119,7 +3119,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_RANGEMASK) | BF_LONG; sd->state.arrow_atk = 1; break; - case AC_SHOWER: // ƒAƒ[ƒVƒƒƒ[ + case AC_SHOWER: // アロヌシャワヌ if (!sd->state.arrow_atk && sd->arrow_atk > 0) { int arr = MRAND ((sd->arrow_atk + 1)); @@ -3136,7 +3136,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_RANGEMASK) | BF_LONG; sd->state.arrow_atk = 1; break; - case AC_CHARGEARROW: // ƒ`ƒƒ[ƒWƒAƒ[ + case AC_CHARGEARROW: // チャヌゞアロヌ if (!sd->state.arrow_atk && sd->arrow_atk > 0) { int arr = MRAND ((sd->arrow_atk + 1)); @@ -3153,7 +3153,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_RANGEMASK) | BF_LONG; sd->state.arrow_atk = 1; break; - case KN_PIERCE: // ƒsƒA[ƒX + case KN_PIERCE: // ピアヌス damage = damage * (100 + 10 * skill_lv) / 100; damage2 = damage2 * (100 + 10 * skill_lv) / 100; hitrate = hitrate * (100 + 5 * skill_lv) / 100; @@ -3161,16 +3161,16 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, damage *= div_; damage2 *= div_; break; - case KN_SPEARSTAB: // ƒXƒsƒAƒXƒ^ƒu + case KN_SPEARSTAB: // スピアスタブ damage = damage * (100 + 15 * skill_lv) / 100; damage2 = damage2 * (100 + 15 * skill_lv) / 100; break; - case KN_SPEARBOOMERANG: // ƒXƒsƒAƒu[ƒƒ‰ƒ“ + case KN_SPEARBOOMERANG: // スピアブヌメラン damage = damage * (100 + 50 * skill_lv) / 100; damage2 = damage2 * (100 + 50 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; break; - case KN_BRANDISHSPEAR: // ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA + case KN_BRANDISHSPEAR: // ブランディッシュスピア damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; if (skill_lv > 3 && wflag == 1) @@ -3201,7 +3201,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, damage2 += damage4; blewcount = 0; break; - case KN_BOWLINGBASH: // ƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ… + case KN_BOWLINGBASH: // ボりリングバッシュ damage = damage * (100 + 50 * skill_lv) / 100; damage2 = damage2 * (100 + 50 * skill_lv) / 100; blewcount = 0; @@ -3213,17 +3213,17 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, hitrate = 1000000; flag = (flag & ~BF_SKILLMASK) | BF_NORMAL; break; - case AS_SONICBLOW: // ƒ\ƒjƒbƒNƒuƒƒE + case AS_SONICBLOW: // ゜ニックブロり hitrate += 30; // hitrate +30, thanks to midas damage = damage * (300 + 50 * skill_lv) / 100; damage2 = damage2 * (300 + 50 * skill_lv) / 100; div_ = 8; break; - case TF_SPRINKLESAND: // »‚Ü‚« + case TF_SPRINKLESAND: // 砂たき damage = damage * 125 / 100; damage2 = damage2 * 125 / 100; break; - case MC_CARTREVOLUTION: // ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“ + case MC_CARTREVOLUTION: // カヌトレボリュヌション if (sd->cart_max_weight > 0 && sd->cart_weight > 0) { damage = @@ -3243,17 +3243,17 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, damage2 = (damage2 * 150) / 100; } break; - // ˆÈ‰ºMOB - case NPC_COMBOATTACK: // ‘œ’iUŒ‚ + // 以䞋MOB + case NPC_COMBOATTACK: // 倚段攻撃 div_ = skill_get_num (skill_num, skill_lv); damage *= div_; damage2 *= div_; break; - case NPC_RANDOMATTACK: // ƒ‰ƒ“ƒ_ƒ€ATKUŒ‚ + case NPC_RANDOMATTACK: // ランダムATK攻撃 damage = damage * (MPRAND (50, 150)) / 100; damage2 = damage2 * (MPRAND (50, 150)) / 100; break; - // ‘®«UŒ‚i“K“–j + // 属性攻撃適圓 case NPC_WATERATTACK: case NPC_GROUNDATTACK: case NPC_FIREATTACK: @@ -3274,7 +3274,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, case NPC_PIERCINGATT: flag = (flag & ~BF_RANGEMASK) | BF_SHORT; break; - case RG_BACKSTAP: // ƒoƒbƒNƒXƒ^ƒu + case RG_BACKSTAP: // バックスタブ if (battle_config.backstab_bow_penalty == 1 && sd->status.weapon == 11) { @@ -3288,27 +3288,27 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } hitrate = 1000000; break; - case RG_RAID: // ƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒN + case RG_RAID: // サプラむズアタック damage = damage * (100 + 40 * skill_lv) / 100; damage2 = damage2 * (100 + 40 * skill_lv) / 100; break; - case RG_INTIMIDATE: // ƒCƒ“ƒeƒBƒ~ƒfƒCƒg + case RG_INTIMIDATE: // むンティミデむト damage = damage * (100 + 30 * skill_lv) / 100; damage2 = damage2 * (100 + 30 * skill_lv) / 100; break; - case CR_SHIELDCHARGE: // ƒV[ƒ‹ƒhƒ`ƒƒ[ƒW + case CR_SHIELDCHARGE: // シヌルドチャヌゞ damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_SHORT; s_ele = 0; break; - case CR_SHIELDBOOMERANG: // ƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ + case CR_SHIELDBOOMERANG: // シヌルドブヌメラン damage = damage * (100 + 30 * skill_lv) / 100; damage2 = damage2 * (100 + 30 * skill_lv) / 100; flag = (flag & ~BF_RANGEMASK) | BF_LONG; s_ele = 0; break; - case CR_HOLYCROSS: // ƒz[ƒŠ[ƒNƒƒX + case CR_HOLYCROSS: // ホヌリヌクロス damage = damage * (100 + 35 * skill_lv) / 100; damage2 = damage2 * (100 + 35 * skill_lv) / 100; div_ = 2; @@ -3316,15 +3316,15 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, case CR_GRANDCROSS: hitrate = 1000000; break; - case AM_DEMONSTRATION: // ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ + case AM_DEMONSTRATION: // デモンストレヌション damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; break; - case AM_ACIDTERROR: // ƒAƒVƒbƒhƒeƒ‰[ + case AM_ACIDTERROR: // アシッドテラヌ damage = damage * (100 + 40 * skill_lv) / 100; damage2 = damage2 * (100 + 40 * skill_lv) / 100; break; - case MO_FINGEROFFENSIVE: //Žw’e + case MO_FINGEROFFENSIVE: //指匟 if (battle_config.finger_offensive_type == 0) { damage = @@ -3344,7 +3344,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, div_ = 1; } break; - case MO_INVESTIGATE: // ”­ ™€ + case MO_INVESTIGATE: // 発 勁 if (def1 < 1000000) { damage = @@ -3360,7 +3360,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, s_ele = 0; s_ele_ = 0; break; - case MO_EXTREMITYFIST: // ˆ¢C—…”e–PŒ + case MO_EXTREMITYFIST: // 阿修矅芇鳳拳 damage = damage * (8 + ((sd->status.sp) / 10)) + 250 + (skill_lv * 150); @@ -3373,16 +3373,16 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, s_ele = 0; s_ele_ = 0; break; - case MO_CHAINCOMBO: // ˜A‘ŏ¶ + case MO_CHAINCOMBO: // 連打掌 damage = damage * (150 + 50 * skill_lv) / 100; damage2 = damage2 * (150 + 50 * skill_lv) / 100; div_ = 4; break; - case MO_COMBOFINISH: // –Ò—ŽŒ + case MO_COMBOFINISH: // 猛韍拳 damage = damage * (240 + 60 * skill_lv) / 100; damage2 = damage2 * (240 + 60 * skill_lv) / 100; break; - case BA_MUSICALSTRIKE: // ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒN + case BA_MUSICALSTRIKE: // ミュヌゞカルストラむク if (!sd->state.arrow_atk && sd->arrow_atk > 0) { int arr = MRAND ((sd->arrow_atk + 1)); @@ -3399,7 +3399,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_RANGEMASK) | BF_LONG; sd->state.arrow_atk = 1; break; - case DC_THROWARROW: // –‚¿ + case DC_THROWARROW: // 矢撃ち if (!sd->state.arrow_atk && sd->arrow_atk > 0) { int arr = MRAND ((sd->arrow_atk + 1)); @@ -3416,50 +3416,50 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, flag = (flag & ~BF_RANGEMASK) | BF_LONG; sd->state.arrow_atk = 1; break; - case CH_TIGERFIST: // •šŒÕŒ + case CH_TIGERFIST: // 䌏虎拳 damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; break; - case CH_CHAINCRUSH: // ˜A’Œ•öŒ‚ + case CH_CHAINCRUSH: // 連柱厩撃 damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; div_ = skill_get_num (skill_num, skill_lv); break; - case CH_PALMSTRIKE: // –ҌՍd”hŽR + case CH_PALMSTRIKE: // 猛虎硬掟山 damage = damage * (50 + 100 * skill_lv) / 100; damage2 = damage2 * (50 + 100 * skill_lv) / 100; break; - case LK_SPIRALPIERCE: /* ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX */ - damage = damage * (100 + 50 * skill_lv) / 100; //‘‰Á—Ê‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É - damage2 = damage2 * (100 + 50 * skill_lv) / 100; //‘‰Á—Ê‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É + case LK_SPIRALPIERCE: /* スパむラルピアヌス */ + damage = damage * (100 + 50 * skill_lv) / 100; //増加量が分からないので適圓に + damage2 = damage2 * (100 + 50 * skill_lv) / 100; //増加量が分からないので適圓に div_ = 5; if (tsd) tsd->canmove_tick = gettick () + 1000; else if (tmd) tmd->canmove_tick = gettick () + 1000; break; - case LK_HEADCRUSH: /* ƒwƒbƒhƒNƒ‰ƒbƒVƒ… */ + case LK_HEADCRUSH: /* ヘッドクラッシュ */ damage = damage * (100 + 20 * skill_lv) / 100; damage2 = damage2 * (100 + 20 * skill_lv) / 100; break; - case LK_JOINTBEAT: /* ƒWƒ‡ƒCƒ“ƒgƒr[ƒg */ + case LK_JOINTBEAT: /* ゞョむントビヌト */ damage = damage * (50 + 10 * skill_lv) / 100; damage2 = damage2 * (50 + 10 * skill_lv) / 100; break; - case ASC_METEORASSAULT: /* ƒƒeƒIƒAƒTƒ‹ƒg */ + case ASC_METEORASSAULT: /* メテオアサルト */ damage = damage * (40 + 40 * skill_lv) / 100; damage2 = damage2 * (40 + 40 * skill_lv) / 100; break; - case SN_SHARPSHOOTING: /* ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO */ + case SN_SHARPSHOOTING: /* シャヌプシュヌティング */ damage += damage * (30 * skill_lv) / 100; damage2 += damage2 * (30 * skill_lv) / 100; break; - case CG_ARROWVULCAN: /* ƒAƒ[ƒoƒ‹ƒJƒ“ */ + case CG_ARROWVULCAN: /* アロヌバルカン */ damage = damage * (160 + 40 * skill_lv) / 100; damage2 = damage2 * (160 + 40 * skill_lv) / 100; div_ = 9; break; - case AS_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case AS_SPLASHER: /* ベナムスプラッシャヌ */ damage = damage * (200 + 20 * skill_lv + 20 * pc_checkskill (sd, @@ -3542,9 +3542,9 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } if (da == 2) - { //ŽO’i¶‚ª”­“®‚µ‚Ä‚¢‚é‚© + { //䞉段掌が発動しおいるか type = 0x08; - div_ = 255; //ŽO’i¶—p‚Ɂc + div_ = 255; //䞉段掌甚に  damage = damage * (100 + 20 * pc_checkskill (sd, MO_TRIPLEATTACK)) / 100; @@ -3552,11 +3552,11 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, if (skill_num != NPC_CRITICALSLASH) { - // ‘Î Û‚Ì–hŒä—Í‚É‚æ‚éƒ_ƒ[ƒW‚ÌŒž­ - // ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“i‚±‚±‚Å‚¢‚¢‚Ì‚©‚ȁHj + // 察 象の防埡力によるダメヌゞの枛少 + // ディバむンプロテクションここでいいのかな if (skill_num != MO_INVESTIGATE && skill_num != MO_EXTREMITYFIST && skill_num != KN_AUTOCOUNTER && def1 < 1000000) - { //DEF, VIT–³Ž‹ + { //DEF, VIT無芖 int t_def; target_count = 1 + battle_counttargeted (target, src, @@ -3676,9 +3676,9 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } } - // ž˜Bƒ_ƒ[ƒW‚̒ljÁ + // 粟錬ダメヌゞの远加 if (skill_num != MO_INVESTIGATE && skill_num != MO_EXTREMITYFIST) - { //DEF, VIT–³Ž‹ + { //DEF, VIT無芖 damage += battle_get_atk2 (src); damage2 += battle_get_atk_2 (src); } @@ -3698,9 +3698,9 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } if (skill_num == LK_SPIRALPIERCE) - { /* ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX */ + { /* スパむラルピアヌス */ if (sd->equip_index[9] >= 0) - { //d—ʂŒljÁƒ_ƒ[ƒW‚炵‚¢‚̂ŃV[ƒ‹ƒhƒu[ƒƒ‰ƒ“‚ðŽQl‚ɒljÁ + { //重量で远加ダメヌゞらしいのでシヌルドブヌメランを参考に远加 int index = sd->equip_index[9]; if (sd->inventory_data[index] && sd->inventory_data[index]->type == 4) @@ -3715,17 +3715,17 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } - // 0–¢–ž‚Ÿ‚Á‚œê‡1‚ɕ␳ + // 0未満だった堎合1に補正 if (damage < 1) damage = 1; if (damage2 < 1) damage2 = 1; - // ƒXƒLƒ‹C³‚QiC—ûŒnj - // C—ûƒ_ƒ[ƒW(‰EŽè‚Ì‚Ý) ƒ\ƒjƒbƒNƒuƒ[Žž‚͕ʏˆ—i1Œ‚‚É•t‚«1/8“K‰ž) + // スキル修正修緎系 + // 修緎ダメヌゞ(右手のみ) ゜ニックブロヌ時は別凊理1撃に付き1/8適応) if (skill_num != MO_INVESTIGATE && skill_num != MO_EXTREMITYFIST && skill_num != CR_GRANDCROSS) - { //C—ûƒ_ƒ[ƒW–³Ž‹ + { //修緎ダメヌゞ無芖 damage = battle_addmastery (sd, target, damage, 0); damage2 = battle_addmastery (sd, target, damage2, 1); } @@ -3736,12 +3736,12 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, hitrate = 1000000; } - // ‰ñ”ðC³ + // 回避修正 hitrate = (hitrate < 5) ? 5 : hitrate; - if (hitrate < 1000000 && // •K’†UŒ‚ - (t_sc_data != NULL && (t_sc_data[SC_SLEEP].timer != -1 || // ‡–°‚Í•K’† - t_sc_data[SC_STAN].timer != -1 || // ƒXƒ^ƒ“‚Í•K’† - t_sc_data[SC_FREEZE].timer != -1 || (t_sc_data[SC_STONE].timer != -1 && t_sc_data[SC_STONE].val2 == 0)))) // “€Œ‹‚Í•K’† + if (hitrate < 1000000 && // 必䞭攻撃 + (t_sc_data != NULL && (t_sc_data[SC_SLEEP].timer != -1 || // 睡眠は必䞭 + t_sc_data[SC_STAN].timer != -1 || // スタンは必䞭 + t_sc_data[SC_FREEZE].timer != -1 || (t_sc_data[SC_STONE].timer != -1 && t_sc_data[SC_STONE].val2 == 0)))) // 凍結は必䞭 hitrate = 1000000; if (type == 0 && MRAND (100) >= hitrate) { @@ -3752,7 +3752,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, { dmg_lv = ATK_DEF; } - // ƒXƒLƒ‹C³‚Ri•ŠíŒ€‹†j + // スキル修正歊噚研究 if ((skill = pc_checkskill (sd, BS_WEAPONRESEARCH)) > 0) { damage += skill * 2; @@ -3767,56 +3767,56 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } -//ƒXƒLƒ‹‚É‚æ‚éƒ_ƒ[ƒW•â³‚±‚±‚Ü‚Å +//スキルによるダメヌゞ補正ここたで -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒW’ljÁˆ—‚±‚±‚©‚ç +//カヌドによるダメヌゞ远加凊理ここから cardfix = 100; if (!sd->state.arrow_atk) - { //‹|–îˆÈŠO + { //匓矢以倖 if (!battle_config.left_cardfix_to_right) - { //¶ŽèƒJ[ƒh•â³Ý’è–³‚µ - cardfix = cardfix * (100 + sd->addrace[t_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒWC³ - cardfix = cardfix * (100 + sd->addele[t_ele]) / 100; // ‘®«‚É‚æ‚éƒ_ƒ[ƒWC³ - cardfix = cardfix * (100 + sd->addsize[t_size]) / 100; // ƒTƒCƒY‚É‚æ‚éƒ_ƒ[ƒWC³ + { //巊手カヌド補正蚭定無し + cardfix = cardfix * (100 + sd->addrace[t_race]) / 100; // 皮族によるダメヌゞ修正 + cardfix = cardfix * (100 + sd->addele[t_ele]) / 100; // 属性によるダメヌゞ修正 + cardfix = cardfix * (100 + sd->addsize[t_size]) / 100; // サむズによるダメヌゞ修正 } else { - cardfix = cardfix * (100 + sd->addrace[t_race] + sd->addrace_[t_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒWC³(¶Žè‚É‚æ‚é’ljÁ‚ ‚è) - cardfix = cardfix * (100 + sd->addele[t_ele] + sd->addele_[t_ele]) / 100; // ‘®«‚É‚æ‚éƒ_ƒ[ƒWC³(¶Žè‚É‚æ‚é’ljÁ‚ ‚è) - cardfix = cardfix * (100 + sd->addsize[t_size] + sd->addsize_[t_size]) / 100; // ƒTƒCƒY‚É‚æ‚éƒ_ƒ[ƒWC³(¶Žè‚É‚æ‚é’ljÁ‚ ‚è) + cardfix = cardfix * (100 + sd->addrace[t_race] + sd->addrace_[t_race]) / 100; // 皮族によるダメヌゞ修正(巊手による远加あり) + cardfix = cardfix * (100 + sd->addele[t_ele] + sd->addele_[t_ele]) / 100; // 属性によるダメヌゞ修正(巊手による远加あり) + cardfix = cardfix * (100 + sd->addsize[t_size] + sd->addsize_[t_size]) / 100; // サむズによるダメヌゞ修正(巊手による远加あり) } } else - { //‹|–î - cardfix = cardfix * (100 + sd->addrace[t_race] + sd->arrow_addrace[t_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒWC³(‹|–î‚É‚æ‚é’ljÁ‚ ‚è) - cardfix = cardfix * (100 + sd->addele[t_ele] + sd->arrow_addele[t_ele]) / 100; // ‘®«‚É‚æ‚éƒ_ƒ[ƒWC³(‹|–î‚É‚æ‚é’ljÁ‚ ‚è) - cardfix = cardfix * (100 + sd->addsize[t_size] + sd->arrow_addsize[t_size]) / 100; // ƒTƒCƒY‚É‚æ‚éƒ_ƒ[ƒWC³(‹|–î‚É‚æ‚é’ljÁ‚ ‚è) + { //匓矢 + cardfix = cardfix * (100 + sd->addrace[t_race] + sd->arrow_addrace[t_race]) / 100; // 皮族によるダメヌゞ修正(匓矢による远加あり) + cardfix = cardfix * (100 + sd->addele[t_ele] + sd->arrow_addele[t_ele]) / 100; // 属性によるダメヌゞ修正(匓矢による远加あり) + cardfix = cardfix * (100 + sd->addsize[t_size] + sd->arrow_addsize[t_size]) / 100; // サむズによるダメヌゞ修正(匓矢による远加あり) } if (t_mode & 0x20) - { //ƒ{ƒX + { //ボス if (!sd->state.arrow_atk) - { //‹|–îUŒ‚ˆÈŠO‚È‚ç - if (!battle_config.left_cardfix_to_right) //¶ŽèƒJ[ƒh•â³Ý’è–³‚µ - cardfix = cardfix * (100 + sd->addrace[10]) / 100; //ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW - else //¶ŽèƒJ[ƒh•â³Ý’è‚ ‚è - cardfix = cardfix * (100 + sd->addrace[10] + sd->addrace_[10]) / 100; //ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW(¶Žè‚É‚æ‚é’ljÁ‚ ‚è) + { //匓矢攻撃以倖なら + if (!battle_config.left_cardfix_to_right) //巊手カヌド補正蚭定無し + cardfix = cardfix * (100 + sd->addrace[10]) / 100; //ボスモンスタヌに远加ダメヌゞ + else //巊手カヌド補正蚭定あり + cardfix = cardfix * (100 + sd->addrace[10] + sd->addrace_[10]) / 100; //ボスモンスタヌに远加ダメヌゞ(巊手による远加あり) } - else //‹|–îUŒ‚ - cardfix = cardfix * (100 + sd->addrace[10] + sd->arrow_addrace[10]) / 100; //ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW(‹|–î‚É‚æ‚é’ljÁ‚ ‚è) + else //匓矢攻撃 + cardfix = cardfix * (100 + sd->addrace[10] + sd->arrow_addrace[10]) / 100; //ボスモンスタヌに远加ダメヌゞ(匓矢による远加あり) } else - { //ƒ{ƒX‚¶‚á‚È‚¢ + { //ボスじゃない if (!sd->state.arrow_atk) - { //‹|–îUŒ‚ˆÈŠO - if (!battle_config.left_cardfix_to_right) //¶ŽèƒJ[ƒh•â³Ý’è–³‚µ - cardfix = cardfix * (100 + sd->addrace[11]) / 100; //ƒ{ƒXˆÈŠOƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW - else //¶ŽèƒJ[ƒh•â³Ý’è‚ ‚è - cardfix = cardfix * (100 + sd->addrace[11] + sd->addrace_[11]) / 100; //ƒ{ƒXˆÈŠOƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW(¶Žè‚É‚æ‚é’ljÁ‚ ‚è) + { //匓矢攻撃以倖 + if (!battle_config.left_cardfix_to_right) //巊手カヌド補正蚭定無し + cardfix = cardfix * (100 + sd->addrace[11]) / 100; //ボス以倖モンスタヌに远加ダメヌゞ + else //巊手カヌド補正蚭定あり + cardfix = cardfix * (100 + sd->addrace[11] + sd->addrace_[11]) / 100; //ボス以倖モンスタヌに远加ダメヌゞ(巊手による远加あり) } else - cardfix = cardfix * (100 + sd->addrace[11] + sd->arrow_addrace[11]) / 100; //ƒ{ƒXˆÈŠOƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW(‹|–î‚É‚æ‚é’ljÁ‚ ‚è) + cardfix = cardfix * (100 + sd->addrace[11] + sd->arrow_addrace[11]) / 100; //ボス以倖モンスタヌに远加ダメヌゞ(匓矢による远加あり) } - //“Á’èClass—p•â³ˆ—(­—‚Ì“ú‹Lšƒ{ƒ“ƒSƒ“—pH) + //特定Class甚補正凊理(少女の日蚘→ボンゎン甚) t_class = battle_get_class (target); for (i = 0; i < sd->add_damage_class_count; i++) { @@ -3827,22 +3827,22 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } if (skill_num != CR_GRANDCROSS || !battle_config.gx_cardfix) - damage = damage * cardfix / 100; //ƒJ[ƒh•â³‚É‚æ‚éƒ_ƒ[ƒW‘‰Á -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒW‘‰Áˆ—‚±‚±‚Ü‚Å + damage = damage * cardfix / 100; //カヌド補正によるダメヌゞ増加 +//カヌドによるダメヌゞ増加凊理ここたで -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒW’ljÁˆ—(¶Žè)‚±‚±‚©‚ç +//カヌドによるダメヌゞ远加凊理(巊手)ここから cardfix = 100; if (!battle_config.left_cardfix_to_right) - { //¶ŽèƒJ[ƒh•â³Ý’è–³‚µ - cardfix = cardfix * (100 + sd->addrace_[t_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒWC³¶Žè - cardfix = cardfix * (100 + sd->addele_[t_ele]) / 100; // ‘® «‚É‚æ‚éƒ_ƒ[ƒWC³¶Žè - cardfix = cardfix * (100 + sd->addsize_[t_size]) / 100; // ƒTƒCƒY‚É‚æ‚éƒ_ƒ[ƒWC³¶Žè - if (t_mode & 0x20) //ƒ{ƒX - cardfix = cardfix * (100 + sd->addrace_[10]) / 100; //ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW¶Žè + { //巊手カヌド補正蚭定無し + cardfix = cardfix * (100 + sd->addrace_[t_race]) / 100; // 皮族によるダメヌゞ修正巊手 + cardfix = cardfix * (100 + sd->addele_[t_ele]) / 100; // 属 性によるダメヌゞ修正巊手 + cardfix = cardfix * (100 + sd->addsize_[t_size]) / 100; // サむズによるダメヌゞ修正巊手 + if (t_mode & 0x20) //ボス + cardfix = cardfix * (100 + sd->addrace_[10]) / 100; //ボスモンスタヌに远加ダメヌゞ巊手 else - cardfix = cardfix * (100 + sd->addrace_[11]) / 100; //ƒ{ƒXˆÈŠOƒ‚ƒ“ƒXƒ^[‚ɒljÁƒ_ƒ[ƒW¶Žè + cardfix = cardfix * (100 + sd->addrace_[11]) / 100; //ボス以倖モンスタヌに远加ダメヌゞ巊手 } - //“Á’èClass—p•â³ˆ—¶Žè(­—‚Ì“ú‹Lšƒ{ƒ“ƒSƒ“—pH) + //特定Class甚補正凊理巊手(少女の日蚘→ボンゎン甚) for (i = 0; i < sd->add_damage_class_count_; i++) { if (sd->add_damage_classid_[i] == t_class) @@ -3852,24 +3852,24 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } if (skill_num != CR_GRANDCROSS) - damage2 = damage2 * cardfix / 100; //ƒJ[ƒh•â³‚É‚æ‚鍶Žèƒ_ƒ[ƒW‘‰Á -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒW‘‰Áˆ—(¶Žè)‚±‚±‚Ü‚Å + damage2 = damage2 * cardfix / 100; //カヌド補正による巊手ダメヌゞ増加 +//カヌドによるダメヌゞ増加凊理(巊手)ここたで // -- moonsoul (cardfix for magic damage portion of ASC_BREAKER) if (skill_num == ASC_BREAKER) damage3 = damage3 * cardfix / 100; -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒWŒžŠˆ—‚±‚±‚©‚ç +//カヌドによるダメヌゞ枛衰凊理ここから if (tsd) - { //‘ΏۂªPC‚̏ꍇ + { //察象がPCの堎合 cardfix = 100; - cardfix = cardfix * (100 - tsd->subrace[s_race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« - cardfix = cardfix * (100 - tsd->subele[s_ele]) / 100; // ‘®«‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« + cardfix = cardfix * (100 - tsd->subrace[s_race]) / 100; // 皮族によるダメヌゞ耐性 + cardfix = cardfix * (100 - tsd->subele[s_ele]) / 100; // 属性によるダメヌゞ耐性 if (battle_get_mode (src) & 0x20) - cardfix = cardfix * (100 - tsd->subrace[10]) / 100; //ƒ{ƒX‚©‚ç‚̍UŒ‚‚̓_ƒ[ƒWŒž­ + cardfix = cardfix * (100 - tsd->subrace[10]) / 100; //ボスからの攻撃はダメヌゞ枛少 else - cardfix = cardfix * (100 - tsd->subrace[11]) / 100; //ƒ{ƒXˆÈŠO‚©‚ç‚̍UŒ‚‚̓_ƒ[ƒWŒž­ - //“Á’èClass—p•â³ˆ—¶Žè(­—‚Ì“ú‹Lšƒ{ƒ“ƒSƒ“—pH) + cardfix = cardfix * (100 - tsd->subrace[11]) / 100; //ボス以倖からの攻撃はダメヌゞ枛少 + //特定Class甚補正凊理巊手(少女の日蚘→ボンゎン甚) for (i = 0; i < tsd->add_def_class_count; i++) { if (tsd->add_def_classid[i] == sd->status.class) @@ -3879,27 +3879,27 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } if (flag & BF_LONG) - cardfix = cardfix * (100 - tsd->long_attack_def_rate) / 100; //‰“‹——£UŒ‚‚̓_ƒ[ƒWŒž­(ƒzƒ‹ƒ“C‚Æ‚©) + cardfix = cardfix * (100 - tsd->long_attack_def_rate) / 100; //遠距離攻撃はダメヌゞ枛少(ホルンCずか) if (flag & BF_SHORT) - cardfix = cardfix * (100 - tsd->near_attack_def_rate) / 100; //‹ß‹——£UŒ‚‚̓_ƒ[ƒWŒž­(ŠY“––³‚µH) - damage = damage * cardfix / 100; //ƒJ[ƒh•â³‚É‚æ‚éƒ_ƒ[ƒWŒž­ - damage2 = damage2 * cardfix / 100; //ƒJ[ƒh•â³‚É‚æ‚鍶Žèƒ_ƒ[ƒWŒž­ + cardfix = cardfix * (100 - tsd->near_attack_def_rate) / 100; //近距離攻撃はダメヌゞ枛少(該圓無し) + damage = damage * cardfix / 100; //カヌド補正によるダメヌゞ枛少 + damage2 = damage2 * cardfix / 100; //カヌド補正による巊手ダメヌゞ枛少 } -//ƒJ[ƒh‚É‚æ‚éƒ_ƒ[ƒWŒžŠˆ—‚±‚±‚Ü‚Å +//カヌドによるダメヌゞ枛衰凊理ここたで -//‘ΏۂɃXƒe[ƒ^ƒXˆÙí‚ª‚ ‚éê‡‚̃_ƒ[ƒWŒžŽZˆ—‚±‚±‚©‚ç +//察象にステヌタス異垞がある堎合のダメヌゞ枛算凊理ここから if (t_sc_data) { cardfix = 100; - if (t_sc_data[SC_DEFENDER].timer != -1 && flag & BF_LONG) //ƒfƒBƒtƒFƒ“ƒ_[ó‘Ԃʼn“‹——£UŒ‚ - cardfix = cardfix * (100 - t_sc_data[SC_DEFENDER].val2) / 100; //ƒfƒBƒtƒFƒ“ƒ_[‚É‚æ‚錞Š + if (t_sc_data[SC_DEFENDER].timer != -1 && flag & BF_LONG) //ディフェンダヌ状態で遠距離攻撃 + cardfix = cardfix * (100 - t_sc_data[SC_DEFENDER].val2) / 100; //ディフェンダヌによる枛衰 if (cardfix != 100) { - damage = damage * cardfix / 100; //ƒfƒBƒtƒFƒ“ƒ_[•â³‚É‚æ‚éƒ_ƒ[ƒWŒž­ - damage2 = damage2 * cardfix / 100; //ƒfƒBƒtƒFƒ“ƒ_[•â³‚É‚æ‚鍶Žèƒ_ƒ[ƒWŒž­ + damage = damage * cardfix / 100; //ディフェンダヌ補正によるダメヌゞ枛少 + damage2 = damage2 * cardfix / 100; //ディフェンダヌ補正による巊手ダメヌゞ枛少 } if (t_sc_data[SC_ASSUMPTIO].timer != -1) - { //ƒAƒXƒ€ƒvƒeƒBƒI + { //アスムプティオ if (!map[target->m].flag.pvp) { damage = damage / 3; @@ -3912,67 +3912,67 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } } -//‘ΏۂɃXƒe[ƒ^ƒXˆÙí‚ª‚ ‚éê‡‚̃_ƒ[ƒWŒžŽZˆ—‚±‚±‚Ü‚Å +//察象にステヌタス異垞がある堎合のダメヌゞ枛算凊理ここたで if (damage < 0) damage = 0; if (damage2 < 0) damage2 = 0; - // ‘® «‚Ì“K—p + // 属 性の適甚 damage = battle_attr_fix (damage, s_ele, battle_get_element (target)); damage2 = battle_attr_fix (damage2, s_ele_, battle_get_element (target)); - // ¯‚Ì‚©‚¯‚çA‹C‹…‚Ì“K—p + // 星のかけら、気球の適甚 damage += sd->star; damage2 += sd->star_; damage += sd->spiritball * 3; damage2 += sd->spiritball * 3; if (sc_data && sc_data[SC_AURABLADE].timer != -1) - { /* ƒI[ƒ‰ƒuƒŒ[ƒh •K’† */ + { /* オヌラブレヌド å¿…äž­ */ damage += sc_data[SC_AURABLADE].val1 * 10; damage2 += sc_data[SC_AURABLADE].val1 * 10; } if (skill_num == PA_PRESSURE) - { /* ƒvƒŒƒbƒVƒƒ[ •K’†? */ + { /* プレッシャヌ å¿…äž­? */ damage = 700 + 100 * skill_lv; damage2 = 700 + 100 * skill_lv; } - // >“ñ“—¬‚̍¶‰Eƒ_ƒ[ƒWŒvŽZ’N‚©‚â‚Á‚Ä‚­‚ê‚¥‚¥‚¥‚¥‚Š‚Š‚ŠI - // >map_session_data ‚ɍ¶Žèƒ_ƒ[ƒW(atk,atk2)’ljÁ‚µ‚Ä - // >pc_calcstatus()‚Å‚â‚é‚ׂ«‚©‚ȁH - // map_session_data ‚ɍ¶Žè•Ší(atk,atk2,ele,star,atkmods)’ljÁ‚µ‚Ä - // pc_calcstatus()‚Ńf[ƒ^‚ð“ü—Í‚µ‚Ä‚¢‚Ü‚· + // >二刀流の巊右ダメヌゞ蚈算誰かやっおくれぇぇぇぇえええ + // >map_session_data に巊手ダメヌゞ(atk,atk2)远加しお + // >pc_calcstatus()でやるべきかな + // map_session_data に巊手歊噚(atk,atk2,ele,star,atkmods)远加しお + // pc_calcstatus()でデヌタを入力しおいたす - //¶Žè‚Ì‚Ý•Ší‘•”õ + //巊手のみ歊噚装備 if (sd->weapontype1 == 0 && sd->weapontype2 > 0) { damage = damage2; damage2 = 0; } - // ‰EŽèA¶ŽèC—û‚Ì“K—p + // 右手、巊手修緎の適甚 if (sd->status.weapon > 16) - { // “ñ“—¬‚©? + { // 二刀流か? int dmg = damage, dmg2 = damage2; - // ‰EŽèC—û(60% ` 100%) ‰EŽè‘S”Ê + // 右手修緎(60% 〜 100%) 右手党般 skill = pc_checkskill (sd, AS_RIGHT); damage = damage * (50 + (skill * 10)) / 100; if (dmg > 0 && damage < 1) damage = 1; - // ¶ŽèC—û(40% ` 80%) ¶Žè‘S”Ê + // 巊手修緎(40% 〜 80%) 巊手党般 skill = pc_checkskill (sd, AS_LEFT); damage2 = damage2 * (30 + (skill * 10)) / 100; if (dmg2 > 0 && damage2 < 1) damage2 = 1; } - else //“ñ“—¬‚Å‚È‚¯‚ê‚΍¶Žèƒ_ƒ[ƒW‚Í0 + else //二刀流でなければ巊手ダメヌゞは0 damage2 = 0; - // ‰EŽè,’ZŒ•‚Ì‚Ý + // 右手,短剣のみ if (da == 1) - { //ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª”­“®‚µ‚Ä‚¢‚é‚© + { //ダブルアタックが発動しおいるか div_ = 2; damage += damage; type = 0x08; @@ -3980,14 +3980,14 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, if (sd->status.weapon == 16) { - // ƒJƒ^[ƒ‹’ÇŒ‚ƒ_ƒ[ƒW + // カタヌル远撃ダメヌゞ skill = pc_checkskill (sd, TF_DOUBLE); damage2 = damage * (1 + (skill * 2)) / 100; if (damage > 0 && damage2 < 1) damage2 = 1; } - // ƒCƒ“ƒxƒiƒ€C³ + // むンベナム修正 if (skill_num == TF_POISON) { damage = @@ -3999,7 +3999,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, damage = battle_attr_fix (damage, 0, battle_get_element (target)); } - // Š®‘S‰ñ”ð‚Ì”»’è + // 完党回避の刀定 if (skill_num == 0 && skill_lv >= 0 && tsd != NULL && div_ < 255 && MRAND (1000) < battle_get_flee2 (target)) { @@ -4008,7 +4008,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, dmg_lv = ATK_LUCKY; } - // ‘ΏۂªŠ®‘S‰ñ”ð‚ð‚·‚éÝ’肪ON‚È‚ç + // 察象が完党回避をする蚭定がONなら if (battle_config.enemy_perfect_flee) { if (skill_num == 0 && skill_lv >= 0 && tmd != NULL && div_ < 255 @@ -4020,7 +4020,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } } - //Mob‚ÌMode‚ÉŠæ‹­ƒtƒ‰ƒO‚ª—§‚Á‚Ä‚¢‚é‚Æ‚«‚̏ˆ— + //MobのModeに頑匷フラグが立っおいるずきの凊理 if (t_mode & 0x40) { if (damage > 0) @@ -4029,23 +4029,23 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, damage2 = 1; } - //bNoWeaponDamage(Ý’èƒAƒCƒeƒ€–³‚µH)‚ŃOƒ‰ƒ“ƒhƒNƒƒX‚¶‚á‚È‚¢ê‡‚̓_ƒ[ƒW‚ª0 + //bNoWeaponDamage(蚭定アむテム無し)でグランドクロスじゃない堎合はダメヌゞが0 if (tsd && tsd->special_state.no_weapon_damage && skill_num != CR_GRANDCROSS) damage = damage2 = 0; if (skill_num != CR_GRANDCROSS && (damage > 0 || damage2 > 0)) { - if (damage2 < 1) // ƒ_ƒ[ƒWÅIC³ + if (damage2 < 1) // ダメヌゞ最終修正 damage = battle_calc_damage (src, target, damage, div_, skill_num, skill_lv, flag); - else if (damage < 1) // ‰EŽè‚ªƒ~ƒXH + else if (damage < 1) // 右手がミス damage2 = battle_calc_damage (src, target, damage2, div_, skill_num, skill_lv, flag); else - { // —Œ Žè/ƒJƒ^[ƒ‹‚̏ꍇ‚Í‚¿‚å‚Á‚ÆŒvŽZ‚â‚₱‚µ‚¢ + { // äž¡ 手/カタヌルの堎合はちょっず蚈算ややこしい int d1 = damage + damage2, d2 = damage2; damage = battle_calc_damage (src, target, damage + damage2, div_, @@ -4094,7 +4094,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, } /*========================================== - * •Šíƒ_ƒ[ƒWŒvŽZ + * 歊噚ダメヌゞ蚈算 *------------------------------------------ */ struct Damage battle_calc_weapon_attack (struct block_list *src, @@ -4104,7 +4104,7 @@ struct Damage battle_calc_weapon_attack (struct block_list *src, { struct Damage wd; - //return‘O‚̏ˆ—‚ª‚ ‚é‚̂ŏî•ño—Í•”‚̂ݕύX + //return前の凊理があるので情報出力郚のみ倉曎 if (src == NULL || target == NULL) { nullpo_info (NLP_MARK); @@ -4173,7 +4173,7 @@ struct Damage battle_calc_weapon_attack (struct block_list *src, } /*========================================== - * –‚–@ƒ_ƒ[ƒWŒvŽZ + * 魔法ダメヌゞ蚈算 *------------------------------------------ */ struct Damage battle_calc_magic_attack (struct block_list *bl, @@ -4192,7 +4192,7 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, struct map_session_data *sd = NULL, *tsd = NULL; struct mob_data *tmd = NULL; - //return‘O‚̏ˆ—‚ª‚ ‚é‚̂ŏî•ño—Í•”‚̂ݕύX + //return前の凊理があるので情報出力郚のみ倉曎 if (bl == NULL || target == NULL) { nullpo_info (NLP_MARK); @@ -4227,24 +4227,24 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, if (skill_num > 0) { switch (skill_num) - { // Šî–{ƒ_ƒ[ƒWŒvŽZ(ƒXƒLƒ‹‚²‚Ƃɏˆ—) - // ƒq[ƒ‹or¹‘Ì + { // 基本ダメヌゞ蚈算(スキルごずに凊理) + // ヒヌルor聖䜓 case AL_HEAL: case PR_BENEDICTIO: damage = skill_calc_heal (bl, skill_lv) / 2; normalmagic_flag = 0; break; - case PR_ASPERSIO: /* ƒAƒXƒyƒ‹ƒVƒI */ - damage = 40; //ŒÅ’èƒ_ƒ[ƒW + case PR_ASPERSIO: /* アスペルシオ */ + damage = 40; //固定ダメヌゞ normalmagic_flag = 0; break; - case PR_SANCTUARY: // ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ + case PR_SANCTUARY: // サンクチュアリ damage = (skill_lv > 6) ? 388 : skill_lv * 50; normalmagic_flag = 0; blewcount |= 0x10000; break; case ALL_RESURRECTION: - case PR_TURNUNDEAD: // UŒ‚ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ƃ^[ƒ“ƒAƒ“ƒfƒbƒh + case PR_TURNUNDEAD: // 攻撃リザレクションずタヌンアンデッド if (target->type != BL_PC && battle_check_undead (t_race, t_ele)) { @@ -4257,10 +4257,10 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, if (thres > 700) thres = 700; // if(battle_config.battle_log) -// printf("ƒ^[ƒ“ƒAƒ“ƒfƒbƒhI Šm—Š%d ñ(ç•ª—Š)\n", thres); - if (MRAND (1000) < thres && !(t_mode & 0x20)) // ¬Œ÷ +// printf("タヌンアンデッド 確率%d ‰(千分率)\n", thres); + if (MRAND (1000) < thres && !(t_mode & 0x20)) // 成功 damage = hp; - else // Žž”s + else // 倱敗 damage = battle_get_lv (bl) + battle_get_int (bl) + skill_lv * 10; @@ -4268,7 +4268,7 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, normalmagic_flag = 0; break; - case MG_NAPALMBEAT: // ƒiƒp[ƒ€ƒr[ƒgi•ªŽUŒvŽZž‚݁j + case MG_NAPALMBEAT: // ナパヌムビヌト分散蚈算蟌み MATK_FIX (70 + skill_lv * 10, 100); if (flag > 0) { @@ -4281,7 +4281,7 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, ("battle_calc_magic_attack(): napam enemy count=0 !\n"); } break; - case MG_FIREBALL: // ƒtƒ@ƒCƒ„[ƒ{[ƒ‹ + case MG_FIREBALL: // ファむダヌボヌル { const int drate[] = { 100, 90, 70 }; if (flag > 2) @@ -4290,9 +4290,9 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, MATK_FIX ((95 + skill_lv * 5) * drate[flag], 10000); } break; - case MG_FIREWALL: // ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹ + case MG_FIREWALL: // ファむダヌりォヌル /* - if( (t_ele!=3 && !battle_check_undead(t_race,t_ele)) || target->type==BL_PC ) //PC‚͉Α®«‚Å‚à”ò‚ԁH‚»‚à‚»‚àƒ_ƒ[ƒWŽó‚¯‚éH + if( (t_ele!=3 && !battle_check_undead(t_race,t_ele)) || target->type==BL_PC ) //PCは火属性でも飛ぶそもそもダメヌゞ受ける blewcount |= 0x10000; else blewcount = 0; @@ -4304,18 +4304,18 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, blewcount |= 0x10000; MATK_FIX (1, 2); break; - case MG_THUNDERSTORM: // ƒTƒ“ƒ_[ƒXƒg[ƒ€ + case MG_THUNDERSTORM: // サンダヌストヌム MATK_FIX (80, 100); break; - case MG_FROSTDIVER: // ƒtƒƒXƒgƒ_ƒCƒo + case MG_FROSTDIVER: // フロストダむバ MATK_FIX (100 + skill_lv * 10, 100); break; - case WZ_FROSTNOVA: // ƒtƒƒXƒgƒ_ƒCƒo + case WZ_FROSTNOVA: // フロストダむバ MATK_FIX (((100 + skill_lv * 10) * (2 / 3)), 100); break; - case WZ_FIREPILLAR: // ƒtƒ@ƒCƒ„[ƒsƒ‰[ + case WZ_FIREPILLAR: // ファむダヌピラヌ if (mdef1 < 1000000) - mdef1 = mdef2 = 0; // MDEF–³Ž‹ + mdef1 = mdef2 = 0; // MDEF無芖 MATK_FIX (1, 5); matk1 += 50; matk2 += 50; @@ -4324,26 +4324,26 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, MATK_FIX (100 + skill_lv * 20, 100); break; case WZ_METEOR: - case WZ_JUPITEL: // ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ + case WZ_JUPITEL: // ナピテルサンダヌ break; - case WZ_VERMILION: // ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“ + case WZ_VERMILION: // ロヌドオブバヌミリオン MATK_FIX (skill_lv * 20 + 80, 100); break; - case WZ_WATERBALL: // ƒEƒH[ƒ^[ƒ{[ƒ‹ + case WZ_WATERBALL: // りォヌタヌボヌル matk1 += skill_lv * 30; matk2 += skill_lv * 30; break; - case WZ_STORMGUST: // ƒXƒg[ƒ€ƒKƒXƒg + case WZ_STORMGUST: // ストヌムガスト MATK_FIX (skill_lv * 40 + 100, 100); blewcount |= 0x10000; break; - case AL_HOLYLIGHT: // ƒz[ƒŠ[ƒ‰ƒCƒg + case AL_HOLYLIGHT: // ホヌリヌラむト MATK_FIX (125, 100); break; case AL_RUWACH: MATK_FIX (145, 100); break; - case HW_NAPALMVULCAN: // ƒiƒp[ƒ€ƒr[ƒgi•ªŽUŒvŽZž‚݁j + case HW_NAPALMVULCAN: // ナパヌムビヌト分散蚈算蟌み MATK_FIX (70 + skill_lv * 10, 100); if (flag > 0) { @@ -4360,7 +4360,7 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, } if (normalmagic_flag) - { // ˆê”Ê–‚–@ƒ_ƒ[ƒWŒvŽZ + { // 䞀般魔法ダメヌゞ蚈算 int imdef_flag = 0; if (matk1 > matk2) damage = matk2 + MRAND ((matk1 - matk2 + 1)); @@ -4426,8 +4426,8 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, { int s_class = battle_get_class (bl); cardfix = 100; - cardfix = cardfix * (100 - tsd->subele[ele]) / 100; // ‘® «‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« - cardfix = cardfix * (100 - tsd->subrace[race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« + cardfix = cardfix * (100 - tsd->subele[ele]) / 100; // 属 性によるダメヌゞ耐性 + cardfix = cardfix * (100 - tsd->subrace[race]) / 100; // 皮族によるダメヌゞ耐性 cardfix = cardfix * (100 - tsd->magic_subrace[race]) / 100; if (battle_get_mode (bl) & 0x20) cardfix = cardfix * (100 - tsd->magic_subrace[10]) / 100; @@ -4447,18 +4447,18 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, if (damage < 0) damage = 0; - damage = battle_attr_fix (damage, ele, battle_get_element (target)); // ‘® «C³ + damage = battle_attr_fix (damage, ele, battle_get_element (target)); // 属 性修正 if (skill_num == CR_GRANDCROSS) - { // ƒOƒ‰ƒ“ƒhƒNƒƒX + { // グランドクロス struct Damage wd; wd = battle_calc_weapon_attack (bl, target, skill_num, skill_lv, flag); damage = (damage + wd.damage) * (100 + 40 * skill_lv) / 100; if (battle_config.gx_dupele) - damage = battle_attr_fix (damage, ele, battle_get_element (target)); //‘®«2‰ñ‚©‚©‚é + damage = battle_attr_fix (damage, ele, battle_get_element (target)); //属性2回かかる if (bl == target) - damage = damage / 2; //”œ“®‚Í”Œ•ª + damage = damage / 2; //反動は半分 } div_ = skill_get_num (skill_num, skill_lv); @@ -4479,10 +4479,10 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, damage = (damage * (100 - battle_config.gtb_pvp_only)) / 100; } else - damage = 0; // ‰© ‹à峃J[ƒhi–‚–@ƒ_ƒ[ƒW‚Oj + damage = 0; // 黄 金蟲カヌド魔法ダメヌゞ } - damage = battle_calc_damage (bl, target, damage, div_, skill_num, skill_lv, aflag); // ÅIC³ + damage = battle_calc_damage (bl, target, damage, div_, skill_num, skill_lv, aflag); // 最終修正 /* magic_damage_return by [AppleGirl] and [Valaris] */ if (target->type == BL_PC && tsd && tsd->magic_damage_return > 0) @@ -4508,7 +4508,7 @@ struct Damage battle_calc_magic_attack (struct block_list *bl, } /*========================================== - * ‚»‚Ì‘Œƒ_ƒ[ƒWŒvŽZ + * その他ダメヌゞ蚈算 *------------------------------------------ */ struct Damage battle_calc_misc_attack (struct block_list *bl, @@ -4527,7 +4527,7 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, int aflag = BF_MISC | BF_LONG | BF_SKILL; - //return‘O‚̏ˆ—‚ª‚ ‚é‚̂ŏî•ño—Í•”‚̂ݕύX + //return前の凊理があるので情報出力郚のみ倉曎 if (bl == NULL || target == NULL) { nullpo_info (NLP_MARK); @@ -4547,19 +4547,19 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, switch (skill_num) { - case HT_LANDMINE: // ƒ‰ƒ“ƒhƒ}ƒCƒ“ + case HT_LANDMINE: // ランドマむン damage = skill_lv * (dex + 75) * (100 + int_) / 100; break; - case HT_BLASTMINE: // ƒuƒ‰ƒXƒgƒ}ƒCƒ“ + case HT_BLASTMINE: // ブラストマむン damage = skill_lv * (dex / 2 + 50) * (100 + int_) / 100; break; - case HT_CLAYMORETRAP: // ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv + case HT_CLAYMORETRAP: // クレむモアヌトラップ damage = skill_lv * (dex / 2 + 75) * (100 + int_) / 100; break; - case HT_BLITZBEAT: // ƒuƒŠƒbƒcƒr[ƒg + case HT_BLITZBEAT: // ブリッツビヌト if (sd == NULL || (skill = pc_checkskill (sd, HT_STEELCROW)) <= 0) skill = 0; damage = (dex / 10 + int_ / 2 + skill * 3 + 40) * 2; @@ -4567,22 +4567,22 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, damage /= flag; break; - case TF_THROWSTONE: // Î“Š‚° + case TF_THROWSTONE: // 石投げ damage = 30; damagefix = 0; break; - case BA_DISSONANCE: // •s‹Š˜a‰¹ + case BA_DISSONANCE: // 䞍協和音 damage = (skill_lv) * 20 + pc_checkskill (sd, BA_MUSICALLESSON) * 3; break; - case NPC_SELFDESTRUCTION: // Ž©”š + case NPC_SELFDESTRUCTION: // 自爆 damage = battle_get_hp (bl) - (bl == target ? 1 : 0); damagefix = 0; break; - case NPC_SMOKING: // ƒ^ƒoƒR‚ð‹z‚€ + case NPC_SMOKING: // タバコを吞う damage = 3; damagefix = 0; break; @@ -4608,7 +4608,7 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, } } break; - case SN_FALCONASSAULT: /* ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg */ + case SN_FALCONASSAULT: /* ファルコンアサルト */ skill = pc_checkskill (sd, HT_BLITZBEAT); damage = (100 + 50 * skill_lv + @@ -4627,14 +4627,14 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, if (tsd) { cardfix = 100; - cardfix = cardfix * (100 - tsd->subele[ele]) / 100; // ‘®«‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« - cardfix = cardfix * (100 - tsd->subrace[race]) / 100; // Ží‘°‚É‚æ‚éƒ_ƒ[ƒW‘ϐ« + cardfix = cardfix * (100 - tsd->subele[ele]) / 100; // 属性によるダメヌゞ耐性 + cardfix = cardfix * (100 - tsd->subrace[race]) / 100; // 皮族によるダメヌゞ耐性 cardfix = cardfix * (100 - tsd->misc_def_rate) / 100; damage = damage * cardfix / 100; } if (damage < 0) damage = 0; - damage = battle_attr_fix (damage, ele, battle_get_element (target)); // ‘®«C³ + damage = battle_attr_fix (damage, ele, battle_get_element (target)); // 属性修正 } div_ = skill_get_num (skill_num, skill_lv); @@ -4649,7 +4649,7 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, damage = div_; } - damage = battle_calc_damage (bl, target, damage, div_, skill_num, skill_lv, aflag); // ÅIC³ + damage = battle_calc_damage (bl, target, damage, div_, skill_num, skill_lv, aflag); // 最終修正 md.damage = damage; md.div_ = div_; @@ -4664,7 +4664,7 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, } /*========================================== - * ƒ_ƒ[ƒWŒvŽZˆêŠ‡ˆ——p + * ダメヌゞ蚈算䞀括凊理甚 *------------------------------------------ */ struct Damage battle_calc_attack (int attack_type, @@ -4696,7 +4696,7 @@ struct Damage battle_calc_attack (int attack_type, } /*========================================== - * ’ʏíUŒ‚ˆ—‚Ü‚Æ‚ß + * 通垞攻撃凊理たずめ *------------------------------------------ */ int battle_weapon_attack (struct block_list *src, struct block_list *target, @@ -4741,7 +4741,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, if (battle_check_target (src, target, BCT_ENEMY) > 0 && battle_check_range (src, target, 0)) { - // UŒ‚‘ΏۂƂȂ肀‚é‚̂ōUŒ‚ + // 攻撃察象ずなりうるので攻撃 if (sd && sd->status.weapon == 11) { if (sd->equip_index[10] >= 0) @@ -4833,14 +4833,14 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, } if (wd.div_ == 255 && sd) - { //ŽO’i¶ + { //䞉段掌 int delay = 1000 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); int skilllv; if (wd.damage + wd.damage2 < battle_get_hp (target)) { if ((skilllv = pc_checkskill (sd, MO_CHAINCOMBO)) > 0) - delay += 300 * battle_config.combo_delay_rate / 100; //’ljÁƒfƒBƒŒƒC‚ðconf‚É‚æ‚è’²® + delay += 300 * battle_config.combo_delay_rate / 100; //远加ディレむをconfにより調敎 skill_status_change_start (src, SC_COMBO, MO_TRIPLEATTACK, skilllv, 0, 0, delay, 0); @@ -4855,7 +4855,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, { clif_damage (src, target, tick, wd.amotion, wd.dmotion, wd.damage, wd.div_, wd.type, wd.damage2); - //“ñ“—¬¶Žè‚ƃJƒ^[ƒ‹’ÇŒ‚‚̃~ƒX•\ŽŠ(–³—‚â‚è`) + //二刀流巊手ずカタヌル远撃のミス衚瀺(無理やり〜) if (sd && sd->status.weapon >= 16 && wd.damage2 == 0) clif_damage (src, target, tick + 10, wd.amotion, wd.dmotion, 0, 1, 0, 0); @@ -4967,7 +4967,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, skilllv, tick, flag); break; - case 1: /* Žx‰‡Œn */ + case 1: /* 支揎系 */ if ((sc_data[SC_AUTOSPELL].val2 == AL_HEAL || (sc_data[SC_AUTOSPELL].val2 == ALL_RESURRECTION @@ -5011,7 +5011,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, [SC_AUTOSPELL].val2, skilllv, tick, flag); break; - case 1: /* Žx‰‡Œn */ + case 1: /* 支揎系 */ if ((sc_data[SC_AUTOSPELL].val2 == AL_HEAL || (sc_data[SC_AUTOSPELL].val2 == ALL_RESURRECTION @@ -5064,7 +5064,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, skilllv, tick, flag); break; - case 1: /* Žx‰‡Œn */ + case 1: /* 支揎系 */ if ((sd->autospell_id == AL_HEAL || (sd->autospell_id == ALL_RESURRECTION && target->type != BL_PC)) @@ -5154,7 +5154,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, (int) target, (int) src, skill_get_time2 (MO_BLADESTOP, lv), 0); } - if (t_sc_data && t_sc_data[SC_SPLASHER].timer != -1) //‰£‚Á‚œ‚̂őΏۂ̃xƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ó‘Ô‚ð‰ðœ + if (t_sc_data && t_sc_data[SC_SPLASHER].timer != -1) //殎ったので察象のベナムスプラッシャヌ状態を解陀 skill_status_change_end (target, SC_SPLASHER, -1); map_freeblock_unlock (); @@ -5183,12 +5183,12 @@ int battle_check_undead (int race, int element) } /*========================================== - * “G–¡•û”»’è(1=m’è,0=”Û’è,-1=ƒGƒ‰[) - * flag&0xf0000 = 0x00000:“G‚¶‚á‚È‚¢‚©”»’èiret:1“G‚Å‚Í‚È‚¢j - * = 0x10000:ƒp[ƒeƒB[”»’èiret:1=ƒp[ƒeƒB[ƒƒ“ƒo) - * = 0x20000:‘S‚Ä(ret:1=“G–¡•û—Œ•û) - * = 0x40000:“G‚©”»’è(ret:1=“G) - * = 0x50000:ƒp[ƒeƒB[‚¶‚á‚È‚¢‚©”»’è(ret:1=ƒp[ƒeƒB‚Å‚È‚¢) + * 敵味方刀定(1=肯定,0=吊定,-1=゚ラヌ) + * flag&0xf0000 = 0x00000:敵じゃないか刀定ret:1敵ではない + * = 0x10000:パヌティヌ刀定ret:1=パヌティヌメンバ) + * = 0x20000:党お(ret:1=敵味方䞡方) + * = 0x40000:敵か刀定(ret:1=敵) + * = 0x50000:パヌティヌじゃないか刀定(ret:1=パヌティでない) *------------------------------------------ */ int battle_check_target (struct block_list *src, struct block_list *target, @@ -5201,7 +5201,7 @@ int battle_check_target (struct block_list *src, struct block_list *target, nullpo_retr (0, target); if (flag & 0x40000) - { // ”œ“]ƒtƒ‰ƒO + { // 反転フラグ int ret = battle_check_target (src, target, flag & 0x30000); if (ret != -1) return !ret; @@ -5216,7 +5216,7 @@ int battle_check_target (struct block_list *src, struct block_list *target, return -1; } - if (src->type == BL_SKILL && target->type == BL_SKILL) // ‘ΏۂªƒXƒLƒ‹ƒ†ƒjƒbƒg‚È‚ç–³ðŒm’è + if (src->type == BL_SKILL && target->type == BL_SKILL) // 察象がスキルナニットなら無条件肯定 return -1; if (target->type == BL_PC @@ -5235,7 +5235,7 @@ int battle_check_target (struct block_list *src, struct block_list *target, } } - // ƒXƒLƒ‹ƒ†ƒjƒbƒg‚̏ꍇAe‚ð‹‚ß‚é + // スキルナニットの堎合、芪を求める if (src->type == BL_SKILL) { int inf2 = @@ -5257,25 +5257,25 @@ int battle_check_target (struct block_list *src, struct block_list *target, return -1; } } - // Mob‚Åmaster_id‚ª‚ ‚Á‚Äspecial_mob_ai‚È‚çA¢Š«Žå‚ð‹‚ß‚é + // Mobでmaster_idがあっおspecial_mob_aiなら、召喚䞻を求める if (src->type == BL_MOB) { struct mob_data *md = (struct mob_data *) src; if (md && md->master_id > 0) { - if (md->master_id == target->id) // Žå‚È‚çm’è + if (md->master_id == target->id) // 䞻なら肯定 return 1; if (md->state.special_mob_ai) { if (target->type == BL_MOB) - { //special_mob_ai‚őΏۂªMob + { //special_mob_aiで察象がMob struct mob_data *tmd = (struct mob_data *) target; if (tmd) { - if (tmd->master_id != md->master_id) //¢Š«Žå‚ªˆê‚Å‚È‚¯‚ê‚Δےè + if (tmd->master_id != md->master_id) //召喚䞻が䞀緒でなければ吊定 return 0; else - { //¢Š«Žå‚ªˆê‚Ȃ̂ōm’肵‚œ‚¢‚¯‚ÇŽ©”š‚͔ےè + { //召喚䞻が䞀緒なので肯定したいけど自爆は吊定 if (md->state.special_mob_ai > 2) return 0; else @@ -5289,20 +5289,20 @@ int battle_check_target (struct block_list *src, struct block_list *target, } } - if (src == target || ss == target) // “¯‚¶‚È‚çm’è + if (src == target || ss == target) // 同じなら肯定 return 1; if (target->type == BL_PC && pc_isinvisible ((struct map_session_data *) target)) return -1; - if (src->prev == NULL || // Ž€‚ñ‚Å‚é‚È‚çƒGƒ‰[ + if (src->prev == NULL || // 死んでるなら゚ラヌ (src->type == BL_PC && pc_isdead ((struct map_session_data *) src))) return -1; if ((ss->type == BL_PC && target->type == BL_MOB) || (ss->type == BL_MOB && target->type == BL_PC)) - return 0; // PCvsMOB‚È‚ç”Û’è + return 0; // PCvsMOBなら吊定 s_p = battle_get_party_id (ss); s_g = battle_get_guild_id (ss); @@ -5312,20 +5312,20 @@ int battle_check_target (struct block_list *src, struct block_list *target, if (flag & 0x10000) { - if (s_p && t_p && s_p == t_p) // “¯‚¶ƒp[ƒeƒB‚È‚çm’èi–¡•ûj + if (s_p && t_p && s_p == t_p) // 同じパヌティなら肯定味方 return 1; - else // ƒp[ƒeƒBŒŸõ‚Ȃ瓯‚¶ƒp[ƒeƒB‚¶‚á‚È‚¢Žž“_‚Ŕےè + else // パヌティ怜玢なら同じパヌティじゃない時点で吊定 return 0; } - if (ss->type == BL_MOB && s_g > 0 && t_g > 0 && s_g == t_g) // “¯‚¶ƒMƒ‹ƒh/mobƒNƒ‰ƒX‚È‚çm’èi–¡•ûj + if (ss->type == BL_MOB && s_g > 0 && t_g > 0 && s_g == t_g) // 同じギルド/mobクラスなら肯定味方 return 1; //printf("ss:%d src:%d target:%d flag:0x%x %d %d ",ss->id,src->id,target->id,flag,src->type,target->type); //printf("p:%d %d g:%d %d\n",s_p,t_p,s_g,t_g); if (ss->type == BL_PC && target->type == BL_PC) - { // —Œ•ûPVPƒ‚[ƒh‚È‚ç”Û’èi“Gj + { // äž¡æ–¹PVPモヌドなら吊定敵 struct skill_unit *su = NULL; if (src->type == BL_SKILL) su = (struct skill_unit *) src; @@ -5367,9 +5367,9 @@ int battle_check_target (struct block_list *src, struct block_list *target, && g->alliance[i].guild_id == t_g) { if (g->alliance[i].opposition) - return 0; //“G‘΃Mƒ‹ƒh‚È‚ç–³ðŒ‚É“G + return 0; //敵察ギルドなら無条件に敵 else - return 1; //“¯–¿ƒMƒ‹ƒh‚È‚ç–³ðŒ‚É–¡•û + return 1; //同盟ギルドなら無条件に味方 } } } @@ -5377,11 +5377,11 @@ int battle_check_target (struct block_list *src, struct block_list *target, } } - return 1; // ŠY“–‚µ‚È‚¢‚Ì‚Å–³ŠÖŒWl•ši‚Ü‚ “G‚¶‚á‚È‚¢‚Ì‚Å–¡•ûj + return 1; // 該圓しないので無関係人物たあ敵じゃないので味方 } /*========================================== - * ŽË’ö”»’è + * 射皋刀定 *------------------------------------------ */ int battle_check_range (struct block_list *src, struct block_list *bl, @@ -5399,19 +5399,19 @@ int battle_check_range (struct block_list *src, struct block_list *bl, dy = abs (bl->y - src->y); arange = ((dx > dy) ? dx : dy); - if (src->m != bl->m) // ˆá‚€ƒ}ƒbƒv + if (src->m != bl->m) // 違うマップ return 0; - if (range > 0 && range < arange) // ‰“‚·‚¬‚é + if (range > 0 && range < arange) // 遠すぎる return 0; - if (arange < 2) // “¯‚¶ƒ}ƒX‚©—×Ú + if (arange < 2) // 同じマスか隣接 return 1; // if(bl->type == BL_SKILL && ((struct skill_unit *)bl)->group->unit_id == 0x8d) // return 1; - // áŠQ•š”»’è + // 障害物刀定 wpd.path_len = 0; wpd.path_pos = 0; wpd.path_half = 0; @@ -5427,7 +5427,7 @@ int battle_check_range (struct block_list *src, struct block_list *bl, /*========================================== * Return numerical value of a switch configuration (modified by [Yor]) - * on/off, english, français, deutsch, español + * on/off, english, fran軋is, deutsch, espal *------------------------------------------ */ int battle_config_switch (const char *str) @@ -5443,7 +5443,7 @@ int battle_config_switch (const char *str) } /*========================================== - * Ý’èƒtƒ@ƒCƒ‹‚ð“ǂݍž‚Þ + * 蚭定ファむルを読み蟌む *------------------------------------------ */ int battle_config_read (const char *cfgName) -- cgit v1.2.3-60-g2f50