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 ++++++++++++++++++++++++++--------------------------- src/map/battle.h | 26 +- src/map/chat.c | 62 +-- src/map/chrif.c | 36 +- src/map/guild.c | 236 +++++----- src/map/intif.c | 136 +++--- src/map/itemdb.c | 38 +- src/map/map.c | 258 +++++------ src/map/map.h | 32 +- src/map/mob.c | 296 ++++++------- src/map/mob.h | 12 +- src/map/party.c | 110 ++--- src/map/path.c | 28 +- src/map/pc.h | 8 +- src/map/skill.h | 22 +- src/map/storage.c | 8 +- src/map/trade.c | 14 +- 17 files changed, 1290 insertions(+), 1290 deletions(-) (limited to 'src/map') 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) diff --git a/src/map/battle.h b/src/map/battle.h index 44016a5..3153925 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -2,7 +2,7 @@ #ifndef _BATTLE_H_ #define _BATTLE_H_ -// ƒ_ƒ[ƒW +// ダメヌゞ struct Damage { int damage, damage2; @@ -10,17 +10,17 @@ struct Damage int amotion, dmotion; int blewcount; int flag; - int dmg_lv; //ˆÍ‚܂ꌞŽZŒvŽZ—p@0:ƒXƒLƒ‹UŒ‚ ATK_LUCKY,ATK_FLEE,ATK_DEF + int dmg_lv; //囲たれ枛算蚈算甚 0:スキル攻撃 ATK_LUCKY,ATK_FLEE,ATK_DEF }; -// ‘®«•\i“ǂݍž‚Ý‚Ípc.cAbattle_attr_fix‚ÅŽg—pj +// 属性衚読み蟌みはpc.c、battle_attr_fixで䜿甚 extern int attr_fix_table[4][10][10]; struct map_session_data; struct mob_data; struct block_list; -// ƒ_ƒ[ƒWŒvŽZ +// ダメヌゞ蚈算 struct Damage battle_calc_attack (int attack_type, struct block_list *bl, @@ -38,15 +38,15 @@ struct Damage battle_calc_misc_attack (struct block_list *bl, struct block_list *target, int skill_num, int skill_lv, int flag); -// ‘®«C³ŒvŽZ +// 属性修正蚈算 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, int damage, int div_, int skill_num, int skill_lv, int flag); enum -{ // ÅIŒvŽZ‚̃tƒ‰ƒO +{ // 最終蚈算のフラグ BF_WEAPON = 0x0001, BF_MAGIC = 0x0002, BF_MISC = 0x0004, @@ -59,7 +59,7 @@ enum BF_SKILLMASK = 0x0f00, }; -// ŽÀÛ‚ÉHP‚𑝌ž +// 実際にHPを増枛 int battle_delay_damage (unsigned int tick, struct block_list *src, struct block_list *target, int damage, int flag); int battle_damage (struct block_list *bl, struct block_list *target, @@ -67,15 +67,15 @@ 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); -// UŒ‚‚âˆÚ“®‚ðŽ~‚ß‚é +// 攻撃や移動を止める int battle_stopattack (struct block_list *bl); int battle_stopwalking (struct block_list *bl, int type); -// ’ʏíUŒ‚ˆ—‚Ü‚Æ‚ß +// 通垞攻撃凊理たずめ int battle_weapon_attack (struct block_list *bl, struct block_list *target, unsigned int tick, int flag); -// ŠeŽíƒpƒ‰ƒ[ƒ^‚ð“Ÿ‚é +// 各皮パラメヌタを埗る int battle_counttargeted (struct block_list *bl, struct block_list *src, int target_lv); int battle_is_unarmed (struct block_list *bl); @@ -107,7 +107,7 @@ int battle_get_amotion (struct block_list *bl); int battle_get_dmotion (struct block_list *bl); int battle_get_element (struct block_list *bl); int battle_get_attack_element (struct block_list *bl); -int battle_get_attack_element2 (struct block_list *bl); //¶Žè•Ší‘®«Žæ“Ÿ +int battle_get_attack_element2 (struct block_list *bl); //巊手歊噚属性取埗 #define battle_get_elem_type(bl) (battle_get_element(bl)%10) #define battle_get_elem_level(bl) (battle_get_element(bl)/10/2) int battle_get_party_id (struct block_list *bl); @@ -142,7 +142,7 @@ int battle_check_target (struct block_list *src, struct block_list *target, int battle_check_range (struct block_list *src, struct block_list *bl, int range); -// Ý’è +// 蚭定 int battle_config_switch (const char *str); // [Valaris] diff --git a/src/map/chat.c b/src/map/chat.c index 1005205..772ac4c 100644 --- a/src/map/chat.c +++ b/src/map/chat.c @@ -19,7 +19,7 @@ int chat_triggerevent (struct chat_data *cd); /*========================================== - * ƒ`ƒƒƒbƒgƒ‹[ƒ€ì¬ + * チャットルヌム䜜成 *------------------------------------------ */ int chat_createchat (struct map_session_data *sd, int limit, int pub, @@ -63,7 +63,7 @@ int chat_createchat (struct map_session_data *sd, int limit, int pub, } /*========================================== - * Šù‘¶ƒ`ƒƒƒbƒgƒ‹[ƒ€‚ÉŽQ‰Á + * 既存チャットルヌムに参加 *------------------------------------------ */ int chat_joinchat (struct map_session_data *sd, int chatid, char *pass) @@ -92,17 +92,17 @@ int chat_joinchat (struct map_session_data *sd, int chatid, char *pass) pc_setchatid (sd, cd->bl.id); - clif_joinchatok (sd, cd); // V‚œ‚ÉŽQ‰Á‚µ‚œl‚É‚Í‘Sˆõ‚̃ŠƒXƒg - clif_addchat (cd, sd); // Šù‚É’†‚É‹‚œl‚ɂ͒ljÁ‚µ‚œl‚Ì•ñ - clif_dispchat (cd, 0); // ŽüˆÍ‚̐l‚ɂ͐l”•Ï‰»•ñ + clif_joinchatok (sd, cd); // 新たに参加した人には党員のリスト + clif_addchat (cd, sd); // 既に䞭に居た人には远加した人の報告 + clif_dispchat (cd, 0); // 呚囲の人には人数倉化報告 - chat_triggerevent (cd); // ƒCƒxƒ“ƒg + chat_triggerevent (cd); // むベント return 0; } /*========================================== - * ƒ`ƒƒƒbƒgƒ‹[ƒ€‚©‚甲‚¯‚é + * チャットルヌムから抜ける *------------------------------------------ */ int chat_leavechat (struct map_session_data *sd) @@ -124,17 +124,17 @@ int chat_leavechat (struct map_session_data *sd) break; } } - if (leavechar < 0) // ‚»‚Ìchat‚ɏŠ‘®‚µ‚Ä‚¢‚È‚¢‚炵‚¢ (ƒoƒOŽž‚Ì‚Ý) + if (leavechar < 0) // そのchatに所属しおいないらしい (バグ時のみ) return -1; if (leavechar == 0 && cd->users > 1 && (*cd->owner)->type == BL_PC) { - // Š—LŽÒ‚Ÿ‚Á‚œ&‘Œ‚ɐl‚ª‹‚é&PC‚̃`ƒƒƒbƒg + // 所有者だった&他に人が居る&PCのチャット clif_changechatowner (cd, cd->usersd[1]); clif_clearchat (cd, 0); } - // ”²‚¯‚éPC‚É‚à‘—‚é‚Ì‚Åusers‚ðŒž‚ç‚·‘O‚ÉŽÀs + // 抜けるPCにも送るのでusersを枛らす前に実行 clif_leavechat (cd, sd); cd->users--; @@ -142,9 +142,9 @@ int chat_leavechat (struct map_session_data *sd) if (cd->users == 0 && (*cd->owner)->type == BL_PC) { - // ‘Sˆõ‹‚È‚­‚È‚Á‚œ&PC‚̃`ƒƒƒbƒg‚Ȃ̂ŏÁ‚· + // 党員居なくなった&PCのチャットなので消す clif_clearchat (cd, 0); - map_delobject (cd->bl.id, BL_CHAT); // free‚Ü‚Å‚µ‚Ä‚­‚ê‚é + map_delobject (cd->bl.id, BL_CHAT); // freeたでしおくれる } else { @@ -152,7 +152,7 @@ int chat_leavechat (struct map_session_data *sd) cd->usersd[i] = cd->usersd[i + 1]; if (leavechar == 0 && (*cd->owner)->type == BL_PC) { - // PC‚̃`ƒƒƒbƒg‚Ȃ̂ŏŠ—LŽÒ‚ª”²‚¯‚œ‚̂ňʒu•ÏX + // PCのチャットなので所有者が抜けたので䜍眮倉曎 cd->bl.x = cd->usersd[0]->bl.x; cd->bl.y = cd->usersd[0]->bl.y; } @@ -163,7 +163,7 @@ int chat_leavechat (struct map_session_data *sd) } /*========================================== - * ƒ`ƒƒƒbƒgƒ‹[ƒ€‚ÌŽ‚¿Žå‚ð÷‚é + * チャットルヌムの持ち䞻を譲る *------------------------------------------ */ int chat_changechatowner (struct map_session_data *sd, char *nextownername) @@ -186,31 +186,31 @@ int chat_changechatowner (struct map_session_data *sd, char *nextownername) break; } } - if (nextowner < 0) // ‚»‚ñ‚Ȑl‚Í‹‚È‚¢ + if (nextowner < 0) // そんな人は居ない return -1; clif_changechatowner (cd, cd->usersd[nextowner]); - // ˆê’UÁ‚· + // 䞀旊消す clif_clearchat (cd, 0); - // userlist‚̏‡”ԕύX (0‚ªŠ—LŽÒ‚È‚Ì‚Å) + // userlistの順番倉曎 (0が所有者なので) if ((tmp_sd = cd->usersd[0]) == NULL) - return 1; //‚ ‚è‚Š‚é‚Ì‚©‚ȁH + return 1; //ありえるのかな cd->usersd[0] = cd->usersd[nextowner]; cd->usersd[nextowner] = tmp_sd; - // V‚µ‚¢Š—LŽÒ‚̈ʒu‚֕ύX + // 新しい所有者の䜍眮ぞ倉曎 cd->bl.x = cd->usersd[0]->bl.x; cd->bl.y = cd->usersd[0]->bl.y; - // Ä“x•\ŽŠ + // 再床衚瀺 clif_dispchat (cd, 0); return 0; } /*========================================== - * ƒ`ƒƒƒbƒg‚̏ó‘Ô(ƒ^ƒCƒgƒ‹“™)‚ð•ÏX + * チャットの状態(タむトル等)を倉曎 *------------------------------------------ */ int chat_changechatstatus (struct map_session_data *sd, int limit, int pub, @@ -239,7 +239,7 @@ int chat_changechatstatus (struct map_session_data *sd, int limit, int pub, } /*========================================== - * ƒ`ƒƒƒbƒgƒ‹[ƒ€‚©‚çR‚èo‚· + * チャットルヌムから蹎り出す *------------------------------------------ */ int chat_kickchat (struct map_session_data *sd, char *kickusername) @@ -261,7 +261,7 @@ int chat_kickchat (struct map_session_data *sd, char *kickusername) break; } } - if (kickuser < 0) // ‚»‚ñ‚Ȑl‚Í‹‚È‚¢ + if (kickuser < 0) // そんな人は居ない return -1; chat_leavechat (cd->usersd[kickuser]); @@ -270,7 +270,7 @@ int chat_kickchat (struct map_session_data *sd, char *kickusername) } /*========================================== - * npcƒ`ƒƒƒbƒgƒ‹[ƒ€ì¬ + * npcチャットルヌム䜜成 *------------------------------------------ */ int chat_createnpcchat (struct npc_data *nd, int limit, int pub, int trigger, @@ -315,7 +315,7 @@ int chat_createnpcchat (struct npc_data *nd, int limit, int pub, int trigger, } /*========================================== - * npcƒ`ƒƒƒbƒgƒ‹[ƒ€íœ + * npcチャットルヌム削陀 *------------------------------------------ */ int chat_deletenpcchat (struct npc_data *nd) @@ -327,14 +327,14 @@ int chat_deletenpcchat (struct npc_data *nd) chat_npckickall (cd); clif_clearchat (cd, 0); - map_delobject (cd->bl.id, BL_CHAT); // free‚Ü‚Å‚µ‚Ä‚­‚ê‚é + map_delobject (cd->bl.id, BL_CHAT); // freeたでしおくれる nd->chat_id = 0; return 0; } /*========================================== - * ‹K’èl”ˆÈã‚ŃCƒxƒ“ƒg‚ª’è‹`‚³‚ê‚Ä‚é‚È‚çŽÀs + * 芏定人数以䞊でむベントが定矩されおるなら実行 *------------------------------------------ */ int chat_triggerevent (struct chat_data *cd) @@ -347,7 +347,7 @@ int chat_triggerevent (struct chat_data *cd) } /*========================================== - * ƒCƒxƒ“ƒg‚Ì—LŒø‰» + * むベントの有効化 *------------------------------------------ */ int chat_enableevent (struct chat_data *cd) @@ -360,7 +360,7 @@ int chat_enableevent (struct chat_data *cd) } /*========================================== - * ƒCƒxƒ“ƒg‚Ì–³Œø‰» + * むベントの無効化 *------------------------------------------ */ int chat_disableevent (struct chat_data *cd) @@ -372,7 +372,7 @@ int chat_disableevent (struct chat_data *cd) } /*========================================== - * ƒ`ƒƒƒbƒgƒ‹[ƒ€‚©‚ç‘SˆõR‚èo‚· + * チャットルヌムから党員蹎り出す *------------------------------------------ */ int chat_npckickall (struct chat_data *cd) @@ -387,7 +387,7 @@ int chat_npckickall (struct chat_data *cd) } /*========================================== - * I—¹ + * 終了 *------------------------------------------ */ int do_final_chat (void) diff --git a/src/map/chrif.c b/src/map/chrif.c index fd2398b..4bcfa45 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -44,7 +44,7 @@ static int char_port = 6121; static char userid[24], passwd[24]; static int chrif_state; -// Ý’èƒtƒ@ƒCƒ‹“ǂݍž‚ÝŠÖŒW +// 蚭定ファむル読み蟌み関係 /*========================================== * *------------------------------------------ @@ -147,7 +147,7 @@ int chrif_connect (int fd) } /*========================================== - * ƒ}ƒbƒv‘—M + * マップ送信 *------------------------------------------ */ int chrif_sendmap (int fd) @@ -167,7 +167,7 @@ int chrif_sendmap (int fd) } /*========================================== - * ƒ}ƒbƒvŽóM + * マップ受信 *------------------------------------------ */ int chrif_recvmap (int fd) @@ -175,7 +175,7 @@ int chrif_recvmap (int fd) int i, j, ip, port; unsigned char *p = (unsigned char *) &ip; - if (chrif_state < 2) // ‚Ü‚Ÿ€”õ’† + if (chrif_state < 2) // ただ準備䞭 return -1; ip = RFIFOL (fd, 4); @@ -194,7 +194,7 @@ int chrif_recvmap (int fd) } /*========================================== - * ƒ}ƒbƒvŽIŠÔˆÚ“®‚Ì‚œ‚߂̃f[ƒ^€”õ—v‹ + * マップ鯖間移動のためのデヌタ準備芁求 *------------------------------------------ */ int chrif_changemapserver (struct map_session_data *sd, char *name, int x, @@ -230,7 +230,7 @@ int chrif_changemapserver (struct map_session_data *sd, char *name, int x, } /*========================================== - * ƒ}ƒbƒvŽIŠÔˆÚ“®ack + * マップ鯖間移動ack *------------------------------------------ */ int chrif_changemapserverack (int fd) @@ -361,7 +361,7 @@ int chrif_charselectreq (struct map_session_data *sd) } /*========================================== - * ƒLƒƒƒ‰–Œ–â‚¢‡‚킹 + * キャラ名問い合わせ *------------------------------------------ */ int chrif_searchcharid (int char_id) @@ -377,7 +377,7 @@ int chrif_searchcharid (int char_id) } /*========================================== - * GM‚ɕω»—v‹ + * GMに倉化芁求 *------------------------------------------ */ int chrif_changegm (int id, const char *pass, int len) @@ -633,7 +633,7 @@ int chrif_changedgm (int fd) } /*========================================== - * «•Ê•Ï‰»I—¹ (modified by Yor) + * 性別倉化終了 (modified by Yor) *------------------------------------------ */ int chrif_changedsex (int fd) @@ -705,7 +705,7 @@ int chrif_changedsex (int fd) } /*========================================== - * ƒAƒJƒEƒ“ƒg•Ï”•Û‘¶—v‹ + * アカりント倉数保存芁求 *------------------------------------------ */ int chrif_saveaccountreg2 (struct map_session_data *sd) @@ -733,7 +733,7 @@ int chrif_saveaccountreg2 (struct map_session_data *sd) } /*========================================== - * ƒAƒJƒEƒ“ƒg•Ï”’Ê’m + * アカりント倉数通知 *------------------------------------------ */ int chrif_accountreg2 (int fd) @@ -1151,12 +1151,12 @@ int chrif_parse (int fd) || packet_len_table[cmd - 0x2af8] == 0) { - int r = intif_parse (fd); // intif‚É“n‚· + int r = intif_parse (fd); // intifに枡す if (r == 1) - continue; // intif‚ŏˆ—‚µ‚œ + continue; // intifで凊理した if (r == 2) - return 0; // intif‚ŏˆ—‚µ‚œ‚ªAƒf[ƒ^‚ª‘«‚è‚È‚¢ + return 0; // intifで凊理したが、デヌタが足りない session[fd]->eof = 1; return 0; @@ -1244,8 +1244,8 @@ int chrif_parse (int fd) } /*========================================== - * timerŠÖ” - * ¡‚±‚ÌmapŽI‚ÉŒq‚ª‚Á‚Ä‚¢‚éƒNƒ‰ƒCƒAƒ“ƒgl”‚ðcharŽI‚Ö‘—‚é + * timer関数 + * 今このmap鯖に繋がっおいるクラむアント人数をchar鯖ぞ送る *------------------------------------------ */ int send_users_tochar (int tid, unsigned int tick, int id, int data) @@ -1276,8 +1276,8 @@ int send_users_tochar (int tid, unsigned int tick, int id, int data) } /*========================================== - * timerŠÖ” - * charŽI‚Ƃ̐ڑ±‚ðŠm”F‚µA‚à‚µØ‚ê‚Ä‚¢‚œ‚çÄ“xÚ‘±‚·‚é + * timer関数 + * char鯖ずの接続を確認し、もし切れおいたら再床接続する *------------------------------------------ */ int check_connect_char_server (int tid, unsigned int tick, int id, int data) diff --git a/src/map/guild.c b/src/map/guild.c index edee837..1d328ea 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -35,17 +35,17 @@ struct eventlist struct eventlist *next; }; -// ƒMƒ‹ƒh‚ÌEXPƒLƒƒƒbƒVƒ…‚̃tƒ‰ƒbƒVƒ…‚ÉŠÖ˜A‚·‚é’萔 -#define GUILD_PAYEXP_INVERVAL 10000 // ŠÔŠu(ƒLƒƒƒbƒVƒ…‚̍ő吶‘¶ŽžŠÔAƒ~ƒŠ•b) -#define GUILD_PAYEXP_LIST 8192 // ƒLƒƒƒbƒVƒ…‚̍ő吔 +// ギルドのEXPキャッシュのフラッシュに関連する定数 +#define GUILD_PAYEXP_INVERVAL 10000 // 間隔(キャッシュの最倧生存時間、ミリ秒) +#define GUILD_PAYEXP_LIST 8192 // キャッシュの最倧数 -// ƒMƒ‹ƒh‚ÌEXPƒLƒƒƒbƒVƒ… +// ギルドのEXPキャッシュ struct guild_expcache { int guild_id, account_id, char_id, exp; }; -// ƒMƒ‹ƒhƒXƒLƒ‹db‚̃AƒNƒZƒTi¡‚Í’Œ‘Å‚¿‚Å‘ã—pj +// ギルドスキルdbのアクセサ今は盎打ちで代甚 int guild_skill_get_inf (int id) { return 0; @@ -66,7 +66,7 @@ int guild_skill_get_max (int id) return (id == 10004) ? 10 : 1; } -// ƒMƒ‹ƒhƒXƒLƒ‹‚ª‚ ‚é‚©Šm”F +// ギルドスキルがあるか確認 int guild_checkskill (struct guild *g, int id) { return g->skill[id - 10000].lv; @@ -146,7 +146,7 @@ static int guild_read_castledb (void) return 0; } -// ‰Šú‰» +// 初期化 void do_init_guild (void) { guild_db = numdb_init (); @@ -164,7 +164,7 @@ void do_init_guild (void) guild_payexp_timer, 0, 0, GUILD_PAYEXP_INVERVAL); } -// ŒŸõ +// 怜玢 struct guild *guild_search (int guild_id) { return numdb_search (guild_db, guild_id); @@ -181,7 +181,7 @@ int guild_searchname_sub (void *key, void *data, va_list ap) return 0; } -// ƒMƒ‹ƒh–ŒŒŸõ +// ギルド名怜玢 struct guild *guild_searchname (char *str) { struct guild *g = NULL; @@ -194,7 +194,7 @@ struct guild_castle *guild_castle_search (int gcid) return numdb_search (castle_db, gcid); } -// mapname‚ɑΉž‚µ‚œƒAƒWƒg‚Ìgc‚ð•Ô‚· +// mapnameに察応したアゞトのgcを返す struct guild_castle *guild_mapname2gc (char *mapname) { int i; @@ -210,7 +210,7 @@ struct guild_castle *guild_mapname2gc (char *mapname) return NULL; } -// ƒƒOƒCƒ“’†‚̃Mƒ‹ƒhƒƒ“ƒo[‚Ì‚Pl‚Ìsd‚ð•Ô‚· +// ログむン䞭のギルドメンバヌの人のsdを返す struct map_session_data *guild_getavailablesd (struct guild *g) { int i; @@ -223,7 +223,7 @@ struct map_session_data *guild_getavailablesd (struct guild *g) return NULL; } -// ƒMƒ‹ƒhƒƒ“ƒo[‚̃Cƒ“ƒfƒbƒNƒX‚ð•Ô‚· +// ギルドメンバヌのむンデックスを返す int guild_getindex (struct guild *g, int account_id, int char_id) { int i; @@ -235,7 +235,7 @@ int guild_getindex (struct guild *g, int account_id, int char_id) return -1; } -// ƒMƒ‹ƒhƒƒ“ƒo[‚Ì–ðE‚ð•Ô‚· +// ギルドメンバヌの圹職を返す int guild_getposition (struct map_session_data *sd, struct guild *g) { int i; @@ -250,7 +250,7 @@ int guild_getposition (struct map_session_data *sd, struct guild *g) return -1; } -// ƒƒ“ƒo[î•ñ‚̍쐬 +// メンバヌ情報の䜜成 void guild_makemember (struct guild_member *m, struct map_session_data *sd) { nullpo_retv (sd); @@ -271,7 +271,7 @@ void guild_makemember (struct guild_member *m, struct map_session_data *sd) return; } -// ƒMƒ‹ƒh‹£‡Šm”F +// ギルド競合確認 int guild_check_conflict (struct map_session_data *sd) { nullpo_retr (0, sd); @@ -281,7 +281,7 @@ int guild_check_conflict (struct map_session_data *sd) return 0; } -// ƒMƒ‹ƒh‚ÌEXPƒLƒƒƒbƒVƒ…‚ðinterŽI‚Ƀtƒ‰ƒbƒVƒ…‚·‚é +// ギルドのEXPキャッシュをinter鯖にフラッシュする int guild_payexp_timer_sub (void *key, void *data, va_list ap) { int i, *dellist, *delp, dataid = (int) key; @@ -401,7 +401,7 @@ int guild_created (int account_id, int guild_id) return 0; } -// î•ñ—v‹ +// 情報芁求 int guild_request_info (int guild_id) { // if(battle_config.etc_log) @@ -409,7 +409,7 @@ int guild_request_info (int guild_id) return intif_guild_request_info (guild_id); } -// ƒCƒxƒ“ƒg•t‚«î•ñ—v‹ +// むベント付き情報芁求 int guild_npc_request_info (int guild_id, const char *event) { struct eventlist *ev; @@ -432,7 +432,7 @@ int guild_npc_request_info (int guild_id, const char *event) return guild_request_info (guild_id); } -// Š‘®ƒLƒƒƒ‰‚ÌŠm”F +// 所属キャラの確認 int guild_check_member (const struct guild *g) { int i; @@ -448,7 +448,7 @@ int guild_check_member (const struct guild *g) { int j, f = 1; for (j = 0; j < MAX_GUILD; j++) - { // ƒf[ƒ^‚ª‚ ‚é‚© + { // デヌタがあるか if (g->member[j].account_id == sd->status.account_id) f = 0; } @@ -467,7 +467,7 @@ int guild_check_member (const struct guild *g) return 0; } -// î•ñŠ“ŸŽž”si‚»‚ÌID‚̃Lƒƒƒ‰‚ð‘S•”–¢Š‘®‚É‚·‚éj +// 情報所埗倱敗そのIDのキャラを党郚未所属にする int guild_recv_noinfo (int guild_id) { int i; @@ -483,7 +483,7 @@ int guild_recv_noinfo (int guild_id) return 0; } -// î•ñŠ“Ÿ +// 情報所埗 int guild_recv_info (struct guild *sg) { struct guild *g, before; @@ -498,7 +498,7 @@ int guild_recv_info (struct guild *sg) numdb_insert (guild_db, sg->guild_id, g); before = *sg; - // Å‰‚̃[ƒh‚Ȃ̂ц[ƒU[‚̃`ƒFƒbƒN‚ðs‚€ + // 最初のロヌドなのでナヌザヌのチェックを行う guild_check_member (sg); } else @@ -506,7 +506,7 @@ int guild_recv_info (struct guild *sg) memcpy (g, sg, sizeof (struct guild)); for (i = bm = m = 0; i < g->max_member; i++) - { // sd‚̐ݒè‚Ɛl”‚ÌŠm”F + { // sdの蚭定ず人数の確認 if (g->member[i].account_id > 0) { struct map_session_data *sd = map_id2sd (g->member[i].account_id); @@ -522,7 +522,7 @@ int guild_recv_info (struct guild *sg) } for (i = 0; i < g->max_member; i++) - { // î•ñ‚Ì‘—M + { // 情報の送信 struct map_session_data *sd = g->member[i].sd; if (sd == NULL) continue; @@ -530,20 +530,20 @@ int guild_recv_info (struct guild *sg) if (before.guild_lv != g->guild_lv || bm != m || before.max_member != g->max_member) { - clif_guild_basicinfo (sd); // Šî–{î•ñ‘—M - clif_guild_emblem (sd, g); // ƒGƒ“ƒuƒŒƒ€‘—M + clif_guild_basicinfo (sd); // 基本情報送信 + clif_guild_emblem (sd, g); // ゚ンブレム送信 } if (bm != m) - { // ƒƒ“ƒo[î•ñ‘—M + { // メンバヌ情報送信 clif_guild_memberlist (g->member[i].sd); } if (before.skill_point != g->skill_point) - clif_guild_skillinfo (sd); // ƒXƒLƒ‹î•ñ‘—M + clif_guild_skillinfo (sd); // スキル情報送信 if (sd->guild_sended == 0) - { // –¢‘—M‚Ȃ珊‘®î•ñ‚à‘—‚é + { // 未送信なら所属情報も送る clif_guild_belonginfo (sd, g); clif_guild_notice (sd, g); sd->guild_emblem_id = g->emblem_id; @@ -551,7 +551,7 @@ int guild_recv_info (struct guild *sg) } } - // ƒCƒxƒ“ƒg‚Ì”­¶ + // むベントの発生 if ((ev = numdb_search (guild_infoevent_db, sg->guild_id)) != NULL) { numdb_erase (guild_infoevent_db, sg->guild_id); @@ -564,7 +564,7 @@ int guild_recv_info (struct guild *sg) return 0; } -// ƒMƒ‹ƒh‚Ö‚ÌŠ©—U +// ギルドぞの勧誘 int guild_invite (struct map_session_data *sd, int account_id) { struct map_session_data *tsd; @@ -581,18 +581,18 @@ int guild_invite (struct map_session_data *sd, int account_id) if (!battle_config.invite_request_check) { if (tsd->party_invite > 0 || tsd->trade_partner) - { // ‘ŠŽè‚ªŽæˆø’†‚©‚Ç‚€‚© + { // 盞手が取匕䞭かどうか clif_guild_inviteack (sd, 0); return 0; } } if (tsd->status.guild_id > 0 || tsd->guild_invite > 0) - { // ‘ŠŽè‚̏Š‘®Šm”F + { // 盞手の所属確認 clif_guild_inviteack (sd, 0); return 0; } - // ’èˆõŠm”F + // 定員確認 for (i = 0; i < g->max_member; i++) if (g->member[i].account_id == 0) break; @@ -609,7 +609,7 @@ int guild_invite (struct map_session_data *sd, int account_id) return 0; } -// ƒMƒ‹ƒhŠ©—U‚Ö‚Ì•Ô“š +// ギルド勧誘ぞの返答 int guild_reply_invite (struct map_session_data *sd, int guild_id, int flag) { struct map_session_data *tsd; @@ -617,16 +617,16 @@ int guild_reply_invite (struct map_session_data *sd, int guild_id, int flag) nullpo_retr (0, sd); nullpo_retr (0, tsd = map_id2sd (sd->guild_invite_account)); - if (sd->guild_invite != guild_id) // Š©—U‚ƃMƒ‹ƒhID‚ªˆá‚€ + if (sd->guild_invite != guild_id) // 勧誘ずギルドIDが違う return 0; if (flag == 1) - { // ³‘ø + { // 承諟 struct guild_member m; struct guild *g; int i; - // ’èˆõŠm”F + // 定員確認 if ((g = guild_search (tsd->status.guild_id)) == NULL) { sd->guild_invite = 0; @@ -644,13 +644,13 @@ int guild_reply_invite (struct map_session_data *sd, int guild_id, int flag) return 0; } - //interŽI‚֒ljÁ—v‹ + //inter鯖ぞ远加芁求 guild_makemember (&m, sd); intif_guild_addmember (sd->guild_invite, &m); return 0; } else - { // ‹‘”Û + { // 拒吊 sd->guild_invite = 0; sd->guild_invite_account = 0; if (tsd == NULL) @@ -660,7 +660,7 @@ int guild_reply_invite (struct map_session_data *sd, int guild_id, int flag) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚ª’ljÁ‚³‚ê‚œ +// ギルドメンバが远加された int guild_member_added (int guild_id, int account_id, int char_id, int flag) { struct map_session_data *sd = map_id2sd (account_id), *sd2; @@ -671,11 +671,11 @@ int guild_member_added (int guild_id, int account_id, int char_id, int flag) if ((sd == NULL || sd->guild_invite == 0) && flag == 0) { - // ƒLƒƒƒ‰‘€‚É“o˜^‚Å‚«‚È‚©‚Á‚œ‚œ‚ß’E‘Þ—v‹‚ðo‚· + // キャラ偎に登録できなかったため脱退芁求を出す if (battle_config.error_log) printf ("guild: member added error %d is not online\n", account_id); - intif_guild_leave (guild_id, account_id, 0 /*char_id*/, 0, "**“o˜^Žž”s**"); + intif_guild_leave (guild_id, account_id, 0 /*char_id*/, 0, "**登録倱敗**"); return 0; } sd->guild_invite = 0; @@ -684,26 +684,26 @@ int guild_member_added (int guild_id, int account_id, int char_id, int flag) sd2 = map_id2sd (sd->guild_invite_account); if (flag == 1) - { // Žž”s + { // 倱敗 if (sd2 != NULL) clif_guild_inviteack (sd2, 3); return 0; } - // ¬Œ÷ + // 成功 sd->guild_sended = 0; sd->status.guild_id = guild_id; if (sd2 != NULL) clif_guild_inviteack (sd2, 2); - // ‚¢‚¿‚š‚€‹£‡Šm”F + // いちおう競合確認 guild_check_conflict (sd); return 0; } -// ƒMƒ‹ƒh’E‘Þ—v‹ +// ギルド脱退芁求 int guild_leave (struct map_session_data *sd, int guild_id, int account_id, int char_id, const char *mes) { @@ -722,7 +722,7 @@ int guild_leave (struct map_session_data *sd, int guild_id, return 0; for (i = 0; i < g->max_member; i++) - { // Š‘®‚µ‚Ä‚¢‚é‚© + { // 所属しおいるか if (g->member[i].account_id == sd->status.account_id) { intif_guild_leave (g->guild_id, sd->status.account_id, @@ -733,7 +733,7 @@ int guild_leave (struct map_session_data *sd, int guild_id, return 0; } -// ƒMƒ‹ƒh’Ç•ú—v‹ +// ギルド远攟芁求 int guild_explusion (struct map_session_data *sd, int guild_id, int account_id, int char_id, const char *mes) { @@ -752,10 +752,10 @@ int guild_explusion (struct map_session_data *sd, int guild_id, if ((ps = guild_getposition (sd, g)) < 0 || !(g->position[ps].mode & 0x0010)) - return 0; // ˆ”±Œ ŒÀ–³‚µ + return 0; // 凊眰暩限無し for (i = 0; i < g->max_member; i++) - { // Š‘®‚µ‚Ä‚¢‚é‚© + { // 所属しおいるか if (g->member[i].account_id == account_id) { intif_guild_leave (g->guild_id, account_id, 0 /*char_id*/, 1, mes); @@ -765,7 +765,7 @@ int guild_explusion (struct map_session_data *sd, int guild_id, return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚ª’E‘Þ‚µ‚œ +// ギルドメンバが脱退した int guild_member_leaved (int guild_id, int account_id, int char_id, int flag, const char *name, const char *mes) { @@ -802,7 +802,7 @@ int guild_member_leaved (int guild_id, int account_id, int char_id, int flag, sd->guild_sended = 0; } - // ƒƒ“ƒo[ƒŠƒXƒg‚ð‘Sˆõ‚ɍĒʒm + // メンバヌリストを党員に再通知 for (i = 0; i < g->max_member; i++) { if (g->member[i].sd != NULL) @@ -812,7 +812,7 @@ int guild_member_leaved (int guild_id, int account_id, int char_id, int flag, return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚̃Iƒ“ƒ‰ƒCƒ“ó‘Ô/LvXV‘—M +// ギルドメンバのオンラむン状態/Lv曎新送信 int guild_send_memberinfoshort (struct map_session_data *sd, int online) { struct guild *g; @@ -831,7 +831,7 @@ int guild_send_memberinfoshort (struct map_session_data *sd, int online) sd->status.class); if (!online) - { // ƒƒOƒAƒEƒg‚·‚é‚È‚çsd‚ðƒNƒŠƒA‚µ‚ďI—¹ + { // ログアりトするならsdをクリアしお終了 int i = guild_getindex (g, sd->status.account_id, 0 /*char_id*/); if (i >= 0) @@ -839,16 +839,16 @@ int guild_send_memberinfoshort (struct map_session_data *sd, int online) return 0; } - if (sd->guild_sended != 0) // ƒMƒ‹ƒh‰Šú‘—Mƒf[ƒ^‚Í‘—MÏ‚Ý + if (sd->guild_sended != 0) // ギルド初期送信デヌタは送信枈み return 0; - // ‹£‡Šm”F + // 競合確認 guild_check_conflict (sd); - // ‚ ‚é‚È‚çƒMƒ‹ƒh‰Šú‘—Mƒf[ƒ^‘—M + // あるならギルド初期送信デヌタ送信 if ((g = guild_search (sd->status.guild_id)) != NULL) { - guild_check_member (g); // Š‘®‚ðŠm”F‚·‚é + guild_check_member (g); // 所属を確認する if (sd->status.guild_id == g->guild_id) { clif_guild_belonginfo (sd, g); @@ -860,7 +860,7 @@ int guild_send_memberinfoshort (struct map_session_data *sd, int online) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚̃Iƒ“ƒ‰ƒCƒ“ó‘Ô/LvXV’Ê’m +// ギルドメンバのオンラむン状態/Lv曎新通知 int guild_recv_memberinfoshort (int guild_id, int account_id, int char_id, int online, int lv, int class) { @@ -897,22 +897,22 @@ int guild_recv_memberinfoshort (int guild_id, int account_id, int char_id, g->average_lv = alv / c; g->connect_member = om; - if (oldonline != online) // ƒIƒ“ƒ‰ƒCƒ“ó‘Ô‚ª•Ï‚í‚Á‚œ‚Ì‚Å’Ê’m + if (oldonline != online) // オンラむン状態が倉わったので通知 clif_guild_memberlogin_notice (g, idx, online); for (i = 0; i < g->max_member; i++) - { // sdÄÝ’è + { // sd再蚭定 struct map_session_data *sd = map_id2sd (g->member[i].account_id); g->member[i].sd = (sd != NULL && sd->status.guild_id == guild_id) ? sd : NULL; } - // ‚±‚±‚ɃNƒ‰ƒCƒAƒ“ƒg‚É‘—Mˆ—‚ª•K—v + // ここにクラむアントに送信凊理が必芁 return 0; } -// ƒMƒ‹ƒh‰ï˜b‘—M +// ギルド䌚話送信 int guild_send_message (struct map_session_data *sd, char *mes, int len) { nullpo_retr (0, sd); @@ -924,7 +924,7 @@ int guild_send_message (struct map_session_data *sd, char *mes, int len) return 0; } -// ƒMƒ‹ƒh‰ï˜bŽóM +// ギルド䌚話受信 int guild_recv_message (int guild_id, int account_id, char *mes, int len) { struct guild *g; @@ -934,7 +934,7 @@ int guild_recv_message (int guild_id, int account_id, char *mes, int len) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚Ì–ðE•ÏX +// ギルドメンバの圹職倉曎 int guild_change_memberposition (int guild_id, int account_id, int char_id, int idx) { @@ -942,7 +942,7 @@ int guild_change_memberposition (int guild_id, int account_id, int char_id, GMI_POSITION, &idx, sizeof (idx)); } -// ƒMƒ‹ƒhƒƒ“ƒo‚Ì–ðE•ÏX’Ê’m +// ギルドメンバの圹職倉曎通知 int guild_memberposition_changed (struct guild *g, int idx, int pos) { nullpo_retr (0, g); @@ -952,7 +952,7 @@ int guild_memberposition_changed (struct guild *g, int idx, int pos) return 0; } -// ƒMƒ‹ƒh–ðE•ÏX +// ギルド圹職倉曎 int guild_change_position (struct map_session_data *sd, int idx, int mode, int exp_mode, const char *name) { @@ -970,7 +970,7 @@ int guild_change_position (struct map_session_data *sd, int idx, return intif_guild_position (sd->status.guild_id, idx, &p); } -// ƒMƒ‹ƒh–ðE•ÏX’Ê’m +// ギルド圹職倉曎通知 int guild_position_changed (int guild_id, int idx, struct guild_position *p) { struct guild *g = guild_search (guild_id); @@ -981,7 +981,7 @@ int guild_position_changed (int guild_id, int idx, struct guild_position *p) return 0; } -// ƒMƒ‹ƒh’m•ÏX +// ギルド告知倉曎 int guild_change_notice (struct map_session_data *sd, int guild_id, const char *mes1, const char *mes2) { @@ -1005,7 +1005,7 @@ int guild_change_notice (struct map_session_data *sd, int guild_id, return intif_guild_notice (guild_id, mes1, mes2); } -// ƒMƒ‹ƒh’m•ÏX’Ê’m +// ギルド告知倉曎通知 int guild_notice_changed (int guild_id, const char *mes1, const char *mes2) { int i; @@ -1025,7 +1025,7 @@ int guild_notice_changed (int guild_id, const char *mes1, const char *mes2) return 0; } -// ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX +// ギルド゚ンブレム倉曎 int guild_change_emblem (struct map_session_data *sd, int len, const char *data) { @@ -1046,7 +1046,7 @@ int guild_change_emblem (struct map_session_data *sd, int len, return intif_guild_emblem (sd->status.guild_id, len, data); } -// ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX’Ê’m +// ギルド゚ンブレム倉曎通知 int guild_emblem_changed (int len, int guild_id, int emblem_id, const char *data) { @@ -1072,7 +1072,7 @@ int guild_emblem_changed (int len, int guild_id, int emblem_id, return 0; } -// ƒMƒ‹ƒh‚ÌEXPã”[ +// ギルドのEXP侊箍 int guild_payexp (struct map_session_data *sd, int exp) { struct guild *g; @@ -1110,7 +1110,7 @@ int guild_payexp (struct map_session_data *sd, int exp) return exp2; } -// ƒXƒLƒ‹ƒ|ƒCƒ“ƒgŠ„‚èU‚è +// スキルポむント割り振り int guild_skillup (struct map_session_data *sd, int skill_num) { struct guild *g; @@ -1133,7 +1133,7 @@ int guild_skillup (struct map_session_data *sd, int skill_num) return 0; } -// ƒXƒLƒ‹ƒ|ƒCƒ“ƒgŠ„‚èU‚è’Ê’m +// スキルポむント割り振り通知 int guild_skillupack (int guild_id, int skill_num, int account_id) { struct map_session_data *sd = map_id2sd (account_id); @@ -1143,14 +1143,14 @@ int guild_skillupack (int guild_id, int skill_num, int account_id) return 0; if (sd != NULL) clif_guild_skillup (sd, skill_num, g->skill[skill_num - 10000].lv); - // ‘Sˆõ‚É’Ê’m + // 党員に通知 for (i = 0; i < g->max_member; i++) if ((sd = g->member[i].sd) != NULL) clif_guild_skillinfo (sd); return 0; } -// ƒMƒ‹ƒh“¯–¿”Š“Ÿ +// ギルド同盟数所埗 int guild_get_alliance_count (struct guild *g, int flag) { int i, c; @@ -1165,7 +1165,7 @@ int guild_get_alliance_count (struct guild *g, int flag) return c; } -// ƒMƒ‹ƒh“¯–¿—v‹ +// ギルド同盟芁求 int guild_reqalliance (struct map_session_data *sd, int account_id) { struct map_session_data *tsd = map_id2sd (account_id); @@ -1194,19 +1194,19 @@ int guild_reqalliance (struct map_session_data *sd, int account_id) || !(g[0]->position[ps].mode & 0x0010)) return 0; - if (guild_get_alliance_count (g[0], 0) > 3) // “¯–¿”Šm”F + if (guild_get_alliance_count (g[0], 0) > 3) // 同盟数確認 clif_guild_allianceack (sd, 4); if (guild_get_alliance_count (g[1], 0) > 3) clif_guild_allianceack (sd, 3); if (tsd->guild_alliance > 0) - { // ‘ŠŽè‚ª“¯–¿—v¿ó‘Ô‚©‚Ç‚€‚©Šm”F + { // 盞手が同盟芁請状態かどうか確認 clif_guild_allianceack (sd, 1); return 0; } for (i = 0; i < MAX_GUILDALLIANCE; i++) - { // ‚·‚Å‚É“¯–¿ó‘Ô‚©Šm”F + { // すでに同盟状態か確認 if (g[0]->alliance[i].guild_id == tsd->status.guild_id && g[0]->alliance[i].opposition == 0) { @@ -1222,7 +1222,7 @@ int guild_reqalliance (struct map_session_data *sd, int account_id) return 0; } -// ƒMƒ‹ƒhŠ©—U‚Ö‚Ì•Ô“š +// ギルド勧誘ぞの返答 int guild_reply_reqalliance (struct map_session_data *sd, int account_id, int flag) { @@ -1231,14 +1231,14 @@ int guild_reply_reqalliance (struct map_session_data *sd, int account_id, nullpo_retr (0, sd); nullpo_retr (0, tsd = map_id2sd (account_id)); - if (sd->guild_alliance != tsd->status.guild_id) // Š©—U‚ƃMƒ‹ƒhID‚ªˆá‚€ + if (sd->guild_alliance != tsd->status.guild_id) // 勧誘ずギルドIDが違う return 0; if (flag == 1) - { // ³‘ø + { // 承諟 int i; - struct guild *g; // “¯–¿”ÄŠm”F + struct guild *g; // 同盟数再確認 if ((g = guild_search (sd->status.guild_id)) == NULL || guild_get_alliance_count (g, 0) > 3) { @@ -1254,7 +1254,7 @@ int guild_reply_reqalliance (struct map_session_data *sd, int account_id, return 0; } - // “G‘Ί֌W‚È‚ç“G‘΂ðŽ~‚ß‚é + // 敵察関係なら敵察を止める if ((g = guild_search (sd->status.guild_id)) == NULL) return 0; for (i = 0; i < MAX_GUILDALLIANCE; i++) @@ -1278,14 +1278,14 @@ int guild_reply_reqalliance (struct map_session_data *sd, int account_id, sd->status.account_id, 9); } - // interŽI‚Ö“¯–¿—v¿ + // inter鯖ぞ同盟芁請 intif_guild_alliance (sd->status.guild_id, tsd->status.guild_id, sd->status.account_id, tsd->status.account_id, 0); return 0; } else - { // ‹‘”Û + { // 拒吊 sd->guild_alliance = 0; sd->guild_alliance_account = 0; if (tsd != NULL) @@ -1294,7 +1294,7 @@ int guild_reply_reqalliance (struct map_session_data *sd, int account_id, return 0; } -// ƒMƒ‹ƒhŠÖŒW‰ðÁ +// ギルド関係解消 int guild_delalliance (struct map_session_data *sd, int guild_id, int flag) { if (agit_flag) @@ -1323,7 +1323,7 @@ int guild_delalliance (struct map_session_data *sd, int guild_id, int flag) return 0; } -// ƒMƒ‹ƒh“G‘Î +// ギルド敵察 int guild_opposition (struct map_session_data *sd, int account_id /*char_id*/) { struct map_session_data *tsd = map_id2sd (account_id /*char_id*/); @@ -1340,19 +1340,19 @@ int guild_opposition (struct map_session_data *sd, int account_id /*char_id*/) || !(g->position[ps].mode & 0x0010)) return 0; - if (guild_get_alliance_count (g, 1) > 3) // “G‘ΐ”Šm”F + if (guild_get_alliance_count (g, 1) > 3) // 敵察数確認 clif_guild_oppositionack (sd, 1); for (i = 0; i < MAX_GUILDALLIANCE; i++) - { // ‚·‚Å‚ÉŠÖŒW‚ðŽ‚Á‚Ä‚¢‚é‚©Šm”F + { // すでに関係を持っおいるか確認 if (g->alliance[i].guild_id == tsd->status.guild_id) { if (g->alliance[i].opposition == 1) - { // ‚·‚Å‚É“G‘Î + { // すでに敵察 clif_guild_oppositionack (sd, 2); return 0; } - else // “¯–¿”jŠü + else // 同盟砎棄 intif_guild_alliance (sd->status.guild_id, tsd->status.guild_id, sd->status.account_id, @@ -1360,13 +1360,13 @@ int guild_opposition (struct map_session_data *sd, int account_id /*char_id*/) } } - // interŽI‚É“G‘Ηv¿ + // inter鯖に敵察芁請 intif_guild_alliance (sd->status.guild_id, tsd->status.guild_id, sd->status.account_id, tsd->status.account_id, 1); return 0; } -// ƒMƒ‹ƒh“¯–¿/“G‘Î’Ê’m +// ギルド同盟/敵察通知 int guild_allianceack (int guild_id1, int guild_id2, int account_id1, int account_id2, int flag, const char *name1, const char *name2) @@ -1388,7 +1388,7 @@ int guild_allianceack (int guild_id1, int guild_id2, int account_id1, } if (flag & 0x70) - { // Žž”s + { // 倱敗 for (i = 0; i < 2 - (flag & 1); i++) if (sd[i] != NULL) clif_guild_allianceack (sd[i], @@ -1399,7 +1399,7 @@ int guild_allianceack (int guild_id1, int guild_id2, int account_id1, // printf("guild alliance_ack %d %d %d %d %d %s %s\n",guild_id1,guild_id2,account_id1,account_id2,flag,name1,name2); if (!(flag & 0x08)) - { // ŠÖŒW’ljÁ + { // 関係远加 for (i = 0; i < 2 - (flag & 1); i++) if (g[i] != NULL) for (j = 0; j < MAX_GUILDALLIANCE; j++) @@ -1413,7 +1413,7 @@ int guild_allianceack (int guild_id1, int guild_id2, int account_id1, } } else - { // ŠÖŒW‰ðÁ + { // 関係解消 for (i = 0; i < 2 - (flag & 1); i++) { if (g[i] != NULL) @@ -1424,24 +1424,24 @@ int guild_allianceack (int guild_id1, int guild_id2, int account_id1, g[i]->alliance[j].guild_id = 0; break; } - if (sd[i] != NULL) // ‰ðÁ’Ê’m + if (sd[i] != NULL) // 解消通知 clif_guild_delalliance (sd[i], guild_id[1 - i], (flag & 1)); } } if ((flag & 0x0f) == 0) - { // “¯–¿’Ê’m + { // 同盟通知 if (sd[1] != NULL) clif_guild_allianceack (sd[1], 2); } else if ((flag & 0x0f) == 1) - { // “G‘Î’Ê’m + { // 敵察通知 if (sd[0] != NULL) clif_guild_oppositionack (sd[0], 0); } for (i = 0; i < 2 - (flag & 1); i++) - { // “¯–¿/“G‘΃ŠƒXƒg‚̍đ—M + { // 同盟/敵察リストの再送信 struct map_session_data *sd; if (g[i] != NULL) for (j = 0; j < g[i]->max_member; j++) @@ -1451,7 +1451,7 @@ int guild_allianceack (int guild_id1, int guild_id2, int account_id1, return 0; } -// ƒMƒ‹ƒh‰ðŽU’Ê’m—p +// ギルド解散通知甚 int guild_broken_sub (void *key, void *data, va_list ap) { struct guild *g = (struct guild *) data; @@ -1462,7 +1462,7 @@ int guild_broken_sub (void *key, void *data, va_list ap) nullpo_retr (0, g); for (i = 0; i < MAX_GUILDALLIANCE; i++) - { // ŠÖŒW‚ð”jŠü + { // 関係を砎棄 if (g->alliance[i].guild_id == guild_id) { for (j = 0; j < g->max_member; j++) @@ -1475,7 +1475,7 @@ int guild_broken_sub (void *key, void *data, va_list ap) return 0; } -// ƒMƒ‹ƒh‰ðŽU’Ê’m +// ギルド解散通知 int guild_broken (int guild_id, int flag) { struct guild *g = guild_search (guild_id); @@ -1485,7 +1485,7 @@ int guild_broken (int guild_id, int flag) return 0; for (i = 0; i < g->max_member; i++) - { // ƒMƒ‹ƒh‰ðŽU‚ð’Ê’m + { // ギルド解散を通知 if ((sd = g->member[i].sd) != NULL) { if (sd->state.storage_flag == 2) @@ -1503,7 +1503,7 @@ int guild_broken (int guild_id, int flag) return 0; } -// ƒMƒ‹ƒh‰ðŽU +// ギルド解散 int guild_break (struct map_session_data *sd, char *name) { struct guild *g; @@ -1533,13 +1533,13 @@ int guild_break (struct map_session_data *sd, char *name) return 0; } -// ƒMƒ‹ƒhéƒf[ƒ^—v‹ +// ギルド城デヌタ芁求 int guild_castledataload (int castle_id, int index) { return intif_guild_castle_dataload (castle_id, index); } -// ƒMƒ‹ƒhéî•ñŠ“ŸŽžƒCƒxƒ“ƒg’ljÁ +// ギルド城情報所埗時むベント远加 int guild_addcastleinfoevent (int castle_id, int index, const char *name) { struct eventlist *ev; @@ -1555,7 +1555,7 @@ int guild_addcastleinfoevent (int castle_id, int index, const char *name) return 0; } -// ƒMƒ‹ƒhéƒf[ƒ^—v‹•ÔM +// ギルド城デヌタ芁求返信 int guild_castledataloadack (int castle_id, int index, int value) { struct guild_castle *gc = guild_castle_search (castle_id); @@ -1659,13 +1659,13 @@ int guild_castledataloadack (int castle_id, int index, int value) return 1; } -// ƒMƒ‹ƒhéƒf[ƒ^•ÏX—v‹ +// ギルド城デヌタ倉曎芁求 int guild_castledatasave (int castle_id, int index, int value) { return intif_guild_castle_datasave (castle_id, index, value); } -// ƒMƒ‹ƒhéƒf[ƒ^•ÏX’Ê’m +// ギルド城デヌタ倉曎通知 int guild_castledatasaveack (int castle_id, int index, int value) { struct guild_castle *gc = guild_castle_search (castle_id); @@ -1758,7 +1758,7 @@ int guild_castledatasaveack (int castle_id, int index, int value) return 1; } -// ƒMƒ‹ƒhƒf[ƒ^ˆêŠ‡ŽóMi‰Šú‰»Žžj +// ギルドデヌタ䞀括受信初期化時 int guild_castlealldataload (int len, struct guild_castle *gc) { int i; @@ -1766,14 +1766,14 @@ int guild_castlealldataload (int len, struct guild_castle *gc) nullpo_retr (0, gc); - // ƒCƒxƒ“ƒg•t‚«‚Å—v‹‚·‚éƒf[ƒ^ˆÊ’u‚ð’T‚·(ÅŒã‚̐苒ƒf[ƒ^) + // むベント付きで芁求するデヌタ䜍眮を探す(最埌の占拠デヌタ) for (i = 0; i < n; i++) { if ((gc + i)->guild_id) ev = i; } - // éƒf[ƒ^Ši”[‚ƃMƒ‹ƒhî•ñ—v‹ + // 城デヌタ栌玍ずギルド情報芁求 for (i = 0; i < n; i++, gc++) { struct guild_castle *c = guild_castle_search (gc->castle_id); diff --git a/src/map/intif.c b/src/map/intif.c index 6945486..efde695 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -48,11 +48,11 @@ static const int packet_len_table[] = { 11, -1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; -extern int char_fd; // inter server‚Ìfd‚Íchar_fd‚ðŽg‚€ -#define inter_fd (char_fd) // ƒGƒCƒŠƒAƒX +extern int char_fd; // inter serverのfdはchar_fdを䜿う +#define inter_fd (char_fd) // ゚むリアス //----------------------------------------------------------------- -// inter server‚Ö‚Ì‘—M +// inter serverぞの送信 // Message for all GMs on all map servers int intif_GMmessage (char *mes, int len, int flag) @@ -120,7 +120,7 @@ int intif_wis_message_to_gm (char *Wisp_name, int min_gm_level, char *mes, return 0; } -// ƒAƒJƒEƒ“ƒg•Ï”‘—M +// アカりント倉数送信 int intif_saveaccountreg (struct map_session_data *sd) { int j, p; @@ -139,7 +139,7 @@ int intif_saveaccountreg (struct map_session_data *sd) return 0; } -// ƒAƒJƒEƒ“ƒg•Ï”—v‹ +// アカりント倉数芁求 int intif_request_accountreg (struct map_session_data *sd) { nullpo_retr (0, sd); @@ -150,7 +150,7 @@ int intif_request_accountreg (struct map_session_data *sd) return 0; } -// ‘qŒÉƒf[ƒ^—v‹ +// 倉庫デヌタ芁求 int intif_request_storage (int account_id) { WFIFOW (inter_fd, 0) = 0x3010; @@ -159,7 +159,7 @@ int intif_request_storage (int account_id) return 0; } -// ‘qŒÉƒf[ƒ^‘—M +// 倉庫デヌタ送信 int intif_send_storage (struct storage *stor) { nullpo_retr (0, stor); @@ -191,7 +191,7 @@ int intif_send_guild_storage (int account_id, struct guild_storage *gstor) return 0; } -// ƒp[ƒeƒBì¬—v‹ +// パヌティ䜜成芁求 int intif_create_party (struct map_session_data *sd, char *name) { nullpo_retr (0, sd); @@ -208,7 +208,7 @@ int intif_create_party (struct map_session_data *sd, char *name) return 0; } -// ƒp[ƒeƒBî•ñ—v‹ +// パヌティ情報芁求 int intif_request_partyinfo (int party_id) { WFIFOW (inter_fd, 0) = 0x3021; @@ -219,7 +219,7 @@ int intif_request_partyinfo (int party_id) return 0; } -// ƒp[ƒeƒB’ljÁ—v‹ +// パヌティ远加芁求 int intif_party_addmember (int party_id, int account_id) { struct map_session_data *sd; @@ -239,7 +239,7 @@ int intif_party_addmember (int party_id, int account_id) return 0; } -// ƒp[ƒeƒBÝ’è•ÏX +// パヌティ蚭定倉曎 int intif_party_changeoption (int party_id, int account_id, int exp, int item) { WFIFOW (inter_fd, 0) = 0x3023; @@ -251,7 +251,7 @@ int intif_party_changeoption (int party_id, int account_id, int exp, int item) return 0; } -// ƒp[ƒeƒB’E‘Þ—v‹ +// パヌティ脱退芁求 int intif_party_leave (int party_id, int account_id) { // if(battle_config.etc_log) @@ -263,7 +263,7 @@ int intif_party_leave (int party_id, int account_id) return 0; } -// ƒp[ƒeƒBˆÚ“®—v‹ +// パヌティ移動芁求 int intif_party_changemap (struct map_session_data *sd, int online) { if (sd != NULL) @@ -281,7 +281,7 @@ int intif_party_changemap (struct map_session_data *sd, int online) return 0; } -// ƒp[ƒeƒB[‰ðŽU—v‹ +// パヌティヌ解散芁求 int intif_break_party (int party_id) { WFIFOW (inter_fd, 0) = 0x3026; @@ -290,7 +290,7 @@ int intif_break_party (int party_id) return 0; } -// ƒp[ƒeƒB‰ï˜b‘—M +// パヌティ䌚話送信 int intif_party_message (int party_id, int account_id, char *mes, int len) { // if(battle_config.etc_log) @@ -304,7 +304,7 @@ int intif_party_message (int party_id, int account_id, char *mes, int len) return 0; } -// ƒp[ƒeƒB‹£‡ƒ`ƒFƒbƒN—v‹ +// パヌティ競合チェック芁求 int intif_party_checkconflict (int party_id, int account_id, char *nick) { WFIFOW (inter_fd, 0) = 0x3028; @@ -315,7 +315,7 @@ int intif_party_checkconflict (int party_id, int account_id, char *nick) return 0; } -// ƒMƒ‹ƒhì¬—v‹ +// ギルド䜜成芁求 int intif_guild_create (const char *name, const struct guild_member *master) { nullpo_retr (0, master); @@ -329,7 +329,7 @@ int intif_guild_create (const char *name, const struct guild_member *master) return 0; } -// ƒMƒ‹ƒhî•ñ—v‹ +// ギルド情報芁求 int intif_guild_request_info (int guild_id) { WFIFOW (inter_fd, 0) = 0x3031; @@ -338,7 +338,7 @@ int intif_guild_request_info (int guild_id) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo’ljÁ—v‹ +// ギルドメンバ远加芁求 int intif_guild_addmember (int guild_id, struct guild_member *m) { WFIFOW (inter_fd, 0) = 0x3032; @@ -349,7 +349,7 @@ int intif_guild_addmember (int guild_id, struct guild_member *m) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo’E‘Þ/’Ç•ú—v‹ +// ギルドメンバ脱退/远攟芁求 int intif_guild_leave (int guild_id, int account_id, int char_id, int flag, const char *mes) { @@ -363,7 +363,7 @@ int intif_guild_leave (int guild_id, int account_id, int char_id, int flag, return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo‚̃Iƒ“ƒ‰ƒCƒ“ó‹µ/LvXV—v‹ +// ギルドメンバのオンラむン状況/Lv曎新芁求 int intif_guild_memberinfoshort (int guild_id, int account_id, int char_id, int online, int lv, int class) @@ -379,7 +379,7 @@ int intif_guild_memberinfoshort (int guild_id, return 0; } -// ƒMƒ‹ƒh‰ðŽU’Ê’m +// ギルド解散通知 int intif_guild_break (int guild_id) { WFIFOW (inter_fd, 0) = 0x3036; @@ -388,7 +388,7 @@ int intif_guild_break (int guild_id) return 0; } -// ƒMƒ‹ƒh‰ï˜b‘—M +// ギルド䌚話送信 int intif_guild_message (int guild_id, int account_id, char *mes, int len) { WFIFOW (inter_fd, 0) = 0x3037; @@ -400,7 +400,7 @@ int intif_guild_message (int guild_id, int account_id, char *mes, int len) return 0; } -// ƒMƒ‹ƒh‹£‡ƒ`ƒFƒbƒN—v‹ +// ギルド競合チェック芁求 int intif_guild_checkconflict (int guild_id, int account_id, int char_id) { WFIFOW (inter_fd, 0) = 0x3038; @@ -411,7 +411,7 @@ int intif_guild_checkconflict (int guild_id, int account_id, int char_id) return 0; } -// ƒMƒ‹ƒhŠî–{î•ñ•ÏX—v‹ +// ギルド基本情報倉曎芁求 int intif_guild_change_basicinfo (int guild_id, int type, const void *data, int len) { @@ -424,7 +424,7 @@ int intif_guild_change_basicinfo (int guild_id, int type, const void *data, return 0; } -// ƒMƒ‹ƒhƒƒ“ƒoî•ñ•ÏX—v‹ +// ギルドメンバ情報倉曎芁求 int intif_guild_change_memberinfo (int guild_id, int account_id, int char_id, int type, const void *data, int len) { @@ -439,7 +439,7 @@ int intif_guild_change_memberinfo (int guild_id, int account_id, int char_id, return 0; } -// ƒMƒ‹ƒh–ðE•ÏX—v‹ +// ギルド圹職倉曎芁求 int intif_guild_position (int guild_id, int idx, struct guild_position *p) { WFIFOW (inter_fd, 0) = 0x303b; @@ -451,7 +451,7 @@ int intif_guild_position (int guild_id, int idx, struct guild_position *p) return 0; } -// ƒMƒ‹ƒhƒXƒLƒ‹ƒAƒbƒv—v‹ +// ギルドスキルアップ芁求 int intif_guild_skillup (int guild_id, int skill_num, int account_id) { WFIFOW (inter_fd, 0) = 0x303c; @@ -462,7 +462,7 @@ int intif_guild_skillup (int guild_id, int skill_num, int account_id) return 0; } -// ƒMƒ‹ƒh“¯–¿/“G‘Ηv‹ +// ギルド同盟/敵察芁求 int intif_guild_alliance (int guild_id1, int guild_id2, int account_id1, int account_id2, int flag) { @@ -476,7 +476,7 @@ int intif_guild_alliance (int guild_id1, int guild_id2, int account_id1, return 0; } -// ƒMƒ‹ƒh’m•ÏX—v‹ +// ギルド告知倉曎芁求 int intif_guild_notice (int guild_id, const char *mes1, const char *mes2) { WFIFOW (inter_fd, 0) = 0x303e; @@ -487,7 +487,7 @@ int intif_guild_notice (int guild_id, const char *mes1, const char *mes2) return 0; } -// ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX—v‹ +// ギルド゚ンブレム倉曎芁求 int intif_guild_emblem (int guild_id, int len, const char *data) { if (guild_id <= 0 || len < 0 || len > 2000) @@ -501,7 +501,7 @@ int intif_guild_emblem (int guild_id, int len, const char *data) return 0; } -//Œ»Ý‚̃Mƒ‹ƒhéè—̃Mƒ‹ƒh‚𒲂ׂé +//珟圚のギルド城占領ギルドを調べる int intif_guild_castle_dataload (int castle_id, int index) { WFIFOW (inter_fd, 0) = 0x3040; @@ -511,7 +511,7 @@ int intif_guild_castle_dataload (int castle_id, int index) return 0; } -//ƒMƒ‹ƒhéè—̃Mƒ‹ƒh•ÏX—v‹ +//ギルド城占領ギルド倉曎芁求 int intif_guild_castle_datasave (int castle_id, int index, int value) { WFIFOW (inter_fd, 0) = 0x3041; @@ -615,7 +615,7 @@ int mapif_parse_WisToGM (int fd) return 0; } -// ƒAƒJƒEƒ“ƒg•Ï”’Ê’m +// アカりント倉数通知 int intif_parse_AccountReg (int fd) { int j, p; @@ -635,7 +635,7 @@ int intif_parse_AccountReg (int fd) return 0; } -// ‘qŒÉƒf[ƒ^ŽóM +// 倉庫デヌタ受信 int intif_parse_LoadStorage (int fd) { struct storage *stor; @@ -687,7 +687,7 @@ int intif_parse_LoadStorage (int fd) return 0; } -// ‘qŒÉƒf[ƒ^‘—M¬Œ÷ +// 倉庫デヌタ送信成功 int intif_parse_SaveStorage (int fd) { if (battle_config.save_log) @@ -771,7 +771,7 @@ int intif_parse_SaveGuildStorage (int fd) return 0; } -// ƒp[ƒeƒBì¬‰Â”Û +// パヌティ䜜成可吊 int intif_parse_PartyCreated (int fd) { if (battle_config.etc_log) @@ -781,7 +781,7 @@ int intif_parse_PartyCreated (int fd) return 0; } -// ƒp[ƒeƒBî•ñ +// パヌティ情報 int intif_parse_PartyInfo (int fd) { if (RFIFOW (fd, 2) == 8) @@ -804,7 +804,7 @@ int intif_parse_PartyInfo (int fd) return 0; } -// ƒp[ƒeƒB’ljÁ’Ê’m +// パヌティ远加通知 int intif_parse_PartyMemberAdded (int fd) { if (battle_config.etc_log) @@ -814,7 +814,7 @@ int intif_parse_PartyMemberAdded (int fd) return 0; } -// ƒp[ƒeƒBÝ’è•ÏX’Ê’m +// パヌティ蚭定倉曎通知 int intif_parse_PartyOptionChanged (int fd) { party_optionchanged (RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOW (fd, 10), @@ -822,7 +822,7 @@ int intif_parse_PartyOptionChanged (int fd) return 0; } -// ƒp[ƒeƒB’E‘Þ’Ê’m +// パヌティ脱退通知 int intif_parse_PartyMemberLeaved (int fd) { if (battle_config.etc_log) @@ -832,14 +832,14 @@ int intif_parse_PartyMemberLeaved (int fd) return 0; } -// ƒp[ƒeƒB‰ðŽU’Ê’m +// パヌティ解散通知 int intif_parse_PartyBroken (int fd) { party_broken (RFIFOL (fd, 2)); return 0; } -// ƒp[ƒeƒBˆÚ“®’Ê’m +// パヌティ移動通知 int intif_parse_PartyMove (int fd) { // if(battle_config.etc_log) @@ -849,7 +849,7 @@ int intif_parse_PartyMove (int fd) return 0; } -// ƒp[ƒeƒBƒƒbƒZ[ƒW +// パヌティメッセヌゞ int intif_parse_PartyMessage (int fd) { // if(battle_config.etc_log) @@ -859,14 +859,14 @@ int intif_parse_PartyMessage (int fd) return 0; } -// ƒMƒ‹ƒhì¬‰Â”Û +// ギルド䜜成可吊 int intif_parse_GuildCreated (int fd) { guild_created (RFIFOL (fd, 2), RFIFOL (fd, 6)); return 0; } -// ƒMƒ‹ƒhî•ñ +// ギルド情報 int intif_parse_GuildInfo (int fd) { if (RFIFOW (fd, 2) == 8) @@ -890,7 +890,7 @@ int intif_parse_GuildInfo (int fd) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo’ljÁ’Ê’m +// ギルドメンバ远加通知 int intif_parse_GuildMemberAdded (int fd) { if (battle_config.etc_log) @@ -901,7 +901,7 @@ int intif_parse_GuildMemberAdded (int fd) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒo’E‘Þ/’Ç•ú’Ê’m +// ギルドメンバ脱退/远攟通知 int intif_parse_GuildMemberLeaved (int fd) { guild_member_leaved (RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOL (fd, 10), @@ -909,7 +909,7 @@ int intif_parse_GuildMemberLeaved (int fd) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒoƒIƒ“ƒ‰ƒCƒ“ó‘Ô/Lv•ÏX’Ê’m +// ギルドメンバオンラむン状態/Lv倉曎通知 int intif_parse_GuildMemberInfoShort (int fd) { guild_recv_memberinfoshort (RFIFOL (fd, 2), RFIFOL (fd, 6), @@ -919,14 +919,14 @@ int intif_parse_GuildMemberInfoShort (int fd) return 0; } -// ƒMƒ‹ƒh‰ðŽU’Ê’m +// ギルド解散通知 int intif_parse_GuildBroken (int fd) { guild_broken (RFIFOL (fd, 2), RFIFOB (fd, 6)); return 0; } -// ƒMƒ‹ƒhŠî–{î•ñ•ÏX’Ê’m +// ギルド基本情報倉曎通知 int intif_parse_GuildBasicInfoChanged (int fd) { int type = RFIFOW (fd, 8), guild_id = RFIFOL (fd, 4); @@ -951,7 +951,7 @@ int intif_parse_GuildBasicInfoChanged (int fd) return 0; } -// ƒMƒ‹ƒhƒƒ“ƒoî•ñ•ÏX’Ê’m +// ギルドメンバ情報倉曎通知 int intif_parse_GuildMemberInfoChanged (int fd) { int type = RFIFOW (fd, 16), guild_id = RFIFOL (fd, 4); @@ -975,7 +975,7 @@ int intif_parse_GuildMemberInfoChanged (int fd) return 0; } -// ƒMƒ‹ƒh–ðE•ÏX’Ê’m +// ギルド圹職倉曎通知 int intif_parse_GuildPosition (int fd) { if (RFIFOW (fd, 2) != sizeof (struct guild_position) + 12) @@ -990,14 +990,14 @@ int intif_parse_GuildPosition (int fd) return 0; } -// ƒMƒ‹ƒhƒXƒLƒ‹Š„‚èU‚è’Ê’m +// ギルドスキル割り振り通知 int intif_parse_GuildSkillUp (int fd) { guild_skillupack (RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOL (fd, 10)); return 0; } -// ƒMƒ‹ƒh“¯–¿/“G‘Î’Ê’m +// ギルド同盟/敵察通知 int intif_parse_GuildAlliance (int fd) { guild_allianceack (RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOL (fd, 10), @@ -1006,14 +1006,14 @@ int intif_parse_GuildAlliance (int fd) return 0; } -// ƒMƒ‹ƒh’m•ÏX’Ê’m +// ギルド告知倉曎通知 int intif_parse_GuildNotice (int fd) { guild_notice_changed (RFIFOL (fd, 2), RFIFOP (fd, 6), RFIFOP (fd, 66)); return 0; } -// ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX’Ê’m +// ギルド゚ンブレム倉曎通知 int intif_parse_GuildEmblem (int fd) { guild_emblem_changed (RFIFOW (fd, 2) - 12, RFIFOL (fd, 4), RFIFOL (fd, 8), @@ -1021,7 +1021,7 @@ int intif_parse_GuildEmblem (int fd) return 0; } -// ƒMƒ‹ƒh‰ï˜bŽóM +// ギルド䌚話受信 int intif_parse_GuildMessage (int fd) { guild_recv_message (RFIFOL (fd, 4), RFIFOL (fd, 8), RFIFOP (fd, 12), @@ -1029,21 +1029,21 @@ int intif_parse_GuildMessage (int fd) return 0; } -// ƒMƒ‹ƒhéƒf[ƒ^—v‹•ÔM +// ギルド城デヌタ芁求返信 int intif_parse_GuildCastleDataLoad (int fd) { return guild_castledataloadack (RFIFOW (fd, 2), RFIFOB (fd, 4), RFIFOL (fd, 5)); } -// ƒMƒ‹ƒhéƒf[ƒ^•ÏX’Ê’m +// ギルド城デヌタ倉曎通知 int intif_parse_GuildCastleDataSave (int fd) { return guild_castledatasaveack (RFIFOW (fd, 2), RFIFOB (fd, 4), RFIFOL (fd, 5)); } -// ƒMƒ‹ƒhéƒf[ƒ^ˆêŠ‡ŽóM(‰Šú‰»Žž) +// ギルド城デヌタ䞀括受信(初期化時) int intif_parse_GuildCastleAllDataLoad (int fd) { return guild_castlealldataload (RFIFOW (fd, 2), @@ -1051,14 +1051,14 @@ int intif_parse_GuildCastleAllDataLoad (int fd) } //----------------------------------------------------------------- -// inter server‚©‚ç‚̒ʐM -// ƒGƒ‰[‚ª‚ ‚ê‚Î0(false)‚ð•Ô‚·‚±‚Æ -// ƒpƒPƒbƒg‚ªˆ—‚Å‚«‚ê‚Î1,ƒpƒPƒbƒg’·‚ª‘«‚è‚È‚¯‚ê‚Î2‚ð•Ô‚·‚±‚Æ +// inter serverからの通信 +// ゚ラヌがあれば0(false)を返すこず +// パケットが凊理できれば1,パケット長が足りなければ2を返すこず int intif_parse (int fd) { int packet_len; int cmd = RFIFOW (fd, 0); - // ƒpƒPƒbƒg‚ÌIDŠm”F + // パケットのID確認 if (cmd < 0x3800 || cmd >= 0x3800 + (sizeof (packet_len_table) / sizeof (packet_len_table[0])) @@ -1066,7 +1066,7 @@ int intif_parse (int fd) { return 0; } - // ƒpƒPƒbƒg‚Ì’·‚³Šm”F + // パケットの長さ確認 packet_len = packet_len_table[cmd - 0x3800]; if (packet_len == -1) { @@ -1080,7 +1080,7 @@ int intif_parse (int fd) { return 2; } - // ˆ—•ªŠò + // 凊理分岐 switch (cmd) { case 0x3800: @@ -1195,7 +1195,7 @@ int intif_parse (int fd) RFIFOW (fd, 0)); return 0; } - // ƒpƒPƒbƒg“Ç‚Ý”ò‚΂µ + // パケット読み飛ばし RFIFOSKIP (fd, packet_len); return 1; } diff --git a/src/map/itemdb.c b/src/map/itemdb.c index cf2910a..d589e35 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -21,7 +21,7 @@ #define MAX_RANDITEM 2000 // ** ITEMDB_OVERRIDE_NAME_VERBOSE ** -// ’è‹`‚·‚é‚ƁAitemdb.txt‚Ægrf‚Å–Œ‘O‚ªˆÙ‚È‚éê‡A•\ŽŠ‚µ‚Ü‚·. +// 定矩するず、itemdb.txtずgrfで名前が異なる堎合、衚瀺したす. //#define ITEMDB_OVERRIDE_NAME_VERBOSE 1 static struct dbt *item_db; @@ -45,7 +45,7 @@ static int itemdb_read_noequip (void); void itemdb_reload (void); /*========================================== - * –Œ‘O‚ÅŒŸõ—p + * 名前で怜玢甚 *------------------------------------------ */ // name = item alias, so we should find items aliases first. if not found then look for "jname" (full name) @@ -63,7 +63,7 @@ int itemdb_searchname_sub (void *key, void *data, va_list ap) } /*========================================== - * –Œ‘O‚ÅŒŸõ—p + * 名前で怜玢甚 *------------------------------------------ */ int itemdb_searchjname_sub (void *key, void *data, va_list ap) @@ -78,7 +78,7 @@ int itemdb_searchjname_sub (void *key, void *data, va_list ap) } /*========================================== - * –Œ‘O‚ÅŒŸõ + * 名前で怜玢 *------------------------------------------ */ struct item_data *itemdb_searchname (const char *str) @@ -89,7 +89,7 @@ struct item_data *itemdb_searchname (const char *str) } /*========================================== - * ” ŒnƒAƒCƒeƒ€ŒŸõ + * 箱系アむテム怜玢 *------------------------------------------ */ int itemdb_searchrandomid (int flags) @@ -139,7 +139,7 @@ int itemdb_searchrandomid (int flags) } /*========================================== - * DB‚Ì‘¶ÝŠm”F + * DBの存圚確認 *------------------------------------------ */ struct item_data *itemdb_exists (int nameid) @@ -148,7 +148,7 @@ struct item_data *itemdb_exists (int nameid) } /*========================================== - * DB‚ÌŒŸõ + * DBの怜玢 *------------------------------------------ */ struct item_data *itemdb_search (int nameid) @@ -169,7 +169,7 @@ struct item_data *itemdb_search (int nameid) id->sex = 2; id->elv = 0; id->flag.available = 0; - id->flag.value_notdc = 0; //ˆê‰žEEE + id->flag.value_notdc = 0; //䞀応・・・ id->flag.value_notoc = 0; id->flag.no_equip = 0; id->view_id = 0; @@ -236,16 +236,16 @@ int itemdb_isequip3 (int nameid) } /*========================================== - * ŽÌ‚Ä‚ç‚ê‚éƒAƒCƒeƒ€‚Í1A‚»‚€‚Å‚È‚¢ƒAƒCƒeƒ€‚Í0 + * 捚おられるアむテムは1、そうでないアむテムは0 *------------------------------------------ */ int itemdb_isdropable (int nameid) { - //Œ‹¥Žw—Ö‚ÍŽÌ‚Ä‚ç‚ê‚È‚¢ + //結婚指茪は捚おられない switch (nameid) { - case 2634: //Œ‹¥Žw—Ö - case 2635: //Œ‹¥Žw—Ö + case 2634: //結婚指茪 + case 2635: //結婚指茪 return 0; } @@ -253,7 +253,7 @@ int itemdb_isdropable (int nameid) } // -// ‰Šú‰» +// 初期化 // /*========================================== * @@ -289,7 +289,7 @@ static int itemdb_read_itemslottable (void) } /*========================================== - * ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚̓ǂݍž‚Ý + * アむテムデヌタベヌスの読み蟌み *------------------------------------------ */ static int itemdb_readdb (void) @@ -396,7 +396,7 @@ static int itemdb_readdb (void) // Removed item_value_db, don't re-add! /*========================================== - * ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€oŒ»ƒf[ƒ^‚̓ǂݍž‚Ý + * ランダムアむテム出珟デヌタの読み蟌み *------------------------------------------ */ static int itemdb_read_randomitem () @@ -487,7 +487,7 @@ static int itemdb_read_randomitem () } /*========================================== - * ƒAƒCƒeƒ€Žg—p‰Â”\ƒtƒ‰ƒO‚̃I[ƒo[ƒ‰ƒCƒh + * アむテム䜿甚可胜フラグのオヌバヌラむド *------------------------------------------ */ static int itemdb_read_itemavail (void) @@ -540,7 +540,7 @@ static int itemdb_read_itemavail (void) } /*========================================== - * ƒAƒCƒeƒ€‚Ì–Œ‘Oƒe[ƒuƒ‹‚ð“ǂݍž‚Þ + * アむテムの名前テヌブルを読み蟌む *------------------------------------------ */ static int itemdb_read_itemnametable (void) @@ -586,7 +586,7 @@ static int itemdb_read_itemnametable (void) } /*========================================== - * ƒJ[ƒhƒCƒ‰ƒXƒg‚̃Šƒ\[ƒX–Œ‘Oƒe[ƒuƒ‹‚ð“ǂݍž‚Þ + * カヌドむラストのリ゜ヌス名前テヌブルを読み蟌む *------------------------------------------ */ static int itemdb_read_cardillustnametable (void) @@ -624,7 +624,7 @@ static int itemdb_read_cardillustnametable (void) } /*========================================== - * ‘•”õ§ŒÀƒtƒ@ƒCƒ‹“ǂݏo‚µ + * 装備制限ファむル読み出し *------------------------------------------ */ static int itemdb_read_noequip (void) diff --git a/src/map/map.c b/src/map/map.c index 19a7528..57183d1 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -40,7 +40,7 @@ #include "memwatch.h" #endif -// ‹É—Í static‚э[ƒJƒ‹‚ÉŽû‚ß‚é +// 極力 staticでロヌカルに収める static struct dbt *id_db = NULL; static struct dbt *map_db = NULL; static struct dbt *nick_db = NULL; @@ -80,8 +80,8 @@ char help_txt[256] = "conf/help.txt"; char wisp_server_name[24] = "Server"; // can be modified in char-server configuration file /*========================================== - * ‘SmapŽI‘Œv‚ł̐ڑ±”Ý’è - * (charŽI‚©‚ç‘—‚ç‚ê‚Ä‚­‚é) + * å…šmap鯖総蚈での接続数蚭定 + * (char鯖から送られおくる) *------------------------------------------ */ void map_setusers (int n) @@ -90,7 +90,7 @@ void map_setusers (int n) } /*========================================== - * ‘SmapŽI‘Œv‚ł̐ڑ±”Žæ“Ÿ (/w‚ւ̉ž“š—p) + * å…šmap鯖総蚈での接続数取埗 (/wぞの応答甚) *------------------------------------------ */ int map_getusers (void) @@ -99,12 +99,12 @@ int map_getusers (void) } // -// blockíœ‚̈À‘S«Šm•Ûˆ— +// block削陀の安党性確保凊理 // /*========================================== - * block‚ðfree‚·‚é‚Æ‚«free‚Ì•Ï‚í‚è‚ÉŒÄ‚Ô - * ƒƒbƒN‚³‚ê‚Ä‚¢‚é‚Æ‚«‚̓oƒbƒtƒ@‚É‚œ‚ß‚é + * blockをfreeするずきfreeの倉わりに呌ぶ + * ロックされおいるずきはバッファにためる *------------------------------------------ */ int map_freeblock (void *bl) @@ -130,7 +130,7 @@ int map_freeblock (void *bl) } /*========================================== - * block‚Ìfree‚ðˆêŽž“I‚É‹ÖŽ~‚·‚é + * blockのfreeを䞀時的に犁止する *------------------------------------------ */ int map_freeblock_lock (void) @@ -139,9 +139,9 @@ int map_freeblock_lock (void) } /*========================================== - * block‚Ìfree‚̃ƒbƒN‚ð‰ðœ‚·‚é - * ‚±‚Ì‚Æ‚«AƒƒbƒN‚ªŠ®‘S‚É‚È‚­‚È‚é‚Æ - * ƒoƒbƒtƒ@‚É‚œ‚Ü‚Á‚Ä‚¢‚œblock‚ð‘S•”íœ + * blockのfreeのロックを解陀する + * このずき、ロックが完党になくなるず + * バッファにたたっおいたblockを党郚削陀 *------------------------------------------ */ int map_freeblock_unlock (void) @@ -169,20 +169,20 @@ int map_freeblock_unlock (void) } // -// block‰»ˆ— +// block化凊理 // /*========================================== - * map[]‚Ìblock_list‚©‚çŒq‚ª‚Á‚Ä‚¢‚éê‡‚É - * bl->prev‚Ébl_head‚̃AƒhƒŒƒX‚ð“ü‚ê‚Ä‚š‚­ + * map[]のblock_listから繋がっおいる堎合に + * bl->prevにbl_headのアドレスを入れおおく *------------------------------------------ */ static struct block_list bl_head; /*========================================== - * map[]‚Ìblock_list‚ɒljÁ - * mob‚͐”‚ª‘œ‚¢‚̂ŕʃŠƒXƒg + * map[]のblock_listに远加 + * mobは数が倚いので別リスト * - * Šù‚ÉlinkÏ‚Ý‚©‚ÌŠm”F‚ª–³‚¢BŠëŒ¯‚©‚à + * 既にlink枈みかの確認が無い。危険かも *------------------------------------------ */ int map_addblock (struct block_list *bl) @@ -233,8 +233,8 @@ int map_addblock (struct block_list *bl) } /*========================================== - * map[]‚Ìblock_list‚©‚çŠO‚· - * prev‚ªNULL‚̏ꍇlist‚ÉŒq‚ª‚Á‚Ä‚È‚¢ + * map[]のblock_listから倖す + * prevがNULLの堎合listに繋がっおない *------------------------------------------ */ int map_delblock (struct block_list *bl) @@ -242,12 +242,12 @@ int map_delblock (struct block_list *bl) int b; nullpo_retr (0, bl); - // Šù‚Éblocklist‚©‚甲‚¯‚Ä‚¢‚é + // 既にblocklistから抜けおいる if (bl->prev == NULL) { if (bl->next != NULL) { - // prev‚ªNULL‚Ånext‚ªNULL‚Å‚È‚¢‚Ì‚Í—L‚Á‚Ä‚Í‚È‚ç‚È‚¢ + // prevがNULLでnextがNULLでないのは有っおはならない if (battle_config.error_log) printf ("map_delblock error : bl->next!=NULL\n"); } @@ -263,7 +263,7 @@ int map_delblock (struct block_list *bl) bl->next->prev = bl->prev; if (bl->prev == &bl_head) { - // ƒŠƒXƒg‚Ì“ª‚Ȃ̂ŁAmap[]‚Ìblock_list‚ðXV‚·‚é + // リストの頭なので、map[]のblock_listを曎新する if (bl->type == BL_MOB) { map[bl->m].block_mob[b] = bl->next; @@ -288,7 +288,7 @@ int map_delblock (struct block_list *bl) } /*========================================== - * ŽüˆÍ‚ÌPCl”‚𐔂Š‚é (Œ»Ý–¢Žg—p) + * 呚囲のPC人数を数える (珟圚未䜿甚) *------------------------------------------ */ int map_countnearpc (int m, int x, int y) @@ -320,7 +320,7 @@ int map_countnearpc (int m, int x, int y) } /*========================================== - * ƒZƒ‹ã‚ÌPC‚ÆMOB‚̐”‚𐔂Š‚é (ƒOƒ‰ƒ“ƒhƒNƒƒX—p) + * セル䞊のPCずMOBの数を数える (グランドクロス甚) *------------------------------------------ */ int map_count_oncell (int m, int x, int y) @@ -355,9 +355,9 @@ int map_count_oncell (int m, int x, int y) } /*========================================== - * map m (x0,y0)-(x1,y1)“à‚Ì‘Sobj‚ɑ΂µ‚Ä - * func‚ðŒÄ‚Ô - * type!=0 ‚È‚ç‚»‚ÌŽí—Þ‚Ì‚Ý + * map m (x0,y0)-(x1,y1)内の党objに察しお + * funcを呌ぶ + * type!=0 ならその皮類のみ *------------------------------------------ */ void map_foreachinarea (int (*func) (struct block_list *, va_list), int m, @@ -418,24 +418,24 @@ void map_foreachinarea (int (*func) (struct block_list *, va_list), int m, printf ("map_foreachinarea: *WARNING* block count too many!\n"); } - map_freeblock_lock (); // ƒƒ‚ƒŠ‚©‚ç‚̉ð•ú‚ð‹ÖŽ~‚·‚é + map_freeblock_lock (); // メモリからの解攟を犁止する for (i = blockcount; i < bl_list_count; i++) - if (bl_list[i]->prev) // —LŒø‚©‚Ç‚€‚©ƒ`ƒFƒbƒN + if (bl_list[i]->prev) // 有効かどうかチェック func (bl_list[i], ap); - map_freeblock_unlock (); // ‰ð•ú‚ð‹–‰Â‚·‚é + map_freeblock_unlock (); // 解攟を蚱可する va_end (ap); bl_list_count = blockcount; } /*========================================== - * ‹éŒ`(x0,y0)-(x1,y1)‚ª(dx,dy)ˆÚ“®‚µ‚œŽž‚Ì - * —̈æŠO‚É‚È‚é—̈æ(‹éŒ`‚©LŽšŒ`)“à‚Ìobj‚É - * ‘΂µ‚Äfunc‚ðŒÄ‚Ô + * 矩圢(x0,y0)-(x1,y1)が(dx,dy)移動した時の + * 領域倖になる領域(矩圢かL字圢)内のobjに + * 察しおfuncを呌ぶ * - * dx,dy‚Í-1,0,1‚Ì‚Ý‚Æ‚·‚éi‚Ç‚ñ‚È’l‚Å‚à‚¢‚¢‚Á‚Û‚¢Hj + * dx,dyは-1,0,1のみずするどんな倀でもいいっぜい *------------------------------------------ */ void map_foreachinmovearea (int (*func) (struct block_list *, va_list), int m, @@ -450,7 +450,7 @@ void map_foreachinmovearea (int (*func) (struct block_list *, va_list), int m, va_start (ap, type); if (dx == 0 || dy == 0) { - // ‹éŒ`—̈æ‚̏ꍇ + // 矩圢領域の堎合 if (dx == 0) { if (dy < 0) @@ -510,7 +510,7 @@ void map_foreachinmovearea (int (*func) (struct block_list *, va_list), int m, } else { - // LŽš—̈æ‚̏ꍇ + // L字領域の堎合 if (x0 < 0) x0 = 0; @@ -573,13 +573,13 @@ void map_foreachinmovearea (int (*func) (struct block_list *, va_list), int m, printf ("map_foreachinarea: *WARNING* block count too many!\n"); } - map_freeblock_lock (); // ƒƒ‚ƒŠ‚©‚ç‚̉ð•ú‚ð‹ÖŽ~‚·‚é + map_freeblock_lock (); // メモリからの解攟を犁止する for (i = blockcount; i < bl_list_count; i++) - if (bl_list[i]->prev) // —LŒø‚©‚Ç‚€‚©ƒ`ƒFƒbƒN + if (bl_list[i]->prev) // 有効かどうかチェック func (bl_list[i], ap); - map_freeblock_unlock (); // ‰ð•ú‚ð‹–‰Â‚·‚é + map_freeblock_unlock (); // 解攟を蚱可する va_end (ap); bl_list_count = blockcount; @@ -632,23 +632,23 @@ void map_foreachincell (int (*func) (struct block_list *, va_list), int m, printf ("map_foreachincell: *WARNING* block count too many!\n"); } - map_freeblock_lock (); // ƒƒ‚ƒŠ‚©‚ç‚̉ð•ú‚ð‹ÖŽ~‚·‚é + map_freeblock_lock (); // メモリからの解攟を犁止する for (i = blockcount; i < bl_list_count; i++) - if (bl_list[i]->prev) // —LŒø‚©‚Ç‚€‚©ƒ`ƒFƒbƒN + if (bl_list[i]->prev) // 有効かどうかチェック func (bl_list[i], ap); - map_freeblock_unlock (); // ‰ð•ú‚ð‹–‰Â‚·‚é + map_freeblock_unlock (); // 解攟を蚱可する va_end (ap); bl_list_count = blockcount; } /*========================================== - * °ƒAƒCƒeƒ€‚âƒGƒtƒFƒNƒg—p‚̈ꎞobjŠ„‚è“–‚Ä - * object[]‚Ö‚Ì•Û‘¶‚Æid_db“o˜^‚Ü‚Å + * 床アむテムや゚フェクト甚の䞀時obj割り圓お + * object[]ぞの保存ずid_db登録たで * - * bl->id‚à‚±‚Ì’†‚Őݒ肵‚Ä–â‘è–³‚¢? + * bl->idもこの䞭で蚭定しお問題無い? *------------------------------------------ */ int map_addobject (struct block_list *bl) @@ -679,8 +679,8 @@ int map_addobject (struct block_list *bl) } /*========================================== - * ˆêŽžobject‚̉ð•ú - * map_delobject‚Ìfree‚µ‚È‚¢ƒo[ƒWƒ‡ƒ“ + * 䞀時objectの解攟 + * map_delobjectのfreeしないバヌゞョン *------------------------------------------ */ int map_delobjectnofree (int id, int type) @@ -710,11 +710,11 @@ int map_delobjectnofree (int id, int type) } /*========================================== - * ˆêŽžobject‚̉ð•ú - * block_list‚©‚ç‚̍폜Aid_db‚©‚ç‚̍폜 - * object data‚ÌfreeAobject[]‚Ö‚ÌNULL‘ã“ü + * 䞀時objectの解攟 + * block_listからの削陀、id_dbからの削陀 + * object dataのfree、object[]ぞのNULL代入 * - * add‚Ƃ̑Ώ̐«‚ª–³‚¢‚Ì‚ª‹C‚É‚È‚é + * addずの察称性が無いのが気になる *------------------------------------------ */ int map_delobject (int id, int type) @@ -734,7 +734,7 @@ int map_delobject (int id, int type) } /*========================================== - * ‘SˆêŽžobj‘ŠŽè‚Éfunc‚ðŒÄ‚Ô + * 党䞀時obj盞手にfuncを呌ぶ * *------------------------------------------ */ @@ -776,13 +776,13 @@ void map_foreachobject (int (*func) (struct block_list *, va_list), int type, } /*========================================== - * °ƒAƒCƒeƒ€‚ðÁ‚· + * 床アむテムを消す * - * data==0‚ÌŽž‚Ítimer‚ŏÁ‚Š‚œŽž - * data!=0‚ÌŽž‚͏E‚€“™‚ŏÁ‚Š‚œŽž‚Æ‚µ‚Ä“®ì + * data==0の時はtimerで消えた時 + * data!=0の時は拟う等で消えた時ずしお動䜜 * - * ŒãŽÒ‚́Amap_clearflooritem(id)‚Ö - * map.h“à‚Å#define‚µ‚Ä‚ ‚é + * 埌者は、map_clearflooritem(id)ぞ + * map.h内で#defineしおある *------------------------------------------ */ int map_clearflooritem_timer (int tid, unsigned int tick, int id, int data) @@ -806,10 +806,10 @@ int map_clearflooritem_timer (int tid, unsigned int tick, int id, int data) } /*========================================== - * (m,x,y)‚ÌŽüˆÍrangeƒ}ƒX“à‚Ì‹ó‚«(=N“ü‰Â”\)cell‚Ì - * “à‚©‚ç“K“–‚ȃ}ƒX–ڂ̍À•W‚ðx+(y<<16)‚Å•Ô‚· + * (m,x,y)の呚囲rangeマス内の空き(=䟵入可胜)cellの + * 内から適圓なマス目の座暙をx+(y<<16)で返す * - * Œ»órange=1‚ŃAƒCƒeƒ€ƒhƒƒbƒv—p“r‚Ì‚Ý + * 珟状range=1でアむテムドロップ甚途のみ *------------------------------------------ */ int map_searchrandfreecell (int m, int x, int y, int range) @@ -857,9 +857,9 @@ int map_searchrandfreecell (int m, int x, int y, int range) } /*========================================== - * (m,x,y)‚𒆐S‚É3x3ˆÈ“à‚ɏ°ƒAƒCƒeƒ€Ý’u + * (m,x,y)を䞭心に3x3以内に床アむテム蚭眮 * - * item_data‚ÍamountˆÈŠO‚ðcopy‚·‚é + * item_dataはamount以倖をcopyする *------------------------------------------ */ int map_addflooritem_any (struct item *item_data, int amount, int m, int x, @@ -1019,7 +1019,7 @@ int map_addflooritem (struct item *item_data, int amount, int m, int x, int y, /* } */ /*========================================== - * charid_db‚֒ljÁ(•ÔM‘Ò‚¿‚ª‚ ‚ê‚ΕԐM) + * charid_dbぞ远加(返信埅ちがあれば返信) *------------------------------------------ */ void map_addchariddb (int charid, char *name) @@ -1029,7 +1029,7 @@ void map_addchariddb (int charid, char *name) p = numdb_search (charid_db, charid); if (p == NULL) - { // ƒf[ƒ^ƒx[ƒX‚É‚È‚¢ + { // デヌタベヌスにない p = (struct charid2nick *) aCalloc (1, sizeof (struct charid2nick)); p->req_id = 0; } @@ -1041,7 +1041,7 @@ void map_addchariddb (int charid, char *name) p->req_id = 0; numdb_insert (charid_db, charid, p); if (req) - { // •ÔM‘Ò‚¿‚ª‚ ‚ê‚ΕԐM + { // 返信埅ちがあれば返信 struct map_session_data *sd = map_id2sd (req); if (sd != NULL) clif_solved_charname (sd, charid); @@ -1049,7 +1049,7 @@ void map_addchariddb (int charid, char *name) } /*========================================== - * charid_db‚֒ljÁi•ÔM—v‹‚̂݁j + * charid_dbぞ远加返信芁求のみ *------------------------------------------ */ int map_reqchariddb (struct map_session_data *sd, int charid) @@ -1059,7 +1059,7 @@ int map_reqchariddb (struct map_session_data *sd, int charid) nullpo_retr (0, sd); p = numdb_search (charid_db, charid); - if (p != NULL) // ƒf[ƒ^ƒx[ƒX‚É‚·‚Å‚É‚ ‚é + if (p != NULL) // デヌタベヌスにすでにある return 0; p = (struct charid2nick *) aCalloc (1, sizeof (struct charid2nick)); p->req_id = sd->bl.id; @@ -1068,7 +1068,7 @@ int map_reqchariddb (struct map_session_data *sd, int charid) } /*========================================== - * id_db‚Öbl‚ð’ljÁ + * id_dbぞblを远加 *------------------------------------------ */ void map_addiddb (struct block_list *bl) @@ -1079,7 +1079,7 @@ void map_addiddb (struct block_list *bl) } /*========================================== - * id_db‚©‚çbl‚ðíœ + * id_dbからblを削陀 *------------------------------------------ */ void map_deliddb (struct block_list *bl) @@ -1090,7 +1090,7 @@ void map_deliddb (struct block_list *bl) } /*========================================== - * nick_db‚Ösd‚ð’ljÁ + * nick_dbぞsdを远加 *------------------------------------------ */ void map_addnickdb (struct map_session_data *sd) @@ -1101,43 +1101,43 @@ void map_addnickdb (struct map_session_data *sd) } /*========================================== - * PC‚Ìquitˆ— map.c“à•ª + * PCのquit凊理 map.c内分 * - * quitˆ—‚ÌŽå‘Ì‚ªˆá‚€‚æ‚€‚È‹C‚à‚µ‚Ä‚«‚œ + * quit凊理の䞻䜓が違うような気もしおきた *------------------------------------------ */ int map_quit (struct map_session_data *sd) { nullpo_retr (0, sd); - if (sd->chatID) // ƒ`ƒƒƒbƒg‚©‚ço‚é + if (sd->chatID) // チャットから出る chat_leavechat (sd); - if (sd->trade_partner) // Žæˆø‚ð’†’f‚·‚é + if (sd->trade_partner) // 取匕を䞭断する trade_tradecancel (sd); - if (sd->party_invite > 0) // ƒp[ƒeƒBŠ©—U‚ð‹‘”Û‚·‚é + if (sd->party_invite > 0) // パヌティ勧誘を拒吊する party_reply_invite (sd, sd->party_invite_account, 0); - if (sd->guild_invite > 0) // ƒMƒ‹ƒhŠ©—U‚ð‹‘”Û‚·‚é + if (sd->guild_invite > 0) // ギルド勧誘を拒吊する guild_reply_invite (sd, sd->guild_invite, 0); - if (sd->guild_alliance > 0) // ƒMƒ‹ƒh“¯–¿Š©—U‚ð‹‘”Û‚·‚é + if (sd->guild_alliance > 0) // ギルド同盟勧誘を拒吊する guild_reply_reqalliance (sd, sd->guild_alliance_account, 0); - party_send_logout (sd); // ƒp[ƒeƒB‚̃ƒOƒAƒEƒgƒƒbƒZ[ƒW‘—M + party_send_logout (sd); // パヌティのログアりトメッセヌゞ送信 - guild_send_memberinfoshort (sd, 0); // ƒMƒ‹ƒh‚̃ƒOƒAƒEƒgƒƒbƒZ[ƒW‘—M + guild_send_memberinfoshort (sd, 0); // ギルドのログアりトメッセヌゞ送信 - pc_cleareventtimer (sd); // ƒCƒxƒ“ƒgƒ^ƒCƒ}‚ð”jŠü‚·‚é + pc_cleareventtimer (sd); // むベントタむマを砎棄する - skill_castcancel (&sd->bl, 0); // ‰r¥‚ð’†’f‚·‚é - skill_stop_dancing (&sd->bl, 1); // ƒ_ƒ“ƒX/‰‰‘t’†’f + skill_castcancel (&sd->bl, 0); // 詠唱を䞭断する + skill_stop_dancing (&sd->bl, 1); // ダンス/挔奏䞭断 - if (sd->sc_data && sd->sc_data[SC_BERSERK].timer != -1) //ƒo[ƒT[ƒN’†‚̏I—¹‚ÍHP‚ð100‚É + if (sd->sc_data && sd->sc_data[SC_BERSERK].timer != -1) //バヌサヌク䞭の終了はHPを100に sd->status.hp = 100; - skill_status_change_clear (&sd->bl, 1); // ƒXƒe[ƒ^ƒXˆÙí‚ð‰ðœ‚·‚é - skill_clear_unitgroup (&sd->bl); // ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒv‚̍폜 + skill_status_change_clear (&sd->bl, 1); // ステヌタス異垞を解陀する + skill_clear_unitgroup (&sd->bl); // スキルナニットグルヌプの削陀 skill_cleartimerskill (&sd->bl); pc_stop_walking (sd, 0); pc_stopattack (sd); @@ -1152,7 +1152,7 @@ int map_quit (struct map_session_data *sd) if (pc_isdead (sd)) pc_setrestartvalue (sd, 2); pc_makesavestatus (sd); - //ƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚Š‚œƒXƒLƒ‹‚͏Á‚· + //クロヌンスキルで芚えたスキルは消す //The storage closing routines will save the char if needed. [Skotlex] if (!sd->state.storage_flag) @@ -1175,7 +1175,7 @@ int map_quit (struct map_session_data *sd) } /*========================================== - * id”ԍ†‚ÌPC‚ð’T‚·B‹‚È‚¯‚ê‚ÎNULL + * id番号のPCを探す。居なければNULL *------------------------------------------ */ struct map_session_data *map_id2sd (int id) @@ -1205,7 +1205,7 @@ struct map_session_data *map_id2sd (int id) } /*========================================== - * char_id”ԍ†‚Ì–Œ‘O‚ð’T‚· + * char_id番号の名前を探す *------------------------------------------ */ char *map_charid2nick (int id) @@ -1322,8 +1322,8 @@ struct map_session_data *map_nick2sd (char *nick) } /*========================================== - * id”ԍ†‚Ì•š‚ð’T‚· - * ˆêŽžobject‚̏ꍇ‚Í”z—ñ‚ðˆø‚­‚Ì‚Ý + * id番号の物を探す + * 䞀時objectの堎合は配列を匕くのみ *------------------------------------------ */ struct block_list *map_id2bl (int id) @@ -1338,7 +1338,7 @@ struct block_list *map_id2bl (int id) } /*========================================== - * id_db“à‚Ì‘S‚Ä‚Éfunc‚ðŽÀs + * id_db内の党おにfuncを実行 *------------------------------------------ */ int map_foreachiddb (int (*func) (void *, void *, va_list), ...) @@ -1352,7 +1352,7 @@ int map_foreachiddb (int (*func) (void *, void *, va_list), ...) } /*========================================== - * map.npc‚֒ljÁ (warp“™‚̗̈掝‚¿‚Ì‚Ý) + * map.npcぞ远加 (warp等の領域持ちのみ) *------------------------------------------ */ int map_addnpc (int m, struct npc_data *nd) @@ -1411,7 +1411,7 @@ void map_removenpc (void) } /*========================================== - * map–Œ‚©‚çmap”ԍ†‚Ö•ÏŠ· + * map名からmap番号ぞ倉換 *------------------------------------------ */ int map_mapname2mapid (char *name) @@ -1425,7 +1425,7 @@ int map_mapname2mapid (char *name) } /*========================================== - * ‘ŒŽImap–Œ‚©‚çip,port•ÏŠ· + * 他鯖map名からip,port倉換 *------------------------------------------ */ int map_mapname2ipport (char *name, int *ip, int *port) @@ -1487,7 +1487,7 @@ int map_check_dir (int s_dir, int t_dir) } /*========================================== - * ”Þ‰ä‚Ì•ûŒü‚ðŒvŽZ + * 圌我の方向を蚈算 *------------------------------------------ */ int map_calc_dir (struct block_list *src, int x, int y) @@ -1500,47 +1500,47 @@ int map_calc_dir (struct block_list *src, int x, int y) dx = x - src->x; dy = y - src->y; if (dx == 0 && dy == 0) - { // ”Þ‰ä‚̏ꏊˆê’v - dir = 0; // ã + { // 圌我の堎所䞀臎 + dir = 0; // 侊 } else if (dx >= 0 && dy >= 0) - { // •ûŒü“I‚ɉEã - dir = 7; // ‰Eã + { // 方向的に右䞊 + dir = 7; // 右䞊 if (dx * 3 - 1 < dy) - dir = 0; // ã + dir = 0; // 侊 if (dx > dy * 3) - dir = 6; // ‰E + dir = 6; // 右 } else if (dx >= 0 && dy <= 0) - { // •ûŒü“I‚ɉE‰º - dir = 5; // ‰E‰º + { // 方向的に右䞋 + dir = 5; // 右䞋 if (dx * 3 - 1 < -dy) - dir = 4; // ‰º + dir = 4; // 例 if (dx > -dy * 3) - dir = 6; // ‰E + dir = 6; // 右 } else if (dx <= 0 && dy <= 0) - { // •ûŒü“I‚ɍ¶‰º - dir = 3; // ¶‰º + { // 方向的に巊䞋 + dir = 3; // å·Šäž‹ if (dx * 3 + 1 > dy) - dir = 4; // ‰º + dir = 4; // 例 if (dx < dy * 3) - dir = 2; // ¶ + dir = 2; // å·Š } else - { // •ûŒü“I‚ɍ¶ã - dir = 1; // ¶ã + { // 方向的に巊䞊 + dir = 1; // 巊䞊 if (-dx * 3 - 1 < dy) - dir = 0; // ã + dir = 0; // 侊 if (-dx > dy * 3) - dir = 2; // ¶ + dir = 2; // å·Š } return dir; } -// gatŒn +// gatç³» /*========================================== - * (m,x,y)‚̏ó‘Ԃ𒲂ׂé + * (m,x,y)の状態を調べる *------------------------------------------ */ int map_getcell (int m, int x, int y) @@ -1551,7 +1551,7 @@ int map_getcell (int m, int x, int y) } /*========================================== - * (m,x,y)‚̏ó‘Ô‚ðt‚É‚·‚é + * (m,x,y)の状態をtにする *------------------------------------------ */ int map_setcell (int m, int x, int y, int t) @@ -1562,7 +1562,7 @@ int map_setcell (int m, int x, int y, int t) } /*========================================== - * ‘ŒŽIŠÇ—‚̃}ƒbƒv‚ðdb‚ɒljÁ + * 他鯖管理のマップをdbに远加 *------------------------------------------ */ int map_setipport (char *name, unsigned long ip, int port) @@ -1604,9 +1604,9 @@ int map_setipport (char *name, unsigned long ip, int port) return 0; } -// ‰Šú‰»Žü‚è +// 初期化呚り /*========================================== - * …ê‚‚³Ý’è + * 氎堎高さ蚭定 *------------------------------------------ */ static struct @@ -1663,7 +1663,7 @@ static void map_readwater (char *watertxt) } /*========================================== - * ƒ}ƒbƒv1–‡“ǂݍž‚Ý + * マップ1枚読み蟌み *------------------------------------------ */ static int map_readmap (int m, char *fn, char *alias) @@ -1709,7 +1709,7 @@ static int map_readmap (int m, char *fn, char *alias) for (x = 0; x < xs; x++) { /*if(wh!=NO_WATER && p->type==0){ - * // …ê”»’è + * // 氎堎刀定 * map[m].gat[x+y*xs]=(p->high[0]>wh || p->high[1]>wh || p->high[2]>wh || p->high[3]>wh) ? 3 : 0; * } else { */ map[m].gat[x + y * xs] = p->type; @@ -1763,7 +1763,7 @@ static int map_readmap (int m, char *fn, char *alias) } /*========================================== - * ‘S‚Ä‚Ìmapƒf[ƒ^‚ð“ǂݍž‚Þ + * 党おのmapデヌタを読み蟌む *------------------------------------------ */ int map_readallmap (void) @@ -1771,7 +1771,7 @@ int map_readallmap (void) int i, maps_removed = 0; char fn[256] = ""; - // æ‚É‘S•”‚̃ƒbƒv‚Ì‘¶Ý‚ðŠm”F + // 先に党郚のャbプの存圚を確認 for (i = 0; i < map_num; i++) { if (strstr (map[i].name, ".gat") == NULL) @@ -1820,7 +1820,7 @@ int map_readallmap (void) } /*========================================== - * “ǂݍž‚Þmap‚ð’ljÁ‚·‚é + * 読み蟌むmapを远加する *------------------------------------------ */ int map_addmap (char *mapname) @@ -1842,7 +1842,7 @@ int map_addmap (char *mapname) } /*========================================== - * “ǂݍž‚Þmap‚ðíœ‚·‚é + * 読み蟌むmapを削陀する *------------------------------------------ */ int map_delmap (char *mapname) @@ -1938,7 +1938,7 @@ void map_write_log (char *format, ...) } /*========================================== - * Ý’èƒtƒ@ƒCƒ‹‚ð“ǂݍž‚Þ + * 蚭定ファむルを読み蟌む *------------------------------------------ */ int map_config_read (char *cfgName) @@ -2130,7 +2130,7 @@ static int cleanup_sub (struct block_list *bl, va_list ap) } /*========================================== - * mapŽII—¹Žžˆ— + * map鯖終了時凊理 *------------------------------------------ */ void do_final (void) @@ -2248,7 +2248,7 @@ int do_init (int argc, char *argv[]) do_init_chrif (); do_init_clif (); do_init_itemdb (); - do_init_mob (); // npc‚̏‰Šú‰»Žž“à‚Åmob_spawn‚µ‚āAmob_db‚ðŽQÆ‚·‚é‚Ì‚Åinit_npc‚æ‚èæ + do_init_mob (); // npcの初期化時内でmob_spawnしお、mob_dbを参照するのでinit_npcより先 do_init_script (); do_init_npc (); do_init_pc (); @@ -2258,7 +2258,7 @@ int do_init (int argc, char *argv[]) do_init_skill (); do_init_magic (); - npc_event_do_oninit (); // npc‚ÌOnInitƒCƒxƒ“ƒgŽÀs + npc_event_do_oninit (); // npcのOnInitむベント実行 if (battle_config.pk_mode == 1) printf ("The server is running in \033[1;31mPK Mode\033[0m.\n"); diff --git a/src/map/map.h b/src/map/map.h index dde7d7f..53f6dfc 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -294,8 +294,8 @@ struct map_session_data int castrate, hprate, sprate, dsprate; int addele[10], addrace[12], addsize[3], subele[10], subrace[12]; int addeff[10], addeff2[10], reseff[10]; - int watk_, watk_2, atkmods_[3], addele_[10], addrace_[12], addsize_[3]; //“ñ“—¬‚Ì‚œ‚߂ɒljÁ - int atk_ele_, star_, overrefine_; //“ñ“—¬‚Ì‚œ‚߂ɒljÁ + int watk_, watk_2, atkmods_[3], addele_[10], addrace_[12], addsize_[3]; //二刀流のために远加 + int atk_ele_, star_, overrefine_; //二刀流のために远加 int base_atk, atk_rate; int arrow_atk, arrow_ele, arrow_cri, arrow_hit, arrow_range; int arrow_addele[10], arrow_addrace[12], arrow_addsize[3], @@ -452,7 +452,7 @@ struct npc_data } warp; char *message; // for MESSAGE: only send this message } u; - // ‚±‚±‚Ƀƒ“ƒo‚ð’ljÁ‚µ‚Ä‚Í‚È‚ç‚È‚¢(shop_item‚ª‰Â•Ï’·‚̈×) + // ここにメンバを远加しおはならない(shop_itemが可倉長の為) char eventqueue[MAX_EVENTQUEUE][50]; int eventtimer[MAX_EVENTTIMER]; @@ -552,13 +552,13 @@ enum { NONE_ATTACKABLE, ATTACKABLE }; enum -{ ATK_LUCKY = 1, ATK_FLEE, ATK_DEF }; // ˆÍ‚Ü‚êƒyƒiƒ‹ƒeƒBŒvŽZ—p +{ ATK_LUCKY = 1, ATK_FLEE, ATK_DEF }; // 囲たれペナルティ蚈算甚 struct map_data { char name[24]; char alias[24]; // [MouseJstr] - unsigned char *gat; // NULL‚Ȃ牺‚Ìmap_data_other_server‚Æ‚µ‚Ĉµ‚€ + unsigned char *gat; // NULLなら䞋のmap_data_other_serverずしお扱う struct block_list **block; struct block_list **block_mob; int *block_count, *block_mob_count; @@ -611,7 +611,7 @@ struct map_data struct map_data_other_server { char name[24]; - unsigned char *gat; // NULLŒÅ’è‚É‚µ‚Ä”»’f + unsigned char *gat; // NULL固定にしお刀断 unsigned long ip; unsigned int port; }; @@ -725,14 +725,14 @@ extern char talkie_mes[]; extern char wisp_server_name[]; -// ŽI‘S‘̏î•ñ +// 鯖党䜓情報 void map_setusers (int); int map_getusers (void); -// blockíœŠÖ˜A +// block削陀関連 int map_freeblock (void *bl); int map_freeblock_lock (void); int map_freeblock_unlock (void); -// blockŠÖ˜A +// block関連 int map_addblock (struct block_list *); int map_delblock (struct block_list *); void map_foreachinarea (int (*)(struct block_list *, va_list), int, int, int, @@ -743,9 +743,9 @@ void map_foreachincell (int (*)(struct block_list *, va_list), int, int, int, void map_foreachinmovearea (int (*)(struct block_list *, va_list), int, int, int, int, int, int, int, int, ...); int map_countnearpc (int, int, int); -//blockŠÖ˜A‚ɒljÁ +//block関連に远加 int map_count_oncell (int m, int x, int y); -// ˆêŽž“IobjectŠÖ˜A +// 䞀時的object関連 int map_addobject (struct block_list *); int map_delobject (int, int type); int map_delobjectnofree (int id, int type); @@ -761,7 +761,7 @@ void map_write_log (char *format, ...); #define MAP_LOG_PC(sd, fmt, args...) MAP_LOG("PC%d %d:%d,%d " fmt, sd->status.char_id, sd->bl.m, sd->bl.x, sd->bl.y, ## args) -// °ƒAƒCƒeƒ€ŠÖ˜A +// 床アむテム関連 int map_clearflooritem_timer (int, unsigned int, int, int); #define map_clearflooritem(id) map_clearflooritem_timer(0,0,id,1) int map_addflooritem_any (struct item *, int amount, int m, int x, int y, @@ -773,7 +773,7 @@ int map_addflooritem (struct item *, int, int, int, int, struct map_session_data *, int); int map_searchrandfreecell (int, int, int, int); -// ƒLƒƒƒ‰id„ƒLƒƒƒ‰–Œ •ÏŠ·ŠÖ˜A +// キャラidキャラ名 倉換関連 void map_addchariddb (int charid, char *name); void map_delchariddb (int charid); int map_reqchariddb (struct map_session_data *sd, int charid); @@ -800,15 +800,15 @@ struct map_session_data *map_get_next_session (struct map_session_data struct map_session_data *map_get_prev_session (struct map_session_data *current); -// gatŠÖ˜A +// gat関連 int map_getcell (int, int, int); int map_setcell (int, int, int, int); -// ‚»‚Ì‘Œ +// その他 int map_check_dir (int s_dir, int t_dir); int map_calc_dir (struct block_list *src, int x, int y); -// path.c‚æ‚è +// path.cより int path_search (struct walkpath_data *, int, int, int, int, int, int); int path_blownpos (int m, int x0, int y0, int dx, int dy, int count); diff --git a/src/map/mob.c b/src/map/mob.c index de691c1..7962114 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -353,11 +353,11 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, else m = map_mapname2mapid (mapname); - if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // ’l‚ªˆÙí‚Ȃ珢Š«‚ðŽ~‚ß‚é + if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // 倀が異垞なら召喚を止める return 0; if (class < 0) - { // ƒ‰ƒ“ƒ_ƒ€‚ɏ¢Š« + { // ランダムに召喚 int i = 0; int j = -class - 1; int k; @@ -412,7 +412,7 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, md->bl.x = x; md->bl.y = y; if (r < 0 && battle_config.dead_branch_active == 1) - md->mode = 0x1 + 0x4 + 0x80; //ˆÚ“®‚µ‚ăAƒNƒeƒBƒu‚Å”œŒ‚‚·‚é + md->mode = 0x1 + 0x4 + 0x80; //移動しおアクティブで反撃する md->m = m; md->x0 = x; md->y0 = y; @@ -510,7 +510,7 @@ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, else m = map_mapname2mapid (mapname); - if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // ’l‚ªˆÙí‚Ȃ珢Š«‚ðŽ~‚ß‚é + if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // 倀が異垞なら召喚を止める return 0; if (class < 0) @@ -677,11 +677,11 @@ int mob_can_move (struct mob_data *md) if (md->canmove_tick > gettick () || (md->opt1 > 0 && md->opt1 != 6) || md->option & 2) return 0; - // ƒAƒ“ƒNƒ‹’†‚Å“®‚¯‚È‚¢‚Æ‚© - if (md->sc_data[SC_ANKLE].timer != -1 || //ƒAƒ“ƒNƒ‹ƒXƒlƒA - md->sc_data[SC_AUTOCOUNTER].timer != -1 || //ƒI[ƒgƒJƒEƒ“ƒ^[ - md->sc_data[SC_BLADESTOP].timer != -1 || //”’nŽæ‚è - md->sc_data[SC_SPIDERWEB].timer != -1 //ƒXƒpƒCƒ_[ƒEƒFƒbƒu + // アンクル䞭で動けないずか + if (md->sc_data[SC_ANKLE].timer != -1 || //アンクルスネア + md->sc_data[SC_AUTOCOUNTER].timer != -1 || //オヌトカりンタヌ + md->sc_data[SC_BLADESTOP].timer != -1 || //癜刃取り + md->sc_data[SC_SPIDERWEB].timer != -1 //スパむダヌりェッブ ) return 0; @@ -917,12 +917,12 @@ static int mob_attack (struct mob_data *md, unsigned int tick, int data) return 0; if (battle_config.monster_attack_direction_change) - md->dir = map_calc_dir (&md->bl, tbl->x, tbl->y); // Œü‚«Ý’è + md->dir = map_calc_dir (&md->bl, tbl->x, tbl->y); // 向き蚭定 //clif_fixmobpos(md); md->state.skillstate = MSS_ATTACK; - if (mobskill_use (md, tick, -2)) // ƒXƒLƒ‹Žg—p + if (mobskill_use (md, tick, -2)) // スキル䜿甚 return 0; md->target_lv = battle_weapon_attack (&md->bl, tbl, tick, 0); @@ -1041,7 +1041,7 @@ static int mob_timer (int tid, unsigned int tick, int id, int data) struct block_list *bl; if ((bl = map_id2bl (id)) == NULL) - { //UŒ‚‚µ‚Ä‚«‚œ“G‚ª‚à‚€‚¢‚È‚¢‚̂͐³í‚Ì‚æ‚€‚Ÿ + { //攻撃しおきた敵がもういないのは正垞のようだ return 1; } @@ -1453,13 +1453,13 @@ int mob_can_reach (struct mob_data *md, struct block_list *bl, int range) return 0; } - if (md->bl.m != bl->m) // ˆá‚€ƒƒbƒv + if (md->bl.m != bl->m) // 違うャbプ return 0; - if (range > 0 && range < ((dx > dy) ? dx : dy)) // ‰“‚·‚¬‚é + if (range > 0 && range < ((dx > dy) ? dx : dy)) // 遠すぎる return 0; - if (md->bl.x == bl->x && md->bl.y == bl->y) // “¯‚¶ƒƒX + if (md->bl.x == bl->x && md->bl.y == bl->y) // 同じャX return 1; // Obstacle judging @@ -1573,7 +1573,7 @@ static int mob_ai_sub_hard_activesearch (struct block_list *bl, va_list ap) else return 0; - //“G–¡•û”»’è + //敵味方刀定 if (battle_check_target (&smd->bl, bl, BCT_ENEMY) == 0) return 0; @@ -1582,11 +1582,11 @@ static int mob_ai_sub_hard_activesearch (struct block_list *bl, va_list ap) else mode = smd->mode; - // ƒAƒNƒeƒBƒu‚Ń^[ƒQƒbƒgŽË’ö“à‚É‚¢‚é‚È‚çAƒƒbƒN‚·‚é + // アクティブでタヌゲット射皋内にいるなら、ロックする if (mode & 0x04) { race = mob_db[smd->class].race; - //‘ΏۂªPC‚̏ꍇ + //察象がPCの堎合 if (tsd && !pc_isdead (tsd) && tsd->bl.m == smd->bl.m && @@ -1599,25 +1599,25 @@ static int mob_ai_sub_hard_activesearch (struct block_list *bl, va_list ap) (tsd->sc_data[SC_TRICKDEAD].timer == -1 && ((!pc_ishiding (tsd) && !tsd->state.gangsterparadise) || race == 4 || race == 6))) - { // –WŠQ‚ª‚È‚¢‚©”»’è - if (mob_can_reach (smd, bl, 12) && // “ž’B‰Â”\«”»’è + { // 劚害がないか刀定 + if (mob_can_reach (smd, bl, 12) && // 到達可胜性刀定 MRAND (1000) < 1000 / (++(*pcc))) - { // ”͈͓àPC‚Å“™Šm—Š‚É‚·‚é + { // 範囲内PCで等確率にする smd->target_id = tsd->bl.id; smd->state.targettype = ATTACKABLE; smd->min_chase = 13; } } } - //‘ΏۂªMob‚̏ꍇ + //察象がMobの堎合 else if (tmd && tmd->bl.m == smd->bl.m && (dist = distance (smd->bl.x, smd->bl.y, tmd->bl.x, tmd->bl.y)) < 9) { - if (mob_can_reach (smd, bl, 12) && // “ž’B‰Â”\«”»’è + if (mob_can_reach (smd, bl, 12) && // 到達可胜性刀定 MRAND (1000) < 1000 / (++(*pcc))) - { // ”͈͓à‚Å“™Šm—Š‚É‚·‚é + { // 範囲内で等確率にする smd->target_id = bl->id; smd->state.targettype = ATTACKABLE; smd->min_chase = 13; @@ -1828,7 +1828,7 @@ static int mob_ai_sub_hard_slavemob (struct mob_data *md, unsigned int tick) (sd->sc_data[SC_TRICKDEAD].timer == -1 && ((!pc_ishiding (sd) && !sd->state.gangsterparadise) || race == 4 || race == 6))) - { // –WŠQ‚ª‚È‚¢‚©”»’è + { // 劚害がないか刀定 md->target_id = sd->bl.id; md->state.targettype = ATTACKABLE; @@ -2028,7 +2028,7 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) if (md->master_id > 0 && md->state.special_mob_ai == 0) mob_ai_sub_hard_slavemob (md, tick); - // ƒAƒNƒeƒBƒ”ƒ‚ƒ“ƒXƒ^[‚̍ô“G (?? of a bitter taste TIVU monster) + // アクティノモンスタヌの策敵 (?? of a bitter taste TIVU monster) if ((!md->target_id || md->state.targettype == NONE_ATTACKABLE) && mode & 0x04 && !md->state.master_check && battle_config.monster_active_enable == 1) @@ -2077,45 +2077,45 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) || (dist = distance (md->bl.x, md->bl.y, tbl->x, tbl->y)) >= md->min_chase) - mob_unlocktarget (md, tick); // •Êƒ}ƒbƒv‚©AŽ‹ŠEŠO + mob_unlocktarget (md, tick); // 別マップか、芖界倖 else if (tsd && !(mode & 0x20) && (tsd->sc_data[SC_TRICKDEAD].timer != -1 || ((pc_ishiding (tsd) || tsd->state.gangsterparadise) && race != 4 && race != 6))) - mob_unlocktarget (md, tick); // ƒXƒLƒ‹‚È‚Ç‚É‚æ‚éô“G–WŠQ + mob_unlocktarget (md, tick); // スキルなどによる策敵劚害 else if (!battle_check_range (&md->bl, tbl, mob_db[md->class].range)) { - // UŒ‚”͈͊O‚Ȃ̂ňړ® + // 攻撃範囲倖なので移動 if (!(mode & 1)) - { // ˆÚ“®‚µ‚È‚¢ƒ‚[ƒh + { // 移動しないモヌド mob_unlocktarget (md, tick); return 0; } - if (!mob_can_move (md)) // “®‚¯‚È‚¢ó‘Ô‚É‚ ‚é + if (!mob_can_move (md)) // 動けない状態にある return 0; - md->state.skillstate = MSS_CHASE; // “ËŒ‚ŽžƒXƒLƒ‹ + md->state.skillstate = MSS_CHASE; // 突撃時スキル mobskill_use (md, tick, -1); // if(md->timer != -1 && (DIFF_TICK(md->next_walktime,tick)<0 || distance(md->to_x,md->to_y,tsd->bl.x,tsd->bl.y)<2) ) if (md->timer != -1 && md->state.state != MS_ATTACK && (DIFF_TICK (md->next_walktime, tick) < 0 || distance (md->to_x, md->to_y, tbl->x, tbl->y) < 2)) - return 0; // Šù‚Ɉړ®’† + return 0; // 既に移動䞭 if (!mob_can_reach (md, tbl, (md->min_chase > 13) ? md->min_chase : 13)) - mob_unlocktarget (md, tick); // ˆÚ“®‚Å‚«‚È‚¢‚̂Ń^ƒQ‰ðœiIW‚Æ‚©Hj + mob_unlocktarget (md, tick); // 移動できないのでタゲ解陀IWずか else { - // ’ÇÕ + // 远跡 md->next_walktime = tick + 500; i = 0; do { if (i == 0) - { // Å‰‚ÍAEGIS‚Æ“¯‚¶•û–@‚ÅŒŸõ + { // 最初はAEGISず同じ方法で怜玢 dx = tbl->x - md->bl.x; dy = tbl->y - md->bl.y; if (dx < 0) @@ -2128,7 +2128,7 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) dy--; } else - { // ‚Ÿ‚ß‚È‚çAthenaŽ®(ƒ‰ƒ“ƒ_ƒ€) + { // だめならAthena匏(ランダム) dx = tbl->x - md->bl.x + MRAND (3) - 1; dy = tbl->y - md->bl.y + MRAND (3) - 1; } @@ -2148,7 +2148,7 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) while (ret && i < 5); if (ret) - { // ˆÚ“®•s‰Â”\‚ȏŠ‚©‚ç‚̍UŒ‚‚È‚ç2•à‰º‚é + { // 移動䞍可胜な所からの攻撃なら2æ­©äž‹ã‚‹ if (dx < 0) dx = 2; else if (dx > 0) @@ -2163,15 +2163,15 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) } } else - { // UŒ‚ŽË’ö”͈͓à + { // 攻撃射皋範囲内 md->state.skillstate = MSS_ATTACK; if (md->state.state == MS_WALK) - mob_stop_walking (md, 1); // •às’†‚È‚ç’âŽ~ + mob_stop_walking (md, 1); // 歩行䞭なら停止 if (md->state.state == MS_ATTACK) - return 0; // Šù‚ɍUŒ‚’† + return 0; // 既に攻撃䞭 mob_changestate (md, MS_ATTACK, attack_type); -/* if(mode&0x08){ // ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[ +/* if(mode&0x08){ // リンクモンスタヌ map_foreachinarea(mob_ai_sub_hard_linksearch,md->bl.m, md->bl.x-13,md->bl.y-13, md->bl.x+13,md->bl.y+13, @@ -2181,34 +2181,34 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) return 0; } else - { // ƒ‹[ƒgƒ‚ƒ“ƒXƒ^[ˆ— + { // ルヌトモンスタヌ凊理 if (tbl == NULL || tbl->type != BL_ITEM || tbl->m != md->bl.m || (dist = distance (md->bl.x, md->bl.y, tbl->x, tbl->y)) >= md->min_chase || !md->lootitem) { - // ‰“‚·‚¬‚é‚©ƒAƒCƒeƒ€‚ª‚È‚­‚È‚Á‚œ + // 遠すぎるかアむテムがなくなった mob_unlocktarget (md, tick); if (md->state.state == MS_WALK) - mob_stop_walking (md, 1); // •às’†‚È‚ç’âŽ~ + mob_stop_walking (md, 1); // 歩行䞭なら停止 } else if (dist) { if (!(mode & 1)) - { // ˆÚ“®‚µ‚È‚¢ƒ‚[ƒh + { // 移動しないモヌド mob_unlocktarget (md, tick); return 0; } - if (!mob_can_move (md)) // “®‚¯‚È‚¢ó‘Ô‚É‚ ‚é + if (!mob_can_move (md)) // 動けない状態にある return 0; - md->state.skillstate = MSS_LOOT; // ƒ‹[ƒgŽžƒXƒLƒ‹Žg—p + md->state.skillstate = MSS_LOOT; // ルヌト時スキル䜿甚 mobskill_use (md, tick, -1); // if(md->timer != -1 && (DIFF_TICK(md->next_walktime,tick)<0 || distance(md->to_x,md->to_y,tbl->x,tbl->y)<2) ) if (md->timer != -1 && md->state.state != MS_ATTACK && (DIFF_TICK (md->next_walktime, tick) < 0 || distance (md->to_x, md->to_y, tbl->x, tbl->y) <= 0)) - return 0; // Šù‚Ɉړ®’† + return 0; // 既に移動䞭 md->next_walktime = tick + 500; dx = tbl->x - md->bl.x; dy = tbl->y - md->bl.y; @@ -2218,14 +2218,14 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) }*/ ret = mob_walktoxy (md, md->bl.x + dx, md->bl.y + dy, 0); if (ret) - mob_unlocktarget (md, tick); // ˆÚ“®‚Å‚«‚È‚¢‚̂Ń^ƒQ‰ðœiIW‚Æ‚©Hj + mob_unlocktarget (md, tick); // 移動できないのでタゲ解陀IWずか } else - { // ƒAƒCƒeƒ€‚Ü‚Å‚œ‚Ç‚è’…‚¢‚œ + { // アむテムたでたどり着いた if (md->state.state == MS_ATTACK) - return 0; // UŒ‚’† + return 0; // 攻撃䞭 if (md->state.state == MS_WALK) - mob_stop_walking (md, 1); // •às’†‚È‚ç’âŽ~ + mob_stop_walking (md, 1); // 歩行䞭なら停止 fitem = (struct flooritem_data *) tbl; if (md->lootitem_count < LOOTITEM_SIZE) memcpy (&md->lootitem[md->lootitem_count++], @@ -2254,7 +2254,7 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) { mob_unlocktarget (md, tick); if (md->state.state == MS_WALK) - mob_stop_walking (md, 4); // •às’†‚È‚ç’âŽ~ + mob_stop_walking (md, 4); // 歩行䞭なら停止 return 0; } } @@ -2263,11 +2263,11 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) if (mobskill_use (md, tick, -1)) return 0; - // •àsˆ— - if (mode & 1 && mob_can_move (md) && // ˆÚ“®‰Â”\MOB&“®‚¯‚éó‘Ô‚É‚ ‚é + // 歩行凊理 + if (mode & 1 && mob_can_move (md) && // 移動可胜MOB&動ける状態にある (md->master_id == 0 || md->state.special_mob_ai || md->master_dist > 10)) - { //Žæ‚芪‚«MOB‚¶‚á‚È‚¢ + { //取り巻きMOBじゃない if (DIFF_TICK (md->next_walktime, tick) > +7000 && (md->walkpath.path_len == 0 @@ -2599,7 +2599,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, int drop_rate; int skill, sp; - nullpo_retr (0, md); //src‚ÍNULL‚ŌĂ΂ê‚éê‡‚à‚ ‚é‚̂ŁA‘Œ‚Ń`ƒFƒbƒN + nullpo_retr (0, md); //srcはNULLで呌ばれる堎合もあるので、他でチェック if (src && src->id == md->master_id && md->mode & MOB_MODE_TURNS_AGAINST_BAD_MASTER) @@ -2818,7 +2818,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, skill_status_change_end (&md->bl, SC_CLOAKING, -1); if (md->state.special_mob_ai == 2) - { //ƒXƒtƒBƒA[ƒ}ƒCƒ“ + { //スフィアヌマむン int skillidx = 0; if ((skillidx = @@ -2826,7 +2826,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, { md->mode |= 0x1; md->next_walktime = tick; - mobskill_use_id (md, &md->bl, skillidx); //Ž©”š‰r¥ŠJŽn + mobskill_use_id (md, &md->bl, skillidx); //自爆詠唱開始 md->state.special_mob_ai++; } } @@ -2838,11 +2838,11 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, MAP_LOG ("MOB%d DEAD", md->bl.id); - // ----- ‚±‚±‚©‚玀–Sˆ— ----- + // ----- ここから死亡凊理 ----- map_freeblock_lock (); mob_changestate (md, MS_DEAD, 0); - mobskill_use (md, tick, -1); // Ž€–SŽžƒXƒLƒ‹ + mobskill_use (md, tick, -1); // 死亡時スキル memset (tmpsd, 0, sizeof (tmpsd)); memset (pt, 0, sizeof (pt)); @@ -2852,7 +2852,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, if (src && src->type == BL_MOB) mob_unlocktarget ((struct mob_data *) src, tick); - /* ƒ\ƒEƒ‹ƒhƒŒƒCƒ“ */ + /* ゜りルドレむン */ if (sd && (skill = pc_checkskill (sd, HW_SOULDRAIN)) > 0) { clif_skill_nodamage (src, &md->bl, HW_SOULDRAIN, skill, 1); @@ -2863,8 +2863,8 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, clif_heal (sd->fd, SP_SP, sp); } - // mapŠO‚ɏÁ‚Š‚œl‚ÍŒvŽZ‚©‚珜‚­‚Ì‚Å - // overkill•ª‚Í–³‚¢‚¯‚Çsum‚Ímax_hp‚Ƃ͈ႀ + // map倖に消えた人は蚈算から陀くので + // overkill分は無いけどsumはmax_hpずは違う tdmg = 0; for (i = 0, count = 0, mvp_damage = 0; i < DAMAGELOG_SIZE; i++) @@ -2897,7 +2897,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, else dmg_rate = 1; - // ŒoŒ±’l‚Ì•ª”z + // 経隓倀の分配 for (i = 0; i < DAMAGELOG_SIZE; i++) { @@ -2953,13 +2953,13 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, job_exp = 0; // Added [Valaris] if ((pid = tmpsd[i]->status.party_id) > 0) - { // ƒp[ƒeƒB‚É“ü‚Á‚Ä‚¢‚é + { // パヌティに入っおいる int j = 0; - for (j = 0; j < pnum; j++) // Œö•œƒp[ƒeƒBƒŠƒXƒg‚É‚¢‚é‚©‚Ç‚€‚© + for (j = 0; j < pnum; j++) // 公平パヌティリストにいるかどうか if (pt[j].id == pid) break; if (j == pnum) - { // ‚¢‚È‚¢‚Æ‚«‚ÍŒö•œ‚©‚Ç‚€‚©Šm”F + { // いないずきは公平かどうか確認 if ((p = party_search (pid)) != NULL && p->exp != 0) { pt[pnum].id = pid; @@ -2971,16 +2971,16 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, } } else - { // ‚¢‚é‚Æ‚«‚ÍŒö•œ + { // いるずきは公平 pt[j].base_exp += base_exp; pt[j].job_exp += job_exp; flag = 0; } } - if (flag) // ŠeŽ©Š“Ÿ + if (flag) // 各自所埗 pc_gainexp (tmpsd[i], base_exp, job_exp); } - // Œö•œ•ª”z + // 公平分配 for (i = 0; i < pnum; i++) party_exp_share (pt[i].p, md->bl.m, pt[i].base_exp, pt[i].job_exp); @@ -3086,7 +3086,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, } } - // mvpˆ— + // mvp凊理 if (mvp_sd && mob_db[md->class].mexp > 0) { int j; @@ -3097,7 +3097,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, mexp = (temp > 2147483647.) ? 0x7fffffff : (int) temp; if (mexp < 1) mexp = 1; - clif_mvp_effect (mvp_sd); // ƒGƒtƒFƒNƒg + clif_mvp_effect (mvp_sd); // ゚フェクト clif_mvp_exp (mvp_sd, mexp); pc_gainexp (mvp_sd, mexp, 0); for (j = 0; j < 3; j++) @@ -3145,7 +3145,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, guild_agit_break (md); } - // SCRIPTŽÀs + // SCRIPT実行 if (md->npc_event[0]) { if (sd == NULL) @@ -3265,7 +3265,7 @@ int mob_class_change (struct mob_data *md, int *value) } /*========================================== - * mob‰ñ•œ + * mob回埩 *------------------------------------------ */ int mob_heal (struct mob_data *md, int heal) @@ -3338,7 +3338,7 @@ int mob_warpslave (struct mob_data *md, int x, int y) } /*========================================== - * mobƒ[ƒv + * mobワヌプ *------------------------------------------ */ int mob_warp (struct mob_data *md, int m, int x, int y, int type) @@ -3363,7 +3363,7 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) map_delblock (&md->bl); if (bx > 0 && by > 0) - { // ˆÊ’uŽw’è‚̏ꍇŽüˆÍ‚XƒZƒ‹‚ð’Tõ + { // 䜍眮指定の堎合呚囲セルを探玢 xs = ys = 9; } @@ -3371,12 +3371,12 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) && (i++) < 1000) { if (xs > 0 && ys > 0 && i < 250) - { // Žw’èˆÊ’u•t‹ß‚Ì’Tõ + { // 指定䜍眮付近の探玢 x = MPRAND (bx, xs) - xs / 2; y = MPRAND (by, ys) - ys / 2; } else - { // Š®‘Sƒ‰ƒ“ƒ_ƒ€’Tõ + { // 完党ランダム探玢 x = MPRAND (1, (map[m].xs - 2)); y = MPRAND (1, (map[m].ys - 2)); } @@ -3395,7 +3395,7 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) printf ("MOB %d warp failed, class = %d\n", md->bl.id, md->class); } - md->target_id = 0; // ƒ^ƒQ‚ð‰ðœ‚·‚é + md->target_id = 0; // タゲを解陀する md->state.targettype = NONE_ATTACKABLE; md->attacked_id = 0; md->state.skillstate = MSS_IDLE; @@ -3419,7 +3419,7 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) } /*========================================== - * ‰æ–Ê“à‚ÌŽæ‚芪‚«‚̐”ŒvŽZ—p(foreachinarea) + * 画面内の取り巻きの数蚈算甚(foreachinarea) *------------------------------------------ */ int mob_countslave_sub (struct block_list *bl, va_list ap) @@ -3440,7 +3440,7 @@ int mob_countslave_sub (struct block_list *bl, va_list ap) } /*========================================== - * ‰æ–Ê“à‚ÌŽæ‚芪‚«‚̐”ŒvŽZ + * 画面内の取り巻きの数蚈算 *------------------------------------------ */ int mob_countslave (struct mob_data *md) @@ -3456,7 +3456,7 @@ int mob_countslave (struct mob_data *md) } /*========================================== - * Žè‰ºMOB¢Š« + * 手䞋MOB召喚 *------------------------------------------ */ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) @@ -3471,7 +3471,7 @@ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) by = md2->bl.y; m = md2->bl.m; - if (value[0] <= 1000 || value[0] > 2000) // ’l‚ªˆÙí‚Ȃ珢Š«‚ðŽ~‚ß‚é + if (value[0] <= 1000 || value[0] > 2000) // 倀が異垞なら召喚を止める return 0; while (count < 5 && value[count] > 1000 && value[count] <= 2000) count++; @@ -3520,8 +3520,8 @@ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) md->xs = 0; md->ys = 0; md->stats[MOB_SPEED] = md2->stats[MOB_SPEED]; - md->spawndelay1 = -1; // ˆê“x‚̂݃tƒ‰ƒO - md->spawndelay2 = -1; // ˆê“x‚̂݃tƒ‰ƒO + md->spawndelay1 = -1; // 䞀床のみフラグ + md->spawndelay2 = -1; // 䞀床のみフラグ memset (md->npc_event, 0, sizeof (md->npc_event)); md->bl.type = BL_MOB; @@ -3539,7 +3539,7 @@ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) } /*========================================== - * Ž©•ª‚ðƒƒbƒN‚µ‚Ä‚¢‚éPC‚̐”‚𐔂Š‚é(foreachclient) + * 自分をロックしおいるPCの数を数える(foreachclient) *------------------------------------------ */ static int mob_counttargeted_sub (struct block_list *bl, va_list ap) @@ -3574,7 +3574,7 @@ static int mob_counttargeted_sub (struct block_list *bl, va_list ap) } /*========================================== - * Ž©•ª‚ðƒƒbƒN‚µ‚Ä‚¢‚éPC‚̐”‚𐔂Š‚é + * 自分をロックしおいるPCの数を数える *------------------------------------------ */ int mob_counttargeted (struct mob_data *md, struct block_list *src, @@ -3592,7 +3592,7 @@ int mob_counttargeted (struct mob_data *md, struct block_list *src, } /*========================================== - *MOBskill‚©‚çŠY“–skillid‚Ìskillidx‚ð•Ô‚· + *MOBskillから該圓skillidのskillidxを返す *------------------------------------------ */ int mob_skillid2skillidx (int class, int skillid) @@ -3613,11 +3613,11 @@ int mob_skillid2skillidx (int class, int skillid) } // -// MOBƒXƒLƒ‹ +// MOBスキル // /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AIDŽw’èj + * スキル䜿甚詠唱完了、ID指定 *------------------------------------------ */ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) @@ -3627,7 +3627,7 @@ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) struct block_list *mbl; int range; - if ((mbl = map_id2bl (id)) == NULL) //‰r¥‚µ‚œMob‚ª‚à‚€‚¢‚È‚¢‚Æ‚¢‚€‚Ì‚Í—Ç‚­‚ ‚鐳íˆ— + if ((mbl = map_id2bl (id)) == NULL) //詠唱したMobがもういないずいうのは良くある正垞凊理 return 0; if ((md = (struct mob_data *) mbl) == NULL) { @@ -3636,30 +3636,30 @@ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) } if (md->bl.type != BL_MOB || md->bl.prev == NULL) return 0; - if (md->skilltimer != tid) // ƒ^ƒCƒ}ID‚ÌŠm”F + if (md->skilltimer != tid) // タむマIDの確認 return 0; md->skilltimer = -1; - //’Ÿ–Ù‚âó‘Ԉُí‚È‚Ç + //沈黙や状態異垞など if (md->sc_data) { if (md->opt1 > 0 || md->sc_data[SC_DIVINA].timer != -1 || md->sc_data[SC_ROKISWEIL].timer != -1 || md->sc_data[SC_STEELBODY].timer != -1) return 0; - if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //ƒI[ƒgƒJƒEƒ“ƒ^[ + if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //オヌトカりンタヌ return 0; - if (md->sc_data[SC_BLADESTOP].timer != -1) //”’nŽæ‚è + if (md->sc_data[SC_BLADESTOP].timer != -1) //癜刃取り return 0; - if (md->sc_data[SC_BERSERK].timer != -1) //ƒo[ƒT[ƒN + if (md->sc_data[SC_BERSERK].timer != -1) //バヌサヌク return 0; } if (md->skillid != NPC_EMOTION) md->last_thinktime = tick + battle_get_adelay (&md->bl); if ((bl = map_id2bl (md->skilltarget)) == NULL || bl->prev == NULL) - { //ƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ª‘¶Ý‚µ‚È‚¢ - //printf("mobskill_castend_id nullpo\n");//ƒ^[ƒQƒbƒg‚ª‚¢‚È‚¢‚Æ‚«‚Ínullpo‚¶‚á‚È‚­‚Ä•’ʂɏI—¹ + { //スキルタヌゲットが存圚しない + //printf("mobskill_castend_id nullpo\n");//タヌゲットがいないずきはnullpoじゃなくお普通に終了 return 0; } if (md->bl.m != bl->m) @@ -3682,7 +3682,7 @@ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) if (bl->type != BL_SKILL && (dist == 0 || map_check_dir (dir, t_dir))) return 0; } - if (((skill_get_inf (md->skillid) & 1) || (skill_get_inf2 (md->skillid) & 4)) && // ”Þ‰ä“G‘Ί֌Wƒ`ƒFƒbƒN + if (((skill_get_inf (md->skillid) & 1) || (skill_get_inf2 (md->skillid) & 4)) && // 圌我敵察関係チェック battle_check_target (&md->bl, bl, BCT_ENEMY) <= 0) return 0; range = skill_get_range (md->skillid, md->skilllv); @@ -3701,13 +3701,13 @@ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) switch (skill_get_nk (md->skillid)) { - // UŒ‚Œn/‚«”ò‚΂µŒn + // 攻撃系/吹き飛ばし系 case 0: case 2: skill_castend_damage_id (&md->bl, bl, md->skillid, md->skilllv, tick, 0); break; - case 1: // Žx‰‡Œn + case 1: // 支揎系 if (!mob_db[md->class].skill[md->skillidx].val[0] && (md->skillid == AL_HEAL || (md->skillid == ALL_RESURRECTION && bl->type != BL_PC)) @@ -3725,7 +3725,7 @@ int mobskill_castend_id (int tid, unsigned int tick, int id, int data) } /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AêŠŽw’èj + * スキル䜿甚詠唱完了、堎所指定 *------------------------------------------ */ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) @@ -3734,7 +3734,7 @@ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) struct block_list *bl; int range, maxcount; - //mobskill_castend_id“¯—l‰r¥‚µ‚œMob‚ª‰r¥Š®—¹Žž‚É‚à‚€‚¢‚È‚¢‚Æ‚¢‚€‚Ì‚Í‚ ‚è‚»‚€‚È‚Ì‚Ånullpo‚©‚珜ŠO + //mobskill_castend_id同様詠唱したMobが詠唱完了時にもういないずいうのはありそうなのでnullpoから陀倖 if ((bl = map_id2bl (id)) == NULL) return 0; @@ -3743,7 +3743,7 @@ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) if (md->bl.type != BL_MOB || md->bl.prev == NULL) return 0; - if (md->skilltimer != tid) // ƒ^ƒCƒ}ID‚ÌŠm”F + if (md->skilltimer != tid) // タむマIDの確認 return 0; md->skilltimer = -1; @@ -3753,11 +3753,11 @@ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) || md->sc_data[SC_ROKISWEIL].timer != -1 || md->sc_data[SC_STEELBODY].timer != -1) return 0; - if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //ƒI[ƒgƒJƒEƒ“ƒ^[ + if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //オヌトカりンタヌ return 0; - if (md->sc_data[SC_BLADESTOP].timer != -1) //”’nŽæ‚è + if (md->sc_data[SC_BLADESTOP].timer != -1) //癜刃取り return 0; - if (md->sc_data[SC_BERSERK].timer != -1) //ƒo[ƒT[ƒN + if (md->sc_data[SC_BERSERK].timer != -1) //バヌサヌク return 0; } @@ -3777,7 +3777,7 @@ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) case HT_FREEZINGTRAP: case HT_BLASTMINE: case HT_CLAYMORETRAP: - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case PF_SPIDERWEB: /* スパむダヌりェッブ */ range = 0; break; case AL_PNEUMA: @@ -3808,7 +3808,7 @@ int mobskill_castend_pos (int tid, unsigned int tick, int id, int data) case HT_BLASTMINE: case HT_CLAYMORETRAP: case AM_DEMONSTRATION: - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case PF_SPIDERWEB: /* スパむダヌりェッブ */ range = 1; break; case AL_WARP: @@ -3882,18 +3882,18 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, skill_id = ms->skill_id; skill_lv = ms->skill_lv; - // ’Ÿ–Ù‚âˆÙí + // 沈黙や異垞 if (md->sc_data) { if (md->opt1 > 0 || md->sc_data[SC_DIVINA].timer != -1 || md->sc_data[SC_ROKISWEIL].timer != -1 || md->sc_data[SC_STEELBODY].timer != -1) return 0; - if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //ƒI[ƒgƒJƒEƒ“ƒ^[ + if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //オヌトカりンタヌ return 0; - if (md->sc_data[SC_BLADESTOP].timer != -1) //”’nŽæ‚è + if (md->sc_data[SC_BLADESTOP].timer != -1) //癜刃取り return 0; - if (md->sc_data[SC_BERSERK].timer != -1) //ƒo[ƒT[ƒN + if (md->sc_data[SC_BERSERK].timer != -1) //バヌサヌク return 0; } @@ -3912,7 +3912,7 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, if (skill_get_inf2 (skill_id) & 0x200 && md->bl.id == target->id) return 0; - // ŽË’ö‚ƏáŠQ•šƒ`ƒFƒbƒN + // 射皋ず障害物チェック range = skill_get_range (skill_id, skill_lv); if (range < 0) range = battle_get_range (&md->bl) - (range + 1); @@ -3927,19 +3927,19 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, md->skilldelay[skill_idx] = gettick (); switch (skill_id) - { /* ‰œ‚©“ÁŽê‚ȏˆ—‚ª•K—v */ - case ALL_RESURRECTION: /* ƒŠƒUƒŒƒNƒVƒ‡ƒ“ */ + { /* 䜕か特殊な凊理が必芁 */ + case ALL_RESURRECTION: /* リザレクション */ if (target->type != BL_PC && battle_check_undead (battle_get_race (target), battle_get_elem_type (target))) - { /* “G‚ªƒAƒ“ƒfƒbƒh‚È‚ç */ - forcecast = 1; /* ƒ^[ƒ“ƒAƒ“ƒfƒbƒg‚Æ“¯‚¶‰r¥ŽžŠÔ */ + { /* 敵がアンデッドなら */ + forcecast = 1; /* タヌンアンデットず同じ詠唱時間 */ casttime = skill_castfix (&md->bl, skill_get_cast (PR_TURNUNDEAD, skill_lv)); } break; - case MO_EXTREMITYFIST: /*ˆ¢C—…”e–PŒ */ + case MO_EXTREMITYFIST: /*阿修矅芇鳳拳 */ case SA_MAGICROD: case SA_SPELLBREAKER: forcecast = 1; @@ -3952,12 +3952,12 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, target->id, skill_id, skill_lv, casttime, md->class); if (casttime > 0 || forcecast) - { // ‰r¥‚ª•K—v + { // 詠唱が必芁 // struct mob_data *md2; clif_skillcasting (&md->bl, md->bl.id, target->id, 0, 0, skill_id, casttime); - // ‰r¥”œ‰žƒ‚ƒ“ƒXƒ^[ + // 詠唱反応モンスタヌ /* if( target->type==BL_MOB && mob_db[(md2=(struct mob_data *)target)->class].mode&0x10 && md2->state.state!=MS_ATTACK){ md2->target_id=md->bl.id; @@ -3966,7 +3966,7 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, }*/ } - if (casttime <= 0) // ‰r¥‚Ì–³‚¢‚à‚̂̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢ + if (casttime <= 0) // 詠唱の無いものはキャンセルされない md->state.skillcastcancel = 0; md->skilltarget = target->id; @@ -3996,7 +3996,7 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, } /*========================================== - * ƒXƒLƒ‹Žg—piêŠŽw’èj + * スキル䜿甚堎所指定 *------------------------------------------ */ int mobskill_use_pos (struct mob_data *md, @@ -4016,18 +4016,18 @@ int mobskill_use_pos (struct mob_data *md, skill_id = ms->skill_id; skill_lv = ms->skill_lv; - //’Ÿ–Ù‚âó‘Ԉُí‚È‚Ç + //沈黙や状態異垞など if (md->sc_data) { if (md->opt1 > 0 || md->sc_data[SC_DIVINA].timer != -1 || md->sc_data[SC_ROKISWEIL].timer != -1 || md->sc_data[SC_STEELBODY].timer != -1) return 0; - if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //ƒI[ƒgƒJƒEƒ“ƒ^[ + if (md->sc_data[SC_AUTOCOUNTER].timer != -1 && md->skillid != KN_AUTOCOUNTER) //オヌトカりンタヌ return 0; - if (md->sc_data[SC_BLADESTOP].timer != -1) //”’nŽæ‚è + if (md->sc_data[SC_BLADESTOP].timer != -1) //癜刃取り return 0; - if (md->sc_data[SC_BERSERK].timer != -1) //ƒo[ƒT[ƒN + if (md->sc_data[SC_BERSERK].timer != -1) //バヌサヌク return 0; } @@ -4040,7 +4040,7 @@ int mobskill_use_pos (struct mob_data *md, || skill_id == TF_BACKSLIDING)) return 0; - // ŽË’ö‚ƏáŠQ•šƒ`ƒFƒbƒN + // 射皋ず障害物チェック bl.type = BL_NUL; bl.m = md->bl.m; bl.x = skill_x; @@ -4201,7 +4201,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) if (md->state.special_mob_ai) return 0; - if (md->sc_data[SC_SELFDESTRUCTION].timer != -1) //Ž©”š’†‚̓XƒLƒ‹‚ðŽg‚í‚È‚¢ + if (md->sc_data[SC_SELFDESTRUCTION].timer != -1) //自爆䞭はスキルを䜿わない return 0; for (i = 0; i < mob_db[md->class].maxskill; i++) @@ -4209,15 +4209,15 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) int c2 = ms[i].cond2, flag = 0; struct mob_data *fmd = NULL; - // ƒfƒBƒŒƒC’† + // ディレむ䞭 if (DIFF_TICK (tick, md->skilldelay[i]) < ms[i].delay) continue; - // ó‘Ô”»’è + // 状態刀定 if (ms[i].state >= 0 && ms[i].state != md->state.skillstate) continue; - // ðŒ”»’è + // 条件刀定 flag = (event == ms[i].cond1); if (!flag) { @@ -4278,13 +4278,13 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) } } - // Šm—Š”»’è + // 確率刀定 if (flag && MRAND (10000) < ms[i].permillage) { if (skill_get_inf (ms[i].skill_id) & 2) { - // êŠŽw’è + // 堎所指定 struct block_list *bl = NULL; int x = 0, y = 0; if (ms[i].target <= MST_AROUND) @@ -4313,7 +4313,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) } if (x <= 0 || y <= 0) continue; - // Ž©•ª‚ÌŽüˆÍ + // 自分の呚囲 if (ms[i].target >= MST_AROUND1) { int bx = x, by = y, i = 0, c, m = bl->m, r = @@ -4333,7 +4333,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) y = by; } } - // ‘ŠŽè‚ÌŽüˆÍ + // 盞手の呚囲 if (ms[i].target >= MST_AROUND5) { int bx = x, by = y, i = 0, c, m = bl->m, r = @@ -4368,7 +4368,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) if (bl && !mobskill_use_id (md, bl, i)) return 0; } - // IDŽw’è + // ID指定 if (ms[i].target <= MST_FRIEND) { struct block_list *bl = NULL; @@ -4411,7 +4411,7 @@ int mobskill_event (struct mob_data *md, int flag) } /*========================================== - * Mob‚ªƒGƒ“ƒyƒŠƒEƒ€‚Ȃǂ̏ꍇ‚Ì”»’è + * Mobが゚ンペリりムなどの堎合の刀定 *------------------------------------------ */ int mob_gvmobcheck (struct map_session_data *sd, struct block_list *bl) @@ -4429,14 +4429,14 @@ int mob_gvmobcheck (struct map_session_data *sd, struct block_list *bl) struct guild *g = guild_search (sd->status.guild_id); if (g == NULL && md->class == 1288) - return 0; //ƒMƒ‹ƒh–¢‰Á“ü‚È‚çƒ_ƒ[ƒW–³‚µ + return 0; //ギルド未加入ならダメヌゞ無し else if (gc != NULL && !map[sd->bl.m].flag.gvg) - return 0; //Ô“à‚ÅGv‚¶‚á‚È‚¢‚Æ‚«‚̓_ƒ[ƒW‚È‚µ + return 0; //砊内でGvじゃないずきはダメヌゞなし else if (g && gc != NULL && g->guild_id == gc->guild_id) - return 0; //Ž©è—̃Mƒ‹ƒh‚̃Gƒ“ƒy‚È‚çƒ_ƒ[ƒW–³‚µ + return 0; //自占領ギルドの゚ンペならダメヌゞ無し else if (g && guild_checkskill (g, GD_APPROVAL) <= 0 && md->class == 1288) - return 0; //³‹KƒMƒ‹ƒh³”F‚ª‚È‚¢‚ƃ_ƒ[ƒW–³‚µ + return 0; //正芏ギルド承認がないずダメヌゞ無し } @@ -4444,7 +4444,7 @@ int mob_gvmobcheck (struct map_session_data *sd, struct block_list *bl) } /*========================================== - * ƒXƒLƒ‹—pƒ^ƒCƒ}[íœ + * スキル甚タむマヌ削陀 *------------------------------------------ */ int mobskill_deltimer (struct mob_data *md) @@ -4463,7 +4463,7 @@ int mobskill_deltimer (struct mob_data *md) } // -// ‰Šú‰» +// 初期化 // /*========================================== * Since un-setting [ mob ] up was used, it is an initial provisional value setup. @@ -4742,7 +4742,7 @@ static int mob_readdb_mobavail (void) class = atoi (str[0]); - if (class <= 1000 || class > 2000) // ’l‚ªˆÙí‚Ȃ珈—‚µ‚È‚¢B + if (class <= 1000 || class > 2000) // 倀が異垞なら凊理しない。 continue; k = atoi (str[1]); if (k >= 0) @@ -4792,7 +4792,7 @@ static int mob_read_randommonster (void) for (i = 0; i < MAX_RANDOMMONSTER; i++) { - mob_db[0].summonper[i] = 1002; // Ý’肵–Y‚ê‚œê‡‚̓|ƒŠƒ“‚ªo‚é‚æ‚€‚É‚µ‚Ä‚š‚­ + mob_db[0].summonper[i] = 1002; // 蚭定し忘れた堎合はポリンが出るようにしおおく fp = fopen_ (mobfile[i], "r"); if (fp == NULL) { diff --git a/src/map/mob.h b/src/map/mob.h index ec0352e..2463283 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -85,12 +85,12 @@ enum enum { - MSS_IDLE, // ‘Ò‹@ - MSS_WALK, // ˆÚ“® - MSS_ATTACK, // UŒ‚ - MSS_DEAD, // Ž€–S - MSS_LOOT, // ƒ‹[ƒg - MSS_CHASE, // “ËŒ‚ + MSS_IDLE, // 埅機 + MSS_WALK, // 移動 + MSS_ATTACK, // 攻撃 + MSS_DEAD, // 死亡 + MSS_LOOT, // ルヌト + MSS_CHASE, // 突撃 }; int mobdb_searchname (const char *str); diff --git a/src/map/party.c b/src/map/party.c index 3277edf..f87d390 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -21,13 +21,13 @@ #include "memwatch.h" #endif -#define PARTY_SEND_XYHP_INVERVAL 1000 // À•W‚â‚g‚o‘—M‚ÌŠÔŠu +#define PARTY_SEND_XYHP_INVERVAL 1000 // 座暙や送信の間隔 static struct dbt *party_db; int party_send_xyhp_timer (int tid, unsigned int tick, int id, int data); /*========================================== - * I—¹ + * 終了 *------------------------------------------ */ static int party_db_final (void *key, void *data, va_list ap) @@ -42,7 +42,7 @@ void do_final_party (void) numdb_final (party_db, party_db_final); } -// ‰Šú‰» +// 初期化 void do_init_party (void) { party_db = numdb_init (); @@ -52,7 +52,7 @@ void do_init_party (void) PARTY_SEND_XYHP_INVERVAL); } -// ŒŸõ +// 怜玢 struct party *party_search (int party_id) { return numdb_search (party_db, party_id); @@ -69,7 +69,7 @@ int party_searchname_sub (void *key, void *data, va_list ap) return 0; } -// ƒp[ƒeƒB–ŒŒŸõ +// パヌティ名怜玢 struct party *party_searchname (char *str) { struct party *p = NULL; @@ -135,13 +135,13 @@ int party_created (int account_id, int fail, int party_id, char *name) return 0; } -// î•ñ—v‹ +// 情報芁求 int party_request_info (int party_id) { return intif_request_partyinfo (party_id); } -// Š‘®ƒLƒƒƒ‰‚ÌŠm”F +// 所属キャラの確認 int party_check_member (struct party *p) { int i; @@ -157,13 +157,13 @@ int party_check_member (struct party *p) { int j, f = 1; for (j = 0; j < MAX_PARTY; j++) - { // ƒp[ƒeƒB‚Ƀf[ƒ^‚ª‚ ‚é‚©Šm”F + { // パヌティにデヌタがあるか確認 if (p->member[j].account_id == sd->status.account_id) { if (strcmp (p->member[j].name, sd->status.name) == 0) - f = 0; // ƒf[ƒ^‚ª‚ ‚é + f = 0; // デヌタがある else - p->member[j].sd = NULL; // “¯C•ÊƒLƒƒƒ‰‚Ÿ‚Á‚œ + p->member[j].sd = NULL; // 同垢別キャラだった } } if (f) @@ -179,7 +179,7 @@ int party_check_member (struct party *p) return 0; } -// î•ñŠ“ŸŽž”si‚»‚ÌID‚̃Lƒƒƒ‰‚ð‘S•”–¢Š‘®‚É‚·‚éj +// 情報所埗倱敗そのIDのキャラを党郚未所属にする int party_recv_noinfo (int party_id) { int i; @@ -195,7 +195,7 @@ int party_recv_noinfo (int party_id) return 0; } -// î•ñŠ“Ÿ +// 情報所埗 int party_recv_info (struct party *sp) { struct party *p; @@ -208,13 +208,13 @@ int party_recv_info (struct party *sp) p = (struct party *) aCalloc (1, sizeof (struct party)); numdb_insert (party_db, sp->party_id, p); - // Å‰‚̃[ƒh‚Ȃ̂ц[ƒU[‚̃`ƒFƒbƒN‚ðs‚€ + // 最初のロヌドなのでナヌザヌのチェックを行う party_check_member (sp); } memcpy (p, sp, sizeof (struct party)); for (i = 0; i < MAX_PARTY; i++) - { // sd‚̐ݒè + { // sdの蚭定 struct map_session_data *sd = map_id2sd (p->member[i].account_id); p->member[i].sd = (sd != NULL && sd->status.party_id == p->party_id) ? sd : NULL; @@ -223,7 +223,7 @@ int party_recv_info (struct party *sp) clif_party_info (p, -1); for (i = 0; i < MAX_PARTY; i++) - { // Ý’èî•ñ‚Ì‘—M + { // 蚭定情報の送信 // struct map_session_data *sd = map_id2sd(p->member[i].account_id); struct map_session_data *sd = p->member[i].sd; if (sd != NULL && sd->party_sended == 0) @@ -334,7 +334,7 @@ int party_reply_invite (struct map_session_data *sd, int account_id, int flag) return 0; } -// ƒp[ƒeƒB‚ª’ljÁ‚³‚ê‚œ +// パヌティが远加された int party_member_added (int party_id, int account_id, int flag) { struct map_session_data *sd = map_id2sd (account_id), *sd2; @@ -347,7 +347,7 @@ int party_member_added (int party_id, int account_id, int flag) if (battle_config.error_log) printf ("party: member added error %d is not online\n", account_id); - intif_party_leave (party_id, account_id); // ƒLƒƒƒ‰‘€‚É“o˜^‚Å‚«‚È‚©‚Á‚œ‚œ‚ß’E‘Þ—v‹‚ðo‚· + intif_party_leave (party_id, account_id); // キャラ偎に登録できなかったため脱退芁求を出す } return 0; } @@ -363,20 +363,20 @@ int party_member_added (int party_id, int account_id, int flag) } if (flag == 1) - { // Žž”s + { // 倱敗 if (sd2 != NULL) clif_party_inviteack (sd2, sd->status.name, 0); return 0; } - // ¬Œ÷ + // 成功 sd->party_sended = 0; sd->status.party_id = party_id; if (sd2 != NULL) clif_party_inviteack (sd2, sd->status.name, 2); - // ‚¢‚¿‚š‚€‹£‡Šm”F + // いちおう競合確認 party_check_conflict (sd); party_send_xy_clear (p); @@ -384,7 +384,7 @@ int party_member_added (int party_id, int account_id, int flag) return 0; } -// ƒp[ƒeƒBœ–Œ—v‹ +// パヌティ陀名芁求 int party_removemember (struct map_session_data *sd, int account_id, char *name) { @@ -397,14 +397,14 @@ int party_removemember (struct map_session_data *sd, int account_id, return 0; for (i = 0; i < MAX_PARTY; i++) - { // ƒŠ[ƒ_[‚©‚Ç‚€‚©ƒ`ƒFƒbƒN + { // リヌダヌかどうかチェック if (p->member[i].account_id == sd->status.account_id) if (p->member[i].leader == 0) return 0; } for (i = 0; i < MAX_PARTY; i++) - { // Š‘®‚µ‚Ä‚¢‚é‚©’²‚ׂé + { // 所属しおいるか調べる if (p->member[i].account_id == account_id) { intif_party_leave (p->party_id, account_id); @@ -414,7 +414,7 @@ int party_removemember (struct map_session_data *sd, int account_id, return 0; } -// ƒp[ƒeƒB’E‘Þ—v‹ +// パヌティ脱退芁求 int party_leave (struct map_session_data *sd) { struct party *p; @@ -426,7 +426,7 @@ int party_leave (struct map_session_data *sd) return 0; for (i = 0; i < MAX_PARTY; i++) - { // Š‘®‚µ‚Ä‚¢‚é‚© + { // 所属しおいるか if (p->member[i].account_id == sd->status.account_id) { intif_party_leave (p->party_id, sd->status.account_id); @@ -436,7 +436,7 @@ int party_leave (struct map_session_data *sd) return 0; } -// ƒp[ƒeƒBƒƒ“ƒo‚ª’E‘Þ‚µ‚œ +// パヌティメンバが脱退した int party_member_leaved (int party_id, int account_id, char *name) { struct map_session_data *sd = map_id2sd (account_id); @@ -460,7 +460,7 @@ int party_member_leaved (int party_id, int account_id, char *name) return 0; } -// ƒp[ƒeƒB‰ðŽU’Ê’m +// パヌティ解散通知 int party_broken (int party_id) { struct party *p; @@ -483,7 +483,7 @@ int party_broken (int party_id) return 0; } -// ƒp[ƒeƒB‚̐ݒè•ÏX—v‹ +// パヌティの蚭定倉曎芁求 int party_changeoption (struct map_session_data *sd, int exp, int item) { struct party *p; @@ -498,7 +498,7 @@ int party_changeoption (struct map_session_data *sd, int exp, int item) return 0; } -// ƒp[ƒeƒB‚̐ݒè•ÏX’Ê’m +// パヌティの蚭定倉曎通知 int party_optionchanged (int party_id, int account_id, int exp, int item, int flag) { @@ -515,7 +515,7 @@ int party_optionchanged (int party_id, int account_id, int exp, int item, return 0; } -// ƒp[ƒeƒBƒƒ“ƒo‚̈ړ®’Ê’m +// パヌティメンバの移動通知 int party_recv_movemap (int party_id, int account_id, char *map, int online, int lv) { @@ -548,19 +548,19 @@ int party_recv_movemap (int party_id, int account_id, char *map, int online, } for (i = 0; i < MAX_PARTY; i++) - { // sdÄÝ’è + { // sd再蚭定 struct map_session_data *sd = map_id2sd (p->member[i].account_id); p->member[i].sd = (sd != NULL && sd->status.party_id == p->party_id) ? sd : NULL; } - party_send_xy_clear (p); // À•WÄ’Ê’m—v¿ + party_send_xy_clear (p); // 座暙再通知芁請 clif_party_info (p, -1); return 0; } -// ƒp[ƒeƒBƒƒ“ƒo‚̈ړ® +// パヌティメンバの移動 int party_send_movemap (struct map_session_data *sd) { struct party *p; @@ -571,16 +571,16 @@ int party_send_movemap (struct map_session_data *sd) return 0; intif_party_changemap (sd, 1); - if (sd->party_sended != 0) // ‚à‚€ƒp[ƒeƒBƒf[ƒ^‚Í‘—MÏ‚Ý + if (sd->party_sended != 0) // もうパヌティデヌタは送信枈み return 0; - // ‹£‡Šm”F + // 競合確認 party_check_conflict (sd); - // ‚ ‚é‚È‚çƒp[ƒeƒBî•ñ‘—M + // あるならパヌティ情報送信 if ((p = party_search (sd->status.party_id)) != NULL) { - party_check_member (p); // Š‘®‚ðŠm”F‚·‚é + party_check_member (p); // 所属を確認する if (sd->status.party_id == p->party_id) { clif_party_info (p, sd->fd); @@ -592,7 +592,7 @@ int party_send_movemap (struct map_session_data *sd) return 0; } -// ƒp[ƒeƒBƒƒ“ƒo‚̃ƒOƒAƒEƒg +// パヌティメンバのログアりト int party_send_logout (struct map_session_data *sd) { struct party *p; @@ -602,7 +602,7 @@ int party_send_logout (struct map_session_data *sd) if (sd->status.party_id > 0) intif_party_changemap (sd, 0); - // sd‚ª–³Œø‚É‚È‚é‚̂Ńp[ƒeƒBî•ñ‚©‚çíœ + // sdが無効になるのでパヌティ情報から削陀 if ((p = party_search (sd->status.party_id)) != NULL) { int i; @@ -614,7 +614,7 @@ int party_send_logout (struct map_session_data *sd) return 0; } -// ƒp[ƒeƒBƒƒbƒZ[ƒW‘—M +// パヌティメッセヌゞ送信 int party_send_message (struct map_session_data *sd, char *mes, int len) { if (sd->status.party_id == 0) @@ -624,7 +624,7 @@ int party_send_message (struct map_session_data *sd, char *mes, int len) return 0; } -// ƒp[ƒeƒBƒƒbƒZ[ƒWŽóM +// パヌティメッセヌゞ受信 int party_recv_message (int party_id, int account_id, char *mes, int len) { struct party *p; @@ -634,7 +634,7 @@ int party_recv_message (int party_id, int account_id, char *mes, int len) return 0; } -// ƒp[ƒeƒB‹£‡Šm”F +// パヌティ競合確認 int party_check_conflict (struct map_session_data *sd) { nullpo_retr (0, sd); @@ -644,7 +644,7 @@ int party_check_conflict (struct map_session_data *sd) return 0; } -// ˆÊ’u‚â‚g‚o’Ê’m—p +// 䜍眮や通知甚 int party_send_xyhp_timer_sub (void *key, void *data, va_list ap) { struct party *p = (struct party *) data; @@ -657,14 +657,14 @@ int party_send_xyhp_timer_sub (void *key, void *data, va_list ap) struct map_session_data *sd; if ((sd = p->member[i].sd) != NULL) { - // À•W’Ê’m + // 座暙通知 if (sd->party_x != sd->bl.x || sd->party_y != sd->bl.y) { clif_party_xy (p, sd); sd->party_x = sd->bl.x; sd->party_y = sd->bl.y; } - // ‚g‚o’Ê’m + // 通知 if (sd->party_hp != sd->status.hp) { clif_party_hp (p, sd); @@ -676,14 +676,14 @@ int party_send_xyhp_timer_sub (void *key, void *data, va_list ap) return 0; } -// ˆÊ’u‚â‚g‚o’Ê’m +// 䜍眮や通知 int party_send_xyhp_timer (int tid, unsigned int tick, int id, int data) { numdb_foreach (party_db, party_send_xyhp_timer_sub, tick); return 0; } -// ˆÊ’u’Ê’mƒNƒŠƒA +// 䜍眮通知クリア int party_send_xy_clear (struct party *p) { int i; @@ -703,7 +703,7 @@ int party_send_xy_clear (struct party *p) return 0; } -// HP’Ê’m‚Ì•K—v«ŒŸž—pimap_foreachinmovearea‚©‚çŒÄ‚΂ê‚éj +// HP通知の必芁性怜査甚map_foreachinmoveareaから呌ばれる int party_send_hp_check (struct block_list *bl, va_list ap) { int party_id; @@ -725,7 +725,7 @@ int party_send_hp_check (struct block_list *bl, va_list ap) return 0; } -// ŒoŒ±’lŒö•œ•ª”z +// 経隓倀公平分配 int party_exp_share (struct party *p, int map, int base_exp, int job_exp) { struct map_session_data *sd; @@ -744,9 +744,9 @@ int party_exp_share (struct party *p, int map, int base_exp, int job_exp) return 0; } -// “¯‚¶ƒ}ƒbƒv‚̃p[ƒeƒBƒƒ“ƒo[‘S‘̂ɏˆ—‚ð‚©‚¯‚é -// type==0 “¯‚¶ƒ}ƒbƒv -// !=0 ‰æ–Ê“à +// 同じマップのパヌティメンバヌ党䜓に凊理をかける +// type==0 同じマップ +// !=0 画面内 void party_foreachsamemap (int (*func) (struct block_list *, va_list), struct map_session_data *sd, int type, ...) { @@ -784,13 +784,13 @@ void party_foreachsamemap (int (*func) (struct block_list *, va_list), } } - map_freeblock_lock (); // ƒƒ‚ƒŠ‚©‚ç‚̉ð•ú‚ð‹ÖŽ~‚·‚é + map_freeblock_lock (); // メモリからの解攟を犁止する for (i = 0; i < blockcount; i++) - if (list[i]->prev) // —LŒø‚©‚Ç‚€‚©ƒ`ƒFƒbƒN + if (list[i]->prev) // 有効かどうかチェック func (list[i], ap); - map_freeblock_unlock (); // ‰ð•ú‚ð‹–‰Â‚·‚é + map_freeblock_unlock (); // 解攟を蚱可する va_end (ap); } diff --git a/src/map/path.c b/src/map/path.c index a6e7535..93ce960 100644 --- a/src/map/path.c +++ b/src/map/path.c @@ -22,7 +22,7 @@ struct tmp_path #define calc_index(x,y) (((x)+(y)*MAX_WALKPATH) & (MAX_WALKPATH*MAX_WALKPATH-1)) /*========================================== - * Œo˜H’Tõ•â•heap push + * 経路探玢補助heap push *------------------------------------------ */ static void push_heap_path (int *heap, struct tmp_path *tp, int index) @@ -44,8 +44,8 @@ static void push_heap_path (int *heap, struct tmp_path *tp, int index) } /*========================================== - * Œo˜H’Tõ•â•heap update - * cost‚ªŒž‚Á‚œ‚̂ōª‚Ì•û‚ÖˆÚ“® + * 経路探玢補助heap update + * costが枛ったので根の方ぞ移動 *------------------------------------------ */ static void update_heap_path (int *heap, struct tmp_path *tp, int index) @@ -70,7 +70,7 @@ static void update_heap_path (int *heap, struct tmp_path *tp, int index) } /*========================================== - * Œo˜H’Tõ•â•heap pop + * 経路探玢補助heap pop *------------------------------------------ */ static int pop_heap_path (int *heap, struct tmp_path *tp) @@ -105,7 +105,7 @@ static int pop_heap_path (int *heap, struct tmp_path *tp) } /*========================================== - * Œ»Ý‚Ì“_‚ÌcostŒvŽZ + * 珟圚の点のcost蚈算 *------------------------------------------ */ static int calc_cost (struct tmp_path *p, int x1, int y1) @@ -124,7 +124,7 @@ static int calc_cost (struct tmp_path *p, int x1, int y1) } /*========================================== - * •K—v‚È‚çpath‚ð’ljÁ/C³‚·‚é + * 必芁ならpathを远加/修正する *------------------------------------------ */ static int add_path (int *heap, struct tmp_path *tp, int x, int y, int dist, @@ -170,8 +170,8 @@ static int add_path (int *heap, struct tmp_path *tp, int x, int y, int dist, } /*========================================== - * (x,y)‚ªˆÚ“®•s‰Â”\’n‘Ñ‚©‚Ç‚€‚© - * flag 0x10000 ‰“‹——£UŒ‚”»’è + * (x,y)が移動䞍可胜地垯かどうか + * flag 0x10000 遠距離攻撃刀定 *------------------------------------------ */ static int can_place (struct map_data *m, int x, int y, int flag) @@ -190,7 +190,7 @@ static int can_place (struct map_data *m, int x, int y, int flag) } /*========================================== - * (x0,y0)‚©‚ç(x1,y1)‚Ö1•à‚ňړ®‰Â”\‚©ŒvŽZ + * (x0,y0)から(x1,y1)ぞ1歩で移動可胜か蚈算 *------------------------------------------ */ static int can_move (struct map_data *m, int x0, int y0, int x1, int y1, @@ -214,8 +214,8 @@ static int can_move (struct map_data *m, int x0, int y0, int x1, int y1, } /*========================================== - * (x0,y0)‚©‚ç(dx,dy)•ûŒü‚ÖcountƒZƒ‹•ª - * ‚«”ò‚΂µ‚œ‚ ‚Ƃ̍À•W‚ðŠ“Ÿ + * (x0,y0)から(dx,dy)方向ぞcountセル分 + * 吹き飛ばしたあずの座暙を所埗 *------------------------------------------ */ int path_blownpos (int m, int x0, int y0, int dx, int dy, int count) @@ -227,7 +227,7 @@ int path_blownpos (int m, int x0, int y0, int dx, int dy, int count) md = &map[m]; if (count > 15) - { // Å‘å10ƒ}ƒX‚ɐ§ŒÀ + { // 最倧10マスに制限 if (battle_config.error_log) printf ("path_blownpos: count too many %d !\n", count); count = 15; @@ -265,7 +265,7 @@ int path_blownpos (int m, int x0, int y0, int dx, int dy, int count) } /*========================================== - * path’Tõ (x0,y0)->(x1,y1) + * path探玢 (x0,y0)->(x1,y1) *------------------------------------------ */ int path_search (struct walkpath_data *wpd, int m, int x0, int y0, int x1, @@ -408,7 +408,7 @@ char gat[64][64] = { struct map_data map[1]; /*========================================== - * Œo˜H’Tõƒ‹[ƒ`ƒ“’P‘̃eƒXƒg—pmainŠÖ” + * 経路探玢ルヌチン単䜓テスト甚main関数 *------------------------------------------ */ void main (int argc, char *argv[]) diff --git a/src/map/pc.h b/src/map/pc.h index ec5afb9..20ae26e 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -182,12 +182,12 @@ void pc_cleanup (struct map_session_data *sd); // [Fate] Clean up after a logge struct pc_base_job { - int job; //E‹ÆA‚œ‚Ÿ‚µ“]¶E‚â—{ŽqE‚̏ꍇ‚ÍŒ³‚̐E‹Æ‚ð•Ô‚·(”pƒvƒŠšƒvƒŠ) - int type; //ƒmƒr 0, ˆêŽŸE 1, “ñŽŸE 2, ƒXƒpƒmƒr 3 - int upper; //’ʏí 0, “]¶ 1, —{Žq 2 + int job; //職業、ただし転生職や逊子職の堎合は元の職業を返す(廃プリ→プリ) + int type; //ノビ 0, 䞀次職 1, 二次職 2, スパノビ 3 + int upper; //通垞 0, 転生 1, 逊子 2 }; -struct pc_base_job pc_calc_base_job (int b_class); //“]¶‚â—{ŽqE‚ÌŒ³‚̐E‹Æ‚ð•Ô‚· +struct pc_base_job pc_calc_base_job (int b_class); //転生や逊子職の元の職業を返す int pc_read_gm_account (int fd); int pc_setinvincibletimer (struct map_session_data *sd, int); diff --git a/src/map/skill.h b/src/map/skill.h index 2361f87..08f2e18 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -14,7 +14,7 @@ #define SKILL_POOL_ACTIVE 0x2 // is an active pool skill #define SKILL_POOL_ACTIVATED 0x4 // pool skill has been activated (used for clif) -// ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX +// スキルデヌタベヌス struct skill_db { int range[MAX_SKILL_LEVEL], hit, inf, pl, nk, max, stat, poolflags, max_raise; // `max' is the global max, `max_raise' is the maximum attainable via skill-ups @@ -48,7 +48,7 @@ struct skill_unit_group; int do_init_skill (void); -// ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ւ̃AƒNƒZƒT +// スキルデヌタベヌスぞのアクセサ int skill_get_hit (int id); int skill_get_inf (int id); int skill_get_pl (int id); @@ -72,7 +72,7 @@ int skill_get_inf2 (int id); int skill_get_maxcount (int id); int skill_get_blewcount (int id, int lv); -// ƒXƒLƒ‹‚ÌŽg—p +// スキルの䜿甚 int skill_use_id (struct map_session_data *sd, int target_id, int skill_num, int skill_lv); int skill_use_pos (struct map_session_data *sd, @@ -86,12 +86,12 @@ int skill_addtimerskill (struct block_list *src, unsigned int tick, int target, int x, int y, int skill_id, int skill_lv, int type, int flag); -// ’ljÁŒø‰Ê +// 远加効果 int skill_additional_effect (struct block_list *src, struct block_list *bl, int skillid, int skilllv, int attack_type, unsigned int tick); -// ƒ†ƒjƒbƒgƒXƒLƒ‹ +// ナニットスキル struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y); int skill_delunit (struct skill_unit *unit); @@ -123,7 +123,7 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, struct skill_unit_group *skill_check_dancing (struct block_list *src); void skill_stop_dancing (struct block_list *src, int flag); -// ‰r¥ƒLƒƒƒ“ƒZƒ‹ +// 詠唱キャンセル int skill_castcancel (struct block_list *bl, int type); int skill_gangsterparadise (struct map_session_data *sd, int type); @@ -138,11 +138,11 @@ void skill_devotion_end (struct map_session_data *md, #define skill_calc_heal(bl,skill_lv) (( battle_get_lv(bl)+battle_get_int(bl) )/8 *(4+ skill_lv*8)) -// ‚»‚Ì‘Œ +// その他 int skill_check_cloaking (struct block_list *bl); int skill_is_danceskill (int id); -// ƒXƒe[ƒ^ƒXˆÙí +// ステヌタス異垞 int skill_status_effect (struct block_list *bl, int type, int val1, int val2, int val3, int val4, int tick, int flag, int spell_invocation); @@ -155,7 +155,7 @@ int skill_encchant_eremental_end (struct block_list *bl, int type); int skill_status_change_end (struct block_list *bl, int type, int tid); int skill_status_change_clear (struct block_list *bl, int type); -// mobƒXƒLƒ‹‚Ì‚œ‚ß +// mobスキルのため int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, int skillid, int skilllv, unsigned int tick, int flag); @@ -165,7 +165,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int skilllv, unsigned int tick, int flag); -// ƒXƒLƒ‹UŒ‚ˆêŠ‡ˆ— +// スキル攻撃䞀括凊理 int skill_attack (int attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, int skillid, int skilllv, unsigned int tick, int flag); @@ -182,7 +182,7 @@ enum }; enum -{ // struct map_session_data ‚Ì status_change‚̔ԍ†ƒe[ƒuƒ‹ +{ // struct map_session_data の status_changeの番号テヌブル SC_SENDMAX = 256, SC_PROVOKE = 0, SC_ENDURE = 1, diff --git a/src/map/storage.c b/src/map/storage.c index 9a3f366..84dedb3 100644 --- a/src/map/storage.c +++ b/src/map/storage.c @@ -23,7 +23,7 @@ static struct dbt *storage_db; static struct dbt *guild_storage_db; /*========================================== - * ‘qŒÉ“àƒAƒCƒeƒ€ƒ\[ƒg + * 倉庫内アむテム゜ヌト *------------------------------------------ */ int storage_comp_item (const void *_i1, const void *_i2) @@ -69,10 +69,10 @@ void sortage_gsortitem (struct guild_storage *gstor) } /*========================================== - * ‰Šú‰»‚Æ‚© + * 初期化ずか *------------------------------------------ */ -int do_init_storage (void) // map.c::do_init()‚©‚çŒÄ‚΂ê‚é +int do_init_storage (void) // map.c::do_init()から呌ばれる { storage_db = numdb_init (); guild_storage_db = numdb_init (); @@ -144,7 +144,7 @@ int storage_delete (int account_id) } /*========================================== - * ƒJƒvƒ‰‘qŒÉ‚ðŠJ‚­ + * カプラ倉庫を開く *------------------------------------------ */ int storage_storageopen (struct map_session_data *sd) diff --git a/src/map/trade.c b/src/map/trade.c index 40a762b..664d2fa 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -12,7 +12,7 @@ #include "nullpo.h" /*========================================== - * Žæˆø—v¿‚ð‘ŠŽè‚É‘—‚é + * 取匕芁請を盞手に送る *------------------------------------------ */ void trade_traderequest (struct map_session_data *sd, int target_id) @@ -27,7 +27,7 @@ void trade_traderequest (struct map_session_data *sd, int target_id) { if (target_sd->guild_invite > 0 || target_sd->party_invite > 0) { - clif_tradestart (sd, 2); // ‘ŠŽè‚ÍPT—v¿’†‚©Guild—v¿’† + clif_tradestart (sd, 2); // 盞手はPT芁請䞭かGuild芁請䞭 return; } } @@ -66,7 +66,7 @@ void trade_traderequest (struct map_session_data *sd, int target_id) } /*========================================== - * Žæˆø—v¿ + * 取匕芁請 *------------------------------------------ */ void trade_tradeack (struct map_session_data *sd, int type) @@ -99,7 +99,7 @@ void trade_tradeack (struct map_session_data *sd, int type) } /*========================================== - * ƒAƒCƒeƒ€’ljÁ + * アむテム远加 *------------------------------------------ */ void trade_tradeadditem (struct map_session_data *sd, int index, int amount) @@ -222,7 +222,7 @@ void trade_tradeadditem (struct map_session_data *sd, int index, int amount) } /*========================================== - * ƒAƒCƒeƒ€’ljÁŠ®—¹(ok‰Ÿ‚µ) + * アむテム远加完了(ok抌し) *------------------------------------------ */ void trade_tradeok (struct map_session_data *sd) @@ -254,7 +254,7 @@ void trade_tradeok (struct map_session_data *sd) } /*========================================== - * ŽæˆøƒLƒƒƒ“ƒZƒ‹ + * 取匕キャンセル *------------------------------------------ */ void trade_tradecancel (struct map_session_data *sd) @@ -306,7 +306,7 @@ void trade_tradecancel (struct map_session_data *sd) #define MAP_LOG_PC(sd, fmt, args...) MAP_LOG("PC%d %d:%d,%d " fmt, sd->status.char_id, sd->bl.m, sd->bl.x, sd->bl.y, ## args) /*========================================== - * Žæˆø‹–‘ø(trade‰Ÿ‚µ) + * 取匕蚱諟(trade抌し) *------------------------------------------ */ void trade_tradecommit (struct map_session_data *sd) -- cgit v1.2.3-70-g09d2