diff options
-rw-r--r-- | doc/Changelog.txt | 2 | ||||
-rw-r--r-- | doc/Readme-jap | 20280 | ||||
-rw-r--r-- | doc/coredump_report.txt | 116 | ||||
-rw-r--r-- | src/char_sql/char.c | 2 | ||||
-rw-r--r-- | src/login/login.c | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 30 | ||||
-rw-r--r-- | src/map/skill.c | 2842 |
7 files changed, 11637 insertions, 11637 deletions
diff --git a/doc/Changelog.txt b/doc/Changelog.txt index bc4d7df..474abbb 100644 --- a/doc/Changelog.txt +++ b/doc/Changelog.txt @@ -393,7 +393,7 @@ Date Added * Added Items Ability to be unbreakable (using bonus bUnbreakable,100;) it will totally unbreakable any lower than a 100 it still has a chance of breaking but call it more durable ;p[AppleGirl] * Added Start_Weapon and Start_Armor to all the other starts in char_athena.conf [AppleGirl] - * Updated skill_require_db and skill_cast_db.txt [AppleGirl] + * Updated skill_require_db and skill_cast_db.txt [AppleGirl] * Finish to add a (reserved) wisp name for server - part 3: in map-server replace name where server name is used for wisp [Yor] * Continue to add a (reserved) wisp name for server - part 2: in map-server, reception of the name [Yor] * Begin to add a (reserved) wisp name for server - part 1: in char-server [Yor] diff --git a/doc/Readme-jap b/doc/Readme-jap index 6bf23c8..ce744a9 100644 --- a/doc/Readme-jap +++ b/doc/Readme-jap @@ -1,267 +1,267 @@ -------------------- -//1032 by (“Ê) -E1031‚ʼn½ŒÌ‚©íœ‚³‚ê‚Ä‚¢‚½buildin_getitemname()‚𕜊ˆ -EƒoƒOƒXƒŒ‚È‚Ç‚Éo‚½C³‚𔽉f -E‚»‚Ì‘¼×‚©‚¢C³ +//1032 by (凸) +・1031ã§ä½•æ•…ã‹å‰Šé™¤ã•ã‚Œã¦ã„ãŸbuildin_getitemname()を復活 +・ãƒã‚°ã‚¹ãƒ¬ãªã©ã«å‡ºãŸä¿®æ£ã‚’åæ˜ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ (map/) clif.c - clif_disp_onlyself() NULLƒ`ƒFƒbƒN’ljÁ + clif_disp_onlyself() NULLãƒã‚§ãƒƒã‚¯è¿½åŠ map.c - map_nick2sd() nick‚ªNULL‚¾‚Æ‚·‚®NULL‚ð•Ô‚·‚悤‚É•ÏX + map_nick2sd() nickãŒNULLã ã¨ã™ãNULLã‚’è¿”ã™ã‚ˆã†ã«å¤‰æ›´ mob.c - mob_setdelayspawn() NULLƒ`ƒFƒbƒN•ÏX - mob_delete() C³ + mob_setdelayspawn() NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + mob_delete() ä¿®æ£ npc.c - npc_parse_warp() C³ + npc_parse_warp() ä¿®æ£ script.c - buildin_getitemname() •œŠˆ + buildin_getitemname() 復活 ---------------------------------------- //1031 by huge -ENPC‚Ìscript‚ÉAmakepet‚ð’ljÁB - makepet —‘ID; ‚ÅAƒyƒbƒg‚ð쬂µ‚Ü‚·B -ENPC‚Ìscript‚ÉAgetexp‚ð’ljÁB - getexp Base,Job; ‚ÅA‚»‚ꂼ‚ê‚ÌŒoŒ±’l‚ð‘‚₵‚Ü‚·B -Eƒyƒbƒg‚Ì—‘‚ðNPC‚Ìdelitem‚ÅÁ‚µ‚½‚èshop‚Å”„‚Á‚½ŽžAƒyƒbƒgƒZ[ƒuƒf[ƒ^‚©‚ç휂·‚é‚悤C³B -EƒfƒBƒ{[ƒVƒ‡ƒ“¬Œ÷ðŒC³B(–¢Šm”F) -EŒoŒ±’l•\Ž¦‚ð‰Â”\‚É‚µ‚Ä‚Ý‚Ü‚µ‚½Bconf‚É‚Äݒ肵‚Ä‚‚¾‚³‚¢B +・NPCã®scriptã«ã€makepetã‚’è¿½åŠ ã€‚ + makepet åµID; ã§ã€ãƒšãƒƒãƒˆã‚’作æˆã—ã¾ã™ã€‚ +・NPCã®scriptã«ã€getexpã‚’è¿½åŠ ã€‚ + getexp Base,Job; ã§ã€ãã‚Œãžã‚Œã®çµŒé¨“値を増やã—ã¾ã™ã€‚ +・ペットã®åµã‚’NPCã®delitemã§æ¶ˆã—ãŸã‚Šshopã§å£²ã£ãŸæ™‚ã€ãƒšãƒƒãƒˆã‚»ãƒ¼ãƒ–データã‹ã‚‰å‰Šé™¤ã™ã‚‹ã‚ˆã†ä¿®æ£ã€‚ +・ディボーションæˆåŠŸæ¡ä»¶ä¿®æ£ã€‚(未確èª) +・経験値表示をå¯èƒ½ã«ã—ã¦ã¿ã¾ã—ãŸã€‚confã«ã¦è¨å®šã—ã¦ãã ã•ã„。 (conf/) - battle_athena.conf C³ + battle_athena.conf ä¿®æ£ (doc/) - conf_ref.txt C³ - script_ref.txt C³ + conf_ref.txt ä¿®æ£ + script_ref.txt ä¿®æ£ (map/) battle.c battle.h - disp_experience ’ljÁ + disp_experience è¿½åŠ clif.c clif.h - clif_disp_onlyself() ’ljÁ + clif_disp_onlyself() è¿½åŠ pc.c - pc_gainexp() C³ + pc_gainexp() ä¿®æ£ script.c - buildin_delitem() C³ - buildin_makepet() ’ljÁ - buildin_getexp() ’ljÁ + buildin_delitem() ä¿®æ£ + buildin_makepet() è¿½åŠ + buildin_getexp() è¿½åŠ npc.c - #include C³ - npc_selllist() C³ + #include ä¿®æ£ + npc_selllist() ä¿®æ£ skill.c - skill_castend_nodamage_id() C³ + skill_castend_nodamage_id() ä¿®æ£ -------------------- -//1030 by (“Ê) -Emap_athena.conf‚ÉV¥“‡ƒUƒƒC‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚ĒljÁ -EƒNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚¦‚½ƒXƒLƒ‹‚ðŽ©“®ƒZ[ƒu‚²‚Æ‚É–Y‚ê‚Ä‚¢‚½‚Ì‚Å‚Æ‚è‚ ‚¦‚¸ƒƒOƒIƒtŽž‚É‚Ì‚Ý–Y‚ê‚é‚悤‚É•ÏX‚µ‚½‚‚à‚è -Emobskill_castend_pos‚Ì–³ŠQnullpoƒ`ƒFƒbƒN‚ð•ÏX -EEmotion‚Ìݒ肪‚È‚¢Mob‚ªƒXƒLƒ‹‚ðŽg—p‚·‚é‚Æ‚«‚É/!‚ðo‚µ‚Ä‚¢‚½‚Ì‚ðC³ -EƒoƒOƒXƒŒ‚É“Š‚°‚½trade.c‚ð“Y•tB‚Æ‚è‚ ‚¦‚¸‘ŠŽè‚ªŠŽ‚Å‚«‚éŽí—Þ‚ÌŒÀŠE‚ð’´‚¦‚½ê‡‚Í“n‚³‚¸‚ÉŒ³‚É–ß‚·‚悤‚É•ÏX +//1030 by (凸) +・map_athena.confã«æ–°å©šå³¶ã‚¶ãƒ¯ã‚¤ã‚’コメントアウトã—ã¦è¿½åŠ +・クãƒãƒ¼ãƒ³ã‚¹ã‚ルã§è¦šãˆãŸã‚¹ã‚ルを自動セーブã”ã¨ã«å¿˜ã‚Œã¦ã„ãŸã®ã§ã¨ã‚Šã‚ãˆãšãƒã‚°ã‚ªãƒ•æ™‚ã«ã®ã¿å¿˜ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ãŸã¤ã‚‚ã‚Š +・mobskill_castend_posã®ç„¡å®³nullpoãƒã‚§ãƒƒã‚¯ã‚’変更 +・Emotionã®è¨å®šãŒãªã„MobãŒã‚¹ã‚ルを使用ã™ã‚‹ã¨ãã«/!を出ã—ã¦ã„ãŸã®ã‚’ä¿®æ£ +・ãƒã‚°ã‚¹ãƒ¬ã«æŠ•ã’ãŸtrade.cを添付。ã¨ã‚Šã‚ãˆãšç›¸æ‰‹ãŒæ‰€æŒã§ãる種類ã®é™ç•Œã‚’超ãˆãŸå ´åˆã¯æ¸¡ã•ãšã«å…ƒã«æˆ»ã™ã‚ˆã†ã«å¤‰æ›´ (conf/) - map_athena.conf ƒUƒƒC’ljÁ + map_athena.conf ã‚¶ãƒ¯ã‚¤è¿½åŠ (doc/) - client_packet.txt ƒpƒPƒbƒg’·‚ÌXV + client_packet.txt パケット長ã®æ›´æ–° (map/) map.c - map_quit() I—¹Žž‚ɃNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚¦‚½ƒXƒLƒ‹‚ð–Y‚ê‚é‚悤‚É•ÏX + map_quit() 終了時ã«ã‚¯ãƒãƒ¼ãƒ³ã‚¹ã‚ルã§è¦šãˆãŸã‚¹ã‚ルを忘れるよã†ã«å¤‰æ›´ mob.c - mobskill_castend_pos() nullpoƒ`ƒFƒbƒN•ÏX - mob_readskilldb() C³ + mobskill_castend_pos() nullpoãƒã‚§ãƒƒã‚¯å¤‰æ›´ + mob_readskilldb() ä¿®æ£ pc.c - pc_makesavestatus() ƒNƒ[ƒ“ƒXƒLƒ‹‚ð–Y‚ê‚é‚Ì‚ðmap_quit‚É”C‚¹‚½ + pc_makesavestatus() クãƒãƒ¼ãƒ³ã‚¹ã‚ルを忘れるã®ã‚’map_quitã«ä»»ã›ãŸ trade.c - trade_tradecommit() ŠŽ‚Å‚«‚éŽí—ÞˆÈã‚ðŽæˆø‚µ‚½ê‡‚ɃAƒCƒeƒ€‚ªÁ‚¦‚È‚¢‚悤‚É + trade_tradecommit() 所æŒã§ãる種類以上をå–引ã—ãŸå ´åˆã«ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¶ˆãˆãªã„よã†ã« -------------------- -//1029 by (“Ê) -E20040619RagexeHC_jp.rgz‚Ì0x204‚Æ0x20bƒpƒPƒbƒg‚ɑΉž -Echar‚Ælogin‚à’m‚ç‚È‚¢ƒpƒPƒbƒg‚ª—ˆ‚½‚çƒpƒPƒbƒgƒ_ƒ“ƒv‚ðo—Í‚·‚é‚悤‚Éclif.c‚©‚çƒRƒsƒy +//1029 by (凸) +・20040619RagexeHC_jp.rgzã®0x204ã¨0x20bパケットã«å¯¾å¿œ +・charã¨loginも知らãªã„パケットãŒæ¥ãŸã‚‰ãƒ‘ケットダンプを出力ã™ã‚‹ã‚ˆã†ã«clif.cã‹ã‚‰ã‚³ãƒ”ペ (doc/) - client_packet.txt VƒpƒPƒbƒg’ljÁ + client_packet.txt æ–°ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ (char/) char.c - parse_char() 0x20b‘Ήž + parse_char() 0x20b対応 (login/) login.c - parse_login() 0x204‘Ήž + parse_login() 0x204対応 -------------------- -//1028 by (“Ê) -EƒEƒ“ƒoƒ‰ˆÈ~AMob‚ªƒXƒLƒ‹‚ðŽg—p‚·‚é‚Æ‚«‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚悤‚É‚È‚Á‚½‚Ì‚ÅAmob_skill_db‚ðŠg’£ - ƒTƒ“ƒvƒ‹‚ŃI[ƒNƒEƒH[ƒŠƒA[‚ª‹i‰Œ‚·‚é‚Æu/cv‚ðo‚·‚̂ƃI[ƒNƒŒƒfƒB‚ª‘¬“x‚ðŽg‚¤‚Æu/‚¿‚ãv‚ðo‚µ‚Ü‚· -EƒAƒCƒeƒ€682,683‚ðŽg—p‚·‚é‚Æ30•bŠÔATK‚âMATK‚ª‘‚¦‚é‚炵‚¢‚Ì‚Å‚»‚ê‚Á‚Û‚ -Ejob_db2.txt‚É“ä‚Ìs‚ª2s‚ ‚Á‚½‚Ì‚ðíœ -E”͈͖‚–@‚ȂǂŃXƒLƒ‹ƒ†ƒjƒbƒg‘ŠŽè‚ɃXƒe[ƒ^ƒX•ÏX‚ð‚©‚¯‚悤‚Æ‚µ‚½ê‡‚Énullpo‚ªo‚½‚Ì‚ðC³ +//1028 by (凸) +・ウンãƒãƒ©ä»¥é™ã€MobãŒã‚¹ã‚ルを使用ã™ã‚‹ã¨ãã«ã‚¨ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã‚’出ã™ã‚ˆã†ã«ãªã£ãŸã®ã§ã€mob_skill_dbã‚’æ‹¡å¼µ + サンプルã§ã‚ªãƒ¼ã‚¯ã‚¦ã‚©ãƒ¼ãƒªã‚¢ãƒ¼ãŒå–«ç…™ã™ã‚‹ã¨ã€Œ/…ã€ã‚’出ã™ã®ã¨ã‚ªãƒ¼ã‚¯ãƒ¬ãƒ‡ã‚£ãŒé€Ÿåº¦ã‚’使ã†ã¨ã€Œ/ã¡ã‚…ã€ã‚’出ã—ã¾ã™ +・アイテム682,683を使用ã™ã‚‹ã¨30秒間ATKã‚„MATKãŒå¢—ãˆã‚‹ã‚‰ã—ã„ã®ã§ãã‚Œã£ã½ã +・job_db2.txtã«è¬Žã®è¡ŒãŒ2è¡Œã‚ã£ãŸã®ã‚’削除 +・範囲é”法ãªã©ã§ã‚¹ã‚ルユニット相手ã«ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰æ›´ã‚’ã‹ã‘よã†ã¨ã—ãŸå ´åˆã«nullpoãŒå‡ºãŸã®ã‚’ä¿®æ£ (db/) - const.txt SC_INCATK SC_INCMATK’ljÁ - item_db.txt ª‚ð682,683‚ɒljÁ - job_db2.txt “ä‚Ì2s‚ðíœ - mob_skill_db.txt Emotion’ljÁ + const.txt SC_INCATK SC_INCMATKè¿½åŠ + item_db.txt ↑を682,683ã«è¿½åŠ + job_db2.txt 謎ã®2行を削除 + mob_skill_db.txt Emotionè¿½åŠ (map/) mob.c - mobskill_use() ƒXƒLƒ‹Žg—pŽž‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚悤‚É•ÏX - mob_readskilldb() Emotion‚ð“Ç‚Ýž‚ނ悤‚É•ÏX - mob.h •ÏX + mobskill_use() スã‚ル使用時ã«ã‚¨ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã‚’出ã™ã‚ˆã†ã«å¤‰æ›´ + mob_readskilldb() Emotionã‚’èªã¿è¾¼ã‚€ã‚ˆã†ã«å¤‰æ›´ + mob.h 変更 pc.c - pc_calcstatus() •ÏX + pc_calcstatus() 変更 skill.c - skill_status_change_end() •ÏX - skill_status_change_start() •ÏX‚ÆNULLƒ`ƒFƒbƒNC³ - skill.h •ÏX + skill_status_change_end() 変更 + skill_status_change_start() 変更ã¨NULLãƒã‚§ãƒƒã‚¯ä¿®æ£ + skill.h 変更 -------------------- //1027 by Ni+S -EgetitemnameŠÖ”’ljÁ -EƒXƒNƒŠƒvƒg‚ÉgetitemnameŠÖ”‚ð’ljÁ -Eitemid‚æ‚èAjname‚𕶎š—ñ‚Å•Ô‚µ‚Ü‚· -EÚ‚µ‚‚Íscript_ref.txt‚ÅB +・getitemnameé–¢æ•°è¿½åŠ +・スクリプトã«getitemnameé–¢æ•°ã‚’è¿½åŠ +・itemidよりã€jnameã‚’æ–‡å—列ã§è¿”ã—ã¾ã™ +・詳ã—ãã¯script_ref.txtã§ã€‚ script.c - getitemname()’ljÁ + getitemname()è¿½åŠ ---------------------------------------- -//1026 by (“Ê) -E1023‚Å“ü‚ê‚Ä‚È‚©‚Á‚½clif.h‚𓯫 -EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒA[ƒ}ƒCƒ“‚Åo‚µ‚½mob‚ð“|‚·‚Æmob_timer_delete()‚Ånullpo‚ªo‚é–â‘è‚ð‰ðŒˆ‚µ‚½‚‚à‚è -EƒoƒO•ñƒXƒŒƒbƒh part6 >>63 Dest‚³‚ñ‚Ìscript.cC³‚ðŽæ‚èž‚Ý +//1026 by (凸) +・1023ã§å…¥ã‚Œã¦ãªã‹ã£ãŸclif.hã‚’åŒæ¢± +・ãƒã‚¤ã‚ªãƒ—ラントã¨ã‚¹ãƒ•ã‚£ã‚¢ãƒ¼ãƒžã‚¤ãƒ³ã§å‡ºã—ãŸmobを倒ã™ã¨mob_timer_delete()ã§nullpoãŒå‡ºã‚‹å•é¡Œã‚’解決ã—ãŸã¤ã‚‚ã‚Š +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part6 >>63 Destã•ã‚“ã®script.cä¿®æ£ã‚’å–り込㿠(map/) - clif.h •ÏX - map.h •ÏX + clif.h 変更 + map.h 変更 mob.c - mob_changestate() •ÏX + mob_changestate() 変更 skill.c - skill_castend_pos2() •ÏX - mob_spawn() •ÏX - do_init_mob() add_timer_func_list‚Émob_timer_delete‚ª–³‚©‚Á‚½‚̂ŒljÁ‚µ‚Ä‚Ý‚½ + skill_castend_pos2() 変更 + mob_spawn() 変更 + do_init_mob() add_timer_func_listã«mob_timer_deleteãŒç„¡ã‹ã£ãŸã®ã§è¿½åŠ ã—ã¦ã¿ãŸ script.c - script_load_mapreg() •ÏX + script_load_mapreg() 変更 ------------------------ //1025 by Sel -Eƒ[ƒhƒiƒCƒg‚̃Wƒ‡ƒu•â³‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ -EƒI[ƒ‰ƒuƒŒ[ƒhŒø‰ÊŽžŠÔ‚ðC³ -EƒI[ƒ‰ƒuƒŒ[ƒh•Ší§ŒÀ‚ð‘fŽèˆÈŠO‘S‚Ä‚ÉC³ -EƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“•Ší§ŒÀ‚𗼎葄‚Ì‚Ý‚©‚ç•ÐŽè‘„+—¼Žè‘„‚ÖC³ -EƒgƒDƒ‹[ƒTƒCƒgŒø‰ÊŽžŠÔ‚ðC³ -Eƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg•Ší§ŒÀ‚ð‰ðœA‘fŽè‚ðŠÜ‚ß‚½‘S‚Ä‚ÅŽg—p‰Â”\‚É +・ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆã®ã‚¸ãƒ§ãƒ–補æ£ãŒé–“é•ã£ã¦ã„ãŸã®ã‚’ä¿®æ£ +ãƒ»ã‚ªãƒ¼ãƒ©ãƒ–ãƒ¬ãƒ¼ãƒ‰åŠ¹æžœæ™‚é–“ã‚’ä¿®æ£ +・オーラブレードæ¦å™¨åˆ¶é™ã‚’ç´ æ‰‹ä»¥å¤–å…¨ã¦ã«ä¿®æ£ +・コンセントレーションæ¦å™¨åˆ¶é™ã‚’両手æ§ã®ã¿ã‹ã‚‰ç‰‡æ‰‹æ§+両手æ§ã¸ä¿®æ£ +ãƒ»ãƒˆã‚¥ãƒ«ãƒ¼ã‚µã‚¤ãƒˆåŠ¹æžœæ™‚é–“ã‚’ä¿®æ£ +・ファルコンアサルトæ¦å™¨åˆ¶é™ã‚’解除ã€ç´ 手をå«ã‚ãŸå…¨ã¦ã§ä½¿ç”¨å¯èƒ½ã« (db/) - job_db2-2.txt •ÏX - skill_cast_db.txt •ÏX - skill_require_db.txt •ÏX + job_db2-2.txt 変更 + skill_cast_db.txt 変更 + skill_require_db.txt 変更 -------------------- //1024 by mare -Eƒtƒ@[ƒ}ƒV[Þ—¿‚Ì•ÏXA»‘¢‰Â”\–ò•i‚̒ljÁ - 6/8“ú–{ŽI‚É‚«‚½‚à‚Ì‚Æ“¯‚¶‚É‚µ‚Ü‚µ‚½ +・ファーマシーææ–™ã®å¤‰æ›´ã€è£½é€ å¯èƒ½è–¬å“ã®è¿½åŠ + 6/8日本鯖ã«ããŸã‚‚ã®ã¨åŒã˜ã«ã—ã¾ã—㟠(db/) - produce_db.txt •ÏX + produce_db.txt 変更 ---------------------------------------- -//1023 by (“Ê) -E1022‚ŃGƒ“ƒoƒO‚µ‚½npc_parse_script()‚ð–ß‚µ -EƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX‚Ìd—ʒljÁƒ_ƒ[ƒWŒvŽZŽ®‚ð‚¿‚å‚Á‚Æ•ÏX -E–‚–@—Í‘•‚ÌŒvŽZŽ®‚ð‚¿‚å‚Á‚Æ•ÏX -Eƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ªÀ‚Á‚ÄŽg‚¤‚Ì‚Å‚Í‚È‚Žg‚¤‚ÆÀ‚é‚Æ‚¢‚¤î•ñ‚ðŒ©‚©‚¯‚½‚Ì‚Å•ÏX -Eª‚É”º‚¢skill_require‚ÌsittingðŒ”pŽ~ -Eƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚«‚È‚¢‚悤‚É•ÏX +//1023 by (凸) +・1022ã§ã‚¨ãƒ³ãƒã‚°ã—ãŸnpc_parse_script()を戻㗠+・スパイラルピアースã®é‡é‡è¿½åŠ ダメージ計算å¼ã‚’ã¡ã‚‡ã£ã¨å¤‰æ›´ +・é”法力増幅ã®è¨ˆç®—å¼ã‚’ã¡ã‚‡ã£ã¨å¤‰æ›´ +・テンションリラックスãŒåº§ã£ã¦ä½¿ã†ã®ã§ã¯ãªã使ã†ã¨åº§ã‚‹ã¨ã„ã†æƒ…å ±ã‚’è¦‹ã‹ã‘ãŸã®ã§å¤‰æ›´ +・↑ã«ä¼´ã„skill_requireã®sittingæ¡ä»¶å»ƒæ¢ +・ãƒãƒ¼ã‚µãƒ¼ã‚¯ã‚’GvGã§ä½¿ç”¨ã§ããªã„よã†ã«å¤‰æ›´ (db/) - skill_cast_db.txt •ÏX - skill_require_db.txt •ÏX + skill_cast_db.txt 変更 + skill_require_db.txt 変更 (doc/) - db_ref.txt C³ + db_ref.txt ä¿®æ£ (map/) battle.c - battle_calc_pc_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() 変更 clif.c - clif_sitting() ’ljÁ - clif_parse_ActionRequest() •ÏX + clif_sitting() è¿½åŠ + clif_parse_ActionRequest() 変更 npc.c - npc_parse_script() C³ - pc.h •ÏX + npc_parse_script() ä¿®æ£ + pc.h 変更 pc.c - pc_calcstatus() •ÏX - pc_natural_heal_hp() •ÏX - pc_setstand() ’ljÁ + pc_calcstatus() 変更 + pc_natural_heal_hp() 変更 + pc_setstand() è¿½åŠ skill.c - skill_castend_nodamage_id() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚ðŽg‚¤‚ÆÀ‚é‚悤‚É - skill_check_condition() ST_SITTING”pŽ~ - skill_use_id() ƒo[ƒT[ƒN‚ðGvG‚ÅŽg—p‚Å‚«‚È‚¢‚悤‚É - skill_status_change_timer() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX‚Í10•b‚²‚Æ‚ÉSP‚ð12Á”ï - skill_status_change_start() ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX•ÏX - skill_readdb() sitting”pŽ~ - skill.h •ÏX + skill_castend_nodamage_id() テンションリラックスを使ã†ã¨åº§ã‚‹ã‚ˆã†ã« + skill_check_condition() ST_SITTINGå»ƒæ¢ + skill_use_id() ãƒãƒ¼ã‚µãƒ¼ã‚¯ã‚’GvGã§ä½¿ç”¨ã§ããªã„よã†ã« + skill_status_change_timer() テンションリラックスã¯10秒ã”ã¨ã«SPã‚’12消費 + skill_status_change_start() テンションリラックス変更 + skill_readdb() sittingå»ƒæ¢ + skill.h 変更 -------------------- -//1022 by (“Ê) -ENULLƒ`ƒFƒbƒN•ÏX -Elogin,char,mapI—¹Žž‚ÉŠJ•ú‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ƒƒ‚ƒŠ‚ð”÷–‚ÉŠJ•ú‚·‚é“w—Í‚ð‚µ‚Ä‚Ý‚½ -EƒXƒpƒmƒr”š—ô”g“®ŽÀ‘•AƒNƒŠƒeƒBƒJƒ‹+50 -EƒXƒpƒmƒrƒ{[ƒiƒX‚ð•ÏXAʼn‚©‚çˆê“x‚àŽ€‚ñ‚Å‚È‚¢JobLv70‚ÉAll+15ABaseLv99‚ÉMHP+2000 +//1022 by (凸) +・NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ +・login,char,map終了時ã«é–‹æ”¾ã•ã‚Œã¦ã„ãªã‹ã£ãŸãƒ¡ãƒ¢ãƒªã‚’微妙ã«é–‹æ”¾ã™ã‚‹åŠªåŠ›ã‚’ã—ã¦ã¿ãŸ +・スパノビ爆裂波動実装ã€ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«+50 +・スパノビボーナスを変更ã€æœ€åˆã‹ã‚‰ä¸€åº¦ã‚‚æ»ã‚“ã§ãªã„JobLv70ã«All+15ã€BaseLv99ã«MHP+2000 (doc/) - client_packet.txt S 01ed’ljÁ + client_packet.txt S 01edè¿½åŠ (char/) - do_final() •ÏX - do_init() •ÏX + do_final() 変更 + do_init() 変更 (login/) - do_final() ’ljÁ - do_init() •ÏX - (map/) - atcommand.c Dest‚³‚ñ‚Ì•ÏX‚ðŽæ‚èž‚Ý - battle.c “¯ã - chat.c NULLƒ`ƒFƒbƒN•ÏX - chrif.c NULLƒ`ƒFƒbƒN•ÏX - clif.c NULLƒ`ƒFƒbƒN•ÏX - clif_parse() •ÏX - clif_parse_sn_explosionspirits() ’ljÁ - clif_parse_sn_doridori() –¼‘O•ÏX - guild.c NULLƒ`ƒFƒbƒN•ÏX - intif.c NULLƒ`ƒFƒbƒN•ÏX - itemdb.c NULLƒ`ƒFƒbƒN•ÏX - map.c NULLƒ`ƒFƒbƒN•ÏX - do_final() •ÏX - mob.c NULLƒ`ƒFƒbƒN•ÏX - npc.c NULLƒ`ƒFƒbƒN•ÏX - npc_parse_script() bufŠJ•ú–Y‚êH‚ðŠJ•ú - party.c NULLƒ`ƒFƒbƒN•ÏX - path.c NULLƒ`ƒFƒbƒN•ÏX - pc.c NULLƒ`ƒFƒbƒN•ÏX - pc_calcstatus() ƒXƒpƒmƒr•ÏX - pet.c NULLƒ`ƒFƒbƒN•ÏX - storage.c NULLƒ`ƒFƒbƒN•ÏX - trade.c NULLƒ`ƒFƒbƒN•ÏX - vending.c NULLƒ`ƒFƒbƒN•ÏX + do_final() è¿½åŠ + do_init() 変更 + (map/) + atcommand.c Destã•ã‚“ã®å¤‰æ›´ã‚’å–り込㿠+ battle.c åŒä¸Š + chat.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + chrif.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + clif.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + clif_parse() 変更 + clif_parse_sn_explosionspirits() è¿½åŠ + clif_parse_sn_doridori() åå‰å¤‰æ›´ + guild.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + intif.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + itemdb.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + map.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + do_final() 変更 + mob.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + npc.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + npc_parse_script() buf開放忘れ?を開放 + party.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + path.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + pc.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + pc_calcstatus() スパノビ変更 + pet.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + storage.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + trade.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + vending.c NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ -------------------- //1021 by Kalen -Eƒvƒƒ“ƒeƒ‰Š¥¥•iNPC‚ɂă^ƒLƒV[ƒh”Ì”„ -EUmbala‚̃[ƒvŒ©’¼‚µ - D2F‚̃[ƒv‚ð–{ŽIŽg—p‚É•ÏXBd•¡ƒ|ƒCƒ“ƒgC³ -EUmbalaNPCC³ - ƒ‰ƒxƒ‹‚ðŽg—p‚µ‚È‚‚¢‚¢êŠ‚Í‹É—Ííœ(-) - ƒZ[ƒuƒ|ƒCƒ“ƒgC³ - ƒoƒ“ƒW[ƒWƒƒƒ“ƒv‘ä’ljÁ - Š[œ–å’ljÁ - •ª‰ðA‡¬ˆ—’ljÁ - ƒJƒvƒ‰AˆÄ“à—vˆõ‚ð‚ ‚é‚ׂ«êŠ‚ÖˆÚ“®B - ¦ˆê•”Emo‚ɂ‚¢‚ÄAŠà•ðŽ©g‚ª‹t‚ÉŽæ‚èˆá‚¦‚Ä‚¢‚é‚Ý‚½‚¢‚È‚Ì‚Å“ÆŽ©‚Å•Ï‚¦‚Ü‚µ‚½B - Œ©‚Ä‚à‚炦‚Εª‚©‚è‚Ü‚·‚ª18‚Æ28‚ð‹t‚É‚·‚é‚ÆNPC‚̉ï˜b“à—e‚ɇ‚¤Emo‚ªo‚½‚Ì‚Å - ƒNƒGƒXƒgƒtƒ‰ƒO‚ÌðŒ’ljÁ - @‚±‚ê‚É‚æ‚è‚·‚Å‚ÉI‚¦‚Ä‚¢‚éꇂłà“r’†‚É‚È‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B -EƒXƒpƒmƒr“]ENPC’ljÁ - “Ê‚³‚ñ‚̃ƒO‚ðŠî‚É쬂µ‚Ü‚µ‚½B -EƒAƒ‹ƒPƒ~ƒXƒgƒMƒ‹ƒh‚̃mƒr‚Ìꇂ̑ΉžC³(“Ê‚³‚ñ‚©‚ç‚̃ƒO‚æ‚è) -EŒ‹¥NPC’ljÁ - ‚½‚¾‚µA‚Ü‚¾ƒeƒXƒg’iŠK‚Å‚·B–â‘è“_‚ª‚ ‚邽‚ߌ‹¥•s‰Â”\‚Å‚·B +・プãƒãƒ³ãƒ†ãƒ©å† å©šå“NPCã«ã¦ã‚¿ã‚シード販売 +・Umbalaã®ãƒ¯ãƒ¼ãƒ—見直㗠+ D2Fã®ãƒ¯ãƒ¼ãƒ—を本鯖使用ã«å¤‰æ›´ã€‚é‡è¤‡ãƒã‚¤ãƒ³ãƒˆä¿®æ£ +・UmbalaNPCä¿®æ£ + ラベルを使用ã—ãªãã„ã„å ´æ‰€ã¯æ¥µåŠ›å‰Šé™¤(-) + セーブãƒã‚¤ãƒ³ãƒˆä¿®æ£ + ãƒãƒ³ã‚¸ãƒ¼ã‚¸ãƒ£ãƒ³ãƒ—å°è¿½åŠ + éª¸éª¨é–€è¿½åŠ + 分解ã€åˆæˆå‡¦ç†è¿½åŠ + カプラã€æ¡ˆå†…è¦å“¡ã‚’ã‚ã‚‹ã¹ãå ´æ‰€ã¸ç§»å‹•ã€‚ + ※一部Emoã«ã¤ã„ã¦ã€ç™Œå‘†è‡ªèº«ãŒé€†ã«å–ã‚Šé•ãˆã¦ã„ã‚‹ã¿ãŸã„ãªã®ã§ç‹¬è‡ªã§å¤‰ãˆã¾ã—ãŸã€‚ + 見ã¦ã‚‚らãˆã°åˆ†ã‹ã‚Šã¾ã™ãŒ18ã¨28を逆ã«ã™ã‚‹ã¨NPCã®ä¼šè©±å†…容ã«åˆã†EmoãŒå‡ºãŸã®ã§ + クエストフラグã®æ¡ä»¶è¿½åŠ +  ã“ã‚Œã«ã‚ˆã‚Šã™ã§ã«çµ‚ãˆã¦ã„ã‚‹å ´åˆã§ã‚‚途ä¸ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ +・スパノビ転è·NPCè¿½åŠ + 凸ã•ã‚“ã®ãƒã‚°ã‚’基ã«ä½œæˆã—ã¾ã—ãŸã€‚ +・アルケミストギルドã®ãƒŽãƒ“ã®å ´åˆã®å¯¾å¿œä¿®æ£(凸ã•ã‚“ã‹ã‚‰ã®ãƒã‚°ã‚ˆã‚Š) +・çµå©šNPCè¿½åŠ + ãŸã ã—ã€ã¾ã テスト段階ã§ã™ã€‚å•é¡Œç‚¹ãŒã‚ã‚‹ãŸã‚çµå©šä¸å¯èƒ½ã§ã™ã€‚ (/script) (/warp) npc_warp_umbala.txt @@ -272,134 +272,134 @@ npc_town_guide.txt npc_town_prontera.txt (/quest) - npc_event_marriage.txt(VEƒeƒXƒg) + npc_event_marriage.txt(新・テスト) (/job) npc_job_alchemist.txt - npc_job_supernovice.txt(V) + npc_job_supernovice.txt(æ–°) -------------------- -//1020 by (“Ê) -Enullpo‚Ì•ÏX‚ɑΉž‚µ‚Ämap_athena.conf‚ÌÝ’è휕skill.c‘‚«Š·‚¦ -EÀ‚Á‚Ä‚¢‚é‚ÆHPR‚ÆSPR‚ª’Êí‚Ì”¼•ª‚Å”“®‚µ‚½‚Ì‚ðC³ -EƒXƒpƒmƒr‚ªˆê’èðŒ(ƒNƒ‰ƒCƒAƒ“ƒgˆË‘¶)‚Å/doridori‚·‚é‚ÆSPR‰ñ•œ—Ê‚ª”{‚É‚È‚é‚悤‚É•ÏX -EŒ‹¥Ž®—p‚̃GƒtƒFƒNƒg‚ðƒXƒNƒŠƒvƒg‚©‚çwedding–½—ß‚Å”¶‚³‚¹‚邱‚Æ‚ªo—ˆ‚é‚悤‚µ‚½ -E‡‘t‚ðŠJŽn‚µ‚½PC‚͇‘t’†‚ÉI—¹‚Å‚«‚È‚¢‚悤‚É‚µ‚½‚‚à‚è(–¢Šm”F) +//1020 by (凸) +・nullpoã®å¤‰æ›´ã«å¯¾å¿œã—ã¦map_athena.confã®è¨å®šå‰Šé™¤ï¼†skill.c書ãæ›ãˆ +・座ã£ã¦ã„ã‚‹ã¨HPRã¨SPRãŒé€šå¸¸ã®åŠåˆ†ã§ç™ºå‹•ã—ãŸã®ã‚’ä¿®æ£ +・スパノビãŒä¸€å®šæ¡ä»¶(クライアントä¾å˜)ã§/doridoriã™ã‚‹ã¨SPR回復é‡ãŒå€ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ +・çµå©šå¼ç”¨ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’スクリプトã‹ã‚‰wedding命令ã§ç™ºç”Ÿã•ã›ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‚ˆã†ã—㟠+・åˆå¥ã‚’開始ã—ãŸPCã¯åˆå¥ä¸ã«çµ‚了ã§ããªã„よã†ã«ã—ãŸã¤ã‚‚ã‚Š(未確èª) (conf/) - map_athena.conf nullpo_checkíœ + map_athena.conf nullpo_check削除 (doc/) - client_packet.txt XV - conf_ref.txt nullpo_checkíœ + client_packet.txt æ›´æ–° + conf_ref.txt nullpo_check削除 (map/) map.c - map_config_read() nullpo_checkíœ - map.h “¯ã - skill.c NULLƒ`ƒFƒbƒNÄ“x‘“ü‚ê‘Ö‚¦ + map_config_read() nullpo_check削除 + map.h åŒä¸Š + skill.c NULLãƒã‚§ãƒƒã‚¯å†åº¦ç·å…¥ã‚Œæ›¿ãˆ clif.c - clif_wedding_effect() ’ljÁ - clif_parse_QuitGame() ‡‘tŠJŽnŽÒ‚͇‘t’†‚ÉI—¹‚Å‚«‚È‚¢‚悤‚É•ÏX - clif_parse_doridori() ’ljÁ - clif_parse() doridori’ljÁ - clif.h •ÏX - pc.c - pc_authok() doridori‰Šú‰»’ljÁ - pc_natural_heal_hp() À‚Á‚Ä‚¢‚é‚Æ‚«‚ÌHPRŽžŠÔC³ - pc_natural_heal_sp() À‚Á‚Ä‚¢‚é‚Æ‚«‚ÌHPRŽžŠÔC³Adoridori’ljÁ + clif_wedding_effect() è¿½åŠ + clif_parse_QuitGame() åˆå¥é–‹å§‹è€…ã¯åˆå¥ä¸ã«çµ‚了ã§ããªã„よã†ã«å¤‰æ›´ + clif_parse_doridori() è¿½åŠ + clif_parse() doridoriè¿½åŠ + clif.h 変更 + pc.c + pc_authok() doridoriåˆæœŸåŒ–è¿½åŠ + pc_natural_heal_hp() 座ã£ã¦ã„ã‚‹ã¨ãã®HPRæ™‚é–“ä¿®æ£ + pc_natural_heal_sp() 座ã£ã¦ã„ã‚‹ã¨ãã®HPR時間修æ£ã€doridoriè¿½åŠ script.c - buildin_wedding_effect() ’ljÁ + buildin_wedding_effect() è¿½åŠ -------------------- //1019 by Dest -Enullpoƒ‚ƒWƒ…[ƒ‹‚ɃR[ƒfƒBƒ“ƒOƒ~ƒX”Œ©/C³ -E“¯Avoid‚ÈŠÖ”‚©‚çŒÄ‚΂ꂽŽž‚Ìnullpo_retv_f()‚ð’ljÁ -E“¯AðŒƒRƒ“ƒpƒCƒ‹‚ɑΉž +・nullpoモジュールã«ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãƒŸã‚¹ç™ºè¦‹/ä¿®æ£ +・åŒã€voidãªé–¢æ•°ã‹ã‚‰å‘¼ã°ã‚ŒãŸæ™‚ã®nullpo_retv_f()ã‚’è¿½åŠ +・åŒã€æ¡ä»¶ã‚³ãƒ³ãƒ‘イルã«å¯¾å¿œ (common/) nullpo.c - nullpo_info_core() ƒR[ƒfƒBƒ“ƒOƒ~ƒXC³ + nullpo_info_core() ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãƒŸã‚¹ä¿®æ£ nullpo.h - NULLPO_CHECKƒtƒ‰ƒO‚É‚æ‚éðŒƒRƒ“ƒpƒCƒ‹’ljÁ - nullpo_retv_f() ’ljÁ + NULLPO_CHECKフラグã«ã‚ˆã‚‹æ¡ä»¶ã‚³ãƒ³ãƒ‘ã‚¤ãƒ«è¿½åŠ + nullpo_retv_f() è¿½åŠ -------------------- //1018 by chloe -EƒEƒ“ƒoƒ‰ƒ‚ƒ“ƒXƒ^[‚ð’ljÁ +・ウンãƒãƒ©ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’è¿½åŠ (script/mob/) - npc_monster.txt •ÏX - ŠeƒEƒ“ƒoƒ‰ƒ}ƒbƒv‚ÉMob”z’u + npc_monster.txt 変更 + å„ウンãƒãƒ©ãƒžãƒƒãƒ—ã«Mobé…ç½® (db/) - mob_db.txt •ÏX - 1495,STONE_SHOOTER,ƒtƒŒƒCƒ€ƒVƒ…[ƒ^[ C³ - 1511,AMON_RA,ƒAƒ‚ƒ“ƒ‰[ C³ + mob_db.txt 変更 + 1495,STONE_SHOOTER,フレイムシューター ä¿®æ£ + 1511,AMON_RA,アモンラー ä¿®æ£ -------------------- -//1017 by (“Ê) -EƒoƒO•ñƒXƒŒƒbƒh part6 >>46 Dest‚³‚ñ‚Ìnullpoƒ‚ƒWƒ…[ƒ‹‚ð’ljÁ•void‚ÈŠÖ”‚©‚çŒÄ‚΂ꂽŽž‚Ìnullpo_retv()‚ð’ljÁ(‚Æ‚è‚ ‚¦‚¸skill.c‚ÌNULLƒ`ƒFƒbƒN‚¾‚¯“ü‚ê‘Ö‚¦) -E“¯>>39 Sel‚³‚ñ‚©‚ç•ñ‚ª‚ ‚Á‚½ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“‚ðC³ -EŽd—l‚ɂ‚¢‚ÄŒê‚臂¤ƒXƒŒƒbƒh >>33 Kalen‚³‚ñ‚Ìî•ñ‚ðclient_packet.txt‚É”½‰f -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part3 >>24 M —zqcM6jBw‚³‚ñ‚Ìî•ñ‚ðª -E“¯>>30 ‚Í‚¿‚³‚ñ‚ÌC³‚𔽉f +//1017 by (凸) +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part6 >>46 Destã•ã‚“ã®nullpoãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’è¿½åŠ ï¼†voidãªé–¢æ•°ã‹ã‚‰å‘¼ã°ã‚ŒãŸæ™‚ã®nullpo_retv()ã‚’è¿½åŠ (ã¨ã‚Šã‚ãˆãšskill.cã®NULLãƒã‚§ãƒƒã‚¯ã ã‘入れ替ãˆ) +・åŒ>>39 Selã•ã‚“ã‹ã‚‰å ±å‘ŠãŒã‚ã£ãŸã‚³ãƒ³ã‚»ãƒ³ãƒˆãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ä¿®æ£ +・仕様ã«ã¤ã„ã¦èªžã‚Šåˆã†ã‚¹ãƒ¬ãƒƒãƒ‰ >>33 Kalenã•ã‚“ã®æƒ…å ±ã‚’client_packet.txtã«åæ˜ +・本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part3 >>24 M ï¼ zqcM6jBwã•ã‚“ã®æƒ…å ±ã‚’â†‘ +・åŒ>>30 ã¯ã¡ã•ã‚“ã®ä¿®æ£ã‚’åæ˜ (conf/) - map_athena.conf nullpo_check’ljÁ + map_athena.conf nullpo_checkè¿½åŠ (db/) - item_db.txt Œ‹¥Žw—Ö‚ð•Ší-ƒAƒNƒZƒTƒŠ‚É•ÏX•ÅV”Å + item_db.txt çµå©šæŒ‡è¼ªã‚’æ¦å™¨-アクセサリã«å¤‰æ›´ï¼†æœ€æ–°ç‰ˆ (doc/) - client_packet.txt XV - conf_ref.txt nullpo_check’ljÁ + client_packet.txt æ›´æ–° + conf_ref.txt nullpo_checkè¿½åŠ (common/) - Makefile •ÏX - nullpo.c ’ljÁ - nullpo.h ’ljÁ + Makefile 変更 + nullpo.c è¿½åŠ + nullpo.h è¿½åŠ (map/) - Makefile •ÏX + Makefile 変更 map.c - map_config_read() nullpo_check’ljÁ - map.h “¯ã - skill.c NULLƒ`ƒFƒbƒN‘“ü‚ê‘Ö‚¦ - skill_status_change_start() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“C³ - skill_castend_nodamage_id() ƒeƒŒƒ|[ƒgC³ + map_config_read() nullpo_checkè¿½åŠ + map.h åŒä¸Š + skill.c NULLãƒã‚§ãƒƒã‚¯ç·å…¥ã‚Œæ›¿ãˆ + skill_status_change_start() ã‚³ãƒ³ã‚»ãƒ³ãƒˆãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ä¿®æ£ + skill_castend_nodamage_id() テレãƒãƒ¼ãƒˆä¿®æ£ clif.c - clif_skill_setunit() ƒRƒƒ“ƒgC³ + clif_skill_setunit() ã‚³ãƒ¡ãƒ³ãƒˆä¿®æ£ pc.c - pc_calcstatus() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“C³ + pc_calcstatus() ã‚³ãƒ³ã‚»ãƒ³ãƒˆãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ä¿®æ£ -------------------- -//1016 by ‚ÈB -EAthenaŽG’kƒXƒŒƒbƒhPart4 42 ‚©‚éŽì‚̃Eƒ“ƒoƒ‰NPC‚ð’ljÁ +//1016 by ãªã€‚ +・Athena雑談スレッドPart4 42 ã‹ã‚‹æ°ä½œã®ã‚¦ãƒ³ãƒãƒ©NPCã‚’è¿½åŠ (script/npc/town/) - npc_town_umbala.txt’ljÁ - ƒCƒxƒ“ƒgƒfƒoƒbƒO—l(230`256s–Ú)‚̓Rƒƒ“ƒgƒAƒEƒg + npc_town_umbala.txtè¿½åŠ + イベントデãƒãƒƒã‚°æ§˜(230〜256行目)ã¯ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆ (conf/) - map_athena.conf town ‚É npc: script/npc/town/npc_town_umbala.txt ’ljÁ + map_athena.conf town ã« npc: script/npc/town/npc_town_umbala.txt è¿½åŠ -------------------- -//1015 by (“Ê) -EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ð–{ŽIŽd—l‚ÆAthenaŽd—l‚Å‘I‚ׂé‚悤‚É‚µ‚½ -EƒXƒpƒmƒr‚ÉAll+10‚·‚éðŒ‚ª—Ç‚•ª‚©‚ç‚È‚©‚Á‚½‚¯‚Çʼn‚©‚ç+10‚¶‚á‚È‚¢‚Ì‚ÍŠm‚©‚È‚Ì‚Å‚Æ‚è‚ ‚¦‚¸Base99‚ňê“x‚àŽ€‚ñ‚Å‚È‚¯‚ê‚΂Ƃ¢‚¤ðŒ‚É•ÏX -Eƒ_ƒ“ƒX’†‚É‚«”ò‚΂³‚ê‚Ä‚àƒGƒtƒFƒNƒg‚͈ړ®‚µ‚È‚¢‚»‚¤‚È‚Ì‚Å•ÏX -E@go 13”÷’²® +//1015 by (凸) +・リムーブトラップを本鯖仕様ã¨Athena仕様ã§é¸ã¹ã‚‹ã‚ˆã†ã«ã—㟠+・スパノビã«All+10ã™ã‚‹æ¡ä»¶ãŒè‰¯ã分ã‹ã‚‰ãªã‹ã£ãŸã‘ã©æœ€åˆã‹ã‚‰+10ã˜ã‚ƒãªã„ã®ã¯ç¢ºã‹ãªã®ã§ã¨ã‚Šã‚ãˆãšBase99ã§ä¸€åº¦ã‚‚æ»ã‚“ã§ãªã‘ã‚Œã°ã¨ã„ã†æ¡ä»¶ã«å¤‰æ›´ +・ダンスä¸ã«å¹ã飛ã°ã•ã‚Œã¦ã‚‚エフェクトã¯ç§»å‹•ã—ãªã„ãã†ãªã®ã§å¤‰æ›´ +・@go 13微調整 (conf/) - battle_athena.conf skill_removetrap_type’ljÁ + battle_athena.conf skill_removetrap_typeè¿½åŠ (doc/) - client_packet.txt –{ŽI‘ŠˆáƒXƒŒƒbƒh part3 23 M —zqcM6jBw‚³‚ñ‚Ìî•ñ‚ð’ljÁ - conf_ref.txt skill_removetrap_type’ljÁ + client_packet.txt 本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part3 23 M ï¼ zqcM6jBwã•ã‚“ã®æƒ…å ±ã‚’è¿½åŠ + conf_ref.txt skill_removetrap_typeè¿½åŠ (map/) atcommand.c - atcommand_go() ƒEƒ“ƒoƒ‰‚ÌoŒ»ˆÊ’u”÷’²® + atcommand_go() ウンãƒãƒ©ã®å‡ºç¾ä½ç½®å¾®èª¿æ•´ battle.c - battle_config_read() skill_removetrap_type’ljÁ - battle.h “¯ã + battle_config_read() skill_removetrap_typeè¿½åŠ + battle.h åŒä¸Š pc.c - pc_calcstatus() ƒXƒpƒmƒrAll+10ðŒ•ÏX + pc_calcstatus() スパノビAll+10æ¡ä»¶å¤‰æ›´ skill.c - skill_blown() ƒ_ƒ“ƒX’†‚Ì‚«”ò‚΂µ‚ðŒ³‚É–ß‚µ‚½ - skill_castend_nodamage_id() ƒŠƒ€[ƒuƒgƒ‰ƒbƒvŽd—l•ÏX + skill_blown() ダンスä¸ã®å¹ã飛ã°ã—ã‚’å…ƒã«æˆ»ã—㟠+ skill_castend_nodamage_id() リムーブトラップ仕様変更 -------------------- //1014 by (Pepermint) @@ -411,352 +411,352 @@ amount as original server dose. I tested with it in ver. 1013, it was working -------------------- -//1012 by (“Ê) -Ehelp.txt‚É‚ ‚é@go‚Ìà–¾‚©‚ç13‚Æ14‚ðíœ -@‹@”\‚ÍÁ‚¦‚Ä‚È‚¢‚Ì‚ÅŽg‚¦‚邱‚Æ‚ÍŽg‚¦‚Ü‚·‚ªAhelp‚ÉÚ‚¹‚é‚Ì‚ÍjRO‚É—ˆ‚Ä‚©‚ç‚Æ‚¢‚¤‚±‚Æ‚Å -Ecast_db.txt‚ðskill_cast_db.txt‚ɉü–¼ -E‚‚¢‚Å‚Émake clean‚ÅGNUmakefile‚àÁ‚µ‚Ă݂邱‚Æ‚É‚·‚é -Eu-0‚³‚ñ‚ÌŒŸØ‚Ȃǂ𑇂µ‚ă_ƒ“ƒXƒ†ƒjƒbƒgŠÖ˜A‚ð•ÏX -@‰‰‘tEƒ_ƒ“ƒX’†‚̃nƒG‚̓†ƒjƒbƒg•t‚«‚Å”ò‚Ô‚»‚¤‚Å‚· -@‰‰‘tEƒ_ƒ“ƒX’†‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚Éæ‚Á‚½‚çó‘Ô‚ª‰ðœ‚³‚ê‚é‚悤‚Å‚· -@‡‘t’†‚ɕЕû‚ªƒnƒG”ò‚Ñ‚µ‚½‚çƒGƒtƒFƒNƒg‚ÍŒ³‚ÌꊂɎc‚èA”ò‚ñ‚¾æ‚ł͇‘tó‘Ô‚ªŒp‘±‚µ‚Ä“®‚¯‚È‚¢•ŽžŠÔ‚²‚Æ‚ÉSPÁ”ï‚·‚é‚悤‚Å‚· -EPC_DIE_COUNTER‚ªƒXƒNƒŠƒvƒg‚©‚ç•ÏX‚³‚ꂽŽž‚É‚·‚®‚É”½‰f‚³‚ê‚é‚悤‚É•ÏX +//1012 by (凸) +・help.txtã«ã‚ã‚‹@goã®èª¬æ˜Žã‹ã‚‰13ã¨14を削除 + 機能ã¯æ¶ˆãˆã¦ãªã„ã®ã§ä½¿ãˆã‚‹ã“ã¨ã¯ä½¿ãˆã¾ã™ãŒã€helpã«è¼‰ã›ã‚‹ã®ã¯jROã«æ¥ã¦ã‹ã‚‰ã¨ã„ã†ã“ã¨ã§ +・cast_db.txtã‚’skill_cast_db.txtã«æ”¹å +・ã¤ã„ã§ã«make cleanã§GNUmakefileも消ã—ã¦ã¿ã‚‹ã“ã¨ã«ã™ã‚‹ +・u-0ã•ã‚“ã®æ¤œè¨¼ãªã©ã‚’ç·åˆã—ã¦ãƒ€ãƒ³ã‚¹ãƒ¦ãƒ‹ãƒƒãƒˆé–¢é€£ã‚’変更 + 演å¥ãƒ»ãƒ€ãƒ³ã‚¹ä¸ã®ãƒã‚¨ã¯ãƒ¦ãƒ‹ãƒƒãƒˆä»˜ãã§é£›ã¶ãã†ã§ã™ + 演å¥ãƒ»ãƒ€ãƒ³ã‚¹ä¸ã«ãƒ¯ãƒ¼ãƒ—ãƒã‚¤ãƒ³ãƒˆã«ä¹—ã£ãŸã‚‰çŠ¶æ…‹ãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã§ã™ + åˆå¥ä¸ã«ç‰‡æ–¹ãŒãƒã‚¨é£›ã³ã—ãŸã‚‰ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã¯å…ƒã®å ´æ‰€ã«æ®‹ã‚Šã€é£›ã‚“ã å…ˆã§ã¯åˆå¥çŠ¶æ…‹ãŒç¶™ç¶šã—ã¦å‹•ã‘ãªã„&時間ã”ã¨ã«SP消費ã™ã‚‹ã‚ˆã†ã§ã™ +・PC_DIE_COUNTERãŒã‚¹ã‚¯ãƒªãƒ—トã‹ã‚‰å¤‰æ›´ã•ã‚ŒãŸæ™‚ã«ã™ãã«åæ˜ ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ (conf/) - help.txt @goà–¾•ÏX + help.txt @go説明変更 (db/) - skill_cast_db.txt ‰ü–¼ + skill_cast_db.txt 改å (map/) pc.c - pc_setpos() ƒ_ƒ“ƒX’†’f‚̃^ƒCƒ~ƒ“ƒO•ÏX - pc_setglobalreg() PC_DIE_COUNTER“Á•Êˆ—’ljÁ + pc_setpos() ダンスä¸æ–ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°å¤‰æ›´ + pc_setglobalreg() PC_DIE_COUNTER特別処ç†è¿½åŠ skill.c - skill_castend_id() NULLƒ`ƒFƒbƒN•ÏX - skill_stop_dancing() ƒ}ƒbƒvˆÚ“®‚È‚Ç‚Å‚Ì‹““®‚ð•ÏX - skill_readdb() skill_cast_db‚ɉü–¼ - skill_blown() ”ò‚΂³‚ꂽ‚çƒ_ƒ“ƒXˆÚ“® + skill_castend_id() NULLãƒã‚§ãƒƒã‚¯å¤‰æ›´ + skill_stop_dancing() マップ移動ãªã©ã§ã®æŒ™å‹•ã‚’変更 + skill_readdb() skill_cast_dbã«æ”¹å + skill_blown() 飛ã°ã•ã‚ŒãŸã‚‰ãƒ€ãƒ³ã‚¹ç§»å‹• npc.c - npc_touch_areanpc() ƒ[ƒvƒ|ƒCƒ“ƒg‚Éæ‚Á‚½‚çƒ_ƒ“ƒX‰ðœ + npc_touch_areanpc() ワープãƒã‚¤ãƒ³ãƒˆã«ä¹—ã£ãŸã‚‰ãƒ€ãƒ³ã‚¹è§£é™¤ -------------------- -//1011 by ƒpƒCƒ“ -Eƒp[ƒeƒB—v¿‚âƒMƒ‹ƒh—v¿‚ðo‚µ‚Ä‚¢‚é‚Æ‚«‚É‘¼‚Ì—v¿‚ð‹‘”Û‚éˆ—‚ð’ljÁ -@battle_athena.conf‚ÅØ‚è‘Ö‚¦‚ªo—ˆ‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B -Emake clean ‚ÅŽ–‚ª‘«‚è‚é‚Ì‚ÅAobjectdel.bat‚ðÁ‹Ž +//1011 by パイン +・パーティè¦è«‹ã‚„ギルドè¦è«‹ã‚’出ã—ã¦ã„ã‚‹ã¨ãã«ä»–ã®è¦è«‹ã‚’æ‹’å¦ã‚‹å‡¦ç†ã‚’è¿½åŠ + battle_athena.confã§åˆ‡ã‚Šæ›¿ãˆãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ +・make clean ã§äº‹ãŒè¶³ã‚Šã‚‹ã®ã§ã€objectdel.batを消去 (map) clif.c - clif_party_invite()•ÏX(nullpo‚Ì•¶Œ¾ˆá‚Á‚Ä‚Ü‚µ‚½) + clif_party_invite()変更(nullpoã®æ–‡è¨€é•ã£ã¦ã¾ã—ãŸ) guild.c - guild_invite()•ÏX + guild_invite()変更 party.c - party_invite()•ÏX + party_invite()変更 battle.c - battle_config_read()•ÏX - battle.h•ÏX + battle_config_read()変更 + battle.h変更 trade.c - trade_traderequest()•ÏX + trade_traderequest()変更 -------------------- -//1010 by (“Ê) -Egcc 2.95‘Îô -EƒXƒpƒmƒr‚Ì1“xŽ€‚Ê‚Ü‚ÅAll+10‚ðƒXƒNƒŠƒvƒg•Ï”‚ÅŽÀ‘•‚µ‚Ă݂鎎‚Ý - PC_DIE_COUNTER Ž€‚Ê‚Æ+1A“]E‚·‚é‚Æ0‚É‚È‚è‚Ü‚· - ª‚̓Lƒƒƒ‰ƒNƒ^‰i‘±‚ȃXƒNƒŠƒvƒg•Ï”‚È‚Ì‚ÅNPC‚ÅŽQÆ•ÄÝ’è‚Æ‚©”äŠr“IŠy‚©‚à +//1010 by (凸) +・gcc 2.95å¯¾ç– +・スパノビã®1度æ»ã¬ã¾ã§All+10をスクリプト変数ã§å®Ÿè£…ã—ã¦ã¿ã‚‹è©¦ã¿ + PC_DIE_COUNTER æ»ã¬ã¨+1ã€è»¢è·ã™ã‚‹ã¨0ã«ãªã‚Šã¾ã™ + ↑ã¯ã‚ャラクタ永続ãªã‚¹ã‚¯ãƒªãƒ—ト変数ãªã®ã§NPCã§å‚照&å†è¨å®šã¨ã‹æ¯”較的楽ã‹ã‚‚ (map/) chrif.c - chrif_divorce() gcc2.95‘Îô + chrif_divorce() gcc2.95å¯¾ç– skill.c - skill_attack() gcc2.95‘Îô - skill_unit_move_unit_group() gcc2.95‘Îô - map.h map_session_data‚Édie_counter‚ð’ljÁ + skill_attack() gcc2.95å¯¾ç– + skill_unit_move_unit_group() gcc2.95å¯¾ç– + map.h map_session_dataã«die_counterã‚’è¿½åŠ npc.c - npc_click() nullpoƒƒbƒZ[ƒW‚ðC³ - pc.c - pc_setrestartvalue() nullpoƒƒbƒZ[ƒW‚ðC³ - pc_authok() die_counter‰Šú‰»‚̒ljÁ - pc_calcstatus() die_counter=0‚̃Xƒpƒmƒr‚ÍAll+10 - pc_damage() PC_DIE_COUNTERÝ’è - pc_jobchange() PC_DIE_COUNTERÝ’è - pc_readparam() gcc2.95‘Îô - pc_divorce() gcc2.95‘Îô - pc_get_partner() gcc2.95‘Îô - --------------------- -//1009 by ‚Ò‚´‚Ü‚ñ -Eƒ_ƒ“ƒXˆÚ“®Œy—ʉ»ŽÀ‘• -@battle_athena.conf‚ÅØ‚è‘Ö‚¦‰Â”\‚Å‚·BÚ‚µ‚‚Íconf_ref‚ð -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚̈×AƒfƒtƒHƒ‹ƒg‚Å‚Íoff‚É‚µ‚Ä‚¢‚Ü‚· -@‚Ü‚½A‚±‚ÌŒy—ʉ»ƒ‚[ƒh‚͉ñü•‰‰×‚ð‘å•‚É팸‚Å‚«‚é(‚‚à‚è)‚Å‚·‚ªA -@‚»‚Ì•ªƒT[ƒo[‘¤‚̈—‚ªd‚½‚‚È‚è‚Ü‚·(‚Æ‚¢‚Á‚Ä‚à‚ ‚é’ö“x‚ÌCPU‚ª‚ ‚ê‚ΑS‘R–â‘è‚É‚È‚ç‚È‚¢’ö“x‚Ì•‰‰×‚Å‚·‚ª) -EŒ‹¥ƒVƒXƒeƒ€^Œ‹¥ƒXƒLƒ‹ŽÀ‘• -@Œ‹¥Žw—Ö‚Ì“Á•Êˆµ‚¢‚ª–¢ŽÀ‘•‚Å‚·(—Ž‚Æ‚¹‚½‚èŽæˆø‚Éo‚¹‚½‚肵‚Ü‚·) -@—£¥‚Ì‚Ý–¢ƒeƒXƒg‚Å‚·B -EŒ‹¥—pƒXƒNƒŠƒvƒg(marriageAdivorce)’ljÁB -@Emarriage <partner_name> -@@<partner_name>: Œ‹¥‘ŠŽè‚Ì–¼‘O -@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 -@@Œ‹¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚Æ<partner_name>‚̃Lƒƒƒ‰ƒNƒ^[‚ÅA‚Ç‚¿‚ç‚©‚ªŠù¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B -@@1‰ñ‚ÌmarriageƒXƒNƒŠƒvƒg‚ÅV˜Y¨V•w‚ÆV•w¨V˜Y‚ÌŒ‹¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B -@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ÅŒ‹¥Žw—Ö‚Í—^‚¦‚ç‚ê‚Ü‚¹‚ñB -@Edevorce -@@ˆø”–³‚µ -@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 -@@—£¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚ÅA–¢¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B -@@marriageƒXƒNƒŠƒvƒg‚Æ“¯—l‚Ɍ݂¢‚Ì—£¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B -@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ª¬Œ÷‚·‚é‚ÆŽ©“®“I‚É‘ÎÛƒLƒƒƒ‰ƒNƒ^[‚ÌŒ‹¥Žw—Ö‚Í”’D‚³‚ê‚Ü‚·B - -@‚Ç‚¿‚ç‚̃XƒNƒŠƒvƒg‚̈—‚àA2l‹¤ƒƒOƒCƒ“‚µ‚Ä‚¢‚È‚¢‚ƬŒ÷‚µ‚Ü‚¹‚ñB - - (map/) - pc.c - pc_ismarried()Apc_marriage()Apc_divorce()Apc_authok()•ÏX - pc_get_partner() ’ljÁ + npc_click() nullpoãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ä¿®æ£ + pc.c + pc_setrestartvalue() nullpoãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ä¿®æ£ + pc_authok() die_counteråˆæœŸåŒ–ã®è¿½åŠ + pc_calcstatus() die_counter=0ã®ã‚¹ãƒ‘ノビã¯All+10 + pc_damage() PC_DIE_COUNTERè¨å®š + pc_jobchange() PC_DIE_COUNTERè¨å®š + pc_readparam() gcc2.95å¯¾ç– + pc_divorce() gcc2.95å¯¾ç– + pc_get_partner() gcc2.95å¯¾ç– + +-------------------- +//1009 by ã´ã–ã¾ã‚“ +・ダンス移動軽é‡åŒ–実装 + battle_athena.confã§åˆ‡ã‚Šæ›¿ãˆå¯èƒ½ã§ã™ã€‚詳ã—ãã¯conf_refã‚’ + オリジナルアップデートã®ç‚ºã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯offã«ã—ã¦ã„ã¾ã™ + ã¾ãŸã€ã“ã®è»½é‡åŒ–モードã¯å›žç·šè² è·ã‚’大幅ã«å‰Šæ¸›ã§ãã‚‹(ã¤ã‚‚ã‚Š)ã§ã™ãŒã€ + ãã®åˆ†ã‚µãƒ¼ãƒãƒ¼å´ã®å‡¦ç†ãŒé‡ãŸããªã‚Šã¾ã™(ã¨ã„ã£ã¦ã‚‚ã‚る程度ã®CPUãŒã‚ã‚Œã°å…¨ç„¶å•é¡Œã«ãªã‚‰ãªã„程度ã®è² è·ã§ã™ãŒ) +・çµå©šã‚·ã‚¹ãƒ†ãƒ ï¼çµå©šã‚¹ã‚ル実装 + çµå©šæŒ‡è¼ªã®ç‰¹åˆ¥æ‰±ã„ãŒæœªå®Ÿè£…ã§ã™(è½ã¨ã›ãŸã‚Šå–引ã«å‡ºã›ãŸã‚Šã—ã¾ã™) + 離婚ã®ã¿æœªãƒ†ã‚¹ãƒˆã§ã™ã€‚ +・çµå©šç”¨ã‚¹ã‚¯ãƒªãƒ—ト(marriageã€divorce)è¿½åŠ ã€‚ + ・marriage <partner_name> +  <partner_name>: çµå©šç›¸æ‰‹ã®åå‰ +  戻り値: æˆåŠŸ:1 失敗:0 +  çµå©šå‡¦ç†ã‚’è¡Œã„ã¾ã™ã€‚対象ã¯è©±ã—掛ã‘ãŸãƒ—レイヤーã¨<partner_name>ã®ã‚ャラクターã§ã€ã©ã¡ã‚‰ã‹ãŒæ—¢å©šã®å ´åˆã¯å¤±æ•—ã—ã¾ã™ã€‚ +  1回ã®marriageスクリプトã§æ–°éƒŽâ†’新婦ã¨æ–°å©¦â†’新郎ã®çµå©šå‡¦ç†ã‚’åŒæ™‚ã«è¡Œã„ã¾ã™ã€‚ +  ã¾ãŸã€ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã§çµå©šæŒ‡è¼ªã¯ä¸Žãˆã‚‰ã‚Œã¾ã›ã‚“。 + ・devorce +  引数無㗠+  戻り値: æˆåŠŸ:1 失敗:0 +  離婚処ç†ã‚’è¡Œã„ã¾ã™ã€‚対象ã¯è©±ã—掛ã‘ãŸãƒ—レイヤーã§ã€æœªå©šã®å ´åˆã¯å¤±æ•—ã—ã¾ã™ã€‚ +  marriageスクリプトã¨åŒæ§˜ã«äº’ã„ã®é›¢å©šå‡¦ç†ã‚’åŒæ™‚ã«è¡Œã„ã¾ã™ã€‚ +  ã¾ãŸã€ã“ã®ã‚¹ã‚¯ãƒªãƒ—トãŒæˆåŠŸã™ã‚‹ã¨è‡ªå‹•çš„ã«å¯¾è±¡ã‚ャラクターã®çµå©šæŒ‡è¼ªã¯å‰¥å¥ªã•ã‚Œã¾ã™ã€‚ + + ã©ã¡ã‚‰ã®ã‚¹ã‚¯ãƒªãƒ—トã®å‡¦ç†ã‚‚ã€2人共ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã„ã¨æˆåŠŸã—ã¾ã›ã‚“。 + + (map/) + pc.c + pc_ismarried()ã€pc_marriage()ã€pc_divorce()ã€pc_authok()変更 + pc_get_partner() è¿½åŠ map.c - map_quit() •ÏX + map_quit() 変更 skill.c - skill_use_id()Askill_castend_nodamage_id() •ÏX - skill_unitsetting()Askill_unit_onlimit() •ÏX + skill_use_id()ã€skill_castend_nodamage_id() 変更 + skill_unitsetting()ã€skill_unit_onlimit() 変更 script.c - buildin_marriage()Abuildin_devorce() ’ljÁ - pc.h •ÏX - battle.h •ÏX + buildin_marriage()ã€buildin_devorce() è¿½åŠ + pc.h 変更 + battle.h 変更 -------------------- -//1008 by ‚Ò‚´‚Ü‚ñ -EGMƒZƒbƒVƒ‡ƒ“‰B‚µŽÀ‘•(–¢ƒeƒXƒg) -@GMƒAƒJƒEƒ“ƒg‚̃Lƒƒƒ‰ƒNƒ^[‚ð@who“™‚Å•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚Ü‚·B -@Ú‚µ‚‚Íconf_ref.txt‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B -EŒ‹¥ƒVƒXƒeƒ€‰¼ŽÀ‘• -@char-mapŠÔ’ÊM‚Ì‚ÝŽÀ‘•‚Å‚·B‚Ü‚¾Œ‹¥‚·‚邱‚Æ‚Ío—ˆ‚Ü‚¹‚ñB -@®A‚±‚̃pƒbƒ`‚©‚çathena.txt‚̃o[ƒWƒ‡ƒ“‚ª•Ï‚í‚è‚Ü‚·B -@ƒf[ƒ^‚̌݊·«‚Í•Û‚Á‚½‚‚à‚è‚Å‚·‚ªA”O‚̈׃oƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ä‚¨‚Ž–‚ð‹‚„§‚µ‚Ü‚·B +//1008 by ã´ã–ã¾ã‚“ +・GMã‚»ãƒƒã‚·ãƒ§ãƒ³éš ã—実装(未テスト) + GMアカウントã®ã‚ャラクターを@whoç‰ã§è¡¨ç¤ºã™ã‚‹ã‹ã©ã†ã‹è¨å®šã§ãã¾ã™ã€‚ + 詳ã—ãã¯conf_ref.txtã‚’å‚ç…§ã—ã¦ãã ã•ã„。 +・çµå©šã‚·ã‚¹ãƒ†ãƒ 仮実装 + char-map間通信ã®ã¿å®Ÿè£…ã§ã™ã€‚ã¾ã çµå©šã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“。 + 尚ã€ã“ã®ãƒ‘ッãƒã‹ã‚‰athena.txtã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¤‰ã‚ã‚Šã¾ã™ã€‚ + データã®äº’æ›æ€§ã¯ä¿ã£ãŸã¤ã‚‚ã‚Šã§ã™ãŒã€å¿µã®ç‚ºãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’å–ã£ã¦ãŠã事を強ã推奨ã—ã¾ã™ã€‚ (map/) clif.c - clif_countusers() •ÏX + clif_countusers() 変更 battle.c - battle_config_read() •ÏX + battle_config_read() 変更 atcommand.c - atcommand_who() •ÏX + atcommand_who() 変更 pc.c - pc_ismarried()Apc_marriage()Apc_divorce() ’ljÁ + pc_ismarried()ã€pc_marriage()ã€pc_divorce() è¿½åŠ chrif.c - chrif_divorce() ’ljÁ - chrif_parse() •ÏX + chrif_divorce() è¿½åŠ + chrif_parse() 変更 (char/) char.c - char_divorce() ’ljÁ - char_delete()Ammo_char_fromstr()Ammo_char_tostr() •ÏX + char_divorce() è¿½åŠ + char_delete()ã€mmo_char_fromstr()ã€mmo_char_tostr() 変更 -------------------- -//1007 by (“Ê) -ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ +//1007 by (凸) +・NULLãƒã‚§ãƒƒã‚¯ã®è¦‹ç›´ã— (map/) clif.c - clif_send() •ÏX + clif_send() 変更 skill.c - skill_delunit() •ÏX + skill_delunit() 変更 -------------------- //1006 by (ruhu) -¥@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’ljÁ +ï½¥@goã«æ´›é™½ã¨ãƒ‹ãƒ•ãƒ«ãƒ˜ã‚¤ãƒ è¿½åŠ (conf/) - help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ + help.txt ニフルヘイムã€æ´›é™½è¿½åŠ (map/) atcommand.c - atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ + atcommand go() ニフルヘイムã€æ´›é™½è¿½åŠ -------------------- -//1005 by (“Ê) -ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ‚ƒljÁA‘å—Ê‚É•ÏX‚µ‚½‚Ì‚Å–â‘肪o‚é‰Â”\«‚ª‘å‚Å‚· -EƒEƒ“ƒoƒ‰•ªŠ„ƒpƒbƒ`‚ª”z•z‚³‚ꂽ‚Ì‚Å@go 12‚ɃEƒ“ƒoƒ‰‚ð’ljÁ -Eƒ[ƒhƒiƒCƒg ƒo[ƒT[ƒN‚ð‚¿‚å‚Á‚Æ‚»‚ê‚Á‚Û‚(ASPD‘‰Á‚È‚Ç‚Í–¢ŽÀ‘•) -EƒNƒ‰ƒEƒ“¥ƒWƒvƒV[ ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç‚ÌŽg—pðŒ‚ð‡‘t‚Æ“¯‚¶‚É•ÏX(Œø‰Ê“™‚Í–¢ŽÀ‘•) -EƒuƒŒƒbƒVƒ“ƒO‚ª–{ŽI‚ł̓Xƒe[ƒ^ƒXƒAƒbƒv¨ƒGƒtƒFƒNƒg‚¾‚Á‚½‚Ì‚Å‚»‚̂悤‚É•ÏX -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>145 zzz‚³‚ñ‚Ì•ñ‚𔽉f -E“¯ƒXƒŒ >>143 plala‚³‚ñ‚Ì•ñ‚𔽉f +//1005 by (凸) +・NULLãƒã‚§ãƒƒã‚¯ã®è¦‹ç›´ã—ã¨è¿½åŠ ã€å¤§é‡ã«å¤‰æ›´ã—ãŸã®ã§å•é¡ŒãŒå‡ºã‚‹å¯èƒ½æ€§ãŒå¤§ã§ã™ +・ウンãƒãƒ©åˆ†å‰²ãƒ‘ッãƒãŒé…布ã•ã‚ŒãŸã®ã§@go 12ã«ã‚¦ãƒ³ãƒãƒ©ã‚’è¿½åŠ +・ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ãƒãƒ¼ã‚µãƒ¼ã‚¯ã‚’ã¡ã‚‡ã£ã¨ãã‚Œã£ã½ã(ASPDå¢—åŠ ãªã©ã¯æœªå®Ÿè£…) +・クラウン・ジプシー 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ã®ä½¿ç”¨æ¡ä»¶ã‚’åˆå¥ã¨åŒã˜ã«å¤‰æ›´(効果ç‰ã¯æœªå®Ÿè£…) +・ブレッシングãŒæœ¬é¯–ã§ã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚¢ãƒƒãƒ—→エフェクトã ã£ãŸã®ã§ãã®ã‚ˆã†ã«å¤‰æ›´ +・本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part2 >>145 zzzã•ã‚“ã®å ±å‘Šã‚’åæ˜ +・åŒã‚¹ãƒ¬ >>143 plalaã•ã‚“ã®å ±å‘Šã‚’åæ˜ (db/) - skill_require_db.txt •ÏX + skill_require_db.txt 変更 (conf/) - help.txt ƒEƒ“ƒoƒ‰’ljÁ - map_athena.conf ƒEƒ“ƒoƒ‰ŠÖ˜A‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ - (map/) - atcommand.c NULLƒ`ƒFƒbƒN‹‰» - atcommand() @mapmove‚È‚Ç‚Å—Ž‚¿‚é–â‘è‚ðC³ - atcommand_go() ƒEƒ“ƒoƒ‰’ljÁ - battle.c NULLƒ`ƒFƒbƒN‹‰» - battle_calc_mob_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% - battle_calc_pc_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% - chat.c NULLƒ`ƒFƒbƒN‹‰» - chrif.c NULLƒ`ƒFƒbƒN‹‰» - clif.c NULLƒ`ƒFƒbƒN‹‰» - clif_parse_ActionRequest() ƒ_ƒ“ƒXŽž‚̈—‚ðŽáŠ±•ÏX - clif_parse_GlobalMessage() ƒo[ƒT[ƒNŽž‚͉ï˜b‚ªo—ˆ‚È‚¢‚悤‚É•ÏX - clif_parse_Wis() ƒo[ƒT[ƒNŽž‚͉ï˜b‚ªo—ˆ‚È‚¢‚悤‚É•ÏX - clif_parse_PartyMessage() “¯ã - clif_parse_GuildMessage() “¯ã - clif_parse_TakeItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽæ‚ê‚È‚¢‚悤‚É•ÏX - clif_parse_DropItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ð—Ž‚Æ‚¹‚È‚¢‚悤‚É•ÏX - clif_parse_UseItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX - clif_parse_EquipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‚Å‚«‚È‚¢‚悤‚É•ÏX - clif_parse_UnequipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‰ðœ‚Å‚«‚È‚¢‚悤‚É•ÏX - clif_parse_UseSkillToId() ƒo[ƒT[ƒNŽž‚̓XƒLƒ‹Žg—p‚ª‚Å‚«‚È‚¢‚悤‚É•ÏX - clif_parse_UseSkillToPos() “¯ã - clif_parse_UseSkillMap() “¯ã - guild.c NULLƒ`ƒFƒbƒN‹‰» - intif.c NULLƒ`ƒFƒbƒN‹‰» - itemdb.c NULLƒ`ƒFƒbƒN‹‰» - map.c NULLƒ`ƒFƒbƒN‹‰» - map_quit() ƒo[ƒT[ƒNŽž‚ɃƒOƒAƒEƒg‚·‚é‚ÆHP 100/SP 0‚É‚È‚é‚悤‚É•ÏX + help.txt ウンãƒãƒ©è¿½åŠ + map_athena.conf ウンãƒãƒ©é–¢é€£ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’解除 + (map/) + atcommand.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + atcommand() @mapmoveãªã©ã§è½ã¡ã‚‹å•é¡Œã‚’ä¿®æ£ + atcommand_go() ウンãƒãƒ©è¿½åŠ + battle.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + battle_calc_mob_weapon_attack() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ダメージ150% + battle_calc_pc_weapon_attack() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ダメージ150% + chat.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + chrif.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + clif.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + clif_parse_ActionRequest() ダンス時ã®å‡¦ç†ã‚’若干変更 + clif_parse_GlobalMessage() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ä¼šè©±ãŒå‡ºæ¥ãªã„よã†ã«å¤‰æ›´ + clif_parse_Wis() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ä¼šè©±ãŒå‡ºæ¥ãªã„よã†ã«å¤‰æ›´ + clif_parse_PartyMessage() åŒä¸Š + clif_parse_GuildMessage() åŒä¸Š + clif_parse_TakeItem() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ã‚¢ã‚¤ãƒ†ãƒ ã‚’å–ã‚Œãªã„よã†ã«å¤‰æ›´ + clif_parse_DropItem() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ã‚¢ã‚¤ãƒ†ãƒ ã‚’è½ã¨ã›ãªã„よã†ã«å¤‰æ›´ + clif_parse_UseItem() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ã‚¢ã‚¤ãƒ†ãƒ を使ãˆãªã„よã†ã«å¤‰æ›´ + clif_parse_EquipItem() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯è£…å‚™ã§ããªã„よã†ã«å¤‰æ›´ + clif_parse_UnequipItem() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯è£…備解除ã§ããªã„よã†ã«å¤‰æ›´ + clif_parse_UseSkillToId() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯ã‚¹ã‚ル使用ãŒã§ããªã„よã†ã«å¤‰æ›´ + clif_parse_UseSkillToPos() åŒä¸Š + clif_parse_UseSkillMap() åŒä¸Š + guild.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + intif.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + itemdb.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + map.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + map_quit() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã«ãƒã‚°ã‚¢ã‚¦ãƒˆã™ã‚‹ã¨HP 100/SP 0ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ mob.c - mob_attack() clif_fixmobpos()‚ð‘—M‚µ‚È‚¢‚悤‚É•ÏX - mob_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏX - mobskill_castend_id() “¯ãAƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX - mobskill_castend_pos() ƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX - mobskill_use_id() “¯ã - mobskill_use_pos() “¯ã - npc.c NULLƒ`ƒFƒbƒN‹‰» - party.c NULLƒ`ƒFƒbƒN‹‰» - path.c NULLƒ`ƒFƒbƒN‹‰» - pc.c NULLƒ`ƒFƒbƒN‹‰» - pc_calcstatus() ƒo[ƒT[ƒNŽž‚Í‘¬“xUP•MHP3”{AƒƒfƒBƒeƒCƒeƒBƒI‚ÌSP‰ñ•œ‘‰Á‚ðSPR‚Å‚Í‚È‚’Êí‰ñ•œ‚É‚©‚©‚é‚悤‚É‚µ‚½ - pc_heal() ƒo[ƒT[ƒNŽž‚͉ñ•œ‚µ‚È‚¢ - pc_jobchange() “]E’¼Œã1•à“®‚©‚È‚¢‚Æ•ž‚ÌF‚ª”½‰f‚³‚ê‚È‚©‚Á‚½‚Ì‚ðC³ - pc_natural_heal_sub() ƒo[ƒT[ƒN’†‚ÍSP‚ªŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX(HP‚Í—Ç‚•ª‚©‚ç‚È‚©‚Á‚½‚̂ʼnñ•œ‚·‚é‚悤‚É‚µ‚Ä‚ ‚é) - pet.c NULLƒ`ƒFƒbƒN‹‰» - skill.c - skill_castend_nodamage_id() ƒuƒŒƒbƒVƒ“ƒO“™‚̃pƒPƒbƒg‡‚ð•ÏXAƒXƒg[ƒ“ƒJ[ƒX‚ð•sŽ€‚É‚Í–³Œø‚É‚µ‚½ - skill_castend_map() ‚µ‚‚±‚¢‚‚ç‚¢‚Ƀo[ƒT[ƒNŽž‚ɃXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX - skill_check_condition() “¯ã - skill_use_pos() “¯ã - skill_use_id() “¯ã•ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç’ljÁ - skill_status_change_end() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ðÁ‹Ž‚·‚é‚悤‚É•ÏX - skill_status_change_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏXAŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚т玞SPÁ”ïAƒo[ƒT[ƒNŽžHP100ˆÈã‚È‚ç10•b‚ ‚½‚è1%Œ¸‚ç‚·‚悤‚É•ÏX - skill_status_change_start() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ð•\Ž¦‚·‚é‚悤‚É•ÏX - skill_delunit() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏX - skill_check_condition_char_sub() ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç’ljÁ - skill_check_condition_use_sub() “¯ã - skill_is_danceskill() “¯ã - skill_initunitgroup() “¯ã - trade.c NULLƒ`ƒFƒbƒN‹‰» - vending.c NULLƒ`ƒFƒbƒN‹‰» - --------------------- -//1004 by (“Ê) -ENULLƒ`ƒFƒbƒN‚ŃGƒ“ƒoƒO‚µ‚Ä‚¢‚½‚Æ‚±‚ë‚ð‚¢‚‚‚©C³‚Æ‘¼‚ÌNULLƒ`ƒFƒbƒN‹‰» -Eskill.c‚Å‚ànullpo‚ð•\Ž¦‚·‚é‚悤‚É•ÏX + mob_attack() clif_fixmobpos()ã‚’é€ä¿¡ã—ãªã„よã†ã«å¤‰æ›´ + mob_timer() NULLãƒã‚§ãƒƒã‚¯æ¡ä»¶ã‚’変更 + mobskill_castend_id() åŒä¸Šã€ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚スã‚ルを使ãˆãªã„よã†ã«å¤‰æ›´ + mobskill_castend_pos() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚スã‚ルを使ãˆãªã„よã†ã«å¤‰æ›´ + mobskill_use_id() åŒä¸Š + mobskill_use_pos() åŒä¸Š + npc.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + party.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + path.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + pc.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + pc_calcstatus() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯é€Ÿåº¦UP&MHP3å€ã€ãƒ¡ãƒ‡ã‚£ãƒ†ã‚¤ãƒ†ã‚£ã‚ªã®SPå›žå¾©å¢—åŠ ã‚’SPRã§ã¯ãªã通常回復ã«ã‹ã‹ã‚‹ã‚ˆã†ã«ã—㟠+ pc_heal() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã¯å›žå¾©ã—ãªã„ + pc_jobchange() 転è·ç›´å¾Œ1æ©å‹•ã‹ãªã„ã¨æœã®è‰²ãŒåæ˜ ã•ã‚Œãªã‹ã£ãŸã®ã‚’ä¿®æ£ + pc_natural_heal_sub() ãƒãƒ¼ã‚µãƒ¼ã‚¯ä¸ã¯SPãŒè‡ªç„¶å›žå¾©ã—ãªã„よã†ã«å¤‰æ›´(HPã¯è‰¯ã分ã‹ã‚‰ãªã‹ã£ãŸã®ã§å›žå¾©ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã‚ã‚‹) + pet.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + skill.c + skill_castend_nodamage_id() ブレッシングç‰ã®ãƒ‘ã‚±ãƒƒãƒˆé †ã‚’å¤‰æ›´ã€ã‚¹ãƒˆãƒ¼ãƒ³ã‚«ãƒ¼ã‚¹ã‚’ä¸æ»ã«ã¯ç„¡åŠ¹ã«ã—㟠+ skill_castend_map() ã—ã¤ã“ã„ãらã„ã«ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã«ã‚¹ã‚ルを使ãˆãªã„よã†ã«å¤‰æ›´ + skill_check_condition() åŒä¸Š + skill_use_pos() åŒä¸Š + skill_use_id() åŒä¸Šï¼†æœˆæ˜Žã‚Šã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰è¿½åŠ + skill_status_change_end() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã«ã¯IAアイコンを消去ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + skill_status_change_timer() NULLãƒã‚§ãƒƒã‚¯æ¡ä»¶ã‚’変更ã€æœˆæ˜Žã‚Šã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰æ™‚SP消費ã€ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚HP100以上ãªã‚‰10秒ã‚ãŸã‚Š1%減らã™ã‚ˆã†ã«å¤‰æ›´ + skill_status_change_start() ãƒãƒ¼ã‚µãƒ¼ã‚¯æ™‚ã«ã¯IAアイコンを表示ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + skill_delunit() NULLãƒã‚§ãƒƒã‚¯æ¡ä»¶ã‚’変更 + skill_check_condition_char_sub() 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰è¿½åŠ + skill_check_condition_use_sub() åŒä¸Š + skill_is_danceskill() åŒä¸Š + skill_initunitgroup() åŒä¸Š + trade.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + vending.c NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + +-------------------- +//1004 by (凸) +・NULLãƒã‚§ãƒƒã‚¯ã§ã‚¨ãƒ³ãƒã‚°ã—ã¦ã„ãŸã¨ã“ã‚ã‚’ã„ãã¤ã‹ä¿®æ£ã¨ä»–ã®NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– +・skill.cã§ã‚‚nullpoを表示ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ (map/) battle.c - battle_damage() NULLƒ`ƒFƒbƒN‹‰» - battle_heal() “¯ã + battle_damage() NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + battle_heal() åŒä¸Š clif.c - clif_damage() “¯ã + clif_damage() åŒä¸Š map.c - map_addflooritem() NULLƒ`ƒFƒbƒN‹‰» + map_addflooritem() NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– mob.c - mob_once_spawn() —]Œv‚ÈNULLƒ`ƒFƒbƒN‚ðíœ - mob_once_spawn_area() “¯ã - mob_damage() “¯ã - mob_counttargeted() “¯ã - mobskill_castend_id() “¯ã - mob_summonslave() ƒƒbƒZ[ƒWŠÔˆá‚¢‚ðC³ - pc.c - pc_damage() NULLƒ`ƒFƒbƒN‹‰» - skill.c ‚Ù‚Ú‘S•” NULLŠÖ˜AC³ - --------------------- -//1003 by (“Ê) -EjROƒNƒ‰ƒCƒAƒ“ƒg‚Å/accountŽg—pŽž‚ÉŒq‚ª‚ç‚È‚¢Œ´ˆö‚Ì0x200ƒpƒPƒbƒg–â‘è‚ðC³ -E0x1c9ƒpƒPƒbƒg‚ÌŒŠ–„‚ß‚ðˆø‚«‘±‚«Œp‘±’† -Eˆêl‚Ź‘̂⇑t‚ðŽg—p‚Å‚«‚éÝ’è(player_skill_partner_check)‚ð’ljÁ - ˆêl‚Ň‘t‚ðŽÀs‚µ‚½ê‡‚É‚Í’Êí‚̃_ƒ“ƒX‚Æ‹““®‚ª“¯‚¶‚É‚È‚è‚Ü‚· -Eƒvƒƒ{ƒbƒN‚Í•sŽ€‚ɑ΂µ‚Ä”“®‚µ‚È‚¢‚悤‚É•ÏX -EFW‚Ì‚«”ò‚΂µ”»’è‚ð•ÏX -EƒfƒŠƒ…[ƒW‚É…ê”»’è‚ð’ljÁA¹…‚ðì‚ê‚é‚Ì‚ðŠm”F -EƒnƒCƒfƒBƒ“ƒO‚Ì—LŒøŽžŠÔ‚ª³‚µ‚‹@”\‚·‚é‚悤‚ÉC³ -EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€‚ÉŽg—p‚µ‚½ê‡A¹‘®«‚Ì40ƒ_ƒ[ƒW‚ð—^‚¦‚é‚悤‚É•ÏX -EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€ˆÈŠO‚ÌMOB‚ÉŽg—p‚µ‚Ä‚àŒø‰Ê‚ª–³‚¢‚悤‚É•ÏX -E‡‘tAƒ_ƒ“ƒXA‰‰‘t’†‚ÌŒo‰ßŽžŠÔ‚É‚æ‚éSPÁ”ï‚ðŽÀ‘• -E•ñ‚Ì‚ ‚Á‚½ƒK[ƒfƒBƒAƒ“‚ªƒMƒ‹ƒh–¢‰Á“üPC‚ðƒ^[ƒQƒbƒg‚µ‚½‚çmap‚ª—Ž‚¿‚é–â‘è‚ÌC³(ƒK[ƒfƒBƒAƒ“ŽÀ‘•“–Žž‚©‚炸‚Á‚Æ—Ž‚¿‚Ä‚½H) -Emob.cAstorage.c‚Ìnullƒ`ƒFƒbƒN‚ð‹‰» - ƒGƒ‰[‚Å—Ž‚¿‚é‚ׂ«‚Æ‚±‚ë‚ð–³—‚â‚è’Ê툗‚É–ß‚µ‚Ä‚¢‚é‚Ì‚Å‘¼‚Å–â‘肪‚Å‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ - ‚»‚Ìê‡AƒRƒ“ƒ\[ƒ‹‚ÉuŠÖ”–¼ nullpov‚Æ•\Ž¦‚³‚ê‚é‚Ì‚Å•\Ž¦‚³‚ꂽꇂ͕ñ‚ð‚¨Šè‚¢‚µ‚Ü‚· - ‚à‚µ‚©‚µ‚½‚ç³í‚Ȉ—‚Å‚à•\Ž¦‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA‚»‚ÌÛ‚à•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚· - –{—ˆƒGƒ‰[AŽÀ‚ͳíA‚Ç‚¿‚ç‚É‚µ‚Ä‚à‚±‚ꂪ•\Ž¦‚³‚ê‚é‚̂̓oƒO‚Å‚· + mob_once_spawn() 余計ãªNULLãƒã‚§ãƒƒã‚¯ã‚’削除 + mob_once_spawn_area() åŒä¸Š + mob_damage() åŒä¸Š + mob_counttargeted() åŒä¸Š + mobskill_castend_id() åŒä¸Š + mob_summonslave() メッセージ間é•ã„ã‚’ä¿®æ£ + pc.c + pc_damage() NULLãƒã‚§ãƒƒã‚¯å¼·åŒ– + skill.c ã»ã¼å…¨éƒ¨ NULLé–¢é€£ä¿®æ£ + +-------------------- +//1003 by (凸) +・jROクライアントã§/account使用時ã«ç¹‹ãŒã‚‰ãªã„åŽŸå› ã®0x200パケットå•é¡Œã‚’ä¿®æ£ +・0x1c9パケットã®ç©´åŸ‹ã‚を引ã続ãç¶™ç¶šä¸ +・一人ã§è–体やåˆå¥ã‚’使用ã§ãã‚‹è¨å®š(player_skill_partner_check)ã‚’è¿½åŠ + 一人ã§åˆå¥ã‚’実行ã—ãŸå ´åˆã«ã¯é€šå¸¸ã®ãƒ€ãƒ³ã‚¹ã¨æŒ™å‹•ãŒåŒã˜ã«ãªã‚Šã¾ã™ +・プãƒãƒœãƒƒã‚¯ã¯ä¸æ»ã«å¯¾ã—ã¦ç™ºå‹•ã—ãªã„よã†ã«å¤‰æ›´ +・FWã®å¹ã飛ã°ã—判定を変更 +・デリュージã«æ°´å ´åˆ¤å®šã‚’è¿½åŠ ã€è–水を作れるã®ã‚’ç¢ºèª +・ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã®æœ‰åŠ¹æ™‚é–“ãŒæ£ã—ã機能ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +・アスペルシオをä¸æ»ã«ä½¿ç”¨ã—ãŸå ´åˆã€è–属性ã®40ダメージを与ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ +・アスペルシオをä¸æ»ä»¥å¤–ã®MOBã«ä½¿ç”¨ã—ã¦ã‚‚効果ãŒç„¡ã„よã†ã«å¤‰æ›´ +・åˆå¥ã€ãƒ€ãƒ³ã‚¹ã€æ¼”å¥ä¸ã®çµŒéŽæ™‚é–“ã«ã‚ˆã‚‹SP消費を実装 +ãƒ»å ±å‘Šã®ã‚ã£ãŸã‚¬ãƒ¼ãƒ‡ã‚£ã‚¢ãƒ³ãŒã‚®ãƒ«ãƒ‰æœªåŠ å…¥PCをターゲットã—ãŸã‚‰mapãŒè½ã¡ã‚‹å•é¡Œã®ä¿®æ£(ガーディアン実装当時ã‹ã‚‰ãšã£ã¨è½ã¡ã¦ãŸï¼Ÿ) +・mob.cã€storage.cã®nullãƒã‚§ãƒƒã‚¯ã‚’強化 + エラーã§è½ã¡ã‚‹ã¹ãã¨ã“ã‚ã‚’ç„¡ç†ã‚„り通常処ç†ã«æˆ»ã—ã¦ã„ã‚‹ã®ã§ä»–ã§å•é¡ŒãŒã§ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ + ãã®å ´åˆã€ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã«ã€Œé–¢æ•°å nullpoã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹ã®ã§è¡¨ç¤ºã•ã‚ŒãŸå ´åˆã¯å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ + ã‚‚ã—ã‹ã—ãŸã‚‰æ£å¸¸ãªå‡¦ç†ã§ã‚‚表示ã•ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€ãã®éš›ã‚‚å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ + 本æ¥ã‚¨ãƒ©ãƒ¼ã€å®Ÿã¯æ£å¸¸ã€ã©ã¡ã‚‰ã«ã—ã¦ã‚‚ã“ã‚ŒãŒè¡¨ç¤ºã•ã‚Œã‚‹ã®ã¯ãƒã‚°ã§ã™ (conf/) - battle_athena.conf player_skill_partner_check’ljÁ + battle_athena.conf player_skill_partner_checkè¿½åŠ (db/) - skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚Ì‘®«‚ð¹‚É•ÏX + skill_db.txt アスペルシオã®å±žæ€§ã‚’è–ã«å¤‰æ›´ (doc/) - conf_ref.txt player_skill_partner_checkà–¾’ljÁ + conf_ref.txt player_skill_partner_checkèª¬æ˜Žè¿½åŠ (login/) login.c - parse_login() 0x200ƒpƒPƒbƒg‘Ήž + parse_login() 0x200パケット対応 (map/) - mob.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” - storage.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” - battle.h •ÏX + mob.c NULLãƒã‚§ãƒƒã‚¯ã§ã»ã¼å…¨éƒ¨ + storage.c NULLãƒã‚§ãƒƒã‚¯ã§ã»ã¼å…¨éƒ¨ + battle.h 変更 battle.c - battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’ljÁAFW‚ð•ÏX - battle_config_read() Ý’è’ljÁ + battle_calc_magic_attack() ã‚¢ã‚¹ãƒšãƒ«ã‚·ã‚ªã‚’è¿½åŠ ã€FWを変更 + battle_config_read() è¨å®šè¿½åŠ clif.c - clif_getareachar_skillunit() ’²¸Œ‹‰Ê‚Ì”½‰f - clif_skill_setunit() “¯ã - [1001‚Æ1002‚ÌŠÔ‚Ì•ÏX“_] - skill.c NULLƒ`ƒFƒbƒN‚ð‘òŽR - skill_castend_damage_id() ƒAƒXƒyƒ‹ƒVƒI’ljÁ - skill_castend_nodamage_id() ƒAƒXƒyƒ‹ƒVƒIAƒvƒƒ{ƒbƒNˆ—•ÏX - skill_castend_id() ƒAƒXƒyƒ‹ƒVƒIˆ—•ÏX - skill_check_condition_char_sub() player_skill_partner_check‚ɑΉž - skill_check_condition_use_sub() “¯ã - skill_use_id() “¯ã - skill_check_condition() “¯ã•ƒfƒŠƒ…[ƒW‘Ήž - skill_status_change_timer() ƒnƒCƒfƒBƒ“ƒOC³Aƒ_ƒ“ƒX‰‰‘t‡‘t’†‚ÌSPÁ”ïŽÀ‘• - skill_initunitgroup() ƒ_ƒ“ƒXSPÁ”ï—p•ÏX - skill_status_change_start() “¯ã•ƒvƒƒ{ƒbƒN‚ðƒ{ƒX‚ÉŒø‚©‚È‚¢‚悤‚É(‚Å‚àbattle.c‚ÅŽ~‚ß‚Ä‚é‚©‚ç’Ê킱‚±‚Ü‚Å—ˆ‚È‚¢) + clif_getareachar_skillunit() 調査çµæžœã®åæ˜ + clif_skill_setunit() åŒä¸Š + [1001ã¨1002ã®é–“ã®å¤‰æ›´ç‚¹] + skill.c NULLãƒã‚§ãƒƒã‚¯ã‚’沢山 + skill_castend_damage_id() ã‚¢ã‚¹ãƒšãƒ«ã‚·ã‚ªè¿½åŠ + skill_castend_nodamage_id() アスペルシオã€ãƒ—ãƒãƒœãƒƒã‚¯å‡¦ç†å¤‰æ›´ + skill_castend_id() アスペルシオ処ç†å¤‰æ›´ + skill_check_condition_char_sub() player_skill_partner_checkã«å¯¾å¿œ + skill_check_condition_use_sub() åŒä¸Š + skill_use_id() åŒä¸Š + skill_check_condition() åŒä¸Šï¼†ãƒ‡ãƒªãƒ¥ãƒ¼ã‚¸å¯¾å¿œ + skill_status_change_timer() ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ä¿®æ£ã€ãƒ€ãƒ³ã‚¹æ¼”å¥åˆå¥ä¸ã®SP消費実装 + skill_initunitgroup() ダンスSP消費用変更 + skill_status_change_start() åŒä¸Šï¼†ãƒ—ãƒãƒœãƒƒã‚¯ã‚’ボスã«åŠ¹ã‹ãªã„よã†ã«(ã§ã‚‚battle.cã§æ¢ã‚ã¦ã‚‹ã‹ã‚‰é€šå¸¸ã“ã“ã¾ã§æ¥ãªã„) -------------------- -//1002 by ‚Ò‚´‚Ü‚ñ -Eƒ|[ƒ^ƒ‹ƒoƒOC³ -EƒXƒLƒ‹ŠÖŒW‚ÌNullƒ`ƒFƒbƒN‹‰»(by(“Ê)) +//1002 by ã´ã–ã¾ã‚“ +・ãƒãƒ¼ã‚¿ãƒ«ãƒã‚°ä¿®æ£ +・スã‚ル関係ã®Nullãƒã‚§ãƒƒã‚¯å¼·åŒ–(by(凸)) (map/) skill.c - skill_castend_map() C³ + skill_castend_map() ä¿®æ£ -------------------- -//1001 by (“Ê) -E0x1c9‚Å‚¢‚‚‚©ƒpƒPƒbƒg‚ðŒ©”ä‚ׂĕω»‚Ì‚È‚¢‚Æ‚±‚ë‚ðŒÅ’è’l‚Å–„‚ßž‚Ý(¡Œãî•ñ‚ªW‚Ü‚é‚Æ•Ï‚í‚é‰Â”\«‘å) -Eƒ_ƒ“ƒX’†‚ÍSP‚¾‚¯‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX -E¹‘Ì‚Å‘Š•û‚ÌSP‚ª10ˆÈ‰º‚¾‚ÆŽg—pŽ¸”s‚É‚µ‚ÄŽg—p‚µ‚½‚çSP‚ð10Œ¸‚炵‚Ä‚Ý‚é(–¢Šm”F) -E‡‘t‚̃XƒLƒ‹Žg—pƒpƒPƒbƒg‚ðŽáŠ±•ÏX +//1001 by (凸) +・0x1c9ã§ã„ãã¤ã‹ãƒ‘ケットを見比ã¹ã¦å¤‰åŒ–ã®ãªã„ã¨ã“ã‚を固定値ã§åŸ‹ã‚è¾¼ã¿(ä»Šå¾Œæƒ…å ±ãŒé›†ã¾ã‚‹ã¨å¤‰ã‚ã‚‹å¯èƒ½æ€§å¤§) +・ダンスä¸ã¯SPã ã‘回復ã—ãªã„よã†ã«å¤‰æ›´ +・è–体ã§ç›¸æ–¹ã®SPãŒ10以下ã ã¨ä½¿ç”¨å¤±æ•—ã«ã—ã¦ä½¿ç”¨ã—ãŸã‚‰SPã‚’10減らã—ã¦ã¿ã‚‹(未確èª) +・åˆå¥ã®ã‚¹ã‚ル使用パケットを若干変更 (map/) clif.c - clif_getareachar_skillunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn - clif_skill_setunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn + clif_getareachar_skillunit() 0x1c9ã®ç©´åŸ‹ã‚開始 + clif_skill_setunit() 0x1c9ã®ç©´åŸ‹ã‚開始 pc.c - pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É•ÏX + pc_natural_heal_sub() ダンスä¸ã¯SPã®ã¿å›žå¾©ã—ãªã„よã†ã«å¤‰æ›´ skill.c - skill_check_condition() •ÏX - skill_check_condition_char_sub() ¹‘Ì‚Í‘Š•û‚ÌSPƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏX - skill_check_condition_use_sub() ¹‘Ì‚Í‘Š•û‚ÌSP‚ðŒ¸‚ç‚·‚悤‚É•ÏX + skill_check_condition() 変更 + skill_check_condition_char_sub() è–体ã¯ç›¸æ–¹ã®SPãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + skill_check_condition_use_sub() è–体ã¯ç›¸æ–¹ã®SPを減らã™ã‚ˆã†ã«å¤‰æ›´ -------------------- -//1000 by ‚Ò‚´‚Ü‚ñ -E0999‚Ì•ÏXŽæ‚è–ß‚µ -Eƒgƒ‰ƒbƒv‚ÌŠª‚«ž‚ÝŽÀ‘• -EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅNPC‚܂ʼnñ•œ‚µ‚½(‚悤‚ÉŒ©‚¦‚é)–â‘èC³(–¢ƒeƒXƒg) -Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃GƒtƒFƒNƒg•ÏX(‚±‚¿‚ç‚É–¾‹L) +//1000 by ã´ã–ã¾ã‚“ +・0999ã®å¤‰æ›´å–り戻㗠+・トラップã®å·»ãè¾¼ã¿å®Ÿè£… +・イドゥンã®æž—檎ã§NPCã¾ã§å›žå¾©ã—ãŸ(よã†ã«è¦‹ãˆã‚‹)å•é¡Œä¿®æ£(未テスト) +・デモンストレーションã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆå¤‰æ›´(ã“ã¡ã‚‰ã«æ˜Žè¨˜) (map/) skill.c - skill_count_target() ’ljÁ - skill_unit_onplace()Askill_trap_splash() •ÏX + skill_count_target() è¿½åŠ + skill_unit_onplace()ã€skill_trap_splash() 変更 -------------------- //0999 by eAthena Dev Team (Yor's Fixes) (login/) @@ -764,78 +764,78 @@ I tested with it in ver. 1013, it was working (char/) added email for character deletion -------------------- -//0998 by (“Ê) -Ebattle.c‚ňø”‚Ì‘¶Ý‚ðŠm”F‚¹‚¸‚É’l‚ðŒ©‚És‚Á‚Ä‚éŠÖ”‚ð‚¢‚‚‚©C³ -Eƒ_ƒ“ƒX’†‚ÍÀ‚ê‚È‚¢‚悤‚É‚µ‚½(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>114 DoT‚³‚ñ) -Eƒ_ƒ“ƒX’†‚ÍHPASP‚ª‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX(“¯ã) -Eƒ_ƒ“ƒX’†‚Í’ÊíUŒ‚‚Å‚«‚È‚¢‚悤‚É‚µ‚½(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>116 EEE‚³‚ñ) -E‡‘t’†•Ð•û‚ª—Ž‚¿‚½ê‡AŽc‚Á‚½‚Ù‚¤‚ʼn‰‘t‚ðŒp‘±‚·‚é‚悤‚É‚µ‚½(“¯ã) -E‡‘t’†‚̓AƒhƒŠƒuˆÈŠO‚Å‚«‚È‚¢‚悤‚É•ÏX(“¯ã) -E‡‘t”“®ðŒ‚Ƀ_ƒ“ƒX’†‚¶‚á‚È‚¢•À‚Á‚Ä‚¢‚È‚¢‚ð’ljÁ(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>118 ‚ë‚낳‚ñ) -Eˆ¢C—…Žg—pŒã‚ÉHP‚à‰ñ•œ‚µ‚È‚©‚Á‚½‚Ì‚ðC³ +//0998 by (凸) +・battle.cã§å¼•æ•°ã®å˜åœ¨ã‚’確èªã›ãšã«å€¤ã‚’見ã«è¡Œã£ã¦ã‚‹é–¢æ•°ã‚’ã„ãã¤ã‹ä¿®æ£ +・ダンスä¸ã¯åº§ã‚Œãªã„よã†ã«ã—ãŸ(本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part2 >>114 DoTã•ã‚“) +・ダンスä¸ã¯HPã€SPãŒå›žå¾©ã—ãªã„よã†ã«å¤‰æ›´(åŒä¸Š) +・ダンスä¸ã¯é€šå¸¸æ”»æ’ƒã§ããªã„よã†ã«ã—ãŸ(本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part2 >>116 ・・・ã•ã‚“) +・åˆå¥ä¸ç‰‡æ–¹ãŒè½ã¡ãŸå ´åˆã€æ®‹ã£ãŸã»ã†ã§æ¼”å¥ã‚’継続ã™ã‚‹ã‚ˆã†ã«ã—ãŸ(åŒä¸Š) +・åˆå¥ä¸ã¯ã‚¢ãƒ‰ãƒªãƒ–以外ã§ããªã„よã†ã«å¤‰æ›´(åŒä¸Š) +・åˆå¥ç™ºå‹•æ¡ä»¶ã«ãƒ€ãƒ³ã‚¹ä¸ã˜ã‚ƒãªã„&座ã£ã¦ã„ãªã„ã‚’è¿½åŠ (本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part2 >>118 ã‚ã‚ã•ã‚“) +・阿修羅使用後ã«HPも回復ã—ãªã‹ã£ãŸã®ã‚’ä¿®æ£ (map/) battle.c - battle_counttargeted() C³ - battle_getŒn ‚½‚Ô‚ñ‘S•”C³ + battle_counttargeted() ä¿®æ£ + battle_getç³» ãŸã¶ã‚“å…¨éƒ¨ä¿®æ£ clif.c - clif_parse_WalkToXY() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX - clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚͉£‚ç‚È‚¢À‚ç‚È‚¢‚悤‚É•ÏX + clif_parse_WalkToXY() åˆå¥ã®åˆ¤æ–方法ã®å¤‰æ›´ + clif_parse_ActionRequest() ダンスä¸ã¯æ®´ã‚‰ãªã„座らãªã„よã†ã«å¤‰æ›´ map.c - map_quit() ƒ_ƒ“ƒX’†’f’ljÁ + map_quit() ダンスä¸æ–è¿½åŠ mob.c - mob_damage() skill_stop_dancing‚̈ø”‘‰Á‚É‚æ‚é•ÏX - pc.c - pc_setpos() “¯ã - pc_damage() “¯ã - pc_equipitem() “¯ã - pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ˆ¢C—…Žž‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É - skill.c - skill_castend_nodamage_id() skill_stop_dancing‚̈ø”‘‰Á‚É‚æ‚é•ÏX - skill_status_change_start() “¯ã - skill_check_condition_char_sub() ‘ŠŽè‚ªƒ_ƒ“ƒX’†‚âÀ‚Á‚Ä‚¢‚Ä‚à‡‘t‚Å‚«‚È‚¢‚悤‚É•ÏX - skill_check_condition_use_sub() “¯ã - skill_use_id() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX•‡‘t’†‚̓AƒhƒŠƒuˆÈŠO‹ÖŽ~‚É - skill_status_change_end() ‡‘t‚̃_ƒ“ƒXó‘Ô‰ðœ‚Í‘ŠŽè‚Ìval4‚ð0‚É‚·‚é‚悤‚É‚µ‚½ - skill_is_danceskill() –ß‚è’l•ÏX - skill_stop_dancing() ˆø”‘‰ÁA‡‘t‚ŕЕû‚¾‚¯—Ž‚¿‚½‚Æ‚«‚̈—’ljÁ - skill_delunitgroup() ‡‘tŽž‚̃Xƒe[ƒ^ƒX•ÏXˆ—‚ðª‚Ɉڂµ‚½ - skill_clear_unitgroup() Ž©•ª‚Ìbl->id‚ƃ†ƒjƒbƒgƒOƒ‹[ƒv‚Ìgroup->src_id‚ªˆá‚¤‚Æ‚«‚Í휂µ‚È‚¢‚悤‚É•ÏX - skill.h •ÏX - --------------------- -//0997 by (“Ê) -E“ñl‚Ň‘tAŽOl‚Ź‘Ì‚ðŽÀ‘• - ‡‘t ƒo[ƒhEƒ_ƒ“ƒT[‚ª—×Ú‚µ‚½ƒZƒ‹‚É‚¢‚Ä“¯‚¶ƒXƒLƒ‹‚ðŽ‚Á‚Ä‚¢‚鎞‚É”“® - ƒXƒLƒ‹ƒŒƒxƒ‹‚Í—¼ŽÒ‚̃XƒLƒ‹ƒŒƒxƒ‹‚Ì’†ŠÔ - –{ŽIŽd—l‚ª•ª‚©‚ç‚È‚¢‚¯‚ǎ΂ߗ×Ú‚àOK - ¹‘Ì Žg—pŽÒ‚ÌXŽ²‚Å-1‚Æ+1‚ÌꊂɈêl‚¸‚ƒAƒRƒ‰ƒCƒg‚©ƒvƒŠ[ƒXƒg‚ª‚¢‚鎞‚É”“®‚·‚é‚ÆŽv‚¤(–¢ƒeƒXƒg) - Žg—pŽÒ › ƒAƒRƒvƒŠ œ - OK œ›œ - - NG œ - ›œ -Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽg‚Á‚ÄÝ’uŽž‚ÉÀ‚Á‚Ä‚¢‚½Žž‚̓XƒLƒ‹Žg—pŽ¸”s‚É‚µ‚Ä‚Ý‚½ + mob_damage() skill_stop_dancingã®å¼•æ•°å¢—åŠ ã«ã‚ˆã‚‹å¤‰æ›´ + pc.c + pc_setpos() åŒä¸Š + pc_damage() åŒä¸Š + pc_equipitem() åŒä¸Š + pc_natural_heal_sub() ダンスä¸ã¯è‡ªç„¶å›žå¾©ã—ãªã„よã†ã«ï¼†é˜¿ä¿®ç¾…時ã¯SPã®ã¿å›žå¾©ã—ãªã„よã†ã« + skill.c + skill_castend_nodamage_id() skill_stop_dancingã®å¼•æ•°å¢—åŠ ã«ã‚ˆã‚‹å¤‰æ›´ + skill_status_change_start() åŒä¸Š + skill_check_condition_char_sub() 相手ãŒãƒ€ãƒ³ã‚¹ä¸ã‚„座ã£ã¦ã„ã¦ã‚‚åˆå¥ã§ããªã„よã†ã«å¤‰æ›´ + skill_check_condition_use_sub() åŒä¸Š + skill_use_id() åˆå¥ã®åˆ¤æ–方法ã®å¤‰æ›´ï¼†åˆå¥ä¸ã¯ã‚¢ãƒ‰ãƒªãƒ–以外ç¦æ¢ã« + skill_status_change_end() åˆå¥ã®ãƒ€ãƒ³ã‚¹çŠ¶æ…‹è§£é™¤ã¯ç›¸æ‰‹ã®val4ã‚’0ã«ã™ã‚‹ã‚ˆã†ã«ã—㟠+ skill_is_danceskill() 戻り値変更 + skill_stop_dancing() å¼•æ•°å¢—åŠ ã€åˆå¥ã§ç‰‡æ–¹ã ã‘è½ã¡ãŸã¨ãã®å‡¦ç†è¿½åŠ + skill_delunitgroup() åˆå¥æ™‚ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰æ›´å‡¦ç†ã‚’↑ã«ç§»ã—㟠+ skill_clear_unitgroup() 自分ã®bl->idã¨ãƒ¦ãƒ‹ãƒƒãƒˆã‚°ãƒ«ãƒ¼ãƒ—ã®group->src_idãŒé•ã†ã¨ãã¯å‰Šé™¤ã—ãªã„よã†ã«å¤‰æ›´ + skill.h 変更 + +-------------------- +//0997 by (凸) +・二人ã§åˆå¥ã€ä¸‰äººã§è–体を実装 + åˆå¥ ãƒãƒ¼ãƒ‰ãƒ»ãƒ€ãƒ³ã‚µãƒ¼ãŒéš£æŽ¥ã—ãŸã‚»ãƒ«ã«ã„ã¦åŒã˜ã‚¹ã‚ルをæŒã£ã¦ã„る時ã«ç™ºå‹• + スã‚ルレベルã¯ä¸¡è€…ã®ã‚¹ã‚ルレベルã®ä¸é–“ + 本鯖仕様ãŒåˆ†ã‹ã‚‰ãªã„ã‘ã©æ–œã‚隣接もOK + è–体 使用者ã®X軸ã§-1ã¨+1ã®å ´æ‰€ã«ä¸€äººãšã¤ã‚¢ã‚³ãƒ©ã‚¤ãƒˆã‹ãƒ—リーストãŒã„る時ã«ç™ºå‹•ã™ã‚‹ã¨æ€ã†(未テスト) + 使用者 â—‹ アコプリ â— + OK â—â—‹â— + + NG â— + â—‹â— +・トーã‚ーボックスを使ã£ã¦è¨ç½®æ™‚ã«åº§ã£ã¦ã„ãŸæ™‚ã¯ã‚¹ã‚ル使用失敗ã«ã—ã¦ã¿ãŸ (db/) - item_db.txt ‘º³‚ÌŽô‚¢—¦‚ð5%‚É(by e2‚³‚ñ) + item_db.txt æ‘æ£ã®å‘ªã„率を5%ã«(by e2ã•ã‚“) (map/) skill.c - skill_check_condition_char_sub() ’ljÁ - skill_check_condition_use_sub() ’ljÁ - skill_check_condition() •ÏX - skill_use_id() •ÏX - skill_initunitgroup() •ÏX - skill_delunitgroup() •ÏX + skill_check_condition_char_sub() è¿½åŠ + skill_check_condition_use_sub() è¿½åŠ + skill_check_condition() 変更 + skill_use_id() 変更 + skill_initunitgroup() 変更 + skill_delunitgroup() 変更 clif.c - clif_parse_UseSkillToPos() •ÏX + clif_parse_UseSkillToPos() 変更 -------------------- -//0996 by (“Ê) -EƒAƒhƒŠƒu‚Ì5•b§ŒÀ‚ðcast_db.txt‚Ìupkeep_time2‚ŧŒä‚Å‚«‚é‚悤‚É•ÏX -E‘º³‚ÅŽ©•ª‚ðŽô‚킹‚邽‚ß‚Ébonus2 bAddEff2‚ð’ljÁ -EŽô‚í‚ê‚Ä‚¢‚ÄI—¹‚Å‚«‚È‚¢Žž‚É‚àu¡‚ÍI—¹‚Å‚«‚Ü‚¹‚ñv‚ª•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚½ -Eƒ_ƒ“ƒXƒGƒtƒFƒNƒg“™ˆÚ“®Žž‚ÉŒø‰Ê‚Ì“K—p”»’f‚ªˆÚ“®‘O‚És‚í‚ê‚Ä‚¢‚½‚Ì‚ðˆÚ“®Œã‚É•ÏX•Žg‚í‚È‚‚Ä‚¢‚¢•Ï”‚ð”pŽ~ +//0996 by (凸) +・アドリブã®5秒制é™ã‚’cast_db.txtã®upkeep_time2ã§åˆ¶å¾¡ã§ãるよã†ã«å¤‰æ›´ +・æ‘æ£ã§è‡ªåˆ†ã‚’呪ã‚ã›ã‚‹ãŸã‚ã«bonus2 bAddEff2ã‚’è¿½åŠ +・呪ã‚ã‚Œã¦ã„ã¦çµ‚了ã§ããªã„時ã«ã‚‚「今ã¯çµ‚了ã§ãã¾ã›ã‚“ã€ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã—㟠+・ダンスエフェクトç‰ç§»å‹•æ™‚ã«åŠ¹æžœã®é©ç”¨åˆ¤æ–ãŒç§»å‹•å‰ã«è¡Œã‚ã‚Œã¦ã„ãŸã®ã‚’移動後ã«å¤‰æ›´ï¼†ä½¿ã‚ãªãã¦ã„ã„å¤‰æ•°ã‚’å»ƒæ¢ (db/) cast_db.txt @@ -845,180 +845,180 @@ I tested with it in ver. 1013, it was working item_bonus.txt (src/) clif.c - clif_parse_QuitGame() •ÏX - map.h addeff2,arrow_addeff2 ’ljÁ + clif_parse_QuitGame() 変更 + map.h addeff2,arrow_addeff2 è¿½åŠ pc.c - pc_calcstatus() •ÏX - pc_bonus2() •ÏX + pc_calcstatus() 変更 + pc_bonus2() 変更 skill.c - skill_additional_effect() •ÏX - skill_check_condition() •ÏX - skill_unit_move_unit_group() •ÏX + skill_additional_effect() 変更 + skill_check_condition() 変更 + skill_unit_move_unit_group() 変更 -------------------- -//0995 by (“Ê) -Ebattle.pet_lootitem‚̃fƒtƒHƒ‹ƒg‚ªyes‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ -Ebattle.pet_lootitem‚Ì“K—p‚ðforeach‘O‚Å‚â‚é‚悤‚ÉC³ -Eƒyƒbƒg‚̉Šú‰»‚Åpd->lootitem‚ª‚ ‚鎞‚µ‚©‰Šú‰»‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³ -E—̈悪ˆÚ“®‚µ‚Ä‘ÎÛ‚ª—̈悩‚甲‚¯‚Ä‚àŒø‰Ê‚ª‰ðœ‚³‚ê‚È‚¢–â‘è‚ðC³ -EƒAƒhƒŠƒu‚̓_ƒ“ƒX”“®‚©‚ç5•bˆÈãŒo‚½‚È‚¢‚ÆŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚½ +//0995 by (凸) +・battle.pet_lootitemã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãŒyesã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ +・battle.pet_lootitemã®é©ç”¨ã‚’foreachå‰ã§ã‚„るよã†ã«ä¿®æ£ +・ペットã®åˆæœŸåŒ–ã§pd->lootitemãŒã‚る時ã—ã‹åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ +ãƒ»é ˜åŸŸãŒç§»å‹•ã—ã¦å¯¾è±¡ãŒé ˜åŸŸã‹ã‚‰æŠœã‘ã¦ã‚‚効果ãŒè§£é™¤ã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ +・アドリブã¯ãƒ€ãƒ³ã‚¹ç™ºå‹•ã‹ã‚‰5秒以上経ãŸãªã„ã¨ä½¿ç”¨ã§ããªã„よã†ã«ã—㟠(map/) pet.c - pet_data_init() C³ - pet_ai_sub_hard() C³ - pet_ai_sub_hard_lootsearch() C³ - skill.c - skill_blown() •ÏX - skill_unit_onlimit() ƒGƒ‰[ƒƒbƒZ[ƒWC³ - skill_check_condition() •ÏX - skill_initunitgroup() sd_data[SC_DANCING].val3‚Égettick() - skill_unit_move_unit_group_sub() ’ljÁ - skill_unit_move_unit_group() •ÏX - skill.h skill_unit_move_unit_group() ˆø”•ÏX + pet_data_init() ä¿®æ£ + pet_ai_sub_hard() ä¿®æ£ + pet_ai_sub_hard_lootsearch() ä¿®æ£ + skill.c + skill_blown() 変更 + skill_unit_onlimit() ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ä¿®æ£ + skill_check_condition() 変更 + skill_initunitgroup() sd_data[SC_DANCING].val3ã«gettick() + skill_unit_move_unit_group_sub() è¿½åŠ + skill_unit_move_unit_group() 変更 + skill.h skill_unit_move_unit_group() 引数変更 battle.c - battle_config_read() pet_lootitem=0‚ÉC³ + battle_config_read() pet_lootitem=0ã«ä¿®æ£ pc.c - pc_walk() •ÏX + pc_walk() 変更 -------------------- //0994 by huge -Ebattle.pet_lootitem‚ª“K‰ž‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚³‚¹‚½ŒãA10•bŠÔ‚‚ç‚¢‚ÍE‚킹‚È‚¢‚悤‚ÉB +・battle.pet_lootitemãŒé©å¿œã•ã‚Œã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +・ペットã«ãƒ‘フォーマンスをã•ã›ãŸå¾Œã€10秒間ãらã„ã¯æ‹¾ã‚ã›ãªã„よã†ã«ã€‚ (map/) - map.h pet_data‚Élootitem_timer’ljÁB + map.h pet_dataã«lootitem_timerè¿½åŠ ã€‚ pet.c - pet_ai_sub_hard_lootsearch() C³B - pet_lootitem_drop() C³B + pet_ai_sub_hard_lootsearch() ä¿®æ£ã€‚ + pet_lootitem_drop() ä¿®æ£ã€‚ -------------------- -//0993 by (“Ê) -Eˆêl‚Ň‘t‚¾‚¯‚LJ‘tƒXƒLƒ‹’†‚Í“®‚¯‚È‚¢‚悤‚É -EƒAƒ“ƒR[ƒ‹ŽÀ‘•B’¼‘O‚ÉŽg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚𔼕ª‚ÌSP‚ÅŽg‚¦‚Ü‚· -Eƒ_ƒ“ƒX’†‚Ɉړ®‚·‚é‚ƃGƒtƒFƒNƒg‚àˆÚ“®‚·‚é‚悤‚É‚µ‚½ -E–¢ŽÀ‘•‚̃XƒLƒ‹‚ªŽg‚í‚ê‚é‚ÆUnknown skill‚Æ•\Ž¦‚³‚ê‚邱‚Æ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ -ESage‚̃LƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ÅŽÀ‚Í‘O‚̃XƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ÌC³ +//0993 by (凸) +・一人ã§åˆå¥ã ã‘ã©åˆå¥ã‚¹ã‚ルä¸ã¯å‹•ã‘ãªã„よã†ã« +・アンコール実装。直å‰ã«ä½¿ã£ãŸãƒ€ãƒ³ã‚¹ã‚¹ã‚ルをåŠåˆ†ã®SPã§ä½¿ãˆã¾ã™ +・ダンスä¸ã«ç§»å‹•ã™ã‚‹ã¨ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚‚移動ã™ã‚‹ã‚ˆã†ã«ã—㟠+・未実装ã®ã‚¹ã‚ルãŒä½¿ã‚れるã¨Unknown skillã¨è¡¨ç¤ºã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ +・Sageã®ã‚ャストã‚ャンセルã§å®Ÿã¯å‰ã®ã‚¹ã‚ルを覚ãˆã¦ã„ãªã‹ã£ãŸå•é¡Œã®ä¿®æ£ (map/) clif.c - clif_parse_WalkToXY() •ÏX - map.h ƒAƒ“ƒR[ƒ‹—p•Ï”‚̒ljÁ + clif_parse_WalkToXY() 変更 + map.h アンコール用変数ã®è¿½åŠ pc.c pc_walk() skill.c skill_blown skill_castend_nodamage_id - skill_unitsetting() •ÏX - skill_unit_onplace() ã©‚Å“¯‚¶ˆ—‚ð‚µ‚Ä‚¢‚écase‚ð‚Ü‚Æ‚ß‚½ - skill_unit_onout() Žg‚í‚ê‚Ä‚È‚¢unit2‚ðíœ - skill_check_condition() •ÏX + skill_unitsetting() 変更 + skill_unit_onplace() ç½ ã§åŒã˜å‡¦ç†ã‚’ã—ã¦ã„ã‚‹caseã‚’ã¾ã¨ã‚㟠+ skill_unit_onout() 使ã‚ã‚Œã¦ãªã„unit2を削除 + skill_check_condition() 変更 skill_use_id - skill_initunitgroup() Žg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•Ï”‚É“ü‚ê‚é‚悤‚É‚µ‚½ - skill_unit_move_unit_group() ’ljÁ - skill.h •ÏX + skill_initunitgroup() 使ã£ãŸãƒ€ãƒ³ã‚¹ã‚¹ã‚ルを変数ã«å…¥ã‚Œã‚‹ã‚ˆã†ã«ã—㟠+ skill_unit_move_unit_group() è¿½åŠ + skill.h 変更 -------------------- //0992 by nokia -map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â‘è‚𵂠+map_quitã‚’ä¿®æ£ã—ã¦ãƒ¡ãƒ¢ãƒªã‚’釈放ã™ã‚‹æ™‚何度もを釈放ã™ã‚‹ãŸã‚メモリã®é–“é•ã„ãŒèµ·ã“ã‚‹å•é¡Œã‚’æ‹›ã (map/) map.c map_quit() -------------------- -//0991 by (“Ê) -Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽ©•ª‚ª“¥‚ñ‚Å‚à”“®‚µ‚È‚¢–{ŽIŽd—l‚É•ÏX -EƒXƒLƒ‹‰r¥’†‚ƃfƒBƒŒƒC’†‚̓Nƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚Å‚«‚È‚¢‚悤‚É‚µ‚½‚¯‚ÇA“G‚ÉUŒ‚‚³‚ê‚Ä‚¢‚é‚Æ‚«‚ÍI—¹‚Å‚«‚Ü‚·(‚²‚ß‚ñ‚È‚³‚¢‚ÁII) +//0991 by (凸) +・トーã‚ーボックスを自分ãŒè¸ã‚“ã§ã‚‚発動ã—ãªã„本鯖仕様ã«å¤‰æ›´ +・スã‚ãƒ«è© å”±ä¸ã¨ãƒ‡ã‚£ãƒ¬ã‚¤ä¸ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’終了ã§ããªã„よã†ã«ã—ãŸã‘ã©ã€æ•µã«æ”»æ’ƒã•ã‚Œã¦ã„ã‚‹ã¨ãã¯çµ‚了ã§ãã¾ã™(ã”ã‚ã‚“ãªã•ã„ã£ï¼ï¼) (map/) clif.c - clif_parse_QuitGame() •ÏX + clif_parse_QuitGame() 変更 skill.c - skill_unitsetting() •ÏX + skill_unitsetting() 変更 -------------------- -//0990 by ‚Ò‚´‚Ü‚ñ -Eˆê•”‚̃gƒ‰ƒbƒv‚ð”͈ÍUŒ‚‚É•ÏXiŠª‚«ž‚Ý‚Í–¢ŽÀ‘•jB -Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’ljÁB - E<gatname><tab>mapflag<tab>pvp_nocalcrank<tab>dummy - @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B - E<gatname><tab>mapflag<tab>pvp_nightmaredrop<tab><item>,<type>,<per> - @PvP‚É‚ÄŽ€–S‚µ‚½ê‡A<per>‚ÌŠm—¦‚ŃAƒCƒeƒ€‚ðƒhƒƒbƒv‚µ‚Ü‚·B - @<item>: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’肵‚Ü‚·Brandom‚Æ‹Lq‚·‚é‚ÆŠŽ•i‚©‚烉ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚µ‚Ü‚·B - @<type>: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚̃^ƒCƒv‚ðŽw’肵‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” - @<per>: ƒhƒƒbƒv‚·‚éŠm—¦‚Å‚·B–œ•ª—¦‚ÅŽw’肵‚Ü‚·B +//0990 by ã´ã–ã¾ã‚“ +・一部ã®ãƒˆãƒ©ãƒƒãƒ—を範囲攻撃ã«å¤‰æ›´ï¼ˆå·»ãè¾¼ã¿ã¯æœªå®Ÿè£…)。 +・mapflagã«pvp_nocalcrankã¨pvp_nightmaredropè¿½åŠ ã€‚ + ・<gatname><tab>mapflag<tab>pvp_nocalcrank<tab>dummy +  PvPã«ã‚ˆã‚‹ãƒ©ãƒ³ã‚ング計算をã—ãªã„よã†ã«ã—ã¾ã™ã€‚ + ・<gatname><tab>mapflag<tab>pvp_nightmaredrop<tab><item>,<type>,<per> +  PvPã«ã¦æ»äº¡ã—ãŸå ´åˆã€<per>ã®ç¢ºçŽ‡ã§ã‚¢ã‚¤ãƒ†ãƒ をドãƒãƒƒãƒ—ã—ã¾ã™ã€‚ +  <item>: ドãƒãƒƒãƒ—ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ IDを指定ã—ã¾ã™ã€‚randomã¨è¨˜è¿°ã™ã‚‹ã¨æ‰€æŒå“ã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ã«ãƒ‰ãƒãƒƒãƒ—ã—ã¾ã™ã€‚ +  <type>: ドãƒãƒƒãƒ—ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®ã‚¿ã‚¤ãƒ—を指定ã—ã¾ã™ã€‚inventory:所æŒå“ equip:è£…å‚™å“ all:全部 +  <per>: ドãƒãƒƒãƒ—ã™ã‚‹ç¢ºçŽ‡ã§ã™ã€‚万分率ã§æŒ‡å®šã—ã¾ã™ã€‚ (map/) skill.c - skill_unit_onplace() •ÏX - skill_trap_splash() ’ljÁ + skill_unit_onplace() 変更 + skill_trap_splash() è¿½åŠ pc.c - pc_damage() •ÏX + pc_damage() 変更 npc.c - npc_parse_mapflag() •ÏX + npc_parse_mapflag() 変更 map.h - map_data‚Ƀƒ“ƒo’ljÁ + map_dataã«ãƒ¡ãƒ³ãƒè¿½åŠ (conf/) mapflag.txt - ƒiƒCƒgƒƒAƒ‚[ƒh‚ɃhƒƒbƒvÝ’è’ljÁ + ナイトメアモードã«ãƒ‰ãƒãƒƒãƒ—è¨å®šè¿½åŠ -------------------- -//0989 by (“Ê) -EƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒv‚ð–^Š‚ÅŒ©‚½SS‚ðŒ³‚ÉŽÀ‘•‚µ‚Ä‚Ý‚½Bˆá‚Á‚½‚ç‘ŠˆáƒXƒŒ‚Ö -EƒfƒBƒeƒNƒeƒBƒ“ƒO‚ð–^Š‚ÅŒ©‚½‰ðà•¶‚ðŒ³‚ÉŽÀ‘•‚µ‚Ä‚Ý‚½Bˆá‚Á‚½‚ç‘ŠˆáƒXƒŒ‚Ö -EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹Žž‚Ìdelete_timerƒGƒ‰[‚ɒljÁ‚ŃXƒLƒ‹ID‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚½B‚ ‚킹‚Ä•ñ‚·‚é‚ƃGƒ‰[‚ÌŒ´ˆö‚ª•ª‚©‚é‚©‚à +//0989 by (凸) +・スプリングトラップをæŸæ‰€ã§è¦‹ãŸSSã‚’å…ƒã«å®Ÿè£…ã—ã¦ã¿ãŸã€‚é•ã£ãŸã‚‰ç›¸é•ã‚¹ãƒ¬ã¸ +・ディテクティングをæŸæ‰€ã§è¦‹ãŸè§£èª¬æ–‡ã‚’å…ƒã«å®Ÿè£…ã—ã¦ã¿ãŸã€‚é•ã£ãŸã‚‰ç›¸é•ã‚¹ãƒ¬ã¸ +・ã‚ャストã‚ャンセル時ã®delete_timerエラーã«è¿½åŠ ã§ã‚¹ã‚ルIDを表示ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ã‚ã‚ã›ã¦å ±å‘Šã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã®åŽŸå› ãŒåˆ†ã‹ã‚‹ã‹ã‚‚ (map/) skill.c - skill_castend_nodamage_id() •ÏX - skill_castend_pos2() •ÏX - skill_castcancel() •ÏX + skill_castend_nodamage_id() 変更 + skill_castend_pos2() 変更 + skill_castcancel() 変更 -------------------- -//0988 by (“Ê) -Eƒg[ƒL[ƒ{ƒbƒNƒX‚Íí‚É‘«Œ³‚É’u‚¯‚é‚悤‚É•ÏX‚ÆKalen‚³‚ñ‚É–á‚Á‚½î•ñ“™‚ðŒ³‚ÉƒpƒPƒbƒg‚ð–{ŽI‚É‚ ‚킹‚Ä‚Ý‚½ -EƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv‚ÉŒø‰Ê‚ð’ljÁ‚µ‚½‚‚à‚è(–¢Šm”F) -Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ƃNƒŒƒCƒ‚ƒAƒgƒ‰ƒbƒv‚ð‰£‚é‚Æ‚«”ò‚Ԃ悤‚É‚µ‚½ -EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚Åã©(skill_require_db‚ÅŽw’肵‚½ƒAƒCƒeƒ€)‚ð‰ñŽû‚Å‚«‚é‚悤‚É‚µ‚½ -Eª‚ÌŽÀ‘•‚É‚æ‚èã©‚ÌŽžŠÔØ‚ê‚Åã©‚ªo‚éƒIƒŠƒWƒiƒ‹Žd—l‚̓Rƒƒ“ƒgƒAƒEƒg -Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ÌŒø‰ÊŽžŠÔ‚ª’·‚¢‚Ì‚ðC³ +//0988 by (凸) +・トーã‚ーボックスã¯å¸¸ã«è¶³å…ƒã«ç½®ã‘るよã†ã«å¤‰æ›´ã¨Kalenã•ã‚“ã«è²°ã£ãŸæƒ…å ±ç‰ã‚’å…ƒã«ãƒ‘ケットを本鯖ã«ã‚ã‚ã›ã¦ã¿ãŸ +・ショックウェーブトラップã«åŠ¹æžœã‚’è¿½åŠ ã—ãŸã¤ã‚‚ã‚Š(未確èª) +・ブラストマインã¨ã‚¯ãƒ¬ã‚¤ãƒ¢ã‚¢ãƒˆãƒ©ãƒƒãƒ—ã‚’æ®´ã‚‹ã¨å¹ã飛ã¶ã‚ˆã†ã«ã—㟠+・リムーブトラップã§ç½ (skill_require_dbã§æŒ‡å®šã—ãŸã‚¢ã‚¤ãƒ†ãƒ )を回åŽã§ãるよã†ã«ã—㟠+・↑ã®å®Ÿè£…ã«ã‚ˆã‚Šç½ ã®æ™‚間切れã§ç½ ãŒå‡ºã‚‹ã‚ªãƒªã‚¸ãƒŠãƒ«ä»•æ§˜ã¯ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆ +・ブラストマインã®åŠ¹æžœæ™‚é–“ãŒé•·ã„ã®ã‚’ä¿®æ£ (db/) cast_db.txt (map/) battle.c - battle_check_target() •ÏX + battle_check_target() 変更 mob.c - mobskill_castend_pos() •ÏX + mobskill_castend_pos() 変更 skill.c - skill_additional_effect() •ÏX - skill_blown() •ÏX - skill_castend_nodamage_id() •ÏX - skill_castend_pos2() •ÏX - skill_unitsetting() •ÏX - skill_unit_onplace() •ÏX - skill_unit_ondamaged() •ÏX - skill_castend_pos() •ÏX - skill_unit_timer_sub() •ÏX + skill_additional_effect() 変更 + skill_blown() 変更 + skill_castend_nodamage_id() 変更 + skill_castend_pos2() 変更 + skill_unitsetting() 変更 + skill_unit_onplace() 変更 + skill_unit_ondamaged() 変更 + skill_castend_pos() 変更 + skill_unit_timer_sub() 変更 -------------------- -//0987 by ŒÓ’±—– +//0987 by 胡è¶è˜ -Eƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’è‰Â”\‚É - Ú‚µ‚‚Í script_ref.txt ‚ðŽQÆ +・ユーザー定義関数/サブルーティンã«å¼•æ•°ã‚’指定å¯èƒ½ã« + 詳ã—ã㯠script_ref.txt ã‚’å‚ç…§ (map/) scirpt.c - buildin_getarg()’ljÁ - buildin_callsub(),buildin_callfunc(),run_func()C³ + buildin_getarg()è¿½åŠ + buildin_callsub(),buildin_callfunc(),run_func()ä¿®æ£ (doc/) script_ref.txt - ˆø”‚ɂ‚¢‚Ä‚Ìà–¾’ljÁ + 引数ã«ã¤ã„ã¦ã®èª¬æ˜Žè¿½åŠ -Egetguildname,getpartyname,getcastlename,strcharinfoC³ - C_STR‚Œ蔕¶Žš—ñ(C_CONSTSTR)‚ð•Ô‚µ‚Ä‚¢‚½–â‘èC³ - strcharinfo‚ŃMƒ‹ƒh–¼‚È‚Ç‚ðŠ“¾‚·‚éÛA–¢Š‘®‚¾‚Á‚½‚Æ‚«‚Ì–â‘è +・getguildname,getpartyname,getcastlename,strcharinfoä¿®æ£ + C_STRã§å®šæ•°æ–‡å—列(C_CONSTSTR)ã‚’è¿”ã—ã¦ã„ãŸå•é¡Œä¿®æ£ + strcharinfoã§ã‚®ãƒ«ãƒ‰åãªã©ã‚’所得ã™ã‚‹éš›ã€æœªæ‰€å±žã ã£ãŸã¨ãã®å•é¡Œ (map/) script.c @@ -1026,43 +1026,43 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â buildin_getcastlename(),buildin_strcharinfo() -------------------- -//0986 by (“Ê) -Eclient_packet‚Ì‹Lq‚©‚ç„Ž@‚µ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽÀ‘•‚µ‚Ä‚Ý‚½‚‚à‚è +//0986 by (凸) +・client_packetã®è¨˜è¿°ã‹ã‚‰æŽ¨å¯Ÿã—ã¦ãƒˆãƒ¼ã‚ーボックスを実装ã—ã¦ã¿ãŸã¤ã‚‚ã‚Š (db/) skill_db.txt (map/) clif.c - clif_talkiebox() ’ljÁ - clif_parse_UseSkillToPos() •ÏX - clif_parse() •ÏX - clif.h •ÏX - map.h •ÏX + clif_talkiebox() è¿½åŠ + clif_parse_UseSkillToPos() 変更 + clif_parse() 変更 + clif.h 変更 + map.h 変更 skill.c - skill_castend_pos2() •ÏX - skill_unitsetting() •ÏX - skill_unit_onplace() •ÏX + skill_castend_pos2() 変更 + skill_unitsetting() 変更 + skill_unit_onplace() 変更 -------------------- -//0985 by (“Ê) -EƒT[ƒo[snapshot -E/script/extension‚ÉŒê‚è•”‚ð’ljÁ‚µ‚½‚è -E0984‚ÅAthenaŽG’kƒXƒŒƒbƒh part3>>92 Michael‚³‚ñ‚ÌC³‚ðŽæ‚èž‚ñ‚Å‚½ -EƒoƒO•ñƒXƒŒƒbƒh part5 >>45‚É“]Ú‚³‚ê‚Ä‚½ ‚ ‚â‚Ë‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý -EƒoƒO•ñƒXƒŒƒbƒh part5 >>54 rari‚³‚ñ‚Ì‚½‚Ê‚«–XC³‚ðŽæ‚èž‚Ý +//0985 by (凸) +・サーãƒãƒ¼snapshot +・/script/extensionã«èªžã‚Šéƒ¨ã‚’è¿½åŠ ã—ãŸã‚Š +・0984ã§Athena雑談スレッド part3>>92 Michaelã•ã‚“ã®ä¿®æ£ã‚’å–り込んã§ãŸ +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part5 >>45ã«è»¢è¼‰ã•ã‚Œã¦ãŸ ã‚ã‚„ãã•ã‚“ã®ä¿®æ£ã‚’å–り込㿠+・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part5 >>54 rariã•ã‚“ã®ãŸã¬ã帽修æ£ã‚’å–り込㿠(script/extension/) - npc_event_kataribe6.txt ’ljÁ - npc_event_kataribe7.txt ’ljÁ + npc_event_kataribe6.txt è¿½åŠ + npc_event_kataribe7.txt è¿½åŠ (script/npc/) - quest/npc_event_hat.txt C³ - job/npc_job_magician.txt C³ + quest/npc_event_hat.txt ä¿®æ£ + job/npc_job_magician.txt ä¿®æ£ -------------------- -//0984 by (“Ê) -EƒZ[ƒW‚̃tƒŠ[ƒLƒƒƒXƒg‚Æ‚¢‚¤ƒXƒLƒ‹‚Ì‘¶Ý‚ð’m‚ç‚È‚©‚Á‚½‚Ì‚Å0983‚Ì•ÏX‚ðˆê•”–ß‚µ -EƒAƒCƒeƒ€XV‚µ‚½‚¯‚Ç‚‚ê”L‚ƃCƒ“ƒfƒBƒAƒ“ƒoƒ“ƒ_ƒi‚ª‘•”õ‚Å‚«‚È‚¢H -Eƒ}ƒbƒvƒtƒ‰ƒO‚ƃ‚ƒ“ƒXƒ^[”z’u‚ðÅV”Å‚É +//0984 by (凸) +・セージã®ãƒ•ãƒªãƒ¼ã‚ャストã¨ã„ã†ã‚¹ã‚ルã®å˜åœ¨ã‚’知らãªã‹ã£ãŸã®ã§0983ã®å¤‰æ›´ã‚’一部戻㗠+・アイテム更新ã—ãŸã‘ã©åž‚れ猫ã¨ã‚¤ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³ãƒãƒ³ãƒ€ãƒŠãŒè£…å‚™ã§ããªã„? +・マップフラグã¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼é…置を最新版㫠(db/) item_db.txt @@ -1072,166 +1072,166 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â npc_monster.txt (map/) clif.c - clif_parse_WalkToXY() C³ + clif_parse_WalkToXY() ä¿®æ£ -------------------- -//0983 by (“Ê) -E’·‚¢‰r¥’†‚É•à‚«‚Ü‚í‚ꂽ‹C‚ª‚·‚é‚Ì‚ÅC³ -Eƒyƒbƒgƒ‹[ƒŒƒbƒg‰ñ“]’†‚É‘ÎÛ‚ª’@‚«ŽE‚³‚ꂽ‚çmap-server‚ª¢‚é‚Ì‚ðC³ -EƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚«Š·‚¦‚̎蔲‚«ˆ—‚ð‚¿‚å‚Á‚ƃ}ƒV‚É‚µ‚½ +//0983 by (凸) +・長ã„è© å”±ä¸ã«æ©ãã¾ã‚ã‚ŒãŸæ°—ãŒã™ã‚‹ã®ã§ä¿®æ£ +・ペットルーレット回転ä¸ã«å¯¾è±¡ãŒå©ã殺ã•ã‚ŒãŸã‚‰map-serverãŒå›°ã‚‹ã®ã‚’ä¿®æ£ +・プãƒãƒ•ã‚§ãƒƒã‚µãƒ¼ ライフ置ãæ›ãˆã®æ‰‹æŠœã処ç†ã‚’ã¡ã‚‡ã£ã¨ãƒžã‚·ã«ã—㟠(map/) clif.c - clif_parse_WalkToXY() C³ + clif_parse_WalkToXY() ä¿®æ£ pet.c - pet_catch_process2() C³ + pet_catch_process2() ä¿®æ£ skill.c - skill_castend_nodamage_id() C³ + skill_castend_nodamage_id() ä¿®æ£ -------------------- -//0982 by (“Ê) -E“]¶ƒXƒLƒ‹‚Ì` - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ‘ŠŽè‚ªPC‚Ìꇂ͌•‚¶‚á‚È‚¯‚ê‚Î’µ‚Ë•Ô‚³‚È‚¢—\’è - ƒvƒƒtƒFƒbƒT[ ƒƒ‚ƒ‰ƒCƒY 12•b‚̌ŒèƒLƒƒƒXƒgƒ^ƒCƒ€A‚»‚ÌŒãƒXƒLƒ‹Žg—p‚̃LƒƒƒXƒgƒ^ƒCƒ€‚ª3‰ñ‚¾‚¯1/3‚É‚È‚é - ƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚«Š·‚¦ HP‚ð10%Œ¸‚炵‚ÄSP‚ð‘‚â‚·BŒ¸‚Á‚½HP‚̃GƒtƒFƒNƒg‚Í–³‚µ‚É‚µ‚Ä‚Ý‚½ -EŒ©Ø‚è‚Ɖñ”𗦑‰Á‚ÌFlee㸂ªƒXƒe[ƒ^ƒX•Ï‰»Žž‚É‚µ‚©”½‰f‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³ -E0981‚ÅŽ©•ªˆÈŠO‚Í•à‚¢‚½‚ç•ž‚ÌF‚ª–ß‚Á‚Ä‚µ‚Ü‚¤‚Ì‚ð‚È‚ñ‚Æ‚©‚µ‚½‚‚à‚è +//0982 by (凸) +・転生スã‚ルã®ã€œ + ストーカー リジェクトソード 相手ãŒPCã®å ´åˆã¯å‰£ã˜ã‚ƒãªã‘ã‚Œã°è·³ãè¿”ã•ãªã„予定 + プãƒãƒ•ã‚§ãƒƒã‚µãƒ¼ メモライズ 12秒ã®å›ºå®šã‚ャストタイムã€ãã®å¾Œã‚¹ã‚ル使用ã®ã‚ャストタイムãŒ3回ã ã‘1/3ã«ãªã‚‹ + プãƒãƒ•ã‚§ãƒƒã‚µãƒ¼ ライフ置ãæ›ãˆ HPã‚’10%減らã—ã¦SPを増やã™ã€‚減ã£ãŸHPã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã¯ç„¡ã—ã«ã—ã¦ã¿ãŸ +・見切りã¨å›žé¿çŽ‡å¢—åŠ ã®Flee上昇ãŒã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰åŒ–時ã«ã—ã‹åæ˜ ã•ã‚Œã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ +・0981ã§è‡ªåˆ†ä»¥å¤–ã¯æ©ã„ãŸã‚‰æœã®è‰²ãŒæˆ»ã£ã¦ã—ã¾ã†ã®ã‚’ãªã‚“ã¨ã‹ã—ãŸã¤ã‚‚ã‚Š (db/) skill_require_db.txt (map/) battle.c - battle_calc_damage() C³ + battle_calc_damage() ä¿®æ£ clif.c - clif_movechar() C³ - clif_getareachar_pc() C³ - pc.c - pc_calcstatus() C³ - skill.c - SkillStatusChangeTable •ÏX - skill_castend_nodamage_id() •ÏX - skill_use_id() •ÏX - skill_use_pos() •ÏX - skill_status_change_timer() •ÏX - skill_status_change_start() •ÏX - skill.h •ÏX + clif_movechar() ä¿®æ£ + clif_getareachar_pc() ä¿®æ£ + pc.c + pc_calcstatus() ä¿®æ£ + skill.c + SkillStatusChangeTable 変更 + skill_castend_nodamage_id() 変更 + skill_use_id() 変更 + skill_use_pos() 変更 + skill_status_change_timer() 変更 + skill_status_change_start() 変更 + skill.h 変更 -------------------- -//0981 by (“Ê) -E“]¶ƒXƒLƒ‹‚Ì` - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ˆê’èŠm—¦‚Ń_ƒ[ƒW‚𔼕ª‚É‚µ‚ÄŒ¸‚炵‚½•ª‚ð‘ŠŽè‚É’µ‚Ë•Ô‚·‚悤‚É‚µ‚½c‚ªA’µ‚Ë•Ô‚µ‚½ƒ_ƒ[ƒW‚̃GƒtƒFƒNƒgo‚Ü‚¹‚ñ -E•ž‚ÌF‚ð•ÏX••Û‘¶‚µ‚Ä‚¢‚éꇂɃŠƒƒO‚·‚é‚ÆŒ³‚ÌF‚É–ß‚Á‚Ä‚é‚悤‚ÉŒ©‚¦‚é–â‘è‚ÌC³ +//0981 by (凸) +・転生スã‚ルã®ã€œ + ストーカー リジェクトソード 一定確率ã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’åŠåˆ†ã«ã—ã¦æ¸›ã‚‰ã—ãŸåˆ†ã‚’相手ã«è·³ãè¿”ã™ã‚ˆã†ã«ã—ãŸâ€¦ãŒã€è·³ãè¿”ã—ãŸãƒ€ãƒ¡ãƒ¼ã‚¸ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆå‡ºã¾ã›ã‚“ +・æœã®è‰²ã‚’変更&ä¿å˜ã—ã¦ã„ã‚‹å ´åˆã«ãƒªãƒã‚°ã™ã‚‹ã¨å…ƒã®è‰²ã«æˆ»ã£ã¦ã‚‹ã‚ˆã†ã«è¦‹ãˆã‚‹å•é¡Œã®ä¿®æ£ (db/) skill_db.txt (map/) clif.c - clif_parse_LoadEndAck() C³ + clif_parse_LoadEndAck() ä¿®æ£ battle.c - battle_calc_damage() C³ + battle_calc_damage() ä¿®æ£ skill.c - skill_status_change_timer() C³ - skill_status_change_start() C³ + skill_status_change_timer() ä¿®æ£ + skill_status_change_start() ä¿®æ£ -------------------- -//0980 by (“Ê) -E—á‚É‚æ‚Á‚Ä“]¶ƒXƒLƒ‹‚ƃ‚ƒ“ƒNŠÖ˜A - ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒNƒŠƒeƒBƒJƒ‹—¦’²®H - ƒnƒCƒEƒBƒU[ƒh ƒ\ƒEƒ‹ƒhƒŒƒCƒ“ MSP‘—Ê‚ÆMob‚ð“|‚µ‚½‚Æ‚«‚ÉSP(mobLv*(65+15*SkillLv)/100)‰ñ•œB‚Å‚à–{“–‚͔͈ÍUŒ‚‚Ìꇂ͉ñ•œ‚µ‚È‚¢‚炵‚¢H - ƒnƒCƒEƒBƒU[ƒh –‚–@—Í‘• Žg‚Á‚½‚çMATK‚ªSkillLv%‘—ÊBŽŸ‚̃XƒLƒ‹Žg—pŽž‚ÉŒ³‚É–ß‚é - ƒ‚ƒ“ƒN ‹C’D ‚¿‚å‚Á‚ÆæŽæ‚肵‚Ä20%‚ÌŠm—¦‚Å“G‚ÌLv*2‚ÌSP‚ð‹zŽûB¬Œ÷‚µ‚½‚Æ‚«‚̓^[ƒQƒbƒg‚ðŽæ“¾‚·‚é‚悤‚É‚µ‚Ä‚Ý‚½ -EƒAƒCƒeƒ€–¼‚ðjROƒEƒ“ƒoƒ‰‚É€‹’‚³‚¹‚Ä‚Ý‚½‚‚à‚è +//0980 by (凸) +・例ã«ã‚ˆã£ã¦è»¢ç”Ÿã‚¹ã‚ルã¨ãƒ¢ãƒ³ã‚¯é–¢é€£ + スナイパー シャープシューティング クリティカル率調整? + ãƒã‚¤ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ ソウルドレイン MSP増é‡ã¨Mobを倒ã—ãŸã¨ãã«SP(mobLv*(65+15*SkillLv)/100)回復。ã§ã‚‚本当ã¯ç¯„囲攻撃ã®å ´åˆã¯å›žå¾©ã—ãªã„らã—ã„? + ãƒã‚¤ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ é”法力増幅 使ã£ãŸã‚‰MATKãŒSkillLv%増é‡ã€‚次ã®ã‚¹ã‚ル使用時ã«å…ƒã«æˆ»ã‚‹ + モンク 気奪 ã¡ã‚‡ã£ã¨å…ˆå–ã‚Šã—ã¦20%ã®ç¢ºçŽ‡ã§æ•µã®Lv*2ã®SPã‚’å¸åŽã€‚æˆåŠŸã—ãŸã¨ãã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã¿ãŸ +・アイテムåã‚’jROウンãƒãƒ©ã«æº–æ‹ ã•ã›ã¦ã¿ãŸã¤ã‚‚ã‚Š (db/) cast_db.txt item_db.txt (map/) battle.c - battle_calc_pc_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() 変更 mob.c - mob_damage() •ÏX + mob_damage() 変更 pc.c - pc_calcstatus() •ÏX + pc_calcstatus() 変更 skill.c - skill_castend_nodamage_id() •ÏX - skill_use_id() •ÏX - skill_use_pos() •ÏX - skill_status_change_end() •ÏX - skill_status_change_timer() •ÏX - skill_status_change_start() •ÏX + skill_castend_nodamage_id() 変更 + skill_use_id() 変更 + skill_use_pos() 変更 + skill_status_change_end() 変更 + skill_status_change_timer() 変更 + skill_status_change_start() 変更 -------------------- -//0979 by (“Ê) -E“]¶ƒXƒLƒ‹‚ð‚¿‚å‚Á‚Æ’²® - ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ •ŠíUŒ‚‚ÅBaseATKŒvŽZ‚ðMATK2‚Å‚µ‚Ä‚Ý‚é -E‘§‚ð–{ŽIŽd—l•—‚ÉHP‚ÆSP‚̉ñ•œƒ^ƒCƒ}[‚𕪂¯‚ÄÀ‚Á‚Ä‚¢‚È‚‚Ä‚à“®‚©‚È‚¯‚ê‚΃^ƒCƒ}[‚ªi‚ނ悤‚É‚µ‚½ -Eˆ¢C—…Žg—pŒã‚ÉHP‚ÆSP‚ª5•ªŠÔŽ©‘R‰ñ•œ‚µ‚È‚¢–{ŽIŽg—p•—‚É‚µ‚½(csat_db.txt‚Ìupkeep_time2‚Å’²®‰Â”\) -EŒÃ‚¢gcc‚Åskill_unit_timer_sub_onplace()‚ ‚½‚è‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚É‚È‚Á‚½‚Ì‚ðC³ +//0979 by (凸) +・転生スã‚ルをã¡ã‚‡ã£ã¨èª¿æ•´ + ãƒã‚¤ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ マジッククラッシャー æ¦å™¨æ”»æ’ƒã§BaseATK計算をMATK2ã§ã—ã¦ã¿ã‚‹ +・æ¯å¹ã‚’本鯖仕様風ã«HPã¨SPã®å›žå¾©ã‚¿ã‚¤ãƒžãƒ¼ã‚’分ã‘ã¦åº§ã£ã¦ã„ãªãã¦ã‚‚å‹•ã‹ãªã‘ã‚Œã°ã‚¿ã‚¤ãƒžãƒ¼ãŒé€²ã‚€ã‚ˆã†ã«ã—㟠+・阿修羅使用後ã«HPã¨SPãŒ5分間自然回復ã—ãªã„本鯖使用風ã«ã—ãŸ(csat_db.txtã®upkeep_time2ã§èª¿æ•´å¯èƒ½) +・å¤ã„gccã§skill_unit_timer_sub_onplace()ã‚ãŸã‚Šã§ã‚³ãƒ³ãƒ‘イルエラーã«ãªã£ãŸã®ã‚’ä¿®æ£ (db/) cast_db.txt (map/) battle.c - battle_calc_pet_weapon_attack() •ÏX - battle_calc_mob_weapon_attack() •ÏX - battle_calc_pc_weapon_attack() •ÏX + battle_calc_pet_weapon_attack() 変更 + battle_calc_mob_weapon_attack() 変更 + battle_calc_pc_weapon_attack() 変更 map.h pc.c - pc_authok() •ÏX - pc_walk() •ÏX - pc_spirit_heal() íœ - pc_spirit_heal_hp() ’ljÁ - pc_spirit_heal_sp() ’ljÁ - pc_natural_heal_sub() •ÏX - skill.c - skill_additional_effect() •ÏX - skill_castend_damage_id() •ÏX - skill_status_change_start() •ÏX - skill_unit_timer_sub_onplace() C³ - --------------------- -//0978 by (“Ê) -E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX - ƒXƒiƒCƒp[ ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg ‚Æ‚è‚ ‚¦‚¸”ò‚Ô‚¾‚¯‚¾‚ÆŽv‚Á‚Ä‚‚¾‚³‚¢ - ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒ_ƒ[ƒW‘‰Á‚¾‚¯‚Ç1‘Ì‚¾‚¯ - ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒAƒ[ƒoƒ‹ƒJƒ“ ƒ_ƒ[ƒW‘‰Á‚Æ9‰ñUŒ‚ - ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ ƒGƒtƒFƒNƒg‚¾‚¯ + pc_authok() 変更 + pc_walk() 変更 + pc_spirit_heal() 削除 + pc_spirit_heal_hp() è¿½åŠ + pc_spirit_heal_sp() è¿½åŠ + pc_natural_heal_sub() 変更 + skill.c + skill_additional_effect() 変更 + skill_castend_damage_id() 変更 + skill_status_change_start() 変更 + skill_unit_timer_sub_onplace() ä¿®æ£ + +-------------------- +//0978 by (凸) +・転生スã‚ルを修æ£ã—ãŸã‚Šè‰²ã€… + スナイパー ファルコンアサルト ã¨ã‚Šã‚ãˆãšé£›ã¶ã ã‘ã ã¨æ€ã£ã¦ãã ã•ã„ + スナイパー シャープシューティング ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã ã‘ã©1体ã ã‘ + クラウン・ジプシー ã‚¢ãƒãƒ¼ãƒãƒ«ã‚«ãƒ³ ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã¨9回攻撃 + ãƒã‚¤ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ マジッククラッシャー エフェクトã ã‘ -EƒAƒCƒeƒ€ŒðŠ·‚Åd—Ê‚ÌŒvŽZ‚ªˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ +・アイテム交æ›ã§é‡é‡ã®è¨ˆç®—ãŒé•ã£ã¦ã„ãŸã®ã‚’ä¿®æ£ (doc/) - client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV + client_packet.txt パケット長テーブル更新 (map/) battle.c - battle_calc_misc_attack() •ÏX - battle_calc_pet_weapon_attack() •ÏX - battle_calc_mob_weapon_attack() •ÏX - battle_calc_pc_weapon_attack() •ÏX - clif.c ƒpƒPƒbƒg’·‚Ì’è‹`‚ðXV + battle_calc_misc_attack() 変更 + battle_calc_pet_weapon_attack() 変更 + battle_calc_mob_weapon_attack() 変更 + battle_calc_pc_weapon_attack() 変更 + clif.c パケット長ã®å®šç¾©ã‚’æ›´æ–° skill.c - skill_castend_damage_id() •ÏX + skill_castend_damage_id() 変更 trade.c - trade_tradeadditem() C³ + trade_tradeadditem() ä¿®æ£ -------------------- -//0977 by (“Ê) -E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX - ƒAƒTƒVƒ“ƒNƒƒX ƒƒeƒIƒAƒTƒ‹ƒg ƒGƒtƒFƒNƒg‚ªˆá‚¤H - ƒ[ƒhƒiƒCƒg ƒvƒŒƒbƒVƒƒ[ •K’†ƒ_ƒ[ƒW‚É‚µ‚Ä‚Ý‚½ - ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh‚Ì•K’†damage2‚ª‘¼‚Å‚à“K—p‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³ - ƒ[ƒhƒiƒCƒg ƒSƒXƒyƒ‹ ƒGƒtƒFƒNƒgoŒ»ˆÊ’u‚Ì’²® - ƒnƒCƒvƒŠ[ƒXƒg ƒAƒVƒƒƒ“ƒvƒeƒBƒI Œø‰ÊŽÀ‘• - ƒnƒCƒvƒŠ[ƒXƒg ƒƒfƒBƒeƒCƒeƒBƒI Œø‰ÊŽÀ‘• - ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ SG‚Ý‚½‚¢‚ÉMob‚ªN“ü‚µ‚悤‚Æ‚·‚é‚Æ‚«”ò‚΂³‚ê‚é‚悤‚É‚µ‚½ - ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg Œø‰ÊŽÀ‘• - ƒzƒƒCƒgƒXƒ~ƒX ƒƒ‹ƒgƒ_ƒEƒ“ ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) - ƒzƒƒCƒgƒXƒ~ƒX ƒNƒŠƒGƒCƒgƒRƒCƒ“ –¼‘O“ü‚è‚Ì‹à‰Ý‚Æ‚©ì‚ê‚邾‚¯ - ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) - ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) - ƒvƒƒtƒFƒbƒT[ ƒtƒHƒOƒEƒH[ƒ‹ ƒGƒtƒFƒNƒg‚Æ—LŒøŽžŠÔ‚¾‚¯ - ƒXƒiƒCƒp[ ƒEƒCƒ“ƒhƒEƒH[ƒN ‘¬“x㸂ÆQMAŽ„‚ð–Y‚ê‚È‚¢‚Å‚ª‚©‚©‚é‚Ɖ𜂳‚ê‚é‚悤‚É‚µ‚½ - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg QMAŽ„‚ð–Y‚ê‚È‚¢‚łʼn𜂳‚ê‚é‚悤‚É‚µ‚Ä‚Ý‚½ -EƒgƒDƒ‹[ƒTƒCƒg‚Ì’Ô‚èŠÔˆá‚¢‚ðC³ -Estorage.c‚ŃRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚É‚µ‚½‚‚à‚è +//0977 by (凸) +・転生スã‚ルを修æ£ã—ãŸã‚Šè‰²ã€… + アサシンクãƒã‚¹ メテオアサルト エフェクトãŒé•ã†ï¼Ÿ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ プレッシャー å¿…ä¸ãƒ€ãƒ¡ãƒ¼ã‚¸ã«ã—ã¦ã¿ãŸ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ オーラブレードã®å¿…ä¸damage2ãŒä»–ã§ã‚‚é©ç”¨ã•ã‚Œã¦ã„ãŸã®ã‚’ä¿®æ£ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ゴスペル エフェクト出ç¾ä½ç½®ã®èª¿æ•´ + ãƒã‚¤ãƒ—リースト アシャンプティオ 効果実装 + ãƒã‚¤ãƒ—リースト メディテイティオ 効果実装 + ãƒã‚¤ãƒ—リースト ãƒã‚¸ãƒªã‚« SGã¿ãŸã„ã«MobãŒä¾µå…¥ã—よã†ã¨ã™ã‚‹ã¨å¹ã飛ã°ã•ã‚Œã‚‹ã‚ˆã†ã«ã—㟠+ ホワイトスミス カートブースト 効果実装 + ホワイトスミス メルトダウン エフェクトã¨çŠ¶æ…‹ç•°å¸¸æ™‚é–“ã ã‘(実際ã®çŠ¶æ…‹å¤‰åŒ–ã¯ç„¡ã—) + ホワイトスミス クリエイトコイン åå‰å…¥ã‚Šã®é‡‘貨ã¨ã‹ä½œã‚Œã‚‹ã ã‘ + ストーカー リジェクトソード エフェクトã¨çŠ¶æ…‹ç•°å¸¸æ™‚é–“ã ã‘(実際ã®çŠ¶æ…‹å¤‰åŒ–ã¯ç„¡ã—) + クラウン・ジプシー マリオãƒãƒƒãƒˆã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ« エフェクトã¨çŠ¶æ…‹ç•°å¸¸æ™‚é–“ã ã‘(実際ã®çŠ¶æ…‹å¤‰åŒ–ã¯ç„¡ã—) + プãƒãƒ•ã‚§ãƒƒã‚µãƒ¼ フォグウォール エフェクトã¨æœ‰åŠ¹æ™‚é–“ã ã‘ + スナイパー ウインドウォーク 速度上昇ã¨QMã€ç§ã‚’忘れãªã„ã§ãŒã‹ã‹ã‚‹ã¨è§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«ã—㟠+ スナイパー トゥルーサイト QMã€ç§ã‚’忘れãªã„ã§ã§è§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¦ã¿ãŸ +・トゥルーサイトã®ç¶´ã‚Šé–“é•ã„ã‚’ä¿®æ£ +・storage.cã§ã‚³ãƒ³ãƒ‘イルè¦å‘ŠãŒå‡ºãªã„よã†ã«ã—ãŸã¤ã‚‚ã‚Š (db/) cast_db.txt @@ -1240,62 +1240,62 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â produce_db.txt (map/) battle.c - battle_get_str() C³ - battle_get_agi() C³ - battle_get_vit() C³ - battle_get_int() C³ - battle_get_dex() C³ - battle_get_luk() C³ - battle_get_flee() C³ - battle_get_hit() C³ - battle_get_critical() C³ - battle_get_baseatk() C³ - battle_get_atk() C³ - battle_get_atk2() C³ - battle_get_def() C³ - battle_get_def2() C³ - battle_get_speed() C³ - battle_calc_damage() C³ - battle_calc_pet_weapon_attack() •ÏX - battle_calc_mob_weapon_attack() •ÏX - battle_calc_pc_weapon_attack() •ÏX - pc.c - pc_calcstatus() C³ - skill.c - skill_get_unit_id() C³ - skill_additional_effect() C³ - skill_castend_nodamage_id() C³ - skill_castend_pos2() C³ - skill_unit_group() C³ - skill_unit_onplace() C³ - skill_unit_onout() C³ - skill_castend_pos() C³ - skill_check_condition() C³ - skill_status_change_end() C³ - skill_status_change_start() C³ - skill_can_produce_mix() C³ - skill_produce_mix() C³ - skill.h C³ + battle_get_str() ä¿®æ£ + battle_get_agi() ä¿®æ£ + battle_get_vit() ä¿®æ£ + battle_get_int() ä¿®æ£ + battle_get_dex() ä¿®æ£ + battle_get_luk() ä¿®æ£ + battle_get_flee() ä¿®æ£ + battle_get_hit() ä¿®æ£ + battle_get_critical() ä¿®æ£ + battle_get_baseatk() ä¿®æ£ + battle_get_atk() ä¿®æ£ + battle_get_atk2() ä¿®æ£ + battle_get_def() ä¿®æ£ + battle_get_def2() ä¿®æ£ + battle_get_speed() ä¿®æ£ + battle_calc_damage() ä¿®æ£ + battle_calc_pet_weapon_attack() 変更 + battle_calc_mob_weapon_attack() 変更 + battle_calc_pc_weapon_attack() 変更 + pc.c + pc_calcstatus() ä¿®æ£ + skill.c + skill_get_unit_id() ä¿®æ£ + skill_additional_effect() ä¿®æ£ + skill_castend_nodamage_id() ä¿®æ£ + skill_castend_pos2() ä¿®æ£ + skill_unit_group() ä¿®æ£ + skill_unit_onplace() ä¿®æ£ + skill_unit_onout() ä¿®æ£ + skill_castend_pos() ä¿®æ£ + skill_check_condition() ä¿®æ£ + skill_status_change_end() ä¿®æ£ + skill_status_change_start() ä¿®æ£ + skill_can_produce_mix() ä¿®æ£ + skill_produce_mix() ä¿®æ£ + skill.h ä¿®æ£ storage.c - storage_comp_item() C³ - storage.h C³ - --------------------- -//0976 by (“Ê) -E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX -E€”õ‚¾‚¯‚µ‚ÄŽÀ‘•‚Å‚«‚Ä‚È‚¢ƒXƒLƒ‹‚à‚ ‚è‚Ü‚· - ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh ‘½•ª‚±‚ñ‚ÈŠ´‚¶H - ƒ[ƒhƒiƒCƒg ƒpƒŠƒCƒ“ƒO ’µ‚Ë•Ô‚·‚¯‚ÇUŒ‚‚ð1‰ñŽ~‚ß‚é‚Ì‚Í–¢ŽÀ‘• - ƒ[ƒhƒiƒCƒg ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ ƒCƒ“ƒfƒ…ƒA`‚Í—Ç‚•ª‚©‚ç‚È‚¢‚Ì‚Å•ú’u - ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX ’Êíƒ_ƒ[ƒW‘‰Á‚Æd—ʃ_ƒ[ƒW‘‰Á‚ƈꉞ5‰ñUŒ‚(‚È‚ñ‚©ˆá‚¤‹C‚ª‚·‚é) - ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ… ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ÏXH - ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ÏXH - ƒAƒTƒVƒ“ƒNƒƒX ƒAƒhƒoƒ“ƒXƒhƒJƒ^[ƒ‹Œ¤‹† ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H - ƒXƒiƒCƒp[ ƒEƒBƒ“ƒhƒEƒH[ƒN ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H‚Å‚à‘¬“x㸂Ƃ©‚Æ‹£‡‚µ‚½Žž‚̈—‚Í–¢ŽÀ‘• - ƒXƒpƒCƒ_[ƒEƒFƒbƒu ‚Æ‚è‚ ‚¦‚¸ƒAƒ“ƒNƒ‹ƒXƒlƒA‚Æ“¯‚¶‚悤‚ÈŠ´‚¶•‰ñ”𗦔¼Œ¸ - ƒ`ƒƒƒ“ƒsƒIƒ“ ‹¶‹CŒ÷ “K“–‚É‘‚₵‚Ä‚¢‚½‚Ì‚ð‚¿‚á‚ñ‚Æ‘‚â‚·‚悤‚É‚µ‚½ -EoŒŒó‘Ô‚ÆœÜó‘Ô‚ÌŽæ‚舵‚¢‚ª‚æ‚‚í‚©‚è‚Ü‚¹‚ñ‚ÁII + storage_comp_item() ä¿®æ£ + storage.h ä¿®æ£ + +-------------------- +//0976 by (凸) +・転生スã‚ルを修æ£ã—ãŸã‚Šè‰²ã€… +・準備ã ã‘ã—ã¦å®Ÿè£…ã§ãã¦ãªã„スã‚ルもã‚ã‚Šã¾ã™ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ オーラブレード 多分ã“ã‚“ãªæ„Ÿã˜ï¼Ÿ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ パリイング è·³ãè¿”ã™ã‘ã©æ”»æ’ƒã‚’1回æ¢ã‚ã‚‹ã®ã¯æœªå®Ÿè£… + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ コンセントレーション インデュア〜ã¯è‰¯ã分ã‹ã‚‰ãªã„ã®ã§æ”¾ç½® + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ スパイラルピアース é€šå¸¸ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã¨é‡é‡ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã¨ä¸€å¿œ5回攻撃(ãªã‚“ã‹é•ã†æ°—ãŒã™ã‚‹) + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ヘッドクラッシュ ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã¨ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰æ›´ï¼Ÿ + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ジョイントビート ãƒ€ãƒ¡ãƒ¼ã‚¸å¢—åŠ ã¨ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰æ›´ï¼Ÿ + アサシンクãƒã‚¹ アドãƒãƒ³ã‚¹ãƒ‰ã‚«ã‚¿ãƒ¼ãƒ«ç ”究 ãŸã¶ã‚“ã“ã‚“ãªæ„Ÿã˜ï¼Ÿ + スナイパー トゥルーサイト ãŸã¶ã‚“ã“ã‚“ãªæ„Ÿã˜ï¼Ÿ + スナイパー ウィンドウォーク ãŸã¶ã‚“ã“ã‚“ãªæ„Ÿã˜ï¼Ÿã§ã‚‚速度上昇ã¨ã‹ã¨ç«¶åˆã—ãŸæ™‚ã®å‡¦ç†ã¯æœªå®Ÿè£… + スパイダーウェッブ ã¨ã‚Šã‚ãˆãšã‚¢ãƒ³ã‚¯ãƒ«ã‚¹ãƒã‚¢ã¨åŒã˜ã‚ˆã†ãªæ„Ÿã˜ï¼†å›žé¿çŽ‡åŠæ¸› + ãƒãƒ£ãƒ³ãƒ”オン 狂気功 é©å½“ã«å¢—ã‚„ã—ã¦ã„ãŸã®ã‚’ã¡ã‚ƒã‚“ã¨å¢—ã‚„ã™ã‚ˆã†ã«ã—㟠+・出血状態ã¨éª¨æŠ˜çŠ¶æ…‹ã®å–り扱ã„ãŒã‚ˆãã‚ã‹ã‚Šã¾ã›ã‚“ã£ï¼ï¼ (db/) cast_db.txt @@ -1305,206 +1305,206 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â db_ref.txt (map/) battle.c - battle_get_str() C³ - battle_get_agi() C³ - battle_get_vit() C³ - battle_get_int() C³ - battle_get_dex() C³ - battle_get_luk() C³ - battle_get_flee() C³ - battle_get_hit() C³ - battle_get_critical() C³ - battle_get_baseatk() C³ - battle_get_atk() C³ - battle_get_atk2() C³ - battle_get_def() C³ - battle_get_def2() C³ - battle_get_speed() C³ - battle_calc_damage() C³ + battle_get_str() ä¿®æ£ + battle_get_agi() ä¿®æ£ + battle_get_vit() ä¿®æ£ + battle_get_int() ä¿®æ£ + battle_get_dex() ä¿®æ£ + battle_get_luk() ä¿®æ£ + battle_get_flee() ä¿®æ£ + battle_get_hit() ä¿®æ£ + battle_get_critical() ä¿®æ£ + battle_get_baseatk() ä¿®æ£ + battle_get_atk() ä¿®æ£ + battle_get_atk2() ä¿®æ£ + battle_get_def() ä¿®æ£ + battle_get_def2() ä¿®æ£ + battle_get_speed() ä¿®æ£ + battle_calc_damage() ä¿®æ£ clif.c - clif_parse_WalkToXY() C³ + clif_parse_WalkToXY() ä¿®æ£ mob.c - mob_can_move() C³ - mobskill_castend_pos() C³ - pc.c - pc_calcstatus() C³ - pc_checkallowskill() C³ - skill.c - skill_get_unit_id() C³ - skill_additional_effect() C³ - skill_castend_nodamage_id() C³ - skill_castend_pos2() C³ - skill_unit_group() C³ - skill_unit_onplace() C³ - skill_unit_onout() C³ - skill_castend_pos() C³ - skill_check_condition() C³ - skill_status_change_end() C³ - skill_status_change_start() C³ - skill_readdb() C³ - skill.h C³ + mob_can_move() ä¿®æ£ + mobskill_castend_pos() ä¿®æ£ + pc.c + pc_calcstatus() ä¿®æ£ + pc_checkallowskill() ä¿®æ£ + skill.c + skill_get_unit_id() ä¿®æ£ + skill_additional_effect() ä¿®æ£ + skill_castend_nodamage_id() ä¿®æ£ + skill_castend_pos2() ä¿®æ£ + skill_unit_group() ä¿®æ£ + skill_unit_onplace() ä¿®æ£ + skill_unit_onout() ä¿®æ£ + skill_castend_pos() ä¿®æ£ + skill_check_condition() ä¿®æ£ + skill_status_change_end() ä¿®æ£ + skill_status_change_start() ä¿®æ£ + skill_readdb() ä¿®æ£ + skill.h ä¿®æ£ -------------------- //0975 by Sin -E0973‚ÅŽÀ‘•‚³‚ꂽƒXƒNƒŠƒvƒg‚É‚æ‚éBaseLv, JobLv‚Ì•ÏXŽž‚ÉA -@ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚âƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽæ“¾‚Å‚«‚é‚悤‚ÉC³B -@¦Ž¿–âƒXƒŒpart5 >>115 ”Y‚ß‚él ‚³‚ñ‚Ìpc.c‚ðŽQl‚É‚³‚¹‚Ä’¸‚«‚Ü‚µ‚½B‘½ŽÓB +・0973ã§å®Ÿè£…ã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—トã«ã‚ˆã‚‹BaseLv, JobLvã®å¤‰æ›´æ™‚ã«ã€ + ステータスãƒã‚¤ãƒ³ãƒˆã‚„スã‚ルãƒã‚¤ãƒ³ãƒˆã‚’å–å¾—ã§ãるよã†ã«ä¿®æ£ã€‚ + ※質å•ã‚¹ãƒ¬part5 >>115 æ‚©ã‚る人 ã•ã‚“ã®pc.cã‚’å‚考ã«ã•ã›ã¦é ‚ãã¾ã—ãŸã€‚多è¬ã€‚ (map/) pc.c pc_setparam() - case SP_BASELEVEL: C³ - case SP_JOBLEVEL: C³ + case SP_BASELEVEL: ä¿®æ£ + case SP_JOBLEVEL: ä¿®æ£ -------------------- //0974 by latte -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð–{ŽI‚ÉŠî‚«C³ - ƒAƒ“ƒfƒbƒhˆ«–‚‹§ˆÃˆÅ•t—^ - ”½“®ƒ_ƒ[ƒW”¼Œ¸Aƒ‚[ƒVƒ‡ƒ“‚È‚µ - MOB(PC)‚ªd‚È‚Á‚½‚Æ‚«‚ÌHIT” - %UPŒn•ŠíƒJ[ƒhŒø‰Ê‚È‚µ - ‘®«‘Š«“ñdŒvŽZ - MOBƒ_ƒ[ƒW•\Ž¦”’ +・グランドクãƒã‚¹ã‚’本鯖ã«åŸºã¥ãä¿®æ£ + アンデッド悪é”強制暗闇付与 + å動ダメージåŠæ¸›ã€ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãªã— + MOB(PC)ãŒé‡ãªã£ãŸã¨ãã®HITæ•° + %UPç³»æ¦å™¨ã‚«ãƒ¼ãƒ‰åŠ¹æžœãªã— + 属性相性二é‡è¨ˆç®— + MOBダメージ表示白 - Œã”¼4€–Ú‚ÍÝ’è‰Â + 後åŠ4é …ç›®ã¯è¨å®šå¯ -E퓬Šî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚«”÷C³iDEXƒTƒCƒY•â³A‹|Å’áƒ_ƒAPCƒTƒCƒY•â³j +・戦闘基本計算を本鯖ã«åŸºã¥ã微修æ£ï¼ˆDEXサイズ補æ£ã€å¼“最低ダメã€PCサイズ補æ£ï¼‰ -EŠ®‘S‰ñ”ð - ƒXƒ^ƒ““™‚ÅŠ®‘S‰ñ”ð‚ª”¶‚µ‚È‚©‚Á‚½‚Ì‚ðC³ - AGIVITƒyƒiƒ‹ƒeƒB‚ªŠ®‘S‰ñ”ð‚Ì“G‚àƒJƒEƒ“ƒg‚µ‚ÄŒvŽZ‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³@Ý’è‰Â - ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–¢C³ +ãƒ»å®Œå…¨å›žé¿ + スタンç‰ã§å®Œå…¨å›žé¿ãŒç™ºç”Ÿã—ãªã‹ã£ãŸã®ã‚’ä¿®æ£ + AGIVITペナルティãŒå®Œå…¨å›žé¿ã®æ•µã‚‚カウントã—ã¦è¨ˆç®—ã•ã‚Œã¦ã„ãŸã®ã‚’ä¿®æ£ã€€è¨å®šå¯ + オートカウンターã¯æœªä¿®æ£ -E‘qŒÉ‚ð•Â‚¶‚é‚Æ‚«AƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚é‚悤‚É‚µ‚½ +・倉庫を閉ã˜ã‚‹ã¨ãã€ã‚¢ã‚¤ãƒ†ãƒ IDã§ã‚½ãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ã—㟠-Ekalen‚³‚ñ‚̃vƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘¢‚µ‚Ä - ¤‹Æ–h‰q’lA“ŠŽ‘‹àŠzA•ó” ‚Ì”‚ð–{ŽI‚É€‹’(¤‹Æ’l‚Í1~100) - ‘SÔ‚ÉÝ’u +・kalenã•ã‚“ã®ãƒ—ãƒï¼‘執事NPCã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚’æ”¹é€ ã—㦠+ 商æ¥é˜²è¡›å€¤ã€æŠ•è³‡é‡‘é¡ã€å®ç®±ã®æ•°ã‚’本鯖ã«æº–æ‹ (商æ¥å€¤ã¯1~100) + å…¨ç ¦ã«è¨ç½® (/script/npc) - aldeg_cas01.txt ... prtg_cas05.txt C³ + aldeg_cas01.txt ... prtg_cas05.txt ä¿®æ£ (/script/npc/gvg) - aldeg_cas01.txt ... prtg_cas05.txt ’ljÁ - tbox.txt ’ljÁ + aldeg_cas01.txt ... prtg_cas05.txt è¿½åŠ + tbox.txt è¿½åŠ (/conf) battle_athena.conf - 6€–ڒljÁ + 6é …ç›®è¿½åŠ (/map) mob.c/mob.h - mob_attack() C³ - mob_counttargeted_sub(),mob_counttargeted() C³ - mobskill_use() C³iª‚̈ø”‚¾‚¯j + mob_attack() ä¿®æ£ + mob_counttargeted_sub(),mob_counttargeted() ä¿®æ£ + mobskill_use() ä¿®æ£ï¼ˆâ†‘ã®å¼•æ•°ã ã‘) pc.c/pc.h - pc_counttargeted_sub(),pc_counttargeted() C³ - pc_attack_timer() C³ + pc_counttargeted_sub(),pc_counttargeted() ä¿®æ£ + pc_attack_timer() ä¿®æ£ pet.c - pet_attack() C³ + pet_attack() ä¿®æ£ map.h - pc_data, mob_data, map_data •Ï”‚P‚’ljÁ - enum1‚’ljÁ + pc_data, mob_data, map_data 変数1ã¤è¿½åŠ + enum1ã¤è¿½åŠ map.c/map.h - map_count_oncell() ’ljÁ skill.c‚Å‚æ‚©‚Á‚½‚©‚àEEE + map_count_oncell() è¿½åŠ skill.cã§ã‚ˆã‹ã£ãŸã‹ã‚‚・・・ skill.c - GXŠÖ˜AC³(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace()) + GX関連修æ£(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace()) - battle.c C³ - battle.h C³ + battle.c ä¿®æ£ + battle.h ä¿®æ£ storage.c/storage.h - storage_comp_item() ’ljÁ - sortage_sortitem(), sortage_gsortitem() ’ljÁ - storage_storageclose(), storage_guild_storageclose() C³ + storage_comp_item() è¿½åŠ + sortage_sortitem(), sortage_gsortitem() è¿½åŠ + storage_storageclose(), storage_guild_storageclose() ä¿®æ£ -------------------- -//0973 by Ž‚Žqo^.^o -EƒXƒNƒŠƒvƒg‚ÌBASELEVEL,JOBLEVEL–½—ߒljÁ - —á: set BASELEVEL,1; - —á: set JOBLEVEL,1; +//0973 by ç…åo^.^o +・スクリプトã®BASELEVEL,JOBLEVELå‘½ä»¤è¿½åŠ + 例: set BASELEVEL,1; + 例: set JOBLEVEL,1; (map/) pc.c pc_setparam() - case SP_BASELEVEL: €–ڒljÁ - case SP_JOBLEVEL: €–ڒljÁ + case SP_BASELEVEL: é …ç›®è¿½åŠ + case SP_JOBLEVEL: é …ç›®è¿½åŠ -------------------- -//0972 by (“Ê) -E“]¶ƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚¾‚¯‚¢‚‚‚©’ljÁ‚µ‚½‚è -Eó‘ԕω»‚Í‚»‚Ì‚¤‚¿’N‚©‚ª - ƒGƒtƒFƒNƒg(ƒXƒe[ƒ^ƒX•Ï‰»ƒAƒCƒRƒ“ŠÜ‚Þ)‚Ì‚Ý - SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ - SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ - SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ - SC_BERSERK: /* ƒo[ƒT[ƒN */ +//0972 by (凸) +・転生スã‚ルをエフェクトã ã‘ã„ãã¤ã‹è¿½åŠ ã—ãŸã‚Š +・状態変化ã¯ãã®ã†ã¡èª°ã‹ãŒ + エフェクト(ステータス変化アイコンå«ã‚€)ã®ã¿ + SC_AURABLADE: /* オーラブレード */ + SC_PARRYING: /* パリイング */ + SC_CONCENTRATION: /* コンセントレーション */ + SC_TENSIONRELAX: /* テンションリラックス */ + SC_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ SC_ASSUMPTIO: /* */ - SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ - SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + SC_TURESIGHT: /* トゥルーサイト */ + SC_CARTBOOST: /* カートブースト */ + SC_WINDWALK: /* ウインドウォーク */ (db/) cast_db.txt (map/) skill.h skill.c - SkillStatusChangeTable[] €–ڒljÁ - skill_castend_nodamage_id() €–ڒljÁ - skill_status_change_end() €–ڒljÁ - skill_status_change_start() €–ڒljÁ + SkillStatusChangeTable[] é …ç›®è¿½åŠ + skill_castend_nodamage_id() é …ç›®è¿½åŠ + skill_status_change_end() é …ç›®è¿½åŠ + skill_status_change_start() é …ç›®è¿½åŠ -------------------- -//0971 by (“Ê) -Eatcommand.h‚ÉŽc‚Á‚Ä‚¢‚½jobchange2‚Æ‚©‚ÌŽcŠ[‚ðíœ -E“]¶ƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚¾‚¯‚¢‚‚‚©’ljÁ‚µ‚½‚èƒ`ƒƒƒ“ƒsƒIƒ“‚Í‚»‚ê‚È‚è‚ɒljÁ‚µ‚½‚è - ƒGƒtƒFƒNƒg‚Ì‚Ý - ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ(HP_BASILICA) - ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg(WS_CARTBOOST) - ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg(SN_SIGHT) - ƒWƒvƒV[ ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç(CG_MOONLIT) - ƒpƒ‰ƒfƒBƒ“ ƒSƒXƒyƒ‹(PA_GOSPEL) - ’ljÁƒ_ƒ[ƒW“™‚È‚µ - ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ…(LK_HEADCRUSH) - ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg(LK_JOINTBEAT) - ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX(LK_SPIRALPIERCE) - ƒpƒ‰ƒfƒBƒ“ ƒvƒŒƒbƒVƒƒ[(PA_PRESSURE) - ƒpƒ‰ƒfƒBƒ“ ƒTƒNƒŠƒtƒ@ƒCƒX(PA_SACRIFICE) - ‚»‚ê‚È‚è(ƒRƒ“ƒ{‚ÍŒq‚ª‚è‚Ü‚·‚ªƒfƒBƒŒƒC‚Í“K“–Aƒ_ƒ[ƒW’ljÁ‚Í‚ ‚邯‚Ç‚»‚êˆÈŠO‚̒ljÁŒø‰Ê‚Í–³‚µ) - ƒ`ƒƒƒ“ƒsƒIƒ“ –ÒŒÕd”hŽR(CH_PALMSTRIKE) - ƒ`ƒƒƒ“ƒsƒIƒ“ •šŒÕŒ(CH_TIGERFIST) - ƒ`ƒƒƒ“ƒsƒIƒ“ ˜A’Œ•öŒ‚(CH_CHAINCRUSH) - ƒ`ƒƒƒ“ƒsƒIƒ“ ‹¶‹CŒ÷(CH_SOULCOLLECT) +//0971 by (凸) +・atcommand.hã«æ®‹ã£ã¦ã„ãŸjobchange2ã¨ã‹ã®æ®‹éª¸ã‚’削除 +・転生スã‚ルをエフェクトã ã‘ã„ãã¤ã‹è¿½åŠ ã—ãŸã‚Šãƒãƒ£ãƒ³ãƒ”オンã¯ãã‚Œãªã‚Šã«è¿½åŠ ã—ãŸã‚Š + エフェクトã®ã¿ + ãƒã‚¤ãƒ—リースト ãƒã‚¸ãƒªã‚«(HP_BASILICA) + ホワイトスミス カートブースト(WS_CARTBOOST) + スナイパー トゥルーサイト(SN_SIGHT) + ジプシー 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰(CG_MOONLIT) + パラディン ゴスペル(PA_GOSPEL) + è¿½åŠ ãƒ€ãƒ¡ãƒ¼ã‚¸ç‰ãªã— + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ヘッドクラッシュ(LK_HEADCRUSH) + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ ジョイントビート(LK_JOINTBEAT) + ãƒãƒ¼ãƒ‰ãƒŠã‚¤ãƒˆ スパイラルピアース(LK_SPIRALPIERCE) + パラディン プレッシャー(PA_PRESSURE) + パラディン サクリファイス(PA_SACRIFICE) + ãã‚Œãªã‚Š(コンボã¯ç¹‹ãŒã‚Šã¾ã™ãŒãƒ‡ã‚£ãƒ¬ã‚¤ã¯é©å½“ã€ãƒ€ãƒ¡ãƒ¼ã‚¸è¿½åŠ ã¯ã‚ã‚‹ã‘ã©ãれ以外ã®è¿½åŠ 効果ã¯ç„¡ã—) + ãƒãƒ£ãƒ³ãƒ”オン 猛虎硬派山(CH_PALMSTRIKE) + ãƒãƒ£ãƒ³ãƒ”オン ä¼è™Žæ‹³(CH_TIGERFIST) + ãƒãƒ£ãƒ³ãƒ”オン 連柱崩撃(CH_CHAINCRUSH) + ãƒãƒ£ãƒ³ãƒ”オン 狂気功(CH_SOULCOLLECT) (db/) cast_db.txt skill_db.txt skill_require_db.txt (map/) - atcommand.h ƒSƒ~íœ + atcommand.h ゴミ削除 battle.c - battle_calc_pet_weapon_attack() •ÏX - battle_calc_mob_weapon_attack() •ÏX - battle_calc_pc_weapon_attack() •ÏX + battle_calc_pet_weapon_attack() 変更 + battle_calc_mob_weapon_attack() 変更 + battle_calc_pc_weapon_attack() 変更 clif.c - clif_parse_UseSkillToId() •ÏX + clif_parse_UseSkillToId() 変更 skill.c - skill_get_unit_id() €–ڒljÁ - skill_attack() ƒ`ƒƒƒ“ƒsƒIƒ“ƒRƒ“ƒ{ˆ—’ljÁ - skill_castend_damage_id() •ÏX - skill_castend_nodamage_id() •ÏX - skill_castend_id() •ÏX - skill_unitsetting() •ÏX - skill_check_condition() •ÏX - skill_use_id() •ÏX + skill_get_unit_id() é …ç›®è¿½åŠ + skill_attack() ãƒãƒ£ãƒ³ãƒ”オンコンボ処ç†è¿½åŠ + skill_castend_damage_id() 変更 + skill_castend_nodamage_id() 変更 + skill_castend_id() 変更 + skill_unitsetting() 変更 + skill_check_condition() 変更 + skill_use_id() 変更 -------------------- -//0970 by (“Ê) -EƒhƒŒƒCƒN‚̃EƒH[ƒ^[ƒ{[ƒ‹‚ªˆÙí‚É’É‚¢(121”H‚炤)‚Ì‚ÅLv5ˆÈã‚ÌꇂÍ25”‚ɧŒÀ -EƒVƒOƒiƒ€ƒNƒ‹ƒVƒX‚ÌŒvŽZŽ®‚ð14+SkillLv‚©‚ç10+SkillLv*2•ÏX -Eƒ\[ƒX‚Ì‹C‚ªŒü‚¢‚½‚Æ‚±‚ë‚É—Ž‘‚« -EDBŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä“¯« +//0970 by (凸) +・ドレイクã®ã‚¦ã‚©ãƒ¼ã‚¿ãƒ¼ãƒœãƒ¼ãƒ«ãŒç•°å¸¸ã«ç—›ã„(121発食らã†)ã®ã§Lv5以上ã®å ´åˆã¯25発ã«åˆ¶é™ +・シグナムクルシスã®è¨ˆç®—å¼ã‚’14+SkillLvã‹ã‚‰10+SkillLv*2変更 +・ソースã®æ°—ãŒå‘ã„ãŸã¨ã“ã‚ã«è½æ›¸ã +・DB関係をã¾ã¨ã‚ã¦åŒæ¢± (map/) - battle.c ƒRƒƒ“ƒgQY(BB)¶·¶· + battle.c コメント_〆(。。)カキカキ skill.c skill_status_change_start() (db/) cast_db.txt @@ -1515,420 +1515,420 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â skill_tree.txt -------------------- -//0969 by ‚Ò‚´‚Ü‚ñ +//0969 by ã´ã–ã¾ã‚“ -E”’nŽæ‚èó‘ԂŕЕû‚ªŽ€–S‚µ‚½ê‡A•Ð•û‚Ì”’nŽæ‚肪‰ðœ‚³‚ê‚È‚¢–â‘èC³ -Ebattle_athena.conf‚É€–ڒljÁ -@ƒyƒbƒgEƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚Ì–³‘®«’ÊíUŒ‚‚ð‘®«–³‚µ‚É‚·‚é‚©”Û‚©‚ðÝ’è‚Å‚«‚Ü‚· -@Ú‚µ‚‚Íconf_ref‚ðB -E—ƒRƒ}ƒ“ƒh@idsearchŽÀ‘• -@ƒ[ƒh‚µ‚½item_db‚©‚猟õŒê‹å‚Ƀ}ƒbƒ`‚·‚éƒAƒCƒeƒ€‚ÆID‚ð—…—ñ‚·‚éƒRƒ}ƒ“ƒh‚Å‚· -@—Ⴆ‚Îu@idsearch ƒŒƒCv‚Æ“ü—Í‚µ‚½ê‡AƒuƒŒƒCƒh‚⃌ƒCƒhƒŠƒbƒNƒJ[ƒh“™‚ªˆø‚Á‚©‚©‚è‚Ü‚· -EƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ŽÀ‘• -@‘•”õ”j‰ó‚Í–¢ŽÀ‘•‚Å‚· -EƒCƒhƒDƒ“‚Ì—ÑŒç‚̉ñ•œŽd—l‚ðŠÛ‚²‚Æ•ÏXB +・白刃å–り状態ã§ç‰‡æ–¹ãŒæ»äº¡ã—ãŸå ´åˆã€ç‰‡æ–¹ã®ç™½åˆƒå–ã‚ŠãŒè§£é™¤ã•ã‚Œãªã„å•é¡Œä¿®æ£ +・battle_athena.confã«é …ç›®è¿½åŠ + ペット・プレイヤー・モンスターã®ç„¡å±žæ€§é€šå¸¸æ”»æ’ƒã‚’属性無ã—ã«ã™ã‚‹ã‹å¦ã‹ã‚’è¨å®šã§ãã¾ã™ + 詳ã—ãã¯conf_refを。 +ãƒ»ï¼ ã‚³ãƒžãƒ³ãƒ‰@idsearch実装 + ãƒãƒ¼ãƒ‰ã—ãŸitem_dbã‹ã‚‰æ¤œç´¢èªžå¥ã«ãƒžãƒƒãƒã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã¨IDを羅列ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã§ã™ + 例ãˆã°ã€Œ@idsearch レイã€ã¨å…¥åŠ›ã—ãŸå ´åˆã€ãƒ–レイドやレイドリックカードç‰ãŒå¼•ã£ã‹ã‹ã‚Šã¾ã™ +・アシッドテラーã¨ãƒ‡ãƒ¢ãƒ³ã‚¹ãƒˆãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³å®Ÿè£… +ã€€è£…å‚™ç ´å£Šã¯æœªå®Ÿè£…ã§ã™ +・イドゥンã®æž—檎ã®å›žå¾©ä»•æ§˜ã‚’丸ã”ã¨å¤‰æ›´ã€‚ (map/) battle.c battle.h - ‘®«•â³‚ÌC³‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŽZoŽ®’ljÁ“™B - battle_config‚É€–ڒljÁ + 属性補æ£ã®ä¿®æ£ã‚„アシッドテラー・デモンストレーションã®ãƒ€ãƒ¡ãƒ¼ã‚¸ç®—出å¼è¿½åŠ ç‰ã€‚ + battle_configã«é …ç›®è¿½åŠ skill.c - skill_idun_heal()’ljÁBforeachinarea‚ň—‚·‚é‚悤‚É•ÏX - ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̈—’ljÁB + skill_idun_heal()è¿½åŠ ã€‚foreachinareaã§å‡¦ç†ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + アシッドテラーã¨ãƒ‡ãƒ¢ãƒ³ã‚¹ãƒˆãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®å‡¦ç†è¿½åŠ 。 atcommand.c atcommand.h - @idsearch’ljÁB + @idsearchè¿½åŠ ã€‚ -------------------- -//0968 by ŒÓ’±—– +//0968 by 胡è¶è˜ -EƒLƒƒƒ‰ƒNƒ^[ID‚ªŽg‚¢‚܂킳‚ê‚È‚¢‚悤‚ÉC³ -EƒLƒƒƒ‰ƒNƒ^[휎žAƒp[ƒeƒB[AƒMƒ‹ƒh‚ð’E‘Þ‚·‚é‚悤‚ÉC³ -EƒAƒJƒEƒ“ƒg휎žAƒLƒƒƒ‰ƒNƒ^[‚Æ‘qŒÉ‚ð휂·‚é‚悤‚ÉC³ -E‘qŒÉ/ƒMƒ‹ƒh‘qŒÉ휎žA‘qŒÉ“à‚̃yƒbƒg‚ð휂·‚é‚悤‚ÉC³ - E’ˆÓFƒƒOƒCƒ“‚µ‚Ä‚¢‚éƒAƒJƒEƒ“ƒg‚ð휂µ‚½ê‡‚Ì“®ì‚Í•s–¾ +・ã‚ャラクターIDãŒä½¿ã„ã¾ã‚ã•ã‚Œãªã„よã†ã«ä¿®æ£ +・ã‚ャラクター削除時ã€ãƒ‘ーティーã€ã‚®ãƒ«ãƒ‰ã‚’脱退ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +・アカウント削除時ã€ã‚ャラクターã¨å€‰åº«ã‚’削除ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +・倉庫/ギルド倉庫削除時ã€å€‰åº«å†…ã®ãƒšãƒƒãƒˆã‚’削除ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ + ・注æ„:ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„るアカウントを削除ã—ãŸå ´åˆã®å‹•ä½œã¯ä¸æ˜Ž (char/) char.c - ƒpƒPƒbƒg2730‚̈—Achar_delete()’ljÁA휈—C³‚È‚Ç + パケット2730ã®å‡¦ç†ã€char_delete()è¿½åŠ ã€å‰Šé™¤å‡¦ç†ä¿®æ£ãªã© int_storage.c/int_party.c/int_guild.c/int_party.h/int_guild.h - inter_party_leave(),inter_guild_leave()’ljÁA - inter_storage_delete(),inter_guild_storage_delete()C³‚È‚Ç + inter_party_leave(),inter_guild_leave()è¿½åŠ ã€ + inter_storage_delete(),inter_guild_storage_delete()ä¿®æ£ãªã© (login/) login.c - parse_admin()‚ðƒAƒJƒEƒ“ƒg휎ž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚悤‚ÉC³ + parse_admin()をアカウント削除時ã«ãƒ‘ケット2730ã‚’é€ã‚‹ã‚ˆã†ã«ä¿®æ£ -Eathena-start stop ‚Å’âŽ~‚³‚¹‚½ê‡Aƒf[ƒ^‚ª•Û‘¶‚³‚ê‚È‚¢–â‘è‚ðC³ - kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚©‚çSIGTERM‚É•ÏXB - ‚Ç‚¤‚µ‚Ä‚àSIGKILL‚𑗂肽‚¢ê‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B +・athena-start stop ã§åœæ¢ã•ã›ãŸå ´åˆã€ãƒ‡ãƒ¼ã‚¿ãŒä¿å˜ã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ + killã§é€ã‚‹ã‚·ã‚°ãƒŠãƒ«ã‚’SIGKILLã‹ã‚‰SIGTERMã«å¤‰æ›´ã€‚ + ã©ã†ã—ã¦ã‚‚SIGKILLã‚’é€ã‚ŠãŸã„å ´åˆã¯ athena-start kill を使ã£ã¦ãã ã•ã„。 athena-start - stopC³Akill’ljÁ + stopä¿®æ£ã€killè¿½åŠ -------------------- //0967 by Asong -Eƒ‚ƒ“ƒXƒ^[‚ÌŽc‰e‚ðŽÀ‘•B -@’Ê탂ƒ“ƒXƒ^[‚̓XƒLƒ‹‚É‚æ‚éƒtƒBƒ‹ƒ^[‚ª‚©‚©‚ç‚È‚¢‚Ì‚ÅŽc‘œ‚ªo‚Ü‚¹‚ñB -@‚o‚bŒ^ƒ‚ƒ“ƒXƒ^[‚É‚ÍŽc‘œ‚ªo‚Ü‚·B -Eƒ‚ƒ“ƒXƒ^[ƒXƒLƒ‹Žg—p‘ÎÛ‚ð’ljÁB -@around5`around8‚̓^[ƒQƒbƒg‚ÌŽü•ÓƒZƒ‹‚ð‘ÎÛ‚É‚µ‚Ü‚·B -@ -@ (map) -@ mob.c -@ mobskill_use() C³ -@ mob_readskill() C³ -@ mob.h C³ -@ skill.c -@ skill_castend_pos2() C³ - --------------------- -//0966 by (“Ê) -EƒT[ƒo[snapshot -EƒfƒBƒŒƒNƒgƒŠ\‘¢‚ð•ÏX(common,login,char,map‚Í/srcˆÈ‰º‚Ɉړ]) -@‚»‚ê‚É”º‚¤Makefile“™‚̃pƒX‘‚«Š·‚¦ -Enpc_turtle.txt‚ðnpc_town_alberta.txt‚É“‡ -Eƒ‚ƒ“ƒN‚̃Rƒ“ƒ{‚ÉŠÖ‚·‚éƒfƒBƒŒƒC‚ð•ÏX -Ebattle_config.enemy_critical‚̃fƒtƒHƒ‹ƒg‚ðno‚É•ÏX -E“]¶E“™‚𖳌ø‚É‚·‚éenable_upper_class‚̒ljÁ -E@joblvup,@charjlvl‚ÅJobƒŒƒxƒ‹‚ªÅ‚‚Ì‚Æ‚«‚É•‰”‚ðŽw’肵‚Ä‚àƒŒƒxƒ‹‚ð‰º‚°‚ç‚ê‚È‚©‚Á‚½–â‘è‚ðC³ +・モンスターã®æ®‹å½±ã‚’実装。 + 通常モンスターã¯ã‚¹ã‚ルã«ã‚ˆã‚‹ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ãŒã‹ã‹ã‚‰ãªã„ã®ã§æ®‹åƒãŒå‡ºã¾ã›ã‚“。 + PC型モンスターã«ã¯æ®‹åƒãŒå‡ºã¾ã™ã€‚ +・モンスタースã‚ãƒ«ä½¿ç”¨å¯¾è±¡ã‚’è¿½åŠ ã€‚ + around5〜around8ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®å‘¨è¾ºã‚»ãƒ«ã‚’対象ã«ã—ã¾ã™ã€‚ +  +  (map) +  mob.c +  mobskill_use() ä¿®æ£ +  mob_readskill() ä¿®æ£ +  mob.h ä¿®æ£ +  skill.c +  skill_castend_pos2() ä¿®æ£ + +-------------------- +//0966 by (凸) +・サーãƒãƒ¼snapshot +ãƒ»ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ã‚’å¤‰æ›´(common,login,char,mapã¯/src以下ã«ç§»è»¢) + ãã‚Œã«ä¼´ã†Makefileç‰ã®ãƒ‘ス書ãæ›ãˆ +・npc_turtle.txtã‚’npc_town_alberta.txtã«çµ±åˆ +・モンクã®ã‚³ãƒ³ãƒœã«é–¢ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¤ã‚’変更 +・battle_config.enemy_criticalã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’noã«å¤‰æ›´ +・転生è·ç‰ã‚’無効ã«ã™ã‚‹enable_upper_classã®è¿½åŠ +・@joblvup,@charjlvlã§JobレベルãŒæœ€é«˜ã®ã¨ãã«è² 数を指定ã—ã¦ã‚‚レベルを下ã’られãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ (conf) - battle_athena.conf C³ + battle_athena.conf ä¿®æ£ (doc) - conf_ref.txt C³ + conf_ref.txt ä¿®æ£ (map) atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ + atcommand_joblevelup() ä¿®æ£ + atcommand_character_joblevel() ä¿®æ£ battle.c - battle_calc_attack() C³ - battle_config_read() C³ - battle.h C³ - pc.c - pc_calc_skilltree() C³ - pc_calc_base_job() C³ - pc_jobchange() C³ - pc_readdb() C³ - skill.c - skill_attack() C³ --------------------- -//0965 by ‚Ò‚´‚Ü‚ñ -E@mapexitŽÀsŽž‘SƒZƒbƒVƒ‡ƒ“‚ðkick‚·‚é‚悤‚É•ÏXB -E”’nŽæ‚莞‚ɕЕû‚ª“|‚ê‚Ä‚àA‚à‚¤•Ð•û‚Ì”’n‚ª‰ðœ‚³‚ê‚È‚¢–â‘èC³B(–¢ƒeƒXƒg) -EƒXƒeƒB[ƒ‹î•ñŒöŠJ‹@”\ŽÀ‘•B(–¢ƒeƒXƒg) -@ƒXƒeƒB[ƒ‹‚ɬŒ÷‚·‚é‚ÆA‰½‚ðƒXƒeƒB[ƒ‹‚µ‚½‚Ì‚© -@‰æ–Ê“à‚ÌPTƒƒ“ƒo[‘Sˆõ‚É’m‚点‚é‹@”\‚Å‚·B -@battle_athena.conf‚Ìshow_steal_in_same_party‚ÅÝ’è‚Å‚«‚Ü‚·B -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚̈×AƒfƒtƒHƒ‹ƒg‚Íno‚É‚µ‚Ä‚¢‚Ü‚·B -EƒCƒhƒDƒ“‚Ì—ÑŒç‚̉ñ•œŒø‰ÊŽÀ‘•B + battle_calc_attack() ä¿®æ£ + battle_config_read() ä¿®æ£ + battle.h ä¿®æ£ + pc.c + pc_calc_skilltree() ä¿®æ£ + pc_calc_base_job() ä¿®æ£ + pc_jobchange() ä¿®æ£ + pc_readdb() ä¿®æ£ + skill.c + skill_attack() ä¿®æ£ +-------------------- +//0965 by ã´ã–ã¾ã‚“ +・@mapexit実行時全セッションをkickã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・白刃å–り時ã«ç‰‡æ–¹ãŒå€’ã‚Œã¦ã‚‚ã€ã‚‚ã†ç‰‡æ–¹ã®ç™½åˆƒãŒè§£é™¤ã•ã‚Œãªã„å•é¡Œä¿®æ£ã€‚(未テスト) +ãƒ»ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«æƒ…å ±å…¬é–‹æ©Ÿèƒ½å®Ÿè£…ã€‚(未テスト) + スティールã«æˆåŠŸã™ã‚‹ã¨ã€ä½•ã‚’スティールã—ãŸã®ã‹ + 画é¢å†…ã®PTメンãƒãƒ¼å…¨å“¡ã«çŸ¥ã‚‰ã›ã‚‹æ©Ÿèƒ½ã§ã™ã€‚ + battle_athena.confã®show_steal_in_same_partyã§è¨å®šã§ãã¾ã™ã€‚ + オリジナルアップデートã®ç‚ºã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯noã«ã—ã¦ã„ã¾ã™ã€‚ +・イドゥンã®æž—檎ã®å›žå¾©åŠ¹æžœå®Ÿè£…。 (conf/) - battle_athena.conf‚É€–ڒljÁB + battle_athena.confã«é …ç›®è¿½åŠ ã€‚ (map/) atcommand.c - atcommand_mapexit() C³B + atcommand_mapexit() ä¿®æ£ã€‚ pc.c - pc_steal_item() C³B - pc_show_steal() ’ljÁB + pc_steal_item() ä¿®æ£ã€‚ + pc_show_steal() è¿½åŠ ã€‚ skill.c - skill_unitsetting()Askill_unit_onplace() C³B + skill_unitsetting()ã€skill_unit_onplace() ä¿®æ£ã€‚ battle.c - battle_config_read() C³B - battle.h C³B + battle_config_read() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ (doc/) - conf_ref.txt ”²‚¯‚Ä‚½‚Ì‚ðFX’ljÁB + conf_ref.txt 抜ã‘ã¦ãŸã®ã‚’è‰²ã€…è¿½åŠ ã€‚ -------------------- -//0964 by (“Ê) +//0964 by (凸) -E‚±‚Ì‘O’ljÁ‚µ‚½skill_tree2.txt‚ð”pŽ~‚µ‚½‚Ì‚Å휂µ‚Ä‚‚¾‚³‚¢ -Eskill_tree.txt‚̃tƒH[ƒ}ƒbƒg‚ð•ÏX•Kalen‚³‚ñ‚È‚Ç‚Ìî•ñ‚ðŒ³‚É“]¶ƒcƒŠ[‚ÌŒ©’¼‚µ -E‚»‚ê‚É‚Æ‚à‚È‚Á‚Äpc.c‚̃tƒ@ƒCƒ‹“Ç‚Ýo‚µ•”•ª‚È‚Ç‚ð•ÏX -EAthenaŽG’kƒXƒŒƒbƒh part3 >>14 miya‚³‚ñ‚ÌŽw“E‚ª‚ ‚é‚Ü‚Å‚·‚Á‚©‚è–Y‚ê‚Ä‚¢‚½atcommand_athena.conf‚ÌC³‚𓯫 +・ã“ã®å‰è¿½åŠ ã—ãŸskill_tree2.txtを廃æ¢ã—ãŸã®ã§å‰Šé™¤ã—ã¦ãã ã•ã„ +・skill_tree.txtã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’変更&Kalenã•ã‚“ãªã©ã®æƒ…å ±ã‚’å…ƒã«è»¢ç”Ÿãƒ„リーã®è¦‹ç›´ã— +・ãã‚Œã«ã¨ã‚‚ãªã£ã¦pc.cã®ãƒ•ã‚¡ã‚¤ãƒ«èªã¿å‡ºã—部分ãªã©ã‚’変更 +・Athena雑談スレッド part3 >>14 miyaã•ã‚“ã®æŒ‡æ‘˜ãŒã‚ã‚‹ã¾ã§ã™ã£ã‹ã‚Šå¿˜ã‚Œã¦ã„ãŸatcommand_athena.confã®ä¿®æ£ã‚’åŒæ¢± (conf/) - atcommand_athena.conf C³ + atcommand_athena.conf ä¿®æ£ (db/) - skill_tree.txt C³ - skill_tree2.txt ”pŽ~ + skill_tree.txt ä¿®æ£ + skill_tree2.txt å»ƒæ¢ (map/) - map.h PC_CLASS_BASE“™’ljÁ + map.h PC_CLASS_BASEç‰è¿½åŠ pc.c - pc_calc_skilltree() C³ - pc_allskillup() C³ - pc_readdb() C³ + pc_calc_skilltree() ä¿®æ£ + pc_allskillup() ä¿®æ£ + pc_readdb() ä¿®æ£ -------------------- -//0963 by (“Ê) +//0963 by (凸) -E@jobchange2, @jobchange3”pŽ~ @jobchange‚Ɉø”’ljÁ @helpŽQÆ - —á: @jobchange2 10 ¨ @jobchange 10 1 -E“¯—l‚É@charjob2, @charjob3”pŽ~ @charjob‚Ɉø”’ljÁ @helpŽQÆ - —á: @charjob2 10 ‚Ù‚°‚Ù‚° ¨ @charjob 10 1 ‚Ù‚°‚Ù‚° -E“¯—l‚ɃXƒNƒŠƒvƒg‚Ìjobchange2, jobchange3–½—ß”pŽ~ jobchange‚Ɉø”’ljÁ script_ref.txtŽQÆ - —á: jobchange2 10; ¨ jobchange 10,1; -Eª‚Ç‚ê‚à’ljÁ‚³‚ꂽˆø”‚ÍÈ—ª‰Â”\‚Å‚·B‚È‚Ì‚ÅA“]¶ƒm[ƒrƒX‚ÍŒ»ó‚̃XƒNƒŠƒvƒg‚Å“]¶ˆêŽŸE‚É“]E‚Å‚«‚Ü‚·B - —á: Novice High ¨ @jobchange 10 ¨ Whitesmith - Novice ¨ @jobchange 10 ¨ Blacksmith -EƒXƒNƒŠƒvƒg‚©‚ç“]¶‚µ‚Ä‚¢‚é‚©”»’è‚·‚邽‚ß‚ÉUpper‚ð’ljÁ‚µ‚Ü‚µ‚½BUpper 0=’Êí, 1=“]¶, 2=—{Žq - Upper=0‚ÌŽž‚ÉBaseLevel=99‚È‚ç“]¶‚³‚¹‚é`‚Æ‚©‚»‚¤‚¢‚¤ƒXƒNƒŠƒvƒg’N‚©‘‚¢‚Ä‚‚¾‚³‚¢ - ‚»‚ÌŽž‚ÉŒ³‚ÌE‹Æ‚Í‹L‰¯‚µ‚Ä‚¢‚È‚¢‚̂ʼni‘±•Ï”‚Æ‚©‚ÅŠo‚¦‚³‚¹‚Ä”»’肳‚¹‚È‚¢‚Æ“]¶Œã‰½‚É‚Å‚à“]E‚Å‚«‚¿‚ႤH -EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒAƒ}ƒCƒ“‚ŌĂÑo‚³‚ê‚éMob‚Ì–¼‘O‚ð--ja--‚É‚µ‚Ämob_db.txt‚©‚ç“ǂނ悤‚É‚µ‚½ +・@jobchange2, @jobchange3å»ƒæ¢ @jobchangeã«å¼•æ•°è¿½åŠ @helpå‚ç…§ + 例: @jobchange2 10 → @jobchange 10 1 +・åŒæ§˜ã«@charjob2, @charjob3å»ƒæ¢ @charjobã«å¼•æ•°è¿½åŠ @helpå‚ç…§ + 例: @charjob2 10 ã»ã’ã»ã’ → @charjob 10 1 ã»ã’ã»ã’ +・åŒæ§˜ã«ã‚¹ã‚¯ãƒªãƒ—トã®jobchange2, jobchange3å‘½ä»¤å»ƒæ¢ jobchangeã«å¼•æ•°è¿½åŠ script_ref.txtå‚ç…§ + 例: jobchange2 10; → jobchange 10,1; +・↑ã©ã‚Œã‚‚è¿½åŠ ã•ã‚ŒãŸå¼•æ•°ã¯çœç•¥å¯èƒ½ã§ã™ã€‚ãªã®ã§ã€è»¢ç”ŸãƒŽãƒ¼ãƒ“スã¯ç¾çŠ¶ã®ã‚¹ã‚¯ãƒªãƒ—トã§è»¢ç”Ÿä¸€æ¬¡è·ã«è»¢è·ã§ãã¾ã™ã€‚ + 例: Novice High → @jobchange 10 → Whitesmith + Novice → @jobchange 10 → Blacksmith +・スクリプトã‹ã‚‰è»¢ç”Ÿã—ã¦ã„ã‚‹ã‹åˆ¤å®šã™ã‚‹ãŸã‚ã«Upperã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚Upper 0=通常, 1=転生, 2=養å + Upper=0ã®æ™‚ã«BaseLevel=99ãªã‚‰è»¢ç”Ÿã•ã›ã‚‹ã€œã¨ã‹ãã†ã„ã†ã‚¹ã‚¯ãƒªãƒ—ト誰ã‹æ›¸ã„ã¦ãã ã•ã„ + ãã®æ™‚ã«å…ƒã®è·æ¥ã¯è¨˜æ†¶ã—ã¦ã„ãªã„ã®ã§æ°¸ç¶šå¤‰æ•°ã¨ã‹ã§è¦šãˆã•ã›ã¦åˆ¤å®šã•ã›ãªã„ã¨è»¢ç”Ÿå¾Œä½•ã«ã§ã‚‚転è·ã§ãã¡ã‚ƒã†ï¼Ÿ +・ãƒã‚¤ã‚ªãƒ—ラントã¨ã‚¹ãƒ•ã‚£ã‚¢ãƒžã‚¤ãƒ³ã§å‘¼ã³å‡ºã•ã‚Œã‚‹Mobã®åå‰ã‚’--ja--ã«ã—ã¦mob_db.txtã‹ã‚‰èªã‚€ã‚ˆã†ã«ã—㟠(conf/) - help.txt C³ + help.txt ä¿®æ£ (db/) const.txt (doc/) - help.txt C³ - script_ref.txt C³ + help.txt ä¿®æ£ + script_ref.txt ä¿®æ£ (map/) atcommand.c - atcommand_jobchange() C³ - atcommand_jobchange2() íœ - atcommand_jobchange3() íœ - atcommand_character_job() C³ - atcommand_character_job2() íœ - atcommand_character_job3() íœ - map.h C³ - pc.c - pc_readparam() C³ - pc_jobchange() C³ - pc.h C³ + atcommand_jobchange() ä¿®æ£ + atcommand_jobchange2() 削除 + atcommand_jobchange3() 削除 + atcommand_character_job() ä¿®æ£ + atcommand_character_job2() 削除 + atcommand_character_job3() 削除 + map.h ä¿®æ£ + pc.c + pc_readparam() ä¿®æ£ + pc_jobchange() ä¿®æ£ + pc.h ä¿®æ£ script.c - buildin_jobchange() C³ - buildin_jobchange2() íœ - buildin_jobchange3() íœ + buildin_jobchange() ä¿®æ£ + buildin_jobchange2() 削除 + buildin_jobchange3() 削除 skill.c - skill_castend_pos2() C³ + skill_castend_pos2() ä¿®æ£ -------------------- -//0962 by (“Ê) +//0962 by (凸) -EE‹Æ‚Í0`23‚ň—‚µ‚½‚¢‚Ì‚Å“]¶E—p‚̃XƒLƒ‹ƒcƒŠ[’ljÁAeAthena‚ðŽQl‚ÉŠg’£ - ‚Á‚Ä‚¢‚¤‚©ŠØ‘–{ƒT[ƒo‚Å‚ÌŽÀ‘•‚ÌŽ‘—¿‚ªŒ©“–‚½‚ç‚È‚¢‚Ì‚Å“K“– -Esakexe.exe‚ð‰ðÍ‚µ‚Äskill_db.txt•ÏXA‚±‚ê‚àeAthena‚ðŽQl‚ÉŠg’£ - ‚ǂꂪ–{ƒT[ƒo‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚éƒXƒLƒ‹‚©•ª‚©‚è‚Ü‚¹‚ñ‚ÁII -¦ƒXƒLƒ‹ƒcƒŠ[‚ª•\Ž¦‚³‚ꂽ‚©‚ç‚Æ‚¢‚Á‚ÄŽg‚¦‚é‚킯‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ÁII +・è·æ¥ã¯0〜23ã§å‡¦ç†ã—ãŸã„ã®ã§è»¢ç”Ÿè·ç”¨ã®ã‚¹ã‚ãƒ«ãƒ„ãƒªãƒ¼è¿½åŠ ã€eAthenaã‚’å‚考ã«æ‹¡å¼µ + ã£ã¦ã„ã†ã‹éŸ“国本サーãƒã§ã®å®Ÿè£…ã®è³‡æ–™ãŒè¦‹å½“ãŸã‚‰ãªã„ã®ã§é©å½“ +・sakexe.exeを解æžã—ã¦skill_db.txt変更ã€ã“れもeAthenaã‚’å‚考ã«æ‹¡å¼µ + ã©ã‚ŒãŒæœ¬ã‚µãƒ¼ãƒã§å®Ÿè£…ã•ã‚Œã¦ã„るスã‚ルã‹åˆ†ã‹ã‚Šã¾ã›ã‚“ã£ï¼ï¼ +※スã‚ルツリーãŒè¡¨ç¤ºã•ã‚ŒãŸã‹ã‚‰ã¨ã„ã£ã¦ä½¿ãˆã‚‹ã‚ã‘ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“ã£ï¼ï¼ (common/) - mmo.h ’è”C³ + mmo.h å®šæ•°ä¿®æ£ (db/) - skill_db.txt •ÏX - skill_require_db.txt •ÏX - skill_tree2.txt ’ljÁ + skill_db.txt 変更 + skill_require_db.txt 変更 + skill_tree2.txt è¿½åŠ (map/) - skill.h ’è”C³ + skill.h å®šæ•°ä¿®æ£ pc.c - pc_calcstatus() C³ - pc_allskillup() C³ - pc_calc_skilltree() C³ - pc_readdb() C³ + pc_calcstatus() ä¿®æ£ + pc_allskillup() ä¿®æ£ + pc_calc_skilltree() ä¿®æ£ + pc_readdb() ä¿®æ£ -------------------- -//0961 by ŒÓ’±—– +//0961 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚ɃTƒuƒ‹[ƒ`ƒ“/ƒ†[ƒU[’è‹`ŠÖ”‹@”\’ljÁ - Ú‚µ‚‚̓Tƒ“ƒvƒ‹‚Æscript_ref.txt‚ð“Ç‚ñ‚Å‚‚¾‚³‚¢B - ’n–¡‚É‘å‰ü‘¢‚È‚Ì‚ÅAƒXƒNƒŠƒvƒgŠÖŒW‚ŃoƒO‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +・スクリプトã«ã‚µãƒ–ルーãƒãƒ³/ãƒ¦ãƒ¼ã‚¶ãƒ¼å®šç¾©é–¢æ•°æ©Ÿèƒ½è¿½åŠ + 詳ã—ãã¯ã‚µãƒ³ãƒ—ルã¨script_ref.txtã‚’èªã‚“ã§ãã ã•ã„。 + 地味ã«å¤§æ”¹é€ ãªã®ã§ã€ã‚¹ã‚¯ãƒªãƒ—ト関係ã§ãƒã‚°ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 (map/) map.h/map.c - struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ñ‘Þ”ð—p‚̃ƒ“ƒo’ljÁ - map_quit()C³ + struct map_session_data ã«ã‚¹ã‚¯ãƒªãƒ—ãƒˆæƒ…å ±é€€é¿ç”¨ã®ãƒ¡ãƒ³ãƒè¿½åŠ + map_quit()ä¿®æ£ script.h/script.c - FXC³(run_script(),run_func()‚ªŽå) + 色々修æ£(run_script(),run_func()ãŒä¸») npc.c - npc_parse_function()’ljÁ‘¼ + npc_parse_function()è¿½åŠ ä»– (conf/sample) npc_test_func.txt - ƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚̃eƒXƒgƒXƒNƒŠƒvƒg + ユーザー定義関数/サブルーティンã®ãƒ†ã‚¹ãƒˆã‚¹ã‚¯ãƒªãƒ—ト (doc/) script_ref.txt - ƒTƒuƒ‹[ƒeƒBƒ“‚È‚Ç‚Ìà–¾’ljÁ + サブルーティンãªã©ã®èª¬æ˜Žè¿½åŠ -------------------- -//0960 by (“Ê) -E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>62 KK‚³‚ñ‚̃Aƒ“ƒNƒ‹ƒXƒlƒAC³‚𓯫 -EƒoƒO•ñƒXƒŒƒbƒh part5 >>14-16 rb‚³‚ñ‚̃oƒOC³‚𓯫 -EFor English User Forum >>15 Mugendai‚³‚ñ‚ÌŽw“E‚Å0x1d7‚ðŽg‚¤‚Ì‚ÍVal>255‚ÉC³(0xc3‚ÌVal‚Í1ƒoƒCƒg‚¾‚©‚ç0x1d7‚ðŽg‚¤‚Ì‚©‚Æ”[“¾) -Epc_calc_base_job()‚ð•ÏX‚µ‚ÄŒ³job‚¾‚¯‚Å‚È‚ƒmƒr‚©ˆêŽŸE‚©“ñŽŸE(type)A’Êí‚©“]¶‚©—{Žq(upper)‚ð•Ô‚·‚悤‚É‚µ‚½ +//0960 by (凸) +・本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ part2 >>62 KKã•ã‚“ã®ã‚¢ãƒ³ã‚¯ãƒ«ã‚¹ãƒã‚¢ä¿®æ£ã‚’åŒæ¢± +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part5 >>14-16 rbã•ã‚“ã®ãƒã‚°ä¿®æ£ã‚’åŒæ¢± +・For English User Forum >>15 Mugendaiã•ã‚“ã®æŒ‡æ‘˜ã§0x1d7を使ã†ã®ã¯Val>255ã«ä¿®æ£(0xc3ã®Valã¯1ãƒã‚¤ãƒˆã ã‹ã‚‰0x1d7を使ã†ã®ã‹ã¨ç´å¾—) +・pc_calc_base_job()を変更ã—ã¦å…ƒjobã ã‘ã§ãªãノビã‹ä¸€æ¬¡è·ã‹äºŒæ¬¡è·(type)ã€é€šå¸¸ã‹è»¢ç”Ÿã‹é¤Šå(upper)ã‚’è¿”ã™ã‚ˆã†ã«ã—㟠(map/) atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ + atcommand_joblevelup() ä¿®æ£ + atcommand_character_joblevel() ä¿®æ£ clif.c - clif_changelook() C³ - pc.h C³ - pc.c - pc_setrestartvalue() C³ - pc_equippoint() C³ - pc_isequip() C³ - pc_calc_skilltree() C³ - pc_calcstatus() C³ - pc_isUseitem() C³ - pc_calc_base_job() C³ - pc_allskillup() C³ - pc_damage() C³ - pc_jobchange() C³ - pc_equipitem() C³ + clif_changelook() ä¿®æ£ + pc.h ä¿®æ£ + pc.c + pc_setrestartvalue() ä¿®æ£ + pc_equippoint() ä¿®æ£ + pc_isequip() ä¿®æ£ + pc_calc_skilltree() ä¿®æ£ + pc_calcstatus() ä¿®æ£ + pc_isUseitem() ä¿®æ£ + pc_calc_base_job() ä¿®æ£ + pc_allskillup() ä¿®æ£ + pc_damage() ä¿®æ£ + pc_jobchange() ä¿®æ£ + pc_equipitem() ä¿®æ£ script.c - buildin_changesex() C³ + buildin_changesex() ä¿®æ£ skill.c - skill_castend_nodamage_id() C³ - skill_unit_onplace() C³ + skill_castend_nodamage_id() ä¿®æ£ + skill_unit_onplace() ä¿®æ£ -------------------- -//0959 by (“Ê) -Ehelp.txt‚ªdoc‚¶‚á‚È‚‚Äconf‚Ì‚ª“Ç‚Ýo‚³‚ê‚Ä‚½Q|P|› -Egamejoke‚ðŽQl‚É“]¶“ñŽŸE‚̃Xƒe[ƒ^ƒX‰Ád’l‚ðjob_db2-2.txt‚É‹Lq -EƒXƒNƒŠƒvƒg‚Éjobchange2‚Æjobchange3‚ð’ljÁ‚»‚ꂼ‚ê“]¶E‚Æ—{ŽqE‚Ö“]E‚³‚¹‚é–½—ß‚Å‚· +//0959 by (凸) +・help.txtãŒdocã˜ã‚ƒãªãã¦confã®ãŒèªã¿å‡ºã•ã‚Œã¦ãŸï¼¿|ï¿£|â—‹ +・gamejokeã‚’å‚考ã«è»¢ç”ŸäºŒæ¬¡è·ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹åŠ é‡å€¤ã‚’job_db2-2.txtã«è¨˜è¿° +・スクリプトã«jobchange2ã¨jobchange3ã‚’è¿½åŠ ãã‚Œãžã‚Œè»¢ç”Ÿè·ã¨é¤Šåè·ã¸è»¢è·ã•ã›ã‚‹å‘½ä»¤ã§ã™ (conf/) - help.txt C³ + help.txt ä¿®æ£ (db/) - job_db2.txt C³ - job_db2-2.txt ’ljÁ + job_db2.txt ä¿®æ£ + job_db2-2.txt è¿½åŠ (doc/) - help.txt C³ - script_ref.txt C³ + help.txt ä¿®æ£ + script_ref.txt ä¿®æ£ (map/) pc.c - pc_calcstatus() C³ - pc_readdb() C³ + pc_calcstatus() ä¿®æ£ + pc_readdb() ä¿®æ£ script.c - buildin_jobchange() C³ - buildin_jobchange2() ’ljÁ - buildin_jobchange3() ’ljÁ + buildin_jobchange() ä¿®æ£ + buildin_jobchange2() è¿½åŠ + buildin_jobchange3() è¿½åŠ -------------------- -//0958 by (“Ê) -E“]¶E•û–Ê‚ÌŽÀ‘•‚ðFX -Ed—ʧŒÀ‚Í—Ç‚•ª‚©‚ç‚È‚¢‚Ì‚ÅŒ³‚ÌE‹Æ‚Ì’l‚ð‚»‚Ì‚Ü‚ÜŽg‚Á‚Ä‚¢‚Ü‚·(ƒ‚ƒ“ƒNƒ`ƒƒƒ“ƒsƒIƒ““™) -E‘•”õ•i‚à“¯ãAHP‚âSP‚̃e[ƒuƒ‹‚à“¯ã‚È‚Ì‚ÅA“]¶‚µ‚Ä‚àHP‚È‚Ç‚ª‘‚¦‚È‚¢ƒKƒbƒJƒŠŽd—l‚Å‚· +//0958 by (凸) +・転生è·æ–¹é¢ã®å®Ÿè£…を色々 +・é‡é‡åˆ¶é™ã¯è‰¯ã分ã‹ã‚‰ãªã„ã®ã§å…ƒã®è·æ¥ã®å€¤ã‚’ãã®ã¾ã¾ä½¿ã£ã¦ã„ã¾ã™(モンクï¼ãƒãƒ£ãƒ³ãƒ”オンç‰) +・装備å“ã‚‚åŒä¸Šã€HPã‚„SPã®ãƒ†ãƒ¼ãƒ–ルもåŒä¸Šãªã®ã§ã€è»¢ç”Ÿã—ã¦ã‚‚HPãªã©ãŒå¢—ãˆãªã„ガッカリ仕様ã§ã™ (map/) atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ - pc.c - pc_setrestartvalue() C³ - pc_equippoint() C³ - pc_isequip() C³ - pc_calcstatus() C³ - pc_isUseitem() C³ - pc_calc_base_job() ’ljÁ - pc_damage() C³ - pc_jobchange() C³ - pc_equipitem() C³ - pc.h C³ + atcommand_joblevelup() ä¿®æ£ + atcommand_character_joblevel() ä¿®æ£ + pc.c + pc_setrestartvalue() ä¿®æ£ + pc_equippoint() ä¿®æ£ + pc_isequip() ä¿®æ£ + pc_calcstatus() ä¿®æ£ + pc_isUseitem() ä¿®æ£ + pc_calc_base_job() è¿½åŠ + pc_damage() ä¿®æ£ + pc_jobchange() ä¿®æ£ + pc_equipitem() ä¿®æ£ + pc.h ä¿®æ£ script.c - buildin_changesex() C³ + buildin_changesex() ä¿®æ£ skill.c - skill_castend_nodamage_id() C³ + skill_castend_nodamage_id() ä¿®æ£ -------------------- -//0957 by (“Ê) -E@charjob2‚Æ@charjob3‚ð’ljÁAŠÖŒW‚Æ‚µ‚Ä‚Í@charjobÌ@jobchangeA@charjob2Ì@jobchange2A(ry -E@mapexit‚ð’ljÁAmap-server‚ð—Ž‚Æ‚·ƒRƒ}ƒ“ƒh‚Å‚·atcommand_athena.conf‚Å‚Í99Ý’è‚É‚³‚ê‚Ä‚Ü‚·‚Ì‚ÅŽg—p‚É‚Í\•ª’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +//0957 by (凸) +・@charjob2ã¨@charjob3ã‚’è¿½åŠ ã€é–¢ä¿‚ã¨ã—ã¦ã¯@charjob⇔@jobchangeã€@charjob2⇔@jobchange2ã€(ry +・@mapexitã‚’è¿½åŠ ã€map-serverã‚’è½ã¨ã™ã‚³ãƒžãƒ³ãƒ‰ã§ã™atcommand_athena.confã§ã¯99è¨å®šã«ã•ã‚Œã¦ã¾ã™ã®ã§ä½¿ç”¨ã«ã¯å分注æ„ã—ã¦ãã ã•ã„。 (map/) atcommand.c - atcommand_character_job2() ’ljÁ - atcommand_character_job3() ’ljÁ - atcommand.h C³ + atcommand_character_job2() è¿½åŠ + atcommand_character_job3() è¿½åŠ + atcommand.h ä¿®æ£ (conf/) - atcommand_athena.conf C³ + atcommand_athena.conf ä¿®æ£ (doc/) - help.txt C³ + help.txt ä¿®æ£ -------------------- -//0956 by (“Ê) -E“]¶E‰¼ŽÀ‘•(@jobchange2)AŒ©‚½–Ú‚ÆŒoŒ±’lƒe[ƒuƒ‹‚¾‚¯‚Å‚· -E—{ŽqE‰¼ŽÀ‘•(@jobchange3)AŒ©‚½–Ú‚¾‚¯‚Å‚·Œ»ó‚Å‚ÍŒoŒ±’l‚Í“]¶“ñŽŸE‚Æ“¯‚¶‚Æ‚¢‚¤ƒ}ƒ]Žd—l -¦ã‹L2“_‚Í“]¶E‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚éƒNƒ‰ƒCƒAƒ“ƒg‚Å‚È‚¯‚ê‚ÎŽÀs‚·‚é‚ƃGƒ‰[—Ž‚¿‚·‚é‚Ì‚Å’ˆÓII -@‚»‚̌㒼ڃZ[ƒuƒf[ƒ^‚ð˜M‚ç‚È‚¢‚ƃLƒƒƒ‰ƒZƒŒ‚É‚às‚¯‚È‚‚È‚è‚Ü‚·II -EAthenaŽG’kƒXƒŒƒbƒh part2 >>149 ‹HŽ}‚³‚ñ‚Ì•ñ‚ðŒ³‚ÉƒK[ƒfƒBƒAƒ“‚ðC³ -EԈȊO‚ŃK[ƒfƒBƒAƒ“‚Æ‚©ƒGƒ“ƒyƒŠƒEƒ€‚ð‰£‚é‚Æmap-server‚ª—Ž‚¿‚Ä‚¢‚½‚Ì‚àC³(–¢Šm”F) -EƒXƒpƒmƒr‚ÌJobƒe[ƒuƒ‹‚ÍFor English User Forum >>13 kingbo‚³‚ñ‚̃f[ƒ^‚ðŒ³‚ÉC³ -E“]¶E‚ÌŒoŒ±’lƒe[ƒuƒ‹‚ÍOWN‚ðŽQÆ‚µ‚ÄBase99‚ÌŒoŒ±’l‚Í•s–¾‚¾‚Á‚½‚Ì‚Å“K“–‚ÉÝ’è +//0956 by (凸) +・転生è·ä»®å®Ÿè£…(@jobchange2)ã€è¦‹ãŸç›®ã¨çµŒé¨“値テーブルã ã‘ã§ã™ +・養åè·ä»®å®Ÿè£…(@jobchange3)ã€è¦‹ãŸç›®ã ã‘ã§ã™ç¾çŠ¶ã§ã¯çµŒé¨“値ã¯è»¢ç”ŸäºŒæ¬¡è·ã¨åŒã˜ã¨ã„ã†ãƒžã‚¾ä»•æ§˜ +※上記2点ã¯è»¢ç”Ÿè·ãŒå®Ÿè£…ã•ã‚Œã¦ã„るクライアントã§ãªã‘ã‚Œã°å®Ÿè¡Œã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼è½ã¡ã™ã‚‹ã®ã§æ³¨æ„ï¼ï¼ + ãã®å¾Œç›´æŽ¥ã‚»ãƒ¼ãƒ–データを弄らãªã„ã¨ã‚ャラセレã«ã‚‚è¡Œã‘ãªããªã‚Šã¾ã™ï¼ï¼ +・Athena雑談スレッド part2 >>149 稀æžã•ã‚“ã®å ±å‘Šã‚’å…ƒã«ã‚¬ãƒ¼ãƒ‡ã‚£ã‚¢ãƒ³ã‚’ä¿®æ£ +ãƒ»ç ¦ä»¥å¤–ã§ã‚¬ãƒ¼ãƒ‡ã‚£ã‚¢ãƒ³ã¨ã‹ã‚¨ãƒ³ãƒšãƒªã‚¦ãƒ ã‚’æ®´ã‚‹ã¨map-serverãŒè½ã¡ã¦ã„ãŸã®ã‚‚ä¿®æ£(未確èª) +・スパノビã®Jobテーブルã¯For English User Forum >>13 kingboã•ã‚“ã®ãƒ‡ãƒ¼ã‚¿ã‚’å…ƒã«ä¿®æ£ +・転生è·ã®çµŒé¨“値テーブルã¯OWNã‚’å‚ç…§ã—ã¦Base99ã®çµŒé¨“値ã¯ä¸æ˜Žã ã£ãŸã®ã§é©å½“ã«è¨å®š (map/) atcommand.c - atcommand_jobchange() C³ - atcommand_jobchange2() ’ljÁ - atcommand_jobchange3() ’ljÁ - atcommand.h C³ + atcommand_jobchange() ä¿®æ£ + atcommand_jobchange2() è¿½åŠ + atcommand_jobchange3() è¿½åŠ + atcommand.h ä¿®æ£ clif.c - clif_changelook() C³ + clif_changelook() ä¿®æ£ pc.c - pc_nextbaseexp() C³ - pc_nextjobexp() C³ - pc_jobchange() C³ - pc_readdb() C³ + pc_nextbaseexp() ä¿®æ£ + pc_nextjobexp() ä¿®æ£ + pc_jobchange() ä¿®æ£ + pc_readdb() ä¿®æ£ battle.c - battle_calc_damage() C³ - mob_can_reach() C³ + battle_calc_damage() ä¿®æ£ + mob_can_reach() ä¿®æ£ -------------------- //0955 by huge -Eƒyƒbƒg‚̃‹[ƒg‹@”\B - EŽd—l‚Ímob‚̃‹[ƒg‚É‹ß‚¢Š´‚¶‚Å‚·‚ªAŽË’ö‚ð’Z‚‚µ‚Ä‚Ü‚·B - EE‚Á‚½ƒAƒCƒeƒ€‚ÍAƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æ°‚É—Ž‚Æ‚µ‚Ü‚·B - E—‘‚É–ß‚µ‚½‚èAƒƒOƒIƒt‚µ‚½‚Æ‚«‚ÍPC‚̎茳‚É“ü‚é‚悤‚É‚µ‚Ü‚µ‚½B(d—Ê’´‰ß‚̓hƒƒbƒv) - EE‚¦‚éŒÂ”‚̓‹[ƒgmob“¯—l‚Ì10ŒÂ‚Å‚·‚ªA11ŒÂ–Ú‚ÍE‚¢‚És‚«‚Ü‚¹‚ñB - Eƒ‹[ƒgŒ ‚Ì–â‘è‚©‚çAƒAƒCƒeƒ€‚Éfirst_id‚ª“ü‚Á‚Ä‚¢‚ÄA‚»‚ꂪŽ”‚¢ŽåˆÈŠO‚¾‚Á‚½‚çA‰½•bŒo‚Æ‚¤‚ÆE‚¢‚Ü‚¹‚ñB(–¢Šm”F) - E‚»‚ê‚ÆA‰×•¨Ž‚¿‚É‚³‚ê‚é‚Ɖˆ£‘z‚È‚Ì‚ÅAd—ʧŒÀ‚à‚‚¯‚Ü‚µ‚½B‚±‚ê‚Íconf‚ÅÝ’è‰Â”\‚Å‚·B -Eatcommand‚ÅA@where‚ª‚¤‚Ü‚“‚¢‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³(‚Ü‚½ƒEƒ`‚¾‚¯‚©‚È‚Ÿ¥¥¥j -E@memo‚Åmemo‚·‚鎞‚ÍAmapflag‚𖳎‹‚·‚é‚悤‚ÉB -EƒXƒtƒBƒAƒ}ƒCƒ“‚Ì–¼‘O‚¾‚¯C³B +・ペットã®ãƒ«ãƒ¼ãƒˆæ©Ÿèƒ½ã€‚ + ・仕様ã¯mobã®ãƒ«ãƒ¼ãƒˆã«è¿‘ã„æ„Ÿã˜ã§ã™ãŒã€å°„程をçŸãã—ã¦ã¾ã™ã€‚ + ・拾ã£ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯ã€ãƒ‘フォーマンスをã™ã‚‹ã¨åºŠã«è½ã¨ã—ã¾ã™ã€‚ + ・åµã«æˆ»ã—ãŸã‚Šã€ãƒã‚°ã‚ªãƒ•ã—ãŸã¨ãã¯PCã®æ‰‹å…ƒã«å…¥ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚(é‡é‡è¶…éŽã¯ãƒ‰ãƒãƒƒãƒ—) + ・拾ãˆã‚‹å€‹æ•°ã¯ãƒ«ãƒ¼ãƒˆmobåŒæ§˜ã®10個ã§ã™ãŒã€11個目ã¯æ‹¾ã„ã«è¡Œãã¾ã›ã‚“。 + ・ルート権ã®å•é¡Œã‹ã‚‰ã€ã‚¢ã‚¤ãƒ†ãƒ ã«first_idãŒå…¥ã£ã¦ã„ã¦ã€ãã‚ŒãŒé£¼ã„主以外ã ã£ãŸã‚‰ã€ä½•ç§’経ã¨ã†ã¨æ‹¾ã„ã¾ã›ã‚“。(未確èª) + ・ãã‚Œã¨ã€è·ç‰©æŒã¡ã«ã•ã‚Œã‚‹ã¨å¯å“€æƒ³ãªã®ã§ã€é‡é‡åˆ¶é™ã‚‚ã¤ã‘ã¾ã—ãŸã€‚ã“ã‚Œã¯confã§è¨å®šå¯èƒ½ã§ã™ã€‚ +・atcommandã§ã€@whereãŒã†ã¾ãåƒã„ã¦ãªã‹ã£ãŸã®ã§ä¿®æ£(ã¾ãŸã‚¦ãƒã ã‘ã‹ãªã・・・) +・@memoã§memoã™ã‚‹æ™‚ã¯ã€mapflagを無視ã™ã‚‹ã‚ˆã†ã«ã€‚ +・スフィアマインã®åå‰ã ã‘ä¿®æ£ã€‚ (conf/) battle_athena.conf - pet_lootitem,pet_weight ’ljÁ + pet_lootitem,pet_weight è¿½åŠ (doc/) - conf_ref.txt C³ + conf_ref.txt ä¿®æ£ (map/) atcommand.c - atcommand_memo() C³ - atcommand_where() C³ + atcommand_memo() ä¿®æ£ + atcommand_where() ä¿®æ£ battle.c - battle_config_read() C³ - battle.h C³ + battle_config_read() ä¿®æ£ + battle.h ä¿®æ£ map.c - map_quit() C³ + map_quit() ä¿®æ£ map.h - pet_data{} C³ + pet_data{} ä¿®æ£ pc.c - pc_memo() C³ + pc_memo() ä¿®æ£ pet.c - pet_performance() C³ - pet_return_egg() C³ - pet_data_init() C³ - pet_ai_sub_hard() C³ - pet_lootitem_drop() ’ljÁ - pet_delay_item_drop2() ’ljÁ - pet_ai_sub_hard_lootsearch() ’ljÁ - pet.h C³ + pet_performance() ä¿®æ£ + pet_return_egg() ä¿®æ£ + pet_data_init() ä¿®æ£ + pet_ai_sub_hard() ä¿®æ£ + pet_lootitem_drop() è¿½åŠ + pet_delay_item_drop2() è¿½åŠ + pet_ai_sub_hard_lootsearch() è¿½åŠ + pet.h ä¿®æ£ skill.c - skill_castend_pos2() C³ + skill_castend_pos2() ä¿®æ£ -------------------- -//0954 by (“Ê) -Eobject_del.bat‚ÅŠeserver.exe‚à휂·‚é‚悤‚É‚µ‚½ -EFor English User Forum >>11 kingbo‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý -EƒoƒO•ñƒXƒŒƒbƒh part5 >>10 Sin‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý -E‚‚¢‚Å‚ÉŒ©‚©‚¯‚½atcommand_character_joblevel‚Ì•s‹ï‡‚ðC³ -E@ƒRƒ}ƒ“ƒh‚ŃWƒ‡ƒuƒŒƒxƒ‹‚ðã‚°‚é‚Æ‚«‚ɃXƒpƒmƒr‚ÍJob70‚܂őΉž(–¢Šm”F) +//0954 by (凸) +・object_del.batã§å„server.exeも削除ã™ã‚‹ã‚ˆã†ã«ã—㟠+・For English User Forum >>11 kingboã•ã‚“ã®ä¿®æ£ã‚’å–り込㿠+・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part5 >>10 Sinã•ã‚“ã®ä¿®æ£ã‚’å–り込㿠+・ã¤ã„ã§ã«è¦‹ã‹ã‘ãŸatcommand_character_joblevelã®ä¸å…·åˆã‚’ä¿®æ£ +・@コマンドã§ã‚¸ãƒ§ãƒ–レベルを上ã’ã‚‹ã¨ãã«ã‚¹ãƒ‘ノビã¯Job70ã¾ã§å¯¾å¿œ(未確èª) (/) - object_del.bat C³ + object_del.bat ä¿®æ£ (map/) atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ - atcommand_character_baselevel() C³ + atcommand_joblevelup() ä¿®æ£ + atcommand_character_joblevel() ä¿®æ£ + atcommand_character_baselevel() ä¿®æ£ code by kingbo 2004/4/29 PM 06:15 base on 0953 @@ -1938,98 +1938,98 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â mob_can_reach() fix -------------------- -//0953 by (“Ê) -Emob_skill_db.txt‚ÌðŒ’l‚É0ˆÈŠO“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ð’ù³ -Egcc 2.95‚ŃRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É’ù³(by ƒoƒOƒXƒŒpart5 >>2 ˆ©‚³‚ñ) -Eª‚âLinux‚È‚Ç‚ðl—¶‚µ‚Ästart‚âMakefile‚Ȃǂ̉üs‚ðLF‚É•ÏX -E0952‚Åo‚½ƒRƒ“ƒpƒCƒ‹Œx‚ðo‚È‚¢‚悤‚ÉC³ -E0952‚ÅXV‚³‚ê‚È‚©‚Á‚½conf_ref.txt‚ðC³ +//0953 by (凸) +・mob_skill_db.txtã®æ¡ä»¶å€¤ã«0以外入ã£ã¦ã„ãªã‹ã£ãŸã®ã‚’è¨‚æ£ +・gcc 2.95ã§ã‚³ãƒ³ãƒ‘イルã§ãるよã†ã«è¨‚æ£(by ãƒã‚°ã‚¹ãƒ¬part5 >>2 茜ã•ã‚“) +・↑やLinuxãªã©ã‚’考慮ã—ã¦startã‚„Makefileãªã©ã®æ”¹è¡Œã‚’LFã«å¤‰æ›´ +・0952ã§å‡ºãŸã‚³ãƒ³ãƒ‘イルè¦å‘Šã‚’出ãªã„よã†ã«ä¿®æ£ +・0952ã§æ›´æ–°ã•ã‚Œãªã‹ã£ãŸconf_ref.txtã‚’ä¿®æ£ (/) - start ‰üsƒR[ƒh•ÏX - athena-start ‰üsƒR[ƒh•ÏX + start 改行コード変更 + athena-start 改行コード変更 (db/) - mob_skill_db.txt C³ + mob_skill_db.txt ä¿®æ£ (doc/) - conf_ref.txt C³ + conf_ref.txt ä¿®æ£ (login/) - Makefile ‰üsƒR[ƒh•ÏX + Makefile 改行コード変更 (map/) - Makefile ‰üsƒR[ƒh•ÏX + Makefile 改行コード変更 atcommand.c - atcommand() 錾ˆÊ’uC³ - atcommand_where() 錾ˆÊ’uC³ + atcommand() 宣言ä½ç½®ä¿®æ£ + atcommand_where() 宣言ä½ç½®ä¿®æ£ battle.c - battle_calc_pet_weapon_attack() C³ - battle_calc_mob_weapon_attack() C³ - battle_calc_pc_weapon_attack() C³ - battle_calc_magic_attack() C³ + battle_calc_pet_weapon_attack() ä¿®æ£ + battle_calc_mob_weapon_attack() ä¿®æ£ + battle_calc_pc_weapon_attack() ä¿®æ£ + battle_calc_magic_attack() ä¿®æ£ clif.c - clif_skill_fail() 錾ˆÊ’uC³ + clif_skill_fail() 宣言ä½ç½®ä¿®æ£ guild.c - guild_gvg_eliminate_timer() 錾ˆÊ’uC³ + guild_gvg_eliminate_timer() 宣言ä½ç½®ä¿®æ£ mob.c - mob_damage() 錾ˆÊ’uC³ + mob_damage() 宣言ä½ç½®ä¿®æ£ script.c - buildin_deletearray() 錾ˆÊ’uC³ - buildin_getequipcardcnt() 錾ˆÊ’uC³ - buildin_successremovecards() 錾ˆÊ’uC³ + buildin_deletearray() 宣言ä½ç½®ä¿®æ£ + buildin_getequipcardcnt() 宣言ä½ç½®ä¿®æ£ + buildin_successremovecards() 宣言ä½ç½®ä¿®æ£ -------------------- //0952 by CG -Econf‚ÅDEF‚ÆMDEF‚ÌŒvŽZ•û–@‚ð‘I‘ð‚Å‚«‚é‚悤‚ÉB +・confã§DEFã¨MDEFã®è¨ˆç®—方法をé¸æŠžã§ãるよã†ã«ã€‚ (conf/) - battle_athena.conf •ÏX + battle_athena.conf 変更 (map/) battle.c - battle_calc_pet_weapon_attack() C³ - battle_calc_mob_weapon_attack() C³ - battle_calc_pc_weapon_attack() C³ - battle_calc_magic_attack() C³ - battle.h C³ - --------------------- -//0951 by (“Ê) -EƒT[ƒo[snapshot -EƒoƒO•ñƒXƒŒƒbƒh part4 >>95 KAJIKEN‚³‚ñ‚ÌC³‚𓯫 -E“¯ >>138 ƒoƒO‚©‚ÈH‚³‚ñ‚ÌC³‚𓯫 -EAthenaŽG’kƒXƒŒƒbƒh part2 >>112 –¼–³‚µ‚³‚ñ‚ÌPVPƒiƒCƒgƒƒAƒ‚[ƒh‚̃Aƒ“ƒ_[ƒNƒƒXƒ}ƒbƒvƒ[ƒvƒ|ƒCƒ“ƒg‚𓯫 -E“¯ >>96 ‹HŽ}‚³‚ñ‚Ìnpc_gldcheck.txt‚𓯫 -EƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Ésave/‚ð“ü‚ê‚é‚Ì‚ð‚â‚ß‚Ü‚µ‚½B–³‚¢ê‡‚Íathena-start‚ªì‚Á‚Ä‚‚ê‚Ü‚· -Eathena-start‚Ålog/‚ª–³‚¢ê‡‚Éì‚é‚悤‚É•ÏX -E‚»‚Ì‘¼H + battle_calc_pet_weapon_attack() ä¿®æ£ + battle_calc_mob_weapon_attack() ä¿®æ£ + battle_calc_pc_weapon_attack() ä¿®æ£ + battle_calc_magic_attack() ä¿®æ£ + battle.h ä¿®æ£ + +-------------------- +//0951 by (凸) +・サーãƒãƒ¼snapshot +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part4 >>95 KAJIKENã•ã‚“ã®ä¿®æ£ã‚’åŒæ¢± +ãƒ»åŒ >>138 ãƒã‚°ã‹ãªï¼Ÿã•ã‚“ã®ä¿®æ£ã‚’åŒæ¢± +・Athena雑談スレッド part2 >>112 åç„¡ã—ã•ã‚“ã®PVPナイトメアモードã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¯ãƒã‚¹ãƒžãƒƒãƒ—ワープãƒã‚¤ãƒ³ãƒˆã‚’åŒæ¢± +ãƒ»åŒ >>96 稀æžã•ã‚“ã®npc_gldcheck.txtã‚’åŒæ¢± +・スナップショットã«save/を入れるã®ã‚’ã‚„ã‚ã¾ã—ãŸã€‚ç„¡ã„å ´åˆã¯athena-startãŒä½œã£ã¦ãã‚Œã¾ã™ +・athena-startã§log/ãŒç„¡ã„å ´åˆã«ä½œã‚‹ã‚ˆã†ã«å¤‰æ›´ +・ãã®ä»–? (/) - athena-start •ÏX + athena-start 変更 (db/) - mob_db.txt •ÏX + mob_db.txt 変更 (conf/) - map_athena.conf •ÏX + map_athena.conf 変更 (conf/extension/) - npc_gldcheck.txt ’ljÁ + npc_gldcheck.txt è¿½åŠ (conf/npc/) - npc_event_ice.txt •ÏX - npc_job_alchemist.txt •ÏX - npc_event_valentine.txt •ÏX - npc_town_geffen.txt •ÏX - npc_event_whiteday.txt •ÏX - npc_event_potion.txt •ÏX - npc_town_comodo.txt •ÏX + npc_event_ice.txt 変更 + npc_job_alchemist.txt 変更 + npc_event_valentine.txt 変更 + npc_town_geffen.txt 変更 + npc_event_whiteday.txt 変更 + npc_event_potion.txt 変更 + npc_town_comodo.txt 変更 (conf/warp/) - npc_warp_pvp.txt ’ljÁ + npc_warp_pvp.txt è¿½åŠ -------------------- -//0950 by (“Ê) -Emob_db‚ÌModeƒtƒ‰ƒO‚Ɉȉº‚Ì•¨‚ð’ljÁ - 0x40(64) ƒ_ƒ[ƒW‚ð1‚ɌŒè(‘‚âƒNƒŠƒXƒ^ƒ‹‚È‚Ç) - 0x80(128) UŒ‚‚ðŽó‚¯‚½‚Æ‚«‚É”½Œ‚‚ð‚·‚é -Eã‹L‚Ì•ÏX‚Ì‚½‚ßmob_db.txt‚Ù‚Ú‘S•”•ÏXAmob_db2.txt‚ðì‚Á‚Ä‚¢‚él‚Í - ‘‚È‚Ç1ƒ_ƒŒÅ’è‚É‚ÍMode‚É64‚ð‘«‚³‚È‚¢‚Æ•’ʂɃ_ƒ[ƒW - ‚»‚Ì‘¼Mob‚ÍMode‚É128‚ð‘«‚³‚È‚¢‚Æ”½Œ‚‚µ‚Ä‚±‚È‚‚È‚é‚Ì‚Å’ˆÓ +//0950 by (凸) +・mob_dbã®Modeフラグã«ä»¥ä¸‹ã®ç‰©ã‚’è¿½åŠ + 0x40(64) ダメージを1ã«å›ºå®š(è‰ã‚„クリスタルãªã©) + 0x80(128) 攻撃をå—ã‘ãŸã¨ãã«å撃をã™ã‚‹ +・上記ã®å¤‰æ›´ã®ãŸã‚mob_db.txtã»ã¼å…¨éƒ¨å¤‰æ›´ã€mob_db2.txtを作ã£ã¦ã„る人㯠+ è‰ãªã©1ダメ固定ã«ã¯Modeã«64を足ã•ãªã„ã¨æ™®é€šã«ãƒ€ãƒ¡ãƒ¼ã‚¸ + ãã®ä»–Mobã¯Modeã«128を足ã•ãªã„ã¨åæ’ƒã—ã¦ã“ãªããªã‚‹ã®ã§æ³¨æ„ (db/) - mob_db.txt C³ + mob_db.txt ä¿®æ£ (map/) battle.c battle_calc_pet_weapon_attack() @@ -2043,157 +2043,157 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â mob_ai_sub_hard() -------------------- -//0949 by ‚Ò‚´‚Ü‚ñ +//0949 by ã´ã–ã¾ã‚“ -EƒXƒe[ƒ^ƒXˆÙí‘Ï«‘S–ÊC³B -@‘Ï«ŽZoŽ®‘S–ÊC³B -@ƒXƒe[ƒ^ƒXˆÙí‘Ï«100%‚̃Lƒƒƒ‰ƒNƒ^[‚É‚Íó‘ÔˆÙí‚ðs‚í‚È‚¢‚悤‚ÉC³B -EƒfƒBƒXƒyƒ‹‚ÌŽd—l•ÏXB -@‰ðœ‚µ‚½‚çƒVƒXƒeƒ€ã–â‘è‚Ì‚ ‚éƒXƒe[ƒ^ƒX•Ï‰»ˆÈŠO•Ð‚Á’[‚©‚ç‰ðœ‚·‚é‚悤‚ÉC³B -EƒtƒƒXƒgƒ_ƒCƒo[‚ÌŽd—l•ÏXB -@“€Œ‹—¦C³(ƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’)B -EƒŠƒJƒoƒŠ[‚ÌŽd—l•ÏXB -@ƒmƒ“ƒAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÉŽg—p‚·‚é‚ƃ^[ƒQƒbƒg‚ªƒŠƒZƒbƒg‚³‚ê‚é‚悤‚ÉC³B -EƒNƒ@ƒOƒ}ƒCƒA‚ÌŽd—l‚ªƒAƒŒ‚¾‚Á‚½‚Ì‚ÅC³B -@‰‰‘t‚â‘®«ê‚Æ“¯—l‚Érange‚ň—‚·‚é‚悤‚ÉC³B -@DEX/AGI”¼Œ¸‚̉e‹¿‚ª‰r¥ˆÈŠO‚É‚à‹y‚Ô—l‚ÉC³B -EƒXƒLƒ‹ƒ^[ƒQƒbƒg’†‚ÉŽ€‚ñ‚¾U‚è‚ðŽg—p‚µ‚Ä‚àƒXƒLƒ‹‚ª‰ñ”ð‚Å‚«‚È‚¢–â‘èC³B -E”’nŽæ‚肪“®ì‚µ‚È‚¢–â‘èC³(cast_db‚ª”²‚¯‚Ä‚Ü‚µ‚½)B +・ステータス異常è€æ€§å…¨é¢ä¿®æ£ã€‚ + è€æ€§ç®—出å¼å…¨é¢ä¿®æ£ã€‚ + ステータス異常è€æ€§100%ã®ã‚ャラクターã«ã¯çŠ¶æ…‹ç•°å¸¸ã‚’è¡Œã‚ãªã„よã†ã«ä¿®æ£ã€‚ +・ディスペルã®ä»•æ§˜å¤‰æ›´ã€‚ + 解除ã—ãŸã‚‰ã‚·ã‚¹ãƒ†ãƒ 上å•é¡Œã®ã‚るステータス変化以外片ã£ç«¯ã‹ã‚‰è§£é™¤ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・フãƒã‚¹ãƒˆãƒ€ã‚¤ãƒãƒ¼ã®ä»•æ§˜å¤‰æ›´ã€‚ + å‡çµçŽ‡ä¿®æ£(ãƒžã‚¸ã‚¹ãƒ¬ãƒ†ãƒ³ãƒ—ãƒ¬æº–æ‹ )。 +・リカãƒãƒªãƒ¼ã®ä»•æ§˜å¤‰æ›´ã€‚ + ノンアクティブモンスターã«ä½¿ç”¨ã™ã‚‹ã¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãŒãƒªã‚»ãƒƒãƒˆã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・クァグマイアã®ä»•æ§˜ãŒã‚¢ãƒ¬ã ã£ãŸã®ã§ä¿®æ£ã€‚ + 演å¥ã‚„å±žæ€§å ´ã¨åŒæ§˜ã«rangeã§å‡¦ç†ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ + DEX/AGIåŠæ¸›ã®å½±éŸ¿ãŒè© 唱以外ã«ã‚‚åŠã¶æ§˜ã«ä¿®æ£ã€‚ +・スã‚ルターゲットä¸ã«æ»ã‚“ã 振りを使用ã—ã¦ã‚‚スã‚ルãŒå›žé¿ã§ããªã„å•é¡Œä¿®æ£ã€‚ +・白刃å–ã‚ŠãŒå‹•ä½œã—ãªã„å•é¡Œä¿®æ£(cast_dbãŒæŠœã‘ã¦ã¾ã—ãŸ)。 (map/) pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ skill.c - skill_additional_effect()Askill_attack() C³ - skill_status_change_start()Askill_unitsetting() C³ + skill_additional_effect()ã€skill_attack() ä¿®æ£ + skill_status_change_start()ã€skill_unitsetting() ä¿®æ£ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ -------------------- -//0948 by ŒÓ’±—– +//0948 by 胡è¶è˜ -Ewarpwaitingpc‚ª³‚µ‚PC‚ð“]‘—‚Å‚«‚È‚¢–â‘è‚ðC³ -EƒXƒNƒŠƒvƒg‚Ì“Ç‚Ýž‚ÝŽž‚ɃGƒ‰[‚Ü‚½‚ÍŒx‚ªo‚éê‡AŒx‰¹‚ð–‚炷‚悤‚ÉB - i—¬‚ꂽƒƒO‚ðŒ©‚È‚¢l‘Îô‚Å‚·j +・warpwaitingpcãŒæ£ã—ãPCを転é€ã§ããªã„å•é¡Œã‚’ä¿®æ£ +・スクリプトã®èªã¿è¾¼ã¿æ™‚ã«ã‚¨ãƒ©ãƒ¼ã¾ãŸã¯è¦å‘ŠãŒå‡ºã‚‹å ´åˆã€è¦å‘ŠéŸ³ã‚’鳴らã™ã‚ˆã†ã«ã€‚ + (æµã‚ŒãŸãƒã‚°ã‚’見ãªã„人対ç–ã§ã™ï¼‰ (map/) script.c - buildin_warpwaitingpc()C³ - disp_error_message()C³ + buildin_warpwaitingpc()ä¿®æ£ + disp_error_message()ä¿®æ£ -Eatcommand.cC³ - Eatcommand_athena.conf‚Ìmapmove‚ð“ǂނ悤‚É - E@str‚È‚Ç‚ÌÈ—ªŽž‚Ì•K{ƒŒƒxƒ‹‚ð0‚ÉB - E@param‚ÍŽg‚í‚È‚¢‚̂ŃRƒƒ“ƒg‰» +・atcommand.cä¿®æ£ + ・atcommand_athena.confã®mapmoveã‚’èªã‚€ã‚ˆã†ã« + ・@strãªã©ã®çœç•¥æ™‚ã®å¿…é ˆãƒ¬ãƒ™ãƒ«ã‚’0ã«ã€‚ + ・@paramã¯ä½¿ã‚ãªã„ã®ã§ã‚³ãƒ¡ãƒ³ãƒˆåŒ– (map/) atcommand.c - ŠY“–ŒÂŠC³ + è©²å½“å€‹æ‰€ä¿®æ£ -Emob‚ªÅ‘å15•b‚قLjړ®‚µ‚È‚¢ê‡‚ª‚ ‚é–â‘èC³ - EŽè”²‚«‚Å‚È‚¢mobˆ—‚ÅAˆÚ“®‚µ‚È‚¢ŽžŠÔ‚ª7•bˆÈ㑱‚©‚È‚¢‚悤‚ÉC³ +・mobãŒæœ€å¤§15秒ã»ã©ç§»å‹•ã—ãªã„å ´åˆãŒã‚ã‚‹å•é¡Œä¿®æ£ + ・手抜ãã§ãªã„mob処ç†ã§ã€ç§»å‹•ã—ãªã„時間ãŒ7秒以上続ã‹ãªã„よã†ã«ä¿®æ£ (map/) mob.c - mob_ai_sub_hard()C³ + mob_ai_sub_hard()ä¿®æ£ -E‰õ‘¬‘Dˆõ‚̈ɓ¤`s‚«‚Ì”»•ÊŽ®C³ (by ID:F8nKKuY) +・快速船員ã®ä¼Šè±†æ¸¯è¡Œãã®åˆ¤åˆ¥å¼ä¿®æ£ (by ID:F8nKKuY) (conf/npc/) npc_town_comodo.txt -------------------- -//0947 by (“Ê) -EŽæ‚芪‚«‚ÍŽæ‚芪‚«‚𢊫‚µ‚È‚¢‚悤‚ÉC³ -E˜I“V‚̔̔„‰¿Ši‚ÌãŒÀ‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³ +//0947 by (凸) +・å–ã‚Šå·»ãã¯å–ã‚Šå·»ãã‚’å¬å–šã—ãªã„よã†ã«ä¿®æ£ +・露天ã®è²©å£²ä¾¡æ ¼ã®ä¸Šé™ã‚’battle_athena.confã§è¨å®šã§ãるよã†ã«ä¿®æ£ (conf/) battle_athena.conf - vending_max_value’ljÁ + vending_max_valueè¿½åŠ (doc/) - conf_ref.txt C³ + conf_ref.txt ä¿®æ£ (map/) skill.c - skill_castend_nodamage_id() C³ + skill_castend_nodamage_id() ä¿®æ£ battle.c - battle_config_read() C³ - battle.h C³B + battle_config_read() ä¿®æ£ + battle.h ä¿®æ£ã€‚ vending.c - vending_openvending() C³B + vending_openvending() ä¿®æ£ã€‚ -------------------- //0946 by Kalen -Eƒvƒ–kWarpŒ©’¼‚µ -ŽQlF–{ŽI(1F,2F)‚ç‚®‚Ȃ̉½‚©(3F) +・プãƒåŒ—Warp見直㗠+å‚考:本鯖(1F,2F)らããªã®ä½•ã‹(3F) (conf/warp/) npc_warp.txt -EŒê‚è•”‚Ì2T3T’ljÁ(‚Ç‚¤‚¹Œ©‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ªc) +・語り部ã®2週3é€±è¿½åŠ (ã©ã†ã›è¦‹ãªã„ã¨æ€ã„ã¾ã™ãŒâ€¦) (conf/npc/) npc_event_kataribe.txt -------------------- -//0945 by ŒÓ’±—– +//0945 by 胡è¶è˜ -ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚ª³‚µ‚ƒCƒ“ƒ|[ƒg‚³‚ê‚È‚¢–â‘è‚ðC³ -ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚ª³‚µ‚‰Šú‰»‚³‚ê‚È‚¢–â‘è‚ðC³ -ENPC‚Ìduplicate‚ðs‚¤‚ƃAƒNƒZƒXˆá”½‚ª‹N‚±‚éꇂª‚ ‚é–â‘è‚ðC³ +・NPCタイマーラベルデータãŒæ£ã—ãインãƒãƒ¼ãƒˆã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ +・NPCタイマーåˆæœŸå€¤ã‚„タイマーIDãŒæ£ã—ãåˆæœŸåŒ–ã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ +・NPCã®duplicateã‚’è¡Œã†ã¨ã‚¢ã‚¯ã‚»ã‚¹é•åãŒèµ·ã“ã‚‹å ´åˆãŒã‚ã‚‹å•é¡Œã‚’ä¿®æ£ (map/) npc.c - npc_parse_scriptC³ + npc_parse_scriptä¿®æ£ -Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ì87‚Ìpc.c‚Ƃ肱‚Ý +・パッãƒã‚¢ãƒƒãƒ—スレ4ã®87ã®pc.cã¨ã‚Šã“ã¿ (map/) pc.c - ƒJ[ƒhd—ʧŒÀ‚ðŒ³‚É–ß‚µ‚½‚à‚Ì + カードé‡é‡åˆ¶é™ã‚’å…ƒã«æˆ»ã—ãŸã‚‚ã® -------------------- //0944 by huge -EƒMƒ‹ƒh‚Ìã”[ŒoŒ±’l‚ÌãŒÀ‚ðAconf‚ŧŒÀ‚Å‚«‚é‚悤‚ÉB -E˜I“X‚̔̔„‰¿Ši‚ð10M‚܂łɧŒÀB -EƒJ[ƒg‚Ìd—ʧŒÀ‚ªˆêŒ…‰º‚ª‚Á‚Ä‚½‚ñ‚Å‚·‚ªAƒEƒ`‚¾‚¯‚Å‚·‚©HC³‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªB +・ギルドã®ä¸Šç´çµŒé¨“値ã®ä¸Šé™ã‚’ã€confã§åˆ¶é™ã§ãるよã†ã«ã€‚ +・露店ã®è²©å£²ä¾¡æ ¼ã‚’10Mã¾ã§ã«åˆ¶é™ã€‚ +・カートã®é‡é‡åˆ¶é™ãŒä¸€æ¡ä¸‹ãŒã£ã¦ãŸã‚“ã§ã™ãŒã€ã‚¦ãƒã ã‘ã§ã™ã‹ï¼Ÿä¿®æ£ã—ã¦ã¿ã¾ã—ãŸãŒã€‚ (conf/) battle_athena.conf - guild_exp_limit’ljÁ + guild_exp_limitè¿½åŠ (doc/) - conf_ref.txt C³ + conf_ref.txt ä¿®æ£ (map/) atcommand.c - ‘h¶Žž‚ÌSP‰ñ•œ‚ÅAׂ©‚¢C³B + 蘇生時ã®SP回復ã§ã€ç´°ã‹ã„ä¿®æ£ã€‚ battle.c - battle_config_read() C³ - battle.h C³B + battle_config_read() ä¿®æ£ + battle.h ä¿®æ£ã€‚ guild.c - guild_change_position() C³B + guild_change_position() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ vending.c - vending_openvending() C³B + vending_openvending() ä¿®æ£ã€‚ -------------------- -//0943 by (“Ê) -Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚é‚ƌÖ؂̎}‚Å¢Š«‚³‚ê‚郂ƒ“ƒXƒ^[‚ªƒAƒNƒeƒBƒu‚É‚È‚é‚悤‚É•ÏX -E”÷–‚É•ÏX‚µ‚½client_packet.txt‚𓯫 +//0943 by (凸) +・battle_athena.confã§dead_branch_activeã‚’yesã«ã™ã‚‹ã¨å¤æœ¨ã®æžã§å¬å–šã•ã‚Œã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ +・微妙ã«å¤‰æ›´ã—ãŸclient_packet.txtã‚’åŒæ¢± (conf/) battle_athena.conf - dead_branch_active’ljÁ + dead_branch_activeè¿½åŠ (doc/) - client_packet.txt C³ - conf_ref.txt C³ + client_packet.txt ä¿®æ£ + conf_ref.txt ä¿®æ£ (map/) battle.c - battle_config_read() C³ - battle.h C³ - map.h C³ + battle_config_read() ä¿®æ£ + battle.h ä¿®æ£ + map.h ä¿®æ£ mob.c - mob_once_spawn() C³ - mob_attack() C³ - mob_target() C³ - mob_ai_sub_hard_lootsearch() C³ - mob_ai_sub_hard() C³ + mob_once_spawn() ä¿®æ£ + mob_attack() ä¿®æ£ + mob_target() ä¿®æ£ + mob_ai_sub_hard_lootsearch() ä¿®æ£ + mob_ai_sub_hard() ä¿®æ£ -E‰pŒêƒXƒŒ‚Ìkingbo‚³‚ñ‚Ì•ÏX‚𓯫 +・英語スレã®kingboã•ã‚“ã®å¤‰æ›´ã‚’åŒæ¢± code by kingbo 2004/4/16 PM 09:47 support guildcastle guardian @@ -2211,83 +2211,83 @@ map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â prtg_cas01_guardian.txt -------------------- -//0942 by ŒÓ’±—– +//0942 by 胡è¶è˜ -EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•s³‚ȃƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éꇂª‚ ‚éƒoƒO‚ðC³ +・アクセスコントãƒãƒ¼ãƒ«ã§ä¸æ£ãªãƒ¡ãƒ¢ãƒªã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å ´åˆãŒã‚ã‚‹ãƒã‚°ã‚’ä¿®æ£ (login/) login.c - check_ipmask()C³ + check_ipmask()ä¿®æ£ -EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX‚µ’ljÁ‚ÆC³ +・スクリプトリファレンス少ã—è¿½åŠ ã¨ä¿®æ£ (doc/) script_ref.txt - C³ + ä¿®æ£ -------------------- -//0941 by (“Ê) +//0941 by (凸) -Ee2‚³‚ñ‚Ì•ñ‚ðŒ³‚É¢Š«‚³‚ꂽŽè‰º‚̃Xƒs[ƒh‚𢊫Žå‚Æ“¯‚¶‚É‚µ‚Ä‚Ý‚é +・e2ã•ã‚“ã®å ±å‘Šã‚’å…ƒã«å¬å–šã•ã‚ŒãŸæ‰‹ä¸‹ã®ã‚¹ãƒ”ードをå¬å–šä¸»ã¨åŒã˜ã«ã—ã¦ã¿ã‚‹ (map/) battle.c - battle_get_speed() C³ + battle_get_speed() ä¿®æ£ mob.c - mob_spawn() C³ - mob_summonslave() C³ + mob_spawn() ä¿®æ£ + mob_summonslave() ä¿®æ£ -------------------- //0940 by End_of_exam -Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚µ‚Ä‚à‰ñ•œ‚µ‚È‚¢ƒoƒO‚ðC³(0938`)B +・ヒールやãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã‚’使用ã—ã¦ã‚‚回復ã—ãªã„ãƒã‚°ã‚’ä¿®æ£(0938〜)。 -@Thanks for Pepermint, reporting the bug that using PotionPitcher with -@BluePotion was no effective. -@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{‚o‚ÅŒø‰Ê‚ª‚È‚¢Ž–‚ð•ñ‚µ‚Ä‚‚ꂽPepermintŽ‚ÉŠ´ŽÓj + Thanks for Pepermint, reporting the bug that using PotionPitcher with + BluePotion was no effective. + (ï¼ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ï¼‹é’ï¼°ã§åŠ¹æžœãŒãªã„äº‹ã‚’å ±å‘Šã—ã¦ãã‚ŒãŸPepermintæ°ã«æ„Ÿè¬ï¼‰ (map/) battle.c - battle_heal() C³ + battle_heal() ä¿®æ£ -------------------- -//0939 by (“Ê) -EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–¼16•¶Žš)‚©‚ç0x1b3(64•¶Žš)‚É•ÏX -E‚‚¢‚Å‚ÉŽG’kƒXƒŒ‚Éã‚°‚½athena-start‚𓯫 +//0939 by (凸) +・cutinパケットを0x145(ファイルå16æ–‡å—)ã‹ã‚‰0x1b3(64æ–‡å—)ã«å¤‰æ›´ +・ã¤ã„ã§ã«é›‘談スレã«ä¸Šã’ãŸathena-startã‚’åŒæ¢± (/) - athena-start saveƒtƒ@ƒCƒ‹‚ª–³‚¢‚Æ‚«‚Éì‚é‚悤‚É + athena-start saveファイルãŒç„¡ã„ã¨ãã«ä½œã‚‹ã‚ˆã†ã« (map/) clif.c - clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚É•ÏX + clif_cutin() æœ¬é¯–ãƒ‘ã‚±ãƒƒãƒˆæº–æ‹ ã«å¤‰æ›´ (doc/) - client_packet.txt C³ + client_packet.txt ä¿®æ£ -------------------- -//0938 by ‚Ò‚´‚Ü‚ñ +//0938 by ã´ã–ã¾ã‚“ -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Ń|‚ð“Š‚°‚Ä‚àƒGƒtƒFƒNƒg‚¾‚¯‚¾‚Á‚½ƒoƒOC³B -E˜I“XŠJÝ‚ª“Á’è‚̃AƒCƒeƒ€”z’u‚ÅŽ¸”s‚·‚éƒoƒOC³B -EƒXƒNƒŠƒvƒgŠÖ”getareadropitemŽÀ‘•B -@Žw’èƒGƒŠƒA“à‚̃hƒƒbƒvƒAƒCƒeƒ€‚ðƒJƒEƒ“ƒg‚·‚éŠÖ”‚Å‚· +・ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã§é’ãƒã‚’投ã’ã¦ã‚‚エフェクトã ã‘ã ã£ãŸãƒã‚°ä¿®æ£ã€‚ +・露店開è¨ãŒç‰¹å®šã®ã‚¢ã‚¤ãƒ†ãƒ é…ç½®ã§å¤±æ•—ã™ã‚‹ãƒã‚°ä¿®æ£ã€‚ +・スクリプト関数getareadropitem実装。 + 指定エリア内ã®ãƒ‰ãƒãƒƒãƒ—アイテムをカウントã™ã‚‹é–¢æ•°ã§ã™ -@‘Ž®Fgetareadropitem <mapname>,<x0>,<y0>,<x1>,<y1>,<item>; -@@mapnameF‘ÎÛƒ}ƒbƒv–¼(—áFprontera.gat) -@@x0‚Æx1F‘ÎÛXÀ•W”ÍˆÍ -@@y0‚Æy1F‘ÎÛYÀ•W”ÍˆÍ -@@itemFƒJƒEƒ“ƒg‚·‚é‘ÎÛƒAƒCƒeƒ€ + 書å¼ï¼šgetareadropitem <mapname>,<x0>,<y0>,<x1>,<y1>,<item>; +  mapname:対象マップå(例:prontera.gat) +  x0ã¨x1:対象X座標範囲 +  y0ã¨y1:対象Y座標範囲 +  item:カウントã™ã‚‹å¯¾è±¡ã‚¢ã‚¤ãƒ†ãƒ -@–ß‚è’lFmapname“àÀ•W(x0,y0)-(x1,y1)‚͈͓̔à‚É—Ž‚¿‚Ä‚¢‚éitem‚Ì‘ŒÂ” -@@@@@Žæ“¾Ž¸”sŽž‚É‚Í-1‚ð•Ô‚µ‚Ü‚·B -@Eitem‚Ì’l‚ÍID‚Å‚àƒAƒCƒeƒ€–¼("Red_Jemstone"‚Æ‚©)‚Å‚à‚¢‚¢‚Å‚·B + 戻り値:mapname内座標(x0,y0)-(x1,y1)ã®ç¯„囲内ã«è½ã¡ã¦ã„ã‚‹itemã®ç·å€‹æ•° +     å–得失敗時ã«ã¯-1ã‚’è¿”ã—ã¾ã™ã€‚ + ・itemã®å€¤ã¯IDã§ã‚‚アイテムå("Red_Jemstone"ã¨ã‹)ã§ã‚‚ã„ã„ã§ã™ã€‚ (map/) battle.c - battle_heal() C³B + battle_heal() ä¿®æ£ã€‚ vending.c - vending_openvending() C³B + vending_openvending() ä¿®æ£ã€‚ script.c - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B - struct buildin_func[] C³B - buildin_getareadropitem()Abuildin_getareadropitem_sub() ’ljÁB + ãƒãƒ¼ã‚«ãƒ«ãƒ—ãƒãƒˆã‚¿ã‚¤ãƒ—宣言修æ£ã€‚ + struct buildin_func[] ä¿®æ£ã€‚ + buildin_getareadropitem()ã€buildin_getareadropitem_sub() è¿½åŠ ã€‚ -------------------- //0937 by netwarrior @@ -2311,513 +2311,513 @@ Retouch about problem of not recovery,use POTIONPITCHER skill. vending_purchasereq() -------------------- -//0935 by ŒÓ’±—– +//0935 by 胡è¶è˜ -E“à—e‚Ì“¯‚¶ƒXƒNƒŠƒvƒgNPC‚ð‰½“x‚à‹Lq‚µ‚È‚‚Ä‚àŒ¾‚¢‚悤‚ÉC³ - ENPC’è‹`‚Ì"script"‚Æ‘‚•”•ª‚ð"duplicate(NPC–¼)"‚Æ‚·‚é‚ÆA - ŠY“–‚ÌNPC‚ƃXƒNƒŠƒvƒg‚ð‹¤—L‚·‚é‚悤‚ÉBNPC–¼‚Í•\Ž¦–¼‚Å‚Í‚È‚ - ƒGƒNƒXƒ|[ƒg‚³‚ê‚é–¼‘O‚ðŽw’肵‚Ü‚·B - <—á> -prontera.gat,165,195,1 duplicate(ƒJƒvƒ‰Eˆõ) ƒJƒvƒ‰Eˆõ2 112 +・内容ã®åŒã˜ã‚¹ã‚¯ãƒªãƒ—トNPCを何度も記述ã—ãªãã¦ã‚‚言ã„よã†ã«ä¿®æ£ + ・NPC定義ã®"script"ã¨æ›¸ã部分を"duplicate(NPCå)"ã¨ã™ã‚‹ã¨ã€ + 該当ã®NPCã¨ã‚¹ã‚¯ãƒªãƒ—トを共有ã™ã‚‹ã‚ˆã†ã«ã€‚NPCåã¯è¡¨ç¤ºåã§ã¯ãªã + エクスãƒãƒ¼ãƒˆã•ã‚Œã‚‹åå‰ã‚’指定ã—ã¾ã™ã€‚ + <例> +prontera.gat,165,195,1 duplicate(カプラè·å“¡) カプラè·å“¡2 112 - E‹¤—LŒ³‚ÌNPC‚Í“¯‚¶ƒ}ƒbƒvƒT[ƒo[‚É‘¶Ý‚·‚é•K—v‚ª‚ ‚邽‚ßA - “¯‚¶ƒ}ƒbƒv‚Å‚È‚¢ê‡‚Íduplicate‚·‚ׂ«‚Å‚Í‚È‚¢B - ‚½‚¾‚µANPC‚̈ʒu‚ð"-"‚É‚·‚邱‚Æ‚ÅAƒ}ƒbƒvã‚É‚Í‘¶Ý‚µ‚È‚¢‚ªA - ƒ}ƒbƒvƒT[ƒo[“à‚É‚Í‘¶Ý‚·‚éNPC‚ð쬂ł«‚é‚Ì‚ÅA - ‚»‚ÌNPC‚ð‹¤—LŒ³‚É‚·‚é‚Ì‚Å‚ ‚ê‚΂ǂ̃}ƒbƒv‚Ö‚à‹¤—L‚Å‚«‚éB - <—á> + ・共有元ã®NPCã¯åŒã˜ãƒžãƒƒãƒ—サーãƒãƒ¼ã«å˜åœ¨ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚〠+ åŒã˜ãƒžãƒƒãƒ—ã§ãªã„å ´åˆã¯duplicateã™ã¹ãã§ã¯ãªã„。 + ãŸã ã—ã€NPCã®ä½ç½®ã‚’"-"ã«ã™ã‚‹ã“ã¨ã§ã€ãƒžãƒƒãƒ—上ã«ã¯å˜åœ¨ã—ãªã„ãŒã€ + マップサーãƒãƒ¼å†…ã«ã¯å˜åœ¨ã™ã‚‹NPCを作æˆã§ãã‚‹ã®ã§ã€ + ãã®NPCを共有元ã«ã™ã‚‹ã®ã§ã‚ã‚Œã°ã©ã®ãƒžãƒƒãƒ—ã¸ã‚‚共有ã§ãる。 + <例> -- script ƒeƒXƒg::test1 112,{ // ‚±‚ÌNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚µ‚È‚¢ -// (—ª) +- script テスト::test1 112,{ // ã“ã®NPCグラフィックIDã¯ä½¿ç”¨ã—ãªã„ +// (ç•¥) } -prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 -geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 +prontera.gat,165,195,1 duplicate(test1) テスト2 112 +geffen.gat,99,99,1 duplicate(test1) テスト3 112 - Eã‚̃}ƒbƒv‚É‘¶Ý‚µ‚È‚¢NPC‚̓Cƒxƒ“ƒg‚É‚à‚·‚邱‚Æ‚ª‚Å‚«‚éB - i‚ǂ̃}ƒbƒvƒT[ƒo[‚©‚ç‚Å‚à•K‚¸ŒÄ‚Ño‚¹‚éƒCƒxƒ“ƒg‚É‚È‚éj + ・上ã®ãƒžãƒƒãƒ—ã«å˜åœ¨ã—ãªã„NPCã¯ã‚¤ãƒ™ãƒ³ãƒˆã«ã‚‚ã™ã‚‹ã“ã¨ãŒã§ãる。 + (ã©ã®ãƒžãƒƒãƒ—サーãƒãƒ¼ã‹ã‚‰ã§ã‚‚å¿…ãšå‘¼ã³å‡ºã›ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã«ãªã‚‹ï¼‰ (map/) map.h - struct npc_label_list’ljÁ,struct npc_dataC³ + struct npc_label_listè¿½åŠ ,struct npc_dataä¿®æ£ npc.c - npc_parse_script()C³ - •s—v‚É‚È‚Á‚½ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ÌŠÖ”‚ðíœ + npc_parse_script()ä¿®æ£ + ä¸è¦ã«ãªã£ãŸãƒ©ãƒ™ãƒ«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹é–¢é€£ã®é–¢æ•°ã‚’削除 -------------------- -//0934 by ‚Ò‚´‚Ü‚ñ +//0934 by ã´ã–ã¾ã‚“ -EMOB‚Ìó‘ÔˆÙí‘Ï«‚ª‚₽‚ç‚‚©‚Á‚½‚Ì‚ðC³B -E‘¬“xŒ¸‚ÌŽd—l•ÏX(¬Œ÷—¦ŒvŽZŽ®•ÏXEŽ¸”sŽž‚ɂ̓GƒtƒFƒNƒg–³‚µ)B -E‰½Žž‚ÌŠÔ‚É‚©ó‘ÔˆÙí‚ÌŒp‚¬‘«‚µ‹ÖŽ~‚ªƒRƒƒ“ƒgƒAƒEƒg‚³‚ê‚Ä‚¢‚½‚Ì‚Å–ß‚µB -Eƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚̃AƒCƒRƒ“•\Ž¦‚ª–³‚‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³(‚Å‚ào‚邾‚¯c) -E”’nŽæ‚èŽÀ‘•B +・MOBã®çŠ¶æ…‹ç•°å¸¸è€æ€§ãŒã‚„ãŸã‚‰é«˜ã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +・速度減少ã®ä»•æ§˜å¤‰æ›´(æˆåŠŸçŽ‡è¨ˆç®—å¼å¤‰æ›´ãƒ»å¤±æ•—時ã«ã¯ã‚¨ãƒ•ã‚§ã‚¯ãƒˆç„¡ã—)。 +・何時ã®é–“ã«ã‹çŠ¶æ…‹ç•°å¸¸ã®ç¶™ãŽè¶³ã—ç¦æ¢ãŒã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã•ã‚Œã¦ã„ãŸã®ã§æˆ»ã—。 +・ãƒã‚¤ã‚ºãƒ³ãƒªã‚¢ã‚¯ãƒˆã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤ºãŒç„¡ããªã£ã¦ã„ãŸã®ã§ä¿®æ£(ã§ã‚‚出るã ã‘…) +・白刃å–り実装。 (map/) battle.c - battle_weapon_attack() C³B + battle_weapon_attack() ä¿®æ£ã€‚ clif.c - clif_parse_WalkToXY()Aclif_parse_ActionRequest() C³B - clif_parse_TakeItem()Aclif_parse_UseItem() C³B - clif_parse_DropItem()Aclif_parse_EquipItem() C³B - clif_parse_UnequipItem() C³B + clif_parse_WalkToXY()ã€clif_parse_ActionRequest() ä¿®æ£ã€‚ + clif_parse_TakeItem()ã€clif_parse_UseItem() ä¿®æ£ã€‚ + clif_parse_DropItem()ã€clif_parse_EquipItem() ä¿®æ£ã€‚ + clif_parse_UnequipItem() ä¿®æ£ã€‚ mob.c - mob_can_move()Amob_attack()Amob_ai_sub_hard() C³B - mobskill_use_id()Amobskill_use_pos() C³B - mobskill_castend_id()Amobskill_castend_pos() C³B - pc.c - pc_attack_timer()Apc_setpos() C³B - skill.c - SkillStatusChangeTable[] C³B - skill_additional_effect()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_check_condition() C³B - skill_status_change_start()Askill_status_change_end() C³B - skill_use_id() C³B - skill.h C³B + mob_can_move()ã€mob_attack()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ + mobskill_use_id()ã€mobskill_use_pos() ä¿®æ£ã€‚ + mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ + pc.c + pc_attack_timer()ã€pc_setpos() ä¿®æ£ã€‚ + skill.c + SkillStatusChangeTable[] ä¿®æ£ã€‚ + skill_additional_effect()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_status_change_end() ä¿®æ£ã€‚ + skill_use_id() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ -------------------- -//0933 by ŒÓ’±—– +//0933 by 胡è¶è˜ -EƒEƒBƒU[ƒh“]EŠNPC‰¼ŽÀ‘• - Eeathena‚̃f[ƒ^‚Ì–|–óA‚¨‚æ‚Ñ–^Š‚Ì̂̃f[ƒ^‚ðŒ³‚Éì‚Á‚½‚Ì‚Å - ŠàŽI‚Æ‚Í”÷–‚ɈقȂÁ‚Ä‚é‚ÆŽv‚¢‚Ü‚·B - uŒÃ‚¢Šª•¨v‚Æ‚©Žg‚¦‚Ü‚¹‚ñ‚µB - EŒ»s‚Ìjob_2nd.txt‚ƈê‚É“Ç‚Ýž‚Þ‚ÆANPC‚ªd‚È‚é‚Ì‚ÅA - job_2nd.txt‚ÌŠY“–ƒXƒNƒŠƒvƒg‚ðƒRƒƒ“ƒg‰»‚µ‚Ä‚‚¾‚³‚¢B - ‚½‚¾‚µA‚»‚Ìꇂ̓Z[ƒW‚É“]E‚³‚¹‚Ä‚à‚炦‚È‚¢‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +・ウィザード転è·æ‰€NPC仮実装 + ・eathenaã®ãƒ‡ãƒ¼ã‚¿ã®ç¿»è¨³ã€ãŠã‚ˆã³æŸæ‰€ã®æ˜”ã®ãƒ‡ãƒ¼ã‚¿ã‚’å…ƒã«ä½œã£ãŸã®ã§ + 癌鯖ã¨ã¯å¾®å¦™ã«ç•°ãªã£ã¦ã‚‹ã¨æ€ã„ã¾ã™ã€‚ + 「å¤ã„巻物ã€ã¨ã‹ä½¿ãˆã¾ã›ã‚“ã—。 + ・ç¾è¡Œã®job_2nd.txtã¨ä¸€ç·’ã«èªã¿è¾¼ã‚€ã¨ã€NPCãŒé‡ãªã‚‹ã®ã§ã€ + job_2nd.txtã®è©²å½“スクリプトをコメント化ã—ã¦ãã ã•ã„。 + ãŸã ã—ã€ãã®å ´åˆã¯ã‚»ãƒ¼ã‚¸ã«è»¢è·ã•ã›ã¦ã‚‚らãˆãªã„ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 (conf/npc/) npc_job_wizard.txt - ’ljÁ + è¿½åŠ (conf/warp/) npc_warp_job.txt - ƒEƒBƒU[ƒh“]EŠ‚̃[ƒv‚ðƒRƒƒ“ƒg‰» + ウィザード転è·æ‰€ã®ãƒ¯ãƒ¼ãƒ—をコメント化 -EƒoƒOC³ - Egoto‚âmenu‚щƒxƒ‹‚ªŒ©‚‚©‚ç‚È‚¢‚Æ‚«ƒXƒNƒŠƒvƒg‚ÌŽÀs‚ð’†’f‚·‚é‚悤‚É. - E‚P‰ñ‚̃XƒNƒŠƒvƒg‚ÌŽÀs‚É‚¨‚¢‚ÄAŽÀs–½—ß”‚ª–ñ8000‚ð’´‚¦‚é‚©A - goto‚âmenu‚ÌŽÀs‰ñ”‚ª–ñ500‰ñ‚ð’´‚¦‚é‚ÆŽÀs‚ð’†’f‚·‚é‚悤‚ÉB - EŠÖ”/–½—ߎÀsŽž‚É‚àƒGƒ‰[ƒ`ƒFƒbƒN‚ð“ü‚ꂽ - EƒMƒ‹ƒh/ƒp[ƒeƒB/ƒyƒbƒg‚Ì–¼‘O‚É“ú–{Œê‚ªŽg‚¦‚È‚¢–â‘èC³ +・ãƒã‚°ä¿®æ£ + ・gotoã‚„menuã§ãƒ©ãƒ™ãƒ«ãŒè¦‹ã¤ã‹ã‚‰ãªã„ã¨ãスクリプトã®å®Ÿè¡Œã‚’ä¸æ–ã™ã‚‹ã‚ˆã†ã«. + ・1回ã®ã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œã«ãŠã„ã¦ã€å®Ÿè¡Œå‘½ä»¤æ•°ãŒç´„8000を超ãˆã‚‹ã‹ã€ + gotoã‚„menuã®å®Ÿè¡Œå›žæ•°ãŒç´„500回を超ãˆã‚‹ã¨å®Ÿè¡Œã‚’ä¸æ–ã™ã‚‹ã‚ˆã†ã«ã€‚ + ・関数/命令実行時ã«ã‚‚エラーãƒã‚§ãƒƒã‚¯ã‚’入れ㟠+ ・ギルド/パーティ/ペットã®åå‰ã«æ—¥æœ¬èªžãŒä½¿ãˆãªã„å•é¡Œä¿®æ£ (char/) int_guild.c/int_party.c - –¼‘O–â‘èC³ + åå‰å•é¡Œä¿®æ£ (map/) pet.c - –¼‘O–â‘èC³ + åå‰å•é¡Œä¿®æ£ script.c - C³ + ä¿®æ£ -------------------- //0932 by End_of_exam -E0930‚ŃMƒ‹ƒh‘qŒÉ‚Ì’†g‚ªÁ‚¦‚éƒoƒO‚ðC³B +・0930ã§ã‚®ãƒ«ãƒ‰å€‰åº«ã®ä¸èº«ãŒæ¶ˆãˆã‚‹ãƒã‚°ã‚’ä¿®æ£ã€‚ (char/) - int_storage.c guild_storage_tostr() C³B + int_storage.c guild_storage_tostr() ä¿®æ£ã€‚ -------------------- -//0931 by (“Ê) -EƒT[ƒo[snapshot -EAthenaDBŒv‰æ‚©‚çXV‚Ì‚ ‚Á‚½•¨‚𔽉f -Eatcommand_athena.conf‚Éstr“™‚ð’ljÁ -Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ì–{ŽI‘Šˆá“_‚ðC³ -E–¶‚³‚ñ‚Ìaldeg_cas03`05‚𓯫 -Ep‚³‚ñ‚Ìnpc_event_kataribe.txt“¯« -EKAJIKEN‚³‚ñ‚Ìnpc_warp_louyang.txt“¯« +//0931 by (凸) +・サーãƒãƒ¼snapshot +・AthenaDB計画ã‹ã‚‰æ›´æ–°ã®ã‚ã£ãŸç‰©ã‚’åæ˜ +・atcommand_athena.confã«strç‰ã‚’è¿½åŠ +・ワープãƒãƒ¼ã‚¿ãƒ«ã®æœ¬é¯–相é•ç‚¹ã‚’ä¿®æ£ +・霧ã•ã‚“ã®aldeg_cas03〜05ã‚’åŒæ¢± +・pã•ã‚“ã®npc_event_kataribe.txtåŒæ¢± +・KAJIKENã•ã‚“ã®npc_warp_louyang.txtåŒæ¢± (db/) - item_db.txt •ÏX + item_db.txt 変更 (conf/) - atcommand_athena.conf •ÏX - map_athena.conf •ÏX + atcommand_athena.conf 変更 + map_athena.conf 変更 (conf/gvg/) - aldeg_cas03.txt •ÏX - aldeg_cas04.txt •ÏX - aldeg_cas05.txt •ÏX + aldeg_cas03.txt 変更 + aldeg_cas04.txt 変更 + aldeg_cas05.txt 変更 (conf/mob/) - npc_monster.txt •ÏX + npc_monster.txt 変更 (conf/npc/) - npc_event_kataribe.txt ’ljÁ + npc_event_kataribe.txt è¿½åŠ (conf/warp/) - npc_warp_louyang.txt ’ljÁ + npc_warp_louyang.txt è¿½åŠ (map/) - pc.c pc_memo() •ÏX + pc.c pc_memo() 変更 -------------------- -//0930 by ŒÓ’±—– +//0930 by 胡è¶è˜ - Šù‘¶‚Ì char/ ‚É‚ ‚élock.c‚Ælock.h‚Í휂µ‚Ä‚‚¾‚³‚¢B - ‚±‚ê‚ç‚Í common/ ‚Ɉړ®‚³‚ê‚Ü‚·B + æ—¢å˜ã® char/ ã«ã‚ã‚‹lock.cã¨lock.hã¯å‰Šé™¤ã—ã¦ãã ã•ã„。 + ã“れら㯠common/ ã«ç§»å‹•ã•ã‚Œã¾ã™ã€‚ -EƒXƒNƒŠƒvƒg’ljÁC³ - Esetarrayi”z—ñ‚ÖƒŠƒXƒg‘ã“üj’ljÁ - Ecleararrayi”z—ñ‚ðŽw’è’l‚ŃNƒŠƒAj’ljÁ - Ecopyarrayi”z—ñ‚ðƒRƒs[j’ljÁ - Egetarraysizei”z—ñ‚Ì—LŒø‚È—v‘f”‚ð‹‚ß‚éj’ljÁ - Edeletearrayi”z—ñ‚Ì—v‘f‚ð휂µ‚Â߂éj’ljÁ - EwarpwaitingpcFl”‚âƒAƒJƒEƒ“ƒgID‚ðƒ}ƒbƒv•Ï”‚ɃZƒbƒg‚·‚é‚悤‚ÉC³ +ãƒ»ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ ä¿®æ£ + ・setarray(é…列ã¸ãƒªã‚¹ãƒˆä»£å…¥ï¼‰è¿½åŠ + ・cleararray(é…列を指定値ã§ã‚¯ãƒªã‚¢ï¼‰è¿½åŠ + ・copyarray(é…åˆ—ã‚’ã‚³ãƒ”ãƒ¼ï¼‰è¿½åŠ + ・getarraysize(é…列ã®æœ‰åŠ¹ãªè¦ç´ 数を求ã‚ã‚‹ï¼‰è¿½åŠ + ・deletearray(é…列ã®è¦ç´ を削除ã—ã¦ã¤ã‚ã‚‹ï¼‰è¿½åŠ + ・warpwaitingpc:人数やアカウントIDをマップ変数ã«ã‚»ãƒƒãƒˆã™ã‚‹ã‚ˆã†ã«ä¿®æ£ (map/) script.c - FX + 色々 (doc/) script_ref.txt - –½—ߒljÁ‚È‚Ç + å‘½ä»¤è¿½åŠ ãªã© (npc/sample/) npc_test_array.txt - ”z—ñŒnƒeƒXƒg—pNPCƒXƒNƒŠƒvƒg + é…列系テスト用NPCスクリプト -EƒoƒOC³‚È‚Ç - EƒLƒƒƒ‰ƒNƒ^[–¼/ƒAƒJƒEƒ“ƒg–¼/ƒp[ƒeƒB–¼/ƒMƒ‹ƒh–¼/ƒyƒbƒg–¼‚É - ƒRƒ“ƒgƒ[ƒ‹ƒR[ƒh‚ðŽg‚¦‚È‚¢‚悤‚ÉC³B - Echar.c‚È‚Ç‚Ì•Û‘¶‚ÌŒø—¦‚ðX‚ɃAƒbƒvB - E‘qŒÉƒtƒ@ƒCƒ‹/ƒMƒ‹ƒh‘qŒÉƒtƒ@ƒCƒ‹‚É‹ós‚ªŽc‚ç‚È‚¢‚悤‚ÉC³ - Elock.*‚ðcommon/‚Ɉړ®Aƒtƒ@ƒCƒ‹‚ª•Û‘¶‚Å‚«‚È‚‚È‚éƒoƒOC³A - ƒAƒJƒEƒ“ƒg‚ƃ}ƒbƒv•Ï”‚Ì•Û‘¶‚É‚àlock_fopen‚ðŽg‚¤‚悤‚ÉB +・ãƒã‚°ä¿®æ£ãªã© + ・ã‚ャラクターå/アカウントå/パーティå/ギルドå/ペットåã« + コントãƒãƒ¼ãƒ«ã‚³ãƒ¼ãƒ‰ã‚’使ãˆãªã„よã†ã«ä¿®æ£ã€‚ + ・char.cãªã©ã®ä¿å˜ã®åŠ¹çŽ‡ã‚’æ›´ã«ã‚¢ãƒƒãƒ—。 + ・倉庫ファイル/ギルド倉庫ファイルã«ç©ºè¡ŒãŒæ®‹ã‚‰ãªã„よã†ã«ä¿®æ£ + ・lock.*ã‚’common/ã«ç§»å‹•ã€ãƒ•ã‚¡ã‚¤ãƒ«ãŒä¿å˜ã§ããªããªã‚‹ãƒã‚°ä¿®æ£ã€ + アカウントã¨ãƒžãƒƒãƒ—変数ã®ä¿å˜ã«ã‚‚lock_fopenを使ã†ã‚ˆã†ã«ã€‚ (common/) lock.c/lock.h - ƒtƒHƒ‹ƒ_ˆÚ“®Alock_fopenC³ + フォルダ移動ã€lock_fopenä¿®æ£ (login/) login.c - mmo_auth_new()C³ + mmo_auth_new()ä¿®æ£ (char/) char.c - mmo_char_tostr(),make_new_char()C³ + mmo_char_tostr(),make_new_char()ä¿®æ£ int_storage.c storage_tostr(),guild_storage_tostr(), - inter_storage_save_sub(),inter_guild_storage_save_sub()C³ + inter_storage_save_sub(),inter_guild_storage_save_sub()ä¿®æ£ int_party.c int_guild.c - –¼‘O–â‘èC³ + åå‰å•é¡Œä¿®æ£ (map/) pet.c - –¼‘O–â‘èC³ + åå‰å•é¡Œä¿®æ£ -------------------- -//0929 by ‚Ò‚´‚Ü‚ñ +//0929 by ã´ã–ã¾ã‚“ -Eƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[Š®‘SŽÀ‘•B -Eƒvƒƒ{ƒbƒN‚̃XƒLƒ‹Žd—l•ÏX(‰r¥–WŠQE“€Œ‹AΉ»A‡–°‰ðœ)B -EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹Žd—l•ÏX(ƒAƒ“ƒfƒbƒh‚ÉŽg—p‚·‚é‚ƈê’èŠm—¦‚ňÈŌø‰Ê)B -Eó‘ÔˆÙí’†‚Å‚à‘•”õ‚ÌØ‚è‘Ö‚¦‚ªo—ˆ‚é‚悤‚É•ÏXB -EƒAƒCƒeƒ€Ž©“®Žæ“¾’†‚É@killmonster‚ðŽg—p‚·‚é‚Æ—Ž‚¿‚éƒoƒOC³B -EŒÓ’±—–‚³‚ñ‚ªã‚°‚Ä‚¢‚½npc.c‚𓯫‚µ‚Ü‚µ‚½B -Eskill_db‚Å‹C‚É‚È‚Á‚Ä‚½‚Æ‚±‚ð‚¿‚å‚±‚Á‚ÆC³B +・ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼å®Œå…¨å®Ÿè£…。 +・プãƒãƒœãƒƒã‚¯ã®ã‚¹ã‚ル仕様変更(è© å”±å¦¨å®³ãƒ»å‡çµã€çŸ³åŒ–ã€ç¡çœ 解除)。 +・リカãƒãƒªãƒ¼ã®ã‚¹ã‚ル仕様変更(アンデッドã«ä½¿ç”¨ã™ã‚‹ã¨ä¸€å®šç¢ºçŽ‡ã§æš—闇効果)。 +・状態異常ä¸ã§ã‚‚装備ã®åˆ‡ã‚Šæ›¿ãˆãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・アイテム自動å–å¾—ä¸ã«@killmonsterを使用ã™ã‚‹ã¨è½ã¡ã‚‹ãƒã‚°ä¿®æ£ã€‚ +・胡è¶è˜ã•ã‚“ãŒä¸Šã’ã¦ã„ãŸnpc.cã‚’åŒæ¢±ã—ã¾ã—ãŸã€‚ +・skill_dbã§æ°—ã«ãªã£ã¦ãŸã¨ã“ã‚’ã¡ã‚‡ã“ã£ã¨ä¿®æ£ã€‚ (map/) clif.c - clif_parse_EquipItem() C³B + clif_parse_EquipItem() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id() C³B - skill_unitsetting()Askill_unit_onplace() C³B - skill_landprotector() ’ljÁB + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_unitsetting()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_landprotector() è¿½åŠ ã€‚ mob.c - mob_delay_item_drop()Amob_delay_item_drop2() C³B - npc.c C³ + mob_delay_item_drop()ã€mob_delay_item_drop2() ä¿®æ£ã€‚ + npc.c ä¿®æ£ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ -------------------- //0928 by End_of_exam -EƒLƒƒƒ‰‚â‘qŒÉ“àƒAƒCƒeƒ€‚ªÁ‚¦‚é–â‘è‚ÉŽb’è‘ΈiƒLƒƒƒ‰ŽI‚̉ü—ÇjB +・ã‚ャラや倉庫内アイテムãŒæ¶ˆãˆã‚‹å•é¡Œã«æš«å®šå¯¾å‡¦ï¼ˆã‚ャラ鯖ã®æ”¹è‰¯ï¼‰ã€‚ -@1.ƒLƒƒƒ‰ƒf[ƒ^E‘qŒÉƒf[ƒ^‚̃f[ƒ^•ÏŠ·ˆ—‚ð‰ü—ÇB -@@(char/char.c , char/int_storage.c) + 1.ã‚ャラデータ・倉庫データã®ãƒ‡ãƒ¼ã‚¿å¤‰æ›å‡¦ç†ã‚’改良。 +  (char/char.c , char/int_storage.c) -@2.ƒtƒ@ƒCƒ‹‘‚«o‚µ‚ªI‚í‚é‚Ü‚ÅA‹Œƒtƒ@ƒCƒ‹‚ðŽc‚·‚悤‚ÉC³B -@ichar/lock.c, char/lock.h ‚̒ljÁBƒƒCƒNƒtƒ@ƒCƒ‹‚ÌC³B -@@char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c -@@“à‚É‚ ‚éAƒf[ƒ^‘‚«o‚µˆ—‚ð•ÏXBj + 2.ファイル書ã出ã—ãŒçµ‚ã‚ã‚‹ã¾ã§ã€æ—§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’残ã™ã‚ˆã†ã«ä¿®æ£ã€‚ + (char/lock.c, char/lock.h ã®è¿½åŠ 。メイクファイルã®ä¿®æ£ã€‚ +  char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c +  内ã«ã‚ã‚‹ã€ãƒ‡ãƒ¼ã‚¿æ›¸ã出ã—処ç†ã‚’変更。) -------------------- -//0927 by ‚Ò‚´‚Ü‚ñ +//0927 by ã´ã–ã¾ã‚“ -E•ŠíUŒ‚ˆÈŠO‚ÉŽí‘°•â³‚ª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -E‰‰‘t’†‚ÉŠyŠíE•ÚˆÈŠO‚Ì•Ší‚ÉŽ‚¿•Ï‚¦‚é‚Ɖ‰‘t‚ªŽ~‚Ü‚é—l‚ÉC³B -E‰‰‘t‚ÌŒø‰Ê‚ª‰‰‘tŽÒŽ©g‚É‚Í‚©‚©‚ç‚È‚¢‚悤‚ÉC³B -EƒAƒCƒeƒ€Ž©“®Žæ“¾‹@”\ŽÀ‘• -@“G‚ð“|‚µ‚½Žž‚ÉAƒAƒCƒeƒ€‚ªƒhƒƒbƒv‚³‚ê‚é‚Ì‚Å‚Í‚È‚A‚»‚Ì“G‚Ɉê”Ô‘½‚‚̃_ƒ[ƒW‚ð -@—^‚¦‚½l(ƒ‹[ƒgŒ 1ˆÊ‚Ìl)‚ɃhƒƒbƒvƒAƒCƒeƒ€‚ªŽ©“®‚Å—^‚¦‚ç‚ê‚é‹@”\‚Å‚·B -@battle_athena.conf‚Ìitem_auto_get‚ÅÝ’è‚Å‚«‚Ü‚·B -@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚̈×Abattle_athena.conf‚ł̃fƒtƒHƒ‹ƒg‚Å‚Íno‚É‚µ‚Ä‚¢‚Ü‚·B -E‘®«ê(ƒfƒŠƒ…[ƒWEƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Eƒ{ƒ‹ƒP[ƒmEƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[)‰¼ŽÀ‘• -@ˆê•”‚Ì‹@”\‚ª–¢ŽÀ‘•‚Å‚· -@@ƒfƒŠƒ…[ƒWF…ê‚ð—p‚¢‚½ƒEƒH[ƒ^[ƒ{[ƒ‹ -@@ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Fƒtƒ@ƒCƒA[ƒEƒH[ƒ‹‚ÌŽ‘±ŽžŠÔ•â³ -@@ƒ{ƒ‹ƒP[ƒmFƒAƒCƒXƒEƒH[ƒ‹‹ÖŽ~ -@@ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[FƒIƒuƒWƒFƒNƒgÝ’uŒnƒXƒLƒ‹‹ÖŽ~(‚‚܂èo‚邾‚¯‚ÌLP‚Å‚·) +・æ¦å™¨æ”»æ’ƒä»¥å¤–ã«ç¨®æ—補æ£ãŒå…¥ã£ã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +・演å¥ä¸ã«æ¥½å™¨ãƒ»éžä»¥å¤–ã®æ¦å™¨ã«æŒã¡å¤‰ãˆã‚‹ã¨æ¼”å¥ãŒæ¢ã¾ã‚‹æ§˜ã«ä¿®æ£ã€‚ +・演å¥ã®åŠ¹æžœãŒæ¼”å¥è€…自身ã«ã¯ã‹ã‹ã‚‰ãªã„よã†ã«ä¿®æ£ã€‚ +・アイテム自動å–得機能実装 + 敵を倒ã—ãŸæ™‚ã«ã€ã‚¢ã‚¤ãƒ†ãƒ ãŒãƒ‰ãƒãƒƒãƒ—ã•ã‚Œã‚‹ã®ã§ã¯ãªãã€ãã®æ•µã«ä¸€ç•ªå¤šãã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’ + 与ãˆãŸäºº(ルート権1ä½ã®äºº)ã«ãƒ‰ãƒãƒƒãƒ—アイテムãŒè‡ªå‹•ã§ä¸Žãˆã‚‰ã‚Œã‚‹æ©Ÿèƒ½ã§ã™ã€‚ + battle_athena.confã®item_auto_getã§è¨å®šã§ãã¾ã™ã€‚ + オリジナルアップデートã®ç‚ºã€battle_athena.confã§ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯noã«ã—ã¦ã„ã¾ã™ã€‚ +ãƒ»å±žæ€§å ´(デリュージ・ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ«ãƒ»ãƒœãƒ«ã‚±ãƒ¼ãƒŽãƒ»ãƒ©ãƒ³ãƒ‰ãƒ—ãƒãƒ†ã‚¯ã‚¿ãƒ¼)仮実装 + 一部ã®æ©Ÿèƒ½ãŒæœªå®Ÿè£…ã§ã™ +ã€€ã€€ãƒ‡ãƒªãƒ¥ãƒ¼ã‚¸ï¼šæ°´å ´ã‚’ç”¨ã„ãŸã‚¦ã‚©ãƒ¼ã‚¿ãƒ¼ãƒœãƒ¼ãƒ« +  ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ«ï¼šãƒ•ã‚¡ã‚¤ã‚¢ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«ã®æŒç¶šæ™‚é–“è£œæ£ +  ボルケーノ:アイスウォールç¦æ¢ +  ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼ï¼šã‚ªãƒ–ジェクトè¨ç½®ç³»ã‚¹ã‚ルç¦æ¢(ã¤ã¾ã‚Šå‡ºã‚‹ã ã‘ã®LPã§ã™) (map/) battle.c - battle_calc_damage()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack()Abattle_config_read() C³B + battle_calc_damage()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack()ã€battle_config_read() ä¿®æ£ã€‚ mob.c - mob_delay_item_drop()Amob_delay_item_drop2() C³B - pc.c - pc_calcstatus()Apc_equipitem() C³B - skill.c - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B - SkillStatusChangeTable[] C³B - skill_castend_nodamage_id()Askill_castend_pos2() C³B - skill_unitsetting()Askill_unit_onplace() C³B - skill_unit_onout()Askill_unit_ondelete() C³B - skill_status_change_start()Askill_status_change_end() C³B - skill_clear_element_field() ’ljÁB - battle.h C³B - skill.h C³B + mob_delay_item_drop()ã€mob_delay_item_drop2() ä¿®æ£ã€‚ + pc.c + pc_calcstatus()ã€pc_equipitem() ä¿®æ£ã€‚ + skill.c + ãƒãƒ¼ã‚«ãƒ«ãƒ—ãƒãƒˆã‚¿ã‚¤ãƒ—宣言修æ£ã€‚ + SkillStatusChangeTable[] ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_pos2() ä¿®æ£ã€‚ + skill_unitsetting()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_unit_onout()ã€skill_unit_ondelete() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_status_change_end() ä¿®æ£ã€‚ + skill_clear_element_field() è¿½åŠ ã€‚ + battle.h ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ (conf/) battle_athena.conf - item_auto_get€–Ú‚ð’ljÁB + item_auto_geté …ç›®ã‚’è¿½åŠ ã€‚ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ -------------------- -//0926 by ŒÓ’±—– +//0926 by 胡è¶è˜ -EƒMƒ‹ƒhé‚̉Šú‰»•û–@•ÏX - E‘S‚ẴMƒ‹ƒhéi{è‹’ƒMƒ‹ƒhî•ñj‚ðŠ“¾‚µ‚½‚Æ‚«‚ÉOnAgitInit‚ª - ‚æ‚΂ê‚é‚悤‚ÉBGetCastleData‚âRequestGuildInfo‚Ì•K—v‚ª‚È‚‚È‚è‚Ü‚·B - ]‚Á‚ÄAŒ»Ý‚ÌgvgƒXƒNƒŠƒvƒg‚ÌOnInterIfInit‚âOnRecvCastleXXX‚Í - •K—v‚È‚‚È‚è‚Ü‚·Bi‚¨‚»‚ç‚Œ»s‚̃XƒNƒŠƒvƒg‚à“®ì‚͉”\‚Å‚·j - ‰Šú‰»‚ª•K—v‚ÈNPC‚Í•Ï‚í‚è‚ÉOnAgitInit‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B - ‚È‚¨A•s—v‚É‚È‚Á‚½–½—ß‚È‚Ç‚ð휂·‚é—\’è‚Í‚ ‚è‚Ü‚¹‚ñB +・ギルド城ã®åˆæœŸåŒ–方法変更 + ・全ã¦ã®ã‚®ãƒ«ãƒ‰åŸŽï¼ˆï¼‹å æ‹ ã‚®ãƒ«ãƒ‰æƒ…å ±ï¼‰ã‚’æ‰€å¾—ã—ãŸã¨ãã«OnAgitInit㌠+ よã°ã‚Œã‚‹ã‚ˆã†ã«ã€‚GetCastleDataã‚„RequestGuildInfoã®å¿…è¦ãŒãªããªã‚Šã¾ã™ã€‚ + 従ã£ã¦ã€ç¾åœ¨ã®gvgスクリプトã®OnInterIfInitã‚„OnRecvCastleXXX㯠+ å¿…è¦ãªããªã‚Šã¾ã™ã€‚(ãŠãらãç¾è¡Œã®ã‚¹ã‚¯ãƒªãƒ—トも動作ã¯å¯èƒ½ã§ã™ï¼‰ + åˆæœŸåŒ–ãŒå¿…è¦ãªNPCã¯å¤‰ã‚ã‚Šã«OnAgitInitを使ã£ã¦ãã ã•ã„。 + ãªãŠã€ä¸è¦ã«ãªã£ãŸå‘½ä»¤ãªã©ã‚’削除ã™ã‚‹äºˆå®šã¯ã‚ã‚Šã¾ã›ã‚“。 (char/) inter.c/inter.h/char.c/int_guild.c/int_guild.h - ƒ}ƒbƒvƒT[ƒo[Ú‘±Žž‚Ɉ—‚ðs‚¦‚é‚悤‚ÉC³ - Ú‘±Žž‚ɃMƒ‹ƒhéƒf[ƒ^‚ð‘—M‚·‚é‚悤‚É + マップサーãƒãƒ¼æŽ¥ç¶šæ™‚ã«å‡¦ç†ã‚’è¡Œãˆã‚‹ã‚ˆã†ã«ä¿®æ£ + 接続時ã«ã‚®ãƒ«ãƒ‰åŸŽãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã™ã‚‹ã‚ˆã†ã« (map/) intif.c/guild.c/guild.h - Ú‘±Žž‚̃Mƒ‹ƒhéƒf[ƒ^ˆêŠ‡ŽóMˆ—•ƒMƒ‹ƒhî•ñ—v‹A - OnAgitInit‚̌ĂÑo‚µ‚È‚Ç + 接続時ã®ã‚®ãƒ«ãƒ‰åŸŽãƒ‡ãƒ¼ã‚¿ä¸€æ‹¬å—信処ç†ï¼†ã‚®ãƒ«ãƒ‰æƒ…å ±è¦æ±‚〠+ OnAgitInitã®å‘¼ã³å‡ºã—ãªã© chrif.c - ‹ŒOnAgitInit‚̌ĂÑo‚µíœ + æ—§OnAgitInitã®å‘¼ã³å‡ºã—削除 (doc/) inter_server_packet.txt - ƒMƒ‹ƒhéƒf[ƒ^ˆêŠ‡‘—MƒpƒPƒbƒg0x3842’ljÁ + ギルド城データ一括é€ä¿¡ãƒ‘ケット0x3842è¿½åŠ -EƒXƒNƒŠƒvƒg‚ÉNPCŽå‘̃Cƒxƒ“ƒgŽÀs–½—ߒljÁ - Edonpcevent(NPCŽå‘̃Cƒxƒ“ƒgŽÀs)’ljÁ - ‚±‚¿‚ç‚Ídoevent‚ƈႢƒuƒ[ƒhƒLƒƒƒXƒg‰Â”\‚Å‚·BÚׂÍscript_refB - Eisloggedin‚̃Rƒ“ƒpƒCƒ‹Œx‚ª‚Å‚È‚¢‚悤‚ÉC³ +・スクリプトã«NPCä¸»ä½“ã‚¤ãƒ™ãƒ³ãƒˆå®Ÿè¡Œå‘½ä»¤è¿½åŠ + ・donpcevent(NPC主体イベント実行)è¿½åŠ + ã“ã¡ã‚‰ã¯doeventã¨é•ã„ブãƒãƒ¼ãƒ‰ã‚ャストå¯èƒ½ã§ã™ã€‚詳細ã¯script_ref。 + ・isloggedinã®ã‚³ãƒ³ãƒ‘イルè¦å‘ŠãŒã§ãªã„よã†ã«ä¿®æ£ (map/) script.c - buildin_donpcevent()’ljÁ‚È‚Ç + buildin_donpcevent()è¿½åŠ ãªã© (doc/) script_ref.txt - doevent,donpcevent,OnAgitInit’ljÁ‚È‚Ç + doevent,donpcevent,OnAgitInitè¿½åŠ ãªã© -E‚»‚Ì‘¼C³ +・ãã®ä»–ä¿®æ£ (map/) clif.c - clif_parse_GMReqNoChat()’ljÁ + clif_parse_GMReqNoChat()è¿½åŠ -------------------- -//0925 by ŒÓ’±—– +//0925 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚̃oƒOC³ - Emonster,areamonster‚Ì–â‘èC³ - ‚±‚ê‚ç‚Íscript_rid2sd‚ðŽg—p‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B - sd‚ªNULL‚Ì‚Æ‚«AƒŒƒxƒ‹ƒ`ƒFƒbƒN‚ðs‚í‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B +・スクリプトã®ãƒã‚°ä¿®æ£ + ・monster,areamonsterã®å•é¡Œä¿®æ£ + ã“れらã¯script_rid2sdを使用ã—ãªã„よã†ã«ã—ã¾ã—ãŸã€‚ + sdãŒNULLã®ã¨ãã€ãƒ¬ãƒ™ãƒ«ãƒã‚§ãƒƒã‚¯ã‚’è¡Œã‚ãªã„よã†ã«ã—ã¾ã—ãŸã€‚ (map/) script.c/mob.c - buildin_monster(),buildin_areamonster(),mob_once_spawn()‘¼ + buildin_monster(),buildin_areamonster(),mob_once_spawn()ä»– -EƒXƒNƒŠƒvƒg‚Ì‹@”\’ljÁ - Edetachrid–½—ßiƒvƒŒƒCƒ„[‚̃fƒ^ƒbƒ`j’ljÁ - EisloggedinŠÖ”iƒvƒŒƒCƒ„[‚̃ƒOƒCƒ“ƒ`ƒFƒbƒNj’ljÁ - Egetitem,getitem2–½—ß,countitem,checkweightŠÖ”‚Å - nameid‚ɃAƒCƒeƒ€‚Ì–¼‘O‚ðŽw’è‰Â”\‚ÉB - (item_db‚ȂǂɈˑ¶‚·‚邽‚ßAŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªAˆê‰ž) +・スクリプトã®æ©Ÿèƒ½è¿½åŠ + ・detachrid命令(プレイヤーã®ãƒ‡ã‚¿ãƒƒãƒï¼‰è¿½åŠ + ・isloggedin関数(プレイヤーã®ãƒã‚°ã‚¤ãƒ³ãƒã‚§ãƒƒã‚¯ï¼‰è¿½åŠ + ・getitem,getitem2命令,countitem,checkweight関数㧠+ nameidã«ã‚¢ã‚¤ãƒ†ãƒ ã®åå‰ã‚’指定å¯èƒ½ã«ã€‚ + (item_dbãªã©ã«ä¾å˜ã™ã‚‹ãŸã‚ã€ä½¿ç”¨ã™ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ä¸€å¿œ) (map/) script.c - FX + 色々 (doc/) script_ref.txt - •ÏX•”•ª‚ƃGƒ‰[à–¾C³ + 変更部分ã¨ã‚¨ãƒ©ãƒ¼èª¬æ˜Žä¿®æ£ -Eathena-start‚Æstart‚ðC³ - Eathena-start stop‚ŃvƒƒZƒX‚ªI—¹‚·‚é‚܂ő҂‚悤‚É - Estart‚ÅÄ‹N“®‚³‚¹‚é‚Æ‚«athena-start restart‚ðŒÄ‚Ԃ悤‚ÉB +・athena-startã¨startã‚’ä¿®æ£ + ・athena-start stopã§ãƒ—ãƒã‚»ã‚¹ãŒçµ‚了ã™ã‚‹ã¾ã§å¾…ã¤ã‚ˆã†ã« + ・startã§å†èµ·å‹•ã•ã›ã‚‹ã¨ãathena-start restartを呼ã¶ã‚ˆã†ã«ã€‚ -------------------- -//0924 by (“Ê) +//0924 by (凸) -EƒoƒO•ñƒXƒŒƒbƒh part4 >>66‚Ìnpc‚ðŽæ‚èž‚Ý -E“¯ >>51‚Ìguild.c‚𔽉f -E“¯ >>38‚Ìatcommand_athena.conf‚Ö‚Ì•ÏX‚ðŽæ‚èž‚Ý -E‚È‚º‚©npcƒtƒHƒ‹ƒ_‚É‚ ‚Á‚Ämap_athena.conf‚È‚¢ƒtƒ@ƒCƒ‹‚ðˆê——‚ɒljÁB‚‚¢‚łɃMƒ‹ƒhƒtƒ‰ƒbƒO‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ -Econf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txt‚̓XƒiƒbƒvƒVƒ‡ƒbƒg‚©‚ç휂µ‚Ä‚‚¾‚³‚¢ +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ part4 >>66ã®npcã‚’å–り込㿠+ãƒ»åŒ >>51ã®guild.cã‚’åæ˜ +ãƒ»åŒ >>38ã®atcommand_athena.confã¸ã®å¤‰æ›´ã‚’å–り込㿠+・ãªãœã‹npcフォルダã«ã‚ã£ã¦map_athena.confãªã„ファイルを一覧ã«è¿½åŠ 。ã¤ã„ã§ã«ã‚®ãƒ«ãƒ‰ãƒ•ãƒ©ãƒƒã‚°ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’解除 +・conf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txtã¯ã‚¹ãƒŠãƒƒãƒ—ショットã‹ã‚‰å‰Šé™¤ã—ã¦ãã ã•ã„ (map/) - guild.c C³ + guild.c ä¿®æ£ (conf/) - map_athena.conf C³ - atcommand_athena.conf C³ + map_athena.conf ä¿®æ£ + atcommand_athena.conf ä¿®æ£ (conf/npc/) - npc_event_hat.txt C³ - npc_event_oni.txt C³ - npc_job_1st.txt íœ - npc_script2.txt íœ - npc_shop3.txt íœ + npc_event_hat.txt ä¿®æ£ + npc_event_oni.txt ä¿®æ£ + npc_job_1st.txt 削除 + npc_script2.txt 削除 + npc_shop3.txt 削除 -------------------- -//0923 by ŒÓ’±—– +//0923 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚̃oƒOC³ -Escript_rid2sd‚ªŽ¸”s‚µ‚Ä‚àƒT[ƒo[‚ðI—¹‚µ‚È‚¢‚悤‚É•ÏX - Emonster,areamonster‚È‚Ç‚ªŽÀs‚Å‚«‚È‚¢–â‘èC³ +・スクリプトã®ãƒã‚°ä¿®æ£ +・script_rid2sdãŒå¤±æ•—ã—ã¦ã‚‚サーãƒãƒ¼ã‚’終了ã—ãªã„よã†ã«å¤‰æ›´ + ・monster,areamonsterãªã©ãŒå®Ÿè¡Œã§ããªã„å•é¡Œä¿®æ£ (map/) script.c/mob.c - buildin_monster()‚È‚ÇC³ + buildin_monster()ãªã©ä¿®æ£ (doc/) script_ref.txt - ƒ‰ƒxƒ‹‚ƃGƒ‰[‚Ìà–¾C³ + ラベルã¨ã‚¨ãƒ©ãƒ¼ã®èª¬æ˜Žä¿®æ£ -------------------- -//0922 by ŒÓ’±—– +//0922 by 胡è¶è˜ -EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ìs”Ô†‚ª³‚µ‚•\Ž¦‚³‚ê‚é‚悤‚É +・スクリプトエラーã®è¡Œç•ªå·ãŒæ£ã—ã表示ã•ã‚Œã‚‹ã‚ˆã†ã« (map/) itemdb.c / npc.c - itemdb_readdb(),npc_parse_script()C³ + itemdb_readdb(),npc_parse_script()ä¿®æ£ -EƒLƒƒƒ‰ƒNƒ^[î•ñ‚ɃAƒNƒZƒX‚Å‚«‚È‚¢ó‘ԂŃAƒNƒZƒX‚·‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉC³ -Egoto/menu‚щƒxƒ‹‚ªŽw’肳‚ê‚éꊂɃ‰ƒxƒ‹ˆÈŠO‚ªŽw’肳‚ê‚é‚ÆŒx‚ðo‚·‚悤‚É -Escript_ref‚ɃGƒ‰[ƒƒbƒZ[ƒW‚Ìà–¾’ljÁ -EƒCƒxƒ“ƒg‹N“®‚³‚ꂽƒXƒNƒŠƒvƒg‚ŃLƒƒƒ‰ƒNƒ^[‚ðŽg—p‚Å‚«‚é‚悤‚É‚·‚éŠÖ”’ljÁ - EattachridiŽw’肵‚½ID‚Ìî•ñ‚ðŽg—p‚Å‚«‚é‚悤‚É‚·‚éj’ljÁ - Egetcharidi3‚ŃAƒJƒEƒ“ƒgID‚ðŠ“¾‚Å‚«‚é‚悤‚ÉjC³ +・ã‚ãƒ£ãƒ©ã‚¯ã‚¿ãƒ¼æƒ…å ±ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„状態ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã‚’出ã™ã‚ˆã†ã«ä¿®æ£ +・goto/menuã§ãƒ©ãƒ™ãƒ«ãŒæŒ‡å®šã•ã‚Œã‚‹å ´æ‰€ã«ãƒ©ãƒ™ãƒ«ä»¥å¤–ãŒæŒ‡å®šã•ã‚Œã‚‹ã¨è¦å‘Šã‚’出ã™ã‚ˆã†ã« +・script_refã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®èª¬æ˜Žè¿½åŠ +・イベント起動ã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—トã§ã‚ャラクターを使用ã§ãるよã†ã«ã™ã‚‹é–¢æ•°è¿½åŠ + ・attachrid(指定ã—ãŸIDã®æƒ…å ±ã‚’ä½¿ç”¨ã§ãるよã†ã«ã™ã‚‹ï¼‰è¿½åŠ + ・getcharid(3ã§ã‚¢ã‚«ã‚¦ãƒ³ãƒˆIDを所得ã§ãるよã†ã«ï¼‰ä¿®æ£ (map/) script.c - script_rid2sd(),buildin_attachrid()’ljÁ - ‘½XC³B + script_rid2sd(),buildin_attachrid()è¿½åŠ + 多々修æ£ã€‚ (doc/) script_ref.txt - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ìà–¾’ljÁA•Ï”/ƒ‰ƒxƒ‹‚Ìà–¾C³ - ‘¼C³ + エラーメッセージã®èª¬æ˜Žè¿½åŠ ã€å¤‰æ•°/ラベルã®èª¬æ˜Žä¿®æ£ + ä»–ä¿®æ£ -------------------- //0921 by RR -EƒXƒNƒŠƒvƒgƒoƒOC³(‚²–À˜f‚ð‚¨‚©‚¯‚µ‚Ü‚µ‚½) +・スクリプトãƒã‚°ä¿®æ£(ã”迷惑をãŠã‹ã‘ã—ã¾ã—ãŸ) (conf/npc/) npc_event_tougijou.txt -Esteal—¦C³(Ž©DEX - “GDEX + SLv*3 +10‚Ì•”•ª‚ňê“x”»’è‚ð‚µ‚Ä‚¢‚½‚Ì‚Å) -E0918‚Å0914ˆÈ‘O‚ÉŠª‚«–ß‚Á‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½•”•ª‚ðŒ³‚É–ß‚µ‚½ +・steal率修æ£(自DEX - 敵DEX + SLv*3 +10ã®éƒ¨åˆ†ã§ä¸€åº¦åˆ¤å®šã‚’ã—ã¦ã„ãŸã®ã§) +・0918ã§0914以å‰ã«å·»ã戻ã£ã¦ã—ã¾ã£ã¦ã„ãŸéƒ¨åˆ†ã‚’å…ƒã«æˆ»ã—㟠(map/) pc.c - pc_steal_item() C³ + pc_steal_item() ä¿®æ£ itemdb.c pet.c - skill.c C³ + skill.c ä¿®æ£ -------------------- -//0920 by Ž‚Žqo^.^o -E Steal—¦ = Drop—¦ * (Ž©DEX - “GDEX + SLv*3 +10) /100 +//0920 by ç…åo^.^o +・ Steal率 = Drop率 * (自DEX - 敵DEX + SLv*3 +10) /100 (map/) pc.c - int pc_steal_item()C³ + int pc_steal_item()ä¿®æ£ -------------------- //0919 by RR -Eatcommand‚Ìlvup‚ðŽg‚¤‚Ǝ擾ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‚¨‚©‚µ‚¢–â‘è‚ÌC³ -EƒoƒOC³(ƒoƒO•ñƒXƒŒ‚ÅC³‚Ìo‚½‚à‚Ì‚ÌŽæ‚èž‚Ý@ŒÓ’±—–‚³‚ñAp‚³‚ñA‹¤‚É‚¨”æ‚ê—l‚Å‚·) +・atcommandã®lvupを使ã†ã¨å–得ステータスãƒã‚¤ãƒ³ãƒˆãŒãŠã‹ã—ã„å•é¡Œã®ä¿®æ£ +・ãƒã‚°ä¿®æ£(ãƒã‚°å ±å‘Šã‚¹ãƒ¬ã§ä¿®æ£ã®å‡ºãŸã‚‚ã®ã®å–ã‚Šè¾¼ã¿ã€€èƒ¡è¶è˜ã•ã‚“ã€pã•ã‚“ã€å…±ã«ãŠç–²ã‚Œæ§˜ã§ã™) (map/) atcommand.c - atcommand_baselevelup()C³ + atcommand_baselevelup()ä¿®æ£ guild.c - guild_gvg_eliminate_timer()C³ + guild_gvg_eliminate_timer()ä¿®æ£ pc.c - pc_setreg(),pc_setregstr()C³ + pc_setreg(),pc_setregstr()ä¿®æ£ (login/) login.c - parse_login()C³ + parse_login()ä¿®æ£ -------------------- -//0918 by ¹ -Eitem_dbŽ©‘Ì‚ªƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚É‚È‚Á‚½‚Ì‚ÅAclass_equip_db.txt‚Ì”pŽ~B -Epet_db.txtAproduce_db.txt‚àƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚ÉC³B +//0918 by è– +・item_db自体ãŒã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰å¯èƒ½ã«ãªã£ãŸã®ã§ã€class_equip_db.txtã®å»ƒæ¢ã€‚ +・pet_db.txtã€produce_db.txtもオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰å¯èƒ½ã«ä¿®æ£ã€‚ (map/) itemdb.c - do_init_itemdb() C³B + do_init_itemdb() ä¿®æ£ã€‚ pet.c - read_petdb() C³B + read_petdb() ä¿®æ£ã€‚ skill.c - skill_readdb() C³B + skill_readdb() ä¿®æ£ã€‚ -------------------- //0917 by RR -EƒXƒNƒŠƒvƒgC³ - “‘¾˜YƒCƒxƒ“ƒg‚Æ“¬‹ZêƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚É•ÏX +ãƒ»ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ + 桃太郎イベントã¨é—˜æŠ€å ´ã‚¤ãƒ™ãƒ³ãƒˆã‚’NPCタイマーã«å¤‰æ›´ (conf/npc/) npc_event_momotarou.txt - npc_event_tougijou.txt C³ -EƒXƒLƒ‹ƒcƒŠ[C³(ƒoƒO•ñƒXƒŒ25‚æ‚è) + npc_event_tougijou.txt ä¿®æ£ +・スã‚ルツリー修æ£(ãƒã‚°å ±å‘Šã‚¹ãƒ¬25より) (db/) - skill_db.txt C³ + skill_db.txt ä¿®æ£ -------------------- -//0916 by (“Ê) -Enpc_monster‚Énpc_mob_job‚ð“‡Bnpc_mob_job.txt‚Í휂µ‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñ +//0916 by (凸) +・npc_monsterã«npc_mob_jobã‚’çµ±åˆã€‚npc_mob_job.txtã¯å‰Šé™¤ã—ã¦ã‹ã¾ã„ã¾ã›ã‚“ (conf/) - map_athena.conf npc_mob_job‚ðíœ + map_athena.conf npc_mob_jobを削除 (conf/mob/) - npc_monster.txt XV + npc_monster.txt æ›´æ–° -------------------- -//0915 by ŒÓ’±—– +//0915 by 胡è¶è˜ -ENPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ߒljÁ•C³‘¼ - EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—¹jˆø”‚ðŒ©‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³ - EinitnpctimeriNPCƒ^ƒCƒ}[‰Šú‰»j’ljÁ - EstopnpctimeriNPCƒ^ƒCƒ}[’âŽ~j’ljÁ - EstartnpctimeriNPCƒ^ƒCƒ}[ŠJŽnj’ljÁ - EgetnpctimeriNPCƒ^ƒCƒ}[î•ñŠ“¾j’ljÁ - EsetnpctimeriNPCƒ^ƒCƒ}[’lÝ’èj’ljÁ +・NPCタイマー関係ã®å‘½ä»¤è¿½åŠ &修æ£ä»– + ・delwaitingroom(NPCãƒãƒ£ãƒƒãƒˆçµ‚了)引数を見ã¦ãªã‹ã£ãŸã®ã§ä¿®æ£ + ・initnpctimer(NPCタイマーåˆæœŸåŒ–ï¼‰è¿½åŠ + ・stopnpctimer(NPCタイマーåœæ¢ï¼‰è¿½åŠ + ・startnpctimer(NPCã‚¿ã‚¤ãƒžãƒ¼é–‹å§‹ï¼‰è¿½åŠ + ・getnpctimer(NPCã‚¿ã‚¤ãƒžãƒ¼æƒ…å ±æ‰€å¾—ï¼‰è¿½åŠ + ・setnpctimer(NPCタイマー値è¨å®šï¼‰è¿½åŠ - Šù‘¶‚Ìaddtimer‚Ȃǂ̓vƒŒƒCƒ„[’PˆÊ‚Ì‚½‚ßANPC’PˆÊ‚̃^ƒCƒ}[‚ðì‚è‚Ü‚µ‚½B - ‚±‚¿‚ç‚ÍAaddtimer‚ȂǂƂ͈ႢAOnTimerXXX‚Æ‚¢‚¤•—‚Ƀ‰ƒxƒ‹‚ðŽw’肵‚Ü‚·B - Ú‚µ‚‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB + æ—¢å˜ã®addtimerãªã©ã¯ãƒ—レイヤーå˜ä½ã®ãŸã‚ã€NPCå˜ä½ã®ã‚¿ã‚¤ãƒžãƒ¼ã‚’作りã¾ã—ãŸã€‚ + ã“ã¡ã‚‰ã¯ã€addtimerãªã©ã¨ã¯é•ã„ã€OnTimerXXXã¨ã„ã†é¢¨ã«ãƒ©ãƒ™ãƒ«ã‚’指定ã—ã¾ã™ã€‚ + 詳ã—ãã¯ã‚µãƒ³ãƒ—ルã¨scrit_ref.txtã‚’å‚照。 (map/) map.h - struct npc_data C³Astruct npc_timerevent_list’ljÁ + struct npc_data ä¿®æ£ã€struct npc_timerevent_listè¿½åŠ npc.c / npc.h npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(), - npc_gettimerevent_tick(),npc_settimerevent_tick()’ljÁ - npc_parse_script()C³ + npc_gettimerevent_tick(),npc_settimerevent_tick()è¿½åŠ + npc_parse_script()ä¿®æ£ script.c - buildin_*npctimer()’ljÁ‚È‚Ç + buildin_*npctimer()è¿½åŠ ãªã© (conf/sample/) npc_test_npctimer.txt - NPCƒ^ƒCƒ}[Žg—pƒTƒ“ƒvƒ‹ + NPCタイマー使用サンプル (doc/) script_ref.txt - NPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ß/ŠÖ”’ljÁA’蔃‰ƒxƒ‹‚Ìà–¾C³ + NPCタイマー関係ã®å‘½ä»¤/é–¢æ•°è¿½åŠ ã€å®šæ•°ãƒ©ãƒ™ãƒ«ã®èª¬æ˜Žä¿®æ£ -ESage‚̃A[ƒXƒXƒpƒCƒN‚ÌŠ“¾ðŒC³ +・Sageã®ã‚¢ãƒ¼ã‚¹ã‚¹ãƒ‘イクã®æ‰€å¾—æ¡ä»¶ä¿®æ£ (db/) skill_tree.txt - ƒA[ƒXƒXƒpƒCƒN‚ÌsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Éj + アーススパイクã®è¡Œï¼ˆã‚µã‚¤ã‚ºãƒŸãƒƒã‚¯ã‚¦ã‚§ãƒãƒ³ã‚’Lv1ã«ï¼‰ -------------------- //0914 by p -E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úς݃ƒ‚ƒŠ‚ðŽQÆ‚µ‚Ä‚¢‚½–â‘è‚ɑΉž -Eƒƒ‚ƒŠ‚ð‰Šú‰»‚¹‚¸‚ÉŽg—p‚µ‚Ä‚¢‚½—̈æ‚ðA‰Šú‰»‚µ‚Ä‚©‚çŽg—p‚·‚é‚悤‚É•ÏX +・範囲スã‚ル使用時ã«è§£æ”¾æ¸ˆã¿ãƒ¡ãƒ¢ãƒªã‚’å‚ç…§ã—ã¦ã„ãŸå•é¡Œã«å¯¾å¿œ +・メモリをåˆæœŸåŒ–ã›ãšã«ä½¿ç”¨ã—ã¦ã„ãŸé ˜åŸŸã‚’ã€åˆæœŸåŒ–ã—ã¦ã‹ã‚‰ä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ (common/) db.c grfio.c @@ -2833,35 +2833,35 @@ geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 (login/) login.c (map/) - ‚Ù‚Æ‚ñ‚Ç.c + ã»ã¨ã‚“ã©.c -------------------- //0913 by Kalen -EGVGScript‚ÌC³ -@911‘Ήž -@ƒtƒ‰ƒO‚©‚çƒAƒWƒg‚Ö–ß‚é‹@”\’ljÁ -@–ß‚é‚Æ‚«‚É•·‚©‚ê‚é‚悤‚ÉC³(TESTscript) -@Ԏ擾Žž::OnRecvCastleXXX‚𔓮‚·‚é‚悤‚ÉC³ +・GVGScriptã®ä¿®æ£ + 911対応 + フラグã‹ã‚‰ã‚¢ã‚¸ãƒˆã¸æˆ»ã‚‹æ©Ÿèƒ½è¿½åŠ + 戻るã¨ãã«èžã‹ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£(TESTscript) +ã€€ç ¦å–得時::OnRecvCastleXXXを発動ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ (conf/gvg/) - ‚Ù‚Æ‚ñ‚Ç.txt + ã»ã¨ã‚“ã©.txt -------------------- -//0912 by (“Ê) -E‚±‚̃tƒ@ƒCƒ‹‚Ì•¶Žš‰»‚¯‚ÆTEST_prtg_cas01_AbraiJ‚Ì•¶Žš‰»‚¯‚ðC³ -EƒoƒO•ñƒXƒŒ‚Ì>>19-20‚ðŽæ‚èž‚Ý -EÌ‚â‚Á‚¿‚Ü‚Á‚½battle_athena.conf‚̌뎚‚Ì’ù³ +//0912 by (凸) +・ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–‡å—化ã‘ã¨TEST_prtg_cas01_AbraiJã®æ–‡å—化ã‘ã‚’ä¿®æ£ +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ã®>>19-20ã‚’å–り込㿠+・昔やã£ã¡ã¾ã£ãŸbattle_athena.confã®èª¤å—ã®è¨‚æ£ (common) mmo.h - #define MAX_STAR 3‚ÉC³ + #define MAX_STAR 3ã«ä¿®æ£ (conf) battle_athena.conf (conf/gvg/) TEST_prtg_cas01_AbraiJ.txt (map) atcommand.c - get_atcommandinfo_byname() C³ + get_atcommandinfo_byname() ä¿®æ£ -------------------- @@ -2880,131 +2880,131 @@ geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 -------------------- //0910 by RR -EƒXƒNƒŠƒvƒg‚̊ԈႢ‚ðC³ +・スクリプトã®é–“é•ã„ã‚’ä¿®æ£ (conf/gvg/) ev_agit_payg.txt ev_agit_gefg.txt -E‚ЂÈÕ‚è‚Ɉê“x“ü‚Á‚½‚çƒ}ƒbƒv•Ï”‚ªŽc‚Á‚½‚Ü‚Ü‚É‚È‚é‚Ì‚ÅAƒ}ƒbƒv•Ï”‚ðŽg‚í‚È‚¢‚悤•ÏX -(ˆêŽž“Iƒ}ƒbƒv•Ï”‚É‚·‚ê‚Ζâ‘è‚È‚¢‚Æ‚àŒ¾‚¦‚Ü‚·‚ªA -town_guide‚Ætown_kafra‚ÉŽžŠúŒÀ’è‚Ì•¨‚ªí’“‚µ‚Ä‚µ‚Ü‚¤‚Ì‚ª‹C‚É‚È‚Á‚½‚Ì‚ÅA -‚»‚ê‚ç‚ðevent_hinamatsuri‚ÖˆÚ“®‚µA•’i‚Ì‚ðdisable‚µ‚Ä‚¢‚Ü‚·) +・ã²ãªç¥ã‚Šã«ä¸€åº¦å…¥ã£ãŸã‚‰ãƒžãƒƒãƒ—変数ãŒæ®‹ã£ãŸã¾ã¾ã«ãªã‚‹ã®ã§ã€ãƒžãƒƒãƒ—変数を使ã‚ãªã„よã†å¤‰æ›´ +(一時的マップ変数ã«ã™ã‚Œã°å•é¡Œãªã„ã¨ã‚‚言ãˆã¾ã™ãŒã€ +town_guideã¨town_kafraã«æ™‚期é™å®šã®ç‰©ãŒå¸¸é§ã—ã¦ã—ã¾ã†ã®ãŒæ°—ã«ãªã£ãŸã®ã§ã€ +ãれらをevent_hinamatsuriã¸ç§»å‹•ã—ã€æ™®æ®µã®ã‚’disableã—ã¦ã„ã¾ã™) (conf/npc/) npc_event_hinamatsuri npc_town_guide npc_town_kafra -EƒXƒLƒ‹ƒŠƒZƒbƒgŽž‚̃XƒLƒ‹Žæ“¾§ŒÀ”»’è‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg48ˆÈãÁ”ï‚©‚çA - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg58ˆÈãÁ”ï‚©Žc‚èƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ªJOBLEVEL‚æ‚謂³‚‚È‚Á‚½‚Æ‚«‚É•ÏX -E@modelŽž‚Ì•žFõF§ŒÀ‚ðŠÉ˜a(’jƒAƒTAƒ[ƒO‚Ì‚Ý‚Ö) +・スã‚ルリセット時ã®ã‚¹ã‚ルå–得制é™åˆ¤å®šã‚’スã‚ルãƒã‚¤ãƒ³ãƒˆ48以上消費ã‹ã‚‰ã€ + スã‚ルãƒã‚¤ãƒ³ãƒˆ58以上消費ã‹æ®‹ã‚Šã‚¹ã‚ルãƒã‚¤ãƒ³ãƒˆãŒJOBLEVELよりå°ã•ããªã£ãŸã¨ãã«å¤‰æ›´ +・@model時ã®æœè‰²æŸ“色制é™ã‚’ç·©å’Œ(男アサã€ãƒãƒ¼ã‚°ã®ã¿ã¸) (map/) pc.c pc_calc_skilltree() atcommand.c atcommand_model() -------------------- -//0909 by ŒÓ’±—– +//0909 by 胡è¶è˜ -ENPCƒ`ƒƒƒbƒgŠÖŒW‚Ì–½—ߒljÁ - EwaitingroomiNPCƒ`ƒƒƒbƒgì¬jC³iƒCƒxƒ“ƒg‚ð‹N‚±‚·l”‚ðŽw’è‰Â”\j - EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—¹j’ljÁ - EenablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg—LŒø‰»j’ljÁ - EdisablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg–³Œø‰»j’ljÁ - EgetwaitingroomstateiNPCƒ`ƒƒƒbƒgó‘ÔŠ“¾j’ljÁ - EwarpwaitingpciNPCƒ`ƒƒƒbƒgƒƒ“ƒo[ƒ[ƒvjC³ - Ú‚µ‚‚Íscript_ref.txt‚ðŽQÆ +・NPCãƒãƒ£ãƒƒãƒˆé–¢ä¿‚ã®å‘½ä»¤è¿½åŠ + ・waitingroom(NPCãƒãƒ£ãƒƒãƒˆä½œæˆï¼‰ä¿®æ£ï¼ˆã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã™äººæ•°ã‚’指定å¯èƒ½ï¼‰ + ・delwaitingroom(NPCãƒãƒ£ãƒƒãƒˆçµ‚äº†ï¼‰è¿½åŠ + ・enablewaitingroomevent(NPCãƒãƒ£ãƒƒãƒˆã‚¤ãƒ™ãƒ³ãƒˆæœ‰åŠ¹åŒ–ï¼‰è¿½åŠ + ・disablewaitingroomevent(NPCãƒãƒ£ãƒƒãƒˆã‚¤ãƒ™ãƒ³ãƒˆç„¡åŠ¹åŒ–ï¼‰è¿½åŠ + ・getwaitingroomstate(NPCãƒãƒ£ãƒƒãƒˆçŠ¶æ…‹æ‰€å¾—ï¼‰è¿½åŠ + ・warpwaitingpc(NPCãƒãƒ£ãƒƒãƒˆãƒ¡ãƒ³ãƒãƒ¼ãƒ¯ãƒ¼ãƒ—ï¼‰ä¿®æ£ + 詳ã—ãã¯script_ref.txtã‚’å‚ç…§ (map/) script.c/npc.c/npc.h/chat.c/chat.h/clif.c - ‘½XC³ + å¤šã€…ä¿®æ£ (doc/) script_ref.txt - C³ + ä¿®æ£ (conf/sample/) npc_test_chat.txt - ’ljÁ–½—߂̃eƒXƒgƒXƒNƒŠƒvƒg + è¿½åŠ å‘½ä»¤ã®ãƒ†ã‚¹ãƒˆã‚¹ã‚¯ãƒªãƒ—ト -EƒXƒNƒŠƒvƒg‚̊ԈႢ‚ðC³ +・スクリプトã®é–“é•ã„ã‚’ä¿®æ£ (conf/npc/) npc_event_skillget.txt npc_event_yuno.txt npc_town_lutie.txt npc_turtle.txt - “ä–½—ßadditem‚ðgetitem‚É’uŠ· + 謎命令additemã‚’getitemã«ç½®æ› npc_town_guide.txt - “ä–½—ßscriptlabel‚ðƒRƒƒ“ƒg‰» + 謎命令scriptlabelをコメント化 npc_event_momotaro.txt npc_job_swordman.txt npc_job_magician.txt - ';'•t‚¯–Y‚êC³ + ';'付ã‘å¿˜ã‚Œä¿®æ£ (conf/gvg/) ev_agit_aldeg.txt - @GID4‚ð@GIDa4‚É’uŠ· + @GID4ã‚’@GIDa4ã«ç½®æ› ev_agit_gefg.txt ev_agit_payg.txt - Annouce‚ÉFŽw’è‚Æ';'‚Ì•t‚¯–Y‚ê‚ðK« + Annouceã«è‰²æŒ‡å®šã¨';'ã®ä»˜ã‘忘れを習性 -EAthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚ÝA‚»‚Ì‘¼C³ - ˆÀ’肵‚Ä‚¢‚éƒf[ƒ^‚©‚Ç‚¤‚©‚í‚©‚è‚Ü‚¹‚ñ‚ªB +・AthenaDB計画ã®ãƒ‡ãƒ¼ã‚¿ã¨ã‚Šã“ã¿ã€ãã®ä»–ä¿®æ£ + 安定ã—ã¦ã„るデータã‹ã©ã†ã‹ã‚ã‹ã‚Šã¾ã›ã‚“ãŒã€‚ (db/) item_db.txt/mob_db.txt/mob_skill_db.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + AthenaDB計画ã®ãƒ‡ãƒ¼ã‚¿ã¨ã‚Šã“ã¿ mob_skill_db.txt.orig - ˆÈ‘O‚̃f[ƒ^iƒRƒƒ“ƒg•”•ª‚È‚Ç‚ÌŽQl‚Éj + 以å‰ã®ãƒ‡ãƒ¼ã‚¿ï¼ˆã‚³ãƒ¡ãƒ³ãƒˆéƒ¨åˆ†ãªã©ã®å‚考ã«ï¼‰ (conf/) water_height.txt/mapflag.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + AthenaDB計画ã®ãƒ‡ãƒ¼ã‚¿ã¨ã‚Šã“ã¿ map_athena.conf - npc_monster3*.txt‚ðíœ - ’ljÁƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) + npc_monster3*.txtを削除 + è¿½åŠ ãƒžãƒƒãƒ—ãƒ‡ãƒ¼ã‚¿ (by ID:UVsq5AE) (conf/mob/) npc_monster.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + AthenaDB計画ã®ãƒ‡ãƒ¼ã‚¿ã¨ã‚Šã“ã¿ -------------------- -//0908 by ŒÓ’±—– +//0908 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚̃Gƒ‰[ƒ`ƒFƒbƒNˆ—‚ð‘‚₵‚½ - E•¶Žš—ñ‚Ì“r’†‚ʼnüs‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB - EŠÖ”ŒÄ‚Ño‚µ‰‰ŽZŽq'('‚Ì’¼‘O‚ÉŠÖ”–¼ˆÈŠO‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB - E–½—ß‚ª‚ ‚é‚ׂ«‚Æ‚±‚ë‚ÉŠÖ”–¼ˆÈŠO‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB - E–½—ß‚¨‚æ‚ÑŠÖ”‚̈ø”‹æØ‚è‚Ì','‚ðÈ—ª‚·‚é‚ÆŒx‚ðo‚·‚悤‚ÉB - E–½—ß‚¨‚æ‚ÑŠÖ”‚̈ø”‚Ì”‚ªˆÙ‚È‚é‚ÆŒx‚ðo‚·‚悤‚ÉB +・スクリプトã®ã‚¨ãƒ©ãƒ¼ãƒã‚§ãƒƒã‚¯å‡¦ç†ã‚’増やã—㟠+ ・文å—列ã®é€”ä¸ã§æ”¹è¡ŒãŒã‚ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã‚’出ã™ã‚ˆã†ã«ã€‚ + ・関数呼ã³å‡ºã—演算å'('ã®ç›´å‰ã«é–¢æ•°å以外ãŒã‚ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã‚’出ã™ã‚ˆã†ã«ã€‚ + ・命令ãŒã‚ã‚‹ã¹ãã¨ã“ã‚ã«é–¢æ•°å以外ãŒã‚ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã‚’出ã™ã‚ˆã†ã«ã€‚ + ・命令ãŠã‚ˆã³é–¢æ•°ã®å¼•æ•°åŒºåˆ‡ã‚Šã®','ã‚’çœç•¥ã™ã‚‹ã¨è¦å‘Šã‚’出ã™ã‚ˆã†ã«ã€‚ + ・命令ãŠã‚ˆã³é–¢æ•°ã®å¼•æ•°ã®æ•°ãŒç•°ãªã‚‹ã¨è¦å‘Šã‚’出ã™ã‚ˆã†ã«ã€‚ (map/) script.c - FXC³ + è‰²ã€…ä¿®æ£ -ENPCƒXƒNƒŠƒvƒgC³ +・NPCã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ (conf/npc/) npc_town_guide.txt - ‚Ss–Ú‚Í‚¢‚ç‚È‚¢‚悤‚Ȃ̂ŃGƒ‰[‚ªo‚È‚¢‚悤‚ɃRƒƒ“ƒg‰» + 4行目ã¯ã„らãªã„よã†ãªã®ã§ã‚¨ãƒ©ãƒ¼ãŒå‡ºãªã„よã†ã«ã‚³ãƒ¡ãƒ³ãƒˆåŒ– npc_event_hat.txt - ƒRƒ‚ƒh‚̉¼–ÊEl‚ƃtƒFƒCƒˆƒ“‚Ì”N (by ID:dS8kRnc) + コモドã®ä»®é¢è·äººã¨ãƒ•ã‚§ã‚¤ãƒ¨ãƒ³ã®é’å¹´ (by ID:dS8kRnc) (conf/sample/) npc_card_remover.txt - @menu‚ðŽg‚Á‚Ä’Z‚‚µ‚½••¶Í‚µC³ + @menuを使ã£ã¦çŸãã—ãŸï¼†æ–‡ç« å°‘ã—ä¿®æ£ -E‚»‚Ì‘¼ +・ãã®ä»– (db/) skill_tree.txt - Sage‰ž‹}Žè“– + Sage応急手当 -------------------- //0907 by p -Eatcommand() ‚Ì”ì‘剻‚ª‚Ђǂ¢‚̂ŃŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO - @ ƒRƒ}ƒ“ƒh‚ð’ljÁ‚·‚éꇂÍAatcommand.h “à‚Œ蔂ðAatcommand.c “à‚Å - ŠÖ”’è‹`ƒ}ƒNƒ‚ƃ}ƒbƒsƒ“ƒOƒe[ƒuƒ‹Aˆ——p‚ÌŠÖ”‚ð‹Lq‚µ‚Ä‚‚¾‚³‚¢B -Eglobal •Ï”‚Ì atcommand_config ‚ðÁ‹ŽB - @ ƒRƒ}ƒ“ƒh–ˆ‚̃Œƒxƒ‹‚Í get_atcommand_level() ‚Ŏ擾‚µ‚Ä‚‚¾‚³‚¢B -Eˆê•”‚̃Lƒƒƒ‰–¼‚ðŽæ‚é @ ƒRƒ}ƒ“ƒh‚ÅA”¼ŠpƒXƒy[ƒX‚ðŠÜ‚Þ–¼‘O‚̃Lƒƒƒ‰‚ð - ³í‚Ɉ—‚Å‚«‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B - ‚±‚̉e‹¿‚É‚æ‚èA@rura+ ‚È‚ÇAƒLƒƒƒ‰–¼‚ªƒpƒ‰ƒ[ƒ^‚Ì“r’†‚É‚ ‚Á‚½‚à‚Ì‚Í - ‘S‚ÄÅŒã‚ɉñ‚³‚ê‚Ä‚¢‚Ü‚·B -E@ ƒRƒ}ƒ“ƒh‚Ì•¶Žš—ñ‚ð³í‚Ɏ擾‚Å‚«‚È‚©‚Á‚½ê‡‚ÉAƒoƒbƒtƒ@‚Ì“à—e‚ð - ƒ`ƒFƒbƒN‚¹‚¸‚Ɉ—‚ðs‚¨‚¤‚Æ‚µ‚Ä‚¢‚½•”•ª‚ðC³‚µ‚Ü‚µ‚½B +・atcommand() ã®è‚¥å¤§åŒ–ãŒã²ã©ã„ã®ã§ãƒªãƒ•ã‚¡ã‚¯ã‚¿ãƒªãƒ³ã‚° + @ ã‚³ãƒžãƒ³ãƒ‰ã‚’è¿½åŠ ã™ã‚‹å ´åˆã¯ã€atcommand.h 内ã§å®šæ•°ã‚’ã€atcommand.c 内㧠+ 関数定義マクãƒã¨ãƒžãƒƒãƒ”ングテーブルã€å‡¦ç†ç”¨ã®é–¢æ•°ã‚’記述ã—ã¦ãã ã•ã„。 +・global 変数㮠atcommand_config を消去。 + @ コマンド毎ã®ãƒ¬ãƒ™ãƒ«ã¯ get_atcommand_level() ã§å–å¾—ã—ã¦ãã ã•ã„。 +・一部ã®ã‚ャラåã‚’å–ã‚‹ @ コマンドã§ã€åŠè§’スペースをå«ã‚€åå‰ã®ã‚ャラを + æ£å¸¸ã«å‡¦ç†ã§ãã¦ã„ãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ + ã“ã®å½±éŸ¿ã«ã‚ˆã‚Šã€@rura+ ãªã©ã€ã‚ャラåãŒãƒ‘ラメータã®é€”ä¸ã«ã‚ã£ãŸã‚‚ã®ã¯ + å…¨ã¦æœ€å¾Œã«å›žã•ã‚Œã¦ã„ã¾ã™ã€‚ +・@ コマンドã®æ–‡å—列をæ£å¸¸ã«å–å¾—ã§ããªã‹ã£ãŸå ´åˆã«ã€ãƒãƒƒãƒ•ã‚¡ã®å†…容を + ãƒã‚§ãƒƒã‚¯ã›ãšã«å‡¦ç†ã‚’è¡ŒãŠã†ã¨ã—ã¦ã„ãŸéƒ¨åˆ†ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ (common/) mmo.h @@ -3016,672 +3016,672 @@ town_guide‚Ætown_kafra‚ÉŽžŠúŒÀ’è‚Ì•¨‚ªí’“‚µ‚Ä‚µ‚Ü‚¤‚Ì‚ª‹C‚É‚È‚Á‚½‚Ì‚ÅA -------------------- //0906 by Selena -EŒÓ’±—–‚³‚ñ‚ÌC³‚É‚ ‚킹‚ÄAƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚PˆÈŠO‚̃XƒNƒŠƒvƒg‚ÌC³B -E@ƒRƒ}ƒ“ƒh“ü—̓~ƒX‚ÌۂɃGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦B +・胡è¶è˜ã•ã‚“ã®ä¿®æ£ã«ã‚ã‚ã›ã¦ã€ãƒãƒ«ã‚リーレルム1以外ã®ã‚¹ã‚¯ãƒªãƒ—トã®ä¿®æ£ã€‚ +・@コマンド入力ミスã®éš›ã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示。 (conf/gvg/) ev_agit_aldeg.txt ev_agit_gefg.txt ev_agit_payg.txt ev_agit_prtg.txt - aldeg_cas01`05.txt - gefg_cas01`05.txt - payg_cas01`05.txt - prtg_cas02`05.txt + aldeg_cas01〜05.txt + gefg_cas01〜05.txt + payg_cas01〜05.txt + prtg_cas02〜05.txt (map/) atcommand.c -------------------- -//0905 by ŠÇ—l +//0905 by 管ç†äºº -EƒT[ƒo[snapshot -E‘OƒXƒŒ‚̃tƒ@ƒCƒ‹Žæ‚è–Y‚ꂽl‚ª‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚Ì‚Å +・サーãƒãƒ¼snapshot +・å‰ã‚¹ãƒ¬ã®ãƒ•ã‚¡ã‚¤ãƒ«å–り忘れãŸäººãŒã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã®ã§ -------------------- -//0904 by ŒÓ’±—– +//0904 by 胡è¶è˜ -EƒXƒNƒŠƒvƒgˆ—C³ - Echar/interƒT[ƒo[‚ÉÚ‘±‚µ‚½Žž‚ÉOnCharIfInit/OnInterIfInitƒCƒxƒ“ƒg‚ª - ŒÄ‚΂ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - OnAgitInit‚ÍOnInterIfInit‚É•ÏX‚·‚ׂ«‚Å‚·B - Egetcastledata–½—ß‚Å‘æ‚Qƒpƒ‰ƒ[ƒ^‚ª0‚Ì‚Æ‚«A‘æ‚Rƒpƒ‰ƒ[ƒ^‚É - ƒCƒxƒ“ƒg–¼‚ðÝ’è‚Å‚«‚Ü‚·B‚±‚̃Cƒxƒ“ƒg‚̓Mƒ‹ƒhé‚̃f[ƒ^‚ð - InterƒT[ƒo[‚©‚犓¾Š®—¹‚µ‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B - E‹N‚±‚·NPCƒCƒxƒ“ƒg–¼‚ð"::"‚ÅŽn‚ß‚é‚ÆA“¯–¼ƒ‰ƒxƒ‹‚ðŽ‚‘SNPC‚̃Cƒxƒ“ƒg - ‚ðŽÀs‚Å‚«‚Ü‚·B - ‚½‚Æ‚¦‚ÎAgetcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01"; - ‚Æ‚·‚é‚Æ‘S‚Ä‚ÌNPC‚Ì OnRecvCastleP01ƒ‰ƒxƒ‹‚ªŽÀs‚³‚ê‚Ü‚·B - Erequestguildinfo–½—ߒljÁB“Á’èƒMƒ‹ƒh‚Ìî•ñ‚ðInterƒT[ƒo[‚É - —v‹‚Å‚«‚Ü‚·B‘æ‚Pƒpƒ‰ƒ[ƒ^‚̓Mƒ‹ƒhIDA‘æ‚Qƒpƒ‰ƒ[ƒ^‚̓Cƒxƒ“ƒg–¼‚Å - ‚±‚̃Cƒxƒ“ƒg‚̓Mƒ‹ƒhî•ñ‚ðInterƒT[ƒo[‚©‚犓¾Š®—¹‚µ‚½‚Æ‚«‚É - ŽÀs‚³‚ê‚Ü‚·B +・スクリプト処ç†ä¿®æ£ + ・char/interサーãƒãƒ¼ã«æŽ¥ç¶šã—ãŸæ™‚ã«OnCharIfInit/OnInterIfInitイベント㌠+ 呼ã°ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + OnAgitInitã¯OnInterIfInitã«å¤‰æ›´ã™ã¹ãã§ã™ã€‚ + ・getcastledata命令ã§ç¬¬ï¼’パラメータãŒ0ã®ã¨ãã€ç¬¬ï¼“パラメータ㫠+ イベントåã‚’è¨å®šã§ãã¾ã™ã€‚ã“ã®ã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚®ãƒ«ãƒ‰åŸŽã®ãƒ‡ãƒ¼ã‚¿ã‚’ + Interサーãƒãƒ¼ã‹ã‚‰æ‰€å¾—完了ã—ãŸã¨ãã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + ・起ã“ã™NPCイベントåã‚’"::"ã§å§‹ã‚ã‚‹ã¨ã€åŒåラベルをæŒã¤å…¨NPCã®ã‚¤ãƒ™ãƒ³ãƒˆ + を実行ã§ãã¾ã™ã€‚ + ãŸã¨ãˆã°ã€getcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01"; + ã¨ã™ã‚‹ã¨å…¨ã¦ã®NPCã® OnRecvCastleP01ラベルãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + ・requestguildinfoå‘½ä»¤è¿½åŠ ã€‚ç‰¹å®šã‚®ãƒ«ãƒ‰ã®æƒ…å ±ã‚’Interサーãƒãƒ¼ã« + è¦æ±‚ã§ãã¾ã™ã€‚第1パラメータã¯ã‚®ãƒ«ãƒ‰IDã€ç¬¬ï¼’パラメータã¯ã‚¤ãƒ™ãƒ³ãƒˆå㧠+ ã“ã®ã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚®ãƒ«ãƒ‰æƒ…å ±ã‚’Interサーãƒãƒ¼ã‹ã‚‰æ‰€å¾—完了ã—ãŸã¨ãã« + 実行ã•ã‚Œã¾ã™ã€‚ (map/) guild.c/guild.h/npc.c/npc.h/script.c/intif.c/chrif.c - FXC³ - -EƒMƒ‹ƒhéŠÖ˜ANPCC³ - iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚ÝC³B‘¼‚Ìé‚̃XƒNƒŠƒvƒg‚ÍŠeŽ©‚ŘM‚Á‚Ä‚‚¾‚³‚¢B - ‚Æ‚¢‚¤‚©A‚Þ‚µ‚ë˜M‚Á‚½‚ç‚ ‚Á‚Õ‚µ‚Ü‚µ‚傤j - E‰Šú‰»ˆ—‚ðOnAgitInit‚Å‚È‚OnInterIfInit‚É•ÏXB - Eéƒf[ƒ^Š“¾Š®—¹ˆ—‚Æ‚µ‚ÄOnRecvCastleP01‚ð’ljÁB - EŽIÄ‹N“®ŽžAƒMƒ‹ƒhê‘®ƒJƒvƒ‰‚ª³‚µ‚•\Ž¦‚³‚ê‚é‚悤‚ÉB - EƒMƒ‹ƒhê‘®ƒJƒvƒ‰‚Ì–¼‘O‚ð"ƒJƒvƒ‰Eˆõ::kapra_prtg01"‚É•ÏXB - i"::"ˆÈ~‚̓GƒNƒXƒ|[ƒg‚³‚ê‚é–¼‘O‚ÅA"::"ˆÈ‘O‚ª•\Ž¦–¼j - "ƒJƒvƒ‰Eˆõ#prt"‚æ‚è–¼‘O‚ð’·‚‚µ‚Ä‹£‡‚µ‚É‚‚‚·‚邽‚ß‚Å‚·B - ‚±‚ÌŠÖŒW‚ÅAdisablenpc‚Ȃǂ̃pƒ‰ƒ[ƒ^‚ð"kapra_prtg01"‚ÉC³B + è‰²ã€…ä¿®æ£ + +・ギルド城関連NPCä¿®æ£ + (ãƒãƒ«ã‚リーレルム1ã®ã¿ä¿®æ£ã€‚ä»–ã®åŸŽã®ã‚¹ã‚¯ãƒªãƒ—トã¯å„自ã§å¼„ã£ã¦ãã ã•ã„。 + ã¨ã„ã†ã‹ã€ã‚€ã—ã‚弄ã£ãŸã‚‰ã‚ã£ã·ã—ã¾ã—ょã†ï¼‰ + ・åˆæœŸåŒ–処ç†ã‚’OnAgitInitã§ãªãOnInterIfInitã«å¤‰æ›´ã€‚ + ・城データ所得完了処ç†ã¨ã—ã¦OnRecvCastleP01ã‚’è¿½åŠ ã€‚ + ・鯖å†èµ·å‹•æ™‚ã€ã‚®ãƒ«ãƒ‰å°‚属カプラãŒæ£ã—ã表示ã•ã‚Œã‚‹ã‚ˆã†ã«ã€‚ + ・ギルド専属カプラã®åå‰ã‚’"カプラè·å“¡::kapra_prtg01"ã«å¤‰æ›´ã€‚ + ("::"以é™ã¯ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œã‚‹åå‰ã§ã€"::"以å‰ãŒè¡¨ç¤ºå) + "カプラè·å“¡#prt"よりåå‰ã‚’é•·ãã—ã¦ç«¶åˆã—ã«ããã™ã‚‹ãŸã‚ã§ã™ã€‚ + ã“ã®é–¢ä¿‚ã§ã€disablenpcãªã©ã®ãƒ‘ラメータを"kapra_prtg01"ã«ä¿®æ£ã€‚ (conf/gvg/) prtg_cas01.txt - ƒMƒ‹ƒhê‘®ƒJƒvƒ‰C³ + ã‚®ãƒ«ãƒ‰å°‚å±žã‚«ãƒ—ãƒ©ä¿®æ£ ev_agit_prtg.txt - ‰Šú‰»ˆ—C³iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚Ýj + åˆæœŸåŒ–処ç†ä¿®æ£ï¼ˆãƒãƒ«ã‚リーレルム1ã®ã¿ï¼‰ TEST_prtg_cas01_AbraiJ.txt - ƒMƒ‹ƒhê‘®ƒJƒvƒ‰ŒÙ—p/é”jŠüC³ + ギルド専属カプラ雇用/åŸŽç ´æ£„ä¿®æ£ -ENPC‚ÌC³ +・NPCã®ä¿®æ£ (conf/npc/) npc_job_swordman.txt npc_event_hat.txt - C³ + ä¿®æ£ -EƒAƒJƒEƒ“ƒg‚ð휂µ‚Ä‚àƒAƒJƒEƒ“ƒgID‚ðÄ—˜—p‚µ‚È‚¢‚悤‚ÉC³ -EƒMƒ‹ƒh/ƒp[ƒeƒB‚ɂ‚¢‚Ä‚àˆê‰ž“¯“™‚̈—’ljÁiƒRƒƒ“ƒg‰»‚³‚ê‚Ä‚¢‚Ü‚·B - ƒMƒ‹ƒh‚âƒp[ƒeƒB‚ÍID‚ðÄ—˜—p‚µ‚Ä‚à‚¨‚»‚ç‚–â‘è‚È‚¢‚½‚ßj +・アカウントを削除ã—ã¦ã‚‚アカウントIDã‚’å†åˆ©ç”¨ã—ãªã„よã†ã«ä¿®æ£ +・ギルド/パーティã«ã¤ã„ã¦ã‚‚一応åŒç‰ã®å‡¦ç†è¿½åŠ (コメント化ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ギルドやパーティã¯IDã‚’å†åˆ©ç”¨ã—ã¦ã‚‚ãŠãらãå•é¡Œãªã„ãŸã‚) (login/) login.c - “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + èªã¿è¾¼ã¿/ä¿å˜å‡¦ç†ä¿®æ£ (char/) int_guild.c/int_party.c - “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + èªã¿è¾¼ã¿/ä¿å˜å‡¦ç†ä¿®æ£ -------------------- -//0903 by ŒÓ’±—– +//0903 by 胡è¶è˜ -El14/l15‚¨‚æ‚уvƒŒƒtƒBƒbƒNƒXl‚ð"„§‚³‚ê‚È‚¢(deprecated)"‹@”\‚Æ‚µ‚Ü‚µ‚½B - E‚Ü‚¾Žg—p‚Å‚«‚Ü‚·‚ªA¡Œã‚Ì“®ì‚ª•ÛႳ‚ê‚È‚¢‚Ì‚ÅA‘¬‚â‚©‚É‘ã‘Ö‹@”\‚ð - Žg—p‚·‚é‚悤‚ɈÚs‚µ‚Ä‚‚¾‚³‚¢B - EƒvƒŒƒtƒBƒbƒNƒX'l'‚Í‘ã‘Ö‹@”\‚̃vƒŒƒtƒBƒbƒNƒX'@'‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B - El15‚Í‘ã‘Ö‹@”\‚Ì@menu‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B - El14‚Í‘ã‘Ö‹@”\‚Í‚ ‚è‚Ü‚¹‚ñBinput–½—߂̈ø”‚ðÈ—ª‚µ‚È‚¢‚ʼnº‚³‚¢B - E‚±‚ê‚ç‚Ì„§‚³‚ê‚È‚¢‹@”\‚ðŽg—p‚·‚é‚ÆŒxƒƒbƒZ[ƒW‚ª‚Å‚Ü‚·B +・l14/l15ãŠã‚ˆã³ãƒ—レフィックスlã‚’"推奨ã•ã‚Œãªã„(deprecated)"機能ã¨ã—ã¾ã—ãŸã€‚ + ・ã¾ã 使用ã§ãã¾ã™ãŒã€ä»Šå¾Œã®å‹•ä½œãŒä¿éšœã•ã‚Œãªã„ã®ã§ã€é€Ÿã‚„ã‹ã«ä»£æ›¿æ©Ÿèƒ½ã‚’ + 使用ã™ã‚‹ã‚ˆã†ã«ç§»è¡Œã—ã¦ãã ã•ã„。 + ・プレフィックス'l'ã¯ä»£æ›¿æ©Ÿèƒ½ã®ãƒ—レフィックス'@'を使用ã—ã¦ãã ã•ã„。 + ・l15ã¯ä»£æ›¿æ©Ÿèƒ½ã®@menuを使用ã—ã¦ãã ã•ã„。 + ・l14ã¯ä»£æ›¿æ©Ÿèƒ½ã¯ã‚ã‚Šã¾ã›ã‚“。input命令ã®å¼•æ•°ã‚’çœç•¥ã—ãªã„ã§ä¸‹ã•ã„。 + ・ã“れらã®æŽ¨å¥¨ã•ã‚Œãªã„機能を使用ã™ã‚‹ã¨è¦å‘Šãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒã§ã¾ã™ã€‚ (map/) script.c - parse_simpleexpr()C³ + parse_simpleexpr()ä¿®æ£ (conf/warp/) npc_warp.txt/npc_warp25.txt/npc_warp30.txt - •Ï”–¼l0‚ð@warp0‚ÉC³ + 変数ål0ã‚’@warp0ã«ä¿®æ£ (conf/npc/) npc_event_hat.txt - •Ï”–¼l15‚ð@menu‚ÉC³ + 変数ål15ã‚’@menuã«ä¿®æ£ (doc/) script_ref.txt - ”z—ñ•Ï”‚Ìà–¾’ljÁ - •Ï”‚̃vƒŒƒtƒBƒbƒNƒX'l'Ainput–½—ß‚Ìl14Amenu–½—ß‚Ìl15‚Ì - à–¾‚ðC³ + é…列変数ã®èª¬æ˜Žè¿½åŠ + 変数ã®ãƒ—レフィックス'l'ã€input命令ã®l14ã€menu命令ã®l15ã® + èª¬æ˜Žã‚’ä¿®æ£ -------------------- -//0902 by ŒÓ’±—– +//0902 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚ª”z—ñ•Ï”‚ɑΉžB - Earray[number]‚̂悤‚ÉŽg‚¢‚Ü‚·B”’lŒ^A•¶Žš—ñŒ^—¼•ûŽg‚¦‚Ü‚·B - EŽg‚¦‚éƒvƒŒƒtƒBƒbƒNƒX‚Í @, $, $@ ‚Å‚·B - iˆêŽž“IƒLƒƒƒ‰ƒNƒ^[•Ï”AˆêŽž“I/‰i‘±“Iƒ}ƒbƒvƒT[ƒo[•Ï”j - Enumber==0‚Í”z—ñ‚¶‚á‚È‚¢•Ï”‚Æ’l‚ð‹¤—L‚µ‚Ü‚·B - i@hoge[0]‚Æ@hoge‚Í“¯‚¶•Ï”‚ð•\‚·j - E‚Ü‚¾‰¼ŽÀ‘•’iŠK‚Ȃ̂ŃoƒO•ñ‚æ‚낵‚‚¨Šè‚¢‚µ‚Ü‚·B -Eƒ}ƒbƒvƒT[ƒo[•Ï”‚Ì“Çž’†‚ÉCtrl+C‚ð‚·‚é‚ƃf[ƒ^”j‘¹‚̉”\«‚ª‚ ‚é–â‘è‚ðC³. -Eƒ}ƒbƒvƒtƒ@ƒCƒ‹“Ç‚Ýž‚݉æ–Ê‚ª‚³‚Ñ‚µ‚¢‚Ì‚Å‚¹‚߂ătƒ@ƒCƒ‹–¼‚ð•\Ž¦‚·‚é‚悤‚ÉB +・スクリプトãŒé…列変数ã«å¯¾å¿œã€‚ + ・array[number]ã®ã‚ˆã†ã«ä½¿ã„ã¾ã™ã€‚数値型ã€æ–‡å—列型両方使ãˆã¾ã™ã€‚ + ・使ãˆã‚‹ãƒ—レフィックス㯠@, $, $@ ã§ã™ã€‚ + (一時的ã‚ャラクター変数ã€ä¸€æ™‚çš„/永続的マップサーãƒãƒ¼å¤‰æ•°ï¼‰ + ・number==0ã¯é…列ã˜ã‚ƒãªã„変数ã¨å€¤ã‚’共有ã—ã¾ã™ã€‚ + (@hoge[0]ã¨@hogeã¯åŒã˜å¤‰æ•°ã‚’表ã™ï¼‰ + ・ã¾ã 仮実装段階ãªã®ã§ãƒã‚°å ±å‘Šã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚ +・マップサーãƒãƒ¼å¤‰æ•°ã®èªè¾¼ä¸ã«Ctrl+Cã‚’ã™ã‚‹ã¨ãƒ‡ãƒ¼ã‚¿ç ´æã®å¯èƒ½æ€§ãŒã‚ã‚‹å•é¡Œã‚’ä¿®æ£. +・マップファイルèªã¿è¾¼ã¿ç”»é¢ãŒã•ã³ã—ã„ã®ã§ã›ã‚ã¦ãƒ•ã‚¡ã‚¤ãƒ«åを表示ã™ã‚‹ã‚ˆã†ã«ã€‚ (conf/sample/) npc_test_array.txt - ”z—ñ•Ï”ƒeƒXƒgƒXƒNƒŠƒvƒg + é…列変数テストスクリプト (map/) script.c buildin_set(),buildin_input(),get_val(), - parse_simpleexpr()C³ - buildin_getelementofarray()’ljÁ - do_final_script()C³‚È‚Ç + parse_simpleexpr()ä¿®æ£ + buildin_getelementofarray()è¿½åŠ + do_final_script()ä¿®æ£ãªã© map.c - map_readmap(),map_readallmap()C³ + map_readmap(),map_readallmap()ä¿®æ£ -------------------- -//0901 by ‚Ò‚´‚Ü‚ñ +//0901 by ã´ã–ã¾ã‚“ -E˜I“XƒoƒO‚ÌC³ +・露店ãƒã‚°ã®ä¿®æ£ (map/) pc.c - pc_cartitem_amount() ’ljÁB + pc_cartitem_amount() è¿½åŠ ã€‚ vending.c - vending_openvending() C³B + vending_openvending() ä¿®æ£ã€‚ clif.c - clif_parse_NpcClicked() C³B - pc.h C³B + clif_parse_NpcClicked() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ -------------------- -//0900 by ‚Ò‚´‚Ü‚ñ +//0900 by ã´ã–ã¾ã‚“ -EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‚̃‰ƒ“ƒ_ƒ€ƒXƒLƒ‹”“®—¦‚ðabra_db.txt‚ÅÝ’è‚Å‚«‚é‚悤‚ÉB -EƒXƒtƒBƒA[ƒ}ƒCƒ“‚ƃoƒCƒIƒvƒ‰ƒ“ƒg‚Ì”÷C³B -ENoreturnƒ}ƒbƒv‚Å’±‚ªÁ”‚¯‚³‚ê‚éƒoƒOC³B -Eˆê•”‚̃Aƒuƒ‰ŒÅ—LƒXƒLƒ‹‚ª³‚µ‚“®ì‚µ‚È‚©‚Á‚½ƒoƒOC³B +・アブラカダブラã®ãƒ©ãƒ³ãƒ€ãƒ スã‚ル発動率をabra_db.txtã§è¨å®šã§ãるよã†ã«ã€‚ +・スフィアーマインã¨ãƒã‚¤ã‚ªãƒ—ラントã®å¾®ä¿®æ£ã€‚ +・Noreturnマップã§è¶ãŒæ¶ˆè²»ã ã‘ã•ã‚Œã‚‹ãƒã‚°ä¿®æ£ã€‚ +・一部ã®ã‚¢ãƒ–ラ固有スã‚ルãŒæ£ã—ã動作ã—ãªã‹ã£ãŸãƒã‚°ä¿®æ£ã€‚ (map/) mob.c - mob_damage()Amobskill_use() C³B - mob_skillid2skillidx() ’ljÁB + mob_damage()ã€mobskill_use() ä¿®æ£ã€‚ + mob_skillid2skillidx() è¿½åŠ ã€‚ skill.c - skill_readdb()Askill_abra_dataset() C³B - skill_castend_nodamage_id()Askill_castend_pos2() C³B + skill_readdb()ã€skill_abra_dataset() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_pos2() ä¿®æ£ã€‚ script.c - buildin_warp() C³B + buildin_warp() ä¿®æ£ã€‚ - skill.h C³B - map.h C³B + skill.h ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ (db/) - abra_db.txt ’ljÁB - skill_db.txt C³B + abra_db.txt è¿½åŠ ã€‚ + skill_db.txt ä¿®æ£ã€‚ -------------------- -//0899 by ŒÓ’±—– +//0899 by 胡è¶è˜ -EŽæ‚芪‚«MOB‚̈—C³ - EŽæ‚芪‚«¢Š«‚ŃRƒA‚ð“f‚ƒoƒOC³ - EŽå‚ª•Êƒ}ƒbƒv‚É”ò‚Ô‚ÆAƒeƒŒƒ|[ƒg‚Å’Ç‚¢‚©‚¯‚é‚悤‚ÉC³ - EŽæ‚芪‚«ˆ—‚ð‚æ‚èŒy‚•ÏX +・å–ã‚Šå·»ãMOBã®å‡¦ç†ä¿®æ£ + ・å–ã‚Šå·»ãå¬å–šã§ã‚³ã‚¢ã‚’åããƒã‚°ä¿®æ£ + ・主ãŒåˆ¥ãƒžãƒƒãƒ—ã«é£›ã¶ã¨ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§è¿½ã„ã‹ã‘るよã†ã«ä¿®æ£ + ・å–ã‚Šå·»ã処ç†ã‚’より軽ã変更 (map/) mob.c - mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() - ‚É–¼‘O‚ð•Ï‚¦‚Ĉ—C³B - mob_summonslave()C³ + mob_ai_sub_hard_mastersearch()ã‚’mob_ai_sub_hard_slavemob() + ã«åå‰ã‚’変ãˆã¦å‡¦ç†ä¿®æ£ã€‚ + mob_summonslave()ä¿®æ£ -------------------- -//0898 by ŒÓ’±—– +//0898 by 胡è¶è˜ -Eeathena‚©‚çCardRemoverNPC‚ÌŽæ‚èž‚Ý - NPCƒf[ƒ^‚à“ú–{Œê–󂵂Ă܂·‚ªA‚©‚È‚è“K“–‚Å‚·B +・eathenaã‹ã‚‰CardRemoverNPCã®å–り込㿠+ NPCデータも日本語訳ã—ã¦ã¾ã™ãŒã€ã‹ãªã‚Šé©å½“ã§ã™ã€‚ (map/) script.c buildin_getequipcardcnt(),buildin_successremovecards() - buildin_failedremovecards()’ljÁ + buildin_failedremovecards()è¿½åŠ (conf/sample/) npc_card_remover.txt - ƒJ[ƒhŽæ‚èŠO‚µNPC‚Ì“ú–{Œê–ó - ƒvƒƒ“ƒeƒ‰‚̸˜BŠ‚Ì’†‚̶‰º‚Ì•”‰®‚É‚¢‚Ü‚· + カードå–り外ã—NPCã®æ—¥æœ¬èªžè¨³ + プãƒãƒ³ãƒ†ãƒ©ã®ç²¾éŒ¬æ‰€ã®ä¸ã®å·¦ä¸‹ã®éƒ¨å±‹ã«ã„ã¾ã™ -Eƒ|[ƒ^ƒ‹‚ŕʃ}ƒbƒv‚É”ò‚΂µ‚½MOB‚ª‚»‚̃}ƒbƒv‚É•¦‚«’¼‚·ƒoƒOC³ +・ãƒãƒ¼ã‚¿ãƒ«ã§åˆ¥ãƒžãƒƒãƒ—ã«é£›ã°ã—ãŸMOBãŒãã®ãƒžãƒƒãƒ—ã«æ²¸ãç›´ã™ãƒã‚°ä¿®æ£ (map/) map.h - struct mob_data‚Émƒƒ“ƒo’ljÁ + struct mob_dataã«mメンãƒè¿½åŠ mob.c - mob_spawn(),mob_once_spawn()C³ + mob_spawn(),mob_once_spawn()ä¿®æ£ npc.c - npc_parse_mob()C³ + npc_parse_mob()ä¿®æ£ -------------------- -//0897 by ‚Ò‚´‚Ü‚ñ +//0897 by ã´ã–ã¾ã‚“ -Eׂ©‚¢’²® -EƒXƒgƒŠƒbƒvŒn‚ƃPƒ~ƒJƒ‹ƒvƒƒeƒNƒVƒ‡ƒ“ŒnƒXƒLƒ‹‚Ì‘SŽÀ‘• -@–{ŽI‚Å‚Ìׂ©‚¢Žd—l‚ª•ª‚Á‚½‚Ì‚ÅŽÀ‘•‚µ‚Ü‚µ‚½B -@Šm—¦‚ÍŽb’è‚Å‚·B +・細ã‹ã„調整 +・ストリップ系ã¨ã‚±ãƒŸã‚«ãƒ«ãƒ—ãƒãƒ†ã‚¯ã‚·ãƒ§ãƒ³ç³»ã‚¹ã‚ルã®å…¨å®Ÿè£… + 本鯖ã§ã®ç´°ã‹ã„仕様ãŒåˆ†ã£ãŸã®ã§å®Ÿè£…ã—ã¾ã—ãŸã€‚ + 確率ã¯æš«å®šã§ã™ã€‚ (map/) pc.c - pc_isequip() C³ + pc_isequip() ä¿®æ£ skill.c - skill_status_change_start()Askill_castend_nodamage_id() C³B - skill_abra_dataset() C³B + skill_status_change_start()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_abra_dataset() ä¿®æ£ã€‚ battle.c - battle_get_def()Abattle_get_atk2() C³B - battle_get_vit()Abattle_get_int() C³B + battle_get_def()ã€battle_get_atk2() ä¿®æ£ã€‚ + battle_get_vit()ã€battle_get_int() ä¿®æ£ã€‚ (db/) - const.txt C³B - skill_db.txt C³B - cast_db.txt C³B + const.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ + cast_db.txt ä¿®æ£ã€‚ -------------------- -//0896 by ŒÓ’±—– +//0896 by 胡è¶è˜ -E‰i‘±“Iƒ}ƒbƒv•Ï”‹@”\’ljÁ -Eƒ}ƒbƒv•Ï”‚𕶎š—ñŒ^•Ï”‚Æ‚µ‚Ä‚àŽg—p‚Å‚«‚é‚悤‚É‚µ‚½ - E¡‚܂ł̃vƒŒƒtƒBƒbƒNƒX $ ‚͉i‘±“I‚É‚È‚è‚Ü‚·B - ˆêŽž“Iƒ}ƒbƒv•Ï”‚ðŽg—p‚·‚éꇂ̓vƒŒƒtƒBƒbƒNƒX $@ ‚ðŽw’肵‚Ä‚‚¾‚³‚¢. +ãƒ»æ°¸ç¶šçš„ãƒžãƒƒãƒ—å¤‰æ•°æ©Ÿèƒ½è¿½åŠ +・マップ変数を文å—列型変数ã¨ã—ã¦ã‚‚使用ã§ãるよã†ã«ã—㟠+ ・今ã¾ã§ã®ãƒ—レフィックス $ ã¯æ°¸ç¶šçš„ã«ãªã‚Šã¾ã™ã€‚ + 一時的マップ変数を使用ã™ã‚‹å ´åˆã¯ãƒ—レフィックス $@ を指定ã—ã¦ãã ã•ã„. - E‰i‘±“I/ˆêŽž“I‚Æ‚à‚É•¶Žš—ñŒ^‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B - •¶Žš—ñŒ^‚̃|ƒXƒgƒtƒBƒbƒNƒX‚Í$‚Å‚·B + ・永続的/一時的ã¨ã‚‚ã«æ–‡å—列型ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚ + æ–‡å—列型ã®ãƒã‚¹ãƒˆãƒ•ã‚£ãƒƒã‚¯ã‚¹ã¯$ã§ã™ã€‚ - <—á> $@hoge ”’lŒ^ˆêŽžƒ}ƒbƒv•Ï”A$hoge$ •¶Žš—ñŒ^‰i‘±ƒ}ƒbƒv•Ï” - E‰i‘±ƒ}ƒbƒv•Ï”‚̓fƒtƒHƒ‹ƒg‚Å‚Í save/mapreg.txt ‚É•Û‘¶‚³‚ê‚Ü‚·B - ‚±‚ê‚Ímap_athena.conf‚Ìmapreg_txt‚ÅÝ’è‚Å‚«‚Ü‚·B + <例> $@hoge 数値型一時マップ変数ã€$hoge$ æ–‡å—列型永続マップ変数 + ・永続マップ変数ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ save/mapreg.txt ã«ä¿å˜ã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯map_athena.confã®mapreg_txtã§è¨å®šã§ãã¾ã™ã€‚ -Estr_data‚ªÄŠ„‚è“–‚Ä‚³‚ê‚é‚ƃ}ƒbƒv•Ï”‚ª³í‚ÉŽg—p‚Å‚«‚È‚¢ƒoƒOC³ - Estrdb‚©‚çnumdb‚É‚µ‚ÄA•Ï”–¼‚Ístr_buf‚É“ü‚ê‚é‚悤‚ÉB +・str_dataãŒå†å‰²ã‚Šå½“ã¦ã•ã‚Œã‚‹ã¨ãƒžãƒƒãƒ—変数ãŒæ£å¸¸ã«ä½¿ç”¨ã§ããªã„ãƒã‚°ä¿®æ£ + ・strdbã‹ã‚‰numdbã«ã—ã¦ã€å¤‰æ•°åã¯str_bufã«å…¥ã‚Œã‚‹ã‚ˆã†ã«ã€‚ -Emap_athena.conf‚Ìdelnpc,npc:clear‚ª³‚µ‚“‚©‚È‚¢ƒoƒOC³ +・map_athena.confã®delnpc,npc:clearãŒæ£ã—ãåƒã‹ãªã„ãƒã‚°ä¿®æ£ (map/) npc.c - npc_delsrcfile(),npc_clearsrcfile()C³ + npc_delsrcfile(),npc_clearsrcfile()ä¿®æ£ script.c / script.h - ƒ}ƒbƒv•Ï”Œn‚©‚È‚èC³ + マップ変数系ã‹ãªã‚Šä¿®æ£ map.c - map_read_config()C³‚È‚Ç + map_read_config()ä¿®æ£ãªã© (conf/) map_athena.conf - mapreg_txt’ljÁ + mapreg_txtè¿½åŠ (doc/) conf_ref.txt - mapreg_txt,help_txt,motd_txt’ljÁ + mapreg_txt,help_txt,motd_txtè¿½åŠ script_ref.txt - •¶Žš—ñŒ^•Ï”‚Ìà–¾C³ + æ–‡å—列型変数ã®èª¬æ˜Žä¿®æ£ -------------------- //0895 by Selena -Emapflag‚Énozenypenalty‚ð’ljÁB -@GVG‚âŠX’†‚̃eƒ‚È‚Ç‚ÅŽ€–S‚µ‚½Û‚ÉAZenyƒyƒiƒ‹ƒeƒB[”¶‚ðŠO‚·—pB +・mapflagã«nozenypenaltyã‚’è¿½åŠ ã€‚ + GVGã‚„è¡—ä¸ã®ãƒ†ãƒãªã©ã§æ»äº¡ã—ãŸéš›ã«ã€Zenyペナルティー発生を外ã™ç”¨ã€‚ (map/) pc.c - pc_setrestartvalue() C³ + pc_setrestartvalue() ä¿®æ£ script.c - buildin_setmapflag()Abuildin_removemapflag() C³ + buildin_setmapflag()ã€buildin_removemapflag() ä¿®æ£ npc.c - npc_parse_mapflag() C³ + npc_parse_mapflag() ä¿®æ£ map.h - map_data() C³ + map_data() ä¿®æ£ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ -------------------- -//0894 by ‚Ò‚´‚Ü‚ñ +//0894 by ã´ã–ã¾ã‚“ -EƒR[ƒ}ˆÈŠO‚̃Aƒuƒ‰ƒJƒ_ƒuƒ‰ŒÅ—LƒXƒLƒ‹‘SŽÀ‘•B -@ƒI[ƒgƒXƒyƒ‹‚ɂ̓Œƒxƒ‹ƒAƒbƒvˆÈŠO‘½•ª‘S•”悹‚ê‚Ü‚·B(ƒI[ƒgƒXƒyƒ‹ƒŒƒxƒ‹ƒAƒbƒv‚Í–¢ƒeƒXƒg) -EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‰¼ŽÀ‘• -@”“®ƒXƒLƒ‹‚ªƒŒƒxƒ‹ˆË‘¶‚¶‚á‚ ‚è‚Ü‚¹‚ñB -@‘S‚Ä‚Ì”“®—¦‚ª—˜_ã‹Ïˆê‚Å‚·B -@ƒAƒCƒeƒ€ƒXƒLƒ‹‚ðŽg‚Á‚ÄŽÀ‘•‚µ‚Ä‚¢‚é‚̂ňꕔ‚ÌŽg—pðŒ‚𖳎‹‚µ‚Ü‚·iƒWƒFƒ€ã©‹C‹…“™j -EƒAƒCƒeƒ€ƒXƒLƒ‹‚ªƒLƒƒƒXƒgEƒfƒBƒŒƒC–³‚µ‚¾‚Á‚½‚Ì‚ðC³B +・コーマ以外ã®ã‚¢ãƒ–ラカダブラ固有スã‚ル全実装。 + オートスペルã«ã¯ãƒ¬ãƒ™ãƒ«ã‚¢ãƒƒãƒ—以外多分全部乗ã›ã‚Œã¾ã™ã€‚(オートスペルレベルアップã¯æœªãƒ†ã‚¹ãƒˆ) +・アブラカダブラ仮実装 + 発動スã‚ルãŒãƒ¬ãƒ™ãƒ«ä¾å˜ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“。 + 全ã¦ã®ç™ºå‹•çŽ‡ãŒç†è«–上å‡ä¸€ã§ã™ã€‚ + アイテムスã‚ルを使ã£ã¦å®Ÿè£…ã—ã¦ã„ã‚‹ã®ã§ä¸€éƒ¨ã®ä½¿ç”¨æ¡ä»¶ã‚’無視ã—ã¾ã™ï¼ˆã‚¸ã‚§ãƒ ç½ æ°—çƒç‰ï¼‰ +・アイテムスã‚ルãŒã‚ャスト・ディレイ無ã—ã ã£ãŸã®ã‚’ä¿®æ£ã€‚ (map/) skill.c - skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() C³B - skill_abra_dataset() ’ljÁB + skill_castend_nodamage_id()ã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_abra_dataset() è¿½åŠ ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ -------------------- -//0893 by ŒÓ’±—– +//0893 by 胡è¶è˜ -E‘¼ƒ}ƒbƒv‚©‚çƒ|[ƒ^ƒ‹‚Ìã‚Ƀ[ƒv‚µ‚Ä‚«‚½PC‚ªƒ[ƒv‚µ‚È‚¢–â‘è‚ðC³ -Eƒ`ƒƒƒbƒg’†‚ÌPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É -EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É - MOB‚̃[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚é‚ÆAƒeƒ‚ªŠÈ’P‚É‚Å‚«‚é‚Ì‚Å’ˆÓB +・他マップã‹ã‚‰ãƒãƒ¼ã‚¿ãƒ«ã®ä¸Šã«ãƒ¯ãƒ¼ãƒ—ã—ã¦ããŸPCãŒãƒ¯ãƒ¼ãƒ—ã—ãªã„å•é¡Œã‚’ä¿®æ£ +・ãƒãƒ£ãƒƒãƒˆä¸ã®PCをワープãƒãƒ¼ã‚¿ãƒ«ã§é£›ã°ã™ã‹ã©ã†ã‹è¨å®šå¯èƒ½ã« +・MOBをワープãƒãƒ¼ã‚¿ãƒ«ã§é£›ã°ã™ã‹ã©ã†ã‹è¨å®šå¯èƒ½ã« + MOBã®ãƒ¯ãƒ¼ãƒ—ãƒãƒ¼ã‚¿ãƒ«ã‚’許å¯ã™ã‚‹ã¨ã€ãƒ†ãƒãŒç°¡å˜ã«ã§ãã‚‹ã®ã§æ³¨æ„。 -EƒAƒJƒEƒ“ƒg•Ï”•ÏX‚Æ“¯Žž‚Ƀtƒ@ƒCƒ‹‚É‘‚«o‚·‚悤‚ÉC³ -Eƒ}ƒbƒvƒf[ƒ^‚̃[ƒh•”•ª‚̃ƒO•\Ž¦‚Í‚ ‚Ü‚èd—v‚¶‚á‚È‚¢‚ÆŽv‚¤‚Ì‚Å•ÏXB +・アカウント変数変更ã¨åŒæ™‚ã«ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã出ã™ã‚ˆã†ã«ä¿®æ£ +・マップデータã®ãƒãƒ¼ãƒ‰éƒ¨åˆ†ã®ãƒã‚°è¡¨ç¤ºã¯ã‚ã¾ã‚Šé‡è¦ã˜ã‚ƒãªã„ã¨æ€ã†ã®ã§å¤‰æ›´ã€‚ (char/) inter.c - mapif_parse_AccReg()‚Åinter_accreg_save()‚ðŒÄ‚Ԃ悤‚ÉC³ + mapif_parse_AccReg()ã§inter_accreg_save()を呼ã¶ã‚ˆã†ã«ä¿®æ£ (map/) mob.c/mob.h - mob_warp()‚̈ø”•ÏX‚ÆC³ + mob_warp()ã®å¼•æ•°å¤‰æ›´ã¨ä¿®æ£ battle.c/battle.h - mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ - battle_configŠÖ˜A + mob_warp()呼ã³å‡ºã—ã®å¼•æ•°ä¿®æ£ + battle_config関連 map.c - map_readallmap(),map_readmap()C³ + map_readallmap(),map_readmap()ä¿®æ£ pc.c - pc_setpos()C³ + pc_setpos()ä¿®æ£ skill.c - mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ - skill_unit_onplace()C³ + mob_warp()呼ã³å‡ºã—ã®å¼•æ•°ä¿®æ£ + skill_unit_onplace()ä¿®æ£ (conf/) battle_athena.conf - chat_warpportal,mob_warpportal‚̒ljÁ + chat_warpportal,mob_warpportalã®è¿½åŠ (doc/) conf_ref.txt - chat_warpportal,mob_warpportal‚̒ljÁ + chat_warpportal,mob_warpportalã®è¿½åŠ -------------------- -//0892 by ŒÓ’±—– +//0892 by 胡è¶è˜ -EŠeŽíconfƒtƒ@ƒCƒ‹‚ŕʃtƒ@ƒCƒ‹‚ðƒCƒ“ƒ|[ƒg‚Å‚«‚é‚悤‚É‚µ‚½ - EŽ©•ª‚̃T[ƒo[—p‚ÌÝ’è‚ð•Êƒtƒ@ƒCƒ‹‚É‹Lq‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - E‘S‚Äuimport: ƒtƒ@ƒCƒ‹–¼vŒ`Ž®‚Å‹Lq‚µ‚Ü‚·B - EŠeŽíconfƒtƒ@ƒCƒ‹ilogin,char,map,inter,atcommand,battlej‚ÌÅŒã‚É - conf/import/*_conf ‚ð“ǂނ悤‚ÉŽw’肵‚½‚Ì‚ÅA‚»‚±‚ÉŽ©•ª—p‚ÌÝ’è‚ð - ‘‚¢‚Ä‚¨‚¯‚ÎA•ÏX•”•ª‚̂݃I[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B - msg,script‚Ìconf‚ɂ‚¢‚Ä‚ÍA‚±‚ÌŒÀ‚è‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªAimport–½—ß‚Ì - ˆ—‚͒ljÁ‚³‚ê‚Ä‚¢‚é‚Ì‚ÅAŽ©•ª‚Åimport–½—߂𑂯‚Γ®‚«‚Ü‚·B - EV‚µ‚¢ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚ªo‚½ê‡‚È‚Ç‚ÉA‚±‚Ìconf/importƒtƒHƒ‹ƒ_‚ð - Ì‚ÌAthena‚©‚çƒRƒs[‚·‚邾‚¯‚ÅŽ©•ª—p‚ÌÝ’è‚ð“K—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·. +・å„種confファイルã§åˆ¥ãƒ•ã‚¡ã‚¤ãƒ«ã‚’インãƒãƒ¼ãƒˆã§ãるよã†ã«ã—㟠+ ・自分ã®ã‚µãƒ¼ãƒãƒ¼ç”¨ã®è¨å®šã‚’別ファイルã«è¨˜è¿°ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + ・全ã¦ã€Œimport: ファイルåã€å½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚ + ・å„種confファイル(login,char,map,inter,atcommand,battle)ã®æœ€å¾Œã« + conf/import/*_conf ã‚’èªã‚€ã‚ˆã†ã«æŒ‡å®šã—ãŸã®ã§ã€ãã“ã«è‡ªåˆ†ç”¨ã®è¨å®šã‚’ + 書ã„ã¦ãŠã‘ã°ã€å¤‰æ›´éƒ¨åˆ†ã®ã¿ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚ + msg,scriptã®confã«ã¤ã„ã¦ã¯ã€ã“ã®é™ã‚Šã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€import命令㮠+ 処ç†ã¯è¿½åŠ ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€è‡ªåˆ†ã§import命令を書ã‘ã°å‹•ãã¾ã™ã€‚ + ・新ã—ã„スナップショットãŒå‡ºãŸå ´åˆãªã©ã«ã€ã“ã®conf/importフォルダを + 昔ã®Athenaã‹ã‚‰ã‚³ãƒ”ーã™ã‚‹ã ã‘ã§è‡ªåˆ†ç”¨ã®è¨å®šã‚’é©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™. -Emap_athena.conf‚Ìmap‚Ænpc‚ŒljÁ‚µ‚½ƒtƒ@ƒCƒ‹‚ð휂ł«‚é‚悤‚É‚µ‚½ - Eã‚ÉŠÖ˜A‚·‚é•ÏX‚Å‚·B - Edelmap,delnpc–½—ß‚ðŽg—p‚·‚ê‚ÎAmap,npc–½—߂ŒljÁ‚µ‚½ƒtƒ@ƒCƒ‹‚ð - “Ç‚Ýž‚Ü‚È‚¢‚悤‚ÉŽw’è‚Å‚«‚Ü‚·B‚±‚±‚Ńtƒ@ƒCƒ‹–¼‚Å‚Í‚È‚A - all ‚ÆŽw’è‚·‚é‚Æ‚»‚ê‚Ü‚Å‚ÉŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚ð‘S‚Ä“Ç‚Ýž‚Ü‚È‚‚µ‚Ü‚·. - Emap,npc–½—ß‚ÅAƒtƒ@ƒCƒ‹–¼‚Éclear‚ðŽw’è‚·‚é‚ÆA - delmap,delnpc‚Ìall‚Æ“¯“™‚Ì“®ì‚ð‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½B +・map_athena.confã®mapã¨npcã§è¿½åŠ ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã§ãるよã†ã«ã—㟠+ ・上ã«é–¢é€£ã™ã‚‹å¤‰æ›´ã§ã™ã€‚ + ・delmap,delnpc命令を使用ã™ã‚Œã°ã€map,npc命令ã§è¿½åŠ ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ + èªã¿è¾¼ã¾ãªã„よã†ã«æŒ‡å®šã§ãã¾ã™ã€‚ã“ã“ã§ãƒ•ã‚¡ã‚¤ãƒ«åã§ã¯ãªã〠+ all ã¨æŒ‡å®šã™ã‚‹ã¨ãã‚Œã¾ã§ã«æŒ‡å®šã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’å…¨ã¦èªã¿è¾¼ã¾ãªãã—ã¾ã™. + ・map,npc命令ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«åã«clearを指定ã™ã‚‹ã¨ã€ + delmap,delnpcã®allã¨åŒç‰ã®å‹•ä½œã‚’ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ -Elogin_athena.conf‚Ìallow‚Ædeny‚ðƒNƒŠƒA‚Å‚«‚é‚悤‚É‚“‚½ - Eallow‚¨‚æ‚Ñdeny–½—ß‚Åclear‚ðŽw’è‚·‚é‚ƈȑO‚̃zƒXƒgî•ñ‚ð‘S휂µ‚Ü‚·. +・login_athena.confã®allowã¨denyをクリアã§ãるよã†ã«ï½“㟠+ ・allowãŠã‚ˆã³deny命令ã§clearを指定ã™ã‚‹ã¨ä»¥å‰ã®ãƒ›ã‚¹ãƒˆæƒ…å ±ã‚’å…¨å‰Šé™¤ã—ã¾ã™. (conf/) - ŠeŽíconfƒtƒ@ƒCƒ‹‚ÌÅŒã‚Éimport–½—ߒljÁ + å„種confファイルã®æœ€å¾Œã«importå‘½ä»¤è¿½åŠ (conf/import) *.txt - ƒCƒ“ƒ|[ƒg‚³‚ê‚éƒtƒ@ƒCƒ‹B‚±‚ê‚ç‚ÉŽ©•ª—p‚ÌÝ’è‚ð‘‚‚Æ‚æ‚¢B + インãƒãƒ¼ãƒˆã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã€‚ã“れらã«è‡ªåˆ†ç”¨ã®è¨å®šã‚’書ãã¨ã‚ˆã„。 (login/) login.c - login_read_config()C³ + login_read_config()ä¿®æ£ (char/) char.c/inter.c - char_read_config(),inter_read_config()C³ + char_read_config(),inter_read_config()ä¿®æ£ (map/) map.c - map_read_config(),map_addmap()C³Amap_delmap()’ljÁ + map_read_config(),map_addmap()ä¿®æ£ã€map_delmap()è¿½åŠ npc.c - npc_addsrcfile()C³,npc_delsrcfile(),npc_clearsrcfile()’ljÁ + npc_addsrcfile()ä¿®æ£,npc_delsrcfile(),npc_clearsrcfile()è¿½åŠ battle.c/atcommand.c/script.c battle_read_config(),atcommand_read_config(), - msg_read_config(),script_read_config()C³ + msg_read_config(),script_read_config()ä¿®æ£ (doc/) conf_ref.txt - C³ + ä¿®æ£ -------------------- -//0891 by (“Ê) +//0891 by (凸) -EuƒXƒLƒ‹Žg—p‚ÌŒã‚ÍA‚µ‚΂炂¨‘Ò‚¿‚‚¾‚³‚¢v‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B - E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘´‚̇U>>5‚³‚ñ‚̃R[ƒh‚ðƒpƒNƒŠ‚Ü‚µ‚½B +・「スã‚ル使用ã®å¾Œã¯ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„ã€ã‚’表示ã™ã‚‹ã‹ã©ã†ã‹è¨å®šã§ãるよã†ã«ã—ãŸã€‚ + ・本鯖相é•ã‚¹ãƒ¬ãƒƒãƒ‰ã€€å…¶ã®U>>5ã•ã‚“ã®ã‚³ãƒ¼ãƒ‰ã‚’パクリã¾ã—ãŸã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ clif.c - clif_skill_fail() C³B + clif_skill_fail() ä¿®æ£ã€‚ -------------------- -//0890 by Ž€_ +//0890 by æ»ç¥ž -EƒMƒ‹ƒh‘qŒÉ‚ðˆê“x‚Ɉêl‚¾‚¯‚ªŽg—p‚·‚é‚悤‚É•ÏXB(–¢ƒeƒXƒg) -Ebattle_athena.conf‚©‚çplayer_undead_nofreeze íœB -E@ƒRƒ}ƒ“ƒh@gstorage ’ljÁB -EƒXƒNƒŠƒvƒgguildstorage‚ðguildopenstorage‚É•ÏXB -E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B +・ギルド倉庫を一度ã«ä¸€äººã ã‘ãŒä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(未テスト) +・battle_athena.confã‹ã‚‰player_undead_nofreeze 削除。 +・@コマンド@gstorage è¿½åŠ ã€‚ +・スクリプトguildstorageã‚’guildopenstorageã«å¤‰æ›´ã€‚ +・ãã®ä»–ç´°ã‹ã„ãƒã‚°ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - script_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + script_ref.txt ä¿®æ£ã€‚ (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B - help.txt C³B + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ (conf/sample/) - gstorage_test.txt ’ljÁB + gstorage_test.txt è¿½åŠ ã€‚ (char/) - makefile C³B - int_storage.h C³B + makefile ä¿®æ£ã€‚ + int_storage.h ä¿®æ£ã€‚ int_storage.c - inter_storage_delete()Ainter_guild_storage_delete() ’ljÁB + inter_storage_delete()ã€inter_guild_storage_delete() è¿½åŠ ã€‚ int_guild.c - guild_check_empty()Amapif_parse_BreakGuild() C³B + guild_check_empty()ã€mapif_parse_BreakGuild() ä¿®æ£ã€‚ (map/) - makefile C³B - battle.h C³B + makefile ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ guild.c - guild_broken() C³B - storage.h C³B + guild_broken() ä¿®æ£ã€‚ + storage.h ä¿®æ£ã€‚ storage.c - storage_guild_storageopen() C³B - storage_delete()Aguild_storage_delete() ’ljÁB + storage_guild_storageopen() ä¿®æ£ã€‚ + storage_delete()ã€guild_storage_delete() è¿½åŠ ã€‚ script.c - buildin_guildstorage() ‚ð buildin_guildopenstorage()‚É•ÏXB + buildin_guildstorage() ã‚’ buildin_guildopenstorage()ã«å¤‰æ›´ã€‚ intif.c - intif_parse_LoadGuildStorage() C³B + intif_parse_LoadGuildStorage() ä¿®æ£ã€‚ mob.c - mob_summonslave()Amob_damage()Amob_delete() C³B - mob_catch_delete()Amob_readdb() C³B + mob_summonslave()ã€mob_damage()ã€mob_delete() ä¿®æ£ã€‚ + mob_catch_delete()ã€mob_readdb() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id()Askill_status_change_start() C³B + skill_castend_nodamage_id()ã€skill_status_change_start() ä¿®æ£ã€‚ clif.c - clif_parse_ActionRequest() C³B - atcommand.h C³B + clif_parse_ActionRequest() ä¿®æ£ã€‚ + atcommand.h ä¿®æ£ã€‚ atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ -------------------- -//0889 by ŒÓ’±—– +//0889 by 胡è¶è˜ -E•¶Žš—ñŒ^ˆêŽž“IƒLƒƒƒ‰ƒNƒ^[•Ï”‹@”\’ljÁB - EƒvƒŒƒtƒBƒbƒNƒX@,ƒ|ƒXƒgƒtƒBƒbƒNƒX$‚ðŽg—p‚µ‚Ü‚·Bi@hoge$‚È‚Çj - Einput‚Å•¶Žš—ñ•Ï”‚ðŽw’è‚·‚é‚Æ•¶Žš—ñ“ü—Í‚É‚È‚è‚Ü‚·B - EŠÖŒW‰‰ŽZŽqi”äŠr‰‰ŽZŽqj‚Å•¶Žš—ñ‚Ç‚¤‚µ‚ðŽw’è‚·‚é‚Æ•¶Žš—ñ‚Ì”äŠr‚ª - ‚Å‚«‚Ü‚·B”’l‚Æ•¶Žš—ñ‚𬂺‚Ä”äŠr‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - E‚Æ‚è‚ ‚¦‚¸ƒTƒ“ƒvƒ‹•t‚¯‚Ä‚Ü‚·B +・文å—列型一時的ã‚ãƒ£ãƒ©ã‚¯ã‚¿ãƒ¼å¤‰æ•°æ©Ÿèƒ½è¿½åŠ ã€‚ + ・プレフィックス@,ãƒã‚¹ãƒˆãƒ•ã‚£ãƒƒã‚¯ã‚¹$を使用ã—ã¾ã™ã€‚(@hoge$ãªã©ï¼‰ + ・inputã§æ–‡å—列変数を指定ã™ã‚‹ã¨æ–‡å—列入力ã«ãªã‚Šã¾ã™ã€‚ + ・関係演算å(比較演算å)ã§æ–‡å—列ã©ã†ã—を指定ã™ã‚‹ã¨æ–‡å—列ã®æ¯”較㌠+ ã§ãã¾ã™ã€‚数値ã¨æ–‡å—列を混ãœã¦æ¯”較ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 + ・ã¨ã‚Šã‚ãˆãšã‚µãƒ³ãƒ—ル付ã‘ã¦ã¾ã™ã€‚ (map/) map.h - struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’ljÁ + struct map_session_dataã«npc_str,regstr,regstr_numメンãƒè¿½åŠ script.c - buildin_set(),get_val(),buildin_input(),op_2num()‚È‚ÇC³ - op_2str(),op_2()’ljÁ + buildin_set(),get_val(),buildin_input(),op_2num()ãªã©ä¿®æ£ + op_2str(),op_2()è¿½åŠ clif.c / clif.h - 01d5ƒpƒPƒbƒg’·C³ - clif_parse_NpcStringInput(),clif_scriptinputstr()’ljÁ + 01d5ãƒ‘ã‚±ãƒƒãƒˆé•·ä¿®æ£ + clif_parse_NpcStringInput(),clif_scriptinputstr()è¿½åŠ pc.c / pc.h - pc_readregstr(),pc_setregstr()’ljÁ + pc_readregstr(),pc_setregstr()è¿½åŠ (doc/) script_ref.txt - ‰‰ŽZŽq‚Ìà–¾’ljÁA•Ï”‚Ìà–¾C³Ainput,menuC³ + 演算åã®èª¬æ˜Žè¿½åŠ ã€å¤‰æ•°ã®èª¬æ˜Žä¿®æ£ã€input,menuä¿®æ£ (conf/sample/) npc_test_str.txt - •¶Žš—ñ•Ï”‚ðŽg—p‚µ‚½ƒXƒNƒŠƒvƒg‚Ì—áB - •¶Žš—ñ‚Ì‘ã“üAŒ‹‡A”äŠrA“ü—͂Ȃǂ̃eƒXƒg‚ðs‚¤‚à‚ÌB + æ–‡å—列変数を使用ã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ä¾‹ã€‚ + æ–‡å—列ã®ä»£å…¥ã€çµåˆã€æ¯”較ã€å…¥åŠ›ãªã©ã®ãƒ†ã‚¹ãƒˆã‚’è¡Œã†ã‚‚ã®ã€‚ -------------------- -//0888 by Ž€_ +//0888 by æ»ç¥ž -EÝŒv‚©‚çŠÔˆá‚Á‚Ä‚¢‚½ƒMƒ‹ƒh‘qŒÉC³B(‚½‚¾•¡”l‚ÌŽg—p‚É‚æ‚éƒoƒO‚ª‚ ‚é‰Â”\«‚Í‚Ü‚¾‚ ‚è‚Ü‚·B) -Eׂ©‚¢ƒoƒOC³B +・è¨è¨ˆã‹ã‚‰é–“é•ã£ã¦ã„ãŸã‚®ãƒ«ãƒ‰å€‰åº«ä¿®æ£ã€‚(ãŸã 複数人ã®ä½¿ç”¨ã«ã‚ˆã‚‹ãƒã‚°ãŒã‚ã‚‹å¯èƒ½æ€§ã¯ã¾ã ã‚ã‚Šã¾ã™ã€‚) +・細ã‹ã„ãƒã‚°ä¿®æ£ã€‚ (doc/) - inter_server_packet.txt C³B - conf_ref.txt C³B + inter_server_packet.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ (conf/) - inter_athena.conf C³B - help.txt C³B + inter_athena.conf ä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (char/) - makefile C³B - int_storage.h C³B + makefile ä¿®æ£ã€‚ + int_storage.h ä¿®æ£ã€‚ int_storage.c - account2storage()Ainter_storage_init()Astorage_fromstr() C³B - inter_storage_save()Amapif_load_storage() C³B - mapif_parse_SaveStorage() C³B - guild_storage_fromstr()Aguild_storage_tostr() ’ljÁB - inter_storage_save_sub()Ainter_guild_storage_save_sub() ’ljÁB - inter_guild_storage_save()Amapif_parse_LoadGuildStorage() ’ljÁB - mapif_parse_SaveGuildStorage()Amapif_load_guild_storage() ’ljÁB - mapif_save_guild_storage_ack()Aguild2storage() ’ljÁB + account2storage()ã€inter_storage_init()ã€storage_fromstr() ä¿®æ£ã€‚ + inter_storage_save()ã€mapif_load_storage() ä¿®æ£ã€‚ + mapif_parse_SaveStorage() ä¿®æ£ã€‚ + guild_storage_fromstr()ã€guild_storage_tostr() è¿½åŠ ã€‚ + inter_storage_save_sub()ã€inter_guild_storage_save_sub() è¿½åŠ ã€‚ + inter_guild_storage_save()ã€mapif_parse_LoadGuildStorage() è¿½åŠ ã€‚ + mapif_parse_SaveGuildStorage()ã€mapif_load_guild_storage() è¿½åŠ ã€‚ + mapif_save_guild_storage_ack()ã€guild2storage() è¿½åŠ ã€‚ int_party.c - inter_party_init() C³B - int_guild.h C³B + inter_party_init() ä¿®æ£ã€‚ + int_guild.h ä¿®æ£ã€‚ int_guild.c - inter_guild_init() C³B - inter_guild_search() ’ljÁB + inter_guild_init() ä¿®æ£ã€‚ + inter_guild_search() è¿½åŠ ã€‚ int_pet.c - inter_pet_init() C³B + inter_pet_init() ä¿®æ£ã€‚ inter.c - inter_init()Ainter_save()Ainter_config_read() C³B + inter_init()ã€inter_save()ã€inter_config_read() ä¿®æ£ã€‚ (map/) - makefile C³B - map.h C³B + makefile ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_quit()Ado_init() C³B + map_quit()ã€do_init() ä¿®æ£ã€‚ pc.c - pc_setpos() C³B - storage.h C³B + pc_setpos() ä¿®æ£ã€‚ + storage.h ä¿®æ£ã€‚ storage.c - do_init_storage()Ado_final_storage()Aaccount2storage() C³B - storage_storageopen()Astorage_storageadd()Astorage_storageget() C³B - storage_storageaddfromcart()Astorage_storagegettocart() C³B - storage_storageclose()Astorage_storage_quit() C³B - storage_storage_save() C³B - guild2storage()Astorage_guild_storageopen() ’ljÁB - guild_storage_additem() Aguild_storage_delitem() ’ljÁB - storage_guild_storageadd()Astorage_guild_storageget() ’ljÁB - storage_guild_storageaddfromcart()Astorage_guild_storagegettocart() ’ljÁB - storage_guild_storageclose()Astorage_guild_storage_quit() ’ljÁB - intif.h C³B + do_init_storage()ã€do_final_storage()ã€account2storage() ä¿®æ£ã€‚ + storage_storageopen()ã€storage_storageadd()ã€storage_storageget() ä¿®æ£ã€‚ + storage_storageaddfromcart()ã€storage_storagegettocart() ä¿®æ£ã€‚ + storage_storageclose()ã€storage_storage_quit() ä¿®æ£ã€‚ + storage_storage_save() ä¿®æ£ã€‚ + guild2storage()ã€storage_guild_storageopen() è¿½åŠ ã€‚ + guild_storage_additem() ã€guild_storage_delitem() è¿½åŠ ã€‚ + storage_guild_storageadd()ã€storage_guild_storageget() è¿½åŠ ã€‚ + storage_guild_storageaddfromcart()ã€storage_guild_storagegettocart() è¿½åŠ ã€‚ + storage_guild_storageclose()ã€storage_guild_storage_quit() è¿½åŠ ã€‚ + intif.h ä¿®æ£ã€‚ intif.c - intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() C³B - intif_request_guild_storage()Aintif_send_guild_storage() ’ljÁB - intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ’ljÁB - clif.h C³B + intif_send_storage()ã€intif_parse_LoadStorage()ã€intif_parse() ä¿®æ£ã€‚ + intif_request_guild_storage()ã€intif_send_guild_storage() è¿½åŠ ã€‚ + intif_parse_SaveGuildStorage()ã€intif_parse_LoadGuildStorage() è¿½åŠ ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_additem()Aclif_parse_MoveToKafra() C³B - clif_parse_MoveFromKafra()Aclif_parse_MoveToKafraFromCart() C³B - clif_parse_MoveFromKafraToCart()Aclif_parse_CloseKafra() C³B - clif_parse_LoadEndAck() C³B - clif_guildstorageitemlist()Aclif_guildstorageequiplist() ’ljÁB - clif_updateguildstorageamount()Aclif_guildstorageitemadded() ’ljÁB + clif_additem()ã€clif_parse_MoveToKafra() ä¿®æ£ã€‚ + clif_parse_MoveFromKafra()ã€clif_parse_MoveToKafraFromCart() ä¿®æ£ã€‚ + clif_parse_MoveFromKafraToCart()ã€clif_parse_CloseKafra() ä¿®æ£ã€‚ + clif_parse_LoadEndAck() ä¿®æ£ã€‚ + clif_guildstorageitemlist()ã€clif_guildstorageequiplist() è¿½åŠ ã€‚ + clif_updateguildstorageamount()ã€clif_guildstorageitemadded() è¿½åŠ ã€‚ guild.c - guild_broken() C³B + guild_broken() ä¿®æ£ã€‚ script.c - buildin_openstorage()Abuildin_guildstorage() C³B + buildin_openstorage()ã€buildin_guildstorage() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ mob.c - mob_summonslave()Amob_damage() C³B + mob_summonslave()ã€mob_damage() ä¿®æ£ã€‚ atcommand.c - atkillmonster_sub()Aatcommand() C³B + atkillmonster_sub()ã€atcommand() ä¿®æ£ã€‚ -------------------- -//0887 by Ž‚Žqo^.^o +//0887 by ç…åo^.^o -E(db/) - skill_tree.txt C³ +・(db/) + skill_tree.txt ä¿®æ£ -------------------- -//0886 by ‚Ò‚´‚Ü‚ñ +//0886 by ã´ã–ã¾ã‚“ -EƒT[ƒo[snapshot -Eƒtƒ@ƒCƒ‹’²® +・サーãƒãƒ¼snapshot +・ファイル調整 -------------------- //0885 by huge -EƒMƒ‹ƒh‹¤—L‘qŒÉ‚ÌŽÀ‘•Bguildstorage‚ÅŠJ‚¯‚Ü‚·B - Ž©•ª‚ÌŽI‚ÅŽÀŒ±‚Í‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªA‰ß‘a’n‚È‚Ì‚Å‘½l”ƒMƒ‹ƒh‚É‚È‚é‚Æ‚Ç‚¤“®‚‚©•ª‚©‚è‚Ü‚¹‚ñB - (”O‚Ì‚½‚߃oƒbƒNƒAƒbƒv‚Í•K‚¸Žæ‚Á‚Ä‚¨‚¢‚ĉº‚³‚¢) -Eareawarp‚ÅA‘ÎÛƒ}ƒbƒv–¼‚ð"Random"‚É‚·‚é‚ÆA“¯ƒ}ƒbƒv“à‚щƒ“ƒ_ƒ€‚É”ò‚Ԃ悤‚ÉC³B -EGMƒRƒ}ƒ“ƒh‚Ŷ‚«•Ô‚µ‚½‚Æ‚«‚ÉSP‚à‘S‰ñ•œ‚·‚é‚悤‚ÉC³B -EƒfƒBƒ{[ƒVƒ‡ƒ“‚ÌðŒ‚ð‚¿‚å‚Á‚ÆC³B +・ギルド共有倉庫ã®å®Ÿè£…。guildstorageã§é–‹ã‘ã¾ã™ã€‚ + 自分ã®é¯–ã§å®Ÿé¨“ã¯ã—ã¦ã¿ã¾ã—ãŸãŒã€éŽç–Žåœ°ãªã®ã§å¤šäººæ•°ã‚®ãƒ«ãƒ‰ã«ãªã‚‹ã¨ã©ã†å‹•ãã‹åˆ†ã‹ã‚Šã¾ã›ã‚“。 + (念ã®ãŸã‚ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯å¿…ãšå–ã£ã¦ãŠã„ã¦ä¸‹ã•ã„) +・areawarpã§ã€å¯¾è±¡ãƒžãƒƒãƒ—åã‚’"Random"ã«ã™ã‚‹ã¨ã€åŒãƒžãƒƒãƒ—内ã§ãƒ©ãƒ³ãƒ€ãƒ ã«é£›ã¶ã‚ˆã†ã«ä¿®æ£ã€‚ +・GMコマンドã§ç”Ÿãè¿”ã—ãŸã¨ãã«SPも全回復ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・ディボーションã®æ¡ä»¶ã‚’ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚ (char/) int_storage.c - mapif_load_storage() C³B - mapif_parse_SaveStorage() C³B + mapif_load_storage() ä¿®æ£ã€‚ + mapif_parse_SaveStorage() ä¿®æ£ã€‚ inter.c - inter_send_packet_length[] C³B - inter_recv_packet_length[] C³B + inter_send_packet_length[] ä¿®æ£ã€‚ + inter_recv_packet_length[] ä¿®æ£ã€‚ (map/) atcommand.c - @alive,@raise,@raisemap C³B + @alive,@raise,@raisemap ä¿®æ£ã€‚ intif.c - packet_len_table[] C³B - intif_request_storage() C³B - intif_send_storage() C³B - intif_parse_LoadStorage() C³B + packet_len_table[] ä¿®æ£ã€‚ + intif_request_storage() ä¿®æ£ã€‚ + intif_send_storage() ä¿®æ£ã€‚ + intif_parse_LoadStorage() ä¿®æ£ã€‚ map.h - map_session_data state‚Éstorage_flag ’ljÁB + map_session_data stateã«storage_flag è¿½åŠ ã€‚ script.c - buildin_areawarp_sub() C³B - buildin_openstorage() C³B - buildin_guildstorage() ’ljÁB + buildin_areawarp_sub() ä¿®æ£ã€‚ + buildin_openstorage() ä¿®æ£ã€‚ + buildin_guildstorage() è¿½åŠ ã€‚ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ storage.c - account2storage() C³B - storage_storageopen() C³B - storage_storage_save() C³B + account2storage() ä¿®æ£ã€‚ + storage_storageopen() ä¿®æ£ã€‚ + storage_storage_save() ä¿®æ£ã€‚ -------------------- -//0884 by Ž€_ +//0884 by æ»ç¥ž -Eׂ©‚¢ƒoƒOC³B -Ebattle_athena.conf‚Épet_strAzeny_penaltyAresurrection_exp ’ljÁB -E0878‚Ì‹âsŠÖŒW‚̃R[ƒh‚Í‚à‚¤‚¢‚ç‚È‚¢‚Ì‚Å‘S‚ÄíœB -Ezeny_penalty‚ðݒ肵‚ÄŽg‚¤ê‡‚ÍŽè”—¿‚Í‚È‚‚µ‚½•û‚ª‚¢‚¢‚©‚àB -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Åpercentheal‚É‚àPP‚ÆLP‚É‚æ‚é‰ñ•œƒ{[ƒiƒX‚ª•t‚‚悤‚É•ÏXB(‚½‚¾vit‚âintAHPRAMPR‚É‚æ‚é‰ñ•œƒ{[ƒiƒX‚ª•t‚«‚Ü‚¹‚ñB) -E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒgB +・細ã‹ã„ãƒã‚°ä¿®æ£ã€‚ +・battle_athena.confã«pet_strã€zeny_penaltyã€resurrection_exp è¿½åŠ ã€‚ +・0878ã®éŠ€è¡Œé–¢ä¿‚ã®ã‚³ãƒ¼ãƒ‰ã¯ã‚‚ã†ã„らãªã„ã®ã§å…¨ã¦å‰Šé™¤ã€‚ +・zeny_penaltyã‚’è¨å®šã—ã¦ä½¿ã†å ´åˆã¯æ‰‹æ•°æ–™ã¯ãªãã—ãŸæ–¹ãŒã„ã„ã‹ã‚‚。 +・ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã§percenthealã«ã‚‚PPã¨LPã«ã‚ˆã‚‹å›žå¾©ãƒœãƒ¼ãƒŠã‚¹ãŒä»˜ãよã†ã«å¤‰æ›´ã€‚(ãŸã vitã‚„intã€HPRã€MPRã«ã‚ˆã‚‹å›žå¾©ãƒœãƒ¼ãƒŠã‚¹ãŒä»˜ãã¾ã›ã‚“。) +・ã»ã¨ã‚“ã©æœªãƒ†ã‚¹ãƒˆã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) map.c - do_init()Ado_final() C³B + do_init()ã€do_final() ä¿®æ£ã€‚ script.c - buildin_openbank() íœB - buildin_failedrefitem() C³B - storage.h C³B + buildin_openbank() 削除。 + buildin_failedrefitem() ä¿®æ£ã€‚ + storage.h ä¿®æ£ã€‚ storage.c - do_init_bank()Ado_final_bank()Aaccount2bank() íœB - storage_bank()Astorage_readbank() íœB + do_init_bank()ã€do_final_bank()ã€account2bank() 削除。 + storage_bank()ã€storage_readbank() 削除。 skill.c - skill_castend_nodamage_id()Askill_attack() C³B - battle.h C³B + skill_castend_nodamage_id()ã€skill_attack() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_config_read() C³B + battle_calc_pet_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ pc.c - pc_setrestartvalue() C³B + pc_setrestartvalue() ä¿®æ£ã€‚ clif.c - clif_skill_nodamage()Aclif_refine() C³B + clif_skill_nodamage()ã€clif_refine() ä¿®æ£ã€‚ itemdb.c - itemdb_isequip3() C³B + itemdb_isequip3() ä¿®æ£ã€‚ atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ -------------------- //0883 by Kalen -EWarpFXC³ - EƒAƒTƒVƒ“ƒMƒ‹ƒhŽü‚èC³(̂̂܂܂̃Šƒ“ƒN‚¾‚Á‚½‚Ì‚ÅŒ»Ý‚Ìó‘Ô‚ÉC³B) - EYuno‚ÌWarp‘S–ÊŒ©’¼‚µ(YumilLoopC³ASageCastleRandomWarp’ljÁA—ˆã‚³‚ñ‚̉ƒljÁ) - Eƒ‚ƒ“ƒNƒMƒ‹ƒhŽü‚è’ljÁ -ENPCFXC³ - E–XŽqì¬NPC‚ð•Êƒtƒ@ƒCƒ‹‚ÖBˆê•”’ljÁ(ep2.5’ljÁ•ª) - @ŽQlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04 - EƒAƒTƒVƒ“ƒMƒ‹ƒhC³ - E“ñŽŸE“]EŠÖŒWNPCˆê•”’ljÁ(‚±‚ê‚ŃRƒ‚ƒh¬Œ€ê‚Ös‚¯‚Ü‚·) - Eƒ}ƒXƒ^[ƒAƒ‹ƒPƒ~ƒXƒg‚̑䎌C³ - EƒAƒ‹ƒfƒoƒ‰ƒ“‚̈ēà—vˆõ‚ðˆÚ“®&‘䎌C³&ƒCƒ[ƒW’ljÁ - EBBS‚É‚ ‚ª‚Á‚Ä‚¢‚½ƒRƒ‚ƒhƒXƒNƒŠƒvƒg’ljÁ(event_hat“™‚Ö•ªŽU) - EƒRƒ“ƒƒ“ƒNƒGƒXƒgŠÖŒWNPCˆê•”’ljÁ(—ˆã[yuno]Aƒlƒ‹[prontera]) +・Warpè‰²ã€…ä¿®æ£ + ・アサシンギルド周り修æ£(昔ã®ã¾ã¾ã®ãƒªãƒ³ã‚¯ã ã£ãŸã®ã§ç¾åœ¨ã®çŠ¶æ…‹ã«ä¿®æ£ã€‚) + ・Yunoã®Warpå…¨é¢è¦‹ç›´ã—(YumilLoopä¿®æ£ã€SageCastleRandomWarpè¿½åŠ ã€å¥³åŒ»ã•ã‚“ã®å®¶è¿½åŠ ) + ãƒ»ãƒ¢ãƒ³ã‚¯ã‚®ãƒ«ãƒ‰å‘¨ã‚Šè¿½åŠ +・NPCè‰²ã€…ä¿®æ£ + ・帽å作æˆNPCを別ファイルã¸ã€‚ä¸€éƒ¨è¿½åŠ (ep2.5è¿½åŠ åˆ†) +  å‚考Data(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04 + ãƒ»ã‚¢ã‚µã‚·ãƒ³ã‚®ãƒ«ãƒ‰ä¿®æ£ + ・二次è·è»¢è·é–¢ä¿‚NPCä¸€éƒ¨è¿½åŠ (ã“ã‚Œã§ã‚³ãƒ¢ãƒ‰å°åŠ‡å ´ã¸è¡Œã‘ã¾ã™) + ・マスターアルケミストã®å°è©žä¿®æ£ + ・アルデãƒãƒ©ãƒ³ã®æ¡ˆå†…è¦å“¡ã‚’移動&å°è©žä¿®æ£&ã‚¤ãƒ¡ãƒ¼ã‚¸è¿½åŠ + ・BBSã«ã‚ãŒã£ã¦ã„ãŸã‚³ãƒ¢ãƒ‰ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ (event_hatç‰ã¸åˆ†æ•£) + ・コンãƒãƒ³ã‚¯ã‚¨ã‚¹ãƒˆé–¢ä¿‚NPCä¸€éƒ¨è¿½åŠ (女医[yuno]ã€ãƒãƒ«[prontera]) (conf/warp/) npc_warp.txt npc_warp30.txt npc_warp_job.txt (conf/npc/) - npc_event_hat.txt(V‹K) + npc_event_hat.txt(æ–°è¦) npc_job_2nd.txt npc_job_alchemist.txt npc_town_aldebaran.txt @@ -3692,1573 +3692,1573 @@ town_guide‚Ætown_kafra‚ÉŽžŠúŒÀ’è‚Ì•¨‚ªí’“‚µ‚Ä‚µ‚Ü‚¤‚Ì‚ª‹C‚É‚È‚Á‚½‚Ì‚ÅA npc_town_lutie.txt -------------------- -//0882 by ŒÓ’±—– +//0882 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚É0881‘Š“–‚̃AƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\‚̃vƒŒƒtƒBƒbƒNƒX•ÏX - E0881‚̃AƒJƒEƒ“ƒg•Ï”‚̓vƒŒƒtƒBƒbƒNƒX##‚É‚È‚è‚Ü‚µ‚½B - E0881‚̃AƒJƒEƒ“ƒg•Ï”‚Í‘Sƒ[ƒ‹ƒh‚Å‹¤—L‚³‚ê‚Ü‚·B - E•Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG2_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·(16)B -Eƒ[ƒ‹ƒh“à‚̃AƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\’ljÁ - E•Ï”–¼‚̃vƒŒƒtƒBƒbƒNƒX‚Í#‚Å‚·B - E•Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·(16)B - E0881‚Ì‹âsƒXƒNƒŠƒvƒg‚Í‚±‚¿‚ç‚ðŽg—p‚·‚é‚悤‚É‚È‚è‚Ü‚·B - ‚æ‚Á‚ĈȑO‚̃f[ƒ^‚ª‚‚©‚¦‚È‚¢‚Ì‚Å‚ ‚ç‚©‚¶‚߈ø‚«o‚µ‚Ä‚¨‚¢‚Ä‚‚¾‚³‚¢. - E•Ï”ƒf[ƒ^‚Í save/accreg.txt ‚É•Û‘¶‚³‚ê‚Ü‚·B - ‚±‚̃tƒ@ƒCƒ‹–¼‚Í inter_athena.conf ‚Å•ÏX‰Â”\‚Å‚·Bconf_ref.txtŽQÆB +・スクリプトã«0881相当ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå…±æœ‰å¤‰æ•°æ©Ÿèƒ½ã®ãƒ—レフィックス変更 + ・0881ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå¤‰æ•°ã¯ãƒ—レフィックス##ã«ãªã‚Šã¾ã—ãŸã€‚ + ・0881ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå¤‰æ•°ã¯å…¨ãƒ¯ãƒ¼ãƒ«ãƒ‰ã§å…±æœ‰ã•ã‚Œã¾ã™ã€‚ + ・変数ã®å€‹æ•°ã¯mmo.hã®ACCOUNT_REG2_NUMã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™(16)。 +・ワールド内ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå…±æœ‰å¤‰æ•°æ©Ÿèƒ½è¿½åŠ + ・変数åã®ãƒ—レフィックスã¯#ã§ã™ã€‚ + ・変数ã®å€‹æ•°ã¯mmo.hã®ACCOUNT_REG_NUMã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™(16)。 + ・0881ã®éŠ€è¡Œã‚¹ã‚¯ãƒªãƒ—トã¯ã“ã¡ã‚‰ã‚’使用ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ + よã£ã¦ä»¥å‰ã®ãƒ‡ãƒ¼ã‚¿ãŒã¤ã‹ãˆãªã„ã®ã§ã‚らã‹ã˜ã‚引ã出ã—ã¦ãŠã„ã¦ãã ã•ã„. + ・変数データ㯠save/accreg.txt ã«ä¿å˜ã•ã‚Œã¾ã™ã€‚ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«å㯠inter_athena.conf ã§å¤‰æ›´å¯èƒ½ã§ã™ã€‚conf_ref.txtå‚照。 (common/) mmo.h - ACCOUNT_REG_NUM‚ð16‚ÉAACCOUNT_REG_NUM2’ljÁ - struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’ljÁ + ACCOUNT_REG_NUMã‚’16ã«ã€ACCOUNT_REG_NUM2è¿½åŠ + struct mmo_charstatusã«account_reg2_num,account_reg2メンãƒè¿½åŠ (login/) login.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + account_regã‚’å…¨ã¦account_reg2ã«ç½®ãæ›ãˆ (char/) char.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + account_regã‚’å…¨ã¦account_reg2ã«ç½®ãæ›ãˆ inter.c - ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB - inter_accreg*()’ljÁAaccreg_db’ljÁ‚È‚ÇB + ãƒ¯ãƒ¼ãƒ«ãƒ‰å†…ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå¤‰æ•°æ©Ÿèƒ½è¿½åŠ ã€‚ + inter_accreg*()è¿½åŠ ã€accreg_dbè¿½åŠ ãªã©ã€‚ (map/) chrif.c/chrif.h - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ - 0881‚ł̃oƒO‚ðC³ + account_regã‚’å…¨ã¦account_reg2ã«ç½®ãæ›ãˆ + 0881ã§ã®ãƒã‚°ã‚’ä¿®æ£ intif.c/intif.h - ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB + ãƒ¯ãƒ¼ãƒ«ãƒ‰å†…ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå¤‰æ•°æ©Ÿèƒ½è¿½åŠ ã€‚ pc.c/pc.h - pc_*accountreg()=>pc_*accountreg2()‚ÉB - pc_setaccountreg(),pc_readaccountreg()’ljÁB + pc_*accountreg()=>pc_*accountreg2()ã«ã€‚ + pc_setaccountreg(),pc_readaccountreg()è¿½åŠ ã€‚ script.c - buildin_set(),buildin_get_val(),buildin_input()C³ + buildin_set(),buildin_get_val(),buildin_input()ä¿®æ£ (doc/) inter_server_packet.txt - ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”ŠÖŒW + ワールド内アカウント変数関係 conf_ref.txt - accreg_txt’ljÁ + accreg_txtè¿½åŠ -------------------- -//0881 by ŒÓ’±—– - -EƒXƒNƒŠƒvƒg‚ɃAƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\’ljÁ - E•Ï”–¼‚ɃvƒŒƒtƒBƒbƒNƒX#‚ð•t‚¯‚邱‚ƂŃAƒJƒEƒ“ƒg‹¤—L•Ï”‚É‚È‚è‚Ü‚·B - EƒAƒJƒEƒ“ƒg•Ï”‚Í•ÏX‚µ‚½Žž“_‚Å‘SƒT[ƒo[‚Ƀ|ƒXƒg‚³‚ê‚é‚Ì‚Å - •p”É‚É‘‚«Š·‚¦‚é‚ƃT[ƒo[ŠÔ’ÊM‚ª”ì‘剻‚µ‚Ü‚·B - EƒAƒJƒEƒ“ƒg•Ï”‚Í•ÏX‚µ‚½Žž“_i‚»‚µ‚Ä‚»‚ꂪloginŽI‚É“Í‚¢‚½Žž“_j‚Å - account.txt‚É‘‚«o‚³‚ê‚Ü‚·B - EƒOƒ[ƒoƒ‹•Ï”i‰i‘±•Ï”j‚̌”‚ð96‚ÉŒ¸‚炵AŒ¸‚Á‚½32ŒÂ•ª‚ð - ƒAƒJƒEƒ“ƒg•Ï”‚É‚µ‚Ä‚¢‚Ü‚·‚ªAmmo_charstatus‚̃TƒCƒY‚ª - 16000byte‚ð’´‚¦‚È‚¢ŒÀ‚è‘‚â‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·Bƒ0879‚Ì•ÏX‚ðŽQÆ - •Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B - E0878‚Ì‹âs‚ðƒAƒJƒEƒ“ƒg•Ï”‚ðŽg—p‚·‚é‚悤‚ÉC³ - bank.txt‚̃f[ƒ^‚ªŽg‚¦‚È‚‚È‚é‚Ì‚Å‚ ‚ç‚©‚¶‚߈ø‚«o‚µ‚Ä‚¨‚¢‚ĉº‚³‚¢B +//0881 by 胡è¶è˜ + +・スクリプトã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå…±æœ‰å¤‰æ•°æ©Ÿèƒ½è¿½åŠ + ・変数åã«ãƒ—レフィックス#を付ã‘ã‚‹ã“ã¨ã§ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå…±æœ‰å¤‰æ•°ã«ãªã‚Šã¾ã™ã€‚ + ・アカウント変数ã¯å¤‰æ›´ã—ãŸæ™‚点ã§å…¨ã‚µãƒ¼ãƒãƒ¼ã«ãƒã‚¹ãƒˆã•ã‚Œã‚‹ã®ã§ + é »ç¹ã«æ›¸ãæ›ãˆã‚‹ã¨ã‚µãƒ¼ãƒãƒ¼é–“通信ãŒè‚¥å¤§åŒ–ã—ã¾ã™ã€‚ + ・アカウント変数ã¯å¤‰æ›´ã—ãŸæ™‚点(ãã—ã¦ãã‚ŒãŒlogin鯖ã«å±Šã„ãŸæ™‚点)㧠+ account.txtã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚ + ・グãƒãƒ¼ãƒãƒ«å¤‰æ•°ï¼ˆæ°¸ç¶šå¤‰æ•°ï¼‰ã®å€‹æ•°ã‚’96ã«æ¸›ã‚‰ã—ã€æ¸›ã£ãŸ32個分を + アカウント変数ã«ã—ã¦ã„ã¾ã™ãŒã€mmo_charstatusã®ã‚µã‚¤ã‚ºãŒ + 16000byteを超ãˆãªã„é™ã‚Šå¢—ã‚„ã™ã“ã¨ãŒã§ãã¾ã™ã€‚<0879ã®å¤‰æ›´ã‚’å‚ç…§ + 変数ã®å€‹æ•°ã¯mmo.hã®ACCOUNT_REG_NUMã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ・0878ã®éŠ€è¡Œã‚’アカウント変数を使用ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ + bank.txtã®ãƒ‡ãƒ¼ã‚¿ãŒä½¿ãˆãªããªã‚‹ã®ã§ã‚らã‹ã˜ã‚引ã出ã—ã¦ãŠã„ã¦ä¸‹ã•ã„。 (common/) mmo.h - GLOBAL_REG_NUM‚ð96‚ÉAACCOUNT_REG_NUM‚ð’ljÁ - struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’ljÁ + GLOBAL_REG_NUMã‚’96ã«ã€ACCOUNT_REG_NUMã‚’è¿½åŠ + struct mmo_charstatusã«account_reg_num,account_regメンãƒè¿½åŠ (login/) login.c - ƒpƒPƒbƒg2728ˆ—’ljÁ + パケット2728処ç†è¿½åŠ (char/) char.c - ƒpƒPƒbƒg2729,2b10ˆ—’ljÁ + パケット2729,2b10処ç†è¿½åŠ (map/) chrif.c chrif_saveaccountreg(),chrif_accountreg() - (ƒpƒPƒbƒg2b10,2b11ˆ—)’ljÁB + (パケット2b10,2b11処ç†)è¿½åŠ ã€‚ pc.c/pc.h - pc_readaccountreg(),pc_setaccountreg()’ljÁ + pc_readaccountreg(),pc_setaccountreg()è¿½åŠ script.c - buildin_set(),buildin_get_val(),buildin_input()C³ + buildin_set(),buildin_get_val(),buildin_input()ä¿®æ£ (conf/sample/) bank_test.txt - ƒAƒJƒEƒ“ƒg•Ï”Žg—p”Å‚Ì‹âsƒXƒNƒŠƒvƒg + アカウント変数使用版ã®éŠ€è¡Œã‚¹ã‚¯ãƒªãƒ—ト -------------------- -//0880 by Ž€_ +//0880 by æ»ç¥ž -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚𳂵‚ŽÀ‘•‚Æ‚¿‚å‚Á‚Æ‹@”\Šg’£B -Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ŃŒƒxƒ‹•Ê‚ÉŽg‚¦‚éƒAƒCƒeƒ€‚ðskill_require_db.txt‚ÉÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B‚½‚¾ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÅŽg‚¦‚éƒAƒCƒeƒ€‚ÍitemhealApercenthealAsc_startAsc_endˆÈŠO‚Ì•¨‚ª“ü‚Á‚Ä‚¢‚é‚Ƴ‚µ‚“®ì‚µ‚Ü‚¹‚ñB -ƒŒƒxƒ‹5‚Ü‚Å‚Í–{ŽI‚ɇ‚킹‚Ä‚¢‚Ü‚·‚ªÅ‘僌ƒxƒ‹‚ð10‚Ü‚ÅŠg’£‚·‚é‚ƃŒƒxƒ‹6 - ƒ}ƒXƒeƒ‰‚ÌŽÀA7 - ƒ[ƒ„ƒ‹ƒ[ƒŠ[A8 - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽíA9 - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀA10 - ƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚Éݒ肵‚Ä‚¢‚Ü‚·Bskill_db.txt‚ðC³‚·‚ê‚΂±‚ꂪ—LŒø‚É‚È‚è‚Ü‚·B(‚Ç‚±‚ðC³‚·‚é‚©‚à‚í‚©‚ç‚È‚¢l‚Í’ú‚߂邱‚Æ‚Å‚·B) ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚É‚æ‚éƒAƒCƒeƒ€Žg—p‚ÍŽg—pðŒ‚𖳎‹‚µ‚Ü‚·B‚µ‚̓Aƒ‹ƒPƒ~ƒXƒg‚ÉŠó–]‚ª‚Å‚«‚½‚©‚à...(‘½•ª–³—...) -Ebattle_athane.conf‚Éproduce_item_name_inputAproduce_potion_name_inputAmaking_arrow_name_inputAholywater_name_input ’ljÁB -Eƒp[ƒeƒBˆõ‚É‚¾‚¯Žg‚¤ƒXƒLƒ‹‚ƃMƒ‹ƒhˆõ‚É‚¾‚¯Žg‚¤ƒXƒLƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B -E‚»‚Ì‘¼×‚©‚¢C³B +・ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã‚’æ£ã—ã実装ã¨ã¡ã‚‡ã£ã¨æ©Ÿèƒ½æ‹¡å¼µã€‚ +・ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã§ãƒ¬ãƒ™ãƒ«åˆ¥ã«ä½¿ãˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã‚’skill_require_db.txtã«è¨å®šã§ãるよã†ã«ã—ã¾ã—ãŸã€‚ãŸã ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã§ä½¿ãˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã¯itemhealã€percenthealã€sc_startã€sc_end以外ã®ç‰©ãŒå…¥ã£ã¦ã„ã‚‹ã¨æ£ã—ã動作ã—ã¾ã›ã‚“。 +レベル5ã¾ã§ã¯æœ¬é¯–ã«åˆã‚ã›ã¦ã„ã¾ã™ãŒæœ€å¤§ãƒ¬ãƒ™ãƒ«ã‚’10ã¾ã§æ‹¡å¼µã™ã‚‹ã¨ãƒ¬ãƒ™ãƒ«6 - マステラã®å®Ÿã€7 - ãƒãƒ¼ãƒ¤ãƒ«ã‚¼ãƒªãƒ¼ã€8 - イグドラシルã®ç¨®ã€9 - イグドラシルã®å®Ÿã€10 - ãƒãƒ¼ã‚µãƒ¼ã‚¯ãƒãƒ¼ã‚·ãƒ§ãƒ³ã«è¨å®šã—ã¦ã„ã¾ã™ã€‚skill_db.txtã‚’ä¿®æ£ã™ã‚Œã°ã“ã‚ŒãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚(ã©ã“ã‚’ä¿®æ£ã™ã‚‹ã‹ã‚‚ã‚ã‹ã‚‰ãªã„人ã¯è«¦ã‚ã‚‹ã“ã¨ã§ã™ã€‚) ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ã«ã‚ˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ 使用ã¯ä½¿ç”¨æ¡ä»¶ã‚’無視ã—ã¾ã™ã€‚å°‘ã—ã¯ã‚¢ãƒ«ã‚±ãƒŸã‚¹ãƒˆã«å¸Œæœ›ãŒã§ããŸã‹ã‚‚...(多分無ç†...) +・battle_athane.confã«produce_item_name_inputã€produce_potion_name_inputã€making_arrow_name_inputã€holywater_name_input è¿½åŠ ã€‚ +・パーティ員ã«ã ã‘使ã†ã‚¹ã‚ルã¨ã‚®ãƒ«ãƒ‰å“¡ã«ã ã‘使ã†ã‚¹ã‚ルをè¨å®šã§ãるよã†ã«ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) - battle_athane.conf C³B + battle_athane.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - db_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + db_ref.txt ä¿®æ£ã€‚ (db/) - skill_db.txt C³B - skill_require_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ + skill_require_db.txt ä¿®æ£ã€‚ (map/) - map.h C³B - skill.h C³B + map.h ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ skill.c - skill_status_change_timer()Askill_attack()Askill_use_id() C³B - skill_castend_nodamage_id()Askill_castend_damage_id() C³B - skill_castend_id()Askill_castend_pos()Askill_produce_mix() C³B - skill_arrow_create()Askill_check_condition() C³B - skill_status_change_clear()Askill_readdb() C³B + skill_status_change_timer()ã€skill_attack()ã€skill_use_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_castend_pos()ã€skill_produce_mix() ä¿®æ£ã€‚ + skill_arrow_create()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_status_change_clear()ã€skill_readdb() ä¿®æ£ã€‚ mob.c - mobskill_use_id()Amob_changestate() C³B + mobskill_use_id()ã€mob_changestate() ä¿®æ£ã€‚ pc.c - pc_itemheal()Apc_percentheal()Apc_calcstatus() C³B - battle.h C³B + pc_itemheal()ã€pc_percentheal()ã€pc_calcstatus() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_delay_damage()Abattle_damage()Abattle_heal() C³B - battle_get_adelay()Abattle_get_amotion() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack()Abattle_config_read() C³B + battle_delay_damage()ã€battle_damage()ã€battle_heal() ä¿®æ£ã€‚ + battle_get_adelay()ã€battle_get_amotion() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ clif.c - clif_skill_fail() C³B + clif_skill_fail() ä¿®æ£ã€‚ script.c - buildin_sc_start()Abuildin_sc_end() C³B - makefile C³B - --------------------- -//0879 by ŒÓ’±—– - -E‘—MFIFO‚̃oƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚ÌÆŽã«‚ÌC³ - E2048ƒoƒCƒgˆÈã‚̃pƒPƒbƒg‚ð‘—‚é‚Æ‚«AFIFO‚ª–ž”t‚É‹ß‚¯‚ê‚Î - ƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚É‚æ‚é•s³ƒAƒNƒZƒX‚ª‹N‚±‚Á‚Ä‚¢‚½–â‘èC³B - EFIFO‚ª–ž”t‚É‹ß‚¢‚Æ‚«WFIFOSET‚³‚ꂽƒpƒPƒbƒg‚ªŽÌ‚Ä‚ç‚ê‚Ä‚¢‚½–â‘èC³B - EFIFO‚ªƒI[ƒo[ƒtƒ[‚·‚éê‡AŽ©“®“I‚ÉFIFO‚ðŠg’£‚·‚é‚悤‚É‚µ‚½B - i‚½‚¾‚µAˆê“x‚ÉWFIFOSET‚·‚éƒpƒPƒbƒg‚ª16384ƒoƒCƒgˆÈ‰º‚Ɖ¼’肵‚Ä‚¢‚éj - Eusocket: ? wdata expanded to ???? bytesv‚ÍFIFO‚ªŠg’£‚³‚ꂽ‚Æ‚«‚É - ‚ł郃O‚¾‚ªAƒGƒ‰[‚Å‚Í‚È‚AƒpƒPƒbƒg‚ͳ‚µ‚‘—M‚³‚ê‚éB - Eusocket: ? wdata lost !!v‚̓pƒPƒbƒg‚ª‘rŽ¸‚µ‚½‚±‚Æ‚ð•\‚·ƒƒO‚ÅA - ƒGƒ‰[‚Å‚ ‚邪64KB‚ð’´‚¦‚é’´‹‘å‚ȃpƒPƒbƒg‚ðWFIFOSET‚µ‚È‚¢‚Æo‚È‚¢B - E16384ƒoƒCƒg‚ð’´‚¦‚éƒpƒPƒbƒg‚ðWFIFOSET‚·‚é‚ƃGƒ‰[ƒƒbƒZ[ƒW‚È‚µ‚ÉA - •s³ƒAƒNƒZƒX‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚é‚Ì‚ÅA’´‚¦‚È‚¢‚悤‚É‚·‚邱‚ÆB + buildin_sc_start()ã€buildin_sc_end() ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ + +-------------------- +//0879 by 胡è¶è˜ + +・é€ä¿¡FIFOã®ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã®è„†å¼±æ€§ã®ä¿®æ£ + ・2048ãƒã‚¤ãƒˆä»¥ä¸Šã®ãƒ‘ケットをé€ã‚‹ã¨ãã€FIFOãŒæº€æ¯ã«è¿‘ã‘れ㰠+ ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã«ã‚ˆã‚‹ä¸æ£ã‚¢ã‚¯ã‚»ã‚¹ãŒèµ·ã“ã£ã¦ã„ãŸå•é¡Œä¿®æ£ã€‚ + ・FIFOãŒæº€æ¯ã«è¿‘ã„ã¨ãWFIFOSETã•ã‚ŒãŸãƒ‘ケットãŒæ¨ã¦ã‚‰ã‚Œã¦ã„ãŸå•é¡Œä¿®æ£ã€‚ + ・FIFOãŒã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã™ã‚‹å ´åˆã€è‡ªå‹•çš„ã«FIFOã‚’æ‹¡å¼µã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + (ãŸã ã—ã€ä¸€åº¦ã«WFIFOSETã™ã‚‹ãƒ‘ケットãŒ16384ãƒã‚¤ãƒˆä»¥ä¸‹ã¨ä»®å®šã—ã¦ã„る) + ・「socket: ? wdata expanded to ???? bytesã€ã¯FIFOãŒæ‹¡å¼µã•ã‚ŒãŸã¨ãã« + ã§ã‚‹ãƒã‚°ã ãŒã€ã‚¨ãƒ©ãƒ¼ã§ã¯ãªãã€ãƒ‘ケットã¯æ£ã—ãé€ä¿¡ã•ã‚Œã‚‹ã€‚ + ・「socket: ? wdata lost !!ã€ã¯ãƒ‘ケットãŒå–ªå¤±ã—ãŸã“ã¨ã‚’表ã™ãƒã‚°ã§ã€ + エラーã§ã‚ã‚‹ãŒ64KBを超ãˆã‚‹è¶…巨大ãªãƒ‘ケットをWFIFOSETã—ãªã„ã¨å‡ºãªã„。 + ・16384ãƒã‚¤ãƒˆã‚’超ãˆã‚‹ãƒ‘ケットをWFIFOSETã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãªã—ã«ã€ + ä¸æ£ã‚¢ã‚¯ã‚»ã‚¹ãŒèµ·ã“ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã®ã§ã€è¶…ãˆãªã„よã†ã«ã™ã‚‹ã“ã¨ã€‚ (common/) socket.c /socket.h - WFIFOSET()‚ðƒ}ƒNƒ‚©‚çŠÖ”‚É•ÏX - realloc_fifo()’ljÁ + WFIFOSET()をマクãƒã‹ã‚‰é–¢æ•°ã«å¤‰æ›´ + realloc_fifo()è¿½åŠ -EƒT[ƒo[ŠÔ’ÊMFIFO‚̃oƒbƒtƒ@ƒTƒCƒY‚ð‘å‚«‚‚µ‚½ - E‘å—ʂ̃f[ƒ^‚ª’ÊM‚³‚ꂽ‚Æ‚«‚Ƀf[ƒ^ˆ—’x‰„‚ª‹N‚«‚É‚‚‚·‚邽‚ßB - Eƒƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚½B(‚¬‚肬‚è‚Ìl‚Í65536‚ÉÝ’è‚·‚é‚ÆŒ³’Ê‚è‚É‚È‚é) - EƒT[ƒo[ŠÔ’ÊM‚ÌFIFOƒTƒCƒY‚Í mmo.h ‚Å’è‹`‚³‚ê‚Ä‚¢‚éB - •ÏX‚·‚éꇂÍ64KB(65536)ˆÈã‚Ì’l‚É‚·‚邱‚ÆB - ‘å‚«‚‚·‚é‚Æ‹‘åƒf[ƒ^ŽóMŽž‚Ì’x‰„‚ªŒ¸‚邪ƒƒ‚ƒŠ‚𑽂Žg‚¤B - E@kickallŽž‚ȂǂɃf[ƒ^‘—M‚ªŒƒ‚µ‚‚È‚é‚Ì‚Å•ÏX‚µ‚½‚ªA - “¯ŽžƒƒOƒCƒ“l”‚ª‚È‚¢‚Æ‘‚₵‚Ä‚àˆÓ–¡‚Í–³‚¢B +・サーãƒãƒ¼é–“通信FIFOã®ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚ºã‚’大ããã—㟠+ ・大é‡ã®ãƒ‡ãƒ¼ã‚¿ãŒé€šä¿¡ã•ã‚ŒãŸã¨ãã«ãƒ‡ãƒ¼ã‚¿å‡¦ç†é…延ãŒèµ·ãã«ããã™ã‚‹ãŸã‚。 + ・メモリ使用é‡ãŒå¢—ãˆãŸã€‚(ãŽã‚ŠãŽã‚Šã®äººã¯65536ã«è¨å®šã™ã‚‹ã¨å…ƒé€šã‚Šã«ãªã‚‹) + ・サーãƒãƒ¼é–“通信ã®FIFOサイズ㯠mmo.h ã§å®šç¾©ã•ã‚Œã¦ã„る。 + 変更ã™ã‚‹å ´åˆã¯64KB(65536)以上ã®å€¤ã«ã™ã‚‹ã“ã¨ã€‚ + 大ããã™ã‚‹ã¨å·¨å¤§ãƒ‡ãƒ¼ã‚¿å—信時ã®é…延ãŒæ¸›ã‚‹ãŒãƒ¡ãƒ¢ãƒªã‚’多ã使ã†ã€‚ + ・@kickall時ãªã©ã«ãƒ‡ãƒ¼ã‚¿é€ä¿¡ãŒæ¿€ã—ããªã‚‹ã®ã§å¤‰æ›´ã—ãŸãŒã€ + åŒæ™‚ãƒã‚°ã‚¤ãƒ³äººæ•°ãŒå°‘ãªã„ã¨å¢—ã‚„ã—ã¦ã‚‚æ„味ã¯ç„¡ã„。 (common/) mmo.h - FIFOSIZE_SERVERLINKƒ}ƒNƒ’ljÁB + FIFOSIZE_SERVERLINKマクãƒè¿½åŠ 。 (login/) login.c - 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + 2710パケットã§realloc_fifo()を呼ã¶ã‚ˆã†ã« (char/) char.c - 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É - check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + 2af8パケットã§realloc_fifo()を呼ã¶ã‚ˆã†ã« + check_connect_login_server()ã§realloc_fifo()を呼ã¶ã‚ˆã†ã« (map/) chrif.c - check_connect_char_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + check_connect_char_server()ã§realloc_fifo()を呼ã¶ã‚ˆã†ã« -------------------- //0878 by huge -EƒJƒvƒ‰‹âsƒT[ƒrƒXB - Ž©•ª‚ÌŽI‚ÅŽÀ‘•‚µ‚Ä‚½‚ñ‚Å‚·‚ªAˆÓŠO‚ÆDŠ´G‚¾‚Á‚½‚Ì‚Åo‚µ‚Ä‚Ý‚Ü‚·B - NPCscript‚ÅAopenbank(0);‚Å—a‹àŠz‚ð•Ô‚µ‚ÄA’†‚É”Žš‚ð“ü‚ê‚é‚Æo‚µ“ü‚ꂵ‚Ü‚·B - Ú‚µ‚‚̓Tƒ“ƒvƒ‹‚𓯕•‚µ‚½‚Ì‚ÅA‚»‚ê‚ðŽQÆB +・カプラ銀行サービス。 + 自分ã®é¯–ã§å®Ÿè£…ã—ã¦ãŸã‚“ã§ã™ãŒã€æ„外ã¨å¥½æ„Ÿè§¦ã ã£ãŸã®ã§å‡ºã—ã¦ã¿ã¾ã™ã€‚ + NPCscriptã§ã€openbank(0);ã§é 金é¡ã‚’è¿”ã—ã¦ã€ä¸ã«æ•°å—を入れるã¨å‡ºã—入れã—ã¾ã™ã€‚ + 詳ã—ãã¯ã‚µãƒ³ãƒ—ルをåŒå°ã—ãŸã®ã§ã€ãれをå‚照。 (common/) mmo.h - struct bank ’ljÁB + struct bank è¿½åŠ ã€‚ (map/) map.c - do_final(),do_init() C³B + do_final(),do_init() ä¿®æ£ã€‚ script.c - buildin_openbank() ’ljÁB + buildin_openbank() è¿½åŠ ã€‚ storage.c storage.h - ƒOƒ[ƒoƒ‹•Ï”’ljÁB - do_init_bank(),do_final_bank(),account2bank() ’ljÁB - storage_bank(),storage_readbank() ’ljÁB + ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°è¿½åŠ 。 + do_init_bank(),do_final_bank(),account2bank() è¿½åŠ ã€‚ + storage_bank(),storage_readbank() è¿½åŠ ã€‚ -------------------- -//0877 by ŒÓ’±—– +//0877 by 胡è¶è˜ -EloginŽI‚̃AƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚ªƒlƒbƒgƒ}ƒXƒN•\‹L‚ɑΉž - 192.168.0.0/24 ‚â 192.168.0.0/255.255.0.0 ‚Æ‚¢‚Á‚½•\‹L‚ɑΉžB -Ebattle_athena.conf‚ÉGM‚ª–³ðŒ‚Å‘•”õ•i‚ð‘•”õ‚Å‚«‚é• - –³ðŒ‚ŃXƒLƒ‹‚ðŽg—p‚Å‚«‚éÝ’è’ljÁ - ‚±‚ê‚ç‚̓fƒoƒO—p‚È‚Ì‚Å“®ì‚É•s“s‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +・login鯖ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ãŒãƒãƒƒãƒˆãƒžã‚¹ã‚¯è¡¨è¨˜ã«å¯¾å¿œ + 192.168.0.0/24 ã‚„ 192.168.0.0/255.255.0.0 ã¨ã„ã£ãŸè¡¨è¨˜ã«å¯¾å¿œã€‚ +・battle_athena.confã«GMãŒç„¡æ¡ä»¶ã§è£…å‚™å“を装備ã§ãる& + ç„¡æ¡ä»¶ã§ã‚¹ã‚ルを使用ã§ãã‚‹è¨å®šè¿½åŠ + ã“れらã¯ãƒ‡ãƒã‚°ç”¨ãªã®ã§å‹•ä½œã«ä¸éƒ½åˆãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 (login/) login.c - check_ip()C³,check_ipmask()’ljÁ + check_ip()ä¿®æ£,check_ipmask()è¿½åŠ (map/) battle.c/battle.h - battle_config‚Égm_allequip,gm_skilluncond’ljÁ - battle_config_read()C³X + battle_configã«gm_allequip,gm_skilluncondè¿½åŠ + battle_config_read()ä¿®æ£æ›´ skill.c - skill_check_conditio()C³ + skill_check_conditio()ä¿®æ£ pc.c - pc_isequp()C³ + pc_isequp()ä¿®æ£ (doc/) conf_ref.txt - allow•ÏXAgm_all_equipmentAgm_skill_unconditional’ljÁ + allow変更ã€gm_all_equipmentã€gm_skill_unconditionalè¿½åŠ -------------------- -//0876 by Ž€_ +//0876 by æ»ç¥ž -Eׂ©‚¢ƒoƒOC³B -E@ƒRƒ}ƒ“ƒh‚ɃeƒXƒg‚ׂ̈ɓü‚ê‚Ä‚¢‚½•¨‚ª“ü‚Á‚Ä‚¢‚½‚Ì‚ÅC³B -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽË’ö‚ð5‚©‚ç4‚ÉC³(–{ŽIŽË’ö‚Í•s–¾)‚ƃŠƒUƒŒƒNƒVƒ‡ƒ“‚ª–³‘®«‚¾‚Á‚½‚̂𹑮«‚ÉC³B +・細ã‹ã„ãƒã‚°ä¿®æ£ã€‚ +・@コマンドã«ãƒ†ã‚¹ãƒˆã®ç‚ºã«å…¥ã‚Œã¦ã„ãŸç‰©ãŒå…¥ã£ã¦ã„ãŸã®ã§ä¿®æ£ã€‚ +・ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ«ã®å°„程を5ã‹ã‚‰4ã«ä¿®æ£(本鯖射程ã¯ä¸æ˜Ž)ã¨ãƒªã‚¶ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãŒç„¡å±žæ€§ã ã£ãŸã®ã‚’è–属性ã«ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (map/) mob.c - mob_catch_delete()Amob_stop_walking() C³B + mob_catch_delete()ã€mob_stop_walking() ä¿®æ£ã€‚ storage.c - storage_additem() C³B + storage_additem() ä¿®æ£ã€‚ pc.c - pc_damage()Apc_stop_walking() C³B + pc_damage()ã€pc_stop_walking() ä¿®æ£ã€‚ clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ battle.c - battle_calc_magic_attack() C³B + battle_calc_magic_attack() ä¿®æ£ã€‚ skill.c - skill_check_condition() C³B - atcommand.c C³B + skill_check_condition() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ -------------------- -//0875 by ŒÓ’±—– +//0875 by 胡è¶è˜ -Eparty_share_level‚ðinter_athena.conf‚Ɉڂµ‚½ - (ƒp[ƒeƒBŠÖ˜A‚̈—‚ÌŠÇŠ‚ªinterŽI‚Ì‚½‚ß) -Einter_athena.conf‚Éinter_log_file€–ڒljÁ -EƒMƒ‹ƒhì¬/‰ðŽU/éè—Ì/é”jŠü‚ªƒƒO‚ÉŽc‚é‚悤‚É -EƒMƒ‹ƒh‰ðŽUŽž‚Ƀƒ‚ƒŠƒŠ[ƒN‚µ‚Ä‚¢‚½–â‘è‚ðC³ +・party_share_levelã‚’inter_athena.confã«ç§»ã—㟠+ (パーティ関連ã®å‡¦ç†ã®ç®¡è½„ãŒinter鯖ã®ãŸã‚) +・inter_athena.confã«inter_log_fileé …ç›®è¿½åŠ +・ギルド作æˆ/解散/城å é ˜/åŸŽç ´æ£„ãŒãƒã‚°ã«æ®‹ã‚‹ã‚ˆã†ã« +・ギルド解散時ã«ãƒ¡ãƒ¢ãƒªãƒªãƒ¼ã‚¯ã—ã¦ã„ãŸå•é¡Œã‚’ä¿®æ£ (char/) char.c/char.h - party_share_levelŠÖ˜A + party_share_level関連 (inter/) inter.c/inter.h - party_share_level / inter_log_file ŠÖ˜A - ƒƒOo—Í—p‚Éinter_log()’ljÁ + party_share_level / inter_log_file 関連 + ãƒã‚°å‡ºåŠ›ç”¨ã«inter_log()è¿½åŠ int_guild.c - ì¬/‰ðŽU/éè—Ì/é”jŠü‚ðƒƒO‚Éo—Í - ƒƒ‚ƒŠƒŠ[ƒNC³ + 作æˆ/解散/城å é ˜/åŸŽç ´æ£„ã‚’ãƒã‚°ã«å‡ºåŠ› + ãƒ¡ãƒ¢ãƒªãƒªãƒ¼ã‚¯ä¿®æ£ (doc/) conf_ref.txt - C³ + ä¿®æ£ -EƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg“Y•t‚È‚Ç - EŽ©ŒÈÓ”C•Úׂȉðà–³‚µAŽ¿–₳‚ê‚Ä‚àƒXƒ‹[‚·‚é‰Â”\«—L‚è - EƒGƒfƒBƒ^‚ÅŠJ‚¢‚½‚ç‚µà–¾—L‚è - ECGIÝ’u‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ +・サーãƒãƒ¼çŠ¶æ…‹ç¢ºèªç”¨CGIスクリプト添付ãªã© + ・自己責任&詳細ãªè§£èª¬ç„¡ã—ã€è³ªå•ã•ã‚Œã¦ã‚‚スルーã™ã‚‹å¯èƒ½æ€§æœ‰ã‚Š + ・エディタã§é–‹ã„ãŸã‚‰å°‘ã—説明有り + ・CGIè¨ç½®ã®åŸºæœ¬ã•ãˆã‚ã‹ã‚Œã°å•é¡Œãªã„ã¯ãš (tool/cgi/) serverstatus.cgi - ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg + サーãƒãƒ¼çŠ¶æ…‹ç¢ºèªç”¨CGIスクリプト addaccount.cgi - à–¾C³ + èª¬æ˜Žä¿®æ£ -------------------- //0874 by Kalen -EWhiteDayƒCƒxƒ“ƒg’ljÁ - conf/npc/npc_event_whiteday.txt(V‹K) - ‚½‚¾A‚¨‰ÙŽq”„‚Á‚Ă邾‚¯‚Ý‚½‚¢cGM‚ª‚È‚É‚â‚é‚Ì‚©‚Í’m‚è‚Ü‚¹‚ñ‚ªB - sakRO‚Ì‚Ù‚¤‚ł̓zƒƒCƒgƒ`ƒ‡ƒR‚炵‚«‚à‚Ì‚ª’ljÁ‚³‚ꂽ‚Ì‚É - jRO‚ŒljÁ‚³‚ꂽ‚Ì‚Í—’d“P‹Žƒpƒbƒ`‚Ì‚Ý(*L„t`;)c - -EAlchemistƒMƒ‹ƒh‚Å“û”«A»‘¢‘‚ð•Ï‚¦‚é‚悤‚É - conf/npc/npc_job_alchemist.txt(V‹K) - “]EƒNƒGƒXƒg‚ª•ª‚©‚ç‚È‚©‚Á‚½‚̂ʼn·‚ß‚Ä‚¢‚Ü‚µ‚½‚ª - ”ƒ‚¦‚È‚¢‚Æ•s•Ö‚Æ•·‚¢‚½‚Ì‚ÅA’ljÁ - -EõFNPCŽÀ‘• - conf/npc/npc_event_dye.txt(XV) - ”¯Œ^•ÏX‚ªsakRO‚É—ˆ‚½‚炵‚¢‚Ì‚Å - ‚È‚ñ‚Æ‚È[‚XV - --------------------- -//0873 by Ž€_ - -E@ƒRƒ}ƒ“ƒhitem2‚Ækillmonster ’ljÁB -EƒXƒNƒŠƒvƒggetitem2‚Ækillmonsterall ’ljÁB -E–î쬂Åì‚ç‚ꂽ–î‚໑¢ŽÒ‚Ì–¼‘O‚ª•t‚‚悤‚ÉC³B -Ebattle_athena.conf‚Émonster_class_change_full_recover’ljÁB -E‘•”õƒXƒNƒŠƒvƒg‚ÉbWeaponComaEle‚ÆbWeaponComaRace ’ljÁB -E‚µŠÔˆá‚¢‚ª‚ ‚Á‚½ƒ_ƒ[ƒWŒvŽZŽ®C³B -EbInfiniteEndure‚̈—‚ðƒCƒ“ƒfƒ…ƒA•\Ž¦‚È‚µ‚Å“à•”ˆ—‚·‚é‚悤‚É•ÏXB -EƒI[ƒgƒXƒyƒ‹‚Åcastend_nodamage_id()‚ðŒÄ‚ÔƒXƒLƒ‹‚àŽg—p‚Å‚«‚é‚悤‚ÉC³B -E‚»‚Ì‘¼×‚©‚¢C³‚ƃoƒOC³B -E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒg‚Ȃ̂ŃoƒO‚ª‚ ‚Á‚½‚ç•ñ‚¨Šè‚¢‚µ‚Ü‚·B +・WhiteDayã‚¤ãƒ™ãƒ³ãƒˆè¿½åŠ + conf/npc/npc_event_whiteday.txt(æ–°è¦) + ãŸã ã€ãŠè“å売ã£ã¦ã‚‹ã ã‘ã¿ãŸã„…GMãŒãªã«ã‚„ã‚‹ã®ã‹ã¯çŸ¥ã‚Šã¾ã›ã‚“ãŒã€‚ + sakROã®ã»ã†ã§ã¯ãƒ›ãƒ¯ã‚¤ãƒˆãƒãƒ§ã‚³ã‚‰ã—ãã‚‚ã®ãŒè¿½åŠ ã•ã‚ŒãŸã®ã« + jROã§è¿½åŠ ã•ã‚ŒãŸã®ã¯é››å£‡æ’¤åŽ»ãƒ‘ッãƒã®ã¿(*´д`;)… + +・Alchemistギルドã§ä¹³é‰¢ã€è£½é€ 書を変ãˆã‚‹ã‚ˆã†ã« + conf/npc/npc_job_alchemist.txt(æ–°è¦) + 転è·ã‚¯ã‚¨ã‚¹ãƒˆãŒåˆ†ã‹ã‚‰ãªã‹ã£ãŸã®ã§æ¸©ã‚ã¦ã„ã¾ã—ãŸãŒ + è²·ãˆãªã„ã¨ä¸ä¾¿ã¨èžã„ãŸã®ã§ã€è¿½åŠ + +・染色NPC実装 + conf/npc/npc_event_dye.txt(æ›´æ–°) + 髪型変更ãŒsakROã«æ¥ãŸã‚‰ã—ã„ã®ã§ + ãªã‚“ã¨ãªãƒ¼ãæ›´æ–° + +-------------------- +//0873 by æ»ç¥ž + +・@コマンドitem2ã¨killmonster è¿½åŠ ã€‚ +・スクリプトgetitem2ã¨killmonsterall è¿½åŠ ã€‚ +・矢作æˆã§ä½œã‚‰ã‚ŒãŸçŸ¢ã‚‚è£½é€ è€…ã®åå‰ãŒä»˜ãよã†ã«ä¿®æ£ã€‚ +・battle_athena.confã«monster_class_change_full_recoverè¿½åŠ ã€‚ +・装備スクリプトã«bWeaponComaEleã¨bWeaponComaRace è¿½åŠ ã€‚ +・少ã—é–“é•ã„ãŒã‚ã£ãŸãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—å¼ä¿®æ£ã€‚ +・bInfiniteEndureã®å‡¦ç†ã‚’インデュア表示ãªã—ã§å†…部処ç†ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・オートスペルã§castend_nodamage_id()を呼ã¶ã‚¹ã‚ルも使用ã§ãるよã†ã«ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã¨ãƒã‚°ä¿®æ£ã€‚ +・ã»ã¨ã‚“ã©æœªãƒ†ã‚¹ãƒˆãªã®ã§ãƒã‚°ãŒã‚ã£ãŸã‚‰å ±å‘ŠãŠé¡˜ã„ã—ã¾ã™ã€‚ (conf/) - help.txt C³B - atcommand_athena.conf C³B - battle_athena.conf C³B - char_athena.conf C³B + help.txt ä¿®æ£ã€‚ + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ + char_athena.conf ä¿®æ£ã€‚ (db/) - const.txt C³B - item_db.txt C³B + const.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B - script_ref.txt C³B - conf_ref.txt C³B + item_bonus.txt ä¿®æ£ã€‚ + script_ref.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B - skill.h C³B + map_quit() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id()Askill_status_change_clear() C³B - skill_castend_id()Askill_castend_pos()Askill_arrow_create() C³B - skill_status_change_timer() C³B + skill_castend_nodamage_id()ã€skill_status_change_clear() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_castend_pos()ã€skill_arrow_create() ä¿®æ£ã€‚ + skill_status_change_timer() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus2()Apc_equipitem() C³B - pc_unequipitem()Apc_damage() C³B - battle.h C³B + pc_calcstatus()ã€pc_bonus2()ã€pc_equipitem() ä¿®æ£ã€‚ + pc_unequipitem()ã€pc_damage() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_get_dmotion()Abattle_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_magic_attack()Abattle_config_read() C³B + battle_get_dmotion()ã€battle_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_config_read() ä¿®æ£ã€‚ clif.c - clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() C³B - clif_skill_damage2() C³B - itemdb.h C³B + clif_parse_LoadEndAck()ã€clif_damage()ã€clif_skill_damage() ä¿®æ£ã€‚ + clif_skill_damage2() ä¿®æ£ã€‚ + itemdb.h ä¿®æ£ã€‚ itemdb.c - itemdb_isequip3() ’ljÁB - mob.h C³B + itemdb_isequip3() è¿½åŠ ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_delay_item_drop()Amob_damage()Amob_changestate() C³B - mob_class_change()Amob_delete()Amob_catch_delete() C³B + mob_delay_item_drop()ã€mob_damage()ã€mob_changestate() ä¿®æ£ã€‚ + mob_class_change()ã€mob_delete()ã€mob_catch_delete() ä¿®æ£ã€‚ script.c - buildin_getitem() C³B - buildin_killmonsterall_sub()Abuildin_killmonsterall() ’ljÁB - atcommand.h C³B + buildin_getitem() ä¿®æ£ã€‚ + buildin_killmonsterall_sub()ã€buildin_killmonsterall() è¿½åŠ ã€‚ + atcommand.h ä¿®æ£ã€‚ atcommand.c - atcommand() C³B - atkillmonster_sub() ’ljÁB + atcommand() ä¿®æ£ã€‚ + atkillmonster_sub() è¿½åŠ ã€‚ -------------------- //0872 by ElFinLazz -EƒXƒLƒ‹ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[C³ -EƒXƒLƒ‹ƒMƒ€ƒ\ƒoƒ“ƒOƒhƒ“ƒ{ƒ‹ƒIƒbƒl‹ïŒ» -EƒXƒLƒ‹ƒAƒuƒ‰ƒJƒ_ƒu‚È‚ç‹`ƒR[ƒ}‹ïŒ» -EƒR[ƒ}‚Ì•ŠíƒIƒvƒVƒ‡ƒ“’ljÁ(Ží‘°, 番—¦) -EƒIƒvƒVƒ‡ƒ“à–¾’ljÁ +・スã‚ルãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ä¿®æ£ +・スã‚ルギムソãƒãƒ³ã‚°ãƒ‰ãƒ³ãƒœãƒ«ã‚ªãƒƒãƒå…·ç¾ +・スã‚ルアブラカダブãªã‚‰ç¾©ã‚³ãƒ¼ãƒžå…·ç¾ +・コーマã®æ¦å™¨ã‚ªãƒ—ã‚·ãƒ§ãƒ³è¿½åŠ (種æ—, åƒåˆ†çŽ‡) +ãƒ»ã‚ªãƒ—ã‚·ãƒ§ãƒ³èª¬æ˜Žè¿½åŠ (db/) - const.txt C³. + const.txt ä¿®æ£. (doc/) - item_bonus.txt C³. + item_bonus.txt ä¿®æ£. (map/) - map.h C³. + map.h ä¿®æ£. skill.c - skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() C³. + skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() ä¿®æ£. pc.c - pc_calcstatus(), pc_bonus2(), pc_gainexp() C³. + pc_calcstatus(), pc_bonus2(), pc_gainexp() ä¿®æ£. battle.c - battle_weapon_attack() C³. + battle_weapon_attack() ä¿®æ£. -------------------- -//0871 by Ž€_ +//0871 by æ»ç¥ž -E0869‚̃oƒOC³B -Echar_athena.conf‚Ælogin_athena.conf‚É€–ڒljÁB(ƒLƒƒƒ‰ŽI‚ƃƒOƒCƒ“ŽI‚̃ƒOƒtƒ@ƒCƒ‹‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½BƒfƒtƒHƒ‹ƒg‚Ålog/ƒtƒHƒ‹ƒ_[‚É“ü‚é‚Ì‚ÅlogƒtƒHƒ‹ƒ_[‚ðì‚é•K—v‚ª‚ ‚è‚Ü‚·B) -EƒGƒiƒW[ƒR[ƒg‚̈—‚ð‚µC³Bƒ‚ƒ“ƒXƒ^[‚ªŽg‚Á‚½ê‡‚̓XƒLƒ‹ƒŒƒxƒ‹*6%‚Ì•¨—ƒ_ƒ[ƒW‚ðŒ¸‚ç‚·‚悤‚É•ÏXB -E•ŠíˆÈŠO‚Ì•¨‚ł໑¢ŽÒ‚Ì–¼‘O‚ð•\Ž¦‚·‚é‚悤‚É•ÏXB(–{ŽI‚ł̓vƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX‚ÆŽèì‚èƒ`ƒ‡ƒRƒŒƒbƒgˆÈŠO‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñ‚ªƒpƒPƒbƒg‚Í‚ ‚邱‚Æ‚¾‚µ“ü‚ê‚Ä‚Ý‚Ü‚µ‚½B) -E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B -E@ƒRƒ}ƒ“ƒhˆê‚‚ƃXƒNƒŠƒvƒgˆê‚‚ð’ljÁ‚µ‚Ü‚µ‚½‚ªà–¾‚ÍŒã‚̃pƒbƒ`‚Å‘‚«‚Ü‚·B +・0869ã®ãƒã‚°ä¿®æ£ã€‚ +・char_athena.confã¨login_athena.confã«é …ç›®è¿½åŠ ã€‚(ã‚ャラ鯖ã¨ãƒã‚°ã‚¤ãƒ³é¯–ã®ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’変ãˆã‚‹ã“ã¨ãŒã§ãるよã†ã«ã—ã¾ã—ãŸã€‚デフォルトã§log/フォルダーã«å…¥ã‚‹ã®ã§logフォルダーを作る必è¦ãŒã‚ã‚Šã¾ã™ã€‚) +・エナジーコートã®å‡¦ç†ã‚’å°‘ã—ä¿®æ£ã€‚モンスターãŒä½¿ã£ãŸå ´åˆã¯ã‚¹ã‚ルレベル*6%ã®ç‰©ç†ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’減らã™ã‚ˆã†ã«å¤‰æ›´ã€‚ +・æ¦å™¨ä»¥å¤–ã®ç‰©ã§ã‚‚è£½é€ è€…ã®åå‰ã‚’表示ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(本鯖ã§ã¯ãƒ—レゼントボックスã¨æ‰‹ä½œã‚Šãƒãƒ§ã‚³ãƒ¬ãƒƒãƒˆä»¥å¤–ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“ãŒãƒ‘ケットã¯ã‚ã‚‹ã“ã¨ã ã—入れã¦ã¿ã¾ã—ãŸã€‚) +・ãã®ä»–スã‚ル関係ã®ç´°ã‹ã„ä¿®æ£ã€‚ +・@コマンド一ã¤ã¨ã‚¹ã‚¯ãƒªãƒ—ト一ã¤ã‚’è¿½åŠ ã—ã¾ã—ãŸãŒèª¬æ˜Žã¯å¾Œã®ãƒ‘ッãƒã§æ›¸ãã¾ã™ã€‚ (conf/) - char_athena.conf C³B - login_athena.conf C³B + char_athena.conf ä¿®æ£ã€‚ + login_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (login/) login.c - parse_login()Alogin_config_read()Alogin_log() C³B + parse_login()ã€login_config_read()ã€login_log() ä¿®æ£ã€‚ (char/) - char.h C³B + char.h ä¿®æ£ã€‚ char.c - char_config_read()Amake_new_char()Aparse_char() C³B - int_party.c C³B - int_storage.c C³B - int_guild.c C³B - int_pet.c C³B + char_config_read()ã€make_new_char()ã€parse_char() ä¿®æ£ã€‚ + int_party.c ä¿®æ£ã€‚ + int_storage.c ä¿®æ£ã€‚ + int_guild.c ä¿®æ£ã€‚ + int_pet.c ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ skill.c - skill_status_change_start()Askill_additional_effect() C³B - skill_castend_nodamage_id()Askill_check_condition() C³B - skill_status_change_clear()Askill_produce_mix() C³B - skill_status_change_timer() C³B + skill_status_change_start()ã€skill_additional_effect() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_status_change_clear()ã€skill_produce_mix() ä¿®æ£ã€‚ + skill_status_change_timer() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() C³B + pc_calcstatus()ã€pc_insert_card()ã€pc_additem()ã€pc_cart_additem() ä¿®æ£ã€‚ storage.c - storage_additem() C³B + storage_additem() ä¿®æ£ã€‚ battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B + battle_get_adelay()ã€battle_get_amotion()ã€battle_calc_damage() ä¿®æ£ã€‚ clif.c - clif_additem()Aclif_equiplist()Aclif_storageequiplist() C³B - clif_tradeadditem()Aclif_storageitemadded()Aclif_use_card() C³B - clif_cart_additem()Aclif_cart_equiplist()Aclif_vendinglist() C³B - clif_openvending()Aclif_arrow_create_list() C³B - clif_skill_produce_mix_list()Aclif_parse_SelectArrow() C³B - clif_parse_ProduceMix() C³B + clif_additem()ã€clif_equiplist()ã€clif_storageequiplist() ä¿®æ£ã€‚ + clif_tradeadditem()ã€clif_storageitemadded()ã€clif_use_card() ä¿®æ£ã€‚ + clif_cart_additem()ã€clif_cart_equiplist()ã€clif_vendinglist() ä¿®æ£ã€‚ + clif_openvending()ã€clif_arrow_create_list() ä¿®æ£ã€‚ + clif_skill_produce_mix_list()ã€clif_parse_SelectArrow() ä¿®æ£ã€‚ + clif_parse_ProduceMix() ä¿®æ£ã€‚ script.c - buildin_produce() C³B - buildin_getitem2() ’ljÁB + buildin_produce() ä¿®æ£ã€‚ + buildin_getitem2() è¿½åŠ ã€‚ atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ -------------------- //0870 by shuto -Emapflag‚ÌUéíMAP‚Énomemo’ljÁ -EƒMƒ‹ƒh•ó” ‚ÅA•ó” oŒ»‚Æ“¯Žž‚ÉMAPŽI‚ª—Ž‚¿‚é–â‘èC³(by ‚Ò‚´‚Ü‚ñ) +・mapflagã®æ”»åŸŽæˆ¦MAPã«nomemoè¿½åŠ +・ギルドå®ç®±ã§ã€å®ç®±å‡ºç¾ã¨åŒæ™‚ã«MAP鯖ãŒè½ã¡ã‚‹å•é¡Œä¿®æ£(by ã´ã–ã¾ã‚“) -------------------- -//0869 by Ž€_ +//0869 by æ»ç¥ž -Ebattle_athena.conf‚Éplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ’ljÁB -Echar_athena.conf‚Éparty_share_level ’ljÁB -E‚»‚Ì‘¼×‚©‚¢C³B +・battle_athena.confã«player_land_skill_limitã€monster_land_skill_limitã€party_skill_penaly è¿½åŠ ã€‚ +・char_athena.confã«party_share_level è¿½åŠ ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) - char_athena.conf C³B - battle_athena.conf C³B + char_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (char/) - char.h C³B + char.h ä¿®æ£ã€‚ char.c - char_config_read() C³B + char_config_read() ä¿®æ£ã€‚ int_party.c - party_check_exp_share() C³B + party_check_exp_share() ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ skill.c - skill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_status_change_start() C³B - skill_castend_pos() C³B + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_castend_pos() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ mob.c - mobskill_castend_pos() C³B + mobskill_castend_pos() ä¿®æ£ã€‚ battle.h battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B - battle_config_read() C³B + battle_get_adelay()ã€battle_get_amotion()ã€battle_calc_damage() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ pet.c - pet_data_init() C³B + pet_data_init() ä¿®æ£ã€‚ -------------------- -//0868 by Ž€_ +//0868 by æ»ç¥ž -Eƒ}ƒWƒbƒNƒƒbƒhŽÀ‘•‚ƃXƒyƒ‹ƒuƒŒƒCƒJ[C³B -Eƒ}ƒWƒbƒNƒƒbƒh‚Ìꇖ{ŽI‚ÅŽg‚Á‚Ä‚à‚È‚ñ‚Ì•\Ž¦‚à‚È‚”“®‚Ì‘O‚É‚ÍŽg‚Á‚½‚©‚Ç‚¤‚©‚ÌŠm”F‚ª‚Å‚«‚È‚¢‚̂ŃXƒLƒ‹‰r¥ƒpƒPƒbƒg(0x13e)‚ð—˜—p‚µ‚ÄŽg—p‚·‚鎞ƒXƒLƒ‹–¼‚ªo‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B(–{ŽI‚ƈႤ‚¼‚Æ‚©‚Å•¶‹å‚ª‚±‚È‚¢‚悤‚É) -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‰r¥ƒLƒƒƒ“ƒZƒ‹‚ÉŠÖŒW‚È‚skill_db.txt‚Éݒ肳‚ê‚Ä‚éskill_type‚ªmagic‚̃XƒLƒ‹‚Ì‚Ý”j‚邱‚Æ‚ª‚Å‚«‚Ü‚·B(ƒ‰ƒOƒiƒQ[ƒg‚Ìà–¾‚ð“K—p) -Eskill_db.txt‚Ì‘Ž®‚ª•Ï‚í‚Á‚½‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢BƒmƒbƒNƒoƒbƒN‹——£‚ÌÝ’è‚à‚Å‚«‚Ü‚·‚ª”O‚ׂ̈ɂ¢‚Á‚Ä‚¨‚«‚Ü‚·‚ªAŽI‚ł̃eƒXƒg‚ÅFW‚̃mƒbƒNƒoƒbƒN‹——£‚Í2‚ŃTƒ“ƒN‚à2‚Å‚ ‚邱‚Æ‚ðŠm”F‚µ‚Ä‚¢‚Ü‚·BŠØ‘‚Ì2003”N11ŒŽ19“úƒpƒbƒ`‘O‚ÌŽI‚Å‚Í‚ ‚è‚Ü‚·‚ª2-2‚Í“K—p‚³‚ê‚Ä‚¢‚銂Ȃ̂Ŗ{ŽI‚̈Ⴂ‚Í‚È‚¢‚ÆŽv‚¢‚Ü‚·B -E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B -E0867‚Å‘‚«–Y‚êBƒ‚ƒ“ƒXƒ^[‚̃q[ƒ‹‚ŃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚ªUŒ‚‚³‚ê‚ÄŽ©–Å‚·‚é‚̂Ńq[ƒ‹‚⃊ƒU‚Ìê‡mob_skill_db.txt‚Ìval1(’l1)‚É1‚ð“ü‚ê‚é‚ƃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚àUŒ‚‚ðŽó‚¯‚¸‰ñ•œ‚·‚é‚悤‚É‚È‚è‚Ü‚·B–{ŽI‚ł̓‚ƒ“ƒXƒ^[‚̃q[ƒ‹‚̓Aƒ“ƒfƒbƒh‚ÉŠÖŒW‚È‚‰ñ•œ‚·‚é‚悤‚Å‚·B‚½‚¾ŒÂl“I‚ɂ̓]ƒ“ƒr‚ªƒq[ƒ‹‚µ‚ÄŽ©–Å‚·‚é•û‚ª³‚µ‚¢‚ÆŽv‚¤‚Ì‚Åmob_skill_db.txt‚ÅÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ä‚¨‚è‚Ü‚·B +・マジックãƒãƒƒãƒ‰å®Ÿè£…ã¨ã‚¹ãƒšãƒ«ãƒ–レイカー修æ£ã€‚ +・マジックãƒãƒƒãƒ‰ã®å ´åˆæœ¬é¯–ã§ä½¿ã£ã¦ã‚‚ãªã‚“ã®è¡¨ç¤ºã‚‚ãªã発動ã®å‰ã«ã¯ä½¿ã£ãŸã‹ã©ã†ã‹ã®ç¢ºèªãŒã§ããªã„ã®ã§ã‚¹ã‚ãƒ«è© å”±ãƒ‘ã‚±ãƒƒãƒˆ(0x13e)を利用ã—ã¦ä½¿ç”¨ã™ã‚‹æ™‚スã‚ルåãŒå‡ºã‚‹ã‚ˆã†ã«ã—ã¦ã„ã¾ã™ã€‚(本鯖ã¨é•ã†ãžã¨ã‹ã§æ–‡å¥ãŒã“ãªã„よã†ã«) +ãƒ»ã‚¹ãƒšãƒ«ãƒ–ãƒ¬ã‚¤ã‚«ãƒ¼è© å”±ã‚ャンセルã«é–¢ä¿‚ãªãskill_db.txtã«è¨å®šã•ã‚Œã¦ã‚‹skill_typeãŒmagicã®ã‚¹ã‚ルã®ã¿ç ´ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚(ラグナゲートã®èª¬æ˜Žã‚’é©ç”¨) +・skill_db.txtã®æ›¸å¼ãŒå¤‰ã‚ã£ãŸã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。ノックãƒãƒƒã‚¯è·é›¢ã®è¨å®šã‚‚ã§ãã¾ã™ãŒå¿µã®ç‚ºã«ã„ã£ã¦ãŠãã¾ã™ãŒA鯖ã§ã®ãƒ†ã‚¹ãƒˆã§FWã®ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯è·é›¢ã¯2ã§ã‚µãƒ³ã‚¯ã‚‚2ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ã„ã¾ã™ã€‚韓国ã®2003å¹´11月19日パッãƒå‰ã®é¯–ã§ã¯ã‚ã‚Šã¾ã™ãŒ2-2ã¯é©ç”¨ã•ã‚Œã¦ã„る所ãªã®ã§æœ¬é¯–ã®é•ã„ã¯ãªã„ã¨æ€ã„ã¾ã™ã€‚ +・ãã®ä»–スã‚ル関係ã®ç´°ã‹ã„ä¿®æ£ã€‚ +・0867ã§æ›¸ã忘れ。モンスターã®ãƒ’ールã§ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒæ”»æ’ƒã•ã‚Œã¦è‡ªæ»…ã™ã‚‹ã®ã§ãƒ’ールやリザã®å ´åˆmob_skill_db.txtã®val1(値1)ã«1を入れるã¨ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚‚攻撃をå—ã‘ãšå›žå¾©ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚本鯖ã§ã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ãƒ’ールã¯ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ã«é–¢ä¿‚ãªã回復ã™ã‚‹ã‚ˆã†ã§ã™ã€‚ãŸã 個人的ã«ã¯ã‚¾ãƒ³ãƒ“ãŒãƒ’ールã—ã¦è‡ªæ»…ã™ã‚‹æ–¹ãŒæ£ã—ã„ã¨æ€ã†ã®ã§mob_skill_db.txtã§è¨å®šã§ãるよã†ã«ã—ã¦ãŠã‚Šã¾ã™ã€‚ (doc/) - db_ref.txt C³B + db_ref.txt ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - skill_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (map/) - skill.h C³B + skill.h ä¿®æ£ã€‚ skill.c - skill_status_change_start()Askill_status_change_end() C³B - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - skill_attack()Askill_status_change_timer()Askill_castcancel() C³B - skill_unit_onplace()Askill_use_id()Askill_castend_id() C³B - skill_readdb() C³B - skill_get_blewcount() ’ljÁB + skill_status_change_start()ã€skill_status_change_end() ä¿®æ£ã€‚ + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_attack()ã€skill_status_change_timer()ã€skill_castcancel() ä¿®æ£ã€‚ + skill_unit_onplace()ã€skill_use_id()ã€skill_castend_id() ä¿®æ£ã€‚ + skill_readdb() ä¿®æ£ã€‚ + skill_get_blewcount() è¿½åŠ ã€‚ mob.c - mobskill_use_id()Amob_spawn()Amob_attack() C³B + mobskill_use_id()ã€mob_spawn()ã€mob_attack() ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack()Abattle_weapon_attack() C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ clif.c - clif_damage() C³B + clif_damage() ä¿®æ£ã€‚ pet.c - pet_attack() C³B + pet_attack() ä¿®æ£ã€‚ pc.c - pc_attack_timer()Apc_authok() C³B - pc_spirit_heal()Apc_natural_heal_sub() C³B + pc_attack_timer()ã€pc_authok() ä¿®æ£ã€‚ + pc_spirit_heal()ã€pc_natural_heal_sub() ä¿®æ£ã€‚ -------------------- -//0867 by Ž€_ +//0867 by æ»ç¥ž -EƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B -Ebattle_athena.conf‚Éplayer_undead_nofreeze’ljÁB -EV‚µ‚¢ƒAƒCƒeƒ€ƒpƒPƒbƒg‚ɑΉžB(PACKETVER‚ð5ˆÈã‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B) -Emob_avail.txt‚ŃvƒŒƒCƒ„[‚ÌŽp‚ðŽw’肵‚½ŽžƒyƒRƒyƒR‚â‘é‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É•ÏXB“ª‰º’iŽŸ‚ɃIƒvƒVƒ‡ƒ“‚ðÝ’è‚Å‚«‚Ü‚·B(‚½‚¾ƒnƒCƒfƒBƒ“ƒO‚ƃNƒ[ƒLƒ“ƒO‚ÍŽw’è‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) - makefile C³B +・スã‚ル関係ã®ç´°ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã«player_undead_nofreezeè¿½åŠ ã€‚ +・新ã—ã„アイテムパケットã«å¯¾å¿œã€‚(PACKETVERã‚’5以上ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚) +・mob_avail.txtã§ãƒ—レイヤーã®å§¿ã‚’指定ã—ãŸæ™‚ペコペコや鷹を付ã‘ã‚‹ã“ã¨ãŒã§ãるよã†ã«å¤‰æ›´ã€‚é 下段次ã«ã‚ªãƒ—ションをè¨å®šã§ãã¾ã™ã€‚(ãŸã ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã¨ã‚¯ãƒãƒ¼ã‚ングã¯æŒ‡å®šã§ããªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚) + makefile ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - client_packet.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + client_packet.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_config_read() C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ clif.c - clif_mob_class_change()Aclif_spawnmob()Aclif_spawnpet() C³B - clif_damage()Aclif_skill_damage()Aclif_skill_damage2() C³B - clif_itemlist()Aclif_cart_itemlist()Aclif_storageitemlist() C³B - clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() C³B + clif_mob_class_change()ã€clif_spawnmob()ã€clif_spawnpet() ä¿®æ£ã€‚ + clif_damage()ã€clif_skill_damage()ã€clif_skill_damage2() ä¿®æ£ã€‚ + clif_itemlist()ã€clif_cart_itemlist()ã€clif_storageitemlist() ä¿®æ£ã€‚ + clif_mob0078()ã€clif_mob007b()ã€clif_pet0078()ã€clif_pet007b() ä¿®æ£ã€‚ pc.c - pc_attack_timer() C³B + pc_attack_timer() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id()Askill_additional_effect() C³B - skill_status_change_start() C³B - mob.h C³B + skill_castend_nodamage_id()ã€skill_additional_effect() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mobskill_castend_id()Amob_getfriendstatus_sub() C³B - mob_readdb_mobavail() C³B + mobskill_castend_id()ã€mob_getfriendstatus_sub() ä¿®æ£ã€‚ + mob_readdb_mobavail() ä¿®æ£ã€‚ -------------------- -//0866 by ‚Ò‚´‚Ü‚ñ +//0866 by ã´ã–ã¾ã‚“ -EMOTD‚̃ƒbƒZ[ƒW‚ð‘S‚Ä•ÒW‚Å‚«‚é‚悤‚É•ÏXB -EƒNƒ[ƒ“ƒXƒLƒ‹ŽÀ‘•B -@ƒhƒ‹•ž‚̃q[ƒ‹ƒAƒ^ƒbƒN‚É‚æ‚éƒq[ƒ‹K“¾‚Í–¢ƒeƒXƒg‚Å‚·B -EƒMƒ‹ƒh•ó” ‰¼ŽÀ‘•B -@ƒ”ƒ@ƒ‹ƒLƒŠ[‚P‚Ì‚Ý‚Å‚·B -@¤‹Æ“ŠŽ‘‚É‚æ‚é•ó” ŒÂ”‚ÌŽZoŽ®‚Í“K“–‚Å‚·(‰ŠúŒÂ”4ŒÂ‚Æ‚µ‚©’m‚ç‚È‚¢‚Ì‚Å)B -@OnclockƒCƒxƒ“ƒg‚Å“®ì‚³‚¹‚Ä‚¢‚Ü‚·B”CˆÓ‚ÌŽž‚É•ÏX‚µ‚Ä‚‚¾‚³‚¢B -EAthenaDBŒv‰æ‚Ìmob_db.txt‚Æmapflag.txt‚ð“ü‚ê‚Ä‚¨‚«‚Ü‚µ‚½B +・MOTDã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å…¨ã¦ç·¨é›†ã§ãるよã†ã«å¤‰æ›´ã€‚ +・クãƒãƒ¼ãƒ³ã‚¹ã‚ル実装。 + ドルæœã®ãƒ’ールアタックã«ã‚ˆã‚‹ãƒ’ール習得ã¯æœªãƒ†ã‚¹ãƒˆã§ã™ã€‚ +・ギルドå®ç®±ä»®å®Ÿè£…。 + ヴァルã‚リー1ã®ã¿ã§ã™ã€‚ + 商æ¥æŠ•è³‡ã«ã‚ˆã‚‹å®ç®±å€‹æ•°ã®ç®—出å¼ã¯é©å½“ã§ã™(åˆæœŸå€‹æ•°4個ã¨ã—ã‹çŸ¥ã‚‰ãªã„ã®ã§)。 + Onclockイベントã§å‹•ä½œã•ã›ã¦ã„ã¾ã™ã€‚ä»»æ„ã®æ™‚刻ã«å¤‰æ›´ã—ã¦ãã ã•ã„。 +・AthenaDB計画ã®mob_db.txtã¨mapflag.txtを入れã¦ãŠãã¾ã—ãŸã€‚ (map/) pc.c - pc_makesavestatus()Apc_calc_skilltree() C³B - pc_allskillup()Apc_calc_skillpoint() C³B - pc_resetskill()Apc_authok() C³B + pc_makesavestatus()ã€pc_calc_skilltree() ä¿®æ£ã€‚ + pc_allskillup()ã€pc_calc_skillpoint() ä¿®æ£ã€‚ + pc_resetskill()ã€pc_authok() ä¿®æ£ã€‚ skill.c - skill_attack() C³B - map.h C³B + skill_attack() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt C³B - motd.txt C³B - mapflag.txt C³B + gvg/TEST_prtg_cas01_AbraiJ.txt ä¿®æ£ã€‚ + motd.txt ä¿®æ£ã€‚ + mapflag.txt ä¿®æ£ã€‚ (db/) - mob_db.txt C³B + mob_db.txt ä¿®æ£ã€‚ -------------------- -//0865 by ‚Ò‚´‚Ü‚ñ +//0865 by ã´ã–ã¾ã‚“ -EŽ©•ª‚ªè—Ì‚µ‚Ä‚¢‚éƒAƒWƒg‚̃Gƒ“ƒyƒŠƒEƒ€‚ðUŒ‚‚Å‚«‚½ƒoƒOC³B -EƒAƒuƒ‰ƒC‚ªè—̃Mƒ‹ƒhƒƒ“ƒo[‘Sˆõ‚ðƒ}ƒXƒ^[‚Æ‚Ý‚È‚µ‚Ä‚¢‚½ƒoƒOC³B -@‚±‚ÌC³‚É”º‚Á‚ăXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX‚ɉü•Ï‚ª‚ ‚è‚Ü‚·B - Egetcharid(0)‚ÅAŽ©•ª‚ÌcharID‚ð•Ô‚·‚悤‚ÉB - Egetguildmasterid(<n>)’ljÁB - @<n>=ƒMƒ‹ƒhID - @ŠY“–ƒMƒ‹ƒh‚̃}ƒXƒ^[‚ÌcharID‚ð•Ô‚µ‚Ü‚·B +・自分ãŒå é ˜ã—ã¦ã„るアジトã®ã‚¨ãƒ³ãƒšãƒªã‚¦ãƒ を攻撃ã§ããŸãƒã‚°ä¿®æ£ã€‚ +・アブライãŒå é ˜ã‚®ãƒ«ãƒ‰ãƒ¡ãƒ³ãƒãƒ¼å…¨å“¡ã‚’マスターã¨ã¿ãªã—ã¦ã„ãŸãƒã‚°ä¿®æ£ã€‚ + ã“ã®ä¿®æ£ã«ä¼´ã£ã¦ã‚¹ã‚¯ãƒªãƒ—トリファレンスã«æ”¹å¤‰ãŒã‚ã‚Šã¾ã™ã€‚ + ・getcharid(0)ã§ã€è‡ªåˆ†ã®charIDã‚’è¿”ã™ã‚ˆã†ã«ã€‚ + ・getguildmasterid(<n>)è¿½åŠ ã€‚ +  <n>=ギルドID +  該当ギルドã®ãƒžã‚¹ã‚¿ãƒ¼ã®charIDã‚’è¿”ã—ã¾ã™ã€‚ (map/) guild.c - guild_mapname2gc() ’ljÁB + guild_mapname2gc() è¿½åŠ ã€‚ battle.c - battle_calc_damage() C³B + battle_calc_damage() ä¿®æ£ã€‚ script.c - buildin_getcharid() C³B - buildin_getguildmasterid() ’ljÁB - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾‚̈ꕔ‚ðC³A’ljÁB - guild.h C³B + buildin_getcharid() ä¿®æ£ã€‚ + buildin_getguildmasterid() è¿½åŠ ã€‚ + ãƒãƒ¼ã‚«ãƒ«ãƒ—ãƒãƒˆã‚¿ã‚¤ãƒ—宣言ã®ä¸€éƒ¨ã‚’ä¿®æ£ã€è¿½åŠ 。 + guild.h ä¿®æ£ã€‚ -------------------- -//0864 by ŒÓ’±—– +//0864 by 胡è¶è˜ -EinterŽI‚Ìwis‚̈—•ÏX - EŽ©‘OƒŠƒ“ƒNƒŠƒXƒg‚©‚çdb.h‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ðŽg—p‚·‚é‚悤‚É - EWIS‚ÌID‚ð16ƒrƒbƒg‚©‚ç32ƒrƒbƒg‚É‘‚₵‚½iƒpƒPƒbƒg‚àC³j - EƒƒbƒZ[ƒW‚̃TƒCƒYƒ`ƒFƒbƒN‚ð“ü‚ꂽ - EƒpƒPƒbƒgƒXƒLƒbƒv‚ª“ñ‰ñs‚í‚ê‚é‰Â”\«‚ª‚ ‚éƒoƒOC³ +・inter鯖ã®wisã®å‡¦ç†å¤‰æ›´ + ・自å‰ãƒªãƒ³ã‚¯ãƒªã‚¹ãƒˆã‹ã‚‰db.hã§æä¾›ã•ã‚Œã¦ã„るデータベースを使用ã™ã‚‹ã‚ˆã†ã« + ・WISã®IDã‚’16ビットã‹ã‚‰32ビットã«å¢—ã‚„ã—ãŸï¼ˆãƒ‘ケットも修æ£ï¼‰ + ・メッセージã®ã‚µã‚¤ã‚ºãƒã‚§ãƒƒã‚¯ã‚’入れ㟠+ ・パケットスã‚ップãŒäºŒå›žè¡Œã‚れるå¯èƒ½æ€§ãŒã‚ã‚‹ãƒã‚°ä¿®æ£ (char/) inter.c - wisŠÖŒW‘å••ÏX + wis関係大幅変更 (map/) intif.c - wisŠÖŒW‚ÌC³BŽå‚ɃpƒPƒbƒgˆ—B + wis関係ã®ä¿®æ£ã€‚主ã«ãƒ‘ケット処ç†ã€‚ (doc/) inter_server_packet.txt - ƒpƒPƒbƒg3002,3801‚ð•ÏX + パケット3002,3801を変更 -------------------- -//0863 by Ž€_ +//0863 by æ»ç¥ž -Eׂ©‚¢C³B -Ebattle_athena.conf‚Éplayer_attack_direction_change’ljÁB -Emob_skill_db.txt‚ðC³‚·‚鎞’§”‚ÌC³‚ðŠÔˆá‚Á‚ÄC³B -Eƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹Ž©”š–â‘èC³B(–¢ƒeƒXƒg) +・細ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã«player_attack_direction_changeè¿½åŠ ã€‚ +・mob_skill_db.txtã‚’ä¿®æ£ã™ã‚‹æ™‚挑発ã®ä¿®æ£ã‚’é–“é•ã£ã¦ä¿®æ£ã€‚ +・モンスターã®ã‚¹ã‚ル自爆å•é¡Œä¿®æ£ã€‚(未テスト) (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - mob_skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ (map/) mob.c - mobskill_use_id()Amobskill_use()Amobskill_castend_id() C³B + mobskill_use_id()ã€mobskill_use()ã€mobskill_castend_id() ä¿®æ£ã€‚ pc.c - pc_skill()Apc_attack_timer() C³B + pc_skill()ã€pc_attack_timer() ä¿®æ£ã€‚ skill.c - skill_castend_damage_id() C³B - battle.h C³B + skill_castend_damage_id() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_weapon_attack()Abattle_config_read() C³B + battle_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ -------------------- -//0862 by ŒÓ’±—– +//0862 by 胡è¶è˜ -EmobƒXƒLƒ‹Žg—pðŒ’ljÁ - Efriendhpltmaxrate : –¡•û‚ÌHP‚ªŽw’è“–¢–ž‚Ì‚Æ‚«(ƒeƒXƒgÏ‚Ý) - Efriendstatuson : –¡•û‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚é‚Æ‚« - Efriendstatusoff : –¡•û‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚È‚¢‚Æ‚« - Emystatuson : Ž©•ª‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚é‚Æ‚« - Emystatusoff : Ž©•ª‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚È‚¢‚Æ‚« - ƒXƒe[ƒ^ƒXŒn‚Í–¢ƒeƒXƒg‚Å‚·Bmob_skill_db.txt‚ÉŽw’è•û–@‚ð‘‚¢‚Ä‚¢‚Ü‚·B - ‚½‚Æ‚¦‚ÎŽ©•ª‚ª“Å‚©‚Ç‚¤‚©‚Í mystatus,poison ‚ÅA - ƒnƒCƒfƒBƒ“ƒO’†‚©‚Ç‚¤‚©‚Í mystatuson,hiding ‚ÅŽw’肵‚Ü‚·B -EmobƒXƒLƒ‹Žg—pƒ^[ƒQƒbƒg’ljÁ - Efriend : –¡•û - Earound : Ž©•ª‚ÌŽüˆÍiŒ»Ý‚ÌŽd—l‚Å‚ÍŽüˆÍ81ƒ}ƒXj‚Ì‚Ç‚ê‚© - Earound1`around4 : Ž©•ª‚ÌŽüˆÍ‚X,25,49,81ƒ}ƒX‚Ì‚Ç‚ê‚©(”͈͂𖾎¦) - friend‚ÍðŒ‚ªfriendŒn(friendhpltmaxrate‚È‚Ç)‚Ì‚Æ‚«‚ÉŽg—p‰Â”\B - aroundŒn‚Íꊎw’èƒXƒLƒ‹‚ÅŽg—p‰Â”\B +・mobスã‚ル使用æ¡ä»¶è¿½åŠ + ・friendhpltmaxrate : 味方ã®HPãŒæŒ‡å®šï¼…未満ã®ã¨ã(テスト済ã¿) + ・friendstatuson : 味方ãŒæŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã«ãªã£ã¦ã„ã‚‹ã¨ã + ・friendstatusoff : 味方ãŒæŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã«ãªã£ã¦ã„ãªã„ã¨ã + ・mystatuson : 自分ãŒæŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã«ãªã£ã¦ã„ã‚‹ã¨ã + ・mystatusoff : 自分ãŒæŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã«ãªã£ã¦ã„ãªã„ã¨ã + ステータス系ã¯æœªãƒ†ã‚¹ãƒˆã§ã™ã€‚mob_skill_db.txtã«æŒ‡å®šæ–¹æ³•ã‚’書ã„ã¦ã„ã¾ã™ã€‚ + ãŸã¨ãˆã°è‡ªåˆ†ãŒæ¯’ã‹ã©ã†ã‹ã¯ mystatus,poison ã§ã€ + ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ä¸ã‹ã©ã†ã‹ã¯ mystatuson,hiding ã§æŒ‡å®šã—ã¾ã™ã€‚ +・mobスã‚ãƒ«ä½¿ç”¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆè¿½åŠ + ・friend : 味方 + ・around : 自分ã®å‘¨å›²ï¼ˆç¾åœ¨ã®ä»•æ§˜ã§ã¯å‘¨å›²81マス)ã®ã©ã‚Œã‹ + ・around1〜around4 : 自分ã®å‘¨å›²ï¼™,25,49,81マスã®ã©ã‚Œã‹(範囲を明示) + friendã¯æ¡ä»¶ãŒfriendç³»(friendhpltmaxrateãªã©)ã®ã¨ãã«ä½¿ç”¨å¯èƒ½ã€‚ + aroundç³»ã¯å ´æ‰€æŒ‡å®šã‚¹ã‚ルã§ä½¿ç”¨å¯èƒ½ã€‚ (map/) mob.c / mob.h - mob_getfriend*()’ljÁAmobskill_use()C³‚È‚Ç + mob_getfriend*()è¿½åŠ ã€mobskill_use()ä¿®æ£ãªã© (db/) mob_skill_db.txt - ʼn‚Ìà–¾‚Ì‚ÝC³Bƒf[ƒ^‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB + 最åˆã®èª¬æ˜Žã®ã¿ä¿®æ£ã€‚データã¯ä¿®æ£ã—ã¦ã„ã¾ã›ã‚“。 -------------------- -//0861 by ‚¢‚Ç +//0861 by ã„ã© -EƒT[ƒo[snapshot +・サーãƒãƒ¼snapshot -------------------- //0860 by J -EŽ€_‚³‚ñ‚̎艺¢Š«‚ÌC³‚ɇ‚킹‚ÄMOBƒXƒLƒ‹DB‚ðC³ +・æ»ç¥žã•ã‚“ã®æ‰‹ä¸‹å¬å–šã®ä¿®æ£ã«åˆã‚ã›ã¦MOBスã‚ルDBã‚’ä¿®æ£ (/conf) - mob_skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ -------------------- -//0859 by Ž‚Žqo^.^o -Alchemist warp C³(AegisŽQl) +//0859 by ç…åo^.^o +Alchemist warp ä¿®æ£(Aegiså‚考) (/conf) (/warp) - npc_warp_job.txt C³ + npc_warp_job.txt ä¿®æ£ -------------------- -//0858 by Ž€_ +//0858 by æ»ç¥ž -Eׂ©‚¢C³B -EMAX_MOBSKILL‚ð24‚©‚ç32‚É•ÏXB(‚½‚¾‚µ‚Å‚·‚ª‚Ü‚½ƒƒ‚ƒŠ[Žg—p—Ê‚ª‘‚¦‚Ü‚·B) -Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚ÅŽæ‚és“®‚ðmob_skill_db.txt‚Ìval1(’l1)‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³B -EŽè‰º¢Š«‚Å•¡”‚ÌŽí—Þ‚ðÝ’èoØ‚é‚悤‚ÉC³B(Å‘å5‚‚܂Å) -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚ƃgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚à•¡”‚ÌŽí—Þ‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B +・細ã‹ã„ä¿®æ£ã€‚ +・MAX_MOBSKILLã‚’24ã‹ã‚‰32ã«å¤‰æ›´ã€‚(ãŸã å°‘ã—ã§ã™ãŒã¾ãŸãƒ¡ãƒ¢ãƒªãƒ¼ä½¿ç”¨é‡ãŒå¢—ãˆã¾ã™ã€‚) +・プãƒãƒœã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã§å–る行動をmob_skill_db.txtã®val1(値1)ã§è¨å®šã§ãるよã†ã«ä¿®æ£ã€‚ +・手下å¬å–šã§è¤‡æ•°ã®ç¨®é¡žã‚’è¨å®šå‡ºåˆ‡ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚(最大5ã¤ã¾ã§) +・メタモルフォーシスã¨ãƒˆãƒ©ãƒ³ã‚¹ãƒ•ã‚©ãƒ¼ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚‚複数ã®ç¨®é¡žã‚’è¨å®šã§ãるよã†ã«ä¿®æ£ã€‚ (db/) - skill_db.txt C³B - mob_skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ + mob_skill_db.txt ä¿®æ£ã€‚ (map/) skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - map.h C³B - mob.h C³B + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_readskilldb()Amob_summonslave()Amob_class_change() C³B + mob_readskilldb()ã€mob_summonslave()ã€mob_class_change() ä¿®æ£ã€‚ -------------------- //0857 by J -EOWN Ragnarok‚É‚Ì‚Á‚Ä‚¢‚½î•ñ‚ðŒ³‚ÉMOBƒXƒLƒ‹‚ðC³B -Echase(“ËŒ‚)‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚é‚Æ‚Ì‚±‚Æ‚È‚Ì‚Å“ËŒ‚(?)‚ðchase‚É‚©‚¦‚Ä -ƒRƒƒ“ƒgƒAƒEƒg‚ð‚Í‚¸‚µ‚Ü‚µ‚½B -EŽ€_‚³‚ñ‚ªŽÀ‘•‚µ‚½MOBƒXƒLƒ‹‚ðŽg—p‚·‚郂ƒ“ƒXƒ^[‚ðŽëêî•ñ‚ÉÚ‚Á‚Ä‚éî•ñ‚ðŒ³‚ÉŽÀ‘•B +・OWN Ragnarokã«ã®ã£ã¦ã„ãŸæƒ…å ±ã‚’å…ƒã«MOBスã‚ルを修æ£ã€‚ +・chase(çªæ’ƒ)ãŒå®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ã¨ã®ã“ã¨ãªã®ã§çªæ’ƒ(?)ã‚’chaseã«ã‹ãˆã¦ +コメントアウトをã¯ãšã—ã¾ã—ãŸã€‚ +・æ»ç¥žã•ã‚“ãŒå®Ÿè£…ã—ãŸMOBスã‚ルを使用ã™ã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’ç‹©å ´æƒ…å ±ã«è¼‰ã£ã¦ã‚‹æƒ…å ±ã‚’å…ƒã«å®Ÿè£…。 (/conf) mob_skill_db.txt -------------------- -//0856 by Ž€_ +//0856 by æ»ç¥ž -EƒoƒOC³‚Æׂ©‚¢C³B -Ebattle_athena.conf‚Émonster_attack_direction_change’ljÁB -Ebattle_athena.conf‚Ìbasic_skill_check‚ƃJƒvƒ‰‚Ì‘qŒÉ—˜—p‚ð‡‚킹‚Ä‚¢‚Ü‚µ‚½‚ª‚¢‚‚̂܂ɂ©‚È‚‚È‚Á‚½‚Ì‚ÅŽæ‚è–ß‚µB(basic_skill_check‚ªno‚È‚çŠî–{‹@”\ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚È‚‘qŒÉ‚ðŽg‚¦‚Ü‚·B) -EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚ÌŽË’ö‚ð3ƒZƒ‹‚É•ÏX‚µ‚Ä‹ßÚUŒ‚‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚ÉC³B -EAŽI‚ł̃eƒXƒg‚ŃAƒ“ƒfƒbƒh‚Ì”FŽ¯‚ð‘®«‚É‚æ‚Á‚Ä‚·‚邱‚Æ‚ª‚í‚©‚Á‚½‚Ì‚Åundead_detect_type‚̃fƒtƒHƒ‹ƒg‚ð0‚É•ÏXB -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚âƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ÅŒ©‚½–Ú‚ªƒvƒŒƒCƒ„[‚È‚ç0x1b0ƒpƒPƒbƒg‚ð‘—‚ç‚È‚¢‚悤‚É•ÏXB -Eƒjƒ…[ƒ}ƒoƒO‚ÍC³‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªƒXƒLƒ‹ƒ†ƒjƒbƒg‚ÌŽžŠÔ‚É‚æ‚éì“®Žd—l‚Í‚Ü‚¾•ªÍ‚ªŠ®‘S‚¶‚á‚È‚¢‚Ì‚Å‘¼‚Ì•s‹ï‡‚ªo‚Ä‚‚é‚©‚à... +・ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã«monster_attack_direction_changeè¿½åŠ ã€‚ +・battle_athena.confã®basic_skill_checkã¨ã‚«ãƒ—ラã®å€‰åº«åˆ©ç”¨ã‚’åˆã‚ã›ã¦ã„ã¾ã—ãŸãŒã„ã¤ã®ã¾ã«ã‹ãªããªã£ãŸã®ã§å–り戻ã—。(basic_skill_checkãŒnoãªã‚‰åŸºæœ¬æ©Ÿèƒ½ã‚¹ã‚ルレベルã«é–¢ä¿‚ãªã倉庫を使ãˆã¾ã™ã€‚) +・ピアーシングアタックã®å°„程を3セルã«å¤‰æ›´ã—ã¦è¿‘接攻撃ã¨ã—ã¦èªè˜ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・A鯖ã§ã®ãƒ†ã‚¹ãƒˆã§ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ã®èªè˜ã‚’属性ã«ã‚ˆã£ã¦ã™ã‚‹ã“ã¨ãŒã‚ã‹ã£ãŸã®ã§undead_detect_typeã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’0ã«å¤‰æ›´ã€‚ +・メタモルフォーシスやトランスフォーメーションã§è¦‹ãŸç›®ãŒãƒ—レイヤーãªã‚‰0x1b0パケットをé€ã‚‰ãªã„よã†ã«å¤‰æ›´ã€‚ +・ニューマãƒã‚°ã¯ä¿®æ£ã—ã¦ã¿ã¾ã—ãŸãŒã‚¹ã‚ルユニットã®æ™‚é–“ã«ã‚ˆã‚‹ä½œå‹•ä»•æ§˜ã¯ã¾ã 分æžãŒå®Œå…¨ã˜ã‚ƒãªã„ã®ã§ä»–ã®ä¸å…·åˆãŒå‡ºã¦ãã‚‹ã‹ã‚‚... (conf/) - battle_athena.conf C³B - mapflag.txt C³B(•’ʂ̃_ƒ“ƒWƒ‡ƒ“‚ªƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚¸‚ª‚È‚¢‚Ì‚Å) + battle_athena.conf ä¿®æ£ã€‚ + mapflag.txt ä¿®æ£ã€‚(普通ã®ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ãŒã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã§ã‚ã‚‹ã¯ãšãŒãªã„ã®ã§) (conf/npc/) - npc_town_kafra.txt C³B + npc_town_kafra.txt ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - script_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + script_ref.txt ä¿®æ£ã€‚ (map/) pc.c - pc_modifybuyvalue()Apc_modifysellvalue() C³B + pc_modifybuyvalue()ã€pc_modifysellvalue() ä¿®æ£ã€‚ battle.h battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B - battle_config_read() C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ skill.c - skill_unitsetting()Askill_castend_damage_id() C³B - skill_castend_nodamage_id() C³B + skill_unitsetting()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ mob.c - mob_attack() C³B + mob_attack() ä¿®æ£ã€‚ pet.c - pet_attack() C³B + pet_attack() ä¿®æ£ã€‚ clif.c - mob_class_change() C³B + mob_class_change() ä¿®æ£ã€‚ -------------------- //0855 by asong -Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚Å‚o‚b‚Æ‚µ‚Ä•\Ž¦‚·‚é‚l‚n‚a‚ðŽw’肵‚½ê‡‘q—Ž‚¿‚·‚éƒoƒO‚ðuŽb’èvC³B -E0x1b0ƒpƒP‚Å‚Í–³‚0x7b‚ðŽg‚¤‚±‚Ƃʼn½‚Æ‚©‚µ‚Ä‚¢‚Ü‚·B -EŽg‚¢•ª‚¯‚ð‚µ‚½‚¢‚Æ‚±‚ë‚Å‚·‚ª“–•û‚b‚Ì’mŽ¯‚ª–³‚ðŒ•ªŠò‚ªãŽè‚‚¢‚«‚Ü‚¹‚ñ‚Å‚µ‚½B -E‚à‚µ‚©‚µ‚½‚çƒvƒp‚Ì›z‰»i‰H‰»Hj‚ª‚¨‚©‚µ‚‚È‚Á‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +・メタモルフォーシスã§ï¼°ï¼£ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ï¼ï¼¯ï¼¢ã‚’指定ã—ãŸå ´åˆå€‰è½ã¡ã™ã‚‹ãƒã‚°ã‚’「暫定ã€ä¿®æ£ã€‚ +・0x1b0パケã§ã¯ç„¡ã0x7bを使ã†ã“ã¨ã§ä½•ã¨ã‹ã—ã¦ã„ã¾ã™ã€‚ +・使ã„分ã‘ã‚’ã—ãŸã„ã¨ã“ã‚ã§ã™ãŒå½“方Cã®çŸ¥è˜ãŒç„¡ãæ¡ä»¶åˆ†å²ãŒä¸Šæ‰‹ãã„ãã¾ã›ã‚“ã§ã—ãŸã€‚ +・もã—ã‹ã—ãŸã‚‰ãƒ—パã®åµåŒ–(羽化?)ãŒãŠã‹ã—ããªã£ã¦ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 (/map) clif.c - mob_class_change() C³B + mob_class_change() ä¿®æ£ã€‚ -------------------- //0854 by Kalen -E•s‘«‚µ‚Ä‚¢‚½ˆêŽŸE“]EƒNƒGƒXƒg’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤WarpAMobC³) +・ä¸è¶³ã—ã¦ã„ãŸä¸€æ¬¡è·è»¢è·ã‚¯ã‚¨ã‚¹ãƒˆè¿½åŠ åŠã³ã€ãã‚Œã«ä¼´ã†Warpã€Mobä¿®æ£) (/conf) (/npc) npc_job_archer.txt npc_job_swordman.txt - npc_job_thief.txt(‘䎌C³A“_”ˆ—•ÏX) + npc_job_thief.txt(å°è©žä¿®æ£ã€ç‚¹æ•°å‡¦ç†å¤‰æ›´) npc_job_magician.txt (/warp) - npc_warp25.txt(ˆê•”ˆÚ“®) - npc_warp.txt(ˆê•”ˆÚ“®) - npc_warp_job.txt(VÝ) + npc_warp25.txt(一部移動) + npc_warp.txt(一部移動) + npc_warp_job.txt(æ–°è¨) (/mob) npc_mob_job.txt -E—Õ‚èQuest’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤NPCC³BƒAƒ}ƒcs‚«‘D‚Å—¿‹à‚ðŽæ‚ç‚È‚©‚Á‚½–â‘èC³ +・雛ç¥ã‚ŠQuestè¿½åŠ åŠã³ã€ãã‚Œã«ä¼´ã†NPCä¿®æ£ã€‚アマツ行ã船ã§æ–™é‡‘ã‚’å–らãªã‹ã£ãŸå•é¡Œä¿®æ£ (/conf) npc_event_hinamatsuri.txt npc_town_amatsu.txt npc_town_guide.txt npc_town_kafra.txt - —Õ‚è‚ð—LŒø‚É‚·‚é‚ƃAƒ}ƒcƒJƒvƒ‰‚ðW‚ÉA - ƒAƒ‹ƒxƒ‹ƒ^“ìƒJƒvƒ‰‚ð휂ɂ·‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B - --------------------- -//0853 by Ž€_ - -EƒoƒOC³‚ÆNPCƒXƒLƒ‹ŠÖŒW‚ÌC³B -Eƒ_[ƒNƒuƒŒƒX‚ðMISCUŒ‚‚É•ÏXB(‚½‚¾–½’†”»’è—L‚è) -EƒNƒŠƒeƒBƒJƒ‹ƒXƒ‰ƒbƒVƒ…AƒRƒ“ƒ{ƒAƒ^ƒbƒNAƒKƒCƒfƒbƒhƒAƒ^ƒbƒNAƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒNAƒuƒ‰ƒCƒ“ƒhƒAƒ^ƒbƒNAƒJ[ƒXƒAƒ^ƒbƒNAƒyƒgƒŠƒtƒ@ƒCƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒTƒCƒŒƒ“ƒXƒAƒ^ƒbƒNAƒXƒŠ[ƒvƒAƒ^ƒbƒNAƒXƒ^ƒ“ƒAƒ^ƒbƒNAƒ‰ƒ“ƒ_ƒ€ƒAƒ^ƒbƒNAƒ_[ƒNƒlƒXƒAƒ^ƒbƒNAƒtƒ@ƒCƒAƒAƒ^ƒbƒNAƒOƒ‰ƒEƒ“ƒhƒAƒ^ƒbƒNAƒz[ƒŠ[ƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒeƒŒƒLƒlƒXƒAƒ^ƒbƒNAƒEƒH[ƒ^[ƒAƒ^ƒbƒNAƒEƒBƒ“ƒhƒAƒ^ƒbƒNAƒ}ƒWƒJƒ‹ƒAƒ^ƒbƒNAƒuƒ‰ƒbƒhƒhƒŒƒCƒ“Aƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚̓‚ƒ“ƒXƒ^[‚Ì•ŠíŽË’ö‚É•ÏXB‚»‚µ‚Ä‚±‚ê‚ç‚̃XƒLƒ‹‚ðƒ‚ƒ“ƒXƒ^[‚ÌUŒ‚ŽË’ö‚É‚æ‚Á‚ĉ“‹——£UŒ‚‚Æ‹ß‹——£UŒ‚‚É‚È‚é‚悤‚É•ÏXB -EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚Í•ŠíŽË’ö+2‚É•ÏXB -EƒGƒiƒW[ƒhƒŒƒCƒ“Aƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“‚Í–‚–@ŽË’ö‚É•ÏXB -Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚ÌŽË’ö‚ð4‚É•ÏX‚Æ‚©‚©‚éŠm—¦‚ð50+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚É•ÏXB(ˆê‰ž‚±‚ê‚à–‚–@‚È‚Ì‚Å‚µŽË’ö‚ðL‚‚µ‚Ü‚µ‚½BŠî–{–‚–@ŽË’ö‚Å‚ ‚é8‚É•Ï‚¦‚é‚ׂ«‚È‚Ì‚©‚Ç‚¤‚©‚Í”÷–...) -EƒKƒCƒfƒbƒhƒAƒ^ƒbƒN‚̓ZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚𖳌ø‚É‚·‚é•ñ‚ª‚ ‚è‚Ü‚µ‚½‚̂ŃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ªŒø‚©‚È‚¢‚悤‚ÉC³B -EƒfƒBƒtƒFƒ“ƒ_[‚̓GƒtƒFƒNƒg‚¾‚¯o‚é‚悤‚ÉC³B(ƒXƒLƒ‹‚ÌŽd—l“™‚ð‚í‚©‚é•û‚Íî•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) -Eƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“ŽÀ‘•B(ƒƒ^ƒ‚[ƒtƒHƒVƒX‚Æ“¯‚¶•¨‚¾‚»‚¤‚Å‚·B‚½‚¾‚±‚ê‚Í‘S‘RŠÖŒW‚È‚¢•Ê‚̃‚ƒ“ƒXƒ^[‚ɂȂ镨‚炵‚¢‚Å‚·Bƒjƒtƒ‹ƒwƒCƒ€‚ÉŽg‚¤‚â‚‚ª‚¢‚é‚Ý‚½‚¢‚Å‚·B) -EAthenaŽG’kƒXƒŒƒbƒh ‘´‚Ì“ó‚Ì80‚ðscript_ref.txt‚Æ‚µ‚ĒljÁ‚Æ‚¿‚å‚Á‚ÆC³B + é››ç¥ã‚Šã‚’有効ã«ã™ã‚‹ã¨ã‚¢ãƒžãƒ„カプラをWã«ã€ + アルベルタå—カプラを削除ã«ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã„ã¾ã™ã€‚ + +-------------------- +//0853 by æ»ç¥ž + +・ãƒã‚°ä¿®æ£ã¨NPCスã‚ル関係ã®ä¿®æ£ã€‚ +・ダークブレスをMISC攻撃ã«å¤‰æ›´ã€‚(ãŸã 命ä¸åˆ¤å®šæœ‰ã‚Š) +・クリティカルスラッシュã€ã‚³ãƒ³ãƒœã‚¢ã‚¿ãƒƒã‚¯ã€ã‚¬ã‚¤ãƒ‡ãƒƒãƒ‰ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚¹ãƒ—ラッシュアタックã€ãƒ–ラインドアタックã€ã‚«ãƒ¼ã‚¹ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒšãƒˆãƒªãƒ•ã‚¡ã‚¤ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒã‚¤ã‚ºãƒ³ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚µã‚¤ãƒ¬ãƒ³ã‚¹ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚¹ãƒªãƒ¼ãƒ—アタックã€ã‚¹ã‚¿ãƒ³ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒ©ãƒ³ãƒ€ãƒ アタックã€ãƒ€ãƒ¼ã‚¯ãƒã‚¹ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒ›ãƒ¼ãƒªãƒ¼ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒã‚¤ã‚ºãƒ³ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒ†ãƒ¬ã‚ãƒã‚¹ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚¦ã‚©ãƒ¼ã‚¿ãƒ¼ã‚¢ã‚¿ãƒƒã‚¯ã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒžã‚¸ã‚«ãƒ«ã‚¢ã‚¿ãƒƒã‚¯ã€ãƒ–ラッドドレインã€ãƒ¡ãƒ³ã‚¿ãƒ«ãƒ–レイカーã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®æ¦å™¨å°„程ã«å¤‰æ›´ã€‚ãã—ã¦ã“れらã®ã‚¹ã‚ルをモンスターã®æ”»æ’ƒå°„程ã«ã‚ˆã£ã¦é è·é›¢æ”»æ’ƒã¨è¿‘è·é›¢æ”»æ’ƒã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・ピアーシングアタックã¯æ¦å™¨å°„程+2ã«å¤‰æ›´ã€‚ +・エナジードレインã€ãƒãƒ«ã‚·ãƒãƒ¼ã‚·ãƒ§ãƒ³ã¯é”法射程ã«å¤‰æ›´ã€‚ +・ダークブレッシングã®å°„程を4ã«å¤‰æ›´ã¨ã‹ã‹ã‚‹ç¢ºçŽ‡ã‚’50+スã‚ルレベル*5%ã«å¤‰æ›´ã€‚(一応ã“れもé”法ãªã®ã§å°‘ã—射程を広ãã—ã¾ã—ãŸã€‚基本é”法射程ã§ã‚ã‚‹8ã«å¤‰ãˆã‚‹ã¹ããªã®ã‹ã©ã†ã‹ã¯å¾®å¦™...) +・ガイデッドアタックã¯ã‚»ã‚¤ãƒ•ãƒ†ã‚£ã‚¦ã‚©ãƒ¼ãƒ«ã¨ãƒ‹ãƒ¥ãƒ¼ãƒžã‚’無効ã«ã™ã‚‹å ±å‘ŠãŒã‚ã‚Šã¾ã—ãŸã®ã§ã‚»ã‚¤ãƒ•ãƒ†ã‚£ã‚¦ã‚©ãƒ¼ãƒ«ã¨ãƒ‹ãƒ¥ãƒ¼ãƒžãŒåŠ¹ã‹ãªã„よã†ã«ä¿®æ£ã€‚ +・ディフェンダーã¯ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã ã‘出るよã†ã«ä¿®æ£ã€‚(スã‚ルã®ä»•æ§˜ç‰ã‚’ã‚ã‹ã‚‹æ–¹ã¯æƒ…å ±ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚) +・トランスフォーメーション実装。(メタモーフォシスã¨åŒã˜ç‰©ã ãã†ã§ã™ã€‚ãŸã ã“ã‚Œã¯å…¨ç„¶é–¢ä¿‚ãªã„別ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ãªã‚‹ç‰©ã‚‰ã—ã„ã§ã™ã€‚ニフルヘイムã«ä½¿ã†ã‚„ã¤ãŒã„ã‚‹ã¿ãŸã„ã§ã™ã€‚) +・Athena雑談スレッド å…¶ã®å¼ã®80ã‚’script_ref.txtã¨ã—ã¦è¿½åŠ ã¨ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (doc/) - script_ref.txt ’ljÁB + script_ref.txt è¿½åŠ ã€‚ (map/) battle.c - battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + battle_calc_damage()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_calc_misc_attack() ä¿®æ£ã€‚ skill.c - castend_damage_id()Acastend_nodamage_id()Askill_use_pos() C³B + castend_damage_id()ã€castend_nodamage_id()ã€skill_use_pos() ä¿®æ£ã€‚ clif.c - clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() C³B + clif_spawnnpc()ã€clif_parse_Restart()ã€clif_parse_QuitGame() ä¿®æ£ã€‚ mob.c - mobskill_castend_id()Amobskill_castend_pos() C³B - mobskill_use_id()Amobskill_use_pos() C³B + mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ + mobskill_use_id()ã€mobskill_use_pos() ä¿®æ£ã€‚ -------------------- -//0852 by ‚Ò‚´‚Ü‚ñ +//0852 by ã´ã–ã¾ã‚“ -E‹T“‡4FE‹aD2FEƒAƒ}ƒcD1F‚ðƒeƒŒƒ|•s‰ÂAƒV[ƒYƒ‚[ƒh‚É•ÏXB -Enosave‚̈ø”‚ÉSavePoint‚ªŽw’è‚Å‚«‚Ä‚È‚©‚Á‚½‚̂ŒljÁB -EPVP‚Ìmapflag‚ðmapflag.txt‚É“‡B +・亀島4F・蟻D2F・アマツD1Fをテレãƒä¸å¯ã€ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã«å¤‰æ›´ã€‚ +・nosaveã®å¼•æ•°ã«SavePointãŒæŒ‡å®šã§ãã¦ãªã‹ã£ãŸã®ã§è¿½åŠ 。 +・PVPã®mapflagã‚’mapflag.txtã«çµ±åˆã€‚ (map/) npc.c - npc_parse_mapflag() C³B + npc_parse_mapflag() ä¿®æ£ã€‚ (conf/) - mapflag.txt C³B - npc/npc_pvp.txt C³B + mapflag.txt ä¿®æ£ã€‚ + npc/npc_pvp.txt ä¿®æ£ã€‚ -------------------- -//0851 by ŒÓ’±—– +//0851 by 胡è¶è˜ -EƒƒOƒCƒ“Žž‚̈Ɖ»key‚ªí‚É“¯‚¶‚Æ‚¢‚¤‘å‚«‚È–â‘肪‚ ‚Á‚½‚Ì‚ÅC³ -EƒƒOƒCƒ“ŠÇ—ŽÒƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚̈Ɖ»‚ɑΉž +・ãƒã‚°ã‚¤ãƒ³æ™‚ã®æš—å·åŒ–keyãŒå¸¸ã«åŒã˜ã¨ã„ã†å¤§ããªå•é¡ŒãŒã‚ã£ãŸã®ã§ä¿®æ£ +・ãƒã‚°ã‚¤ãƒ³ç®¡ç†è€…ãƒã‚°ã‚¤ãƒ³(ladminã§ä½¿ç”¨)ã§ãƒ‘スワードã®æš—å·åŒ–ã«å¯¾å¿œ (login/) login.c - login_session_dataì¬AˆÃ†‰»key‚ðƒNƒ‰ƒCƒAƒ“ƒg‚²‚Æ‚Éì¬‚È‚Ç + login_session_data作æˆã€æš—å·åŒ–keyをクライアントã”ã¨ã«ä½œæˆãªã© (tool/) ladmin - ver.1.05‚ÉBƒfƒtƒHƒ‹ƒg‚ŃpƒXƒ[ƒh‚ðˆÃ†‰»‚·‚é‚悤‚ÉB - ˆÃ†‰»‚Ì‚½‚ß‚ÉDigest::MD5ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚µ‚Ü‚·B - Digest::MD5‚ª–³‚¢ê‡‚̓pƒXƒ[ƒh‚̈Ɖ»‚ðs‚¢‚Ü‚¹‚ñB + ver.1.05ã«ã€‚デフォルトã§ãƒ‘スワードを暗å·åŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ + æš—å·åŒ–ã®ãŸã‚ã«Digest::MD5モジュールを使用ã—ã¾ã™ã€‚ + Digest::MD5ãŒç„¡ã„å ´åˆã¯ãƒ‘スワードã®æš—å·åŒ–ã‚’è¡Œã„ã¾ã›ã‚“。 (doc/) admin_packet.txt - ƒƒOƒCƒ“ƒT[ƒo[ŠÇ—ƒƒOƒCƒ“•”•ª•ÏX - --------------------- -//0850 by Ž€_ - -ENPCƒXƒLƒ‹ŽÀ‘•B(ƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“AƒL[ƒsƒ“ƒOAƒŠƒbƒNAƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[Aƒvƒƒ{ƒP[ƒVƒ‡ƒ“AƒoƒŠƒ„[Aƒ_[ƒNƒuƒŒƒbƒVƒ“ƒOAƒ_[ƒNƒuƒŒƒX) -EƒXƒLƒ‹Ž©”š‚̧ŒÀ‚Ímob_skill_db.txt‚Å‚â‚ê‚΂¢‚¢‚à‚Ì‚È‚Ì‚ÅŽæ‚è–ß‚µB -Ebattle_athena.conf‚Épet_hungry_friendly_decrease’ljÁB -Eƒyƒbƒg‚Ì• ‚ªŠ®‘S‚ÉŒ¸‚é‚ÆŽx‰‡UŒ‚‚𒆎~‚·‚é‚悤‚É•ÏXB -E‘®«•ÏXƒXƒLƒ‹‚ªì“®‚µ‚È‚©‚Á‚½–â‘èC³B -Eƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚Í10+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ÌSP‚ðŒ¸‚ç‚·B(UŒ‚‚Í’Êí•ŠíƒXƒLƒ‹UŒ‚) -EƒŠƒbƒN‚Í•K’†‚ÅSP-100AƒXƒ^ƒ“Šm—¦ƒXƒLƒ‹ƒŒƒxƒ‹*5%B(ƒ_ƒ[ƒW‚Í–³‚µAbNoWeaponDamage‚Å–³Œø) -Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚̓‚[ƒVƒ‡ƒ“‚ª€”õ‚³‚ê‚Ä‚È‚¢ƒ‚ƒ“ƒXƒ^[‚Í“ü‚ê‚Ä‚à‚È‚ñ‚ÌŒø‰Ê‚à‚È‚µB -Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚Í‚©‚©‚é‚ÆHP‚ª1‚É‚È‚éB‘Ï«‚Í–‚–@–hŒä‚Å“K—pB -Eƒ_[ƒNƒuƒŒƒX‚Í500+(ƒXƒLƒ‹ƒŒƒxƒ‹-1)*1000+rand(0,1000)‚̃_ƒ[ƒWB‰ñ”ð‚Å‚«‚邪–hŒä–³Ž‹‚Å‹ß‹——£•¨—UŒ‚‚¾‚ªƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚Í–³Ž‹‚µ‚Ĉő®«UŒ‚B(–{ŽI‚ÌŒvŽZŽ®‚É‚ ‚Á‚Ä‚¢‚é‰Â”\«‚Í‚È‚¢‚©‚àB‚½‚¾ƒ_ƒ[ƒW—Ê‚Æ–½’†•â³ˆÈŠO‚Í–{ŽI‡‚킹) -ENPCƒXƒLƒ‹‚̈ێŽžŠÔ‚Í“K“x‚ÉÝ’èB -Eƒ‚ƒ“ƒXƒ^[‚Ì‘®«UŒ‚‚ƃKƒCƒfƒbƒhƒAƒ^ƒbƒN‚ªƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚𖳎‹‚·‚é‚Æ‚Ì•ñ‚ðŽó‚¯‚½‚Ì‚Å‚·‚ªC³‚·‚é‚©‚Ç‚¤‚©‚Í‚¿‚å‚Á‚Æ”÷–B(ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN‚àƒZƒCƒtƒeƒBƒEƒH[ƒ‹–³Ž‹‚©‚à) + ãƒã‚°ã‚¤ãƒ³ã‚µãƒ¼ãƒãƒ¼ç®¡ç†ãƒã‚°ã‚¤ãƒ³éƒ¨åˆ†å¤‰æ›´ + +-------------------- +//0850 by æ»ç¥ž + +・NPCスã‚ル実装。(ãƒãƒ«ã‚·ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€ã‚ーピングã€ãƒªãƒƒã‚¯ã€ãƒ¡ãƒ³ã‚¿ãƒ«ãƒ–レイカーã€ãƒ—ãƒãƒœã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã€ãƒãƒªãƒ¤ãƒ¼ã€ãƒ€ãƒ¼ã‚¯ãƒ–レッシングã€ãƒ€ãƒ¼ã‚¯ãƒ–レス) +・スã‚ル自爆ã®åˆ¶é™ã¯mob_skill_db.txtã§ã‚„ã‚Œã°ã„ã„ã‚‚ã®ãªã®ã§å–り戻ã—。 +・battle_athena.confã«pet_hungry_friendly_decreaseè¿½åŠ ã€‚ +・ペットã®è…¹ãŒå®Œå…¨ã«æ¸›ã‚‹ã¨æ”¯æ´æ”»æ’ƒã‚’ä¸æ¢ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・属性変更スã‚ルãŒä½œå‹•ã—ãªã‹ã£ãŸå•é¡Œä¿®æ£ã€‚ +・メンタルブレイカーã¯10+スã‚ルレベル*5%ã®SPを減らã™ã€‚(攻撃ã¯é€šå¸¸æ¦å™¨ã‚¹ã‚ル攻撃) +・リックã¯å¿…ä¸ã§SP-100ã€ã‚¹ã‚¿ãƒ³ç¢ºçŽ‡ã‚¹ã‚ルレベル*5%。(ダメージã¯ç„¡ã—ã€bNoWeaponDamageã§ç„¡åŠ¹) +・プãƒãƒœã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãŒæº–å‚™ã•ã‚Œã¦ãªã„モンスターã¯å…¥ã‚Œã¦ã‚‚ãªã‚“ã®åŠ¹æžœã‚‚ãªã—。 +・ダークブレッシングã¯ã‹ã‹ã‚‹ã¨HPãŒ1ã«ãªã‚‹ã€‚è€æ€§ã¯é”法防御ã§é©ç”¨ã€‚ +・ダークブレスã¯500+(スã‚ルレベル-1)*1000+rand(0,1000)ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã€‚回é¿ã§ãã‚‹ãŒé˜²å¾¡ç„¡è¦–ã§è¿‘è·é›¢ç‰©ç†æ”»æ’ƒã ãŒã‚»ã‚¤ãƒ•ãƒ†ã‚£ã‚¦ã‚©ãƒ¼ãƒ«ã¯ç„¡è¦–ã—ã¦é—‡å±žæ€§æ”»æ’ƒã€‚(本鯖ã®è¨ˆç®—å¼ã«ã‚ã£ã¦ã„ã‚‹å¯èƒ½æ€§ã¯ãªã„ã‹ã‚‚。ãŸã ダメージé‡ã¨å‘½ä¸è£œæ£ä»¥å¤–ã¯æœ¬é¯–åˆã‚ã›) +・NPCスã‚ルã®ç¶æŒæ™‚é–“ã¯é©åº¦ã«è¨å®šã€‚ +・モンスターã®å±žæ€§æ”»æ’ƒã¨ã‚¬ã‚¤ãƒ‡ãƒƒãƒ‰ã‚¢ã‚¿ãƒƒã‚¯ãŒã‚»ã‚¤ãƒ•ãƒ†ã‚£ã‚¦ã‚©ãƒ¼ãƒ«ã‚’無視ã™ã‚‹ã¨ã®å ±å‘Šã‚’å—ã‘ãŸã®ã§ã™ãŒä¿®æ£ã™ã‚‹ã‹ã©ã†ã‹ã¯ã¡ã‚‡ã£ã¨å¾®å¦™ã€‚(スプラッシュアタックもセイフティウォール無視ã‹ã‚‚) (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - skill_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (map/) mob.c - mob_damage() C³B - clif.h C³B + mob_damage() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_skill_estimation()Aclif_damage()Aclif_skill_damage() C³B - clif_skill_damage2()Aclif_pet_performance() C³B + clif_skill_estimation()ã€clif_damage()ã€clif_skill_damage() ä¿®æ£ã€‚ + clif_skill_damage2()ã€clif_pet_performance() ä¿®æ£ã€‚ pet.c - pet_performance()Apet_target_check()Apet_hungry() C³B - skill.h C³B + pet_performance()ã€pet_target_check()ã€pet_hungry() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ skill.c - skill_additional_effect()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_status_change_start() C³B - battle.h C³B + skill_additional_effect()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_status_change_start() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_get_def()Abattle_get_mdef()Abattle_calc_damage() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_config_read() C³B + battle_get_def()ã€battle_get_mdef()ã€battle_calc_damage() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ -------------------- //0849 by lapis -EŠX’†‚̃eƒXƒgƒMƒ‹ƒhƒtƒ‰ƒO‚Ì•\Ž¦‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³B -EƒMƒ‹ƒhƒƒ“ƒo[‚ÍŠø‚©‚çƒAƒWƒg‚É”ò‚ׂé‚悤‚ÉC³B +・街ä¸ã®ãƒ†ã‚¹ãƒˆã‚®ãƒ«ãƒ‰ãƒ•ãƒ©ã‚°ã®è¡¨ç¤ºãŒãŠã‹ã—ã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +・ギルドメンãƒãƒ¼ã¯æ——ã‹ã‚‰ã‚¢ã‚¸ãƒˆã«é£›ã¹ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ (conf/gvg) - TEST_prtg_cas01_AbraiJ.txt C³B + TEST_prtg_cas01_AbraiJ.txt ä¿®æ£ã€‚ -------------------- //0848 by huge -EƒXƒLƒ‹Ž©”š‚ðAHP‚ª‘S‰ñ•œ‚µ‚Ä‚¢‚鎞‚ÍŽg‚¦‚È‚¢‚悤C³B -EƒXƒtƒBƒAƒ}ƒCƒ“EƒoƒCƒIƒvƒ‰ƒ“ƒgEEEƒ^[ƒQƒbƒg•ÏX‚Å‚«‚È‚¢...B -Emob‚Ƀ^[ƒQƒbƒg–³Ž‹ID‚ðÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B(Gv—pmob‚ÉŽg‚¦‚éH) +・スã‚ル自爆をã€HPãŒå…¨å›žå¾©ã—ã¦ã„る時ã¯ä½¿ãˆãªã„よã†ä¿®æ£ã€‚ +・スフィアマイン・ãƒã‚¤ã‚ªãƒ—ラント・・・ターゲット変更ã§ããªã„...。 +・mobã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆç„¡è¦–IDã‚’è¨å®šã§ãるよã†ã«ã—ã¾ã—ãŸã€‚(Gv用mobã«ä½¿ãˆã‚‹ï¼Ÿ) (map/) - map.h C³B - mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’ljÁB - mob.h C³B + map.h ä¿®æ£ã€‚ + mob_dataã« int exclusion_src,exclusion_party,exclusion_guild è¿½åŠ ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_exclusion_add() ’ljÁB - mob_exclusion_check() ’ljÁB - mob_timer_delete() ’ljÁB - mob_attack() C³B - mob_target() C³B - mob_ai_sub_hard_activesearch() C³B - mob_ai_sub_hard_mastersearch() C³B - mob_ai_sub_hard() C³B + mob_exclusion_add() è¿½åŠ ã€‚ + mob_exclusion_check() è¿½åŠ ã€‚ + mob_timer_delete() è¿½åŠ ã€‚ + mob_attack() ä¿®æ£ã€‚ + mob_target() ä¿®æ£ã€‚ + mob_ai_sub_hard_activesearch() ä¿®æ£ã€‚ + mob_ai_sub_hard_mastersearch() ä¿®æ£ã€‚ + mob_ai_sub_hard() ä¿®æ£ã€‚ skill.c - skill_castend_damage_id() C³B - skill_castend_pos2() C³B + skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_pos2() ä¿®æ£ã€‚ -------------------- -//0847 by Ž€_ +//0847 by æ»ç¥ž -E˜I“XƒoƒOC³B +・露店ãƒã‚°ä¿®æ£ã€‚ (map/) clif.c - clif_vendinglist()Aclif_openvending() C³B + clif_vendinglist()ã€clif_openvending() ä¿®æ£ã€‚ vending.c - vending_openvending() C³B + vending_openvending() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ -------------------- -//0846 by Ž€_ +//0846 by æ»ç¥ž -EƒoƒOC³‚Æׂ©‚¢C³B -Ebattle_athena.conf‚Ìenemy_str‚ªƒyƒbƒg‚É‚à“K—p‚·‚é‚悤‚É•ÏXB -EbHPDrainRate‚ÆbSPDrainRate‚Åx‚ªƒ}ƒCƒiƒX‚Å‚àì“®‚·‚é‚悤‚É•ÏXB -EPC‚âNPC‚ÌŽp‚ð‚µ‚½ƒ‚ƒ“ƒXƒ^[‚àŽ€‚Ê‚Æ5•bŒãƒ}ƒbƒv‚©‚çÁ‚¦‚é‚悤‚É•ÏXB +・ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã®enemy_strãŒãƒšãƒƒãƒˆã«ã‚‚é©ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・bHPDrainRateã¨bSPDrainRateã§xãŒãƒžã‚¤ãƒŠã‚¹ã§ã‚‚作動ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・PCã‚„NPCã®å§¿ã‚’ã—ãŸãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚‚æ»ã¬ã¨5秒後マップã‹ã‚‰æ¶ˆãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ (map/) battle.c - battle_calc_pet_weapon_attack()Abattle_weapon_attack() C³B + battle_calc_pet_weapon_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_castend_damage_id() C³B + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ pc.c - pc_allskillup() C³B - clif.h C³B + pc_allskillup() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_openvending()Ado_init_clif() C³B - clif_clearchar_delay()Aclif_clearchar_delay_sub() ’ljÁB + clif_openvending()ã€do_init_clif() ä¿®æ£ã€‚ + clif_clearchar_delay()ã€clif_clearchar_delay_sub() è¿½åŠ ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ -------------------- -//0845 by ‚Û‚Û‚Û +//0845 by ã½ã½ã½ -Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’肵‚½ƒyƒbƒg‚ªoŒ»‚µ‚½‚Æ‚«ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ª‚Å‚é‚Ì‚ðŽb’èC³B -Emob_avail.txt‚Ńyƒbƒg‚É‚àPCƒLƒƒƒ‰‚Ì«•ÊE”¯Œ^&FE•ŠíE‚E“ª‘•”õ‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B -EMOB‚ÌATKŒvŽZ‚ÉSTR‚ð“K—p‚·‚é‚©‚Ç‚¤‚©Ý’è‰Â”\‚É‚µ‚½B +・mob_avail.txtã§PCグラフィック(0〜23)を指定ã—ãŸãƒšãƒƒãƒˆãŒå‡ºç¾ã—ãŸã¨ãクライアントエラーãŒã§ã‚‹ã®ã‚’暫定修æ£ã€‚ +・mob_avail.txtã§ãƒšãƒƒãƒˆã«ã‚‚PCã‚ャラã®æ€§åˆ¥ãƒ»é«ªåž‹&色・æ¦å™¨ãƒ»ç›¾ãƒ»é 装備を指定ã§ãるよã†ã«ã—ã¾ã—ãŸã€‚ +・MOBã®ATK計算ã«STRã‚’é©ç”¨ã™ã‚‹ã‹ã©ã†ã‹è¨å®šå¯èƒ½ã«ã—ãŸã€‚ (map/) clif.c - clif_pet0078()Aclif_pet007b()Aclif_spawnpet()C³B - battle.hC³B + clif_pet0078()ã€clif_pet007b()ã€clif_spawnpet()ä¿®æ£ã€‚ + battle.hä¿®æ£ã€‚ battle.c - battle_config_read()Abattle_calc_mob_weapon_attack()C³B + battle_config_read()ã€battle_calc_mob_weapon_attack()ä¿®æ£ã€‚ -------------------- -//0844 by ‚Û‚Û‚Û +//0844 by ã½ã½ã½ -Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’肵‚½MOB‚ªoŒ»‚µ‚½‚Æ‚«ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ª‚Å‚é‚Ì‚ðŽb’èC³B -Emob_avail.txt‚ÅPCƒLƒƒƒ‰‚Ì«•ÊE”¯Œ^&FE•ŠíE‚E“ª‘•”õ‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B -@ƒOƒ‰ƒtƒBƒbƒN‚·‚è‘Ö‚¦æID‚ª0`23‚ÌŽž‚¾‚¯—LŒø‚ÅAŽw’è•û–@‚Í - MOB-ID,ƒOƒ‰ƒtƒBƒbƒN‚·‚è‘Ö‚¦æID,«•Ê(0=female,1=male),”¯Œ^,”¯F,•Ší,‚,ã’i“ª‘•”õ,’†’i“ª‘•”õ,‰º’i“ª‘•”õ -@‚Æ‚È‚è‚Ü‚·B‘•”õ‚Íitem_db‚ÌView—“ŽQÆ‚Ì‚±‚ÆB +・mob_avail.txtã§PCグラフィック(0〜23)を指定ã—ãŸMOBãŒå‡ºç¾ã—ãŸã¨ãクライアントエラーãŒã§ã‚‹ã®ã‚’暫定修æ£ã€‚ +・mob_avail.txtã§PCã‚ャラã®æ€§åˆ¥ãƒ»é«ªåž‹&色・æ¦å™¨ãƒ»ç›¾ãƒ»é 装備を指定ã§ãるよã†ã«ã—ã¾ã—ãŸã€‚ + グラフィックã™ã‚Šæ›¿ãˆå…ˆIDãŒ0〜23ã®æ™‚ã ã‘有効ã§ã€æŒ‡å®šæ–¹æ³•ã¯ + MOB-ID,グラフィックã™ã‚Šæ›¿ãˆå…ˆID,性別(0=female,1=male),髪型,髪色,æ¦å™¨,盾,上段é 装備,ä¸æ®µé 装備,下段é 装備 + ã¨ãªã‚Šã¾ã™ã€‚装備ã¯item_dbã®View欄å‚ç…§ã®ã“ã¨ã€‚ (map/) clif.c - clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()C³B - mob.hC³B + clif_mob_0078()ã€clif_mob007b()ã€clif_spawnmob()ä¿®æ£ã€‚ + mob.hä¿®æ£ã€‚ mob.c - mob_get_sex()Amob_get_hair()Amob_get_hair_color()Aob_get_weapon()A - mob_get_shield()Amob_get_head_top()Amob_get_head_mid()Amob_get_head_buttom()’ljÁB - mob_readdb()Amob_readdb_mobavail()C³B + mob_get_sex()ã€mob_get_hair()ã€mob_get_hair_color()ã€ob_get_weapon()〠+ mob_get_shield()ã€mob_get_head_top()ã€mob_get_head_mid()ã€mob_get_head_buttom()è¿½åŠ ã€‚ + mob_readdb()ã€mob_readdb_mobavail()ä¿®æ£ã€‚ -------------------- -//0843 by Ž€_ +//0843 by æ»ç¥ž -EƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒhŽÀ‘•B -EƒAƒCƒeƒ€ƒXƒNƒŠƒvƒg‚ÉbShortWeaponDamageReturn‚Æ -bLongWeaponDamageReturn ’ljÁB -E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚⑼‚ÌŠC³B +・リフレクトシールド実装。 +・アイテムスクリプトã«bShortWeaponDamageReturn㨠+bLongWeaponDamageReturn è¿½åŠ ã€‚ +・ãã®ä»–スã‚ル関係や他ã®æ‰€ä¿®æ£ã€‚ (db/) - item_db.txt C³B - skill_db.txt C³B - cast_db.txt C³B - const.txt C³B + item_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ + cast_db.txt ä¿®æ£ã€‚ + const.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ battle.c - battle_get_def()Abattle_get_def2()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack()Abattle_calc_magic_attack() C³B + battle_get_def()ã€battle_get_def2()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() C³B - pc_unequipitem()Apc_checkallowskill() C³B + pc_calcstatus()ã€pc_bonus()ã€pc_bonus2()ã€pc_equipitem() ä¿®æ£ã€‚ + pc_unequipitem()ã€pc_checkallowskill() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_unit_onplace()Askill_status_change_start() C³B - skill_status_change_end()Askill_status_change_timer() C³B - skill_castend_nodamage_id() C³B + skill_attack()ã€skill_unit_onplace()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ clif.c - clif_additem()Aclif_equiplist()Aclif_storageequiplist() C³B - clif_tradeadditem()Aclif_storageitemadded()Aclif_cart_additem() C³B - clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() C³B - clif_damage()Aclif_skill_damage()Aclif_parse_LoadEndAck() C³B + clif_additem()ã€clif_equiplist()ã€clif_storageequiplist() ä¿®æ£ã€‚ + clif_tradeadditem()ã€clif_storageitemadded()ã€clif_cart_additem() ä¿®æ£ã€‚ + clif_cart_equiplist()ã€clif_vendinglist()ã€clif_openvending() ä¿®æ£ã€‚ + clif_damage()ã€clif_skill_damage()ã€clif_parse_LoadEndAck() ä¿®æ£ã€‚ -------------------- -//0842 by Ž€_ +//0842 by æ»ç¥ž -EƒXƒLƒ‹ŠÖŒW‚ÌC³‚Æׂ©‚¢C³B -EaegisŽI‚ÅFX‚ÆŒŸØ‚µ‚½•¨‚ð“K—pB -EƒƒeƒI‚͈̔͂ð7*7ALoV13*13ASG11*11AFN5*5‚ÉC³B -EƒVƒOƒiƒ€ŽÀ‘•B(‚½‚¾PVP‚ŃvƒŒƒCƒ„[‚É‚©‚©‚é‚©‚Ç‚¤‚©‚ª‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å -‚©‚©‚é•ûŒü‚ÅŽÀ‘•B)‚±‚ê‚Å1ŽŸE‹Æ‚̃XƒLƒ‹‚̓NƒŠƒA‚©‚à... -E‘•”õƒXƒNƒŠƒvƒg‚ÉbHPDrainRate‚ÆbSPDrainRate’ljÁB -E‚»‚Ì‘¼×‚©‚¢C³‚µB +・スã‚ル関係ã®ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・aegis鯖ã§è‰²ã€…ã¨æ¤œè¨¼ã—ãŸç‰©ã‚’é©ç”¨ã€‚ +・メテオã®ç¯„囲を7*7ã€LoV13*13ã€SG11*11ã€FN5*5ã«ä¿®æ£ã€‚ +・シグナム実装。(ãŸã PVPã§ãƒ—レイヤーã«ã‹ã‹ã‚‹ã‹ã©ã†ã‹ãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§ +ã‹ã‹ã‚‹æ–¹å‘ã§å®Ÿè£…。)ã“ã‚Œã§1次è·æ¥ã®ã‚¹ã‚ルã¯ã‚¯ãƒªã‚¢ã‹ã‚‚... +・装備スクリプトã«bHPDrainRateã¨bSPDrainRateè¿½åŠ ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£å°‘ã—。 (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - item_db.txt C³B - const.txt C³B - (map/) - map.h C³B - skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - skill_unitsetting()Askill_castend_pos2()Askill_castend_id() C³B - skill_status_change_start()Askill_status_change_timer() C³B - skill_status_change_end()Askill_unit_onplace() C³B - skill_frostjoke_scream()Askill_attack() C³B - skill_attack_area() ’ljÁB + cast_db.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ + const.txt ä¿®æ£ã€‚ + (map/) + map.h ä¿®æ£ã€‚ + skill.c + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_unitsetting()ã€skill_castend_pos2()ã€skill_castend_id() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_frostjoke_scream()ã€skill_attack() ä¿®æ£ã€‚ + skill_attack_area() è¿½åŠ ã€‚ battle.c - battle_calc_magic_attack()Abattle_get_element()Abattle_get_def() C³B - battle_get_def2()Abattle_get_mdef()Abattle_damage() C³B - battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack() C³B + battle_calc_magic_attack()ã€battle_get_element()ã€battle_get_def() ä¿®æ£ã€‚ + battle_get_def2()ã€battle_get_mdef()ã€battle_damage() ä¿®æ£ã€‚ + battle_calc_damage()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack() ä¿®æ£ã€‚ mob.c - mobskill_castend_id() C³B + mobskill_castend_id() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus2()Apc_attack_timer() C³B + pc_calcstatus()ã€pc_bonus2()ã€pc_attack_timer() ä¿®æ£ã€‚ clif.c - clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() C³B - clif_parse_ActionRequest() C³B + clif_spawnmob()ã€clif_spawnpet()ã€clif_spawnnpc() ä¿®æ£ã€‚ + clif_parse_ActionRequest() ä¿®æ£ã€‚ -------------------- //0841 by Kalen -E…—n‰t‚ªì‚ê‚È‚©‚Á‚½‚̂ŒljÁ +・水溶液ãŒä½œã‚Œãªã‹ã£ãŸã®ã§è¿½åŠ conf/npc/npc_job_magician.txt -------------------- //0840 by Kalen -E‹SƒCƒxƒ“ƒg’ljÁ +ãƒ»é¬¼ã‚¤ãƒ™ãƒ³ãƒˆè¿½åŠ conf/npc/npc_event_oni.txt -Emap_athena.confC³(ƒoƒŒƒ“ƒ^ƒCƒ“ƒRƒƒ“ƒgƒAƒEƒgB‹S’ljÁ) +・map_athena.confä¿®æ£(ãƒãƒ¬ãƒ³ã‚¿ã‚¤ãƒ³ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã€‚é¬¼è¿½åŠ ) conf/map_athena.conf -------------------- //0839 by shuto -EƒRƒ“ƒƒ“NPC’ljÁ(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚ª”²‚¯‚Ä‚½) +・コンãƒãƒ³NPCè¿½åŠ (カン ソンソンãŒæŠœã‘ã¦ãŸ) -------------------- -//0838 by Ž€_ +//0838 by æ»ç¥ž -EƒXƒLƒ‹ƒTƒCƒgƒ‰ƒbƒVƒƒ[ŽÀ‘•B -Eƒ‚ƒ“ƒXƒ^[‚̃Nƒ[ƒLƒ“ƒO‚ƃ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ÍŽ‘±ŽžŠÔ‚ðƒŒƒxƒ‹*5•b‚É•ÏXB -E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B +・スã‚ルサイトラッシャー実装。 +・モンスターã®ã‚¯ãƒãƒ¼ã‚ングã¨ãƒžã‚シマイズパワーã¯æŒç¶šæ™‚間をレベル*5秒ã«å¤‰æ›´ã€‚ +・ãã®ä»–ç´°ã‹ã„ãƒã‚°ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (map/) skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - skill_castend_pos2()Askill_unitsetting()Askill_get_unit_id() C³B - skill_status_change_start() C³B + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_castend_pos2()ã€skill_unitsetting()ã€skill_get_unit_id() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ battle.c - battle_calc_magic_attack() C³B + battle_calc_magic_attack() ä¿®æ£ã€‚ -------------------- -//0837 by Ž€_ +//0837 by æ»ç¥ž -EƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B -EƒtƒƒXƒgƒmƒ”ƒ@‚ðƒ†ƒjƒbƒgÝ’uŽ®‚É•ÏXB -Eƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“‚͈̔͂ð11*11‚ÉC³‚Æ40ƒqƒbƒg‚·‚é‚悤‚É•ÏXB(ƒ‰ƒOƒiƒQ[ƒg‚Ìî•ñB -13*13à‚à‚ ‚è‚Ü‚·‚ª...) -Eƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[‚̃mƒbƒNƒoƒbƒN‚ð2~7‚É•ÏXB -EƒXƒg[ƒ€ƒKƒXƒg‚ÌUŒ‚‰ñ”‚ðƒŒƒxƒ‹ˆË‘¶‚©‚ç10‰ñ‚ɌŒèB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚̃mƒbƒNƒoƒbƒN‚ð3‚©‚ç2‚É•ÏXB(aegisŽI‚ŃmƒbƒNƒoƒbƒN‚ª‚ ‚邱‚Æ‚ÍŠm”F‚µ‚Ü‚µ‚½‚ª‚Ç‚ê‚®‚ç‚¢‚È‚Ì‚©‚ª•s–¾‚¾‚Á‚½‚Ì‚Å‚µŒ¸‚炵‚Ä‚Ý‚Ü‚µ‚½B) -Eƒ‚ƒ“ƒXƒ^[‚̉r¥ŽžŠÔ‚ª‘‚‚È‚Á‚Ä‚¢‚½–â‘èC³B(dex•â³‚ª“ü‚Á‚Ä‚µ‚Ü‚Á‚½‚¹‚¢‚Å‚·B) -E‚»‚Ì‘¼ƒI[ƒgƒXƒyƒ‹“–‚½‚è‚Ìׂ©‚¢C³B +・スã‚ル関係ã®ç´°ã‹ã„ä¿®æ£ã€‚ +・フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ã‚’ユニットè¨ç½®å¼ã«å¤‰æ›´ã€‚ +・ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオンã®ç¯„囲を11*11ã«ä¿®æ£ã¨40ヒットã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(ラグナゲートã®æƒ…å ±ã€‚ +13*13説もã‚ã‚Šã¾ã™ãŒ...) +・ユピテルサンダーã®ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ã‚’2~7ã«å¤‰æ›´ã€‚ +・ストームガストã®æ”»æ’ƒå›žæ•°ã‚’レベルä¾å˜ã‹ã‚‰10回ã«å›ºå®šã€‚ +・サンクãƒãƒ¥ã‚¢ãƒªã®ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ã‚’3ã‹ã‚‰2ã«å¤‰æ›´ã€‚(aegis鯖ã§ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ãŒã‚ã‚‹ã“ã¨ã¯ç¢ºèªã—ã¾ã—ãŸãŒã©ã‚Œãらã„ãªã®ã‹ãŒä¸æ˜Žã ã£ãŸã®ã§å°‘ã—減らã—ã¦ã¿ã¾ã—ãŸã€‚) +・モンスターã®è© 唱時間ãŒæ—©ããªã£ã¦ã„ãŸå•é¡Œä¿®æ£ã€‚(dex補æ£ãŒå…¥ã£ã¦ã—ã¾ã£ãŸã›ã„ã§ã™ã€‚) +・ãã®ä»–オートスペル当ãŸã‚Šã®ç´°ã‹ã„ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (map/) skill.c - skill_castfix()Askill_delayfix()Askill_timerskill() C³B - skill_castend_pos2()Askill_unitsetting()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_get_unit_id()Askill_attack() C³B + skill_castfix()ã€skill_delayfix()ã€skill_timerskill() ä¿®æ£ã€‚ + skill_castend_pos2()ã€skill_unitsetting()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_get_unit_id()ã€skill_attack() ä¿®æ£ã€‚ battle.c - battle_calc_magic_attack()Abattle_weapon_attack() C³B + battle_calc_magic_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ -------------------- -//0836 by Žß‘¸ +//0836 by 釈尊 -Eƒ‚ƒ“ƒXƒ^[‚ÌŽæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚𒆃{ƒXˆÈŠOŠ®‘SC³B +・モンスターã®å–ã‚Šå·»ãå¬é‚„ã®é–“隔をä¸ãƒœã‚¹ä»¥å¤–完全修æ£ã€‚ (db/) - mob_skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ -------------------- -//0835 by (“Ê) +//0835 by (凸) -E”’nŽæ‚è‚Ń|[ƒY‚ð‚Æ‚é‚悤‚É‚µ‚½B -(ƒ|[ƒY‚¾‚¯‚È‚Ì‚ÅAŽÀÛ‚ÉUŒ‚‚ðŽó‚¯Ž~‚ß‚½‚è‚Í‚Å‚«‚Ü‚¹‚ñ) -clif_bladestop()‚ðŒÄ‚Ô‚±‚Æ‚Å”’nŽæ‚èó‘Ô‚ÌONAOFF‚̃pƒPƒbƒg‚ª‘—‚ê‚Ü‚·B +・白刃å–ã‚Šã§ãƒãƒ¼ã‚ºã‚’ã¨ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ +(ãƒãƒ¼ã‚ºã ã‘ãªã®ã§ã€å®Ÿéš›ã«æ”»æ’ƒã‚’å—ã‘æ¢ã‚ãŸã‚Šã¯ã§ãã¾ã›ã‚“) +clif_bladestop()を呼ã¶ã“ã¨ã§ç™½åˆƒå–り状態ã®ONã€OFFã®ãƒ‘ケットãŒé€ã‚Œã¾ã™ã€‚ (map/) - clif.h C³B + clif.h ä¿®æ£ã€‚ clif,c - clif_bladestop() ’ljÁ + clif_bladestop() è¿½åŠ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ -------------------- -//0834 by Žß‘¸ +//0834 by 釈尊 -Eƒ‚ƒ“ƒXƒ^[Žæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚ª’Z‚·‚¬‚é‚Æ‚ÌŽ–‚ʼnž‹}ˆ’uB(¡‰ñ‚͉©‹à峂̂Ý) +・モンスターå–ã‚Šå·»ãå¬é‚„ã®é–“éš”ãŒçŸã™ãŽã‚‹ã¨ã®äº‹ã§å¿œæ€¥å‡¦ç½®ã€‚(今回ã¯é»„金蟲ã®ã¿) (db/) - mob_skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ -------------------- -//0833 by (“Ê) +//0833 by (凸) -Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ÌC³B -E‚‚¢‚Å‚Éitem_db‚ðXVB +・memoç¦æ¢åœ°åŸŸã§/memo時ã®ä¿®æ£ã€‚ +・ã¤ã„ã§ã«item_dbを更新。 (doc/) client_packet.txt - R 0189 XVB + R 0189 更新。 (db/) - item_db.txt ÅV”Å‚ÖXVB + item_db.txt 最新版ã¸æ›´æ–°ã€‚ (map/) pc.c - pc_memo() C³B + pc_memo() ä¿®æ£ã€‚ -------------------- -//0832 by Ž€_ +//0832 by æ»ç¥ž -EƒR[ƒhÅ“K‰»‚Æׂ©‚¢C³B -EƒI[ƒgƒXƒyƒ‹‚ð’n–Ê–‚–@‚ɑΉžB -EƒTƒ“ƒ_[ƒXƒg[ƒ€‚ƃwƒ”ƒ“ƒYƒhƒ‰ƒCƒu‚ðƒ†ƒjƒbƒgÝ’uŽ®‚É•ÏXB -EƒfƒBƒtƒFƒ“ƒ_[‚ÌUŒ‚‘¬“x’ቺ‚ð–{ŽI‚É‚ ‚킹B -E‚»‚Ì‘¼×‚©‚¢C³B +・コード最é©åŒ–ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・オートスペルを地é¢é”法ã«å¯¾å¿œã€‚ +・サンダーストームã¨ãƒ˜ãƒ´ãƒ³ã‚ºãƒ‰ãƒ©ã‚¤ãƒ–をユニットè¨ç½®å¼ã«å¤‰æ›´ã€‚ +・ディフェンダーã®æ”»æ’ƒé€Ÿåº¦ä½Žä¸‹ã‚’本鯖ã«ã‚ã‚ã›ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ (db/) - skill_require_db.txt C³B - cast_db.txt C³B + skill_require_db.txt ä¿®æ£ã€‚ + cast_db.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ path.c - calc_index()Apath_search() C³B + calc_index()ã€path_search() ä¿®æ£ã€‚ skill.c - skill_unitsetting()Askill_castend_pos2()Askill_get_unit_id() C³B - skill_status_change_timer_sub()Askill_castend_nodamage_id() C³B - skill_additional_effect()Askill_frostjoke_scream() C³B + skill_unitsetting()ã€skill_castend_pos2()ã€skill_get_unit_id() ä¿®æ£ã€‚ + skill_status_change_timer_sub()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_additional_effect()ã€skill_frostjoke_scream() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_skill()Apc_allskillup() C³B + pc_calcstatus()ã€pc_skill()ã€pc_allskillup() ä¿®æ£ã€‚ battle.c - battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() C³B - battle_weapon_attack() C³B + battle_get_speed()ã€battle_get_adelay()ã€battle_get_amotion() ä¿®æ£ã€‚ + battle_weapon_attack() ä¿®æ£ã€‚ -------------------- -//0831 by Ž€_ +//0831 by æ»ç¥ž -E‚µC³B -EƒI[ƒgƒXƒyƒ‹C³B‘•”õ‚É‚æ‚镨‚ƃXƒLƒ‹‚É‚æ‚镨‚ð•ÊX‚É“K—pA”“®Šm—¦C³B -E‘•”õ‚É‚æ‚éƒI[ƒgƒXƒyƒ‹‚ÍŽw’肵‚½ƒŒƒxƒ‹‚æ‚è2‚‰º‚Ü‚Å”»’è‚ð‚µ‚Ü‚·B‚‚܂背ƒxƒ‹5‚ðÝ’è‚·‚é‚ƃŒƒxƒ‹3‚©‚ç5‚Ü‚Å”“®‚µ‚Ü‚·B -Ebattle_athana.conf‚Ìplayer_cloak_check_wallAmonster_cloak_check_wall‚ðplayer_cloak_check_typeAmonster_cloak_check_type‚É•ÏXB -EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒÀŽžŠÔ‚ð–{ŽI‚ɇ‚킹‚ÄC³B -E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B +・少ã—ä¿®æ£ã€‚ +・オートスペル修æ£ã€‚装備ã«ã‚ˆã‚‹ç‰©ã¨ã‚¹ã‚ルã«ã‚ˆã‚‹ç‰©ã‚’別々ã«é©ç”¨ã€ç™ºå‹•ç¢ºçŽ‡ä¿®æ£ã€‚ +・装備ã«ã‚ˆã‚‹ã‚ªãƒ¼ãƒˆã‚¹ãƒšãƒ«ã¯æŒ‡å®šã—ãŸãƒ¬ãƒ™ãƒ«ã‚ˆã‚Š2ã¤ä¸‹ã¾ã§åˆ¤å®šã‚’ã—ã¾ã™ã€‚ã¤ã¾ã‚Šãƒ¬ãƒ™ãƒ«5ã‚’è¨å®šã™ã‚‹ã¨ãƒ¬ãƒ™ãƒ«3ã‹ã‚‰5ã¾ã§ç™ºå‹•ã—ã¾ã™ã€‚ +・battle_athana.confã®player_cloak_check_wallã€monster_cloak_check_wallã‚’player_cloak_check_typeã€monster_cloak_check_typeã«å¤‰æ›´ã€‚ +・アイテムルート権é™æ™‚間を本鯖ã«åˆã‚ã›ã¦ä¿®æ£ã€‚ +・ãã®ä»–スã‚ル関係ã®ç´°ã‹ã„ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - db_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + db_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (conf/) - battle_athana.conf C³B + battle_athana.conf ä¿®æ£ã€‚ (db/) - item_db.txt C³B + item_db.txt ä¿®æ£ã€‚ (map/) map.h map.c - block_free_maxABL_LIST_MAX C³B - skill.h C³B - skill.c - skill_additional_effect()Askill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_unit_onplace() C³B - skill_status_change_end()Askill_status_change_start() C³B - skill_initunitgroup()Askill_unitsetting()Askill_castfix() C³B - skill_delayfix()Askill_autospell()Askill_use_id()Askill_use_pos() C³B - skill_check_cloaking()Askill_unit_timer_sub()Askill_check_condition() C³B - battle.h C³B + block_free_maxã€BL_LIST_MAX ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_additional_effect()ã€skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_initunitgroup()ã€skill_unitsetting()ã€skill_castfix() ä¿®æ£ã€‚ + skill_delayfix()ã€skill_autospell()ã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_check_cloaking()ã€skill_unit_timer_sub()ã€skill_check_condition() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_damage()Abattle_get_agi()Abattle_get_speed() C³B - battle_get_adelay()Abattle_get_amotion()Abattle_get_flee() C³B - battle_weapon_attack()Abattle_calc_magic_attack() C³B - battle_config_read() C³B + battle_damage()ã€battle_get_agi()ã€battle_get_speed() ä¿®æ£ã€‚ + battle_get_adelay()ã€battle_get_amotion()ã€battle_get_flee() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ mob.c - mob_attack()Amob_damage()Amobskill_use_id() C³B - mobskill_use_pos()Amob_spawn()Amob_class_change() C³B - mob_can_move() C³B - pc.c - pc_attack_timer()Apc_checkweighticon()Apc_calcstatus() C³B - pc_damage()Apc_equipitem()Apc_unequipitem() C³B - pc_bonus2()Apc_bonus3()Apc_memo()Apc_authok() C³B - pc_isUseitem() C³B - clif.h C³B + mob_attack()ã€mob_damage()ã€mobskill_use_id() ä¿®æ£ã€‚ + mobskill_use_pos()ã€mob_spawn()ã€mob_class_change() ä¿®æ£ã€‚ + mob_can_move() ä¿®æ£ã€‚ + pc.c + pc_attack_timer()ã€pc_checkweighticon()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_damage()ã€pc_equipitem()ã€pc_unequipitem() ä¿®æ£ã€‚ + pc_bonus2()ã€pc_bonus3()ã€pc_memo()ã€pc_authok() ä¿®æ£ã€‚ + pc_isUseitem() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() C³B - clif_skill_memo() C³B - clif_skill_teleportmessage() ’ljÁB + clif_changeoption()ã€clif_parse_LoadEndAck()ã€clif_autospell() ä¿®æ£ã€‚ + clif_skill_memo() ä¿®æ£ã€‚ + clif_skill_teleportmessage() è¿½åŠ ã€‚ script.c - buildin_sc_start() C³B + buildin_sc_start() ä¿®æ£ã€‚ atcommnad.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ -------------------- //0830 by huge -EƒI[ƒgƒXƒyƒ‹‚ÅAŽ©•ª‚ÌK“¾‚µ‚Ă郌ƒxƒ‹‚æ‚è‚à‚‚¢ƒŒƒxƒ‹‚Å - –‚–@‚ª”“®‚µ‚Ä‚¢‚½‚Å‚ ‚낤–â‘è‚ðC³B -EƒI[ƒgƒXƒyƒ‹‚Å‚àA‚¿‚á‚ñ‚ÆSP‚ªŒ¸‚é‚悤‚ÉC³(‚Ç–Y‚ê) +・オートスペルã§ã€è‡ªåˆ†ã®ç¿’å¾—ã—ã¦ã‚‹ãƒ¬ãƒ™ãƒ«ã‚ˆã‚Šã‚‚高ã„レベル㧠+ é”法ãŒç™ºå‹•ã—ã¦ã„ãŸã§ã‚ã‚ã†å•é¡Œã‚’ä¿®æ£ã€‚ +・オートスペルã§ã‚‚ã€ã¡ã‚ƒã‚“ã¨SPãŒæ¸›ã‚‹ã‚ˆã†ã«ä¿®æ£(ã©å¿˜ã‚Œ) (map/) battle.c - battle_weapon_attack() C³B + battle_weapon_attack() ä¿®æ£ã€‚ skill.c - skill_autospell() C³B + skill_autospell() ä¿®æ£ã€‚ -------------------- //0829 by Kalen -Emob_dbC³ - Ž©ŽI—p‚Ì‚ÆŠÔˆá‚Á‚ÄUP‚µ‚Ä‚µ‚Ü‚Á‚½‚悤‚Å‚·B - –{—ˆ‚Ì‚à‚Ì‚É’¼‚µ‚Ü‚µ‚½B +・mob_dbä¿®æ£ + 自鯖用ã®ã¨é–“é•ã£ã¦UPã—ã¦ã—ã¾ã£ãŸã‚ˆã†ã§ã™ã€‚ + 本æ¥ã®ã‚‚ã®ã«ç›´ã—ã¾ã—ãŸã€‚ -------------------- -//0828 by ¹ +//0828 by è– -EƒT[ƒo‚ÌSnapshot -EMVPƒ{ƒXŒn‚©‚çƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚ª‘å—Ê‚Éo‚Ä‚¢‚½–â‘è‚ðC³B +・サーãƒã®Snapshot +・MVPボス系ã‹ã‚‰ãƒã‚«ãƒ³ã‚¹ãƒã‚±ãƒƒãƒˆãŒå¤§é‡ã«å‡ºã¦ã„ãŸå•é¡Œã‚’ä¿®æ£ã€‚ (common/) - version.h C³B + version.h ä¿®æ£ã€‚ (db/) - mob_db.txt C³B + mob_db.txt ä¿®æ£ã€‚ -------------------- //0827 by J -EŒÅ’èMOB‚Ì‚Í‚¸‚̃ƒKƒŠƒX‚Æl–Ê“Ž÷‚ª•à‚¢‚Ä‚¢‚½‚Ì‚ðC³B -E“¬‹Zê‚ÌMOB‚ɃXƒLƒ‹‚ðŽÀ‘•B -EƒpƒTƒi‚ƃtƒ@ƒ‰ƒI‚ªƒXƒLƒ‹‚ªÝ’肳‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðŽÀ‘•B +・固定MOBã®ã¯ãšã®ãƒ¡ã‚¬ãƒªã‚¹ã¨äººé¢æ¡ƒæ¨¹ãŒæ©ã„ã¦ã„ãŸã®ã‚’ä¿®æ£ã€‚ +ãƒ»é—˜æŠ€å ´ã®MOBã«ã‚¹ã‚ルを実装。 +・パサナã¨ãƒ•ã‚¡ãƒ©ã‚ªãŒã‚¹ã‚ルãŒè¨å®šã•ã‚Œã¦ã„ãªã‹ã£ãŸã®ã‚’実装。 (db/) - mob_db.txt C³B - mob_skill_db.txt C³B + mob_db.txt ä¿®æ£ã€‚ + mob_skill_db.txt ä¿®æ£ã€‚ -------------------- -//0826 by ‚Ò‚´‚Ü‚ñ +//0826 by ã´ã–ã¾ã‚“ -Eˆê•”‚̉‰‘tƒXƒLƒ‹‚ðŽg‚¤‚ÆŽI‚ª—Ž‚¿‚éƒoƒOC³B -EƒNƒ[ƒLƒ“ƒO’†‚ɃXƒLƒ‹‚ðŽg—p‚Å‚«A -@Žg—p‚·‚é‚ƃNƒ[ƒLƒ“ƒO‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B -EKalen‚³‚ñ‚Ìmob_db.txt‚ð‚Ü‚Æ‚ß‚Ü‚µ‚½B +・一部ã®æ¼”å¥ã‚¹ã‚ルを使ã†ã¨é¯–ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ã€‚ +・クãƒãƒ¼ã‚ングä¸ã«ã‚¹ã‚ルを使用ã§ã〠+ 使用ã™ã‚‹ã¨ã‚¯ãƒãƒ¼ã‚ングãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・Kalenã•ã‚“ã®mob_db.txtã‚’ã¾ã¨ã‚ã¾ã—ãŸã€‚ (map/) skill.c - skill_unit_onplace()Askill_unit_onout() C³B - skill_status_change_start()Askill_status_change_timer() C³B - skill_use_id()Askill_use_pos() C³B + skill_unit_onplace()ã€skill_unit_onout() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ (db/) - mob_db.txt C³B + mob_db.txt ä¿®æ£ã€‚ -------------------- -//0825 by Ž€_ +//0825 by æ»ç¥ž -Eׂ©‚¢C³B(ׂ©‚¢‚±‚Æ‚Ì‚í‚è‚É‚ÍC³‚µ‚½Š‚ª‘½‚¢‚¯‚Ç...) -Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ì’†‚ÉŽ~‚Ü‚Á‚½ŽžˆÈŠO‚̓[ƒv‚µ‚È‚¢‚悤‚ÉC³B -Ebattle_athena.conf‚Éplayer_skill_nofootsetAmonster_skill_nofootset ’ljÁB -ENPC‚ðƒNƒŠƒbƒN‚µ‚½Œã˜I“X‚ðƒNƒŠƒbƒN‚µ‚ĘI“X‚ð•Â‚¶‚é‚Æ“®‚¯‚È‚‚È‚éƒoƒOC³B -‚½‚¾˜I“X‚ð•Â‚¶‚鎞‰½‚̃pƒPƒbƒg‚à“]‘—‚µ‚Ä‚±‚È‚¢‚̂ŘI“X‚ðƒNƒŠƒbƒN‚·‚é‚ÆNPC‚̈—‚©‚甲‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B(–{ŽI‚Å‚ÍNPC‚̈—‚ª”²‚¯‚È‚¢‚炵‚¢‚Å‚·‚ª‚»‚êˆÈŠO•û–@‚ª‚È‚©‚Á‚½‚Ì‚Á‚ÅB) -Ekillmonster‚ÌAll‚Å¢Š«‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚¾‚¯Á‚·‚悤‚É•ÏXB -Eƒ\[ƒXÅ“K‰»‚âƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³‘½”B +・細ã‹ã„ä¿®æ£ã€‚(ç´°ã‹ã„ã“ã¨ã®ã‚ã‚Šã«ã¯ä¿®æ£ã—ãŸæ‰€ãŒå¤šã„ã‘ã©...) +・ワープãƒãƒ¼ã‚¿ãƒ«ã®ä¸ã«æ¢ã¾ã£ãŸæ™‚以外ã¯ãƒ¯ãƒ¼ãƒ—ã—ãªã„よã†ã«ä¿®æ£ã€‚ +・battle_athena.confã«player_skill_nofootsetã€monster_skill_nofootset è¿½åŠ ã€‚ +・NPCをクリックã—ãŸå¾Œéœ²åº—をクリックã—ã¦éœ²åº—ã‚’é–‰ã˜ã‚‹ã¨å‹•ã‘ãªããªã‚‹ãƒã‚°ä¿®æ£ã€‚ +ãŸã 露店を閉ã˜ã‚‹æ™‚何ã®ãƒ‘ケットも転é€ã—ã¦ã“ãªã„ã®ã§éœ²åº—をクリックã™ã‚‹ã¨NPCã®å‡¦ç†ã‹ã‚‰æŠœã‘るよã†ã«ã—ã¾ã—ãŸã€‚(本鯖ã§ã¯NPCã®å‡¦ç†ãŒæŠœã‘ãªã„らã—ã„ã§ã™ãŒãれ以外方法ãŒãªã‹ã£ãŸã®ã£ã§ã€‚) +・killmonsterã®Allã§å¬å–šã•ã‚ŒãŸãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã ã‘消ã™ã‚ˆã†ã«å¤‰æ›´ã€‚ +・ソース最é©åŒ–やスã‚ル関係ã®ç´°ã‹ã„ä¿®æ£å¤šæ•°ã€‚ (doc/) - conf_ref.txt C³B - db_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + db_ref.txt ä¿®æ£ã€‚ (conf/) - battle_athana.conf C³B - atcommnad_athena.conf C³B + battle_athana.conf ä¿®æ£ã€‚ + atcommnad_athena.conf ä¿®æ£ã€‚ (db/) - item_db.txt C³B - skill_db.txt C³B + item_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (login/) - parse_fromchar() C³B + parse_fromchar() ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ clif.c - clif_closevendingboard()Aclif_parse_VendingListReq() C³B - clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() C³B - skill.h C³B - skill.c - skill_check_condition()Askill_castend_pos2() C³B - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - skill_castend_id()Askill_status_change_start()Askill_castfix() C³B - skill_delayfix()Askill_check_unit_range_sub() C³B - skill_check_unit_range()Askill_castend_pos()Askill_stop_dancing() C³B - skill_unit_onplace()Askill_readdb()Askill_timerskill()Askill_blown() C³B - skill_check_unit_range2_sub()Askill_check_unit_range2() ’ljÁB - skill_get_maxcount() ’ljÁB + clif_closevendingboard()ã€clif_parse_VendingListReq() ä¿®æ£ã€‚ + clif_mob0078()ã€clif_mob007b()ã€clif_pet0078()ã€clif_pet007b() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_check_condition()ã€skill_castend_pos2() ä¿®æ£ã€‚ + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_status_change_start()ã€skill_castfix() ä¿®æ£ã€‚ + skill_delayfix()ã€skill_check_unit_range_sub() ä¿®æ£ã€‚ + skill_check_unit_range()ã€skill_castend_pos()ã€skill_stop_dancing() ä¿®æ£ã€‚ + skill_unit_onplace()ã€skill_readdb()ã€skill_timerskill()ã€skill_blown() ä¿®æ£ã€‚ + skill_check_unit_range2_sub()ã€skill_check_unit_range2() è¿½åŠ ã€‚ + skill_get_maxcount() è¿½åŠ ã€‚ mob.c - mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() C³B - mob_stop_walking()Amob_walk()Amob_damage() C³B + mobskill_castend_id()ã€mobskill_castend_pos()ã€mob_deleteslave() ä¿®æ£ã€‚ + mob_stop_walking()ã€mob_walk()ã€mob_damage() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_checkskill()Apc_stop_walking() C³B - pc_walk()Apc_damage() C³B + pc_calcstatus()ã€pc_checkskill()ã€pc_stop_walking() ä¿®æ£ã€‚ + pc_walk()ã€pc_damage() ä¿®æ£ã€‚ npc.c - npc_touch_areanpc() C³B + npc_touch_areanpc() ä¿®æ£ã€‚ pet.c - pet_stop_walking() C³B + pet_stop_walking() ä¿®æ£ã€‚ script.c - buildin_killmonster()Abuildin_killmonster_sub() C³B + buildin_killmonster()ã€buildin_killmonster_sub() ä¿®æ£ã€‚ battle.h battle.c - battle_calc_magic_attack()Abattle_get_flee()Abattle_get_flee2() C³B - battle_get_adelay()Abattle_get_amotion()Abattle_get_max_hp() C³B - battle_get_hit()Abattle_get_critical()Abattle_get_atk2() C³B - battle_damage()Abattle_config_read() C³B - atcommand.h C³B - atcommand.c C³B + battle_calc_magic_attack()ã€battle_get_flee()ã€battle_get_flee2() ä¿®æ£ã€‚ + battle_get_adelay()ã€battle_get_amotion()ã€battle_get_max_hp() ä¿®æ£ã€‚ + battle_get_hit()ã€battle_get_critical()ã€battle_get_atk2() ä¿®æ£ã€‚ + battle_damage()ã€battle_config_read() ä¿®æ£ã€‚ + atcommand.h ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ -------------------- -//0824 by ‚Ò‚´‚Ü‚ñ +//0824 by ã´ã–ã¾ã‚“ -EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Eƒjƒ…[ƒ}‚Ì‘«Œ³’u‚«‚ª‚Å‚«‚È‚©‚Á‚½–â‘èC³B -EƒGƒ“ƒyƒŠƒEƒ€‚Ƀq[ƒ‹“™‚ÌŽx‰‡ƒXƒLƒ‹‚ªŒø‚¢‚Ä‚¢‚½–â‘èC³B -E“¬‹Zê‚Ń‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ª‚Å‚«‚È‚©‚Á‚½–â‘èC³B -@killmonster‚Í"killmonster <mapname>,<eventname>"‚Æ‹Lq‚µ‚Ä -@ŠY“–eventname‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð휂µ‚Ü‚·‚ª -@eventname‚ÉAll‚Æ“ü‚ê‚é‚ÆŠY“–MAP‚Ì‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B +・セイフティウォール・ニューマã®è¶³å…ƒç½®ããŒã§ããªã‹ã£ãŸå•é¡Œä¿®æ£ã€‚ +・エンペリウムã«ãƒ’ールç‰ã®æ”¯æ´ã‚¹ã‚ルãŒåŠ¹ã„ã¦ã„ãŸå•é¡Œä¿®æ£ã€‚ +ãƒ»é—˜æŠ€å ´ã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãƒªã‚»ãƒƒãƒˆãŒã§ããªã‹ã£ãŸå•é¡Œä¿®æ£ã€‚ + killmonsterã¯"killmonster <mapname>,<eventname>"ã¨è¨˜è¿°ã—㦠+ 該当eventnameã‚’æŒã¤ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’削除ã—ã¾ã™ãŒ + eventnameã«Allã¨å…¥ã‚Œã‚‹ã¨è©²å½“MAPã®å…¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’消去ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ (map/) skill.c - skill_check_unit_range_sub()Askill_castend_nodamage_id() C³B + skill_check_unit_range_sub()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ script.c - buildin_killmonster()Abuildin_killmonster_sub() C³B + buildin_killmonster()ã€buildin_killmonster_sub() ä¿®æ£ã€‚ (conf/npc/) - npc_event_tougijou.txt C³B + npc_event_tougijou.txt ä¿®æ£ã€‚ -------------------- //0823 by Kalen -E“¬‹Zêƒf[ƒ^‘µ‚Á‚½‚Ì‚ÅAŠ®¬ +ãƒ»é—˜æŠ€å ´ãƒ‡ãƒ¼ã‚¿æƒã£ãŸã®ã§ã€å®Œæˆ conf/npc/npc_event_tougijou.txt - ‚½‚¾‚µA‚±‚¿‚ç‚Ń`ƒFƒbƒN‚µ‚½‚Æ‚±‚ëkillmonster‚ª‚¤‚Ü‚‚¢‚©‚¸A - Ž¸”sAŽžŠÔ؂ꂵ‚½ê‡ƒ‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ªo—ˆ‚Ü‚¹‚ñB - ƒCƒxƒ“ƒg‚ªÝ’肳‚ê‚Ä‚¢‚郂ƒ“ƒXƒ^[‚͈—‚Å‚«‚È‚¢‚Ì‚©‚ÆŽv‚¢‚Ü‚µ‚½‚ª - Agit‚Ì‚Ù‚¤‚̃Gƒ“ƒy‚ÌKillmonster‚Í‚¿‚á‚ñ‚Æ“®‚¢‚Ä‚Ü‚·‚µc - Œ´ˆö•ª‚©‚é•û‚¨Šè‚¢‚µ‚Ü‚·<(_ _)> + ãŸã ã—ã€ã“ã¡ã‚‰ã§ãƒã‚§ãƒƒã‚¯ã—ãŸã¨ã“ã‚killmonsterãŒã†ã¾ãã„ã‹ãšã€ + 失敗ã€æ™‚間切れã—ãŸå ´åˆãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãƒªã‚»ãƒƒãƒˆãŒå‡ºæ¥ã¾ã›ã‚“。 + イベントãŒè¨å®šã•ã‚Œã¦ã„るモンスターã¯å‡¦ç†ã§ããªã„ã®ã‹ã¨æ€ã„ã¾ã—ãŸãŒ + Agitã®ã»ã†ã®ã‚¨ãƒ³ãƒšã®Killmonsterã¯ã¡ã‚ƒã‚“ã¨å‹•ã„ã¦ã¾ã™ã—… + åŽŸå› åˆ†ã‹ã‚‹æ–¹ãŠé¡˜ã„ã—ã¾ã™<(_ _)> -Egon_test‚Ìmapflag’ljÁ +・gon_testã®mapflagè¿½åŠ conf/mapflag.txt -Emob_dbXV - 1419`1491‚ªŠù‘¶‚ÌMob‚Ì’è‹`‚΂©‚è‚Ȃ̂ŒljÁ‚µ‚Ü‚¹‚ñ‚Å‚µ‚½‚ªA - ’²‚ׂ½Š“¬‹Zê‚ÌMob‚̃f[ƒ^‚Å‚ ‚邱‚Æ‚ª•ª‚©‚è‚Ü‚µ‚½(Drop‚ð˜M‚Á‚½‚à‚Ì) - –{ŽI‚ł͈łè‚ñ‚²‚ª•ñ‚³‚ê‚Ä‚¢‚Ü‚·B‚ªA‚±‚¿‚ç‚ÍDrop‹ó”’‚ň—‚µ‚Ü‚µ‚½B - ƒNƒ‰ƒCƒAƒ“ƒgã‚Å‚Í“¯–¼‚Å‚µ‚½‚ªA‹æ•Ê‚Ì‚½‚ßÚ“ª‚ÉG_‚ð‚‚¯‚Ä‹æ•Ê‚µ‚Ä‚Ü‚·B - mob_skill_db‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½« +・mob_dbæ›´æ–° + 1419〜1491ãŒæ—¢å˜ã®Mobã®å®šç¾©ã°ã‹ã‚Šãªã®ã§è¿½åŠ ã—ã¾ã›ã‚“ã§ã—ãŸãŒã€ + 調ã¹ãŸæ‰€é—˜æŠ€å ´ã®Mobã®ãƒ‡ãƒ¼ã‚¿ã§ã‚ã‚‹ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã—ãŸ(Dropを弄ã£ãŸã‚‚ã®) + 本鯖ã§ã¯é—‡ã‚Šã‚“ã”ãŒå ±å‘Šã•ã‚Œã¦ã„ã¾ã™ã€‚ãŒã€ã“ã¡ã‚‰ã¯Drop空白ã§å‡¦ç†ã—ã¾ã—ãŸã€‚ + クライアント上ã§ã¯åŒåã§ã—ãŸãŒã€åŒºåˆ¥ã®ãŸã‚接é ã«G_ã‚’ã¤ã‘ã¦åŒºåˆ¥ã—ã¦ã¾ã™ã€‚ + mob_skill_dbã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã—ãŸâ†“ -------------------- -//0822 by ‚Ò‚´‚Ü‚ñ +//0822 by ã´ã–ã¾ã‚“ -E‰‰‘tƒXƒLƒ‹‚ł̕Ⳃðƒ_ƒ“ƒT[‚É‚à“K—pB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOC³B -EKalen‚³‚ñ‚ÌMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚Ü‚Æ‚ß‚Æ‚«‚Ü‚µ‚½B +・演å¥ã‚¹ã‚ルã§ã®è£œæ£ã‚’ダンサーã«ã‚‚é©ç”¨ã€‚ +・サンクãƒãƒ¥ã‚¢ãƒªãƒã‚°ä¿®æ£ã€‚ +・Kalenã•ã‚“ã®MOBスã‚ルデータベースをã¾ã¨ã‚ã¨ãã¾ã—ãŸã€‚ (map/) skill.c - skill_status_change_start()Askill_unit_onplace() C³B + skill_status_change_start()ã€skill_unit_onplace() ä¿®æ£ã€‚ battle.c - battle_get_critical()Abattle_get_hit() C³B + battle_get_critical()ã€battle_get_hit() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ -------------------- //0821 by huge -EƒI[ƒgƒXƒyƒ‹‰¼ŽÀ‘•B -Etimer‚Å”»’肵‚悤‚©‚Æ‚àŽv‚¢‚Ü‚µ‚½‚ªA‘•”õ‚Ì–³ŒÀƒI[ƒgƒXƒyƒ‹‚ׂ̈Ésc_[].val1‚ÅŒ©‚ă}ƒXB -Ebonus2 bAutoSpell’ljÁBˆê‰ž‚Ç‚ñ‚ȃXƒLƒ‹‚Å‚àŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ä‚Ü‚·‚ª(”Ô†‚Ískill_treeŽQÆ) - skill_castend_damage_id‚̃^ƒCƒvˆÈŠO‚̃XƒLƒ‹‚ðŽw’肵‚È‚¢‚Å‚‚¾‚³‚¢B - ”“®Šm—¦‚ÍALv1:50%ALv2:35%ALv3:15%A‚»‚êˆÈã‚Í 5%ŒÅ’è‚Å‚·B - ‚ ‚ÆAƒXƒLƒ‹ƒŒƒxƒ‹‚àŽw’è‚Å‚«‚Ü‚·‚ªAŒÀŠE‚ð’´‚¦‚½”Žš‚ð“ü‚ê‚é‚Æ’Ä‚¿‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB -¡‘‚«•û—áFiƒtƒ@ƒCƒAƒ{ƒ‹ƒgLv3‚ÌŽžjbonus2 bAutoSpell 19,3; +・オートスペル仮実装。 +・timerã§åˆ¤å®šã—よã†ã‹ã¨ã‚‚æ€ã„ã¾ã—ãŸãŒã€è£…å‚™ã®ç„¡é™ã‚ªãƒ¼ãƒˆã‚¹ãƒšãƒ«ã®ç‚ºã«sc_[].val1ã§è¦‹ã¦ãƒžã‚¹ã€‚ +・bonus2 bAutoSpellè¿½åŠ ã€‚ä¸€å¿œã©ã‚“ãªã‚¹ã‚ルã§ã‚‚指定ã§ãるよã†ã«ã—ã¦ã¾ã™ãŒ(番å·ã¯skill_treeå‚ç…§) + skill_castend_damage_idã®ã‚¿ã‚¤ãƒ—以外ã®ã‚¹ã‚ルを指定ã—ãªã„ã§ãã ã•ã„。 + 発動確率ã¯ã€Lv1:50%ã€Lv2:35%ã€Lv3:15%ã€ãれ以上㯠5%固定ã§ã™ã€‚ + ã‚ã¨ã€ã‚¹ã‚ルレベルも指定ã§ãã¾ã™ãŒã€é™ç•Œã‚’超ãˆãŸæ•°å—を入れるã¨å¢œã¡ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 +■書ã方例:(ファイアボルトLv3ã®æ™‚)bonus2 bAutoSpell 19,3; (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ (map/) battle.c - battle_weapon_attack() C³B + battle_weapon_attack() ä¿®æ£ã€‚ clif.h clif.c - packet_len_table C³B - clif_autospell() ’ljÁB - clif_parse_AutoSpell() ’ljÁB - map.h C³B - pc.c - pc_bonus2() C³B - pc_equipitem() C³B - pc_unequipitem() C³B + packet_len_table ä¿®æ£ã€‚ + clif_autospell() è¿½åŠ ã€‚ + clif_parse_AutoSpell() è¿½åŠ ã€‚ + map.h ä¿®æ£ã€‚ + pc.c + pc_bonus2() ä¿®æ£ã€‚ + pc_equipitem() ä¿®æ£ã€‚ + pc_unequipitem() ä¿®æ£ã€‚ skill.h skill.c - skill_castend_nodamage_id() C³B - skill_autospell() ’ljÁB - skill_status_change_end() C³B - skill_status_change_start() C³B - status_change‚̔Ԇƒe[ƒuƒ‹C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_autospell() è¿½åŠ ã€‚ + skill_status_change_end() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ + status_changeã®ç•ªå·ãƒ†ãƒ¼ãƒ–ル修æ£ã€‚ -------------------- -//0820 by ‚Ò‚´‚Ü‚ñ +//0820 by ã´ã–ã¾ã‚“ -EƒAƒhƒŠƒu‚̃ƒbƒZ[ƒW‚ª“ü‚Á‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³ -Eƒo[ƒh‚̉‰‘tƒXƒLƒ‹‚ÅŠyŠí‚Ì—ûK‚⎩ƒXƒe[ƒ^ƒX‚̕Ⳃª“ü‚Á‚Ä‚È‚©‚Á‚½‚Ì‚ðC³B -@struct status_change‚Ìval‚ª3‚•K—v‚¾‚Á‚½‚Ì‚Å(val4‚Í—\–ñ‚³‚ê‚Ä‚½‚Á‚Û‚¢‚Ì‚Å)val5‚ð’ljÁ‚µ‚Ü‚µ‚½ +・アドリブã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå…¥ã£ã¦ãªã‹ã£ãŸã®ã§ä¿®æ£ +・ãƒãƒ¼ãƒ‰ã®æ¼”å¥ã‚¹ã‚ルã§æ¥½å™¨ã®ç·´ç¿’や自ステータスã®è£œæ£ãŒå…¥ã£ã¦ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ + struct status_changeã®valãŒ3ã¤å¿…è¦ã ã£ãŸã®ã§(val4ã¯äºˆç´„ã•ã‚Œã¦ãŸã£ã½ã„ã®ã§)val5ã‚’è¿½åŠ ã—ã¾ã—㟠(map/) - map.h C³B + map.h ä¿®æ£ã€‚ skill.c - skill_status_change_start()Askill_castend_nodamage_id() C³B - skill_castfix()Askill_delayfix() C³B + skill_status_change_start()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_castfix()ã€skill_delayfix() ä¿®æ£ã€‚ battle.c - battle_get_flee()Abattle_get_max_hp() C³B - battle_get_adelay()Abattle_get_amotion() C³B - battle_calc_misc_attack() C³B + battle_get_flee()ã€battle_get_max_hp() ä¿®æ£ã€‚ + battle_get_adelay()ã€battle_get_amotion() ä¿®æ£ã€‚ + battle_calc_misc_attack() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ -------------------- //0819 by Kalen -EƒRƒ“ƒƒ“(NPCAWarp)C³ - conf/npc/npc_town_gonryun.txt(ˆÄ“àˆõ•â[) +・コンãƒãƒ³(NPCã€Warp)ä¿®æ£ + conf/npc/npc_town_gonryun.txt(案内員補充) conf/npc/npc_event_tougijou.txt - conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚È‚Ç) + conf/warp/npc_warp_gonryun.txt(宿2Fã¨D2Fãªã©) -EMOBC³ - conf/mob/npc_monster30.txt(ˆê”½–Ø–È•s‘«’ljÁ) - conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’ljÁ) +・MOBä¿®æ£ + conf/mob/npc_monster30.txt(一å木綿ä¸è¶³è¿½åŠ ) + conf/mob/npc_monster35.txt(コンãƒãƒ³Mobè¿½åŠ ) -EDBC³ - db/mob_db.txt(ƒRƒ“ƒƒ“[‘S‚Ä]+ƒEƒ“ƒoƒ‰[’è‹`]’ljÁBAspeed“™“K“–‚Å‚·B‚Ü‚Ÿ–³‚¢‚æ‚è‚Ü‚µ‚Æ‚¢‚¤‚±‚Æ‚Å) - db/mob_skill_db.txt(î•ñ‚ðŒ³‚ÉƒRƒ“ƒƒ“‚ÌMob•ª’ljÁ) - db/item_db.txt(Athena DB Project 2/19 21:10DL•ª) +・DBä¿®æ£ + db/mob_db.txt(コンãƒãƒ³[å…¨ã¦]+ウンãƒãƒ©[定義]è¿½åŠ ã€‚Aspeedç‰é©å½“ã§ã™ã€‚ã¾ãç„¡ã„よりã¾ã—ã¨ã„ã†ã“ã¨ã§) + db/mob_skill_db.txt(æƒ…å ±ã‚’å…ƒã«ã‚³ãƒ³ãƒãƒ³ã®Mobåˆ†è¿½åŠ ) + db/item_db.txt(Athena DB Project 2/19 21:10DL分) -------------------- -//0818 by ‚ ‚ä‚Ý +//0818 by ã‚ゆ㿠-EƒeƒŒƒ|[ƒgƒXƒLƒ‹Lv1‚ÅA‘I‘ðƒEƒCƒ“ƒhƒE‚ªo‚Ä‚±‚È‚¢ƒoƒO‚ðC³B -Ed—Ê‚ª90“ˆÈã‚ÌꇂłàAˆê•”‚̃XƒLƒ‹‚ªŽg—p‰Â”\‚¾‚Á‚½ƒoƒO‚ðC³B -E@allskillƒRƒ}ƒ“ƒh‚ÌC³‚Æ‚©B +・テレãƒãƒ¼ãƒˆã‚¹ã‚ルLv1ã§ã€é¸æŠžã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ãŒå‡ºã¦ã“ãªã„ãƒã‚°ã‚’ä¿®æ£ã€‚ +・é‡é‡ãŒ90%以上ã®å ´åˆã§ã‚‚ã€ä¸€éƒ¨ã®ã‚¹ã‚ルãŒä½¿ç”¨å¯èƒ½ã ã£ãŸãƒã‚°ã‚’ä¿®æ£ã€‚ +・@allskillコマンドã®ä¿®æ£ã¨ã‹ã€‚ (conf/) - msg_athena.conf C³B + msg_athena.conf ä¿®æ£ã€‚ (map/) atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ pc.c - pc_allskillup() C³B + pc_allskillup() ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id() C³B - skill_check_condition() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_check_condition() ä¿®æ£ã€‚ -------------------- //0817 by huge -EƒfƒBƒ{[ƒVƒ‡ƒ“‚̈—C³ - EŽ…‚Ìo‚µ•û‚̓pƒP‚ð–á‚Á‚½‚Ì‚Å‚Å‚«‚Ü‚µ‚½‚ªAƒAƒCƒRƒ“‚Ì•û‚Í‚Ü‚¾•ª‚©‚ç‚È‚¢‚Å‚·B - E‚ ‚ÆAŽ©•ª‚̊‹«‚Å2lˆÈã‚É“¯Žž‚ÉŠ|‚¯‚ê‚È‚©‚Á‚½‚Ì‚ÅA•¡”l‚É‚©‚¯‚½ê‡ - ‘½•ª0‚Ì—…—ñ‚ÌŠ‚É2l–ÚA3l–ÚEEE‚ÌID‚ª“ü‚é‚ñ‚¶‚á‚È‚¢‚©‚È‚Ÿ‚Æ‚¢‚¤—\‘ª‚Å‚â‚Á‚Ä‚Ü‚·B -EƒnƒCƒfƒBƒ“ƒO’†A‹y‚уNƒ[ƒLƒ“ƒO’†‚Ƀ_ƒ[ƒW‚ðŽó‚¯‚é‚Æ‰ð‚¯‚é‚悤C³B +・ディボーションã®å‡¦ç†ä¿®æ£ + ・糸ã®å‡ºã—æ–¹ã¯ãƒ‘ケを貰ã£ãŸã®ã§ã§ãã¾ã—ãŸãŒã€ã‚¢ã‚¤ã‚³ãƒ³ã®æ–¹ã¯ã¾ã 分ã‹ã‚‰ãªã„ã§ã™ã€‚ + ・ã‚ã¨ã€è‡ªåˆ†ã®ç’°å¢ƒã§2人以上ã«åŒæ™‚ã«æŽ›ã‘ã‚Œãªã‹ã£ãŸã®ã§ã€è¤‡æ•°äººã«ã‹ã‘ãŸå ´åˆ + 多分0ã®ç¾…列ã®æ‰€ã«2人目ã€3人目・・・ã®IDãŒå…¥ã‚‹ã‚“ã˜ã‚ƒãªã„ã‹ãªãã¨ã„ã†äºˆæ¸¬ã§ã‚„ã£ã¦ã¾ã™ã€‚ +・ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ä¸ã€åŠã³ã‚¯ãƒãƒ¼ã‚ングä¸ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’å—ã‘ã‚‹ã¨è§£ã‘るよã†ä¿®æ£ã€‚ (map/) battle.c - battle_damage() C³B + battle_damage() ä¿®æ£ã€‚ clif.c - clif_devotion() C³B + clif_devotion() ä¿®æ£ã€‚ pc.c - pc_walk() C³B + pc_walk() ä¿®æ£ã€‚ skill.c skill.h - skill_castend_nodamage_id() C³B - skill_devotion() skill_devotion2() C³B - skill_devotion3()skill_devotion_end() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_devotion() skill_devotion2() ä¿®æ£ã€‚ + skill_devotion3()skill_devotion_end() ä¿®æ£ã€‚ -------------------- -//0816 by ‚Ò‚´‚Ü‚ñ -Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹3–‡§ŒÀŽÀ‘•B -Ed‚Ë’u‚«‹ÖŽ~‚ðƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚É‚à“K—p‚·‚é‚悤‚ÉC³B -EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€‚ÌPvPEGvG‚ÅAŒø‰Ê‚ªŽ©•ª‚É‚à‹y‚ÔƒoƒOC³B -@‚‚¢‚Å‚ÉPTƒƒ“ƒo[‚É‚Í’áŠm—¦‚Å‚©‚©‚é‚Ì‚àŽÀ‘•B -EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€EƒXƒsƒAƒu[ƒƒ‰ƒ“‚̃fƒBƒŒƒCC³B -@ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNE–‚¿‚̉r¥ŽžŠÔC³B +//0816 by ã´ã–ã¾ã‚“ +・ファイアーウォール3枚制é™å®Ÿè£…。 +・é‡ãç½®ãç¦æ¢ã‚’プレイヤー・モンスターã«ã‚‚é©ç”¨ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・寒ã„ジョーク・スクリームã®PvP・GvGã§ã€åŠ¹æžœãŒè‡ªåˆ†ã«ã‚‚åŠã¶ãƒã‚°ä¿®æ£ã€‚ + ã¤ã„ã§ã«PTメンãƒãƒ¼ã«ã¯ä½Žç¢ºçŽ‡ã§ã‹ã‹ã‚‹ã®ã‚‚実装。 +・寒ã„ジョーク・スクリーム・スピアブーメランã®ãƒ‡ã‚£ãƒ¬ã‚¤ä¿®æ£ã€‚ + ミュージカルストライク・矢撃ã¡ã®è© 唱時間修æ£ã€‚ (map/) skill.c - skill_check_condition()Askill_check_unit_range_sub() C³B - skill_check_unit_range()Askill_delunitgroup() C³B - skill_castend_pos2()Askill_frostjoke_scream() C³B - map.h C³B + skill_check_condition()ã€skill_check_unit_range_sub() ä¿®æ£ã€‚ + skill_check_unit_range()ã€skill_delunitgroup() ä¿®æ£ã€‚ + skill_castend_pos2()ã€skill_frostjoke_scream() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - --------------------- -//0815 by Ž€_ - -E0814‚̃oƒOC³‚Æׂ©‚¢C³B -Emapflag monster_noteleportAnoreturn’ljÁ‚Ænoteleport‚ÌŽd—l•ÏXB -noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È‚¢‚悤‚É•ÏXAmonster_noteleport‚̓‚ƒ“ƒXƒ^[‚̃eƒŒƒ|[ƒg‚ð§ŒÀ‚·‚镨‚Ånoreturn‚Í’±‚ÌŽg—p‚ð§ŒÀ‚·‚镨‚Å‚·B‚½‚¾mapflag.txt‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB(noreturn‚ðÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B) -Ebattle_athena.conf‚Ìplayer_auto_counter_type‚Æmonster_auto_counter_type‚ªà–¾’Ê‚è‚É‹@”\‚µ‚È‚©‚Á‚½–â‘èC³B -Ebattle_athena.conf‚Éplayer_cloak_check_wall ‚Æmonster_cloak_check_wall ’ljÁB -Eƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Ì”FŽ¯‚ðMVPŒoŒ±‚Æmode‚Ì0x20‚Ås‚È‚Á‚Ä‚¢‚½•¨‚ðmode‚¾‚¯‚É‚·‚é‚悤‚É•ÏXB(–{ŽI‚̃Cƒxƒ“ƒgƒ‚ƒ“ƒXƒ^[‚ÅMVPŒoŒ±‚ð‚‚ê‚邪ó‘ÔˆÙí‚ÉŠ|‚©‚é‚â‚‚ª‚ ‚Á‚½‚炵‚C³BHP‚ª1‰‚à‚ ‚Á‚Ä“Å‚¶‚á‚È‚¢‚Æ“|‚¹‚È‚©‚Á‚½‚炵‚¢‚Ì‚Å...) ‚‚܂èMVPŒoŒ±‚ª‚ ‚Á‚Ä‚àƒ{ƒXˆµ‚¢‚Å‚Í‚È‚¢ƒ‚ƒ“ƒXƒ^[‚ðì‚邱‚Æ‚à‰Â”\‚Å‚·B -Eó‘ÔˆÙí‚ÉŠ|‚©‚Á‚½ó‘Ô‚ÅÚ‘±Ø’f‚ª‚Å‚«‚È‚¢‚悤‚ÉC³B(‚½‚¾ƒ^ƒCƒ}[ƒ`ƒFƒbƒN‚Å‚Í‚È‚opt1‚Æopt2‚ðƒ`ƒFƒbƒN‚·‚邾‚¯‚È‚Ì‚ÅŒ©‚½–Ú‚ª•Ï‚í‚éó‘ÔˆÙ킾‚¯‚É“K—p‚³‚ê‚Ü‚·B) -E¡‚³‚ç‚Å‚·‚ªÌ‚ÌyareCVS(2003”N9ŒŽƒo[ƒWƒ‡ƒ“)‚Å“K—p‚³‚ê‚Ä‚¢‚½ƒ‰ƒO‚ðŒ¸‚ç‚·ˆ×‚̈—‚ð“ü‚ê‚Ä‚Ý‚Ü‚µ‚½B‚Ç‚ñ‚ÈŒø‰Ê‚ª‚ ‚é‚©‚ÍŽ©•ª‚Å‚à‚í‚©‚è‚Ü‚¹‚ñB(‚½‚¾“ü‚ê‚Ä‚Ý‚½‚¾‚¯...) -EƒV[ƒYƒ‚[ƒh‚ÆPVP‚Å‹ÖŽ~‘•”õ‚ªŠO‚³‚ê‚Ä‚àŒø‰Ê‚ªÁ‚¦‚È‚¢ƒoƒOC³B -E‚»‚Ì‘¼×‚©‚¢C³B -E–¢ƒeƒXƒg‚Ì•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·B + cast_db.txt ä¿®æ£ã€‚ + +-------------------- +//0815 by æ»ç¥ž + +・0814ã®ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・mapflag monster_noteleportã€noreturnè¿½åŠ ã¨noteleportã®ä»•æ§˜å¤‰æ›´ã€‚ +noteleportã¯ãƒ—レイヤーã®ãƒã‚¨ã¨ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€ãƒ¯ãƒ¼ãƒ—スã‚ルã®åˆ¶é™ã‚’ã™ã‚‹ãŒè¶ã¯åˆ¶é™ã—ãªã„よã†ã«å¤‰æ›´ã€monster_noteleportã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’制é™ã™ã‚‹ç‰©ã§noreturnã¯è¶ã®ä½¿ç”¨ã‚’制é™ã™ã‚‹ç‰©ã§ã™ã€‚ãŸã mapflag.txtã¯ä¿®æ£ã—ã¦ã„ã¾ã›ã‚“。(noreturnã‚’è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚) +・battle_athena.confã®player_auto_counter_typeã¨monster_auto_counter_typeãŒèª¬æ˜Žé€šã‚Šã«æ©Ÿèƒ½ã—ãªã‹ã£ãŸå•é¡Œä¿®æ£ã€‚ +・battle_athena.confã«player_cloak_check_wall ã¨monster_cloak_check_wall è¿½åŠ ã€‚ +・ボスモンスターã®èªè˜ã‚’MVP経験ã¨modeã®0x20ã§è¡Œãªã£ã¦ã„ãŸç‰©ã‚’modeã ã‘ã«ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(本鯖ã®ã‚¤ãƒ™ãƒ³ãƒˆãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã§MVP経験をãれるãŒçŠ¶æ…‹ç•°å¸¸ã«æŽ›ã‹ã‚‹ã‚„ã¤ãŒã‚ã£ãŸã‚‰ã—ãä¿®æ£ã€‚HPãŒ1å„„ã‚‚ã‚ã£ã¦æ¯’ã˜ã‚ƒãªã„ã¨å€’ã›ãªã‹ã£ãŸã‚‰ã—ã„ã®ã§...) ã¤ã¾ã‚ŠMVP経験ãŒã‚ã£ã¦ã‚‚ボス扱ã„ã§ã¯ãªã„モンスターを作るã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ +・状態異常ã«æŽ›ã‹ã£ãŸçŠ¶æ…‹ã§æŽ¥ç¶šåˆ‡æ–ãŒã§ããªã„よã†ã«ä¿®æ£ã€‚(ãŸã タイマーãƒã‚§ãƒƒã‚¯ã§ã¯ãªãopt1ã¨opt2ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã ã‘ãªã®ã§è¦‹ãŸç›®ãŒå¤‰ã‚る状態異常ã ã‘ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚) +・今ã•ã‚‰ã§ã™ãŒæ˜”ã®yareCVS(2003å¹´9月ãƒãƒ¼ã‚¸ãƒ§ãƒ³)ã§é©ç”¨ã•ã‚Œã¦ã„ãŸãƒ©ã‚°ã‚’減らã™ç‚ºã®å‡¦ç†ã‚’入れã¦ã¿ã¾ã—ãŸã€‚ã©ã‚“ãªåŠ¹æžœãŒã‚ã‚‹ã‹ã¯è‡ªåˆ†ã§ã‚‚ã‚ã‹ã‚Šã¾ã›ã‚“。(ãŸã 入れã¦ã¿ãŸã ã‘...) +・シーズモードã¨PVPã§ç¦æ¢è£…å‚™ãŒå¤–ã•ã‚Œã¦ã‚‚効果ãŒæ¶ˆãˆãªã„ãƒã‚°ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ +・未テストã®ç‰©ã‚‚ã‹ãªã‚Šã‚ã‚Šã¾ã™ã€‚ (common/) socket.c - connect_client()Amake_listen_port()Amake_connection() C³B + connect_client()ã€make_listen_port()ã€make_connection() ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_magic_attack()Abattle_config_read() C³B - skill.c - skill_unit_onplace()Askill_status_change_timer() C³B - skill_castend_nodamage_id()Askill_use_id() C³B - skill_check_unit_range_sub()Askill_timerskill() C³B - skill_additional_effect()Askill_attack()Askill_status_change_start() C³B - skill_check_cloaking() C³B + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_config_read() ä¿®æ£ã€‚ + skill.c + skill_unit_onplace()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_use_id() ä¿®æ£ã€‚ + skill_check_unit_range_sub()ã€skill_timerskill() ä¿®æ£ã€‚ + skill_additional_effect()ã€skill_attack()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_check_cloaking() ä¿®æ£ã€‚ clif.c - clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() C³B + clif_item_identify_list()ã€clif_parse_QuitGame()ã€clif_GM_kick() ä¿®æ£ã€‚ pc.c - pc_attack_timer()Apc_isUseitem()Apc_checkitem C³B + pc_attack_timer()ã€pc_isUseitem()ã€pc_checkitem ä¿®æ£ã€‚ mob.c - mob_warp()Amob_walk()Amob_attack()Amob_target() C³B - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch() C³B - mob_ai_sub_lazy()Amob_damage() C³B + mob_warp()ã€mob_walk()ã€mob_attack()ã€mob_target() ä¿®æ£ã€‚ + mob_ai_sub_hard_activesearch()ã€mob_ai_sub_hard_mastersearch() ä¿®æ£ã€‚ + mob_ai_sub_lazy()ã€mob_damage() ä¿®æ£ã€‚ npc.c - npc_parse_mapflag() C³B - map.h C³B - --------------------- -//0814 by Ž€_ - -EƒoƒOC³‚Æׂ©‚¢C³B -Ebattle_athena.conf‚Ìplayer_auto_counter_type‚Æmonster_auto_counter_type‚ÌŽd—l‚ð•ÏXB(–{ŽI‚ł̓XƒLƒ‹”½Œ‚‚Í‚Å‚«‚È‚¢‚Ý‚½‚¢‚È‚Ì‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB) -E“Å‚ÆΉ»‚É‚æ‚éHPŒ¸‚ð–{ŽI‚ɇ‚킹‚ÄC³‚ÆŠ®‘SΉ»‚Ì‘O‚Å‚Í“®‚¯‚é‚悤‚É•ÏXB(“Å‚Í1•b‚É3+Å‘åHP‚Ì1.5%(ƒ‚ƒ“ƒXƒ^[‚Í0.5%)AΉ»‚Í5•b‚É1%) –¢ƒeƒXƒg -EMVPŒoŒ±’l‚Í–{ŽI‚Å‚¢‚‚à“ü‚é‚悤‚É‚È‚Á‚½‚Ì‚ÅC³B -EƒXƒeƒB[ƒ‹‚ÌŠm—¦‚ð‚µ‰º‚°B -Eƒ‚ƒ“ƒXƒ^[‚̃nƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAƒ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ª‚·‚®‚ɉ𜂳‚ê‚é–â‘èC³B(ƒ‚ƒ“ƒXƒ^[‚É‚ÍSP‚ª‚È‚¢‚¹‚¢‚Å‚·BŽæ‚芸‚¦‚¸ƒNƒ[ƒLƒ“ƒO‚̓nƒCƒfƒBƒ“ƒO‚ÌŽžŠÔ‚ð“K—p‚µ‚ă}ƒLƒVƒ}ƒCƒYƒpƒ[‚̓EƒGƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ÌŽžŠÔ‚ð“K—p‚µ‚Ü‚·B) –¢ƒeƒXƒg -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ðl”‚©‚ç‰ñ”‚É•ÏXB -EPVP‚ÅŽ©•ª‚̃gƒ‰ƒbƒv‚ÉUŒ‚‘ÎÛ‚É‚È‚é‚悤‚É•ÏXB -Evitƒyƒiƒ‹ƒeƒB‚Ì“K—p‚ÅæŽZ–hŒä‚àŒ¸‚é‚悤‚É•ÏXB(–¢ƒeƒXƒg) -E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B + npc_parse_mapflag() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + +-------------------- +//0814 by æ»ç¥ž + +・ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã®player_auto_counter_typeã¨monster_auto_counter_typeã®ä»•æ§˜ã‚’変更。(本鯖ã§ã¯ã‚¹ã‚ルåæ’ƒã¯ã§ããªã„ã¿ãŸã„ãªã®ã§è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚) +・毒ã¨çŸ³åŒ–ã«ã‚ˆã‚‹HP減少を本鯖ã«åˆã‚ã›ã¦ä¿®æ£ã¨å®Œå…¨çŸ³åŒ–ã®å‰ã§ã¯å‹•ã‘るよã†ã«å¤‰æ›´ã€‚(毒ã¯1秒ã«3+最大HPã®1.5%(モンスターã¯0.5%)ã€çŸ³åŒ–ã¯5秒ã«1%) 未テスト +・MVP経験値ã¯æœ¬é¯–ã§ã„ã¤ã‚‚入るよã†ã«ãªã£ãŸã®ã§ä¿®æ£ã€‚ +・スティールã®ç¢ºçŽ‡ã‚’å°‘ã—下ã’。 +・モンスターã®ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã€ã‚¯ãƒãƒ¼ã‚ングã€ãƒžã‚シマイズパワーãŒã™ãã«è§£é™¤ã•ã‚Œã‚‹å•é¡Œä¿®æ£ã€‚(モンスターã«ã¯SPãŒãªã„ã›ã„ã§ã™ã€‚å–ã‚Šæ•¢ãˆãšã‚¯ãƒãƒ¼ã‚ングã¯ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã®æ™‚é–“ã‚’é©ç”¨ã—ã¦ãƒžã‚シマイズパワーã¯ã‚¦ã‚¨ãƒãƒ³ãƒ‘ーフェクションã®æ™‚é–“ã‚’é©ç”¨ã—ã¾ã™ã€‚) 未テスト +・サンクãƒãƒ¥ã‚¢ãƒªã‚’人数ã‹ã‚‰å›žæ•°ã«å¤‰æ›´ã€‚ +・PVPã§è‡ªåˆ†ã®ãƒˆãƒ©ãƒƒãƒ—ã«æ”»æ’ƒå¯¾è±¡ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・vitペナルティã®é©ç”¨ã§ä¹—算防御も減るよã†ã«å¤‰æ›´ã€‚(未テスト) +・ãã®ä»–ç´°ã‹ã„ãƒã‚°ä¿®æ£ã€‚ (conf/) battle_athena.conf (doc/) @@ -5266,214 +5266,214 @@ noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È (db/) skill_db.txt (map/) - map.h C³B + map.h ä¿®æ£ã€‚ script.c - buildin_itemskill() C³B + buildin_itemskill() ä¿®æ£ã€‚ mob.c - mob_can_move()Amob_ai_sub_hard()Amob_damage() C³B + mob_can_move()ã€mob_ai_sub_hard()ã€mob_damage() ä¿®æ£ã€‚ skill.c - skill_unitsetting()Askill_unit_onplace()Askill_castend_nodamage_id() C³B - skill_attack()Askill_status_change_start() C³B - skill_status_change_timer()Askill_status_change_timer_sub() C³B - skill_addtimerskill()Askill_cleartimerskill() C³B - skill_check_unit_range_sub() C³B + skill_unitsetting()ã€skill_unit_onplace()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_attack()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_status_change_timer()ã€skill_status_change_timer_sub() ä¿®æ£ã€‚ + skill_addtimerskill()ã€skill_cleartimerskill() ä¿®æ£ã€‚ + skill_check_unit_range_sub() ä¿®æ£ã€‚ battle.c - battle_calc_damage()Abattle_check_target() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack() C³B + battle_calc_damage()ã€battle_check_target() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ pc.c - pc_steal_item() C³B + pc_steal_item() ä¿®æ£ã€‚ clif.c - clif_parse_WalkToXY()Aclif_closevendingboard() C³B + clif_parse_WalkToXY()ã€clif_closevendingboard() ä¿®æ£ã€‚ -------------------- //0813 by Kalen -EƒRƒ“ƒƒ“NPC’ljÁ - conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–¾ +・コンãƒãƒ³NPCè¿½åŠ + conf/npc/npc_town_gonryun.txt(クエストã¯ä¸æ˜Ž conf/npc/npc_town_kafra.txt conf/npc/npc_town_guide.txt - (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘« + (conf/npc/npc_event_tougijou.txt)データä¸è¶³ -E‘SGvGMAP‚ÌMobƒf[ƒ^’ljÁ +・全GvGMAPã®Mobãƒ‡ãƒ¼ã‚¿è¿½åŠ conf/mob/npc_monster_gvg.txt -ETESTmob‚©‚çƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“® +・TESTmobã‹ã‚‰ãƒ†ã‚¹ãƒˆã‚®ãƒ«ãƒ‰ãƒ•ãƒ©ã‚°ç§»å‹• conf/gvg/TEST_prtg_cas01_AbraiJ.txt -------------------- //0812 by huge -EƒfƒBƒ{[ƒVƒ‡ƒ“‚̉¼ŽÀ‘• - EƒpƒPƒbƒg‚ª‘S‘R•ª‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½‚Ì‚ÅA - ‚¢Ž…‚ào‚È‚¢‚µAƒAƒCƒRƒ“‚·‚ç•\Ž¦‚Å‚«‚Ü‚¹‚ñB - Eƒ_ƒˆÚ“®‚¾‚¯‚ÅAƒmƒbƒNƒoƒbƒNEƒI[ƒgƒK[ƒh‚Í“K‰ž‚³‚ê‚Ü‚¹‚ñB +・ディボーションã®ä»®å®Ÿè£… + ・パケットãŒå…¨ç„¶åˆ†ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã®ã§ã€ + é’ã„糸も出ãªã„ã—ã€ã‚¢ã‚¤ã‚³ãƒ³ã™ã‚‰è¡¨ç¤ºã§ãã¾ã›ã‚“。 + ・ダメ移動ã ã‘ã§ã€ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ãƒ»ã‚ªãƒ¼ãƒˆã‚¬ãƒ¼ãƒ‰ã¯é©å¿œã•ã‚Œã¾ã›ã‚“。 (map/) clif.c clif.h - clif_devotion() ’ljÁB - skill.c - skill_castend_nodamage_id() C³B - skill_devotion() skill_devotion2() ’ljÁB - skill_devotion3() skill_devotion_end() ’ljÁB - skill_status_change_end() C³B - skill_status_change_start() C³B - skill_brandishspear_first() C³B - skill_brandishspear_dir() C³B - pc.c - pc_authok() C³B - pc_walk() C³B - pc_damage() C³B + clif_devotion() è¿½åŠ ã€‚ + skill.c + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_devotion() skill_devotion2() è¿½åŠ ã€‚ + skill_devotion3() skill_devotion_end() è¿½åŠ ã€‚ + skill_status_change_end() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ + skill_brandishspear_first() ä¿®æ£ã€‚ + skill_brandishspear_dir() ä¿®æ£ã€‚ + pc.c + pc_authok() ä¿®æ£ã€‚ + pc_walk() ä¿®æ£ã€‚ + pc_damage() ä¿®æ£ã€‚ battle.c - battle_damage() C³B + battle_damage() ä¿®æ£ã€‚ map.h map_session_data{} - struct square dev ’ljÁB - skill.h ‚Ìbrandish‚ðsquare‚ɉü–¼‚µA - (common/) mmo.h ‚Ɉړ® + struct square dev è¿½åŠ ã€‚ + skill.h ã®brandishã‚’squareã«æ”¹åã—〠+ (common/) mmo.h ã«ç§»å‹• -------------------- -//0811 by ‚Ò‚´‚Ü‚ñ +//0811 by ã´ã–ã¾ã‚“ -EUé’†‚Í’±‚ªŽg‚¦‚é‚悤‚ÉC³ -EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€ŽÀ‘•(PTƒƒ“ƒo[‚É’áŠm—¦‚ʼn]X‚Í–¢ŽÀ‘•‚Å‚·) -EGVGƒXƒNƒŠƒvƒg‚ðC³(ŽŽsöŒë‚µ‚·‚¬‚Ä‚Ç‚±‚ð‚Ç‚¤‚µ‚½‚©Šo‚¦‚Ä‚Ü‚¹‚ñc) -@GVGƒXƒNƒŠƒvƒg‚ÉŠÖ‚µ‚Ä‚Å‚·‚ªAŠù’m‚̃oƒO‚ª‚ ‚è‚Ü‚· -@‚»‚ê‚ÍAè—̃Mƒ‹ƒhƒ}ƒXƒ^[ˆÈŠO‚ÌPC‚ªAè—̃Mƒ‹ƒhƒ}ƒXƒ^[‚æ‚èæ‚ÉNPC‚ɘb‚µŠ|‚¯‚é‚Æ -@ƒ}ƒbƒvƒT[ƒo‚ª—Ž‚¿‚é‚Æ‚¢‚¤‚à‚Ì‚Å‚·B -@‚±‚ê‚ÍAgetguildmasterEgetguildname‚ðŽg—p‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚·‚ׂĂɋN‚±‚蓾‚邱‚Æ‚Å‚ ‚è -@æ‚Éè—̃Mƒ‹ƒhƒ}ƒXƒ^[ˆÈŠO‚Řb‚µŠ|‚¯‚é‚ÆAguild_search‚ª‰½ŒÌ‚©(ŠY“–ID‚̃Mƒ‹ƒh‚ª‚ ‚é‚É‚àŠÖ‚í‚炸) -@NULL‚ð•Ô‚·Ž–‚É‹Nˆö‚µ‚Ü‚·B -@³’¼ƒXƒNƒŠƒvƒgŠÖŒW‚Í‚æ‚‚í‚©‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA‚±‚ê‚ÍŽ„‚Ì‹Zp‚Å‚ÍC³‚Ì‚µ‚悤‚ª‚ ‚è‚Ü‚¹‚ñB -@Žb’è“I‚ȑΈ‚Æ‚µ‚ÄNULL‚ð•Ô‚µ‚ÄMAPŽI‚ª—Ž‚¿‚é‚‚ç‚¢‚Ȃ當Žš—ñunullv‚ð•Ô‚·‚悤‚É‚µ‚Ü‚µ‚½B +・攻城ä¸ã¯è¶ãŒä½¿ãˆã‚‹ã‚ˆã†ã«ä¿®æ£ +・寒ã„ジョーク・スクリーム実装(PTメンãƒãƒ¼ã«ä½Žç¢ºçŽ‡ã§äº‘々ã¯æœªå®Ÿè£…ã§ã™) +・GVGスクリプトを修æ£(試行錯誤ã—ã™ãŽã¦ã©ã“ã‚’ã©ã†ã—ãŸã‹è¦šãˆã¦ã¾ã›ã‚“…) + GVGスクリプトã«é–¢ã—ã¦ã§ã™ãŒã€æ—¢çŸ¥ã®ãƒã‚°ãŒã‚ã‚Šã¾ã™ + ãã‚Œã¯ã€å é ˜ã‚®ãƒ«ãƒ‰ãƒžã‚¹ã‚¿ãƒ¼ä»¥å¤–ã®PCãŒã€å é ˜ã‚®ãƒ«ãƒ‰ãƒžã‚¹ã‚¿ãƒ¼ã‚ˆã‚Šå…ˆã«NPCã«è©±ã—掛ã‘る㨠+ マップサーãƒãŒè½ã¡ã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚ + ã“ã‚Œã¯ã€getguildmaster・getguildnameを使用ã—ã¦ã„るスクリプトã™ã¹ã¦ã«èµ·ã“ã‚Šå¾—ã‚‹ã“ã¨ã§ã‚ã‚Š + 先ã«å é ˜ã‚®ãƒ«ãƒ‰ãƒžã‚¹ã‚¿ãƒ¼ä»¥å¤–ã§è©±ã—掛ã‘ã‚‹ã¨ã€guild_searchãŒä½•æ•…ã‹(該当IDã®ã‚®ãƒ«ãƒ‰ãŒã‚ã‚‹ã«ã‚‚é–¢ã‚らãš) + NULLã‚’è¿”ã™äº‹ã«èµ·å› ã—ã¾ã™ã€‚ + æ£ç›´ã‚¹ã‚¯ãƒªãƒ—ト関係ã¯ã‚ˆãã‚ã‹ã£ã¦ã„ãªã„ã®ã§ã€ã“ã‚Œã¯ç§ã®æŠ€è¡“ã§ã¯ä¿®æ£ã®ã—よã†ãŒã‚ã‚Šã¾ã›ã‚“。 + 暫定的ãªå¯¾å‡¦ã¨ã—ã¦NULLã‚’è¿”ã—ã¦MAP鯖ãŒè½ã¡ã‚‹ãらã„ãªã‚‰æ–‡å—列「nullã€ã‚’è¿”ã™ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ (map/) skill.c - skill_frostjoke_scream() ’ljÁB - skill_additional_effect()Askill_timerskill() C³B - skill_castend_nodamage_id() C³B + skill_frostjoke_scream() è¿½åŠ ã€‚ + skill_additional_effect()ã€skill_timerskill() ä¿®æ£ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ pc.c - pc_isUseitem() C³B + pc_isUseitem() ä¿®æ£ã€‚ script.c - buildin_getpartyname()Abuildin_getguildname() C³B - buildin_getguildmaster() C³B + buildin_getpartyname()ã€buildin_getguildname() ä¿®æ£ã€‚ + buildin_getguildmaster() ä¿®æ£ã€‚ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ (conf/gvg/) - ev_*.txtˆÈŠO‚Ìtxt‘S‚Ä‚ðC³B + ev_*.txt以外ã®txtå…¨ã¦ã‚’ä¿®æ£ã€‚ -------------------- -//0810 by ¹ +//0810 by è– -EMVP‚̈—‚ð•ÏXB(Šm—¦‚Å10000‚ª‚ ‚Á‚Ä‚àA‘¼‚̃AƒCƒeƒ€‚ào‚é‚悤‚É‚µ‚Ü‚µ‚½) -EMVP‚Å‘•”õ‚ð“üŽè‚µ‚½ê‡AŠÓ’èÏ‚Ý‚Å“üŽè‚µ‚Ä‚¢‚½–â‘è‚ðC³B -EƒXƒLƒ‹‰r¥’†‚ɃCƒO—t‚âŠg‘勾‚ðŽg‚¤‚ƃvƒŒ[ƒ„[‚ÌŽg—p‰Â”\‚È -@‘SƒXƒLƒ‹‚ÌLV‚ª1‚ɌŒ肳‚ê‚Ä‚µ‚Ü‚¤–â‘è‚ðC³B -EƒI[ƒNƒA[ƒ`ƒƒ[“™Aƒ‚ƒ“ƒXƒ^[‚É‚æ‚é㩃XƒLƒ‹‚Ì—LŒøŠúŒÀ‚ªØ‚ꂽ‚Æ‚«‚ÉA -@Ý’u—pƒgƒ‰ƒbƒv‚ªo‚é–â‘è‚ðC³B -EƒƒOƒCƒ“ƒGƒ‰[(ƒpƒXƒ[ƒh“ü—̓~ƒX‚âBAN“™)‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ª -@³‚µ‚ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ê’m‚³‚ê‚È‚¢–â‘è‚ðC³B -E‚»‚Ì‘¼×‚©‚ÈC³B +・MVPã®å‡¦ç†ã‚’変更。(確率ã§10000ãŒã‚ã£ã¦ã‚‚ã€ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ も出るよã†ã«ã—ã¾ã—ãŸ) +・MVPã§è£…備を入手ã—ãŸå ´åˆã€é‘‘定済ã¿ã§å…¥æ‰‹ã—ã¦ã„ãŸå•é¡Œã‚’ä¿®æ£ã€‚ +・スã‚ãƒ«è© å”±ä¸ã«ã‚¤ã‚°è‘‰ã‚„拡大é¡ã‚’使ã†ã¨ãƒ—レーヤーã®ä½¿ç”¨å¯èƒ½ãª + 全スã‚ルã®LVãŒ1ã«å›ºå®šã•ã‚Œã¦ã—ã¾ã†å•é¡Œã‚’ä¿®æ£ã€‚ +・オークアーãƒãƒ£ãƒ¼ç‰ã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ã‚ˆã‚‹ç½ スã‚ルã®æœ‰åŠ¹æœŸé™ãŒåˆ‡ã‚ŒãŸã¨ãã«ã€ + è¨ç½®ç”¨ãƒˆãƒ©ãƒƒãƒ—ãŒå‡ºã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ +・ãƒã‚°ã‚¤ãƒ³ã‚¨ãƒ©ãƒ¼(パスワード入力ミスやBANç‰)ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒ + æ£ã—ãクライアントã«é€šçŸ¥ã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ãªä¿®æ£ã€‚ (common/) - version.h C³B + version.h ä¿®æ£ã€‚ (login/) login.c - parse_login() C³B - parse_fromchar() C³B + parse_login() ä¿®æ£ã€‚ + parse_fromchar() ä¿®æ£ã€‚ (char/) int_guild.c - mapif_parse_GuildLeave() C³B + mapif_parse_GuildLeave() ä¿®æ£ã€‚ (map/) itemdb.c - itemdb_read_itemnametable() C³B + itemdb_read_itemnametable() ä¿®æ£ã€‚ atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ skill.c - skill_unit_timer_sub() C³B + skill_unit_timer_sub() ä¿®æ£ã€‚ script.c - buildin_itemskill() C³B + buildin_itemskill() ä¿®æ£ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ -------------------- //0809 by Kalen -E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgC³ -EƒAƒ}ƒcŽõŽi‰®C³ -EƒoƒOƒXƒŒ129‚Ì–â‘èC³H +・æ±æ¹–城ワープãƒã‚¤ãƒ³ãƒˆä¿®æ£ +・アマツ寿å¸å±‹ä¿®æ£ +・ãƒã‚°ã‚¹ãƒ¬129ã®å•é¡Œä¿®æ£ï¼Ÿ -------------------- -//0808 by ‚Ò‚´‚Ü‚ñ +//0808 by ã´ã–ã¾ã‚“ -E‘•”õ§ŒÀ‚ªãŽè‚“®ì‚µ‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒh‚ÍGvGŠJŽnŽž‚Éì‚ç‚ê‚é‚悤‚É•ÏXB -EGvGŠJŽnŽž‚ÉŠY“–ƒ}ƒbƒv‚É‚¢‚é‘SPC(è—̃Mƒ‹ƒhˆõˆÈŠO)‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚悤‚ÉC³B -Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒhƒAƒWƒg‚ŃGƒ“ƒy‚ð‰ó‚·‚ÆAƒ‚ƒ“ƒnƒE‚ªÁ‚¦‚é‚悤‚ÉC³B -@‚±‚ÌC³‚É”º‚Á‚Ämaprespawnguildid‚̈ø”‚Ìflag‚ÌŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ -@flag‚̓rƒbƒgƒtƒ‰ƒO‚É‚È‚èA -@@1ƒrƒbƒg–ÚFè—̃Mƒ‹ƒhˆõ‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚© -@@2ƒrƒbƒg–ÚFè—̃Mƒ‹ƒhˆõˆÈŠO‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚© -@@3ƒrƒbƒg–ÚFƒGƒ“ƒyEƒK[ƒfƒBƒAƒ“ˆÈŠO‚ÌMOB‚ðÁ‚·‚© -@‚¢‚¸‚ê‚àA0=NOA1=YES‚É‚È‚è‚Ü‚· +・装備制é™ãŒä¸Šæ‰‹ã動作ã—ã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +・モンãƒã‚¦ã‚®ãƒ«ãƒ‰ã¯GvG開始時ã«ä½œã‚‰ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・GvG開始時ã«è©²å½“マップã«ã„ã‚‹å…¨PC(å é ˜ã‚®ãƒ«ãƒ‰å“¡ä»¥å¤–)をセーブãƒã‚¤ãƒ³ãƒˆã«æˆ»ã™ã‚ˆã†ã«ä¿®æ£ã€‚ +・モンãƒã‚¦ã‚®ãƒ«ãƒ‰ã‚¢ã‚¸ãƒˆã§ã‚¨ãƒ³ãƒšã‚’壊ã™ã¨ã€ãƒ¢ãƒ³ãƒã‚¦ãŒæ¶ˆãˆã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ + ã“ã®ä¿®æ£ã«ä¼´ã£ã¦maprespawnguildidã®å¼•æ•°ã®flagã®ä»•æ§˜ã‚’変更ã—ã¾ã—㟠+ flagã¯ãƒ“ットフラグã«ãªã‚Šã€ +  1ビット目:å é ˜ã‚®ãƒ«ãƒ‰å“¡ã‚’ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆã«æˆ»ã™ã‹ +  2ビット目:å é ˜ã‚®ãƒ«ãƒ‰å“¡ä»¥å¤–ã‚’ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆã«æˆ»ã™ã‹ +  3ビット目:エンペ・ガーディアン以外ã®MOBを消ã™ã‹ + ã„ãšã‚Œã‚‚ã€0=NOã€1=YESã«ãªã‚Šã¾ã™ (conf/gvg/) - ev_agit_aldeg.txt C³B - ev_agit_gefg.txt C³B - ev_agit_payg.txt C³B - ev_agit_prtg.txt C³B - TEST_prtg_cas01_AbraiJ.txt C³B - TEST_prtg_cas01_mob.txt C³B + ev_agit_aldeg.txt ä¿®æ£ã€‚ + ev_agit_gefg.txt ä¿®æ£ã€‚ + ev_agit_payg.txt ä¿®æ£ã€‚ + ev_agit_prtg.txt ä¿®æ£ã€‚ + TEST_prtg_cas01_AbraiJ.txt ä¿®æ£ã€‚ + TEST_prtg_cas01_mob.txt ä¿®æ£ã€‚ (map/) pc.c - pc_checkitem() C³B + pc_checkitem() ä¿®æ£ã€‚ script.c - buildin_maprespawnguildid_sub() C³B - buildin_maprespawnguildid() C³B + buildin_maprespawnguildid_sub() ä¿®æ£ã€‚ + buildin_maprespawnguildid() ä¿®æ£ã€‚ -------------------- -//0807 by Ž€_ +//0807 by æ»ç¥ž -E0805‚ÅFD_SETSIZE‚ðC³‚·‚銂ðŠÔˆá‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B56–¼Ž~‚܂肪Ž¡‚é‚ÆŒ¾‚¤•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñ‚ª... -Eˆê“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ì’·‚³‚ð32768bytes‚©‚ç65536bytes‚É•ÏXB +・0805ã§FD_SETSIZEã‚’ä¿®æ£ã™ã‚‹æ‰€ã‚’é–“é•ã£ãŸã®ã§ä¿®æ£ã—ã¾ã—ãŸã€‚56åæ¢ã¾ã‚ŠãŒæ²»ã‚‹ã¨è¨€ã†ä¿è¨¼ã¯ã‚ã‚Šã¾ã›ã‚“ãŒ... +・一度ã«è»¢é€ã™ã‚‹ãƒ‘ケットã®é•·ã•ã‚’32768bytesã‹ã‚‰65536bytesã«å¤‰æ›´ã€‚ (common/) - mmo.h C³B - socket.h C³B - socket.c C³B + mmo.h ä¿®æ£ã€‚ + socket.h ä¿®æ£ã€‚ + socket.c ä¿®æ£ã€‚ -------------------- //0806 by Kalen -EagitƒtƒHƒ‹ƒ_¨gvgƒtƒHƒ‹ƒ_‚ÖˆÚs - ”ˆÓŒ©‚ ‚é‚ÆŽv‚¢‚Ü‚·‚ªAjRO‚Å‚ÍUéí‚ðgvg‚ƌĂԂ±‚Æ‚ªˆê”Ê“I‚È‚Ì‚Å‚±‚¿‚ç‚É“‡‚µ‚Ü‚·B +・agitフォルダ→gvgフォルダã¸ç§»è¡Œ + 諸æ„見ã‚ã‚‹ã¨æ€ã„ã¾ã™ãŒã€jROã§ã¯æ”»åŸŽæˆ¦ã‚’gvgã¨å‘¼ã¶ã“ã¨ãŒä¸€èˆ¬çš„ãªã®ã§ã“ã¡ã‚‰ã«çµ±åˆã—ã¾ã™ã€‚ conf/gvg/ - ###agitƒtƒHƒ‹ƒ_‚ð휂µ‚Ä‚‚¾‚³‚¢###@(Please delete the "agit" folder.) - getmaster‘Ήž + ###agitフォルダを削除ã—ã¦ãã ã•ã„### (Please delete the "agit" folder.) + getmaster対応 -EƒAƒ}ƒc‚ÌŽõŽi‰®ƒoƒOC³‚Æ€–ڒljÁ(thx 114 +・アマツã®å¯¿å¸å±‹ãƒã‚°ä¿®æ£ã¨é …ç›®è¿½åŠ (thx 114 conf/npc/npc_town_amatsu.txt -Emap_flagÄC³ +・map_flagå†ä¿®æ£ conf/map_flag.txt - [GVGMAP]Šm‚©‚Éí‚ɃV[ƒYƒ‚[ƒh‚È‚ç–â‘è‚È‚¢‚Å‚·‚ªA휂³‚ê‚Ü‚µ‚½‚Ì‚Å - í‚ɃV[ƒYƒ‚[ƒh‚Å‚Í‚ ‚è‚Ü‚¹‚ñB]‚Á‚ĉ𜎞(ŽžŠÔŠO)‚É‚ÍŽ}AƒeƒŒƒ|‚ªŽg‚¦‚Ü‚· - ŽžŠÔ‘O‚ÉŽ}ŽT‚«A‚Ü‚¾ŽÀ‘•‚µ‚Ä‚Ü‚¹‚ñ‚ª•ó” ’DŽæ‚à‰Â”\‚É‚È‚é‚Ì‚ÅŽ}AƒeƒŒƒ|‚Íí‚ÉŽg—p•s‰Â‚Å–â‘è‚È‚¢‚ÆŽv‚¢‚Ü‚·B + [GVGMAP]確ã‹ã«å¸¸ã«ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ãªã‚‰å•é¡Œãªã„ã§ã™ãŒã€å‰Šé™¤ã•ã‚Œã¾ã—ãŸã®ã§ + 常ã«ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã§ã¯ã‚ã‚Šã¾ã›ã‚“。従ã£ã¦è§£é™¤æ™‚(時間外)ã«ã¯æžã€ãƒ†ãƒ¬ãƒãŒä½¿ãˆã¾ã™ + 時間å‰ã«æžæ’’ãã€ã¾ã 実装ã—ã¦ã¾ã›ã‚“ãŒå®ç®±å¥ªå–ã‚‚å¯èƒ½ã«ãªã‚‹ã®ã§æžã€ãƒ†ãƒ¬ãƒã¯å¸¸ã«ä½¿ç”¨ä¸å¯ã§å•é¡Œãªã„ã¨æ€ã„ã¾ã™ã€‚ -Œã‘O‰ñ‘‚«–Y‚ê‚Ü‚µ‚½‚ªAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ªA‚¿‚å‚Á‚Æ•sˆÀ’è‚ȉ”\«‚ª‚ ‚è‚Ü‚·B -Œ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªAƒ‹[ƒv‚µ‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBˆê‰žƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚· +後å‰å›žæ›¸ã忘れã¾ã—ãŸãŒã€momotaroイベントã§ã™ãŒã€ã¡ã‚‡ã£ã¨ä¸å®‰å®šãªå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ +åŽŸå› ãŒã‚ã‹ã‚‰ãªã„ã®ã§ã™ãŒã€ãƒ«ãƒ¼ãƒ—ã—ã¦ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。一応コメントアウトã—ã¦ã‚ã‚Šã¾ã™ -------------------- -//0805 by Ž€_ +//0805 by æ»ç¥ž -E•¶Žš‰»‚¯C³B -EƒV[ƒYƒ‚[ƒh‚ł̃eƒŒƒ|[ƒg‹ÖŽ~‚âŒÃ–Ø‚ÌŽ}Žg—p‹ÖŽ~‚̓\[ƒXƒŒƒxƒ‹‚Å -ˆ—‚µ‚Ä‚¢‚é‚Ì‚Åmapflag.txt‚©‚çíœB(ˆö‚Ý‚Énopenalty‚àƒ\[ƒXƒŒƒxƒ‹‚Å -ˆ—‚µ‚Ä‚¢‚Ü‚·B) -Ebattle_athena.conf‚Ìagit_eliminate_time‚ðgvg_eliminate_time‚É•ÏXB -E@ƒRƒ}ƒ“ƒh@GMíœB -EFD_SETSIZE‚©cygwin‚Å64‚Éݒ肳‚ê‚Ä‚¢‚½‚Ì‚¹‚¢‚ÅÅ‘åÚ‘±l”‚ª56–¼‚ð -‰z‚¦‚é‚ƃ}ƒbƒvŽI‚ª–³ŒÀƒ‹[ƒv‚·‚é–â‘èC³B(‚½‚¾ƒeƒXƒg‚ª‚Å‚«‚È‚©‚Á‚½•¨‚È‚Ì‚Å–{“–‚É‘åä•v‚É‚È‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·B‚ ‚‚Ü‚Å‚àŽ©•ª‚Ì—\‘ª‚É‚·‚¬‚È‚¢•¨‚Å‚·‚ª...) -E•¶Žš‰»‚¯‚Ì‚¹‚¢‚Å‚Ç‚±‚ð‚Ç‚¤C³‚µ‚½‚©Šo‚¦‚Ä‚È‚¢‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯B +・文å—化ã‘ä¿®æ£ã€‚ +・シーズモードã§ã®ãƒ†ãƒ¬ãƒãƒ¼ãƒˆç¦æ¢ã‚„å¤æœ¨ã®æžä½¿ç”¨ç¦æ¢ã¯ã‚½ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«ã§ +処ç†ã—ã¦ã„ã‚‹ã®ã§mapflag.txtã‹ã‚‰å‰Šé™¤ã€‚(å› ã¿ã«nopenaltyもソースレベル㧠+処ç†ã—ã¦ã„ã¾ã™ã€‚) +・battle_athena.confã®agit_eliminate_timeã‚’gvg_eliminate_timeã«å¤‰æ›´ã€‚ +・@コマンド@GM削除。 +・FD_SETSIZEã‹cygwinã§64ã«è¨å®šã•ã‚Œã¦ã„ãŸã®ã›ã„ã§æœ€å¤§æŽ¥ç¶šäººæ•°ãŒ56åã‚’ +越ãˆã‚‹ã¨ãƒžãƒƒãƒ—鯖ãŒç„¡é™ãƒ«ãƒ¼ãƒ—ã™ã‚‹å•é¡Œä¿®æ£ã€‚(ãŸã テストãŒã§ããªã‹ã£ãŸç‰©ãªã®ã§æœ¬å½“ã«å¤§ä¸ˆå¤«ã«ãªã£ãŸã‹ã©ã†ã‹ã¯ä¸æ˜Žã§ã™ã€‚ã‚ãã¾ã§ã‚‚自分ã®äºˆæ¸¬ã«ã™ãŽãªã„物ã§ã™ãŒ...) +・文å—化ã‘ã®ã›ã„ã§ã©ã“ã‚’ã©ã†ä¿®æ£ã—ãŸã‹è¦šãˆã¦ãªã„ã®ã§ä¿®æ£ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã ã‘。 (conf/) atcommand_athena.conf battle_athena.conf @@ -5510,28 +5510,28 @@ noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È makefile -------------------- -//0804 by Žß‘¸ +//0804 by 釈尊 -EƒAƒ‹ƒxƒ‹ƒ^‚Ì‚Ê‚¢‚®‚é‚݃Cƒxƒ“ƒg‚Å‚¤‚³‚¬‚Ì‚Ê‚¢‚®‚é‚Ý‚ð‚ ‚°‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ +・アルベルタã®ã¬ã„ãã‚‹ã¿ã‚¤ãƒ™ãƒ³ãƒˆã§ã†ã•ãŽã®ã¬ã„ãã‚‹ã¿ã‚’ã‚ã’ã‚‹ã¨ã‚µãƒ¼ãƒãƒ¼ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ (conf/npc/) - npc_event_doll.txt C³B + npc_event_doll.txt ä¿®æ£ã€‚ -------------------- -//0803 by ‚Ò‚´‚Ü‚ñ +//0803 by ã´ã–ã¾ã‚“ - GvG‚ŃGƒ“ƒyƒŠƒEƒ€•ö‰óŽžgvg_eliminate_time‚Ì’l‚ÉŠÖ‚í‚炸‘¦À‚É‘Þ‹Ž‚³‚¹‚ç‚ê‚Ä‚¢‚½ƒoƒOC³ - GvG‚̃ZƒŠƒt‚ðˆê•”C³ - interŽI‚Åcastle.txt‚ª‚È‚¢‚Æ‹N‚±‚éFX‚ȃGƒ‰[‚ðC³ - help.txt‚ðC³(@gvgstart¨@agitstart‰]X) + GvGã§ã‚¨ãƒ³ãƒšãƒªã‚¦ãƒ 崩壊時gvg_eliminate_timeã®å€¤ã«é–¢ã‚らãšå³åº§ã«é€€åŽ»ã•ã›ã‚‰ã‚Œã¦ã„ãŸãƒã‚°ä¿®æ£ + GvGã®ã‚»ãƒªãƒ•ã‚’ä¸€éƒ¨ä¿®æ£ + inter鯖ã§castle.txtãŒãªã„ã¨èµ·ã“る色々ãªã‚¨ãƒ©ãƒ¼ã‚’ä¿®æ£ + help.txtã‚’ä¿®æ£(@gvgstart→@agitstart云々) (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt C³B - agit/ev_agit_prtgJ.txt C³B - help.txt C³B + gvg/TEST_prtg_cas01_AbraiJ.txt ä¿®æ£ã€‚ + agit/ev_agit_prtgJ.txt ä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ (map/) int_guild.c - inter_guild_init() C³B + inter_guild_init() ä¿®æ£ã€‚ -------------------- //0802 by Michael_Huang @@ -5546,18 +5546,18 @@ noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È -------------------- //0801 by Kalen -EƒAƒ}ƒcC³ -@@ŽÀ‘•‘O‚̃f[ƒ^A”²‚¯‚Ä‚éƒf[ƒ^‚Ȃǂ𒲸‚µC³ +ãƒ»ã‚¢ãƒžãƒ„ä¿®æ£ +  実装å‰ã®ãƒ‡ãƒ¼ã‚¿ã€æŠœã‘ã¦ã‚‹ãƒ‡ãƒ¼ã‚¿ãªã©ã‚’調査ã—ä¿®æ£ conf/npc/npc_town_guide.txt conf/npc/npc_town_amatsu.txt conf/npc/npc_event_momotaro.txt conf/npc/npc_event_alchemist.txt conf/mob/npc_monster35.txt conf/warp/npc_warp_amatsu.txt -Emap_flagC³ - [GVGMAP]Ž}AƒeƒŒƒ|‚Íí‚ÉŽg—p•s‰Â -EGVGŠÖŒW - 0800‚̃Rƒ}ƒ“ƒh‚ɑΉž +・map_flagä¿®æ£ + [GVGMAP]æžã€ãƒ†ãƒ¬ãƒã¯å¸¸ã«ä½¿ç”¨ä¸å¯ +・GVG関係 + 0800ã®ã‚³ãƒžãƒ³ãƒ‰ã«å¯¾å¿œ -------------------- //0800 by Michael_Huang @@ -5630,207 +5630,207 @@ noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È skill_gangster_count() -------------------- -//0799 by ‚Ò‚´‚Ü‚ñ +//0799 by ã´ã–ã¾ã‚“ -EGvGŽÀ‘•‚ׂ̈Éinter-mapŠÔ‚Ì’ÊMŽd—l•ÏX -E0798‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[C³(byƒoƒO•ñƒXƒŒ82Ž) +・GvG実装ã®ç‚ºã«inter-mapé–“ã®é€šä¿¡ä»•æ§˜å¤‰æ›´ +・0798ã®ã‚³ãƒ³ãƒ‘イルエラー修æ£(byãƒã‚°å ±å‘Šã‚¹ãƒ¬82æ°) (login/) login.c - parse_login() C³B + parse_login() ä¿®æ£ã€‚ (map/) intif.c - packet_len_table[] C³B - intif_parse_GuildCastleInfo() C³B - intif_parse_GuildCastleChange()‚ðintif_parse_GuildCastleChangeErr()‚ɉü–¼EC³B - intif_parse() C³B + packet_len_table[] ä¿®æ£ã€‚ + intif_parse_GuildCastleInfo() ä¿®æ£ã€‚ + intif_parse_GuildCastleChange()ã‚’intif_parse_GuildCastleChangeErr()ã«æ”¹å・修æ£ã€‚ + intif_parse() ä¿®æ£ã€‚ guild.c - guild_read_castledb() C³B + guild_read_castledb() ä¿®æ£ã€‚ (char/) inter.c - inter_send_packet_length[] C³B + inter_send_packet_length[] ä¿®æ£ã€‚ int_guild.c - inter_guildcastle_tostr() C³B - inter_guildcastle_fromstr() C³B - mapif_parse_GuildChangeCastle() C³B - mapif_parse_GuildCastleInfo() C³B - mapif_guild_castle_info() C³B - mapif_guild_change_castle()‚ðmapif_guild_change_castle_err()‚ɉü–¼EC³B + inter_guildcastle_tostr() ä¿®æ£ã€‚ + inter_guildcastle_fromstr() ä¿®æ£ã€‚ + mapif_parse_GuildChangeCastle() ä¿®æ£ã€‚ + mapif_parse_GuildCastleInfo() ä¿®æ£ã€‚ + mapif_guild_castle_info() ä¿®æ£ã€‚ + mapif_guild_change_castle()ã‚’mapif_guild_change_castle_err()ã«æ”¹å・修æ£ã€‚ (common/) - mmo.h C³B - version.h C³B + mmo.h ä¿®æ£ã€‚ + version.h ä¿®æ£ã€‚ -------------------- -//0798 by ŒÓ’±—– +//0798 by 胡è¶è˜ -Elogin-server‚̃ƒOƒCƒ“Ž¸”sƒpƒPƒbƒg‚Ì’·‚³‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ -Elogin-server‚ɃAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‹@”\’ljÁ - Elogin_athena.cnf‚Éorder,allow,deny‚ð‹Lq‚·‚邱‚Æ‚ÅA - IP’PˆÊ(‘O•ûˆê’v)‚ŃAƒNƒZƒX‚ð‹ÖŽ~‚·‚é‹@”\B - EŽw’è•û–@‚Í doc/conf_ref.txt ‚ðŽQÆ +・login-serverã®ãƒã‚°ã‚¤ãƒ³å¤±æ•—パケットã®é•·ã•ãŒãŠã‹ã—ã‹ã£ãŸã®ã‚’ä¿®æ£ +・login-serverã«ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«æ©Ÿèƒ½è¿½åŠ + ・login_athena.cnfã«order,allow,denyを記述ã™ã‚‹ã“ã¨ã§ã€ + IPå˜ä½(å‰æ–¹ä¸€è‡´)ã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’ç¦æ¢ã™ã‚‹æ©Ÿèƒ½ã€‚ + ・指定方法㯠doc/conf_ref.txt ã‚’å‚ç…§ (doc/) conf_ref.txt - login_athena.cnf‚Ì•”•ªC³ + login_athena.cnfã®éƒ¨åˆ†ä¿®æ£ (login/) login.c - ƒOƒ[ƒoƒ‹•Ï” access_* ’ljÁ - parse_login()C³,check_ip()’ljÁ + ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•° access_* è¿½åŠ + parse_login()ä¿®æ£,check_ip()è¿½åŠ -EƒAƒJƒEƒ“ƒg쬗pCGIƒXƒNƒŠƒvƒg’ljÁ - EŽ©ŒÈÓ”C•Úׂȉðà–³‚µAŽ¿–₳‚ê‚Ä‚àƒXƒ‹[‚·‚é‰Â”\«—L‚è - EƒGƒfƒBƒ^‚ÅŠJ‚¢‚½‚ç‚µà–¾—L‚è - ECGIÝ’u‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ - EƒƒbƒZ[ƒW‚͉pŒêA“ú–{Œê—¼‘Ήž - iAccept-Language‚ªja‚È‚ç“ú–{Œê‚É•ÏŠ·‚µ‚Ü‚·j - EŠÇ—ŽÒƒpƒXƒ[ƒh‚È‚µ‚Å“®‚‚̂ŃZƒLƒ…ƒŠƒeƒB‚É‚Í’ˆÓ(.htaccess‚È‚Ç„§) +・アカウント作æˆç”¨CGIã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ + ・自己責任&詳細ãªè§£èª¬ç„¡ã—ã€è³ªå•ã•ã‚Œã¦ã‚‚スルーã™ã‚‹å¯èƒ½æ€§æœ‰ã‚Š + ・エディタã§é–‹ã„ãŸã‚‰å°‘ã—説明有り + ・CGIè¨ç½®ã®åŸºæœ¬ã•ãˆã‚ã‹ã‚Œã°å•é¡Œãªã„ã¯ãš + ・メッセージã¯è‹±èªžã€æ—¥æœ¬èªžä¸¡å¯¾å¿œ + (Accept-LanguageãŒjaãªã‚‰æ—¥æœ¬èªžã«å¤‰æ›ã—ã¾ã™ï¼‰ + ・管ç†è€…パスワードãªã—ã§å‹•ãã®ã§ã‚»ã‚ュリティã«ã¯æ³¨æ„(.htaccessãªã©æŽ¨å¥¨) (tool/cgi/) addaccount.cgi - ƒAƒJƒEƒ“ƒg쬗pCGIB + アカウント作æˆç”¨CGI。 -E‚»‚Ì‘¼ +・ãã®ä»– (tool/) backup - castle.txt‚àƒoƒbƒNƒAƒbƒv‚·‚é‚悤‚É - --------------------- -//0797 by Ž€_ - -E‚µC³B -Ebattle_athena.conf‚Ì€–Ú•ÏXB(lootitem_time íœAitem_first_get_timeA -item_second_get_timeAitem_third_get_timeAmvp_item_first_get_timeA -mvp_item_second_get_timeAmvp_item_third_get_time ’ljÁB) -EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒÀ‚𳂵‚ŽÀ‘•BʼnUŒ‚‚Å‚Í‚È‚—^‚¦‚½ƒ_ƒ[ƒW‚Ì -—Ê‚É‚æ‚Á‚ÄŽû“¾Œ ŒÀ‚ð—^‚¦‚é‚悤‚É•ÏXB(ʼnŽû“¾Œ ŒÀ‚̂݃eƒXƒg) -ƒp[ƒeƒB‚Ìꇃp[ƒeƒB‚ÌÝ’è‚ɇ‚킹‚é•K—v‚ª‚ ‚è‚Ü‚·‚ª‚Ü‚¾ƒpƒPƒbƒg‚ª -•s–¾‚ÈŠ‚ª‚ ‚éˆ×“¯‚¶ƒp[ƒeƒB‚È‚çŽû“¾‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚̃oƒOC³B(‘½•ªC³‚³‚ꂽ‚Í‚¸...) -E‘•”õƒXƒNƒŠƒvƒgbonus‚ÉbSplashRange‚ÆbSplashAddRange’ljÁB -bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆµ‚¢‚È‚Ì‚Å”ð‚¯‚ç‚ê‚邪(Flee2‚É‚æ‚銮‘S‰ñ”ð‚Í•s‰Â”\)ƒNƒŠ‚Ío‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ä•Ší‚É‚æ‚éó‘ÔˆÙí‚Í”¶‚µ‚Ü‚¹‚ñB–{ŽIŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñB -EƒXƒLƒ‹‚Ìd‚Ë’u‚«ˆ—‚ð–{ŽI‚ɇ‚킹‚ÄC³B -Emapflag‚Ìgvg‚Í‚¢‚‚à‚È‚Á‚Ä‚¢‚é‚킯‚¶‚á‚È‚¢‚Ì‚ÅíœB -E‚»‚Ì‘¼×‚©‚¢C³B - athena-start C³B + castle.txtã‚‚ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã‚ˆã†ã« + +-------------------- +//0797 by æ»ç¥ž + +・少ã—ä¿®æ£ã€‚ +・battle_athena.confã®é …目変更。(lootitem_time 削除ã€item_first_get_time〠+item_second_get_timeã€item_third_get_timeã€mvp_item_first_get_time〠+mvp_item_second_get_timeã€mvp_item_third_get_time è¿½åŠ ã€‚) +・アイテムルート権é™ã‚’æ£ã—ã実装。最åˆæ”»æ’ƒã§ã¯ãªã与ãˆãŸãƒ€ãƒ¡ãƒ¼ã‚¸ã® +é‡ã«ã‚ˆã£ã¦åŽå¾—権é™ã‚’与ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(最åˆåŽå¾—権é™ã®ã¿ãƒ†ã‚¹ãƒˆ) +パーティã®å ´åˆãƒ‘ーティã®è¨å®šã«åˆã‚ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ãŒã¾ã パケット㌠+ä¸æ˜Žãªæ‰€ãŒã‚る為åŒã˜ãƒ‘ーティãªã‚‰åŽå¾—ã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ +・ボウリングãƒãƒƒã‚·ãƒ¥ã®ãƒã‚°ä¿®æ£ã€‚(多分修æ£ã•ã‚ŒãŸã¯ãš...) +・装備スクリプトbonusã«bSplashRangeã¨bSplashAddRangeè¿½åŠ ã€‚ +bSplashRangeã¨bSplashAddRangeã¯æ¦å™¨ã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆãŸæ™‚ã®ã¿ç™ºå‹•ã€é€šå¸¸ã®æ¦å™¨æ”»æ’ƒæ‰±ã„ãªã®ã§é¿ã‘られるãŒ(Flee2ã«ã‚ˆã‚‹å®Œå…¨å›žé¿ã¯ä¸å¯èƒ½)クリã¯å‡ºãªã„よã†ã«ãªã£ã¦ã„ã¦æ¦å™¨ã«ã‚ˆã‚‹çŠ¶æ…‹ç•°å¸¸ã¯ç™ºç”Ÿã—ã¾ã›ã‚“。本鯖仕様ãªã‚“ã¦çŸ¥ã‚Šã¾ã›ã‚“。 +・スã‚ルã®é‡ãç½®ã処ç†ã‚’本鯖ã«åˆã‚ã›ã¦ä¿®æ£ã€‚ +・mapflagã®gvgã¯ã„ã¤ã‚‚ãªã£ã¦ã„ã‚‹ã‚ã‘ã˜ã‚ƒãªã„ã®ã§å‰Šé™¤ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ + athena-start ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (conf/) - mapflag.txt C³B - battle_athena.conf C³B + mapflag.txt ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ (db/) - const.txt C³B - item_db.txt C³B + const.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (map/) mob.c - mob_spawn()Amob_damage()Amob_class_change()Amob_warp() C³B - mob_delay_item_drop()Amob_delay_item_drop2() C³B - mobskill_castend_pos() C³B + mob_spawn()ã€mob_damage()ã€mob_class_change()ã€mob_warp() ä¿®æ£ã€‚ + mob_delay_item_drop()ã€mob_delay_item_drop2() ä¿®æ£ã€‚ + mobskill_castend_pos() ä¿®æ£ã€‚ pc.c - pc_takeitem()Apc_dropitem()Apc_equipitem() C³B - pc_calcstatus()Apc_bonus() C³B + pc_takeitem()ã€pc_dropitem()ã€pc_equipitem() ä¿®æ£ã€‚ + pc_calcstatus()ã€pc_bonus() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_additional_effect()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_produce_mix() C³B - skill_arrow_create()Askill_unit_timer_sub()Askill_castend_pos() C³B - map.h C³B + skill_attack()ã€skill_additional_effect()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_produce_mix() ä¿®æ£ã€‚ + skill_arrow_create()ã€skill_unit_timer_sub()ã€skill_castend_pos() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_addflooritem() C³B + map_addflooritem() ä¿®æ£ã€‚ script.c - buildin_getitem() C³B + buildin_getitem() ä¿®æ£ã€‚ pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B - battle.h C³B + pet_return_egg()ã€pet_get_egg()ã€pet_unequipitem() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack() C³B - battle_weapon_attack()Abattle_config_read() C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ -------------------- //0796 by huge -Eׂ©‚¢C³ +・細ã‹ã„ä¿®æ£ (conf/npc/) - npc_event_valentine.txt C³B + npc_event_valentine.txt ä¿®æ£ã€‚ (map/) pc.c - pc_takeitem() C³B + pc_takeitem() ä¿®æ£ã€‚ skill.c - skill_unit_timer_sub() C³B + skill_unit_timer_sub() ä¿®æ£ã€‚ -------------------- //0795 by Kalen -EŽG’k341‚Ìnpc_warp_niflheim.txt’ljÁ +・雑談341ã®npc_warp_niflheim.txtè¿½åŠ conf/warp/npc_warp_niflheim.txt -Emapflag.txtC³(GVGMAPÝ’è) - @nosave‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñ +・mapflag.txtä¿®æ£(GVGMAPè¨å®š) +  nosaveã¯ã—ã¦ã„ã¾ã›ã‚“ -Emap_athena.conf‚ÌC³ - @umbala niflheim“™‚̒ljÁ - @ƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚·B +・map_athena.confã®ä¿®æ£ +  umbala niflheimç‰ã®è¿½åŠ +  コメントアウトã—ã¦ã‚ã‚Šã¾ã™ã€‚ -EƒoƒŒƒ“ƒ^ƒCƒ“ƒXƒNƒŠƒvƒg’ljÁ +・ãƒãƒ¬ãƒ³ã‚¿ã‚¤ãƒ³ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ conf/npc/npc_event_valentine.txt - @ƒ`ƒ‡ƒR’B‚ÌDrop‚͘M‚Á‚Ä‚¢‚Ü‚¹‚ñB‚¨D‚Ý‚Å‚Ç‚¤‚¼ - @®AŽèì‚èƒ`ƒ‡ƒR‚ðH‚ׂ½‚Æ‚«‚̃GƒtƒFƒNƒg‚Í - @ÅVƒNƒ‰ƒCƒAƒ“ƒg‚É‚·‚ê‚ÎŒ©‚¦‚Ü‚·B +  ãƒãƒ§ã‚³é”ã®Dropã¯å¼„ã£ã¦ã„ã¾ã›ã‚“。ãŠå¥½ã¿ã§ã©ã†ãž +  尚ã€æ‰‹ä½œã‚Šãƒãƒ§ã‚³ã‚’食ã¹ãŸã¨ãã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã¯ +  最新クライアントã«ã™ã‚Œã°è¦‹ãˆã¾ã™ã€‚ -EGVGScript’ljÁ - conf/gvg/ˆÈ‰º - @WeissŽž‘ã‚É쬂µ‚½‚à‚Ì‚ðAthena—p‚ɃRƒ“ƒo[ƒg&‘䎌C³ - @prtg_cas01ˆÈŠO‚ÍŠø‚Ì‚Ý‚Å‚·B - @GVGDATA‚ÍŽIÄ‹N“®‚ÅÁ–Å‚µ‚Ü‚·B - @ƒGƒ‰[‚ªo‚é‚悤‚È‚çƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚‚¾‚³‚¢B - @MobDataAŽ·Ž–Script‚àprtg_cas01‚Ì‚Ý‚Å‚·B(TestScript) - @‚ ‚‚܂ŃeƒXƒgƒXƒNƒŠƒvƒg‚Å‚·BGVGŽÀ‘•‚ÌŽQl‚É‚Ç‚¤‚¼ +・GVGScriptè¿½åŠ + conf/gvg/以下 +  Weiss時代ã«ä½œæˆã—ãŸã‚‚ã®ã‚’Athena用ã«ã‚³ãƒ³ãƒãƒ¼ãƒˆ&å°è©žä¿®æ£ +  prtg_cas01以外ã¯æ——ã®ã¿ã§ã™ã€‚ +  GVGDATAã¯é¯–å†èµ·å‹•ã§æ¶ˆæ»…ã—ã¾ã™ã€‚ +  エラーãŒå‡ºã‚‹ã‚ˆã†ãªã‚‰ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã—ã¦ãã ã•ã„。 +  MobDataã€åŸ·äº‹Scriptã‚‚prtg_cas01ã®ã¿ã§ã™ã€‚(TestScript) +  ã‚ãã¾ã§ãƒ†ã‚¹ãƒˆã‚¹ã‚¯ãƒªãƒ—トã§ã™ã€‚GVG実装ã®å‚考ã«ã©ã†ãž -------------------- //0794 by DRG -Eskillused‚ÅŽw’肵‚½IW,QM‚È‚Ç‚É‚Ì‚Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚é‚悤‚É•ÏX -EƒAƒbƒvƒXƒŒ‚R‚Ì7‚Ìathena-start‚ðˆê‰žŠÜ‚ß‚Æ‚«‚Ü‚µ‚½ +・skillusedã§æŒ‡å®šã—ãŸIW,QMãªã©ã«ã®ã£ã¦ã‚‹é–“MOBスã‚ルを使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ +・アップスレ3ã®7ã®athena-startを一応å«ã‚ã¨ãã¾ã—㟠athena-start (map/) skill.c - skill_unit_onplace() C³B + skill_unit_onplace() ä¿®æ£ã€‚ -------------------- //0793 by huge -EƒT[ƒo[snapshot -EƒT[ƒo[‚ªƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒO‚ðC³ -E”“®‚¹‚¸‚Éã©‚ªÁ‚¦‚½‚çAÝ’u—pƒgƒ‰ƒbƒv‚ª•Ô‚Á‚Ä‚‚é‚悤‚ÉC³B -Eƒ‹[ƒgŒ ŒÀ‚ÅA“¯‚¶ƒp[ƒeƒB[‚̃Lƒƒƒ‰‚Í‚·‚®E‚¦‚é‚悤‚ÉC³B -EƒoƒO•ñƒXƒŒ‚R >>54 ‚̃oƒOC³B -EƒƒOƒCƒ“Žž‚ɃT[ƒo[‘¤‚ÉID‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B +・サーãƒãƒ¼snapshot +・サーãƒãƒ¼ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹ãƒã‚°ã‚’ä¿®æ£ +・発動ã›ãšã«ç½ ãŒæ¶ˆãˆãŸã‚‰ã€è¨ç½®ç”¨ãƒˆãƒ©ãƒƒãƒ—ãŒè¿”ã£ã¦ãるよã†ã«ä¿®æ£ã€‚ +・ルート権é™ã§ã€åŒã˜ãƒ‘ーティーã®ã‚ャラã¯ã™ã拾ãˆã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ï¼“ >>54 ã®ãƒã‚°ä¿®æ£ã€‚ +・ãƒã‚°ã‚¤ãƒ³æ™‚ã«ã‚µãƒ¼ãƒãƒ¼å´ã«IDを表示ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ (login/) login.c - parse_login() C³B + parse_login() ä¿®æ£ã€‚ (conf/npc/) - npc_event_doll.txt C³B + npc_event_doll.txt ä¿®æ£ã€‚ (map/) skill.c - skill_unit_timer_sub() C³B + skill_unit_timer_sub() ä¿®æ£ã€‚ mob.c - mob_spawn_dataset() C³B - mob_damage() C³B + mob_spawn_dataset() ä¿®æ£ã€‚ + mob_damage() ä¿®æ£ã€‚ pc.c - pc_additem() C³B + pc_additem() ä¿®æ£ã€‚ -------------------- -//0791 by ¹ +//0791 by è– -Eƒ}ƒbƒvƒT[ƒo‚ªƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒOC³B -EƒCƒO—t‚ðŽg‚Á‚Ä‚àƒWƒFƒ€‚ª•K—v‚É‚È‚é–â‘è‚ðC³B -EPvP‹§‘—ŠÒŽÀ‘•B -EPvP‚ŃŠƒUƒŒƒNƒVƒ‡ƒ“‚ªo—ˆ‚È‚©‚Á‚½–â‘è‚ðC³B -E‚»‚Ì‘¼×‚©‚ÈC³B +・マップサーãƒãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹ãƒã‚°ä¿®æ£ã€‚ +・イグ葉を使ã£ã¦ã‚‚ジェムãŒå¿…è¦ã«ãªã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ +・PvP強制é€é‚„実装。 +・PvPã§ãƒªã‚¶ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãŒå‡ºæ¥ãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ãªä¿®æ£ã€‚ (map/) guild.c mob.c @@ -5838,646 +5838,646 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ skill.c -------------------- -//0790 by Ž€_ +//0790 by æ»ç¥ž -EƒoƒOC³B +・ãƒã‚°ä¿®æ£ã€‚ (conf/) - battle_athena.conf ŒëŽšC³B + battle_athena.conf 誤å—ä¿®æ£ã€‚ (doc/) - conf_ref.txt ŒëŽšC³B + conf_ref.txt 誤å—ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (map/) - itemdb.h C³B - map.h C³B + itemdb.h ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ skill.c - skill_check_condition()Askill_use_pos()Askill_unit_onplace() C³B + skill_check_condition()ã€skill_use_pos()ã€skill_unit_onplace() ä¿®æ£ã€‚ -------------------- //0789 by huge -EƒhƒƒbƒvƒAƒCƒeƒ€‚Ƀ‹[ƒgŒ ŒÀ‚ðŽÀ‘•B -Eʼn‚ÉUŒ‚‚µ‚½lˆÈŠO‚ªƒhƒƒbƒvƒAƒCƒeƒ€‚ðE‚¦‚é‚Ü‚Å‚ÌŽžŠÔ‚ðÝ’è‚Å‚«‚é‚悤‚ÉB +・ドãƒãƒƒãƒ—アイテムã«ãƒ«ãƒ¼ãƒˆæ¨©é™ã‚’実装。 +・最åˆã«æ”»æ’ƒã—ãŸäººä»¥å¤–ãŒãƒ‰ãƒãƒƒãƒ—アイテムを拾ãˆã‚‹ã¾ã§ã®æ™‚é–“ã‚’è¨å®šã§ãるよã†ã«ã€‚ (/conf) - battle_athena.conf €–ڒljÁB + battle_athena.conf é …ç›®è¿½åŠ ã€‚ (/doc) - conf_doc.txt à–¾’ljÁB + conf_doc.txt èª¬æ˜Žè¿½åŠ ã€‚ (/map) battle.h - Battle_Config{} C³B + Battle_Config{} ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ itemdb.h - item_data {} C³B + item_data {} ä¿®æ£ã€‚ map.h - flooritem_data {} C³B - mob_data {} C³B + flooritem_data {} ä¿®æ£ã€‚ + mob_data {} ä¿®æ£ã€‚ map.c - map_addflooritem() C³B + map_addflooritem() ä¿®æ£ã€‚ mob.c - delay_item_drop{} C³B - mob_spawn() C³B - mob_damage() C³B - mob_delay_item_drop() C³B - mob_warp() C³B + delay_item_drop{} ä¿®æ£ã€‚ + mob_spawn() ä¿®æ£ã€‚ + mob_damage() ä¿®æ£ã€‚ + mob_delay_item_drop() ä¿®æ£ã€‚ + mob_warp() ä¿®æ£ã€‚ pc.c - pc_takeitem() C³B + pc_takeitem() ä¿®æ£ã€‚ -------------------- -//0788 by ‚ ‚ä‚Ý +//0788 by ã‚ゆ㿠-EcardƒXƒLƒ‹‚̈—H‚ðC³B -E@allskillƒRƒ}ƒ“ƒh‚ÌÄC³B +・cardスã‚ルã®å‡¦ç†ï¼Ÿã‚’ä¿®æ£ã€‚ +・@allskillコマンドã®å†ä¿®æ£ã€‚ (map/) pc.c - pc_skill() C³B - pc_allskillup() C³B + pc_skill() ä¿®æ£ã€‚ + pc_allskillup() ä¿®æ£ã€‚ -------------------- -//0787 by ‚Û‚Û‚Û +//0787 by ã½ã½ã½ -Eƒyƒbƒg‚É‚àmob_avail.txt‚ÌÝ’è‚ð“K—p‚·‚é‚悤‚É‚µ‚½B -EMOBƒXƒLƒ‹‚Ìskillused‚Åval1‚É0‚ð“ü‚ê‚é‚Æ‚ ‚ç‚ä‚éƒXƒLƒ‹‚ɑ΂µ‚Ä”“®‚·‚é‚悤‚É‚µ‚½B -Eskillused‚Å”“®‚µ‚½ƒXƒLƒ‹‚Ì‘ÎÛ‚ðA”“®‚³‚¹‚½PC‚É‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½(‘ÎIWƒnƒ‚È‚ÇH)B +・ペットã«ã‚‚mob_avail.txtã®è¨å®šã‚’é©ç”¨ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ +・MOBスã‚ルã®skillusedã§val1ã«0を入れるã¨ã‚らゆるスã‚ルã«å¯¾ã—ã¦ç™ºå‹•ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ +・skillusedã§ç™ºå‹•ã—ãŸã‚¹ã‚ルã®å¯¾è±¡ã‚’ã€ç™ºå‹•ã•ã›ãŸPCã«ã™ã‚‹ã‹ã©ã†ã‹è¨å®šã§ãるよã†ã«ã—ãŸ(対IWãƒãƒ¡ãªã©ï¼Ÿ)。 (/map) clif.c - clif_pet0078()Aclif_pet007b()C³B + clif_pet0078()ã€clif_pet007b()ä¿®æ£ã€‚ mob.c - mobskill_use()C³B + mobskill_use()ä¿®æ£ã€‚ skill.c - skill_attack() Askill_castend_damage_id()C³B + skill_attack() ã€skill_castend_damage_id()ä¿®æ£ã€‚ battle.h battle.c - battle_config_read()C³B + battle_config_read()ä¿®æ£ã€‚ -------------------- //0786 by huge -EBDSC³ - ‘O‚©‚ç‚«”ò‚΂µ‚Äs‚‚Æ—Ç‚‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚Ì‚ÅAŒã‚ë‚©‚爗 - —LŒø”͈͂ÌC³ +・BDSä¿®æ£ + å‰ã‹ã‚‰å¹ã飛ã°ã—ã¦è¡Œãã¨è‰¯ããªã„ã‹ã‚‚ã—ã‚Œãªã„ã®ã§ã€å¾Œã‚ã‹ã‚‰å‡¦ç† + 有効範囲ã®ä¿®æ£ (/map) skill.h skill.c - skill_castend_damage_id() C³B - skill_castend_nodamage_id() C³B - skill_brandishspear_first() C³B - skill_brandishspear_dir() C³B - --------------------- -//0785 by Ž€_ - -E–{ŽI‚ɇ‚킹‚ÄC³B(ŠØ‘ˆÆ‚̃pƒbƒ`notice‚ðŽQl‚µ‚ÄC³‚µ‚Ü‚µ‚½B) -EBB‚ÆBS‚̃LƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ð0.7•b‚É‚µ‚ăfƒBƒŒƒC‚Í0‚É•ÏXB -Eghost‚Ì•Ï‚í‚è‚Ƀ}ƒbƒvˆÚ“®Œã‚Ì–³“GŽžŠÔ‚ðÝ’èB‚±‚ÌŽžŠÔ‚ÌŠÔ‚Í‚Ç‚ñ‚ÈUŒ‚‚àŽó‚¯‚È‚¢‚ªˆÚ“®‚âUŒ‚AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚Å‚±‚ÌŽžŠÔ‚Í‚È‚‚È‚è‚Ü‚·BƒV[ƒYƒ‚[ƒh‚Å‚Í‚±‚Ì–³“GŽžŠÔ‚ð2”{‚Æ‚µ‚Ä“K—pB -EƒV[ƒYƒ‚[ƒh‚ÅŽ€‚ñ‚Å‚àŒoŒ±‚ªŒ¸‚ç‚È‚¢‚悤‚ÉC³B(mapflag‚Ìnopenalty‚ðÝ’è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB) -EƒXƒLƒbƒh‚ÅŠŠ‚ׂ鋗—£‘‰ÁB -EŠù‚É’¾–Ù‚É‚©‚©‚Á‚Ä‚é‘ÎۂɃŒƒbƒNƒXƒfƒBƒr[ƒi‚ðŽg‚¤‚Æ’¾–Ù‚ª‰ðœ‚³‚ê‚é‚悤‚É•ÏXB -EŽô‚¢‚É‚©‚©‚é‚ƈړ®‘¬“x‚àŒ¸‚é‚悤‚ÉC³B -Ebattle_athena.conf‚É€–Ú•ÏXB -EƒXƒLƒ‹‚Ìd‚Ë’u‚«‚ð”»’fˆ—‚ð‚µ•ÏXB -EHP‚ÌŽ©‘R‰ñ•œŽžŠÔ‚ª4•b‚Å‚Í‚È‚6•b‚¾‚Æ‚í‚©‚Á‚½‚̂ŃfƒtƒHƒ‹ƒgC³‚Æbattle_athena.confC³B -E‚»‚Ì‘¼×‚©‚¢C³‚âƒoƒOC³B -E–w‚ǃeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB + skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_brandishspear_first() ä¿®æ£ã€‚ + skill_brandishspear_dir() ä¿®æ£ã€‚ + +-------------------- +//0785 by æ»ç¥ž + +・本鯖ã«åˆã‚ã›ã¦ä¿®æ£ã€‚(韓国éžã®ãƒ‘ッãƒnoticeã‚’å‚考ã—ã¦ä¿®æ£ã—ã¾ã—ãŸã€‚) +・BBã¨BSã®ã‚ャスティング時間を0.7秒ã«ã—ã¦ãƒ‡ã‚£ãƒ¬ã‚¤ã¯0ã«å¤‰æ›´ã€‚ +・ghostã®å¤‰ã‚ã‚Šã«ãƒžãƒƒãƒ—移動後ã®ç„¡æ•µæ™‚é–“ã‚’è¨å®šã€‚ã“ã®æ™‚é–“ã®é–“ã¯ã©ã‚“ãªæ”»æ’ƒã‚‚å—ã‘ãªã„ãŒç§»å‹•ã‚„攻撃ã€ã‚¹ã‚ル使用ã€ã‚¢ã‚¤ãƒ†ãƒ 使用ã§ã“ã®æ™‚é–“ã¯ãªããªã‚Šã¾ã™ã€‚シーズモードã§ã¯ã“ã®ç„¡æ•µæ™‚é–“ã‚’2å€ã¨ã—ã¦é©ç”¨ã€‚ +・シーズモードã§æ»ã‚“ã§ã‚‚経験ãŒæ¸›ã‚‰ãªã„よã†ã«ä¿®æ£ã€‚(mapflagã®nopenaltyã‚’è¨å®šã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。) +・スã‚ッドã§æ»‘ã¹ã‚‹è·é›¢å¢—åŠ ã€‚ +・既ã«æ²ˆé»™ã«ã‹ã‹ã£ã¦ã‚‹å¯¾è±¡ã«ãƒ¬ãƒƒã‚¯ã‚¹ãƒ‡ã‚£ãƒ“ーナを使ã†ã¨æ²ˆé»™ãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・呪ã„ã«ã‹ã‹ã‚‹ã¨ç§»å‹•é€Ÿåº¦ã‚‚減るよã†ã«ä¿®æ£ã€‚ +・battle_athena.confã«é …目変更。 +・スã‚ルã®é‡ãç½®ãを判æ–処ç†ã‚’å°‘ã—変更。 +・HPã®è‡ªç„¶å›žå¾©æ™‚é–“ãŒ4秒ã§ã¯ãªã6秒ã ã¨ã‚ã‹ã£ãŸã®ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆä¿®æ£ã¨battle_athena.confä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã‚„ãƒã‚°ä¿®æ£ã€‚ +・殆ã©ãƒ†ã‚¹ãƒˆã—ã¦ã¾ã›ã‚“。 (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ (map/) - atcommand.c C³B + atcommand.c ä¿®æ£ã€‚ clif.c - clif_mob0078()Aclif_mob007b()Aclif_skill_estimation() C³B - clif_mob_class_change()Aclif_parse_WalkToXY() C³B - clif_parse_ActionRequest()Aclif_parse_LoadEndAck() C³B - clif_parse_UseItem()Aclif_parse_UseSkillToId() C³B - clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() C³B - mob.h C³B + clif_mob0078()ã€clif_mob007b()ã€clif_skill_estimation() ä¿®æ£ã€‚ + clif_mob_class_change()ã€clif_parse_WalkToXY() ä¿®æ£ã€‚ + clif_parse_ActionRequest()ã€clif_parse_LoadEndAck() ä¿®æ£ã€‚ + clif_parse_UseItem()ã€clif_parse_UseSkillToId() ä¿®æ£ã€‚ + clif_parse_UseSkillToPos()ã€clif_parse_UseSkillMap() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_get_viewclass()Amob_attack()Amob_target() C³B - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard() C³B - mobskill_castend_id()Amobskill_castend_pos() C³B - skill.h C³B - skill.c - skill_can_produce_mix()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_castend_id() C³B - skill_castend_pos()Askill_use_id()Askill_readdb() C³B - skill_check_condition()Askill_unit_onplace()Askill_unitsetting() C³B - skill_additional_effect()Askill_check_unit_range() C³B - skill_check_unit_range_sub()Askill_status_change_end() C³B - skill_status_change_start() C³B + mob_get_viewclass()ã€mob_attack()ã€mob_target() ä¿®æ£ã€‚ + mob_ai_sub_hard_activesearch()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ + mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_can_produce_mix()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_id() ä¿®æ£ã€‚ + skill_castend_pos()ã€skill_use_id()ã€skill_readdb() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_unit_onplace()ã€skill_unitsetting() ä¿®æ£ã€‚ + skill_additional_effect()ã€skill_check_unit_range() ä¿®æ£ã€‚ + skill_check_unit_range_sub()ã€skill_status_change_end() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ pc.h pc.c - pc_ghost_timer()Apc_setghosttimer()Apc_delghosttimer() íœB - pc_gvg_invincible_timer() -> pc_invincible_timer()‚É•ÏXB - pc_setgvginvincibletimer() -> pc_setinvincibletimer()‚É•ÏXB - pc_delgvginvincibletimer() -> pc_delinvincibletimer()‚É•ÏXB - pc_authok()Apc_attack_timer()Apc_calcstatus() C³B - pc_setrestartvalue()Apc_damage()Apc_allskillup() C³B - do_init_pc() C³B - battle.h C³B + pc_ghost_timer()ã€pc_setghosttimer()ã€pc_delghosttimer() 削除。 + pc_gvg_invincible_timer() -> pc_invincible_timer()ã«å¤‰æ›´ã€‚ + pc_setgvginvincibletimer() -> pc_setinvincibletimer()ã«å¤‰æ›´ã€‚ + pc_delgvginvincibletimer() -> pc_delinvincibletimer()ã«å¤‰æ›´ã€‚ + pc_authok()ã€pc_attack_timer()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_setrestartvalue()ã€pc_damage()ã€pc_allskillup() ä¿®æ£ã€‚ + do_init_pc() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read()Abattle_weapon_attack()Abattle_check_target() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_get_speed() C³B - map.h C³B + battle_config_read()ã€battle_weapon_attack()ã€battle_check_target() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_get_speed() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ -------------------- -//0784 by ‚ ‚ä‚Ý +//0784 by ã‚ゆ㿠-EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚éó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚é‚Æmap-server‚ª–\‘–‚·‚é–â‘è‚ðC³B +・カードスã‚ルを覚ãˆã¦ã„る状態ã§@allskillコマンドを使用ã™ã‚‹ã¨map-serverãŒæš´èµ°ã™ã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ (map/) pc.c - pc_allskillup() C³B + pc_allskillup() ä¿®æ£ã€‚ -------------------- //0783 by huge -Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA‚ÌC³ - ”͈͎w’èAŽÎ‚ß‚ÌÛ‚ÌŠiŽq”͈ÍAUŒ‚—ÍŒvŽZ - ‘½•ª‡‚Á‚Ä‚é‚ÆŽv‚¤‚ñ‚Å‚·‚¯‚ÇAƒCƒ}ƒCƒ`Ž©M‚ªŽ‚Ä‚È‚¢EEE - (ŽQl)‚Ý‚·‚Ƃꑃ -ƒXƒLƒ‹ŠÖ˜A“¤î•ñ -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ð‚¿‚å‚Á‚ÆC³ -Eƒvƒƒ{ƒbƒN‚ðMVPmob‚ÉŒø‚©‚È‚¢‚悤C³ -EƒoƒO•ñƒXƒŒ‚R >>8 ‚Å•ñ‚³‚ꂽ‚à‚Ì‚ÌŽæ‚èž‚Ý +・ブランディッシュスピアã®ä¿®æ£ + 範囲指定ã€æ–œã‚ã®éš›ã®æ ¼å範囲ã€æ”»æ’ƒåŠ›è¨ˆç®— + 多分åˆã£ã¦ã‚‹ã¨æ€ã†ã‚“ã§ã™ã‘ã©ã€ã‚¤ãƒžã‚¤ãƒè‡ªä¿¡ãŒæŒã¦ãªã„・・・ + (å‚考)ã¿ã™ã¨ã‚Œå·£ -スã‚ãƒ«é–¢é€£è±†æƒ…å ± +・スペルブレイカーをã¡ã‚‡ã£ã¨ä¿®æ£ +・プãƒãƒœãƒƒã‚¯ã‚’MVPmobã«åŠ¹ã‹ãªã„よã†ä¿®æ£ +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ï¼“ >>8 ã§å ±å‘Šã•ã‚ŒãŸã‚‚ã®ã®å–り込㿠(/db) - create_arrow.txt C³B - skill_db.txt C³B + create_arrow.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (/map) battle.c - battle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack() C³B + battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ skill.h skill.c - skill_brandishspear_first() ’ljÁB - skill_brandishspear_dir() ’ljÁB - skill_castend_nodamage_id() C³B - skill_castend_damage_id() C³B - skill_unit_group() C³B + skill_brandishspear_first() è¿½åŠ ã€‚ + skill_brandishspear_dir() è¿½åŠ ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_castend_damage_id() ä¿®æ£ã€‚ + skill_unit_group() ä¿®æ£ã€‚ -------------------- -//0782 by ‚Ò‚´‚Ü‚ñ -E@allskillƒRƒ}ƒ“ƒh‚ÌŽg—pðŒ‚ªŽQÆ‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ƒoƒOC³ +//0782 by ã´ã–ã¾ã‚“ +・@allskillコマンドã®ä½¿ç”¨æ¡ä»¶ãŒå‚ç…§ã•ã‚Œã¦ã„ãªã‹ã£ãŸãƒã‚°ä¿®æ£ (/map) atcommand.c - atcommand() C³B + atcommand() ä¿®æ£ã€‚ -------------------- //0781 by Chunglyeng -Eƒoƒh, ƒ_ƒ“ƒT[‰¹Šy‹ïŒ» +・ãƒãƒ‰, ãƒ€ãƒ³ã‚µãƒ¼éŸ³æ¥½å…·ç¾ (/map) - skill.c C³B + skill.c ä¿®æ£ã€‚ -------------------- //0780 by reia -EƒyƒRƒyƒR‚Ì—‘‚È‚Ç‚ª›z‰»‚·‚é‚ƃmƒr‚É‚È‚Á‚Ä‚µ‚Ü‚¤–â‘èC³B -EGMƒRƒ}ƒ“ƒhu@kickallv‚ª‰½Žž‚ÌŠÔ‚É‚©–³Œø‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B +・ペコペコã®åµãªã©ãŒåµåŒ–ã™ã‚‹ã¨ãƒŽãƒ“ã«ãªã£ã¦ã—ã¾ã†å•é¡Œä¿®æ£ã€‚ +・GMコマンド「@kickallã€ãŒä½•æ™‚ã®é–“ã«ã‹ç„¡åŠ¹ã«ãªã£ã¦ã„ãŸã®ã§ä¿®æ£ã€‚ (/conf) - atcommand_athena.conf C³B + atcommand_athena.conf ä¿®æ£ã€‚ (db/) - mob_skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ (map/) atcommand.c - atcommand_config_read() C³B + atcommand_config_read() ä¿®æ£ã€‚ -------------------- -//0779 by ‚ ‚ä‚Ý +//0779 by ã‚ゆ㿠-E‘SƒXƒLƒ‹Žæ“¾ƒRƒ}ƒ“ƒh‚̒ljÁB - EGM‚Å‘SƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚é‚悤‚É‚µ‚Ä‚¢‚éꇂâAƒXƒLƒ‹‚Ì”‚ª‘½‚¢E‹Æ‚͈ꕔ‚̃XƒLƒ‹•\Ž¦‚ª‚¨‚©‚µ‚‚È‚è‚Ü‚·B‚»‚Ìꇂ̓ŠƒƒO‚µ‚ĉº‚³‚¢B - @allskill : Œ»Ý‚ÌE‹Æ‚Ŏ擾‰Â”\‚È‘SƒXƒLƒ‹‚ðŽæ“¾‚·‚éB(ƒNƒGƒXƒgƒXƒLƒ‹ŠÜ‚Þ) +・全スã‚ルå–得コマンドã®è¿½åŠ 。 + ・GMã§å…¨ã‚¹ã‚ルを覚ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹å ´åˆã‚„ã€ã‚¹ã‚ルã®æ•°ãŒå¤šã„è·æ¥ã¯ä¸€éƒ¨ã®ã‚¹ã‚ル表示ãŒãŠã‹ã—ããªã‚Šã¾ã™ã€‚ãã®å ´åˆã¯ãƒªãƒã‚°ã—ã¦ä¸‹ã•ã„。 + @allskill : ç¾åœ¨ã®è·æ¥ã§å–å¾—å¯èƒ½ãªå…¨ã‚¹ã‚ルをå–å¾—ã™ã‚‹ã€‚(クエストスã‚ルå«ã‚€) (conf/) - battle_athena.conf C³B - help.txt C³B + battle_athena.conf ä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ (map/) - atcommand.h C³B + atcommand.h ä¿®æ£ã€‚ atcommand.c - atcommand() C³B - pc.h C³B + atcommand() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_allskillup() ’ljÁB + pc_allskillup() è¿½åŠ ã€‚ (doc/) - conf_ref.txt C³B - help.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ -------------------- //0778 by huge -EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ÌC³ - EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Ì–³‚¢ƒXƒLƒ‹‚É‚ÍŒø‚©‚È‚¢‚悤‚ÉC³B - EŽg—p‚³‚ꂽ‘ŠŽè‚ÌÁ”ïSP‚ÌC³B +・スペルブレイカーã®ä¿®æ£ + ・ã‚ャスティングタイムã®ç„¡ã„スã‚ルã«ã¯åŠ¹ã‹ãªã„よã†ã«ä¿®æ£ã€‚ + ・使用ã•ã‚ŒãŸç›¸æ‰‹ã®æ¶ˆè²»SPã®ä¿®æ£ã€‚ (map/) skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ -------------------- -//0777 by ‚Ò‚´‚Ü‚ñ +//0777 by ã´ã–ã¾ã‚“ -EƒMƒ‹ƒhUé퉼ŽÀ‘• -@EŠî–{“I‚È•”•ª‚¾‚¯‚µ‚©ŽÀ‘•‚µ‚Ä‚È‚¢ãA‚¢‚‚‚©‚Ì“_‚Å–{ŽI‚Æ‘Šˆá‚ª‚ ‚è‚Ü‚·B -@EUéíŠJŽn‚ÆI—¹‚Í@ƒRƒ}ƒ“ƒh‚Ås‚¢‚Ü‚· - @gvgstart : UéíŠJŽn - @gvgend : UéíI—¹ -@Ebattle_athena.conf‚É€–ڒljÁB +・ギルド攻城戦仮実装 + ・基本的ãªéƒ¨åˆ†ã ã‘ã—ã‹å®Ÿè£…ã—ã¦ãªã„上ã€ã„ãã¤ã‹ã®ç‚¹ã§æœ¬é¯–ã¨ç›¸é•ãŒã‚ã‚Šã¾ã™ã€‚ + ・攻城戦開始ã¨çµ‚了ã¯@コマンドã§è¡Œã„ã¾ã™ + @gvgstart : 攻城戦開始 + @gvgend : 攻城戦終了 + ・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ (char/) int_guild.c - inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() C³B - inter_castle_save_sub()Amapif_guild_castle_info() ’ljÁB - mapif_guild_change_castle()Amapif_parse_GuildCastleInfo() ’ljÁB - mapif_parse_GuildChangeCastle() ’ljÁB + inter_guild_init()ã€inter_guild_readdb()ã€inter_guild_save() ä¿®æ£ã€‚ + inter_castle_save_sub()ã€mapif_guild_castle_info() è¿½åŠ ã€‚ + mapif_guild_change_castle()ã€mapif_parse_GuildCastleInfo() è¿½åŠ ã€‚ + mapif_parse_GuildChangeCastle() è¿½åŠ ã€‚ inter.c - inter_config_read() C³B - inter_send_packet_length[]Ainter_recv_packet_length[] C³B - int_guild.h C³B + inter_config_read() ä¿®æ£ã€‚ + inter_send_packet_length[]ã€inter_recv_packet_length[] ä¿®æ£ã€‚ + int_guild.h ä¿®æ£ã€‚ (map/) atcommand.c - atcommand()Aatcommand_config_read() C³B + atcommand()ã€atcommand_config_read() ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ guild.c - guild_castle_search()Aguild_read_castledb()’ljÁB - do_init_guild() C³B - guild_gvg_init()Aguild_gvg_final()Aguild_gvg_final_sub() ’ljÁB - guild_gvg_eliminate()Aguild_gvg_eliminate_sub() ’ljÁB - guild_gvg_eliminate_timer()Aguild_gvg_empelium_pos() ’ljÁB - guild_gvg_break_empelium() ’ljÁB + guild_castle_search()ã€guild_read_castledb()è¿½åŠ ã€‚ + do_init_guild() ä¿®æ£ã€‚ + guild_gvg_init()ã€guild_gvg_final()ã€guild_gvg_final_sub() è¿½åŠ ã€‚ + guild_gvg_eliminate()ã€guild_gvg_eliminate_sub() è¿½åŠ ã€‚ + guild_gvg_eliminate_timer()ã€guild_gvg_empelium_pos() è¿½åŠ ã€‚ + guild_gvg_break_empelium() è¿½åŠ ã€‚ intif.c - intif_parse()Apacket_len_table[] C³B - intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ’ljÁB - intif_guild_castle_info()Aintif_guild_castle_change() ’ljÁB + intif_parse()ã€packet_len_table[] ä¿®æ£ã€‚ + intif_parse_GuildCastleInfo()ã€intif_parse_GuildCastleChange() è¿½åŠ ã€‚ + intif_guild_castle_info()ã€intif_guild_castle_change() è¿½åŠ ã€‚ mob.c - mob_damage() C³B - atcommand.h C³B - battle.h C³B - guild.h C³B - intif.h C³B - mob.h C³B + mob_damage() ä¿®æ£ã€‚ + atcommand.h ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ + guild.h ä¿®æ£ã€‚ + intif.h ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B - inter_athena.conf C³B - msg_athena.conf C³B - atcommand_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ + inter_athena.conf ä¿®æ£ã€‚ + msg_athena.conf ä¿®æ£ã€‚ + atcommand_athena.conf ä¿®æ£ã€‚ (db/) - castle_db.txt ’ljÁB + castle_db.txt è¿½åŠ ã€‚ -------------------- -//0776 by Ž€_ +//0776 by æ»ç¥ž -ENPCƒXƒLƒ‹›z‰»ŽÀ‘•B(mob_skill_db.txt‚Ìval1‚ðŽg‚¢‚Ü‚·B) -Emob_skill_db.txt‚ÌŠm—¦‚ð番—¦‚©‚ç–œ•ª—¦‚É•ÏXB(‚½‚¾mob_skill_db.txt‚ÌC³‚Í‚µ‚Ä‚Ü‚¹‚ñB) -Eƒ‚ƒ“ƒXƒ^[‚ªƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚·‚é–â‘èC³B(C³‚³‚ꂽ‚©‚Ç‚¤‚©‚ÌŽ©M‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) -E‚»‚Ì‘¼×‚©‚¢C³B +・NPCスã‚ルåµåŒ–実装。(mob_skill_db.txtã®val1を使ã„ã¾ã™ã€‚) +・mob_skill_db.txtã®ç¢ºçŽ‡ã‚’åƒåˆ†çŽ‡ã‹ã‚‰ä¸‡åˆ†çŽ‡ã«å¤‰æ›´ã€‚(ãŸã mob_skill_db.txtã®ä¿®æ£ã¯ã—ã¦ã¾ã›ã‚“。) +・モンスターãŒãƒ€ãƒ–ルアタックã™ã‚‹å•é¡Œä¿®æ£ã€‚(ä¿®æ£ã•ã‚ŒãŸã‹ã©ã†ã‹ã®è‡ªä¿¡ã¯ã‚ã‚Šã¾ã›ã‚“ãŒ...) +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (db/) - mob_skill_db.txt C³B - skill_db.txt C³B + mob_skill_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (map/) - map.h C³B - mob.h C³B + map.h ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_spawn_dataset()Amob_spawn() C³B - mob_changestate()Amobskill_use() C³B - mob_class_change() ’ljÁB + mob_spawn_dataset()ã€mob_spawn() ä¿®æ£ã€‚ + mob_changestate()ã€mobskill_use() ä¿®æ£ã€‚ + mob_class_change() è¿½åŠ ã€‚ npc.c - npc_parse_mob() C³B + npc_parse_mob() ä¿®æ£ã€‚ battle.c - battle_check_target() C³B - clif.h C³B + battle_check_target() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_mob_class_change() ’ljÁB + clif_mob_class_change() è¿½åŠ ã€‚ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ -------------------- -//0775 by Ž€_ +//0775 by æ»ç¥ž -EƒV[ƒYƒ‚[ƒh‚̈—C³B -EƒV[ƒYƒ‚[ƒh‚Ì–³“GŽžŠÔ‚ÌŠÔ‚Í‚Ç‚ñ‚ÈUŒ‚‚àŽó‚¯‚È‚¢‚悤‚ÉC³B -EƒV[ƒYƒ‚[ƒh‚Ì–³“GŽžŠÔ‚ªŽžŠÔØ‚ê‚É‚È‚é‘O‚ɂ͉𜂳‚ê‚È‚¢‚悤‚ÉC³B -Ebattle_athena.conf‚É€–ڒljÁB -E@hide‚â/hide‚É‚æ‚éGMƒnƒCƒfƒBƒ“ƒO’†‚ÍŽ©•ª‚ÉŽ©“®Žg—p‚³‚ê‚éƒXƒLƒ‹ˆÈŠO‚̃XƒLƒ‹Žg—p‚âUŒ‚‚ðŽó‚¯‚È‚¢‚悤‚ÉC³B -EƒnƒCƒfƒBƒ“ƒO’†’n‘®«ƒXƒLƒ‹ˆÈŠO‚ÌUŒ‚‚ðŽó‚¯‚È‚¢‚悤‚ÉC³B(ƒgƒ‰ƒbƒv‚âƒNƒ@ƒOƒ}ƒCƒA“™‚̃XƒLƒ‹‚͉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©•s–¾‚È‚Ì‚Å¡‚Ü‚Å‚Æ“¯‚¶‚悤‚ɉe‹¿‚ðŽó‚¯‚é‚悤‚Ɉ—B) -Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒu‚̈ړ®‘¬“x‚ð–{ŽI‚ɇ‚킹‚Ü‚µ‚½B -E‚»‚Ì‘¼ƒoƒOC³‚âׂ©‚¢C³B(–w‚Ç–¢ƒeƒXƒg) +・シーズモードã®å‡¦ç†ä¿®æ£ã€‚ +・シーズモードã®ç„¡æ•µæ™‚é–“ã®é–“ã¯ã©ã‚“ãªæ”»æ’ƒã‚‚å—ã‘ãªã„よã†ã«ä¿®æ£ã€‚ +・シーズモードã®ç„¡æ•µæ™‚é–“ãŒæ™‚間切れã«ãªã‚‹å‰ã«ã¯è§£é™¤ã•ã‚Œãªã„よã†ã«ä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・@hideã‚„/hideã«ã‚ˆã‚‹GMãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ä¸ã¯è‡ªåˆ†ã«è‡ªå‹•ä½¿ç”¨ã•ã‚Œã‚‹ã‚¹ã‚ル以外ã®ã‚¹ã‚ル使用や攻撃をå—ã‘ãªã„よã†ã«ä¿®æ£ã€‚ +・ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ä¸åœ°å±žæ€§ã‚¹ã‚ル以外ã®æ”»æ’ƒã‚’å—ã‘ãªã„よã†ã«ä¿®æ£ã€‚(トラップやクァグマイアç‰ã®ã‚¹ã‚ルã¯å½±éŸ¿ã‚’å—ã‘ã‚‹ã‹ã©ã†ã‹ä¸æ˜Žãªã®ã§ä»Šã¾ã§ã¨åŒã˜ã‚ˆã†ã«å½±éŸ¿ã‚’å—ã‘るよã†ã«å‡¦ç†ã€‚) +・トンãƒãƒ«ãƒ‰ãƒ©ã‚¤ãƒ–ã®ç§»å‹•é€Ÿåº¦ã‚’本鯖ã«åˆã‚ã›ã¾ã—ãŸã€‚ +・ãã®ä»–ãƒã‚°ä¿®æ£ã‚„ç´°ã‹ã„ä¿®æ£ã€‚(殆ã©æœªãƒ†ã‚¹ãƒˆ) (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_check_target()Abattle_calc_damage() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack() C³B - battle_config_read()Abattle_weapon_attack() C³B - pc.h C³B - pc.c - do_init_pc()Apc_authok() C³B - pc_attack()Apc_attack_timer() C³B - pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer()‚ð - pc_setgvginvincibletimer()Apc_delgvginvincibletimer()‚ÉC³B - pc_gvg_invincible_timer() ’ljÁB - pc_attack_timer()Apc_steal_item()Apc_calcstatus() C³B + battle_check_target()ã€battle_calc_damage() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack() ä¿®æ£ã€‚ + battle_config_read()ã€battle_weapon_attack() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ + pc.c + do_init_pc()ã€pc_authok() ä¿®æ£ã€‚ + pc_attack()ã€pc_attack_timer() ä¿®æ£ã€‚ + pc_setgvg_ghosttimer()ã€pc_delgvg_ghosttimer()ã‚’ + pc_setgvginvincibletimer()ã€pc_delgvginvincibletimer()ã«ä¿®æ£ã€‚ + pc_gvg_invincible_timer() è¿½åŠ ã€‚ + pc_attack_timer()ã€pc_steal_item()ã€pc_calcstatus() ä¿®æ£ã€‚ clif.c - clif_parse_ActionRequest()Aclif_parse_UseItem() C³B - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B - clif_parse_UseSkillMap()Aclif_parse_WalkToXY() C³B - map.h C³B + clif_parse_ActionRequest()ã€clif_parse_UseItem() ä¿®æ£ã€‚ + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ + clif_parse_UseSkillMap()ã€clif_parse_WalkToXY() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ mob.c - mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() C³B - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B - mob_damage()Amobskill_castend_id()Amobskill_castend_pos() C³B + mob_attack()ã€mob_target()ã€mob_ai_sub_hard_activesearch() ä¿®æ£ã€‚ + mob_ai_sub_hard_mastersearch()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ + mob_damage()ã€mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ skill.c - skill_castend_damage_id()Askill_attack() C³B - skill_castend_id()Askill_castend_pos()Askill_castend_map() C³B + skill_castend_damage_id()ã€skill_attack() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_castend_pos()ã€skill_castend_map() ä¿®æ£ã€‚ -------------------- -//0774 by Ž‚Žqo^.^o -EMonk job bouns C³ -EƒhƒPƒr C³ +//0774 by ç…åo^.^o +・Monk job bouns ä¿®æ£ +・ドケビ ä¿®æ£ (db/) - job_db2.txt C³ - pet_db.txt C³ + job_db2.txt ä¿®æ£ + pet_db.txt ä¿®æ£ -------------------- -//0773 by ¹ +//0773 by è– -Eׂ©‚¢ƒoƒOC³ +・細ã‹ã„ãƒã‚°ä¿®æ£ (map/) - skill.c C³B - battle.c C³B + skill.c ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ -------------------- -//0772 by ‚Ò‚´‚Ü‚ñ +//0772 by ã´ã–ã¾ã‚“ -EƒV[ƒYƒ‚[ƒh‰º‚ňȉº‚Ì“_‚ðC³ -@E˜A‘±‚µ‚ÄUŒ‚‚Å‚«‚È‚‚È‚Á‚Ä‚¢‚½ƒoƒOC³ -@Eƒ_ƒ[ƒWŒyŒ¸—¦‚ª³‚µ‚Ý’è‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ -@E–³“GŽžŠÔŽÀ‘•Bbattle_athena.conf‚Ìgvg_ghost_time‚ÅÝ’è‚Å‚«‚Ü‚· +・シーズモード下ã§ä»¥ä¸‹ã®ç‚¹ã‚’ä¿®æ£ + ・連続ã—ã¦æ”»æ’ƒã§ããªããªã£ã¦ã„ãŸãƒã‚°ä¿®æ£ + ・ダメージ軽減率ãŒæ£ã—ãè¨å®šã§ããªã‹ã£ãŸãƒã‚°ä¿®æ£ + ・無敵時間実装。battle_athena.confã®gvg_ghost_timeã§è¨å®šã§ãã¾ã™ -EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ñ”ð‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ +・ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã§é”法攻撃ç‰ã‚’回é¿ã§ããªã‹ã£ãŸãƒã‚°ä¿®æ£ (map/) skill.c - skill_attack()Askill_unit_onplace()Askill_check_condition() C³B + skill_attack()ã€skill_unit_onplace()ã€skill_check_condition() ä¿®æ£ã€‚ clif.c - clif_parse_ActionRequest()Aclif_parse_UseItem() C³B - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B - clif_parse_UseSkillMap()Aclif_parse_WalkToXY() C³B - pc.c - do_init_pc()Apc_authok() C³B - pc_attack()Apc_attack_timer() C³B - pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer() ’ljÁB - pc_gvg_ghost_timer() ’ljÁB + clif_parse_ActionRequest()ã€clif_parse_UseItem() ä¿®æ£ã€‚ + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ + clif_parse_UseSkillMap()ã€clif_parse_WalkToXY() ä¿®æ£ã€‚ + pc.c + do_init_pc()ã€pc_authok() ä¿®æ£ã€‚ + pc_attack()ã€pc_attack_timer() ä¿®æ£ã€‚ + pc_setgvg_ghosttimer()ã€pc_delgvg_ghosttimer() è¿½åŠ ã€‚ + pc_gvg_ghost_timer() è¿½åŠ ã€‚ map.c - map_quit() C³ + map_quit() ä¿®æ£ battle.c - battle_config_read()Abattle_weapon_attack() C³B - battle.h C³B - pc.h C³B + battle_config_read()ã€battle_weapon_attack() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ -------------------- //0771 by huge -EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽÀ‘• +・スペルブレイカー実装 (map/) skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ -------------------- -//0770 by ¹ +//0770 by è– -E” Œn‚̈—•ÏX -E‚»‚Ì‘¼ƒoƒOC³ +・é’箱系ã®å‡¦ç†å¤‰æ›´ +・ãã®ä»–ãƒã‚°ä¿®æ£ (map/) - battle.c C³B - itemdb.c C³B - mob.c C³B - script.c C³B + battle.c ä¿®æ£ã€‚ + itemdb.c ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ -------------------- -//0769 by Ž€_ +//0769 by æ»ç¥ž -EƒV[ƒYƒ‚[ƒhC³B -E–³“GŽžŠÔ‚Ì•û‚Íghost_timerˆÈŠO‚Ì•û–@‚ÅŽÀ‘•‚·‚é‚‚à‚è‚È‚Ì‚Å¡‚Í휂µ‚Ä‚¢‚Ü‚·B -EƒXƒNƒŠƒvƒgviewpoint‚ª³‚µ‚“®ì‚µ‚È‚¢–â‘èC³B -Eproduce_db.txt‚ðC³B(“û”«‚Ískill_require_db.txt‚ň—‚µ‚Ä‚¢‚Ü‚·B‚»‚µ‚ăAƒCƒeƒ€‚Ì”‚ð0‚É‚·‚ê‚ÎÁ–Õ‚Í‚³‚ê‚È‚¢‚¯‚Çì‚鎞•K—v‚ȃAƒCƒeƒ€‚É‚È‚è‚Ü‚·B) -E‚»‚Ì‘¼×‚©‚¢C³B +・シーズモード修æ£ã€‚ +・無敵時間ã®æ–¹ã¯ghost_timer以外ã®æ–¹æ³•ã§å®Ÿè£…ã™ã‚‹ã¤ã‚‚ã‚Šãªã®ã§ä»Šã¯å‰Šé™¤ã—ã¦ã„ã¾ã™ã€‚ +・スクリプトviewpointãŒæ£ã—ã動作ã—ãªã„å•é¡Œä¿®æ£ã€‚ +・produce_db.txtã‚’ä¿®æ£ã€‚(乳鉢ã¯skill_require_db.txtã§å‡¦ç†ã—ã¦ã„ã¾ã™ã€‚ãã—ã¦ã‚¢ã‚¤ãƒ†ãƒ ã®æ•°ã‚’0ã«ã™ã‚Œã°æ¶ˆè€—ã¯ã•ã‚Œãªã„ã‘ã©ä½œã‚‹æ™‚å¿…è¦ãªã‚¢ã‚¤ãƒ†ãƒ ã«ãªã‚Šã¾ã™ã€‚) +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - produce_db.txt C³B + produce_db.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_damage()Abattle_calc_weapon_attack() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack()Abattle_check_target()Abattle_config_read() C³B + battle_calc_damage()ã€battle_calc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack()ã€battle_check_target()ã€battle_config_read() ä¿®æ£ã€‚ skill.c - skill_unit_onplace()Askill_castend_damage_id()Askill_castend_id() C³B - skill_use_id()Askill_use_pos()Askill_check_condition() C³B - skill_can_produce_mix() C³B + skill_unit_onplace()ã€skill_castend_damage_id()ã€skill_castend_id() ä¿®æ£ã€‚ + skill_use_id()ã€skill_use_pos()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_can_produce_mix() ä¿®æ£ã€‚ pc.c - pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() C³B - pc_damage() C³B + pc_attack_timer()ã€pc_attack()ã€pc_isUseitem()ã€pc_delitem() ä¿®æ£ã€‚ + pc_damage() ä¿®æ£ã€‚ mob.c - mob_damage()Amobskill_use_id()Amobskill_use_pos() C³B + mob_damage()ã€mobskill_use_id()ã€mobskill_use_pos() ä¿®æ£ã€‚ script.c - buildin_viewpoint()Abuildin_emotion() C³B - makefile C³B + buildin_viewpoint()ã€buildin_emotion() ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ -------------------- -//0768 by ‚Ò‚´‚Ü‚ñ +//0768 by ã´ã–ã¾ã‚“ -EƒV[ƒYƒ‚[ƒh‰º‚ÅAˆÈ‰º‚Ì“_‚ðC³ -@EŽ€–S‚µ‚½‚çƒZ[ƒuƒ|ƒCƒ“ƒg‚É‹§‘—ŠÒ‚·‚é‚悤‚ÉC³ -@E“Á’è‚̃AƒCƒeƒ€‚ªŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³(ƒAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒgEƒnƒG‚̉H) -@E“Á’è‚̃XƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³(ƒ[ƒvƒ|[ƒ^ƒ‹EƒoƒbƒNƒXƒeƒbƒvEƒCƒ“ƒeƒBƒ~ƒfƒCƒgEƒeƒŒƒ|[ƒgEƒCƒ“ƒfƒ…ƒA) -@E“¯–¿ƒMƒ‹ƒh‚É‚Í–³ðŒ‚ÅUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³ -@E“G‘΃Mƒ‹ƒh‚É‚Í–³ðŒ‚ÅUŒ‚‚Å‚«‚é‚悤‚ÉC³ -@E–³“GŽžŠÔ’†‚Í—¼ŽÒ‚Æ‚àUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³ +・シーズモード下ã§ã€ä»¥ä¸‹ã®ç‚¹ã‚’ä¿®æ£ + ・æ»äº¡ã—ãŸã‚‰ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆã«å¼·åˆ¶é€é‚„ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ + ・特定ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒä½¿ç”¨ã§ããªã„よã†ã«ä¿®æ£(アンティペインメント・ãƒã‚¨ã®ç¾½) + ・特定ã®ã‚¹ã‚ルãŒä½¿ç”¨ã§ããªã„よã†ã«ä¿®æ£(ワープãƒãƒ¼ã‚¿ãƒ«ãƒ»ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—・インティミデイト・テレãƒãƒ¼ãƒˆãƒ»ã‚¤ãƒ³ãƒ‡ãƒ¥ã‚¢) + ・åŒç›Ÿã‚®ãƒ«ãƒ‰ã«ã¯ç„¡æ¡ä»¶ã§æ”»æ’ƒã§ããªã„よã†ã«ä¿®æ£ + ・敵対ギルドã«ã¯ç„¡æ¡ä»¶ã§æ”»æ’ƒã§ãるよã†ã«ä¿®æ£ + ・無敵時間ä¸ã¯ä¸¡è€…ã¨ã‚‚攻撃ã§ããªã„よã†ã«ä¿®æ£ -ƒ\[ƒXƒŒƒxƒ‹‚ŃeƒŒƒ|AƒnƒG‚ÌŽg—p‚ð‹Ö‚¶‚Ä‚¢‚邽‚ßUéíMAP‚Ìmapflag‚Énoteleport‚Í•K—v‚ ‚è‚Ü‚¹‚ñ -‚Ü‚½A–³“GŽžŠÔ‚Íghost_timerˆË‘¶‚Å‚·B‚‚܂èbattle_athena.conf“à‚Ìghost_time‚ª–³“GŽžŠÔ‚É‚È‚è‚Ü‚· +ソースレベルã§ãƒ†ãƒ¬ãƒã€ãƒã‚¨ã®ä½¿ç”¨ã‚’ç¦ã˜ã¦ã„ã‚‹ãŸã‚攻城戦MAPã®mapflagã«noteleportã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“ +ã¾ãŸã€ç„¡æ•µæ™‚é–“ã¯ghost_timerä¾å˜ã§ã™ã€‚ã¤ã¾ã‚Šbattle_athena.conf内ã®ghost_timeãŒç„¡æ•µæ™‚é–“ã«ãªã‚Šã¾ã™ (map/) skill.c - skill_castend_damage_id()Askill_castend_id() C³ - skill_check_condition() C³ + skill_castend_damage_id()ã€skill_castend_id() ä¿®æ£ + skill_check_condition() ä¿®æ£ pc.c - pc_damage() C³ + pc_damage() ä¿®æ£ battle.c - battle_weapon_attack() C³ + battle_weapon_attack() ä¿®æ£ -------------------- //0767 by huge -Eƒtƒ@[ƒ}ƒV[‚ÅA»‘¢‚Ì‘‚ªŒ¸‚é–â‘è‚ðC³ -E•Ší»‘¢DB‚ÅA‚¢‚‚‚©”²‚¯‚Ä‚¢‚½‚Ì‚ðC³ +・ファーマシーã§ã€è£½é€ ã®æ›¸ãŒæ¸›ã‚‹å•é¡Œã‚’ä¿®æ£ +・æ¦å™¨è£½é€ DBã§ã€ã„ãã¤ã‹æŠœã‘ã¦ã„ãŸã®ã‚’ä¿®æ£ (map/) - skill.c C³B + skill.c ä¿®æ£ã€‚ (db/) - produce_db.txt C³B + produce_db.txt ä¿®æ£ã€‚ -------------------- -//0766 by ‚Ò‚´‚Ü‚ñ +//0766 by ã´ã–ã¾ã‚“ -EƒV[ƒYƒ‚[ƒh‰º‚ÅAˆÈ‰º‚Ì“_‚ðC³ -@E³‹KƒMƒ‹ƒh³”F‚ª‚È‚¢‚ƃGƒ“ƒyƒŠƒEƒ€‚ÉUŒ‚‚ªŒø‚©‚È‚¢‚悤‚ÉC³ -@EƒGƒ“ƒyƒŠƒEƒ€‚ɑ΂·‚éƒXƒLƒ‹UŒ‚‚ªŒø‚©‚È‚¢‚悤‚ÉC³ -@E–‚–@UŒ‚A‰“‹——£UŒ‚A㩂̃_ƒ[ƒW•â³‚ðŽÀ‘• -@@–‚–@UŒ‚F50%@‰“‹——£UŒ‚F75%@ã©F60% -@@‚±‚ê‚Íl‚É‚àƒGƒ“ƒyƒŠƒEƒ€‚É‚à“K—p‚³‚ê‚Ü‚· +・シーズモード下ã§ã€ä»¥ä¸‹ã®ç‚¹ã‚’ä¿®æ£ + ・æ£è¦ã‚®ãƒ«ãƒ‰æ‰¿èªãŒãªã„ã¨ã‚¨ãƒ³ãƒšãƒªã‚¦ãƒ ã«æ”»æ’ƒãŒåŠ¹ã‹ãªã„よã†ã«ä¿®æ£ + ・エンペリウムã«å¯¾ã™ã‚‹ã‚¹ã‚ル攻撃ãŒåŠ¹ã‹ãªã„よã†ã«ä¿®æ£ + ・é”法攻撃ã€é è·é›¢æ”»æ’ƒã€ç½ ã®ãƒ€ãƒ¡ãƒ¼ã‚¸è£œæ£ã‚’実装 +  é”法攻撃:50% é è·é›¢æ”»æ’ƒï¼š75%ã€€ç½ ï¼š60% +  ã“ã‚Œã¯äººã«ã‚‚エンペリウムã«ã‚‚é©ç”¨ã•ã‚Œã¾ã™ (map/) battle.c - #include "guild.h" ’ljÁ - battle_calc_damage()Abattle_calc_weapon_attack() C³ + #include "guild.h" è¿½åŠ + battle_calc_damage()ã€battle_calc_weapon_attack() ä¿®æ£ -------------------- -//0765 by ‚Ò‚´‚Ü‚ñ +//0765 by ã´ã–ã¾ã‚“ -E‘•”õ§ŒÀŽÀ‘• -E‘•”õ§ŒÀ‚ª‚©‚©‚Á‚½‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚Ɉړ®‚µ‚½Û‚ÉŽ©“®“I‚É‘•”õ‚ªŠO‚êA -@Ä‘•”õ‚à‚Å‚«‚È‚‚È‚è‚Ü‚· -E§ŒÀ‚Å‚«‚é‚Ì‚Í‘•”õ•i‚Ì‚Ý‚Å‚·BƒJ[ƒh—ނͧŒÀ‚Å‚«‚Ü‚¹‚ñ +・装備制é™å®Ÿè£… +・装備制é™ãŒã‹ã‹ã£ãŸè£…å‚™å“ã¯è©²å½“マップã«ç§»å‹•ã—ãŸéš›ã«è‡ªå‹•çš„ã«è£…å‚™ãŒå¤–れ〠+ å†è£…備もã§ããªããªã‚Šã¾ã™ +・制é™ã§ãã‚‹ã®ã¯è£…å‚™å“ã®ã¿ã§ã™ã€‚カード類ã¯åˆ¶é™ã§ãã¾ã›ã‚“ (db/) - item_noequip.txt ’ljÁ + item_noequip.txt è¿½åŠ (map/) - itemdb.h C³ + itemdb.h ä¿®æ£ itemdb.c - do_init_itemdb()Aitemdb_search() C³ - itemdb_read_noequip ’ljÁ + do_init_itemdb()ã€itemdb_search() ä¿®æ£ + itemdb_read_noequip è¿½åŠ pc.c - pc_checkitem()Apc_isequip() C³ + pc_checkitem()ã€pc_isequip() ä¿®æ£ -------------------- -//0764 by Ž€_ +//0764 by æ»ç¥ž -E‘S‚Ẵ_ƒ[ƒW‚ª1‚É‚È‚é–hŒä‚ð10000‚©‚ç1000000‚É•ÏXB -Ebattle_athena.conf‚É€–ڒljÁB -Eƒ‚ƒ“ƒXƒ^[‚©‚çŒoŒ±’l‚ð–Ⴄˆ—‚ð–{ŽI‚̂悤‚ÉC³B -EƒXƒLƒ‹ƒXƒ[ƒ|ƒCƒYƒ“ŽÀ‘•B -EŒðŠ·ƒoƒOC³B -E‚»‚Ì‘¼×‚©‚¢C³B -EƒeƒXƒg‚Í–w‚Ç‚µ‚Ä‚Ü‚¹‚ñB +・全ã¦ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒ1ã«ãªã‚‹é˜²å¾¡ã‚’10000ã‹ã‚‰1000000ã«å¤‰æ›´ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・モンスターã‹ã‚‰çµŒé¨“値を貰ã†å‡¦ç†ã‚’本鯖ã®ã‚ˆã†ã«ä¿®æ£ã€‚ +・スã‚ルスãƒãƒ¼ãƒã‚¤ã‚ºãƒ³å®Ÿè£…。 +・交æ›ãƒã‚°ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ +・テストã¯æ®†ã©ã—ã¦ã¾ã›ã‚“。 (db/) - mob_db.txt C³B - skill_db.txt C³B + mob_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - db_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + db_ref.txt ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (map/) - makefile C³B - battle.h C³B + makefile ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_get_def()Abattle_get_mdef() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack()Abattle_config_read() C³B - skill.h C³B - skill.c - skill_castend_nodamage_id()Askill_castend_damage_id() C³B - skill_check_condition()Askill_status_change_timer() C³B - skill_status_change_end()Askill_status_change_start() C³B - skill_additional_effect()Askill_produce_mix()Askill_unit_timer_sub() C³B - skill_check_unit_sub()‚ð skill_check_unit_range_sub()‚É•ÏXB - skill_check_unit_range() ’ljÁB - skill_castend_pos()Askill_area_sub_count() C³B + battle_get_def()ã€battle_get_mdef() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack()ã€battle_config_read() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_castend_nodamage_id()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_additional_effect()ã€skill_produce_mix()ã€skill_unit_timer_sub() ä¿®æ£ã€‚ + skill_check_unit_sub()ã‚’ skill_check_unit_range_sub()ã«å¤‰æ›´ã€‚ + skill_check_unit_range() è¿½åŠ ã€‚ + skill_castend_pos()ã€skill_area_sub_count() ä¿®æ£ã€‚ mob.c - mobskill_castend_pos()Amob_damage() C³B + mobskill_castend_pos()ã€mob_damage() ä¿®æ£ã€‚ clif.c - clif_parse_TradeRequest()Aclif_parse_TradeAck() C³B - clif_parse_TradeAddItem()Aclif_parse_TradeOk() C³B - clif_parse_TradeCansel()Aclif_parse_TradeCommit() C³B - map.h C³B + clif_parse_TradeRequest()ã€clif_parse_TradeAck() ä¿®æ£ã€‚ + clif_parse_TradeAddItem()ã€clif_parse_TradeOk() ä¿®æ£ã€‚ + clif_parse_TradeCansel()ã€clif_parse_TradeCommit() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - do_init() C³B + do_init() ä¿®æ£ã€‚ pc.c - pc_calc_skilltree()Apc_calcstatus() C³B + pc_calc_skilltree()ã€pc_calcstatus() ä¿®æ£ã€‚ tarde.c - trade_tradeack() C³B + trade_tradeack() ä¿®æ£ã€‚ -------------------- -//0763 by ŒÓ’±—– +//0763 by 胡è¶è˜ -EƒT[ƒo[snapshot - ƒtƒHƒ‹ƒ_‚ð®—‚µ‚½‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B - ˆÈ‘O‚̃Z[ƒuƒf[ƒ^(account.txt‚È‚Ç)‚ÍsaveƒtƒHƒ‹ƒ_‚É’u‚¢‚Ä‚‚¾‚³‚¢ - cnfƒtƒ@ƒCƒ‹‚ÍŠeŽíƒtƒ@ƒCƒ‹‚̃pƒX‚ª•Ï‚í‚Á‚Ä‚é‚Ì‚ÅA - ‚±‚̌¢‚à‚Ì‚ðƒRƒs[‚Å‚Í‚È‚AV‚µ‚‘‚«Š·‚¦‚È‚¨‚µ‚Ä‚‚¾‚³‚¢B +・サーãƒãƒ¼snapshot + フォルダを整ç†ã—ãŸã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 + 以å‰ã®ã‚»ãƒ¼ãƒ–データ(account.txtãªã©)ã¯saveフォルダã«ç½®ã„ã¦ãã ã•ã„ + cnfファイルã¯å„種ファイルã®ãƒ‘スãŒå¤‰ã‚ã£ã¦ã‚‹ã®ã§ã€ + ã“ã®å¤ã„ã‚‚ã®ã‚’コピーã§ã¯ãªãã€æ–°ã—ã書ãæ›ãˆãªãŠã—ã¦ãã ã•ã„。 -EƒtƒHƒ‹ƒ_®— - confƒtƒHƒ‹ƒ_ - NPCŠÖ˜A‚ðconf/npc/AMOB”z’uŠÖ˜A‚ðconf/mob/AWARPŠÖ˜A‚ðconf/warp/ - ƒeƒXƒg‚âƒTƒ“ƒvƒ‹‚ðconf/sample/‚Ɉړ®‚µ‚Ü‚µ‚½B - dbƒtƒHƒ‹ƒ_ - sampleƒtƒHƒ‹ƒ_‚Ì‚¤‚¿dbŠÖŒW‚ð db/sample‚Ɉړ®‚µ‚Ü‚µ‚½B +ãƒ»ãƒ•ã‚©ãƒ«ãƒ€æ•´ç† + confフォルダ + NPC関連をconf/npc/ã€MOBé…置関連をconf/mob/ã€WARP関連をconf/warp/ + テストやサンプルをconf/sample/ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ + dbフォルダ + sampleフォルダã®ã†ã¡db関係を db/sampleã«ç§»å‹•ã—ã¾ã—ãŸã€‚ help.txt/motd.txt - confƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + confフォルダã«ç§»å‹•ã—ã¾ã—㟠account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt - saveƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + saveフォルダã«ç§»å‹•ã—ã¾ã—㟠tool/backup - ƒpƒXC³ + ãƒ‘ã‚¹ä¿®æ£ -Emotd.txt/help.txt‚̃pƒX‚ðmap_athena.cnf‚ÅŽw’è‚Å‚«‚é‚悤‚É - map.h/map.c/atcommand.c/atcommand.hC³ +・motd.txt/help.txtã®ãƒ‘スをmap_athena.cnfã§æŒ‡å®šã§ãるよã†ã« + map.h/map.c/atcommand.c/atcommand.hä¿®æ£ -Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’ljÁ - ./athena-start restart‚ÅAthena‚ðÄ‹N“®‚µ‚Ü‚· +・athena-startã«restartã‚ªãƒ—ã‚·ãƒ§ãƒ³è¿½åŠ + ./athena-start restartã§Athenaã‚’å†èµ·å‹•ã—ã¾ã™ -------------- -//0761 by ‚Û‚Û‚Û +//0761 by ã½ã½ã½ -EMOB‚ÌMDEF‚É10000ˆÈãŽw’肵‚Ä‚àƒtƒ@ƒCƒAƒsƒ‰[‚Å•’ʂɃ_ƒ[ƒW‚ð—^‚¦‚Ä‚µ‚Ü‚¤‚Ì‚ðC³B +・MOBã®MDEFã«10000以上指定ã—ã¦ã‚‚ファイアピラーã§æ™®é€šã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¦ã—ã¾ã†ã®ã‚’ä¿®æ£ã€‚ (map/) battle.c -------------- //0760 by ll3y -E•¶Žš‰»‚¯C³ +・文å—化ã‘ä¿®æ£ (map/) script.c -------------- -//0759 by Ž‚Žqo^.^o -EƒXƒsƒAƒNƒCƒbƒPƒ“ C³ -EDancer skill tree C³ +//0759 by ç…åo^.^o +・スピアクイッケン ä¿®æ£ +・Dancer skill tree ä¿®æ£ (db/) - cast_db.txt C³ - skill_tree.txt C³ + cast_db.txt ä¿®æ£ + skill_tree.txt ä¿®æ£ -------------- //0758 by hack -EPut GM messages into msg_table which is loaded from msg_athena.conf. +・Put GM messages into msg_table which is loaded from msg_athena.conf. (Easy to translate into other language) (map/) atcommand.h @@ -6499,256 +6499,256 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ -------------- //0756 by ll3y -EInterix(Windows Services for Unix 3.5)‚ŃRƒ“ƒpƒCƒ‹‚ª’Ê‚é‚悤‚ÉC³ - Interop Systems(http://www.interopsystems.com/)‚æ‚ègmake‚Æzlib‚ðŽæ‚Á‚Ä‚‚é‚©A - Ž©‘O‚ÅInterix—p‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +・Interix(Windows Services for Unix 3.5)ã§ã‚³ãƒ³ãƒ‘イルãŒé€šã‚‹ã‚ˆã†ã«ä¿®æ£ + Interop Systems(http://www.interopsystems.com/)よりgmakeã¨zlibã‚’å–ã£ã¦ãã‚‹ã‹ã€ + 自å‰ã§Interix用を用æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ (common/) - socket.h C³B + socket.h ä¿®æ£ã€‚ -------------- -//0755 by Ž€_ +//0755 by æ»ç¥ž -EƒoƒOC³‚Æà–¾’ljÁB(•ñ‚³‚ꂽ‚Ì‚Í‘½•ª‘S‚ÄC³‚³‚ꂽ‚Ì‚©‚Æ...) -E0751‚ŃXƒLƒ‹‚Ìő僌ƒxƒ‹‚ð100‚Ü‚ÅÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B -Ecast_db.txt‚É“ü‚Á‚Ä‚¢‚éó‘ÔˆÙí‚̈ێŽžŠÔ‚ÍŽ©•ª‚ª“K“x‚É“ü‚ꂽ•¨‚Å‚·B–{ŽI‚ÌŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñ‚Ì‚ÅB +・ãƒã‚°ä¿®æ£ã¨èª¬æ˜Žè¿½åŠ 。(å ±å‘Šã•ã‚ŒãŸã®ã¯å¤šåˆ†å…¨ã¦ä¿®æ£ã•ã‚ŒãŸã®ã‹ã¨...) +・0751ã§ã‚¹ã‚ルã®æœ€å¤§ãƒ¬ãƒ™ãƒ«ã‚’100ã¾ã§è¨å®šã§ãるよã†ã«ã—ã¾ã—ãŸã€‚ +・cast_db.txtã«å…¥ã£ã¦ã„る状態異常ã®ç¶æŒæ™‚é–“ã¯è‡ªåˆ†ãŒé©åº¦ã«å…¥ã‚ŒãŸç‰©ã§ã™ã€‚本鯖ã®ä»•æ§˜ãªã‚“ã¦çŸ¥ã‚Šã¾ã›ã‚“ã®ã§ã€‚ (doc/) - db_ref.txt C³B + db_ref.txt ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - skill_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (map/) - skill.h C³B + skill.h ä¿®æ£ã€‚ skill.c - skill_check_unit_sub()Askill_castend_id()Askill_use_id() C³B - skill_status_change_end()Askill_status_change_start() C³B - skill_castend_map() C³B + skill_check_unit_sub()ã€skill_castend_id()ã€skill_use_id() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_castend_map() ä¿®æ£ã€‚ mob.c - mobskill_castend_id()Amobskill_castend_pos() C³B + mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ battle.c battle_calc_pc_weapon_attack() battle_calc_mob_weapon_attack() battle_calc_magic_attack() -------------- -//0754 by Ž‚Žqo^.^o +//0754 by ç…åo^.^o (db/) - cast_db.txt C³ + cast_db.txt ä¿®æ£ -------------- -//0753 by ¹ +//0753 by è– -EIW‚Ì”¶ƒ|ƒCƒ“ƒg‚ðŽw’è‚·‚é‚ƃƒeƒI‚̃GƒtƒFƒNƒg‚ªˆêØo‚È‚‚È‚é -@–â‘肪•œŠˆ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B -Ewarning‚ðo‚È‚¢‚悤‚ɃR[ƒhC³B +・IWã®ç™ºç”Ÿãƒã‚¤ãƒ³ãƒˆã‚’指定ã™ã‚‹ã¨ãƒ¡ãƒ†ã‚ªã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒä¸€åˆ‡å‡ºãªããªã‚‹ + å•é¡ŒãŒå¾©æ´»ã—ã¦ã„ãŸã®ã§ä¿®æ£ã€‚ +・warningを出ãªã„よã†ã«ã‚³ãƒ¼ãƒ‰ä¿®æ£ã€‚ (map/) skill.c - skill_castend_pos2() C³B + skill_castend_pos2() ä¿®æ£ã€‚ chrif.h -------------- -//0752 by ‚Ò‚´‚Ü‚ñ +//0752 by ã´ã–ã¾ã‚“ -EchangesexƒXƒNƒŠƒvƒgŽÀ‘•B«•Ê‚𔽓]‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚· -@«•Ê”½“]¬Œ÷Œã‚ÍA‚»‚̃vƒŒƒCƒ„[‚Í‹§“I‚ÉÚ‘±‚ðØ’f‚³‚ê‚Ü‚· -@‚Ü‚½Aƒ_ƒ“ƒT[Eƒo[ƒh‚̌݊·«‚Í‚©‚È‚è‰ö‚µ‚¢‚Å‚· -@ƒ_ƒ“ƒT[Eƒo[ƒh‚ªƒXƒƒbƒg“à‚Ç‚±‚©‚É‹‚éƒAƒJƒEƒ“ƒg‚Å‚Ì”½“]‚ÍAˆÈ‰º‚Ì“_‚É’ˆÓ‚µ‚ĉº‚³‚¢ -@E•K‚¸”½“]‚³‚¹‚é‘O‚É‚»‚̃Lƒƒƒ‰ƒNƒ^[‚ðƒXƒLƒ‹ƒŠƒZƒbƒg‚µ‚Ä‚‚¾‚³‚¢ -@@‚»‚Ì‚Ü‚Ü”½“]‚³‚¹‚é‚ÆA‹¤’Ê‚·‚éƒXƒLƒ‹(ŠyŠí‚Ì—ûK“™)‚µ‚©Žc‚ç‚È‚‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚· -@Eƒ_ƒ“ƒT[Eƒo[ƒhê—p•Ší‚ð‘•”õ‚µ‚Ä‚¢‚éꇂÍAŠO‚µ‚Ä‚©‚甽“]‚³‚¹‚Ä‚‚¾‚³‚¢ -@@‚»‚Ì‚Ü‚Ü”½“]‚³‚¹‚é‚ÆA‚»‚̃Lƒƒƒ‰ƒNƒ^[‚ÌŠJŽnŽž‚É -@@ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ªo‚Ü‚·io‚邾‚¯‚ÅA—Ž‚¿‚邱‚Æ‚Í‚È‚¢‚Ì‚Å‚·‚ªcj -Eƒf[ƒ^ƒx[ƒXC³ by Ž‚Žqo^.^o +・changesexスクリプト実装。性別をå転ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ + 性別å転æˆåŠŸå¾Œã¯ã€ãã®ãƒ—レイヤーã¯å¼·åˆ¶çš„ã«æŽ¥ç¶šã‚’切æ–ã•ã‚Œã¾ã™ + ã¾ãŸã€ãƒ€ãƒ³ã‚µãƒ¼ãƒ»ãƒãƒ¼ãƒ‰ã®äº’æ›æ€§ã¯ã‹ãªã‚Šæ€ªã—ã„ã§ã™ + ダンサー・ãƒãƒ¼ãƒ‰ãŒã‚¹ãƒãƒƒãƒˆå†…ã©ã“ã‹ã«å±…るアカウントã§ã®å転ã¯ã€ä»¥ä¸‹ã®ç‚¹ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„ + ・必ãšå転ã•ã›ã‚‹å‰ã«ãã®ã‚ャラクターをスã‚ルリセットã—ã¦ãã ã•ã„ +  ãã®ã¾ã¾å転ã•ã›ã‚‹ã¨ã€å…±é€šã™ã‚‹ã‚¹ã‚ル(楽器ã®ç·´ç¿’ç‰)ã—ã‹æ®‹ã‚‰ãªããªã£ã¦ã—ã¾ã„ã¾ã™ + ・ダンサー・ãƒãƒ¼ãƒ‰å°‚用æ¦å™¨ã‚’装備ã—ã¦ã„ã‚‹å ´åˆã¯ã€å¤–ã—ã¦ã‹ã‚‰å転ã•ã›ã¦ãã ã•ã„ +  ãã®ã¾ã¾å転ã•ã›ã‚‹ã¨ã€ãã®ã‚ャラクターã®é–‹å§‹æ™‚ã« +  クライアントエラーãŒå‡ºã¾ã™ï¼ˆå‡ºã‚‹ã ã‘ã§ã€è½ã¡ã‚‹ã“ã¨ã¯ãªã„ã®ã§ã™ãŒâ€¦ï¼‰ +ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ä¿®æ£ by ç…åo^.^o (map/) chrif.c - packet_len_table[]Achrif_parse()C³ - chrif_changesex()Achrif_changedsex()’ljÁ - chrif.h C³ + packet_len_table[]ã€chrif_parse()ä¿®æ£ + chrif_changesex()ã€chrif_changedsex()è¿½åŠ + chrif.h ä¿®æ£ (char/) char.c - parse_frommap()Aparse_tologin()C³ + parse_frommap()ã€parse_tologin()ä¿®æ£ (login/) login.c - parse_fromchar()C³ + parse_fromchar()ä¿®æ£ (db/) - cast_db.txt C³ - skill_require_db.txt C³ - --------------- -//0751 by Ž€_ - -Eskill_db.txt‚Æcast_db.txt‚Ì•ÏX‚Æskill_require_db.txt‚̒ljÁB -E“Å‚É‚©‚©‚é‚ÆHP‚ªŒ¸‚é‚悤‚É•ÏXBHP‚Í1•b‚ÉÅ‘åHP‚Ì1%Œ¸‚è‚Ü‚·B(–¢ƒeƒXƒg) -EΉ»‚ðis’†‚Ì•¨‚ÆŠ®‘S‚È•¨‚É•ª‚¯‚ÄHP‚ªŒ¸‚é‚悤‚É•ÏXB(1•b‚ÉÅ‘åHP‚Ì1%)ƒuƒŒƒbƒVƒ“ƒO‚ÅŠ®‘SΉ»‚¾‚¯Ž¡‚¹‚é‚悤‚ÉC³B(–¢ƒeƒXƒg) -Eƒnƒ“ƒ^[‚̃gƒ‰ƒbƒv‚ɃGƒtƒFƒNƒgŽÀ‘•B‚½‚¾ƒ‰ƒ“ƒhƒ}ƒCƒ“‚ƃVƒ‡ƒbƒNƒEƒF[ƒu‚Í”š”ƒGƒtƒFƒNƒg‚ªo‚È‚¢‚悤‚Å‚·Bƒ‰ƒ“ƒhƒ}ƒCƒ“‚̓tƒ@ƒCƒAƒsƒ‰[‚Ì”š”ƒGƒtƒFƒNƒg‚ªo‚é‚悤‚É•Ï‚¦‚Ä‚¢‚Ü‚·B -EƒI[ƒgƒJƒEƒ“ƒ^[‚Ì•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚É•ÏX‚Æ–{ŽIŽd—l‚ɇ‚킹‚Ü‚µ‚½B -EƒoƒbƒNƒXƒ^ƒu‚à•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚É•ÏXB -EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚̈—•ÏXB -EƒfƒBƒtƒFƒ“ƒ_[‚̈ړ®‘¬“xŒ¸‚ð–{ŽI‚ɇ‚킹‚Ü‚µ‚½BASPD‚ÍŸŽè‚È‚ª‚ç -(30 - (skilllv*5))%‚ªŒ¸‚é‚悤‚É‚µ‚Ü‚µ‚½‚ª–{ŽI‚Å‚¢‚‚ç’öŒ¸‚é‚Ì‚©‚Ìî•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B -Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuLV1‚ňړ®‘¬“x‚ª150‚©‚ç312‚É‚È‚é‚Ì‚ªŠm”F‚³‚ê‚ÄŒvŽZ‚ð•ÏX‚µ‚Ü‚µ‚½‚ªƒŒƒxƒ‹‚É‚æ‚Á‚Ä‚Ç‚ê‚®‚ç‚¢‘‰Á‚·‚é‚©‚Í•s–¾‚Å‚·Bî•ñ‚ð‹‚ß‚Ü‚·B(¡‚ÌŒvŽZŽ®‚Í“K“x‚Éì‚Á‚½•¨‚Å‚·B) -Eƒ|[ƒVƒ‡ƒ“»‘¢‚ÌŒvŽZŽ®•ÏX‚Æ‚¿‚å‚Á‚ÆC³B -Eˆê•”’n–ʃXƒLƒ‹‚Ìd‚Ë’u‚«‚ð‹ÖŽ~B -EbNoMagicDamage‚Å–‚–@‚É‚æ‚éˆÙí‚âƒXƒe[ƒ^ƒXƒAƒbƒvŒø‰Ê‚ªo‚È‚¢‚悤‚ÉC³B(ƒŠƒUƒŒƒNƒVƒ‡ƒ“ˆÈŠO‚Ì–‚–@‚Í–³Œø‚É‚È‚è‚Ü‚·B) -Ebattle_athena.conf‚É€–ڒljÁB -E‚»‚Ì‘¼FX‚ÆC³B -E•ÏX‚³‚ꂽskill_db.txtAcastdb.txt‚ƒljÁ‚³‚ꂽskill_require_db.txt‚Ì\‘¢‚Í¡‚ÌŠŽ©•ª‚µ‚©’m‚ç‚È‚¢‚Ì‚Ådb_ref.txt‚Éà–¾‚ð’ljÁ‚·‚é—\’è‚È‚Ì‚Å‚»‚ê‚Ü‚Å‚Í‚±‚ê‚ç‚Ì•ÏX‚ÍT‚¦‚Ä‚‚¾‚³‚¢B + cast_db.txt ä¿®æ£ + skill_require_db.txt ä¿®æ£ + +-------------- +//0751 by æ»ç¥ž + +・skill_db.txtã¨cast_db.txtã®å¤‰æ›´ã¨skill_require_db.txtã®è¿½åŠ 。 +・毒ã«ã‹ã‹ã‚‹ã¨HPãŒæ¸›ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚HPã¯1秒ã«æœ€å¤§HPã®1%減りã¾ã™ã€‚(未テスト) +・石化を進行ä¸ã®ç‰©ã¨å®Œå…¨ãªç‰©ã«åˆ†ã‘ã¦HPãŒæ¸›ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(1秒ã«æœ€å¤§HPã®1%)ブレッシングã§å®Œå…¨çŸ³åŒ–ã ã‘æ²»ã›ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚(未テスト) +・ãƒãƒ³ã‚¿ãƒ¼ã®ãƒˆãƒ©ãƒƒãƒ—ã«ã‚¨ãƒ•ã‚§ã‚¯ãƒˆå®Ÿè£…。ãŸã ランドマインã¨ã‚·ãƒ§ãƒƒã‚¯ã‚¦ã‚§ãƒ¼ãƒ–ã¯çˆ†ç™ºã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºãªã„よã†ã§ã™ã€‚ランドマインã¯ãƒ•ã‚¡ã‚¤ã‚¢ãƒ”ラーã®çˆ†ç™ºã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºã‚‹ã‚ˆã†ã«å¤‰ãˆã¦ã„ã¾ã™ã€‚ +・オートカウンターã®æ–¹å‘ãƒã‚§ãƒƒã‚¯ã‚’ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã¨æœ¬é¯–仕様ã«åˆã‚ã›ã¾ã—ãŸã€‚ +・ãƒãƒƒã‚¯ã‚¹ã‚¿ãƒ–ã‚‚æ–¹å‘ãƒã‚§ãƒƒã‚¯ã‚’ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・インティミデイトã®å‡¦ç†å¤‰æ›´ã€‚ +・ディフェンダーã®ç§»å‹•é€Ÿåº¦æ¸›å°‘を本鯖ã«åˆã‚ã›ã¾ã—ãŸã€‚ASPDã¯å‹æ‰‹ãªãŒã‚‰ +(30 - (skilllv*5))%ãŒæ¸›ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸãŒæœ¬é¯–ã§ã„ãら程減るã®ã‹ã®æƒ…å ±ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ +・トンãƒãƒ«ãƒ‰ãƒ©ã‚¤ãƒ–LV1ã§ç§»å‹•é€Ÿåº¦ãŒ150ã‹ã‚‰312ã«ãªã‚‹ã®ãŒç¢ºèªã•ã‚Œã¦è¨ˆç®—を変更ã—ã¾ã—ãŸãŒãƒ¬ãƒ™ãƒ«ã«ã‚ˆã£ã¦ã©ã‚Œãらã„å¢—åŠ ã™ã‚‹ã‹ã¯ä¸æ˜Žã§ã™ã€‚æƒ…å ±ã‚’æ±‚ã‚ã¾ã™ã€‚(今ã®è¨ˆç®—å¼ã¯é©åº¦ã«ä½œã£ãŸç‰©ã§ã™ã€‚) +・ãƒãƒ¼ã‚·ãƒ§ãƒ³è£½é€ ã®è¨ˆç®—å¼å¤‰æ›´ã¨ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚ +・一部地é¢ã‚¹ã‚ルã®é‡ãç½®ãã‚’ç¦æ¢ã€‚ +・bNoMagicDamageã§é”法ã«ã‚ˆã‚‹ç•°å¸¸ã‚„ステータスアップ効果ãŒå‡ºãªã„よã†ã«ä¿®æ£ã€‚(リザレクション以外ã®é”法ã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚) +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・ãã®ä»–色々ã¨ä¿®æ£ã€‚ +・変更ã•ã‚ŒãŸskill_db.txtã€castdb.txtã¨è¿½åŠ ã•ã‚ŒãŸskill_require_db.txtã®æ§‹é€ ã¯ä»Šã®æ‰€è‡ªåˆ†ã—ã‹çŸ¥ã‚‰ãªã„ã®ã§db_ref.txtã«èª¬æ˜Žã‚’è¿½åŠ ã™ã‚‹äºˆå®šãªã®ã§ãã‚Œã¾ã§ã¯ã“れらã®å¤‰æ›´ã¯æŽ§ãˆã¦ãã ã•ã„。 (char/) - int_guild.c C³B + int_guild.c ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - skill_db.txt C³B - skill_require_db.txt C³B - cast_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ + skill_require_db.txt ä¿®æ£ã€‚ + cast_db.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_counttargeted()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack()Abattle_config_read() C³B - skill.h C³B - skill.c - skill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_status_change_start() C³B - skill_check_condition()Askill_castend_pos() C³B - skill_use_id()Askill_use_pos() C³B - skill_status_change_timer()Askill_status_change_start() C³B - skill_check_unit_sub() ’ljÁB - pc.h C³B - pc.c - pc_damage()Apc_counttargeted()Apc_counttargeted_sub() C³B - mob.h C³B + battle_counttargeted()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_castend_pos() ä¿®æ£ã€‚ + skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_status_change_timer()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_check_unit_sub() è¿½åŠ ã€‚ + pc.h ä¿®æ£ã€‚ + pc.c + pc_damage()ã€pc_counttargeted()ã€pc_counttargeted_sub() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_countslave()Amob_counttargeted()Amob_counttargeted_sub() C³B - mobskill_use()Amob_can_move()Amob_damage() C³B - mobskill_use_id()Amobskill_use_pos()Amobskill_castend_id() C³B - mobskill_castend_pos() C³B + mob_countslave()ã€mob_counttargeted()ã€mob_counttargeted_sub() ä¿®æ£ã€‚ + mobskill_use()ã€mob_can_move()ã€mob_damage() ä¿®æ£ã€‚ + mobskill_use_id()ã€mobskill_use_pos()ã€mobskill_castend_id() ä¿®æ£ã€‚ + mobskill_castend_pos() ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ -------------- //0750 by CHRIS -EƒXƒLƒ‹ŠÖŒW‚ÌDB‚ð’²® +・スã‚ル関係ã®DBを調整 (db/) skill_db.txt cast_db.txt skill_require_db.txt -------------- -//0749 by Ž€_ - -EFX‚Æ•ÏX‚ÆC³B -EƒXƒLƒ‹‚ÌŽd—l•ÏX‚âŽÀ‘•Aó‘ÔˆÙí‚ÌŽd—l•ÏX‚âŽÀ‘•B -EƒXƒLƒ‹‚ÌŽg—pðŒ‚ðdb‚ÉÝ’è‚Å‚«‚é‚悤‚É•ÏXB -Eskill_db.txt‚Æcast_db.txt‚ÌŽd—l•ÏXB -Eƒ}ƒbƒvŽI‚Ì–³ŒÀƒ‹[ƒv‰Â”\«‚ª‚ ‚é•”•ª‚ðC³B(‚ ‚‚Ü‚Å‚à‰Â”\«‚ª -‚ ‚Á‚½‚¾‚¯‚Ì•¨‚Å‚·B–³ŒÀƒ‹[ƒv‚ÌŒ´ˆö‚Æ‚Í’fŒ¾‚Å‚«‚Ü‚¹‚ñB) -Eƒgƒ‰ƒbƒv‚Ì”“®ŽÀ‘•B(‚½‚¾ŽÀÛ‚É“®ì‚Í‚Ü‚¾C³‚µ‚Ä‚¢‚Ü‚¹‚ñB -Œ©‚½–Ú‚ª•Ï‚í‚Á‚½‚¾‚¯‚Å‚·B) -Ebattle_athena.conf‚É€–ڒljÁ‚ðíœB -E0748‚ÌC³íœ‚Æ•¶Žš‰»‚¯C³B -Eskill_db.txtAcast_db.txtAskill_require_db.txt‚Ì•û‚ª‚Ü‚¾Š®¬‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚Å -‚©‚È‚è‚̗ʂ̃XƒLƒ‹‚ª³‚µ‚“®ì‚µ‚Ü‚¹‚ñB(db_ref.txt‚ÉÝ’è•û–@‚ð“ü‚ê‚È‚¢‚Æ - ‚¯‚È‚¢‚Ì‚Å‚·‚ªŽžŠÔ‚ª‚È‚©‚Á‚½‚Ì‚Å...) ‚»‚µ‚ÄC³‚Í‚µ‚Ü‚µ‚½‚ªƒeƒXƒg‚Í -–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +//0749 by æ»ç¥ž + +・色々ã¨å¤‰æ›´ã¨ä¿®æ£ã€‚ +・スã‚ルã®ä»•æ§˜å¤‰æ›´ã‚„実装ã€çŠ¶æ…‹ç•°å¸¸ã®ä»•æ§˜å¤‰æ›´ã‚„実装。 +・スã‚ルã®ä½¿ç”¨æ¡ä»¶ã‚’dbã«è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚ +・skill_db.txtã¨cast_db.txtã®ä»•æ§˜å¤‰æ›´ã€‚ +・マップ鯖ã®ç„¡é™ãƒ«ãƒ¼ãƒ—å¯èƒ½æ€§ãŒã‚る部分を修æ£ã€‚(ã‚ãã¾ã§ã‚‚å¯èƒ½æ€§ãŒ +ã‚ã£ãŸã ã‘ã®ç‰©ã§ã™ã€‚ç„¡é™ãƒ«ãƒ¼ãƒ—ã®åŽŸå› ã¨ã¯æ–言ã§ãã¾ã›ã‚“。) +・トラップã®ç™ºå‹•å®Ÿè£…。(ãŸã 実際ã«å‹•ä½œã¯ã¾ã ä¿®æ£ã—ã¦ã„ã¾ã›ã‚“。 +見ãŸç›®ãŒå¤‰ã‚ã£ãŸã ã‘ã§ã™ã€‚) +・battle_athena.confã«é …ç›®è¿½åŠ ã‚’å‰Šé™¤ã€‚ +・0748ã®ä¿®æ£å‰Šé™¤ã¨æ–‡å—化ã‘ä¿®æ£ã€‚ +・skill_db.txtã€cast_db.txtã€skill_require_db.txtã®æ–¹ãŒã¾ã 完æˆã•ã‚Œã¦ã„ãªã„ã®ã§ +ã‹ãªã‚Šã®é‡ã®ã‚¹ã‚ルãŒæ£ã—ã動作ã—ã¾ã›ã‚“。(db_ref.txtã«è¨å®šæ–¹æ³•ã‚’入れãªã„㨠+ ã‘ãªã„ã®ã§ã™ãŒæ™‚é–“ãŒãªã‹ã£ãŸã®ã§...) ãã—ã¦ä¿®æ£ã¯ã—ã¾ã—ãŸãŒãƒ†ã‚¹ãƒˆã¯ +殆んã©ã—ã¦ã¾ã›ã‚“ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 (char/) - char.c C³B - int_party.h C³B - int_party.c C³B - int_guild.h C³B - int_guild.c C³B - int_pet.h C³B - int_pet.c C³B - int_storage.h C³B - int_storage.c C³B - char‚Ì•û‚͑債‚½C³‚Í‚µ‚Ä‚Ü‚¹‚ñB + char.c ä¿®æ£ã€‚ + int_party.h ä¿®æ£ã€‚ + int_party.c ä¿®æ£ã€‚ + int_guild.h ä¿®æ£ã€‚ + int_guild.c ä¿®æ£ã€‚ + int_pet.h ä¿®æ£ã€‚ + int_pet.c ä¿®æ£ã€‚ + int_storage.h ä¿®æ£ã€‚ + int_storage.c ä¿®æ£ã€‚ + charã®æ–¹ã¯å¤§ã—ãŸä¿®æ£ã¯ã—ã¦ã¾ã›ã‚“。 (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (db/) - skill_db.txt C³B - cast_db.txt C³B - skill_require_db.txt ’ljÁB - produce_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ + cast_db.txt ä¿®æ£ã€‚ + skill_require_db.txt è¿½åŠ ã€‚ + produce_db.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ map.c - map_check_dir() ’ljÁB - map_readmap()Amap_addblock()Amap_delblock() C³B - map_foreachinarea()Amap_foreachinmovearea() C³B - map_addflooritem() C³B - pc.h C³B - pc.c - pc_spiritball_timer()Apc_addspiritball()Apc_delspiritball() C³B - pc_steal_item()Apc_steal_coin()Apc_calcstatus() C³B - pc_checkallowskill()Apc_jobchange()Apc_checkweighticon() C³B - pc_damage()Apc_equipitem()Apc_walk()Apc_stop_walking() C³B - pc_authok()Apc_counttargeted()Apc_counttargeted_sub() C³B - pc_damage()Apc_setpos() C³B - skill.h C³B - skill.c - skill_get_range()Askill_get_sp()Askill_get_num() C³B - skill_get_cast()Askill_get_delay() C³B - skill_get_hp()Askill_get_zeny()Askill_get_time() ’ljÁB - skill_get_time2()Askill_get_weapontype() ’ljÁB - skill_get_unit_id()Askill_blown()Askill_additional_effect() C³B - skill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id()Askill_castend_id() C³B - skill_castend_pos()Askill_unit_onplace() C³B - skill_unit_timer_sub_onplace()Askill_unitsetting() C³B - skill_use_id()Askill_use_pos()Askill_check_condition() C³B - skill_status_change_end()Askill_status_change_timer() C³B - skill_status_change_start()Askill_can_produce_mix() C³B - skill_produce_mix()Askill_gangsterparadise() C³B - skill_gangster_out()Askill_gangster_in() C³B - skill_gangster_count() ’ljÁB - skill_readdb() C³B - battle.h C³B + map_check_dir() è¿½åŠ ã€‚ + map_readmap()ã€map_addblock()ã€map_delblock() ä¿®æ£ã€‚ + map_foreachinarea()ã€map_foreachinmovearea() ä¿®æ£ã€‚ + map_addflooritem() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ + pc.c + pc_spiritball_timer()ã€pc_addspiritball()ã€pc_delspiritball() ä¿®æ£ã€‚ + pc_steal_item()ã€pc_steal_coin()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_checkallowskill()ã€pc_jobchange()ã€pc_checkweighticon() ä¿®æ£ã€‚ + pc_damage()ã€pc_equipitem()ã€pc_walk()ã€pc_stop_walking() ä¿®æ£ã€‚ + pc_authok()ã€pc_counttargeted()ã€pc_counttargeted_sub() ä¿®æ£ã€‚ + pc_damage()ã€pc_setpos() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_get_range()ã€skill_get_sp()ã€skill_get_num() ä¿®æ£ã€‚ + skill_get_cast()ã€skill_get_delay() ä¿®æ£ã€‚ + skill_get_hp()ã€skill_get_zeny()ã€skill_get_time() è¿½åŠ ã€‚ + skill_get_time2()ã€skill_get_weapontype() è¿½åŠ ã€‚ + skill_get_unit_id()ã€skill_blown()ã€skill_additional_effect() ä¿®æ£ã€‚ + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_id() ä¿®æ£ã€‚ + skill_castend_pos()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_unit_timer_sub_onplace()ã€skill_unitsetting() ä¿®æ£ã€‚ + skill_use_id()ã€skill_use_pos()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_can_produce_mix() ä¿®æ£ã€‚ + skill_produce_mix()ã€skill_gangsterparadise() ä¿®æ£ã€‚ + skill_gangster_out()ã€skill_gangster_in() ä¿®æ£ã€‚ + skill_gangster_count() è¿½åŠ ã€‚ + skill_readdb() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - distance()Abattle_counttargeted()Abattle_get_range() ’ljÁB - battle_get_dir() ’ljÁB - battle_get_maxhp()Abattle_get_str()Abattle_get_agi() C³B - battle_get_vit()Abattle_get_dex()Abattle_get_int() C³B - battle_get_luk()Abattle_get_flee()Abattle_get_hit() C³B - battle_get_flee2()Abattle_get_critical()Abattle_get_baseatk() C³B - battle_get_atk()Abattle_get_atk2()Abattle_get_def() C³B - battle_get_def2()Abattle_get_mdef()Abattle_get_speed() C³B - battle_get_adelay()Abattle_get_amotion()Abattle_get_party_id() C³B - battle_get_guild_id()Abattle_get_size() C³B - battle_check_undead() ’ljÁB - battle_check_target()Abattle_addmastery() C³B - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B - clif.h C³B + distance()ã€battle_counttargeted()ã€battle_get_range() è¿½åŠ ã€‚ + battle_get_dir() è¿½åŠ ã€‚ + battle_get_maxhp()ã€battle_get_str()ã€battle_get_agi() ä¿®æ£ã€‚ + battle_get_vit()ã€battle_get_dex()ã€battle_get_int() ä¿®æ£ã€‚ + battle_get_luk()ã€battle_get_flee()ã€battle_get_hit() ä¿®æ£ã€‚ + battle_get_flee2()ã€battle_get_critical()ã€battle_get_baseatk() ä¿®æ£ã€‚ + battle_get_atk()ã€battle_get_atk2()ã€battle_get_def() ä¿®æ£ã€‚ + battle_get_def2()ã€battle_get_mdef()ã€battle_get_speed() ä¿®æ£ã€‚ + battle_get_adelay()ã€battle_get_amotion()ã€battle_get_party_id() ä¿®æ£ã€‚ + battle_get_guild_id()ã€battle_get_size() ä¿®æ£ã€‚ + battle_check_undead() è¿½åŠ ã€‚ + battle_check_target()ã€battle_addmastery() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_skillinfo()Aclif_skillinfoblock()Aclif_skillup() C³B - clif_item_skill()Aclif_changeoption()Aclif_parse_LoadEndAck() C³B - clif_01ac() ’ljÁB - clif_parse_WalkToXY()Aclif_parse_ActionRequest() C³B - clif_parse_TakeItem()Aclif_parse_DropItem() C³B - mob.h C³B + clif_skillinfo()ã€clif_skillinfoblock()ã€clif_skillup() ä¿®æ£ã€‚ + clif_item_skill()ã€clif_changeoption()ã€clif_parse_LoadEndAck() ä¿®æ£ã€‚ + clif_01ac() è¿½åŠ ã€‚ + clif_parse_WalkToXY()ã€clif_parse_ActionRequest() ä¿®æ£ã€‚ + clif_parse_TakeItem()ã€clif_parse_DropItem() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mobskill_castend_id()Amobskill_castend_pos() C³B - mobskill_use_id()Amobskill_use_pos()Amob_heal() C³B - mob_spawn()Amob_damage()Amob_walk() C³B - mob_stop_walking()Amob_warp()Amob_counttargeted() C³B - mob_counttargeted_sub()Amob_countslave() C³B - mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() C³B - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B + mobskill_castend_id()ã€mobskill_castend_pos() ä¿®æ£ã€‚ + mobskill_use_id()ã€mobskill_use_pos()ã€mob_heal() ä¿®æ£ã€‚ + mob_spawn()ã€mob_damage()ã€mob_walk() ä¿®æ£ã€‚ + mob_stop_walking()ã€mob_warp()ã€mob_counttargeted() ä¿®æ£ã€‚ + mob_counttargeted_sub()ã€mob_countslave() ä¿®æ£ã€‚ + mob_attack()ã€mob_target()ã€mob_ai_sub_hard_activesearch() ä¿®æ£ã€‚ + mob_ai_sub_hard_mastersearch()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ script.c - buildin_sc_start() C³B + buildin_sc_start() ä¿®æ£ã€‚ path.c - can_move() C³B + can_move() ä¿®æ£ã€‚ pet.c - pet_data_init()Apet_stop_walking() C³B + pet_data_init()ã€pet_stop_walking() ä¿®æ£ã€‚ npc.c - npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() C³B + npc_parse_warp()ã€npc_parse_shop()ã€npc_parse_script() ä¿®æ£ã€‚ -------------- //0748 by Michael @@ -6764,10 +6764,10 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ Fix Player&Monster cannot move in ICEWALL. -------------- -//0747 by ¹ -Eƒyƒbƒg‚ªƒGƒ‚‚ðo‚·‚Æmap-server‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½–â‘è‚ðC³B +//0747 by è– +・ペットãŒã‚¨ãƒ¢ã‚’出ã™ã¨map-serverãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ (map/) - clif_parse_SendEmotion() C³B + clif_parse_SendEmotion() ä¿®æ£ã€‚ -------------- //0746 by Michael @@ -6777,33 +6777,33 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ Attach a npc_testchkoption.txt npc script! -------------- -//0745 by ‚Ò‚´‚Ü‚ñ -EƒMƒƒƒ“ƒOƒXƒ^[ƒpƒ‰ƒ_ƒCƒXŽÀ‘• -EPvPƒGƒŠƒA‚Ìmapflag‚ðC³(“¯Žm“¢‚¿‚ª–³‚‚È‚Á‚½‚©‚ÆŽv‚¢‚Ü‚·) -EƒV[ƒYƒ‚[ƒh‚ŃmƒbƒNƒoƒbƒN‚ª‚ ‚Á‚½ƒoƒO‚ðC³ -EƒCƒ“ƒeƒBƒ~‚Ì’x‰„ŽžŠÔ‚ð‚µ’²® +//0745 by ã´ã–ã¾ã‚“ +・ギャングスターパラダイス実装 +・PvPエリアã®mapflagã‚’ä¿®æ£(åŒå£«è¨Žã¡ãŒç„¡ããªã£ãŸã‹ã¨æ€ã„ã¾ã™) +・シーズモードã§ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ãŒã‚ã£ãŸãƒã‚°ã‚’ä¿®æ£ +・インティミã®é…延時間を少ã—調整 (map/) skill.c - skill_attack()Askill_additional_effect()C³ - skill_gangsterparadise()Askill_gangster_in()Askill_gangster_out()’ljÁ + skill_attack()ã€skill_additional_effect()ä¿®æ£ + skill_gangsterparadise()ã€skill_gangster_in()ã€skill_gangster_out()è¿½åŠ clif.c - clif_parse_ActionRequest()C³ + clif_parse_ActionRequest()ä¿®æ£ mob.c - mob_target()Amob_attack()C³ - mob_ai_sub_hard()Amob_ai_sub_hard_mastersearch()C³ - mob_ai_sub_hard_activesearch()C³ - map.h C³ - skill.h C³ + mob_target()ã€mob_attack()ä¿®æ£ + mob_ai_sub_hard()ã€mob_ai_sub_hard_mastersearch()ä¿®æ£ + mob_ai_sub_hard_activesearch()ä¿®æ£ + map.h ä¿®æ£ + skill.h ä¿®æ£ (conf/) - npc_pvp.txt C³ + npc_pvp.txt ä¿®æ£ -------------- -//0744 by ¹ +//0744 by è– -EƒAƒCƒXƒEƒH[ƒ‹AƒƒeƒIƒXƒg[ƒ€‚̃Rƒ“ƒ{‚ŃƒeƒIƒXƒg[ƒ€‚̃GƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚È‚‚È‚é–â‘è‚ðC³B -EHP‹zŽûƒXƒLƒ‹‚̃GƒtƒFƒNƒgC³B -Ebattle_athena.conf‚É€–ڒljÁB -EƒpƒPŽü‚è‚Ìׂ©‚¢C³B +・アイスウォールã€ãƒ¡ãƒ†ã‚ªã‚¹ãƒˆãƒ¼ãƒ ã®ã‚³ãƒ³ãƒœã§ãƒ¡ãƒ†ã‚ªã‚¹ãƒˆãƒ¼ãƒ ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒè¡¨ç¤ºã•ã‚Œãªããªã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ +・HPå¸åŽã‚¹ã‚ルã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・パケ周りã®ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) battle_athena.conf (doc/) @@ -6819,28 +6819,28 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ -------------- //0743 by J -EŽæ‚芪‚«¢Š«‚È‚Ç‚ð–{ŽI‚ÉŽ—‚¹‚éˆ×‚ÌC³B -@‚ ‚Æ–{ŽI‘ŠˆáƒXƒŒ‚É‚ ‚Á‚½ƒSƒXƒŠƒ“‚ÌŽæ‚芪‚«‚ðC³B -@ƒfƒŠ[ƒ^[‚Ì‹ó‚Æ’n‚̃XƒLƒ‹‚ª‹t‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B +・å–ã‚Šå·»ãå¬å–šãªã©ã‚’本鯖ã«ä¼¼ã›ã‚‹ç‚ºã®ä¿®æ£ã€‚ + ã‚ã¨æœ¬é¯–相é•ã‚¹ãƒ¬ã«ã‚ã£ãŸã‚´ã‚¹ãƒªãƒ³ã®å–ã‚Šå·»ãã‚’ä¿®æ£ã€‚ + デリーターã®ç©ºã¨åœ°ã®ã‚¹ã‚ルãŒé€†ã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ã€‚ (db/) - mob_skill_db.txt C³ + mob_skill_db.txt ä¿®æ£ -------------- -//0742 by ‚Ò‚´‚Ü‚ñ +//0742 by ã´ã–ã¾ã‚“ -EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽÀ‘• -@UŒ‚‚ƃ[ƒv‚Ì•ª•Ê‚ª‚¤‚Ü‚‚¢‚©‚È‚©‚Á‚½‚Ì‚Å -@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚µ‚Ü‚µ‚½ -Eskill_db‚̌뎚“™‚ðC³ +・インティミデイトを実装 + 攻撃ã¨ãƒ¯ãƒ¼ãƒ—ã®åˆ†åˆ¥ãŒã†ã¾ãã„ã‹ãªã‹ã£ãŸã®ã§ + SC_INTIMIDATEを使ã£ã¦é…延処ç†ã‚’ã—ã¾ã—㟠+・skill_dbã®èª¤å—ç‰ã‚’ä¿®æ£ (map/) skill.c - skill_additional_effect()Askill_castend_map()C³ - skill_castend_nodamage_id()AC³ - skill_status_change_start()Askill_status_change_end()C³ - map.h C³ - skill.h C³ + skill_additional_effect()ã€skill_castend_map()ä¿®æ£ + skill_castend_nodamage_id()ã€ä¿®æ£ + skill_status_change_start()ã€skill_status_change_end()ä¿®æ£ + map.h ä¿®æ£ + skill.h ä¿®æ£ (db/) - skill_db.txt C³ + skill_db.txt ä¿®æ£ -------------------- //0741 by whitedog @@ -6848,450 +6848,450 @@ bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”“®A’Êí‚Ì•ŠíUŒ‚ˆ snapshot -------------- -//0740 by ‚Û‚Û‚Û -EPC‚ªMOB‚Ƀ^ƒQ‚ç‚ꂽ‚Æ‚«3•C–Ú‚©‚ç–hŒä‚Ɖñ”ð‚ªŒ¸‚é‚悤‚É‚µ‚½B -@1•C‚ɂ‚«‰ñ”ð‚Í10%A–hŒä‚Í5%Œ¸‚è‚Ü‚·B +//0740 by ã½ã½ã½ +・PCãŒMOBã«ã‚¿ã‚²ã‚‰ã‚ŒãŸã¨ã3匹目ã‹ã‚‰é˜²å¾¡ã¨å›žé¿ãŒæ¸›ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + 1匹ã«ã¤ã回é¿ã¯10%ã€é˜²å¾¡ã¯5%減りã¾ã™ã€‚ (map/) pc.h pc.c - pc_counttargeted()Apc_counttargeted_sub()’ljÁ + pc_counttargeted()ã€pc_counttargeted_sub()è¿½åŠ battle.c - battle_get_flee()Abattle_get_def()Abattle_get_def2()C³B + battle_get_flee()ã€battle_get_def()ã€battle_get_def2()ä¿®æ£ã€‚ -------------- -//0739 by ¹ -Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹“™‚ÌÝ’uŒnƒXƒLƒ‹‚ª³‚µ‚•\Ž¦‚³‚ê‚È‚¢–â‘è‚ðC³B -Eƒ}ƒŠƒ“ƒXƒtƒBƒA‚ªŽ©”š‚·‚é‚ƃTƒ“ƒ_[ƒXƒg[ƒ€“™‚̃_ƒ[ƒW‚ª•\Ž¦‚³‚ê‚È‚‚È‚é–â‘è‚ðC³B -EHP‹zŽûŒnƒXƒLƒ‹‚Å“G‚ª‰ñ•œ‚µ‚Ä‚éƒGƒtƒFƒNƒg‚ªo‚é‚悤C³B +//0739 by è– +・ファイアーウォールç‰ã®è¨ç½®ç³»ã‚¹ã‚ルãŒæ£ã—ã表示ã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ã€‚ +・マリンスフィアãŒè‡ªçˆ†ã™ã‚‹ã¨ã‚µãƒ³ãƒ€ãƒ¼ã‚¹ãƒˆãƒ¼ãƒ ç‰ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œãªããªã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ +・HPå¸åŽç³»ã‚¹ã‚ルã§æ•µãŒå›žå¾©ã—ã¦ã‚‹ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºã‚‹ã‚ˆã†ä¿®æ£ã€‚ (map/) skill.c - skill_castend_damage_id() C³B + skill_castend_damage_id() ä¿®æ£ã€‚ battle.c - battle_calc_misc_attack() C³B + battle_calc_misc_attack() ä¿®æ£ã€‚ clif.c - clif_getareachar_skillunit() C³B - clif_skill_setunit() C³B + clif_getareachar_skillunit() ä¿®æ£ã€‚ + clif_skill_setunit() ä¿®æ£ã€‚ -------------- -//0738 by ‚Ò‚´‚Ü‚ñ -EƒXƒg[ƒ€ƒKƒXƒg‚ðŠ®‘S‚É–{ŽIŽd—l‚ÉC³(3‰ñ‚Åâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ì“G‚ÍSG‚ð‚‚ç‚í‚È‚¢) -EƒTƒtƒ‰ƒMƒEƒ€‚ªŽ©•ª‚É‚©‚¯‚ç‚ê‚éƒoƒOC³ +//0738 by ã´ã–ã¾ã‚“ +・ストームガストを完全ã«æœ¬é¯–仕様ã«ä¿®æ£(3回ã§çµ¶å¯¾å‡çµï¼†å‡çµçŠ¶æ…‹ã®æ•µã¯SGã‚’ãらã‚ãªã„) +・サフラギウムãŒè‡ªåˆ†ã«ã‹ã‘られるãƒã‚°ä¿®æ£ (map/) skill.c - skill_additional_effect()Askill_attack()C³ - skill_castend_nodamage_id()C³ - map.h C³ + skill_additional_effect()ã€skill_attack()ä¿®æ£ + skill_castend_nodamage_id()ä¿®æ£ + map.h ä¿®æ£ -------------- -//0737 by ‚Û‚Û‚Û -EƒAƒ“ƒNƒ‹‚ª•à‚¢‚Ä‚¢‚é“G‚ÉŒø‚©‚È‚¢&•¡”‚Ì“G‚ÉŒø‚‚Ì‚ðC³B +//0737 by ã½ã½ã½ +・アンクルãŒæ©ã„ã¦ã„る敵ã«åŠ¹ã‹ãªã„&複数ã®æ•µã«åŠ¹ãã®ã‚’ä¿®æ£ã€‚ (map/) skill.c - skill_unit_onplace()Askill_unit_onout()C³ + skill_unit_onplace()ã€skill_unit_onout()ä¿®æ£ mob.c - mob_stop_walking()C³ + mob_stop_walking()ä¿®æ£ -------------- -//0736 by ‚Ò‚´‚Ü‚ñ -Eó‘ÔˆÙí‘Ï«‚ªŒø‰ÊŽžŠÔ‚É‚à‹y‚Ô—l‚ÉC³B”“®—¦‚Æ“¯—¦‚ÅŒø‰ÊŽžŠÔ‚ªŠ„‚èˆø‚©‚ê‚Ü‚· -EƒXƒg[ƒ“ƒJ[ƒX‚ÌŒø‰ÊŽžŠÔ‚ð‰i‹v‚©‚çƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’‚É -EUŒ‚‚ðŽó‚¯‚½Žž‚Ƀyƒbƒg‚ÌŽx‰‡UŒ‚‚ðŽó‚¯‚ç‚ê‚È‚¢‚悤C³(ƒRƒƒ“ƒgƒAƒEƒg‚µ‚½‚¾‚¯) -@‚±‚ê‚ÍVITŒ^‚Ƀyƒbƒg‚ð•t‚¯‚Ä•ú’u‚·‚邾‚¯‚ÅŽ©“®‚ŃŒƒxƒ‹ã‚°‚ª‚Å‚«‚é‚Ì‚ð -@–h‚®‚½‚ß‚ÌŽb’è“I‚Ȉ’u‚Å‚· +//0736 by ã´ã–ã¾ã‚“ +・状態異常è€æ€§ãŒåŠ¹æžœæ™‚é–“ã«ã‚‚åŠã¶æ§˜ã«ä¿®æ£ã€‚発動率ã¨åŒçŽ‡ã§åŠ¹æžœæ™‚é–“ãŒå‰²ã‚Šå¼•ã‹ã‚Œã¾ã™ +・ストーンカースã®åŠ¹æžœæ™‚間を永久ã‹ã‚‰ãƒžã‚¸ã‚¹ãƒ¬ãƒ†ãƒ³ãƒ—ãƒ¬æº–æ‹ ã« +・攻撃をå—ã‘ãŸæ™‚ã«ãƒšãƒƒãƒˆã®æ”¯æ´æ”»æ’ƒã‚’å—ã‘られãªã„よã†ä¿®æ£(コメントアウトã—ãŸã ã‘) + ã“ã‚Œã¯VITåž‹ã«ãƒšãƒƒãƒˆã‚’付ã‘ã¦æ”¾ç½®ã™ã‚‹ã ã‘ã§è‡ªå‹•ã§ãƒ¬ãƒ™ãƒ«ä¸Šã’ãŒã§ãã‚‹ã®ã‚’ + 防ããŸã‚ã®æš«å®šçš„ãªå‡¦ç½®ã§ã™ (map/) skill.c - skill_castend_nodamage_id()Askill_addisional_effect()C³ - skill_status_change_start()C³ + skill_castend_nodamage_id()ã€skill_addisional_effect()ä¿®æ£ + skill_status_change_start()ä¿®æ£ pc.c - pc_damage() C³ + pc_damage() ä¿®æ£ -------------- -//0735 by ‚Û‚Û‚Û +//0735 by ã½ã½ã½ -E“G‚ð“|‚µ‚ăŒƒxƒ‹‚ªã‚ª‚Á‚½‚Æ‚«PTŒö•½”͈͂̃`ƒFƒbƒN‚ð‚·‚é‚悤‚É‚µ‚½B -EƒI[ƒgƒJƒEƒ“ƒ^[‰¼ŽÀ‘•B -@Œü‚«‚âŽË’öƒ`ƒFƒbƒN‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñB‚Ü‚½ƒ^ƒCƒ~ƒ“ƒO‚ª‚¨‚©‚µ‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB -@MOBƒXƒLƒ‹‚Æ‚µ‚ÄŽg‚¤‚Æ‚«‚̓^[ƒQƒbƒg‚ðself‚É‚µ‚Ä‚‚¾‚³‚¢B +・敵を倒ã—ã¦ãƒ¬ãƒ™ãƒ«ãŒä¸ŠãŒã£ãŸã¨ãPT公平範囲ã®ãƒã‚§ãƒƒã‚¯ã‚’ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ +・オートカウンター仮実装。 + å‘ãや射程ãƒã‚§ãƒƒã‚¯ã¯ã—ã¦ã„ã¾ã›ã‚“。ã¾ãŸã‚¿ã‚¤ãƒŸãƒ³ã‚°ãŒãŠã‹ã—ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + MOBスã‚ルã¨ã—ã¦ä½¿ã†ã¨ãã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’selfã«ã—ã¦ãã ã•ã„。 (conf/) - battle_athena.conf€–ڒljÁ + battle_athena.confé …ç›®è¿½åŠ (doc/) - conf_refC³ + conf_refä¿®æ£ (map/) battle.h battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() - battle_config_read()C³ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() + battle_config_read()ä¿®æ£ pc.c - pc_checkbaselevelup()Apc_attack_timer()C³ + pc_checkbaselevelup()ã€pc_attack_timer()ä¿®æ£ skill.c - skill_castend_nodamage_id()Askill_status_change_start()C³ + skill_castend_nodamage_id()ã€skill_status_change_start()ä¿®æ£ clif.c - clif_parse_WalkToXY()C³ + clif_parse_WalkToXY()ä¿®æ£ mob.c - mob_attack()C³ + mob_attack()ä¿®æ£ -------------- -//0734 by Ž€_ +//0734 by æ»ç¥ž -Eplayer_skillup_limit‚̈—C³‚Æׂ©‚¢C³B -Eplayer_skillup_limit‚ªyes‚Ìê‡skill_tree.txt‚Åݒ肳‚ê‚Ä‚é‚»‚̉ºˆÊE‹Æ‚Ì -ƒXƒLƒ‹ƒcƒŠ[‚ðŽg‚¢‚Ü‚·‚Ì‚Å‚»‚ÌE‹Æ‚Å‚Í–³‚‚È‚é‚Í‚¸‚̃XƒLƒ‹‚ªo‚邱‚Æ‚ª -‚ ‚è‚Ü‚·‚ª‚±‚ê‚ÍŽd—l‚Å‚ ‚èƒoƒO‚Å‚Í‚ ‚è‚Ü‚¹‚ñBƒoƒO•ñ‚³‚ê‚Ä‚à–³Ž‹‚µ‚Ü‚·B +・player_skillup_limitã®å‡¦ç†ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・player_skillup_limitãŒyesã®å ´åˆskill_tree.txtã§è¨å®šã•ã‚Œã¦ã‚‹ãã®ä¸‹ä½è·æ¥ã® +スã‚ルツリーを使ã„ã¾ã™ã®ã§ãã®è·æ¥ã§ã¯ç„¡ããªã‚‹ã¯ãšã®ã‚¹ã‚ルãŒå‡ºã‚‹ã“ã¨ãŒ +ã‚ã‚Šã¾ã™ãŒã“ã‚Œã¯ä»•æ§˜ã§ã‚ã‚Šãƒã‚°ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ãƒã‚°å ±å‘Šã•ã‚Œã¦ã‚‚無視ã—ã¾ã™ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (char/) char.c - mmo_char_sync_timer()Ado_init() C³B + mmo_char_sync_timer()ã€do_init() ä¿®æ£ã€‚ inter.c - inter_init() C³B - inter_save_timer() íœB + inter_init() ä¿®æ£ã€‚ + inter_save_timer() 削除。 (map/) pc.c - pc_calc_skilltree() C³B - pc_resetskill() C³B + pc_calc_skilltree() ä¿®æ£ã€‚ + pc_resetskill() ä¿®æ£ã€‚ -------------- -//0733 by Ž€_ +//0733 by æ»ç¥ž -EƒoƒOC³‚Æׂ©‚¢C³B -EŽ€‚ñ‚¾Œã‚É‚·‚®‚ɃZ[ƒuƒ|ƒCƒ“ƒg‚ɖ߂炸‚É‚µ‚΂炕ú’u‚µ‚Ä‚é‚ÆA -•ú’u‚µ‚Ă鎞ŠÔ‚É‚æ‚Á‚ÄŒoŒ±’l‚ªŒ¸‚·‚éƒoƒOC³B(–¢ƒeƒXƒg) -Emob_availe.txt‚Åݒ肵‚½ƒ‚ƒ“ƒXƒ^[‚Ƀ‚ƒ“ƒXƒ^[î•ñ‚ðŽg‚¤‚¿ˆÆ—Ž‚¿‚·‚é–â‘èC³B -Ebattle_athena.conf‚É€–ڒljÁB -E‚»‚Ì‘¼×‚©‚¢C³B +・ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・æ»ã‚“ã 後ã«ã™ãã«ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆã«æˆ»ã‚‰ãšã«ã—ã°ã‚‰ã放置ã—ã¦ã‚‹ã¨ã€ +放置ã—ã¦ã‚‹æ™‚é–“ã«ã‚ˆã£ã¦çµŒé¨“値ãŒæ¸›å°‘ã™ã‚‹ãƒã‚°ä¿®æ£ã€‚(未テスト) +・mob_availe.txtã§è¨å®šã—ãŸãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã‚’ä½¿ã†ã¡éžè½ã¡ã™ã‚‹å•é¡Œä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) clif.c - clif_skill_estimation()Aclif_parse_Restart() C³B + clif_skill_estimation()ã€clif_parse_Restart() ä¿®æ£ã€‚ pc.c - pc_setrestartvalue()Apc_makesavestatus() C³B - pc_read_gm_account()Apc_calc_skilltree() C³B - pc_calc_skillpoint() ’ljÁB + pc_setrestartvalue()ã€pc_makesavestatus() ä¿®æ£ã€‚ + pc_read_gm_account()ã€pc_calc_skilltree() ä¿®æ£ã€‚ + pc_calc_skillpoint() è¿½åŠ ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ skill.c - skill_unit_timer_sub()Askill_unit_timer() C³B - battle.h C³B + skill_unit_timer_sub()ã€skill_unit_timer() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ -------------- //0732 by Kalen -Enpc_town_kafra.txt‚Ì‘S–ÊŒ©’¼‚µ - ƒJƒvƒ‰—˜—pŒ”‚Ì”pŽ~ - ‘qŒÉ—˜—p—¿‚ð–{ŽI(jRO)‚Æ“¯ˆê‰¿Ši‚É’²® - ƒJ[ƒgŽg—p—¿‚ð–{ŽI(jRO)‚Æ“¯ˆê‰¿Ši‚É’²® - ƒ|ƒCƒ“ƒgŽQÆ•ÏX - ƒWƒ…ƒm[‚̃Z[ƒuƒ|ƒCƒ“ƒgC³ - ƒAƒ}ƒc‚̃Z[ƒuƒ|ƒCƒ“ƒgC³ +・npc_town_kafra.txtã®å…¨é¢è¦‹ç›´ã— + カプラ利用券ã®å»ƒæ¢ + 倉庫利用料を本鯖(jRO)ã¨åŒä¸€ä¾¡æ ¼ã«èª¿æ•´ + カート使用料を本鯖(jRO)ã¨åŒä¸€ä¾¡æ ¼ã«èª¿æ•´ + ãƒã‚¤ãƒ³ãƒˆå‚照変更 + ジュノーã®ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆä¿®æ£ + アマツã®ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆä¿®æ£ -------------- -//0731 by ‚Û‚Û‚Û +//0731 by ã½ã½ã½ -E•ž‚ÌF‚ð•Û‘¶‚·‚é‚©battle_athena.conf‚Å‘I‘ð‚Å‚«‚é‚悤‚ÉB -@•¾ŠQ‚ª‚ ‚é‚Ì‚Å•Û‘¶‚µ‚È‚¢‚悤‚É‚Æ‘‚¢‚Ä‚ ‚Á‚½‚̂ŃfƒtƒHƒ‹ƒg‚Å‚Í•Û‘¶‚µ‚Ü‚¹‚ñB -EƒXƒNƒŠƒvƒg’ljÁ -@strcharinfo(1) Ž©•ª‚̃p[ƒeƒB[–¼‚ðŽæ“¾‚µ‚Ü‚·B -@strcharinfo(2) Ž©•ª‚̃Mƒ‹ƒh–¼‚ðŽæ“¾‚µ‚Ü‚·B -@getcharid(1) Ž©•ª‚̃p[ƒeƒB[ID‚ðŽæ“¾‚µ‚Ü‚·B -@getcharid(2) Ž©•ª‚̃Mƒ‹ƒhID‚ðŽæ“¾‚µ‚Ü‚·B -@getpartyname(ID) ID‚ÅŽw’肵‚½ƒp[ƒeƒB[‚Ì–¼‘O‚ðŽæ“¾‚µ‚Ü‚·B -@getguildname(ID) ID‚ÅŽw’肵‚½ƒMƒ‹ƒh‚Ì–¼‘O‚ðŽæ“¾‚µ‚Ü‚·B +・æœã®è‰²ã‚’ä¿å˜ã™ã‚‹ã‹battle_athena.confã§é¸æŠžã§ãるよã†ã«ã€‚ + 弊害ãŒã‚ã‚‹ã®ã§ä¿å˜ã—ãªã„よã†ã«ã¨æ›¸ã„ã¦ã‚ã£ãŸã®ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ä¿å˜ã—ã¾ã›ã‚“。 +ãƒ»ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ + strcharinfo(1) 自分ã®ãƒ‘ーティーåã‚’å–å¾—ã—ã¾ã™ã€‚ + strcharinfo(2) 自分ã®ã‚®ãƒ«ãƒ‰åã‚’å–å¾—ã—ã¾ã™ã€‚ + getcharid(1) 自分ã®ãƒ‘ーティーIDã‚’å–å¾—ã—ã¾ã™ã€‚ + getcharid(2) 自分ã®ã‚®ãƒ«ãƒ‰IDã‚’å–å¾—ã—ã¾ã™ã€‚ + getpartyname(ID) IDã§æŒ‡å®šã—ãŸãƒ‘ーティーã®åå‰ã‚’å–å¾—ã—ã¾ã™ã€‚ + getguildname(ID) IDã§æŒ‡å®šã—ãŸã‚®ãƒ«ãƒ‰ã®åå‰ã‚’å–å¾—ã—ã¾ã™ã€‚ (map/) battle.h battle.c - battle_config_read()C³ + battle_config_read()ä¿®æ£ pc.c - pc_makesavestatus()C³ + pc_makesavestatus()ä¿®æ£ script.c - buildin_strcharinfo()C³ - buildin_getcharid()Abuildin_getpartyname()Abuildin_getpartyname_sub() - buildin_getguildname()Abuildin_getguildname_sub()’ljÁ + buildin_strcharinfo()ä¿®æ£ + buildin_getcharid()ã€buildin_getpartyname()ã€buildin_getpartyname_sub() + buildin_getguildname()ã€buildin_getguildname_sub()è¿½åŠ -------------- -//0730 by ‚Ò‚´‚Ü‚ñ +//0730 by ã´ã–ã¾ã‚“ -EƒXƒg[ƒ€ƒKƒXƒg‚Ì“€Œ‹ŽžŠÔ‚ð–{ŽI‚É‚ ‚킹‚ÄC³(ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚È‚ˆê’è‚Ì“€Œ‹ŽžŠÔ(10•b)‚É‚È‚è‚Ü‚·) -EƒXƒ^ƒ“AˆÃˆÅA’¾–ÙA“Å‚Ìó‘ÔˆÙ펞ŠÔ‚ÌuŒp‚¬‘«‚µv‚ª‚Å‚«‚È‚¢‚悤‚ÉC³ -Eó‘ÔˆÙ킪Š|‚©‚è‚É‚‚·‚¬‚Ä‚½‚Ì‚ÅMOB‚Ìó‘ÔˆÙí‘Ï«‚ðŠÉ˜a(‚Ü‚½’²®‚·‚é‚©‚à) +・ストームガストã®å‡çµæ™‚間を本鯖ã«ã‚ã‚ã›ã¦ä¿®æ£(スã‚ルレベルã«é–¢ä¿‚ãªã一定ã®å‡çµæ™‚é–“(10秒)ã«ãªã‚Šã¾ã™) +・スタンã€æš—é—‡ã€æ²ˆé»™ã€æ¯’ã®çŠ¶æ…‹ç•°å¸¸æ™‚é–“ã®ã€Œç¶™ãŽè¶³ã—ã€ãŒã§ããªã„よã†ã«ä¿®æ£ +・状態異常ãŒæŽ›ã‹ã‚Šã«ãã™ãŽã¦ãŸã®ã§MOBã®çŠ¶æ…‹ç•°å¸¸è€æ€§ã‚’ç·©å’Œ(ã¾ãŸèª¿æ•´ã™ã‚‹ã‹ã‚‚) (map/) skill.c - skill_castend_nodamage_id()Askill_addisional_effect()C³ - skill_status_change_start()C³ + skill_castend_nodamage_id()ã€skill_addisional_effect()ä¿®æ£ + skill_status_change_start()ä¿®æ£ -------------- //0729 by DRG -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªƒJ[ƒg‚È‚µ‚ÅŽg‚¦‚½•s‹ï‡‚ÌC³ -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªJOBLV30‚ÅŠo‚¦‚ꂽ‚Ì‚ðC³ +・カートレボリューションãŒã‚«ãƒ¼ãƒˆãªã—ã§ä½¿ãˆãŸä¸å…·åˆã®ä¿®æ£ +・カートレボリューションãŒJOBLV30ã§è¦šãˆã‚ŒãŸã®ã‚’ä¿®æ£ (conf/) npc_event_skillget.txt - ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€C³ + ã‚«ãƒ¼ãƒˆãƒ¬ãƒœãƒªãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³é …ä¿®æ£ (map/) skill.c - skill_check_condition()C³ + skill_check_condition()ä¿®æ£ -------------- -//0728 by ‚Û‚Û‚Û +//0728 by ã½ã½ã½ -EE‚ª•Ï‚í‚Á‚Ä‚àƒMƒ‹ƒh‚ÌE‹Æ—“‚ªXV‚³‚ê‚È‚¢•s‹ï‡‚ÌC³B +・è·ãŒå¤‰ã‚ã£ã¦ã‚‚ギルドã®è·æ¥æ¬„ãŒæ›´æ–°ã•ã‚Œãªã„ä¸å…·åˆã®ä¿®æ£ã€‚ (char/) inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒgC³B + パケット長リスト修æ£ã€‚ int_guild.c - mapif_guild_memberinfoshort()Amapif_parse_GuildChangeMemberInfoShort()A - inter_guild_parse_frommap()C³ + mapif_guild_memberinfoshort()ã€mapif_parse_GuildChangeMemberInfoShort()〠+ inter_guild_parse_frommap()ä¿®æ£ (map/) intif.h intif.c - intif_guild_memberinfoshort()Aintif_parse_GuildMemberInfoShort() - intif_parse()C³ + intif_guild_memberinfoshort()ã€intif_parse_GuildMemberInfoShort() + intif_parse()ä¿®æ£ guild.h - guild_send_memberinfoshort()Aguild_recv_memberinfoshort()C³ + guild_send_memberinfoshort()ã€guild_recv_memberinfoshort()ä¿®æ£ -------------- -//0727 by ¹ +//0727 by è– -E•ŠíŒ¤‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Ȃǂ̸˜BNPC‚ª -@³í‚É“®ì‚µ‚È‚¢–â‘è‚ðC³B +・æ¦å™¨ç ”究スã‚ルã«ã‚ˆã£ã¦ãƒ›ãƒ«ã‚°ãƒ¬ãƒ³ãªã©ã®ç²¾éŒ¬NPC㌠+ æ£å¸¸ã«å‹•ä½œã—ãªã„å•é¡Œã‚’ä¿®æ£ã€‚ (map/) pc.c - pc_percentrefinery() C³B + pc_percentrefinery() ä¿®æ£ã€‚ -------------- -//0726 by ŒÓ’±—– +//0726 by 胡è¶è˜ -Emob_skill_db2.txt‚ª‚ ‚ê‚Îmob_skill_db.txt‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚ÉC³ - ƒIƒŠƒWƒiƒ‹‚ÌMOBŽg—pŽž‚âAŒ»sMOB‚ÌŽg—pƒXƒLƒ‹‚ð•ÏX‚µ‚½‚¢ê‡‚ÉB +・mob_skill_db2.txtãŒã‚ã‚Œã°mob_skill_db.txtをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ + オリジナルã®MOB使用時やã€ç¾è¡ŒMOBã®ä½¿ç”¨ã‚¹ã‚ルを変更ã—ãŸã„å ´åˆã«ã€‚ -Emob_skill_db.txt‚Åmob_id‚ÌŽŸ‚̃_ƒ~[•¶Žš—ñ‚ª"clear"‚¾‚Á‚½ê‡A - ‚»‚ÌMOB‚̃XƒLƒ‹‚ð‰Šú‰»‚·‚é‹@”\’ljÁB - Emob_skill_db2.txt‚Å‚ ‚éMOB‚̃XƒLƒ‹‚ðŠ®‘S‚É‘‚«Š·‚¦‚é‚Æ‚«‚ÉŽg—p‚µ‚Ä - ‚‚¾‚³‚¢B - Eclear‚µ‚È‚©‚Á‚½ê‡‚Ímob_skill_db.txt‚Ì‚à‚̂ɒljÁ‚³‚ê‚Ü‚·B +・mob_skill_db.txtã§mob_idã®æ¬¡ã®ãƒ€ãƒŸãƒ¼æ–‡å—列ãŒ"clear"ã ã£ãŸå ´åˆã€ + ãã®MOBã®ã‚¹ã‚ルをåˆæœŸåŒ–ã™ã‚‹æ©Ÿèƒ½è¿½åŠ 。 + ・mob_skill_db2.txtã§ã‚ã‚‹MOBã®ã‚¹ã‚ルを完全ã«æ›¸ãæ›ãˆã‚‹ã¨ãã«ä½¿ç”¨ã—㦠+ ãã ã•ã„。 + ・clearã—ãªã‹ã£ãŸå ´åˆã¯mob_skill_db.txtã®ã‚‚ã®ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚ mob.c - mob_readskilldb()C³ + mob_readskilldb()ä¿®æ£ -EƒAƒCƒeƒ€–¼/MOB–¼‚ª‘SŠp12•¶Žši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ªA - @ƒRƒ}ƒ“ƒh‚ÅŽæ‚èŠñ‚¹/¢Š«‚Å‚«‚È‚¢–â‘èC³B +・アイテムå/MOBåãŒå…¨è§’12æ–‡å—(24ãƒã‚¤ãƒˆï¼‰ã‚るアイテム/MOBãŒã€ + @コマンドã§å–り寄ã›/å¬å–šã§ããªã„å•é¡Œä¿®æ£ã€‚ mob.c - mobdb_searchname()C³ + mobdb_searchname()ä¿®æ£ itemdb.c - itemdb_searchname_sub()C³ - -EŒ»ÝŽž‚ŃCƒxƒ“ƒg‚ð‹N‚±‚·uŽžŒvƒCƒxƒ“ƒgv‹@”\‚ð’ljÁ - EOnInit‚Æ“¯‚¶‚悤‚É‚»‚ꂼ‚ê‚ÌNPC‚ÅAOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’è‹`‚µ‚Ü‚·B - OnMinute?? F–ˆŽžA??•ª‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B(0-59) - OnHour?? F–ˆ“úA??Žž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B(0-23) - OnClock???? F–ˆ“úA??Žž??•ª‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B - OnDate???? F–ˆ”NA??ŒŽ??“ú‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B - EÚ‚µ‚‚Í npc_test_ev.txt ‚ðŽQÆ + itemdb_searchname_sub()ä¿®æ£ + +・ç¾åœ¨æ™‚刻ã§ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã™ã€Œæ™‚計イベントã€æ©Ÿèƒ½ã‚’è¿½åŠ + ・OnInitã¨åŒã˜ã‚ˆã†ã«ãã‚Œãžã‚Œã®NPCã§ã€On〜ã§å§‹ã¾ã‚‹ãƒ©ãƒ™ãƒ«ã‚’定義ã—ã¾ã™ã€‚ + OnMinute?? :毎時ã€??分ã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã—ã¾ã™ã€‚(0-59) + OnHour?? :毎日ã€??時ã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã—ã¾ã™ã€‚(0-23) + OnClock???? :毎日ã€??時??分ã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã—ã¾ã™ã€‚ + OnDate???? :毎年ã€??月??æ—¥ã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã—ã¾ã™ã€‚ + ・詳ã—ã㯠npc_test_ev.txt ã‚’å‚ç…§ (conf/) npc_test_ev.txt - “à—e’ljÁ + å†…å®¹è¿½åŠ (map/) npc.c - FXC³ + è‰²ã€…ä¿®æ£ -E‚»‚Ì‘¼ +・ãã®ä»– clif.c - ƒRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚ÉC³ + コンパイルè¦å‘ŠãŒå‡ºãªã„よã†ã«ä¿®æ£ -------------- -//0725 by Ž€_ +//0725 by æ»ç¥ž -EŽI—Ž‚¿ƒoƒOC³B -Eƒ‚ƒ“ƒXƒ^[‚ɃCƒxƒ“ƒg‚ªÝ’肳‚ê‚Ä‚¢‚ÄŽ©ŽE‚â‚È‚É‚©‚Ń_ƒ[ƒW‚ð—^‚¦‚½ -•¨‚ª‚È‚¢ê‡ŽI—Ž‚¿Šm’è‚È‚Ì‚Å‚»‚̃}ƒbƒv‚É‚ ‚éƒvƒŒƒCƒ„[‚ð—˜—p‚µ‚Ä -ƒCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚é‚悤‚É•ÏXB +・鯖è½ã¡ãƒã‚°ä¿®æ£ã€‚ +・モンスターã«ã‚¤ãƒ™ãƒ³ãƒˆãŒè¨å®šã•ã‚Œã¦ã„ã¦è‡ªæ®ºã‚„ãªã«ã‹ã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆãŸ +物ãŒãªã„å ´åˆé¯–è½ã¡ç¢ºå®šãªã®ã§ãã®ãƒžãƒƒãƒ—ã«ã‚るプレイヤーを利用ã—㦠+イベントスクリプトを実行ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ (map/) - makefile C³B + makefile ä¿®æ£ã€‚ mob.c - mob_timer()Amob_damage() C³B + mob_timer()ã€mob_damage() ä¿®æ£ã€‚ -------------- -//0724 by Ž€_ +//0724 by æ»ç¥ž -EƒoƒOC³‚ƈÀ’艻‚ׂ̈ÌC³B -Eƒyƒbƒg‚ÌUŒ‚‚ŃCƒxƒ“ƒg‚ªˆ—‚³‚ꂸŽI—Ž‚¿‚É‚È‚é–â‘èC³B(–¢ƒeƒXƒg) -Eƒ‚ƒ“ƒXƒ^[‚Ì‘å—Ê”¶‚ÅŽI‚ª—Ž‚¿‚é–â‘èC³B(ƒ‚ƒ“ƒXƒ^[‚ð10000•C‚ðŒÄ‚ñ‚Å -–‚–@‚Å“|‚·‚±‚Æ‚ð5‰ñ’öƒeƒXƒgB‚½‚¾“®‚©‚È‚¢‚â‚‚̂ÝB) -EŽæ‚芪‚«‚ªƒ{ƒX‚ƈê‚ÉŽ€‚ÊŽžƒAƒCƒeƒ€‚ð—Ž‚Æ‚³‚È‚¢‚悤‚É•ÏXB(–¢ƒeƒXƒg) -Ebattle_athena.conf‚Ìpc_skillflee‚ðplayer_skillfree‚É•ÏX‚µ‚Ĉ—‚ð•ÏXB -EƒAƒCƒXƒEƒH[ƒ‹‚Éskill_unit_setting‚ðŽg‚¤ƒXƒLƒ‹‚ÅUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³B -E‚»‚Ì‘¼×‚©‚¢C³‚µBˆÀ’艻‚³‚ꂽ‚©‚Ç‚¤‚©‚Í‚Ü‚¾‚í‚©‚è‚Ü‚¹‚ñ‚ªXP1800+A512MAƒ‚ƒ“ƒXƒ^[”z’u50%‚Å10000•C¢Š«‚µ‚ĈÙí‚È‚©‚Á‚½‚Ì‚Å‘åä•v‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B‘åä•v‚¶‚á‚È‚‚Ä‚àÓ”C‚Í‚Æ‚ê‚Ü‚¹‚ñ‚ª... +・ãƒã‚°ä¿®æ£ã¨å®‰å®šåŒ–ã®ç‚ºã®ä¿®æ£ã€‚ +・ペットã®æ”»æ’ƒã§ã‚¤ãƒ™ãƒ³ãƒˆãŒå‡¦ç†ã•ã‚Œãšé¯–è½ã¡ã«ãªã‚‹å•é¡Œä¿®æ£ã€‚(未テスト) +・モンスターã®å¤§é‡ç™ºç”Ÿã§é¯–ãŒè½ã¡ã‚‹å•é¡Œä¿®æ£ã€‚(モンスターを10000匹を呼ん㧠+é”法ã§å€’ã™ã“ã¨ã‚’5回程テスト。ãŸã å‹•ã‹ãªã„ã‚„ã¤ã®ã¿ã€‚) +・å–ã‚Šå·»ããŒãƒœã‚¹ã¨ä¸€ç·’ã«æ»ã¬æ™‚アイテムをè½ã¨ã•ãªã„よã†ã«å¤‰æ›´ã€‚(未テスト) +・battle_athena.confã®pc_skillfleeã‚’player_skillfreeã«å¤‰æ›´ã—ã¦å‡¦ç†ã‚’変更。 +・アイスウォールã«skill_unit_settingを使ã†ã‚¹ã‚ルã§æ”»æ’ƒã§ããªã„よã†ã«ä¿®æ£ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£å°‘ã—。安定化ã•ã‚ŒãŸã‹ã©ã†ã‹ã¯ã¾ã ã‚ã‹ã‚Šã¾ã›ã‚“ãŒXP1800+ã€512Mã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼é…ç½®50%ã§10000匹å¬å–šã—ã¦ç•°å¸¸ãªã‹ã£ãŸã®ã§å¤§ä¸ˆå¤«ã«ãªã£ãŸã¨æ€ã„ã¾ã™ã€‚大丈夫ã˜ã‚ƒãªãã¦ã‚‚責任ã¯ã¨ã‚Œã¾ã›ã‚“ãŒ... (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) - mob.h C³B + mob.h ä¿®æ£ã€‚ mob.c - mob_timer()Amob_deleteslave_sub()Amob_damage() C³B + mob_timer()ã€mob_deleteslave_sub()ã€mob_damage() ä¿®æ£ã€‚ npc.c - npc_event() C³B + npc_event() ä¿®æ£ã€‚ skill.c - skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() C³B + skill_area_sub()ã€skill_unit_onplace()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ clif.c - clif_parse_GMKick() C³B + clif_parse_GMKick() ä¿®æ£ã€‚ battle.h battle.c - battle_damage()Abattle_check_target()Abattle_config_read() C³B + battle_damage()ã€battle_check_target()ã€battle_config_read() ä¿®æ£ã€‚ pc.c - pc_calc_skilltree()Apc_checkskill() C³B - map.h C³B + pc_calc_skilltree()ã€pc_checkskill() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_foreachinarea()Amap_foreachinmovearea() C³B - map_foreachobject() C³B + map_foreachinarea()ã€map_foreachinmovearea() ä¿®æ£ã€‚ + map_foreachobject() ä¿®æ£ã€‚ -------------- //0723 by DRG -E0719‚ÌC³ +・0719ã®ä¿®æ£ (map/) - pc.c pc_calc_skilltree()C³ + pc.c pc_calc_skilltree()ä¿®æ£ -------------- -//0722 by ƒpƒCƒ“ +//0722 by パイン -Egcc 2.29Œn—ñ‚Å‚àƒRƒ“ƒpƒCƒ‹‚ª’Ê‚é‚悤‚ÉC³B -@‚±‚ê‚͈ȑO‚É‚à’¼‚µ‚½‚Í‚¸‚È‚Ì‚Å‚·‚ªA‚È‚º‚©Œ³‚É–ß‚Á‚Ä‚¢‚Ü‚µ‚½‚Ì‚Å -@ŠF‚³‚ñ’ˆÓ‚ð‚¨Šè‚¢‚µ‚Ü‚·B -@‚ ‚ÆAgcc3Œn—ñ‚È‚ç’蔂͂ǂ±‚É‘‚¢‚Ä‚à–â‘è‚È‚¢‚Ì‚Å‚·‚ªA -@gcc2.29Œn—ñ‚Å‚Íu•K‚¸ƒuƒƒbƒN—v‘f‚̈ê”Ôʼnv‚É‘‚©‚È‚¢‚ƃRƒ“ƒpƒCƒ‹‚ª -@’Ê‚è‚Ü‚¹‚ñ‚Ì‚Å‚±‚¿‚ç‚à‚²’ˆÓŠè‚¢‚Ü‚·B +・gcc 2.29系列ã§ã‚‚コンパイルãŒé€šã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ + ã“ã‚Œã¯ä»¥å‰ã«ã‚‚ç›´ã—ãŸã¯ãšãªã®ã§ã™ãŒã€ãªãœã‹å…ƒã«æˆ»ã£ã¦ã„ã¾ã—ãŸã®ã§ + 皆ã•ã‚“注æ„ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ + ã‚ã¨ã€gcc3系列ãªã‚‰å®šæ•°ã¯ã©ã“ã«æ›¸ã„ã¦ã‚‚å•é¡Œãªã„ã®ã§ã™ãŒã€ + gcc2.29系列ã§ã¯ã€Œå¿…ãšãƒ–ãƒãƒƒã‚¯è¦ç´ ã®ä¸€ç•ªæœ€åˆã€ã«æ›¸ã‹ãªã„ã¨ã‚³ãƒ³ãƒ‘イル㌠+ 通りã¾ã›ã‚“ã®ã§ã“ã¡ã‚‰ã‚‚ã”注æ„願ã„ã¾ã™ã€‚ -ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚é—á +コンパイルãŒé€šã‚‹ä¾‹ void hoge() { const char booboo = 1; - c + … -ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢—á +コンパイルãŒé€šã‚‰ãªã„例 void hoge() { - c + … const char booboo = 1; - c + … (map/) - skill.h ƒ}ƒNƒ‚ðC³ - skill.c skill_addisional_effect()C³ + skill.h マクãƒã‚’ä¿®æ£ + skill.c skill_addisional_effect()ä¿®æ£ -------------- -//0721 by ¹ +//0721 by è– -Eƒ{ƒX‚ɃŒƒbƒNƒXƒfƒr[ƒi‚ªŒø‚¢‚½–â‘è‚ðC³B -Eƒ{ƒX‚ɃJ[ƒh‚É‚æ‚éó‘ÔˆÙ킪Œø‚©‚È‚©‚Á‚½–â‘è‚ðC³B -@–{ŽI‚ł̓}ƒŠƒiƒJ[ƒh“™‚ŃI[ƒNƒq[ƒ[‚È‚Ç‚ð‰£‚é‚ÆŽžX“€Œ‹‚µ‚Ü‚·B -@(Œ‹\”÷–‚ÈŽÀ‘••û–@‚È‚Ì‚ÅA‰½‚©–â‘肪‚ ‚Á‚½ê‡ -@ ‚»‚Ì•ÓÚ‚µ‚¢•û‚¨‚è‚Ü‚µ‚½‚çC³‚µ‚Ä‚â‚Á‚Ä‚‚¾‚³‚¢(^^; )) +・ボスã«ãƒ¬ãƒƒã‚¯ã‚¹ãƒ‡ãƒ“ーナãŒåŠ¹ã„ãŸå•é¡Œã‚’ä¿®æ£ã€‚ +・ボスã«ã‚«ãƒ¼ãƒ‰ã«ã‚ˆã‚‹çŠ¶æ…‹ç•°å¸¸ãŒåŠ¹ã‹ãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ + 本鯖ã§ã¯ãƒžãƒªãƒŠã‚«ãƒ¼ãƒ‰ç‰ã§ã‚ªãƒ¼ã‚¯ãƒ’ーãƒãƒ¼ãªã©ã‚’æ®´ã‚‹ã¨æ™‚々å‡çµã—ã¾ã™ã€‚ + (çµæ§‹å¾®å¦™ãªå®Ÿè£…方法ãªã®ã§ã€ä½•ã‹å•é¡ŒãŒã‚ã£ãŸå ´åˆ +  ãã®è¾ºè©³ã—ã„æ–¹ãŠã‚Šã¾ã—ãŸã‚‰ä¿®æ£ã—ã¦ã‚„ã£ã¦ãã ã•ã„(^^; )) -------------- -//0720 by ŒÓ’±—– +//0720 by 胡è¶è˜ -EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ªUŒ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ - EIW‚Éd‚È‚Á‚Ä‚¢‚Ä‚àA—×ډ”\‚È‚çMOB‚ª‹ßŠñ‚Á‚Ä‚«‚Ü‚· - E‚Ç‚ñ‚È’nŒ`‚É‚¢‚Ä‚àA—×Ú‚µ‚Ä‚¢‚é‚È‚çUŒ‚‰Â”\‚É‚È‚è‚Ü‚· - E‚½‚¾‚µAMOB‚ª‰“‹——£UŒ‚‰Â”\‚ÅAUŒ‚”͈͓à‚ÉPC‚ª‚¢‚Ä‚àA - —×Ú•s‰Â”\‚È‚çUŒ‚‚µ‚Ä‚«‚Ü‚¹‚ñB‚±‚ê‚Ì‰ðŒˆ‚Í‚©‚È‚è–Ê“|‚È‚Ì‚ÅB +・PCã«IWã‚’é‡ãã‚‹ã¨MOBãŒæ”»æ’ƒã—ã¦ã“ãªã„å•é¡Œã‚’ä¿®æ£ + ・IWã«é‡ãªã£ã¦ã„ã¦ã‚‚ã€éš£æŽ¥å¯èƒ½ãªã‚‰MOBãŒè¿‘寄ã£ã¦ãã¾ã™ + ・ã©ã‚“ãªåœ°å½¢ã«ã„ã¦ã‚‚ã€éš£æŽ¥ã—ã¦ã„ã‚‹ãªã‚‰æ”»æ’ƒå¯èƒ½ã«ãªã‚Šã¾ã™ + ・ãŸã ã—ã€MOBãŒé è·é›¢æ”»æ’ƒå¯èƒ½ã§ã€æ”»æ’ƒç¯„囲内ã«PCãŒã„ã¦ã‚‚〠+ 隣接ä¸å¯èƒ½ãªã‚‰æ”»æ’ƒã—ã¦ãã¾ã›ã‚“。ã“ã‚Œã®è§£æ±ºã¯ã‹ãªã‚Šé¢å€’ãªã®ã§ã€‚ mob.c - mob_can_reach()C³ + mob_can_reach()ä¿®æ£ battle.c - battle_check_range()C³ + battle_check_range()ä¿®æ£ -------------- //0719 by DRG -E‰ºˆÊƒXƒLƒ‹‚ª‚È‚¢ê‡‚ÍãˆÊƒXƒLƒ‹‚ª‚Ó‚ê‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B -@battle_athena.conf‚Ìskillflee‚ÅÝ’è‰Â”\‚Å‚·B -@‰ºˆÊƒXƒLƒ‹‚ª‚È‚¢‚Ü‚ÜãˆÊƒXƒLƒ‹‚ð‚Ó‚Á‚½ó‘Ô‚ÅA‚±‚̃IƒvƒVƒ‡ƒ“‚ðŽg‚¤ê‡‚̓XƒLƒ‹ƒŠƒZƒbƒg‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B -@ˆê”ʃAƒJ‚ɃXƒLƒ‹ƒŠƒZƒbƒg‚ð‰ð•ú‚µ‚½‚¢‚Æ‚«‚ÉŽg‚Á‚Ä‚â‚Á‚ĉº‚³‚¢B +・下ä½ã‚¹ã‚ルãŒãªã„å ´åˆã¯ä¸Šä½ã‚¹ã‚ルãŒãµã‚Œãªã„よã†ã«ã—ã¾ã—ãŸã€‚ + battle_athena.confã®skillfleeã§è¨å®šå¯èƒ½ã§ã™ã€‚ + 下ä½ã‚¹ã‚ルãŒãªã„ã¾ã¾ä¸Šä½ã‚¹ã‚ルをãµã£ãŸçŠ¶æ…‹ã§ã€ã“ã®ã‚ªãƒ—ションを使ã†å ´åˆã¯ã‚¹ã‚ルリセットã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + 一般アカã«ã‚¹ã‚ルリセットを解放ã—ãŸã„ã¨ãã«ä½¿ã£ã¦ã‚„ã£ã¦ä¸‹ã•ã„。 (conf/) battle_athena.conf (map/) battle.c battle.h - pc.c pc_calc_skilltree(),pc_checkskill()C³ + pc.c pc_calc_skilltree(),pc_checkskill()ä¿®æ£ -------------- -//0718 by Ž€_ +//0718 by æ»ç¥ž -EFX‚ÆC³B -E“Å‚É‚æ‚Á‚Ä–hŒä‚ªŒ¸‚é‚悤‚É•ÏXB(HP‚Í‚Ü‚¾Œ¸‚è‚Ü‚¹‚ñB) -EƒAƒCƒXƒEƒH[ƒ‹‚ÉUŒ‚‚Å‚«‚é‚悤‚É•ÏXB(¡‚Í‘S‚Ä‚ÌUŒ‚‚É“–‚½‚è‚Ü‚·B) -‚½‚¾ˆÆ‚̃oƒO‚炵‚ƒAƒCƒXƒEƒH[ƒ‹‚ðƒNƒŠƒbƒN‚·‚é‚ƈƂ©‚ç0x89ƒpƒPƒbƒg‚ª30‰ñˆÈã˜A‘±‚Å‘—‚Á‚Ä‚‚邱‚Æ‚ª‹N‚±‚è‚Ü‚·‚ªŒ´ˆö‚Í•s–¾‚Å‚·B‘½•ªˆÆ‚̃oƒO‚¾‚ÆŽv‚¢‚Ü‚·‚ª...) -E퓬‚ÉŠÖ‚í‚éŒvŽZ“™‚ðC³B -Eƒ[ƒj‚ª‘‚¦‚éƒoƒOC³B(‘½•ª‚±‚ê‚Å‚±‚̃oƒO‚Í‚È‚‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª‚Ç‚¤‚È‚Ì‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) -E“ñ“—¬‚̶Žè•Ší‚ÌŽí‘°A‘®«ASize‚̃_ƒ[ƒW•â³‚ð‰EŽè•Ší‚É“K—p‚·‚é‚©‚Ç‚¤‚©‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB -E‚»‚Ì‘¼C³‚Í‚µ‚½‚Í‚¸‚Å‚·‚ªŠo‚¦‚Ä‚Ü‚¹‚ñB(C³‚µ‚Ä‚È‚¢•¨‚à‚ ‚è‚Ü‚·‚ªdiff“–‚Ä‚Ì“r’†‚Å‚Ç‚ê‚ðì‹Æ‚µ‚½‚Ì‚©‚ð–Y‚ꂽ‚Ì‚Å...) +・色々ã¨ä¿®æ£ã€‚ +・毒ã«ã‚ˆã£ã¦é˜²å¾¡ãŒæ¸›ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(HPã¯ã¾ã 減りã¾ã›ã‚“。) +・アイスウォールã«æ”»æ’ƒã§ãるよã†ã«å¤‰æ›´ã€‚(今ã¯å…¨ã¦ã®æ”»æ’ƒã«å½“ãŸã‚Šã¾ã™ã€‚) +ãŸã éžã®ãƒã‚°ã‚‰ã—ãアイスウォールをクリックã™ã‚‹ã¨éžã‹ã‚‰0x89パケットãŒ30回以上連続ã§é€ã£ã¦ãã‚‹ã“ã¨ãŒèµ·ã“ã‚Šã¾ã™ãŒåŽŸå› ã¯ä¸æ˜Žã§ã™ã€‚多分éžã®ãƒã‚°ã ã¨æ€ã„ã¾ã™ãŒ...) +・戦闘ã«é–¢ã‚る計算ç‰ã‚’ä¿®æ£ã€‚ +・ゼニãŒå¢—ãˆã‚‹ãƒã‚°ä¿®æ£ã€‚(多分ã“ã‚Œã§ã“ã®ãƒã‚°ã¯ãªããªã‚‹ã¨æ€ã„ã¾ã™ãŒã©ã†ãªã®ã‹å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚) +・二刀æµã®å·¦æ‰‹æ¦å™¨ã®ç¨®æ—ã€å±žæ€§ã€Sizeã®ãƒ€ãƒ¡ãƒ¼ã‚¸è£œæ£ã‚’å³æ‰‹æ¦å™¨ã«é©ç”¨ã™ã‚‹ã‹ã©ã†ã‹ã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚ +・ãã®ä»–ä¿®æ£ã¯ã—ãŸã¯ãšã§ã™ãŒè¦šãˆã¦ã¾ã›ã‚“。(ä¿®æ£ã—ã¦ãªã„物もã‚ã‚Šã¾ã™ãŒdiff当ã¦ã®é€”ä¸ã§ã©ã‚Œã‚’作æ¥ã—ãŸã®ã‹ã‚’忘れãŸã®ã§...) (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_get_baseatk()Abattle_get_speed()Abattle_get_adelay() ’ljÁB - battle_get_amotion() Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_get_atk()Abattle_get_atk_()Abattle_get_atk2() C³B - battle_get_attack_element()Abattle_get_attack_element2() C³B - battle_get_str()Abattle_get_agi()Abattle_get_vit()Abattle_get_int() C³B - battle_get_dex()Abattle_get_luk()Abattle_get_flee() C³B - battle_get_flee2()Abattle_get_hit()Abattle_get_critical() C³B - battle_get_def()Abattle_get_def2()Abattle_get_mdef() C³B - battle_get_element()Abattle_check_target()Abattle_check_range() C³B - battle_weapon_attack()Abattle_config_read() C³B + battle_get_baseatk()ã€battle_get_speed()ã€battle_get_adelay() è¿½åŠ ã€‚ + battle_get_amotion() ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_get_atk()ã€battle_get_atk_()ã€battle_get_atk2() ä¿®æ£ã€‚ + battle_get_attack_element()ã€battle_get_attack_element2() ä¿®æ£ã€‚ + battle_get_str()ã€battle_get_agi()ã€battle_get_vit()ã€battle_get_int() ä¿®æ£ã€‚ + battle_get_dex()ã€battle_get_luk()ã€battle_get_flee() ä¿®æ£ã€‚ + battle_get_flee2()ã€battle_get_hit()ã€battle_get_critical() ä¿®æ£ã€‚ + battle_get_def()ã€battle_get_def2()ã€battle_get_mdef() ä¿®æ£ã€‚ + battle_get_element()ã€battle_check_target()ã€battle_check_range() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ clif.c - clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() C³B + clif_skill_estimation()ã€clif_mob0078()ã€clif_mob007b() ä¿®æ£ã€‚ pc.c - pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() C³B - pc_getzeny() C³B + pc_attack_timer()ã€pc_attack()ã€pc_calcstatus()ã€pc_payzeny() ä¿®æ£ã€‚ + pc_getzeny() ä¿®æ£ã€‚ npc.c - npc_buylist()Anpc_selllist() C³B + npc_buylist()ã€npc_selllist() ä¿®æ£ã€‚ pet.c - pet_attack()Apet_randomwalk()Apet_ai_sub_hard() C³B - mob.h C³B + pet_attack()ã€pet_randomwalk()ã€pet_ai_sub_hard() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - calc_next_walk_step()Amob_attack()Amobskill_castend_id() C³B - mobskill_use_id()Amobskill_use_pos()Amob_ai_sub_hard() C³B - mob_damage()Amob_changestate() C³B - mob_get_adelay()Amob_get_speed() íœB - skill.h C³B - skill.c - skill_unitsetting()Askill_unit_ondamaged()Askill_unit_timer_sub() C³B - skill_unit_timer()Askill_area_sub()Askill_unit_onplace() C³B - skill_status_change_start() C³B - chat.c C³B - makefile C³B - chrif.c C³B - guild.c C³B - itemdb.c C³B - map.c C³B - party.c C³B - script.c C³B - path.c C³B - --------------- -//0717 by ¹ - -E‘å—ʂɃ‚ƒ“ƒXƒ^[‚ð¢ŠÒ‚µ‚Ĉê“x‚É“|‚·‚Æmap-server‚ª—Ž‚¿‚é–â‘è‚ðC³B -@(ƒJƒz‚ð100‘Ì‚¸‚¢ŠÒ‚µ‚Ä50‰ñƒeƒXƒg‚ð‚µ‚½‚Ì‚Å‹°‚ç‚‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B) -E‚»‚Ì‘¼Œ‹\ׂ©‚¢C³ + calc_next_walk_step()ã€mob_attack()ã€mobskill_castend_id() ä¿®æ£ã€‚ + mobskill_use_id()ã€mobskill_use_pos()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ + mob_damage()ã€mob_changestate() ä¿®æ£ã€‚ + mob_get_adelay()ã€mob_get_speed() 削除。 + skill.h ä¿®æ£ã€‚ + skill.c + skill_unitsetting()ã€skill_unit_ondamaged()ã€skill_unit_timer_sub() ä¿®æ£ã€‚ + skill_unit_timer()ã€skill_area_sub()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ + chat.c ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ + chrif.c ä¿®æ£ã€‚ + guild.c ä¿®æ£ã€‚ + itemdb.c ä¿®æ£ã€‚ + map.c ä¿®æ£ã€‚ + party.c ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ + path.c ä¿®æ£ã€‚ + +-------------- +//0717 by è– + +・大é‡ã«ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’å¬é‚„ã—ã¦ä¸€åº¦ã«å€’ã™ã¨map-serverãŒè½ã¡ã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ + (カホを100体ãšã¤å¬é‚„ã—ã¦50回テストをã—ãŸã®ã§æらã大丈夫ã ã¨æ€ã„ã¾ã™ã€‚) +・ãã®ä»–çµæ§‹ç´°ã‹ã„ä¿®æ£ (common/) mmo.h (map/) @@ -7312,20 +7312,20 @@ void hoge() { skill.h -------------- -//0716 by ¹ +//0716 by è– -E¸˜B¬Œ÷—¦‚ɑ΂µ‚ÄBS‚Ì•ŠíŒ¤‹†‚ª³‚µ‚“K—p‚³‚ê‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B +・精錬æˆåŠŸçŽ‡ã«å¯¾ã—ã¦BSã®æ¦å™¨ç ”究ãŒæ£ã—ãé©ç”¨ã•ã‚Œã¦ã„ãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ (map/) pc.c - pc_percentrefinery() C³B + pc_percentrefinery() ä¿®æ£ã€‚ -------------- -//0715 by Ž€_ +//0715 by æ»ç¥ž -Eƒ}ƒbƒvƒT[ƒo[‚©‚ç•\Ž¦‚³‚ê‚镨‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Ìݒ肪‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½BƒXƒLƒ‹•\Ž¦‚¾‚¯‚Å‚à‚È‚‚µ‚Ä‚â‚é‚ƃT[ƒo[‚ª‚©‚È‚èŠy‚É‚È‚Á‚½‚è‚à‚µ‚Ü‚·B -ŠJ”‚âƒoƒOƒgƒŒ[ƒX‚ÌŽž‚Í•\Ž¦‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B -E‚»‚Ì‘¼×‚©‚¢C³B -EC³‚µ‚½Š‚ð‘S‚Ä‘‚¯‚È‚¢‚̂Ńtƒ@ƒCƒ‹‚¾‚¯B +・マップサーãƒãƒ¼ã‹ã‚‰è¡¨ç¤ºã•ã‚Œã‚‹ç‰©ã‚’表示ã™ã‚‹ã‹ã©ã†ã‹ã®è¨å®šãŒã§ãるよã†ã«ã—ã¾ã—ãŸã€‚スã‚ル表示ã ã‘ã§ã‚‚ãªãã—ã¦ã‚„ã‚‹ã¨ã‚µãƒ¼ãƒãƒ¼ãŒã‹ãªã‚Šæ¥½ã«ãªã£ãŸã‚Šã‚‚ã—ã¾ã™ã€‚ +開発やãƒã‚°ãƒˆãƒ¬ãƒ¼ã‚¹ã®æ™‚ã¯è¡¨ç¤ºã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ +・修æ£ã—ãŸæ‰€ã‚’å…¨ã¦æ›¸ã‘ãªã„ã®ã§ãƒ•ã‚¡ã‚¤ãƒ«ã ã‘。 (doc/) conf_ref.txt (conf/) @@ -7352,167 +7352,167 @@ void hoge() { map.c -------------- -//0714 by Ž€_ +//0714 by æ»ç¥ž -Eׂ©‚¢C³B -EƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“‚Å‚‚Ìd—ʂƸ˜B‚É‚æ‚Á‚ă_ƒ[ƒW‚ª‘‚¦‚é‚悤‚ÉC³B¸˜Bƒ_ƒ[ƒW‚ð‘«‚·Žž“K—p‚Ń_ƒ[ƒW+d—Ê+‚¸˜B*4(‚±‚Ì4‚Írefine_db.txt‚Ì–h‹ï‚̉ß踘Bƒ{[ƒiƒX‚ðŽg‚Á‚Ä‚é‚Ì‚Å•ÏX‰Â”\‚Å‚·B)‚É‚È‚è‚Ü‚·B -EƒXƒLƒ‹‚É‚æ‚é‚«”ò‚΂µˆ—‚Å0x88ƒpƒPƒbƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½‚ª‚»‚̃pƒPƒbƒg‚Ì—D懈ʂª‚©‚È‚è’á‚¢‚炵‚Œã‚Å—ˆ‚éƒpƒPƒbƒg‚É‚æ‚Á‚Ä–³Ž‹‚³‚ê‚邱‚Æ‚à‚ ‚é‚悤‚Ȃ̂ŃvƒŒƒCƒ„[‚¾‚¯‚É“K—p‚µ‚ă‚ƒ“ƒXƒ^[‚É‚Í0x78‚ðŽg‚¤‚悤‚É•ÏX‚µ‚Ü‚µ‚½B -‚Å‚àˆÊ’u‚¸‚ê‚ÍŠ®‘S‚É‚È‚‚È‚ç‚È‚¢‚悤‚Å‚·B(‹°‚炈Ƃ̃oƒO‚¾‚ÆŽv‚¢‚Ü‚·BŽI‚Ì -À•W‚ðŠm”F‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªŽI‚Ì•û‚Í–â‘肪‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B) -ƒvƒŒƒCƒ„[‚Ìê‡0x78(PACKETVER‚ª4ˆÈã‚È‚ç0x1d8)‚ªŽg‚¦‚Ü‚¹‚ñB•ªg‚ðì‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Å... -EƒoƒO•ñƒXƒŒƒbƒh2 ‚Ì47‚ðŽæ‚èž‚Ý‚Ü‚µ‚½B -E‚»‚Ì‘¼C³‚µ‚½Š‚µ‚ ‚èB +・細ã‹ã„ä¿®æ£ã€‚ +・シールドブーメランã§ç›¾ã®é‡é‡ã¨ç²¾éŒ¬ã«ã‚ˆã£ã¦ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒå¢—ãˆã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚精錬ダメージを足ã™æ™‚é©ç”¨ã§ãƒ€ãƒ¡ãƒ¼ã‚¸+é‡é‡+盾精錬*4(ã“ã®4ã¯refine_db.txtã®é˜²å…·ã®éŽå‰°ç²¾éŒ¬ãƒœãƒ¼ãƒŠã‚¹ã‚’使ã£ã¦ã‚‹ã®ã§å¤‰æ›´å¯èƒ½ã§ã™ã€‚)ã«ãªã‚Šã¾ã™ã€‚ +・スã‚ルã«ã‚ˆã‚‹å¹ã飛ã°ã—処ç†ã§0x88パケットを使ã£ã¦ã„ã¾ã—ãŸãŒãã®ãƒ‘ケットã®å„ªå…ˆé †ä½ãŒã‹ãªã‚Šä½Žã„らã—ã後ã§æ¥ã‚‹ãƒ‘ケットã«ã‚ˆã£ã¦ç„¡è¦–ã•ã‚Œã‚‹ã“ã¨ã‚‚ã‚るよã†ãªã®ã§ãƒ—レイヤーã ã‘ã«é©ç”¨ã—ã¦ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ã¯0x78を使ã†ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ +ã§ã‚‚ä½ç½®ãšã‚Œã¯å®Œå…¨ã«ãªããªã‚‰ãªã„よã†ã§ã™ã€‚(æらãéžã®ãƒã‚°ã ã¨æ€ã„ã¾ã™ã€‚鯖㮠+座標を確èªã—ã¦ã¿ã¾ã—ãŸãŒé¯–ã®æ–¹ã¯å•é¡ŒãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚) +プレイヤーã®å ´åˆ0x78(PACKETVERãŒ4以上ãªã‚‰0x1d8)ãŒä½¿ãˆã¾ã›ã‚“。分身を作ã£ã¦ã—ã¾ã†ã®ã§... +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰2 ã®47ã‚’å–ã‚Šè¾¼ã¿ã¾ã—ãŸã€‚ +・ãã®ä»–ä¿®æ£ã—ãŸæ‰€å°‘ã—ã‚り。 (db/) - refine_db.txt C³B - item_db.txt C³B + refine_db.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (map/) battle.c - battle_stopattack()Abattle_stopwalking() C³B - battle_get_attack_element2()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack() C³B + battle_stopattack()ã€battle_stopwalking() ä¿®æ£ã€‚ + battle_get_attack_element2()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack() ä¿®æ£ã€‚ path.c - path_blownpos() C³B - pc.h C³B + path_blownpos() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_stop_walking()Apc_damage() C³B - pc_getrefinebonus() ’ljÁB + pc_stop_walking()ã€pc_damage() ä¿®æ£ã€‚ + pc_getrefinebonus() è¿½åŠ ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ pet.c - pet_target_check()Apet_stop_walking()Apet_performance() C³B + pet_target_check()ã€pet_stop_walking()ã€pet_performance() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_blown()Askill_status_change_start() C³B - skill_castend_damage_id() C³B - makefile C³B + skill_attack()ã€skill_blown()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_castend_damage_id() ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ -------------- -//0713 by ‚Û‚Û‚Û +//0713 by ã½ã½ã½ -Emob_avail.txt’ljÁBitem_avail.txt‚Æ“¯—l‚ÌŽw’è‚Ń‚ƒ“ƒXƒ^[‚ÌŒ©‚½–ڂ𑼂ÌID‚Ì‚à‚Ì‚É•ÏX‚µ‚Ü‚·B -@ƒ‚ƒ“ƒXƒ^[‚ÌIDˆÈŠO‚ðŽw’肵‚½‚è‚·‚é‚ÆPC‚âNPC‚ÌŽp‚ð‚µ‚½MOB‚Ɉê•û“I‚ÉUŒ‚‚³‚ê‚éꇂª‚ ‚é‚Ì‚Å’ˆÓB +・mob_avail.txtè¿½åŠ ã€‚item_avail.txtã¨åŒæ§˜ã®æŒ‡å®šã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®è¦‹ãŸç›®ã‚’ä»–ã®IDã®ã‚‚ã®ã«å¤‰æ›´ã—ã¾ã™ã€‚ + モンスターã®ID以外を指定ã—ãŸã‚Šã™ã‚‹ã¨PCã‚„NPCã®å§¿ã‚’ã—ãŸMOBã«ä¸€æ–¹çš„ã«æ”»æ’ƒã•ã‚Œã‚‹å ´åˆãŒã‚ã‚‹ã®ã§æ³¨æ„。 (db/) - mob_avail.txt ’ljÁB + mob_avail.txt è¿½åŠ ã€‚ (map/) clif.c - clif_mob0078()Aclif_mob007b() C³B - mob.h C³B + clif_mob0078()ã€clif_mob007b() ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_readdb_mobavail()Amob_get_viewclass()’ljÁB - do_init_mob()Amob_readdb() C³B + mob_readdb_mobavail()ã€mob_get_viewclass()è¿½åŠ ã€‚ + do_init_mob()ã€mob_readdb() ä¿®æ£ã€‚ -------------- -//0712 by Ž€_ +//0712 by æ»ç¥ž -EƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ŽÀ‘•B -EƒI[ƒgƒK[ƒh‚Í‚Æ‚è‚ ‚¦‚¸ƒGƒtƒFƒNƒg‚ªo‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B -E0708‚Å‘‚«–Y‚êBƒfƒBƒtƒFƒ“ƒ_[‚ðŽg‚Á‚½ŽžASPD‚ƈړ®‘¬“x‚Í20%’ቺ‚µ‚Ü‚·B -–{ŽI‚Œቺ‚·‚é‚Ì‚ÍŠm‚©‚̂悤‚Å‚·‚ª‚Ç‚ê‚®‚ç‚¢‰º‚ª‚é‚Ì‚©‚Í‚³‚Á‚Ï‚è‚í‚©‚è‚Ü‚ñ‚Ì‚Å... -E‚»‚Ì‘¼×‚©‚¢C³B +・シールドãƒãƒ£ãƒ¼ã‚¸ã€ã‚·ãƒ¼ãƒ«ãƒ‰ãƒ–ーメラン実装。 +・オートガードã¯ã¨ã‚Šã‚ãˆãšã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ +・0708ã§æ›¸ã忘れ。ディフェンダーを使ã£ãŸæ™‚ASPDã¨ç§»å‹•é€Ÿåº¦ã¯20%低下ã—ã¾ã™ã€‚ +本鯖ã§ä½Žä¸‹ã™ã‚‹ã®ã¯ç¢ºã‹ã®ã‚ˆã†ã§ã™ãŒã©ã‚Œãらã„下ãŒã‚‹ã®ã‹ã¯ã•ã£ã±ã‚Šã‚ã‹ã‚Šã¾ã‚“ã®ã§... +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - skill_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + battle_calc_damage()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_calc_misc_attack() ä¿®æ£ã€‚ skill.c - skill_additional_effect()Askill_attack()Askill_castend_nodamage_id() C³B - skill_check_condition()Askill_status_change_start() C³B - skill_castend_damage_id() C³B - pc.h C³B + skill_additional_effect()ã€skill_attack()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_status_change_start() ä¿®æ£ã€‚ + skill_castend_damage_id() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() C³B + pc_calcstatus()ã€pc_checkallowskill()ã€pc_unequipitem() ä¿®æ£ã€‚ -------------- //0711 by npc -Ezλ‘¢ƒGƒtƒFƒNƒg‚ÌC³ -EƒXƒNƒŠƒvƒg–„‚ßž‚Ý•Ï”‚ÉHp,MaxHp,Sp,MaxSp‚ð’ljÁ(“Ç‚Ýž‚Ý‚Ì‚Ý) +ãƒ»é‰±çŸ³è£½é€ ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã®ä¿®æ£ +・スクリプト埋ã‚è¾¼ã¿å¤‰æ•°ã«Hp,MaxHp,Sp,MaxSpã‚’è¿½åŠ (èªã¿è¾¼ã¿ã®ã¿) (map/) skill.c - skill_produce_mix()C³B + skill_produce_mix()ä¿®æ£ã€‚ pc.c - pc_readparam()C³B + pc_readparam()ä¿®æ£ã€‚ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ -------------- -//0710 by ŒÓ’±—– +//0710 by 胡è¶è˜ -E–¼‘O‚É”¼ŠpƒXƒy[ƒX‚ª“ü‚Á‚½ƒp[ƒeƒB[‚ð쬂µ‚½‚Æ‚«A‚¨‚æ‚ÑA - ”¼ŠpƒXƒy[ƒX‚ª“ü‚Á‚½–¼‘O‚ÌPC‚ðƒp[ƒeƒBƒƒ“ƒo‚É‚µ‚½‚Æ‚«A - party.txt‚ª³‚µ‚“Ç‚Ýž‚ß‚È‚‚È‚é–â‘è‚ðC³ +・åå‰ã«åŠè§’スペースãŒå…¥ã£ãŸãƒ‘ーティーを作æˆã—ãŸã¨ãã€ãŠã‚ˆã³ã€ + åŠè§’スペースãŒå…¥ã£ãŸåå‰ã®PCをパーティメンãƒã«ã—ãŸã¨ã〠+ party.txtãŒæ£ã—ãèªã¿è¾¼ã‚ãªããªã‚‹å•é¡Œã‚’ä¿®æ£ (char/) int_party.c - inter_party_fromstr()C³ - -EMessage of the Day ‹@”\’ljÁ - EƒƒOƒCƒ“‚µ‚½ƒ†[ƒU[‚ÉMOTD‚ð•\Ž¦‚³‚¹‚邱‚Æ‚ªo—ˆ‚Ü‚·B - Emap-server.exeŽÀsŽž‚̃JƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠihelp.txt‚Æ“¯‚¶ - ƒfƒBƒŒƒNƒgƒŠj‚Émotd.txt‚ðì‚é‚Æ•\Ž¦‚µ‚Ü‚·B - EMOTD‚ª•\Ž¦‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ÍA - uƒ}ƒbƒvƒT[ƒo[‚ɃƒOƒCƒ“‚µ‚½’¼Œã‚ÌAƒ}ƒbƒvƒ[ƒhŠ®—¹Žžv‚Å‚·B - ‚‚܂èAƒƒOƒCƒ“’¼ŒãAƒLƒƒƒ‰ƒZƒŒ’¼Œã‚¨‚æ‚ÑA - ƒ}ƒbƒvƒT[ƒo[ŠÔˆÚ“®‚ÌŽž(ƒ}ƒbƒvƒT[ƒo[‚Ì•ªŽU‚ðs‚Á‚Ä‚¢‚éꇂ̂Ý) - ‚̃}ƒbƒvƒ[ƒh‚ªI‚í‚Á‚½Žž‚É•\Ž¦‚³‚ê‚Ü‚·B - E•\Ž¦•û–@‚Íhelp.txt‚Æ“¯‚¶‚Å•’ʂ̃ƒbƒZ[ƒW‚Æ‚µ‚Ä‘—M‚µ‚Ü‚·B - iƒMƒ‹ƒh’mƒƒbƒZ[ƒW‚Í•¶Žš”§ŒÀ‚ª‚ ‚èAGMƒAƒiƒEƒ“ƒX‚Í’·ŽžŠÔ - ‰æ–Ê‚Ìã•”‚É•\Ž¦‚³‚ê‚Ä‚µ‚Ü‚¤‚½‚ßj - E‰ï˜b‚Æ‹æ•Ê‚ª‚‚‚悤‚ÉA"< Message of the Day >"A"< End of MOTD >" - ‚Ì•¶‚Å㉺‚ðˆÍ‚¢‚Ü‚·B + inter_party_fromstr()ä¿®æ£ + +・Message of the Day æ©Ÿèƒ½è¿½åŠ + ・ãƒã‚°ã‚¤ãƒ³ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«MOTDを表示ã•ã›ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ + ・map-server.exe実行時ã®ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªï¼ˆhelp.txtã¨åŒã˜ + ディレクトリ)ã«motd.txtを作るã¨è¡¨ç¤ºã—ã¾ã™ã€‚ + ・MOTDãŒè¡¨ç¤ºã•ã‚Œã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã¯ã€ + 「マップサーãƒãƒ¼ã«ãƒã‚°ã‚¤ãƒ³ã—ãŸç›´å¾Œã®ã€ãƒžãƒƒãƒ—ãƒãƒ¼ãƒ‰å®Œäº†æ™‚ã€ã§ã™ã€‚ + ã¤ã¾ã‚Šã€ãƒã‚°ã‚¤ãƒ³ç›´å¾Œã€ã‚ャラセレ直後ãŠã‚ˆã³ã€ + マップサーãƒãƒ¼é–“移動ã®æ™‚(マップサーãƒãƒ¼ã®åˆ†æ•£ã‚’è¡Œã£ã¦ã„ã‚‹å ´åˆã®ã¿) + ã®ãƒžãƒƒãƒ—ãƒãƒ¼ãƒ‰ãŒçµ‚ã‚ã£ãŸæ™‚ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ + ・表示方法ã¯help.txtã¨åŒã˜ã§æ™®é€šã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨ã—ã¦é€ä¿¡ã—ã¾ã™ã€‚ + (ギルド告知メッセージã¯æ–‡å—数制é™ãŒã‚ã‚Šã€GMアナウンスã¯é•·æ™‚é–“ + ç”»é¢ã®ä¸Šéƒ¨ã«è¡¨ç¤ºã•ã‚Œã¦ã—ã¾ã†ãŸã‚) + ・会話ã¨åŒºåˆ¥ãŒã¤ãよã†ã«ã€"< Message of the Day >"ã€"< End of MOTD >" + ã®æ–‡ã§ä¸Šä¸‹ã‚’囲ã„ã¾ã™ã€‚ (map/) pc.c - pc_authok()C³ + pc_authok()ä¿®æ£ -------------- -//0709 by ‚Û‚Û‚Û +//0709 by ã½ã½ã½ -EƒXƒNƒŠƒvƒg‚Éemotion’ljÁ -@emotion n;‚ÆŽg‚¤‚ÆNPC‚ªƒGƒ‚‚ðo‚µ‚Ü‚·Bn‚Í0`33‚ªŽg—p‰Â”\B -E¸˜B‚ÆŠXƒKƒCƒh‚ÌNPC‚ð–{ŽI‚̑䎌‚ɇ‚킹‚ÄC³B +・スクリプトã«emotionè¿½åŠ + emotion n;ã¨ä½¿ã†ã¨NPCãŒã‚¨ãƒ¢ã‚’出ã—ã¾ã™ã€‚nã¯0〜33ãŒä½¿ç”¨å¯èƒ½ã€‚ +・精錬ã¨è¡—ガイドã®NPCを本鯖ã®å°è©žã«åˆã‚ã›ã¦ä¿®æ£ã€‚ (conf/) - npc_town_refine.txtAnpc_town_guide.txt C³B + npc_town_refine.txtã€npc_town_guide.txt ä¿®æ£ã€‚ (map/) script.c - buildin_emotion() ’ljÁB + buildin_emotion() è¿½åŠ ã€‚ -------------- -//0708 by Ž€_ +//0708 by æ»ç¥ž -EƒXƒLƒ‹ƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹AƒfƒBƒtƒFƒ“ƒ_[AƒI[ƒgƒK[ƒhŽÀ‘•B -EƒI[ƒgƒK[ƒh‚ÌꇃK[ƒh‚µ‚Ä‚àƒGƒtƒFƒNƒg‚Ío‚Ü‚¹‚ñBƒ~ƒX‚ɂȂ邾‚¯‚Å‚·B–{ŽI‚Ì•û‚Í•\Ž¦‚³‚ê‚é‚©‚Ç‚¤‚©‚à‚í‚©‚ç‚È‚¢‚µƒpƒPƒbƒgî•ñ‚à‚È‚¢‚Ì‚Å... -EƒfƒBƒtƒFƒ“ƒ_[‚Í–¢ƒeƒXƒgBbLongAtkDef‚ðŽg‚Á‚Ä‚é‚̂Ńzƒ‹ƒ“ƒJ[ƒh‚̂悤‚ÉbLongAtkDef‚ðã‚°‚镨‚ð‘•”õ‚µ‚ÄŽg‚¤‚Ɖ“‹——£•¨—UŒ‚‚ð‘S‚Ä–³Œø‚É‚Å‚«‚Ü‚·B(‚±‚ê‚à–{ŽI‚ÌŽd—l‚ª‚Ç‚¤‚È‚Ì‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB) -E‚»‚Ì‘¼×‚©‚¢C³B +・スã‚ルã‚ャストã‚ャンセルã€ãƒ‡ã‚£ãƒ•ã‚§ãƒ³ãƒ€ãƒ¼ã€ã‚ªãƒ¼ãƒˆã‚¬ãƒ¼ãƒ‰å®Ÿè£…。 +・オートガードã®å ´åˆã‚¬ãƒ¼ãƒ‰ã—ã¦ã‚‚エフェクトã¯å‡ºã¾ã›ã‚“。ミスã«ãªã‚‹ã ã‘ã§ã™ã€‚本鯖ã®æ–¹ã¯è¡¨ç¤ºã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚‚ã‚ã‹ã‚‰ãªã„ã—ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±ã‚‚ãªã„ã®ã§... +・ディフェンダーã¯æœªãƒ†ã‚¹ãƒˆã€‚bLongAtkDefを使ã£ã¦ã‚‹ã®ã§ãƒ›ãƒ«ãƒ³ã‚«ãƒ¼ãƒ‰ã®ã‚ˆã†ã«bLongAtkDefを上ã’る物を装備ã—ã¦ä½¿ã†ã¨é è·é›¢ç‰©ç†æ”»æ’ƒã‚’å…¨ã¦ç„¡åŠ¹ã«ã§ãã¾ã™ã€‚(ã“れも本鯖ã®ä»•æ§˜ãŒã©ã†ãªã®ã‹ã¯ã‚ã‹ã‚Šã¾ã›ã‚“。) +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (db/) - cast_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B - skill.h C³B + map_quit() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id()Askill_use_id()Askill_check_condition() C³B - skill_castend_id()Askill_castend_nodamage_id()Askill_castcancel() C³B + skill_castend_nodamage_id()ã€skill_use_id()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_castend_nodamage_id()ã€skill_castcancel() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_setpos()Apc_damage() C³B + pc_calcstatus()ã€pc_setpos()ã€pc_damage() ä¿®æ£ã€‚ battle.c - battle_calc_damage()Abattle_damage() C³B + battle_calc_damage()ã€battle_damage() ä¿®æ£ã€‚ clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ itemdb.c - itemdb_searchrandomid() C³B + itemdb_searchrandomid() ä¿®æ£ã€‚ -------------- -//0707 by Ž€_ +//0707 by æ»ç¥ž -E0705‚̈¢C—…”e–PŒ‚̃oƒOC³B +・0705ã®é˜¿ä¿®ç¾…覇鳳拳ã®ãƒã‚°ä¿®æ£ã€‚ (db/) skill_db.txt (map/) @@ -7526,533 +7526,533 @@ void hoge() { -------------- //0706 by kalen -EC³ +ãƒ»ä¿®æ£ conf/npc_warp_umbala.txt -------------- -//0705 by Ž€_ +//0705 by æ»ç¥ž -EFX‚ÆC³B -EƒvƒŒƒCƒ„[‚̃NƒŠƒeƒBƒJƒ‹ŒvŽZ‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ÅC³B -E”š—ô”g“®‚̈—C³B -Eƒ‚ƒ“ƒN‚̃Rƒ“ƒ{‚ðC³B -Eˆ¢C—…”e–PŒ‚ÌŽg—p‚É‚æ‚Á‚ă}ƒbƒvŽI‚Ì–³ŒÀƒ‹[ƒvƒoƒOC³B(‚±‚ê‚©‚È‚è’v–½“I‚È•¨‚¾‚Á‚½‚悤‚Å‚·B) -EƒRƒ“ƒ{‚ÅŽg‚¤ˆ¢C—…”e–PŒ‚Í“G‚ðƒNƒŠƒbƒN‚·‚é•K—v‚ª‚È‚¢‚悤‚ÉC³B -E–Ò—´Œ‚Å“G‚ð‚«”ò‚΂·‹——£‚ð5ƒZƒ‹‚É•ÏXB‚æ‚Á‚ăRƒ“ƒ{‚ÅŽg‚¤ˆ¢C—…”e–PŒ‚Í‹——£ƒ`ƒFƒbƒN‚ð‚µ‚Ü‚¹‚ñB5ƒZƒ‹”ò‚΂³‚ꂽ“G‚͈¢C—…”e–PŒ‚ÌŽË’ö‚©‚ç—£‚ꂽ‚킯‚È‚Ì‚Å‹——£ƒ`ƒFƒbƒN‚È‚µ‚Å”“®‚µ‚Ü‚·B(–{ŽI‚ÌŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñB) -Eƒ}ƒbƒv‚Ì–¼‘O‚ð16byte‚©‚ç24bytes‚É•ÏXB(‘債‚½ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ªˆÀ‘S‚ׂ̈̕¨‚Å‚·B) -EƒEƒFƒfƒBƒ“ƒOƒLƒƒƒ‰‚É‚æ‚éˆÆ—Ž‚¿‚ð–h‚®ˆ×‚ÉC³B -E‚»‚Ì‘¼‚µC³B(ƒeƒXƒg‚Í–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñB) +・色々ã¨ä¿®æ£ã€‚ +・プレイヤーã®ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«è¨ˆç®—ã«ãƒã‚°ãŒã‚ã£ãŸã®ã§ä¿®æ£ã€‚ +・爆裂波動ã®å‡¦ç†ä¿®æ£ã€‚ +・モンクã®ã‚³ãƒ³ãƒœã‚’ä¿®æ£ã€‚ +・阿修羅覇鳳拳ã®ä½¿ç”¨ã«ã‚ˆã£ã¦ãƒžãƒƒãƒ—鯖ã®ç„¡é™ãƒ«ãƒ¼ãƒ—ãƒã‚°ä¿®æ£ã€‚(ã“ã‚Œã‹ãªã‚Šè‡´å‘½çš„ãªç‰©ã ã£ãŸã‚ˆã†ã§ã™ã€‚) +・コンボã§ä½¿ã†é˜¿ä¿®ç¾…覇鳳拳ã¯æ•µã‚’クリックã™ã‚‹å¿…è¦ãŒãªã„よã†ã«ä¿®æ£ã€‚ +・猛é¾æ‹³ã§æ•µã‚’å¹ã飛ã°ã™è·é›¢ã‚’5セルã«å¤‰æ›´ã€‚よã£ã¦ã‚³ãƒ³ãƒœã§ä½¿ã†é˜¿ä¿®ç¾…覇鳳拳ã¯è·é›¢ãƒã‚§ãƒƒã‚¯ã‚’ã—ã¾ã›ã‚“。5セル飛ã°ã•ã‚ŒãŸæ•µã¯é˜¿ä¿®ç¾…覇鳳拳ã®å°„程ã‹ã‚‰é›¢ã‚ŒãŸã‚ã‘ãªã®ã§è·é›¢ãƒã‚§ãƒƒã‚¯ãªã—ã§ç™ºå‹•ã—ã¾ã™ã€‚(本鯖ã®ä»•æ§˜ãªã‚“ã¦çŸ¥ã‚Šã¾ã›ã‚“。) +・マップã®åå‰ã‚’16byteã‹ã‚‰24bytesã«å¤‰æ›´ã€‚(大ã—ãŸæ„味ã¯ã‚ã‚Šã¾ã›ã‚“ãŒå®‰å…¨ã®ç‚ºã®ç‰©ã§ã™ã€‚) +・ウェディングã‚ャラã«ã‚ˆã‚‹éžè½ã¡ã‚’防ã為ã«ä¿®æ£ã€‚ +・ãã®ä»–å°‘ã—ä¿®æ£ã€‚(テストã¯æ®†ã‚“ã©ã—ã¦ã¾ã›ã‚“。) (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (map/) - battle.h C³B + battle.h ä¿®æ£ã€‚ battle.c - battle_get_flee2()Abattle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_weapon_attack()Abattle_calc_magic_attack() C³B - battle_config_read() C³B - skill.h C³B - skill.c - skill_status_change_start()Askill_castend_damage_id() C³B - skill_check_condition()Askill_use_id()Askill_blown() C³B - skill_castend_map()Askill_unit_onlimit()Askill_attack() C³B - pc.c - pc_attack_timer()Apc_setpos()Apc_setsavepoint() C³B - pc_movepos()Apc_calcstatus()Apc_bonus() C³B - clif.h C³B + battle_get_flee2()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c + skill_status_change_start()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_use_id()ã€skill_blown() ä¿®æ£ã€‚ + skill_castend_map()ã€skill_unit_onlimit()ã€skill_attack() ä¿®æ£ã€‚ + pc.c + pc_attack_timer()ã€pc_setpos()ã€pc_setsavepoint() ä¿®æ£ã€‚ + pc_movepos()ã€pc_calcstatus()ã€pc_bonus() ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_set0078()Aclif_set007b() C³B - clif_updatestatus()Aclif_initialstatus()Aclif_parse_UseSkillToId() C³B - clif_skillinfo() ’ljÁB - map.h C³B + clif_set0078()ã€clif_set007b() ä¿®æ£ã€‚ + clif_updatestatus()ã€clif_initialstatus()ã€clif_parse_UseSkillToId() ä¿®æ£ã€‚ + clif_skillinfo() è¿½åŠ ã€‚ + map.h ä¿®æ£ã€‚ map.c - map_setipport()Amap_addmap() C³B - ‚»‚Ì‘¼”²‚¯‚½Š‚µ‚ ‚èB + map_setipport()ã€map_addmap() ä¿®æ£ã€‚ + ãã®ä»–抜ã‘ãŸæ‰€å°‘ã—ã‚り。 -------------------- //0704 by kalen -EUmbala Warp’ljÁ +・Umbala Warpè¿½åŠ conf/npc_warp_umbala.txt -------------------- -//0703 by ‚¢‚Ç +//0703 by ã„ã© -EƒT[ƒo[snapshot +・サーãƒãƒ¼snapshot -------------- -//0702 by ‚Û‚Û‚Û +//0702 by ã½ã½ã½ -Eƒtƒ@[ƒ}ƒV[‚̃GƒtƒFƒNƒg‚ð–{—ˆ‚Ì‚à‚Ì‚É•ÏX -EƒXƒNƒŠƒvƒg‚Å‚Ì–„‚ßž‚Ý•Ï”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’ljÁ +・ファーマシーã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’本æ¥ã®ã‚‚ã®ã«å¤‰æ›´ +・スクリプトã§ã®åŸ‹ã‚è¾¼ã¿å¤‰æ•°ã«BaseExp,JobExp,NextBaseExp,NextJobExpè¿½åŠ (map/) skill.c - skill_produce_mix() C³B + skill_produce_mix() ä¿®æ£ã€‚ pc.c - pc_readparam()Apc_setparam() C³B + pc_readparam()ã€pc_setparam() ä¿®æ£ã€‚ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ -------------- -//0701 by ‚Ò‚´‚Ü‚ñ +//0701 by ã´ã–ã¾ã‚“ -EƒXƒe[ƒ^ƒXˆÙí”»•ÊŽ®“±“üBŠeƒXƒe[ƒ^ƒXˆÙí‚Ì”“®—¦‚ªVIT/INT/MDEF‚ɉe‹¿‚·‚é‚悤‚É‚È‚è‚Ü‚·BŽ‘±ŽžŠÔ’Zk‚Í‚Ü‚½¡“x‚Å_|P|› -E•sŽ€‚É“€Œ‹‚ªŒø‚¢‚½ƒoƒOC³B +・ステータス異常判別å¼å°Žå…¥ã€‚å„ステータス異常ã®ç™ºå‹•çŽ‡ãŒVIT/INT/MDEFã«å½±éŸ¿ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚æŒç¶šæ™‚é–“çŸç¸®ã¯ã¾ãŸä»Šåº¦ã§_|ï¿£|â—‹ +・ä¸æ»ã«å‡çµãŒåŠ¹ã„ãŸãƒã‚°ä¿®æ£ã€‚ (map/) skill.c - skill_additional_effect()Askill_castend_nodamage_id() C³B + skill_additional_effect()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ -------------- -//0700 by “ì +//0700 by å— -E697‚̃oƒOC³B -@@@@(db/) +・697ã®ãƒã‚°ä¿®æ£ã€‚ +    (db/) mob_db.txt -------------- -//0699 by Ž€_ +//0699 by æ»ç¥ž -E‘•”õ‚̃{[ƒiƒXƒNƒŠƒeƒBƒJƒ‹‚ÍŽ©•ª‚̊ԈႢ‚¾‚Á‚½‚Ì‚ÅbCriticalRate‚ðbCritical‚É•ÏXB‚»‚ê‚Æ0695‚Å‘‚«–Y‚ê‚Å‚·‚ªASPD‚ðã‚°‚éƒJ[ƒh‚â‘•”õ‚̈ꕔ‚ðbAspdAddRate‚©‚çbAspdRate‚É•ÏX‚µ‚Ü‚µ‚½B‚Ý‚·‚Ƃꑃ‚̃Vƒ~ƒ…ƒŒ[ƒ^[‚É‚æ‚é‚ƃhƒbƒyƒ‹ƒJ[ƒh‚Í•¡”‚Å‚àˆê‚‚µ‚©“K—p‚³‚ê‚È‚¢‚Ý‚½‚¢‚¾‚Á‚½‚Ì‚ÅB +・装備ã®ãƒœãƒ¼ãƒŠã‚¹ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«ã¯è‡ªåˆ†ã®é–“é•ã„ã ã£ãŸã®ã§bCriticalRateã‚’bCriticalã«å¤‰æ›´ã€‚ãã‚Œã¨0695ã§æ›¸ã忘れã§ã™ãŒASPDを上ã’るカードや装備ã®ä¸€éƒ¨ã‚’bAspdAddRateã‹ã‚‰bAspdRateã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ã¿ã™ã¨ã‚Œå·£ã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚¿ãƒ¼ã«ã‚ˆã‚‹ã¨ãƒ‰ãƒƒãƒšãƒ«ã‚«ãƒ¼ãƒ‰ã¯è¤‡æ•°ã§ã‚‚一ã¤ã—ã‹é©ç”¨ã•ã‚Œãªã„ã¿ãŸã„ã ã£ãŸã®ã§ã€‚ (db/) item_db.txt -------------- -//0698 by Ž€_ +//0698 by æ»ç¥ž -Eˆê•”‚̃Lƒƒƒ‰‚Éd—Ê‚ª‚O‚É‚È‚Á‚ăJƒvƒ‰‚Ȃlj½‚à‚o‚bC‚m‚b‚o‚ª•\Ž¦‚³‚ê‚È‚‚È‚éƒoƒOC³B(‚»‚ꂾ‚¯) +・一部ã®ã‚ャラã«é‡é‡ãŒï¼ã«ãªã£ã¦ã‚«ãƒ—ラãªã©ä½•ã‚‚PC,NCPãŒè¡¨ç¤ºã•ã‚Œãªããªã‚‹ãƒã‚°ä¿®æ£ã€‚(ãã‚Œã ã‘) (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (map/) clif.c - clif_updatestatus() C³B + clif_updatestatus() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ -------------- -//0697 by “ì +//0697 by å— -Emob_dbC³ -@ƒhƒƒbƒv‚ð’†S‚ÉC³B -@@@@(db/) +・mob_dbä¿®æ£ + ドãƒãƒƒãƒ—ã‚’ä¸å¿ƒã«ä¿®æ£ã€‚ +    (db/) mob_db.txt -------------- -//0696 by Ž€_ +//0696 by æ»ç¥ž -EƒoƒOC³B -EƒeƒŒƒ|[ƒg‚âƒ[ƒv“™‚ÌŽžƒXƒLƒ‹ƒ†ƒjƒbƒg‚©‚甲‚¯‚鈗‚ª“ü‚Á‚Ä -‚È‚©‚Á‚½‚Ì‚ÅSAFETYWALL“™‚É‚æ‚Á‚ÄŽI—Ž‚¿‚ª‹N‚±‚Á‚½‚悤‚Å‚·B(Šm‚©•ñ‚à -‚ ‚Á‚½‚ÆŽv‚¢‚Ü‚·‚ª...) ‚æ‚Á‚ÄC³‚Í‚µ‚Ü‚µ‚½‚ªŠm”F‚Í‚µ‚Ä‚Ü‚¹‚ñB•ñ‚ð -‚¨Šè‚¢‚µ‚Ü‚·B -EƒXƒLƒ‹‚É‚æ‚é‚«”ò‚΂µˆ—‚ð‚¿‚å‚Á‚ÆC³‚ƃ‚ƒ“ƒXƒ^[‚̃R[ƒh‚ð‚µC³B -‘½•ª•Ï‚É‚È‚Á‚½‚±‚Æ‚Í‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ª•Ï‚¾‚Á‚½‚ç•ñ‚µ‚Ä‚‚¾‚³‚¢B -E‚»‚Ì‘¼×‚©‚¢C³B +・ãƒã‚°ä¿®æ£ã€‚ +・テレãƒãƒ¼ãƒˆã‚„ワープç‰ã®æ™‚スã‚ルユニットã‹ã‚‰æŠœã‘る処ç†ãŒå…¥ã£ã¦ +ãªã‹ã£ãŸã®ã§SAFETYWALLç‰ã«ã‚ˆã£ã¦é¯–è½ã¡ãŒèµ·ã“ã£ãŸã‚ˆã†ã§ã™ã€‚(確ã‹å ±å‘Šã‚‚ +ã‚ã£ãŸã¨æ€ã„ã¾ã™ãŒ...) よã£ã¦ä¿®æ£ã¯ã—ã¾ã—ãŸãŒç¢ºèªã¯ã—ã¦ã¾ã›ã‚“ã€‚å ±å‘Šã‚’ +ãŠé¡˜ã„ã—ã¾ã™ã€‚ +・スã‚ルã«ã‚ˆã‚‹å¹ã飛ã°ã—処ç†ã‚’ã¡ã‚‡ã£ã¨ä¿®æ£ã¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ã‚³ãƒ¼ãƒ‰ã‚’å°‘ã—ä¿®æ£ã€‚ +多分変ã«ãªã£ãŸã“ã¨ã¯ãªã„ã¨æ€ã„ã¾ã™ãŒå¤‰ã ã£ãŸã‚‰å ±å‘Šã—ã¦ãã ã•ã„。 +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (map/) - skill.h C³B + skill.h ä¿®æ£ã€‚ skill.c - skill_blown()Askill_attack()Askill_unit_move() C³B - skill_castend_nodamage_id()Askill_castend_damage_id() C³B - skill_unit_out_all()Askill_unit_out_all_sub() ’ljÁB + skill_blown()ã€skill_attack()ã€skill_unit_move() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_unit_out_all()ã€skill_unit_out_all_sub() è¿½åŠ ã€‚ mob.c - mob_stop_walking()Amob_spawn()Amob_warp() C³B - mob_can_move()Amob_changestate() C³B - map.h C³B + mob_stop_walking()ã€mob_spawn()ã€mob_warp() ä¿®æ£ã€‚ + mob_can_move()ã€mob_changestate() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ pc.c - pc_setpos() C³B + pc_setpos() ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack() C³B - --------------- -//0695 by Ž€_ - -E‚µC³B -EƒvƒŒƒCƒ„[‚ÌŠî–{ƒpƒ‰ƒ[ƒ^‚ð2byte‚ÉŠg’£B -Eitem_db.txt‚ðƒ‰ƒOƒiƒQ[ƒg‚Ìà–¾‚ɇ‚킹‚ÄC³B -EbAddEff‚ÆbResEff‚ÌŠm—¦‚ð•S•ª—¦‚©‚ç–œ•ª—¦‚É•ÏXB -EƒXƒNƒŠƒvƒgstatusup‚Æstatusup2’ljÁB -statusup bStr; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚µ‚Ä -Šî–{ƒpƒ‰ƒ[ƒ^‚ð1ã‚°‚éB -statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É -Šî–{ƒpƒ‰ƒ[ƒ^‚ðnã‚°‚éB -E‚»‚Ì‘¼×‚©‚¢C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + +-------------- +//0695 by æ»ç¥ž + +・少ã—ä¿®æ£ã€‚ +・プレイヤーã®åŸºæœ¬ãƒ‘ラメータを2byteã«æ‹¡å¼µã€‚ +・item_db.txtをラグナゲートã®èª¬æ˜Žã«åˆã‚ã›ã¦ä¿®æ£ã€‚ +・bAddEffã¨bResEffã®ç¢ºçŽ‡ã‚’百分率ã‹ã‚‰ä¸‡åˆ†çŽ‡ã«å¤‰æ›´ã€‚ +・スクリプトstatusupã¨statusup2è¿½åŠ ã€‚ +statusup bStr; ã®ã‚ˆã†ã«ä½¿ã£ã¦æ©Ÿèƒ½ã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒã‚¤ãƒ³ãƒˆã‚’減らã—㦠+基本パラメータを1上ã’る。 +statusup2 bInt,n; ã®ã‚ˆã†ã«ä½¿ã£ã¦æ©Ÿèƒ½ã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒã‚¤ãƒ³ãƒˆã‚’減らã•ãšã« +基本パラメータをn上ã’る。 +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - item_db.txt C³B - const.txt C³B + item_db.txt ä¿®æ£ã€‚ + const.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B - conf_ref.txt C³B + item_bonus.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (char/) char.c - mmo_char_send006b()Aparse_char() C³B + mmo_char_send006b()ã€parse_char() ä¿®æ£ã€‚ (map/) - map.h C³B - clif.h C³B + map.h ä¿®æ£ã€‚ + clif.h ä¿®æ£ã€‚ clif.c - clif_initialstatus()Aclif_updatestatus() C³B - pc.h C³B + clif_initialstatus()ã€clif_updatestatus() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_bonus()Apc_calcstatus()Apc_equippoint()Apc_equipitem() C³B - pc_jobchange()Apc_checkbaselevelup()Apc_statusup() C³B - pc_statusup2() ’ljÁB - battle.h C³B + pc_bonus()ã€pc_calcstatus()ã€pc_equippoint()ã€pc_equipitem() ä¿®æ£ã€‚ + pc_jobchange()ã€pc_checkbaselevelup()ã€pc_statusup() ä¿®æ£ã€‚ + pc_statusup2() è¿½åŠ ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_config_read() C³B + battle_calc_pet_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pc_weapon_attack()ã€battle_config_read() ä¿®æ£ã€‚ skill.c - skill_additional_effect()Askill_status_change_start() C³B + skill_additional_effect()ã€skill_status_change_start() ä¿®æ£ã€‚ script.c - buildin_statusup()Abuildin_statusup2() ’ljÁB - atcommnad.c C³B + buildin_statusup()ã€buildin_statusup2() è¿½åŠ ã€‚ + atcommnad.c ä¿®æ£ã€‚ -------------- -//0694 by Ž€_ +//0694 by æ»ç¥ž -EƒoƒOC³‚Æׂ©‚¢C³B -EbCriticalRate‚ª³‚µ‚“K—p‚³‚ê‚È‚©‚Á‚½–â‘èC³B -Eƒyƒbƒg‚É‚æ‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX’ljÁBƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚Í‘•”õ‚Ì -ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Äݒ肵‚Ü‚·B‚½‚¾ƒyƒbƒg‚É‚æ‚éƒ{[ƒiƒX‚̓J[ƒh‚É‚æ‚镨‚Æ“¯‚¶ˆµ‚¢‚ð‚µ‚Ü‚·B‚»‚µ‚Ä‘®«‚Ì“K—p‚͈ê”Ô—D懈ʒႢ‚Å‚·B¡‚͉½‚à“ü‚Á‚Ä‚Ü‚¹‚ñ‚ª... +・ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・bCriticalRateãŒæ£ã—ãé©ç”¨ã•ã‚Œãªã‹ã£ãŸå•é¡Œä¿®æ£ã€‚ +・ペットã«ã‚ˆã‚‹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒœãƒ¼ãƒŠã‚¹è¿½åŠ 。ステータスボーナスã¯è£…備㮠+スクリプトã«ã‚ˆã£ã¦è¨å®šã—ã¾ã™ã€‚ãŸã ペットã«ã‚ˆã‚‹ãƒœãƒ¼ãƒŠã‚¹ã¯ã‚«ãƒ¼ãƒ‰ã«ã‚ˆã‚‹ç‰©ã¨åŒã˜æ‰±ã„ã‚’ã—ã¾ã™ã€‚ãã—ã¦å±žæ€§ã®é©ç”¨ã¯ä¸€ç•ªå„ªå…ˆé †ä½ä½Žã„ã§ã™ã€‚今ã¯ä½•ã‚‚å…¥ã£ã¦ã¾ã›ã‚“ãŒ... (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - const.txt C³B - pet_db.txt C³B + const.txt ä¿®æ£ã€‚ + pet_db.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B - conf_ref.txt C³B - db_ref.txt C³B + item_bonus.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ + db_ref.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B - battle.h C³B + map_quit() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B - battle_config_read() C³B + battle_calc_pc_weapon_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_calc_misc_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() C³B - pc_damage()Apc_autosave_sub() C³B - pet.h C³B + pc_calcstatus()ã€pc_bonus()ã€pc_setpos()ã€pc_authok() ä¿®æ£ã€‚ + pc_damage()ã€pc_autosave_sub() ä¿®æ£ã€‚ + pet.h ä¿®æ£ã€‚ pet.c - pet_hungry()Apet_birth_process()Apet_recv_petdata()Apet_food() C³B - pet_return_egg()Apet_ai_sub_hard()Aread_petdb() C³B + pet_hungry()ã€pet_birth_process()ã€pet_recv_petdata()ã€pet_food() ä¿®æ£ã€‚ + pet_return_egg()ã€pet_ai_sub_hard()ã€read_petdb() ä¿®æ£ã€‚ clif.c - clif_sendegg()Aclif_parse_LoadEndAck() C³B - atcommand.c C³B - makefile C³B + clif_sendegg()ã€clif_parse_LoadEndAck() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ -------------- -//0693 by ŒÓ’±—– +//0693 by 胡è¶è˜ -ESC_*‚Ì—ñ‹“•\‚ðƒŠƒiƒ“ƒoƒŠƒ“ƒO - ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ê’m‚·‚é‚Ì‚ð64–¢–ž‚©‚ç128–¢–ž‚É‘‚₵‚½ - ƒpƒPƒbƒgî•ñ‚ɇ‚¤‚悤‚ɃŠƒiƒ“ƒo[ - StatusChange‚Ì”z—ñ‚ð128‚©‚ç192‚É‘‚₵‚½‚̂Ńƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚Ü‚·B +・SC_*ã®åˆ—挙表をリナンãƒãƒªãƒ³ã‚° + クライアントã«é€šçŸ¥ã™ã‚‹ã®ã‚’64未満ã‹ã‚‰128未満ã«å¢—ã‚„ã—㟠+ ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±ã«åˆã†ã‚ˆã†ã«ãƒªãƒŠãƒ³ãƒãƒ¼ + StatusChangeã®é…列を128ã‹ã‚‰192ã«å¢—ã‚„ã—ãŸã®ã§ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡ãŒå¢—ãˆã¾ã™ã€‚ (db/) const.txt - SC_* ‚Ì”’l‚ð•ÏX + SC_* ã®æ•°å€¤ã‚’変更 (map/) skill.h - SC_* ‚Ì—ñ‹“‚Ì”’l‚ð•ÏX + SC_* ã®åˆ—挙ã®æ•°å€¤ã‚’変更 map.h - MAX_STATUSCHANGE‚ð128‚©‚ç192‚É‘‚₵‚½ + MAX_STATUSCHANGEã‚’128ã‹ã‚‰192ã«å¢—ã‚„ã—㟠skill.c skill_status_change_start(),skill_status_change_end(), - skill_status_change_clear()‚Ì’Ê’mˆ—‚ð•ÏX + skill_status_change_clear()ã®é€šçŸ¥å‡¦ç†ã‚’変更 -E‰‰‘t/ƒ_ƒ“ƒX‚̈—‚ð•ÏX - ‰‰‘t/ƒ_ƒ“ƒX’†‚©‚Ç‚¤‚©‚ðSC_DANCING‚Å”»’è‚·‚é‚悤‚É•ÏX - i”»’舗‚ª‘½‚‘¬‰»‚³‚ꂽ‚Í‚¸j - ƒ[ƒv(ƒ}ƒbƒvˆÚ“®‚┈‚È‚Ç)‚·‚é‚Ɖ‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚·‚é‚悤‚É•ÏX +・演å¥/ダンスã®å‡¦ç†ã‚’変更 + æ¼”å¥/ダンスä¸ã‹ã©ã†ã‹ã‚’SC_DANCINGã§åˆ¤å®šã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + (判定処ç†ãŒå¤šå°‘高速化ã•ã‚ŒãŸã¯ãšï¼‰ + ワープ(マップ移動やè¿ãªã©)ã™ã‚‹ã¨æ¼”å¥/ダンスをä¸æ–ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ skill.h/skill.c - skill_check_dancing()íœAskill_stop_dancing()’ljÁ - skill_delunitgroup(),skill_initunitgroup()•ÏX - skill_status_change_start()•ÏX - skill_castend_nodamage_id()•ÏX - ‘‚«‘¹‚¶‚ª‚ ‚é‚©‚àEE + skill_check_dancing()削除ã€skill_stop_dancing()è¿½åŠ + skill_delunitgroup(),skill_initunitgroup()変更 + skill_status_change_start()変更 + skill_castend_nodamage_id()変更 + 書ãæã˜ãŒã‚ã‚‹ã‹ã‚‚・・ pc.c - pc_calcstatus(),pc_setpos(),pc_damage()•ÏX + pc_calcstatus(),pc_setpos(),pc_damage()変更 -E•s‹¦˜a‰¹ƒXƒLƒ‹‚ÌC³ +・ä¸å”和音スã‚ルã®ä¿®æ£ (db/) skill_db.txt - •s‹¦˜a‰¹ƒXƒLƒ‹‚ÌHIT”C³ + ä¸å”和音スã‚ルã®HITæ•°ä¿®æ£ (map/) skill.c - skill_status_change_timer()•ÏX + skill_status_change_timer()変更 battle.c - battle_calc_misc_attack()C³ + battle_calc_misc_attack()ä¿®æ£ -------------- -//0692 by ŒÓ’±—– +//0692 by 胡è¶è˜ -EƒAƒhƒŠƒuƒXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢–â‘èC³iskill_db‚Ì“Y•t‚µ–Y‚êj +・アドリブスã‚ルãŒä½¿ç”¨ã§ããªã„å•é¡Œä¿®æ£ï¼ˆskill_dbã®æ·»ä»˜ã—忘れ) (db/) skill_db.txt - ƒAƒhƒŠƒu‚ÌÁ”ïSP‚ð1‚ÉC³ + アドリブã®æ¶ˆè²»SPã‚’1ã«ä¿®æ£ -Emob_db2.txt‚ª‚ ‚ê‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É - ƒIƒŠƒWƒiƒ‹mob‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB +・mob_db2.txtãŒã‚ã‚Œã°mob_db.txtã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã‚ˆã†ã« + オリジナルmobを作ã£ã¦ã‚‹äººã¯ä½¿ã†ã¨ä¾¿åˆ©ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 mob.c mob_readdb() -EŽI—Ž‚¿ƒoƒO•ñŽž‚Ì‚½‚߂̃Xƒ^ƒbƒNƒoƒbƒNƒgƒŒ[ƒXƒƒOŠ“¾•û–@‚ðЉî - ŽI—Ž‚¿ƒoƒO‚Ì•ñŽž‚ÉA‚±‚Ìî•ñ‚ðƒRƒsƒy‚·‚é‚ÆŠJ”ŽÒ‚ªŠì‚Ñ‚Ü‚·B - Cygwin‚Åcore‚Ì“f‚©‚¹‚é•û–@‚àЉ‚Ä‚Ü‚·B +・鯖è½ã¡ãƒã‚°å ±å‘Šæ™‚ã®ãŸã‚ã®ã‚¹ã‚¿ãƒƒã‚¯ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ãƒã‚°æ‰€å¾—方法を紹介 + 鯖è½ã¡ãƒã‚°ã®å ±å‘Šæ™‚ã«ã€ã“ã®æƒ…å ±ã‚’ã‚³ãƒ”ãƒšã™ã‚‹ã¨é–‹ç™ºè€…ãŒå–œã³ã¾ã™ã€‚ + Cygwinã§coreã®åã‹ã›ã‚‹æ–¹æ³•ã‚‚紹介ã—ã¦ã¾ã™ã€‚ (doc/) coredump_report.txt -------------- -//0691 by ŒÓ’±—– +//0691 by 胡è¶è˜ -Eitem_db2.txt‚ª‚ ‚ê‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É - ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB +・item_db2.txtãŒã‚ã‚Œã°item_db.txtã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã‚ˆã†ã« + オリジナルアイテムを作ã£ã¦ã‚‹äººã¯ä½¿ã†ã¨ä¾¿åˆ©ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 itemdb.c - itemdb_readdb()C³ - -E‰‰‘t/ƒ_ƒ“ƒXŒnƒXƒLƒ‹‰¼ŽÀ‘• - E‰‰‘t/ƒ_ƒ“ƒX’†‚͈ړ®‚ª’x‚AƒXƒLƒ‹‚àŽg‚¦‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ - EƒAƒhƒŠƒuƒXƒLƒ‹‚ʼn‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E‰‰‘t/ƒ_ƒ“ƒX‚ÍΉ»‚Ȃǂ̈ÙíAMHP‚Ì1/4ˆÈã‚̃_ƒ[ƒW‚Å’†’f‚µ‚Ü‚· - EƒLƒƒƒ‰ƒNƒ^[ƒOƒ‰ƒtƒBƒbƒN‚͉‰‘t/ƒ_ƒ“ƒX‚µ‚Ü‚¹‚ñ - E‰‰‘t/ƒ_ƒ“ƒX’†‚ÌSPÁ”ï‚Í–¢ŽÀ‘•‚Å‚· - EˆÚ“®‚µ‚Ä‚àŒø‰Ê”͈͂͂‚¢‚Ä‚«‚Ü‚¹‚ñ - Ed•¡‚µ‚Ä‚à•s‹¦˜a‰¹‚Ȃǂɕω»‚µ‚Ü‚¹‚ñ - EƒGƒtƒFƒNƒg‚ªo‚Ä‚àŒø‰Ê‚Í–¢ŽÀ‘•‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚· - E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒg‚È‚Ì‚Å‘½”‚Ì•s“s‡‚ª‚ ‚é‚ÆŽv‚¢‚Ü‚· + itemdb_readdb()ä¿®æ£ + +・演å¥/ダンス系スã‚ル仮実装 + ・演å¥/ダンスä¸ã¯ç§»å‹•ãŒé…ãã€ã‚¹ã‚ルも使ãˆãªã„よã†ã«ãªã‚Šã¾ã—㟠+ ・アドリブスã‚ルã§æ¼”å¥/ダンスをä¸æ–ã§ãるよã†ã«ãªã‚Šã¾ã—㟠+ ・演å¥/ダンスã¯çŸ³åŒ–ãªã©ã®ç•°å¸¸ã€MHPã®1/4以上ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã§ä¸æ–ã—ã¾ã™ + ・ã‚ャラクターグラフィックã¯æ¼”å¥/ダンスã—ã¾ã›ã‚“ + ・演å¥/ダンスä¸ã®SP消費ã¯æœªå®Ÿè£…ã§ã™ + ・移動ã—ã¦ã‚‚効果範囲ã¯ã¤ã„ã¦ãã¾ã›ã‚“ + ・é‡è¤‡ã—ã¦ã‚‚ä¸å”和音ãªã©ã«å¤‰åŒ–ã—ã¾ã›ã‚“ + ・エフェクトãŒå‡ºã¦ã‚‚効果ã¯æœªå®Ÿè£…ã®ã‚‚ã®ãŒã‚ã‚Šã¾ã™ + ・ã»ã¨ã‚“ã©æœªãƒ†ã‚¹ãƒˆãªã®ã§å¤šæ•°ã®ä¸éƒ½åˆãŒã‚ã‚‹ã¨æ€ã„ã¾ã™ skill.h - SC_* ‚Ì—ñ‹“•\‚ðC³ + SC_* ã®åˆ—æŒ™è¡¨ã‚’ä¿®æ£ skill.c - skill_check_dancing()’ljÁ - SkillStatusChangeTable[]C³ + skill_check_dancing()è¿½åŠ + SkillStatusChangeTable[]ä¿®æ£ skill_unit_onout(), skill_status_change_start(), skill_status_change_timer(),skill_unitsetting(), skill_castend_id(),skill_castend_pos(),skill_castend_map(), - skill_castend_nodamage_id()C³ - ‚»‚Ì‘¼‚Í–Y‚ê‚Ü‚µ‚½ + skill_castend_nodamage_id()ä¿®æ£ + ãã®ä»–ã¯å¿˜ã‚Œã¾ã—㟠pc.c - pc_calcstatus(),pc_damage()C³ + pc_calcstatus(),pc_damage()ä¿®æ£ -------------- -//0690 by ”g˜Q +//0690 by 波浪 -Eׂ©‚¢C³ +・細ã‹ã„ä¿®æ£ (db/) - item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ìbonus‚ðC³B + item_db.txt éŒã¨ãƒ¡ã‚®ãƒ³ã‚®ãƒ§ãƒ«ãƒ‰ã®bonusã‚’ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ -------------- -//0689 by Ž€_ +//0689 by æ»ç¥ž -E‘qŒÉƒoƒOC³‚Æׂ©‚¢C³B +・倉庫ãƒã‚°ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ (map/) pc.c - pc_modifybuyvalue()Apc_modifysellvalue() C³B + pc_modifybuyvalue()ã€pc_modifysellvalue() ä¿®æ£ã€‚ storage.c - storage_storageopen() C³B - storage_storage_quit()Astorage_storage_save() C³B + storage_storageopen() ä¿®æ£ã€‚ + storage_storage_quit()ã€storage_storage_save() ä¿®æ£ã€‚ -------------- -//0688 by ¹ +//0688 by è– -EƒfƒBƒXƒJƒEƒ“ƒgAƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ª“K—p‚³‚ê‚È‚©‚Á‚½–â‘è‚ðC³B +・ディスカウントã€ã‚³ãƒ パルションディスカウントã€ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ãŒé©ç”¨ã•ã‚Œãªã‹ã£ãŸå•é¡Œã‚’ä¿®æ£ã€‚ (map/) pc.c - pc_modifybuyvalue() C³B - pc_modifysellvalue() C³B + pc_modifybuyvalue() ä¿®æ£ã€‚ + pc_modifysellvalue() ä¿®æ£ã€‚ -------------- -//0687 by Ž€_ +//0687 by æ»ç¥ž -E‚µC³B -Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) -Eitem_avail.txt‚̈—‚ð•ÏXBƒAƒCƒeƒ€ID‚ÌŒã‚É0‚ð“ü‚ê‚é‚Æ¡‚Ü‚Å’Ê‚è‚ÉŽg—p•s‰Â”\‚ɂȂ邪0ˆÈŠO‚Ì”’l‚ð“ü‚ê‚é‚ÆŽg—p•s‰Â”\‚Å‚Í‚È‚‚»‚Ì”’l‚ðƒAƒCƒeƒ€‚ÌID‚Æ‚µ‚ÄŒ©‚½–Ú‚¾‚¯‚ð‚»‚ê‚É•ÏX‚µ‚Ü‚·B‚æ‚Á‚ĈƗŽ‚¿ƒAƒCƒeƒ€‚ð•Ê‚Ì•¨‚É•\Ž¦‚µ‚ĈƗŽ‚¿‚ð–h‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B(•\Ž¦‚¾‚¯•Ï‚¦‚ÄŽI‚̈—‚Í–{“–‚̃AƒCƒeƒ€ID‚Ì•¨‚Æ‚µ‚Ä”FŽ¯‚µ‚Ü‚·BC³‚Í‘S‚Ä‚µ‚½‚ÆŽv‚¢‚Ü‚·‚ª”²‚¯‚½Š‚ª‚ ‚é‚©‚à’m‚è‚Ü‚¹‚Ì‚ÅŒ©‚½–Ú•ÏX‚µ‚½ƒAƒCƒeƒ€‚ňƗŽ‚¿‚ª‹N‚±‚Á‚½‚ç•ñ‚µ‚Ä‚‚¾‚³‚¢B) ŽI‚̈—‚Í‚±‚ꂪŒÀŠE‚Å‚·B(‚È‚‚Æ‚àŽ©•ª‚É‚Í) ƒAƒCƒeƒ€‚ª“¯‚¶•¨‚ª“ñ‚•\Ž¦‚³‚ê‚ĊԈႢˆÀ‚¢‚Æ‚©‚Ç‚¤‚±‚¤‚Æ‚©‚Ì•¶‹å‚ðŒ¾‚¢‚½‚¢l‚͈Æì‚ê‚æBˆÈãB -EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚̃Rƒ}ƒ“ƒgƒAƒEƒg‰ðœBitem_avail.txt‚Å—‘‚ðƒ‹ƒr[‚ƃAƒNƒAƒ}ƒŠƒ“‚Å•\Ž¦‚µ‚ĕߊlƒAƒCƒeƒ€‚à‘¼‚Ì•¨‚É•\Ž¦‚·‚é‚悤‚É•ÏX‚µ‚Ä‚¢‚Ü‚·B -Eƒ_ƒ[ƒWŒvŽZ‚̃oƒOC³B(‘債‚½•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª‹|‚¾‚¯‚¿‚å‚Á‚Æ–â‘肪‚ ‚Á‚½‚悤‚Å‚·B) -E” “™‚̃AƒCƒeƒ€‚Å“¾‚½‘•”õ•i‚Í–¢ŠÓ’è‚É‚È‚é‚悤‚É•ÏXB -E‘•”õƒ{[ƒiƒX‚Ì“à•”ˆ—C³‚Æ‚µ•ÏXB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) -EƒLƒƒƒ‰ŽI‚Ƀe[ƒ^‚𑗂鎞ƒLƒƒƒ‰A‘qŒÉAƒyƒbƒg‚̃e[ƒ^‚𓯎ž‚É‘—‚é‚悤‚É•ÏXB(ƒLƒƒƒ‰ŽI‚ƃ}ƒbƒvŽI‚ÌŠÔ‚Ì“]‘——Ê‚ª‘‚¦‚é‚©‚à’m‚è‚ê‚Ü‚¹‚ñ‚ªƒf[ƒ^‚𓯊ú‰»‚ׂ̈ł·B) -EFW‚Ì“®ìŠÔŠu‚ð0.25•b‚©‚ç0.1•b‚É•ÏXB(‚±‚ê‚Å ‚蔲‚Í‚µŒ¸‚é‚Í‚¸‚Å‚·B) -EƒJ[ƒgƒŒƒ{ƒŠƒ…ƒVƒ‡ƒ“‚Å‚Ç‚ñ‚Èó‘ÔˆÙí‚à‚©‚©‚ç‚È‚¢‚悤‚É•ÏXB +・少ã—ä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚(詳ã—ã„ã“ã¨ã¯conf_ref.txtã§) +・item_avail.txtã®å‡¦ç†ã‚’変更。アイテムIDã®å¾Œã«0を入れるã¨ä»Šã¾ã§é€šã‚Šã«ä½¿ç”¨ä¸å¯èƒ½ã«ãªã‚‹ãŒ0以外ã®æ•°å€¤ã‚’入れるã¨ä½¿ç”¨ä¸å¯èƒ½ã§ã¯ãªããã®æ•°å€¤ã‚’アイテムã®IDã¨ã—ã¦è¦‹ãŸç›®ã ã‘ã‚’ãã‚Œã«å¤‰æ›´ã—ã¾ã™ã€‚よã£ã¦éžè½ã¡ã‚¢ã‚¤ãƒ†ãƒ を別ã®ç‰©ã«è¡¨ç¤ºã—ã¦éžè½ã¡ã‚’防ãã“ã¨ãŒã§ãã¾ã™ã€‚(表示ã ã‘変ãˆã¦é¯–ã®å‡¦ç†ã¯æœ¬å½“ã®ã‚¢ã‚¤ãƒ†ãƒ IDã®ç‰©ã¨ã—ã¦èªè˜ã—ã¾ã™ã€‚ä¿®æ£ã¯å…¨ã¦ã—ãŸã¨æ€ã„ã¾ã™ãŒæŠœã‘ãŸæ‰€ãŒã‚ã‚‹ã‹ã‚‚知りã¾ã›ã®ã§è¦‹ãŸç›®å¤‰æ›´ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã§éžè½ã¡ãŒèµ·ã“ã£ãŸã‚‰å ±å‘Šã—ã¦ãã ã•ã„。) 鯖ã®å‡¦ç†ã¯ã“ã‚ŒãŒé™ç•Œã§ã™ã€‚(å°‘ãªãã¨ã‚‚自分ã«ã¯) アイテムãŒåŒã˜ç‰©ãŒäºŒã¤è¡¨ç¤ºã•ã‚Œã¦é–“é•ã„安ã„ã¨ã‹ã©ã†ã“ã†ã¨ã‹ã®æ–‡å¥ã‚’言ã„ãŸã„人ã¯éžä½œã‚Œã‚ˆã€‚以上。 +・ジルタスã¨ã‚¢ãƒªã‚¹ã®ã‚³ãƒžãƒ³ãƒˆã‚¢ã‚¦ãƒˆè§£é™¤ã€‚item_avail.txtã§åµã‚’ルビーã¨ã‚¢ã‚¯ã‚¢ãƒžãƒªãƒ³ã§è¡¨ç¤ºã—ã¦æ•ç²ã‚¢ã‚¤ãƒ†ãƒ ã‚‚ä»–ã®ç‰©ã«è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¦ã„ã¾ã™ã€‚ +・ダメージ計算ã®ãƒã‚°ä¿®æ£ã€‚(大ã—ãŸç‰©ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“ãŒå¼“ã ã‘ã¡ã‚‡ã£ã¨å•é¡ŒãŒã‚ã£ãŸã‚ˆã†ã§ã™ã€‚) +・é’ç®±ç‰ã®ã‚¢ã‚¤ãƒ†ãƒ ã§å¾—ãŸè£…å‚™å“ã¯æœªé‘‘定ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・装備ボーナスã®å†…部処ç†ä¿®æ£ã¨å°‘ã—変更。(詳ã—ã„ã“ã¨ã¯item_bonus.txtã§) +・ã‚ャラ鯖ã«ãƒ†ãƒ¼ã‚¿ã‚’é€ã‚‹æ™‚ã‚ャラã€å€‰åº«ã€ãƒšãƒƒãƒˆã®ãƒ†ãƒ¼ã‚¿ã‚’åŒæ™‚ã«é€ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(ã‚ャラ鯖ã¨ãƒžãƒƒãƒ—鯖ã®é–“ã®è»¢é€é‡ãŒå¢—ãˆã‚‹ã‹ã‚‚知りれã¾ã›ã‚“ãŒãƒ‡ãƒ¼ã‚¿ã‚’åŒæœŸåŒ–ã®ç‚ºã§ã™ã€‚) +・FWã®å‹•ä½œé–“隔を0.25秒ã‹ã‚‰0.1秒ã«å¤‰æ›´ã€‚(ã“ã‚Œã§æ‘ºã‚ŠæŠœã¯å°‘ã—減るã¯ãšã§ã™ã€‚) +・カートレボリュションã§ã©ã‚“ãªçŠ¶æ…‹ç•°å¸¸ã‚‚ã‹ã‹ã‚‰ãªã„よã†ã«å¤‰æ›´ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - const.txt C³B - item_avail.txt C³B - pet_db.txt C³B + const.txt ä¿®æ£ã€‚ + item_avail.txt ä¿®æ£ã€‚ + pet_db.txt ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B - battle.h C³B + map_quit() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() C³B - battle_get_dmotion()Abattle_config_read() C³B + battle_calc_pc_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_get_dmotion()ã€battle_config_read() ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus()Apc_bonus3()Apc_setpos() C³B - pc_makesavestatus()Apc_autosave_sub()Apc_modifybuyvalue() C³B - pc_modifysellvalue()Apc_stop_walking() C³B + pc_calcstatus()ã€pc_bonus()ã€pc_bonus3()ã€pc_setpos() ä¿®æ£ã€‚ + pc_makesavestatus()ã€pc_autosave_sub()ã€pc_modifybuyvalue() ä¿®æ£ã€‚ + pc_modifysellvalue()ã€pc_stop_walking() ä¿®æ£ã€‚ skill.c - skill_additional_effect()Askill_unitsetting() C³B + skill_additional_effect()ã€skill_unitsetting() ä¿®æ£ã€‚ clif.c - clif_buylist()Aclif_selllist()Aclif_set009e()Aclif_set0078() C³B - clif_set007b()Aclif_additem()Aclif_itemlist()Aclif_equiplist() C³B - clif_storageitemlist()Aclif_storageequiplist()Aclif_changelook() C³B - clif_arrow_create_list()Aclif_useitemack()Aclif_tradeadditem() C³B - clif_storageitemadded()Aclif_getareachar_item() C³B - clif_skill_produce_mix_list()Aclif_cart_additem()Aclif_cart_itemlist() C³B - clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() C³B - clif_produceeffect()Aclif_sendegg()Aclif_pet_equip()Aclif_mvp_item() C³B - clif_pet0078()Aclif_pet007b() C³B - itemdb.h C³B + clif_buylist()ã€clif_selllist()ã€clif_set009e()ã€clif_set0078() ä¿®æ£ã€‚ + clif_set007b()ã€clif_additem()ã€clif_itemlist()ã€clif_equiplist() ä¿®æ£ã€‚ + clif_storageitemlist()ã€clif_storageequiplist()ã€clif_changelook() ä¿®æ£ã€‚ + clif_arrow_create_list()ã€clif_useitemack()ã€clif_tradeadditem() ä¿®æ£ã€‚ + clif_storageitemadded()ã€clif_getareachar_item() ä¿®æ£ã€‚ + clif_skill_produce_mix_list()ã€clif_cart_additem()ã€clif_cart_itemlist() ä¿®æ£ã€‚ + clif_cart_equiplist()ã€clif_vendinglist()ã€clif_openvending() ä¿®æ£ã€‚ + clif_produceeffect()ã€clif_sendegg()ã€clif_pet_equip()ã€clif_mvp_item() ä¿®æ£ã€‚ + clif_pet0078()ã€clif_pet007b() ä¿®æ£ã€‚ + itemdb.h ä¿®æ£ã€‚ itemdb.c - itemdb_searchrandomid()Aitemdb_search()Aitemdb_readdb() C³B - itemdb_read_itemavail()Aitemdb_read_itemvaluedb() C³B - itemdb_equippoint() íœB - storage.h C³B + itemdb_searchrandomid()ã€itemdb_search()ã€itemdb_readdb() ä¿®æ£ã€‚ + itemdb_read_itemavail()ã€itemdb_read_itemvaluedb() ä¿®æ£ã€‚ + itemdb_equippoint() 削除。 + storage.h ä¿®æ£ã€‚ storage.c - storage_storage_quitsave() ->storage_storage_quit()‚É•ÏX‚ÆC³B - storage_storageclose() C³B - atcommand.c C³B + storage_storage_quitsave() ->storage_storage_quit()ã«å¤‰æ›´ã¨ä¿®æ£ã€‚ + storage_storageclose() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ pet.c - pet_change_name()Apet_equipitem()Apet_unequipitem() C³B - pet_birth_process()Apet_return_egg() C³B + pet_change_name()ã€pet_equipitem()ã€pet_unequipitem() ä¿®æ£ã€‚ + pet_birth_process()ã€pet_return_egg() ä¿®æ£ã€‚ script.c - buildin_getitem() C³B + buildin_getitem() ä¿®æ£ã€‚ mob.c - mob_stop_walking() C³B - makefile C³B + mob_stop_walking() ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ -------------- -//0686 by ¹ +//0686 by è– -Eׂ©‚¢C³B +・細ã‹ã„ä¿®æ£ã€‚ (map/) - pc.h C³B + pc.h ä¿®æ£ã€‚ -------------- -//0685 by ”g˜Q +//0685 by 波浪 -E0683A0684‚Å‚Ìbonus‚̒ljÁ‚É‚Æ‚à‚È‚Á‚Äitem_db.txt‚ðC³ -E‘¼FXC³ +・0683ã€0684ã§ã®bonusã®è¿½åŠ ã«ã¨ã‚‚ãªã£ã¦item_db.txtã‚’ä¿®æ£ +ãƒ»ä»–è‰²ã€…ä¿®æ£ (db/) - item_db.txt C³B + item_db.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ -------------- -//0684 by Ž€_ +//0684 by æ»ç¥ž -Eׂ©‚¢C³B -EŽ€‚ñ‚¾‚Ó‚è‚ÌŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ªŽg‚¦‚È‚¢‚悤‚É•ÏXB -EbInfiniteEndure’ljÁB‹@”\‚Í–³ŒÀƒCƒ“ƒfƒ…ƒAB -Eƒ_ƒ[ƒW•\Ž¦‚̈—‚µ•ÏXB +・細ã‹ã„ä¿®æ£ã€‚ +・æ»ã‚“ã ãµã‚Šã®æ™‚スã‚ルã¨ã‚¢ã‚¤ãƒ†ãƒ ãŒä½¿ãˆãªã„よã†ã«å¤‰æ›´ã€‚ +・bInfiniteEndureè¿½åŠ ã€‚æ©Ÿèƒ½ã¯ç„¡é™ã‚¤ãƒ³ãƒ‡ãƒ¥ã‚¢ã€‚ +・ダメージ表示ã®å‡¦ç†å°‘ã—変更。 (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B - pc_equipitem()Apc_unequipitem() C³B + pc_calcstatus() ä¿®æ£ã€‚ + pc_equipitem()ã€pc_unequipitem() ä¿®æ£ã€‚ clif.c - clif_parse_UseItem()Aclif_parse_UseSkillToId() C³B - clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() C³B - clif_damage()Aclif_skill_damage()Aclif_skill_damage2() C³B - clif_parse_LoadEndAck() C³B + clif_parse_UseItem()ã€clif_parse_UseSkillToId() ä¿®æ£ã€‚ + clif_parse_UseSkillToPos()ã€clif_parse_UseSkillMap() ä¿®æ£ã€‚ + clif_damage()ã€clif_skill_damage()ã€clif_skill_damage2() ä¿®æ£ã€‚ + clif_parse_LoadEndAck() ä¿®æ£ã€‚ skill.c - skill_status_change_timer() C³B + skill_status_change_timer() ä¿®æ£ã€‚ -------------- -//0683 by Ž€_ +//0683 by æ»ç¥ž -EƒoƒOC³‚Æbonus’ljÁB -E‘qŒÉƒoƒOA‘®«ƒoƒOC³‚Æ‚»‚Ì‘¼‚̃oƒOC³B -EƒXƒNƒŠƒvƒgbonus3’ljÁB¡‚ÍbAddMonsterDropItem‚¾‚¯‚ª‘Ήž‚É‚È‚Á‚Ä‚¢‚Ü‚·B -Ebonus bRestartFullRecover;n;“™‚Ån‚Í–³ˆÓ–¡‚¾‚¯‚ÇÁ‚·‚Ì‚Í‚¿‚å‚Á‚Æ‚Ü‚¸‚¢‚Å‚·‚Ì‚Å0‚É‚µ‚Ä“ü‚ꂽ•û‚ª‚¢‚¢‚Å‚·Bbonus‚Í2‚‚̔’l‚ª•K—v‚ȃXƒNƒŠƒvƒg‚È‚Ì‚ÅB -EbDefRatioAtk‚ð–hŒä–³Ž‹‚É•ÏXB -E0677‚Å‘‚«–Y‚êB -E•Ší‚Ì‘®«“K—p—D懈ʂ𻑢>ƒJ[ƒh>•Ší‚É•ÏXB»‘¢‚ªÅ—Dæ‚Å‚·B(‘®«‚ª‚ ‚鎞‚ɘb‚Å‚·B‘®«‚ª‚È‚¢ê‡‘®«‚ ‚镨‚Éã‘‚«‚³‚ꂽ‚è‚Í‚µ‚Ü‚¹‚ñB) -E‘•”õ‚Å“K—p‚³‚ê‚éŒø‰Ê‚Ì—D懈ʂð‰EŽè>¶Žè>‘Ì>“ªã>“ª’†>“ª‰º>ƒ[ƒu>ŒC>ƒAƒNƒZƒTƒŠ[1>ƒAƒNƒZƒTƒŠ[2>–î‚ÉÝ’èB(–{ŽIŽd—l‚ª‚Ç‚¤‚È‚Ì‚©•ª‚©‚邱‚Æ‚ª‚Å‚«‚»‚¤‚È•¨‚Å‚à‚È‚¢‚̂ŃAƒeƒi‚ÌŽd—l‚ÆŒ¾‚¤‚±‚Æ‚ÅB) ‰EŽè‚ªÅ—Dæ‚Å‚·B -E•Ší‚ÌŽË’ö‚ð‰EŽè‚ƶŽè‚Ì•Ší‚Ì’†‚Å’·‚¢•¨‚ð“K—p‚·‚é‚悤‚É•ÏXB +・ãƒã‚°ä¿®æ£ã¨bonusè¿½åŠ ã€‚ +・倉庫ãƒã‚°ã€å±žæ€§ãƒã‚°ä¿®æ£ã¨ãã®ä»–ã®ãƒã‚°ä¿®æ£ã€‚ +・スクリプトbonus3è¿½åŠ ã€‚ä»Šã¯bAddMonsterDropItemã ã‘ãŒå¯¾å¿œã«ãªã£ã¦ã„ã¾ã™ã€‚ +・bonus bRestartFullRecover;n;ç‰ã§nã¯ç„¡æ„味ã ã‘ã©æ¶ˆã™ã®ã¯ã¡ã‚‡ã£ã¨ã¾ãšã„ã§ã™ã®ã§0ã«ã—ã¦å…¥ã‚ŒãŸæ–¹ãŒã„ã„ã§ã™ã€‚bonusã¯2ã¤ã®æ•°å€¤ãŒå¿…è¦ãªã‚¹ã‚¯ãƒªãƒ—トãªã®ã§ã€‚ +・bDefRatioAtkを防御無視ã«å¤‰æ›´ã€‚ +・0677ã§æ›¸ã忘れ。 +・æ¦å™¨ã®å±žæ€§é©ç”¨å„ªå…ˆé †ä½ã‚’è£½é€ >カード>æ¦å™¨ã«å¤‰æ›´ã€‚è£½é€ ãŒæœ€å„ªå…ˆã§ã™ã€‚(属性ãŒã‚る時ã«è©±ã§ã™ã€‚属性ãŒãªã„å ´åˆå±žæ€§ã‚る物ã«ä¸Šæ›¸ãã•ã‚ŒãŸã‚Šã¯ã—ã¾ã›ã‚“。) +・装備ã§é©ç”¨ã•ã‚Œã‚‹åŠ¹æžœã®å„ªå…ˆé †ä½ã‚’å³æ‰‹>左手>体>é 上>é ä¸>é 下>ãƒãƒ¼ãƒ–>é´>アクセサリー1>アクセサリー2>矢ã«è¨å®šã€‚(本鯖仕様ãŒã©ã†ãªã®ã‹åˆ†ã‹ã‚‹ã“ã¨ãŒã§ããã†ãªç‰©ã§ã‚‚ãªã„ã®ã§ã‚¢ãƒ†ãƒŠã®ä»•æ§˜ã¨è¨€ã†ã“ã¨ã§ã€‚) å³æ‰‹ãŒæœ€å„ªå…ˆã§ã™ã€‚ +・æ¦å™¨ã®å°„程をå³æ‰‹ã¨å·¦æ‰‹ã®æ¦å™¨ã®ä¸ã§é•·ã„物をé©ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() C³B - battle_damage() C³B + battle_calc_pc_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_calc_pet_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_damage() ä¿®æ£ã€‚ pc.c - pc_autosave_sub()Apc_calcstatus() C³B - pc_bonus()Apc_bonus2() C³B - pc_bonus3() ’ljÁB + pc_autosave_sub()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_bonus()ã€pc_bonus2() ä¿®æ£ã€‚ + pc_bonus3() è¿½åŠ ã€‚ script.c - buildin_bonus3() ’ljÁB + buildin_bonus3() è¿½åŠ ã€‚ mob.c - mob_once_spawn()Amob_damage() C³B - storage.h C³B + mob_once_spawn()ã€mob_damage() ä¿®æ£ã€‚ + storage.h ä¿®æ£ã€‚ storage.c - storage_storage_save() ’ljÁ - atcommand.c C³B + storage_storage_save() è¿½åŠ + atcommand.c ä¿®æ£ã€‚ -------------- -//0682 by ¹ +//0682 by è– -EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚̃oƒOC³ +・スピードアップãƒãƒ¼ã‚·ãƒ§ãƒ³ç³»ã®ãƒã‚°ä¿®æ£ (map/) pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ -------------- -//0681 by Ž€_ +//0681 by æ»ç¥ž -E‘•”õƒoƒOC³B +・装備ãƒã‚°ä¿®æ£ã€‚ (map/) pc.c - pc_equipitem() C³B + pc_equipitem() ä¿®æ£ã€‚ -------------- -//0680 by ¹ +//0680 by è– -Eׂ©‚¢C³B -Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ÌŽw’è‚Éu-1vAu-2v“™‚ðŽw’è‚·‚é‚Æ -@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚Å¢ŠÒ‚Å‚«‚é‹@”\‚ð’ljÁB +・細ã‹ã„ä¿®æ£ã€‚ +・「@monsterã€ã‚³ãƒžãƒ³ãƒ‰ã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼IDã®æŒ‡å®šã«ã€Œ-1ã€ã€ã€Œ-2ã€ç‰ã‚’指定ã™ã‚‹ã¨ + モンスターをランダムã§å¬é‚„ã§ãã‚‹æ©Ÿèƒ½ã‚’è¿½åŠ ã€‚ (map/) mob.c atcommand.c -------------- -//0679 by ”g˜Q +//0679 by 波浪 -E0676‚ÅV‚µ‚¢ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅAitem_db.txt‚ðC³(bonus bAddMonsterDropItem,n,x; ‚ÍAŽí‘°”»’肪‚Å‚«‚È‚¢‚Ì‚Å‚Æ‚è‚ ‚¦‚¸•Û—¯‚µ‚Ü‚µ‚½B) -E‘¼FXC³ +・0676ã§æ–°ã—ã„アイテム効果ãŒå®Ÿè£…ã•ã‚ŒãŸã®ã§ã€item_db.txtã‚’ä¿®æ£(bonus bAddMonsterDropItem,n,x; ã¯ã€ç¨®æ—判定ãŒã§ããªã„ã®ã§ã¨ã‚Šã‚ãˆãšä¿ç•™ã—ã¾ã—ãŸã€‚) +ãƒ»ä»–è‰²ã€…ä¿®æ£ (db/) item_db.txt job_db1.txt @@ -8060,95 +8060,95 @@ statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É item_bonus.txt -------------- -//0678 by ¹ +//0678 by è– -E¢ŠÒŠÖ˜A‚Ìׂ©‚¢C³B +・å¬é‚„関連ã®ç´°ã‹ã„ä¿®æ£ã€‚ (map/) mob.c - mob_once_spawn_area() C³B + mob_once_spawn_area() ä¿®æ£ã€‚ -------------- -//0677 by Ž€_ +//0677 by æ»ç¥ž -Eׂ©‚¢C³B -EƒAƒCƒeƒ€”„”ƒ‚É‚æ‚Á‚Ä“¾‚ç‚ê‚éŒoŒ±’l‚ðƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹‚Å‚Í“¾‚ç‚ê‚È‚¢‚悤‚ÉC³B -E“Å‚ÉŠ|‚©‚é‚ÆŽ©‘R‰ñ•œ‚Å‚«‚È‚¢‚悤‚ÉC³B -E0676‚Å‘‚«–Y‚êB»‘¢•Ší‚Ìꇻ‘¢‚É‚æ‚Á‚Ä—^‚¦‚½‘®«‚ª•Ší‚Ì‘®«‚æ‚è—D悵‚Ä“K—p‚³‚ê‚é‚悤‚É•ÏXB(»‘¢•Ší‚ª–³‘®«‚Ìꇂ͓K—p‚³‚ê‚Ü‚¹‚ñB) +・細ã‹ã„ä¿®æ£ã€‚ +・アイテム売買ã«ã‚ˆã£ã¦å¾—られる経験値をカードã«ã‚ˆã‚‹ã‚¹ã‚ルã§ã¯å¾—られãªã„よã†ã«ä¿®æ£ã€‚ +・毒ã«æŽ›ã‹ã‚‹ã¨è‡ªç„¶å›žå¾©ã§ããªã„よã†ã«ä¿®æ£ã€‚ +・0676ã§æ›¸ãå¿˜ã‚Œã€‚è£½é€ æ¦å™¨ã®å ´åˆè£½é€ ã«ã‚ˆã£ã¦ä¸ŽãˆãŸå±žæ€§ãŒæ¦å™¨ã®å±žæ€§ã‚ˆã‚Šå„ªå…ˆã—ã¦é©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(è£½é€ æ¦å™¨ãŒç„¡å±žæ€§ã®å ´åˆã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。) (doc/) - item_bonus.txt ŒëŽšC³B + item_bonus.txt 誤å—ä¿®æ£ã€‚ (map/) npc.c - npc_buylist()Anpc_selllist() C³B - pc.c - pc_calcstatus()Apc_natural_heal_sub() C³B - --------------- -//0676 by Ž€_ - -EFX‚ÆC³B -Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) -E‚Ý‚·‚Ƃꑃ‚ðŽQl‚µ‚ă_ƒ[ƒWŒvŽZ‚ð‚µC³B -E‘•”õbonus‚ÉFX‚ƒljÁB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) -EŽ©“®ƒZ[ƒu‚·‚鎞(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞)‘qŒÉ‚̃f[ƒ^‚à‘—‚é‚悤‚É•ÏXB -E0667‚ÅŒ¾‚¢–Y‚êBƒJ[ƒg‚ðŠO‚µ‚Ä‚àƒAƒCƒeƒ€‚ªÁ‚¦‚È‚¢‚悤‚É•ÏXB(–{ŽI‚ÅÁ‚¦‚é‚Ì‚ªŽd—l‚¾‚ÆŽv‚Á‚Ä‚¢‚½‚¯‚ÇC³‚³‚ꂽ‚Ý‚½‚¢‚È‚Ì‚ÅB) -EŽæˆø—v¿‚ðŽó‚¯‚鑤‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚µ‚È‚¢‚悤‚ÉC³B(Žó‚¯‚鑤‚ÌŠî–{ƒXƒLƒ‹ƒ`ƒFƒbƒN‚ÍŽ©•ª‚ª“ü‚ꂽ•¨‚Å‚Í‚È‚¢‚Å‚·B‚¢‚‚̊Ԃɂ©“ü‚Á‚Ä‚¢‚½‚Ì‚Å휂µ‚Ü‚µ‚½B) -E–h‹ï‚̸˜Bƒ{[ƒiƒX‚ð’[”–³Ž‹‚É•ÏXB(‚±‚ꂪ–{ŽI‚ÌŽd—l‚Ý‚½‚¢‚È‚Ì‚Å) -EƒAƒ“ƒNƒ‹‚̈—‚µ•ÏXB(‚©‚©‚ç‚È‚¢‚ÆŒ¾‚¤•ñ‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚Å...) -EƒvƒŒƒCƒ„[‚̃Xƒe[ƒ^ƒXŒvŽZ‚Å–â‘è‚ ‚è‚»‚¤‚ÈŠC³B -EƒJ[ƒh‚ÌID‚Å‹@”\‚ªŒˆ‚Ü‚Á‚Ä‚¢‚½ƒJ[ƒh‚àƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Ä•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É•ÏXB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) -EaspdŒvŽZ•û–@‚µ•ÏXB -E–î‚ÉbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ð“K—p‚Å‚«‚é‚悤‚É•ÏXB–î‚ðŽg‚¤ƒXƒLƒ‹‚â‹|‚É‚æ‚éUŒ‚‚¾‚¯‚É–î‚ÌbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ª“K—p‚³‚ê‚é‚悤‚ÉC³B -EƒLƒŠ‚ÌŽÀ‘•‚ɈׂÉC³‚Í‚µ‚Ü‚µ‚½‚ªƒLƒŠ‚ª–hŒä–³Ž‹‚È‚Ì‚©‚Ç‚¤‚©‚ª‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å–hŒä–³Ž‹‚Í‚µ‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B -EƒeƒXƒg‚µ‚½•¨‚ÍbAddMonsterDropItem‚ÆbGetZenyNum‚¾‚¯‚Ȃ̂ųí‚É“®ì‚·‚é‚©‚Ç‚¤‚©‚Ì•ñ‚ª—~‚µ‚¢Š‚Å‚·B(‚‚¢‚Å‚Éitem_db‚ÌC³‚à...‚±‚ê‚Å‹zŽûŒn‚ƃI[ƒgƒXƒyƒ‹ŒnˆÈŠO‚Í–w‚ÇŽÀ‘•‚Å‚«‚é‚Í‚¸‚Å‚·B‘½•ª...) -E‚»‚Ì‘¼‚ÍŠo‚¦‚Ä‚È‚¢‚¯‚ÇC³‚µ‚½Š‚ª‚µ‚ ‚é‚©‚à... + npc_buylist()ã€npc_selllist() ä¿®æ£ã€‚ + pc.c + pc_calcstatus()ã€pc_natural_heal_sub() ä¿®æ£ã€‚ + +-------------- +//0676 by æ»ç¥ž + +・色々ã¨ä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚(詳ã—ã„ã“ã¨ã¯conf_ref.txtã§) +・ã¿ã™ã¨ã‚Œå·£ã‚’å‚考ã—ã¦ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—ã‚’å°‘ã—ä¿®æ£ã€‚ +・装備bonusã«è‰²ã€…ã¨è¿½åŠ 。(詳ã—ã„ã“ã¨ã¯item_bonus.txtã§) +・自動セーブã™ã‚‹æ™‚(ã‚ャラ鯖ã«ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚‹æ™‚)倉庫ã®ãƒ‡ãƒ¼ã‚¿ã‚‚é€ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・0667ã§è¨€ã„忘れ。カートを外ã—ã¦ã‚‚アイテムãŒæ¶ˆãˆãªã„よã†ã«å¤‰æ›´ã€‚(本鯖ã§æ¶ˆãˆã‚‹ã®ãŒä»•æ§˜ã ã¨æ€ã£ã¦ã„ãŸã‘ã©ä¿®æ£ã•ã‚ŒãŸã¿ãŸã„ãªã®ã§ã€‚) +・å–引è¦è«‹ã‚’å—ã‘ã‚‹å´ã¯åŸºæœ¬ã‚¹ã‚ルをãƒã‚§ãƒƒã‚¯ã—ãªã„よã†ã«ä¿®æ£ã€‚(å—ã‘ã‚‹å´ã®åŸºæœ¬ã‚¹ã‚ルãƒã‚§ãƒƒã‚¯ã¯è‡ªåˆ†ãŒå…¥ã‚ŒãŸç‰©ã§ã¯ãªã„ã§ã™ã€‚ã„ã¤ã®é–“ã«ã‹å…¥ã£ã¦ã„ãŸã®ã§å‰Šé™¤ã—ã¾ã—ãŸã€‚) +・防具ã®ç²¾éŒ¬ãƒœãƒ¼ãƒŠã‚¹ã‚’端数無視ã«å¤‰æ›´ã€‚(ã“ã‚ŒãŒæœ¬é¯–ã®ä»•æ§˜ã¿ãŸã„ãªã®ã§) +・アンクルã®å‡¦ç†å°‘ã—変更。(ã‹ã‹ã‚‰ãªã„ã¨è¨€ã†å ±å‘ŠãŒã‚ã‚Šã¾ã—ãŸã®ã§...) +・プレイヤーã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¨ˆç®—ã§å•é¡Œã‚ã‚Šãã†ãªæ‰€ä¿®æ£ã€‚ +・カードã®IDã§æ©Ÿèƒ½ãŒæ±ºã¾ã£ã¦ã„ãŸã‚«ãƒ¼ãƒ‰ã‚‚スクリプトã«ã‚ˆã£ã¦å¤‰ãˆã‚‹ã“ã¨ãŒã§ãるよã†ã«å¤‰æ›´ã€‚(詳ã—ã„ã“ã¨ã¯item_bonus.txtã§) +・aspd計算方法少ã—変更。 +・矢ã«bCriticalã€bAtkEleã€bHitã€bAddEleã€bAddRaceã€bAddSizeã€bAddEffã‚’é©ç”¨ã§ãるよã†ã«å¤‰æ›´ã€‚矢を使ã†ã‚¹ã‚ルや弓ã«ã‚ˆã‚‹æ”»æ’ƒã ã‘ã«çŸ¢ã®bCriticalã€bAtkEleã€bHitã€bAddEleã€bAddRaceã€bAddSizeã€bAddEffãŒé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・ã‚リã®å®Ÿè£…ã«ç‚ºã«ä¿®æ£ã¯ã—ã¾ã—ãŸãŒã‚リãŒé˜²å¾¡ç„¡è¦–ãªã®ã‹ã©ã†ã‹ãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§é˜²å¾¡ç„¡è¦–ã¯ã—ãªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ +・テストã—ãŸç‰©ã¯bAddMonsterDropItemã¨bGetZenyNumã ã‘ãªã®ã§æ£å¸¸ã«å‹•ä½œã™ã‚‹ã‹ã©ã†ã‹ã®å ±å‘ŠãŒæ¬²ã—ã„所ã§ã™ã€‚(ã¤ã„ã§ã«item_dbã®ä¿®æ£ã‚‚...ã“ã‚Œã§å¸åŽç³»ã¨ã‚ªãƒ¼ãƒˆã‚¹ãƒšãƒ«ç³»ä»¥å¤–ã¯æ®†ã©å®Ÿè£…ã§ãã‚‹ã¯ãšã§ã™ã€‚多分...) +・ãã®ä»–ã¯è¦šãˆã¦ãªã„ã‘ã©ä¿®æ£ã—ãŸæ‰€ãŒå°‘ã—ã‚ã‚‹ã‹ã‚‚... (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ (char/) inter.c - inter_init() C³B + inter_init() ä¿®æ£ã€‚ int_storage.c - mapif_parse_SaveStorage() C³B + mapif_parse_SaveStorage() ä¿®æ£ã€‚ (map/) trade.c - trade_traderequest() C³B - pc.h C³B - pc.c - pc_autosave_sub()Apc_calcstatus() C³B - pc_bonus()Apc_bonus2() C³B - pc_setrestartvalue()Apc_setequipindex() C³B - pc_check_equip_wcard()Apc_check_equip_dcard()Apc_check_equip_card() íœ - ‚»‚Ì‘¼C³B - skill.h C³B - skill.c C³B - skill_castend_nodamage_id()Askill_unit_onplace() C³B - skill_check_condition()Askill_additional_effect() C³B - skill_attack()Askill_status_change_start() C³B - map.h C³B - battle.h C³B + trade_traderequest() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ + pc.c + pc_autosave_sub()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_bonus()ã€pc_bonus2() ä¿®æ£ã€‚ + pc_setrestartvalue()ã€pc_setequipindex() ä¿®æ£ã€‚ + pc_check_equip_wcard()ã€pc_check_equip_dcard()ã€pc_check_equip_card() 削除 + ãã®ä»–ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + skill.c ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_check_condition()ã€skill_additional_effect() ä¿®æ£ã€‚ + skill_attack()ã€skill_status_change_start() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_get_def()Abattle_get_mdef2() C³B - battle_weapon_attack()Abattle_damage() C³B - battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pet_weapon_attack() C³B - battle_calc_misc_attack()Abattle_config_read() C³B + battle_get_def()ã€battle_get_mdef2() ä¿®æ£ã€‚ + battle_weapon_attack()ã€battle_damage() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pet_weapon_attack() ä¿®æ£ã€‚ + battle_calc_misc_attack()ã€battle_config_read() ä¿®æ£ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ pet.c - pet_target_check() C³B + pet_target_check() ä¿®æ£ã€‚ clif.c - clif_set0078()Aclif_set007b()Aclif_changelook() C³B - atcommand.c C³B + clif_set0078()ã€clif_set007b()ã€clif_changelook() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ -------------- -//0675 by ”g˜Q +//0675 by 波浪 -EŠØŽI‚Å‘º³‚ÌŒø‰Ê‚ª•ÏX‚³‚ꂽ‚Ì‚Å•ñ‚ðŒ³‚Éitem_db.txt‚ðC³ -Ejob_db1.txt‚ðC³ +・韓鯖ã§æ‘æ£ã®åŠ¹æžœãŒå¤‰æ›´ã•ã‚ŒãŸã®ã§å ±å‘Šã‚’å…ƒã«item_db.txtã‚’ä¿®æ£ +・job_db1.txtã‚’ä¿®æ£ (db/) item_db.txt job_db1.txt @@ -8156,38 +8156,38 @@ statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É -------------- //0674 by npc -Eƒtƒ@[ƒ}ƒV[‚̉¼ŽÀ‘•B +・ファーマシーã®ä»®å®Ÿè£…。 (db/) produce_db.txt (map/) skill.c -------------- -//0673 by “ì +//0673 by å— -EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -@@@@@(map/)@@@ -@@@@@ pc.c +・集ä¸åŠ›å‘上ã«è£…å‚™å“ã®è£œæ£ãŒå…¥ã£ã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +     (map/)    +      pc.c -------------- -//0672 by “ì +//0672 by å— -EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -@@@@@(map/)@@@ -@@@@@ pc.c +・集ä¸åŠ›å‘上ã«è£…å‚™å“ã®è£œæ£ãŒå…¥ã£ã¦ã„ãªã‹ã£ãŸã®ã‚’ä¿®æ£ã€‚ +     (map/)    +      pc.c -------------- -//0672 by ¹ +//0672 by è– -Eƒ‚ƒ“ƒXƒ^[Œn‚̃oƒOC³(‚·‚Ý‚Ü‚¹‚ñA‚Ü‚¾Žc‚Á‚Ä‚Ü‚µ‚½(^^; ) +・モンスター系ã®ãƒã‚°ä¿®æ£(ã™ã¿ã¾ã›ã‚“ã€ã¾ã 残ã£ã¦ã¾ã—ãŸ(^^; ) (map/) mob.c -------------- -//0671 by ¹ +//0671 by è– -EIDƒ`ƒFƒbƒN”͈͂ÌC³‘¼B -E@monster‚Å”‚ðŽw’肵‚È‚‚Ăࢊ҂ł«‚é‚悤‚ÉC³B +・IDãƒã‚§ãƒƒã‚¯ç¯„囲ã®ä¿®æ£ä»–。 +・@monsterã§æ•°ã‚’指定ã—ãªãã¦ã‚‚å¬é‚„ã§ãるよã†ã«ä¿®æ£ã€‚ (map/) atcommand.c battle.c @@ -8202,89 +8202,89 @@ statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É -------------- //0670 by RR -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—¦‚ðC³(–{ŽI€‹’ADB‚Å‚ÌÝ’è+1/10000)B -E—Ž‰º—¦‚O‚Éݒ肵‚½ƒAƒCƒeƒ€‚ð—Ž‚Æ‚·‚©‚Ç‚¤‚©‚ðbattle_athena.conf‚ÅÝ’è‰Â”\‚ÉB +・モンスタードãƒãƒƒãƒ—率を修æ£(æœ¬é¯–æº–æ‹ ã€DBã§ã®è¨å®š+1/10000)。 +・è½ä¸‹çŽ‡ï¼ã«è¨å®šã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’è½ã¨ã™ã‹ã©ã†ã‹ã‚’battle_athena.confã§è¨å®šå¯èƒ½ã«ã€‚ (map/) mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ battle.c battle.h (conf/) battle_athena.conf -------------- -//0669 by ¹ +//0669 by è– -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ÌC³B +・モンスタードãƒãƒƒãƒ—ã®ä¿®æ£ã€‚ (map/) mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ -------------- -//0668 by ¹ +//0668 by è– -Eƒ‚ƒ“ƒXƒ^[ID‚͈̔̓`ƒFƒbƒN‚ðC³B +・モンスターIDã®ç¯„囲ãƒã‚§ãƒƒã‚¯ã‚’ä¿®æ£ã€‚ (map/) mob.c - mob_dbAmob_once_spawn()Amob_once_spawn_area()A - mob_summonslave()Amob_read_randommonster()Amob_readdb() C³B + mob_dbã€mob_once_spawn()ã€mob_once_spawn_area()〠+ mob_summonslave()ã€mob_read_randommonster()ã€mob_readdb() ä¿®æ£ã€‚ -------------- -//0667 by Ž€_ +//0667 by æ»ç¥ž -EÅ‘åHPŒvŽZŽ®‚ðƒ~ƒXƒgƒŒ‘ƒ‚ðŽQl‚µ‚ÄC³B(‘½•ª‚±‚ê‚Å–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·B) -E–h‹ï‚̸˜Bƒ{[ƒiƒX‚ð0.7‚É•ÏXB(¡‚Í’[”‚ðŽlŽÌŒÜ“ü‚µ‚Ä‚¢‚Ü‚·‚ª–{ŽI‚ª’[”–³Ž‹‚È‚çC³‚µ‚Ä‚¨‚«‚Ü‚·B) -E@refineƒRƒ}ƒ“ƒh‚Å‘•”õêŠID‚É0‚ð“ü‚ê‚é‚Æ‘•”õ‚µ‚Ä‚¢‚é‘S‚Ä‚Ì‘•”õ‚ð¸˜B‚·‚é‚悤‚É•ÏXB -E‚»‚Ì‘¼×‚©‚¢C³B +・最大HP計算å¼ã‚’ミストレ巣をå‚考ã—ã¦ä¿®æ£ã€‚(多分ã“ã‚Œã§æœ¬é¯–ã«ã‚ã£ã¦ã„ã‚‹ã¨æ€ã„ã¾ã™ã€‚) +・防具ã®ç²¾éŒ¬ãƒœãƒ¼ãƒŠã‚¹ã‚’0.7ã«å¤‰æ›´ã€‚(今ã¯ç«¯æ•°ã‚’å››æ¨äº”å…¥ã—ã¦ã„ã¾ã™ãŒæœ¬é¯–ãŒç«¯æ•°ç„¡è¦–ãªã‚‰ä¿®æ£ã—ã¦ãŠãã¾ã™ã€‚) +・@refineコマンドã§è£…å‚™å ´æ‰€IDã«0を入れるã¨è£…å‚™ã—ã¦ã„ã‚‹å…¨ã¦ã®è£…備を精錬ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・ãã®ä»–ç´°ã‹ã„ä¿®æ£ã€‚ (db/) item_db.txt - 7140A7142‚ðŒ³‚É–ß‚µ‚Ä0666‚Ì•¨‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B - job_db1.txt C³B - refine_db.txt C³B + 7140ã€7142ã‚’å…ƒã«æˆ»ã—ã¦0666ã®ç‰©ã¯ã‚³ãƒžãƒ³ãƒˆã‚¢ã‚¦ãƒˆã—ã¾ã—ãŸã€‚ + job_db1.txt ä¿®æ£ã€‚ + refine_db.txt ä¿®æ£ã€‚ (map/) mob.c - mob_once_spawn() C³B + mob_once_spawn() ä¿®æ£ã€‚ itemdb.c - itemdb_read_randomitem() C³B + itemdb_read_randomitem() ä¿®æ£ã€‚ pet.c - pet_food() C³B + pet_food() ä¿®æ£ã€‚ pc.c - pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() C³B - pc_calc_sigma() ’ljÁB - ‚»‚Ì‘¼C³B - map.h C³B + pc_readdb()ã€do_init_pc()ã€pc_calcstatus()ã€pc_setoption() ä¿®æ£ã€‚ + pc_calc_sigma() è¿½åŠ ã€‚ + ãã®ä»–ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ battle.c - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B - atcommand.c C³B + battle_calc_magic_attack()ã€battle_calc_misc_attack() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ -------------- -//0666 by ¹ +//0666 by è– -Eƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€‚Ìׂ©‚¢C³B -Ebattle_athena.conf‚Ì€–ڒljÁB -EŒÃ–Ø‚ÌŽ}‚Å¢ŠÒ‚·‚郂ƒ“ƒXƒ^[‚ÌŠm—¦‚ðÝ’èo—ˆ‚é‚悤‚É‚µ‚Ü‚µ‚½B -Eƒ‚ƒ“ƒXƒ^[¢ŠÒƒAƒCƒeƒ€‚ð•¡”ì‚鎖‚ªo—ˆ‚é‚悤‚É‚µ‚Ü‚µ‚½B -E¢ŠÒƒAƒCƒeƒ€‚̃Tƒ“ƒvƒ‹‚Æ‚µ‚Ä -@¶–½‚ÌŽíŽq‚ðƒ|ƒŠƒ“Œn¢ŠÒA -@ƒGƒ“ƒuƒŠƒI‚ðMVPƒ{ƒXŒn¢ŠÒ‚É‚µ‚Ä‚Ý‚Ü‚µ‚½B -@‚ ‚Ü‚è‚¢‚¢ƒTƒ“ƒvƒ‹‚ðŽv‚¢‚‚©‚È‚©‚Á‚½‚Ì‚ÅA -@‰½‚©‚¢‚¢ˆÄ‚ðŽv‚¢‚‚¢‚½l‚Í‘‚«Š·‚¦‚Ä‚â‚Á‚Ä‚‚¾‚³‚¢(^^; +・ランダムアイテムã®ç´°ã‹ã„ä¿®æ£ã€‚ +・battle_athena.confã®é …ç›®è¿½åŠ ã€‚ +・å¤æœ¨ã®æžã§å¬é‚„ã™ã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ç¢ºçŽ‡ã‚’è¨å®šå‡ºæ¥ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ +・モンスターå¬é‚„アイテムを複数作る事ãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ +・å¬é‚„アイテムã®ã‚µãƒ³ãƒ—ルã¨ã—㦠+ 生命ã®ç¨®åã‚’ãƒãƒªãƒ³ç³»å¬é‚„〠+ エンブリオをMVPボス系å¬é‚„ã«ã—ã¦ã¿ã¾ã—ãŸã€‚ + ã‚ã¾ã‚Šã„ã„サンプルをæ€ã„ã¤ã‹ãªã‹ã£ãŸã®ã§ã€ + 何ã‹ã„ã„案をæ€ã„ã¤ã„ãŸäººã¯æ›¸ãæ›ãˆã¦ã‚„ã£ã¦ãã ã•ã„(^^; (conf/) battle_athena.conf (doc/) conf_ref.txt (map/) mob.h - mob_db C³B + mob_db ä¿®æ£ã€‚ mob.c - mob_once_spawn()Amob_makedummymobdb()Amob_readdb() C³B - mob_readbranch() -> mob_read_randommonster()‚É•ÏXB + mob_once_spawn()ã€mob_makedummymobdb()ã€mob_readdb() ä¿®æ£ã€‚ + mob_readbranch() -> mob_read_randommonster()ã«å¤‰æ›´ã€‚ battle.h - battle_config C³B + battle_config ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ itemdb.c - itemdb_read_randomitem() C³B + itemdb_read_randomitem() ä¿®æ£ã€‚ (db/) item_db.txt item_bluebox.txt @@ -8293,89 +8293,89 @@ statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É item_scroll.txt item_violetbox.txt mob_branch.txt - mob_poring.txt ’ljÁB - mob_boss.txt ’ljÁB + mob_poring.txt è¿½åŠ ã€‚ + mob_boss.txt è¿½åŠ ã€‚ -------------- //0665 by J -E‰…—ì•Žm‚ÌŽæ‚芪‚«‚ªƒJƒuƒL”EŽÒ‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðŽð“V‹ç‚ÉC³B -EƒIƒbƒg[‚ɃtƒFƒCƒNƒGƒ“ƒWƒFƒ‹‚ªo‚·‚Í‚¸‚ÌŽæ‚芪‚«‚ª‚‚¢‚Ä‚½‚Ì‚ðC³B +・怨霊æ¦å£«ã®å–ã‚Šå·»ããŒã‚«ãƒ–ã‚å¿è€…ã«ãªã£ã¦ã„ãŸã®ã‚’酒天狗ã«ä¿®æ£ã€‚ +・オットーã«ãƒ•ã‚§ã‚¤ã‚¯ã‚¨ãƒ³ã‚¸ã‚§ãƒ«ãŒå‡ºã™ã¯ãšã®å–ã‚Šå·»ããŒã¤ã„ã¦ãŸã®ã‚’ä¿®æ£ã€‚ (db/) mob_skill_db.txt -------------- -//0664 by ¹ +//0664 by è– -E¸˜BŽ¸”sŽž‘¼‚̃vƒŒ[ƒ„[‚É‚àƒGƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³B +・精錬失敗時他ã®ãƒ—レーヤーã«ã‚‚エフェクトãŒè¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ (map/) script.c - buildin_failedrefitem() C³B + buildin_failedrefitem() ä¿®æ£ã€‚ -------------- //0663 by lide -Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒAC³ +ãƒ»ãƒ–ãƒ©ãƒ³ãƒ‡ã‚£ãƒƒã‚·ãƒ¥ã‚¹ãƒ”ã‚¢ä¿®æ£ (map/) battle.c skill.c -------------- -//0662 by Ž€_ +//0662 by æ»ç¥ž -Eׂ©‚¢C³‚ƃoƒOC³B -Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ă‚ƒ“ƒXƒ^[‚ÍæŽZ–hŒä‚ÆŒ¸ŽZ–hŒä‚ªŒ¸‚é‚悤‚ÉC³‚µ‚ăvƒŒƒCƒ„[‚ÍŒ¸ŽZ–hŒä‚¾‚¯Œ¸‚é‚悤‚ÉC³B -EƒXƒNƒŠƒvƒggetgmlevel’ljÁB‹@”\‚Í‚»‚ÌNPC‚Ƙb‚µ‚Ä‚¢‚éƒvƒŒƒCƒ„[‚ÌGMƒŒƒxƒ‹‚ð•Ô‚µ‚Ü‚·B -E0659‚Ì‘‚«–Y‚ê‚Å‚·‚ªƒyƒbƒg‚̃pƒtƒHƒ}ƒ“ƒX‚ÌŽí—Þ‚ªe–§“x‚É‚æ‚Á‚Ä‘‚¦‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +・細ã‹ã„ä¿®æ£ã¨ãƒã‚°ä¿®æ£ã€‚ +・プãƒãƒœãƒƒã‚¯ã«ã‚ˆã£ã¦ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã¯ä¹—算防御ã¨æ¸›ç®—防御ãŒæ¸›ã‚‹ã‚ˆã†ã«ä¿®æ£ã—ã¦ãƒ—レイヤーã¯æ¸›ç®—防御ã ã‘減るよã†ã«ä¿®æ£ã€‚ +・スクリプトgetgmlevelè¿½åŠ ã€‚æ©Ÿèƒ½ã¯ãã®NPCã¨è©±ã—ã¦ã„るプレイヤーã®GMレベルを返ã—ã¾ã™ã€‚ +・0659ã®æ›¸ã忘れã§ã™ãŒãƒšãƒƒãƒˆã®ãƒ‘フォマンスã®ç¨®é¡žãŒè¦ªå¯†åº¦ã«ã‚ˆã£ã¦å¢—ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ (map/) clif.c pc.c script.c -------------- -//0661 by Ž€_ +//0661 by æ»ç¥ž -Eׂ©‚¢C³B -EÚ‘±‚µ‚½Žž‚̃yƒbƒg‚̃ƒbƒZ[ƒW‚ðe–§“x‚ª‚«‚í‚ß‚Äe‚µ‚¢‚ÌŽž‚Ì‚Ý‚Éo‚é‚悤‚É•ÏXB -E0659‚Å‘‚«–Y‚ê‚Å‚·‚ªƒyƒbƒg‚ÌŽx‰‡UŒ‚‚Íe–§“x‚ª‚«‚í‚ß‚Äe‚µ‚¢‚ÌŽž‚Ì‚Ý‚É”¶‚µ‚Ü‚·B(‚»‚ê‚Æe–§“x‚É‚æ‚Á‚ÄŽx‰‡UŒ‚Šm—¦‚ª‚µ•Ï‰»‚µ‚Ü‚·B) -EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Ì—‘‚ÌID‚ðitem_db.txt‚ɇ‚킹‚Ü‚µ‚½B(Ž©•ª‚ªì‚Á‚½pet_db.txt‚Ì•û‚ªŽ©•ªŸŽè‚Éݒ肵‚Ä‚¢‚½•¨‚Å‚µ‚½‚Ì‚ÅB‚ÄŒ¾‚¤‚©–¢ŽÀ‘•ƒAƒCƒeƒ€‚¾‚©‚ç”Ô†‚ª‚í‚©‚ç‚È‚©‚Á‚½‚¾‚¯‚Å‚·‚ª...) -Epet_db.txt‚Ìattack_rate‚ª³‚µ‚“K—p‚³‚ê‚È‚©‚Á‚½ƒoƒOC³B +・細ã‹ã„ä¿®æ£ã€‚ +・接続ã—ãŸæ™‚ã®ãƒšãƒƒãƒˆã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’親密度ãŒãã‚ã‚ã¦è¦ªã—ã„ã®æ™‚ã®ã¿ã«å‡ºã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・0659ã§æ›¸ã忘れã§ã™ãŒãƒšãƒƒãƒˆã®æ”¯æ´æ”»æ’ƒã¯è¦ªå¯†åº¦ãŒãã‚ã‚ã¦è¦ªã—ã„ã®æ™‚ã®ã¿ã«ç™ºç”Ÿã—ã¾ã™ã€‚(ãã‚Œã¨è¦ªå¯†åº¦ã«ã‚ˆã£ã¦æ”¯æ´æ”»æ’ƒç¢ºçŽ‡ãŒå°‘ã—変化ã—ã¾ã™ã€‚) +・ジルタスã¨ã‚¢ãƒªã‚¹ã®åµã®IDã‚’item_db.txtã«åˆã‚ã›ã¾ã—ãŸã€‚(自分ãŒä½œã£ãŸpet_db.txtã®æ–¹ãŒè‡ªåˆ†å‹æ‰‹ã«è¨å®šã—ã¦ã„ãŸç‰©ã§ã—ãŸã®ã§ã€‚ã¦è¨€ã†ã‹æœªå®Ÿè£…アイテムã ã‹ã‚‰ç•ªå·ãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã ã‘ã§ã™ãŒ...) +・pet_db.txtã®attack_rateãŒæ£ã—ãé©ç”¨ã•ã‚Œãªã‹ã£ãŸãƒã‚°ä¿®æ£ã€‚ (db/) pet_db.txt (map/) clif.c - clif_parse_LoadEndAck() C³B + clif_parse_LoadEndAck() ä¿®æ£ã€‚ pc.c - pc_attack_timer() C³B + pc_attack_timer() ä¿®æ£ã€‚ -------------------- -//0660 by ‚¢‚Ç +//0660 by ã„ã© -EƒT[ƒo[snapshot +・サーãƒãƒ¼snapshot -------------- -//0659 by Ž€_ +//0659 by æ»ç¥ž -Eƒyƒbƒg‚ðFX‚ÆC³B(ƒyƒbƒg‚̃R[ƒh‚ð‚Ù‚Æ‚ñ‚Ç•Ï‚¦‚Ü‚µ‚½B) -EŽè“®“I‚¾‚Á‚½ƒyƒbƒg‚Ì“®‚«‚ðƒ‚ƒ“ƒXƒ^[‚̂悤‚ÉAI‚Æ‚µ‚Ĉ—B -EÚ‘±‚µ‚½Žž‚̃yƒbƒg‚̃ƒbƒZ[ƒWŽÀ‘•B(–{ŽI‚Í‚Ç‚¤‚È‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñ‚ª -Athena‚ÍÚ‘±‚·‚é‚Æ100%˜b‚·‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) -Eƒyƒbƒg‚̃XƒyƒVƒƒƒ‹ƒpƒtƒHƒ}ƒ“ƒXŽÀ‘•B(‚½‚¾‘䎌‚ª‚¿‚å‚Á‚Æ•Ï‚Å‚·B‚¢‚‚ç’T‚µ‚Ä‚àŠY“–‚·‚éƒpƒPƒbƒg‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅB) -Eƒyƒbƒg‚̑䎌‚𑼂̃yƒbƒg‚Ì•¨‚É•ÏX‚·‚é‹@”\’ljÁB(Ú‚µ‚¢‚±‚Æ‚Ídb_ref.txt‚Æpet_db.txt‚ÅB) -Eƒyƒbƒg‚É‚æ‚éŽx‰‡UŒ‚•ÏXBpet_db.txt‚ÅUŒ‚‚·‚鎞‚ÆUŒ‚‚ðŽó‚¯‚½Žž‚ÌŽx‰‡UŒ‚ -Šm—¦‚ð•ÊX‚ÉÝ’è‚Å‚«‚Ü‚·BUŒ‚‚·‚鎞‚Ìê‡UŒ‚‚·‚é“x‚Ƀ`ƒFƒbƒN‚ð‚µ‚Ü‚·‚Ì‚Å -UŒ‚‘¬“x‚ª‘¬‚¢‚ÆŽx‰‡UŒ‚‚ðŽó‚¯‚â‚·‚‚È‚è‚Ü‚·BUŒ‚‚ðŽó‚¯‚½Žž‚à“¯‚¶‚Å‚·B(‚±‚¿‚ç‚̓_ƒ[ƒW‚ð‹ò‚炤“x‚É‚È‚è‚Ü‚·‚ªB) Žx‰‡UŒ‚Šm—¦‚̓\ƒq[AƒWƒ‹ƒ^ƒXAƒAƒŠƒX‚¾‚¯Ž©•ªŸŽè‚Éݒ肵‚Ä‚¢‚Ü‚·B(‘¼‚Ì‚Í‘S•”1%‚ÉBƒyƒbƒg‚ÌŽx‰‡UŒ‚‚Í“¯‚¶ƒ‚ƒ“ƒXƒ^[‚É‚Í‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚»‚µ‚ăyƒbƒg‚Ì퓬”\—͂̓‚ƒ“ƒXƒ^[‚Æ“¯‚¶‚Å‚·B) -E/hideƒRƒ}ƒ“ƒhŽÀ‘•B -Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ÄæŽZ–hŒä‚àŒ¸‚é‚悤‚ÉC³B -EƒtƒŠ[ƒLƒƒƒXƒg‚̃oƒOC³B -Eƒm[ƒrƒX‚̃Xƒe[ƒ^ƒXƒ{[ƒiƒXíœB -Ebattle_athena.conf‚Ì€–ڒljÁ‚ÆíœB -EC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯B–¢ƒeƒXƒg‚µ‚½•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +・ペットを色々ã¨ä¿®æ£ã€‚(ペットã®ã‚³ãƒ¼ãƒ‰ã‚’ã»ã¨ã‚“ã©å¤‰ãˆã¾ã—ãŸã€‚) +・手動的ã ã£ãŸãƒšãƒƒãƒˆã®å‹•ãをモンスターã®ã‚ˆã†ã«AIã¨ã—ã¦å‡¦ç†ã€‚ +・接続ã—ãŸæ™‚ã®ãƒšãƒƒãƒˆã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸å®Ÿè£…。(本鯖ã¯ã©ã†ãªã®ã‹ã‚ã‹ã‚Šã¾ã›ã‚“㌠+Athenaã¯æŽ¥ç¶šã™ã‚‹ã¨100%話ã™ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚) +・ペットã®ã‚¹ãƒšã‚·ãƒ£ãƒ«ãƒ‘フォマンス実装。(ãŸã å°è©žãŒã¡ã‚‡ã£ã¨å¤‰ã§ã™ã€‚ã„ãら探ã—ã¦ã‚‚該当ã™ã‚‹ãƒ‘ケットãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã€‚) +・ペットã®å°è©žã‚’ä»–ã®ãƒšãƒƒãƒˆã®ç‰©ã«å¤‰æ›´ã™ã‚‹æ©Ÿèƒ½è¿½åŠ 。(詳ã—ã„ã“ã¨ã¯db_ref.txtã¨pet_db.txtã§ã€‚) +・ペットã«ã‚ˆã‚‹æ”¯æ´æ”»æ’ƒå¤‰æ›´ã€‚pet_db.txtã§æ”»æ’ƒã™ã‚‹æ™‚ã¨æ”»æ’ƒã‚’å—ã‘ãŸæ™‚ã®æ”¯æ´æ”»æ’ƒ +確率を別々ã«è¨å®šã§ãã¾ã™ã€‚攻撃ã™ã‚‹æ™‚ã®å ´åˆæ”»æ’ƒã™ã‚‹åº¦ã«ãƒã‚§ãƒƒã‚¯ã‚’ã—ã¾ã™ã®ã§ +攻撃速度ãŒé€Ÿã„ã¨æ”¯æ´æ”»æ’ƒã‚’å—ã‘ã‚„ã™ããªã‚Šã¾ã™ã€‚攻撃をå—ã‘ãŸæ™‚ã‚‚åŒã˜ã§ã™ã€‚(ã“ã¡ã‚‰ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’喰らã†åº¦ã«ãªã‚Šã¾ã™ãŒã€‚) 支æ´æ”»æ’ƒç¢ºçŽ‡ã¯ã‚½ãƒ’ーã€ã‚¸ãƒ«ã‚¿ã‚¹ã€ã‚¢ãƒªã‚¹ã ã‘自分å‹æ‰‹ã«è¨å®šã—ã¦ã„ã¾ã™ã€‚(ä»–ã®ã¯å…¨éƒ¨1%ã«ã€‚ペットã®æ”¯æ´æ”»æ’ƒã¯åŒã˜ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ã¯ã§ããªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ãã—ã¦ãƒšãƒƒãƒˆã®æˆ¦é—˜èƒ½åŠ›ã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã¨åŒã˜ã§ã™ã€‚) +・/hideコマンド実装。 +・プãƒãƒœãƒƒã‚¯ã«ã‚ˆã£ã¦ä¹—算防御も減るよã†ã«ä¿®æ£ã€‚ +・フリーã‚ャストã®ãƒã‚°ä¿®æ£ã€‚ +・ノービスã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒœãƒ¼ãƒŠã‚¹å‰Šé™¤ã€‚ +・battle_athena.confã®é …ç›®è¿½åŠ ã¨å‰Šé™¤ã€‚ +・修æ£ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã ã‘。未テストã—ãŸç‰©ã‚‚ã‹ãªã‚Šã‚ã‚Šã¾ã™ã®ã§å•é¡ŒãŒã‚ã£ãŸã‚‰å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ (conf/) battle_athena.conf (doc/) conf_ref.txt - db_ref.txt ’ljÁB(¡à–¾‚ª“ü‚Á‚Ä‚¢‚é‚Ì‚Ípet_db.txt‚Ì‚Ý‚Å‚·B ) + db_ref.txt è¿½åŠ ã€‚(今説明ãŒå…¥ã£ã¦ã„ã‚‹ã®ã¯pet_db.txtã®ã¿ã§ã™ã€‚ ) client_packet.txt (db/) pet_db.txt @@ -8399,145 +8399,145 @@ Athena‚ÍÚ‘±‚·‚é‚Æ100%˜b‚·‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) -------------- //0658 by huge -Eƒyƒbƒg‚ª‚Æ‚Ç‚ß‚ð‚³‚·‚ÆAŽ”‚¢Žå‚ÉŒoŒ±’l‚ª“ü‚é‚悤‚É‚µ‚Ü‚µ‚½B -EŒÅ’è’lƒ_ƒ[ƒW‚¶‚á–¡‚ª–³‚¢‚Ì‚ÅATK1`ATK2‚ÌŠÔ‚Å—”‚ðŽæ‚é‚悤‚É‚µ‚Ü‚µ‚½B -E‚ ‚ÆAƒyƒbƒg‚ª‚Æ‚Ç‚ß‚ð‚³‚·‚©‚Ç‚¤‚©‚ÌÝ’è‚ðAbattle_athena.conf‚ɉÁ‚¦‚Ü‚µ‚½B +・ペットãŒã¨ã©ã‚ã‚’ã•ã™ã¨ã€é£¼ã„主ã«çµŒé¨“値ãŒå…¥ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ +・固定値ダメージã˜ã‚ƒå‘³ãŒç„¡ã„ã®ã§ATK1〜ATK2ã®é–“ã§ä¹±æ•°ã‚’å–るよã†ã«ã—ã¾ã—ãŸã€‚ +・ã‚ã¨ã€ãƒšãƒƒãƒˆãŒã¨ã©ã‚ã‚’ã•ã™ã‹ã©ã†ã‹ã®è¨å®šã‚’ã€battle_athena.confã«åŠ ãˆã¾ã—ãŸã€‚ (conf/) - battle_athena.conf pet_finish’ljÁB + battle_athena.conf pet_finishè¿½åŠ ã€‚ (map/) battle.c - battle_config_read() C³B - battle.h C³B + battle_config_read() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ pet.c - pet_attack() C³B + pet_attack() ä¿®æ£ã€‚ (doc/) - conf_ref.txt à–¾’Ç‹LB + conf_ref.txt 説明追記。 -------------- //0657 by huge -Eƒyƒbƒg‚É‚æ‚éUŒ‚‚ðŽÀ‘•B -Eƒyƒbƒg‚ðŽ‚Á‚Ä‚¢‚ÄAƒyƒbƒg‚ª‘•”õ•i‚ð‚‚¯‚Ä‚ÄA‚³‚ç‚Ƀ‰ƒ“ƒ_ƒ€‚É‚æ‚é”»’è‚Å”“®‚µ‚Ü‚·B -E‚½‚¾‚Ì—V‚ÑS‚Å‚·‚— -Ebattle_athena.conf‚Å•p“x‚ðÝ’è‚Å‚«‚Ü‚·BÚׂÍdoc‚ÅB +・ペットã«ã‚ˆã‚‹æ”»æ’ƒã‚’実装。 +・ペットをæŒã£ã¦ã„ã¦ã€ãƒšãƒƒãƒˆãŒè£…å‚™å“ã‚’ã¤ã‘ã¦ã¦ã€ã•ã‚‰ã«ãƒ©ãƒ³ãƒ€ãƒ ã«ã‚ˆã‚‹åˆ¤å®šã§ç™ºå‹•ã—ã¾ã™ã€‚ +・ãŸã ã®éŠã³å¿ƒã§ã™ï½— +・battle_athena.confã§é »åº¦ã‚’è¨å®šã§ãã¾ã™ã€‚詳細ã¯docã§ã€‚ (conf/) - battle_athena.conf pet_attack’ljÁB + battle_athena.conf pet_attackè¿½åŠ ã€‚ (map/) battle.c - battle_config_read() C³B - battle.h C³B + battle_config_read() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ pc.c - pc_attack_timer() C³B + pc_attack_timer() ä¿®æ£ã€‚ pet.c pet.h - pet_attack() ’ljÁB + pet_attack() è¿½åŠ ã€‚ (doc/) - conf_ref.txt à–¾’Ç‹LB + conf_ref.txt 説明追記。 - ‚Æ‚è‚ ‚¦‚¸Aƒyƒbƒg‚ª“®‚¢‚Ä‚é‚È‚Ÿ‚Á‚ÄŠ´‚¶‚ÆAƒ_ƒ‰ñ”‚ð‘‚₵‚½’ö“x‚Å‚·B + ã¨ã‚Šã‚ãˆãšã€ãƒšãƒƒãƒˆãŒå‹•ã„ã¦ã‚‹ãªãã£ã¦æ„Ÿã˜ã¨ã€ãƒ€ãƒ¡å›žæ•°ã‚’増やã—ãŸç¨‹åº¦ã§ã™ã€‚ -------------- -//0656 by Ž€_ +//0656 by æ»ç¥ž -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³B(‚¨‚¢‚¨‚¢‰½“x–Ú‚¾...) -EƒOƒ‰ƒ“ƒhƒNƒƒXŒvŽZŽ®ŠÔˆá‚¢‚ÅC³B(€3‚ª‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B) -‚Å‚à‚Ü‚¾”½ŽËƒ_ƒ[ƒW‚ª‚Ý‚·‚Ƃꑃ‚æ‚è‚¿‚å‚Á‚Æ‚‚¢‚Å‚·B(10‚®‚ç‚¢‚¾‚©‚ç -ŠÖŒW‚È‚¢‚©‚à) -Eƒ‚ƒ“ƒN‚Ì‹C‹…‚ð•K’†‚ÉC³B(Ž©•ª‚̊ԈႢ‚̂悤‚Å‚·‚Ì‚Å...) +・グランドクãƒã‚¹ã®ä¿®æ£ã€‚(ãŠã„ãŠã„何度目ã ...) +・グランドクãƒã‚¹è¨ˆç®—å¼é–“é•ã„ã§ä¿®æ£ã€‚(÷3ãŒã¾ãšã‹ã£ãŸã¿ãŸã„ã§ã™ã€‚) +ã§ã‚‚ã¾ã å射ダメージãŒã¿ã™ã¨ã‚Œå·£ã‚ˆã‚Šã¡ã‚‡ã£ã¨é«˜ã„ã§ã™ã€‚(10ãらã„ã ã‹ã‚‰ +関係ãªã„ã‹ã‚‚) +・モンクã®æ°—çƒã‚’å¿…ä¸ã«ä¿®æ£ã€‚(自分ã®é–“é•ã„ã®ã‚ˆã†ã§ã™ã®ã§...) (map/) - skill.c C³B - battle.c C³B + skill.c ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ -------------- -//0655 by Ž€_ +//0655 by æ»ç¥ž -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³B -EŽ©•ª‚È‚è‚Éî•ñ‚ðŽûW‚µ‚Ä‚Ý‚½Œ‹‰ÊƒOƒ‰ƒ“ƒhƒNƒƒX”½ŽËƒ_ƒ[ƒW‚Í -ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚ª‚»‚̃Lƒƒƒ‰Ž©g‚ɃOƒ‰ƒ“ƒhƒNƒƒX‚ðŽg‚Á‚½Žž‚Ì -ƒ_ƒ[ƒW‚¾‚»‚¤‚È‚Ì‚ÅC³‚µ‚Ü‚µ‚½B(‚Ý‚·‚Ƃꑃ‚ÌŒvŽZ‚Æ‚Í‚©‚È‚èˆá‚¤‚悤‚È -‹C‚à‚µ‚Ü‚·‚ª...) -E–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ÌUŒ‚‚É‚à‘®«‘Ï«‚ÆŽí‘°‘Ï«‚ð“K—p‚·‚é‚悤‚ÉC³B -(–{ŽI‚ÌŽd—l‚É‚ ‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·‚ª“K—p‚µ‚½•û‚ª³‚µ‚¢‚ÆŽv‚Á‚½‚Ì‚Å -C³‚µ‚Ü‚µ‚½B) +・グランドクãƒã‚¹ã®ä¿®æ£ã€‚ +・自分ãªã‚Šã«æƒ…å ±ã‚’åŽé›†ã—ã¦ã¿ãŸçµæžœã‚°ãƒ©ãƒ³ãƒ‰ã‚¯ãƒã‚¹å射ダメージ㯠+プレイヤーã‚ャラãŒãã®ã‚ャラ自身ã«ã‚°ãƒ©ãƒ³ãƒ‰ã‚¯ãƒã‚¹ã‚’使ã£ãŸæ™‚ã® +ダメージã ãã†ãªã®ã§ä¿®æ£ã—ã¾ã—ãŸã€‚(ã¿ã™ã¨ã‚Œå·£ã®è¨ˆç®—ã¨ã¯ã‹ãªã‚Šé•ã†ã‚ˆã†ãª +æ°—ã‚‚ã—ã¾ã™ãŒ...) +・é”法ã¨ãƒˆãƒ©ãƒƒãƒ—ã€é·¹ã®æ”»æ’ƒã«ã‚‚属性è€æ€§ã¨ç¨®æ—è€æ€§ã‚’é©ç”¨ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +(本鯖ã®ä»•æ§˜ã«ã‚ã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã¯ä¸æ˜Žã§ã™ãŒé©ç”¨ã—ãŸæ–¹ãŒæ£ã—ã„ã¨æ€ã£ãŸã®ã§ +ä¿®æ£ã—ã¾ã—ãŸã€‚) (map/) - skill.c C³B - map.h C³B - battle.c C³B + skill.c ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ -------------- -//0654 by Ž€_ +//0654 by æ»ç¥ž -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³‚Æׂ©‚¢C³B(ŒvŽZŽ®ŠÔˆá‚¢‚ÅC³B) -E0653‚Å‘‚«–Y‚êB‹CŒ÷‚É‚æ‚é’ljÁƒ_ƒ[ƒW‚Í•K’†‚Å‚Í‚È‚¢‚炵‚¢‚Ì‚Å -C—û‚̉ÁŽZ‚Æ“¯‚¶Š‚ÉŒvŽZ‚·‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B -EƒJ[ƒg‚ɃoƒO‚ª‚ ‚è‚»‚¤‚¾‚Á‚½‚Ì‚Å‚¿‚å‚Á‚ÆC³B -Eƒ_ƒ[ƒWŒvŽZ‚ð‚Ù‚ñ‚Ì‚µC³B(ƒ_ƒ[ƒW—Ê‚ª•Ï‚í‚Á‚½‚è‚Í‚µ‚Ü‚¹‚ñB) +・グランドクãƒã‚¹ã®ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚(計算å¼é–“é•ã„ã§ä¿®æ£ã€‚) +・0653ã§æ›¸ã忘れ。気功ã«ã‚ˆã‚‹è¿½åŠ ダメージã¯å¿…ä¸ã§ã¯ãªã„らã—ã„ã®ã§ +修練ã®åŠ ç®—ã¨åŒã˜æ‰€ã«è¨ˆç®—ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ +・カートã«ãƒã‚°ãŒã‚ã‚Šãã†ã ã£ãŸã®ã§ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚ +・ダメージ計算をã»ã‚“ã®å°‘ã—ä¿®æ£ã€‚(ダメージé‡ãŒå¤‰ã‚ã£ãŸã‚Šã¯ã—ã¾ã›ã‚“。) (map/) battle.c - battle_calc_magic_attack() C³B - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - skill.c - pc_damage_feedback() -> skill_damage_feedback()‚É•ÏXB - skill_unit_timer() C³B - pc.c - pc_setoption() C³B - atcommand.c C³B - --------------- -//0653 by Ž€_ - -E0652‚ÌC³‚Æׂ©‚¢C³B¡‚Ü‚Å’Ê‚è–¢ƒeƒXƒg‚à‘½‚¢‚Å‚·B -EƒOƒ‰ƒ“ƒhƒNƒƒX‚̈—C³B(–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ÌŽ©g‚Í‚ ‚è‚Ü‚¹‚ñB) -ƒ‰ƒOƒi[ƒQ[ƒg‚Ìà–¾‚É‚æ‚é‚ÆŽn‚ß‚ÉŒ»ÝHP‚Ì20%‚ªÁ–Õ‚³‚ê‚Ä‚»‚ÌŒã“G‚É—^‚¦‚½ -ƒ_ƒ[ƒW‚Ì’†‚ňê”Ô‚‚¢•¨‚ª–ß‚Á‚Ä‚‚é‚悤‚Å‚·B‚»‚µ‚Ä‚»‚Ì–ß‚Á‚Ä‚«‚½ -ƒ_ƒ[ƒW‚͹‚Ì‘®«‚ðŽ‚¿ƒgƒ‰ƒXƒg‚É‚æ‚Á‚Ĺ‚Ì‘Ï«‚ª50%‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Å -”¼•ª‚ð‹ò‚炤‚±‚Æ‚É‚È‚é‚悤‚Å‚·B(¹‚̑ϫオ‚é‘•”õ‚ð‚µ‚Ä‚¢‚ê‚Ζ߂Á‚Ä‚‚é -ƒ_ƒ[ƒW‚͎󂯂Ȃ¢‚悤‚Å‚·B) -–â‘è‚Ȃ̂̓vƒŒƒCƒ„[‚Ì–hŒä‘®«‚ðŒvŽZ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B¡‚Í–hŒä‘®«ŒvŽZ‚Ì -Œã‚Ź‚Ì‘®«‚ðŒvŽZ‚µ‚Ä‚¢‚Ü‚·B‚»‚µ‚Ä–ß‚Á‚Ä‚‚éƒ_ƒ[ƒW‚ÍHPƒo[‚ÍŒ¸‚邯‚Ç -•\Ž¦‚Í‚³‚ê‚Ü‚¹‚ñB–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚©•s–¾‚È‚Ì‚Å... -‚»‚ê‚ƈꉞƒ‚ƒ“ƒXƒ^[‚àƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌŽg—p‚ª‰Â”\‚Å‚·B‚½‚¾ƒ‚ƒ“ƒXƒ^[‚Ìê‡ -Œ»ÝHP‚Ì20%Á–Õ‚ÌŒã‚̃_ƒ[ƒW‚͎󂯂܂¹‚ñB(ƒ‚ƒ“ƒXƒ^[‚ªŽg‚¤ -ƒOƒ‰ƒ“ƒhƒNƒƒX‚̃eƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB) -Eƒ_ƒ[ƒW‚É‚æ‚éƒfƒBƒŒƒC’†‚É‚Ü‚½ƒfƒBƒŒƒC‚ª‚©‚©‚ç‚È‚¢‚悤‚ÉC³B(‘債‚½ˆÓ–¡‚Í‚È‚¢‚©‚à...) -E’l’i‚ªƒ[ƒ‚̃AƒCƒeƒ€‚à”„‚ê‚é‚悤‚É•ÏXB -E@ƒRƒ}ƒ“ƒhheal‚̈—‚µC³B -EˆÚ“®ƒR[ƒh‚µC³B + battle_calc_magic_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + skill.c + pc_damage_feedback() -> skill_damage_feedback()ã«å¤‰æ›´ã€‚ + skill_unit_timer() ä¿®æ£ã€‚ + pc.c + pc_setoption() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ + +-------------- +//0653 by æ»ç¥ž + +・0652ã®ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚今ã¾ã§é€šã‚Šæœªãƒ†ã‚¹ãƒˆã‚‚多ã„ã§ã™ã€‚ +・グランドクãƒã‚¹ã®å‡¦ç†ä¿®æ£ã€‚(本鯖ã«ã‚ã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã®è‡ªèº«ã¯ã‚ã‚Šã¾ã›ã‚“。) +ラグナーゲートã®èª¬æ˜Žã«ã‚ˆã‚‹ã¨å§‹ã‚ã«ç¾åœ¨HPã®20%ãŒæ¶ˆè€—ã•ã‚Œã¦ãã®å¾Œæ•µã«ä¸ŽãˆãŸ +ダメージã®ä¸ã§ä¸€ç•ªé«˜ã„物ãŒæˆ»ã£ã¦ãるよã†ã§ã™ã€‚ãã—ã¦ãã®æˆ»ã£ã¦ã㟠+ダメージã¯è–ã®å±žæ€§ã‚’æŒã¡ãƒˆãƒ©ã‚¹ãƒˆã«ã‚ˆã£ã¦è–ã®è€æ€§ãŒ50%ã«ãªã£ã¦ã„ã‚‹ã®ã§ +åŠåˆ†ã‚’喰らã†ã“ã¨ã«ãªã‚‹ã‚ˆã†ã§ã™ã€‚(è–ã®è€æ€§ä¸ŠãŒã‚‹è£…備をã—ã¦ã„ã‚Œã°æˆ»ã£ã¦ãã‚‹ +ダメージã¯å—ã‘ãªã„よã†ã§ã™ã€‚) +å•é¡Œãªã®ã¯ãƒ—レイヤーã®é˜²å¾¡å±žæ€§ã‚’計算ã™ã‚‹ã‹ã©ã†ã‹ã§ã™ã€‚今ã¯é˜²å¾¡å±žæ€§è¨ˆç®—ã® +後ã§è–ã®å±žæ€§ã‚’計算ã—ã¦ã„ã¾ã™ã€‚ãã—ã¦æˆ»ã£ã¦ãるダメージã¯HPãƒãƒ¼ã¯æ¸›ã‚‹ã‘ã© +表示ã¯ã•ã‚Œã¾ã›ã‚“。本鯖ã®æ–¹ãŒã©ã†ãªã®ã‹ä¸æ˜Žãªã®ã§... +ãã‚Œã¨ä¸€å¿œãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚‚グランドクãƒã‚¹ã®ä½¿ç”¨ãŒå¯èƒ½ã§ã™ã€‚ãŸã モンスターã®å ´åˆ +ç¾åœ¨HPã®20%消耗ã®å¾Œã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã¯å—ã‘ã¾ã›ã‚“。(モンスターãŒä½¿ã† +グランドクãƒã‚¹ã®ãƒ†ã‚¹ãƒˆã¯ã—ã¦ã¾ã›ã‚“。) +・ダメージã«ã‚ˆã‚‹ãƒ‡ã‚£ãƒ¬ã‚¤ä¸ã«ã¾ãŸãƒ‡ã‚£ãƒ¬ã‚¤ãŒã‹ã‹ã‚‰ãªã„よã†ã«ä¿®æ£ã€‚(大ã—ãŸæ„味ã¯ãªã„ã‹ã‚‚...) +・値段ãŒã‚¼ãƒã®ã‚¢ã‚¤ãƒ†ãƒ も売れるよã†ã«å¤‰æ›´ã€‚ +・@コマンドhealã®å‡¦ç†å°‘ã—ä¿®æ£ã€‚ +・移動コード少ã—ä¿®æ£ã€‚ (map/) clif.c - clif_selllist() C³B + clif_selllist() ä¿®æ£ã€‚ battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B - skill.c - skill_additional_effect()Askill_unit_onplace() C³B - skill_status_change_start()Askill_unit_onplace() C³B - skill_castend_damage_id()Askill_castend_id()Askill_attack() C³B - skill_unitsetting()Askill_check_condition() C³B - skill_use_id()Askill_use_pos() C³B + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_magic_attack()ã€battle_calc_misc_attack() ä¿®æ£ã€‚ + skill.c + skill_additional_effect()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_status_change_start()ã€skill_unit_onplace() ä¿®æ£ã€‚ + skill_castend_damage_id()ã€skill_castend_id()ã€skill_attack() ä¿®æ£ã€‚ + skill_unitsetting()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ npc.c - npc_parse_script() C³B - pc.h C³B + npc_parse_script() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_walk()Apc_walktoxy_sub()Apc_stop_walking() C³B - map.h C³B - mob.h C³B + pc_walk()ã€pc_walktoxy_sub()ã€pc_stop_walking() ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ mob.c - mob_stop_walking()Amob_changestate()Amob_walk() C³B + mob_stop_walking()ã€mob_changestate()ã€mob_walk() ä¿®æ£ã€‚ pet.c - pet_changestate() C³B - atcommand.c C³B + pet_changestate() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ (db/) - skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B - cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B + skill_db.txt グランドクãƒã‚¹ä¿®æ£ã€‚ + cast_db.txt グランドクãƒã‚¹ä¿®æ£ã€‚ -------------- -//0652 by ŒŽ‰r‚Ý +//0652 by æœˆè© ã¿ -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰¼ŽÀ‘• +・グランドクãƒã‚¹ã‚’仮実装 (db/) skill_db.txt cast_db.txt @@ -8554,44 +8554,44 @@ Athena‚ÍÚ‘±‚·‚é‚Æ100%˜b‚·‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) skill_check_condition -------------- -//0651 by ”g˜Q +//0651 by 波浪 -Eitem_db.txt‚ðC³ +・item_db.txtã‚’ä¿®æ£ (db/) item_db.txt - ‘•”õ•i‚̃AƒCƒeƒ€Œø‰Ê‚ðC³ + 装備å“ã®ã‚¢ã‚¤ãƒ†ãƒ åŠ¹æžœã‚’ä¿®æ£ -------------- -//0650 by Ž€_ +//0650 by æ»ç¥ž -EŽO’i¶‚Ì”“®ðŒ‚ð‹|‚Æ“ñ“—¬ˆÈŠO‚É•ÏXB -E•\Ž¦‚ð‚¹‚¸‚É“à•”‚ň—‚¾‚¯‚·‚éNPC‚ÌCLASS‚ð111‚©‚ç32767‚É•ÏXB -Eׂ©‚¢C³B +・三段掌ã®ç™ºå‹•æ¡ä»¶ã‚’弓ã¨äºŒåˆ€æµä»¥å¤–ã«å¤‰æ›´ã€‚ +・表示をã›ãšã«å†…部ã§å‡¦ç†ã ã‘ã™ã‚‹NPCã®CLASSã‚’111ã‹ã‚‰32767ã«å¤‰æ›´ã€‚ +・細ã‹ã„ä¿®æ£ã€‚ (map/) clif.c - clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() C³B - npc.h C³B + clif_getareachar_npc()ã€clif_spawnnpc()ã€clif_pcoutsight() ä¿®æ£ã€‚ + npc.h ä¿®æ£ã€‚ battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ -------------- -//0649 by ”g˜Q +//0649 by 波浪 -EDB‚ÆDOCC³ +・DBã¨DOCä¿®æ£ (db/) item_db.txt - ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚È‚Ì‚ÅAŠØ‘‚̃f[ƒ^‚É‚ ‚킹‚Ä•—‘®«‚Å‚Í‚È‚‚µ‚Ü‚·B + グングニールã¯LV4æ¦å™¨ãªã®ã§ã€éŸ“国ã®ãƒ‡ãƒ¼ã‚¿ã«ã‚ã‚ã›ã¦é¢¨å±žæ€§ã§ã¯ãªãã—ã¾ã™ã€‚ mob_db.txt size_fix.txt - ŠyŠí‚Í‘åŒ^‚ɑ΂µ‚Ä75%‚¾‚»‚¤‚Å‚·B + 楽器ã¯å¤§åž‹ã«å¯¾ã—ã¦75%ã ãã†ã§ã™ã€‚ (doc/) item_bonus.txt -------------- -//0648 by Ž€_ +//0648 by æ»ç¥ž -EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚ÆŽI‚ª—Ž‚¿‚é–â‘èC³B(itemdb‚̉Šú‰»‚ðnpc‚æ‚è -æ‚É‚·‚é‚悤‚É•ÏXB) ‚»‚ꂾ‚¯‚Å‚·B +・ショップã®å€¤æ®µã«-を入れるã¨é¯–ãŒè½ã¡ã‚‹å•é¡Œä¿®æ£ã€‚(itemdbã®åˆæœŸåŒ–ã‚’npcより +å…ˆã«ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚) ãã‚Œã ã‘ã§ã™ã€‚ (map/) map.c do_init() @@ -8599,474 +8599,474 @@ Athena‚ÍÚ‘±‚·‚é‚Æ100%˜b‚·‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) -------------- //0647 by nini -Eitem_dbC³ -EƒXƒiƒbƒ`ƒƒ[Žd—l•ÏXB‹|ˆÈŠO‚Ì‚·‚ׂĂ̕Ší‚Åo‚é‚悤‚É‚È‚Á‚Ä‚Ü‚·B +・item_dbä¿®æ£ +・スナッãƒãƒ£ãƒ¼ä»•æ§˜å¤‰æ›´ã€‚弓以外ã®ã™ã¹ã¦ã®æ¦å™¨ã§å‡ºã‚‹ã‚ˆã†ã«ãªã£ã¦ã¾ã™ã€‚ (/map/) battle.c - ŽO’i¶‚Ì”“®ðŒ’ljÁ + 三段掌ã®ç™ºå‹•æ¡ä»¶è¿½åŠ skill.c - ƒXƒiƒbƒ`ƒƒ[‚Ì”“®ðŒ’ljÁ + スナッãƒãƒ£ãƒ¼ã®ç™ºå‹•æ¡ä»¶è¿½åŠ (/db/) item_db.txt - ƒVƒ‹ƒNƒnƒbƒg‚ÉSP㸒ljÁ + シルクãƒãƒƒãƒˆã«SPä¸Šæ˜‡è¿½åŠ -------------- //0646 by last -Eitem_db.txt‚ÌC³(‘®«ŠÖ˜A) +・item_db.txtã®ä¿®æ£(属性関連) (/db/) item_db.txt -------------- -//0645 by ‚é‚é‚éi•ree_ronj +//0645 by るるる(&ree_ron) -Eitem_value_db.txt‚ɃfƒBƒXƒJƒEƒ“ƒg•ƒI[ƒo[ƒ`ƒƒ[ƒW“™‚̃XƒLƒ‹‚É‚æ‚鉿Ši•Ï“®‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚̃tƒ‰ƒOƒƒ“ƒg‚ð’ljÁB -@ŽÀÛ‚ÌŒ`Ž®‚̓Tƒ“ƒvƒ‹‚Æ‚µ‚Ä—pˆÓ‚µ‚½item_value_db.sample.txt‚ðŒ©‚Ä‚‚¾‚³‚¢Biݒ艿Ši‚ÍŠ®‘S‚É“Æ’f‚Æ•ÎŒ©‚Å‚·j -@“¯—l‚̃Tƒ“ƒvƒ‹‚Æ‚µ‚Ä‚m‚o‚bÝ’uƒXƒNƒŠƒvƒg‚à“Y•t‚µ‚Ä‚¨‚«‚Ü‚·B -Eitem_value_db.txt‚̃AƒCƒeƒ€‰¿ŠiÝ’è‚ÅA”„’l‚Æ”ƒ’l‚ÌÝ’è‚ð“Æ—§Biitem_db.txt‚Í]—ˆ‚Ç‚¨‚蔃’l‚Í”„’l‚Ì”¼Šz‚Æ‚µ‚ÄŽ©“®ˆ—j -E‚m‚o‚bƒVƒ‡ƒbƒv‚É‚ÄA‚P‚m‚o‚b‚ňµ‚¦‚éƒAƒCƒeƒ€”‚ðÅ‘å64‚©‚çÅ‘å100‚É•ÏXBiƒNƒ‰Ž©‘Ì‚Í120‚®‚ç‚¢‚܂ʼn”\‚Å‚·‚ªj +・item_value_db.txtã«ãƒ‡ã‚£ã‚¹ã‚«ã‚¦ãƒ³ãƒˆï¼†ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ç‰ã®ã‚¹ã‚ルã«ã‚ˆã‚‹ä¾¡æ ¼å¤‰å‹•ã‚’å—ã‘ã‚‹ã‹ã©ã†ã‹ã®ãƒ•ãƒ©ã‚°ãƒ¡ãƒ³ãƒˆã‚’è¿½åŠ ã€‚ + 実際ã®å½¢å¼ã¯ã‚µãƒ³ãƒ—ルã¨ã—ã¦ç”¨æ„ã—ãŸitem_value_db.sample.txtを見ã¦ãã ã•ã„。(è¨å®šä¾¡æ ¼ã¯å®Œå…¨ã«ç‹¬æ–ã¨å見ã§ã™ï¼‰ + åŒæ§˜ã®ã‚µãƒ³ãƒ—ルã¨ã—ã¦ï¼®ï¼°ï¼£è¨ç½®ã‚¹ã‚¯ãƒªãƒ—トも添付ã—ã¦ãŠãã¾ã™ã€‚ +・item_value_db.txtã®ã‚¢ã‚¤ãƒ†ãƒ ä¾¡æ ¼è¨å®šã§ã€å£²å€¤ã¨è²·å€¤ã®è¨å®šã‚’独立。(item_db.txtã¯å¾“æ¥ã©ãŠã‚Šè²·å€¤ã¯å£²å€¤ã®åŠé¡ã¨ã—ã¦è‡ªå‹•å‡¦ç†ï¼‰ +・NPCショップã«ã¦ã€ï¼‘NPCã§æ‰±ãˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ 数を最大64ã‹ã‚‰æœ€å¤§100ã«å¤‰æ›´ã€‚(クラ自体ã¯120ãらã„ã¾ã§å¯èƒ½ã§ã™ãŒï¼‰ (/db) item_value_db.txt - ƒJƒ‰ƒ€”‚ð®—‚µ‚½‚¾‚¯‚Å‚·B“à—e‚Í‚Ü‚Á‚½‚•ÏX‚µ‚Ä‚¢‚Ü‚¹‚ñB + カラム数を整ç†ã—ãŸã ã‘ã§ã™ã€‚内容ã¯ã¾ã£ãŸã変更ã—ã¦ã„ã¾ã›ã‚“。 (/map/) clif.c - clif_buylist() clif_selllist() •ÏX + clif_buylist() clif_selllist() 変更 itemdb.h - item_data \‘¢‘Ì•ÏX - itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() ƒ}ƒNƒ’ljÁ + item_data æ§‹é€ ä½“å¤‰æ›´ + itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() マクãƒè¿½åŠ itemdb.c - itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() •ÏX - itemdb_sellvalue() íœ + itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() 変更 + itemdb_sellvalue() 削除 npc.c - npc_buylist() npc_selllist() npc_parse_shop() •ÏX + npc_buylist() npc_selllist() npc_parse_shop() 変更 (/sample/) - ƒIƒ}ƒP‚Å‚·BŽŸ‰ñSnapShot‚É‚ÍŠÜ‚Ü‚È‚¢‚Å‹X‚µ‚¢‚Å‚·B + オマケã§ã™ã€‚次回SnapShotã«ã¯å«ã¾ãªã„ã§å®œã—ã„ã§ã™ã€‚ -ƒRƒƒ“ƒg -Œ´Œ^‚ÍŽ„‚Ì—Flree_ron‚ªs‚¢AŽ„‚ªX‚Éׂ©‚¢ƒ~ƒX‚𒼂µ‚½‚¾‚¯‚Å‚·‚ªAƒeƒXƒg‚Í‚µ‚Ü‚µ‚½‚Ì‚Å‘åä•v‚Å‚µ‚傤B -Œ³X‚±‚̈—‚𓱓ü‚·‚é——R‚Æ‚µ‚ÄA“Á’èƒAƒCƒeƒ€‚Ì”„’l‚ª1zŒÅ’è‚É‚Å‚«‚È‚¢‚à‚Ì‚©A‚Æ‚¢‚¤“_‚¾‚Á‚½‚©‚ç‚Å‚·B -‚»‚µ‚Ä‚â‚Á‚Ä‚¢‚‚¤‚¿‚ÉA‚m‚o‚bƒVƒ‡ƒbƒv‚ð—˜—p‚µ‚½ƒŒƒAƒAƒCƒeƒ€‚̔̔„‚Æ‚©‚Å–{ŽI˜I“X‚É‹ß‚¢‚±‚Æ‚ªo—ˆ‚é‚Ì‚Å‚Í‚È‚¢‚©A -‚Æ‚¢‚¤‚±‚Æ‚ª”»‚Á‚Ä‚«‚½‚킯‚Å‚·B -‚»‚ê‚ňꉞ‚̓f[ƒ^‚ð—pˆÓ‚µ‚Ü‚µ‚½‚ªA‚ ‚‚Ü‚Å‚àƒTƒ“ƒvƒ‹‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚‚¾‚³‚¢B‚à‚µ‰Â”\‚È‚ç‚ÎA -‚³‚ç‚ÉC³‚ð‰Á‚¦‚ăAƒeƒi“ÆŽ©‚Æ‚µ‚Ä–{Ì—p‚Æ‚µ‚½ƒf[ƒ^‚ðƒpƒbƒ`ƒAƒbƒv‚µ‚Ä‚‚ê‚ê‚΂ƂàŽv‚¢‚Ü‚·‚ª‚— +コメント +原型ã¯ç§ã®å‹äººree_ronãŒè¡Œã„ã€ç§ãŒæ›´ã«ç´°ã‹ã„ミスを直ã—ãŸã ã‘ã§ã™ãŒã€ãƒ†ã‚¹ãƒˆã¯ã—ã¾ã—ãŸã®ã§å¤§ä¸ˆå¤«ã§ã—ょã†ã€‚ +元々ã“ã®å‡¦ç†ã‚’å°Žå…¥ã™ã‚‹ç†ç”±ã¨ã—ã¦ã€ç‰¹å®šã‚¢ã‚¤ãƒ†ãƒ ã®å£²å€¤ãŒ1z固定ã«ã§ããªã„ã‚‚ã®ã‹ã€ã¨ã„ã†ç‚¹ã ã£ãŸã‹ã‚‰ã§ã™ã€‚ +ãã—ã¦ã‚„ã£ã¦ã„ãã†ã¡ã«ã€ï¼®ï¼°ï¼£ã‚·ãƒ§ãƒƒãƒ—を利用ã—ãŸãƒ¬ã‚¢ã‚¢ã‚¤ãƒ†ãƒ ã®è²©å£²ã¨ã‹ã§æœ¬é¯–露店ã«è¿‘ã„ã“ã¨ãŒå‡ºæ¥ã‚‹ã®ã§ã¯ãªã„ã‹ã€ +ã¨ã„ã†ã“ã¨ãŒåˆ¤ã£ã¦ããŸã‚ã‘ã§ã™ã€‚ +ãã‚Œã§ä¸€å¿œã¯ãƒ‡ãƒ¼ã‚¿ã‚’用æ„ã—ã¾ã—ãŸãŒã€ã‚ãã¾ã§ã‚‚サンプルã¨ã—ã¦åˆ©ç”¨ã—ã¦ãã ã•ã„。もã—å¯èƒ½ãªã‚‰ã°ã€ +ã•ã‚‰ã«ä¿®æ£ã‚’åŠ ãˆã¦ã‚¢ãƒ†ãƒŠç‹¬è‡ªã¨ã—ã¦æœ¬æŽ¡ç”¨ã¨ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’パッãƒã‚¢ãƒƒãƒ—ã—ã¦ãれれã°ã¨ã‚‚æ€ã„ã¾ã™ãŒï½— -------------- //0644 by nini -EDB‚̊ԈႢA643‚ŒljÁ‚³‚ꂽƒXƒNƒŠƒvƒg’ljÁB +・DBã®é–“é•ã„ã€643ã§è¿½åŠ ã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ ã€‚ (/db/) item_db.txt cast_db.txt - ƒ`ƒƒ[ƒWƒAƒ[‚̃LƒƒƒXƒg’ljÁB + ãƒãƒ£ãƒ¼ã‚¸ã‚¢ãƒãƒ¼ã®ã‚ãƒ£ã‚¹ãƒˆè¿½åŠ ã€‚ exp_guild.txt - 46-50‚Ü‚Å‚Ìexp”²‚¯‚ɒljÁB + 46-50ã¾ã§ã®exp抜ã‘ã«è¿½åŠ 。 size_fix.txt - ŠyŠíA•ÚAƒiƒbƒNƒ‹‚̃TƒCƒY•â³C³B - --------------- -//0643 by Ž€_ - -EFX‚ÆC³B -EbMVPaddAtkRateíœBbAddRace‚ň—‚·‚é‚悤‚É•ÏXB -EbIgnoreDefEle‚ÆbIgnoreDefRace’ljÁB -bonus bIgnoreDefEle,n; n‘®«‚Ì“G‚Ì–hŒä–³Ž‹ -bonus bIgnoreDefRace,n; nŽí‘°‚Ì“G‚Ì–hŒä–³Ž‹ -EbMatkRate’ljÁB–‚–@UŒ‚—Í‚ð+n%ã‚°‚Ü‚·B‚æ‚Á‚Äbattle.c‚ÅŒvŽZ‚µ‚Ä‚¢‚½ƒƒbƒh‚É‚æ‚é–‚–@UŒ‚—Í‘•‚ÌŒvŽZ‚Í‚È‚‚µ‚Ü‚µ‚½BƒXƒe[ƒ^ƒX‰æ–Ê‚Éオ‚Á‚½”’l‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñBƒ_ƒ[ƒWŒvŽZ‚ÌŽž‚É“K—p‚µ‚Ä‚¢‚Ü‚·B -EbCriticalDef‚É-‚ð“ü‚ê‚é‚ƃNƒŠƒeƒBƒJƒ‹‚ð‹ò‚炤Šm—¦‚ªã‚ª‚é‚悤‚É•ÏXB -ENPC”Ô†111‚Í“§–¾NPC‚Å‚·‚ª—Ž‚Æ‚µŒŠ“™‚Ì‚±‚Æ‚ðl‚¦‚Ä•\Ž¦‚ðˆêØ‚¹‚¸‚É -“à•”‚ň—‚¾‚¯‚·‚é‚悤‚É•ÏXB(flag‚ðŽg‚¤‚Ɖ½‚Æ‚©‚È‚è‚»‚¤‚Å‚·‚ª‚»‚Ì -ˆ—‚ª‘S‘R‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“§–¾NPC‚ɃNƒŠƒbƒN‚â–¼‘O‚Ì•\Ž¦‚à‚Å‚«‚È‚¢‚悤‚É•ÏX‚µ‚Ü‚µ‚½B) -EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚Æitem_db.txt‚à‚µ‚‚Íitem_value_db.txt‚Ì•¨‚ðŽg‚¤‚悤‚É•ÏXB -EƒXƒLƒ‹ƒ‹ƒAƒt‚̃GƒtƒFƒNƒg‚ªƒTƒCƒg‚Æ“¯‚¶‚¾‚Á‚½‚Ì‚ÅC³B‚‚¢‚łɃ‹ƒAƒt‚Ì -ƒ_ƒ[ƒW‚àC³B -E‚Ý‚·‚Ƃꑃ‚É‚æ‚é‚ƃ‚ƒ“ƒXƒ^[î•ñ‚Å•\Ž¦‚³‚ê‚é–hŒä‚Æ–‚–@–hŒä‚ÍæŽZ‚Å‚Í‚È‚Œ¸ŽZ‚Ý‚½‚¢‚È‚Ì‚ÅC³B -E‘¼—Í–{Šè‚Å‚·‚ªitem_db.txt‚ÌC³‚ð‚¨Šè‚¢‚µ‚Ü‚·B(‘S‚Ẵƒbƒh‚Ébonus bMatkRate,15; ‚ð“ü‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·B‚»‚Ì‘¼‚ÌC³‚à•K—v‚Å‚·B) -EƒeƒXƒg‚µ‚Ä‚¢‚È‚¢•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚‚¾‚³‚¢B - (map/) - map.h C³B + 楽器ã€éžã€ãƒŠãƒƒã‚¯ãƒ«ã®ã‚µã‚¤ã‚ºè£œæ£ä¿®æ£ã€‚ + +-------------- +//0643 by æ»ç¥ž + +・色々ã¨ä¿®æ£ã€‚ +・bMVPaddAtkRate削除。bAddRaceã§å‡¦ç†ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・bIgnoreDefEleã¨bIgnoreDefRaceè¿½åŠ ã€‚ +bonus bIgnoreDefEle,n; n属性ã®æ•µã®é˜²å¾¡ç„¡è¦– +bonus bIgnoreDefRace,n; n種æ—ã®æ•µã®é˜²å¾¡ç„¡è¦– +・bMatkRateè¿½åŠ ã€‚é”法攻撃力を+n%上ã’ã¾ã™ã€‚よã£ã¦battle.cã§è¨ˆç®—ã—ã¦ã„ãŸãƒãƒƒãƒ‰ã«ã‚ˆã‚‹é”法攻撃力増幅ã®è¨ˆç®—ã¯ãªãã—ã¾ã—ãŸã€‚ステータス画é¢ã«ä¸ŠãŒã£ãŸæ•°å€¤ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。ダメージ計算ã®æ™‚ã«é©ç”¨ã—ã¦ã„ã¾ã™ã€‚ +・bCriticalDefã«-を入れるã¨ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«ã‚’喰らã†ç¢ºçŽ‡ãŒä¸ŠãŒã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・NPC番å·111ã¯é€æ˜ŽNPCã§ã™ãŒè½ã¨ã—ç©´ç‰ã®ã“ã¨ã‚’考ãˆã¦è¡¨ç¤ºã‚’一切ã›ãšã« +内部ã§å‡¦ç†ã ã‘ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(flagを使ã†ã¨ä½•ã¨ã‹ãªã‚Šãã†ã§ã™ãŒãã® +処ç†ãŒå…¨ç„¶ã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§é€æ˜ŽNPCã«ã‚¯ãƒªãƒƒã‚¯ã‚„åå‰ã®è¡¨ç¤ºã‚‚ã§ããªã„よã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚) +・ショップã®å€¤æ®µã«-を入れるã¨item_db.txtã‚‚ã—ãã¯item_value_db.txtã®ç‰©ã‚’使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ +・スã‚ルルアフã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒã‚µã‚¤ãƒˆã¨åŒã˜ã ã£ãŸã®ã§ä¿®æ£ã€‚ã¤ã„ã§ã«ãƒ«ã‚¢ãƒ•ã® +ダメージも修æ£ã€‚ +・ã¿ã™ã¨ã‚Œå·£ã«ã‚ˆã‚‹ã¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã§è¡¨ç¤ºã•ã‚Œã‚‹é˜²å¾¡ã¨é”法防御ã¯ä¹—ç®—ã§ã¯ãªã減算ã¿ãŸã„ãªã®ã§ä¿®æ£ã€‚ +・他力本願ã§ã™ãŒitem_db.txtã®ä¿®æ£ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚(å…¨ã¦ã®ãƒãƒƒãƒ‰ã«bonus bMatkRate,15; を入れる必è¦ãŒã‚ã‚Šã¾ã™ã€‚ãã®ä»–ã®ä¿®æ£ã‚‚å¿…è¦ã§ã™ã€‚) +・テストã—ã¦ã„ãªã„物もã‹ãªã‚Šã‚ã‚Šã¾ã™ã®ã§å•é¡ŒãŒã‚ã£ãŸã‚‰å ±å‘Šã—ã¦ãã ã•ã„。 + (map/) + map.h ä¿®æ£ã€‚ map.c - map_quit() C³B - pc.h C³B + map_quit() ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ pc.c - pc_walk()Apc_stop_walking()Apc_setpos()Apc_authok() C³B - pc_calcstatus()Apc_bonus()Apc_natural_heal_sub() C³B - npc.h C³B + pc_walk()ã€pc_stop_walking()ã€pc_setpos()ã€pc_authok() ä¿®æ£ã€‚ + pc_calcstatus()ã€pc_bonus()ã€pc_natural_heal_sub() ä¿®æ£ã€‚ + npc.h ä¿®æ£ã€‚ npc.c - npc_touch_areanpc()Anpc_parse_shop() C³B + npc_touch_areanpc()ã€npc_parse_shop() ä¿®æ£ã€‚ clif.c - clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() C³B - clif_skill_estimation() C³B + clif_quitsave()ã€clif_getareachar_npc()ã€clif_spawnnpc() ä¿®æ£ã€‚ + clif_skill_estimation() ä¿®æ£ã€‚ battle.c - battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_mob_weapon_attack() C³B + battle_calc_magic_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ mob.c - mobskill_use() C³B + mobskill_use() ä¿®æ£ã€‚ skill.c - skill_status_change_end()Askill_status_change_timer() C³B - skill_status_change_start() C³B + skill_status_change_end()ã€skill_status_change_timer() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ (db/) - const.txt C³B + const.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B + item_bonus.txt ä¿®æ£ã€‚ -------------- -//0642 by Ž€_ +//0642 by æ»ç¥ž -E‘•”õƒoƒOC³B(‚»‚ꂾ‚¯) +・装備ãƒã‚°ä¿®æ£ã€‚(ãã‚Œã ã‘) (map/) pc.c - pc_authok()Apc_checkitem() C³B + pc_authok()ã€pc_checkitem() ä¿®æ£ã€‚ -------------- -//0641 by Ž€_ +//0641 by æ»ç¥ž -EbAspdRate‚ÆbSpeedRate‚̃oƒOC³B(‚»‚ꂾ‚¯)0640‚ÅŒvŽZ‚ð‚¿‚å‚Á‚Æ•Ï‚¦‚ÄŒ©‚Ü‚µ‚½‚ª‚»‚ꂪ‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B¡“x‚àŒvŽZŽ®‚ð•Ï‚¦‚Ü‚µ‚½‚ª‚à‚¤‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B(‘½•ª) +・bAspdRateã¨bSpeedRateã®ãƒã‚°ä¿®æ£ã€‚(ãã‚Œã ã‘)0640ã§è¨ˆç®—ã‚’ã¡ã‚‡ã£ã¨å¤‰ãˆã¦è¦‹ã¾ã—ãŸãŒãã‚ŒãŒã¾ãšã‹ã£ãŸã¿ãŸã„ã§ã™ã€‚今度も計算å¼ã‚’変ãˆã¾ã—ãŸãŒã‚‚ã†å¤§ä¸ˆå¤«ã ã¨æ€ã„ã¾ã™ã€‚(多分) (map/) pc.c - pc_calcstatus()Apc_bonus()Apc_delitem() + pc_calcstatus()ã€pc_bonus()ã€pc_delitem() -------------- -//0640 by Ž€_ +//0640 by æ»ç¥ž -EƒoƒOC³‚Æ‚µC³B -E‚Ý‚·‚Ƃꑃ‚ðŽQl‚µ‚ă_ƒ[ƒWŒvŽZ‚ð‚µC³B -Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) -EƒLƒƒƒ‰‚ÌHP‚ÆSP‚ð2byte‚©‚ç4byte‚É•ÏXB(ƒeƒXƒg‚Í‚µ‚Ä‚¢‚Ü‚·‚ªƒoƒO‚ªo‚é -‰Â”\«‚à‚©‚È‚è‚ ‚è‚Ü‚·B‚½‚¾ƒLƒƒƒ‰ƒZƒŒƒNƒg‰æ–Ê‚ÅHP‚âSP‚ª32768‚ð‰z‚¦‚鎞 -•\Ž¦‚Í32768‚ɂȂ邯‚Ç“à•”‚̈—‚ͳí‚É“®‚«‚Ü‚·‚Ì‚Å‚»‚ê‚̓oƒO‚Å‚Í‚ ‚è‚Ü‚¹‚ñB -ƒpƒPƒbƒg‚Ì’·‚³‚Ì‚¹‚¢‚Å‚»‚êˆÈŠOŽè’i‚ª‚È‚©‚Á‚½‚Ì‚Å...) -EbCriticalDef(ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢Šm—¦+n%)‚̈—•ÏXB100‚É‚·‚ê‚Î -ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢‚悤‚É‚È‚è‚Ü‚·B) -EbInnerAtk‚ðbBaseAtk‚É•ÏXB‚Ý‚·‚Ƃꑃ‚ŃJ[ƒh‚ÌUŒ‚‚ÍŠî–{UŒ‚—Í‚Ì•û‚É‘«‚³‚ê‚é‚Æ‚ ‚è‚Ü‚µ‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½B¡“x‚Íオ‚Á‚½UŒ‚—Í‚ª•\Ž¦‚³‚ê‚Ü‚·B -EbDoubleRate‚̈—•ÏXBŠm—¦‚ð‘«‚³‚¸‚Ɉê”Ô‚‚¢•¨‚¾‚¯“K—p‚µ‚Ü‚·B‚»‚ê‚ƶŽè -‘•”õ‚Ìꇖ³Ž‹‚·‚é‚悤‚É•ÏX‚µ‚Ü‚½B(¶Žè‚̓_ƒuƒ‹‚ª“K—p‚³‚ê‚Ü‚¹‚ñ‚Ì‚Å) -EbDoubleAddRate’ljÁB‹@”\‚̓_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦+n%(•Ší–³Ž‹)‚Å‚·B -¶Žè‘•”õ‚Í–³Ž‹‚³‚ê‚Ü‚·B -E0635‚ÅUŒ‚—Í•\Ž¦‚ð–{ŽI‚É‚ ‚킹‚Ü‚µ‚½B‚»‚µ‚Ä¡“x‚Í‹|‚¾‚¯‚Å‚Í‚È‚ -ŠyŠí‚ƃ€ƒ`‚àdex‚É‚æ‚Á‚ÄUŒ‚—Í‚ªã‚ª‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B -E‘•”õ‚µ‚½•Ší‚ªÁ‚¦‚éƒoƒOC³‚ׂ̈ɂµC³‚Í‚µ‚Ü‚µ‚½‚ª–{“–‚É -‘åä•v‚È‚Ì‚©‚Í•s–¾‚Å‚·B•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +・ãƒã‚°ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ +・ã¿ã™ã¨ã‚Œå·£ã‚’å‚考ã—ã¦ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—ã‚’å°‘ã—ä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚(詳ã—ã„ã“ã¨ã¯conf_ref.txtã§) +・ã‚ャラã®HPã¨SPã‚’2byteã‹ã‚‰4byteã«å¤‰æ›´ã€‚(テストã¯ã—ã¦ã„ã¾ã™ãŒãƒã‚°ãŒå‡ºã‚‹ +å¯èƒ½æ€§ã‚‚ã‹ãªã‚Šã‚ã‚Šã¾ã™ã€‚ãŸã ã‚ャラセレクト画é¢ã§HPã‚„SPãŒ32768を越ãˆã‚‹æ™‚ +表示ã¯32768ã«ãªã‚‹ã‘ã©å†…部ã®å‡¦ç†ã¯æ£å¸¸ã«å‹•ãã¾ã™ã®ã§ãã‚Œã¯ãƒã‚°ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 +パケットã®é•·ã•ã®ã›ã„ã§ãれ以外手段ãŒãªã‹ã£ãŸã®ã§...) +・bCriticalDef(クリティカルを喰らã‚ãªã„確率+n%)ã®å‡¦ç†å¤‰æ›´ã€‚100ã«ã™ã‚Œã° +クリティカルを喰らã‚ãªã„よã†ã«ãªã‚Šã¾ã™ã€‚) +・bInnerAtkã‚’bBaseAtkã«å¤‰æ›´ã€‚ã¿ã™ã¨ã‚Œå·£ã§ã‚«ãƒ¼ãƒ‰ã®æ”»æ’ƒã¯åŸºæœ¬æ”»æ’ƒåŠ›ã®æ–¹ã«è¶³ã•ã‚Œã‚‹ã¨ã‚ã‚Šã¾ã—ãŸã®ã§å¤‰æ›´ã—ã¾ã—ãŸã€‚今度ã¯ä¸ŠãŒã£ãŸæ”»æ’ƒåŠ›ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ +・bDoubleRateã®å‡¦ç†å¤‰æ›´ã€‚確率を足ã•ãšã«ä¸€ç•ªé«˜ã„物ã ã‘é©ç”¨ã—ã¾ã™ã€‚ãã‚Œã¨å·¦æ‰‹ +装備ã®å ´åˆç„¡è¦–ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ãŸã€‚(左手ã¯ãƒ€ãƒ–ルãŒé©ç”¨ã•ã‚Œã¾ã›ã‚“ã®ã§) +・bDoubleAddRateè¿½åŠ ã€‚æ©Ÿèƒ½ã¯ãƒ€ãƒ–ルアタック確率+n%(æ¦å™¨ç„¡è¦–)ã§ã™ã€‚ +左手装備ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ +・0635ã§æ”»æ’ƒåŠ›è¡¨ç¤ºã‚’本鯖ã«ã‚ã‚ã›ã¾ã—ãŸã€‚ãã—ã¦ä»Šåº¦ã¯å¼“ã ã‘ã§ã¯ãªã +楽器ã¨ãƒ ãƒã‚‚dexã«ã‚ˆã£ã¦æ”»æ’ƒåŠ›ãŒä¸ŠãŒã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ +・装備ã—ãŸæ¦å™¨ãŒæ¶ˆãˆã‚‹ãƒã‚°ä¿®æ£ã®ç‚ºã«å°‘ã—ä¿®æ£ã¯ã—ã¾ã—ãŸãŒæœ¬å½“ã« +大丈夫ãªã®ã‹ã¯ä¸æ˜Žã§ã™ã€‚å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - const.txt C³B - item_db.txt C³B + const.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (doc/) - item_bonus.txt C³B - conf_ref.txt C³B + item_bonus.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ (map/) - map.h C³B + map.h ä¿®æ£ã€‚ pc.c - pc_calcstatus()Apc_bonus()Apc_equipitem() C³B - battle.h C³B + pc_calcstatus()ã€pc_bonus()ã€pc_equipitem() ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_config_read() C³B + battle_calc_mob_weapon_attack()ã€battle_calc_pc_weapon_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ clif.c - clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() C³B + clif_updatestatus()ã€clif_parse_LoadEndAck()ã€clif_party_hp() ä¿®æ£ã€‚ (common/) - mmo.h C³B + mmo.h ä¿®æ£ã€‚ (char/) char.c - mmo_char_send006b()Aparse_char() C³B + mmo_char_send006b()ã€parse_char() ä¿®æ£ã€‚ -------------- -//0639 by ŒÓ’±—– +//0639 by 胡è¶è˜ -Eladmin‚ÌC³‚È‚Ç - Eƒvƒƒ“ƒvƒg‚Ì“ü—Í‚ÉTerm::ReadLine‚ðŽg‚¤‚悤‚É‚µ‚½ - @i“ü—Í—š—ð‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì•ÒW‚ª‰Â”\‚Éj - EPOSIXŠÖŒW‚̈—‚Ì—áŠOƒGƒ‰[‚ðƒgƒ‰ƒbƒv‚·‚é‚悤‚É‚µ‚Ü‚µ‚½ - @iPOSIX‚ª‘S‚Žg‚¦‚È‚¢ŠÂ‹«‚Å‚àÅ’áŒÀA“®‚‚悤‚É‚È‚Á‚½‚©‚à‚µ‚ê‚È‚¢j - Eו”C³ +・ladminã®ä¿®æ£ãªã© + ・プãƒãƒ³ãƒ—トã®å…¥åŠ›ã«Term::ReadLineを使ã†ã‚ˆã†ã«ã—㟠+  (入力履æ´ã‚„コマンドラインã®ç·¨é›†ãŒå¯èƒ½ã«ï¼‰ + ・POSIX関係ã®å‡¦ç†ã®ä¾‹å¤–エラーをトラップã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—㟠+  (POSIXãŒå…¨ã使ãˆãªã„環境ã§ã‚‚最低é™ã€å‹•ãよã†ã«ãªã£ãŸã‹ã‚‚ã—ã‚Œãªã„) + ãƒ»ç´°éƒ¨ä¿®æ£ (tool/) ladmin - Ver.1.04‚ÉB + Ver.1.04ã«ã€‚ -EMODƒo[ƒWƒ‡ƒ“‚ª‚¨‚©‚µ‚¢–â‘è‚ðC³ +・MODãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒãŠã‹ã—ã„å•é¡Œã‚’ä¿®æ£ (common/) version.h - ATHENA_MOD_VERSION‚ª‚Wi”‚Å‹Lq‚³‚ê‚Ä‚¢‚é–â‘è‚ðC³ - ”Žš‚Ì“ª‚É0‚ð‚‚¯‚é‚Æ‚Wi”‚É‚È‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢ + ATHENA_MOD_VERSIONãŒï¼˜é€²æ•°ã§è¨˜è¿°ã•ã‚Œã¦ã„ã‚‹å•é¡Œã‚’ä¿®æ£ + æ•°å—ã®é ã«0ã‚’ã¤ã‘ã‚‹ã¨ï¼˜é€²æ•°ã«ãªã‚‹ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„ -------------- -//0638 by ”g˜Q +//0638 by 波浪 -E0635E0637‚ÅV‚µ‚ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅA‚»‚ê‚É”º‚Á‚Äitem_db.txt‚ðC³ -Eitem_bonus.txt‚ðC³ +・0635・0637ã§æ–°ã—ãアイテム効果ãŒå®Ÿè£…ã•ã‚ŒãŸã®ã§ã€ãã‚Œã«ä¼´ã£ã¦item_db.txtã‚’ä¿®æ£ +・item_bonus.txtã‚’ä¿®æ£ (db/) - item_db.txt C³ + item_db.txt ä¿®æ£ (doc/) - item_bonus.txt C³ - --------------- -//0637 by Ž€_ - -E0635‚̃oƒOC³B -Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚ðŒ©‚Ä‚‚¾‚³‚¢B) -EŽžŠÔ‚ª’x‚·‚¬‚Ä0635‚Åà–¾‚µ‚Ä‚È‚©‚Á‚½‚Å‚·B(Q•s‘«‚¾‚Á‚½‚Ì‚Å...) -‚Ü‚¸Žd—l‚ª•Ï‚í‚Á‚½‚Ì‚Í“ñ“—¬‚̃_ƒ[ƒW‚ð•Ší•Ê‚ÉŠ®‘S‚É•ª‚¯‚Äs‚¤‚悤‚É -•ÏX‚ƃAƒTƒVƒ“‚¶‚á‚È‚‚ĂඎèC—û‚ðŠo‚¦‚Ä‚¢‚ê‚Γñ“—¬‚ðŽg‚¦‚é‚悤‚É -•ÏX‚µ‚Ü‚µ‚½B‚»‚ê‚ƃ_ƒ[ƒW‚ÌŒvŽZ‚ð‚¿‚å‚Á‚ÆC³B -‚»‚µ‚Äbonus‚ɒljÁ‚³‚ꂽ‚Ì‚Í -bonus bInnerAtk,n; “à•”UŒ‚—Í+n -ƒJ[ƒh‚̈ø‚«ã‚°ƒ_ƒ[ƒW—p‚Å‚·B•\Ž¦‚Í‚³‚ê‚È‚¢‚¯‚ǃ_ƒ[ƒW‚ÉŒvŽZ‚³‚ê‚Ü‚·B -bonus bSpeed,n; ˆÚ“®‘¬“x+n -ˆÚ“®‘¬“x‚ðnã‚°‚Ü‚·B -bonus bAspd,n; UŒ‚‘¬“x+n -UŒ‚‘¬“x‚ðnã‚°‚Ü‚·B -bonus bSpeedRate,n; ˆÚ“®‘¬“x+n% -ˆÚ“®‘¬“x‚ðn%ã‚°‚Ü‚·B -bonus bAspdRate,n; UŒ‚‘¬“x+n% -UŒ‚‘¬“x‚ðn%ã‚°‚Ü‚·B -bonus bHPrecovRate,n; HPŽ©“®‰ñ•œ—¦+n% -Ž©“®‰ñ•œ‚·‚éHP‚Ì—Ê‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ñ•œ‚ɂ͉e‹¿‚ª‚ ‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚Æ‚ ‚Á‚Ä‚¢‚é‚©‚Í•s–¾‚Å‚·B -bonus bSPrecovRate,n; SPŽ©“®‰ñ•œ—¦+n% -Ž©“®‰ñ•œ‚·‚éSP‚Ì—Ê‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ñ•œ‚ɂ͉e‹¿‚ª‚ ‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚Æ‚ ‚Á‚Ä‚¢‚é‚©‚Í•s–¾‚Å‚·B -bonus bCriticalDef,n; ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢Šm—¦+n% -ƒNƒŠƒeƒBƒJƒ‹‚Ì‘Ï«‚ðnã‚°‚Ü‚·B10000ˆÈã‚É‚·‚é‚ƃNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚¢‚Ü‚¹‚ñB -bonus bMVPaddAtkRate,n; MVPƒ‚ƒ“ƒXƒ^[‚Én%‚̒ljÁƒ_ƒ[ƒW -ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Én%‚̒ljÁƒ_ƒ[ƒW‚ð—^‚¦‚Ü‚·B[•£‚Ì‹RŽmƒJ[ƒh—pB -bonus bNearAtkDef,n; ‹ß‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚ç‚· -‘S‚Ä‹ß‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚炵‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚) -bonus bLongAtkDef,n; ‰“‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚ç‚· -‘S‚ĉ“‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚炵‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ðœ‚) -bonus bDoubleRate,n; ƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦+n%(•Ší–³Ž‹) -•Ší‚ÉŠÖŒW‚È‚”“®‚·‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦‚ðn%ã‚°‚Ü‚·B -ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Æ•Ê‚Ì”»’è‚ðs‚¤ˆ×ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚ª -‚ ‚Á‚Ä‚àƒXƒLƒ‹‚É‚æ‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦‚ªã‚ª‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB -ƒTƒCƒhƒƒCƒ“ƒ_[ƒJ[ƒh—pB - (map/) - pc.c - pc_bonus()Apc_calcstatus() C³B - pc_natural_heal_sub() C³B + item_bonus.txt ä¿®æ£ + +-------------- +//0637 by æ»ç¥ž + +・0635ã®ãƒã‚°ä¿®æ£ã€‚ +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚(詳ã—ã„ã“ã¨ã¯conf_ref.txtを見ã¦ãã ã•ã„。) +・時間ãŒé…ã™ãŽã¦0635ã§èª¬æ˜Žã—ã¦ãªã‹ã£ãŸã§ã™ã€‚(å¯ä¸è¶³ã ã£ãŸã®ã§...) +ã¾ãšä»•æ§˜ãŒå¤‰ã‚ã£ãŸã®ã¯äºŒåˆ€æµã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’æ¦å™¨åˆ¥ã«å®Œå…¨ã«åˆ†ã‘ã¦è¡Œã†ã‚ˆã†ã« +変更ã¨ã‚¢ã‚µã‚·ãƒ³ã˜ã‚ƒãªãã¦ã‚‚左手修練を覚ãˆã¦ã„ã‚Œã°äºŒåˆ€æµã‚’使ãˆã‚‹ã‚ˆã†ã« +変更ã—ã¾ã—ãŸã€‚ãã‚Œã¨ãƒ€ãƒ¡ãƒ¼ã‚¸ã®è¨ˆç®—ã‚’ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚ +ãã—ã¦bonusã«è¿½åŠ ã•ã‚ŒãŸã®ã¯ +bonus bInnerAtk,n; 内部攻撃力+n +カードã®å¼•ã上ã’ダメージ用ã§ã™ã€‚表示ã¯ã•ã‚Œãªã„ã‘ã©ãƒ€ãƒ¡ãƒ¼ã‚¸ã«è¨ˆç®—ã•ã‚Œã¾ã™ã€‚ +bonus bSpeed,n; 移動速度+n +移動速度をn上ã’ã¾ã™ã€‚ +bonus bAspd,n; 攻撃速度+n +攻撃速度をn上ã’ã¾ã™ã€‚ +bonus bSpeedRate,n; 移動速度+n% +移動速度をn%上ã’ã¾ã™ã€‚ +bonus bAspdRate,n; 攻撃速度+n% +攻撃速度をn%上ã’ã¾ã™ã€‚ +bonus bHPrecovRate,n; HP自動回復率+n% +自動回復ã™ã‚‹HPã®é‡ã‚’n%上ã’ã¾ã™ã€‚スã‚ルã«ã‚ˆã‚‹å›žå¾©ã«ã¯å½±éŸ¿ãŒã‚ã‚Šã¾ã›ã‚“。本鯖ã®ä»•æ§˜ã¨ã‚ã£ã¦ã„ã‚‹ã‹ã¯ä¸æ˜Žã§ã™ã€‚ +bonus bSPrecovRate,n; SP自動回復率+n% +自動回復ã™ã‚‹SPã®é‡ã‚’n%上ã’ã¾ã™ã€‚スã‚ルã«ã‚ˆã‚‹å›žå¾©ã«ã¯å½±éŸ¿ãŒã‚ã‚Šã¾ã›ã‚“。本鯖ã®ä»•æ§˜ã¨ã‚ã£ã¦ã„ã‚‹ã‹ã¯ä¸æ˜Žã§ã™ã€‚ +bonus bCriticalDef,n; クリティカルを喰らã‚ãªã„確率+n% +クリティカルã®è€æ€§ã‚’n上ã’ã¾ã™ã€‚10000以上ã«ã™ã‚‹ã¨ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«ã‚’喰らã„ã¾ã›ã‚“。 +bonus bMVPaddAtkRate,n; MVPモンスターã«n%ã®è¿½åŠ ダメージ +ボスモンスターã«n%ã®è¿½åŠ ダメージを与ãˆã¾ã™ã€‚深淵ã®é¨Žå£«ã‚«ãƒ¼ãƒ‰ç”¨ã€‚ +bonus bNearAtkDef,n; è¿‘è·é›¢æ”»æ’ƒã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’n%ã®æ¸›ã‚‰ã™ +å…¨ã¦è¿‘è·é›¢æ”»æ’ƒã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’n%ã®æ¸›ã‚‰ã—ã¾ã™ã€‚(é”法ã¨ãƒˆãƒ©ãƒƒãƒ—ã€é·¹ã‚’除ã) +bonus bLongAtkDef,n; é è·é›¢æ”»æ’ƒã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’n%ã®æ¸›ã‚‰ã™ +å…¨ã¦é è·é›¢æ”»æ’ƒã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’n%ã®æ¸›ã‚‰ã—ã¾ã™ã€‚(é”法ã¨ãƒˆãƒ©ãƒƒãƒ—ã€é·¹ã‚’除ã) +bonus bDoubleRate,n; ダブルアタック確率+n%(æ¦å™¨ç„¡è¦–) +æ¦å™¨ã«é–¢ä¿‚ãªã発動ã™ã‚‹ãƒ€ãƒ–ルアタック確率をn%上ã’ã¾ã™ã€‚ +ダブルアタックスã‚ルã¨åˆ¥ã®åˆ¤å®šã‚’è¡Œã†ç‚ºãƒ€ãƒ–ルアタックスã‚ル㌠+ã‚ã£ã¦ã‚‚スã‚ルã«ã‚ˆã‚‹ãƒ€ãƒ–ルアタック確率ãŒä¸ŠãŒã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 +サイドワインダーカード用。 + (map/) + pc.c + pc_bonus()ã€pc_calcstatus() ä¿®æ£ã€‚ + pc_natural_heal_sub() ä¿®æ£ã€‚ battle.h - struct Battle_Config {} C³B + struct Battle_Config {} ä¿®æ£ã€‚ battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_config_read() C³B + battle_calc_pc_weapon_attack()ã€battle_calc_mob_weapon_attack() ä¿®æ£ã€‚ + battle_config_read() ä¿®æ£ã€‚ (db/) skill_db.txt - ƒXƒeƒB[ƒ‹‚ÌSP‚ð10‚ÉC³B + スティールã®SPã‚’10ã«ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ -------------- //0636 by Sin -EƒfƒoƒbƒO—pƒ|ƒ^Žq‚³‚ñƒXƒNƒŠƒvƒg(npc_pota.txt)‚̃Aƒ}ƒcEƒRƒ“ƒƒ“‚ւ̑ΉžB -@‚·‚Å‚ÉŽ©—ÍŽÀ‘•‚³‚ê‚Ä‚¢‚ç‚Á‚µ‚á‚é•ûX‚à‘½‚¢‚©‚ÆŽv‚¢‚Ü‚·‚ªcB -@ƒRƒ“ƒƒ“ƒ_ƒ“ƒWƒ‡ƒ“‚Ì–¼‘O‚ª‚í‚©‚ç‚È‚¢‚½‚ßu›À›ÄD1v‚È‚Ç‚Æ‚³‚¹‚Ä‚¢‚½‚¾‚¢‚Ä‚¢‚Ü‚·B +・デãƒãƒƒã‚°ç”¨ãƒã‚¿åã•ã‚“スクリプト(npc_pota.txt)ã®ã‚¢ãƒžãƒ„・コンãƒãƒ³ã¸ã®å¯¾å¿œã€‚ + ã™ã§ã«è‡ªåŠ›å®Ÿè£…ã•ã‚Œã¦ã„らã£ã—ゃる方々も多ã„ã‹ã¨æ€ã„ã¾ã™ãŒâ€¦ã€‚ + コンãƒãƒ³ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã®åå‰ãŒã‚ã‹ã‚‰ãªã„ãŸã‚「崑崙D1ã€ãªã©ã¨ã•ã›ã¦ã„ãŸã ã„ã¦ã„ã¾ã™ã€‚ (conf/) npc_pota.txt -------------- -//0635 by Ž€_ +//0635 by æ»ç¥ž -Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚ðŒ©‚Ä‚‚¾‚³‚¢B) -Ebonus‚ÉbInnerAtk(ƒJ[ƒh“™‚Å•\Ž¦‚Í‚³‚ê‚È‚¢‚¯‚ÇŽÀÛ‚É‚ÍUŒ‚—Í‚É”½‰f‚³‚ê‚镨—p‚Å‚·B)“™‚ð’ljÁB‘¼‚Ì‚Íitem_bonus.txt‚ðŒ©‚Ä‚‚¾‚³‚¢B(’ljÁ‚Í‚µ‚½‚¯‚Çitem_db.txt‚Í–w‚ñ‚ÇC³‚µ‚Ä‚Ü‚¹‚ñB) -E‚»‚Ì‘¼ƒoƒOC³‚âŽd—l•ÏX‚à‚â‚è‚Ü‚µ‚½‚ªˆêX‘‚ŽžŠÔ‚ª‚È‚¢‚Ì‚Å... +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚(詳ã—ã„ã“ã¨ã¯conf_ref.txtを見ã¦ãã ã•ã„。) +・bonusã«bInnerAtk(カードç‰ã§è¡¨ç¤ºã¯ã•ã‚Œãªã„ã‘ã©å®Ÿéš›ã«ã¯æ”»æ’ƒåŠ›ã«åæ˜ ã•ã‚Œã‚‹ç‰©ç”¨ã§ã™ã€‚)ç‰ã‚’è¿½åŠ ã€‚ä»–ã®ã¯item_bonus.txtを見ã¦ãã ã•ã„。(è¿½åŠ ã¯ã—ãŸã‘ã©item_db.txtã¯æ®†ã‚“ã©ä¿®æ£ã—ã¦ã¾ã›ã‚“。) +・ãã®ä»–ãƒã‚°ä¿®æ£ã‚„仕様変更もやりã¾ã—ãŸãŒä¸€ã€…書ã時間ãŒãªã„ã®ã§... (map/) - makeile C³B - pc.c C³B - map.h C³B - clif.c C³B - battle.h C³B - battle.c C³B - itemdb.c C³B + makeile ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ + itemdb.c ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B - item_bonus.txt C³B + conf_ref.txt ä¿®æ£ã€‚ + item_bonus.txt ä¿®æ£ã€‚ (db/) - const.txt C³B - item_db.txt C³B - --------------- -//0634 by Ž€_ - -EweddingƒNƒ‰ƒX‚É‚Í“]E‚Å‚«‚È‚¢‚悤‚ÉC³B -EƒX[ƒp[ƒm[ƒrƒX‚ׂ̈Éexpƒe[ƒuƒ‹‚ðbase 4‚Âjob 4‚‚Ɋg’£B -exp.txt‚ª•Ï‚í‚èƒX[ƒp[ƒm[ƒrƒX‚¾‚¯‚ÌŒoŒ±’l‚ðÝ’è‚Å‚«‚Ü‚·B(exp.txt‚Ì -4‚–ڂªƒX[ƒp[ƒm[ƒrƒX‚Ìbase exp‚Å8‚–ڂªjob exp‚Å‚·B¡‚Í2ŽŸE‹Æ‚Ì•¨‚ð -ƒRƒs[‚µ‚½•¨‚ɉ߂¬‚Ü‚¹‚ñ‚ªB) exp.txt‚ÌÝ’è•û–@‚à’m‚ç‚È‚¢•û‚Í‚¢‚È‚¢‚Æ -Žv‚¢‚Ü‚·‚Ì‚Åà–¾‚ÍÈ—ª‚µ‚Ü‚·B -EƒX[ƒp[ƒm[ƒrƒX‚Í“]¶‚̃eƒXƒg‚ׂ̈ɊؑƒTƒNƒ‰ƒC‚¾‚¯ŽÀ‘•‚µ‚Ä‚¢‚镨‚Æ -Žv‚í‚ê‚Ü‚·‚ª(“]¶‚ªŽÀ‘•‚³‚ê‚ê‚΂Ȃ‚È‚é‚Æ—\‘ª‚µ‚Ä‚¢‚Ü‚·B)‚»‚ê‚ð -ŽÀ‘•‚µ‚Ä‚¢‚¢‚Ì‚©‚ÆŽv‚Á‚½‚è‚à‚µ‚Ü‚·‚ª... -EŒ‹¥ˆßÖ‚ÍŠù‚É0629‚ÅŽÀ‘•‚µ‚Ä‚¢‚é‚Ì‚É‚Ü‚½ƒpƒbƒ`‚Æ‚µ‚Ä -ƒAƒbƒv‚³‚ê‚é‚Ì‚à‚¿‚å‚Á‚Æ•Ï(H)‚Å‚·‚ËB‚»‚¤‚¢‚¦‚Îà–¾‚µ‚Ä‚È‚©‚Á‚½‚ñ‚Å‚·‚ËB -E‘•”õê—pƒXƒNƒŠƒvƒg‚Å‚ ‚échangebase‚̒ljÁ‚É‚æ‚Á‚ă^ƒLƒV[ƒh‚Æ -ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ªŽÀ‘•‚µ‚Ä‚¢‚Ü‚·B‚±‚ê‚ÍE‹Æ‚ð•ÏX‚¹‚¸‚ÉŒ©‚½–Ú‚¾‚¯ -•Ï‚¦‚镨‚Å‚·BweddingƒNƒ‰ƒXˆÈŠO‚Ì“K—p‚à‰Â”\‚Å•Ï‘•ƒZƒbƒg‚Æ‚©‚àì‚ê‚é -‚킯‚Å‚·‚ª“à•”ˆ—‚Í•ÏX‚¹‚¸‚ÉŒ©‚½–Ú‚¾‚¯•Ï‚¦‚Ä‚¢‚é‚Ì‚Å0631‚Åà–¾‚µ‚½‚悤‚É -‘•”õ‚Å‚«‚È‚¢•¨‚ð‘•”õ‚µ‚Ä‚¢‚éꇈƗŽ‚¿‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚è‚Ü‚·‚Ì‚Å -‘¼‚ÌE‹Æ‚ÅŽg‚¤‚Ì‚Í‚¨Š©‚ß‚µ‚Ü‚¹‚ñB‰¼ŽÀ‘•‚È‚Ì‚Í¡‚ÌŽd—l‚̓^ƒLƒV[ƒh‚Æ -ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ð‘•”õ‚·‚邾‚¯‚ÅŒ©‚½–Ú‚ª•Ï‚í‚é‚©‚ç‚Å‚·BŠØ‘ƒTƒNƒ‰ƒC‚Ì -•û‚ł͉½‚©‚ÌðŒ‚ª•K—v‚¾‚ÆŽv‚Á‚Ä‚¢‚é‚Ì‚Å‚»‚ÌðŒ‚ª‚Ü‚¾ŽÀ‘•‚³‚ê‚¢‚È‚¢‚©‚ç -‰¼ŽÀ‘•‚Å‚·B‚»‚ê‚ÉweddingƒNƒ‰ƒX‚ðE‹Æ‚É‚µ‚Ä‚µ‚Ü‚¤‚ÆŒ‹¥‚·‚é‚ƃXƒLƒ‹“™‚ª -ƒŠƒZƒbƒg‚³‚ê‚é‚©•Ï‚É‚È‚é‚©‚Ì‚Ç‚¿‚ç‚È‚Ì‚Å•Ï‚¾‚ÆŽv‚Á‚Ä‚È‚©‚Á‚½‚Ì‚Å‚µ‚傤‚©H - help.txt C³B + const.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ + +-------------- +//0634 by æ»ç¥ž + +・weddingクラスã«ã¯è»¢è·ã§ããªã„よã†ã«ä¿®æ£ã€‚ +・スーパーノービスã®ç‚ºã«expテーブルをbase 4ã¤job 4ã¤ã«æ‹¡å¼µã€‚ +exp.txtãŒå¤‰ã‚りスーパーノービスã ã‘ã®çµŒé¨“値をè¨å®šã§ãã¾ã™ã€‚(exp.txtã® +4ã¤ç›®ãŒã‚¹ãƒ¼ãƒ‘ーノービスã®base expã§8ã¤ç›®ãŒjob expã§ã™ã€‚今ã¯2次è·æ¥ã®ç‰©ã‚’ +コピーã—ãŸç‰©ã«éŽãŽã¾ã›ã‚“ãŒã€‚) exp.txtã®è¨å®šæ–¹æ³•ã‚‚知らãªã„æ–¹ã¯ã„ãªã„㨠+æ€ã„ã¾ã™ã®ã§èª¬æ˜Žã¯çœç•¥ã—ã¾ã™ã€‚ +・スーパーノービスã¯è»¢ç”Ÿã®ãƒ†ã‚¹ãƒˆã®ç‚ºã«éŸ“国サクライã ã‘実装ã—ã¦ã„る物㨠+æ€ã‚ã‚Œã¾ã™ãŒ(転生ãŒå®Ÿè£…ã•ã‚Œã‚Œã°ãªããªã‚‹ã¨äºˆæ¸¬ã—ã¦ã„ã¾ã™ã€‚)ãれを +実装ã—ã¦ã„ã„ã®ã‹ã¨æ€ã£ãŸã‚Šã‚‚ã—ã¾ã™ãŒ... +・çµå©šè¡£è£³ã¯æ—¢ã«0629ã§å®Ÿè£…ã—ã¦ã„ã‚‹ã®ã«ã¾ãŸãƒ‘ッãƒã¨ã—㦠+アップã•ã‚Œã‚‹ã®ã‚‚ã¡ã‚‡ã£ã¨å¤‰(?)ã§ã™ã。ãã†ã„ãˆã°èª¬æ˜Žã—ã¦ãªã‹ã£ãŸã‚“ã§ã™ã。 +・装備専用スクリプトã§ã‚ã‚‹changebaseã®è¿½åŠ ã«ã‚ˆã£ã¦ã‚¿ã‚シード㨠+ウェディングドレスãŒå®Ÿè£…ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯è·æ¥ã‚’変更ã›ãšã«è¦‹ãŸç›®ã ã‘ +変ãˆã‚‹ç‰©ã§ã™ã€‚weddingクラス以外ã®é©ç”¨ã‚‚å¯èƒ½ã§å¤‰è£…セットã¨ã‹ã‚‚作れる +ã‚ã‘ã§ã™ãŒå†…部処ç†ã¯å¤‰æ›´ã›ãšã«è¦‹ãŸç›®ã ã‘変ãˆã¦ã„ã‚‹ã®ã§0631ã§èª¬æ˜Žã—ãŸã‚ˆã†ã« +装備ã§ããªã„物を装備ã—ã¦ã„ã‚‹å ´åˆéžè½ã¡ãŒèµ·ã“ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã®ã§ +ä»–ã®è·æ¥ã§ä½¿ã†ã®ã¯ãŠå‹§ã‚ã—ã¾ã›ã‚“。仮実装ãªã®ã¯ä»Šã®ä»•æ§˜ã¯ã‚¿ã‚シード㨠+ウェディングドレスを装備ã™ã‚‹ã ã‘ã§è¦‹ãŸç›®ãŒå¤‰ã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚韓国サクライ㮠+æ–¹ã§ã¯ä½•ã‹ã®æ¡ä»¶ãŒå¿…è¦ã ã¨æ€ã£ã¦ã„ã‚‹ã®ã§ãã®æ¡ä»¶ãŒã¾ã 実装ã•ã‚Œã„ãªã„ã‹ã‚‰ +仮実装ã§ã™ã€‚ãã‚Œã«weddingクラスをè·æ¥ã«ã—ã¦ã—ã¾ã†ã¨çµå©šã™ã‚‹ã¨ã‚¹ã‚ルç‰ãŒ +リセットã•ã‚Œã‚‹ã‹å¤‰ã«ãªã‚‹ã‹ã®ã©ã¡ã‚‰ãªã®ã§å¤‰ã ã¨æ€ã£ã¦ãªã‹ã£ãŸã®ã§ã—ょã†ã‹ï¼Ÿ + help.txt ä¿®æ£ã€‚ (db/) - job_db1.txt C³B - exp.txt C³B + job_db1.txt ä¿®æ£ã€‚ + exp.txt ä¿®æ£ã€‚ (map/) pc.c - pc_jobchange()Apc_readdb() C³B - pc_nextbaseexp()Apc_nextjobexp() C³B + pc_jobchange()ã€pc_readdb() ä¿®æ£ã€‚ + pc_nextbaseexp()ã€pc_nextjobexp() ä¿®æ£ã€‚ -------------- -//0633 by ”g˜Q +//0633 by 波浪 -E‘•”õ‚ÌÝ’èC³BŒ‹¥ˆßÖ‚ÌE‚ÍAŽÀÛ‚É“]E‚·‚é‚Ì‚Å‚Í‚È‚ƒyƒRƒiƒCƒg(13)AƒyƒRƒNƒ‹ƒZ(21)‚̂悤‚ɉ摜‚ðŽg‚¤‚¾‚¯‚¾‚ÆŽv‚¤‚Ì‚Å -@‰½‚à‘•”õ‚Å‚«‚È‚¢Ý’è‚É‚µ‚Ü‚µ‚½BƒXƒpƒmƒr‚̓mƒr‚ª‘•”õ‚Å‚«‚é‚à‚Ì‚¾‚¯Ý’肵‚Ü‚µ‚½B -EŒÃ–Ø‚ÌŽ}‚ÌoŒ»ƒ‚ƒ“ƒXƒ^[‚ð’ljÁ -EƒAƒ}ƒc‚̃‚ƒ“ƒX‚Ì•¦‚«‹ï‡‚ð–{ŽI‚É‹ß‚‚È‚é‚悤‚ÉC³(‚Ü‚¾‚Ü‚¾ˆá‚¢‚Ü‚·‚ªEEE) +・装備ã®è¨å®šä¿®æ£ã€‚çµå©šè¡£è£³ã®è·ã¯ã€å®Ÿéš›ã«è»¢è·ã™ã‚‹ã®ã§ã¯ãªãペコナイト(13)ã€ãƒšã‚³ã‚¯ãƒ«ã‚»(21)ã®ã‚ˆã†ã«ç”»åƒã‚’使ã†ã ã‘ã ã¨æ€ã†ã®ã§ + 何も装備ã§ããªã„è¨å®šã«ã—ã¾ã—ãŸã€‚スパノビã¯ãƒŽãƒ“ãŒè£…å‚™ã§ãã‚‹ã‚‚ã®ã ã‘è¨å®šã—ã¾ã—ãŸã€‚ +・å¤æœ¨ã®æžã®å‡ºç¾ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’è¿½åŠ +・アマツã®ãƒ¢ãƒ³ã‚¹ã®æ²¸ãå…·åˆã‚’本鯖ã«è¿‘ããªã‚‹ã‚ˆã†ã«ä¿®æ£(ã¾ã ã¾ã é•ã„ã¾ã™ãŒãƒ»ãƒ»ãƒ») (conf/) - npc_monster.txt ƒ‚ƒ“ƒX–¼C³ - npc_monster_amatsu.txt C³ + npc_monster.txt モンスåä¿®æ£ + npc_monster_amatsu.txt ä¿®æ£ (db/) - item_avail.txt ˆÆ—Ž‚¿ƒAƒCƒeƒ€’ljÁ - item_db.txt ‘•”õÝ’è‚ðC³A‘¼‘½” - mob_branch.txt C³ - mob_db.txt ƒ‚ƒ“ƒX–¼C³ - skill_tree.txt C³ + item_avail.txt éžè½ã¡ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ + item_db.txt 装備è¨å®šã‚’ä¿®æ£ã€ä»–多数 + mob_branch.txt ä¿®æ£ + mob_db.txt モンスåä¿®æ£ + skill_tree.txt ä¿®æ£ -------------- //0632 by nini -E@jobchange‚ÅŒ‹¥ˆßւƃX[ƒp[ƒm[ƒrƒX‚É‚È‚ê‚é‚悤‚ÉB(’ˆÓFŠØ‘÷ˆäƒNƒ‰ƒCƒAƒ“ƒg‚Ì‚Ý) -ESƒmƒr‚̃XƒeAƒXƒLƒ‹‚È‚Ç‚àŽb’è’ljÁB(ƒm[ƒrƒX‚̃Rƒs[‚Å‚·‚ª) -@‚Æ‚è‚ ‚¦‚¸Œ©‚½–Ú‚¾‚¯‚Æ‚¢‚¤‚±‚Æ‚ÅAŒ‹¥ˆßÖ‚Å‚àUŒ‚‚Å‚«‚Ü‚·‚ª(‚½‚¾‚µƒm[ƒ‚[ƒVƒ‡ƒ“)A–{—ˆ‚Í‚Å‚«‚Ü‚¹‚ñB -Eã‚É‚ ‚킹‚Äitem_db•ÒWB -@Œ‹¥ˆßÖ‚Å•Ší‚à‚‚ÆactAsprƒGƒ‰[o‚·‚Ì‚ÅAŒ‹¥ˆßÖ‚Å‚Í•Ší‚ðŽ‚Ä‚È‚¢‚悤‚É‚µ‚½(‚Í‚¸)B +・@jobchangeã§çµå©šè¡£è£³ã¨ã‚¹ãƒ¼ãƒ‘ーノービスã«ãªã‚Œã‚‹ã‚ˆã†ã«ã€‚(注æ„:韓国桜井クライアントã®ã¿) +・Sノビã®ã‚¹ãƒ†ã€ã‚¹ã‚ルãªã©ã‚‚æš«å®šè¿½åŠ ã€‚(ノービスã®ã‚³ãƒ”ーã§ã™ãŒ) + ã¨ã‚Šã‚ãˆãšè¦‹ãŸç›®ã ã‘ã¨ã„ã†ã“ã¨ã§ã€çµå©šè¡£è£³ã§ã‚‚攻撃ã§ãã¾ã™ãŒ(ãŸã ã—ノーモーション)ã€æœ¬æ¥ã¯ã§ãã¾ã›ã‚“。 +・上ã«ã‚ã‚ã›ã¦item_db編集。 + çµå©šè¡£è£³ã§æ¦å™¨ã‚‚ã¤ã¨actã€sprエラー出ã™ã®ã§ã€çµå©šè¡£è£³ã§ã¯æ¦å™¨ã‚’æŒã¦ãªã„よã†ã«ã—ãŸ(ã¯ãš)。 (db/) job_db1.txt job_db2.txt item_db.txt - Œ‹¥ˆßÖASƒmƒr‚̃f[ƒ^ + çµå©šè¡£è£³ã€Sノビã®ãƒ‡ãƒ¼ã‚¿ skill_tree.txt - Sƒmƒr‚̃XƒLƒ‹ + Sノビã®ã‚¹ã‚ル (map/) map.h - MAX_PC_CLASS‚ɒljÁ + MAX_PC_CLASSã«è¿½åŠ -------------- -//0631 by Ž€_ +//0631 by æ»ç¥ž -Eׂ©‚¢C³B -Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚Ì•\Ž¦‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é -‚悤‚É•ÏXB -E•ŠíƒOƒ‰ƒpƒbƒ`‚ɂ‚¢‚Ä‚Å‚·‚ªƒpƒbƒ`‘O‚ÍŽg‚¦‚È‚¢E‹Æ‚ª‘•”õ‚ð‚µ‚Ä‚à•\Ž¦‚Í -‚³‚ê‚È‚¢‚¾‚¯‚ňƗŽ‚¿‚Ü‚Å‚Í‹N‚±‚ç‚È‚©‚Á‚½‚¯‚Ç•ŠíƒOƒ‰ƒpƒbƒ`‚ÌŒã‚Í‚»‚Ì•Ší‚ð -‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢E‹Æ(–{ŽI‚Å)‚ª‘•”õ‚µ‚Ä‚µ‚Ü‚Á‚½ê‡ˆÆ—Ž‚¿‚ª‹N‚±‚é -‚±‚Æ‚ª‚ ‚è‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +・細ã‹ã„ä¿®æ£ã€‚ +・タã‚シードã¨ã‚¦ã‚§ãƒ‡ã‚£ãƒ³ã‚°ãƒ‰ãƒ¬ã‚¹ã®è¡¨ç¤ºã‚’battle_athena.confã§è¨å®šã§ãã‚‹ +よã†ã«å¤‰æ›´ã€‚ +・æ¦å™¨ã‚°ãƒ©ãƒ‘ッãƒã«ã¤ã„ã¦ã§ã™ãŒãƒ‘ッãƒå‰ã¯ä½¿ãˆãªã„è·æ¥ãŒè£…備をã—ã¦ã‚‚表示㯠+ã•ã‚Œãªã„ã ã‘ã§éžè½ã¡ã¾ã§ã¯èµ·ã“らãªã‹ã£ãŸã‘ã©æ¦å™¨ã‚°ãƒ©ãƒ‘ッãƒã®å¾Œã¯ãã®æ¦å™¨ã‚’ +装備ã™ã‚‹ã“ã¨ãŒã§ããªã„è·æ¥(本鯖ã§)ãŒè£…å‚™ã—ã¦ã—ã¾ã£ãŸå ´åˆéžè½ã¡ãŒèµ·ã“ã‚‹ +ã“ã¨ãŒã‚ã‚Šã¾ã™ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 (db/) item_db.txt - 1161A2338A7170 C³B + 1161ã€2338ã€7170 ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) battle.h - struct Battle_Config‚Éwedding_modifydisplay ’ljÁB + struct Battle_Configã«wedding_modifydisplay è¿½åŠ ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ pc.h - pc_cart_delitem() C³B + pc_cart_delitem() ä¿®æ£ã€‚ pc.c - pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() C³B - pc_checkitem()Apc_getitemfromcart() C³B + pc_jobchange()ã€pc_additem()ã€pc_delitem()ã€pc_cart_delitem() ä¿®æ£ã€‚ + pc_checkitem()ã€pc_getitemfromcart() ä¿®æ£ã€‚ clif.c - clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() C³B + clif_changelook()ã€clif_send()ã€clif_parse_GlobalMessage() ä¿®æ£ã€‚ script.c - buildin_changebase() C³B + buildin_changebase() ä¿®æ£ã€‚ storage.c - storage_storageaddfromcart() C³B + storage_storageaddfromcart() ä¿®æ£ã€‚ vending.c - vending_purchasereq() C³B + vending_purchasereq() ä¿®æ£ã€‚ -------------- -//0630 by ˆø‘Þl +//0630 by 引退人 -EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³ -Ewater_height.txt‚ðXV -E0627‚ÉŠÖ˜A‚µ‚ÄmodifydisplayŠÖ˜A‚ðíœ +・ギルド脱退時ã«charサーãƒãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã‚’ä¿®æ£ +・water_height.txtã‚’æ›´æ–° +・0627ã«é–¢é€£ã—ã¦modifydisplay関連を削除 (char/) int_guild.c - mapif_guild_leaved()‚̃oƒbƒtƒ@—e—Ê‚ª‘«‚è‚È‚©‚Á‚½‚Ì‚ÅA + mapif_guild_leaved()ã®ãƒãƒƒãƒ•ã‚¡å®¹é‡ãŒè¶³ã‚Šãªã‹ã£ãŸã®ã§ã€ unsigned char buf[64]; -> unsigned char buf[128]; - ‚ÆC³B + ã¨ä¿®æ£ã€‚ (conf/) battle_athena.conf - equip_modifydisplay‚ðíœ + equip_modifydisplayを削除 water_height.txt - prt_fild04.gat‚Æmoc_fild01.gat‚Ì•ª‚ð’ljÁ + prt_fild04.gatã¨moc_fild01.gatã®åˆ†ã‚’è¿½åŠ (doc/) conf_ref.txt - equip_modifydisplay‚Ìà–¾‚ðíœ + equip_modifydisplayã®èª¬æ˜Žã‚’削除 (map/) battle.h - struct Battle_Config ‚©‚çequip_modifydisplay‚ðíœ - --------------- -//0629 by Ž€_ - -E0627‚̃oƒOˆê•”C³‚ÆV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ɑΉžB(Ž©•ª‚̊ԈႢ‚Å‚µ‚½B -ƒ‚ƒ“ƒXƒ^[‚âNPC‚àV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ðŽg‚¤‚ÆŽv‚Á‚Ä‚¢‚½‚Ì‚Å‚·‚ª -V‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚̓vƒŒƒCƒ„[‚݂̂̂悤‚Å‚·B) -Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‰¼ŽÀ‘•B(ŠØ‘‚̃TƒNƒ‰ƒCˆÆ‚¶‚á‚È‚¢‚Æ -ˆÆ—Ž‚¿‚³‚ê‚Ü‚·BŽg—p‚·‚鎞‚Íitem_db.txt‚̃Rƒ}ƒ“ƒgƒAƒEƒg‚³‚ê‚Ä‚¢‚é -2338‚Æ7170‚ð‰ðœ‚µ‚ÄŽg‚Á‚Ä‚‚¾‚³‚¢B) -ESP‰ñ•œƒAƒCƒeƒ€‚àint‚É‚æ‚Á‚ÄŒø‰Ê‚ª‘‚¦‚é‚悤‚É•ÏXB -E0627‚Å‘‚«–Y‚ê‚Å‚·‚ªƒJ[ƒg‚̃AƒCƒeƒ€ŒvŽZ‚Æitemdb_‚ðŒÄ‚Ô‚Ì‚ðŬ‰»‚·‚é -ˆ—‚ð“ü‚Á‚Ă邹‚¢‚Åpc_additem()Apc_delitem()Apc_cart_additem()Apc_cart_delitem()ˆÈŠO‚Ì•û–@‚ŃJ[ƒgƒAƒCƒeƒ€‚âƒAƒCƒeƒ€‚É•Ï“®‚ª‚ ‚éê‡ -³í‚É“®ì‚·‚é•ÛØ‚ª‚È‚¢‚Ì‚ÅC³‚Ì‚³‚¢‚É‚Í’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B - readme0754‚ðreadme0574‚ÉC³B - makefile C³B - (map/) - map.h C³B - clif.c C³B - pc.c C³B - battle.c C³B - mob.c C³B - script.c C³B + struct Battle_Config ã‹ã‚‰equip_modifydisplayを削除 + +-------------- +//0629 by æ»ç¥ž + +・0627ã®ãƒã‚°ä¸€éƒ¨ä¿®æ£ã¨æ–°ã—ã„移動パケットã«å¯¾å¿œã€‚(自分ã®é–“é•ã„ã§ã—ãŸã€‚ +モンスターやNPCã‚‚æ–°ã—ã„移動パケットを使ã†ã¨æ€ã£ã¦ã„ãŸã®ã§ã™ãŒ +æ–°ã—ã„移動パケットã¯ãƒ—レイヤーã®ã¿ã®ã‚ˆã†ã§ã™ã€‚) +・タã‚シードã¨ã‚¦ã‚§ãƒ‡ã‚£ãƒ³ã‚°ãƒ‰ãƒ¬ã‚¹ä»®å®Ÿè£…。(韓国ã®ã‚µã‚¯ãƒ©ã‚¤éžã˜ã‚ƒãªã„㨠+éžè½ã¡ã•ã‚Œã¾ã™ã€‚使用ã™ã‚‹æ™‚ã¯item_db.txtã®ã‚³ãƒžãƒ³ãƒˆã‚¢ã‚¦ãƒˆã•ã‚Œã¦ã„ã‚‹ +2338ã¨7170を解除ã—ã¦ä½¿ã£ã¦ãã ã•ã„。) +・SP回復アイテムもintã«ã‚ˆã£ã¦åŠ¹æžœãŒå¢—ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・0627ã§æ›¸ã忘れã§ã™ãŒã‚«ãƒ¼ãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 計算ã¨itemdb_を呼ã¶ã®ã‚’最å°åŒ–ã™ã‚‹ +処ç†ã‚’å…¥ã£ã¦ã‚‹ã›ã„ã§pc_additem()ã€pc_delitem()ã€pc_cart_additem()ã€pc_cart_delitem()以外ã®æ–¹æ³•ã§ã‚«ãƒ¼ãƒˆã‚¢ã‚¤ãƒ†ãƒ やアイテムã«å¤‰å‹•ãŒã‚ã‚‹å ´åˆ +æ£å¸¸ã«å‹•ä½œã™ã‚‹ä¿è¨¼ãŒãªã„ã®ã§ä¿®æ£ã®ã•ã„ã«ã¯æ³¨æ„ã—ã¦ãã ã•ã„。 + readme0754ã‚’readme0574ã«ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ + (map/) + map.h ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ (db/) - item_db.txt C³B - class_equip_db.txt C³B - skill_db.txt C³B(ŒëŽš‚ðŽ¡‚µ‚½‚¾‚¯‚Å‚·B) + item_db.txt ä¿®æ£ã€‚ + class_equip_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚(誤å—ã‚’æ²»ã—ãŸã ã‘ã§ã™ã€‚) (conf/) - npc_event_doll.txt C³B(—¬˜Ql‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) + npc_event_doll.txt ä¿®æ£ã€‚(æµæµªäººã•ã‚“ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚) -------------- //0628 by NOCTURNE -Esnapshot -Esnapshot‚©‚çsnapshot‚Ü‚Å‚ÌReadme•ªŠ„ -E—v–]‚ª‘½‚©‚Á‚½‚Ì‚Åsnapì¬iƒvƒƒOƒ‰ƒ€“I‚È•ÏX“_‚Í–³‚µ - --------------- -//0627 by Ž€_ - -EƒR[ƒh‚ÌÅ“K‰»‚Æ‚µC³B(‚µ‚ÍŒy‚‚È‚é‚ÆŽv‚¢‚Ü‚·B) -E @modifydisplayƒRƒ}ƒ“ƒhíœB -EV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ɑΉž‚¾‚ÆŽv‚Á‚½‚ç0x1d8A0x1d9A0x1daƒpƒPƒbƒg‚̈ꕔ‚ª -0x78A0x79A0x7b‚Æ•Ï‚í‚Á‚Ä‚é‚Ý‚½‚¢‚Å‚·B‚‚܂衂̂܂܂ł͑Ήž‚Å‚«‚Ü‚¹‚ñB -X,Y‚ÌÀ•W‚Ì•”•ª‚Ì‘Ž®‚ª•Ï‚í‚Á‚½‚Ì‚©‚Æ—\‘ª‚Í‚µ‚Ä‚¢‚Ü‚·‚ª... -î•ñ‚ð‹‚Ý‚Ü‚·B(makefile‚ÌDPACKETVER‚ð4‚É‚·‚ê‚Î0x1d8A0x1d9A0x1da‚ð -Žg‚¢‚Ü‚·‚ªÀ•W‚ª‚¸‚ꂽ‚炵‚‰½‚à•WŽ¦‚³‚ê‚Ü‚¹‚ñB) -E100000‚©‚炾‚Á‚½char_id‚ð150000‚©‚ç‚É•ÏXB(ƒyƒbƒg‚Ì—‘‚Ì–â‘è‚Å•Ší‚Ì–¼‘O‚ª‚¿‚å‚Á‚Æ•Ï‚É‚È‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B) -Eƒyƒbƒg‚̃R[ƒh‚µC³B(pet_id‚ðcard[2]‚Æcard[3]‚©‚çcard[1]‚Æcard[2]‚É•ÏX‚µ‚Ü‚µ‚½B‚æ‚Á‚Ä‘O‚Éì‚Á‚½—‘‚ÍŽg‚¦‚Ü‚¹‚ñBˆÆ‚Åcard[3]‚Ì‹@”\‚ª•Ï‚í‚Á‚½‚Ì‚Å -Žd•û‚È‚C³‚µ‚Ü‚µ‚½B¡“x‚Íconvertƒc[ƒ‹‚ª‚ ‚è‚Ü‚¹‚ñBì‚鎞ŠÔ‚ª‚È‚©‚Á‚½‚Ì‚Å...) -EÅ“K‰»‚ׂ̈ÉC³‚µ‚½Š‚ª‘½‚¢‚Å‚·‚ª‘S‚ij퓮삷‚é•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñB -ŽI—Ž‚¿ƒoƒO‚ª”¶‚µ‚½‚ç•ñ‚¨Šè‚¢‚µ‚Ü‚·B(batte.c‚Í‚Ü‚¾Å“K‰»‚µ‚Ä‚Ü‚¹‚ñB) -ƒJ[ƒg‚̃AƒCƒeƒ€ŒvŽZ‚âƒAƒCƒeƒ€‚Ìd—Ê‚ÌŒvŽZ‚ðʼn‚É‚¾‚¯‚·‚é‚悤‚É‚µ‚Ä‚¢‚é‚Ì‚Å•\Ž¦‚É‚µ–â‘肪‚ ‚é‚©‚à... -EC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯‘‚¢‚Ä‚¨‚«‚Ü‚·B +・snapshot +・snapshotã‹ã‚‰snapshotã¾ã§ã®Readme分割 +・è¦æœ›ãŒå¤šã‹ã£ãŸã®ã§snap作æˆï¼ˆãƒ—ãƒã‚°ãƒ©ãƒ çš„ãªå¤‰æ›´ç‚¹ã¯ç„¡ã— + +-------------- +//0627 by æ»ç¥ž + +・コードã®æœ€é©åŒ–ã¨å°‘ã—ä¿®æ£ã€‚(å°‘ã—ã¯è»½ããªã‚‹ã¨æ€ã„ã¾ã™ã€‚) +・ @modifydisplayコマンド削除。 +・新ã—ã„移動パケットã«å¯¾å¿œã ã¨æ€ã£ãŸã‚‰0x1d8ã€0x1d9ã€0x1daパケットã®ä¸€éƒ¨ãŒ +0x78ã€0x79ã€0x7bã¨å¤‰ã‚ã£ã¦ã‚‹ã¿ãŸã„ã§ã™ã€‚ã¤ã¾ã‚Šä»Šã®ã¾ã¾ã§ã¯å¯¾å¿œã§ãã¾ã›ã‚“。 +X,Yã®åº§æ¨™ã®éƒ¨åˆ†ã®æ›¸å¼ãŒå¤‰ã‚ã£ãŸã®ã‹ã¨äºˆæ¸¬ã¯ã—ã¦ã„ã¾ã™ãŒ... +æƒ…å ±ã‚’æ±‚ã¿ã¾ã™ã€‚(makefileã®DPACKETVERã‚’4ã«ã™ã‚Œã°0x1d8ã€0x1d9ã€0x1daã‚’ +使ã„ã¾ã™ãŒåº§æ¨™ãŒãšã‚ŒãŸã‚‰ã—ã何も標示ã•ã‚Œã¾ã›ã‚“。) +・100000ã‹ã‚‰ã ã£ãŸchar_idã‚’150000ã‹ã‚‰ã«å¤‰æ›´ã€‚(ペットã®åµã®å•é¡Œã§æ¦å™¨ã®åå‰ãŒã¡ã‚‡ã£ã¨å¤‰ã«ãªã£ãŸã®ã§ä¿®æ£ã—ã¾ã—ãŸã€‚) +・ペットã®ã‚³ãƒ¼ãƒ‰å°‘ã—ä¿®æ£ã€‚(pet_idã‚’card[2]ã¨card[3]ã‹ã‚‰card[1]ã¨card[2]ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚よã£ã¦å‰ã«ä½œã£ãŸåµã¯ä½¿ãˆã¾ã›ã‚“。éžã§card[3]ã®æ©Ÿèƒ½ãŒå¤‰ã‚ã£ãŸã®ã§ +仕方ãªãä¿®æ£ã—ã¾ã—ãŸã€‚今度ã¯convertツールãŒã‚ã‚Šã¾ã›ã‚“。作る時間ãŒãªã‹ã£ãŸã®ã§...) +・最é©åŒ–ã®ç‚ºã«ä¿®æ£ã—ãŸæ‰€ãŒå¤šã„ã§ã™ãŒå…¨ã¦æ£å¸¸å‹•ä½œã™ã‚‹ä¿è¨¼ã¯ã‚ã‚Šã¾ã›ã‚“。 +鯖è½ã¡ãƒã‚°ãŒç™ºç”Ÿã—ãŸã‚‰å ±å‘ŠãŠé¡˜ã„ã—ã¾ã™ã€‚(batte.cã¯ã¾ã 最é©åŒ–ã—ã¦ã¾ã›ã‚“。) +カートã®ã‚¢ã‚¤ãƒ†ãƒ 計算やアイテムã®é‡é‡ã®è¨ˆç®—を最åˆã«ã ã‘ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹ã®ã§è¡¨ç¤ºã«å°‘ã—å•é¡ŒãŒã‚ã‚‹ã‹ã‚‚... +・修æ£ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã ã‘書ã„ã¦ãŠãã¾ã™ã€‚ makefile help.txt (common/) @@ -9094,3347 +9094,3347 @@ X,Y‚ÌÀ•W‚Ì•”•ª‚Ì‘Ž®‚ª•Ï‚í‚Á‚½‚Ì‚©‚Æ—\‘ª‚Í‚µ‚Ä‚¢‚Ü‚·‚ª... atcommand_athena.conf -------------- -//0626 by ˆø‘Þl +//0626 by 引退人 -EƒpƒPƒbƒg’·ƒe[ƒuƒ‹iVˆÚ“®ƒpƒPƒbƒg‚È‚ÇjC³ +・パケット長テーブル(新移動パケットãªã©ï¼‰ä¿®æ£ (doc/) - client_packet.txt ƒpƒPƒbƒg‰ð̓XƒŒ M‚³‚ñ‚Ìî•ñ‚𔽉f - conf_ref.txt 0624‚ɇ‚킹‚ÄC³ + client_packet.txt パケット解æžã‚¹ãƒ¬ Mã•ã‚“ã®æƒ…å ±ã‚’åæ˜ + conf_ref.txt 0624ã«åˆã‚ã›ã¦ä¿®æ£ (map/) clif.c - packet_len_table[] client_packet.txt‚ɇ‚킹‚ÄC³ + packet_len_table[] client_packet.txtã«åˆã‚ã›ã¦ä¿®æ£ -------------- -//0625 by ˆø‘Þl +//0625 by 引退人 -E@hide“§–¾‰»‚ðBOSS‚È‚Ç‚ÉŒ©”j‚ç‚ê‚È‚¢‚悤‚ÉC³ +・@hideé€æ˜ŽåŒ–ã‚’BOSSãªã©ã«è¦‹ç ´ã‚‰ã‚Œãªã„よã†ã«ä¿®æ£ (map/) pc.h - #define pc_iscarton(sd) C³ - #define pc_isinvisible(sd) ’ljÁ + #define pc_iscarton(sd) ä¿®æ£ + #define pc_isinvisible(sd) è¿½åŠ mob.c mob_attack() mob_target() mob_ai_sub_hard_activesearch() mob_ai_sub_hard_mastersearch() mob_ai_sub_hard() - “§–¾ipc_isinvisible(sd)!=0j‚ÅŽ€l‚Æ“¯—l‚É”»’肳‚ê‚é‚悤‚ÉC³ + é€æ˜Žï¼ˆpc_isinvisible(sd)!=0)ã§æ»äººã¨åŒæ§˜ã«åˆ¤å®šã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ (conf/) - npc_cTower.txt C³ithx to holyzard‚³‚ñj + npc_cTower.txt ä¿®æ£ï¼ˆthx to holyzardã•ã‚“) -------------- -//0624 by ‚é‚é‚é +//0624 by ã‚‹ã‚‹ã‚‹ -E•Ší‰æ‘œ•\Ž¦ˆ—‚̈êViVˆÚ“®ƒpƒPƒbƒgŽg—pj -Eã‚ÆŠÖ˜A‚µ‚ÄA@modifydisplayƒRƒ}ƒ“ƒh‚ðÝ‚¯‚½ -@@@@‹@”\‚Æ‚µ‚Ä‚ÍAŒ»Ý‚̃AƒTƒVƒ“•Ší‚È‚Ç‚Ì‚ª‚¨‚©‚µ‚¢ê‡‚ÉA‚Ü‚½‚Í‹C‚É“ü‚ç‚È‚¢‚Æ‚©‚ÅA -@@@@ƒLƒƒƒ‰–ˆ‚É‹ŒƒpƒP‚ðŽg—p‚·‚é‚悤‚É‚µ‚Ä‚¢‚éB +・æ¦å™¨ç”»åƒè¡¨ç¤ºå‡¦ç†ã®ä¸€æ–°ï¼ˆæ–°ç§»å‹•ãƒ‘ケット使用) +・上ã¨é–¢é€£ã—ã¦ã€@modifydisplayコマンドをè¨ã‘㟠+    機能ã¨ã—ã¦ã¯ã€ç¾åœ¨ã®ã‚¢ã‚µã‚·ãƒ³æ¦å™¨ãªã©ã®ãŒãŠã‹ã—ã„å ´åˆã«ã€ã¾ãŸã¯æ°—ã«å…¥ã‚‰ãªã„ã¨ã‹ã§ã€ +    ã‚ャラ毎ã«æ—§ãƒ‘ケを使用ã™ã‚‹ã‚ˆã†ã«ã—ã¦ã„る。 (map/) atcommand.c - atcommand() @modifydisplayƒRƒ}ƒ“ƒh‚ð’ljÁ + atcommand() @modifydisplayã‚³ãƒžãƒ³ãƒ‰ã‚’è¿½åŠ atcommand.h struct Atcommand_Config { -'7d •ÏX +'7d 変更 clif.c - clif_set0078_and01d8() , clif_set007b_and01da() ŠÖ”–¼•ˆ—‚Ì•ÏX + clif_set0078_and01d8() , clif_set007b_and01da() 関数å&処ç†ã®å¤‰æ›´ clif_spawnpc() , clif_movechar() , clif_changelook() , clif_getareachar_pc() , - clif_fixpcpos() , clif_parse_LoadEndAck() •ÏX + clif_fixpcpos() , clif_parse_LoadEndAck() 変更 map.h - struct map_session_data Eb} •ÏX + struct map_session_data ・b} 変更 pc.c - pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() •ÏX + pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() 変更 (conf/) atcommand_athena.conf - equip_modifydisplay ’ljÁ + equip_modifydisplay è¿½åŠ - •ÏX‰ÓŠ‚Í‘S‚ăL[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ê‚΂قڂ킩‚é‚©‚ÆB + 変更箇所ã¯å…¨ã¦ã‚ーワード「modifydisplayã€ã§ã‚µãƒ¼ãƒã™ã‚Œã°ã»ã¼ã‚ã‹ã‚‹ã‹ã¨ã€‚ -ƒRƒƒ“ƒgF‚à‚¤‚±‚ê‚Å–â‘è‚Í–³‚¢‚Í‚¸BŽÀ‚Í‘å‚¢‚Ȃ銨ˆá‚¢‚ð‚µ‚Ä‚½ŒÂŠ‚ª‚ ‚Á‚½‚Ì‚Í“àiƒ}ƒew +コメント:もã†ã“ã‚Œã§å•é¡Œã¯ç„¡ã„ã¯ãšã€‚実ã¯å¤§ã„ãªã‚‹å‹˜é•ã„ã‚’ã—ã¦ãŸå€‹æ‰€ãŒã‚ã£ãŸã®ã¯å†…緒(マテw -------------- -//0623 by ˆø‘Þl +//0623 by 引退人 -E@hide‚Å“§–¾‰»iŒ©‚ç‚ê‚È‚¢•MOB‚Ƀ^ƒQ‚ç‚ê‚È‚¢j‚·‚é‚悤‚ÉC³‚È‚Ç +・@hideã§é€æ˜ŽåŒ–(見られãªã„&MOBã«ã‚¿ã‚²ã‚‰ã‚Œãªã„)ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ãªã© (map/) atcommand.c - @hide‚ÌoptionÝ’è‚ð0x04‚©‚ç0x40‚É•ÏX + @hideã®optionè¨å®šã‚’0x04ã‹ã‚‰0x40ã«å¤‰æ›´ mob.c mob_attack() mob_target() mob_ai_sub_hard_activesearch() mob_ai_sub_hard_mastersearch() mob_ai_sub_hard() - option”»’è‚ð0x06‚©‚ç0x46‚ÉC³ + option判定を0x06ã‹ã‚‰0x46ã«ä¿®æ£ (conf/) - npc_event_potion.txt MORISON_MEATC³ithx to holyzard‚³‚ñj + npc_event_potion.txt MORISON_MEATä¿®æ£ï¼ˆthx to holyzardã•ã‚“) -------------- -//0622 by ˆø‘Þl +//0622 by 引退人 -Emob‚ªƒXƒLƒ‹Žg—p‚ÉŽ¸”s‚µ‚½ê‡A’ÊíUŒ‚‚·‚é‚悤‚É +・mobãŒã‚¹ã‚ル使用ã«å¤±æ•—ã—ãŸå ´åˆã€é€šå¸¸æ”»æ’ƒã™ã‚‹ã‚ˆã†ã« (map/) mob.c - mobskill_use_id() ƒXƒLƒ‹Žg—pŽ¸”s‚Å0A¬Œ÷‚Å1‚ð•Ô‚·‚悤‚ÉC³ - mobskill_use_pos() ƒXƒLƒ‹Žg—pŽ¸”s‚Å0A¬Œ÷‚Å1‚ð•Ô‚·‚悤‚ÉC³ - mobskill_use() ã‹L‚𔽉f‚µ‚ÄŽ¸”sŽž‚É‚Í0‚ð•Ô‚·‚悤‚ÉC³ + mobskill_use_id() スã‚ル使用失敗ã§0ã€æˆåŠŸã§1ã‚’è¿”ã™ã‚ˆã†ã«ä¿®æ£ + mobskill_use_pos() スã‚ル使用失敗ã§0ã€æˆåŠŸã§1ã‚’è¿”ã™ã‚ˆã†ã«ä¿®æ£ + mobskill_use() 上記をåæ˜ ã—ã¦å¤±æ•—時ã«ã¯0ã‚’è¿”ã™ã‚ˆã†ã«ä¿®æ£ -------------- -//0621 by ŒÓ’±—– +//0621 by 胡è¶è˜ -EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ðs‚¤‚©‚Ç‚¤‚©conf/battle_athena.cnf‚É‘‚¯‚é‚悤‚É -EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å•s³‚Æ”»’f‚·‚é‚©‚Ç‚¤‚©‚ðdb/item_avail.txt‚É‘‚¯‚é‚悤‚É -E@itemcheck‚Å–¾Ž¦“I‚ɃAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å‚«‚é‚悤‚É +・アイテムãƒã‚§ãƒƒã‚¯ã‚’è¡Œã†ã‹ã©ã†ã‹conf/battle_athena.cnfã«æ›¸ã‘るよã†ã« +・アイテムãƒã‚§ãƒƒã‚¯ã§ä¸æ£ã¨åˆ¤æ–ã™ã‚‹ã‹ã©ã†ã‹ã‚’db/item_avail.txtã«æ›¸ã‘るよã†ã« +・@itemcheckã§æ˜Žç¤ºçš„ã«ã‚¢ã‚¤ãƒ†ãƒ ãƒã‚§ãƒƒã‚¯ã§ãるよã†ã« - ƒfƒoƒO‚âƒeƒXƒg‚È‚Ç‚ÅFX‚ȃAƒCƒeƒ€ID‚ðŽg—p‚µ‚½‚¢ê‡‚Í - ƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚𖳌ø‚É‚µ‚ĉº‚³‚¢B(item_check: off) - –³Œø‚É‚µ‚½ê‡‚Å‚à@itemcheckƒRƒ}ƒ“ƒh‚Ń`ƒFƒbƒN‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B - cnfƒtƒ@ƒCƒ‹‚Í—pˆÓ‚µ‚Ä‚È‚¢‚Ì‚Å•K—v‚È‚çŠeŽ©“K“–‚É‘‚«Š·‚¦‚Ä‚‚¾‚³‚¢B + デãƒã‚°ã‚„テストãªã©ã§è‰²ã€…ãªã‚¢ã‚¤ãƒ†ãƒ IDを使用ã—ãŸã„å ´åˆã¯ + アイテムãƒã‚§ãƒƒã‚¯ã‚’無効ã«ã—ã¦ä¸‹ã•ã„。(item_check: off) + 無効ã«ã—ãŸå ´åˆã§ã‚‚@itemcheckコマンドã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ + cnfファイルã¯ç”¨æ„ã—ã¦ãªã„ã®ã§å¿…è¦ãªã‚‰å„自é©å½“ã«æ›¸ãæ›ãˆã¦ãã ã•ã„。 (db/) item_avail.txt - V‹K’ljÁB•s³ƒAƒCƒeƒ€‚Ì—ñ‹“‚ÉŽg—pB–¢Š®¬B‘¼—Í–{ŠèB - item_db.txt‚É’è‹`‚³‚ê‚Ă邪ŽÀÛ‚É‚ÍŽg—p‚Å‚«‚È‚¢ƒAƒCƒeƒ€‚ð‘‚B + æ–°è¦è¿½åŠ 。ä¸æ£ã‚¢ã‚¤ãƒ†ãƒ ã®åˆ—挙ã«ä½¿ç”¨ã€‚未完æˆã€‚他力本願。 + item_db.txtã«å®šç¾©ã•ã‚Œã¦ã‚‹ãŒå®Ÿéš›ã«ã¯ä½¿ç”¨ã§ããªã„アイテムを書ã。 (doc/) conf_ref.txt - battle_athena.cnf‚Æatcommand_athena.cnf‚Ìà–¾C³ + battle_athena.cnfã¨atcommand_athena.cnfã®èª¬æ˜Žä¿®æ£ (map/) itemdb.c/itemdb.h - itemdb_availableƒ}ƒNƒ’ljÁ - itemdb_read_itemavail()’ljÁ - itemdb_readdb()‚Åavailable=1‚É‚·‚é‚悤‚É - itemdb_search()‚Å‘¶Ý‚µ‚È‚¢ID‚Íavailable=0‚Ńf[ƒ^‚ðì‚é‚悤‚É - do_init_itemdb()‚Åitemdb_read_itemavail()‚ðŒÄ‚Ԃ悤‚É + itemdb_availableマクãƒè¿½åŠ + itemdb_read_itemavail()è¿½åŠ + itemdb_readdb()ã§available=1ã«ã™ã‚‹ã‚ˆã†ã« + itemdb_search()ã§å˜åœ¨ã—ãªã„IDã¯available=0ã§ãƒ‡ãƒ¼ã‚¿ã‚’作るよã†ã« + do_init_itemdb()ã§itemdb_read_itemavail()を呼ã¶ã‚ˆã†ã« pc.c/pc.h - pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg - pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É + pc_checkitem()をエクスãƒãƒ¼ãƒˆ + pc_checkitem()ã§availableã¨battleconfigã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã« atcommand.c/atcommand.h - @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É - @itemcheckƒRƒ}ƒ“ƒh’ljÁ - atcommandconfig‚Éitemcheckƒƒ“ƒo’ljÁ + @itemã§battleconfigã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã« + @itemcheckã‚³ãƒžãƒ³ãƒ‰è¿½åŠ + atcommandconfigã«itemcheckメンãƒè¿½åŠ battle.c/battle.h - battle_config‚Éitem_checkƒƒ“ƒo’ljÁ + battle_configã«item_checkメンãƒè¿½åŠ -Eladmin‚ÌC³‚È‚Ç - ƒAƒJƒEƒ“ƒg’ljÁAƒpƒXƒ[ƒh•ÏX‚ÌۂɃpƒXƒ[ƒh‚ðÈ—ª‚·‚é‚ÆA - ƒpƒXƒ[ƒh—p‚̃GƒR[‚µ‚È‚¢ê—pƒvƒƒ“ƒvƒg‚Å“ü—Í‚Å‚«‚Ü‚·i•“ü—ÍŠm”FjB - ’ljÁ‚ÌۂɃpƒXƒ[ƒh‚ª•\Ž¦‚³‚ꂽ‚碂éꇂȂǂÉB - ƒpƒXƒ[ƒh“ü—Í’†‚ÍCtrl+C‚ªŒø‚©‚È‚¢‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +・ladminã®ä¿®æ£ãªã© + ã‚¢ã‚«ã‚¦ãƒ³ãƒˆè¿½åŠ ã€ãƒ‘スワード変更ã®éš›ã«ãƒ‘スワードをçœç•¥ã™ã‚‹ã¨ã€ + パスワード用ã®ã‚¨ã‚³ãƒ¼ã—ãªã„専用プãƒãƒ³ãƒ—トã§å…¥åŠ›ã§ãã¾ã™ï¼ˆï¼†å…¥åŠ›ç¢ºèªï¼‰ã€‚ + è¿½åŠ ã®éš›ã«ãƒ‘スワードãŒè¡¨ç¤ºã•ã‚ŒãŸã‚‰å›°ã‚‹å ´åˆãªã©ã«ã€‚ + パスワード入力ä¸ã¯Ctrl+CãŒåŠ¹ã‹ãªã„ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 - ƒpƒXƒ[ƒh‚Ì•s³•¶Žš‚Ì•\Ž¦‚ªA‰½•¶Žš–Ú‚©‚Å•\Ž¦‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - ‚»‚Ì‘¼”÷–‚Ƀ`ƒFƒbƒN’ljÁ‚È‚ÇB + パスワードã®ä¸æ£æ–‡å—ã®è¡¨ç¤ºãŒã€ä½•æ–‡å—ç›®ã‹ã§è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ãã®ä»–微妙ã«ãƒã‚§ãƒƒã‚¯è¿½åŠ ãªã©ã€‚ - Cygwin‚Å‚µ‚©“®ìŠm”F‚µ‚Ä‚¢‚Ü‚¹‚ñBPOSIXƒ‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚ÅA - POSIX‚Å‚È‚¢(•ƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚à‚Å‚«‚È‚¢)ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚¾‚Æ - “®‚©‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB - UNIXŒn‚Å‚Ínkf‚ȂǂʼnüsƒR[ƒh‚ð•ÏŠ·‚µ‚È‚¢‚Æ‚¾‚ß‚©‚àH + Cygwinã§ã—ã‹å‹•ä½œç¢ºèªã—ã¦ã„ã¾ã›ã‚“。POSIXモジュールを使ã£ã¦ã„ã‚‹ã®ã§ã€ + POSIXã§ãªã„(&エミュレーションもã§ããªã„)プラットフォームã 㨠+ å‹•ã‹ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + UNIXç³»ã§ã¯nkfãªã©ã§æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’変æ›ã—ãªã„ã¨ã ã‚ã‹ã‚‚? (tool/) ladmin - Ver.1.03‚ÉB + Ver.1.03ã«ã€‚ ------------- -//0620 by ŒŽ‰r‚Ý +//0620 by æœˆè© ã¿ -Eƒz[ƒŠ[ƒNƒƒXŽÀ‘• +・ホーリークãƒã‚¹å®Ÿè£… (db) - skill_db.txt C³ + skill_db.txt ä¿®æ£ (map) skill.c - skill_additional_effect()C³(ƒRƒƒ“ƒg‚Ì‚Ý) + skill_additional_effect()ä¿®æ£(コメントã®ã¿) battle.c - Damage battle_calc_weapon_attack()C³ + Damage battle_calc_weapon_attack()ä¿®æ£ ------------- -//0619 by ‚é‚é‚é +//0619 by ã‚‹ã‚‹ã‚‹ -Eƒpƒbƒ`0617‚Ì‚Å‚â‚è–Y‚ê‚Æ”÷–‚ÈC³ +・パッãƒ0617ã®ã§ã‚„り忘れã¨å¾®å¦™ãªä¿®æ£ clif.c - clif_movechar(),clif_parse_LoadEndAck() C³ + clif_movechar(),clif_parse_LoadEndAck() ä¿®æ£ -------------- //0618 by nini -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚̉r¥AƒfƒBƒŒƒC’ljÁB‰ñ•œ—ÊC³B -EÁ”ïSPC³ -EƒAƒ[ƒVƒƒƒ[‚͈̔͂ð5*5‚É‚µ‚Ä2ƒZƒ‹‚«”ò‚΂µB -Eƒ`ƒƒ[ƒWƒAƒ[‚ÌŽg—p•ŠíðŒ–³‚µB -EƒXƒsƒAƒXƒ^ƒu‚Ì”ò‹——£‚ð6ƒZƒ‹‚ÉB +・リザレクションã®è© å”±ã€ãƒ‡ã‚£ãƒ¬ã‚¤è¿½åŠ 。回復é‡ä¿®æ£ã€‚ +・消費SPä¿®æ£ +・アãƒãƒ¼ã‚·ãƒ£ãƒ¯ãƒ¼ã®ç¯„囲を5*5ã«ã—ã¦2セルå¹ã飛ã°ã—。 +・ãƒãƒ£ãƒ¼ã‚¸ã‚¢ãƒãƒ¼ã®ä½¿ç”¨æ¦å™¨æ¡ä»¶ç„¡ã—。 +・スピアスタブã®é£›è·é›¢ã‚’6セルã«ã€‚ (/db) - cast_db.txt C³ - skill_db.txt C³ + cast_db.txt ä¿®æ£ + skill_db.txt ä¿®æ£ (/map) battle.c - battle_calc_weapon_attack() C³ + battle_calc_weapon_attack() ä¿®æ£ skill.c - skill_castend_damage_id() C³ - skill_check_condition() C³ - skill_castend_nodamage_id() C³ + skill_castend_damage_id() ä¿®æ£ + skill_check_condition() ä¿®æ£ + skill_castend_nodamage_id() ä¿®æ£ -------------- -//0617 by ‚é‚é‚é +//0617 by ã‚‹ã‚‹ã‚‹ -E•Ší‰æ‘œ•\Ž¦‚Å‘¼ƒLƒƒƒ‰‚ª•\Ž¦‚³‚ê‚È‚¢‚Ì‚ðu‚Æ‚è‚ ‚¦‚¸vC³ -EŒC•\Ž¦‚̃pƒPƒbƒg‚ð‘—M’âŽ~iŒ»Žž“_‚ł̓€ƒ_BƒRƒƒ“ƒg‚µ‚½‚¾‚¯‚Å‚·‚ªj +・æ¦å™¨ç”»åƒè¡¨ç¤ºã§ä»–ã‚ャラãŒè¡¨ç¤ºã•ã‚Œãªã„ã®ã‚’「ã¨ã‚Šã‚ãˆãšã€ä¿®æ£ +・é´è¡¨ç¤ºã®ãƒ‘ケットをé€ä¿¡åœæ¢ï¼ˆç¾æ™‚点ã§ã¯ãƒ ダ。コメントã—ãŸã ã‘ã§ã™ãŒï¼‰ clif.c - clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()C³ + clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()ä¿®æ£ pc.c - clif_changelook()‚ª‚ ‚é•”•ª‚ðC³i•Ší[„‚‚Ƈ‚É‚È‚é‚悤‚Ɉ—‚Ì“ü‚ê‘Ö‚¦j + clif_changelook()ãŒã‚る部分を修æ£ï¼ˆæ¦å™¨ãƒ¼ï¼žç›¾ã¨é †ã«ãªã‚‹ã‚ˆã†ã«å‡¦ç†ã®å…¥ã‚Œæ›¿ãˆï¼‰ -ƒRƒƒ“ƒgB -Vƒ}ƒbƒvˆÚ“®ƒpƒP(0x1d8`0x1daj‚ðFX‚Æ‚â‚Á‚½‚ªA‚»‚̃pƒP‚P‚‚ŕŠí•\Ž¦‚ªVŽ®‚̂ɑΉž‚µ‚Ä‚é -‚Æ‚¢‚¤‚킯‚Å‚Í‚È‚¢‚Á‚Û‚¢B‹ŒˆÚ“®ƒpƒP‚¾‚ÆŽ©•ªˆÈŠO‚̃Lƒƒƒ‰‚ªˆÚ“®‚·‚é‚Æ‹ŒŽ®•\Ž¦‚É‚È‚Á‚Ä‚µ‚È‚¤B -X‚ÉAV•Ší•\Ž¦ƒpƒP‚Í•Ší‚Æ‚‚Ì“¯Žžˆ—‚ªo—ˆ‚Ä‚È‚¢B‚¨‚»‚炃Nƒ‰ƒCƒAƒ“ƒg‚Ì–â‘肾‚ÆŽv‚¤B -‚Æ‚è‚ ‚¦‚¸AƒLƒƒƒ‰‚ª“®‚‚½‚Ñ‚ÉV•ŠíƒpƒP„‹Œ‚ƒpƒP‚Ì‚Q‚‚̑•”õƒpƒP‚𑗂邱‚Æ‚Å‰ðŒˆ‚³‚¹‚Ä‚¢‚éB -–{ŽI‚Å‚Í‚Ç‚¤‚È‚Ì‚©‚ÌŽÀÛ‚Ì‚Æ‚±‚ë‚̃f[ƒ^‚ª–³‚¢‚½‚ßA‚±‚êˆÈã‚Ì‚±‚Ƃ̓€ƒŠB +コメント。 +新マップ移動パケ(0x1d8〜0x1da)を色々ã¨ã‚„ã£ãŸãŒã€ãã®ãƒ‘ケ1ã¤ã§æ¦å™¨è¡¨ç¤ºãŒæ–°å¼ã®ã«å¯¾å¿œã—ã¦ã‚‹ +ã¨ã„ã†ã‚ã‘ã§ã¯ãªã„ã£ã½ã„。旧移動パケã ã¨è‡ªåˆ†ä»¥å¤–ã®ã‚ャラãŒç§»å‹•ã™ã‚‹ã¨æ—§å¼è¡¨ç¤ºã«ãªã£ã¦ã—ãªã†ã€‚ +æ›´ã«ã€æ–°æ¦å™¨è¡¨ç¤ºãƒ‘ケã¯æ¦å™¨ã¨ç›¾ã®åŒæ™‚処ç†ãŒå‡ºæ¥ã¦ãªã„。ãŠãらãクライアントã®å•é¡Œã ã¨æ€ã†ã€‚ +ã¨ã‚Šã‚ãˆãšã€ã‚ャラãŒå‹•ããŸã³ã«æ–°æ¦å™¨ãƒ‘ケï¼ï¼žæ—§ç›¾ãƒ‘ケã®ï¼’ã¤ã®è£…備パケをé€ã‚‹ã“ã¨ã§è§£æ±ºã•ã›ã¦ã„る。 +本鯖ã§ã¯ã©ã†ãªã®ã‹ã®å®Ÿéš›ã®ã¨ã“ã‚ã®ãƒ‡ãƒ¼ã‚¿ãŒç„¡ã„ãŸã‚ã€ã“れ以上ã®ã“ã¨ã¯ãƒ リ。 -------------- -//0616 by ŒÓ’±—– +//0616 by 胡è¶è˜ -Ewater_height.txt‚ð“Ç‚ñ‚Å‚¢‚È‚¢‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ +・water_height.txtã‚’èªã‚“ã§ã„ãªã„ã¨ã‚µãƒ¼ãƒãƒ¼ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ map.c - map_waterheight()C³ + map_waterheight()ä¿®æ£ -EPC‚̃}ƒbƒvˆÚ“®Žž‚̃AƒCƒeƒ€ƒ`ƒFƒbƒN‚ŃAƒCƒeƒ€ID‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³ -Eˆê•”‚Ì—ƒRƒ}ƒ“ƒh‚ŃAƒCƒeƒ€ID‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³ +・PCã®ãƒžãƒƒãƒ—移動時ã®ã‚¢ã‚¤ãƒ†ãƒ ãƒã‚§ãƒƒã‚¯ã§ã‚¢ã‚¤ãƒ†ãƒ IDã®å˜åœ¨ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +・一部ã®ï¼ コマンドã§ã‚¢ã‚¤ãƒ†ãƒ IDã®å˜åœ¨ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ pc.c - pc_checkitem()C³ - pc_authok()C³ pc_checkitem()’ljÁ + pc_checkitem()ä¿®æ£ + pc_authok()ä¿®æ£ pc_checkitem()è¿½åŠ clif.c - clif_parse_LoadEndAck()C³ + clif_parse_LoadEndAck()ä¿®æ£ itemdb.c - itemdb_exists()’ljÁiitemdb_search‚Æ“¯‚¶‚¾‚ªAdb‚É‘¶Ý‚µ‚È‚¢ - ꇂÍV‚µ‚¢ƒf[ƒ^‚ðì‚炸‚ÉNULL‚ð•Ô‚·j - itemdb_read_classequipdb()C³ itemdb_search=>itemdb_exists - itemdb_read_itemnametable()C³ itemdb_search=>itemdb_exists - itemdb_read_itemvaluedb()C³ itemdb_search=>itemdb_exists + itemdb_exists()è¿½åŠ ï¼ˆitemdb_searchã¨åŒã˜ã ãŒã€dbã«å˜åœ¨ã—ãªã„ + å ´åˆã¯æ–°ã—ã„データを作らãšã«NULLã‚’è¿”ã™ï¼‰ + itemdb_read_classequipdb()ä¿®æ£ itemdb_search=>itemdb_exists + itemdb_read_itemnametable()ä¿®æ£ itemdb_search=>itemdb_exists + itemdb_read_itemvaluedb()ä¿®æ£ itemdb_search=>itemdb_exists atcommand.c - @itemC³ itemdb_search=>itemdb_exists - @produceC³ itemdb_exists‚Ń`ƒFƒbƒN‚·‚é‚悤‚É + @itemä¿®æ£ itemdb_search=>itemdb_exists + @produceä¿®æ£ itemdb_existsã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã« -------------- -//0615 by ”g˜Q +//0615 by 波浪 -EƒAƒCƒeƒ€DATA‘å•C³ -@Žå‚ÈC³‰ÓŠ‚ÍA‰ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ÌC³AÁ”ïƒAƒCƒeƒ€‚ðclass_equip_db.txt–³‚µ‚Å‚àŽg—p‚Å‚«‚é—l‚ÉC³A -@‘•”õ•i‚Ì‘•”õ‰Â”\E‚ð‘S‚ÄC³AƒJ[ƒhŒø‰Ê‚ðC³AetcEEE‚Å‚·B +・アイテムDATAå¤§å¹…ä¿®æ£ + 主ãªä¿®æ£ç®‡æ‰€ã¯ã€å›žå¾©ã‚¢ã‚¤ãƒ†ãƒ ã®å›žå¾©é‡ã®ä¿®æ£ã€æ¶ˆè²»ã‚¢ã‚¤ãƒ†ãƒ ã‚’class_equip_db.txtç„¡ã—ã§ã‚‚使用ã§ãる様ã«ä¿®æ£ã€ + 装備å“ã®è£…å‚™å¯èƒ½è·ã‚’å…¨ã¦ä¿®æ£ã€ã‚«ãƒ¼ãƒ‰åŠ¹æžœã‚’ä¿®æ£ã€etc・・・ã§ã™ã€‚ -------------- //0614 by Nikita -EƒAƒCƒeƒ€DATA‚ÌC³iŽå‚ɉñ•œ—Êj -EƒXƒLƒ‹‰ð“Å‚ÌŽË’öC³ -E0612‚Ìׂ©‚¢C³ +・アイテムDATAã®ä¿®æ£ï¼ˆä¸»ã«å›žå¾©é‡ï¼‰ +・スã‚ル解毒ã®å°„ç¨‹ä¿®æ£ +・0612ã®ç´°ã‹ã„ä¿®æ£ (conf/) - npc_town_prontera.txt C³ + npc_town_prontera.txt ä¿®æ£ (db/) - item_db.txt C³ - skill_db.txt C³ + item_db.txt ä¿®æ£ + skill_db.txt ä¿®æ£ -------------- -//0613 by ˆø‘Þl -EcheckweightC³ +//0613 by 引退人 +・checkweightä¿®æ£ (conf/) - npc_event_making.txt checkweight•”•ª‚ðC³ - npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ÌcheckweightC³ + npc_event_making.txt checkweightéƒ¨åˆ†ã‚’ä¿®æ£ + npc_event_potion.txt ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€ã‚¸ãƒ¥ãƒ¼ã‚¹NPCã®checkweightä¿®æ£ -------------- //0612 by nini -EƒAƒCƒeƒ€DATAC³ +・アイテムDATAä¿®æ£ (db/) - item_db.txt C³ + item_db.txt ä¿®æ£ (conf/) - npc_town_***.txt C³ - R.O.M776‚³‚ñ‚ðŽQÆ‚µ‚Ü‚µ‚½B + npc_town_***.txt ä¿®æ£ + R.O.M776ã•ã‚“ã‚’å‚ç…§ã—ã¾ã—ãŸã€‚ -------------- -//0611 by Ž€_ +//0611 by æ»ç¥ž -EƒAƒCƒeƒ€Žg—pðŒ‚ª‚ ‚í‚È‚¢Žž0xa8ƒpƒPƒbƒg‚ð‘—‚é‚悤‚É•ÏXB(ƒoƒO•ñƒXƒŒƒbƒh 243‚Ìno name‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) -EQM‚ÅW’†—ÍŒüã‚Æ‘¬“xã¸AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Aƒ‰ƒEƒhƒ{ƒCƒXAƒXƒsƒAƒNƒCƒbƒPƒ“Aƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“‚ð‰ðœ‚·‚é‚悤‚ÉC³B -E‘¬“x㸂Ƒ¬“xŒ¸‚Å‹t‚̃XƒLƒ‹‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B -E0609‚Å‘‚«–Y‚êBƒ‚ƒ“ƒXƒ^[‚ªQM‚͈̔͂©‚甲‚¯‚Ä‚àŒø‰Ê‚ªˆÛŽ‚·‚é‚悤‚É -•ÏX‚ƃuƒŒƒbƒVƒ“ƒO‚ÅŽô‚¢‚ÆΉ»‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B +・アイテム使用æ¡ä»¶ãŒã‚ã‚ãªã„時0xa8パケットをé€ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ 243ã®no nameã•ã‚“æƒ…å ±æä¾›ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚) +・QMã§é›†ä¸åŠ›å‘上ã¨é€Ÿåº¦ä¸Šæ˜‡ã€ã‚¢ãƒ‰ãƒ¬ãƒŠãƒªãƒ³ãƒ©ãƒƒã‚·ãƒ¥ã€ãƒ©ã‚¦ãƒ‰ãƒœã‚¤ã‚¹ã€ã‚¹ãƒ”アクイッケンã€ãƒ„ーãƒãƒ³ãƒ‰ã‚¯ã‚¤ãƒƒã‚±ãƒ³ã‚’解除ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・速度上昇ã¨é€Ÿåº¦æ¸›å°‘ã§é€†ã®ã‚¹ã‚ルãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・0609ã§æ›¸ã忘れ。モンスターãŒQMã®ç¯„囲ã‹ã‚‰æŠœã‘ã¦ã‚‚効果ãŒç¶æŒã™ã‚‹ã‚ˆã†ã« +変更ã¨ãƒ–レッシングã§å‘ªã„ã¨çŸ³åŒ–ãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ clif.c - clif_useitemack() C³B + clif_useitemack() ä¿®æ£ã€‚ skill.c - skill_status_change_start() C³B + skill_status_change_start() ä¿®æ£ã€‚ pc.c - pc_insert_card() C³B(‚±‚ê‚̓J[ƒhƒoƒO‚Æ‚ÍŠÖŒW‚È‚¢C³‚Å‚·B‚»‚̃oƒO‚ÌC³‚ÍŽ©•ª‚ª05xx“–‚½‚è‚ÅC³‚µ‚Ü‚µ‚½‚Ì‚ÅB) + pc_insert_card() ä¿®æ£ã€‚(ã“ã‚Œã¯ã‚«ãƒ¼ãƒ‰ãƒã‚°ã¨ã¯é–¢ä¿‚ãªã„ä¿®æ£ã§ã™ã€‚ãã®ãƒã‚°ã®ä¿®æ£ã¯è‡ªåˆ†ãŒ05xx当ãŸã‚Šã§ä¿®æ£ã—ã¾ã—ãŸã®ã§ã€‚) -------------- -//0610 by ”g˜Q +//0610 by 波浪 -EƒAƒCƒeƒ€DATAC³ +・アイテムDATAä¿®æ£ (db/) - item_db.txt C³ - --------------- -//0609 by Ž€_ - -EFX‚ÆC³B -Eƒ‚ƒ“ƒXƒ^[‚ªŽ~‚Ü‚é‚悤‚É“®‚–â‘èC³B -EŽw’e‚̃fƒBƒŒƒCC³B -E–î쬂̃R[ƒh•Ð•t‚¯B -E“G‚ªƒXƒLƒ‹”͈͂©‚瓦‚°‚½ê‡ƒXƒLƒ‹‚ªŽ¸”s‚·‚é‚悤‚É•ÏXB -Eclass_equip_db.txt‚ÌŽd—l•ÏXB - «•Ê‚Æ‘•”õƒŒƒxƒ‹‚àÝ’è‰Â”\‚É•ÏX‚ÆŽg—pƒAƒCƒeƒ€‚ÌŽg—pE‹ÆA«•Ê‚ÆŽg—p - ƒŒƒxƒ‹‚Ìݒ肪‚Å‚«‚é‚悤‚É•ÏXB(‚½‚¾ƒf[ƒ^‚ª‘½‚¢‚¹‚¢‚ÅC³‚µ‚½ - class_equip_db.txt‚̓Tƒ“ƒvƒ‹’ö“x‚Ì•¨‚Å‚·B–„‚ß‚Ä‚‚¾‚³‚¢B‘¼—Í–{Šè‚Å‚·‚ª...) - ‚»‚ê‚ƃAƒCƒeƒ€Žg—pðŒ‚ª‚ ‚í‚È‚¢‚ƃAƒCƒeƒ€‚ªŽg‚í‚È‚¢‚悤‚É‚µ‚Ä‚Í - ‚¢‚Ü‚·‚ª01c8ƒpƒPƒbƒg‚Ì<type>‚ð0‚É‚µ‚Ä‚àƒAƒCƒeƒ€‚ðŽg—p‚µ‚½Žž‚Æ“¯‚¶ - ƒGƒtƒFƒNƒg‚ªo‚Ü‚·B–{ŽI‚̃AƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ª•ª‚©‚ç‚È‚¢‚Ü‚Ü‚¶‚á - ‚±‚¤‚·‚邵‚©‚È‚©‚Á‚½‚Ì‚Å‚·‚ª... -Ebattle_athena.conf‚É€–ڒljÁB -E‚»‚Ì‘¼ƒXƒLƒ‹‚µC³‚Æׂ©‚¢C³B -EC³‚µ‚½Š‚ð‘S‚ÄŠo‚¦‚Ä‚Ü‚¹‚ñ‚̂Ńtƒ@ƒCƒ‹‚¾‚¯B - (map/) - clif.c C³B - mob.c C³B - mob.h C³B - pc.c C³B - map.h C³B - skill.c C³B - skill.h C³B - itemdb.c C³B - battle.c C³B - battle.h C³B + item_db.txt ä¿®æ£ + +-------------- +//0609 by æ»ç¥ž + +・色々ã¨ä¿®æ£ã€‚ +・モンスターãŒæ¢ã¾ã‚‹ã‚ˆã†ã«å‹•ãå•é¡Œä¿®æ£ã€‚ +・指弾ã®ãƒ‡ã‚£ãƒ¬ã‚¤ä¿®æ£ã€‚ +・矢作æˆã®ã‚³ãƒ¼ãƒ‰ç‰‡ä»˜ã‘。 +・敵ãŒã‚¹ã‚ル範囲ã‹ã‚‰é€ƒã’ãŸå ´åˆã‚¹ã‚ルãŒå¤±æ•—ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・class_equip_db.txtã®ä»•æ§˜å¤‰æ›´ã€‚ + 性別ã¨è£…備レベルもè¨å®šå¯èƒ½ã«å¤‰æ›´ã¨ä½¿ç”¨ã‚¢ã‚¤ãƒ†ãƒ ã®ä½¿ç”¨è·æ¥ã€æ€§åˆ¥ã¨ä½¿ç”¨ + レベルã®è¨å®šãŒã§ãるよã†ã«å¤‰æ›´ã€‚(ãŸã データãŒå¤šã„ã›ã„ã§ä¿®æ£ã—㟠+ class_equip_db.txtã¯ã‚µãƒ³ãƒ—ル程度ã®ç‰©ã§ã™ã€‚埋ã‚ã¦ãã ã•ã„。他力本願ã§ã™ãŒ...) + ãã‚Œã¨ã‚¢ã‚¤ãƒ†ãƒ 使用æ¡ä»¶ãŒã‚ã‚ãªã„ã¨ã‚¢ã‚¤ãƒ†ãƒ ãŒä½¿ã‚ãªã„よã†ã«ã—ã¦ã¯ + ã„ã¾ã™ãŒ01c8パケットã®<type>ã‚’0ã«ã—ã¦ã‚‚アイテムを使用ã—ãŸæ™‚ã¨åŒã˜ + エフェクトãŒå‡ºã¾ã™ã€‚本鯖ã®ã‚¢ã‚¤ãƒ†ãƒ 使用パケットãŒåˆ†ã‹ã‚‰ãªã„ã¾ã¾ã˜ã‚ƒ + ã“ã†ã™ã‚‹ã—ã‹ãªã‹ã£ãŸã®ã§ã™ãŒ... +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ +・ãã®ä»–スã‚ル少ã—ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・修æ£ã—ãŸæ‰€ã‚’å…¨ã¦è¦šãˆã¦ã¾ã›ã‚“ã®ã§ãƒ•ã‚¡ã‚¤ãƒ«ã ã‘。 + (map/) + clif.c ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + map.h ä¿®æ£ã€‚ + skill.c ä¿®æ£ã€‚ + skill.h ä¿®æ£ã€‚ + itemdb.c ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (db/) - cast_db.txt C³B - skill_db.txt C³B - create_arrow_db.txt C³B - class_equip_db.txt C³B - item_db.txt C³B + cast_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ + create_arrow_db.txt ä¿®æ£ã€‚ + class_equip_db.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (doc/) - client_packet.txt C³B - conf_ref.txt C³B + client_packet.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ -------------- //0608 by sk -EƒAƒ}ƒcNPC’ljÁ +・アマツNPCè¿½åŠ (conf/) - npc_town_amatsu.txt é“àNPC’ljÁ - npc_warp_amatsu.txt é“àƒ[ƒvƒ|ƒCƒ“ƒg’ljÁ + npc_town_amatsu.txt 城内NPCè¿½åŠ + npc_warp_amatsu.txt 城内ワープãƒã‚¤ãƒ³ãƒˆè¿½åŠ -------------- //0607 by J -EƒAƒTƒ‹ƒgƒ^[ƒgƒ‹‚̎艺¢Š«‚̃oƒOC³(•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚· ‚é‚é‚邳‚ñ) +・アサルトタートルã®æ‰‹ä¸‹å¬å–šã®ãƒã‚°ä¿®æ£(å ±å‘Šã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ ã‚‹ã‚‹ã‚‹ã•ã‚“) (db/) - mob_skill_db.txt ƒAƒTƒ‹ƒg‚ÌC³‚‚¢‚łɃeƒŒƒ|‚ðŽg‚¤MOB‚̃XƒLƒ‹ƒfƒBƒŒƒC‚àC³ + mob_skill_db.txt アサルトã®ä¿®æ£ã¤ã„ã§ã«ãƒ†ãƒ¬ãƒã‚’使ã†MOBã®ã‚¹ã‚ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¤ã‚‚ä¿®æ£ -------------- -//0606 by ˆø‘Þl -EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆÈã‚ɃNƒŠƒbƒN‚µ‚½Žž“_‚Å‘¼ƒXƒLƒ‹‚ªã‚°‚ç‚ê‚È‚‚È‚éƒoƒO‚ðC³iThanx to 227‚³‚ñj +//0606 by 引退人 +・スã‚ルレベル最大値以上ã«ã‚¯ãƒªãƒƒã‚¯ã—ãŸæ™‚点ã§ä»–スã‚ルãŒä¸Šã’られãªããªã‚‹ãƒã‚°ã‚’ä¿®æ£ï¼ˆThanx to 227ã•ã‚“) (map/) clif.c clif_skillup() - ƒXƒLƒ‹ƒŒƒxƒ‹‚ªÅ‘å’l‚Ì‚Æ‚«AƒpƒPƒbƒg––”ö‚ð0‚É‚·‚é‚悤‚ÉC³ + スã‚ルレベルãŒæœ€å¤§å€¤ã®ã¨ãã€ãƒ‘ケット末尾を0ã«ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ -------------- -//0605 by ‚é‚é‚é +//0605 by ã‚‹ã‚‹ã‚‹ -E•Ší‘®«•t—^ƒXƒLƒ‹‚Ì•s“s‡C³ - •Ší‚ðŽ‚¿‘Ö‚¦‚½‚èŠO‚µ‚½‚肵‚½ê‡‚àA‘®«•t—^‚ð‰ðœ‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B - ’A‚µA‘fŽè„•Ší‘•”õ‚Ì‚Ýó‘ÔˆÛŽ‚µ‚Ü‚·B -EƒXƒsƒAƒNƒCƒbƒPƒ“‚̃Xƒe[ƒ^ƒXƒAƒCƒRƒ“‚𳂵‚•\Ž¦ -E‚Q‚g‚pAƒXƒsƒAƒNƒCƒbƒPƒ“AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ÅŠY“–ˆÈŠO‚Ì•ŠíŽ‚¿‘Ö‚¦‚Åó‘ÔÁ–Å - ƒXƒsƒAƒNƒCƒbƒPƒ“‚Í–¢Šm”F‚Å‚·‚ªA‚Q‚g‚p‚ÍŠmŽÀ‚È‚Ì‚Å‚Q‚g‚p‚Æ•sŒö•½‚ÈŽd—l‚Æ‚Í - l‚¦‚É‚‚¢‚Ì‚Å“¯—l‚ȃpƒ^[ƒ“‚Æ‚µ‚Ü‚µ‚½B–{ŽI‚Æ‘Šˆá‚ª‚ ‚éꇂ͕ñŠè‚¢‚Ü‚·B -E“G‚Ì‚p‚l‚ÅW’†—ÍŒüã‚Æ‘¬“x㸂ð‰ðœ - ‚p‚l‚ʼne‹¿‚·‚éƒXƒLƒ‹‚Í‚±‚ê‚Q‚‚¾‚¯‚©‚ÈH@Ž„‚Ì‹L‰¯‚ÆŒfŽ¦”‚ł̕ñ‚Æ‚Å - ”»’f‚µ‚½‚Ì‚Å‚·‚ªA‚à‚µ‘Šˆá‚ª‚ ‚è‚Ü‚µ‚½‚ç•ñŠè‚¢‚Ü‚·B +・æ¦å™¨å±žæ€§ä»˜ä¸Žã‚¹ã‚ルã®ä¸éƒ½åˆä¿®æ£ + æ¦å™¨ã‚’æŒã¡æ›¿ãˆãŸã‚Šå¤–ã—ãŸã‚Šã—ãŸå ´åˆã‚‚ã€å±žæ€§ä»˜ä¸Žã‚’解除ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ + 但ã—ã€ç´ 手ï¼ï¼žæ¦å™¨è£…å‚™ã®ã¿çŠ¶æ…‹ç¶æŒã—ã¾ã™ã€‚ +・スピアクイッケンã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚¢ã‚¤ã‚³ãƒ³ã‚’æ£ã—ã表示 +・2HQã€ã‚¹ãƒ”アクイッケンã€ã‚¢ãƒ‰ãƒ¬ãƒŠãƒªãƒ³ãƒ©ãƒƒã‚·ãƒ¥ã§è©²å½“以外ã®æ¦å™¨æŒã¡æ›¿ãˆã§çŠ¶æ…‹æ¶ˆæ»… + スピアクイッケンã¯æœªç¢ºèªã§ã™ãŒã€ï¼’HQã¯ç¢ºå®Ÿãªã®ã§ï¼’HQã¨ä¸å…¬å¹³ãªä»•æ§˜ã¨ã¯ + 考ãˆã«ãã„ã®ã§åŒæ§˜ãªãƒ‘ターンã¨ã—ã¾ã—ãŸã€‚本鯖ã¨ç›¸é•ãŒã‚ã‚‹å ´åˆã¯å ±å‘Šé¡˜ã„ã¾ã™ã€‚ +・敵ã®ï¼±ï¼ã§é›†ä¸åŠ›å‘上ã¨é€Ÿåº¦ä¸Šæ˜‡ã‚’解除 + ï¼±ï¼ã§å½±éŸ¿ã™ã‚‹ã‚¹ã‚ルã¯ã“れ2ã¤ã ã‘ã‹ãªï¼Ÿã€€ç§ã®è¨˜æ†¶ã¨æŽ²ç¤ºæ¿ã§ã®å ±å‘Šã¨ã§ + 判æ–ã—ãŸã®ã§ã™ãŒã€ã‚‚ã—相é•ãŒã‚ã‚Šã¾ã—ãŸã‚‰å ±å‘Šé¡˜ã„ã¾ã™ã€‚ (map/) clif.c - clif_parse_UnequipItem() C³ + clif_parse_UnequipItem() ä¿®æ£ pc.c - pc_checkallowskill() pc_equipitem() C³ + pc_checkallowskill() pc_equipitem() ä¿®æ£ skill.h - skill_encchant_eremental_end() ’ljÁ + skill_encchant_eremental_end() è¿½åŠ skill.c skill_status_change_start() skill_status_change_end() - skill_status_change_clear() skill_encchant_eremental_end() C³ - ‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ëX + skill_status_change_clear() skill_encchant_eremental_end() ä¿®æ£ + ãã®ä»–ç´°ã‹ã„ã¨ã“ã‚少々 -------------- //0604 by J -EMOBƒXƒLƒ‹ÄC³ -EMOBDBC³ +・MOBスã‚ルå†ä¿®æ£ +・MOBDBä¿®æ£ (db/) mob_skill_db.txt - ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚ª1‰ñ‚É2Ží—Þ‚Ü‚Å‚µ‚© - MOB‚ðo‚³‚È‚©‚Á‚½‚Ì‚ðC³ + アークエンジェリングã¨ã‚¿ãƒ¼ãƒˆãƒ«ã‚¸ã‚§ãƒãƒ©ãƒ«ãŒ1回ã«2種類ã¾ã§ã—ã‹ + MOBを出ã•ãªã‹ã£ãŸã®ã‚’ä¿®æ£ mob_db.txt - ƒ[ƒhƒIƒuƒfƒX‚̃hƒƒbƒv‚ŃGƒ‰[‚ªo‚é‚Ì‚ðC³(–¢Šm”F) - ‰…—ì•Žm‚̃hƒƒbƒv‚ÆMVP‚ð’ljÁ(–¢Šm”F) + ãƒãƒ¼ãƒ‰ã‚ªãƒ–デスã®ãƒ‰ãƒãƒƒãƒ—ã§ã‚¨ãƒ©ãƒ¼ãŒå‡ºã‚‹ã®ã‚’ä¿®æ£(未確èª) + 怨霊æ¦å£«ã®ãƒ‰ãƒãƒƒãƒ—ã¨MVPã‚’è¿½åŠ (未確èª) -------------- -//0603 by ˆø‘Þl -EV‹KƒAƒCƒeƒ€Žž‚É‚àŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚ÉC³ +//0603 by 引退人 +・新è¦ã‚¢ã‚¤ãƒ†ãƒ 時ã«ã‚‚所æŒå¯èƒ½å€‹æ•°ãƒã‚§ãƒƒã‚¯ã‚’ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ (map/) pc.c pc_checkadditem() - V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’´‚¦‚Ä‚¢‚½‚ç - ADDITEM_OVERAMOUNT‚ð•Ô‚·‚悤‚ÉC³ + æ–°è¦ã‚¢ã‚¤ãƒ†ãƒ 時ã«MAX_AMOUNTを超ãˆã¦ã„ãŸã‚‰ + ADDITEM_OVERAMOUNTã‚’è¿”ã™ã‚ˆã†ã«ä¿®æ£ -------------- -//0602 by ˆø‘Þl -EGeffen’b–艮‚Å—Ž‚¿‚é–â‘è‚ðC³ +//0602 by 引退人 +・Geffené›å†¶å±‹ã§è½ã¡ã‚‹å•é¡Œã‚’ä¿®æ£ (conf/) - npc_town_geffen.txt if (!checkweight(,)) ‚©‚ç if (!(checkweight(,))) ‚ÉC³ + npc_town_geffen.txt if (!checkweight(,)) ã‹ã‚‰ if (!(checkweight(,))) ã«ä¿®æ£ -------------- //0601 by J -EMOBƒXƒLƒ‹‚ÌŠë‚È‚¢Š‚ð‚¢‚‚ç‚©C³ -EŠoÁ‚Æ‹¶‹C‚ÌŽg‚¦‚éE‚ðC³ -EƒQƒtƒFƒjƒAƒ_ƒ“ƒWƒ‡ƒ“‚Ì”z’u‚ðƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚Å“ü‚ꂽ‚Æ‚«‚Ì”z’u‚ÉC³ - ‚½‚¾‚µƒ{ƒX‚ªDOP2‘Ì‚Å‚Í‚È‚ƒhƒ‰ƒLƒ…ƒ‰‚É‚µ‚Ä‚¢‚Ü‚·B +・MOBスã‚ルã®å±ãªã„所をã„ãらã‹ä¿®æ£ +・覚醒ã¨ç‹‚æ°—ã®ä½¿ãˆã‚‹è·ã‚’ä¿®æ£ +・ゲフェニアダンジョンã®é…置をカボãƒãƒ£ã‚¤ãƒ™ãƒ³ãƒˆã§å…¥ã‚ŒãŸã¨ãã®é…ç½®ã«ä¿®æ£ + ãŸã ã—ボスãŒDOP2体ã§ã¯ãªãドラã‚ュラã«ã—ã¦ã„ã¾ã™ã€‚ (conf/) - npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”÷•ÏX + npc_monster.txt モンスターé…置微変更 (db/) - mob_skill_db.txt ‰ö‚µ‚¢Ý’è‚È‚Ç‚ÌC³ - item_db.txt ‘‘¬POT‚ÌC³ + mob_skill_db.txt 怪ã—ã„è¨å®šãªã©ã®ä¿®æ£ + item_db.txt 増速POTã®ä¿®æ£ -------------- -//0600 by ˆø‘Þl -Eƒvƒƒ“ƒeƒ‰¸˜BŠ‚̉¡‚̃tƒ@ƒ“‚ɘb‚µŠ|‚¯‚é‚ƌł܂é–â‘è‚ðC³ -EMOBƒXƒLƒ‹Žæ‚èž‚ÝiThanx to J‚³‚ñj +//0600 by 引退人 +・プãƒãƒ³ãƒ†ãƒ©ç²¾éŒ¬æ‰€ã®æ¨ªã®ãƒ•ã‚¡ãƒ³ã«è©±ã—掛ã‘ã‚‹ã¨å›ºã¾ã‚‹å•é¡Œã‚’ä¿®æ£ +・MOBスã‚ルå–ã‚Šè¾¼ã¿ï¼ˆThanx to Jã•ã‚“) (conf/) - npc_event_skillget.txt ƒtƒ@ƒ“‚ÌLabel‚ðC³ - npc_town_prontera.txt ƒtƒ@ƒ“‚ªd•¡‚µ‚Ä‚¢‚½‚Ì‚Åíœ + npc_event_skillget.txt ファンã®Labelã‚’ä¿®æ£ + npc_town_prontera.txt ファンãŒé‡è¤‡ã—ã¦ã„ãŸã®ã§å‰Šé™¤ (db/) - mob_skill_db.txt ƒWƒ…ƒm[ˆÈ~‚ÌMOBƒXƒLƒ‹’ljÁ + mob_skill_db.txt ジュノー以é™ã®MOBスã‚ãƒ«è¿½åŠ -------------- -//0599 by ‚é‚é‚é +//0599 by ã‚‹ã‚‹ã‚‹ -EƒZ[ƒW‚Ì•Ší‘®«•t—^ƒXƒLƒ‹‚Ì•s“s‡C³‚ƃXƒe[ƒ^ƒXƒAƒCƒRƒ“•\Ž¦ - ƒAƒXƒyƒ‹ƒVƒI‚ƃGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Æ‚Å‘½d‚É‚©‚©‚Á‚Ä‚µ‚Ü‚Á‚Ä‚½‚Ì‚ÅA - ÅŒã‚É•t—^‚µ‚½‚à‚Ì‚P‚‚ɂȂé‚悤‚É‚µ‚Ü‚µ‚½B - ‚»‚̂‚¢‚łɃXƒe[ƒ^ƒXƒAƒCƒRƒ“‚à•\Ž¦‚·‚é‚悤‚É‚à‚µ‚Ü‚µ‚½B - i–¢ƒeƒXƒg‚Å‚·‚ªAƒAƒCƒRƒ“o‚È‚©‚Á‚½ƒXƒsƒAƒNƒCƒbƒPƒ“‚à‚Å‚é‚Í‚¸‚Å‚·Bj -EƒAƒCƒeƒ€DB‚É‚ÄA‘‘¬ƒ|[ƒVƒ‡ƒ“‚ÌŽg—p§ŒÀ‚ð’ljÁ - Jazz‚³‚ñ’ñ‹Ÿ‚Å‚·B - ‚»‚ê‚ÆŽ„‚ÌŽï–¡‚щƒOƒiƒƒNTƒVƒƒƒc‚ðƒAƒŒƒiƒj‚µ‚Ü‚µ‚½‚ª‚—@‹C‚É“ü‚ç‚È‚¯‚ê‚Î - Á‚·‚Ȃ茳’Ê‚è‚ÉC³‚·‚é‚Ȃ肵‚Ä‚µ‚¿‚á‚Á‚Ä‚‚¾‚³‚¢‚Ü‚¹`B +・セージã®æ¦å™¨å±žæ€§ä»˜ä¸Žã‚¹ã‚ルã®ä¸éƒ½åˆä¿®æ£ã¨ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º + アスペルシオã¨ã‚¨ãƒ³ãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ã¨ã§å¤šé‡ã«ã‹ã‹ã£ã¦ã—ã¾ã£ã¦ãŸã®ã§ã€ + 最後ã«ä»˜ä¸Žã—ãŸã‚‚ã®ï¼‘ã¤ã«ãªã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ + ãã®ã¤ã„ã§ã«ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚¢ã‚¤ã‚³ãƒ³ã‚‚表示ã™ã‚‹ã‚ˆã†ã«ã‚‚ã—ã¾ã—ãŸã€‚ + (未テストã§ã™ãŒã€ã‚¢ã‚¤ã‚³ãƒ³å‡ºãªã‹ã£ãŸã‚¹ãƒ”アクイッケンもã§ã‚‹ã¯ãšã§ã™ã€‚) +・アイテムDBã«ã¦ã€å¢—速ãƒãƒ¼ã‚·ãƒ§ãƒ³ã®ä½¿ç”¨åˆ¶é™ã‚’è¿½åŠ + Jazzã•ã‚“æä¾›ã§ã™ã€‚ + ãã‚Œã¨ç§ã®è¶£å‘³ã§ãƒ©ã‚°ãƒŠãƒã‚¯Tシャツをアレナニã—ã¾ã—ãŸãŒï½— 気ã«å…¥ã‚‰ãªã‘れ㰠+ 消ã™ãªã‚Šå…ƒé€šã‚Šã«ä¿®æ£ã™ã‚‹ãªã‚Šã—ã¦ã—ã¡ã‚ƒã£ã¦ãã ã•ã„ã¾ã›ã€œã€‚ (conf/) - battle_athena.conf 598‚Å‚Ì“ü‚ê–Y‚ê + battle_athena.conf 598ã§ã®å…¥ã‚Œå¿˜ã‚Œ (map/) - skill_encchant_eremental_end() ’ljÁ - skill_status_change_end() skill_status_change_start() skill_status_change_clear() C³ + skill_encchant_eremental_end() è¿½åŠ + skill_status_change_end() skill_status_change_start() skill_status_change_clear() ä¿®æ£ (db/) - iten_db.txt C³ + iten_db.txt ä¿®æ£ -------------- -//0598 by ‚é‚é‚é +//0598 by ã‚‹ã‚‹ã‚‹ -E‘•”õ•Ší‚̉摜•ÏX‚ɑΉž - ˆê‰ž‚È‚ª‚çƒNƒ‹ƒZƒCƒ_[‚Ì—¼Žè‘„‚Æ‚©ƒvƒŠ[ƒXƒg‚Ì“ÝŠí‚Æ‚©‚̓eƒXƒg‚µ‚Ü‚µ‚½‚ªA - ‘S‚Ä‚ÌE‚ðƒ`ƒFƒbƒN‚Í‚¢‚Ü‚¹‚ñB‚Ü‚½‚±‚ÌŽž“_‚ł̓Nƒ‰ƒCƒAƒ“ƒgŽ©‘Ì‚Ì•\Ž¦ƒf[ƒ^‚É - –â‘è‚Ì—L‚é‚Ì‚ª‘½‚¢‚Ì‚à•t‚¯‰Á‚¦‚Ä‚¨‚«‚Ü‚·B - ‚ ‚ÆAŒC‚àˆê‰ž‚͑Ήž‚µ‚Ü‚µ‚½B’A‚µ‚±‚ê‚ÍŒ»Žž“_‚Å‚Í–{ŽI‚·‚ç‚à–¢‘Ήž‚È‚Ì‚Å‚·‚ªB - •\Ž¦‚ª‰»‚¯‚ÄŒ™‚¾‚Æ‚¢‚¤ê‡‚Í]—ˆ‚Ì‚â‚è•û‚ào—ˆ‚Ü‚·B +・装備æ¦å™¨ã®ç”»åƒå¤‰æ›´ã«å¯¾å¿œ + 一応ãªãŒã‚‰ã‚¯ãƒ«ã‚»ã‚¤ãƒ€ãƒ¼ã®ä¸¡æ‰‹æ§ã¨ã‹ãƒ—リーストã®éˆå™¨ã¨ã‹ã¯ãƒ†ã‚¹ãƒˆã—ã¾ã—ãŸãŒã€ + å…¨ã¦ã®è·ã‚’ãƒã‚§ãƒƒã‚¯ã¯ã„ã¾ã›ã‚“。ã¾ãŸã“ã®æ™‚点ã§ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆè‡ªä½“ã®è¡¨ç¤ºãƒ‡ãƒ¼ã‚¿ã« + å•é¡Œã®æœ‰ã‚‹ã®ãŒå¤šã„ã®ã‚‚付ã‘åŠ ãˆã¦ãŠãã¾ã™ã€‚ + ã‚ã¨ã€é´ã‚‚一応ã¯å¯¾å¿œã—ã¾ã—ãŸã€‚但ã—ã“ã‚Œã¯ç¾æ™‚点ã§ã¯æœ¬é¯–ã™ã‚‰ã‚‚未対応ãªã®ã§ã™ãŒã€‚ + 表示ãŒåŒ–ã‘ã¦å«Œã ã¨ã„ã†å ´åˆã¯å¾“æ¥ã®ã‚„り方も出æ¥ã¾ã™ã€‚ (conf/) battle_athena.conf - ƒIƒvƒVƒ‡ƒ“ equip_modifydisplay ‚ð’ljÁ + オプション equip_modifydisplay ã‚’è¿½åŠ (map/) battle.h - Battle_Config C³ + Battle_Config ä¿®æ£ battle.c - battle_config_read() C³ + battle_config_read() ä¿®æ£ clif.c - packet_len_table[] clif_changelook() C³ + packet_len_table[] clif_changelook() ä¿®æ£ map.h - enum {} C³ + enum {} ä¿®æ£ pc.c - pc_calcstatus() pc_equiplookall() pc_changelook() C³ + pc_calcstatus() pc_equiplookall() pc_changelook() ä¿®æ£ (common/) mmo.h - mmo_charstatus {} C³ + mmo_charstatus {} ä¿®æ£ -------------- -//0597 by ”g˜Q +//0597 by 波浪 -EƒAƒ}ƒc‚ÉŠÖ‚·‚éC³•”÷C³ +・アマツã«é–¢ã™ã‚‹ä¿®æ£ï¼†å¾®ä¿®æ£ (conf/) npc_mob_job.txt npc_monster.txt npc_monster30.txt - ƒ‚ƒ“ƒX–¼C³ + モンスåä¿®æ£ npc_monster_amatsu.txt - ’ljÁiƒ‚ƒ“ƒX”‚ª‚©‚È‚èŽè”²‚«‚Å‚·EEE + è¿½åŠ ï¼ˆãƒ¢ãƒ³ã‚¹æ•°ãŒã‹ãªã‚Šæ‰‹æŠœãã§ã™ãƒ»ãƒ»ãƒ» npc_town_amatsu.txt - ƒVƒ‡ƒbƒvNPC‚ð“‡inpc_shop3.txt‚ðÁ‚µ‚Ä‚àOK‚Å‚· + ショップNPCã‚’çµ±åˆï¼ˆnpc_shop3.txtを消ã—ã¦ã‚‚OKã§ã™ (db/) mob_db.txt - ƒAƒ}ƒc‚̃‚ƒ“ƒXƒf[ƒ^‚ðŒ»Ý•ª‚©‚é”͈͂ÅC³•‘‚Æ‚«‚Ì‚±‚Ìdef,mdef‚ðC³ + アマツã®ãƒ¢ãƒ³ã‚¹ãƒ‡ãƒ¼ã‚¿ã‚’ç¾åœ¨åˆ†ã‹ã‚‹ç¯„囲ã§ä¿®æ£ï¼†è‰ã¨ãã®ã“ã®def,mdefã‚’ä¿®æ£ -------------- -//0596 by Ž€_ +//0596 by æ»ç¥ž -E0595‚ÌC³‚Æׂ©‚¢C³B -EƒtƒŠ[ƒLƒƒƒXƒg‚ŃLƒƒƒXƒg‚µ‚Ä‚¢‚éŠÔ‚ÍUŒ‚‰Â”\‚Å‚·‚ªƒLƒƒƒXƒg‚µ‚½Œã‚Ì -ƒfƒBƒŒƒCƒ^ƒCƒ€‚Å‚ÍUŒ‚‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B–{ŽI‚ÌŽd—l‚ª‚Ç‚¤‚È‚Ì‚©‚Í -‚í‚©‚è‚Ü‚¹‚ñB -E“®‚¢‚Ä‚¢‚éPC‚Ƀ‚ƒ“ƒXƒ^[‚ªUŒ‚‚Å‚«‚È‚¢–â‘èC³B(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ‚ª -‘½•ª‚±‚ê‚Å‘åä•v‚©‚ÆB) +・0595ã®ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・フリーã‚ャストã§ã‚ャストã—ã¦ã„ã‚‹é–“ã¯æ”»æ’ƒå¯èƒ½ã§ã™ãŒã‚ャストã—ãŸå¾Œã® +ディレイタイムã§ã¯æ”»æ’ƒã§ããªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚本鯖ã®ä»•æ§˜ãŒã©ã†ãªã®ã‹ã¯ +ã‚ã‹ã‚Šã¾ã›ã‚“。 +・動ã„ã¦ã„ã‚‹PCã«ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒæ”»æ’ƒã§ããªã„å•é¡Œä¿®æ£ã€‚(テストã—ã¦ã¾ã›ã‚“㌠+多分ã“ã‚Œã§å¤§ä¸ˆå¤«ã‹ã¨ã€‚) (map/) skill.h - SC_FREECAST íœB + SC_FREECAST 削除。 skill.c - skill_use_id()Askill_use_pos() C³B - skill_castend_id()Askill_castend_pos() C³B - ‚»‚Ì‘¼‚µC³B + skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_castend_id()ã€skill_castend_pos() ä¿®æ£ã€‚ + ãã®ä»–å°‘ã—ä¿®æ£ã€‚ pc.c - calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() C³B + calc_next_walk_step()ã€pc_attack_timer()ã€pc_calcstatus() ä¿®æ£ã€‚ clif.c - clif_parse_ActionRequest()Aclif_parse() C³B + clif_parse_ActionRequest()ã€clif_parse() ä¿®æ£ã€‚ map.h - struct map_session_data‚Éprev_speed’ljÁB + struct map_session_dataã«prev_speedè¿½åŠ ã€‚ mob.c - mob_ai_sub_hard()Amob_changestate()Amob_attack() C³B + mob_ai_sub_hard()ã€mob_changestate()ã€mob_attack() ä¿®æ£ã€‚ -------------- //0595 by PRevEv -EƒtƒŠ[ƒLƒƒƒXƒgC³AŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚à‚Å‚«‚Ü‚·B) +・フリーã‚ャスト修æ£ã€å®Ÿè£…(ã‚ャスティングä¸æ”»æ’ƒã‚‚ã§ãã¾ã™ã€‚) (/map) pc.c - pc_calcstatus() C³B - calc_next_walk_step() C³B - pc_attack_timer() C³B + pc_calcstatus() ä¿®æ£ã€‚ + calc_next_walk_step() ä¿®æ£ã€‚ + pc_attack_timer() ä¿®æ£ã€‚ skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B + skill_castend_id()ã€skill_castend_pos()ã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ -------------- -//0594 by Ž€_ +//0594 by æ»ç¥ž -EŠØ‘ˆÆ‚̃p[ƒeƒB–â‘èC³‚Æׂ©‚¢C³B -E@partyƒRƒ}ƒ“ƒhC³‚Æ@guildƒRƒ}ƒ“ƒh’ljÁB -Ebattle_athena.conf‚Éguild_emperium_check’ljÁB -EƒXƒLƒ‹Žg—p‚ªŽ¸”s‚µ‚Ä‚àƒfƒBƒŒƒC‚ª‚©‚©‚é–â‘èC³B - help.txt C³B +・韓国éžã®ãƒ‘ーティå•é¡Œä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・@partyコマンド修æ£ã¨@guildã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ +・battle_athena.confã«guild_emperium_checkè¿½åŠ ã€‚ +・スã‚ル使用ãŒå¤±æ•—ã—ã¦ã‚‚ディレイãŒã‹ã‹ã‚‹å•é¡Œä¿®æ£ã€‚ + help.txt ä¿®æ£ã€‚ (map/) clif.c - clif_parse_CreateParty2() ’ljÁB - clif_parse_ItemIdentify() C³B - ‚»‚Ì‘¼‚µC³B - atcommand.hAatcommand.c C³B + clif_parse_CreateParty2() è¿½åŠ ã€‚ + clif_parse_ItemIdentify() ä¿®æ£ã€‚ + ãã®ä»–å°‘ã—ä¿®æ£ã€‚ + atcommand.hã€atcommand.c ä¿®æ£ã€‚ battle.h - struct Battle_Config‚Éguild_emperium_check’ljÁB + struct Battle_Configã«guild_emperium_checkè¿½åŠ ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ guild.c - guild_create()Aguild_created() C³B + guild_create()ã€guild_created() ä¿®æ£ã€‚ skill.c - skill_castend_id()Askill_castend_pos() C³B - Makefile C³B + skill_castend_id()ã€skill_castend_pos() ä¿®æ£ã€‚ + Makefile ä¿®æ£ã€‚ (doc/) client_packet.txt - ƒpƒPƒbƒg0x01e8 ’ljÁB - conf_ref.txt C³B + パケット0x01e8 è¿½åŠ ã€‚ + conf_ref.txt ä¿®æ£ã€‚ (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ -------------- -//0593 by Ž€_ +//0593 by æ»ç¥ž -EƒƒeƒI‚ƃoƒ~ƒŠƒIƒ“‚̃_ƒ[ƒWC³‚Æׂ©‚¢C³B -EƒƒeƒI‚Ìè¦Î‚ª—Ž‚¿‚Ä‚‚é”͈͂ð7*7‚©‚ç5*5‚É•ÏXB(‚±‚ê‚Å’†‰›‚Í‘S‚Ä‚Ìè¦Î‚Ì -ƒ_ƒ[ƒW‚ðŽó‚¯‚邱‚Æ‚É‚È‚è‚Ü‚·B) -EŽ©“®‰ñ•œŒvŽZŽ®•ÏXB - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp/50)‚©‚ç - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp*ƒXƒLƒ‹ƒŒƒxƒ‹/500)‚É•ÏXB(SP‚Æ‘§‚à“¯‚¶‚悤‚É•ÏXB) -EGM‰EƒNƒŠƒbƒN–½—ßuŽg—pŽÒ‹§I—¹v‚Åatcommand_athena.conf‚Ìkick‚Ì -ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏXB +・メテオã¨ãƒãƒŸãƒªã‚ªãƒ³ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・メテオã®éš•çŸ³ãŒè½ã¡ã¦ãる範囲を7*7ã‹ã‚‰5*5ã«å¤‰æ›´ã€‚(ã“ã‚Œã§ä¸å¤®ã¯å…¨ã¦ã®éš•çŸ³ã® +ダメージをå—ã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚) +・自動回復計算å¼å¤‰æ›´ã€‚ + スã‚ルレベル*5 + (max_hp/50)ã‹ã‚‰ + スã‚ルレベル*5 + (max_hp*スã‚ルレベル/500)ã«å¤‰æ›´ã€‚(SPã¨æ¯å¹ã‚‚åŒã˜ã‚ˆã†ã«å¤‰æ›´ã€‚) +・GMå³ã‚¯ãƒªãƒƒã‚¯å‘½ä»¤ã€Œä½¿ç”¨è€…強制終了ã€ã§atcommand_athena.confã®kickã® +レベルをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ (db/) skill_db.txt - ƒXƒLƒ‹‹CŒ÷‚Ìsp‚ð10‚©‚ç8‚ÉC³B + スã‚ル気功ã®spã‚’10ã‹ã‚‰8ã«ä¿®æ£ã€‚ (map/) map.c - NO_WATER‚ð100‚©‚ç1000000‚É•ÏXB + NO_WATERã‚’100ã‹ã‚‰1000000ã«å¤‰æ›´ã€‚ battle.c - battle_calc_magic_attack() C³B + battle_calc_magic_attack() ä¿®æ£ã€‚ skill.c - skill_castend_pos2() C³B + skill_castend_pos2() ä¿®æ£ã€‚ pc.c - pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() C³B + pc_natural_heal_hp()ã€pc_natural_heal_sp()ã€pc_spirit_heal() ä¿®æ£ã€‚ clif.c - clif_parse_GMKick() C³B + clif_parse_GMKick() ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ -------------- -//0592 by ˆø‘Þl +//0592 by 引退人 -E…ê‚Ì—L‚è–³‚µ‚ðwater_height.txt‚¾‚¯‚ÅŒˆ‚ß‚é‚悤‚É•ÏXBnpc_water.txt‚Í•s—v‚ÉB -EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚½‚½‚ß•s—v‚É‚È‚Á‚½ˆ—‚ðíœB +ãƒ»æ°´å ´ã®æœ‰ã‚Šç„¡ã—ã‚’water_height.txtã ã‘ã§æ±ºã‚るよã†ã«å¤‰æ›´ã€‚npc_water.txtã¯ä¸è¦ã«ã€‚ +・カードスã‚ルã§ã¯ãƒ¬ãƒ™ãƒ«ä¸Šã’ã§ããªã„よã†ã«ãªã£ãŸãŸã‚ä¸è¦ã«ãªã£ãŸå‡¦ç†ã‚’削除。 (conf/) map_athena.conf - npc: conf/npc_water.txt Á‹Ž + npc: conf/npc_water.txt 消去 water_height.txt - ƒfƒtƒHƒ‹ƒg‚‚³3‚̃}ƒbƒv•ª‚ð’ljÁ•all_water‚ð‚‚³-100‚Æ‚µ‚ăRƒƒ“ƒg‚ŒljÁ + デフォルト高ã•3ã®ãƒžãƒƒãƒ—åˆ†ã‚’è¿½åŠ ï¼†all_waterを高ã•-100ã¨ã—ã¦ã‚³ãƒ¡ãƒ³ãƒˆã§è¿½åŠ (map/) map.c - waterlist‚Ímap_readwater()“à‚Ńƒ‚ƒŠŠm•Û - gatÝ’èŒã‚Í•s—v‚È‚Ì‚Åmap_readallmap()‚Ńƒ‚ƒŠŠJ•ú‚µ‚Ä‚¢‚Ü‚· + waterlistã¯map_readwater()内ã§ãƒ¡ãƒ¢ãƒªç¢ºä¿ + gatè¨å®šå¾Œã¯ä¸è¦ãªã®ã§map_readallmap()ã§ãƒ¡ãƒ¢ãƒªé–‹æ”¾ã—ã¦ã„ã¾ã™ map.h - struct map_data‚Ìflag‚©‚çwater_flag‚ðÁ‹Ž + struct map_dataã®flagã‹ã‚‰water_flagを消去 npc.c npc_parse_mapflag() - ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž + マップフラグwaterã¨all_waterを消去 pc.c pc_skillup() - — ‚ŃXƒLƒ‹LvUP‚Å‚«‚È‚‚È‚Á‚½‚Ì‚Åskill[id].flag‚Ì•ª‚ÍÁ‹Ž + è£ã§ã‚¹ã‚ルLvUPã§ããªããªã£ãŸã®ã§skill[id].flagã®åˆ†ã¯æ¶ˆåŽ» skill.c skill_check_condition() - map_getcell‚Å…ê”»’è‚·‚é‚悤‚ÉC³ + map_getcellã§æ°´å ´åˆ¤å®šã™ã‚‹ã‚ˆã†ã«ä¿®æ£ -------------- //0591 by CHRIS -Eƒ‚ƒ“ƒN‚ªŸ†’e‚ð‚à‚Á‚Ä‚¢‚é‚Æ‚«AŸ†’e*3‚Ì•K’†ƒ_ƒ[ƒW‚ª“ü‚é—l‚É‚È‚è‚Ü‚µ‚½B„Ÿ@battle.cC³ -Eƒ‚ƒ“ƒNƒXƒLƒ‹uŽw’ev‚Æu”™¤v‚Æu‹CEv‚̉r¥ŽžŠÔ‚ª³‚µ‚C³‚³‚ê‚Ü‚µ‚½B„Ÿ@cast_db.txtC³ +・モンクãŒæ°£å¼¾ã‚’ã‚‚ã£ã¦ã„ã‚‹ã¨ãã€æ°£å¼¾*3ã®å¿…ä¸ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒå…¥ã‚‹æ§˜ã«ãªã‚Šã¾ã—ãŸã€‚─ battle.cä¿®æ£ +・モンクスã‚ル「指弾ã€ã¨ã€Œç™ºå‹ã€ã¨ã€Œæ°—å”ã€ã®è© 唱時間ãŒæ£ã—ãä¿®æ£ã•ã‚Œã¾ã—ãŸã€‚─ cast_db.txtä¿®æ£ -------------- -//0590 by Ž€_ +//0590 by æ»ç¥ž -Egrf-files.txt‚âconfƒtƒ@ƒCƒ‹Aaccount.txtƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ƈʒu‚ð•Ï‚¦‚é‚悤‚É•ÏXB -Eƒ}ƒbƒvˆÚ“®‚É‚æ‚éŽI—Ž‚¿‚ð–h‚®ˆ×‚ÉC³B(ƒ}ƒbƒv‚ª“ñ“xƒ[ƒh‚³‚ê‚ÄŽI—Ž‚¿‚ª -‹N‚±‚Á‚½‚Æ‚Ì•ñ‚ðŽó‚¯‚½‚Ì‚ÅB) -E0586‚ð‚¿‚å‚Á‚ÆC³B‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ÌꇃŒƒxƒ‹ã‚°‚ª‚Å‚«‚È‚¢‚悤‚ÉC³B -‚½‚¾‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽg‚Á‚Äã‚°‚鎞‚Í‘•”õ‚ðŠO‚·•K—v‚ª -‚ ‚è‚Ü‚·B -E@party‚¿‚å‚Á‚ÆC³B(–¼‘O‚É‹ó”’‚ª‚ ‚Á‚Ä‚à‘åä•v‚Ȃ悤‚ÉB) -E…ê‚Ì‚‚³‚ðwater_height.txt‚Å“Ç‚Ýž‚ނ悤‚É•ÏXB -Econfƒtƒ@ƒCƒ‹‚ÅÝ’è‚·‚镨‚ðƒtƒ@ƒCƒ‹‚̃pƒX‚É‹ó”’‚ª‚ ‚Á‚Ä‚à‘åä•v‚È -‚悤‚É•ÏXB -EGM‰EƒNƒŠƒbƒN–½—ßuŽg—pŽÒ‹§I—¹v‚Ń‚ƒ“ƒXƒ^[‚ð“|‚¹‚é‚悤‚É•ÏXB -(Œ´ˆö‚Í•s–¾‚Å‚·‚ª‚±‚ê‚Ń‚ƒ“ƒXƒ^[‚ðŽE‚·‚ÆŽI‚ª‚ß‚¿‚á‚‚¿‚á‚É’x‚‚Ȃ邱‚Æ‚ª -‚ ‚è‚Ü‚·B) -E‚»‚Ì‘¼‚µC³B -EƒeƒXƒg‚Í–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B - athena-start C³B +・grf-files.txtã‚„confファイルã€account.txtファイルã®åå‰ã¨ä½ç½®ã‚’変ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・マップ移動ã«ã‚ˆã‚‹é¯–è½ã¡ã‚’防ã為ã«ä¿®æ£ã€‚(マップãŒäºŒåº¦ãƒãƒ¼ãƒ‰ã•ã‚Œã¦é¯–è½ã¡ãŒ +èµ·ã“ã£ãŸã¨ã®å ±å‘Šã‚’å—ã‘ãŸã®ã§ã€‚) +・0586ã‚’ã¡ã‚‡ã£ã¨ä¿®æ£ã€‚装備ã«ã‚ˆã‚‹ã‚¹ã‚ルã®å ´åˆãƒ¬ãƒ™ãƒ«ä¸Šã’ãŒã§ããªã„よã†ã«ä¿®æ£ã€‚ +ãŸã 装備ã«ã‚ˆã‚‹ã‚¹ã‚ルをスã‚ルãƒã‚¤ãƒ³ãƒˆã‚’使ã£ã¦ä¸Šã’る時ã¯è£…備を外ã™å¿…è¦ãŒ +ã‚ã‚Šã¾ã™ã€‚ +・@partyã¡ã‚‡ã£ã¨ä¿®æ£ã€‚(åå‰ã«ç©ºç™½ãŒã‚ã£ã¦ã‚‚大丈夫ãªã‚ˆã†ã«ã€‚) +ãƒ»æ°´å ´ã®é«˜ã•ã‚’water_height.txtã§èªã¿è¾¼ã‚€ã‚ˆã†ã«å¤‰æ›´ã€‚ +・confファイルã§è¨å®šã™ã‚‹ç‰©ã‚’ファイルã®ãƒ‘スã«ç©ºç™½ãŒã‚ã£ã¦ã‚‚大丈夫㪠+よã†ã«å¤‰æ›´ã€‚ +・GMå³ã‚¯ãƒªãƒƒã‚¯å‘½ä»¤ã€Œä½¿ç”¨è€…強制終了ã€ã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’倒ã›ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +(åŽŸå› ã¯ä¸æ˜Žã§ã™ãŒã“ã‚Œã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’殺ã™ã¨é¯–ãŒã‚ã¡ã‚ƒãã¡ã‚ƒã«é…ããªã‚‹ã“ã¨ãŒ +ã‚ã‚Šã¾ã™ã€‚) +・ãã®ä»–å°‘ã—ä¿®æ£ã€‚ +・テストã¯æ®†ã‚“ã©ã—ã¦ã¾ã›ã‚“ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 + athena-start ä¿®æ£ã€‚ (map/) pc.c - pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() C³B - pc_set_gm_account_fname() ’ljÁB + pc_skill()ã€pc_resetskill()ã€pc_setpos()ã€pc_read_gm_account() ä¿®æ£ã€‚ + pc_set_gm_account_fname() è¿½åŠ ã€‚ pc.h - pc_set_gm_account_fname() ’ljÁB + pc_set_gm_account_fname() è¿½åŠ ã€‚ clif.c - clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() C³B - clif_changemap() C³B + clif_skillinfoblock()ã€clif_parse_LoadEndAck()ã€clif_parse_GMKick() ä¿®æ£ã€‚ + clif_changemap() ä¿®æ£ã€‚ atcommand.c - @partty C³B + @partty ä¿®æ£ã€‚ skill.c - skill_castend_nodamage_id() C³B + skill_castend_nodamage_id() ä¿®æ£ã€‚ map.c - map_config_read()Amap_readwater() C³B + map_config_read()ã€map_readwater() ä¿®æ£ã€‚ script.c - script_config_read()Ado_init_script() C³B + script_config_read()ã€do_init_script() ä¿®æ£ã€‚ script.h - script_config_read() ’ljÁB + script_config_read() è¿½åŠ ã€‚ (common/) - version.h C³B + version.h ä¿®æ£ã€‚ grfio.h grfio.c - grfio_init() C³B + grfio_init() ä¿®æ£ã€‚ mmo.h - GRF_PATH_FILENAME ’ljÁB + GRF_PATH_FILENAME è¿½åŠ ã€‚ (conf/) - map_athena.conf C³B - npc_water.txt C³B - water_height.txt ’ljÁB - login_athena.conf C³B + map_athena.conf ä¿®æ£ã€‚ + npc_water.txt ä¿®æ£ã€‚ + water_height.txt è¿½åŠ ã€‚ + login_athena.conf ä¿®æ£ã€‚ (login/) login.c - login_config_read()Aread_gm_account() C³B + login_config_read()ã€read_gm_account() ä¿®æ£ã€‚ (char/) char.c - do_init() C³B - char_config_read() ’ljÁB + do_init() ä¿®æ£ã€‚ + char_config_read() è¿½åŠ ã€‚ inter.c - inter_config_read() C³B + inter_config_read() ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ -------------- -//0589 by ŒÓ’±—– +//0589 by 胡è¶è˜ -EGM‚̉EƒNƒŠƒbƒN‚ÅØ’f‚³‚ê‚é–â‘è‚ðC³ - ‚Æ‚è‚ ‚¦‚¸01dfƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B - ‚È‚ñ‚Æ‚È‚‚±‚̃pƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ñ”‚Æ‚ÍŠÖŒW–³‚¢‚悤‚È‹C‚àcc +・GMã®å³ã‚¯ãƒªãƒƒã‚¯ã§åˆ‡æ–ã•ã‚Œã‚‹å•é¡Œã‚’ä¿®æ£ + ã¨ã‚Šã‚ãˆãš01dfパケットを無視ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ + ãªã‚“ã¨ãªãã“ã®ãƒ‘ケットã¯ãƒãƒ£ãƒƒãƒˆç¦æ¢å›žæ•°ã¨ã¯é–¢ä¿‚ç„¡ã„よã†ãªæ°—も…… clif.c - clif_parse_GMReqNoChatCount()’ljÁ + clif_parse_GMReqNoChatCount()è¿½åŠ -Estart‚ðathena.sh‚Å‚È‚athena-start‚ðŽg‚¤‚悤‚É•ÏX +・startã‚’athena.shã§ãªãathena-startを使ã†ã‚ˆã†ã«å¤‰æ›´ start - athena.sh => athena-start start‚É’u‚«Š·‚¦‚µ‚½‚¾‚¯ + athena.sh => athena-start startã«ç½®ãæ›ãˆã—ãŸã ã‘ -------------- //0588 by Kalen -EAmatsuNPC’ljÁ +・AmatsuNPCè¿½åŠ -------------- -//0587 by ŒÓ’±—– +//0587 by 胡è¶è˜ -EloginƒT[ƒo[‚ÌŠÇ—ƒpƒPƒbƒg‚ÌŽd—l‚ð•ÏXi0579‚̃ƒOƒCƒ“‹‘”Ûî•ñ‚ɑΉžj +・loginサーãƒãƒ¼ã®ç®¡ç†ãƒ‘ケットã®ä»•æ§˜ã‚’変更(0579ã®ãƒã‚°ã‚¤ãƒ³æ‹’å¦æƒ…å ±ã«å¯¾å¿œï¼‰ (login/) login.c - ƒAƒJƒEƒ“ƒgƒoƒ“ó‘Ô•ÏXƒpƒPƒbƒg’ljÁ(7936,7937) - ƒAƒJƒEƒ“ƒgƒŠƒXƒgŠ“¾ƒpƒPƒbƒgC³(7921) + アカウントãƒãƒ³çŠ¶æ…‹å¤‰æ›´ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ (7936,7937) + アカウントリスト所得パケット修æ£(7921) (doc/) admin_packet.txt -Eladmin‚Ì‹@”\’ljÁ - Eƒoƒ“ó‘Ô‚ð•ÏX‚·‚éƒRƒ}ƒ“ƒh’ljÁ - EƒŠƒXƒg•\Ž¦‚ÆŒŸõ‚Ńoƒ“ó‘Ô‚à•\Ž¦‚³‚ê‚é‚悤‚É‚È‚Á‚½ - E"?"‚Å‚àƒwƒ‹ƒv‚ªo‚é‚悤‚ÉC³ - EƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Éstateaccount‚ª’ljÁ‚³‚ê‚Ü‚µ‚½B - Žg‚¤l‚Íladmin‚Ì--makesymlink‚ð‚à‚¤ˆê“xŽÀs‚µ‚Ä‚‚¾‚³‚¢ +・ladminã®æ©Ÿèƒ½è¿½åŠ + ・ãƒãƒ³çŠ¶æ…‹ã‚’変更ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ + ・リスト表示ã¨æ¤œç´¢ã§ãƒãƒ³çŠ¶æ…‹ã‚‚表示ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ãŸ + ・"?"ã§ã‚‚ヘルプãŒå‡ºã‚‹ã‚ˆã†ã«ä¿®æ£ + ・シンボリックリンクã«stateaccountãŒè¿½åŠ ã•ã‚Œã¾ã—ãŸã€‚ + 使ã†äººã¯ladminã®--makesymlinkã‚’ã‚‚ã†ä¸€åº¦å®Ÿè¡Œã—ã¦ãã ã•ã„ (tool/) ladmin - ‹@”\’ljÁ + æ©Ÿèƒ½è¿½åŠ -------------- -//0586 by ˆø‘Þl -EƒJ[ƒhƒXƒLƒ‹‚ðC³ +//0586 by 引退人 +・カードスã‚ãƒ«ã‚’ä¿®æ£ (/map) pc.c pc_calc_skilltree() pc_skill() - Šo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹‚È‚çskill[id].flag=1‚Æ‚·‚é - ‚Ü‚½‚Ískill[id].flag‚É–{—ˆ‚Ìlv‚ð+2‚µ‚Ä‹L‰¯ + 覚ãˆã‚‰ã‚Œãªã„スã‚ルãªã‚‰skill[id].flag=1ã¨ã™ã‚‹ + ã¾ãŸã¯skill[id].flagã«æœ¬æ¥ã®lvã‚’+2ã—ã¦è¨˜æ†¶ pc_skillup() - skill[id].flag‚à‘‚â‚· + skill[id].flagも増や㙠clif.c clif_skillinfoblock() - skill[id].flag==1‚È‚çŠo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹ + skill[id].flag==1ãªã‚‰è¦šãˆã‚‰ã‚Œãªã„スã‚ル (/char) char.c mmo_char_tostr() - skill[id].flag‚©‚ç–{—ˆ‚Ìlv’l‚ð•Û‘¶‚·‚é + skill[id].flagã‹ã‚‰æœ¬æ¥ã®lv値をä¿å˜ã™ã‚‹ -------------- //0585 by kalen -EscriptC³ - npc_town_guid.txt ŠOŒ©•ÏX +・scriptä¿®æ£ + npc_town_guid.txt 外見変更 -------------- -//0584 by ˆø‘Þl -EƒJ[ƒhƒXƒLƒ‹‚ðC³ +//0584 by 引退人 +・カードスã‚ãƒ«ã‚’ä¿®æ£ (/map) pc.c - pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ꂳ‚¹‚鈗‚ð’ljÁ - pc_skill() ®— + pc_calc_skilltree() cardスã‚ルを忘れã•ã›ã‚‹å‡¦ç†ã‚’è¿½åŠ + pc_skill() æ•´ç† -------------- //0583 by kalen -EscriptC³ - npc_event_doll.txt ”²‚¯‚Ä‚¢‚½•”•ª‚̉ï˜b’ljÁ - npc_town_guid.txt ’¬‚̈ēà—vˆõ‚̉摜‚ð•\Ž¦‚Å‚«‚é‚悤‚ÉC³ - Šî–{“I‚ÉÅVjRO‚Å–â‘è‚È‚µ‚Å‚·B +・scriptä¿®æ£ + npc_event_doll.txt 抜ã‘ã¦ã„ãŸéƒ¨åˆ†ã®ä¼šè©±è¿½åŠ + npc_town_guid.txt 町ã®æ¡ˆå†…è¦å“¡ã®ç”»åƒã‚’表示ã§ãるよã†ã«ä¿®æ£ + 基本的ã«æœ€æ–°jROã§å•é¡Œãªã—ã§ã™ã€‚ -------------- //0582 by PRevEv -E580‚̃oƒOC³B +・580ã®ãƒã‚°ä¿®æ£ã€‚ (/map) skill.c - skill_use_pos() C³B + skill_use_pos() ä¿®æ£ã€‚ -------------- -//0581 by ˆø‘Þl -E…ê‚‚³Ý’èŠÖ˜A‚ð‚µC³ +//0581 by 引退人 +ãƒ»æ°´å ´é«˜ã•è¨å®šé–¢é€£ã‚’å°‘ã—ä¿®æ£ (/map) map.c map_waterheight() map_readwater() map_readmap() - waterlist[512] -> *waterlist‚É‚µ‚ÄAmalloc‚Ńƒ‚ƒŠŠm•Û‚·‚é‚悤‚ÉC³B + waterlist[512] -> *waterlistã«ã—ã¦ã€mallocã§ãƒ¡ãƒ¢ãƒªç¢ºä¿ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ map_readallmap() - free(waterlist);’ljÁ + free(waterlist);è¿½åŠ -EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ã®ä¿®æ£ãƒ‘ッãƒã‚’å–り込㿠(conf/) - npc_town_refine.txt ƒZƒ~ƒRƒƒ“”²‚¯C³ + npc_town_refine.txt セミコãƒãƒ³æŠœã‘ä¿®æ£ (db/) - item_db.txt 1161,ƒoƒ‹ƒ€ƒ“C³ + item_db.txt 1161,ãƒãƒ«ãƒ ãƒ³ä¿®æ£ -------------- //0580 by PRevEv -EƒtƒŠ[ƒLƒƒƒXƒg‰¼ŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) +・フリーã‚ャスト仮実装(ã‚ャスティングä¸æ”»æ’ƒã¯ä¸å¯èƒ½) (/map) clif.c - clif_parse_WalkToXY() C³B + clif_parse_WalkToXY() ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B + skill_castend_id()ã€skill_castend_pos()ã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ -------------- -//0579 by A‚Ìl -EƒƒOƒCƒ“‚ð’e‚ˆ—‚ð‰¼ŽÀ‘• +//0579 by Aã®äºº +・ãƒã‚°ã‚¤ãƒ³ã‚’å¼¾ã処ç†ã‚’仮実装 conf/login.c - auth_dat\‘¢‘Ì‚Éstate‚ð’ljÁ - mmo_authŠÖ”C³ - mmo_auth_newŠÖ”C³ - mmo_auth_syncŠÖ”C³ - mmo_auth_initŠÖ”C³ + auth_datæ§‹é€ ä½“ã«stateã‚’è¿½åŠ + mmo_authé–¢æ•°ä¿®æ£ + mmo_auth_newé–¢æ•°ä¿®æ£ + mmo_auth_syncé–¢æ•°ä¿®æ£ + mmo_auth_inité–¢æ•°ä¿®æ£ - ‚±‚Ì’l‚ð•ÏX‚·‚éƒc[ƒ‹A‰ü‘PôB‘¼—Í–{Šè‚Å‚·i„ƒG + ã“ã®å€¤ã‚’変更ã™ã‚‹ãƒ„ールã€æ”¹å–„ç–。他力本願ã§ã™ï¼ˆï¼žï¼œï¼› -------------- -//0578 by ˆø‘Þl -EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý‚È‚Çithanx to ‚é‚é‚邳‚ñ,Athefans‚³‚ñ,sage‚³‚ñ,zupport‚³‚ñj - help.txt @go‚Ìà–¾‚¿‚å‚Á‚ÆC³ +//0578 by 引退人 +・ãƒã‚°å ±å‘Šã‚¹ãƒ¬ãƒƒãƒ‰ã®ä¿®æ£ãƒ‘ッãƒã‚’å–ã‚Šè¾¼ã¿ãªã©ï¼ˆthanx to ã‚‹ã‚‹ã‚‹ã•ã‚“,Athefansã•ã‚“,sageã•ã‚“,zupportã•ã‚“) + help.txt @goã®èª¬æ˜Žã¡ã‚‡ã£ã¨ä¿®æ£ (conf/) - npc_mob_job.txt ‘æ4—ñ–Ú‚ðTab‹æØ‚è‚ÉC³ - npc_water.txt …ê‚‚³C³ + npc_mob_job.txt 第4列目をTab区切りã«ä¿®æ£ + npc_water.txt æ°´å ´é«˜ã•ä¿®æ£ (db/) - item_db.txt 640,...,{ pet 1155; },{},,‚ÉC³ - mob_db.txt 1162,RAFFLESIA,ƒ‰ƒtƒŒƒVƒA...C³ + item_db.txt 640,...,{ pet 1155; },{},,ã«ä¿®æ£ + mob_db.txt 1162,RAFFLESIA,ラフレシア...ä¿®æ£ -------------- -//0577 by ‚é‚é‚é -E@ƒRƒ}ƒ“ƒh‚ð’ljÁ•C³ +//0577 by ã‚‹ã‚‹ã‚‹ +・@ã‚³ãƒžãƒ³ãƒ‰ã‚’è¿½åŠ ï¼†ä¿®æ£ atcommand.c - atcommand() @itemresetƒRƒ}ƒ“ƒh’ljÁ @goƒRƒ}ƒ“ƒhC³iƒAƒ}ƒcEƒRƒ“ƒƒ“‚ð’ljÁj - atcommand_config_read() ã‚ɇ‚킹‚ÄitemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ + atcommand() @itemresetã‚³ãƒžãƒ³ãƒ‰è¿½åŠ @goコマンド修æ£ï¼ˆã‚¢ãƒžãƒ„・コンãƒãƒ³ã‚’è¿½åŠ ï¼‰ + atcommand_config_read() 上ã«åˆã‚ã›ã¦itemresetä½¿ç”¨ãƒ¬ãƒ™ãƒ«æŒ‡å®šã‚’è¿½åŠ doc/conf_ref.txt - conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ - help.txt @itemreset‚Ìà–¾’ljÁ‚Æ@go‚Ìà–¾C³ + conf/atcommand_athena.conf itemresetä½¿ç”¨ãƒ¬ãƒ™ãƒ«æŒ‡å®šã‚’è¿½åŠ + help.txt @itemresetã®èª¬æ˜Žè¿½åŠ ã¨@goã®èª¬æ˜Žä¿®æ£ ------------- //0576 by V&S -EƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh‚ƃo[ƒXƒŠ[ƒJ[ƒh‚ÌŒø‰Ê‚ª‹t‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ - { bonus bDefEle,7; }¨ƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) - { bonus bDefEle,8; }¨ƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) - ª‚¾‚Á‚½‚Ì‚ð«‚ÉC³ - { bonus bDefEle,7; }¨ƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) - { bonus bDefEle,8; }¨ƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) +・ゴーストリングカードã¨ãƒãƒ¼ã‚¹ãƒªãƒ¼ã‚«ãƒ¼ãƒ‰ã®åŠ¹æžœãŒé€†ã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ + { bonus bDefEle,7; }→ゴーストリングカード(念) + { bonus bDefEle,8; }→ãƒãƒ¼ã‚¹ãƒªãƒ¼ã‚«ãƒ¼ãƒ‰(é—‡) + ↑ã ã£ãŸã®ã‚’↓ã«ä¿®æ£ + { bonus bDefEle,7; }→ãƒãƒ¼ã‚¹ãƒªãƒ¼ã‚«ãƒ¼ãƒ‰(é—‡) + { bonus bDefEle,8; }→ゴーストリングカード(念) - |“S‚Ìd—Ê‚ðC³ + 鋼鉄ã®é‡é‡ã‚’ä¿®æ£ -------------- -//0575 by ˆø‘Þl -E…êƒtƒ@ƒCƒ‹‚ª"conf/npc_water.txt"ŒÅ’肾‚Á‚½‚Ì‚ðC³ -iconf/map_athena.conf‚Ìnpc:‚É‘‚©‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ð‚Ý‚Ä…ê‚‚³Ý’è‚·‚é‚悤‚Éj +//0575 by 引退人 +ãƒ»æ°´å ´ãƒ•ã‚¡ã‚¤ãƒ«ãŒ"conf/npc_water.txt"固定ã ã£ãŸã®ã‚’ä¿®æ£ +(conf/map_athena.confã®npc:ã«æ›¸ã‹ã‚Œã¦ã„るファイルをã¿ã¦æ°´å ´é«˜ã•è¨å®šã™ã‚‹ã‚ˆã†ã«ï¼‰ map.c - struct waterlist[512]; V‹K’ljÁBƒ}ƒbƒvƒtƒ@ƒCƒ‹–¼‚Æ…ê‚‚³‚ð‹L‰¯B - map_waterheight() V‹K’ljÁB…ê‚Ì‚‚³‚ð•Ô‚·B - map_readwater() …êƒtƒ@ƒCƒ‹‚ð‚Ý‚Äwaterlist‚ðÝ’è‚·‚é‚悤‚ÉC³B - map_readmap() map_waterheight()‚ðŒÄ‚Ԃ悤‚ÉC³B - map_config_read() "npc"‚Åmap_readwater(w2);’ljÁB + struct waterlist[512]; æ–°è¦è¿½åŠ 。マップファイルåã¨æ°´å ´é«˜ã•ã‚’記憶。 + map_waterheight() æ–°è¦è¿½åŠ ã€‚æ°´å ´ã®é«˜ã•ã‚’è¿”ã™ã€‚ + map_readwater() æ°´å ´ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã¿ã¦waterlistã‚’è¨å®šã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ + map_readmap() map_waterheight()を呼ã¶ã‚ˆã†ã«ä¿®æ£ã€‚ + map_config_read() "npc"ã§map_readwater(w2);è¿½åŠ ã€‚ -------------- -//0574 by ‚¢‚Ç +//0574 by ã„ã© -EƒT[ƒo[Snapshot -Econf/shop_*.txt‚Ì“à—e‚ðconf/npc_town_*.txt‚É“‡ +・サーãƒãƒ¼Snapshot +・conf/shop_*.txtã®å†…容をconf/npc_town_*.txtã«çµ±åˆ -------------- //0573 by Jazz -Emap‚Ì penalty, nomemo, noteleport, nobranch‚Ì option‚ðÝ’èB -Emap ƒT[ƒo[‚ª cpu‚𖳌Àè—L‚·‚邱‚Æ‚ðŒŸ¸‚·‚邽‚ß‚Ì script “Y•t. cygwinŠÂ‹«‚Å쬂ƎÀŒ±‚ð‚µ‚Ü‚µ‚½. +・mapã® penalty, nomemo, noteleport, nobranchã® optionã‚’è¨å®šã€‚ +・map サーãƒãƒ¼ãŒ cpuã‚’ç„¡é™å 有ã™ã‚‹ã“ã¨ã‚’検査ã™ã‚‹ãŸã‚ã® script 添付. cygwin環境ã§ä½œæˆã¨å®Ÿé¨“ã‚’ã—ã¾ã—ãŸ. (/conf) - mapflag.txt ’ljÁB + mapflag.txt è¿½åŠ ã€‚ (/tool) - mapcheck.sh ’ljÁB + mapcheck.sh è¿½åŠ ã€‚ -------------- -//0572 by ˆø‘Þl -E"conf/npc_water.txt"‚Ì‘æ4—ñ‚Å…ê‚‚³Ý’è -@i‚¿‚á‚ñ‚Æ‚µ‚½…ê”»’肪ŽÀ‘•‚³‚ê‚é‚܂ł̂‚Ȃ¬‚Æ‚µ‚ÄEEEj +//0572 by 引退人 +・"conf/npc_water.txt"ã®ç¬¬4列ã§æ°´å ´é«˜ã•è¨å®š + (ã¡ã‚ƒã‚“ã¨ã—ãŸæ°´å ´åˆ¤å®šãŒå®Ÿè£…ã•ã‚Œã‚‹ã¾ã§ã®ã¤ãªãŽã¨ã—ã¦ãƒ»ãƒ»ãƒ»ï¼‰ (/conf) - npc_water.txt ƒTƒ“ƒvƒ‹C³B - E‘æ4—ñ‚Å…ê‚Ì‚‚³‚ðݒ肵‚Ü‚·B - E‚‚³‚ð‘‚©‚È‚©‚Á‚½ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í3‚É‚È‚è‚Ü‚·B + npc_water.txt サンプル修æ£ã€‚ + ・第4列ã§æ°´å ´ã®é«˜ã•ã‚’è¨å®šã—ã¾ã™ã€‚ + ・高ã•ã‚’書ã‹ãªã‹ã£ãŸå ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯3ã«ãªã‚Šã¾ã™ã€‚ (/map) map.c - E…ê‚‚³Ý’èŠÖ” map_readwater() ’ljÁB + ãƒ»æ°´å ´é«˜ã•è¨å®šé–¢æ•° map_readwater() è¿½åŠ ã€‚ -------------- //0571 by code -“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚ÌC³ -“V’Ãpƒbƒ`‚É›À›Ä‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Ì‚ðŠm”F‚µ‚½‚Ì‚Å›À›Ä‚̃[ƒv‚Æmob‚ð”z’u +天津フィールドã®MOBã®é…ç½®ã¨ãƒ¯ãƒ¼ãƒ—ãƒã‚¤ãƒ³ãƒˆã®è¨å®šã®ä¿®æ£ +天津パッãƒã«å´‘å´™ãŒå«ã¾ã‚Œã¦ã„ã‚‹ã®ã‚’確èªã—ãŸã®ã§å´‘å´™ã®ãƒ¯ãƒ¼ãƒ—ã¨mobã‚’é…ç½® conf/npc_monster35.txt - mob‚Ì”z’u + mobã®é…ç½® conf/npc_warp_amatsu.txt -@@ “V’Ãwarp point‚ÌÝ’u +   天津warp pointã®è¨ç½® conf/npc_warp_gonryun.txt - ›À›Äwarp point‚ÌÝ’u + å´‘å´™warp pointã®è¨ç½® conf/npc_town_amatsu.txt -@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`^ƒvƒƒ“ƒeƒ‰•¬…‘O©¨›À›Ä‚ÌÚ‘±NPC +   暫定的ã«ãƒ—ãƒãƒ³ãƒ†ãƒ©å™´æ°´å‰â†â†’天津港ï¼ãƒ—ãƒãƒ³ãƒ†ãƒ©å™´æ°´å‰â†â†’å´‘å´™ã®æŽ¥ç¶šNPC -------------- //0570 by code -“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚Å‚·B +天津フィールドã®MOBã®é…ç½®ã¨ãƒ¯ãƒ¼ãƒ—ãƒã‚¤ãƒ³ãƒˆã®è¨å®šã§ã™ã€‚ conf/npc_monster35.txt - mob‚Ì”z’u + mobã®é…ç½® conf/npc_warp_amatsu.txt -@@ warp point‚ÌÝ’u +   warp pointã®è¨ç½® conf/npc_town_amatsu.txt -@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`‚ÌÚ‘±NPC +   暫定的ã«ãƒ—ãƒãƒ³ãƒ†ãƒ©å™´æ°´å‰â†â†’天津港ã®æŽ¥ç¶šNPC -------------- -//0569 by Ž€_ +//0569 by æ»ç¥ž -E0561‚Ì@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~‚ðpc_jobchange()‚Å‚·‚é‚悤‚É•ÏXB -E@ƒRƒ}ƒ“ƒh@party’ljÁBƒp[ƒeƒB‚ðì‚é–½—ß‚Å‚·BŠØ‘ˆÆ‚ðŽg‚¤‚ƃp[ƒeƒB‚ðì‚鎞Ž~‚Ü‚é‚Ì‚Å—ÕŽž“I‚É‚±‚ê‚ðŽg‚Á‚ăp[ƒeƒB‚ðì‚Á‚Ä‚‚¾‚³‚¢B -E…‚Ì”»’fˆ—C³B -Eƒ}ƒbƒvƒtƒ‰ƒO‚Éwater‚Æall_water’ljÁBÚ‚µ‚‚Ínpc_water.txt‚ðŽQl‚µ‚Ä‚‚¾‚³‚¢B -iz_dun0x‚¾‚¯“ü—Í‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å‘¼‚Ì‚Í–„‚ß‚Ä‚‚¾‚³‚¢Bƒ}ƒbƒvƒtƒ‰ƒOwater‚©all_water‚ª“ü‚Á‚Ä‚È‚¢‚ƃZƒ‹‚Ìtype‚ª3‚Å‚à…‚Æ‚µ‚Ä”FŽ¯‚µ‚Ü‚¹‚ñB‚»‚µ‚Ä…‚¾‚炯‚Ìiz_dun02‚©‚ç04‚Ü‚Å‚Í‘S‚Ä…‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚Éall_water‚ð“ü‚ê‚Ä‚¢‚Ü‚·B(‚±‚êˆÈŠO‚Í•û–@‚ª‚È‚©‚Á‚½‚Ì‚Å...) -Ebattle_athena.conf‚É€–ڒljÁBˆê•”‚ÍWeiss‚ðŽQl‚µ‚Äì‚Á‚½•¨‚Å‚·B -EƒeƒXƒg‚µ‚Ä‚È‚¢•¨‚à‚µ‚ ‚è‚Ü‚·B +・0561ã®@jobcange ã§ã®â™€ãƒãƒ¼ãƒ‰ï¼†â™‚ダンサーã«ã‚ˆã‚‹éžè½ã¡é˜²æ¢ã‚’pc_jobchange()ã§ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・@コマンド@partyè¿½åŠ ã€‚ãƒ‘ãƒ¼ãƒ†ã‚£ã‚’ä½œã‚‹å‘½ä»¤ã§ã™ã€‚韓国éžã‚’使ã†ã¨ãƒ‘ーティを作る時æ¢ã¾ã‚‹ã®ã§è‡¨æ™‚çš„ã«ã“れを使ã£ã¦ãƒ‘ーティを作ã£ã¦ãã ã•ã„。 +・水ã®åˆ¤æ–処ç†ä¿®æ£ã€‚ +・マップフラグã«waterã¨all_waterè¿½åŠ ã€‚è©³ã—ãã¯npc_water.txtã‚’å‚考ã—ã¦ãã ã•ã„。 +iz_dun0xã ã‘入力ã—ã¦ã„ã¾ã™ã®ã§ä»–ã®ã¯åŸ‹ã‚ã¦ãã ã•ã„。マップフラグwaterã‹all_waterãŒå…¥ã£ã¦ãªã„ã¨ã‚»ãƒ«ã®typeãŒ3ã§ã‚‚æ°´ã¨ã—ã¦èªè˜ã—ã¾ã›ã‚“。ãã—ã¦æ°´ã らã‘ã®iz_dun02ã‹ã‚‰04ã¾ã§ã¯å…¨ã¦æ°´ã¨ã—ã¦èªè˜ã™ã‚‹ã‚ˆã†ã«all_waterを入れã¦ã„ã¾ã™ã€‚(ã“れ以外ã¯æ–¹æ³•ãŒãªã‹ã£ãŸã®ã§...) +・battle_athena.confã«é …ç›®è¿½åŠ ã€‚ä¸€éƒ¨ã¯Weissã‚’å‚考ã—ã¦ä½œã£ãŸç‰©ã§ã™ã€‚ +・テストã—ã¦ãªã„物も少ã—ã‚ã‚Šã¾ã™ã€‚ (/conf) - atcommand_athena.conf C³B - battle_athena.conf C³B - map_athena.conf C³B - npc_water.txt ’ljÁB + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ + map_athena.conf ä¿®æ£ã€‚ + npc_water.txt è¿½åŠ ã€‚ (/doc) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (/map) - atcommand.hAatcommand.c C³B - battle.h C³B + atcommand.hã€atcommand.c ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ pc.c - pc_jobchange()Apc_stop_walking() C³B + pc_jobchange()ã€pc_stop_walking() ä¿®æ£ã€‚ npc.c - npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() C³B + npc_parse_warp()ã€do_init_npc()ã€npc_parse_mapflag() ä¿®æ£ã€‚ mob.c - mob_ai_sub_hard() C³B + mob_ai_sub_hard() ä¿®æ£ã€‚ pet.c - pet_food() C³B + pet_food() ä¿®æ£ã€‚ skill.c - skill_check_condition() C³B + skill_check_condition() ä¿®æ£ã€‚ map.h - struct map_data C³B + struct map_data ä¿®æ£ã€‚ -------------- -//0568 by ˆø‘Þl +//0568 by 引退人 -EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ê”»’è‚È‚Ç -EƒEƒH[ƒ^[ƒ{[ƒ‹…ê”»’èiread_gat(m,x,y)==3‚Å…ê‚Æ”»’èj +・アクアベãƒãƒ‡ã‚£ã‚¯ã‚¿æ°´å ´åˆ¤å®šãªã© +ãƒ»ã‚¦ã‚©ãƒ¼ã‚¿ãƒ¼ãƒœãƒ¼ãƒ«æ°´å ´åˆ¤å®šï¼ˆread_gat(m,x,y)==3ã§æ°´å ´ã¨åˆ¤å®šï¼‰ skill.c skill_castend_nodamage_id() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i¹…Žæ“¾j + case AL_HOLYWATER: アクアベãƒãƒ‡ã‚£ã‚¯ã‚¿ï¼ˆè–æ°´å–得) skill_check_condition() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ê”»’èj - case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ê”»’èj + case AL_HOLYWATER: アクアベãƒãƒ‡ã‚£ã‚¯ã‚¿ï¼ˆæ°´å ´åˆ¤å®šï¼‰ + case WZ_WATERBALL: ã‚¦ã‚©ãƒ¼ã‚¿ãƒ¼ãƒœãƒ¼ãƒ«ï¼ˆæ°´å ´åˆ¤å®šï¼‰ -------------- -//0567 by ‚é‚é‚é +//0567 by ã‚‹ã‚‹ã‚‹ -EƒAƒRƒ‰ƒCƒg‚̃AƒNƒAƒxƒlƒfƒBƒNƒ^‚ð‰¼ŽÀ‘•i…êŒÀ’èŽg—p‚Ì‚Ý–¢ŽÀ‘•j -EƒvƒŠ[ƒXƒg‚̃AƒXƒyƒ‹ƒVƒIAƒZ[ƒW‚̃tƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[‚ŃXƒLƒ‹Žg—pŽž‚ɃAƒCƒeƒ€Á”ï -Eƒ~ƒXƒgƒŒƒXƒJ[ƒh‘•”õŽž‚ɃZ[ƒW‚Ì‘®«Œ´Î•ƒnƒ“ƒ^[‚Ìã©‚ªÁ”‚ê‚È‚¢ƒoƒO‚ðC³ +・アコライトã®ã‚¢ã‚¯ã‚¢ãƒ™ãƒãƒ‡ã‚£ã‚¯ã‚¿ã‚’ä»®å®Ÿè£…ï¼ˆæ°´å ´é™å®šä½¿ç”¨ã®ã¿æœªå®Ÿè£…) +・プリーストã®ã‚¢ã‚¹ãƒšãƒ«ã‚·ã‚ªã€ã‚»ãƒ¼ã‚¸ã®ãƒ•ãƒ¬ã‚¤ãƒ ランãƒãƒ£ãƒ¼ã§ã‚¹ã‚ル使用時ã«ã‚¢ã‚¤ãƒ†ãƒ 消費 +・ミストレスカード装備時ã«ã‚»ãƒ¼ã‚¸ã®å±žæ€§åŽŸçŸ³ï¼†ãƒãƒ³ã‚¿ãƒ¼ã®ç½ ãŒæ¶ˆè²»ã•ã‚Œãªã„ãƒã‚°ã‚’ä¿®æ£ (/map) skill.c - skill_check_condition() C³ + skill_check_condition() ä¿®æ£ -------------- -//0566 by ƒpƒCƒ“ +//0566 by パイン -E0563‚̃XƒLƒ‹‰ðœðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ÅC³B•Ší‚ð‚Í‚¸‚·&•Ší‚ð•Ï‚¦‚½ê‡‚Í -@–³ðŒ‚ʼn𜂷‚é‚悤‚É‚µ‚½B +・0563ã®ã‚¹ã‚ル解除æ¡ä»¶ãŒé–“é•ã£ã¦ã„ãŸã®ã§ä¿®æ£ã€‚æ¦å™¨ã‚’ã¯ãšã™&æ¦å™¨ã‚’変ãˆãŸå ´åˆã¯ + 無æ¡ä»¶ã§è§£é™¤ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ -# pc_checkallowskill ‚ɂ‚¢‚Ä(‘O‰ñà–¾‘‚‚Ì‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚Åc) -@ˆê‰ž¡Œã‚ÌŠÜ‚Ý‚Æ‚µ‚Äreturn‚ð•Ô‚·‚悤‚É‚µ‚Ä‚¢‚Ü‚·‚ªAŒ»Ý‚Í(–ß‚èæ‚Å‚Í)Žg‚Á‚Ä‚¢‚Ü‚¹‚ñB -@¡Œ»Ý‚Í‹RŽmEƒNƒ‹ƒZƒCƒ_[‚‚ç‚¢‚µ‚©ƒXƒLƒ‹Žg—pŽž‚Ì•Ší§ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñ‚ªA¡Œão‚Ä‚±‚È‚¢ -@‚Æ‚àŒÀ‚ç‚È‚¢‚Ì‚ÅA‚à‚µ(2ŽŸãˆÊ‚©3ŽŸH)o‚Ä‚«‚½‚炱‚±‚Ń`ƒFƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +# pc_checkallowskill ã«ã¤ã„ã¦(å‰å›žèª¬æ˜Žæ›¸ãã®ã‚’忘れã¦ã„ãŸã®ã§â€¦) + 一応今後ã®å«ã¿ã¨ã—ã¦returnã‚’è¿”ã™ã‚ˆã†ã«ã—ã¦ã„ã¾ã™ãŒã€ç¾åœ¨ã¯(戻り先ã§ã¯)使ã£ã¦ã„ã¾ã›ã‚“。 + 今ç¾åœ¨ã¯é¨Žå£«ãƒ»ã‚¯ãƒ«ã‚»ã‚¤ãƒ€ãƒ¼ãらã„ã—ã‹ã‚¹ã‚ル使用時ã®æ¦å™¨åˆ¶é™ãŒã‚ã‚Šã¾ã›ã‚“ãŒã€ä»Šå¾Œå‡ºã¦ã“ãªã„ + ã¨ã‚‚é™ã‚‰ãªã„ã®ã§ã€ã‚‚ã—(2次上ä½ã‹3次?)出ã¦ããŸã‚‰ã“ã“ã§ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。 (/map) pc.c - pc_checkallowskill() C³ + pc_checkallowskill() ä¿®æ£ -------------- -//0565 by ˆø‘Þl +//0565 by 引退人 -Eƒ}ƒbƒvˆÚ“®Žž‚É–î‘•”õ‚ªŠO‚ê‚È‚¢‚悤‚ÉC³ -EƒƒOƒCƒ“Žž‚É–î‘•”õ‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³ +・マップ移動時ã«çŸ¢è£…å‚™ãŒå¤–ã‚Œãªã„よã†ã«ä¿®æ£ +・ãƒã‚°ã‚¤ãƒ³æ™‚ã«çŸ¢è£…å‚™ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ (/common) mmo.h - i–î‘•”õ‚Í0x8000‚È‚Ì‚Åjshort‚¾‚Æint‚ւ̃LƒƒƒXƒgŽž‚È‚Ç‚É - •‰’l‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤‚½‚ßunsigned short‚ÉC³ + (矢装備ã¯0x8000ãªã®ã§ï¼‰shortã ã¨intã¸ã®ã‚ャスト時ãªã©ã« + è² å€¤ã¨ãªã£ã¦ã—ã¾ã†ãŸã‚unsigned shortã«ä¿®æ£ struct item short equip; -> unsigned short equip; (/map) clif.c - clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ì–î‚̂‚¢‚Å‚É–î‘•”õ‚àƒ`ƒFƒbƒN - clif_arrowequip() ƒVƒ“ƒvƒ‹‰» + clif_itemlist() アイテムリストã®çŸ¢ã®ã¤ã„ã§ã«çŸ¢è£…備もãƒã‚§ãƒƒã‚¯ + clif_arrowequip() シンプル化 pc.c - pc_equipitem() C³ + pc_equipitem() ä¿®æ£ -------------- -//0564 by g—t +//0564 by 紅葉 -E@model‚Ì•žõ‚ß•s‰Â”\”»’èC³B -E@model‚ÅA‘I‚ׂéƒnƒY‚Ì”¯Œ`‚É•ÏXo—ˆ‚È‚©‚Á‚½•”•ª‚ðC³B -@ã‹L•ÏX“_‚ɇ‚킹‚Ähelp.txt‚ÌC³B +・@modelã®æœæŸ“ã‚ä¸å¯èƒ½åˆ¤å®šä¿®æ£ã€‚ +・@modelã§ã€é¸ã¹ã‚‹ãƒã‚ºã®é«ªå½¢ã«å¤‰æ›´å‡ºæ¥ãªã‹ã£ãŸéƒ¨åˆ†ã‚’ä¿®æ£ã€‚ + 上記変更点ã«åˆã‚ã›ã¦help.txtã®ä¿®æ£ã€‚ -------------- -//0563 by ƒpƒCƒ“ +//0563 by パイン -EMOB‚̈ÈŃXƒLƒ‹‚ðH‚ç‚Á‚½Œã‚ɉñ•œ‚µ‚È‚¢‚Ì‚ðC³Bc‚È‚ñ‚¾‚¯‚ÇA“K³‚È’l‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å -@“Å‚â’¾–Ù‚Æ“¯‚¶ŽžŠÔ‚É‚µ‚Ä‚ ‚è‚Ü‚· -@¡ŒãA‚Ü‚½Žè‚ð‰Á‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB -E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚¦‚½ê‡‚͉𜂷‚é‚悤‚É•ÏXB +・MOBã®æš—闇スã‚ルを食らã£ãŸå¾Œã«å›žå¾©ã—ãªã„ã®ã‚’ä¿®æ£ã€‚…ãªã‚“ã ã‘ã©ã€é©æ£ãªå€¤ãŒåˆ†ã‹ã‚‰ãªã„ã®ã§ + 毒や沈黙ã¨åŒã˜æ™‚é–“ã«ã—ã¦ã‚ã‚Šã¾ã™ + 今後ã€ã¾ãŸæ‰‹ã‚’åŠ ãˆã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 +・2HQã¨ã‚¹ãƒ”アクイッケンを使用ä¸ã«æ¦å™¨ã‚’変ãˆãŸå ´åˆã¯è§£é™¤ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ (/map) skill.c - skill_castend_damage_id() C³B - skill_status_change_timer() C³B + skill_castend_damage_id() ä¿®æ£ã€‚ + skill_status_change_timer() ä¿®æ£ã€‚ pc.c - pc_checkallowskill() VÝB - pc_equipitem() C³B + pc_checkallowskill() æ–°è¨ã€‚ + pc_equipitem() ä¿®æ£ã€‚ pc.h - pc_checkallowskill() VÝB + pc_checkallowskill() æ–°è¨ã€‚ -------------- //0562 by huge -E–î‚ð‹|‘•”õŽžˆÈŠO‚Å‚à‘•”õ‚Å‚«‚é‚悤‚É–ß‚µ‚Ü‚µ‚½B -E–î‚Ì‘®«‚ð“K—p‚·‚é‚Ì‚ð‹|‘•”õŽž‚Ì‚Ý‚ÉC³B +・矢を弓装備時以外ã§ã‚‚装備ã§ãるよã†ã«æˆ»ã—ã¾ã—ãŸã€‚ +・矢ã®å±žæ€§ã‚’é©ç”¨ã™ã‚‹ã®ã‚’弓装備時ã®ã¿ã«ä¿®æ£ã€‚ pc.c - pc_equipitem() C³B - pc_calcstatus() C³B + pc_equipitem() ä¿®æ£ã€‚ + pc_calcstatus() ä¿®æ£ã€‚ -------------- -//0561 by ˆø‘Þl +//0561 by 引退人 -ELinux‚Å‚àƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É +・Linuxã§ã‚‚コンパイルã§ãるよã†ã« (/map) skill.c - skill_castend_damage_id() •Ï”dx,dy‚Ì錾ˆÊ’u•ÏX + skill_castend_damage_id() 変数dx,dyã®å®£è¨€ä½ç½®å¤‰æ›´ Makefile - LIBS ‚É -lm ’ljÁ + LIBS ã« -lm è¿½åŠ -E@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~B by (no name)‚³‚ñ +・@jobcange ã§ã®â™€ãƒãƒ¼ãƒ‰ï¼†â™‚ダンサーã«ã‚ˆã‚‹éžè½ã¡é˜²æ¢ã€‚ by (no name)ã•ã‚“ atcommand.c - @jobchange,@charjob‚É«•Êƒ`ƒFƒbƒN’ljÁ + @jobchange,@charjobã«æ€§åˆ¥ãƒã‚§ãƒƒã‚¯è¿½åŠ -// ƒiƒiƒX‚³‚ñC³ -Eclif.c“à‚Åatcommand.h‚ð‚Q“xinclude‚µ‚Ä‚¢‚½‚̂ňê‚ÂíœB -Eƒp[ƒeƒB[‰ï˜bAƒMƒ‹ƒh‰ï˜b‚Å‚à@ƒRƒ}ƒ“ƒh‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³B +// ナナスã•ã‚“ä¿®æ£ +・clif.c内ã§atcommand.hを2度includeã—ã¦ã„ãŸã®ã§ä¸€ã¤å‰Šé™¤ã€‚ +・パーティー会話ã€ã‚®ãƒ«ãƒ‰ä¼šè©±ã§ã‚‚@コマンドをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ (/map) clif.c - clif_parse_PartyMessage()Aclif_parse_GuildMessage C³B + clif_parse_PartyMessage()ã€clif_parse_GuildMessage ä¿®æ£ã€‚ -------------- -//0560 by ƒpƒCƒ“ +//0560 by パイン -E0559 ‚Ì athena-start ‚ð Unix Like OS ‚Å‚à“®‚‚悤‚ɃŠƒtƒ@ƒCƒ“B +・0559 ã® athena-start ã‚’ Unix Like OS ã§ã‚‚å‹•ãよã†ã«ãƒªãƒ•ã‚¡ã‚¤ãƒ³ã€‚ -------------- //0559 by rowla -Eathena.sh‚ð‘S–Ê“I‚É‘‚«’¼‚µAathena-start‚ÉBathena-start start‚ÅŠJŽnAathena-start stop‚ŃT[ƒo[’âŽ~Bcygwin‚ŃeƒXƒgA*BSD|Linux‚Å‚Í–¢ƒeƒXƒg(ŠÂ‹«‚ª‚È‚¢‚½‚ß)B +・athena.shã‚’å…¨é¢çš„ã«æ›¸ãç›´ã—ã€athena-startã«ã€‚athena-start startã§é–‹å§‹ã€athena-start stopã§ã‚µãƒ¼ãƒãƒ¼åœæ¢ã€‚cygwinã§ãƒ†ã‚¹ãƒˆã€*BSD|Linuxã§ã¯æœªãƒ†ã‚¹ãƒˆ(環境ãŒãªã„ãŸã‚)。 -------------- -//0558 by Ž€_ +//0558 by æ»ç¥ž -EƒuƒŠƒbƒcƒr[ƒg‚ðŽ©“®‚¾‚¯‹|‚ð‘•”õ‚µ‚Ä‚¢‚È‚¢‚Æ”“®‚Å‚«‚È‚¢‚悤‚É•ÏXB(Žè“®‚Í•Ší‚ÉŠÖŒW‚È‚Žg‚¦‚Ü‚·B) –¢ƒeƒXƒgB -Eƒgƒ‰ƒbƒv‚Ìd‚³C³B(‰½ŒÌ‚©‚Í’m‚ç‚È‚¢‚¯‚Ç100‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ð10‚ÉC³Bˆö‚Ý‚É‘q‚Ì•\Ž¦‚Í100‚ª10‚Å10‚ª1‚Å‚·B) -E‹|‚ÅŽg‚¤ƒXƒLƒ‹‚ÌꇖŒ¸‚ç‚È‚¢‚Ì‚ªŽd—l‚¾‚Á‚½‚ÆŠo‚¦‚Ä‚¢‚é‚Ì‚Å–î‚ðƒ`ƒFƒbƒN‚µ‚È‚¢‚悤‚ÉC³B -Eƒ‚ƒ“ƒNƒXƒLƒ‹ŽO’i¶‚Ì•\Ž¦‚ðƒpƒbƒVƒu‚É•ÏXB -Eƒ}ƒbƒvƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚鎞dummy‚ª‚È‚‚Ä‚àƒZƒbƒg‚Å‚«‚é‚悤‚ÉC³B -(mapflag nomomo dummy‚©‚çmapflag nomemo‚Å‚à‘åä•v‚Ȃ悤‚É•ÏXB) -–¢ƒeƒXƒgB +・ブリッツビートを自動ã ã‘弓を装備ã—ã¦ã„ãªã„ã¨ç™ºå‹•ã§ããªã„よã†ã«å¤‰æ›´ã€‚(手動ã¯æ¦å™¨ã«é–¢ä¿‚ãªã使ãˆã¾ã™ã€‚) 未テスト。 +・トラップã®é‡ã•ä¿®æ£ã€‚(何故ã‹ã¯çŸ¥ã‚‰ãªã„ã‘ã©100ã«ãªã£ã¦ã„ãŸã®ã‚’10ã«ä¿®æ£ã€‚å› ã¿ã«å€‰ã®è¡¨ç¤ºã¯100ãŒ10ã§10ãŒ1ã§ã™ã€‚) +・弓ã§ä½¿ã†ã‚¹ã‚ルã®å ´åˆçŸ¢ãŒæ¸›ã‚‰ãªã„ã®ãŒä»•æ§˜ã ã£ãŸã¨è¦šãˆã¦ã„ã‚‹ã®ã§çŸ¢ã‚’ãƒã‚§ãƒƒã‚¯ã—ãªã„よã†ã«ä¿®æ£ã€‚ +・モンクスã‚ル三段掌ã®è¡¨ç¤ºã‚’パッシブã«å¤‰æ›´ã€‚ +・マップフラグをセットã™ã‚‹æ™‚dummyãŒãªãã¦ã‚‚セットã§ãるよã†ã«ä¿®æ£ã€‚ +(mapflag nomomo dummyã‹ã‚‰mapflag nomemoã§ã‚‚大丈夫ãªã‚ˆã†ã«å¤‰æ›´ã€‚) +未テスト。 (/db) - item_db.txt C³B - skill_db.txt C³B + item_db.txt ä¿®æ£ã€‚ + skill_db.txt ä¿®æ£ã€‚ (/map) skill.c - skill_check_condition()Askill_additional_effect() C³B - skill_status_change_start() C³B + skill_check_condition()ã€skill_additional_effect() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ npc.c - do_init_npc() C³B + do_init_npc() ä¿®æ£ã€‚ -------------- //0557 by huge -E–î‚ðA‹|‘•”õŽž‚Ì‚Ý‘•”õ‚Å‚«‚é‚悤‚ÉC³B -E‹|‚ð‘•”õ‚©‚çŠO‚µ‚½‚çA–î‚àŠO‚ê‚é‚悤‚ÉC³B -E–î‚ðÁ”ï‚·‚éƒXƒLƒ‹‚ð‚¢‚‚‚©C³B -E‘é‚ðA‹|‚ð‘•”õ‚µ‚Ä‚¢‚é‚Æ‚«‚Ì‚Ý”“®‚·‚é‚悤‚ÉC³B(–¢ƒeƒXƒg) +・矢をã€å¼“装備時ã®ã¿è£…å‚™ã§ãるよã†ã«ä¿®æ£ã€‚ +・弓を装備ã‹ã‚‰å¤–ã—ãŸã‚‰ã€çŸ¢ã‚‚外れるよã†ã«ä¿®æ£ã€‚ +・矢を消費ã™ã‚‹ã‚¹ã‚ルをã„ãã¤ã‹ä¿®æ£ã€‚ +・鷹をã€å¼“を装備ã—ã¦ã„ã‚‹ã¨ãã®ã¿ç™ºå‹•ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚(未テスト) pc.c - pc_equipitem() C³B - pc_unequipitem() C³B + pc_equipitem() ä¿®æ£ã€‚ + pc_unequipitem() ä¿®æ£ã€‚ skill.c - skill_additional_effect() C³B - skill_check_condition() C³B + skill_additional_effect() ä¿®æ£ã€‚ + skill_check_condition() ä¿®æ£ã€‚ -------------- -//0555 by Ž€_ +//0555 by æ»ç¥ž -Eׂ©‚¢C³‚ƃvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXAŒÃ‚¢Šª•¨‚̃oƒOC³B -E@ƒRƒ}ƒ“ƒh@refineA@produce‚µC³B -EƒT[ƒo[‚ÌIP‚ÉDNS–¼‚ðŽg‚¦‚é‚悤‚É•ÏXB(¡‚³‚ç‚Å‚·‚ªYare‚©‚ç -Ž‚Á‚Ä‚«‚½•¨‚Å‚·B) -EƒXƒeƒB[ƒ‹ŒvŽZŽ®•ÏX‚ÆMVPƒAƒCƒeƒ€ˆ—•ÏXB -E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒ±’lŠl“¾ŒvŽZŽ®•ÏXB - Šl“¾ƒWƒ‡ƒuŒoŒ±’l = ln(‹à*ƒXƒLƒ‹ƒŒƒxƒ‹) * shop_exp / 100 -E‚Ù‚Æ‚ñ‚ǃeƒXƒg‚µ‚Ä‚È‚¢‚̂ŃoƒO‚̉”\«‚ª‚ ‚è‚Ü‚·B - help.txt C³B +・細ã‹ã„ä¿®æ£ã¨ãƒ—レゼントボックスã€å¤ã„巻物ã®ãƒã‚°ä¿®æ£ã€‚ +・@コマンド@refineã€@produceå°‘ã—ä¿®æ£ã€‚ +・サーãƒãƒ¼ã®IPã«DNSåを使ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(今ã•ã‚‰ã§ã™ãŒYareã‹ã‚‰ +æŒã£ã¦ããŸç‰©ã§ã™ã€‚) +・スティール計算å¼å¤‰æ›´ã¨MVPアイテム処ç†å¤‰æ›´ã€‚ +・店NPCを利用ã«ã‚ˆã‚‹ã‚¸ãƒ§ãƒ–経験値ç²å¾—計算å¼å¤‰æ›´ã€‚ + ç²å¾—ジョブ経験値 = ln(金*スã‚ルレベル) * shop_exp / 100 +・ã»ã¨ã‚“ã©ãƒ†ã‚¹ãƒˆã—ã¦ãªã„ã®ã§ãƒã‚°ã®å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ + help.txt ä¿®æ£ã€‚ (/conf) - atcommand_athena.conf C³B - battle_athena.conf C³B + atcommand_athena.conf ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ (/db) - item_db.txt C³B + item_db.txt ä¿®æ£ã€‚ (/doc) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (/char) char.c - do_init()Acheck_connect_login_server() C³‚Æ‚µC³B + do_init()ã€check_connect_login_server() ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ (/map) mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ pc.c - pc_getitemfromcart()Apc_steal_item() C³B + pc_getitemfromcart()ã€pc_steal_item() ä¿®æ£ã€‚ pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B + pet_return_egg()ã€pet_get_egg()ã€pet_unequipitem() ä¿®æ£ã€‚ script.c - buildin_getitem() C³B + buildin_getitem() ä¿®æ£ã€‚ skill.c - skill_produce_mix() C³B + skill_produce_mix() ä¿®æ£ã€‚ storage.c - storage_storageget() C³B - atcommand.c C³B + storage_storageget() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ map.c - map_config_read() C³‚Æ‚µC³B + map_config_read() ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ chrif.c - check_connect_char_server()Ado_init_chrif()Achrif_setip() C³‚Æ‚µC³B + check_connect_char_server()ã€do_init_chrif()ã€chrif_setip() ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ npc.c - npc_buylist()Anpc_selllist() C³B + npc_buylist()ã€npc_selllist() ä¿®æ£ã€‚ -------------- //0554 by NOCTURNE -EƒT[ƒo[SnapShot -Etoo/addaccount‚Ìíœ -Ehelp.txt‚ÌXV +・サーãƒãƒ¼SnapShot +・too/addaccountã®å‰Šé™¤ +・help.txtã®æ›´æ–° -------------- -//0553 by ŒÓ’±—– +//0553 by 胡è¶è˜ -Eladmin‚̃oƒOC³‚Æ‹@”\’ljÁ - EƒL[ƒ[ƒh‚É‚æ‚éƒAƒJƒEƒ“ƒgŒŸõ‹@”\’ljÁ - EƒVƒFƒ‹ƒRƒ}ƒ“ƒh‚Æ‚µ‚ÄŽg—p‚Å‚«‚é‚悤‚Ƀvƒƒ“ƒvƒg‚ðŽg‚í‚È‚¢ƒ‚[ƒh’ljÁ - E’ljÁ‹@”\‚ɂ‚¢‚Ä‚Íladmin‚ðŒ©‚Ä‚‚¾‚³‚¢ - E ladmin‚Ì--makesymlink‚É‚æ‚èAƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Æ‚µ‚Äaddaccount‚ð - 쬂·‚邽‚ßAˆÈ‘O‚Ìaddaccount‚Í휂·‚é•K—v‚ª‚ ‚è‚Ü‚·B - ‚±‚ê‚ç‚̃Vƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN(Cygwin‚ł̓Vƒ‡[ƒgƒJƒbƒg)‚ÆA - ŒÃ‚¢addaccount‚ÍŽIsnapshot‚É‚ÍŠÜ‚Ü‚È‚¢‚ʼnº‚³‚¢B +・ladminã®ãƒã‚°ä¿®æ£ã¨æ©Ÿèƒ½è¿½åŠ + ・ã‚ーワードã«ã‚ˆã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæ¤œç´¢æ©Ÿèƒ½è¿½åŠ + ・シェルコマンドã¨ã—ã¦ä½¿ç”¨ã§ãるよã†ã«ãƒ—ãƒãƒ³ãƒ—トを使ã‚ãªã„ãƒ¢ãƒ¼ãƒ‰è¿½åŠ + ãƒ»è¿½åŠ æ©Ÿèƒ½ã«ã¤ã„ã¦ã¯ladminを見ã¦ãã ã•ã„ + ・ ladminã®--makesymlinkã«ã‚ˆã‚Šã€ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã¨ã—ã¦addaccountã‚’ + 作æˆã™ã‚‹ãŸã‚ã€ä»¥å‰ã®addaccountã¯å‰Šé™¤ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + ã“れらã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯(Cygwinã§ã¯ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆ)ã¨ã€ + å¤ã„addaccountã¯é¯–snapshotã«ã¯å«ã¾ãªã„ã§ä¸‹ã•ã„。 (tool/) ladmin - ‹@”\’ljÁ‚ÆC³ + æ©Ÿèƒ½è¿½åŠ ã¨ä¿®æ£ -E—«ƒAƒJƒEƒ“ƒg‚µ‚©ì¬‚Å‚«‚È‚¢ƒoƒOC³ -EladminAcheckversionŽg—pŽžloginƒT[ƒo[‚ª–\‘–‚·‚éƒoƒOC³ -EGMƒAƒJƒEƒ“ƒgŽü•Ó‚ÌID‚ð”ð‚¯‚é‚½‚ß‚ÉSTART_ACCOUNT_NUM‚ð•ÏX - (Šù‚ÉGMƒAƒJƒEƒ“ƒg‚Í”ð‚¯‚éŽd—l‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªA¬—–hŽ~‚Ì‚½‚ß) +・女性アカウントã—ã‹ä½œæˆã§ããªã„ãƒã‚°ä¿®æ£ +・ladminã€checkversion使用時loginサーãƒãƒ¼ãŒæš´èµ°ã™ã‚‹ãƒã‚°ä¿®æ£ +・GMアカウント周辺ã®IDã‚’é¿ã‘ã‚‹ãŸã‚ã«START_ACCOUNT_NUMを変更 + (æ—¢ã«GMアカウントã¯é¿ã‘る仕様ã«ãªã£ã¦ã„ã¾ã™ãŒã€æ··ä¹±é˜²æ¢ã®ãŸã‚) (login/) login.h - START_ACCOUNT_NUM‚ð500000‚©‚ç2000000‚É•ÏX + START_ACCOUNT_NUMã‚’500000ã‹ã‚‰2000000ã«å¤‰æ›´ login.c - 7532(Ø’f)ƒpƒPƒbƒg‚̈—C³ - mmo_auth_new()C³ + 7532(切æ–)パケットã®å‡¦ç†ä¿®æ£ + mmo_auth_new()ä¿®æ£ -Ebackup‚ªƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’ljÁ +・backupãŒãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã«pet.txtã‚’è¿½åŠ (tool/) backup - ƒtƒ@ƒCƒ‹’ljÁC³ + ãƒ•ã‚¡ã‚¤ãƒ«è¿½åŠ ä¿®æ£ -------------- -//0552 by Ž€_ +//0552 by æ»ç¥ž -EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Å‚·‚ª–{“–‚ɈÀ’è«ã‚ª‚Á‚½‚© -‚Ç‚¤‚©‚Í•s–¾‚Å‚·B -EPVP‚É‚æ‚èƒNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚é–â‘èC³B +・安定性を上ã’る為ã®ä¿®æ£ã§ã™ãŒæœ¬å½“ã«å®‰å®šæ€§ä¸ŠãŒã£ãŸã‹ +ã©ã†ã‹ã¯ä¸æ˜Žã§ã™ã€‚ +・PVPã«ã‚ˆã‚Šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè½ã¡ã‚‹å•é¡Œä¿®æ£ã€‚ atcommand.c - @pvpoffA@pvponA@gvgonA@gvgoff C³B + @pvpoffã€@pvponã€@gvgonã€@gvgoff ä¿®æ£ã€‚ script.c - buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() C³B + buildin_pvpon()ã€buildin_pvpoff()ã€buildin_gvgon()ã€buildin_gvgoff() ä¿®æ£ã€‚ clif.c - clif_pvpset() C³B + clif_pvpset() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_unit_onplace()Askill_unit_onout() C³B - skill_unit_ondelete() C³B + skill_attack()ã€skill_unit_onplace()ã€skill_unit_onout() ä¿®æ£ã€‚ + skill_unit_ondelete() ä¿®æ£ã€‚ -------------- //0551 by Kalen -EDBC³ - db/create_arrow_db.txt Š®¬ - SourceID‡‚Ƀ\[ƒg‚µ‚Ü‚µ‚½B +・DBä¿®æ£ + db/create_arrow_db.txt å®Œæˆ + SourceIDé †ã«ã‚½ãƒ¼ãƒˆã—ã¾ã—ãŸã€‚ -------------- //0550 by huge -E–î쬃XƒLƒ‹ŽÀ‘• +・矢作æˆã‚¹ã‚ル実装 clif.c clif.h - clif_arrow_create_list() ’ljÁ - clif_arrow_created() ’ljÁ - clif_parse() C³ + clif_arrow_create_list() è¿½åŠ + clif_arrow_created() è¿½åŠ + clif_parse() ä¿®æ£ pc.c - pc_search_inventory() C³ + pc_search_inventory() ä¿®æ£ skill.c skill.h - skill_arrow_db() ’ljÁ - skill_readdb() C³ - skill_castend_damage_id() C³ + skill_arrow_db() è¿½åŠ + skill_readdb() ä¿®æ£ + skill_castend_damage_id() ä¿®æ£ - db/create_arrow_db.txt ’ljÁ - db/skill_db.txt C³ + db/create_arrow_db.txt è¿½åŠ + db/skill_db.txt ä¿®æ£ - ‚Ü‚¾db‚Í–¢Š®¬‚Å‚·B + ã¾ã dbã¯æœªå®Œæˆã§ã™ã€‚ -------------- //0549 by Kalen -Emap_athena.conf - ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GߌÀ’èƒXƒNƒŠƒvƒg‚ð®“Ú - shop3.txt’ljÁ +・map_athena.conf + オリジナルスクリプトã€å£ç¯€é™å®šã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚’æ•´é “ + shop3.txtè¿½åŠ -EŠeŽíNPC’ljÁ•C³ - npc_event_yuno.txt [’ljÁ]ƒWƒ…ƒm[ƒCƒxƒ“ƒg(ÂÎ5ŒÂGET) - npc_cTower.txt [’ljÁ]’nã’n‰º‚ÌŒ®NPC - npc_town_yuno.txt [C³]‘䎌C³ +・å„種NPCè¿½åŠ ï¼†ä¿®æ£ + npc_event_yuno.txt [è¿½åŠ ]ジュノーイベント(é’石5個GET) + npc_cTower.txt [è¿½åŠ ]地上地下ã®éµNPC + npc_town_yuno.txt [ä¿®æ£]å°è©žä¿®æ£ - npc_event_carnival.txt [’ljÁ]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ÌNPC + npc_event_carnival.txt [è¿½åŠ ]旧鯖カーニãƒãƒ«ã‚¤ãƒ™ãƒ³ãƒˆæ™‚ã®NPC -------------- //0548 by huge -E–î‚ð‘•”õ‚µ‚½Žž‚Ì•\Ž¦ƒoƒO–â‘è‚ðC³B +・矢を装備ã—ãŸæ™‚ã®è¡¨ç¤ºãƒã‚°å•é¡Œã‚’ä¿®æ£ã€‚ clif.c - clif_arrowequip() C³B + clif_arrowequip() ä¿®æ£ã€‚ pc.c - pc_equipitem() C³B + pc_equipitem() ä¿®æ£ã€‚ -‚ ‚Æ‚ÍAƒ}ƒbƒv‚ðˆÚ“®‚·‚邽‚Ñ‚É‘•”õ‚ªŠO‚ê‚¿‚Ⴄ“_‚Å‚·‚ËEEEB +ã‚ã¨ã¯ã€ãƒžãƒƒãƒ—を移動ã™ã‚‹ãŸã³ã«è£…å‚™ãŒå¤–ã‚Œã¡ã‚ƒã†ç‚¹ã§ã™ã・・・。 -------------- -//0547 by Ž€_ +//0547 by æ»ç¥ž -EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Æׂ©‚¢C³B -EƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ì”»’è‚ð‚µ‚Ä‚¢‚éŠÔƒƒ‚ƒŠ[‚ð‰ðœ‚Å‚«‚È‚¢‚悤‚É•ÏXB +・安定性を上ã’る為ã®ä¿®æ£ã¨ç´°ã‹ã„ä¿®æ£ã€‚ +・スã‚ルユニットã®åˆ¤å®šã‚’ã—ã¦ã„る間メモリーを解除ã§ããªã„よã†ã«å¤‰æ›´ã€‚ map.c - map_foreachinarea()Amap_foreachinmovearea() C³B - map_foreachobject() C³B - block_free_max‚ð32000‚©‚ç50000‚É•ÏXB + map_foreachinarea()ã€map_foreachinmovearea() ä¿®æ£ã€‚ + map_foreachobject() ä¿®æ£ã€‚ + block_free_maxã‚’32000ã‹ã‚‰50000ã«å¤‰æ›´ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ skill.c - do_init_skill()Askill_unit_timer()Askill_status_change_clear() C³B - skill.cAbattle.cAbattle.h - struct battle_config‚Ìsanctury_type‚ðsanctuary_type‚É•ÏXB - (‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³B) + do_init_skill()ã€skill_unit_timer()ã€skill_status_change_clear() ä¿®æ£ã€‚ + skill.cã€battle.cã€battle.h + struct battle_configã®sanctury_typeã‚’sanctuary_typeã«å¤‰æ›´ã€‚ + (英語スペル間é•ã„ã§ä¿®æ£ã€‚) battle_athena.conf - sanctury_type‚ðsanctuary_type‚É•ÏXB + sanctury_typeã‚’sanctuary_typeã«å¤‰æ›´ã€‚ conf_ref.txt - sanctury_type‚ðsanctuary_type‚É•ÏXB + sanctury_typeã‚’sanctuary_typeã«å¤‰æ›´ã€‚ -------------- -//0546 by Ž‚Žqo^.^o +//0546 by ç…åo^.^o conf/npc_shop2.txt -DƒoˆêƒhAƒ_ƒ“ƒTˆê—p‚Ì•ŠíBƒRƒ‚ƒh‚Ì•Ší‰®‚Ŕ̔„‚µ‚Ä‚¢‚éB -Dƒ‚ƒ“ƒN—p‚Ì•ŠíBƒJƒsƒgˆêƒŠƒiC“¹‰@‚Ŕ̔„‚µ‚Ä‚¢‚éB +.ãƒä¸€ãƒ‰ã€ãƒ€ãƒ³ã‚µä¸€ç”¨ã®æ¦å™¨ã€‚コモドã®æ¦å™¨å±‹ã§è²©å£²ã—ã¦ã„る。 +.モンク用ã®æ¦å™¨ã€‚カピト一リナ修é“院ã§è²©å£²ã—ã¦ã„る。 -------------- -//0545 by Ž€_ +//0545 by æ»ç¥ž -EƒuƒŠƒbƒc‚̃_ƒ[ƒW‚ðŽ©“®‚Å•ªŽUAŽè“®‚Å•’Ê‚É‚È‚é‚悤‚É•ÏXB -EƒI[ƒgƒuƒŠƒbƒcƒoƒOC³B(‚±‚ê‚Å‘åä•v‚¾‚Æ‚¢‚¢‚¯‚Ç...) +・ブリッツã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’自動ã§åˆ†æ•£ã€æ‰‹å‹•ã§æ™®é€šã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・オートブリッツãƒã‚°ä¿®æ£ã€‚(ã“ã‚Œã§å¤§ä¸ˆå¤«ã ã¨ã„ã„ã‘ã©...) map.c - block_free_max‚ð16000‚©‚ç32000‚ÉC³B - block_list_max‚ð4096‚©‚ç5120‚ÉC³B + block_free_maxã‚’16000ã‹ã‚‰32000ã«ä¿®æ£ã€‚ + block_list_maxã‚’4096ã‹ã‚‰5120ã«ä¿®æ£ã€‚ battle.c - battle_weapon_attack() C³B + battle_weapon_attack() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_castend_damage_id() C³B + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ -------------- //0544 by Diex -E–Ò—´Œ‚©‚爢C—…”e™€Œ‚ւ̃Rƒ“ƒ{ŽÀ‘•B -Eˆ¢C—…”e™€Œ”“®ŒãA“G‚Ì”wŒã‚Ɉړ®‚·‚é‚悤AC³B -EŽO’i¶‚̃_ƒ[ƒWC³B +・猛é¾æ‹³ã‹ã‚‰é˜¿ä¿®ç¾…覇凰拳ã¸ã®ã‚³ãƒ³ãƒœå®Ÿè£…。 +・阿修羅覇凰拳発動後ã€æ•µã®èƒŒå¾Œã«ç§»å‹•ã™ã‚‹ã‚ˆã†ã€ä¿®æ£ã€‚ +・三段掌ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ä¿®æ£ã€‚ (/map) skill.c - skill_castend_damage_id() C³B - skill_check_condition() C³B - skill_use_id() C³B + skill_castend_damage_id() ä¿®æ£ã€‚ + skill_check_condition() ä¿®æ£ã€‚ + skill_use_id() ä¿®æ£ã€‚ pc.c - pc_attack_timer() C³B - pc_authok() C³B + pc_attack_timer() ä¿®æ£ã€‚ + pc_authok() ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack() C³B + battle_calc_weapon_attack() ä¿®æ£ã€‚ battle.h - struct Battle_Config C³B + struct Battle_Config ä¿®æ£ã€‚ map.h - struct map_session_data C³B + struct map_session_data ä¿®æ£ã€‚ (/conf) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ -‚Í‚Á‚«‚è‚¢‚Á‚ăRƒ“ƒ{Œq‚°‚Â炢‚Å‚·B‚»‚Ì‚½‚߈¢C—…‚ւ̃Rƒ“ƒ{‚Í‚©‚È‚èŠÃ‚¢”»’è‚É -‚µ‚Ä‚Ü‚·iˆêŽž“I‚É‚Å‚·‚ªjBŒq‚°‚Â炯‚ê‚Îbattle_athena.conf‚Ì‚Ù‚¤‚Ńfƒ…ƒŒƒCŽž -ŠÔ‚ð‘å‚«‚‚µ‚Ä‚Ý‚Ä‚‚¾‚³‚¢B - “®‰æŒ©‚Ä‚Ä‹C‚¢‚½‚Ì‚Å‚·‚ªAˆ¢C—…”e™€Œ‚Í–Ò—´Œ‚ª”“®‚µ‚½ŒãA‘¦Žž”“®‚̃XƒL -ƒ‹‚É•Ï‚í‚Á‚Ä‚é‚悤‚È‚Ì‚Å‚·B‘¼—Í–{Šè‚Å‚·‚ªAˆ¢C—…‚܂ł̃Rƒ“ƒ{‚̃pƒP‚ð‹L˜^‚µ‚½ -•¨‚ð‚Ç‚È‚½‚©ƒAƒbƒv‚µ‚Ä‚à‚炦‚È‚¢‚Å‚µ‚傤‚©HÚׂª‚í‚©‚莟‘æAC³‚µ‚Ü‚·B +ã¯ã£ãã‚Šã„ã£ã¦ã‚³ãƒ³ãƒœç¹‹ã’ã¥ã‚‰ã„ã§ã™ã€‚ãã®ãŸã‚阿修羅ã¸ã®ã‚³ãƒ³ãƒœã¯ã‹ãªã‚Šç”˜ã„判定㫠+ã—ã¦ã¾ã™ï¼ˆä¸€æ™‚çš„ã«ã§ã™ãŒï¼‰ã€‚繋ã’ã¥ã‚‰ã‘ã‚Œã°battle_athena.confã®ã»ã†ã§ãƒ‡ãƒ¥ãƒ¬ã‚¤æ™‚ +間を大ããã—ã¦ã¿ã¦ãã ã•ã„。 + 動画見ã¦ã¦æ°—ã¥ã„ãŸã®ã§ã™ãŒã€é˜¿ä¿®ç¾…覇凰拳ã¯çŒ›é¾æ‹³ãŒç™ºå‹•ã—ãŸå¾Œã€å³æ™‚発動ã®ã‚¹ã‚ +ルã«å¤‰ã‚ã£ã¦ã‚‹ã‚ˆã†ãªã®ã§ã™ã€‚他力本願ã§ã™ãŒã€é˜¿ä¿®ç¾…ã¾ã§ã®ã‚³ãƒ³ãƒœã®ãƒ‘ケを記録ã—㟠+物をã©ãªãŸã‹ã‚¢ãƒƒãƒ—ã—ã¦ã‚‚らãˆãªã„ã§ã—ょã†ã‹ï¼Ÿè©³ç´°ãŒã‚ã‹ã‚Šæ¬¡ç¬¬ã€ä¿®æ£ã—ã¾ã™ã€‚ -------------- -//0543 by Ž€_ +//0543 by æ»ç¥ž -EƒuƒŠƒbƒc‚̃_ƒ[ƒW‚𕪎U‚³‚ê‚é‚悤‚É•ÏXB -E•’ʂ̃AƒJƒEƒ“ƒgì‚è‚Å‚ÍGMƒAƒJƒEƒ“ƒg‚ðì‚ê‚È‚¢‚悤‚É•ÏXB -(‘O‚ÉŽ©•ª‚ª“ü‚ꂽ•¨‚ª‚È‚‚È‚Á‚½‚Ì‚Å–ß‚µ‚½‚¾‚¯‚Å‚·‚ª...) -EŽæ‚芪‚«‚ªŽå‚ƈê‚ÉŽ€‚ʂ悤‚É•ÏXB(‚½‚¾‚¿‚å‚Á‚Æd‚‚È‚é -‰Â”\«‚ª‚ ‚è‚Ü‚·B) –¢ƒeƒXƒgB -EMVPŒoŒ±’l‚ª•\Ž¦‚¾‚¯‚³‚ê‚ÄŽÀÛ‚É‚Í“ü‚Á‚Ä‚È‚¢–â‘èC³B +・ブリッツã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’分散ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・普通ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œã‚Šã§ã¯GMアカウントを作れãªã„よã†ã«å¤‰æ›´ã€‚ +(å‰ã«è‡ªåˆ†ãŒå…¥ã‚ŒãŸç‰©ãŒãªããªã£ãŸã®ã§æˆ»ã—ãŸã ã‘ã§ã™ãŒ...) +・å–ã‚Šå·»ããŒä¸»ã¨ä¸€ç·’ã«æ»ã¬ã‚ˆã†ã«å¤‰æ›´ã€‚(ãŸã ã¡ã‚‡ã£ã¨é‡ããªã‚‹ +å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚) 未テスト。 +・MVP経験値ãŒè¡¨ç¤ºã ã‘ã•ã‚Œã¦å®Ÿéš›ã«ã¯å…¥ã£ã¦ãªã„å•é¡Œä¿®æ£ã€‚ (/login) login.c - mmo_auth_new() C³B + mmo_auth_new() ä¿®æ£ã€‚ (/map) skill.c - skill_castend_damage_id() C³B + skill_castend_damage_id() ä¿®æ£ã€‚ battle.c - battle_calc_misc_attack() C³B + battle_calc_misc_attack() ä¿®æ£ã€‚ mob.c - mob_damage() C³B - mob_deleteslave()Amob_deleteslave_sub() ’ljÁB + mob_damage() ä¿®æ£ã€‚ + mob_deleteslave()ã€mob_deleteslave_sub() è¿½åŠ ã€‚ -------------- -//0542 by Ž€_ +//0542 by æ»ç¥ž -EƒI[ƒgƒuƒŠƒbƒcƒoƒOC³B(¡“x‚±‚»‘åä•v‚Ì‚Í‚¸...) -EŽ©•ª‚ÉŽg‚Á‚½ƒq[ƒ‹‚Å‚ÍŒoŒ±‚ª“ü‚ç‚È‚¢‚悤‚É•ÏXB -E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒ±’lŠl“¾ŒvŽZŽ®•ÏXB - Šl“¾ƒWƒ‡ƒuŒoŒ±’l = ln(‹à) * shop_exp / 100 -‚É‚È‚è‚Ü‚·B -log‚ðŽg‚¤‚±‚Æ‚Å‹à‚ª‘½‚‚Ä‚à“ü‚éŒoŒ±’l‚ª‘½‚“ü‚ç‚È‚¢‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +・オートブリッツãƒã‚°ä¿®æ£ã€‚(今度ã“ã大丈夫ã®ã¯ãš...) +・自分ã«ä½¿ã£ãŸãƒ’ールã§ã¯çµŒé¨“ãŒå…¥ã‚‰ãªã„よã†ã«å¤‰æ›´ã€‚ +・店NPCを利用ã«ã‚ˆã‚‹ã‚¸ãƒ§ãƒ–経験値ç²å¾—計算å¼å¤‰æ›´ã€‚ + ç²å¾—ジョブ経験値 = ln(金) * shop_exp / 100 +ã«ãªã‚Šã¾ã™ã€‚ +logを使ã†ã“ã¨ã§é‡‘ãŒå¤šãã¦ã‚‚入る経験値ãŒå¤šã入らãªã„よã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ (/map) battle.c - battle_damage() C³B + battle_damage() ä¿®æ£ã€‚ skill.c - skill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id C³B + skill_attack()ã€skill_castend_damage_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id ä¿®æ£ã€‚ npc.c - npc_buylist()Anpc_selllist() C³B + npc_buylist()ã€npc_selllist() ä¿®æ£ã€‚ map.c - map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() - C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) + map_foreachinarea()ã€map_foreachinmovearea()ã€map_foreachobject() + ä¿®æ£ã€‚(大ã—ãŸä¿®æ£ã§ã¯ãªã„ã§ã™ã€‚) (/conf) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (/doc) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ -------------- //0541 by huge -E–î‚ð‚Ü‚Æ‚ß‚ÄŽ‚Ä‚é‚悤‚ÉC³B -E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«‚ÉA‘•”õ‚µ‚Ä‚¢‚é–î‚ðÁ”ï‚·‚é‚悤‚ÉC³B +・矢をã¾ã¨ã‚ã¦æŒã¦ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・弓ã§æ”»æ’ƒã—ãŸã¨ãã«ã€è£…å‚™ã—ã¦ã„る矢を消費ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ itemdb.c - itemdb_search() C³ - itemdb_isequip() C³ + itemdb_search() ä¿®æ£ + itemdb_isequip() ä¿®æ£ battle.c - battle_weapon_attack() C³ - battle_calc_weapon_attack() C³ + battle_weapon_attack() ä¿®æ£ + battle_calc_weapon_attack() ä¿®æ£ clif.c clif.h - clif_arrow_fail() ’ljÁ - clif_parse_EquipItem() C³ + clif_arrow_fail() è¿½åŠ + clif_parse_EquipItem() ä¿®æ£ -------------- -//0540 by Ž€_ +//0540 by æ»ç¥ž -EƒoƒOC³‚Æ–â‘è‚ ‚è‚»‚¤‚ÈŠC³B(‚±‚ê‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É -‚æ‚éŽIƒ_ƒEƒ“‚Í‚È‚‚È‚é‚Í‚¸...) +・ãƒã‚°ä¿®æ£ã¨å•é¡Œã‚ã‚Šãã†ãªæ‰€ä¿®æ£ã€‚(ã“ã‚Œã§WZ_FIREPILLARã¨ãƒ–リッツ㫠+よる鯖ダウンã¯ãªããªã‚‹ã¯ãš...) map.c - map_foreachinarea()Amap_foreachinmovearea() C³B + map_foreachinarea()ã€map_foreachinmovearea() ä¿®æ£ã€‚ skill.c - skill_unitsetting()Askill_delunitgroup() C³B + skill_unitsetting()ã€skill_delunitgroup() ä¿®æ£ã€‚ pc.c - pc_damage() C³B + pc_damage() ä¿®æ£ã€‚ battle.c - battle_damage() C³B + battle_damage() ä¿®æ£ã€‚ npc.c - npc_parse_mob() C³B + npc_parse_mob() ä¿®æ£ã€‚ mob.c - mob_spawn_dataset() C³B + mob_spawn_dataset() ä¿®æ£ã€‚ -------------- -//0539 by Ž€_ +//0539 by æ»ç¥ž -Eclif_pvpset()‚ðƒ}ƒbƒv‚©‚çAREA‚©ƒ}ƒbƒv‚©‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB(pvp‚ÌŽž‚̈—‚Í0535ˆÈ‘O‚Ì•¨‚É–ß‚»‚Ü‚µ‚½BŽ©•ª‚¾‚¯‚É“]‘—‚µ‚Ä‚à‚¢‚¢‚悤‚È‹C‚à‚µ‚Ü‚·‚ª...) - clif.hAclif.c - clif_pvpset() C³B - clif_parse_LoadEndAck() C³B +・clif_pvpset()をマップã‹ã‚‰AREAã‹ãƒžãƒƒãƒ—ã‹ã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚(pvpã®æ™‚ã®å‡¦ç†ã¯0535以å‰ã®ç‰©ã«æˆ»ãã¾ã—ãŸã€‚自分ã ã‘ã«è»¢é€ã—ã¦ã‚‚ã„ã„よã†ãªæ°—ã‚‚ã—ã¾ã™ãŒ...) + clif.hã€clif.c + clif_pvpset() ä¿®æ£ã€‚ + clif_parse_LoadEndAck() ä¿®æ£ã€‚ script.c - buildin_pvpoff() C³B - buildin_pvpon() C³B - atcommand.c C³B -EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚¤‚ÆUŒ‚‚ªŽ~‚Ü‚é‚悤‚ÉC³B + buildin_pvpoff() ä¿®æ£ã€‚ + buildin_pvpon() ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ +・攻撃途ä¸ã§ã‚¢ã‚¤ãƒ†ãƒ を拾ã†ã¨æ”»æ’ƒãŒæ¢ã¾ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ pc.c - pc_takeitem() C³B -E0535à–¾‚ª”š—ô”g“®‚É‚È‚Á‚Ä‚¢‚邪‚»‚ê‚Í‹à„‚ÉŠÔˆá‚¢‚Å‚·B -E0537‚Åà–¾‚ð–Y‚ê‚Ü‚µ‚½‚ªƒ‚ƒ“ƒXƒ^[‚Ìdef‚Æmdef‚ð10000ˆÈã‚ÉÝ’è‚·‚ê‚ΑS‚Ä‚ÌUŒ‚‚É1ƒ_ƒ[ƒW‚ɂȂ郂ƒ“ƒXƒ^[‚É‚È‚è‚Ü‚·B‚»‚µ‚ă‚ƒ“ƒXƒ^[î•ñ‚Ådef‚Æ -mdef‚ª10000ˆÈã‚Ìê‡def 100Amdef 99‚É•\Ž¦‚·‚é‚悤‚É•ÏXB–{ŽIŽd—l‚É -‚·‚é‚É‚Ímob_db.txt‚ðC³‚µ‚Ä‚‚¾‚³‚¢B + pc_takeitem() ä¿®æ£ã€‚ +・0535説明ãŒçˆ†è£‚波動ã«ãªã£ã¦ã„ã‚‹ãŒãã‚Œã¯é‡‘剛ã«é–“é•ã„ã§ã™ã€‚ +・0537ã§èª¬æ˜Žã‚’忘れã¾ã—ãŸãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®defã¨mdefã‚’10000以上ã«è¨å®šã™ã‚Œã°å…¨ã¦ã®æ”»æ’ƒã«1ダメージã«ãªã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ãªã‚Šã¾ã™ã€‚ãã—ã¦ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã§def㨠+mdefãŒ10000以上ã®å ´åˆdef 100ã€mdef 99ã«è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚本鯖仕様㫠+ã™ã‚‹ã«ã¯mob_db.txtã‚’ä¿®æ£ã—ã¦ãã ã•ã„。 -------------- //0538 by huge -EƒOƒŠƒ€ƒgƒD[ƒX‚ð”͈ÍUŒ‚‚ÉC³ -EƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒNŽÀ‘• (—LŒø”͈͂Á‚ÄA‚±‚ê‚Å‚ ‚Á‚Ä‚é‚Ì‚©‚ÈH) -EƒoƒbƒNƒXƒ^ƒu‚̉¼ŽÀ‘• - –{ŽI‚Å‚â‚Á‚Ä‚él‚©‚ç˜b‚ð•·‚¢‚ÄAꊎw’肶‚á‚È‚‚Ä - ƒ^ƒQŽæ‚Á‚Ä‚à—Ç‚³‚»‚¤‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½Bi‚â‚è‚â‚·‚©‚Á‚½‚Ì‚Å (^^; - ‚Ü‚¾Amob‚ÌŒã‚ë‚É‹‚é‚©‚Ç‚¤‚©‚Ì”»’è‚Í“ü‚Á‚Ä‚Ü‚¹‚ñB +・グリムトゥースを範囲攻撃ã«ä¿®æ£ +・サプライズアタック実装 (有効範囲ã£ã¦ã€ã“ã‚Œã§ã‚ã£ã¦ã‚‹ã®ã‹ãªï¼Ÿ) +・ãƒãƒƒã‚¯ã‚¹ã‚¿ãƒ–ã®ä»®å®Ÿè£… + 本鯖ã§ã‚„ã£ã¦ã‚‹äººã‹ã‚‰è©±ã‚’èžã„ã¦ã€å ´æ‰€æŒ‡å®šã˜ã‚ƒãªã㦠+ タゲå–ã£ã¦ã‚‚良ã•ãã†ã ã£ãŸã®ã§å¤‰æ›´ã—ã¾ã—ãŸã€‚(やりやã™ã‹ã£ãŸã®ã§ (^^; + ã¾ã ã€mobã®å¾Œã‚ã«å±…ã‚‹ã‹ã©ã†ã‹ã®åˆ¤å®šã¯å…¥ã£ã¦ã¾ã›ã‚“。 -Ebattle.c - battle_calc_weapon_attack() C³ +・battle.c + battle_calc_weapon_attack() ä¿®æ£ -Eskill.c - skill_additional_effect() C³ - skill_castend_damage_id() C³ - skill_check_condition() C³ - skill_use_id() C³ - skill_castend_nodamage_id() C³ +・skill.c + skill_additional_effect() ä¿®æ£ + skill_castend_damage_id() ä¿®æ£ + skill_check_condition() ä¿®æ£ + skill_use_id() ä¿®æ£ + skill_castend_nodamage_id() ä¿®æ£ -Eskilldb.txt - ƒoƒbƒNƒXƒ^ƒu‚ÌŽí—Þ‚ð[êŠ]‚©‚ç[“G]‚Ö•ÏX +・skilldb.txt + ãƒãƒƒã‚¯ã‚¹ã‚¿ãƒ–ã®ç¨®é¡žã‚’[å ´æ‰€]ã‹ã‚‰[敵]ã¸å¤‰æ›´ -------------- -//0537 by Ž€_ +//0537 by æ»ç¥ž -EƒXƒeƒB[ƒ‹ƒoƒOC³‚Æbattle_athena.conf‚Ì€–ڒljÁAŽd—l•ÏX‚Æׂ©‚¢C³‚Å‚·B -(ƒXƒeƒB[ƒ‹‚ÍŒvŽZŽ®‚É–â‘肪‚ ‚Á‚½‚Ì‚ÅC³‚µ‚ÄŠm—¦‚ðX‚É—Ž‚Æ‚µ‚Ü‚µ‚½B) +・スティールãƒã‚°ä¿®æ£ã¨battle_athena.confã®é …ç›®è¿½åŠ ã€ä»•æ§˜å¤‰æ›´ã¨ç´°ã‹ã„ä¿®æ£ã§ã™ã€‚ +(スティールã¯è¨ˆç®—å¼ã«å•é¡ŒãŒã‚ã£ãŸã®ã§ä¿®æ£ã—ã¦ç¢ºçŽ‡ã‚’æ›´ã«è½ã¨ã—ã¾ã—ãŸã€‚) battle.h - finger_offencive_type‚ðfinger_offensive_type‚ÉC³B(‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³‚µ‚Ü‚µ‚½B) - struct battle_config‚Érestart_hp_rateArestart_sp_rate ’ljÁB + finger_offencive_typeã‚’finger_offensive_typeã«ä¿®æ£ã€‚(英語スペル間é•ã„ã§ä¿®æ£ã—ã¾ã—ãŸã€‚) + struct battle_configã«restart_hp_rateã€restart_sp_rate è¿½åŠ ã€‚ battle.c - battle_calc_weapon_attack()Abattle_calc_magic_attack() C³B + battle_calc_weapon_attack()ã€battle_calc_magic_attack() ä¿®æ£ã€‚ skill.c - skill_attack() C³B - clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚悤‚É•ÏXB(M‚³‚ñ‚ÌŽw“E‚É‚æ‚èC³B) + skill_attack() ä¿®æ£ã€‚ + clif_skill_nodamage()ã«ã‚¹ã‚ルレベルをé€ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(Mã•ã‚“ã®æŒ‡æ‘˜ã«ã‚ˆã‚Šä¿®æ£ã€‚) clif.c - clif_skill_estimation() C³B + clif_skill_estimation() ä¿®æ£ã€‚ conf_ref.txt - finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ‚µ’ljÁB + finger_offencive_typeã‚’finger_offensive_typeã«ä¿®æ£ã¨å°‘ã—è¿½åŠ ã€‚ mob.c - mob_ai_sub_hard()Amob_target()Amob_damage() C³B + mob_ai_sub_hard()ã€mob_target()ã€mob_damage() ä¿®æ£ã€‚ pc.c - pc_steal_item() C³B - atcommnad.cAatcommnd.h - @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’ljÁB + pc_steal_item() ä¿®æ£ã€‚ + atcommnad.cã€atcommnd.h + @コマンド@gvgon , @gvgoff è¿½åŠ ã€‚ battle_athena.conf - finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ‚µ’ljÁB + finger_offencive_typeã‚’finger_offensive_typeã«ä¿®æ£ã¨å°‘ã—è¿½åŠ ã€‚ -------------- //0536 by hogefuga3 (Athena staff) -EVGRFƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg‘Ήž -@- Athena staff —l‚Ì쬂³‚ꂽƒpƒbƒ`‚ð“K—p‚µ‚Ü‚µ‚½B - XV—š—ð‚Ì•”•ª‚̓pƒbƒ`ƒ~ƒX‚É‚È‚Á‚½‚Ì‚ÅŽè“®‚Å‘g‚Ýž‚ÝB +・新GRFファイルフォーマット対応 + - Athena staff 様ã®ä½œæˆã•ã‚ŒãŸãƒ‘ッãƒã‚’é©ç”¨ã—ã¾ã—ãŸã€‚ + æ›´æ–°å±¥æ´ã®éƒ¨åˆ†ã¯ãƒ‘ッãƒãƒŸã‚¹ã«ãªã£ãŸã®ã§æ‰‹å‹•ã§çµ„ã¿è¾¼ã¿ã€‚ -i•ÏXj +(変更) common/ grfio.c -------------- -//0535 by Ž€_ +//0535 by æ»ç¥ž -E0533‚Ì–â‘肪‚ ‚è‚»‚¤‚È•”•ª‘S‚ÄC³BC³‚µ‚½Š‚ð‘S•”ƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯... -EƒXƒNƒŠƒvƒgsetmapflagnosave ’ljÁB - setmapflagnosave ƒ}ƒbƒv–¼AƒZ[ƒu‚·‚éƒ}ƒbƒv–¼AÀ•W(XAY) - nosaveƒtƒ‰ƒO‚ðon‚É‚µ‚Ü‚·B -Ebattle_athena.conf‚ɒljÁ‚ƈꕔŽd—l•ÏXB(Ú‚µ‚‚Íconf_ref.txt‚ðŽQl‚µ‚Ä‚‚¾‚³‚¢B) -Eƒ‚ƒ“ƒXƒ^[‚Ìdef‚Æmdef‚ª10000ˆÈã‚ÌꇑS‚Ä‚ÌUŒ‚(ƒNƒŠƒeƒBƒJƒ‹ŠÜ‚ß‚Ä)‚ª1ƒ_ƒ[ƒW‚É‚È‚é‚悤‚É•ÏXB(ƒgƒ‰ƒbƒv‚âƒuƒŠƒbƒc‚Ìꇗ¼•û‚ª10000ˆÈã‚Ìꇂ̂Ý1‚É‚È‚è‚Ü‚·B) ‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’è‚Í휂µ‚Ü‚µ‚½B(Œ³X–{ŽI‚Å‚à1ŒÅ’è‚Å‚Í‚È‚¢‚Å‚·B¸—û“™‚É‚æ‚éˆø‚«ã‚°ƒ_ƒ[ƒW‚Í‚»‚Ì‚Ü‚Üo‚Ü‚·‚Ì‚Å... ŒÅ’肵‚½‚¢‚Ì‚È‚çdef‚Æmdef‚ð10000‚É‚µ‚Ä‚‚¾‚³‚¢BŽÀ‚Í‚±‚ê‚̓NƒŠƒXƒ^ƒ‹‚ɈׂÉì‚낤‚Æ‚µ‚½•¨‚Å‚·‚ª...) -E”š—ô”g“®‚ÌŽžƒAƒCƒeƒ€‚É‚æ‚éƒXƒLƒ‹‚ÍŽg—p‚Å‚«‚é‚悤‚ÉC³B -E‚»‚Ì‘¼‚µC³B(C³‚Ì•¨‚Ì’†‚ɃeƒXƒg‚µ‚Ä‚È‚¢•¨‚à‚ ‚è‚Ü‚·B) +・0533ã®å•é¡ŒãŒã‚ã‚Šãã†ãªéƒ¨åˆ†å…¨ã¦ä¿®æ£ã€‚ä¿®æ£ã—ãŸæ‰€ã‚’全部ãƒã‚§ãƒƒã‚¯ã—ã¦ãªã‹ã£ãŸã®ã§ä¿®æ£ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã ã‘... +・スクリプトsetmapflagnosave è¿½åŠ ã€‚ + setmapflagnosave マップåã€ã‚»ãƒ¼ãƒ–ã™ã‚‹ãƒžãƒƒãƒ—åã€åº§æ¨™(Xã€Y) + nosaveフラグをonã«ã—ã¾ã™ã€‚ +・battle_athena.confã«è¿½åŠ ã¨ä¸€éƒ¨ä»•æ§˜å¤‰æ›´ã€‚(詳ã—ãã¯conf_ref.txtã‚’å‚考ã—ã¦ãã ã•ã„。) +・モンスターã®defã¨mdefãŒ10000以上ã®å ´åˆå…¨ã¦ã®æ”»æ’ƒ(クリティカルå«ã‚ã¦)ãŒ1ダメージã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(トラップやブリッツã®å ´åˆä¸¡æ–¹ãŒ10000以上ã®å ´åˆã®ã¿1ã«ãªã‚Šã¾ã™ã€‚) è‰ã¨ã‚ノコã«ï¼‘ダメージ固定ã¯å‰Šé™¤ã—ã¾ã—ãŸã€‚(元々本鯖ã§ã‚‚1固定ã§ã¯ãªã„ã§ã™ã€‚精練ç‰ã«ã‚ˆã‚‹å¼•ã上ã’ダメージã¯ãã®ã¾ã¾å‡ºã¾ã™ã®ã§... 固定ã—ãŸã„ã®ãªã‚‰defã¨mdefã‚’10000ã«ã—ã¦ãã ã•ã„。実ã¯ã“ã‚Œã¯ã‚¯ãƒªã‚¹ã‚¿ãƒ«ã«ç‚ºã«ä½œã‚ã†ã¨ã—ãŸç‰©ã§ã™ãŒ...) +・爆裂波動ã®æ™‚アイテムã«ã‚ˆã‚‹ã‚¹ã‚ルã¯ä½¿ç”¨ã§ãるよã†ã«ä¿®æ£ã€‚ +・ãã®ä»–å°‘ã—ä¿®æ£ã€‚(ä¿®æ£ã®ç‰©ã®ä¸ã«ãƒ†ã‚¹ãƒˆã—ã¦ãªã„物もã‚ã‚Šã¾ã™ã€‚) (/doc) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (/conf) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (/map) - battle.h C³B - battle.c C³B - mob.h C³B - mob.c C³B - skill.c C³B - npc.c C³B - pc.c C³B - script.c C³B - clif.c C³B - chrif.c C³B + battle.h ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + skill.c ä¿®æ£ã€‚ + npc.c ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ + chrif.c ä¿®æ£ã€‚ -------------- //0534 by Diex -EƒRƒ“ƒ{ƒVƒXƒeƒ€‰¼ŽÀ‘• +・コンボシステム仮実装 map/ battle.c - battle_weapon_attack() C³B + battle_weapon_attack() ä¿®æ£ã€‚ clif.c clif.h - clif_combo_delay()@ŠÖ”’ljÁB + clif_combo_delay()ã€€é–¢æ•°è¿½åŠ ã€‚ map.h - map_session_data@•Ï”’ljÁB + map_session_dataã€€å¤‰æ•°è¿½åŠ ã€‚ pc.c - pc_authok()@•Ï”’ljÁB - pc_attack_timer()@C³B + pc_authok()ã€€å¤‰æ•°è¿½åŠ ã€‚ + pc_attack_timer() 修æ£ã€‚ skill.c - skill_castend_damage_id()@C³B - skill_check_condition@C³B - skill_use_id@C³B + skill_castend_damage_id() 修æ£ã€‚ + skill_check_condition 修æ£ã€‚ + skill_use_id 修æ£ã€‚ db/ - skill_db.txt@C³B + skill_db.txt 修æ£ã€‚ -’j–Ò—´Œ‚©‚爢C—…”e–PŒ‚É‚Í‚Ü‚¾‚‚Ȃ°‚Ü‚¹‚ñB - ˆ¢C—…”e–PŒ‚ð•ú‚Á‚½ŒãAPC‚ÍMOB‚Ì”wŒã(?)‚Ɉړ®‚µ‚Ä‚é‚Á‚Û‚¢‚Ì‚Å‚·‚ªA -@@‚»‚±‚ç‚Ö‚ñ‚Ìî•ñ‚ª‘«‚è‚Ü‚¹‚ñBî•ñ’ñ‹Ÿ‚¨Šè‚¢‚µ‚Ü‚·B +注)猛é¾æ‹³ã‹ã‚‰é˜¿ä¿®ç¾…覇鳳拳ã«ã¯ã¾ã ã¤ãªã’ã¾ã›ã‚“。 + 阿修羅覇鳳拳を放ã£ãŸå¾Œã€PCã¯MOBã®èƒŒå¾Œ(?)ã«ç§»å‹•ã—ã¦ã‚‹ã£ã½ã„ã®ã§ã™ãŒã€ +  ãã“らã¸ã‚“ã®æƒ…å ±ãŒè¶³ã‚Šã¾ã›ã‚“ã€‚æƒ…å ±æä¾›ãŠé¡˜ã„ã—ã¾ã™ã€‚ -------------- -//0533 by ‚é‚é‚é +//0533 by ã‚‹ã‚‹ã‚‹ -E‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’è -battle.c ‚Ì battle_weapon_attack() ‚Æ battle_calc_attack() ‚ðC³ -battle.c ‚Ì battle_get_mobid() ‚ð’ljÁ -mob.c ‚Ì mob_makedummymobdb() ‚Æ mob_readdb() ‚ðC³ +・è‰ã¨ã‚ノコã«ï¼‘ダメージ固定 +battle.c ã® battle_weapon_attack() 㨠battle_calc_attack() ã‚’ä¿®æ£ +battle.c ã® battle_get_mobid() ã‚’è¿½åŠ +mob.c ã® mob_makedummymobdb() 㨠mob_readdb() ã‚’ä¿®æ£ -EƒXƒLƒ‹ƒƒO‚Ƀ‚ƒu‚̌ŗL”Ô†•‚o‚b‚Ì‚h‚c”Ô†‚ð•\Ž¦ -ibattle.c ‚Ì battle_get_mobid() ‚ð’ljÁ‚µ‚½‚Ì‚Å‚»‚̂‚¢‚Å‚Éj -mob.c skill.c ‚Ì•ÏX‰ÓŠ‘½”iŠ¾ -i"MOB %d" ‚à‚µ‚‚Í "PC %d" ‚ÅŒŸõ‚·‚ê‚ΕÏX‰ÓŠ‚ª‚í‚©‚é‚©‚Æj +・スã‚ルãƒã‚°ã«ãƒ¢ãƒ–ã®å›ºæœ‰ç•ªå·ï¼†ï¼°ï¼£ã®ï¼©ï¼¤ç•ªå·ã‚’表示 +(battle.c ã® battle_get_mobid() ã‚’è¿½åŠ ã—ãŸã®ã§ãã®ã¤ã„ã§ã«ï¼‰ +mob.c skill.c ã®å¤‰æ›´ç®‡æ‰€å¤šæ•°ï¼ˆæ±— +("MOB %d" ã‚‚ã—ã㯠"PC %d" ã§æ¤œç´¢ã™ã‚Œã°å¤‰æ›´ç®‡æ‰€ãŒã‚ã‹ã‚‹ã‹ã¨ï¼‰ -Eƒnƒ“ƒ^[‚Ìã©‚ðŽg‚Á‚½ƒXƒLƒ‹‚Åã©‚ðÁ”ï‚·‚é‚悤‚É‚µ‚½ -batttle.c ‚Ì skill_check_condition() ‚ðC³ -iƒWƒFƒ€Á”‚Ì—¬—p‚Á‚Û‚¢‚±‚Æ‚ð‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚Lj—’†g‚Í—‰ð‚µ‚Ä‚È‚¢‚—j +・ãƒãƒ³ã‚¿ãƒ¼ã®ç½ を使ã£ãŸã‚¹ã‚ルã§ç½ を消費ã™ã‚‹ã‚ˆã†ã«ã—㟠+batttle.c ã® skill_check_condition() ã‚’ä¿®æ£ +(ジェム消費処ç†ã®æµç”¨ã£ã½ã„ã“ã¨ã‚’ã‚„ã£ã¦ã‚‹ã‚“ã ã‘ã©å‡¦ç†ä¸èº«ã¯ç†è§£ã—ã¦ãªã„w) -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚̃_ƒ[ƒW”»’è‚ð•sŽ€‘®«•ˆ«–‚Ží‘°‚ÉÄ“xC³ -0532‚ÅÄ‚ÑŒ³‚É–ß‚Á‚Ä‚µ‚Ü‚Á‚½‚Ì‚ð‚È‚¨‚µ‚Ü‚µ‚½B -‚½‚¾‚µA‰ñ”•l””»’è‚É‚ÍŽè‚ð‰Á‚¦‚Ä‚¢‚Ü‚¹‚ñi‚Á‚Ä‚©Ž©•ª‚É‚Í‚Ü‚¾ƒ€ƒŠj +・サンクãƒãƒ¥ã‚¢ãƒªï¼†ãƒžã‚°ãƒŒã‚¹ã®ãƒ€ãƒ¡ãƒ¼ã‚¸åˆ¤å®šã‚’ä¸æ»å±žæ€§ï¼†æ‚ªé”種æ—ã«å†åº¦ä¿®æ£ +0532ã§å†ã³å…ƒã«æˆ»ã£ã¦ã—ã¾ã£ãŸã®ã‚’ãªãŠã—ã¾ã—ãŸã€‚ +ãŸã ã—ã€å›žæ•°ï¼†äººæ•°åˆ¤å®šã«ã¯æ‰‹ã‚’åŠ ãˆã¦ã„ã¾ã›ã‚“(ã£ã¦ã‹è‡ªåˆ†ã«ã¯ã¾ã ムリ) -ˆÈãB -Ø‚Á‚½“\‚Á‚½‚ÌŒ©—lŒ©^Ž—‚Å‚â‚Á‚½‚Ì‚ÅŒ¾Œê“I‚ɉʂ½‚µ‚Ä‚±‚ê‚Å‚æ‚¢‚Ì‚©BBB -‚à‚µˆ—•û–@‚É–â‘è—L‚肾‚Á‚½‚çC³‚È‚è‚ð‚µ‚Ä‚¢‚½‚¾‚¯‚é‚ÆŠð‚µ‚¢‚Å‚·B +以上。 +切ã£ãŸè²¼ã£ãŸã®è¦‹æ§˜è¦‹çœŸä¼¼ã§ã‚„ã£ãŸã®ã§è¨€èªžçš„ã«æžœãŸã—ã¦ã“ã‚Œã§ã‚ˆã„ã®ã‹ã€‚。。 +ã‚‚ã—処ç†æ–¹æ³•ã«å•é¡Œæœ‰ã‚Šã ã£ãŸã‚‰ä¿®æ£ãªã‚Šã‚’ã—ã¦ã„ãŸã ã‘ã‚‹ã¨å¬‰ã—ã„ã§ã™ã€‚ -------------- -//0532 by Ž€_ +//0532 by æ»ç¥ž -EC³‚µ‚½Š‚ð‘S‘Rƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯...Š¾ -Emapflag‚Énopenalty’ljÁBŽg—p•û–@‚Í +・修æ£ã—ãŸæ‰€ã‚’全然ãƒã‚§ãƒƒã‚¯ã—ã¦ãªã‹ã£ãŸã®ã§ä¿®æ£ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã ã‘...æ±— +・mapflagã«nopenaltyè¿½åŠ ã€‚ä½¿ç”¨æ–¹æ³•ã¯ mapflag nopenalty dummy -‚Å‚·B‹@”\‚Í‚»‚̃}ƒbƒv‚ÅŽ€‚ñ‚¾ŽžŒoŒ±‚ªŒ¸‚ç‚È‚¢‚悤‚É‚µ‚Ü‚·B -Emapflag‚Épvp_nopartyApvp_noguildAgvgAgvg_noparty’ljÁB -pvp_noparty‚ÍPVPƒ‚[ƒh‚Å“¯‚¶ƒp[ƒeƒB‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢Apvp_noguild‚ÍPVPƒ‚[ƒh‚Å“¯‚¶ƒMƒ‹ƒh‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢Agvg‚̓V[ƒYƒ‚[ƒh‚ÉAgvg_noparty‚̓V[ƒYƒ‚[ƒh‚Å“¯‚¶ƒp[ƒeƒB‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢•¨‚Å‚·B -E‰Â“®‚µ‚Ä‚È‚¢ƒ^ƒCƒ}[‚Í‘S‚Ä-1‚É‚È‚é‚悤‚É•ÏXB -E‚«”ò‚΂µˆ—C³B -Eƒ}ƒbƒvƒ[ƒh’¼Œã‹CŒ÷‚ªŒ©‚¦‚È‚¢–â‘èC³B -EŽc‰e‚̈—C³B -Eƒ}ƒbƒv‚ðƒ[ƒh‚·‚é‚ÆŽ€‚ñ‚¾‚ӂ肪‰ðœ‚³‚ê‚é‚悤‚É•ÏXB -EPVP‚ð‚µ•ÏXB -EŒÃ–Ø‚ÌŽ}‚Åo‚郂ƒ“ƒXƒ^[‚ðŽ©•ª‚̃Œƒxƒ‹‚æ‚è‚‚¢•¨‚Ío‚È‚¢‚悤‚É•ÏXB -E‰Á‘¬ƒ|[ƒVƒ‡ƒ“‚Ìsc_start SC_SpeedPot0,1,0;‚ðsc_start SC_SpeedPot0,1800,0;‚̂悤‚É•ÏXBSC_SpeedPotH‚ÌŒã‚Ì”’l‚ÍŽ‘±ŽžŠÔ‚Å‚·B(’PˆÊ‚Í•b) -E@ƒRƒ}ƒ“ƒh@pvp‚ð@pvpon‚É•ÏX‚Æ@pvpon‚Æ@pvpoffA@gat‚Ì‹@”\•ÏXB -Ebattle_athena.conf‚ÌpvpíœB -Ebattle_athena.conf‚Édeath_penalty_type’ljÁB -Eƒyƒiƒ‹ƒeƒB‚Ì“K—p‚ðŽ€‚ñ‚¾Žž‚©‚玀‚ñ‚¾ŒãƒŠƒXƒ^[ƒg‚µ‚½Žž‚É•ÏXB(ƒŠƒU‚Å•œŠˆ‚·‚é‚ÆŒoŒ±‚ªŒ¸‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚ª‚©‚È‚è‹C‚É‚¢‚ç‚È‚©‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½B) -EƒXƒNƒŠƒvƒgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoff’ljÁB - setmapflag ƒ}ƒbƒv–¼Aƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv - Žw’肵‚½ƒ}ƒbƒvƒtƒ‰ƒO‚ðon‚µ‚Ü‚·B(‚½‚¾pvpAgvg‚ÍpvponAgvgon‚Å‚Å‚«‚é‚Ì‚ÅŽw’肵‚Ä‚à“®ì‚µ‚Ü‚¹‚ñB‚ ‚Ænosave‚Ìꇈ—‚ª‚¿‚å‚Á‚Æ•¡ŽG‚É‚È‚é‚̂őΉž‚µ‚Ä‚Ü‚¹‚ñB) - removemapflag ƒ}ƒbƒv–¼Aƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv - Žw’肵‚½ƒ}ƒbƒvƒtƒ‰ƒO‚ðoff‚µ‚Ü‚·B(‚½‚¾pvpAgvg‚ÍpvpoffAgvgoff‚Å‚Å‚«‚é‚Ì‚ÅŽw’肵‚Ä‚à“®ì‚µ‚Ü‚¹‚ñB‚±‚¿‚ç‚Ínosave‚à‰Â”\‚Å‚·B) - pvpon ƒ}ƒbƒv–¼ - Žw’肵‚½ƒ}ƒbƒv‚ðPVPƒ‚[ƒh‚É‚µ‚Ü‚·B - pvpoff ƒ}ƒbƒv–¼ - Žw’肵‚½ƒ}ƒbƒv‚ÌPVPƒ‚[ƒh‚ð‰ðœ‚µ‚Ü‚·B - gvgon ƒ}ƒbƒv–¼ - Žw’肵‚½ƒ}ƒbƒv‚ðƒV[ƒYƒ‚[ƒh‚É‚µ‚Ü‚·B - gvgoff ƒ}ƒbƒv–¼ - Žw’肵‚½ƒ}ƒbƒv‚̃V[ƒYƒ‚[ƒh‚ð‰ðœ‚µ‚Ü‚·B -‚½‚¾‘S‚ẴXƒNƒŠƒvƒg‚Ì“®ì‚ÍŠm”F‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚̈—‚ð0529‚É–ß‚µ‚Ü‚µ‚½B -Ž©•ª‚Ì’²¸‚ł̓Tƒ“ƒNƒ`ƒ…ƒAƒŠ‚Íl”‚̧ŒÀ‚ª‚ ‚è‚Ü‚·B(ƒŒƒxƒ‹1‚Å4–¼‚Å -1ƒŒƒxƒ‹‚Ɉêl‚¸‚‘‚¦‚Ü‚·B) -E‚»‚̌サC³B(‚µ‚½‚Í‚¸...) +ã§ã™ã€‚機能ã¯ãã®ãƒžãƒƒãƒ—ã§æ»ã‚“ã 時経験ãŒæ¸›ã‚‰ãªã„よã†ã«ã—ã¾ã™ã€‚ +・mapflagã«pvp_nopartyã€pvp_noguildã€gvgã€gvg_nopartyè¿½åŠ ã€‚ +pvp_nopartyã¯PVPモードã§åŒã˜ãƒ‘ーティã«æ”»æ’ƒãŒå½“ãŸã‚‰ãªã„ã€pvp_noguildã¯PVPモードã§åŒã˜ã‚®ãƒ«ãƒ‰ã«æ”»æ’ƒãŒå½“ãŸã‚‰ãªã„ã€gvgã¯ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã«ã€gvg_nopartyã¯ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã§åŒã˜ãƒ‘ーティã«æ”»æ’ƒãŒå½“ãŸã‚‰ãªã„物ã§ã™ã€‚ +・å¯å‹•ã—ã¦ãªã„タイマーã¯å…¨ã¦-1ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・å¹ã飛ã°ã—処ç†ä¿®æ£ã€‚ +・マップãƒãƒ¼ãƒ‰ç›´å¾Œæ°—功ãŒè¦‹ãˆãªã„å•é¡Œä¿®æ£ã€‚ +・残影ã®å‡¦ç†ä¿®æ£ã€‚ +・マップをãƒãƒ¼ãƒ‰ã™ã‚‹ã¨æ»ã‚“ã ãµã‚ŠãŒè§£é™¤ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・PVPã‚’å°‘ã—変更。 +・å¤æœ¨ã®æžã§å‡ºã‚‹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’自分ã®ãƒ¬ãƒ™ãƒ«ã‚ˆã‚Šé«˜ã„物ã¯å‡ºãªã„よã†ã«å¤‰æ›´ã€‚ +ãƒ»åŠ é€Ÿãƒãƒ¼ã‚·ãƒ§ãƒ³ã®sc_start SC_SpeedPot0,1,0;ã‚’sc_start SC_SpeedPot0,1800,0;ã®ã‚ˆã†ã«å¤‰æ›´ã€‚SC_SpeedPot?ã®å¾Œã®æ•°å€¤ã¯æŒç¶šæ™‚é–“ã§ã™ã€‚(å˜ä½ã¯ç§’) +・@コマンド@pvpã‚’@pvponã«å¤‰æ›´ã¨@pvponã¨@pvpoffã€@gatã®æ©Ÿèƒ½å¤‰æ›´ã€‚ +・battle_athena.confã®pvp削除。 +・battle_athena.confã«death_penalty_typeè¿½åŠ ã€‚ +・ペナルティã®é©ç”¨ã‚’æ»ã‚“ã 時ã‹ã‚‰æ»ã‚“ã 後リスタートã—ãŸæ™‚ã«å¤‰æ›´ã€‚(リザã§å¾©æ´»ã™ã‚‹ã¨çµŒé¨“ãŒæ¸›ã‚Šã¾ã›ã‚“。本鯖ã®ä»•æ§˜ãŒã‹ãªã‚Šæ°—ã«ã„らãªã‹ã£ãŸã®ã§å¤‰æ›´ã—ã¾ã—ãŸã€‚) +・スクリプトsetmapflagã€removemapflagã€pvponã€pvpoffã€gvgonã€gvgoffè¿½åŠ ã€‚ + setmapflag マップåã€ãƒžãƒƒãƒ—フラグタイプ + 指定ã—ãŸãƒžãƒƒãƒ—フラグをonã—ã¾ã™ã€‚(ãŸã pvpã€gvgã¯pvponã€gvgonã§ã§ãã‚‹ã®ã§æŒ‡å®šã—ã¦ã‚‚動作ã—ã¾ã›ã‚“。ã‚ã¨nosaveã®å ´åˆå‡¦ç†ãŒã¡ã‚‡ã£ã¨è¤‡é›‘ã«ãªã‚‹ã®ã§å¯¾å¿œã—ã¦ã¾ã›ã‚“。) + removemapflag マップåã€ãƒžãƒƒãƒ—フラグタイプ + 指定ã—ãŸãƒžãƒƒãƒ—フラグをoffã—ã¾ã™ã€‚(ãŸã pvpã€gvgã¯pvpoffã€gvgoffã§ã§ãã‚‹ã®ã§æŒ‡å®šã—ã¦ã‚‚動作ã—ã¾ã›ã‚“。ã“ã¡ã‚‰ã¯nosaveã‚‚å¯èƒ½ã§ã™ã€‚) + pvpon マップå + 指定ã—ãŸãƒžãƒƒãƒ—ã‚’PVPモードã«ã—ã¾ã™ã€‚ + pvpoff マップå + 指定ã—ãŸãƒžãƒƒãƒ—ã®PVPモードを解除ã—ã¾ã™ã€‚ + gvgon マップå + 指定ã—ãŸãƒžãƒƒãƒ—をシーズモードã«ã—ã¾ã™ã€‚ + gvgoff マップå + 指定ã—ãŸãƒžãƒƒãƒ—ã®ã‚·ãƒ¼ã‚ºãƒ¢ãƒ¼ãƒ‰ã‚’解除ã—ã¾ã™ã€‚ +ãŸã å…¨ã¦ã®ã‚¹ã‚¯ãƒªãƒ—トã®å‹•ä½œã¯ç¢ºèªã—ã¦ã¾ã›ã‚“ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 +・サンクãƒãƒ¥ã‚¢ãƒªã€ãƒžã‚°ãƒŒã‚¹ã‚¨ã‚¯ã‚½ã‚·ã‚ºãƒ ã®å‡¦ç†ã‚’0529ã«æˆ»ã—ã¾ã—ãŸã€‚ +自分ã®èª¿æŸ»ã§ã¯ã‚µãƒ³ã‚¯ãƒãƒ¥ã‚¢ãƒªã¯äººæ•°ã®åˆ¶é™ãŒã‚ã‚Šã¾ã™ã€‚(レベル1ã§4å㧠+1レベルã«ä¸€äººãšã¤å¢—ãˆã¾ã™ã€‚) +・ãã®å¾Œå°‘ã—ä¿®æ£ã€‚(ã—ãŸã¯ãš...) (db/) - const.txt C³B - item_db.txt C³B + const.txt ä¿®æ£ã€‚ + item_db.txt ä¿®æ£ã€‚ (conf/) - battle_athena.conf C³B + battle_athena.conf ä¿®æ£ã€‚ (doc/) - conf_ref.txt C³B + conf_ref.txt ä¿®æ£ã€‚ (map/) - clif.hAclif.c C³B - mob.c C³B - pc.hApc.c C³B - skill.c C³B - pet.c C³B - npc.c C³B - map.hAmap.c C³B - battle.hAbattle.c C³B - atcommand.hAatcommand.c C³B - script.c C³B - makefile C³B + clif.hã€clif.c ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + pc.hã€pc.c ä¿®æ£ã€‚ + skill.c ä¿®æ£ã€‚ + pet.c ä¿®æ£ã€‚ + npc.c ä¿®æ£ã€‚ + map.hã€map.c ä¿®æ£ã€‚ + battle.hã€battle.c ä¿®æ£ã€‚ + atcommand.hã€atcommand.c ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ + makefile ä¿®æ£ã€‚ -------------- -//0531 by Ž‚Žqo^.^o +//0531 by ç…åo^.^o conf/npc_turtle.txt -Dƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚És‚ŽžAƒTˆêƒoˆê‚ð—Ž‚Á‚Ä–â‘èC³ -Dnpc_turtle.txt‚Ì508s–Ú -set Zeny - 10000,0; --> set Zeny,Zeny-10000; C³ +.タートルアイランドã«è¡Œã時ã€ã‚µä¸€ãƒä¸€ã‚’è½ã£ã¦å•é¡Œä¿®æ£ +.npc_turtle.txtã®508行目 +set Zeny - 10000,0; --> set Zeny,Zeny-10000; ä¿®æ£ -------------- //0530 by RR -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ÅUŒ‚‘ÎÛ‚ðƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚©‚ç•sŽ€‘®«/ˆ«–‚Ží‘°‚É•ÏX -EƒXƒLƒ‹uƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€v‚ÅUŒ‚‘ÎÛ‚ðƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚©‚ç•sŽ€‘®«/ˆ«–‚Ží‘°‚É•ÏX -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚̉ñ•œ‰ñ”‚ðl”‚©‚çƒJƒEƒ“ƒg‚É•ÏX +・スã‚ル「サンクãƒãƒ¥ã‚¢ãƒªã€ã§æ”»æ’ƒå¯¾è±¡ã‚’アンデット/悪é”種æ—ã‹ã‚‰ä¸æ»å±žæ€§/悪é”種æ—ã«å¤‰æ›´ +・スã‚ル「マグヌスエクソシズムã€ã§æ”»æ’ƒå¯¾è±¡ã‚’アンデット/悪é”種æ—ã‹ã‚‰ä¸æ»å±žæ€§/悪é”種æ—ã«å¤‰æ›´ +・スã‚ル「サンクãƒãƒ¥ã‚¢ãƒªã€ã®å›žå¾©å›žæ•°ã‚’人数ã‹ã‚‰ã‚«ã‚¦ãƒ³ãƒˆã«å¤‰æ›´ skill.c - skill_unit_onplace()C³ - skill_unit_onout()C³ + skill_unit_onplace()ä¿®æ£ + skill_unit_onout()ä¿®æ£ -‘½•ª‚±‚ÌŽd—l‚Ň‚Á‚Ä‚é‚Í‚¸‚Å‚·cB +多分ã“ã®ä»•æ§˜ã§åˆã£ã¦ã‚‹ã¯ãšã§ã™â€¦ã€‚ -------------- -//0529 by ŒÓ’±—– +//0529 by 胡è¶è˜ -EMOB‚ªƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚·‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éꇂª‚ ‚Á‚½–â‘è‚ðC³ -EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ÅUŒ‚‘ÎÛ‚ð•sŽ€‘®«‚©‚çƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚É•ÏX +・MOBãŒã‚¹ã‚ル「ヒールã€ã‚’使用ã™ã‚‹ã¨ã‚µãƒ¼ãƒãƒ¼ãŒè½ã¡ã‚‹å ´åˆãŒã‚ã£ãŸå•é¡Œã‚’ä¿®æ£ +・スã‚ル「サンクãƒãƒ¥ã‚¢ãƒªã€ã§æ”»æ’ƒå¯¾è±¡ã‚’ä¸æ»å±žæ€§ã‹ã‚‰ã‚¢ãƒ³ãƒ‡ãƒƒãƒˆ/悪é”種æ—ã«å¤‰æ›´ skill.c - skill_unit_onplace()C³ - skill_castend_nodamage_id()C³ + skill_unit_onplace()ä¿®æ£ + skill_castend_nodamage_id()ä¿®æ£ -EƒƒOƒCƒ“ƒT[ƒo[‚̃AƒJƒEƒ“ƒgƒf[ƒ^ƒx[ƒX•ÛŽçƒc[ƒ‹‚ð“Y•t - Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B - Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚‚¾‚³‚¢B - Žg‚¢•û‚ª—Ç‚‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B +・ãƒã‚°ã‚¤ãƒ³ã‚µãƒ¼ãƒãƒ¼ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ä¿å®ˆãƒ„ールを添付 + Perl製ãªã®ã§å®Ÿè¡Œã«ã¯PerlãŒå¿…è¦ã§ã™ã€‚ + 使用方法ãªã©ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã§é–‹ã„ã¦è¦‹ã¦ãã ã•ã„。 + 使ã„æ–¹ãŒè‰¯ãã‚ã‹ã‚‰ãªã„人ã¯æ‰‹ã‚’出ã•ãªã„ã»ã†ãŒã„ã„ã§ã™ã€‚ - “Á‚É——R‚ª–³‚¢ŒÀ‚èƒAƒJƒEƒ“ƒgì¬‚à‚±‚¿‚ç‚̃c[ƒ‹‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B - addaccount‚̓pƒPƒbƒg‚Ì“s‡ãƒpƒXƒ[ƒh•¶Žš”‚̧ŒÀ‚ª‚«‚‚¢‚Ì‚ÅB + 特ã«ç†ç”±ãŒç„¡ã„é™ã‚Šã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œæˆã‚‚ã“ã¡ã‚‰ã®ãƒ„ールを使ã£ã¦ãã ã•ã„。 + addaccountã¯ãƒ‘ケットã®éƒ½åˆä¸Šãƒ‘スワード文å—æ•°ã®åˆ¶é™ãŒãã¤ã„ã®ã§ã€‚ - ƒAƒJƒEƒ“ƒg‚ð휂µ‚Ä‚àƒLƒƒƒ‰ƒNƒ^[ƒf[ƒ^A‘qŒÉƒf[ƒ^A - ‚»‚Ì‘¼‚̃AƒJƒEƒ“ƒgˆÈŠO‚̃f[ƒ^‚ÍÁ‚¦‚Ü‚¹‚ñB‘ŠŽè‚ªƒƒOƒCƒ“’†‚¾‚Á‚½ê‡ - ‹§Ø’f‚Í‚³‚ê‚Ü‚¹‚ñ‚ªAŽŸ‰ñ‚©‚ç‚̓ƒOƒCƒ“‚Å‚«‚È‚¢‚Í‚¸‚Å‚·B - i‚‚܂è‚ÍA’P‚Élogin-serverã‚̃AƒJƒEƒ“ƒg‚ðÁ‚µ‚Ä‚¢‚邾‚¯‚Å‚·j + アカウントを削除ã—ã¦ã‚‚ã‚ャラクターデータã€å€‰åº«ãƒ‡ãƒ¼ã‚¿ã€ + ãã®ä»–ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä»¥å¤–ã®ãƒ‡ãƒ¼ã‚¿ã¯æ¶ˆãˆã¾ã›ã‚“。相手ãŒãƒã‚°ã‚¤ãƒ³ä¸ã ã£ãŸå ´åˆ + 強制切æ–ã¯ã•ã‚Œã¾ã›ã‚“ãŒã€æ¬¡å›žã‹ã‚‰ã¯ãƒã‚°ã‚¤ãƒ³ã§ããªã„ã¯ãšã§ã™ã€‚ + (ã¤ã¾ã‚Šã¯ã€å˜ã«login-server上ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’消ã—ã¦ã„ã‚‹ã ã‘ã§ã™ï¼‰ (login/) login.c - parse_admin()’ljÁAparse_login()C³ + parse_admin()è¿½åŠ ã€parse_login()ä¿®æ£ (doc/) admin_packet.txt - V‹K’ljÁBŠÇ—ƒpƒPƒbƒgî•ñ + æ–°è¦è¿½åŠ 。管ç†ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ± (tool/) ladmin - login-server administration tool‚ÌPerlƒXƒNƒŠƒvƒg + login-server administration toolã®Perlスクリプト -------------- //0528 by RR -EƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚µ‚½Û‚ɉñ•œ—Ê‚É”ä—Ⴕ‚½•ª‚¾‚¯ƒWƒ‡ƒuŒoŒ±’l‚ªŠl“¾‚Å‚«‚é‚悤‚É•ÏX -E¤lŒnE‹Æ‚ª“XNPC‚ð—˜—p‚µ‚½Û‚ɃWƒ‡ƒuŒoŒ±’l‚ªŠl“¾‚Å‚«‚é‚悤‚É•ÏX -E—¼•û‚Æ‚àbattle_athena.conf‚Å’²®‰Â”\‚É‚µ‚Ü‚µ‚½B‰ŠúÝ’è‚Í0”{i”ñ“K—pj -Emap_athena.conf‚É‚Ä‚©‚Ú‚¿‚áƒNƒGƒXƒg‚Ì‚à‚Ì‚ª“ü‚Á‚Ä‚È‚©‚Á‚½‚̂ŃRƒƒ“ƒgƒAƒEƒg‚µ‚È‚ª‚ç’ljÁB +・スã‚ル「ヒールã€ã‚’使用ã—ãŸéš›ã«å›žå¾©é‡ã«æ¯”例ã—ãŸåˆ†ã ã‘ジョブ経験値ãŒç²å¾—ã§ãるよã†ã«å¤‰æ›´ +・商人系è·æ¥ãŒåº—NPCを利用ã—ãŸéš›ã«ã‚¸ãƒ§ãƒ–経験値ãŒç²å¾—ã§ãるよã†ã«å¤‰æ›´ +・両方ã¨ã‚‚battle_athena.confã§èª¿æ•´å¯èƒ½ã«ã—ã¾ã—ãŸã€‚åˆæœŸè¨å®šã¯0å€ï¼ˆéžé©ç”¨ï¼‰ +・map_athena.confã«ã¦ã‹ã¼ã¡ã‚ƒã‚¯ã‚¨ã‚¹ãƒˆã®ã‚‚ã®ãŒå…¥ã£ã¦ãªã‹ã£ãŸã®ã§ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã—ãªãŒã‚‰è¿½åŠ 。 map_athena.conf battle.c battle_config_read() battle.h Battle_Config battle_athena.conf - ˆÈãAbattle_athena.conf—˜—p‚½‚ß‚É•ÏX + 以上ã€battle_athena.conf利用ãŸã‚ã«å¤‰æ›´ pc.c pc_heal() - –ß‚è’l‚ðhp+sp‚ÉB–ß‚è’l‚ð—˜—p‚µ‚Ä‚é•”•ª‚ª‚È‚³‚»‚¤‚¾‚Á‚½‚Ì‚ÅŽg‚킹‚Ä–á‚¢‚Ü‚µ‚½BƒoƒO‚ª‹N‚«‚½‚ç‚·‚Ý‚Ü‚¹‚ñB + 戻り値をhp+spã«ã€‚戻り値を利用ã—ã¦ã‚‹éƒ¨åˆ†ãŒãªã•ãã†ã ã£ãŸã®ã§ä½¿ã‚ã›ã¦è²°ã„ã¾ã—ãŸã€‚ãƒã‚°ãŒèµ·ããŸã‚‰ã™ã¿ã¾ã›ã‚“。 - skill.c skill_casted_nodamage_id()‚̃q[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒ±’lŠl“¾‚·‚é‚悤•ÏX + skill.c skill_casted_nodamage_id()ã®ãƒ’ール部ã«ã¦ã‚¸ãƒ§ãƒ–経験値ç²å¾—ã™ã‚‹ã‚ˆã†å¤‰æ›´ npc.c npc_buylist() - npc_selllist() •ÏX - ‚±‚ê‚ç‚Æ‚ÌŒ“‚ˇ‚¢‚Åskill.h‚ðincludeB + npc_selllist() 変更 + ã“れらã¨ã®å…¼ãåˆã„ã§skill.hã‚’include。 -¤l‚Ì“X—˜—pƒWƒ‡ƒuŒoŒ±’lŠl“¾‚Å‚·‚ªAŒvŽZŽ®‚Í‚Ü‚¾l‚¦’†‚Ȃ̂ʼn¼‚ÅB -ŒvŽZŽ®‚̓AƒCƒeƒ€w“ü‚ª@‘ã‹à * ƒXƒLƒ‹ƒŒƒxƒ‹iƒfƒBƒXƒJƒEƒ“ƒgj/ ((1{300/ƒAƒCƒeƒ€ŒÂ”) * 4000) -ƒAƒCƒeƒ€”„‹p‚ª@‘ã‹à * ƒXƒLƒ‹ƒŒƒxƒ‹iƒI[ƒo[ƒ`ƒƒ[ƒWj / ((1{500/ƒAƒCƒeƒ€ŒÂ”) * 4000)‚Å‚·B -í‚É–î‚ð‚½‚‚³‚ñˆê‚Éw“ü‚·‚邱‚Æ‚ÅŒoŒ±’l‚𑽗ʂɉ҂®‚±‚Æ‚ª‰Â”\‚Å‚·‚ËcB -‚Ç‚È‚½‚©‚¢‚¢Ž®‚ðŽv‚¢‚‚¢‚½‚ç•ÏX‚¨Šè‚¢‚µ‚Ü‚·B +商人ã®åº—利用ジョブ経験値ç²å¾—ã§ã™ãŒã€è¨ˆç®—å¼ã¯ã¾ã 考ãˆä¸ãªã®ã§ä»®ã§ã€‚ +計算å¼ã¯ã‚¢ã‚¤ãƒ†ãƒ 購入ãŒã€€ä»£é‡‘ * スã‚ルレベル(ディスカウント)/ ((1+300/アイテム個数) * 4000) +アイテム売å´ãŒã€€ä»£é‡‘ * スã‚ルレベル(オーãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ï¼‰ / ((1+500/アイテム個数) * 4000)ã§ã™ã€‚ +常ã«çŸ¢ã‚’ãŸãã•ã‚“一緒ã«è³¼å…¥ã™ã‚‹ã“ã¨ã§çµŒé¨“値を多é‡ã«ç¨¼ãã“ã¨ãŒå¯èƒ½ã§ã™ã…。 +ã©ãªãŸã‹ã„ã„å¼ã‚’æ€ã„ã¤ã„ãŸã‚‰å¤‰æ›´ãŠé¡˜ã„ã—ã¾ã™ã€‚ -‚Æ‚±‚ë‚Å“]ENPC‚ªˆê•”‚©‚Ô‚Á‚Ä‚é‚ñ‚Å‚·‚ªC³‚µ‚È‚¢‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©H +ã¨ã“ã‚ã§è»¢è·NPCãŒä¸€éƒ¨ã‹ã¶ã£ã¦ã‚‹ã‚“ã§ã™ãŒä¿®æ£ã—ãªã„ã§ã„ã„ã‚“ã§ã—ょã†ã‹ï¼Ÿ -------------- -//0527 by Ž€_ +//0527 by æ»ç¥ž -E0526‚̃oƒOC³B(ƒeƒXƒg‚ׂ̈ɕς¦‚Ä‚¢‚½•¨‚ð“ü‚ꂽ‚܂܃Aƒbƒv‚µ‚Ä‚µ‚Ü‚Á‚½‚Ì‚ªŒ´ˆö‚Å‚µ‚½B) - skill.c C³B - pc.c C³B - mob.c C³B - clif.c C³B +・0526ã®ãƒã‚°ä¿®æ£ã€‚(テストã®ç‚ºã«å¤‰ãˆã¦ã„ãŸç‰©ã‚’入れãŸã¾ã¾ã‚¢ãƒƒãƒ—ã—ã¦ã—ã¾ã£ãŸã®ãŒåŽŸå› ã§ã—ãŸã€‚) + skill.c ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ -------------- -//0526 by Ž€_ +//0526 by æ»ç¥ž -E0525‚̃ŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŽg‚¦‚È‚¢ƒoƒOC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñ‚ªŽ¡‚Á‚½‚Í‚¸‚Å‚·B‘½•ª...) - skill.c C³B - clif.c C³B +・0525ã®ãƒªã‚¶ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’æ»ã‚“ã ã‚ャラã«ä½¿ãˆãªã„ãƒã‚°ä¿®æ£ã€‚(テストã¯ã—ã¦ã¾ã›ã‚“ãŒæ²»ã£ãŸã¯ãšã§ã™ã€‚多分...) + skill.c ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ -------------- -//0525 by Ž€_ +//0525 by æ»ç¥ž -Edmotion‚̊Ԃ̓Lƒƒƒ‰‚ª“®‚©‚È‚¢‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB) -EƒƒeƒI‚̃_ƒ[ƒW•\Ž¦ƒ^ƒCƒ~ƒ“ƒOC³B(‚µ’x‚¢‹C‚à‚µ‚Ü‚·‚ª...) -EƒoƒbƒNƒXƒ‰ƒCƒfƒBƒ“ƒO‚ÌŽž‚Ƀ‚[ƒVƒ‡ƒ“‚ªo‚é‚悤‚É•ÏXB(ƒXƒLƒ‹Žg—pŒã -0.2•bŒã‚ɃXƒLƒ‹Žg—pƒpƒPƒbƒg‚ð‘—‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½Bƒ‰ƒO“™‚É‚æ‚Á‚Ä•Ï‚È“®ì‚ð‚·‚é‰Â”\«‚à‚ ‚è‚Ü‚·B) -E0524‚ÌC³B -EƒnƒCƒfƒBƒ“ƒO‚µ‚Ä‚¢‚鎞Ž©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏXB -E0519‚ÅŠÔˆá‚Á‚½conf‚ÌC³‚Æׂ©‚¢ŠC³B +・dmotionã®é–“ã¯ã‚ャラãŒå‹•ã‹ãªã„よã†ã«å¤‰æ›´ã€‚(テストã—ã¦ã¾ã›ã‚“。) +・メテオã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¡¨ç¤ºã‚¿ã‚¤ãƒŸãƒ³ã‚°ä¿®æ£ã€‚(å°‘ã—é…ã„æ°—ã‚‚ã—ã¾ã™ãŒ...) +・ãƒãƒƒã‚¯ã‚¹ãƒ©ã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã®æ™‚ã«ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãŒå‡ºã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(スã‚ル使用後 +0.2秒後ã«ã‚¹ã‚ル使用パケットをé€ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ラグç‰ã«ã‚ˆã£ã¦å¤‰ãªå‹•ä½œã‚’ã™ã‚‹å¯èƒ½æ€§ã‚‚ã‚ã‚Šã¾ã™ã€‚) +・0524ã®ä¿®æ£ã€‚ +・ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã—ã¦ã„る時自然回復ã—ãªã„よã†ã«å¤‰æ›´ã€‚ +・0519ã§é–“é•ã£ãŸconfã®ä¿®æ£ã¨ç´°ã‹ã„所修æ£ã€‚ map.h - struct map_session_data‚Ìcanmove_tick‚ðcanact_tick‚É•ÏXB - skillcanmove_tick‚ðcanmove_tick‚É•ÏXB - skill.c C³B - pc.c C³B - pc.h C³B - clif.c C³B - battle.c C³B - battle.h C³B - mob.c C³B - mob.h C³B - char_athena.conf C³B - map_athena.conf C³B + struct map_session_dataã®canmove_tickã‚’canact_tickã«å¤‰æ›´ã€‚ + skillcanmove_tickã‚’canmove_tickã«å¤‰æ›´ã€‚ + skill.c ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ + battle.c ä¿®æ£ã€‚ + battle.h ä¿®æ£ã€‚ + mob.c ä¿®æ£ã€‚ + mob.h ä¿®æ£ã€‚ + char_athena.conf ä¿®æ£ã€‚ + map_athena.conf ä¿®æ£ã€‚ -------------- //0524 by huge -Eƒ[ƒO ƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuŽÀ‘• +・ãƒãƒ¼ã‚° トンãƒãƒ«ãƒ‰ãƒ©ã‚¤ãƒ–実装 clif.c clif_parse_WalkToXY() pc.c pc_calcstatus() - ‚Ç‚Ì‚‚ç‚¢‘¬“xŒ¸‚·‚é‚Ì‚©•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅAŽb’è“I‚É - speed += speed * (20-ƒXƒLƒ‹ƒŒƒxƒ‹)/40 - ‚ÆA‚µ‚Ü‚µ‚½B–{ŽIŽd—l‚ª•ª‚©‚é•û‹‚Ü‚µ‚½‚çC³‚¨Šè‚¢‚µ‚Ü‚·B + ã©ã®ãらã„速度減少ã™ã‚‹ã®ã‹åˆ†ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã€æš«å®šçš„ã« + speed += speed * (20-スã‚ルレベル)/40 + ã¨ã€ã—ã¾ã—ãŸã€‚本鯖仕様ãŒåˆ†ã‹ã‚‹æ–¹å±…ã¾ã—ãŸã‚‰ä¿®æ£ãŠé¡˜ã„ã—ã¾ã™ã€‚ -------------- //0523 by NOCTURNE -Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚̃yƒRƒyƒRŠÇ—•º‚ð’ljÁ +・npc_event_rental.txtã«ã‚¯ãƒ«ã‚»ã‚¤ãƒ€ãƒ¼ç”¨ã®ãƒšã‚³ãƒšã‚³ç®¡ç†å…µã‚’è¿½åŠ -------------- -//0522 by ”g˜Q +//0522 by 波浪 -Emob_db.txt‚ðƒWƒ…ƒm[Œã‚̃f[ƒ^‚ÉC³ +・mob_db.txtをジュノー後ã®ãƒ‡ãƒ¼ã‚¿ã«ä¿®æ£ -------------- -//0521 by ŒÓ’±—– +//0521 by 胡è¶è˜ -EmapƒT[ƒo[‚ÉŒq‚ª‚ç‚È‚¢–â‘è‚ðC³ +・mapサーãƒãƒ¼ã«ç¹‹ãŒã‚‰ãªã„å•é¡Œã‚’ä¿®æ£ clif.c - clif_parse()‚ÌC³ + clif_parse()ã®ä¿®æ£ -------------- -//0520 by ŒÓ’±—– +//0520 by 胡è¶è˜ -EcharƒT[ƒo[ƒƒO‚Ìuset map X.Y HOGE.gatv‚ª•\Ž¦‚³‚ê‚È‚‚È‚è‚Ü‚µ‚½ - •Ï‚í‚è‚ÉAuset map M from XX.YY.ZZ.WW:PP (CC maps)v - ‚Æ‚¢‚¤‚Ó‚¤‚ɉ½ŒÂ‚̃}ƒbƒv‚ðƒZƒbƒg‚µ‚½‚©‚¾‚¯‚ð•\Ž¦‚·‚é‚悤‚É‚È‚è‚Ü‚·B +・charサーãƒãƒ¼ãƒã‚°ã®ã€Œset map X.Y HOGE.gatã€ãŒè¡¨ç¤ºã•ã‚Œãªããªã‚Šã¾ã—㟠+ 変ã‚ã‚Šã«ã€ã€Œset map M from XX.YY.ZZ.WW:PP (CC maps)〠+ ã¨ã„ã†ãµã†ã«ä½•å€‹ã®ãƒžãƒƒãƒ—をセットã—ãŸã‹ã ã‘を表示ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ char/char.c - parse_frommapC³ - -E•¡”mapƒT[ƒo[‚ɉ¼‘Ήž - ENPC‚̃}ƒbƒvƒT[ƒo[•Ï”‚ÍŽIŠÔ‚Å‚Í‹¤—L‚³‚ê‚Ü‚¹‚ñB‹¤—L‚·‚ׂ«•Ï”‚ð - Ž‚ÂNPC‚ª‚¢‚éƒ}ƒbƒv“¯Žm‚Í“¯‚¶mapƒT[ƒo[‚Å“®‚©‚·‚ׂ«‚Å‚·B - ‚¨‚»‚ç‚PC‚̃Oƒ[ƒoƒ‹•Ï”‚Í‹¤—L‚Å‚«‚é‚ÆŽv‚¢‚Ü‚·(–¢ƒeƒXƒg) - EŽb’è“I‚É“®‚‚悤‚É‚µ‚½‚¾‚¯‚È‚Ì‚ÅA•s“s‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB - “Á‚ÉAƒp[ƒeƒB/ƒMƒ‹ƒh/‘qŒÉ/ƒyƒbƒg/Wis‚È‚Ç‚ÌinterƒT[ƒo[‚ðŽg‚¤‹@”\‚ª - ³‚µ‚ì“®‚·‚é‚©‘S‚ƒ`ƒFƒbƒN‚µ‚Ä‚¢‚Ü‚¹‚ñB - Eurecv map on XX.YY.ZZ.WW:PP (CC maps)v‚Æ‚¢‚¤ƒƒO‚ª•\Ž¦‚³‚ê‚Ü‚·B - ‚±‚ê‚Í‘¼‚ÌmapƒT[ƒo[‚ª’S“–‚·‚éƒ}ƒbƒv‚̃ŠƒXƒg‚ªA‚±‚ÌmapƒT[ƒo[‚É - ³í‚ÉŽóM‚³‚ꂽ‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B + parse_frommapä¿®æ£ + +・複数mapサーãƒãƒ¼ã«ä»®å¯¾å¿œ + ・NPCã®ãƒžãƒƒãƒ—サーãƒãƒ¼å¤‰æ•°ã¯é¯–é–“ã§ã¯å…±æœ‰ã•ã‚Œã¾ã›ã‚“。共有ã™ã¹ã変数を + æŒã¤NPCãŒã„るマップåŒå£«ã¯åŒã˜mapサーãƒãƒ¼ã§å‹•ã‹ã™ã¹ãã§ã™ã€‚ + ãŠãらãPCã®ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã¯å…±æœ‰ã§ãã‚‹ã¨æ€ã„ã¾ã™(未テスト) + ・暫定的ã«å‹•ãよã†ã«ã—ãŸã ã‘ãªã®ã§ã€ä¸éƒ½åˆãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + 特ã«ã€ãƒ‘ーティ/ギルド/倉庫/ペット/Wisãªã©ã®interサーãƒãƒ¼ã‚’使ã†æ©Ÿèƒ½ãŒ + æ£ã—ã作動ã™ã‚‹ã‹å…¨ããƒã‚§ãƒƒã‚¯ã—ã¦ã„ã¾ã›ã‚“。 + ・「recv map on XX.YY.ZZ.WW:PP (CC maps)ã€ã¨ã„ã†ãƒã‚°ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ + ã“ã‚Œã¯ä»–ã®mapサーãƒãƒ¼ãŒæ‹…当ã™ã‚‹ãƒžãƒƒãƒ—ã®ãƒªã‚¹ãƒˆãŒã€ã“ã®mapサーãƒãƒ¼ã« + æ£å¸¸ã«å—ä¿¡ã•ã‚ŒãŸã¨ã„ã†æ„味ã§ã™ã€‚ (char/) char.c/char.h - parse_frommap()C³ - mapif_sendallwos()’ljÁ + parse_frommap()ä¿®æ£ + mapif_sendallwos()è¿½åŠ (map/) map.c/map.h - map_setipport()‚ðC³ - struct map_session_data‚Ìstateƒƒ“ƒo‚Éwaitingdisconnect’ljÁ + map_setipport()ã‚’ä¿®æ£ + struct map_session_dataã®stateメンãƒã«waitingdisconnectè¿½åŠ chrif.c/chrif.h - FX’ljÁ + è‰²ã€…è¿½åŠ clif.c - waitingdisconnect‚ª‚P‚È‚çƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚½ + waitingdisconnectãŒï¼‘ãªã‚‰ãƒ‘ケットを無視ã™ã‚‹ã‚ˆã†ã«ã—㟠pc.c - pc_setpos()C³iƒ}ƒbƒvƒT[ƒo[•ÏXˆ—‚È‚Çj - pc_setnewpc()C³ + pc_setpos()ä¿®æ£ï¼ˆãƒžãƒƒãƒ—サーãƒãƒ¼å¤‰æ›´å‡¦ç†ãªã©ï¼‰ + pc_setnewpc()ä¿®æ£ -------------- -//0519 by Ž€_ +//0519 by æ»ç¥ž -EƒT[ƒo[snapshot‚ÆFXC³B -EŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉUŒ‚‚ª“–‚½‚éƒoƒOC³B(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©•ñ‚¨Šè‚¢‚µ‚Ü‚·B) -E0517‚̃AƒCƒXƒEƒH[ƒ‹‚̈—‚ð‚µ•ÏXB -EƒƒeƒI‚ðƒ‚ƒ“ƒXƒ^[‚àŽg‚¦‚é‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB•ñ‚¨Šè‚¢‚µ‚Ü‚·B) ‚Å‚à‚¿‚å‚Á‚ƃƒ‚ƒŠ[‚ÌŽg—p—Ê‚ª‘‚¦‚Ü‚µ‚½B(–ñ10M’öオ‚é‚悤‚Å‚·B) -Eƒ{ƒX‚ÌŽæ‚芪‚«‚ªƒ{ƒX‚ƈê‚És“®‚·‚é‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚Ç‚ñ‚È“®‚«‚ð‚·‚é‚©‚ÍŠm”F‚µ‚Ä‚Ü‚¹‚ñBUŒ‚‚àŽó‚¯‚Ä‚È‚¢‚̂Ƀ{ƒX‚ׂ̗©‚矎è‚É—£‚ê‚é‚©‚Ç‚¤‚©‚ÌŠm”F‚ð‚¨Šè‚¢‚µ‚Ü‚·B) -E‚»‚Ì‘¼×‚©‚¢•¨C³B - client-packet.txt C³B +・サーãƒãƒ¼snapshotã¨è‰²ã€…ä¿®æ£ã€‚ +・æ»ã‚“ã ã‚ャラã«æ”»æ’ƒãŒå½“ãŸã‚‹ãƒã‚°ä¿®æ£ã€‚(テストã—ã¦ã¾ã›ã‚“。本当ã«æ²»ã£ãŸã‹ã©ã†ã‹å ±å‘ŠãŠé¡˜ã„ã—ã¾ã™ã€‚) +・0517ã®ã‚¢ã‚¤ã‚¹ã‚¦ã‚©ãƒ¼ãƒ«ã®å‡¦ç†ã‚’å°‘ã—変更。 +・メテオをモンスターも使ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(テストã—ã¦ã¾ã›ã‚“ã€‚å ±å‘ŠãŠé¡˜ã„ã—ã¾ã™ã€‚) ã§ã‚‚ã¡ã‚‡ã£ã¨ãƒ¡ãƒ¢ãƒªãƒ¼ã®ä½¿ç”¨é‡ãŒå¢—ãˆã¾ã—ãŸã€‚(ç´„10M程上ãŒã‚‹ã‚ˆã†ã§ã™ã€‚) +・ボスã®å–ã‚Šå·»ããŒãƒœã‚¹ã¨ä¸€ç·’ã«è¡Œå‹•ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(テストã—ã¦ã¾ã›ã‚“ã®ã§ã©ã‚“ãªå‹•ãã‚’ã™ã‚‹ã‹ã¯ç¢ºèªã—ã¦ã¾ã›ã‚“。攻撃もå—ã‘ã¦ãªã„ã®ã«ãƒœã‚¹ã®éš£ã‹ã‚‰å‹æ‰‹ã«é›¢ã‚Œã‚‹ã‹ã©ã†ã‹ã®ç¢ºèªã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚) +・ãã®ä»–ç´°ã‹ã„物修æ£ã€‚ + client-packet.txt ä¿®æ£ã€‚ map.h - AREA_SIZE‚ð15‚©‚ç20‚É•ÏXB - struct map_session_dataAstruct mob_dataAstruct skill_timerskill C³B + AREA_SIZEã‚’15ã‹ã‚‰20ã«å¤‰æ›´ã€‚ + struct map_session_dataã€struct mob_dataã€struct skill_timerskill ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ clif.h - clif_changemapcell() C³B + clif_changemapcell() ä¿®æ£ã€‚ clif.c - clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() C³B + clif_getareachar_skillunit()ã€clif_clearchar_skillunit()ã€clif_changemapcell() ä¿®æ£ã€‚ skill.c - skill_unitsetting()Askill_unit_onlimit()Askill_castend_pos2() C³B - skill_castend_nodamage_id()Askill_check_condition()Askill_attack() C³B - skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill() C³B - ‚»‚Ì‘¼‚µC³B + skill_unitsetting()ã€skill_unit_onlimit()ã€skill_castend_pos2() ä¿®æ£ã€‚ + skill_castend_nodamage_id()ã€skill_check_condition()ã€skill_attack() ä¿®æ£ã€‚ + skill_timerskill()ã€skill_addtimerskill()ã€skill_cleartimerskill() ä¿®æ£ã€‚ + ãã®ä»–å°‘ã—ä¿®æ£ã€‚ skill.h - skill_addtimerskill()Askill_cleartimerskill() C³B + skill_addtimerskill()ã€skill_cleartimerskill() ä¿®æ£ã€‚ pc.c - pc_movepos()Apc_walk()Apc_authok() C³B + pc_movepos()ã€pc_walk()ã€pc_authok() ä¿®æ£ã€‚ mob.c - mob_spawn_dataset()Amob_spawn() C³B - mob_changestate()Amob_damage() C³B - mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B - ‚»‚Ì‘¼‚µC³B + mob_spawn_dataset()ã€mob_spawn() ä¿®æ£ã€‚ + mob_changestate()ã€mob_damage() ä¿®æ£ã€‚ + mob_ai_sub_hard_mastersearch()ã€mob_ai_sub_hard() ä¿®æ£ã€‚ + ãã®ä»–å°‘ã—ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack()Abattle_weapon_attack() C³B - ‚»‚Ì‘¼‚µC³B + battle_calc_weapon_attack()ã€battle_weapon_attack() ä¿®æ£ã€‚ + ãã®ä»–å°‘ã—ä¿®æ£ã€‚ -------------- //0518 by Kalen -EEvent_pumpkinŠÖ˜A‚̃tƒ‰ƒO•s‹ï‡C³ +・Event_pumpkin関連ã®ãƒ•ãƒ©ã‚°ä¸å…·åˆä¿®æ£ -------------- -//0517 by Ž€_ +//0517 by æ»ç¥ž -EƒAƒCƒXƒEƒH[ƒ‹‚Å ‚蔲‚é–â‘èC³‚Æ‚µC³B(M‚³‚ñƒpƒPƒbƒg‚Ì’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) +・アイスウォールã§æ‘ºã‚ŠæŠœã‚‹å•é¡Œä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚(Mã•ã‚“パケットã®æä¾›ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚) clif.h - clif_changemapcell() ’ljÁB + clif_changemapcell() è¿½åŠ ã€‚ clif.c - clif_changemapcell() ’ljÁB + clif_changemapcell() è¿½åŠ ã€‚ skill.h - SC_STEELBODY‚ð84‚©‚ç87‚É•ÏXB + SC_STEELBODYã‚’84ã‹ã‚‰87ã«å¤‰æ›´ã€‚ skill.c - skill_unitsetting()Askill_unit_onlimit() C³B - skill_status_change_end()Askill_status_change_start() C³B - client_packet.txt C³B + skill_unitsetting()ã€skill_unit_onlimit() ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_start() ä¿®æ£ã€‚ + client_packet.txt ä¿®æ£ã€‚ -------------- -//0516 by Ž€_ +//0516 by æ»ç¥ž -Eƒ‚ƒ“ƒXƒ^[‚̃ƒeƒI‚É‚æ‚éŽIƒ_ƒEƒ“‚ð—ÕŽž‚É–h‚¢‚Å’u‚«‚Ü‚µ‚½B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB) ƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹‚ɂ‚¢‚Ä‚¿‚å‚Á‚Æ•ªÍ•s‘«‚Å‚·‚Ì‚Å•ªÍ‚µ‚½Œã‚ÉC³‚µ‚Ä’u‚«‚Ü‚·B -EƒXƒLƒ‹Žw’e‚ÌŽd—l‚ðbattle_athena.conf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB(0515‚Ì•¨‚ª‚¿‚å‚Á‚Æ‚à‚Á‚½‚¢‚È‚©‚Á‚½‚Ì‚Å...) +・モンスターã®ãƒ¡ãƒ†ã‚ªã«ã‚ˆã‚‹é¯–ダウンを臨時ã«é˜²ã„ã§ç½®ãã¾ã—ãŸã€‚(テストã¯ã—ã¦ã¾ã›ã‚“。) モンスターã®ã‚¹ã‚ルã«ã¤ã„ã¦ã¡ã‚‡ã£ã¨åˆ†æžä¸è¶³ã§ã™ã®ã§åˆ†æžã—ãŸå¾Œã«ä¿®æ£ã—ã¦ç½®ãã¾ã™ã€‚ +・スã‚ル指弾ã®ä»•æ§˜ã‚’battle_athena.confã§æ±ºã‚るよã†ã«å¤‰æ›´ã€‚(0515ã®ç‰©ãŒã¡ã‚‡ã£ã¨ã‚‚ã£ãŸã„ãªã‹ã£ãŸã®ã§...) skill.c - skill_castend_pos2() C³B - battlc.hAbattle.c - battle_config‚Éfinger_offencive_type ’ljÁB - battle_calc_weapon_attack() C³B - battle_athena.conf C³B - conf_ref.txt C³B + skill_castend_pos2() ä¿®æ£ã€‚ + battlc.hã€battle.c + battle_configã«finger_offencive_type è¿½åŠ ã€‚ + battle_calc_weapon_attack() ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ -------------- -//0515 by Ž€_ +//0515 by æ»ç¥ž -EƒXƒLƒ‹ƒƒeƒI‚ÆŽw’eC³‚ƃpƒPƒbƒgC³A0512‚Ì—Ž‚Æ‚µ•¨C³‚Æ‚µ‚¾‚¯‚ÌŽd—l•ÏX‚Å‚·B -EŽw’e‚Ìê‡à–¾‚ðŒ©‚Ä‚±‚ñ‚ÈŠ´‚¶‚©‚È‚ÆŽv‚Á‚Äì‚Á‚½•¨‚Å‚·BˆÈ‘O‚Ì•¨‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ȃ猳‚É–ß‚µ‚Ü‚·B -EƒƒeƒI‚Ì1”‚͈̔͂Í5*5ƒZƒ‹(range = 2)‚Å‚·B -EƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ðV‚µ‚¢•¨‚É•ÏX‚µ‚½‚ªƒGƒtƒFƒNƒg‚ªo‚È‚¢•¨‚Ío‚È‚¢‚悤‚Å‚·B(FXƒGƒtƒFƒNƒg‚ª“ü‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚¾‚©‚çŒã‚ÍŽg‚Á‚ÄŠm”F‚Å‚·‚¯‚Ç‚ËB) -E0512‚Åhitrate‚ª10000ˆÈã‚Å•K’†‚Å‚Í‚È‚100000ˆÈã‚Å•K’†‚Å‚·‚̂ŃR[ƒh‚ÌC³‚Ì‚³‚¢‚É‚Í‹C‚ð‚Á‚‚¯‚Ä‚‚¾‚³‚¢B -Ebattle_athena‚Éݒ肳‚ê‚Ä‚¢‚é•Ší‚Ì»‘¢—¦‚ƃyƒbƒg‚̕ߊlŠm—¦‚ÌŒvŽZ•û–@‚ð‚µ•Ï‚¦‚Ü‚µ‚½B(‹C‚É‚·‚é•K—v‚à‚È‚¢•¨‚Å‚·‚¯‚Ç‚ËB) +・スã‚ルメテオã¨æŒ‡å¼¾ä¿®æ£ã¨ãƒ‘ケット修æ£ã€0512ã®è½ã¨ã—物修æ£ã¨å°‘ã—ã ã‘ã®ä»•æ§˜å¤‰æ›´ã§ã™ã€‚ +・指弾ã®å ´åˆèª¬æ˜Žã‚’見ã¦ã“ã‚“ãªæ„Ÿã˜ã‹ãªã¨æ€ã£ã¦ä½œã£ãŸç‰©ã§ã™ã€‚以å‰ã®ç‰©ãŒæœ¬é¯–ã«ã‚ã£ã¦ã„ã‚‹ãªã‚‰å…ƒã«æˆ»ã—ã¾ã™ã€‚ +・メテオã®1発ã®ç¯„囲ã¯5*5セル(range = 2)ã§ã™ã€‚ +・アイテム使用パケットを新ã—ã„物ã«å¤‰æ›´ã—ãŸãŒã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºãªã„物ã¯å‡ºãªã„よã†ã§ã™ã€‚(色々エフェクトãŒå…¥ã£ã¦ã„ã‚‹ã¿ãŸã„ã ã‹ã‚‰å¾Œã¯ä½¿ã£ã¦ç¢ºèªã§ã™ã‘ã©ã。) +・0512ã§hitrateãŒ10000以上ã§å¿…ä¸ã§ã¯ãªã100000以上ã§å¿…ä¸ã§ã™ã®ã§ã‚³ãƒ¼ãƒ‰ã®ä¿®æ£ã®ã•ã„ã«ã¯æ°—ã‚’ã£ã¤ã‘ã¦ãã ã•ã„。 +・battle_athenaã«è¨å®šã•ã‚Œã¦ã„ã‚‹æ¦å™¨ã®è£½é€ 率ã¨ãƒšãƒƒãƒˆã®æ•ç²ç¢ºçŽ‡ã®è¨ˆç®—方法を少ã—変ãˆã¾ã—ãŸã€‚(æ°—ã«ã™ã‚‹å¿…è¦ã‚‚ãªã„物ã§ã™ã‘ã©ã。) skill.h - skill_addtimerskill()Askill_cleartimerskill ’ljÁB + skill_addtimerskill()ã€skill_cleartimerskill è¿½åŠ ã€‚ skill.c - skill_attack() fixAskill_use_id()Askill_use_pos() C³B - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill ’ljÁB - skill_castcancel()Askill_castend_pos2()Askill_unitsetting() C³B - skill_produce_mix()Ado_init_skill() C³B + skill_attack() fixã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_castend_damage_id()ã€skill_castend_nodamage_id() ä¿®æ£ã€‚ + skill_timerskill()ã€skill_addtimerskill()ã€skill_cleartimerskill è¿½åŠ ã€‚ + skill_castcancel()ã€skill_castend_pos2()ã€skill_unitsetting() ä¿®æ£ã€‚ + skill_produce_mix()ã€do_init_skill() ä¿®æ£ã€‚ mob.c - mob_damage() C³B + mob_damage() ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack() C³B + battle_calc_weapon_attack() ä¿®æ£ã€‚ map.h - struct skill_timerskill ’ljÁB - struct map_session_data C³B + struct skill_timerskill è¿½åŠ ã€‚ + struct map_session_data ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ pc.c - pc_authok() C³B - pc_damage() C³B + pc_authok() ä¿®æ£ã€‚ + pc_damage() ä¿®æ£ã€‚ clif.c - clif_parse_WalkToXY() C³B - clif_useitemack() C³B(Ž‘—¿’ñ‹Ÿ: Kalen‚³‚ñ) + clif_parse_WalkToXY() ä¿®æ£ã€‚ + clif_useitemack() ä¿®æ£ã€‚(資料æä¾›: Kalenã•ã‚“) pet.c - pet_catch_process2() C³B + pet_catch_process2() ä¿®æ£ã€‚ skill_db.txt - ‹CŒ÷‚ÌSP‚ð10‚É•ÏXB(ƒlƒbƒg‚ÌŒŸõ‚Å‚Í10‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½BŠØ‘‘ ‚Å‚Í15‚Æ•\Ž¦‚³‚ê‚Ü‚·‚ª...) + 気功ã®SPã‚’10ã«å¤‰æ›´ã€‚(ãƒãƒƒãƒˆã®æ¤œç´¢ã§ã¯10ã ã£ãŸã®ã§å¤‰æ›´ã—ã¾ã—ãŸã€‚韓国蔵ã§ã¯15ã¨è¡¨ç¤ºã•ã‚Œã¾ã™ãŒ...) client_packet.txt - 01c8‚Ì•ÏX‚Å‚·BKalen‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B + 01c8ã®å¤‰æ›´ã§ã™ã€‚Kalenã•ã‚“æƒ…å ±æä¾›ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ -------------- //0514 by Kalen -EscriptC³+’ljÁ +・scriptä¿®æ£+è¿½åŠ - conf/npc_event_pumpkin.txt (V‹K)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg - conf/npc_town_guide.txt (C³)Juno‚Ìu+vƒAƒCƒRƒ“ƒJƒ‰[C³ - conf/npc_town_lutie.txt (ˆê•”’ljÁ)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚ɉe‹¿‚·‚éNPC‚̉ï˜b’ljÁ + conf/npc_event_pumpkin.txt (æ–°è¦)カボãƒãƒ£ã‚¤ãƒ™ãƒ³ãƒˆ + conf/npc_town_guide.txt (ä¿®æ£)Junoã®ã€Œ+ã€ã‚¢ã‚¤ã‚³ãƒ³ã‚«ãƒ©ãƒ¼ä¿®æ£ + conf/npc_town_lutie.txt (ä¸€éƒ¨è¿½åŠ )カボãƒãƒ£ã‚¤ãƒ™ãƒ³ãƒˆã«å½±éŸ¿ã™ã‚‹NPCã®ä¼šè©±è¿½åŠ -------------- //0513 by RR -E“]EŽž‚É‘•”õ‚ª‘S‚ÄŠO‚ê‚é‚悤‚É‚µ‚Ü‚µ‚½BŠÖ”ˆÊ’u‚Ì•ÏX‚µ‚Ä‚È‚¢‚Ì‚ÅA‚Ђå‚Á‚Æ‚µ‚½‚炨‚©‚µ‚‚È‚Á‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚¤‚¿‚̊‹«(win2k cygwin)‚Å‚Í•½‹C‚Å‚µ‚½‚Ì‚Å‚»‚Ì‚Ü‚Ü‚É‚µ‚Ä‚ ‚è‚Ü‚·BB -Eƒm[ƒrƒXŽž‚ÌŽ€–S‚Å‚ÍAÅ‘åHP‚Ì‚Q•ª‚Ì‚P‚Å•œŠˆ‚Å‚«‚é‚悤C³B(ƒXƒLƒ‹‚É‚æ‚é•œŠˆ‚Í–¢Šm”F) -EƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éŒoŒ±’lŒ¸‚ð’ljÁBbattle_athena.conf‚É‚ÄAŒ¸—¦‚ð•ÏX‚Å‚«‚é‚悤‚ÉÝ’èBŒ¸‚éŒoŒ±’l‚ͬ”“_ˆÈ‰ºØ‚èŽÌ‚Ä‚È‚Ì‚ÅA•K—vŒoŒ±’l‚ª’á‚¢‚¤‚¿‚É‚Í‚¿‚傤‚Ç‚»‚Ì“•ªˆø‚©‚ê‚é‚Æ‚¢‚¤•—‚É‚Í‚È‚è‚Ü‚¹‚ñB +・転è·æ™‚ã«è£…å‚™ãŒå…¨ã¦å¤–れるよã†ã«ã—ã¾ã—ãŸã€‚関数ä½ç½®ã®å¤‰æ›´ã—ã¦ãªã„ã®ã§ã€ã²ã‚‡ã£ã¨ã—ãŸã‚‰ãŠã‹ã—ããªã£ã¦ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã†ã¡ã®ç’°å¢ƒ(win2k cygwin)ã§ã¯å¹³æ°—ã§ã—ãŸã®ã§ãã®ã¾ã¾ã«ã—ã¦ã‚ã‚Šã¾ã™ã€‚。 +・ノービス時ã®æ»äº¡ã§ã¯ã€æœ€å¤§HPã®ï¼’分ã®ï¼‘ã§å¾©æ´»ã§ãるよã†ä¿®æ£ã€‚(スã‚ルã«ã‚ˆã‚‹å¾©æ´»ã¯æœªç¢ºèª) +・デスペナルティã«ã‚ˆã‚‹çµŒé¨“å€¤æ¸›å°‘ã‚’è¿½åŠ ã€‚battle_athena.confã«ã¦ã€æ¸›å°‘率を変更ã§ãるよã†ã«è¨å®šã€‚減る経験値ã¯å°æ•°ç‚¹ä»¥ä¸‹åˆ‡ã‚Šæ¨ã¦ãªã®ã§ã€å¿…è¦çµŒé¨“値ãŒä½Žã„ã†ã¡ã«ã¯ã¡ã‚‡ã†ã©ãã®ï¼…分引ã‹ã‚Œã‚‹ã¨ã„ã†é¢¨ã«ã¯ãªã‚Šã¾ã›ã‚“。 battle.h - Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’ljÁB + Battle_Configã«death_penalty_baseã¨death_penalty_jobã‚’è¿½åŠ ã€‚ battle.c - battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“ǂނ悤‚ÉC³B + battle_config_readã§death_penalty_baseã¨death_penalty_jobã‚’èªã‚€ã‚ˆã†ã«ä¿®æ£ã€‚ pc.c - pc_makesavestatus() C³B - pc_damege() C³B - pc_jobchange() C³B + pc_makesavestatus() ä¿®æ£ã€‚ + pc_damege() ä¿®æ£ã€‚ + pc_jobchange() ä¿®æ£ã€‚ battle_athena.conf - death_penalty_base,death_penalty_job’ljÁB + death_penalty_base,death_penalty_jobè¿½åŠ ã€‚ -------------- -//0512 by Ž€_ +//0512 by æ»ç¥ž -E–â‘è‚É‚È‚è‚»‚¤‚È•”•ª‚ÌC³‚ÆV‚µ‚¢ƒpƒPƒbƒg‚̑Ήž‚ªƒƒCƒ“‚Å‚·BŒãƒoƒO‚à‚µŽ¡‚µ‚Ü‚µ‚½B(“®‚¯‚È‚¢ó‘ÔˆÙí‚É‚È‚Á‚Ä‚à“®‚–â‘è‚ÌC³“™‚Å‚·B) - athena.sh C³B(‚¢‚‚àŽI‚ðŒÂ•Ê‚ÉŽÀs‚µ‚Ä‚¢‚½‚Ì‚Å‹C‚ª‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B) +・å•é¡Œã«ãªã‚Šãã†ãªéƒ¨åˆ†ã®ä¿®æ£ã¨æ–°ã—ã„パケットã®å¯¾å¿œãŒãƒ¡ã‚¤ãƒ³ã§ã™ã€‚後ãƒã‚°ã‚‚å°‘ã—æ²»ã—ã¾ã—ãŸã€‚(å‹•ã‘ãªã„状態異常ã«ãªã£ã¦ã‚‚å‹•ãå•é¡Œã®ä¿®æ£ç‰ã§ã™ã€‚) + athena.sh ä¿®æ£ã€‚(ã„ã¤ã‚‚鯖を個別ã«å®Ÿè¡Œã—ã¦ã„ãŸã®ã§æ°—ãŒã¤ãã¾ã›ã‚“ã§ã—ãŸã€‚) makefile - DPACKETVER‚ð2‚©‚ç3 ‚ÉC³BƒWƒ…[ƒmˆÈŒã‚Ì‘ ‚ðŽg‚¤‚Ì‚È‚ç3‚É‚µ‚ÄŽg‚Á‚Ä‚‚¾‚³‚¢B(‚»‚̈ȑO‚È‚ç2‚©1) + DPACKETVERã‚’2ã‹ã‚‰3 ã«ä¿®æ£ã€‚ジューノ以後ã®è”µã‚’使ã†ã®ãªã‚‰3ã«ã—ã¦ä½¿ã£ã¦ãã ã•ã„。(ãã®ä»¥å‰ãªã‚‰2ã‹1) clif.c - DPACKETVER=3‚ɑΉž(¡‚ÌŠ0x114‚ð0x1de‚É•ÏŠ·‚Æ0x11f‚ð01c9‚É•ÏŠ·‚·‚é‚̂ݑΉž) - clif_skill_damage3() íœB - clif_skillcastcancel() ’ljÁB - clif_skill_damage()Aclif_getareachar_skillunit()Aclif_skill_setunit() C³B - clif_fixmobpos()Aclif_fixpetpos()Aclif_fixpcpos() C³B - ‘¼‚É‚µC³B + DPACKETVER=3ã«å¯¾å¿œ(今ã®æ‰€0x114ã‚’0x1deã«å¤‰æ›ã¨0x11fã‚’01c9ã«å¤‰æ›ã™ã‚‹ã®ã¿å¯¾å¿œ) + clif_skill_damage3() 削除。 + clif_skillcastcancel() è¿½åŠ ã€‚ + clif_skill_damage()ã€clif_getareachar_skillunit()ã€clif_skill_setunit() ä¿®æ£ã€‚ + clif_fixmobpos()ã€clif_fixpetpos()ã€clif_fixpcpos() ä¿®æ£ã€‚ + ä»–ã«å°‘ã—ä¿®æ£ã€‚ clif.h - clif_skill_damage3() íœB - clif_skillcastcancel() ’ljÁB + clif_skill_damage3() 削除。 + clif_skillcastcancel() è¿½åŠ ã€‚ battle.c - battle_calc_weapon_attack() C³B - hitrate‚ð10000ˆÈã‚É‚·‚ê‚ΕK’†‚É‚È‚é‚悤‚É•ÏXB(¡‚ÌŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ì•K’†UŒ‚ˆÈŠO‚Í•K’†‚É‚È‚è‚Ü‚¹‚ñB) - ‘¼‚É‚µC³B + battle_calc_weapon_attack() ä¿®æ£ã€‚ + hitrateã‚’10000以上ã«ã™ã‚Œã°å¿…ä¸ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(今ã®ä»•æ§˜ã§ã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®å¿…ä¸æ”»æ’ƒä»¥å¤–ã¯å¿…ä¸ã«ãªã‚Šã¾ã›ã‚“。) + ä»–ã«å°‘ã—ä¿®æ£ã€‚ client_packet.txt - V‚µ‚¢ƒpƒPƒbƒgî•ñ’ljÁB + æ–°ã—ã„ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±è¿½åŠ ã€‚ pc.c - pc_spiritball_timer()Apc_delspiritball() C³B - pc_damage()Apc_skill() C³B + pc_spiritball_timer()ã€pc_delspiritball() ä¿®æ£ã€‚ + pc_damage()ã€pc_skill() ä¿®æ£ã€‚ skill.h - SC_EXPLOSIONSPIRITS‚ð89‚©‚ç86‚É•ÏXB(86 = 0x56) - SC_DELUGE‚ð86‚©‚ç89‚É•ÏXB + SC_EXPLOSIONSPIRITSã‚’89ã‹ã‚‰86ã«å¤‰æ›´ã€‚(86 = 0x56) + SC_DELUGEã‚’86ã‹ã‚‰89ã«å¤‰æ›´ã€‚ skill.c - skill_castcancel()Askill_use_id()Askill_use_pos() C³B - skill_check_condition() C³B - skill_castend_damage_id()Askill_castend_nodamage_id C³B - skill_status_change_end()Askill_status_change_start() C³B + skill_castcancel()ã€skill_use_id()ã€skill_use_pos() ä¿®æ£ã€‚ + skill_check_condition() ä¿®æ£ã€‚ + skill_castend_damage_id()ã€skill_castend_nodamage_id ä¿®æ£ã€‚ + skill_status_change_end()ã€skill_status_change_start() ä¿®æ£ã€‚ skill_db.txt - ‹CŒ÷‚ÌÁ”ïSP‚ðC³B(‘O‚Ì15‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) + 気功ã®æ¶ˆè²»SPã‚’ä¿®æ£ã€‚(å‰ã®15ãŒæœ¬é¯–ã«ã‚ã£ã¦ã„ã‚‹ã¿ãŸã„ã§ã™ã®ã§...) mob.c - mobskill_use_id()Amobskill_use_pos() C³B + mobskill_use_id()ã€mobskill_use_pos() ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ atcommand.h atcommand.c - @ƒRƒ}ƒ“ƒh@spiritball’ljÁB(‹@”\‚ÍŽg‚¦‚΂킩‚è‚Ü‚·B‚½‚¾1000ˆÈã‚Í“ü‚ê‚È‚¢•û‚ª‚¢‚¢‚Å‚·B‘ ‚ªƒpƒ“ƒN‚µ‚Ü‚·‚Ì‚Å...) + @コマンド@spiritballè¿½åŠ ã€‚(機能ã¯ä½¿ãˆã°ã‚ã‹ã‚Šã¾ã™ã€‚ãŸã 1000以上ã¯å…¥ã‚Œãªã„æ–¹ãŒã„ã„ã§ã™ã€‚蔵ãŒãƒ‘ンクã—ã¾ã™ã®ã§...) atcommand_athena.conf - C³B + ä¿®æ£ã€‚ conf_ref.txt - C³B -E0x196ƒpƒPƒbƒg‚ÉV‚µ‚¢•¨‚ª’ljÁ‚³‚ê‚Ä‚¢‚é‚Ì‚Åó‘ԕω»‚É’¼Ú‚ÉŠÖŒW‚È‚¢SC_xxxx‚̔Ԇ‚ð’²®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B(¡‚ÍSC_EXPLOSIONSPIRITS‚É‚¾‚¯‘Ήž‚µ‚Ü‚µ‚½B) ‚»‚ê‚Æskill_status_change_end()Askill_status_change_start()‚Åclif_status_change()‚ðŒÄ‚Ôtype‚͈̔͂ª64(0x40)–¢–ž‚É‚È‚Á‚Ä‚¢‚邪‚»‚ê‚à’ljÁ‚³‚ê‚Ä‚¢‚镨‚ɇ‚킹‚ÄC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚·‚ª’ljÁ‚³‚ê‚Ä‚¢‚镨‚ª‘S‚Ä‚í‚©‚Á‚½‚킯‚Å‚à‚È‚¢‚Ì‚ÅSC_EXPLOSIONSPIRITS‚É‚¾‚¯‘Ήž‚µ‚Ü‚µ‚½B¡“x‚©‚ç‚Í”š—ô”g“®‚̉𜂪³Šm‚ÉŒ©‚¦‚Ü‚·B‹à„‚̓f[ƒ^‚ðŒ©‚Â‚¯‚ç‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B -¦V‚µ‚¢ƒpƒPƒbƒg‚ɑΉž‚·‚éì‹Æ‚ð‚µ‚Ä‚¢‚Ü‚·‚ªî•ñ‚ª•s‘«‚Å‚·B -ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚̃GƒtƒFƒNƒg‚ªo‚é‚悤‚É‚·‚éˆ×‚É01c8‚ðŽg‚Á‚Ä‚Ý‚Ü‚µ‚½‚ª‘Ê–Ú‚Å‚µ‚½Bclient_packet.txt‚̃f[ƒ^‚ł͉½‚à‹N‚±‚ç‚È‚¢‚̂ʼn½•û‚ª–{ŽI‚ŃCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ðŽg‚Á‚½Žž‚̃pƒPƒbƒg‚ð’ñ‹Ÿ‚µ‚Ä‚‚ê‚Ü‚¹‚ñ‚©HS 00a7‚ÌŒã00a8‚ª—ˆ‚é‚Ì‚©‚»‚ê‚Æ‚à01c8‚ª—ˆ‚é‚Ì‚©‚ÌŠm”F‚Æ00a8‚ÌŒã‚É01c8‚ª—ˆ‚é‚Ì‚©‚ÌŠm”F‚ª‚Å‚«‚ê‚Ή½‚Æ‚©‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª... -‚»‚ê‚Æ01c9‚ÌŒã‚É—ˆ‚é?.81b‚ª‚í‚©‚ê‚΃AƒCƒXƒEƒH[ƒ‹‚ð ‚蔲‚é–â‘è‚à‰ðŒˆ‚Å‚«‚é‚ÆŽv‚¢‚Ü‚·‚ª... -î•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + ä¿®æ£ã€‚ +・0x196パケットã«æ–°ã—ã„物ãŒè¿½åŠ ã•ã‚Œã¦ã„ã‚‹ã®ã§çŠ¶æ…‹å¤‰åŒ–ã«ç›´æŽ¥ã«é–¢ä¿‚ãªã„SC_xxxxã®ç•ªå·ã‚’調整ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(今ã¯SC_EXPLOSIONSPIRITSã«ã ã‘対応ã—ã¾ã—ãŸã€‚) ãã‚Œã¨skill_status_change_end()ã€skill_status_change_start()ã§clif_status_change()を呼ã¶typeã®ç¯„囲ãŒ64(0x40)未満ã«ãªã£ã¦ã„ã‚‹ãŒãã‚Œã‚‚è¿½åŠ ã•ã‚Œã¦ã„る物ã«åˆã‚ã›ã¦ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ãŒè¿½åŠ ã•ã‚Œã¦ã„る物ãŒå…¨ã¦ã‚ã‹ã£ãŸã‚ã‘ã§ã‚‚ãªã„ã®ã§SC_EXPLOSIONSPIRITSã«ã ã‘対応ã—ã¾ã—ãŸã€‚今度ã‹ã‚‰ã¯çˆ†è£‚波動ã®è§£é™¤ãŒæ£ç¢ºã«è¦‹ãˆã¾ã™ã€‚金剛ã¯ãƒ‡ãƒ¼ã‚¿ã‚’見ã¤ã‘られã¾ã›ã‚“ã§ã—ãŸã€‚ +※新ã—ã„パケットã«å¯¾å¿œã™ã‚‹ä½œæ¥ã‚’ã—ã¦ã„ã¾ã™ãŒæƒ…å ±ãŒä¸è¶³ã§ã™ã€‚ +イグドラシルã®å®Ÿã‚„イグドラシルã®ç¨®ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºã‚‹ã‚ˆã†ã«ã™ã‚‹ç‚ºã«01c8を使ã£ã¦ã¿ã¾ã—ãŸãŒé§„ç›®ã§ã—ãŸã€‚client_packet.txtã®ãƒ‡ãƒ¼ã‚¿ã§ã¯ä½•ã‚‚èµ·ã“らãªã„ã®ã§ä½•æ–¹ãŒæœ¬é¯–ã§ã‚¤ã‚°ãƒ‰ãƒ©ã‚·ãƒ«ã®å®Ÿã‚„イグドラシルã®ç¨®ã‚’使ã£ãŸæ™‚ã®ãƒ‘ケットをæä¾›ã—ã¦ãã‚Œã¾ã›ã‚“ã‹ï¼ŸS 00a7ã®å¾Œ00a8ãŒæ¥ã‚‹ã®ã‹ãã‚Œã¨ã‚‚01c8ãŒæ¥ã‚‹ã®ã‹ã®ç¢ºèªã¨00a8ã®å¾Œã«01c8ãŒæ¥ã‚‹ã®ã‹ã®ç¢ºèªãŒã§ãã‚Œã°ä½•ã¨ã‹ãªã‚‹ã¨æ€ã„ã¾ã™ãŒ... +ãã‚Œã¨01c9ã®å¾Œã«æ¥ã‚‹?.81bãŒã‚ã‹ã‚Œã°ã‚¢ã‚¤ã‚¹ã‚¦ã‚©ãƒ¼ãƒ«ã‚’摺り抜るå•é¡Œã‚‚解決ã§ãã‚‹ã¨æ€ã„ã¾ã™ãŒ... +æƒ…å ±æ供をãŠé¡˜ã„ã—ã¾ã™ã€‚ -------------- //0511 by Diex -EŽw’e‚ÌUŒ‚‰ñ”C³B -Eˆ¢C—…”e–PŒA”™¤‚ªC—û‚𖳎‹‚µA–³‘®«‚É‚È‚é‚悤‚ÉC³B -E‹à„Žg—pŽžAMDEF‚ª³‚µ‚•\Ž¦‚³‚ê‚Ä‚È‚©‚Á‚½ƒoƒO‚ðC³B -E‹CŒ÷‚ÌÁ”ïSP‚ðC³B +・指弾ã®æ”»æ’ƒå›žæ•°ä¿®æ£ã€‚ +・阿修羅覇鳳拳ã€ç™ºå‹ãŒä¿®ç·´ã‚’無視ã—ã€ç„¡å±žæ€§ã«ãªã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・金剛使用時ã€MDEFãŒæ£ã—ã表示ã•ã‚Œã¦ãªã‹ã£ãŸãƒã‚°ã‚’ä¿®æ£ã€‚ +・気功ã®æ¶ˆè²»SPã‚’ä¿®æ£ã€‚ pc.c - pc_calcstatus() C³B + pc_calcstatus() ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack() C³B + battle_calc_weapon_attack() ä¿®æ£ã€‚ skill.c - skill_check_condition() C³B + skill_check_condition() ä¿®æ£ã€‚ - skill_db.txt C³B + skill_db.txt ä¿®æ£ã€‚ -------------- //0510 by Diex -EŽO’i¶‚Ì•\Ž¦ƒoƒOC³ -EŽw’e‚ª‹C’e‚ª–³‚‚Ä‚àŒ‚‚Ä‚éƒoƒO‚ðC³ +・三段掌ã®è¡¨ç¤ºãƒã‚°ä¿®æ£ +・指弾ãŒæ°—å¼¾ãŒç„¡ãã¦ã‚‚æ’ƒã¦ã‚‹ãƒã‚°ã‚’ä¿®æ£ map.h - struct map_session_data‚Éspiritball_old•Ï”’ljÁB + struct map_session_dataã«spiritball_oldå¤‰æ•°è¿½åŠ ã€‚ skill.c - skill_check_condition() C³B + skill_check_condition() ä¿®æ£ã€‚ clif.c - clif_skill_damage3() C³B + clif_skill_damage3() ä¿®æ£ã€‚ battle.c - battle_weapon_attack()Abattle_calc_weapon_attack C³B + battle_weapon_attack()ã€battle_calc_weapon_attack ä¿®æ£ã€‚ -------------- //0509 by -Enpc_warp.txt - ƒvƒé¨ƒvƒƒtƒB[ƒ‹ƒh‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðA - ƒvƒé¨ƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ÉC³B - ƒvƒƒtƒB[ƒ‹ƒh¨ƒvƒé‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðƒvƒƒtƒB[ƒ‹ƒh¨ƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ÉC³ +・npc_warp.txt + プãƒåŸŽâ†’プãƒãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ãªã£ã¦ã„ãŸã®ã‚’〠+ プãƒåŸŽâ†’ヴァルã‚リーレルムã«ä¿®æ£ã€‚ + プãƒãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰â†’プãƒåŸŽã«ãªã£ã¦ã„ãŸã®ã‚’プãƒãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰â†’ヴァルã‚リーレルムã«ä¿®æ£ -------------- -//0508 by Ž€_ +//0508 by æ»ç¥ž -EƒoƒOC³‚Æ‘§A‹CŒ÷A‹C’D‚ÌC³‚ªƒƒCƒ“‚Å‚·B(¡“x‚©‚ç‚Í‘¼‚Ìl‚É‚à‹C‚ª‚¿‚á‚ñ‚ÆŒ©‚¦‚Ü‚·B) -EŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŒoŒ±’l‚ª“ü‚é–â‘èC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB‚Ç‚¤‚È‚Ì‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) +・ãƒã‚°ä¿®æ£ã¨æ¯å¹ã€æ°—功ã€æ°—奪ã®ä¿®æ£ãŒãƒ¡ã‚¤ãƒ³ã§ã™ã€‚(今度ã‹ã‚‰ã¯ä»–ã®äººã«ã‚‚æ°—ãŒã¡ã‚ƒã‚“ã¨è¦‹ãˆã¾ã™ã€‚) +・æ»ã‚“ã ã‚ャラã«çµŒé¨“値ãŒå…¥ã‚‹å•é¡Œä¿®æ£ã€‚(テストã¯ã—ã¦ã¾ã›ã‚“。ã©ã†ãªã®ã‹å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚) pc.h - pc_addspiritball()Apc_delspiritball() ’ljÁB - pc_is50overweight() C³B - pc.c - pc_gainexp() C³B - pc_insert_card()Apc_item_identify() C³B(‘債‚½C³‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª...) - pc_authok() C³B - pc_addspiritball()Apc_delspiritball() ’ljÁB - pc_spiritball_timer() ’ljÁB - do_init_pc()Apc_calcstatus()C³B - pc_spirit_heal() ’ljÁB - pc_natural_heal()‚ÉŠÖ‚í‚镨‚ÌC³B + pc_addspiritball()ã€pc_delspiritball() è¿½åŠ ã€‚ + pc_is50overweight() ä¿®æ£ã€‚ + pc.c + pc_gainexp() ä¿®æ£ã€‚ + pc_insert_card()ã€pc_item_identify() ä¿®æ£ã€‚(大ã—ãŸä¿®æ£ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“ãŒ...) + pc_authok() ä¿®æ£ã€‚ + pc_addspiritball()ã€pc_delspiritball() è¿½åŠ ã€‚ + pc_spiritball_timer() è¿½åŠ ã€‚ + do_init_pc()ã€pc_calcstatus()ä¿®æ£ã€‚ + pc_spirit_heal() è¿½åŠ ã€‚ + pc_natural_heal()ã«é–¢ã‚る物ã®ä¿®æ£ã€‚ map.h - struct map_session_data C³B + struct map_session_data ä¿®æ£ã€‚ map.c - map_quit() C³B - map_addflooritem() C³B + map_quit() ä¿®æ£ã€‚ + map_addflooritem() ä¿®æ£ã€‚ clif.h - clif_spiritball_int()‚ðclif_spiritball()‚É•ÏXB - clif_spiritball_ext() íœB + clif_spiritball_int()ã‚’clif_spiritball()ã«å¤‰æ›´ã€‚ + clif_spiritball_ext() 削除。 clif.c - clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚¦‚ÄC³B - clif_spiritball_ext() íœB - clif_set01e1() ’ljÁB - clif_getareachar_pc() C³B + clif_spiritball_int() ã‚’clif_spiritball()ã«å¤‰ãˆã¦ä¿®æ£ã€‚ + clif_spiritball_ext() 削除。 + clif_set01e1() è¿½åŠ ã€‚ + clif_getareachar_pc() ä¿®æ£ã€‚ skill.h - SC_CALLSPIRITS íœB + SC_CALLSPIRITS 削除。 skill.c - SC_CALLSPIRITS íœB - skill_castend_nodamage_id()Askill_check_condition() C³B - skill_status_change_start() C³B -E°‚É—Ž‚¿‚½ƒAƒCƒeƒ€‚ªÁ‚¦‚é‚Ü‚Å‚ÌŽžŠÔ‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB - battle.hAbattle.c - battle_config_read() C³B - conf_ref.txt C³B - battle_athena.conf C³B + SC_CALLSPIRITS 削除。 + skill_castend_nodamage_id()ã€skill_check_condition() ä¿®æ£ã€‚ + skill_status_change_start() ä¿®æ£ã€‚ +・床ã«è½ã¡ãŸã‚¢ã‚¤ãƒ†ãƒ ãŒæ¶ˆãˆã‚‹ã¾ã§ã®æ™‚é–“ã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚ + battle.hã€battle.c + battle_config_read() ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ -------------- //0507 by Diex -0505‚ÌC³ -EŽO’i¶‚̃GƒtƒFƒNƒgŽÀ‘• +0505ã®ä¿®æ£ +・三段掌ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆå®Ÿè£… -------------- //0506 by hoenny -‘S‘Ì“I‚É‚µŽ®C³ -ƒZƒCƒW‚̃XƒLƒ‹‚ªƒAƒCƒeƒ€‚ðÁ–Õ‚·‚é‚悤‚ÉC³ -(ƒXƒLƒ‹‚ÌDB‚É zeny, spiritball, item, equip‚ð“ü‚ꂽ‚¢‚ªŽžŠÔ‚ª‚È‚‚Ä—ÕŽž“I‚É ...) +全体的ã«å°‘ã—å¼ä¿®æ£ +セイジã®ã‚¹ã‚ルãŒã‚¢ã‚¤ãƒ†ãƒ を消耗ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +(スã‚ルã®DBã« zeny, spiritball, item, equipを入れãŸã„ãŒæ™‚é–“ãŒãªãã¦è‡¨æ™‚çš„ã« ...) -------------- //0505 by Diex -Eˆ¢C—…”e–PŒ‚̃_ƒ[ƒWC³ -E–Ò—´Œ‚̃_ƒ[ƒWC³ -EŽw’eŽÀ‘• -E”™¤ŽÀ‘• -E‹à„‚ªŒ¸ŽZDEF‚ÆŒ¸ŽZMDEF‚ª90‚ɌŒ肳‚ê‚Ä‚¢‚½‚Ì‚ðæŽZDEF‚ÆæŽZMDEF‚ª90‚É‚È‚é‚悤‚ÉC³ -EŽO’i¶ŽÀ‘•i‚½‚¾‚µƒRƒ“ƒ{‚Í–¢ŽÀ‘•j +・阿修羅覇鳳拳ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ä¿®æ£ +・猛é¾æ‹³ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ä¿®æ£ +・指弾実装 +・発å‹å®Ÿè£… +・金剛ãŒæ¸›ç®—DEFã¨æ¸›ç®—MDEFãŒ90ã«å›ºå®šã•ã‚Œã¦ã„ãŸã®ã‚’ä¹—ç®—DEFã¨ä¹—ç®—MDEFãŒ90ã«ãªã‚‹ã‚ˆã†ã«ä¿®æ£ +・三段掌実装(ãŸã ã—コンボã¯æœªå®Ÿè£…) map/clif.c map/clif.h - clif_skill_damage3()’ljÁ + clif_skill_damage3()è¿½åŠ map/pc.c map/skill.c map/battle.c - C³E‹y‚ђljÁ -iŒvŽZŽ®‚Í+ Acolyte Maniax +‚ðŽQl‚É‚µ‚Ü‚µ‚½Bj + ä¿®æ£ãƒ»åŠã³è¿½åŠ +(計算å¼ã¯+ Acolyte Maniax +ã‚’å‚考ã«ã—ã¾ã—ãŸã€‚) -------------- -//0504 by Ž€_ +//0504 by æ»ç¥ž -Eatcommand.c C³B(‚½‚Á‚½2•¶Žš‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B) -atcommnad_gm_only‚ªno‚¶‚á‚È‚‚Ä‚àŽg—pƒŒƒxƒ‹Ý’è‚ð0‚É‚µ‚½ƒRƒ}ƒ“ƒh‚ÍGM‚¶‚á‚È‚¢ƒLƒƒƒ‰‚Å‚àŽg‚¦‚Ü‚·BƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB +・atcommand.c ä¿®æ£ã€‚(ãŸã£ãŸ2æ–‡å—ã‚’è¿½åŠ ã—ãŸã ã‘ã§ã™ã€‚) +atcommnad_gm_onlyãŒnoã˜ã‚ƒãªãã¦ã‚‚使用レベルè¨å®šã‚’0ã«ã—ãŸã‚³ãƒžãƒ³ãƒ‰ã¯GMã˜ã‚ƒãªã„ã‚ャラã§ã‚‚使ãˆã¾ã™ã€‚テストã¯ã—ã¦ã¾ã›ã‚“。 -------------- //0503 by nabe -E¸˜BC³‚ÆLinux—p‚É‚¿‚å‚Á‚Æ•ÏX‚È‚Ç +・精錬修æ£ã¨Linux用ã«ã¡ã‚‡ã£ã¨å¤‰æ›´ãªã© conf/map_athena.conf npc_event_doll.txt, npc_turtle.txt, - //npc_pota.txt€–ڒljÁ - conf/npc_pota.txt’ljÁisocie‚³‚ñì‚̃_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚³‚ñj + //npc_pota.txté …ç›®è¿½åŠ + conf/npc_pota.txtè¿½åŠ ï¼ˆsocieã•ã‚“作ã®ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ãƒã‚¿åã•ã‚“) conf/npc_shop.txt - ƒCƒYƒ‹[ƒh•Ší¤l‚̉¿ŠiC³ + イズルードæ¦å™¨å•†äººã®ä¾¡æ ¼ä¿®æ£ conf/script_athena.conf - 0499‚Å‚Ì•¶Žš‰»‚¯HC³ + 0499ã§ã®æ–‡å—化ã‘ï¼Ÿä¿®æ£ login/login.c - #include <time.h>’ljÁ + #include <time.h>è¿½åŠ map/script.c buildin_getequipname() - ¸˜Bƒƒjƒ…[‚Ìmalloc‚ðC³ + 精錬メニューã®mallocã‚’ä¿®æ£ buildin_getequipisenableref() - ¸˜B‰Â”\ðŒC³iAthefans‚³‚ñ‚ÌðŒ•¶‚É‚µ‚Ä‚Ý‚Ü‚µ‚½j + 精錬å¯èƒ½æ¡ä»¶ä¿®æ£ï¼ˆAthefansã•ã‚“ã®æ¡ä»¶æ–‡ã«ã—ã¦ã¿ã¾ã—ãŸï¼‰ map/skill.c - skill_check_condition()•Ï”錾ˆÊ’u‚Ì•ÏX‚Ì‚Ý + skill_check_condition()変数宣言ä½ç½®ã®å¤‰æ›´ã®ã¿ -------------- -//0502 by Ž€_ +//0502 by æ»ç¥ž -EƒJƒvƒ‰‚Ì‘qŒÉ‚àbattle_athena.conf‚Ìbasic_skill_check‚É‚æ‚Á‚ÄŠî–{ƒXƒLƒ‹‚ª‘«‚è‚È‚‚Ä‚àŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚ÉC³‚µ‚Ü‚µ‚½B(ƒvƒƒ“ƒeƒ‰’†‰›‚̃Jƒvƒ‰‚Ì‚ÝŠm”FB) -EƒNƒFƒXƒgƒXƒLƒ‹‚̎擾‚Í0492‚Ì‚¹‚¢‚Å‚·B0481‚Éskill‚ÌŌオ,2‚¶‚á‚È‚,0‚¾‚Æ‘‚¢‚½‚Ì‚Å‚·‚ª‰½ŒÌ‚©0492‚Å,2‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Å,0‚ÉC³‚µ‚Ü‚µ‚½B -EƒXƒNƒŠƒvƒggetbaseskillcheck‚ðbaseskillcheck‚É•ÏX‚ÆŽ©•ª‚ÅC³‚µ‚Ü‚µ‚½‚ª–½—ß‚ÌŒã‚É‚È‚ñ‚Ì”’l‚à“ü‚ç‚È‚¢ê‡‚̓XƒNƒŠƒvƒg‚ª³‚µ‚ì“®‚µ‚È‚©‚Á‚½‚Ì‚ÅŽg—p‚·‚éꇂÍbaseskillcheck(0)‚É‚µ‚ÄŽg‚í‚È‚¢‚Ƴ‚µ‚¢Œ‹‰Ê‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB -(Ú‚µ‚‚Ínpc_town_kafra.txtŽQÆB) - npc_event_skillget.txt C³B - npc_town_kafra.txt C³B - script.c C³B -EGM_account.txt‚ÉŽ©•ª‚ªƒeƒXƒg‚ׂ̈Ɏg‚Á‚Ä‚¢‚½500000‚ª“ü‚Á‚Ä‚¢‚½‚Ì‚Å휂µ‚Ü‚µ‚½B(GM_account.txtì‚Á‚½——R‚ÍŽ©•ªŸŽè‚ɃAƒJƒEƒ“ƒg‚ðGM‚É‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚·‚éˆ×‚Å‚·B‚‚܂èGM‚Æ‚µ‚Ä•\Ž¦‚³‚ê‚È‚‚Ä‚àGM‚Æ‚µ‚ÄF‚ñ‚ÈŒ ŒÀ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚³‚·‚ª‚ÉGMê—p‚̉EƒNƒŠƒbƒNƒRƒ}ƒ“ƒh‚ÍŽg‚¦‚Ü‚¹‚ñ‚ª... ‚Å‚à‚±‚ê‚ðŠˆ—p‚µ‚Ä‚¢‚é•û‚Í‚¢‚È‚¢‚Ý‚½‚¢‚È‚ñ‚Å‚·‚Ë...) +・カプラã®å€‰åº«ã‚‚battle_athena.confã®basic_skill_checkã«ã‚ˆã£ã¦åŸºæœ¬ã‚¹ã‚ルãŒè¶³ã‚Šãªãã¦ã‚‚使用ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ä¿®æ£ã—ã¾ã—ãŸã€‚(プãƒãƒ³ãƒ†ãƒ©ä¸å¤®ã®ã‚«ãƒ—ラã®ã¿ç¢ºèªã€‚) +・クェストスã‚ルã®å–å¾—ã¯0492ã®ã›ã„ã§ã™ã€‚0481ã«skillã®æœ€å¾ŒãŒ,2ã˜ã‚ƒãªã,0ã ã¨æ›¸ã„ãŸã®ã§ã™ãŒä½•æ•…ã‹0492ã§,2ã«ãªã£ã¦ã„ãŸã®ã§,0ã«ä¿®æ£ã—ã¾ã—ãŸã€‚ +・スクリプトgetbaseskillcheckã‚’baseskillcheckã«å¤‰æ›´ã¨è‡ªåˆ†ã§ä¿®æ£ã—ã¾ã—ãŸãŒå‘½ä»¤ã®å¾Œã«ãªã‚“ã®æ•°å€¤ã‚‚入らãªã„å ´åˆã¯ã‚¹ã‚¯ãƒªãƒ—トãŒæ£ã—ã作動ã—ãªã‹ã£ãŸã®ã§ä½¿ç”¨ã™ã‚‹å ´åˆã¯baseskillcheck(0)ã«ã—ã¦ä½¿ã‚ãªã„ã¨æ£ã—ã„çµæžœã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 +(詳ã—ãã¯npc_town_kafra.txtå‚照。) + npc_event_skillget.txt ä¿®æ£ã€‚ + npc_town_kafra.txt ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ +・GM_account.txtã«è‡ªåˆ†ãŒãƒ†ã‚¹ãƒˆã®ç‚ºã«ä½¿ã£ã¦ã„ãŸ500000ãŒå…¥ã£ã¦ã„ãŸã®ã§å‰Šé™¤ã—ã¾ã—ãŸã€‚(GM_account.txt作ã£ãŸç†ç”±ã¯è‡ªåˆ†å‹æ‰‹ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’GMã«ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ã™ã‚‹ç‚ºã§ã™ã€‚ã¤ã¾ã‚ŠGMã¨ã—ã¦è¡¨ç¤ºã•ã‚Œãªãã¦ã‚‚GMã¨ã—ã¦è‰²ã‚“ãªæ¨©é™ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ã•ã™ãŒã«GM専用ã®å³ã‚¯ãƒªãƒƒã‚¯ã‚³ãƒžãƒ³ãƒ‰ã¯ä½¿ãˆã¾ã›ã‚“ãŒ... ã§ã‚‚ã“れを活用ã—ã¦ã„ã‚‹æ–¹ã¯ã„ãªã„ã¿ãŸã„ãªã‚“ã§ã™ã...) -------------- //0501 by hoenny -E500‚Ì–â‘è“_C³ --HP‰ñ•œ—ÍŒüã,SP‰ñ•œ—ÍŒüã +・500ã®å•é¡Œç‚¹ä¿®æ£ +-HP回復力å‘上,SP回復力å‘上 map/pc.c - pc_natural_heal_hp()C³ - pc_natural_heal_sp()C³ + pc_natural_heal_hp()ä¿®æ£ + pc_natural_heal_sp()ä¿®æ£ -500SP‰ñ•œ—ÍŒüã +500SP回復力å‘上 -------------- //0500 by hoenny -EC“¹‘m‚Ì‘§ŽÀ‘• --Šî–{“I‚ÉÀ‚Á‚½Žž 10•b‚²‚Ƃɉñ•œ‚µ‚Ü‚·. --ŠŽ—Ê‚ª 50%‚ðƒI[ƒo[‚µ‚½ê‡ 20•b‚²‚Ƃɉñ•œ‚µ‚Ü‚·. -EC“¹‘m‚Ì‹C’DŽÀ‘• --‘¼‚ÌC“¹‘m‚ÌŸ†‹…‚à‹zŽû‚ª‰Â”\‚Å‚·. -EC“¹‘m‚Ì‹à„ŽÀ‘• --‹à„ó‘Ô‚Å‚Í‚·‚ׂẴAƒNƒeƒBƒuƒXƒLƒ‹‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚È‚¢‚Å‚·. +・修é“僧ã®æ¯å¹å®Ÿè£… +-基本的ã«åº§ã£ãŸæ™‚ 10秒ã”ã¨ã«å›žå¾©ã—ã¾ã™. +-所æŒé‡ãŒ 50%をオーãƒãƒ¼ã—ãŸå ´åˆ 20秒ã”ã¨ã«å›žå¾©ã—ã¾ã™. +・修é“僧ã®æ°—奪実装 +-ä»–ã®ä¿®é“僧ã®æ°£çƒã‚‚å¸åŽãŒå¯èƒ½ã§ã™. +・修é“僧ã®é‡‘剛実装 +-金剛状態ã§ã¯ã™ã¹ã¦ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–スã‚ルを使ã†ã“ã¨ãŒã§ããªã„ã§ã™. db/skill_db.txt - ‹C’DC³ - ‹à„C³ + æ°—å¥ªä¿®æ£ + é‡‘å‰›ä¿®æ£ map/pc.h - pc_is50overweight()’ljÁ - pc_is90overweight()’ljÁ + pc_is50overweight()è¿½åŠ + pc_is90overweight()è¿½åŠ map/pc.c - pc_calcstatus()C³ - pc_spheal()C³ - pc_hpheal()C³ - pc_natural_heal_hp()C³ - pc_natural_heal_sp()C³ - pc_natural_heal_sub()C³ + pc_calcstatus()ä¿®æ£ + pc_spheal()ä¿®æ£ + pc_hpheal()ä¿®æ£ + pc_natural_heal_hp()ä¿®æ£ + pc_natural_heal_sp()ä¿®æ£ + pc_natural_heal_sub()ä¿®æ£ map/skill.c - skill_check_condition()C³ - skill_castend_nodamage_id()C³ - skill_status_change_start()C³ - --------------- -//0499 by Ž€_ - -EƒT[ƒo[snapshot‚ƃoƒOC³B -EƒXƒeƒB[ƒ‹ƒRƒCƒ“‚̃[ƒj—Ê‚ðƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹*10 + rand(100)‚É•ÏXB -EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ª‚È‚¢ƒXƒLƒ‹‚̓^ƒCƒ}[‚ðŽg‚í‚È‚¢‚悤‚É•ÏXB -EƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚®ˆ×‚ÉC³B(¡“x‚±‚»Ž¡‚Á‚½‚Í‚¸...) ‚»‚µ‚ÄŠg‘勾‚à“¯‚¶‚悤‚È‚±‚Æ‚ª‚Å‚«‚é‚Ì‚ÅC³B(‚±‚ê‚ÍŽIƒ_ƒEƒ“‚Ü‚Å‚Í‹N‚±‚³‚È‚¢‚悤‚Å‚·‚ª...) -EƒLƒƒƒ‰‚Ƀ}ƒbƒv‚̃[ƒh‚ªI‚í‚é‚܂Ńyƒbƒg‚̃f[ƒ^‚ª—ˆ‚È‚¢‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚é–â‘èC³B(–Å‘½‚È‚±‚Æ‚ª‚È‚¢ŒÀ‚è‹N‚±‚ç‚È‚¢‚Å‚·‚¯‚Ç‚ËB) -EƒI[ƒgƒo[ƒT[ƒNAd‚³‚̃AƒCƒRƒ“‚ƃ`ƒFƒbƒN‚ª³‚µ‚“K—p‚³‚ê‚é‚悤‚ÉC³B -E‘‘¬ƒ|[ƒVƒ‡ƒ“‚Ì“K—p‡”Ô•ÏXB¡‚܂ł̓Xƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“‚ªÅ—Dæ‚ÅŽŸ‚ªƒnƒCƒXƒs[ƒhƒ|[ƒVƒ‡ƒ“AŌオƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚¾‚Á‚½‚Ì‚Å‚·‚ª‡”Ô‚ð‹t‚É•ÏX‚µ‚Ü‚µ‚½B -EƒAƒCƒeƒ€‚ÅŽg‚¤ƒXƒLƒ‹‚̓LƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ƃfƒBƒŒƒC‚ª0‚É‚È‚é‚悤‚É•ÏXB -EƒAƒCƒeƒ€‚ÅŽg‚¤ƒXƒLƒ‹‚̃Œƒxƒ‹‚ªitem_db‚Éݒ肵‚Ä‚¢‚郌ƒxƒ‹‚æ‚è‚‚‚È‚éƒoƒOC³B + skill_check_condition()ä¿®æ£ + skill_castend_nodamage_id()ä¿®æ£ + skill_status_change_start()ä¿®æ£ + +-------------- +//0499 by æ»ç¥ž + +・サーãƒãƒ¼snapshotã¨ãƒã‚°ä¿®æ£ã€‚ +・スティールコインã®ã‚¼ãƒ‹é‡ã‚’モンスターレベル*10 + rand(100)ã«å¤‰æ›´ã€‚ +・ã‚ャスティングタイムãŒãªã„スã‚ルã¯ã‚¿ã‚¤ãƒžãƒ¼ã‚’使ã‚ãªã„よã†ã«å¤‰æ›´ã€‚ +・カードã®ä½¿ç”¨ã«ã‚ˆã‚‹ãƒžãƒƒãƒ—鯖ダウンを防ã為ã«ä¿®æ£ã€‚(今度ã“ãæ²»ã£ãŸã¯ãš...) ãã—ã¦æ‹¡å¤§é¡ã‚‚åŒã˜ã‚ˆã†ãªã“ã¨ãŒã§ãã‚‹ã®ã§ä¿®æ£ã€‚(ã“ã‚Œã¯é¯–ダウンã¾ã§ã¯èµ·ã“ã•ãªã„よã†ã§ã™ãŒ...) +・ã‚ャラã«ãƒžãƒƒãƒ—ã®ãƒãƒ¼ãƒ‰ãŒçµ‚ã‚ã‚‹ã¾ã§ãƒšãƒƒãƒˆã®ãƒ‡ãƒ¼ã‚¿ãŒæ¥ãªã„ã¨ãƒžãƒƒãƒ—鯖ãŒè½ã¡ã‚‹å•é¡Œä¿®æ£ã€‚(滅多ãªã“ã¨ãŒãªã„é™ã‚Šèµ·ã“らãªã„ã§ã™ã‘ã©ã。) +・オートãƒãƒ¼ã‚µãƒ¼ã‚¯ã€é‡ã•ã®ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒã‚§ãƒƒã‚¯ãŒæ£ã—ãé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・増速ãƒãƒ¼ã‚·ãƒ§ãƒ³ã®é©ç”¨é †ç•ªå¤‰æ›´ã€‚今ã¾ã§ã¯ã‚¹ãƒ”ードアップãƒãƒ¼ã‚·ãƒ§ãƒ³ãŒæœ€å„ªå…ˆã§æ¬¡ãŒãƒã‚¤ã‚¹ãƒ”ードãƒãƒ¼ã‚·ãƒ§ãƒ³ã€æœ€å¾ŒãŒãƒãƒ¼ã‚µãƒ¼ã‚¯ãƒãƒ¼ã‚·ãƒ§ãƒ³ã ã£ãŸã®ã§ã™ãŒé †ç•ªã‚’逆ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ +・アイテムã§ä½¿ã†ã‚¹ã‚ルã¯ã‚ャスティングタイムã¨ãƒ‡ã‚£ãƒ¬ã‚¤ãŒ0ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・アイテムã§ä½¿ã†ã‚¹ã‚ルã®ãƒ¬ãƒ™ãƒ«ãŒitem_dbã«è¨å®šã—ã¦ã„るレベルより高ããªã‚‹ãƒã‚°ä¿®æ£ã€‚ pc.h - pc_move()‚ðpc_movepos()‚É•ÏXB + pc_move()ã‚’pc_movepos()ã«å¤‰æ›´ã€‚ pc.c - pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A - pc_calcstatus()Apc_checkweighticon()Apc_damage() C³B + pc_steal_coin()ã€pc_insert_card()ã€pc_item_identify()ã€pc_authok()〠+ pc_calcstatus()ã€pc_checkweighticon()ã€pc_damage() ä¿®æ£ã€‚ skill.c - skill_castend_pos2()Askill_check_condition()Askill_use_id()A - skill_use_pos() C³B + skill_castend_pos2()ã€skill_check_condition()ã€skill_use_id()〠+ skill_use_pos() ä¿®æ£ã€‚ pet.c - pet_recv_petdata()Apet_change_name() C³B + pet_recv_petdata()ã€pet_change_name() ä¿®æ£ã€‚ map.h - struct map_session_data‚Éskillitemlv ’ljÁB + struct map_session_dataã«skillitemlv è¿½åŠ ã€‚ script.c - buildin_itemskill() C³B + buildin_itemskill() ä¿®æ£ã€‚ clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A - clif_parse_LoadEndAck() C³B + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos()〠+ clif_parse_LoadEndAck() ä¿®æ£ã€‚ mob.c - mobskill_use_id()Amobskill_use_pos() C³B + mobskill_use_id()ã€mobskill_use_pos() ä¿®æ£ã€‚ -------------- //0498 by hoenny -DŸ†‹…‚ª‚·‚Á‚©‚茩‚¦‚é‚悤‚ÉC³(Á–ÕƒXƒLƒ‹Žg—p‚ÌŽžÁ–Õ‚·‚é‚悤‚ÉC³) -DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ÌŽžŸ†‹…‚ðÁ–Õ‚·‚é‚悤‚ÉC³ +.氣çƒãŒã™ã£ã‹ã‚Šè¦‹ãˆã‚‹ã‚ˆã†ã«ä¿®æ£(消耗スã‚ル使用ã®æ™‚消耗ã™ã‚‹ã‚ˆã†ã«ä¿®æ£) +.スã‚ル残影を使用ã®æ™‚æ°£çƒã‚’消耗ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ doc/client_packet.txt - 0x1d0’ljÁ + 0x1d0è¿½åŠ map/map.h - sd‚Ìstructure‚É spiritball’ljÁ + sdã®structureã« spiritballè¿½åŠ map/clif.h - clif_spiritball_del() -> clif_spiritball_int()C³ - clif_spiritball_cre() -> clif_spiritball_ext()C³ + clif_spiritball_del() -> clif_spiritball_int()ä¿®æ£ + clif_spiritball_cre() -> clif_spiritball_ext()ä¿®æ£ map/clif.c - packet_len_table[]C³ - clif_spiritball_del() -> clif_spiritball_int()C³ - clif_spiritball_cre() -> clif_spiritball_ext()C³ + packet_len_table[]ä¿®æ£ + clif_spiritball_del() -> clif_spiritball_int()ä¿®æ£ + clif_spiritball_cre() -> clif_spiritball_ext()ä¿®æ£ map/pc.h - pc_item_steal() -> pc_steal_item()C³ - pc_coin_steal() -> pc_steal_coin()C³ + pc_item_steal() -> pc_steal_item()ä¿®æ£ + pc_coin_steal() -> pc_steal_coin()ä¿®æ£ map/pc.c - pc_item_steal() -> pc_steal_item()C³ - pc_coin_steal() -> pc_steal_coin()C³ - pc_calcstatus()C³ + pc_item_steal() -> pc_steal_item()ä¿®æ£ + pc_coin_steal() -> pc_steal_coin()ä¿®æ£ + pc_calcstatus()ä¿®æ£ map/skill.c - skill_check_conditon()C³ + skill_check_conditon()ä¿®æ£ -------------- -//0497 by Ž€_ +//0497 by æ»ç¥ž -E0491‚̃XƒLƒ‹Žc‰e‚̃oƒOC³‚ƃXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“AƒXƒiƒbƒ`ƒƒ[‚ÌC³Amob_target‚̃oƒOC³B -EŒðŠ·AÀ‚èAƒp[ƒeƒBŒ‹¬“™‚ÌŽž‚ÉŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³B(battle_athena.conf‚Ń`ƒFƒbƒN‚·‚é‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B) -‚½‚¾ƒJƒvƒ‰‚Ì‘qŒÉ‚̓XƒNƒŠƒvƒg‚ŧŒÀ‚ð‚©‚¯‚邵‚©‚ ‚è‚Ü‚¹‚ñB -EƒXƒNƒŠƒvƒggetbasicskillcheck’ljÁB - Žg—p•û–@„ getbasicskillcheck - –ß‚è’l‚Íbattle_athena.conf‚Ìbasic_skill_check‚Å‚·B0‚Ìꇂ͊î–{ƒXƒLƒ‹‚̃`ƒFƒbƒN‚È‚µ‚Å1‚Ìꇂ͊î–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚Ì‚ðˆÓ–¡‚µ‚Ü‚·B +・0491ã®ã‚¹ã‚ル残影ã®ãƒã‚°ä¿®æ£ã¨ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã¨ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã‚³ã‚¤ãƒ³ã€ã‚¹ãƒŠãƒƒãƒãƒ£ãƒ¼ã®ä¿®æ£ã€mob_targetã®ãƒã‚°ä¿®æ£ã€‚ +・交æ›ã€åº§ã‚Šã€ãƒ‘ーティçµæˆç‰ã®æ™‚ã«åŸºæœ¬ã‚¹ã‚ルをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚(battle_athena.confã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚) +ãŸã カプラã®å€‰åº«ã¯ã‚¹ã‚¯ãƒªãƒ—トã§åˆ¶é™ã‚’ã‹ã‘ã‚‹ã—ã‹ã‚ã‚Šã¾ã›ã‚“。 +・スクリプトgetbasicskillcheckè¿½åŠ ã€‚ + 使用方法> getbasicskillcheck + 戻り値ã¯battle_athena.confã®basic_skill_checkã§ã™ã€‚0ã®å ´åˆã¯åŸºæœ¬ã‚¹ã‚ルã®ãƒã‚§ãƒƒã‚¯ãªã—ã§1ã®å ´åˆã¯åŸºæœ¬ã‚¹ã‚ルをãƒã‚§ãƒƒã‚¯ã™ã‚‹ã®ã‚’æ„味ã—ã¾ã™ã€‚ skill.c - skill_castend_pos2() C³B - skill_additional_effect() C³B + skill_castend_pos2() ä¿®æ£ã€‚ + skill_additional_effect() ä¿®æ£ã€‚ pc.c - pc_move() ’ljÁB - pc_item_steal()Apc_coin_steal() C³B + pc_move() è¿½åŠ ã€‚ + pc_item_steal()ã€pc_coin_steal() ä¿®æ£ã€‚ pc.h - pc_move() ’ljÁB + pc_move() è¿½åŠ ã€‚ map.h - struct mob_data C³B + struct mob_data ä¿®æ£ã€‚ mob.c - mob_spawn() C³B - mob_target() C³B + mob_spawn() ä¿®æ£ã€‚ + mob_target() ä¿®æ£ã€‚ clif.c - clif_pcinsight()Aclif_pcoutsight() C³B - clif_parse_ActionRequest()Aclif_parse_Emotion()A - clif_parse_TradeRequest()Aclif_parse_CreateParty()A - clif_parse_ReplyPartyInvite() C³B - battle_athena.conf C³B - conf_ref.txt C³B + clif_pcinsight()ã€clif_pcoutsight() ä¿®æ£ã€‚ + clif_parse_ActionRequest()ã€clif_parse_Emotion()〠+ clif_parse_TradeRequest()ã€clif_parse_CreateParty()〠+ clif_parse_ReplyPartyInvite() ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ skill_db.txt - ƒXƒeƒB[ƒ‹‚ÌŽË’ö‚ð3‚©‚ç1‚ÉC³B - battle.hAbattle.c - battle_config‚Ébasic_skill_check ’ljÁB - battle_config_read() C³B + スティールã®å°„程を3ã‹ã‚‰1ã«ä¿®æ£ã€‚ + battle.hã€battle.c + battle_configã«basic_skill_check è¿½åŠ ã€‚ + battle_config_read() ä¿®æ£ã€‚ trade.c - trade_traderequest() C³B + trade_traderequest() ä¿®æ£ã€‚ script.c - buildin_getbasicskillcheck() ’ljÁB - map/makefile C³B -¦ƒXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“‚ÌŒvŽZŽ®‚Í“K“–‚Éì‚Á‚½•¨‚Å‚·B–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚©‘S‘R‚í‚©‚ç‚È‚¢‚Ì‚Å... + buildin_getbasicskillcheck() è¿½åŠ ã€‚ + map/makefile ä¿®æ£ã€‚ +※スティールã¨ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã‚³ã‚¤ãƒ³ã®è¨ˆç®—å¼ã¯é©å½“ã«ä½œã£ãŸç‰©ã§ã™ã€‚本鯖ã®æ–¹ãŒã©ã†ãªã®ã‹å…¨ç„¶ã‚ã‹ã‚‰ãªã„ã®ã§... - ƒXƒeƒB[ƒ‹—¦ = (ƒ‚ƒ“ƒXƒ^[‚̃AƒCƒeƒ€drop—¦ * (ƒLƒƒƒ‰ƒŒƒxƒ‹*0.5 + dex*0.4 +ƒXƒLƒ‹ƒŒƒxƒ‹*5))% - ƒXƒeƒB[ƒ‹ƒRƒCƒ“—¦ = (ƒXƒLƒ‹ƒŒƒxƒ‹ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[‚̃Œƒxƒ‹)*0.3 + dex*0.2 + luk*0.2)% - ƒXƒiƒbƒ`ƒƒ[”“®—¦ = (5.5 + ƒXƒLƒ‹ƒŒƒxƒ‹*1.5 +ƒXƒeƒB[ƒ‹‚̃XƒLƒ‹ƒŒƒxƒ‹)% + スティール率 = (モンスターã®ã‚¢ã‚¤ãƒ†ãƒ drop率 * (ã‚ャラレベル*0.5 + dex*0.4 +スã‚ルレベル*5))% + スティールコイン率 = (スã‚ルレベル + (ã‚ャラレベル - モンスターã®ãƒ¬ãƒ™ãƒ«)*0.3 + dex*0.2 + luk*0.2)% + スナッãƒãƒ£ãƒ¼ç™ºå‹•çŽ‡ = (5.5 + スã‚ルレベル*1.5 +スティールã®ã‚¹ã‚ルレベル)% -–{ŽI‚ÌŒvŽZŽ®‚ª‚í‚©‚é•û‚Íî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B -ƒXƒeƒB[ƒ‹ƒRƒCƒ“‚̃[ƒj‚̗ʂ̓‚ƒ“ƒXƒ^[‚̃Œƒxƒ‹*100‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚ɂ‚¢‚Ä‚àî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B -¦Žc‰e‚Ìꇎg‚Á‚½Œã•’Ê‚É•à‚‘O‚ɂ̓yƒbƒg‚Ì‘•”õ‚ªŒ©‚¦‚È‚¢ƒoƒO‚ª‚ ‚è‚Ü‚·‚ªŒ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å•ú’u‚·‚邱‚Æ‚É‚µ‚Ü‚µ‚½B -¦Šî–{ƒXƒLƒ‹‚ª‘«‚è‚È‚¢Žžo‚郃bƒZ[ƒW‚Í–w‚LJ‚킹‚Ä‚¢‚Ü‚·‚ªƒp[ƒeƒB‚É“ü‚鎞‚ÉŠî–{ƒŒƒxƒ‹‚ª‘«‚è‚È‚¢Žž‚ɇ‚¤•¨‚ª‚È‚©‚Á‚½‚̂Ńp[ƒeƒB‚ðì‚ê‚È‚¢(Šî–{ƒXƒLƒ‹ƒŒƒxƒ‹7‚Ì•¨)‚Æ•\Ž¦‚µ‚ÄŠ©—U‚µ‚½•û‚É‚Í‹‘₳‚ꂽ‚Æ•\Ž¦‚³‚ê‚Ü‚·B +本鯖ã®è¨ˆç®—å¼ãŒã‚ã‹ã‚‹æ–¹ã¯æƒ…å ±æ供をãŠé¡˜ã„ã—ã¾ã™ã€‚ +スティールコインã®ã‚¼ãƒ‹ã®é‡ã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ãƒ¬ãƒ™ãƒ«*100ã«ãªã£ã¦ã„ã¾ã™ã€‚ã“ã‚Œã«ã¤ã„ã¦ã‚‚æƒ…å ±æ供をãŠé¡˜ã„ã—ã¾ã™ã€‚ +※残影ã®å ´åˆä½¿ã£ãŸå¾Œæ™®é€šã«æ©ãå‰ã«ã¯ãƒšãƒƒãƒˆã®è£…å‚™ãŒè¦‹ãˆãªã„ãƒã‚°ãŒã‚ã‚Šã¾ã™ãŒåŽŸå› ãŒã‚ã‹ã‚‰ãªã„ã®ã§æ”¾ç½®ã™ã‚‹ã“ã¨ã«ã—ã¾ã—ãŸã€‚ +※基本スã‚ルãŒè¶³ã‚Šãªã„時出るメッセージã¯æ®†ã©åˆã‚ã›ã¦ã„ã¾ã™ãŒãƒ‘ーティã«å…¥ã‚‹æ™‚ã«åŸºæœ¬ãƒ¬ãƒ™ãƒ«ãŒè¶³ã‚Šãªã„時ã«åˆã†ç‰©ãŒãªã‹ã£ãŸã®ã§ãƒ‘ーティを作れãªã„(基本スã‚ルレベル7ã®ç‰©)ã¨è¡¨ç¤ºã—ã¦å‹§èª˜ã—ãŸæ–¹ã«ã¯æ‹’絶ã•ã‚ŒãŸã¨è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ -------------- //0496 by hoenny -DWZ‚̃ƒeƒIƒXƒg[ƒ€ŽÀ‘• -DƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ +.WZã®ãƒ¡ãƒ†ã‚ªã‚¹ãƒˆãƒ¼ãƒ 実装 +ï¼Žã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã‚³ã‚¤ãƒ³ä¿®æ£ db/skill_db.txt - ƒƒeƒIƒXƒg[ƒ€C³ + ãƒ¡ãƒ†ã‚ªã‚¹ãƒˆãƒ¼ãƒ ä¿®æ£ map/pc.c - pc_coin_steal()C³ + pc_coin_steal()ä¿®æ£ map/skill.c - skill_castend_pos2()C³ + skill_castend_pos2()ä¿®æ£ -------------- //495 by nini -EAR‚ª•ÐŽè•€A—¼Žè•€‚Å‚µ‚©”“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí +・ARãŒç‰‡æ‰‹æ–§ã€ä¸¡æ‰‹æ–§ã§ã—ã‹ç™ºå‹•ã—ãªã‹ã£ãŸã¨ã“ã‚ä¿®æ£â†’片手斧ã€ä¸¡æ‰‹æ–§ã€éˆå™¨ map/skill.c - skill_check_condition()@C³ + skill_check_condition()ã€€ä¿®æ£ -‘O‰ñC³‚Ì‚Æ‚«“ÝŠí“ü‚ê–Y‚ê‚Ä‚½‚悤‚Å‚·B +å‰å›žä¿®æ£ã®ã¨ãéˆå™¨å…¥ã‚Œå¿˜ã‚Œã¦ãŸã‚ˆã†ã§ã™ã€‚ -------------- -//0494 by Ž‚Žqo^.^o +//0494 by ç…åo^.^o conf/mpc_warp.txt -Dƒnƒ“ƒ^ˆê“]E’no‚Ä‚¢‚È‚¢C³ +.ãƒãƒ³ã‚¿ä¸€è»¢è·åœ°å‡ºã¦ã„ãªã„ä¿®æ£ -------------- -//0493 by ”g˜Q +//0493 by 波浪 -EscriptC³ - npc_town_comodo.txt ƒRƒ‚ƒhˆÄ“à—vˆõ•”•ª‚ðíœ(npc_town_guide.txt‚Æd•¡‚µ‚Ä‚¢‚½‚Ì‚Å) - npc_town_guide.txt ƒWƒ…ƒm[ˆÄ“à—vˆõ‚ð’ljÁ(viewpoint‚ÌF‚ªc) - npc_town_kafra.txt ƒWƒ…ƒm[ƒJƒvƒ‰•”•ª‚ðnpc_town_yuno.txt‚©‚çˆÚ“® - npc_town_refine.txt ƒWƒ…ƒm[¸˜BŠ•”•ª‚ðnpc_town_yuno.txt‚©‚çˆÚ“® - npc_town_yuno.txt ˆÄ“à—vˆõ‚ƃJƒvƒ‰‚Ƹ˜BŠ•”•ª‚ðíœ - npc_turtle.txt ‰ï˜b‚ð”÷C³ +・scriptä¿®æ£ + npc_town_comodo.txt コモド案内è¦å“¡éƒ¨åˆ†ã‚’削除(npc_town_guide.txtã¨é‡è¤‡ã—ã¦ã„ãŸã®ã§) + npc_town_guide.txt ジュノー案内è¦å“¡ã‚’è¿½åŠ (viewpointã®è‰²ãŒâ€¦) + npc_town_kafra.txt ジュノーカプラ部分をnpc_town_yuno.txtã‹ã‚‰ç§»å‹• + npc_town_refine.txt ジュノー精錬所部分をnpc_town_yuno.txtã‹ã‚‰ç§»å‹• + npc_town_yuno.txt 案内è¦å“¡ã¨ã‚«ãƒ—ラã¨ç²¾éŒ¬æ‰€éƒ¨åˆ†ã‚’削除 + npc_turtle.txt ä¼šè©±ã‚’å¾®ä¿®æ£ -------------- //0492 by Kalen -EscriptC³+’ljÁ +・scriptä¿®æ£+è¿½åŠ - conf/npc_event_doll.txt (V‹K) - conf/npc_turtle.txt (V‹K)‹T“‡ŠÖ˜ANPC+‹T“‡ƒNƒGƒXƒg(qŠC“úŽ)’ljÁ + conf/npc_event_doll.txt (æ–°è¦) + conf/npc_turtle.txt (æ–°è¦)亀島関連NPC+亀島クエスト(航海日誌)è¿½åŠ - conf/npc_event_skillget.txt (C³)‰ž‹}ˆ’u‚Ì•s‹ï‡+‚Ö‚ñ‚Ètabíœetc.. - conf/npc_town_alberta.txt (C³)Turtle•ª—£A‚¿‚Ñ‚ÁŽqíœ(Event_doll‚ÖˆÚ“®) - conf/npc_town_guide.txt (C³)‘䎌‚ª‚©‚È‚è•ÏX‚³‚ê‚Ä‚¢‚½‚Ì‚ÅAC³ + conf/npc_event_skillget.txt (ä¿®æ£)応急処置ã®ä¸å…·åˆ+ã¸ã‚“ãªtab削除etc.. + conf/npc_town_alberta.txt (ä¿®æ£)Turtle分離ã€ã¡ã³ã£å削除(Event_dollã¸ç§»å‹•) + conf/npc_town_guide.txt (ä¿®æ£)å°è©žãŒã‹ãªã‚Šå¤‰æ›´ã•ã‚Œã¦ã„ãŸã®ã§ã€ä¿®æ£ -------------- -//0491 by Ž€_ +//0491 by æ»ç¥ž -EƒXƒLƒ‹Žc‰e(ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Í‹|gœ[‰e)ŽÀ‘•B(‚½‚¾‹C’e‚̃`ƒFƒbƒN‚Í‚µ‚Ä‚Ü‚¹‚ñB) +・スã‚ル残影(韓国クライアントã§ã¯å¼“身彈影)実装。(ãŸã æ°—å¼¾ã®ãƒã‚§ãƒƒã‚¯ã¯ã—ã¦ã¾ã›ã‚“。) pc.h pc.c - pc_can_reach() ’ljÁB + pc_can_reach() è¿½åŠ ã€‚ skill.c - skill_check_condition()Askill_castend_pos2() C³B + skill_check_condition()ã€skill_castend_pos2() ä¿®æ£ã€‚ skill_db.txt - Žc‰eC³B -Escript.c - set_posword() C³B -¦ˆêl‚ŃeƒXƒg‚ÍÏ‚ñ‚Å‚¢‚Ü‚·‚ª‘¼‚Ìl‚ɳ‚µ‚Œ©‚¦‚é‚©‚Ç‚¤‚©‚Í–¢Šm”F‚Å‚·B -•Ï‚È‚Ì‚©‚Ç‚¤‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + 残影修æ£ã€‚ +・script.c + set_posword() ä¿®æ£ã€‚ +※一人ã§ãƒ†ã‚¹ãƒˆã¯æ¸ˆã‚“ã§ã„ã¾ã™ãŒä»–ã®äººã«æ£ã—ã見ãˆã‚‹ã‹ã©ã†ã‹ã¯æœªç¢ºèªã§ã™ã€‚ +変ãªã®ã‹ã©ã†ã‹å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ -------------- //0490 by nabe -EꊃXƒLƒ‹ƒGƒtƒFƒNƒg‚Ń}ƒbƒvŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½‚Ì‚ðC³B +ãƒ»å ´æ‰€ã‚¹ã‚ルエフェクトã§ãƒžãƒƒãƒ—鯖ãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã£ãŸã®ã‚’ä¿®æ£ã€‚ clif.c - clif_skill_poseffect()‚Ì - unsigned char buf[16];‚ðAunsigned char buf[32];‚ÉC³B + clif_skill_poseffect()ã® + unsigned char buf[16];ã‚’ã€unsigned char buf[32];ã«ä¿®æ£ã€‚ -------------- -//0489 by Ž€_ +//0489 by æ»ç¥ž -E0483‚̃oƒOC³Bbattle_athena.conf‚Ìquest_skill_learn‚ª³‚µ‚“K—p‚³‚ê‚é‚悤‚É•ÏX‚Æ–â‘肪‚ ‚Á‚½•”•ª‚ÌC³B(ƒeƒXƒgÏ‚Ý) +・0483ã®ãƒã‚°ä¿®æ£ã€‚battle_athena.confã®quest_skill_learnãŒæ£ã—ãé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã¨å•é¡ŒãŒã‚ã£ãŸéƒ¨åˆ†ã®ä¿®æ£ã€‚(テスト済ã¿) pc.c - pc_calc_skilltree()Apc_skill() C³B + pc_calc_skilltree()ã€pc_skill() ä¿®æ£ã€‚ atcommand.c - @lostskill ‚µC³B -EƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚®‚½‚ß‚É‚µC³B(‚½‚¾ƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ðÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾...Š¾) + @lostskill å°‘ã—ä¿®æ£ã€‚ +・カードã®ä½¿ç”¨ã«ã‚ˆã‚‹ãƒžãƒƒãƒ—鯖ダウンを防ããŸã‚ã«å°‘ã—ä¿®æ£ã€‚(ãŸã カードã®ä½¿ç”¨ã«ã‚ˆã‚‹ãƒžãƒƒãƒ—鯖ダウンをå†ç¾ã§ããªã‹ã£ãŸã®ã§æœ¬å½“ã«æ²»ã£ãŸã‹ã©ã†ã‹ã¯ä¸æ˜Ž...æ±—) pc.c - pc_insert_card() C³B -Epc.h - pc_ishiding() C³B + pc_insert_card() ä¿®æ£ã€‚ +・pc.h + pc_ishiding() ä¿®æ£ã€‚ -------------- //0488 by hoenny -ERG‚̃XƒeƒB[ƒ‹ƒRƒCƒ“ŽÀ‘• -EƒXƒeƒB[ƒ‹C³ -(“ñƒXƒLƒ‹ŠFˆê“xƒXƒ`[ƒ‹‚µ‚½ê‡‚Ü‚½ƒXƒ`[ƒ‹‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢.‚»‚µ‚ăXƒLƒ‹¬Œ÷‚ÌŽžƒ‚ƒ“ƒXƒ^[‚ÍUŒ‚‚·‚é‚悤‚ÉC³‚µ‚½.ƒGƒtƒFƒNƒg‚ͬŒ÷‚ÌŽž‚¾‚¯o‚é‚悤‚ÉC³‚µ‚½.) +・RGã®ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã‚³ã‚¤ãƒ³å®Ÿè£… +ãƒ»ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ä¿®æ£ +(二スã‚ル皆一度スãƒãƒ¼ãƒ«ã—ãŸå ´åˆã¾ãŸã‚¹ãƒãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ããªã„.ãã—ã¦ã‚¹ã‚ルæˆåŠŸã®æ™‚モンスターã¯æ”»æ’ƒã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã—ãŸ.エフェクトã¯æˆåŠŸã®æ™‚ã ã‘出るよã†ã«ä¿®æ£ã—ãŸ.) db/skill_db.txt - ƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ + ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã‚³ã‚¤ãƒ³ä¿®æ£ map/pc.h - pc_coin_steal()’ljÁ + pc_coin_steal()è¿½åŠ map/pc.c - pc_coin_steal()’ljÁ - pc_item_steal()C³ + pc_coin_steal()è¿½åŠ + pc_item_steal()ä¿®æ£ map/skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ -------------- //0487 by hoenny -E485‚Ì–â‘è“_‚¿‚å‚Á‚ÆC³ +・485ã®å•é¡Œç‚¹ã¡ã‚‡ã£ã¨ä¿®æ£ map/pc.c - pc_item_steal()C³ + pc_item_steal()ä¿®æ£ map/skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ -------------- -//0486 by Ž‚Žqo^.^o +//0486 by ç…åo^.^o -db/class_equip_db.txtC³ -—ô‚¯‚½‘å’n‚Ì‘A”R‚¦‚鑾—z‚Ì‘AŠ£‚¢‚Ä‚é•—‚Ì‘AàÒŽ¦˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢–â‘èC³ +db/class_equip_db.txtä¿®æ£ +裂ã‘ãŸå¤§åœ°ã®æ›¸ã€ç‡ƒãˆã‚‹å¤ªé™½ã®æ›¸ã€ä¹¾ã„ã¦ã‚‹é¢¨ã®æ›¸ã€é»˜ç¤ºéŒ²ã€ãƒ—リーストã¯è£…å‚™ã™ã‚‹ã“ã¨ãŒã§ããªã„å•é¡Œä¿®æ£ -------------- //0485 by hoenny -E RG‚̃Xƒiƒbƒ`ƒƒ[ŽÀ‘• -E ƒXƒeƒB[ƒ‹C³ -E ˜I“XŠJÝ‚ÌŽž skill_check_condition‚Åó‘Ô‚ðƒ`ƒFƒN‚·‚é‚悤‚ÉC³ +・ RGã®ã‚¹ãƒŠãƒƒãƒãƒ£ãƒ¼å®Ÿè£… +・ ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ä¿®æ£ +・ 露店開è¨ã®æ™‚ skill_check_conditionã§çŠ¶æ…‹ã‚’ãƒã‚§ã‚¯ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ map/pc.h - pc_ishiding()’ljÁ - pc_item_steal()’ljÁ + pc_ishiding()è¿½åŠ + pc_item_steal()è¿½åŠ map/pc.c - pc_item_steal()’ljÁ + pc_item_steal()è¿½åŠ map/skill.c - skill_castend_nodamage_id()C³ - skill_additional_effect()C³ - skill_check_condition()C³ + skill_castend_nodamage_id()ä¿®æ£ + skill_additional_effect()ä¿®æ£ + skill_check_condition()ä¿®æ£ -------------- -//0484 by ŒÓ’±—– +//0484 by 胡è¶è˜ -EŠo‚¦‚Ä‚È‚¢ƒNƒGƒXƒgƒXƒLƒ‹‚ɃXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚ê‚é–â‘èC³ +・覚ãˆã¦ãªã„クエストスã‚ルã«ã‚¹ã‚ルãƒã‚¤ãƒ³ãƒˆã‚’振れるå•é¡Œä¿®æ£ pc.c - pc_calc_skilltree()‚ŃNƒGƒXƒgƒXƒLƒ‹‚̃`ƒFƒbƒN’ljÁ + pc_calc_skilltree()ã§ã‚¯ã‚¨ã‚¹ãƒˆã‚¹ã‚ルã®ãƒã‚§ãƒƒã‚¯è¿½åŠ skill.c - skill_readdb()‚Åinf2‚ð“ǂނ悤‚ÉC³ + skill_readdb()ã§inf2ã‚’èªã‚€ã‚ˆã†ã«ä¿®æ£ -EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚̃AƒCƒRƒ“‚ªƒƒOƒCƒ“’¼Œã‚É‚Í•\Ž¦‚³‚ê‚È‚¢–â‘èC³ +・ペコペコ騎乗ã€ãƒ•ã‚¡ãƒ«ã‚³ãƒ³ã®ã‚¢ã‚¤ã‚³ãƒ³ãŒãƒã‚°ã‚¤ãƒ³ç›´å¾Œã«ã¯è¡¨ç¤ºã•ã‚Œãªã„å•é¡Œä¿®æ£ clif.c - clif_parse_LoadEndAck()C³ + clif_parse_LoadEndAck()ä¿®æ£ -------------- -//0483 by Ž€_ +//0483 by æ»ç¥ž -E0482‚Ì“K—pB - npc_event_skillget.txt C³B - script.c C³B - skill.c C³B - pc.c C³B +・0482ã®é©ç”¨ã€‚ + npc_event_skillget.txt ä¿®æ£ã€‚ + script.c ä¿®æ£ã€‚ + skill.c ä¿®æ£ã€‚ + pc.c ä¿®æ£ã€‚ -------------- -//0482 by ŒÓ’±—– +//0482 by 胡è¶è˜ -EƒNƒGƒXƒgƒXƒLƒ‹‚̃XƒNƒŠƒvƒg‚µC³ -EƒXƒNƒŠƒvƒggetskilllv‚ðŒÄ‚Ԃƃ}ƒbƒvƒT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ +・クエストスã‚ルã®ã‚¹ã‚¯ãƒªãƒ—ト少ã—ä¿®æ£ +・スクリプトgetskilllvを呼ã¶ã¨ãƒžãƒƒãƒ—サーãƒãƒ¼ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ (conf/) npc_event_skillget.txt - o—ˆ‚邾‚¯•Ï”‚ðŽg‚í‚È‚¢‚悤‚ÉC³i–¢ƒeƒXƒgj + 出æ¥ã‚‹ã ã‘変数を使ã‚ãªã„よã†ã«ä¿®æ£ï¼ˆæœªãƒ†ã‚¹ãƒˆï¼‰ (map/) script.c - buildin_getskilllv()C³ + buildin_getskilllv()ä¿®æ£ -EƒXƒeƒB[ƒ‹‚ÅŽ¸”sŽž‚̃GƒtƒFƒNƒg•ÏX -E“¯‚¶MOB‚É‚Í‚P‰ñ‚µ‚©ƒXƒeƒB[ƒ‹‚Å‚«‚È‚¢‚悤‚ÉC³ +・スティールã§å¤±æ•—時ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆå¤‰æ›´ +・åŒã˜MOBã«ã¯ï¼‘回ã—ã‹ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«ã§ããªã„よã†ã«ä¿®æ£ (map/) skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ map.h - struct mob_data‚Ésteal_countƒƒ“ƒo’ljÁ + struct mob_dataã«steal_countメンãƒè¿½åŠ mob.c - mob_spawn()C³Asteal_count‚ð0‚ɉŠú‰»‚·‚é‚悤‚É + mob_spawn()ä¿®æ£ã€steal_countã‚’0ã«åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã« -EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅHP‚ª32767‚ð’´‚¦‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³i–¢ƒeƒXƒgj +・イドゥンã®æž—檎ã§HPãŒ32767を超ãˆã‚‹ã¨ã‚µãƒ¼ãƒãƒ¼ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ï¼ˆæœªãƒ†ã‚¹ãƒˆï¼‰ (map/) pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ -------------- -//0481 by Ž€_ +//0481 by æ»ç¥ž -E‚±‚ê‚Ì“K—p‚É‚Í‹C‚ð‚‚¯‚Ä‚‚¾‚³‚¢B0478‚̌Ӓ±—–‚³‚ñ‚Ì•¨‚ð Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX‚¹‚¸‚ɃNƒFƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚é‚悤‚Éì‚Á‚½•¨‚Å‚·BŽ©•ª‚ªì‚Á‚Ä‚éÅ’†‚ɌӒ±—–‚³‚ñ‚ª“¯‚¶•¨‚ðƒAƒbƒv‚µ‚Ä‚‚ꂽ‚Ì‚Å‚·‚ªƒf[ƒ^‚Í•Ï‚¦‚È‚¢•û‚ª‚¢‚¢‚ÆŽv‚Á‚ÄŽ©•ª‚Ì•¨‚àƒAƒbƒv‚µ‚Ü‚µ‚½B’ˆÓ‚·‚邱‚Æ‚Í0478‚Ìathena.txt‚ÍŽg‚¦‚È‚¢‚ÆŒ¾‚¤‚±‚Æ‚Å‚·B0478‘O‚Ì•¨‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B -Eskill_db.txt‚Éinf2‚ð’ljÁ‚µ‚Ä‚±‚ê‚ðŽg‚Á‚ăNƒFƒXƒgƒXƒLƒ‹‚©‚Ç‚¤‚©‚ð”»’f‚·‚éŽd‘g‚Ý‚Å‚·B - skill.h C³B +・ã“ã‚Œã®é©ç”¨ã«ã¯æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。0478ã®èƒ¡è¶è˜ã•ã‚“ã®ç‰©ã‚’ Athena.txtã®ãƒ‡ãƒ¼ã‚¿å½¢å¼å¤‰æ›´ã›ãšã«ã‚¯ã‚§ã‚¹ãƒˆã‚¹ã‚ルを覚ãˆã‚‹ã‚ˆã†ã«ä½œã£ãŸç‰©ã§ã™ã€‚自分ãŒä½œã£ã¦ã‚‹æœ€ä¸ã«èƒ¡è¶è˜ã•ã‚“ãŒåŒã˜ç‰©ã‚’アップã—ã¦ãã‚ŒãŸã®ã§ã™ãŒãƒ‡ãƒ¼ã‚¿ã¯å¤‰ãˆãªã„æ–¹ãŒã„ã„ã¨æ€ã£ã¦è‡ªåˆ†ã®ç‰©ã‚‚アップã—ã¾ã—ãŸã€‚注æ„ã™ã‚‹ã“ã¨ã¯0478ã®athena.txtã¯ä½¿ãˆãªã„ã¨è¨€ã†ã“ã¨ã§ã™ã€‚0478å‰ã®ç‰©ã‚’使ã£ã¦ãã ã•ã„。 +・skill_db.txtã«inf2ã‚’è¿½åŠ ã—ã¦ã“れを使ã£ã¦ã‚¯ã‚§ã‚¹ãƒˆã‚¹ã‚ルã‹ã©ã†ã‹ã‚’判æ–ã™ã‚‹ä»•çµ„ã¿ã§ã™ã€‚ + skill.h ä¿®æ£ã€‚ skill.c - skill_readdb()C³‚Æ‚µC³B - skill_get_inf2() ’ljÁB - skill_db.txt C³B - skill_tree.txt C³B(0478‘O‚Ì•¨) + skill_readdb()ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ + skill_get_inf2() è¿½åŠ ã€‚ + skill_db.txt ä¿®æ£ã€‚ + skill_tree.txt ä¿®æ£ã€‚(0478å‰ã®ç‰©) clif.c - clif_skillinfoblock() C³B - char.c C³B(0478‘O‚Ì•¨) -Ebattle_athena.conf‚Équest_skill_learn’ljÁB - battle.h C³B + clif_skillinfoblock() ä¿®æ£ã€‚ + char.c ä¿®æ£ã€‚(0478å‰ã®ç‰©) +・battle_athena.confã«quest_skill_learnè¿½åŠ ã€‚ + battle.h ä¿®æ£ã€‚ battle.c - battle_config_read() C³B - battle_athena.conf C³B -E/resetskill‚ðbattle_athena.conf‚Équest_skill_learn‚ÌÝ’è‚ɇ‚킹‚Äquest_skill_learn‚ªyes‚Ìꇂ̓XƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚µ‚Äquest_skill_learn‚ªno‚Ȃ烊ƒZƒbƒg‚Í‚³‚ê‚邪ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚³‚ê‚Ü‚¹‚ñB + battle_config_read() ä¿®æ£ã€‚ + battle_athena.conf ä¿®æ£ã€‚ +・/resetskillã‚’battle_athena.confã«quest_skill_learnã®è¨å®šã«åˆã‚ã›ã¦quest_skill_learnãŒyesã®å ´åˆã¯ã‚¹ã‚ルãƒã‚¤ãƒ³ãƒˆã«åŠ ç®—ã—ã¦quest_skill_learnãŒnoãªã‚‰ãƒªã‚»ãƒƒãƒˆã¯ã•ã‚Œã‚‹ãŒã‚¹ã‚ルãƒã‚¤ãƒ³ãƒˆã«åŠ ç®—ã•ã‚Œã¾ã›ã‚“。 pc.c - pc_skill()Apc_resetskill() C³‚Æ‚µC³B - pc.h C³B - atcommand.c C³B - atcommnad_athena.conf C³B -EƒXƒNƒŠƒvƒg‚ÌskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚é‚Ì‚Í“¯‚¶‚Å‚·‚ªÅŒã‚̃tƒ‰ƒO‚ª2‚©‚ç0‚É•Ï‚í‚Á‚Ä‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B - npc_test_skill.txt C³B - npc_event_skillget.txt C³B - conf_ref.txt C³B - client_packet.txt C³B + pc_skill()ã€pc_resetskill() ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ + pc.h ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ + atcommnad_athena.conf ä¿®æ£ã€‚ +・スクリプトã®skillコマンドã§ã‚¯ã‚¨ã‚¹ãƒˆã‚¹ã‚ルを覚ãˆã‚‰ã‚Œã‚‹ã®ã¯åŒã˜ã§ã™ãŒæœ€å¾Œã®ãƒ•ãƒ©ã‚°ãŒ2ã‹ã‚‰0ã«å¤‰ã‚ã£ã¦ã¾ã™ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„。 + npc_test_skill.txt ä¿®æ£ã€‚ + npc_event_skillget.txt ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ + client_packet.txt ä¿®æ£ã€‚ -------------- //0480 by Kalen -EEventskill’ljÁ +・Eventskillè¿½åŠ conf/npc_event_skillget.txt -Emap_athena.conf•ÏX - warp.txt‚Ì“Ç‚Ýž‚Ý—Dæ“x‚ð•ÏX - prt_castle“™A‹ŒEP‚̃[ƒv‚ƈقȂéꊂɕÏX‚³‚ê‚½ê‡ - æ‚É“Ç‚Ýž‚ñ‚¾•û‚ª—D悳‚ê‚é‚Ì‚ÅAEP‚Ì‚‚¢‡‚Ì‚ª‚æ‚낵‚¢‚©‚Æ +・map_athena.conf変更 + warp.txtã®èªã¿è¾¼ã¿å„ªå…ˆåº¦ã‚’変更 + prt_castleç‰ã€æ—§EPã®ãƒ¯ãƒ¼ãƒ—ã¨ç•°ãªã‚‹å ´æ‰€ã«å¤‰æ›´ã•ã‚ŒãŸå ´åˆ + å…ˆã«èªã¿è¾¼ã‚“ã æ–¹ãŒå„ªå…ˆã•ã‚Œã‚‹ã®ã§ã€EPã®é«˜ã„é †ã®ãŒã‚ˆã‚ã—ã„ã‹ã¨ conf/map_athena.conf -------------- -//0478 by ŒÓ’±—– +//0478 by 胡è¶è˜ *** - Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX!! (Ž©“®“I‚É•ÏŠ·‚³‚ê‚Ü‚·) - ƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚É! + Athena.txtã®ãƒ‡ãƒ¼ã‚¿å½¢å¼å¤‰æ›´!! (自動的ã«å¤‰æ›ã•ã‚Œã¾ã™) + ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を忘れãšã«! Data format of athena.txt is changed!! (convert automatically) DONT FORGET BACKUP!! *** -EƒNƒGƒXƒgƒXƒLƒ‹ŽÀ‘• -EƒXƒNƒŠƒvƒg‚ŃXƒLƒ‹ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚Å‚«‚é‚悤‚É - EƒXƒNƒŠƒvƒg‚ÌskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚Ü‚·B - Žg—p•û–@„ skill ƒXƒLƒ‹ID,ƒXƒLƒ‹LV[,ƒtƒ‰ƒO] - ƒtƒ‰ƒO‚ÍÈ—ª‰Â”\‚ÅAÈ—ª‚·‚é‚Æ‚P‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B - ‚P‚Å‘•”õ•i‚É‚æ‚éˆêŽž“I‚ÈK“¾A‚Q‚ŃNƒGƒXƒg‚É‚æ‚éP‹v“I‚ÈK“¾‚Å‚·B - P‹v“I‚ÈK“¾‚Ìê‡Askill_tree.txt‚Ɉˑ¶‚µ‚Ü‚· - EgetskilllvƒRƒ}ƒ“ƒh’ljÁ - Žg—p•û–@„ getskilllv(ƒXƒLƒ‹ID) –ß‚è’l‚̓Œƒxƒ‹‚Å‚·B0‚Å–¢K“¾B +・クエストスã‚ル実装 +・スクリプトã§ã‚¹ã‚ルレベルをãƒã‚§ãƒƒã‚¯ã§ãるよã†ã« + ・スクリプトã®skillコマンドã§ã‚¯ã‚¨ã‚¹ãƒˆã‚¹ã‚ルを覚ãˆã‚‰ã‚Œã¾ã™ã€‚ + 使用方法> skill スã‚ルID,スã‚ルLV[,フラグ] + フラグã¯çœç•¥å¯èƒ½ã§ã€çœç•¥ã™ã‚‹ã¨ï¼‘を指定ã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã€‚ + 1ã§è£…å‚™å“ã«ã‚ˆã‚‹ä¸€æ™‚çš„ãªç¿’å¾—ã€ï¼’ã§ã‚¯ã‚¨ã‚¹ãƒˆã«ã‚ˆã‚‹æ’ä¹…çš„ãªç¿’å¾—ã§ã™ã€‚ + æ’ä¹…çš„ãªç¿’å¾—ã®å ´åˆã€skill_tree.txtã«ä¾å˜ã—ã¾ã™ + ・getskilllvã‚³ãƒžãƒ³ãƒ‰è¿½åŠ + 使用方法> getskilllv(スã‚ルID) 戻り値ã¯ãƒ¬ãƒ™ãƒ«ã§ã™ã€‚0ã§æœªç¿’得。 (conf/) npc_test_skill.txt - ƒTƒ“ƒvƒ‹ + サンプル (db/) skill_tree.txt - ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚µ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’èB + クエストスã‚ルã¨ã—ã¦å¿…è¦ã‚¹ã‚ルIDã«-1ã‚’è¨å®šã€‚ (char/) char.c - ƒtƒ‰ƒO‚àathena.txt‚É•Û‘¶‚·‚é‚悤‚ÉB - ˆÈ‘O‚ÌŒ`Ž®‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚Ü‚·B + フラグもathena.txtã«ä¿å˜ã™ã‚‹ã‚ˆã†ã«ã€‚ + 以å‰ã®å½¢å¼ã®ãƒ‡ãƒ¼ã‚¿ã‚‚èªã¿è¾¼ã‚ã¾ã™ã€‚ (map/) pc.c/pc.h - pc_skill(),pc_calc_skilltree()‚È‚ÇC³ + pc_skill(),pc_calc_skilltree()ãªã©ä¿®æ£ script.c - buildin_skill(),buildin_getskillid()‚È‚ÇC³ + buildin_skill(),buildin_getskillid()ãªã©ä¿®æ£ -E@questskill,@lostskill’ljÁ - E@questskill ƒXƒLƒ‹ID ‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹‚Ì‚Ý) - E@lostskill ƒXƒLƒ‹ID ‚ŃXƒLƒ‹‚ð–Y‚ê‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹ˆÈŠO‚àOK) +・@questskill,@lostskillè¿½åŠ + ・@questskill スã‚ルID ã§ã‚¯ã‚¨ã‚¹ãƒˆã‚¹ã‚ルを覚ãˆã¾ã™ã€‚(クエストスã‚ルã®ã¿) + ・@lostskill スã‚ルID ã§ã‚¹ã‚ルを忘れã¾ã™ã€‚(クエストスã‚ル以外もOK) atcommand.c/atcommand.h - struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’ljÁ - @questskill,@lostskillˆ—’ljÁ + struct Atcommand_Configã«lostskill,questskillメンãƒè¿½åŠ + @questskill,@lostskill処ç†è¿½åŠ -------------- //0477 by nabe -Eˆê•”•Ï”‚Ì錾ˆÊ’u‚Ì•ÏX‚Ì‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚µ‚â‚·‚¢‚悤‚ÉjB +・一部変数ã®å®£è¨€ä½ç½®ã®å¤‰æ›´ã®ã¿ï¼ˆLinuxç‰ã§ã‚³ãƒ³ãƒ‘イルã—ã‚„ã™ã„よã†ã«ï¼‰ã€‚ atcommand.c,battle.c,clif.c,mob.c,npc.c,skill.c -------------- //0476 by nabe -Econf/ ‚¿‚å‚Á‚Æ®— - conf/map_athena.confC³B - tortoise.txt‚ðnpc_town_alberta.txt’†‚Ɉړ®B - npc_script2.txt‚̃Rƒ‚ƒhƒKƒCƒh‚ðnpc_town_comodo.txt’†‚Ɉړ®B +・conf/ ã¡ã‚‡ã£ã¨æ•´ç† + conf/map_athena.confä¿®æ£ã€‚ + tortoise.txtã‚’npc_town_alberta.txtä¸ã«ç§»å‹•ã€‚ + npc_script2.txtã®ã‚³ãƒ¢ãƒ‰ã‚¬ã‚¤ãƒ‰ã‚’npc_town_comodo.txtä¸ã«ç§»å‹•ã€‚ -Enpc‚ªƒLƒƒƒ‰–¼‚ð’‚é‚Æ‚«‚̃oƒOC³ +・npcãŒã‚ャラåã‚’å–‹ã‚‹ã¨ãã®ãƒã‚°ä¿®æ£ map/script.c - buildin_strcharinfo()‚ŃLƒƒƒ‰–¼—p‚̃ƒ‚ƒŠ‚ð - static‚ÉŠm•Û‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðAmalloc‚ÉC³B + buildin_strcharinfo()ã§ã‚ャラå用ã®ãƒ¡ãƒ¢ãƒªã‚’ + staticã«ç¢ºä¿ã—ã¦ã—ã¾ã£ã¦ã„ãŸã®ã‚’ã€mallocã«ä¿®æ£ã€‚ -------------- //0475 by hoenny -“D–_‚̃XƒeƒB[ƒ‹ŽÀ‘•B -ƒMƒ‹ƒh¶¬‚ÌŽžƒGƒ“ƒyƒŠƒEƒ€Á–Õ‚·‚é‚悤‚ÉC³B +泥棒ã®ã‚¹ãƒ†ã‚£ãƒ¼ãƒ«å®Ÿè£…。 +ギルド生æˆã®æ™‚エンペリウム消耗ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ map/guild.c - guild_create()C³B - guild_created()C³B + guild_create()ä¿®æ£ã€‚ + guild_created()ä¿®æ£ã€‚ map/skill.c - skill_castend_nodamage_id()C³B + skill_castend_nodamage_id()ä¿®æ£ã€‚ -------------- -//0474 by Ž€_ +//0474 by æ»ç¥ž -E0471‚̸—û‚ÌŽž•\Ž¦‚³‚ê‚镶Žš‚ÌÝ’è‚ðmap_athena.conf‚©‚çscript_athena.conf‚É•ÏXB +・0471ã®ç²¾ç·´ã®æ™‚表示ã•ã‚Œã‚‹æ–‡å—ã®è¨å®šã‚’map_athena.confã‹ã‚‰script_athena.confã«å¤‰æ›´ã€‚ script.c - do_init_script() C³‚Æ‚µC³B - script.h C³B - script_athena.conf ’ljÁB - map_athena.conf C³B + do_init_script() ä¿®æ£ã¨å°‘ã—ä¿®æ£ã€‚ + script.h ä¿®æ£ã€‚ + script_athena.conf è¿½åŠ ã€‚ + map_athena.conf ä¿®æ£ã€‚ map.c - map_config_read() C³B -EŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXŽÀ‘•‚Æ‚µŽd—l•ÏXB -ƒ‰ƒ“ƒ_ƒ€‚ŃAƒCƒeƒ€‚𓾂镨‚ɃfƒtƒHƒ‹ƒg‚Åo‚éƒAƒCƒeƒ€‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB¡‚ÌŽd—l‚Å‚Í1000‰ñ‚܂ŃAƒCƒeƒ€‚ª‘I‘ð‚³‚ê‚È‚©‚Á‚½‚çƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚ªo‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·BƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚ª0‚Ìꇂ̓AƒCƒeƒ€‚𓾂ç‚ê‚Ü‚¹‚ñB -Ý’è‚·‚éŠm—¦‚ð*1000‚©‚ç*10000‚É•ÏXB‚½‚¾item_~.txt‚ÌC³‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñB’N‚©‚â‚Á‚Ä‚‚¾‚³‚¢B(‘¼—Í–{Šè) + map_config_read() ä¿®æ£ã€‚ +・å¤ã„巻物ã€ãƒ—レゼントボックス実装ã¨å°‘ã—仕様変更。 +ランダムã§ã‚¢ã‚¤ãƒ†ãƒ を得る物ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§å‡ºã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚今ã®ä»•æ§˜ã§ã¯1000回ã¾ã§ã‚¢ã‚¤ãƒ†ãƒ ãŒé¸æŠžã•ã‚Œãªã‹ã£ãŸã‚‰ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ã‚¤ãƒ†ãƒ ãŒå‡ºã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚デフォルトアイテムãŒ0ã®å ´åˆã¯ã‚¢ã‚¤ãƒ†ãƒ を得られã¾ã›ã‚“。 +è¨å®šã™ã‚‹ç¢ºçŽ‡ã‚’*1000ã‹ã‚‰*10000ã«å¤‰æ›´ã€‚ãŸã item_~.txtã®ä¿®æ£ã¯ã‚„ã£ã¦ã„ã¾ã›ã‚“。誰ã‹ã‚„ã£ã¦ãã ã•ã„。(他力本願) itemdb.c - temdb_read_randomitem() C³B - itemdb_searchrandomid() C³B - item_purplebox.txt ‚©‚ç item_violetbox.txt ‚ÉC³B - item_giftbox.txtAitem_scroll.txt ’ljÁB(move‚³‚ñ‚ ‚肪‚Æ‚¤B) + temdb_read_randomitem() ä¿®æ£ã€‚ + itemdb_searchrandomid() ä¿®æ£ã€‚ + item_purplebox.txt ã‹ã‚‰ item_violetbox.txt ã«ä¿®æ£ã€‚ + item_giftbox.txtã€item_scroll.txt è¿½åŠ ã€‚(moveã•ã‚“ã‚ã‚ŠãŒã¨ã†ã€‚) item_db.txt - ŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX C³B -Etrade.c - trade_tradecommit() C³Bpc_delitem()‚ðŽg‚¤‚悤‚É•ÏXB -¦ƒeƒXƒg‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚‚¾‚³‚¢B + å¤ã„巻物ã€ãƒ—レゼントボックス ä¿®æ£ã€‚ +・trade.c + trade_tradecommit() ä¿®æ£ã€‚pc_delitem()を使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ +※テストã¯ã‚„ã£ã¦ã„ã¾ã›ã‚“ã®ã§å•é¡ŒãŒã‚ã£ãŸã‚‰å ±å‘Šã—ã¦ãã ã•ã„。 -------------- //0473 by Kuro -Eclass_equip_db‚ðˆê•”C³ +・class_equip_dbã‚’ä¸€éƒ¨ä¿®æ£ db/class_equip_db.txt -------------- //0471 by hoenny -»˜B‚ÌŽžo‚镶‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½.(map_athena.conf‚Å’²ß‰Â”\) -‹CŒ÷‚Ì”Žš‚ªŽsœD‚ÌŽžŽÀÛ…˜H•\Ž¦}—ÎC³ +製錬ã®æ™‚出る文を変ãˆã‚‹ã“ã¨ãŒã§ãるよã†ã«ã—ã¾ã—ãŸ.(map_athena.confã§èª¿ç¯€å¯èƒ½) +気功ã®æ•°å—ãŒå¸‚å»›ã®æ™‚å®Ÿéš›æ°´è·¯è¡¨ç¤ºå›³ç·‘ä¿®æ£ conf/map_athena.conf - refine_posword:’ljÁB + refine_posword:è¿½åŠ ã€‚ map/map.c - map_config_read()C³B + map_config_read()ä¿®æ£ã€‚ map/script.h - do_set_posword()’ljÁB + do_set_posword()è¿½åŠ ã€‚ map/script.c - do_set_posword()’ljÁB - buildin_getequipname()C³B + do_set_posword()è¿½åŠ ã€‚ + buildin_getequipname()ä¿®æ£ã€‚ map/skill.c - skill_status_change_start()C³B + skill_status_change_start()ä¿®æ£ã€‚ -------------- -//0470 by Ž€_ +//0470 by æ»ç¥ž -E»‘¢‚ÌŽž‘®«Î‚ª“ñ“xŒ¸‚é–â‘èC³B(ŽÀ‚Í“ñ“xŒ¸‚é‚悤‚ÉŒ©‚¦‚邾‚¯‚Ń}ƒbƒv‚ðˆÚ“®‚·‚é‚Ƴ‚µ‚•\Ž¦‚³‚ê‚Ü‚·‚ª...) - pc.hApc.c - pc_delitem() C³B - npc.cAscript.cAstorage.cApet.c - pc_delitem()‚ð‘S‚ÄC³B +ãƒ»è£½é€ ã®æ™‚属性石ãŒäºŒåº¦æ¸›ã‚‹å•é¡Œä¿®æ£ã€‚(実ã¯äºŒåº¦æ¸›ã‚‹ã‚ˆã†ã«è¦‹ãˆã‚‹ã ã‘ã§ãƒžãƒƒãƒ—を移動ã™ã‚‹ã¨æ£ã—ã表示ã•ã‚Œã¾ã™ãŒ...) + pc.hã€pc.c + pc_delitem() ä¿®æ£ã€‚ + npc.cã€script.cã€storage.cã€pet.c + pc_delitem()ã‚’å…¨ã¦ä¿®æ£ã€‚ skill.c - skill_produce_mix() C³B + skill_produce_mix() ä¿®æ£ã€‚ -------------- -//469 by ”g˜Q +//469 by 波浪 -Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚̃‚ƒ“ƒX–¼‚ðC³ -Eitem_db.txt‚̉ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ðƒWƒ…ƒm[Œã‚Ì‚à‚Ì‚ÉC³ +・npc_mob_job.txtã€npc_monster.txtã€npc_monster30.txtã€mob_db.txtã®ãƒ¢ãƒ³ã‚¹åã‚’ä¿®æ£ +・item_db.txtã®å›žå¾©ã‚¢ã‚¤ãƒ†ãƒ ã®å›žå¾©é‡ã‚’ジュノー後ã®ã‚‚ã®ã«ä¿®æ£ -------------- //468 by Kuro -E–‚Œ•»ìƒNƒGƒXƒg’ljÁ +・é”å‰£è£½ä½œã‚¯ã‚¨ã‚¹ãƒˆè¿½åŠ conf/npc_event_ma_sword.txt -------------- //467 by nini -EBB‚ª—¼ŽèŒ•‚Å‚µ‚©”“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨‚·‚ׂĂ̕Ší‚Å -EAR‚ª—¼Žè•€‚Å‚µ‚©”“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí -EƒXƒsƒAƒNƒCƒbƒPƒ“”“®‚ð‘„‚¾‚¯‚É -EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢‚à‚̂ɃOƒ‰ƒ“ƒhƒNƒƒXAƒ[ƒO‚̃XƒgƒŠƒbƒvƒVƒŠ[ƒY’ljÁ -EƒuƒŠƒbƒcƒr[ƒg‚ªƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚³‚ê‚È‚‚È‚Á‚Ä‚½“_C³ +・BBãŒä¸¡æ‰‹å‰£ã§ã—ã‹ç™ºå‹•ã—ãªã‹ã£ãŸã¨ã“ã‚ä¿®æ£â†’ã™ã¹ã¦ã®æ¦å™¨ã§ +・ARãŒä¸¡æ‰‹æ–§ã§ã—ã‹ç™ºå‹•ã—ãªã‹ã£ãŸã¨ã“ã‚ä¿®æ£â†’片手斧ã€ä¸¡æ‰‹æ–§ã€éˆå™¨ +・スピアクイッケン発動をæ§ã ã‘ã« +・ã‚ャストã‚ャンセルã•ã‚Œãªã„ã‚‚ã®ã«ã‚°ãƒ©ãƒ³ãƒ‰ã‚¯ãƒã‚¹ã€ãƒãƒ¼ã‚°ã®ã‚¹ãƒˆãƒªãƒƒãƒ—ã‚·ãƒªãƒ¼ã‚ºè¿½åŠ +・ブリッツビートãŒã‚ャストã‚ャンセルã•ã‚Œãªããªã£ã¦ãŸç‚¹ä¿®æ£ map/skill.c - skill_use_id()@C³ - skill_check_condition()@C³ -E2-2EƒXƒLƒ‹‚̃LƒƒƒXƒgEƒfƒBƒŒƒC’ljÁ + skill_use_id()ã€€ä¿®æ£ + skill_check_condition()ã€€ä¿®æ£ +・2-2è·ã‚¹ã‚ルã®ã‚ãƒ£ã‚¹ãƒˆãƒ»ãƒ‡ã‚£ãƒ¬ã‚¤è¿½åŠ db/cast_db.txt -------------- //466 by hoenny -Eˆ¢C—…”e–PŒC³(ŒöŽ®C³‹y‚Ñ spÁ–Õ‚ª‚·‚®Œ©‚¦‚é‚悤‚É) -E’~‹C‚ÌŽž‹C’e‚ªŒ©‚¦‚é‚悤‚ÉC³(Mr.NO NAME—l‚̃pƒPî•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·.‹C’e‚ªÁ‚¦‚éƒpƒPî•ñ‚ª•s‘«‚Å‚·.) -EƒpƒŠ‚̉H‚âƒeƒŒƒ|[ƒg1‚ð˜A‘±Žg—p‚ÌŽž,ŽIƒI[ƒo[‚ª”¶‚µ‚È‚¢‚悤‚ɉ¼‰‚ß‚ÅC³ +・阿修羅覇鳳拳修æ£(å…¬å¼ä¿®æ£åŠã³ sp消耗ãŒã™ã見ãˆã‚‹ã‚ˆã†ã«) +・蓄気ã®æ™‚æ°—å¼¾ãŒè¦‹ãˆã‚‹ã‚ˆã†ã«ä¿®æ£(Mr.NO NAME様ã®ãƒ‘ã‚±æƒ…å ±ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™.æ°—å¼¾ãŒæ¶ˆãˆã‚‹ãƒ‘ã‚±æƒ…å ±ãŒä¸è¶³ã§ã™.) +・パリã®ç¾½ã‚„テレãƒãƒ¼ãƒˆ1を連続使用ã®æ™‚,鯖オーãƒãƒ¼ãŒç™ºç”Ÿã—ãªã„よã†ã«ä»®åˆã‚ã§ä¿®æ£ doc/client_packet.txt - 0x1e1ƒpƒPî•ñ’ljÁ + 0x1e1ãƒ‘ã‚±æƒ…å ±è¿½åŠ map/battle.c - battle_calc_weapon_attack()C³ + battle_calc_weapon_attack()ä¿®æ£ map/clif.h - clif_spiritball_cre()’ljÁ - clif_spiritball_del()’ljÁ + clif_spiritball_cre()è¿½åŠ + clif_spiritball_del()è¿½åŠ map/clif.c - packet_len_table[]C³ - clif_spiritball_cre()’ljÁ - clif_spiritball_del()’ljÁ - clif_changemap()C³ + packet_len_table[]ä¿®æ£ + clif_spiritball_cre()è¿½åŠ + clif_spiritball_del()è¿½åŠ + clif_changemap()ä¿®æ£ map/skill.c - skill_castend_nodamage_id()C³ - skill_check_condition()C³ + skill_castend_nodamage_id()ä¿®æ£ + skill_check_condition()ä¿®æ£ -------------- -//0465 by Ž€_ +//0465 by æ»ç¥ž -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ƃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚̃oƒOC³B(ƒuƒŠƒbƒcƒr[ƒg‚Í•ñ‚Í‚È‚©‚Á‚½‚Ì‚Å‚·‚ª•ªÍ‚µ‚½‚ç–â‘肪‚ ‚Á‚½‚Ì‚ÅC³B) +・リザレクションã¨ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã€ãƒ–リッツビートã®ãƒã‚°ä¿®æ£ã€‚(ブリッツビートã¯å ±å‘Šã¯ãªã‹ã£ãŸã®ã§ã™ãŒåˆ†æžã—ãŸã‚‰å•é¡ŒãŒã‚ã£ãŸã®ã§ä¿®æ£ã€‚) skill.c - skill_use_id() C³B - skill_castend_nodamage_id() C³B -E0455‚ÌNPC‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B - npc_event_ice.txt C³B - npc_event_potion.txt C³B - npc_town_geffen.txt C³Bi454‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj -E0451‚̃¿ƒ}ƒbƒv‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B•K—v‚È•û‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚ð‚È‚‚µ‚ÄŽg‚Á‚Ä‚‚¾‚³‚¢B - map_athena.conf C³B -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Í0442‚Ì–â‘è‚ŃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í0445‚Ì–â‘è‚Å‚µ‚½B‚»‚ê‚Æ0445‚ÌC³‚ŃXƒLƒ‹”Ô†‚ðenum‚Å錾‚µ‚½•¶Žš‚É•Ï‚¦‚Ä‚¢‚Ü‚·‚ª‚»‚ê‚É—Ž‚Æ‚µ‚ª‚ ‚é‚悤‚Å‚·B(ƒnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í‚»‚Ì‚¹‚¢‚Å‚µ‚½B)‘O‚̔Ԇƒ\[ƒX‚Æ”ä‚ׂĖâ‘肪‚ ‚é•”•ª‚ÍC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚¿‚å‚Á‚Æ–Ê“|‚Å‚·‚ª... + skill_use_id() ä¿®æ£ã€‚ + skill_castend_nodamage_id() ä¿®æ£ã€‚ +・0455ã®NPCã‚’å…ƒã«æˆ»ã—ã¾ã—ãŸã€‚ + npc_event_ice.txt ä¿®æ£ã€‚ + npc_event_potion.txt ä¿®æ£ã€‚ + npc_town_geffen.txt ä¿®æ£ã€‚(454ã®ç‰©ã«æˆ»ã—ã¾ã—ãŸã€‚) +・0451ã®Î±ãƒžãƒƒãƒ—をコマントアウトã—ã¾ã—ãŸã€‚å¿…è¦ãªæ–¹ã¯ã‚³ãƒžãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’ãªãã—ã¦ä½¿ã£ã¦ãã ã•ã„。 + map_athena.conf ä¿®æ£ã€‚ +・リザレクションã¯0442ã®å•é¡Œã§ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã€ãƒ–リッツビートã¯0445ã®å•é¡Œã§ã—ãŸã€‚ãã‚Œã¨0445ã®ä¿®æ£ã§ã‚¹ã‚ル番å·ã‚’enumã§å®£è¨€ã—ãŸæ–‡å—ã«å¤‰ãˆã¦ã„ã¾ã™ãŒãã‚Œã«è½ã¨ã—ãŒã‚るよã†ã§ã™ã€‚(ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã€ãƒ–リッツビートã¯ãã®ã›ã„ã§ã—ãŸã€‚)å‰ã®ç•ªå·ã‚½ãƒ¼ã‚¹ã¨æ¯”ã¹ã¦å•é¡ŒãŒã‚る部分ã¯ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã¡ã‚‡ã£ã¨é¢å€’ã§ã™ãŒ... -------------- -//464 by ”g˜Q +//464 by 波浪 -Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ì•”•ª‚ɂ‚¢‚ÄC³(–¢ŽÀ‘•ƒXƒŒ‚É‘‚©‚ê‚Ä‚¢‚½‚à‚Ì‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B +・モンクスã‚ルã®éƒ¨åˆ†ã«ã¤ã„ã¦ä¿®æ£(未実装スレã«æ›¸ã‹ã‚Œã¦ã„ãŸã‚‚ã®ã‚’è¿½åŠ ã—ãŸã ã‘ã§ã™ã€‚ skill.c - skill_use_id()C³ + skill_use_id()ä¿®æ£ cast_db.txt - ƒ‚ƒ“ƒNƒXƒLƒ‹’ljÁ + モンクスã‚ãƒ«è¿½åŠ -------------- -//463 by ŒÓ’±—– +//463 by 胡è¶è˜ -E462‚̃oƒOC³ - ENPC‚ÌSHOP‚Ì•s“s‡C³ - EREADME‚̊ԈႢC³iwarpwaitingpc‚ªwarpwaitingroom‚É‚È‚Á‚Ä‚¢‚½j +・462ã®ãƒã‚°ä¿®æ£ + ・NPCã®SHOPã®ä¸éƒ½åˆä¿®æ£ + ・READMEã®é–“é•ã„ä¿®æ£ï¼ˆwarpwaitingpcãŒwarpwaitingroomã«ãªã£ã¦ã„ãŸï¼‰ map.h - struct npc_data‚Ìchat_id‚̈ʒu‚ðC³ + struct npc_dataã®chat_idã®ä½ç½®ã‚’ä¿®æ£ -------------- -//462 by ŒÓ’±—– +//462 by 胡è¶è˜ -ENPCƒ`ƒƒƒbƒgì¬ - Ewaitingroom–½—ß‚ÅNPCƒ`ƒƒƒbƒg‚ð쬂µ‚Ü‚·B - ˆø”‚Í waitingroom "ƒ`ƒƒƒbƒg–¼",§ŒÀl”,ƒCƒxƒ“ƒg–¼ ‚Å‚·B - ƒCƒxƒ“ƒg–¼‚Íl”‚ªÅ‘å‚É‚È‚Á‚½‚Æ‚«‚É‹N‚±‚·ƒCƒxƒ“ƒg–¼‚ÅAÈ—ª‰Â”\B - Ewarpwaitingpc–½—ß‚ÅAƒ`ƒƒƒbƒg“à‚É‚¢‚éPC‘Sˆõ‚ðƒ[ƒv‚Å‚«‚Ü‚·B - ˆø”‚Íwarp‚Æ“¯‚¶‚ÅAwarpwaitingpc "ƒ}ƒbƒv–¼",x,y ‚Å‚·B +・NPCãƒãƒ£ãƒƒãƒˆä½œæˆ + ・waitingroom命令ã§NPCãƒãƒ£ãƒƒãƒˆã‚’作æˆã—ã¾ã™ã€‚ + 引数㯠waitingroom "ãƒãƒ£ãƒƒãƒˆå",制é™äººæ•°,イベントå ã§ã™ã€‚ + イベントåã¯äººæ•°ãŒæœ€å¤§ã«ãªã£ãŸã¨ãã«èµ·ã“ã™ã‚¤ãƒ™ãƒ³ãƒˆåã§ã€çœç•¥å¯èƒ½ã€‚ + ・warpwaitingpc命令ã§ã€ãƒãƒ£ãƒƒãƒˆå†…ã«ã„ã‚‹PC全員をワープã§ãã¾ã™ã€‚ + 引数ã¯warpã¨åŒã˜ã§ã€warpwaitingpc "マップå",x,y ã§ã™ã€‚ map.h - struct npc_data‚Æchat_data‚ðC³ + struct npc_dataã¨chat_dataã‚’ä¿®æ£ script.c - buildin_waitingroom(),buildin_warpwaitingpc()’ljÁ + buildin_waitingroom(),buildin_warpwaitingpc()è¿½åŠ chat.c/chat.h - FXC³ + è‰²ã€…ä¿®æ£ clif.c - clif_getareachar_npc()Aclif_joinchatok()‚È‚ÇC³ + clif_getareachar_npc()ã€clif_joinchatok()ãªã©ä¿®æ£ -ENPC‚ÌOnInitƒCƒxƒ“ƒg‚ðƒT[ƒo[‹N“®Žž‚ɌĂԂ悤‚ÉB -EƒGƒNƒXƒ|[ƒg‚·‚é‚Æ‚«‚ÌNPC–¼‚Æ•\Ž¦ã‚ÌNPC–¼‚ð•ÊX‚ÉÝ’è‰Â”\‚ÉB - E“¯‚¶NPC–¼‚̃Cƒxƒ“ƒg‚Íd•¡‚Å‚«‚È‚¢‚½‚ßAƒGƒNƒXƒ|[ƒg—pNPC–¼‚ðŽg‚¢A - “¯‚¶NPC–¼‚Å‚à•Ê‚ÌNPC‚Æ‚µ‚ÄŽ¯•Ê‚Å‚«‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB - (‚à‚¿‚ë‚ñAƒCƒxƒ“ƒgˆ—‚ðs‚í‚È‚¢ê‡‚Í‚»‚Ì•K—v‚Í‚ ‚è‚Ü‚¹‚ñB) - Enpc_*.txt‚Ìscript–½—ß‚ÅNPC‚Ì–¼‘O‚ðÝ’è‚·‚é‚Æ‚«A - u•\Ž¦–¼::ƒGƒNƒXƒ|[ƒg–¼v‚Æ‚·‚é‚ÆA•\Ž¦‚·‚é–¼‘O‚ÆAƒCƒxƒ“ƒg—p‚É - ƒGƒNƒXƒ|[ƒg‚·‚é–¼‘O‚ð•ÊX‚ÉŽw’è‚Å‚«‚Ü‚·B - •\Ž¦–¼‚ª‘S‚“¯‚¶•ÊX‚ÌNPC‚ŃCƒxƒ“ƒg‚ð“®ì‚³‚¹‚é‚Æ‚«‚ÉŽg—p‚µ‚Ü‚·B - E‚â‚₱‚µ‚¢‚Ì‚ÅPVP‚ÌnpcƒXƒNƒŠƒvƒg‚ðŒ©‚ÄƒCƒ[ƒW‚ð’Í‚ñ‚Å‚‚¾‚³‚¢B +・NPCã®OnInitイベントをサーãƒãƒ¼èµ·å‹•æ™‚ã«å‘¼ã¶ã‚ˆã†ã«ã€‚ +・エクスãƒãƒ¼ãƒˆã™ã‚‹ã¨ãã®NPCåã¨è¡¨ç¤ºä¸Šã®NPCåを別々ã«è¨å®šå¯èƒ½ã«ã€‚ + ・åŒã˜NPCåã®ã‚¤ãƒ™ãƒ³ãƒˆã¯é‡è¤‡ã§ããªã„ãŸã‚ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆç”¨NPCåを使ã„〠+ åŒã˜NPCåã§ã‚‚別ã®NPCã¨ã—ã¦è˜åˆ¥ã§ãるよã†ã«ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 + (ã‚‚ã¡ã‚ã‚“ã€ã‚¤ãƒ™ãƒ³ãƒˆå‡¦ç†ã‚’è¡Œã‚ãªã„å ´åˆã¯ãã®å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。) + ・npc_*.txtã®script命令ã§NPCã®åå‰ã‚’è¨å®šã™ã‚‹ã¨ã〠+ 「表示å::エクスãƒãƒ¼ãƒˆåã€ã¨ã™ã‚‹ã¨ã€è¡¨ç¤ºã™ã‚‹åå‰ã¨ã€ã‚¤ãƒ™ãƒ³ãƒˆç”¨ã« + エクスãƒãƒ¼ãƒˆã™ã‚‹åå‰ã‚’別々ã«æŒ‡å®šã§ãã¾ã™ã€‚ + 表示åãŒå…¨ãåŒã˜åˆ¥ã€…ã®NPCã§ã‚¤ãƒ™ãƒ³ãƒˆã‚’動作ã•ã›ã‚‹ã¨ãã«ä½¿ç”¨ã—ã¾ã™ã€‚ + ・ややã“ã—ã„ã®ã§PVPã®npcスクリプトを見ã¦ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’掴んã§ãã ã•ã„。 npc.c/npc.h - npc_parse_*()‚ÌC³ - npc_event_do_oninit(),npc_event_do_oninit_sub()‚ȂǒljÁ + npc_parse_*()ã®ä¿®æ£ + npc_event_do_oninit(),npc_event_do_oninit_sub()ãªã©è¿½åŠ map.c/map.h - do_init()‚Ånpc_event_do_oninit()‚ðŒÄ‚Ԃ悤‚É - struct npc_dataC³ + do_init()ã§npc_event_do_oninit()を呼ã¶ã‚ˆã†ã« + struct npc_dataä¿®æ£ -EƒXƒNƒŠƒvƒggetmapusersAgetareausers‚Ì’v–½“I‚ȃoƒOC³ - EŠY“–ƒ}ƒbƒv‚ª‘¶Ý‚µ‚È‚¢ê‡Aƒ}ƒbƒvƒT[ƒo[‚ª—Ž‚¿‚é‚Ì‚ðC³B - Eƒ}ƒbƒv‚ª‘¶Ý‚µ‚È‚¢‚ÆA-1‚ð•Ô‚·‚悤‚É‚µ‚½B +・スクリプトgetmapusersã€getareausersã®è‡´å‘½çš„ãªãƒã‚°ä¿®æ£ + ・該当マップãŒå˜åœ¨ã—ãªã„å ´åˆã€ãƒžãƒƒãƒ—サーãƒãƒ¼ãŒè½ã¡ã‚‹ã®ã‚’ä¿®æ£ã€‚ + ・マップãŒå˜åœ¨ã—ãªã„ã¨ã€-1ã‚’è¿”ã™ã‚ˆã†ã«ã—ãŸã€‚ script.c - buildin_getmapusers(),buildin_getareausers()C³ + buildin_getmapusers(),buildin_getareausers()ä¿®æ£ -Epvp‚̃XƒNƒŠƒvƒgC³ - Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðì‚é‚悤‚É‚µ‚½ +・pvpã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ + ・ãƒãƒ£ãƒƒãƒˆãƒ«ãƒ¼ãƒ を作るよã†ã«ã—㟠(conf/) npc_pvproom.txt - ‘S‚Ä‚ÌNPC‚̃GƒNƒXƒ|[ƒg–¼(pvp??r)Ý’è - OnInit:‚Åwaitingroom‚ðŽÀs‚·‚é‚悤‚É + å…¨ã¦ã®NPCã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆå(pvp??r)è¨å®š + OnInit:ã§waitingroomを実行ã™ã‚‹ã‚ˆã†ã« -------------- //461 by Kuro -EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒgˆê•”C³ +・アコライト転è·ã‚¯ã‚¨ã‚¹ãƒˆä¸€éƒ¨ä¿®æ£ conf/npc_job_aco.txt -------------- //460 by sagitarius -Eitem_db‚̊ԈႢC³ - 4032,Ambernite_Card,ƒAƒ“ƒo[ƒiƒCƒgƒJ[ƒh,6,20,,10,,2,,,,,32,,,,{},{},,C³ +・item_dbã®é–“é•ã„ä¿®æ£ + 4032,Ambernite_Card,アンãƒãƒ¼ãƒŠã‚¤ãƒˆã‚«ãƒ¼ãƒ‰,6,20,,10,,2,,,,,32,,,,{},{},,ä¿®æ£ -------------- //459 by hoenny -EƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Žg—p‚ÌŽž•€ƒ`ƒFƒbƒN(Ž©•ª‚¾‚¯) -EOld_Blue_Box‚ÌŠm—¦‚ª‚‚¢‚Æ‚¢‚¤•ñ‚É‚æ‚Á‚ÄC³ -EScript.c‚Í0455ˆÈ‘O‚±‚ƂňøŠ·(NPC‚ð‚±‚±‚ɇ‚킹‚ÄC³‚µ‚Ä‚‚¾‚³‚¢) -Eˆ¢C—…”e–PŒC³(ŒöŽ®‚ðC³‚µ‚½‚ñ‚Å‚·‚ª, ³Šm‚©‚Í‚æ‚•ª‚©‚ç‚È‚¢‚Å‚·‚Ë.) -EC“¹‘m‚Ì’~‹C,”šŠú‚̉¼ŽÀ‘•.(ˆ¢C—…”e–PŒŽg—p‚ÌŽž’~‹C,”šŠúó‘Ô‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·. ) -EƒyƒRƒyƒR‚Éæ‚Á‚½Œã‚ÉAADPD‚ªŠÔˆá‚Á‚½‚±‚ÆC³(ƒoƒO‚𒼂µ‚Ä‚ ‚°‚½‚ª, ’¼‚·‘O‚±‚Æ‚É•Ï‚í‚邹‚¢‚Å‚Ü‚½C³) -‚»‚ÌŠO‚É‚àC³‚ð‚µ‚½‚悤‚È‚Ì‚ÉŠo‚¦‚È‚¢‚Å‚·‚Ë.‚»‚µ‚ÄŒë‚Á‚½•”•ª‚ª‚ ‚ê‚ÎŽw“E‚µ‚Ä‚‚¾‚³‚¢. +・アドレナリンラッシュ使用ã®æ™‚æ–§ãƒã‚§ãƒƒã‚¯(自分ã ã‘) +・Old_Blue_Boxã®ç¢ºçŽ‡ãŒé«˜ã„ã¨ã„ã†å ±å‘Šã«ã‚ˆã£ã¦ä¿®æ£ +・Script.cã¯0455以å‰ã“ã¨ã§å¼•æ›(NPCã‚’ã“ã“ã«åˆã‚ã›ã¦ä¿®æ£ã—ã¦ãã ã•ã„) +・阿修羅覇鳳拳修æ£(å…¬å¼ã‚’ä¿®æ£ã—ãŸã‚“ã§ã™ãŒ, æ£ç¢ºã‹ã¯ã‚ˆã分ã‹ã‚‰ãªã„ã§ã™ã.) +・修é“僧ã®è“„æ°—,爆期ã®ä»®å®Ÿè£….(阿修羅覇鳳拳使用ã®æ™‚è“„æ°—,爆期状態をãƒã‚§ãƒƒã‚¯ã—ã¾ã™. ) +・ペコペコã«ä¹—ã£ãŸå¾Œã«ã€ADPDãŒé–“é•ã£ãŸã“ã¨ä¿®æ£(ãƒã‚°ã‚’ç›´ã—ã¦ã‚ã’ãŸãŒ, ç›´ã™å‰ã“ã¨ã«å¤‰ã‚ã‚‹ã›ã„ã§ã¾ãŸä¿®æ£) +ãã®å¤–ã«ã‚‚ä¿®æ£ã‚’ã—ãŸã‚ˆã†ãªã®ã«è¦šãˆãªã„ã§ã™ã.ãã—ã¦èª¤ã£ãŸéƒ¨åˆ†ãŒã‚ã‚Œã°æŒ‡æ‘˜ã—ã¦ãã ã•ã„. conf/npc_event_ice.txt - checkweightC³ + checkweightä¿®æ£ conf/npc_town_geffen.txt - checkweightC³ + checkweightä¿®æ£ db/item_purplebox.txt - Old_Blue_BoxC³ + Old_Blue_Boxä¿®æ£ map/battle.c - battle_calc_weapon_attack()C³ + battle_calc_weapon_attack()ä¿®æ£ map/pc.c - pc_spheal()C³ - pc_calcstatus()C³ + pc_spheal()ä¿®æ£ + pc_calcstatus()ä¿®æ£ map/script.c - buildin_checkweight()C³ + buildin_checkweight()ä¿®æ£ map/skill.h - SC_ EXPLOSIONSPIRITS’ljÁ + SC_ EXPLOSIONSPIRITSè¿½åŠ map/skill.c - SkillStatusChangeTable[]C³ - skill_castend_nodamage_id()C³ - skill_check_condition()C³ + SkillStatusChangeTable[]ä¿®æ£ + skill_castend_nodamage_id()ä¿®æ£ + skill_check_condition()ä¿®æ£ -------------- //458 by Kuro -EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒg’ljÁ +・アコライト転è·ã‚¯ã‚¨ã‚¹ãƒˆè¿½åŠ conf/npc_job_aco.txt - ‰ï˜b•¶‚ª•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“K“–‚É‚µ‚Ä‚ ‚è‚Ü‚·B‚Ü‚½ANPC‚ÌŠOŒ©‚Ì•Ï‚¦•û‚ª•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“K“–‚É‚µ‚Ä‚ ‚è‚Ü‚·B - •ª‚©‚é•û‚ÍC³‚µ‚Ä‚¨‚¢‚ĉº‚³‚¢B + 会話文ãŒåˆ†ã‹ã‚‰ãªã‹ã£ãŸã®ã§é©å½“ã«ã—ã¦ã‚ã‚Šã¾ã™ã€‚ã¾ãŸã€NPCã®å¤–見ã®å¤‰ãˆæ–¹ãŒåˆ†ã‹ã‚‰ãªã‹ã£ãŸã®ã§é©å½“ã«ã—ã¦ã‚ã‚Šã¾ã™ã€‚ + 分ã‹ã‚‹æ–¹ã¯ä¿®æ£ã—ã¦ãŠã„ã¦ä¸‹ã•ã„。 -------------- //0457 by Kalen -EPVPŠÖ˜A‚ÌNPC’ljÁ +・PVP関連ã®NPCè¿½åŠ conf/npc_pvp.txt conf/npc_pvproom.txt -------------- -//0456 by Ž€_ +//0456 by æ»ç¥ž -Eƒ‚ƒ“ƒXƒ^[‚ÌʼnUŒ‚ŽžŠÔ‚ª’·‚·‚¬‚é–â‘èC³B -ƒ‚ƒ“ƒXƒ^[‚ÌʼnUŒ‚ŽžŠÔ‚ð¡‚Ü‚Å‚Ímob_db‚ÌaDelay‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½‚ª‚±‚ê‚ðaMotion‚É•ÏX‚µ‚Ü‚µ‚½B¡‚Ü‚Å‚Ímob_db‚ÌaMotion‚̓Sƒ~‚Å‚µ‚½‚ª¡“x‚©‚ç‚̓Sƒ~‚Å‚Í‚ ‚è‚Ü‚¹‚ñBaMotion‚³‚¦³‚µ‚¯‚ê‚΃‚ƒ“ƒXƒ^[‚ÌUŒ‚‚̃‚[ƒVƒ‡ƒ“‚Ì‘O‚Ƀ_ƒ[ƒW‚ªo‚Ä‚‚é–â‘è‚à‚È‚‚È‚é‚Í‚¸‚Å‚·B +・モンスターã®æœ€åˆæ”»æ’ƒæ™‚é–“ãŒé•·ã™ãŽã‚‹å•é¡Œä¿®æ£ã€‚ +モンスターã®æœ€åˆæ”»æ’ƒæ™‚間を今ã¾ã§ã¯mob_dbã®aDelayを使ã£ã¦ã„ã¾ã—ãŸãŒã“れをaMotionã«å¤‰æ›´ã—ã¾ã—ãŸã€‚今ã¾ã§ã¯mob_dbã®aMotionã¯ã‚´ãƒŸã§ã—ãŸãŒä»Šåº¦ã‹ã‚‰ã¯ã‚´ãƒŸã§ã¯ã‚ã‚Šã¾ã›ã‚“。aMotionã•ãˆæ£ã—ã‘ã‚Œã°ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®æ”»æ’ƒã®ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã®å‰ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒå‡ºã¦ãã‚‹å•é¡Œã‚‚ãªããªã‚‹ã¯ãšã§ã™ã€‚ mob.c - mob_changestate() C³B -EƒAƒCƒeƒ€‚ð“üŽè‚Å‚«‚È‚¢Žž‚»‚Ì——R‚É“–‚½‚郃bƒZ[ƒW‚ªo‚é‚悤‚É•ÏXB + mob_changestate() ä¿®æ£ã€‚ +・アイテムを入手ã§ããªã„時ãã®ç†ç”±ã«å½“ãŸã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ pc.c - pc_additem() C³B -Ejob_db1.txt‚Ì‚Å–â‘è‚É‚È‚Á‚½.‚ð,‚ÉC³B + pc_additem() ä¿®æ£ã€‚ +・job_db1.txtã®ã§å•é¡Œã«ãªã£ãŸ.ã‚’,ã«ä¿®æ£ã€‚ -------------- //455 by Mr.NO NAME -ENPC‚Ƃ̃AƒCƒeƒ€ŒðŠ·‚┃‚¢•¨ŠÖŒW‚ÌScript‚ªo—ˆã‚ª‚Á‚½“–‰‚Ì -@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚Éæ‚ÁŽæ‚èAˆÈ‰º‚ðC³B +・NPCã¨ã®ã‚¢ã‚¤ãƒ†ãƒ 交æ›ã‚„è²·ã„物関係ã®ScriptãŒå‡ºæ¥ä¸ŠãŒã£ãŸå½“åˆã® + NPCデータ(npc_event_making.txtã€npc_town_geffen.txtç‰)ã«ä¹—ã£å–ã‚Šã€ä»¥ä¸‹ã‚’ä¿®æ£ã€‚ conf/npc_event_ice.txt npc_event_potion.txt - npc_town_geffen.txti454ˆÈ‘O‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj + npc_town_geffen.txt(454以å‰ã®ç‰©ã«æˆ»ã—ã¾ã—ãŸã€‚) map/script.c - buildin_checkweight()‚ðC³B + buildin_checkweight()ã‚’ä¿®æ£ã€‚ -------------- //454 by Kuro -EƒQƒbƒtƒFƒ“’b–艮‚Å”ƒ‚¢•¨‚ªo—ˆ‚é‚悤‚ÉC³ +・ゲッフェンé›å†¶å±‹ã§è²·ã„物ãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«ä¿®æ£ conf/npc_town_geffen.txt -------------- //0451 by code -E ¡X‚Å‚·‚ªƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚ɑΉž(ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Ìdata.grf‚ðadata.grf‚Æ‚µ‚Ägrf-files.txt‚Ìadata‚Ì‚Æ‚±‚ë‚É‘‚¢‚Ä‚‚¾‚³‚¢) +・ 今更ã§ã™ãŒÎ±ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾å¿œ(αクライアントã®data.grfã‚’adata.grfã¨ã—ã¦grf-files.txtã®adataã®ã¨ã“ã‚ã«æ›¸ã„ã¦ãã ã•ã„) common/grfio.c - grfio_setadatafile()’ljÁ + grfio_setadatafile()è¿½åŠ /grfio.h - grfio_setadatafile()’ljÁ + grfio_setadatafile()è¿½åŠ conf/map_athena.conf - ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚̃}ƒbƒv‚ð“Ç‚Ýž‚ނ悤‚É•ÏX + αクライアントã®ãƒžãƒƒãƒ—ã‚’èªã¿è¾¼ã‚€ã‚ˆã†ã«å¤‰æ›´ /npc_warp_a.txt - ƒ¿ƒ}ƒbƒv‚̃[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è(‚¿‚å‚Á‚Æ‚¸‚ê‚Ä‚é‚©‚à) + αマップã®ãƒ¯ãƒ¼ãƒ—ãƒã‚¤ãƒ³ãƒˆã®è¨å®š(ã¡ã‚‡ã£ã¨ãšã‚Œã¦ã‚‹ã‹ã‚‚) /grf-files.txt - ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Ìdata.grf‚ðadata.grf‚Æ‚µ‚Ä“Ç‚Ýž‚ނ悤‚ÉÝ’è - adata: ‚É‹Lq -¦ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Í -@ttp://www.castledragmire.com/ragnarok/ -@‚ ‚½‚è‚©‚ç“üŽè‚µ‚Ä‚‚¾‚³‚¢B + αクライアントã®data.grfã‚’adata.grfã¨ã—ã¦èªã¿è¾¼ã‚€ã‚ˆã†ã«è¨å®š + adata: ã«è¨˜è¿° +※αクライアント㯠+ ttp://www.castledragmire.com/ragnarok/ + ã‚ãŸã‚Šã‹ã‚‰å…¥æ‰‹ã—ã¦ãã ã•ã„。 -------------- //0450 by hoenny -E ‹R•ºC—ûŽÀ‘• -E ƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgŽÀ‘• -E ƒfƒBƒXƒJƒEƒ“ƒgEƒI[ƒo[ƒ`ƒƒ[ƒWC³(”‚ª‚‚¢ê‡ŒvŽZ–@‚ªŠÔˆá‚Á‚½‚±‚Ƃ𒼂µ‚Ü‚µ‚½.) -E “SŒC³(‘fŽè‚ÈŽž‚à“K—p‚³‚ê‚é‚悤‚É) -E •€C—ûC³(•ÐŽè•€‚ÈŽž‚à“K—p‚³‚ê‚é‚悤‚É) -E ƒ{ƒ“ƒSƒ“‚ªUŒ‚‚·‚é‚悤‚ÉC³ +・ 騎兵修練実装 +・ コムパルションディスカウント実装 +・ ディスカウント・オーãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ä¿®æ£(æ•°ãŒé«˜ã„å ´åˆè¨ˆç®—法ãŒé–“é•ã£ãŸã“ã¨ã‚’ç›´ã—ã¾ã—ãŸ.) +・ 鉄拳修æ£(ç´ æ‰‹ãªæ™‚ã‚‚é©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«) +・ 斧修練修æ£(片手斧ãªæ™‚ã‚‚é©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«) +・ ボンゴンãŒæ”»æ’ƒã™ã‚‹ã‚ˆã†ã«ä¿®æ£ map/pc.c - pc_calcstatus()C³ - pc_modifybuyvalue()C³ - pc_modifysellvalue()C³ + pc_calcstatus()ä¿®æ£ + pc_modifybuyvalue()ä¿®æ£ + pc_modifysellvalue()ä¿®æ£ map/battle.c - battle_addmastery()C³ + battle_addmastery()ä¿®æ£ db/mob_db.txt - ƒ{ƒ“ƒSƒ“C³ + ãƒœãƒ³ã‚´ãƒ³ä¿®æ£ -------------- -//0449 by Ž€_ +//0449 by æ»ç¥ž -E•Ï‚É‚È‚Á‚½ŠC³B +・変ã«ãªã£ãŸæ‰€ä¿®æ£ã€‚ const.txt - bAtk‚ÆbDef ’ljÁB + bAtkã¨bDef è¿½åŠ ã€‚ battle.c - battle_calc_weapon_attack()‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + battle_calc_weapon_attack()ã‚’å…ƒã«æˆ»ã—ã¾ã—ãŸã€‚(0445ã®ç‰©) map.h - map_session_data‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + map_session_dataã‚’å…ƒã«æˆ»ã—ã¾ã—ãŸã€‚(0445ã®ç‰©) pc.c - pc_calcstatus() C³B - pc_bonus() C³B - item_db.txt‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0446‚Ì•¨) + pc_calcstatus() ä¿®æ£ã€‚ + pc_bonus() ä¿®æ£ã€‚ + item_db.txtã‚’å…ƒã«æˆ»ã—ã¾ã—ãŸã€‚(0446ã®ç‰©) -------------- //0448 by hoenny -E‘‘¬C³(pc_walk()‚©‚ç pc_calcstatus()‚Ɉړ®) -Eő劎—ÊC³ +・増速修æ£(pc_walk()ã‹ã‚‰ pc_calcstatus()ã«ç§»å‹•) +・最大所æŒé‡ä¿®æ£ map/pc.c - pc_calcstatus()C³B + pc_calcstatus()ä¿®æ£ã€‚ -------------- -//0447 by ‚䂤 -E“ñ“—¬E–î‚Ì‘®«‚𳂵‚“K‰ž -EATK‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚ð•ŠíƒTƒCƒYC³‚È‚µ‚Ì’êã‚°‚É•ÏX -EATKEDEF‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚Ì“K‰ž‚ÌŽd•û‚ð•ÏX +//0447 by ゆㆠ+・二刀æµãƒ»çŸ¢ã®å±žæ€§ã‚’æ£ã—ãé©å¿œ +・ATKã®ä¸ŠãŒã‚‹ã‚«ãƒ¼ãƒ‰ã®åŠ¹æžœã‚’æ¦å™¨ã‚µã‚¤ã‚ºä¿®æ£ãªã—ã®åº•ä¸Šã’ã«å¤‰æ›´ +・ATK・DEFã®ä¸ŠãŒã‚‹ã‚«ãƒ¼ãƒ‰ã®åŠ¹æžœã®é©å¿œã®ä»•æ–¹ã‚’変更 map.h - map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’ljÁ + map_session_dataã«catk(カードATK)ã‚’è¿½åŠ pc.c pc_calcstatus() - ƒAƒTƒVƒ“‚Ì“ñ“—¬‚ÌUŒ‚‘¬“x‚ðC³‚µ‚½ - ƒXƒNƒŠƒvƒg‚É‚æ‚é‘®«‚ð¶‰E³‚µ‚“K‰ž‚·‚é‚悤‚É‚µ‚½ - –î‚Ì‘®«‚𳂵‚“K‰ž‚·‚é‚悤‚É‚µ‚½i‹|‚Ì‘®«—Dæj - ‚½‚¾‚µA–‚·‚ׂĂÌUŒ‚‚É“K‰ž‚³‚ê‚Ü‚· - ƒJ[ƒhATK‚̈—‚ð’ljÁ‚µ‚½ + アサシンã®äºŒåˆ€æµã®æ”»æ’ƒé€Ÿåº¦ã‚’ä¿®æ£ã—㟠+ スクリプトã«ã‚ˆã‚‹å±žæ€§ã‚’å·¦å³æ£ã—ãé©å¿œã™ã‚‹ã‚ˆã†ã«ã—㟠+ 矢ã®å±žæ€§ã‚’æ£ã—ãé©å¿œã™ã‚‹ã‚ˆã†ã«ã—ãŸï¼ˆå¼“ã®å±žæ€§å„ªå…ˆï¼‰ + ãŸã ã—ã€çŸ¢ãŒã™ã¹ã¦ã®æ”»æ’ƒã«é©å¿œã•ã‚Œã¾ã™ + カードATKã®å‡¦ç†ã‚’è¿½åŠ ã—㟠battle.c battle_calc_weapon_attack() - ƒJ[ƒgATK‚ð’êã‚°ƒ_ƒ[ƒW‚Æ‚µ‚ÄŒvŽZ‚·‚é‚悤‚É‚µ‚½ + カートATKを底上ã’ダメージã¨ã—ã¦è¨ˆç®—ã™ã‚‹ã‚ˆã†ã«ã—㟠item_db.txt - ƒJ[ƒh‚Ì bonus bAtkAbDef ‚ðíœ - ‚©‚í‚è‚ÉA‘•”õ‚Æ“¯—l‚ÉATK‚ÆDEF‚ðÝ’è - i•ÏX‘O‚ðitem_db2.txt‚Æ‚µ‚Ä‚¢‚é‚Ì‚ÅA•s‹ï‡‚ª‚ ‚ê‚Ζ߂µ‚Ä‚‚¾‚³‚¢j + カード㮠bonus bAtkã€bDef を削除 + ã‹ã‚ã‚Šã«ã€è£…å‚™ã¨åŒæ§˜ã«ATKã¨DEFã‚’è¨å®š + (変更å‰ã‚’item_db2.txtã¨ã—ã¦ã„ã‚‹ã®ã§ã€ä¸å…·åˆãŒã‚ã‚Œã°æˆ»ã—ã¦ãã ã•ã„) -------------- //0446 by hoenny -Eƒ~ƒXƒgƒŒƒXƒJ[ƒhŽÀ‘•B -EƒXƒLƒ‹Žg—p‚ÌŽžƒWƒFƒ€ƒXƒg[ƒ“Á”ïB -EƒXƒLƒ‹Žg—p‚ÌŽž‘•”õƒ`ƒFƒbƒNB(ƒnƒ“ƒ}[ƒtƒH[ƒ‹‚¾‚¯C³‚µ‚悤‚Æ‚µ‚½‚ª...) -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚͈̔͂𠔼Œa5ƒZƒ‹(‘S25ƒZƒ‹)ƒC³ +・ミストレスカード実装。 +・スã‚ル使用ã®æ™‚ジェムストーン消費。 +・スã‚ル使用ã®æ™‚装備ãƒã‚§ãƒƒã‚¯ã€‚(ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ«ã ã‘ä¿®æ£ã—よã†ã¨ã—ãŸãŒ...) +・ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ«ã®ç¯„囲を åŠå¾„5セル(å…¨25セル)ãƒä¿®æ£ map/skill.c - skill_check_condition()C³B - skill_castend_pos2()C³B + skill_check_condition()ä¿®æ£ã€‚ + skill_castend_pos2()ä¿®æ£ã€‚ -Eƒ~ƒXƒgƒŒƒXƒJ[ƒhC³B +・ミストレスカード修æ£ã€‚ db/item_db.txt -------------- //0445 by Aya -EŠî–{ASPD‚ÆŒvŽZˆ—‚ðC³B +・基本ASPDã¨è¨ˆç®—処ç†ã‚’ä¿®æ£ã€‚ db/job_db1.txt map/pc.c -ESPŒW”‚ÆŒvŽZˆ—‚ðC³B +・SPä¿‚æ•°ã¨è¨ˆç®—処ç†ã‚’ä¿®æ£ã€‚ db/job_db1.txt map/pc.c -EƒXƒLƒ‹–¼‚ðenum‚Å錾‚µA‚»‚ê‚ðŽg‚¤‚悤‚É•ÏXB +・スã‚ルåã‚’enumã§å®£è¨€ã—ã€ãれを使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ map/skill.h map/battle.c map/pc.c map/skill.c -EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹ID‚ªƒXƒ[ƒ|ƒCƒYƒ“‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B +・リカãƒãƒªãƒ¼ã®ã‚¹ã‚ルIDãŒã‚¹ãƒãƒ¼ãƒã‚¤ã‚ºãƒ³ã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ã€‚ map/skill.c -EW’†—ÍŒüã‚ɃJ[ƒhŒø‰Ê‚ª“K—p‚³‚ê‚Ä‚¢‚½–â‘è‚ÌC³B +・集ä¸åŠ›å‘上ã«ã‚«ãƒ¼ãƒ‰åŠ¹æžœãŒé©ç”¨ã•ã‚Œã¦ã„ãŸå•é¡Œã®ä¿®æ£ã€‚ map/pc.c -EƒŠƒ€[ƒuƒgƒ‰ƒbƒvAƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒvAƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚̃^[ƒQƒbƒg‚ðC³B +・リムーブトラップã€ã‚¹ãƒ—リングトラップã€ãƒã‚¤ã‚ºãƒ³ãƒªã‚¢ã‚¯ãƒˆã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ä¿®æ£ã€‚ db/skill_db.txt -EGMƒAƒJƒEƒ“ƒg‚ðjRO‚Ìclientinfo.xml‚©‚ç’ljÁB +・GMアカウントをjROã®clientinfo.xmlã‹ã‚‰è¿½åŠ 。 conf/GM_account.txt -EwarningC³B +・warningä¿®æ£ã€‚ map/party.c -EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚µ‚È‚¢‚悤‚É•ÏXB +・ã‚ャラセレèªè¨¼æ™‚ã«login_id2ã¯ãƒã‚§ãƒƒã‚¯ã—ãªã„よã†ã«å¤‰æ›´ã€‚ login/login.c -Eobject_def.batˆÈŠO‘Sƒtƒ@ƒCƒ‹‚̉üsƒR[ƒh‚ðLF‚É•ÏXB -E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–¼‘O•ÏXB +・object_def.bat以外全ファイルã®æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’LFã«å¤‰æ›´ã€‚ +・*.cnfファイルを*.confファイルã«åå‰å¤‰æ›´ã€‚ -------------- -//0444 by Ž€_ +//0444 by æ»ç¥ž -EGMƒRƒ}ƒ“ƒh‚â@ƒRƒ}ƒ“ƒh‚ɃRƒ}ƒ“ƒh•Ê‚ÉŽg—pƒŒƒxƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏX‚Æ@ƒRƒ}ƒ“ƒh‚µC³B(@where‚Æ@dayA@night‚ÌC³‚Æ‘¼‚̃Lƒƒƒ‰‚ÉŽg‚¤ƒRƒ}ƒ“ƒh‚Ìê‡GMƒŒƒxƒ‹‚ªŽ©•ªˆÈã‚Ìꇎg‚¦‚È‚¢‚悤‚ÉC³B) - atcommand.h C³B - atcommand.c C³B - clif.c C³B - map/makefile C³B +・GMコマンドや@コマンドã«ã‚³ãƒžãƒ³ãƒ‰åˆ¥ã«ä½¿ç”¨ãƒ¬ãƒ™ãƒ«ã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã¨@コマンド少ã—ä¿®æ£ã€‚(@whereã¨@dayã€@nightã®ä¿®æ£ã¨ä»–ã®ã‚ャラã«ä½¿ã†ã‚³ãƒžãƒ³ãƒ‰ã®å ´åˆGMレベルãŒè‡ªåˆ†ä»¥ä¸Šã®å ´åˆä½¿ãˆãªã„よã†ã«ä¿®æ£ã€‚) + atcommand.h ä¿®æ£ã€‚ + atcommand.c ä¿®æ£ã€‚ + clif.c ä¿®æ£ã€‚ + map/makefile ä¿®æ£ã€‚ map.c - do_init() C³B - conf/atcommand_athena.cnf ’ljÁB -Eׂ©‚¢C³B + do_init() ä¿®æ£ã€‚ + conf/atcommand_athena.cnf è¿½åŠ ã€‚ +・細ã‹ã„ä¿®æ£ã€‚ pc.c - pc_setghosttimer()Apc_skill() C³B + pc_setghosttimer()ã€pc_skill() ä¿®æ£ã€‚ script.c - buildin_skill() C³B -Econf_ref.txt C³B -Eitem_db.txt - ”Þ—‚Ì‘z‚¢C³B + buildin_skill() ä¿®æ£ã€‚ +・conf_ref.txt ä¿®æ£ã€‚ +・item_db.txt + 彼女ã®æƒ³ã„ä¿®æ£ã€‚ -------------- -//0442 by ŒÓ’±—– +//0442 by 胡è¶è˜ -E‘‘¬ƒ|[ƒVƒ‡ƒ“ŽÀ‘• - ELv‚âE‹Æ”»’è‚Ís‚¢‚Ü‚¹‚ñ +・増速ãƒãƒ¼ã‚·ãƒ§ãƒ³å®Ÿè£… + ・Lvã‚„è·æ¥åˆ¤å®šã¯è¡Œã„ã¾ã›ã‚“ (db/) const.txt - SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’ljÁ + SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2è¿½åŠ item_db.txt - ‘‘¬ƒ|[ƒVƒ‡ƒ“‚̃XƒNƒŠƒvƒg’ljÁ + 増速ãƒãƒ¼ã‚·ãƒ§ãƒ³ã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ (map/) skill.c - skill_status_change_start()C³ + skill_status_change_start()ä¿®æ£ pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ -EPvPƒVƒXƒeƒ€‚̉¼ŽÀ‘• - Epvpƒ}ƒbƒv‚Å‚ÍŽ©“®“I‚ÉAPC‚Ìpvpƒtƒ‰ƒOonA‡ˆÊ’Ê’m‚È‚Ç‚ðs‚¢‚Ü‚·B - Eƒ}ƒbƒv‚Épvpƒtƒ‰ƒO‚ð‚‚¯‚éƒTƒ“ƒvƒ‹‚ðnpc_pvp.txt‚Æ‚µ‚Ä“Y•t‚µ‚Ä‚¢‚Ü‚·B - Epvp‚ÌÚ‚µ‚¢ƒ‹[ƒ‹‚ª‚æ‚‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅAŽŸ‚̂悤‚É‚µ‚Ä‚¢‚Ü‚·B - Eʼn‚ÌŽ‚¿“_‚Í5“_A“|‚·‚Æ1“_A“|‚³‚ê‚é‚Æ-5“_B - E0“_ˆÈ‰º‚ÌPC‚̓ŠƒUƒŒƒNƒVƒ‡ƒ“‚ªŠ|‚©‚ç‚È‚¢ - EGM‚Ípvpƒ}ƒbƒv‚É‚¢‚Ä‚à‘«Œ³‚ɃT[ƒNƒ‹‚ªoŒ»‚µ‚È‚¢‚悤‚Å‚·B - iƒNƒ‰ƒCƒAƒ“ƒg‚ÌŽd—lHj - Epvpƒ}ƒbƒv‚Å@pvpoff/@pvp‚·‚é‚Æ‹xŒe‚µ‚½‚èA‹xŒe‚ð‚â‚ß‚½‚è‚Å‚«‚Ü‚·‚ªA - Žg—p‚·‚é‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB +・PvPシステムã®ä»®å®Ÿè£… + ・pvpマップã§ã¯è‡ªå‹•çš„ã«ã€PCã®pvpフラグonã€é †ä½é€šçŸ¥ãªã©ã‚’è¡Œã„ã¾ã™ã€‚ + ・マップã«pvpフラグをã¤ã‘るサンプルをnpc_pvp.txtã¨ã—ã¦æ·»ä»˜ã—ã¦ã„ã¾ã™ã€‚ + ・pvpã®è©³ã—ã„ルールãŒã‚ˆãã‚ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã€æ¬¡ã®ã‚ˆã†ã«ã—ã¦ã„ã¾ã™ã€‚ + ・最åˆã®æŒã¡ç‚¹ã¯5点ã€å€’ã™ã¨1点ã€å€’ã•ã‚Œã‚‹ã¨-5点。 + ・0点以下ã®PCã¯ãƒªã‚¶ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãŒæŽ›ã‹ã‚‰ãªã„ + ・GMã¯pvpマップã«ã„ã¦ã‚‚足元ã«ã‚µãƒ¼ã‚¯ãƒ«ãŒå‡ºç¾ã—ãªã„よã†ã§ã™ã€‚ + (クライアントã®ä»•æ§˜ï¼Ÿï¼‰ + ・pvpマップã§@pvpoff/@pvpã™ã‚‹ã¨ä¼‘憩ã—ãŸã‚Šã€ä¼‘憩をやã‚ãŸã‚Šã§ãã¾ã™ãŒã€ + 使用ã™ã‚‹ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。 (conf/) npc_pvp.txt - pvpƒtƒ‰ƒO‚ð“ü‚ê‚éƒTƒ“ƒvƒ‹B - nosaveƒtƒ‰ƒO‚âŽó‚¯•t‚¯npc‚È‚Ç‚ð’ljÁ‚·‚é‚Æ‚æ‚¢‚ÆŽv‚í‚ê‚éB + pvpフラグを入れるサンプル。 + nosaveフラグやå—ã‘付ã‘npcãªã©ã‚’è¿½åŠ ã™ã‚‹ã¨ã‚ˆã„ã¨æ€ã‚れる。 (map/) clif.c - clif_parse_LoadEndAck()C³ + clif_parse_LoadEndAck()ä¿®æ£ npc.c - npc_parse_mapflag()C³ + npc_parse_mapflag()ä¿®æ£ skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ pc.c - pc_damage()ˆø”C³ + pc_damage()å¼•æ•°ä¿®æ£ atcommand.c - pc_damage()ˆø”C³‚É”º‚¤C³ + pc_damage()引数修æ£ã«ä¼´ã†ä¿®æ£ battle.c -E‚»‚Ì‘¼C³ - E@pvpoff/@pvp‚ŇˆÊ‚âƒT[ƒNƒ‹‚Ì•\Ž¦‚ð‚â‚ß‚½ - E@jumpto‚ŃXƒy[ƒX‚Ì“ü‚Á‚½ƒLƒƒƒ‰ƒNƒ^[‚àŽw’è‚Å‚«‚é‚悤‚É - E@kamibƒRƒ}ƒ“ƒh•œŠˆi•¶Žš“V‚̺j - E”ñPVP‚Ì‚Æ‚«‚ÉA‘ÎÛ‚ª“G‚̃XƒLƒ‹Žg—pŽžA“G–¡•û”»’è‚ðs‚¤‚悤‚É +・ãã®ä»–ä¿®æ£ + ・@pvpoff/@pvpã§é †ä½ã‚„サークルã®è¡¨ç¤ºã‚’ã‚„ã‚㟠+ ・@jumptoã§ã‚¹ãƒšãƒ¼ã‚¹ã®å…¥ã£ãŸã‚ャラクターも指定ã§ãるよã†ã« + ・@kamibコマンド復活(é’æ–‡å—天ã®å£°ï¼‰ + ・éžPVPã®ã¨ãã«ã€å¯¾è±¡ãŒæ•µã®ã‚¹ã‚ル使用時ã€æ•µå‘³æ–¹åˆ¤å®šã‚’è¡Œã†ã‚ˆã†ã« skill.c - skill_castend_id()‚Å“G–¡•û”»’è + skill_castend_id()ã§æ•µå‘³æ–¹åˆ¤å®š atcommand.c - ŠeƒRƒ}ƒ“ƒhC³ + å„ã‚³ãƒžãƒ³ãƒ‰ä¿®æ£ -------------- -//0440 by ’†‚Ìl +//0440 by ä¸ã®äºº -E–{‰Æ‚ðÄŒ»‚·‚é•ûŒü‚È‚çˆÓ–¡‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª -@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“¾v‚ðŽáŠ±•ÏX‚µ‚Ä - ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆêŽžK“¾‚ÌÛ‚Å‚à1ƒŒƒxƒ‹ˆÈã‚ðÝ’è‚Å‚«‚é‚悤‚É’v‚µ‚Ü‚µ‚½B +・本家をå†ç¾ã™ã‚‹æ–¹å‘ãªã‚‰æ„味ã¯ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“㌠+ pc.c「スクリプトã«ã‚ˆã‚‹ã‚¹ã‚ル所得ã€ã‚’若干変更ã—㦠+ カードã«ã‚ˆã‚‹ã‚¹ã‚ル一時習得ã®éš›ã§ã‚‚1レベル以上をè¨å®šã§ãるよã†ã«è‡´ã—ã¾ã—ãŸã€‚ -@’Pƒ‚É•„†‚ð•Ï‚¦‚Ä‚²‚Ü‚©‚µ‚½‚¾‚¯‚Å‚·‚Ì‚Å -@•K—v‚É‚ ‚킹‚ÄC³‚ð‚µ‚Ä‰º‚³‚¢B + å˜ç´”ã«ç¬¦å·ã‚’変ãˆã¦ã”ã¾ã‹ã—ãŸã ã‘ã§ã™ã®ã§ + 必è¦ã«ã‚ã‚ã›ã¦ä¿®æ£ã‚’ã—ã¦ä¸‹ã•ã„。 -------------- //0439 by hoenny -Eˆ¢C—…”e–PŒ‚ÌC³B +・阿修羅覇鳳拳ã®ä¿®æ£ã€‚ db/skill_db.txt -Eƒ‚ƒ“ƒXƒ^[î•ñ‚ÌC³B +ãƒ»ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã®ä¿®æ£ã€‚ map/clif.c -EŒ©Ø‚è‚ÌŽÀ‘•B +・見切りã®å®Ÿè£…。 map/pc.c -------------- -//0438 by ‚`‚Ìl -EŒÃ–Ø‚ÌŽ}‚ªŽg‚¦‚éꊂð‚m‚o‚bƒXƒNƒŠƒvƒg‚©‚秌ä‰Â”\ -@mapflag‚Énobranch‚Æ‚·‚ê‚΂»‚̃}ƒbƒv‚͌Ö؂̎}Žg—p•s‰Â‚É‚È‚è‚Ü‚·B +//0438 by Aã®äºº +・å¤æœ¨ã®æžãŒä½¿ãˆã‚‹å ´æ‰€ã‚’NPCスクリプトã‹ã‚‰åˆ¶å¾¡å¯èƒ½ + mapflagã«nobranchã¨ã™ã‚Œã°ãã®ãƒžãƒƒãƒ—ã¯å¤æœ¨ã®æžä½¿ç”¨ä¸å¯ã«ãªã‚Šã¾ã™ã€‚ map.h - enum‚ÉMF_NOBRANCH ’ljÁB + enumã«MF_NOBRANCH è¿½åŠ ã€‚ npc.c - npc_parse_mapflag() C³B + npc_parse_mapflag() ä¿®æ£ã€‚ pc.c - pc_useitem() C³B -ƒ\[ƒX‰˜‚‚µ‚Ä‚µ‚Ü‚Á‚½‚©‚àEEE. -•×‹•s‘«‚Å‚· + pc_useitem() ä¿®æ£ã€‚ +ソース汚ãã—ã¦ã—ã¾ã£ãŸã‹ã‚‚・・・. +勉強ä¸è¶³ã§ã™ -------------- -//0437 by ”g˜Q -Eitem_db.txt‚̉p–¼‚ð‘å•C³B(s•t‚«‚Æ‚»‚¤‚Å‚È‚¢•Ší‚̉p–¼‚ª‚¢‚‚̊Ԃɂâ‚ç -@“¯‚¶‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Å‚»‚ê‚𒼂·‚‚¢‚Å‚É‘¼‚Ì•”•ª‚àC³‚µ‚Ü‚µ‚½B - ‚Ü‚Á‚½‚ˆá‚¤–¼‘O‚É‚È‚Á‚Ä‚é‚à‚Ì‚à‚ ‚è‚Ü‚·‚ªA‚±‚Á‚¿‚Ì•û‚ª³‚µ‚¢‚ÆŽv‚¢‚Ü‚·B -Eitem_purplebox.txt‚ð–{‰ÆŽd—l‚Á‚Û‚ì¬(‘å‘Ì‚±‚ñ‚ÈŠ´‚¶‚©‚Æ -EƒAƒ‹ƒxƒ‹ƒ^‚ƃCƒYƒ‹[ƒhNPC‚ðC³ +//0437 by 波浪 +・item_db.txtã®è‹±åを大幅修æ£ã€‚(s付ãã¨ãã†ã§ãªã„æ¦å™¨ã®è‹±åãŒã„ã¤ã®é–“ã«ã‚„ら + åŒã˜ã«ãªã£ã¦ã„ãŸã®ã§ãれを直ã™ã¤ã„ã§ã«ä»–ã®éƒ¨åˆ†ã‚‚ä¿®æ£ã—ã¾ã—ãŸã€‚ + ã¾ã£ãŸãé•ã†åå‰ã«ãªã£ã¦ã‚‹ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ãŒã€ã“ã£ã¡ã®æ–¹ãŒæ£ã—ã„ã¨æ€ã„ã¾ã™ã€‚ +・item_purplebox.txtを本家仕様ã£ã½ã作æˆ(大体ã“ã‚“ãªæ„Ÿã˜ã‹ã¨ +・アルベルタã¨ã‚¤ã‚ºãƒ«ãƒ¼ãƒ‰NPCã‚’ä¿®æ£ -------------- //0436 by hoenny -Emorocc •óΤl‚ÌC³ +・morocc å®çŸ³å•†äººã®ä¿®æ£ conf/npc_shop.txt -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽÀ‘•(AlchemistŽƒ\[ƒX‚ðŽQÆ‚ ‚肪‚Æ‚¤I) +・ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ«ã®å®Ÿè£…(Alchemistæ°ã‚½ãƒ¼ã‚¹ã‚’å‚ç…§ã‚ã‚ŠãŒã¨ã†ï¼) map/skill.c -ˆÈ‘O‚É•¶Žš‰»‚¯‚Í’á‚Ì‚¹‚¢! -ŽŸ‚©‚ç‹C‚ð•t‚¯‚Ü‚·. +以å‰ã«æ–‡å—化ã‘ã¯ä½Žã®ã›ã„! +次ã‹ã‚‰æ°—を付ã‘ã¾ã™. -------------- //0434 by Avethes -Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚Ös‚NPCC³ -Eƒ†ƒm[NPCC³ -i‘O‰ñ‚̃oƒO‚Í‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½j +・タートルアイランドã¸è¡ŒãNPCä¿®æ£ +・ユノーNPCä¿®æ£ +(å‰å›žã®ãƒã‚°ã¯ã™ã¿ã¾ã›ã‚“ã§ã—ãŸï¼‰ -------------- -//0433 by Ž€_ +//0433 by æ»ç¥ž -E»‘¢ƒoƒOC³B - ‰½ŒÌ‚©‚Í‚í‚©‚ç‚È‚¢‚ªskill.c‚Ìskill_readdb()‚ª•Ï‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B(Ž©•ª‚ª‚â‚Á‚½C³‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) +ãƒ»è£½é€ ãƒã‚°ä¿®æ£ã€‚ + 何故ã‹ã¯ã‚ã‹ã‚‰ãªã„ãŒskill.cã®skill_readdb()ãŒå¤‰ã«ãªã£ã¦ã„ãŸã®ã§ä¿®æ£ã€‚(自分ãŒã‚„ã£ãŸä¿®æ£ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒ...) skill.c - skill_readdb() C³B + skill_readdb() ä¿®æ£ã€‚ -------------- -//0432 by Ž€_ +//0432 by æ»ç¥ž -E0429‚ňꕔ‚̃AƒCƒeƒ€‚̃XƒLƒ‹‚ªo‚È‚¢–â‘èC³B +・0429ã§ä¸€éƒ¨ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã‚¹ã‚ルãŒå‡ºãªã„å•é¡Œä¿®æ£ã€‚ clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B -Eskill.c - skill_use_id() C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) -Eitem_db.txt‚Ì•¶Žš‰»‚¯C³BŒ¾Œêݒ肪“ú–{Œê‚Å‚Í‚È‚¢ê‡•Û‘¶‚·‚鎞‚É‚Í‹C‚ð‚‚¯‚Ü‚µ‚傤B -EUŒ‚‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚Ì”½Œ‚‚ª‘‚·‚¬‚é–â‘èC³BŽn‚ß‚Ä‚ÌUŒ‚‚ªƒ‚ƒ“ƒXƒ^[‚ÌUŒ‚ƒfƒBƒŒƒC‚ÉŠÖŒW‚È‚100msŒã‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅUŒ‚ƒfƒBƒŒƒC‚ɇ‚킹‚é‚悤‚É•ÏXB(‚½‚¾‚µ”½Œ‚‚ª’x‚¢‚ÆŽv‚í‚ꂽ‚è‚à‚µ‚Ü‚·‚ª...) + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ +・skill.c + skill_use_id() ä¿®æ£ã€‚(大ã—ãŸä¿®æ£ã§ã¯ãªã„ã§ã™ã€‚) +・item_db.txtã®æ–‡å—化ã‘ä¿®æ£ã€‚言語è¨å®šãŒæ—¥æœ¬èªžã§ã¯ãªã„å ´åˆä¿å˜ã™ã‚‹æ™‚ã«ã¯æ°—ã‚’ã¤ã‘ã¾ã—ょã†ã€‚ +・攻撃ã•ã‚ŒãŸãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®åæ’ƒãŒæ—©ã™ãŽã‚‹å•é¡Œä¿®æ£ã€‚始ã‚ã¦ã®æ”»æ’ƒãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®æ”»æ’ƒãƒ‡ã‚£ãƒ¬ã‚¤ã«é–¢ä¿‚ãªã100ms後ã«ãªã£ã¦ã„ãŸã®ã§æ”»æ’ƒãƒ‡ã‚£ãƒ¬ã‚¤ã«åˆã‚ã›ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(ãŸã å°‘ã—åæ’ƒãŒé…ã„ã¨æ€ã‚ã‚ŒãŸã‚Šã‚‚ã—ã¾ã™ãŒ...) mob.c - mob_changestate() C³B -EŽI‚ÉÚ‘±‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚悤‚É•ÏXB - char.c C³B - conf_ref.txt C³B - char_athena.cnf C³B + mob_changestate() ä¿®æ£ã€‚ +・鯖ã«æŽ¥ç¶šã™ã‚‹æœ€å¤§äººæ•°ã‚’決ã‚るよã†ã«å¤‰æ›´ã€‚ + char.c ä¿®æ£ã€‚ + conf_ref.txt ä¿®æ£ã€‚ + char_athena.cnf ä¿®æ£ã€‚ -------------- //0430 by Avethes -E‚m‚o‚bŠÖŒWB‚Ù‚Æ‚ñ‚ǃeƒXƒgB -–{‰Æ‰ï˜bî•ñ‚ª‘µ‚¦‚ÎC³B +・NPC関係。ã»ã¨ã‚“ã©ãƒ†ã‚¹ãƒˆã€‚ +æœ¬å®¶ä¼šè©±æƒ…å ±ãŒæƒãˆã°ä¿®æ£ã€‚ -------------- -//0429 by Ž€_ +//0429 by æ»ç¥ž -EƒMƒ‹ƒh‚̃Œƒxƒ‹ƒAƒbƒv‚ðƒLƒƒƒ‰‚̃Œƒxƒ‹ƒAƒbƒv‚̂悤‚É•ÏXB +・ギルドã®ãƒ¬ãƒ™ãƒ«ã‚¢ãƒƒãƒ—ã‚’ã‚ャラã®ãƒ¬ãƒ™ãƒ«ã‚¢ãƒƒãƒ—ã®ã‚ˆã†ã«å¤‰æ›´ã€‚ int_guild.c - guild_calcinfo() C³B - guild_next_exp() ’ljÁB - exp_guild.txt C³B(ƒŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢‚悤‚É‚µ‚½‚¢ƒŒƒxƒ‹‚Ìexp‚É0‚ð“ü‚ê‚ê‚΂»‚êˆÈã‚ɃŒƒxƒ‹‚ªã‚ª‚ç‚È‚‚È‚è‚Ü‚·B) -EƒXƒNƒŠƒvƒgresetstatusAresetskill ’ljÁB + guild_calcinfo() ä¿®æ£ã€‚ + guild_next_exp() è¿½åŠ ã€‚ + exp_guild.txt ä¿®æ£ã€‚(レベルãŒä¸ŠãŒã‚‰ãªã„よã†ã«ã—ãŸã„レベルã®expã«0を入れれã°ãれ以上ã«ãƒ¬ãƒ™ãƒ«ãŒä¸ŠãŒã‚‰ãªããªã‚Šã¾ã™ã€‚) +・スクリプトresetstatusã€resetskill è¿½åŠ ã€‚ pc.c - pc_resetskill() C³B + pc_resetskill() ä¿®æ£ã€‚ script.c - buildin_resetstatus()Abuildin_resetskill() ’ljÁB -E0425‚Ì‘±‚«‚Å‚µC³B + buildin_resetstatus()ã€buildin_resetskill() è¿½åŠ ã€‚ +・0425ã®ç¶šãã§å°‘ã—ä¿®æ£ã€‚ clif.c - clif_parse_ ‚ð‚µC³B -EƒVƒ‡[ƒgƒJƒbƒg‚ÉŠo‚¦‚Ä‚¢‚éƒXƒLƒ‹ƒŒƒxƒ‹ˆÈã‚̃XƒLƒ‹‚ª“o˜^‚³‚ê‚Ä‚¢‚Ä‚àŠo‚¦‚Ä‚¢‚éƒXƒLƒ‹ƒŒƒxƒ‹‚܂ł̃XƒLƒ‹‚ðŽg‚¤‚悤‚É•ÏXB + clif_parse_ ã‚’å°‘ã—ä¿®æ£ã€‚ +・ショートカットã«è¦šãˆã¦ã„るスã‚ルレベル以上ã®ã‚¹ã‚ルãŒç™»éŒ²ã•ã‚Œã¦ã„ã¦ã‚‚覚ãˆã¦ã„るスã‚ルレベルã¾ã§ã®ã‚¹ã‚ルを使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B -Eƒƒ‚‚Ìő唂ð10ŒÂ‚É•ÏXB(‚ ‚‚Ü‚Å‚àŠg’£‚ׂ̈̕¨‚Å‚·B‚Ü‚¾‹@”\‚Í‚µ‚Ü‚¹‚ñB) + clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() ä¿®æ£ã€‚ +・メモã®æœ€å¤§æ•°ã‚’10個ã«å¤‰æ›´ã€‚(ã‚ãã¾ã§ã‚‚æ‹¡å¼µã®ç‚ºã®ç‰©ã§ã™ã€‚ã¾ã 機能ã¯ã—ã¾ã›ã‚“。) mmo.h - struct mmo_charstatus‚Ìmemo_point‚ð3‚©‚ç10‚É•ÏXB + struct mmo_charstatusã®memo_pointã‚’3ã‹ã‚‰10ã«å¤‰æ›´ã€‚ char.c - mmo_char_tostr() C³B -Emob,c - mob_once_spawn()Amob_summonslave() C³B(•Ê‚ɈӖ¡‚ª‚ ‚éC³‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª...) -E@monster ƒRƒ}ƒ“ƒh‚ÅÀ•W‚ðŽw’肵‚È‚¢Žžƒ‚ƒ“ƒXƒ^[‚ªˆê‚©Š‚ÉW’†‚µ‚Äo‚é‚Ì‚ðƒLƒƒƒ‰‚Ì10*10ƒ}ƒXˆÈ“à‚Ƀ‰ƒ“ƒ_ƒ€‚ÅŒ»‚ê‚é‚悤‚É•ÏXB - atcomand.c C³B + mmo_char_tostr() ä¿®æ£ã€‚ +・mob,c + mob_once_spawn()ã€mob_summonslave() ä¿®æ£ã€‚(別ã«æ„味ãŒã‚ã‚‹ä¿®æ£ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“ãŒ...) +・@monster コマンドã§åº§æ¨™ã‚’指定ã—ãªã„時モンスターãŒä¸€ã‹æ‰€ã«é›†ä¸ã—ã¦å‡ºã‚‹ã®ã‚’ã‚ャラã®10*10マス以内ã«ãƒ©ãƒ³ãƒ€ãƒ ã§ç¾ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + atcomand.c ä¿®æ£ã€‚ -------------- //0428 by Avethes -Econf/npc_smilegirl.txt - ƒXƒ}ƒCƒ‹ƒ}ƒXƒNƒK[ƒ‹ƒXƒNƒŠƒvƒgB - 0427‚Ì‚¨‚©‚µ‚¢•”•ª‚Æ‚©C³B - ’ñ‹Ÿ‚³‚ꂽŠe“sŽs‚ÌÀ•W‚É”z’uBiNONAME‚³‚ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤Ij +・conf/npc_smilegirl.txt + スマイルマスクガールスクリプト。 + 0427ã®ãŠã‹ã—ã„部分ã¨ã‹ä¿®æ£ã€‚ + æä¾›ã•ã‚ŒãŸå„都市ã®åº§æ¨™ã«é…置。(NONAMEã•ã‚“æä¾›ã‚ã‚ŠãŒã¨ã†ï¼ï¼‰ -------------- -//0426 by ŒÓ’±—– +//0426 by 胡è¶è˜ -EƒAƒCƒeƒ€‚Ì–¼‘O‚ðdata.grf‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ - itemdb.c‚ÌITEMDB_OVERRIDE_NAME‚ð’è‹`‚µ‚È‚¯‚ê‚Γǂݞ‚Ý‚Ü‚¹‚ñB - ITEMDB_OVERRIDE_NAME_VERBOSE‚Íitemdb.txt‚̃fƒoƒO—p‚É‚Ç‚¤‚¼B - •’Ê‚Í•Ï‚¦‚é•K—v‚Í‚È‚¢‚ÆŽv‚¤‚Ì‚Åbattle_config‚É‚Í“ü‚ê‚Ä‚¢‚Ü‚¹‚ñB +・アイテムã®åå‰ã‚’data.grfã‹ã‚‰èªã¿è¾¼ã‚€ã‚ˆã†ã«ã—㟠+ itemdb.cã®ITEMDB_OVERRIDE_NAMEを定義ã—ãªã‘ã‚Œã°èªã¿è¾¼ã¿ã¾ã›ã‚“。 + ITEMDB_OVERRIDE_NAME_VERBOSEã¯itemdb.txtã®ãƒ‡ãƒã‚°ç”¨ã«ã©ã†ãžã€‚ + 普通ã¯å¤‰ãˆã‚‹å¿…è¦ã¯ãªã„ã¨æ€ã†ã®ã§battle_configã«ã¯å…¥ã‚Œã¦ã„ã¾ã›ã‚“。 itemdb.c - itemdb_read_itemnametable()’ljÁ - do_init_itemdb()C³ + itemdb_read_itemnametable()è¿½åŠ + do_init_itemdb()ä¿®æ£ -Eƒf[ƒ^ƒx[ƒX“Ç‚Ýž‚Ý•”‚Ì•sˆÀ’è«‚ÌC³(Œ‹\’v–½“I‚¾‚Á‚½‚Ý‚½‚¢‚Å‚·) - ‚È‚‚Ä‚à–â‘è‚È‚¢DBiitem_value_db.txt‚È‚Çj‚̃tƒ@ƒCƒ‹‚ª‚È‚¢ê‡‚É - ŽI‚ª—Ž‚¿‚½‚è‚·‚錻ۂª”¶‚µ‚Ä‚¢‚½ê‡‚Í‚±‚ê‚Å’¼‚Á‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ. +・データベースèªã¿è¾¼ã¿éƒ¨ã®ä¸å®‰å®šæ€§ã®ä¿®æ£(çµæ§‹è‡´å‘½çš„ã ã£ãŸã¿ãŸã„ã§ã™) + ãªãã¦ã‚‚å•é¡Œãªã„DB(item_value_db.txtãªã©ï¼‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒãªã„å ´åˆã« + 鯖ãŒè½ã¡ãŸã‚Šã™ã‚‹ç¾è±¡ãŒç™ºç”Ÿã—ã¦ã„ãŸå ´åˆã¯ã“ã‚Œã§ç›´ã£ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“. skill.c - skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁ + skill_readdb()ã§NULLãƒã‚¤ãƒ³ã‚¿ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ itemdb.c - item_readdb()‚ð•¡”‚É•ª‚¯‚½B - ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ì“Ç‚Ýž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚½B - do_init_itemdb()C³ + item_readdb()を複数ã«åˆ†ã‘ãŸã€‚ + ランダムアイテムデータベースã®èªã¿è¾¼ã¿éƒ¨ã‚’1ã¤ã«çºã‚ãŸã€‚ + do_init_itemdb()ä¿®æ£ -Eׂ©‚¢ƒoƒOC³ - Eƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŠJ‚‚Ü‚Å‚Ì•b”’²® +・細ã‹ã„ãƒã‚°ä¿®æ£ + ・ワープãƒãƒ¼ã‚¿ãƒ«ã®é–‹ãã¾ã§ã®ç§’数調整 skill.c - skill_unitsetting()C³ + skill_unitsetting()ä¿®æ£ -E‚»‚Ì‘¼C³iby –^MŽj +・ãã®ä»–ä¿®æ£ï¼ˆby æŸMæ°ï¼‰ db/job_db1.txt - ‚¿‚傱‚Á‚ÆC³ + ã¡ã‚‡ã“ã£ã¨ä¿®æ£ db/job_db2.txt - 2-2ŽŸE‚Ì‘«‚è‚È‚¢Jobƒ{[ƒiƒX‚ð’ljÁ(ŽQl:R.O.M 776) + 2-2次è·ã®è¶³ã‚Šãªã„Jobãƒœãƒ¼ãƒŠã‚¹ã‚’è¿½åŠ (å‚考:R.O.M 776) conf/npc_town_kafra.txt - ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“®ì–¢Šm”F) + オークDå‰ã¨ç‚鉱å‰ã«ã‚«ãƒ—ラé…ç½®(動作未確èª) conf/npc_shop3.txt - ƒWƒ…[ƒm”Ì”„NPC(E‚¢•¨) + ジューノ販売NPC(拾ã„物) conf/npc_town_yuno.txt - ƒWƒ…[ƒmNPC(E‚¢•¨‚ð‰ü—ÇB“®ì–¢Šm”F) + ジューノNPC(拾ã„物を改良。動作未確èª) -------------- -//0425 by Ž€_ +//0425 by æ»ç¥ž -E0419‚Å‘‚«–Y‚ꂽ•¨‚Å‚·‚ªƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“‚ªSP‰ñ•œƒAƒCƒeƒ€‚É‚àŒø‰Ê‚ª‚ ‚é‚悤‚É•ÏXB -E¡“x‚̓oƒOC³‚ªƒƒCƒ“‚Å‚·BŽI—Ž‚¿‚ª‚È‚è‚»‚¤‚ÈŠ‚ÌC³‚ƃeƒŒƒ|[ƒg‚ÌŽžŽ€‚ñ‚¾‚܂܈ړ®‚Å‚«‚é–â‘è‚Æ0419‚ŃAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÌæU–â‘èC³AŽ€‚ñ‚Å‚¢‚é‚Ì‚É‘¼‚Ìl‚É‚ÍŽ€‚ñ‚¾‚悤‚ÉŒ©‚¦‚È‚¢–â‘è‚ÌC³‚Å‚·B‚µƒeƒXƒg‚Í‚µ‚Ü‚µ‚½‚ª–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·B•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +・0419ã§æ›¸ã忘れãŸç‰©ã§ã™ãŒã‚¹ã‚ルラーニングãƒãƒ¼ã‚·ãƒ§ãƒ³ãŒSP回復アイテムã«ã‚‚効果ãŒã‚るよã†ã«å¤‰æ›´ã€‚ +・今度ã¯ãƒã‚°ä¿®æ£ãŒãƒ¡ã‚¤ãƒ³ã§ã™ã€‚鯖è½ã¡ãŒãªã‚Šãã†ãªæ‰€ã®ä¿®æ£ã¨ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã®æ™‚æ»ã‚“ã ã¾ã¾ç§»å‹•ã§ãã‚‹å•é¡Œã¨0419ã§ã‚¢ã‚¯ãƒ†ã‚£ãƒ–モンスターã®å…ˆæ”»å•é¡Œä¿®æ£ã€æ»ã‚“ã§ã„ã‚‹ã®ã«ä»–ã®äººã«ã¯æ»ã‚“ã よã†ã«è¦‹ãˆãªã„å•é¡Œã®ä¿®æ£ã§ã™ã€‚å°‘ã—テストã¯ã—ã¾ã—ãŸãŒæœ¬å½“ã«æ²»ã£ãŸã‹ã©ã†ã‹ã¯ä¸æ˜Žã§ã™ã€‚å ±å‘Šã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ pc.c - pc_attack_timer()Apc_damage()Apc_walk() C³B + pc_attack_timer()ã€pc_damage()ã€pc_walk() ä¿®æ£ã€‚ map.c - map_quit() C³B + map_quit() ä¿®æ£ã€‚ mob_db.txt - ƒrƒbƒOƒtƒbƒg‚Ìmode‚ðC³(ƒAƒNƒeƒBƒu‚É‚È‚Á‚Ä‚¢‚½ˆ×) + ビッグフットã®modeã‚’ä¿®æ£(アクティブã«ãªã£ã¦ã„ãŸç‚º) clif.c - clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A - clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() C³B + clif_parse_WalkToXY()ã€clif_pcoutsight()ã€clif_pcinsight()〠+ clif_getareachar_pc()ã€clif_getareachar_mob()ã€clif_getareachar_pet() ä¿®æ£ã€‚ mob.c - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A - mob_walk() C³B + mob_ai_sub_hard_activesearch()ã€mob_ai_sub_hard_mastersearch()〠+ mob_walk() ä¿®æ£ã€‚ pet.c - pet_walk() C³B + pet_walk() ä¿®æ£ã€‚ -------------- //0424 by hoenny -EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’ljÁ +・クリップボーナス SP 10è¿½åŠ db/item_db.txt -Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ñ‚Å, ‚¿‚å‚Á‚ÆC³ +・warp_test_yuno.txtã‚’ npc_warp30.txtã«å«ã‚“ã§, ã¡ã‚‡ã£ã¨ä¿®æ£ conf/npc_warp30.txt -E‘¼‚̃T[ƒo[‚ª—Ž‚¿‚Ä‚à•œ‹Œ‚³‚ê‚é‚悤‚ÉC³ - /startƒNƒŠƒbƒv +・他ã®ã‚µãƒ¼ãƒãƒ¼ãŒè½ã¡ã¦ã‚‚復旧ã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ + /startクリップ -------------- -//0420 by g—t +//0420 by 紅葉 -EEP 3.0‚ł̃J[ƒhŒø‰Ê•ÏX‚ɉð‚é”͈͂őΉžB -@‚Ù‚Ú‘S‚Ä‚Ì•ÏX“_‚ɂ‚¢‚ÄAo—ˆ‚éŒÀ‚èC³‚µ‚Ä‚ ‚è‚Ü‚·B -@ATKC³‚ª³‚µ‚“K—p‚³‚ê‚Ä‚¢‚é‚悤‚Ȃ̂ŒljÁ‚µ‚Ä‚ ‚è‚Ü‚·B(ƒAƒ“ƒhƒŒC‚È‚Ç) +・EP 3.0ã§ã®ã‚«ãƒ¼ãƒ‰åŠ¹æžœå¤‰æ›´ã«è§£ã‚‹ç¯„囲ã§å¯¾å¿œã€‚ + ã»ã¼å…¨ã¦ã®å¤‰æ›´ç‚¹ã«ã¤ã„ã¦ã€å‡ºæ¥ã‚‹é™ã‚Šä¿®æ£ã—ã¦ã‚ã‚Šã¾ã™ã€‚ + ATKä¿®æ£ãŒæ£ã—ãé©ç”¨ã•ã‚Œã¦ã„るよã†ãªã®ã§è¿½åŠ ã—ã¦ã‚ã‚Šã¾ã™ã€‚(アンドレCãªã©) -------------- -//0419 by Ž€_ +//0419 by æ»ç¥ž -E0414‚Å‘‚«–Y‚ꂽ•¨‚Å‚·‚ª MOB‚Ìmode‚Å0x20(32)‚𕜊ˆ‚³‚¹‚Ü‚µ‚½Bƒ{ƒX‚¶‚á‚È‚‚Ä‚àmode‚É0x20‚ª“ü‚Á‚Ä‚¢‚éꇕ’Ê‚ÌMOB‚Å‚àŽ€‚ñ‚¾‚Ó‚è‚ð”j‚ê‚Ü‚·B -(¡‚ÌŠ‹@”\‚Í‚»‚ꂾ‚¯‚Å‚·B–{ŽI‚ÍAI‹‰»‚Ý‚½‚¢‚Å‚·‚ª...) ‚½‚¾ƒS[ƒXƒg‚̓{ƒX‚Å‚à”j‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB -‚»‚ê‚ÆŽæ‚芪‚«‚ÌAI‚ÅŽæ‚芪‚«‚ªƒ^[ƒQƒbƒg‚µ‚½ŽžŽå‚ªƒ^[ƒQƒbƒg‚µ‚Ä‚È‚¢‚Ǝ傪Žæ‚芪‚«‚̃^[ƒQƒbƒg‚ðƒ^[ƒQƒbƒg‚·‚é•”•ª‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B(‚±‚ꂪ–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚µ‚½‚Ì‚Å...) -EŒÃ‚¢Â‚¢” AŒÃ‚¢Ž‡F‚Ì” AŒÃ‚¢ƒJ[ƒh’Ÿ‚Åo‚éƒAƒCƒeƒ€‚ðƒtƒ@ƒCƒ‹‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB +・0414ã§æ›¸ã忘れãŸç‰©ã§ã™ãŒ MOBã®modeã§0x20(32)を復活ã•ã›ã¾ã—ãŸã€‚ボスã˜ã‚ƒãªãã¦ã‚‚modeã«0x20ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆæ™®é€šã®MOBã§ã‚‚æ»ã‚“ã ãµã‚Šã‚’ç ´ã‚Œã¾ã™ã€‚ +(今ã®æ‰€æ©Ÿèƒ½ã¯ãã‚Œã ã‘ã§ã™ã€‚本鯖ã¯AI強化ã¿ãŸã„ã§ã™ãŒ...) ãŸã ゴーストã¯ãƒœã‚¹ã§ã‚‚ç ´ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 +ãã‚Œã¨å–ã‚Šå·»ãã®AIã§å–ã‚Šå·»ããŒã‚¿ãƒ¼ã‚²ãƒƒãƒˆã—ãŸæ™‚主ãŒã‚¿ãƒ¼ã‚²ãƒƒãƒˆã—ã¦ãªã„ã¨ä¸»ãŒå–ã‚Šå·»ãã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ターゲットã™ã‚‹éƒ¨åˆ†ã‚’コマントアウトã—ã¾ã—ãŸã€‚(ã“ã‚ŒãŒæœ¬é¯–ã«ã‚ã£ã¦ã„ã‚‹ã¨æ€ã„ã¾ã—ãŸã®ã§...) +・å¤ã„é’ã„ç®±ã€å¤ã„紫色ã®ç®±ã€å¤ã„カード帖ã§å‡ºã‚‹ã‚¢ã‚¤ãƒ†ãƒ をファイルã§è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚ script.c - buildin_getitem() C³B + buildin_getitem() ä¿®æ£ã€‚ item_db.txt - ŒÃ‚¢Â‚¢” AŒÃ‚¢Ž‡F‚Ì” AŒÃ‚¢ƒJ[ƒh’ŸC³B - item_bluebox.txtAitem_purplebox.txtAitem_cardalbum.txt ’ljÁB(Žg—p—á’ö“x‚Ì•¨‚Å‚·B‚ǂ̃AƒCƒeƒ€‚ªo‚é‚悤‚É‚·‚é‚©‚ÍŽ©•ª‚Åݒ肵‚ÄŽg‚Á‚Ä‚‚¾‚³‚¢B‚½‚¾ƒNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚Æ‚·ƒAƒCƒeƒ€‚Ío‚È‚¢‚悤‚Éݒ肵‚Ä‚‚¾‚³‚¢B) + å¤ã„é’ã„ç®±ã€å¤ã„紫色ã®ç®±ã€å¤ã„カード帖修æ£ã€‚ + item_bluebox.txtã€item_purplebox.txtã€item_cardalbum.txt è¿½åŠ ã€‚(使用例程度ã®ç‰©ã§ã™ã€‚ã©ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒå‡ºã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã¯è‡ªåˆ†ã§è¨å®šã—ã¦ä½¿ã£ã¦ãã ã•ã„。ãŸã クライアントをè½ã¨ã™ã‚¢ã‚¤ãƒ†ãƒ ã¯å‡ºãªã„よã†ã«è¨å®šã—ã¦ãã ã•ã„。) itemdb.h - struct random_item_data ’ljÁB + struct random_item_data è¿½åŠ ã€‚ itemdb.c - itemdb_searchrandomid()Aitemdb_readdb() C³B -Emob.c - mob_target()Amob_ai_sub_hard() C³B(–â‘肪‚ ‚è‚»‚¤‚È•”•ª‚¾‚¯C³B) -Epc.c - pc_itemheal()Apc_walktoxy_sub() C³B -Eƒyƒbƒg‚ÌoŒ»‚ðMOB‚Æ“¯‚¶‚悤‚É•ÏXB + itemdb_searchrandomid()ã€itemdb_readdb() ä¿®æ£ã€‚ +・mob.c + mob_target()ã€mob_ai_sub_hard() ä¿®æ£ã€‚(å•é¡ŒãŒã‚ã‚Šãã†ãªéƒ¨åˆ†ã ã‘ä¿®æ£ã€‚) +・pc.c + pc_itemheal()ã€pc_walktoxy_sub() ä¿®æ£ã€‚ +・ペットã®å‡ºç¾ã‚’MOBã¨åŒã˜ã‚ˆã†ã«å¤‰æ›´ã€‚ clif.c - clif_spawnpet() C³B + clif_spawnpet() ä¿®æ£ã€‚ pet.c - pet_change_name() C³B -E0418‚ð‚µC³B(if•¶‚ÌðŒ‚ð‚µC³‚µ‚½‚¾‚¯‚Å‚·B) + pet_change_name() ä¿®æ£ã€‚ +・0418ã‚’å°‘ã—ä¿®æ£ã€‚(ifæ–‡ã®æ¡ä»¶ã‚’å°‘ã—ä¿®æ£ã—ãŸã ã‘ã§ã™ã€‚) -------------- //0418 by hoenny -E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –½—ߌêŽg—p‚̧ŒÀ -clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage C³ +・ /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM 命令語使用ã®åˆ¶é™ +clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage ä¿®æ£ map/clif.c -------------- -//0417 by ‚ê‚ +//0417 by れ゠-E0412‚Åitem_db.txt‚ª‚¨‚©‚µ‚‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ +・0412ã§item_db.txtãŒãŠã‹ã—ããªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ -------------- -//0416 by g—t +//0416 by 紅葉 -EƒWƒ…ƒm[Žü•Ó‚̃[ƒv’è‹`‚Æ“G‚Ì”z’uB -@ƒ[ƒv’è‹`‚Ínpc_warp30.txt‚Æ‚µA’ljÁ‚·‚éŒ`‚É‚µ‚Ä‚ ‚è‚Ü‚·B -@“G‚Ì”z’u‚ɂ‚¢‚Ä‚ànpc_monster.txt‚Æ‚Í“‡‚¹‚¸Anpc_monster30.txt‚Æ‚µ‚Ä‚ ‚è‚Ü‚·B -@–â‘肪–³‚¢‚悤‚Å‚ ‚ê‚Γ‡‚µ‚ĉº‚³‚¢B -Eã‹L’è‹`ƒtƒ@ƒCƒ‹’ljÁ‚É]‚¢map_athena.cnf‚ð•ÏXB -E@goƒRƒ}ƒ“ƒh‚ÖƒWƒ…ƒm[’ljÁB -@—v–]‚ª‚ ‚Á‚½‚悤‚Ȃ̂ŒljÁ‚µ‚Ü‚µ‚½B +・ジュノー周辺ã®ãƒ¯ãƒ¼ãƒ—定義ã¨æ•µã®é…置。 + ワープ定義ã¯npc_warp30.txtã¨ã—ã€è¿½åŠ ã™ã‚‹å½¢ã«ã—ã¦ã‚ã‚Šã¾ã™ã€‚ + 敵ã®é…ç½®ã«ã¤ã„ã¦ã‚‚npc_monster.txtã¨ã¯çµ±åˆã›ãšã€npc_monster30.txtã¨ã—ã¦ã‚ã‚Šã¾ã™ã€‚ + å•é¡ŒãŒç„¡ã„よã†ã§ã‚ã‚Œã°çµ±åˆã—ã¦ä¸‹ã•ã„。 +ãƒ»ä¸Šè¨˜å®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«è¿½åŠ ã«å¾“ã„map_athena.cnfを変更。 +・@goコマンドã¸ã‚¸ãƒ¥ãƒŽãƒ¼è¿½åŠ 。 + è¦æœ›ãŒã‚ã£ãŸã‚ˆã†ãªã®ã§è¿½åŠ ã—ã¾ã—ãŸã€‚ -------------- -//0415 by ’†‚Ìl +//0415 by ä¸ã®äºº -E¡‚Í–S‚«‹ŒROƒGƒ~ƒ…ŽIŠJ”ƒXƒŒƒbƒh Lv02‚Å‚ÌŽ€_Ž‚Ìà–¾‚É]‚Á‚Ä -@ƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^‚ðŽáŠ±•ÏX‚³‚¹‚Ä’¸‚«‚Ü‚µ‚½B - E‰ß‹Ž‚Ìnpc_monster.txt‚©‚ç’Êíƒ}ƒbƒvãiƒ‹ƒeƒBƒG“™œ‚j‚É‚¢‚éƒTƒ“ƒ^ƒ|ƒŠƒ“AƒAƒ“ƒ\ƒj‚ð’Šo‚µ - @V‚½‚Éì‚Á‚½unpc_x-masmonster.txtv‚Ɉړ] - Eã‹L‚ÌC³‚É‚ ‚킹‚Ämap_athena.cnf‚ðC³B - @map_athena‚ɃRƒƒ“ƒgƒAƒEƒgó‘Ô‚Åunpc: conf/npc_x-masmonster.txtv‚ð’ljÁ‚µ‚Ü‚µ‚½B - @•K—v‚É‚ ‚킹‚ăRƒƒ“ƒgƒAƒEƒg‚ð‚µ‚Ä‰º‚³‚¢B +・今ã¯äº¡ãæ—§ROエミュ鯖開発スレッド Lv02ã§ã®æ»ç¥žæ°ã®èª¬æ˜Žã«å¾“ã£ã¦ + モンスター定義データを若干変更ã•ã›ã¦é ‚ãã¾ã—ãŸã€‚ + ・éŽåŽ»ã®npc_monster.txtã‹ã‚‰é€šå¸¸ãƒžãƒƒãƒ—上(ルティエç‰é™¤ã)ã«ã„るサンタãƒãƒªãƒ³ã€ã‚¢ãƒ³ã‚½ãƒ‹ã‚’抽出㗠+  新ãŸã«ä½œã£ãŸã€Œnpc_x-masmonster.txtã€ã«ç§»è»¢ + ・上記ã®ä¿®æ£ã«ã‚ã‚ã›ã¦map_athena.cnfã‚’ä¿®æ£ã€‚ +  map_athenaã«ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆçŠ¶æ…‹ã§ã€Œnpc: conf/npc_x-masmonster.txtã€ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ +  必è¦ã«ã‚ã‚ã›ã¦ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’ã—ã¦ä¸‹ã•ã„。 -------------- -//0414 by Ž€_ +//0414 by æ»ç¥ž -Estrcasecmp‚ðstrcmpi‚É•ÏXB -Edb‚âÝ’èƒtƒ@ƒCƒ‹‚ð“Ç‚ÞŽž// ‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚ÉC³B -Eƒyƒbƒg‚Æ—£‚ê‚·‚¬‚é‚ƃyƒbƒg‚ª‘‚“®‚‚悤‚É•ÏXB(ƒLƒƒƒ‰‚Ì2”{‚Ì‘¬“x‚Å“®‚«‚Ü‚·B) -Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[‚ªƒAƒCƒeƒ€‚ðƒ^[ƒQƒbƒg‚µ‚½ŽžUŒ‚‚ðŽó‚¯‚Ä‚àUŒ‚‚µ‚Ä‚±‚È‚¢–â‘èC³B -E“¯‘°ƒ‚ƒ“ƒXƒ^[‚ÌAI‚ð•ÏXB¡‚Ü‚Å‚Ítraget_id‚ðŽg‚¤‚¹‚¢‚Ń‚ƒ“ƒXƒ^[‚ªUŒ‚‚µ‚½‘ŠŽè‚ðUŒ‚‚·‚éŽd‘g‚Ý‚¾‚Á‚½‚ª¡“x‚Íattacked_id‚ðŽg‚¤ˆ×UŒ‚‚µ‚Ä‚«‚½‘ŠŽè‚ðUŒ‚‚·‚é‚悤‚É•ÏXB -‚½‚¾¡‚ÌŽd—l‚¾‚Æ“¯‘°ƒ‚ƒ“ƒXƒ^[‚ðUŒ‚‚µ‚Ä“¦‚°‚éê‡UŒ‚‚ðŽó‚¯‚½Žž‚»‚Ìê‚É‚È‚©‚Á‚½ƒ‚ƒ“ƒXƒ^[‚͂‚¢‚Ä—ˆ‚È‚‚È‚Á‚Ä‚¢‚Ü‚·B–{ŽI‚ÌŽd—l‚É‚ ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·‚Ì‚Åî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B(attacked_id‚Í‚¢‚Â‚àƒŠƒZƒbƒg‚³‚ê‚éˆ×‚Å‚·B‘Îô‚ª‚¢‚È‚¢‚킯‚Å‚à‚È‚¢‚Å‚·‚ª–{ŽI‚ÌŽd—l‚ð’m‚ç‚È‚¢‚Ì‚Å...) -Eƒƒ‚ƒŠ[‚ÌŽg—p—Ê‚ðŒ¸‚ç‚·ˆ×struct mob_data‚Æstruct npc_data‚ð•ÏXB(0412‚Å -map-server‚̃ƒ‚ƒŠ[‚ÌŽg—p—Ê‚ª164???KBytes‚¾‚Á‚½‚ª0414‚Å‚Í152???KBytes‚É‚È‚è‚Ü‚µ‚½B‚Ù‚ñ‚Ì‚µŒ¸‚Á‚½‚¾‚¯‚Å‚·‚ª‘‚¦‚é‚æ‚è‚Í‚Ü‚µ‚¾‚ÆŽv‚¢‚Ü‚·‚Ì‚Å...) -EƒS[ƒXƒgƒ^ƒCƒ€ŽÀ‘•B - ƒ}ƒbƒvˆÚ“®‚âƒeƒŒƒ|[ƒgA•œŠˆ‚µ‚½Žž‚É“G‚É‘_‚í‚ê‚È‚¢ŽžŠÔ‚ðd—͂ł̓S[ƒXƒgƒ^ƒCƒ€ŒÄ‚ñ‚Å‚¢‚Ü‚·B‚»‚̃S[ƒXƒgƒ^ƒCƒ€‚ÌŽÀ‘•‚Å‚·B -battle_athena.cnf‚ÅŽžŠÔ‚ðÝ’è‚Å‚«‚Ü‚·BŽžŠÔ‚ð0‚É‚·‚é‚ƃS[ƒXƒgƒ^ƒCƒ€‚Íì“®‚µ‚Ü‚¹‚ñB‚½‚¾‚±‚̃S[ƒXƒgƒ^ƒCƒ€‚ÍUŒ‚s“®AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚ð‚·‚é‚Æ‚È‚‚È‚è‚Ü‚·B +・strcasecmpã‚’strcmpiã«å¤‰æ›´ã€‚ +・dbã‚„è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’èªã‚€æ™‚// をコマントアウトã¨ã—ã¦èªè˜ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・ペットã¨é›¢ã‚Œã™ãŽã‚‹ã¨ãƒšãƒƒãƒˆãŒæ—©ãå‹•ãよã†ã«å¤‰æ›´ã€‚(ã‚ャラã®2å€ã®é€Ÿåº¦ã§å‹•ãã¾ã™ã€‚) +・ルートモンスターãŒã‚¢ã‚¤ãƒ†ãƒ をターゲットã—ãŸæ™‚攻撃をå—ã‘ã¦ã‚‚攻撃ã—ã¦ã“ãªã„å•é¡Œä¿®æ£ã€‚ +・åŒæ—モンスターã®AIを変更。今ã¾ã§ã¯traget_idを使ã†ã›ã„ã§ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ãŒæ”»æ’ƒã—ãŸç›¸æ‰‹ã‚’攻撃ã™ã‚‹ä»•çµ„ã¿ã ã£ãŸãŒä»Šåº¦ã¯attacked_idを使ã†ç‚ºæ”»æ’ƒã—ã¦ããŸç›¸æ‰‹ã‚’攻撃ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +ãŸã 今ã®ä»•æ§˜ã ã¨åŒæ—モンスターを攻撃ã—ã¦é€ƒã’ã‚‹å ´åˆæ”»æ’ƒã‚’å—ã‘ãŸæ™‚ãã®å ´ã«ãªã‹ã£ãŸãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã¯ã¤ã„ã¦æ¥ãªããªã£ã¦ã„ã¾ã™ã€‚本鯖ã®ä»•æ§˜ã«ã‚ã£ã¦ã‚‹ã‹ã©ã†ã‹ã¯ä¸æ˜Žã§ã™ã®ã§æƒ…å ±æ供をãŠé¡˜ã„ã—ã¾ã™ã€‚(attacked_idã¯ã„ã¤ã‚‚リセットã•ã‚Œã‚‹ç‚ºã§ã™ã€‚対ç–ãŒã„ãªã„ã‚ã‘ã§ã‚‚ãªã„ã§ã™ãŒæœ¬é¯–ã®ä»•æ§˜ã‚’知らãªã„ã®ã§...) +・メモリーã®ä½¿ç”¨é‡ã‚’減らã™ç‚ºstruct mob_dataã¨struct npc_dataを変更。(0412㧠+map-serverã®ãƒ¡ãƒ¢ãƒªãƒ¼ã®ä½¿ç”¨é‡ãŒ164???KBytesã ã£ãŸãŒ0414ã§ã¯152???KBytesã«ãªã‚Šã¾ã—ãŸã€‚ã»ã‚“ã®å°‘ã—減ã£ãŸã ã‘ã§ã™ãŒå¢—ãˆã‚‹ã‚ˆã‚Šã¯ã¾ã—ã ã¨æ€ã„ã¾ã™ã®ã§...) +・ゴーストタイム実装。 + マップ移動やテレãƒãƒ¼ãƒˆã€å¾©æ´»ã—ãŸæ™‚ã«æ•µã«ç‹™ã‚ã‚Œãªã„時間をé‡åŠ›ã§ã¯ã‚´ãƒ¼ã‚¹ãƒˆã‚¿ã‚¤ãƒ 呼んã§ã„ã¾ã™ã€‚ãã®ã‚´ãƒ¼ã‚¹ãƒˆã‚¿ã‚¤ãƒ ã®å®Ÿè£…ã§ã™ã€‚ +battle_athena.cnfã§æ™‚é–“ã‚’è¨å®šã§ãã¾ã™ã€‚時間を0ã«ã™ã‚‹ã¨ã‚´ãƒ¼ã‚¹ãƒˆã‚¿ã‚¤ãƒ ã¯ä½œå‹•ã—ã¾ã›ã‚“。ãŸã ã“ã®ã‚´ãƒ¼ã‚¹ãƒˆã‚¿ã‚¤ãƒ ã¯æ”»æ’ƒè¡Œå‹•ã€ã‚¹ã‚ル使用ã€ã‚¢ã‚¤ãƒ†ãƒ 使用をã™ã‚‹ã¨ãªããªã‚Šã¾ã™ã€‚ char/int_guild.c char/int_party.c conf/battle_athena.cnf @@ -12453,167 +12453,167 @@ battle_athena.cnf‚ÅŽžŠÔ‚ðÝ’è‚Å‚«‚Ü‚·BŽžŠÔ‚ð0‚É‚·‚é‚ƃS[ƒXƒgƒ^ƒCƒ€‚Íì“®‚µ‚Ü‚¹ map/pc.c map/pc.h map/pet.c - map/skill.c ‚ðC³B(db/mob_db.txt‚Í//‚ð“ü‚ꂽ‚¾‚¯‚Å‚·‚ª...) - C³‚µ‚½Š‚ð‘S‚ÄŠo‚¦‚Ä‚Ü‚¹‚ñ‚̂Ńtƒ@ƒCƒ‹‚¾‚¯’m‚点‚Ü‚·B + map/skill.c ã‚’ä¿®æ£ã€‚(db/mob_db.txtã¯//を入れãŸã ã‘ã§ã™ãŒ...) + ä¿®æ£ã—ãŸæ‰€ã‚’å…¨ã¦è¦šãˆã¦ã¾ã›ã‚“ã®ã§ãƒ•ã‚¡ã‚¤ãƒ«ã ã‘知らã›ã¾ã™ã€‚ -------------- -//0412 by ‚¢‚Ç +//0412 by ã„ã© -Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚ÌÄ®— -@ ‹ŒŒfŽ¦”‚Ŏw“E‚Ì‚ ‚Á‚½Ž–€‚ɂ‚¢‚Ä‘å‘͈̂̔͂ÅC³ - snapshot387‚̃o[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ÉC³‚µ‚Ü‚µ‚½B +・モンスター定義データ(日本語)ã®å†æ•´ç† +  旧掲示æ¿ã§æŒ‡æ‘˜ã®ã‚ã£ãŸäº‹é …ã«ã¤ã„ã¦å¤§ä½“ã®ç¯„囲ã§ä¿®æ£ + snapshot387ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ベースã«ä¿®æ£ã—ã¾ã—ãŸã€‚ conf/npc_monster.txt -EƒAƒCƒeƒ€–¼‚Ì’è‹`‚ð‘å•C³ +・アイテムåã®å®šç¾©ã‚’å¤§å¹…ä¿®æ£ (root) item.list (db/) item_db.txt item_value_db.txt -Eƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`‚ŃRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚½ƒWƒ…ƒm[ŠÖ˜Aƒ}ƒbƒv‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ +・マップデータã®å®šç¾©ã§ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã—ã¦ã„ãŸã‚¸ãƒ¥ãƒŽãƒ¼é–¢é€£ãƒžãƒƒãƒ—ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’解除 conf/map_athena.cnf -------------- -//0411 by Ž€_ - -EŽIsnapshot‚Å‚·B‚»‚ê‚Ælogin_portAchar_portAmap_port‚Ìݒ肪‚È‚‚Ä‚à -ƒfƒtƒHƒ‹ƒg‚Å6900A6121A5121‚ðŽg‚¤‚悤‚É•ÏXB -Elogin.cAchar.cAchrif.cAclif.c ‚µC³B -Econf_ref.txt C³B -Elogin_port‚ð6900‚©‚瑼‚Ì•¨‚É•Ï‚¦‚½ê‡‚Íclientinfo.xml‚ð•Ï‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B - --------------- -//0410 by Ž€_ - -GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽÒ‹§I—¹vŽÀ‘•B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB@ƒRƒ}ƒ“ƒh‚̓eƒXƒgÏ‚Ý‚Å‚·‚ª...) -0407‚ÌEXP‚ÉŠÖ‚·‚éC³‚É–â‘肪‚ ‚é‚炵‚¢‚Ì‚ÅC³‚µ‚Ü‚µ‚½B¡“x‚̓eƒXƒgÏ‚Ý‚Å‚·B -GM‚̃AƒJƒEƒ“ƒgID‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏX‚ÆGM‚ðƒŒƒxƒ‹•Ê‚É•ª‚¯‚é‚悤‚É•ÏXB -(GM‚̃Œƒxƒ‹‚É‚æ‚é@ƒRƒ}ƒ“ƒh“™‚ɧŒÀ‚ð‚©‚¯‚é‚‚à‚è‚Å‚·‚ª¡§ŒÀ‚ª‚©‚¯‚Ä‚¢‚镨‚Í@kickA@kickall‚Ì‚Ý‚É‚È‚Á‚Ä‚¢‚Ü‚·B) -Epc.c - pc_readdb()Apc_gainexp()Apc_nextbaseexp()Apc_nextjobexp()A - pc_checkbaselevelup()Apc_checkjoblevelup() C³B - pc_isGM()Apc_read_gm_account() ’ljÁB -Epc.h - pc_isGM() C³B - pc_read_gm_account() ’ljÁB -Eexp.txt - ƒŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢”’l‚ð999999999‚©‚ç0ˆÈ‰º‚É•ÏXB - ƒŒƒxƒ‹‚ðã‚°‚éˆ×‚É•K—v‚ÈEXP‚ð999999999ˆÈã‚É‚·‚邱‚Æ‚à‰Â”\B -Eclif.c - clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ’ljÁB -Eclif.h - clif_GM_kickack()Aclif_GM_kick() ’ljÁB -Eatcomand.c - strncmpi‚ðstrcmpi‚É•ÏXB - @kickA@kickall ƒRƒ}ƒ“ƒh’ljÁB - @kick <ƒLƒƒƒ‰–¼> - Ž©•ªˆÈŠO‚̃Lƒƒƒ‰‚ÌÚ‘±‚ð‹§I—¹‚³‚¹‚éB(Ž©•ª‚æ‚èGMƒŒƒxƒ‹‚ª - ’á‚¢ƒLƒƒƒ‰‚É‚µ‚©Žg‚¦‚È‚¢BGM‚Å‚Í‚È‚¢ƒLƒƒƒ‰‚ÌGMƒŒƒxƒ‹‚Í0) +//0411 by æ»ç¥ž + +・鯖snapshotã§ã™ã€‚ãã‚Œã¨login_portã€char_portã€map_portã®è¨å®šãŒãªãã¦ã‚‚ +デフォルトã§6900ã€6121ã€5121を使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ +・login.cã€char.cã€chrif.cã€clif.c å°‘ã—ä¿®æ£ã€‚ +・conf_ref.txt ä¿®æ£ã€‚ +・login_portã‚’6900ã‹ã‚‰ä»–ã®ç‰©ã«å¤‰ãˆãŸå ´åˆã¯clientinfo.xmlを変ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + +-------------- +//0410 by æ»ç¥ž + +GM用å³ã‚¯ãƒªãƒƒã‚¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã€Œï¼ˆname)使用者強制終了ã€å®Ÿè£…。(テストã¯ã—ã¦ã¾ã›ã‚“。@コマンドã¯ãƒ†ã‚¹ãƒˆæ¸ˆã¿ã§ã™ãŒ...) +0407ã®EXPã«é–¢ã™ã‚‹ä¿®æ£ã«å•é¡ŒãŒã‚るらã—ã„ã®ã§ä¿®æ£ã—ã¾ã—ãŸã€‚今度ã¯ãƒ†ã‚¹ãƒˆæ¸ˆã¿ã§ã™ã€‚ +GMã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆIDã‚’è¨å®šã§ãるよã†ã«å¤‰æ›´ã¨GMをレベル別ã«åˆ†ã‘るよã†ã«å¤‰æ›´ã€‚ +(GMã®ãƒ¬ãƒ™ãƒ«ã«ã‚ˆã‚‹@コマンドç‰ã«åˆ¶é™ã‚’ã‹ã‘ã‚‹ã¤ã‚‚ã‚Šã§ã™ãŒä»Šåˆ¶é™ãŒã‹ã‘ã¦ã„る物ã¯@kickã€@kickallã®ã¿ã«ãªã£ã¦ã„ã¾ã™ã€‚) +・pc.c + pc_readdb()ã€pc_gainexp()ã€pc_nextbaseexp()ã€pc_nextjobexp()〠+ pc_checkbaselevelup()ã€pc_checkjoblevelup() ä¿®æ£ã€‚ + pc_isGM()ã€pc_read_gm_account() è¿½åŠ ã€‚ +・pc.h + pc_isGM() ä¿®æ£ã€‚ + pc_read_gm_account() è¿½åŠ ã€‚ +・exp.txt + レベルãŒä¸ŠãŒã‚‰ãªã„数値を999999999ã‹ã‚‰0以下ã«å¤‰æ›´ã€‚ + レベルを上ã’る為ã«å¿…è¦ãªEXPã‚’999999999以上ã«ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã€‚ +・clif.c + clif_GM_kickack()ã€clif_GM_kick()ã€clif_parse_GMKick() è¿½åŠ ã€‚ +・clif.h + clif_GM_kickack()ã€clif_GM_kick() è¿½åŠ ã€‚ +・atcomand.c + strncmpiã‚’strcmpiã«å¤‰æ›´ã€‚ + @kickã€@kickall ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ + @kick <ã‚ャラå> + 自分以外ã®ã‚ャラã®æŽ¥ç¶šã‚’強制終了ã•ã›ã‚‹ã€‚(自分よりGMレベル㌠+ 低ã„ã‚ャラã«ã—ã‹ä½¿ãˆãªã„。GMã§ã¯ãªã„ã‚ャラã®GMレベルã¯0) @kickall - ŽI‚ÉÚ‘±‚µ‚Ä‚¢‚é‘S‚ẴLƒƒƒ‰‚ÌÚ‘±‚ð‹§I—¹‚³‚¹‚éB(Ž©•ª‚Æ - GM‚ðŠÜ‚ß‚Ä) ŽIƒ_ƒEƒ“—p‚̃Rƒ}ƒ“ƒh‚Å‚·BGMƒŒƒxƒ‹‚ª99‚¶‚á‚È‚¢‚Æ - Žg‚¦‚È‚¢B -Econf/GM_account.txt ’ljÁB - GM‚Æ‚µ‚Ä”FŽ¯‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’è‚·‚éƒtƒ@ƒCƒ‹‚Å‚·B -Emmo.h - DEFAULT_WALK_SPEED‚ð140‚©‚ç150‚É•ÏXB(‚±‚ꂪ–{ŽI‚É‚ ‚Á‚Ä‚é”’l - ‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) - struct gm_account ’ljÁB -Eclient_packet.txt - ƒpƒPƒbƒg0x00cd ’ljÁB -Elogin_port‚ðcnf‚œǂނ悤‚É•ÏXB(‚½‚¾6900‚©‚çƒ|[ƒg‚ð•Ï‚¦‚é‚ƃNƒ‰ƒCƒAƒ“ƒg‚ª”FŽ¯‚Å‚«‚È‚¢–Í—l‚È‚Ì‚Å–³‘Ê‚È‚±‚Æ‚¾‚Á‚½‚è‚à‚µ‚Ü‚·‚ª...) - char.cAlogin.cAchar_athena.cnfAlogin_athena.cnf C³B -E•’ʂ̃AƒJƒEƒ“ƒg쬂łÍGM‚É‚È‚ê‚È‚¢‚悤‚Élogin.c‚ð•ÏXB -Elogin/makefileAmap/makefile C³B - --------------- -//0408 by ŒÓ’±—– - -E405‚ÌV‚µ‚¢—ƒRƒ}ƒ“ƒh‚ðˆÈ‘O‚Ìatcommand.c‚ÉŽæ‚èž‚Ý‚Ü‚µ‚½B - E@kami‚ðC³ - E@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave, + 鯖ã«æŽ¥ç¶šã—ã¦ã„ã‚‹å…¨ã¦ã®ã‚ャラã®æŽ¥ç¶šã‚’強制終了ã•ã›ã‚‹ã€‚(自分㨠+ GMã‚’å«ã‚ã¦) 鯖ダウン用ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã™ã€‚GMレベルãŒ99ã˜ã‚ƒãªã„㨠+ 使ãˆãªã„。 +・conf/GM_account.txt è¿½åŠ ã€‚ + GMã¨ã—ã¦èªè˜ã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆIDã‚’è¨å®šã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ +・mmo.h + DEFAULT_WALK_SPEEDã‚’140ã‹ã‚‰150ã«å¤‰æ›´ã€‚(ã“ã‚ŒãŒæœ¬é¯–ã«ã‚ã£ã¦ã‚‹æ•°å€¤ + ã¿ãŸã„ã§ã™ã®ã§...) + struct gm_account è¿½åŠ ã€‚ +・client_packet.txt + パケット0x00cd è¿½åŠ ã€‚ +・login_portã‚’cnfã§èªã‚€ã‚ˆã†ã«å¤‰æ›´ã€‚(ãŸã 6900ã‹ã‚‰ãƒãƒ¼ãƒˆã‚’変ãˆã‚‹ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒèªè˜ã§ããªã„模様ãªã®ã§ç„¡é§„ãªã“ã¨ã ã£ãŸã‚Šã‚‚ã—ã¾ã™ãŒ...) + char.cã€login.cã€char_athena.cnfã€login_athena.cnf ä¿®æ£ã€‚ +・普通ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆä½œæˆã§ã¯GMã«ãªã‚Œãªã„よã†ã«login.cを変更。 +・login/makefileã€map/makefile ä¿®æ£ã€‚ + +-------------- +//0408 by 胡è¶è˜ + +・405ã®æ–°ã—ã„ï¼ ã‚³ãƒžãƒ³ãƒ‰ã‚’ä»¥å‰ã®atcommand.cã«å–ã‚Šè¾¼ã¿ã¾ã—ãŸã€‚ + ・@kamiã‚’ä¿®æ£ + ・@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave, @night,@day,@doom,@doommap,@raise,@raisemap,@charbaselvl,@charjlvl - ‚ð’ljÁ•ƒƒbƒZ[ƒW‚ð“ú–{Œê‚É•ÏX•‚µC³ + ã‚’è¿½åŠ ï¼†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ—¥æœ¬èªžã«å¤‰æ›´ï¼†å°‘ã—ä¿®æ£ atcommand.c - ’ljÁ‚ÆC³ + è¿½åŠ ã¨ä¿®æ£ -Eˆê•”‚̃XƒLƒ‹‚ÌŒø‰ÊŽÀ‘• - E•sŽ€g‚̃W[ƒNƒtƒŠ[ƒhAƒCƒhƒDƒ“‚Ì—ÑŒçAK‰^‚̃LƒXA - ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[AƒtƒƒXƒgƒEƒFƒ|ƒ“Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[A - ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ +・一部ã®ã‚¹ã‚ルã®åŠ¹æžœå®Ÿè£… + ・ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ã€ã‚¤ãƒ‰ã‚¥ãƒ³ã®æž—檎ã€å¹¸é‹ã®ã‚ス〠+ フレイムランãƒãƒ£ãƒ¼ã€ãƒ•ãƒã‚¹ãƒˆã‚¦ã‚§ãƒãƒ³ã€ãƒ©ã‚¤ãƒˆãƒ‹ãƒ³ã‚°ãƒãƒ¼ãƒ€ãƒ¼ã€ + サイズミックウェãƒãƒ³ map.h - struct skill_unit‚Érange‚ð’ljÁB + struct skill_unitã«rangeã‚’è¿½åŠ ã€‚ skill.c - FXC³ + è‰²ã€…ä¿®æ£ skill.h - enum‚ÌC³‚È‚Ç + enumã®ä¿®æ£ãªã© -------------- -//0407 by Ž€_ +//0407 by æ»ç¥ž -Eƒyƒbƒg‚̃oƒOC³B(‚½‚¾Ž©•ª‚ÅÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–â‘è‚É‚È‚è‚»‚¤‚ÈŠ‚¾‚¯C³‚µ‚Ü‚µ‚½B) -Eƒyƒbƒg‚̈ړ®‘¬“x‚ðpet_db‚ɒljÁB +・ペットã®ãƒã‚°ä¿®æ£ã€‚(ãŸã 自分ã§å†ç¾ã§ããªã‹ã£ãŸã®ã§å•é¡Œã«ãªã‚Šãã†ãªæ‰€ã ã‘ä¿®æ£ã—ã¾ã—ãŸã€‚) +・ペットã®ç§»å‹•é€Ÿåº¦ã‚’pet_dbã«è¿½åŠ 。 pet.h - struct pet_db‚Éspeed’ljÁB + struct pet_dbã«speedè¿½åŠ ã€‚ pet.c - pet_catch_process2()Aread_petdb() C³B + pet_catch_process2()ã€read_petdb() ä¿®æ£ã€‚ pet_db.txt - ˆÚ“®‘¬“x’ljÁB - (ƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚é‚̂̓Wƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Å‚·B•ßŠl—p‚Ì - ƒAƒCƒeƒ€‚ª‘¶Ý‚·‚邱‚ƂƃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚±‚Æ‚©‚çl‚¦‚Ä - ’ljÁ‚³‚ê‚é—\’è‚Ì•¨‚Æl‚¦‚ç‚ê‚Ü‚·B‚½‚¾‚»‚̕ߊl—p‚̃AƒCƒeƒ€‚ª - ‚ ‚é‚ƃNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚¿‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B’ljÁ‚µ‚Ä‚à - ‘䎌‚̓|ƒŠƒ“‚Ì•¨‚Å‚·‚Ì‚Å... •ßŠl—p‚̃AƒCƒeƒ€ˆÈŠO‚Í“K“–‚É“ü‚ꂽ - •¨‚Å‚·B) -Epc.cAclif.c - pc_equipitem() C³B - clif_parse_EquipItem() C³B - pc_equipitem()‚Ì–¢ŠÓ’èƒAƒCƒeƒ€‚̃`ƒFƒbƒN‚ðclif_parse_EquipItem()‚É - ˆÚ“®‚µ‚Ü‚µ‚½B(ƒyƒbƒg‚Ì‘•”õ‚à‚ ‚è‚Ü‚·‚Ì‚Å...) -EƒŒƒxƒ‹‚ð99ˆÈã‚É‚ ‚°‚é‚悤‚É•ÏX‚ÆE‹Æ•Ê‚Ƀx[ƒXƒŒƒxƒ‹‚ÌŒÀŠEƒŒƒxƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B + ç§»å‹•é€Ÿåº¦è¿½åŠ ã€‚ + (コマントアウトã—ã¦ã„ã‚‹ã®ã¯ã‚¸ãƒ«ã‚¿ã‚¹ã¨ã‚¢ãƒªã‚¹ã§ã™ã€‚æ•ç²ç”¨ã® + アイテムãŒå˜åœ¨ã™ã‚‹ã“ã¨ã¨ãƒ‘フォーマンスをã™ã‚‹ã“ã¨ã‹ã‚‰è€ƒãˆã¦ + è¿½åŠ ã•ã‚Œã‚‹äºˆå®šã®ç‰©ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ãŸã ãã®æ•ç²ç”¨ã®ã‚¢ã‚¤ãƒ†ãƒ ㌠+ ã‚ã‚‹ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’è½ã¡ã¾ã™ã®ã§æ³¨æ„ã—ã¦ãã ã•ã„ã€‚è¿½åŠ ã—ã¦ã‚‚ + å°è©žã¯ãƒãƒªãƒ³ã®ç‰©ã§ã™ã®ã§... æ•ç²ç”¨ã®ã‚¢ã‚¤ãƒ†ãƒ 以外ã¯é©å½“ã«å…¥ã‚ŒãŸ + 物ã§ã™ã€‚) +・pc.cã€clif.c + pc_equipitem() ä¿®æ£ã€‚ + clif_parse_EquipItem() ä¿®æ£ã€‚ + pc_equipitem()ã®æœªé‘‘定アイテムã®ãƒã‚§ãƒƒã‚¯ã‚’clif_parse_EquipItem()ã« + 移動ã—ã¾ã—ãŸã€‚(ペットã®è£…備もã‚ã‚Šã¾ã™ã®ã§...) +・レベルを99以上ã«ã‚ã’るよã†ã«å¤‰æ›´ã¨è·æ¥åˆ¥ã«ãƒ™ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«ã®é™ç•Œãƒ¬ãƒ™ãƒ«ã‚’è¨å®šã§ãるよã†ã«ä¿®æ£ã€‚ map.h - MAX_LEVEL’ljÁB + MAX_LEVELè¿½åŠ ã€‚ pc.c - pc_nextbaseexp(), pc_nextjobexp() C³B - pc_readdb() C³B -Eexp.txt C³BE‹ÆƒŒƒxƒ‹‚Æ“¯‚¶‚悤‚Ƀx[ƒXƒŒƒxƒ‹‚àEXPƒe[ƒuƒ‹‚ð3‚Âì‚è‚Ü‚µ‚½BƒŒƒxƒ‹ƒAƒbƒv‚ðŽ~‚ß‚½‚¢ƒŒƒxƒ‹‚Ìexp‚ð999999999‚É‚·‚ê‚΂»‚êˆÈヌƒxƒ‹‚ªã‚ª‚è‚Ü‚¹‚ñB‚‚܂ènoviceA1ŽŸE‹Æ‚Æ2ŽŸE‹Æ‚̃x[ƒXƒŒƒxƒ‹‚ÌŒÀŠE‚ðˆá‚¤‚悤‚ÉÝ’è‚Å‚«‚Ü‚·B‚»‚µ‚ăx[ƒXƒŒƒxƒ‹99ˆÈã‚Éオ‚é‚悤‚É‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B(exp.txt‚ÌC³‚ª•K—v‚Å‚·‚ª–{ŽI‚ƈႤ‚悤‚Éݒ肵‚½‚¢ê‡‚ÉC³‚µ‚ÄŽg‚Á‚Ä‚‚¾‚³‚¢B) -E‘®«‚É‚æ‚é‰ñ•œ‚ðbattle_athena.cnf‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB - attr_fix.txt C³B + pc_nextbaseexp(), pc_nextjobexp() ä¿®æ£ã€‚ + pc_readdb() ä¿®æ£ã€‚ +・exp.txt ä¿®æ£ã€‚è·æ¥ãƒ¬ãƒ™ãƒ«ã¨åŒã˜ã‚ˆã†ã«ãƒ™ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«ã‚‚EXPテーブルを3ã¤ä½œã‚Šã¾ã—ãŸã€‚レベルアップをæ¢ã‚ãŸã„レベルã®expã‚’999999999ã«ã™ã‚Œã°ãれ以上レベルãŒä¸ŠãŒã‚Šã¾ã›ã‚“。ã¤ã¾ã‚Šnoviceã€1次è·æ¥ã¨2次è·æ¥ã®ãƒ™ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«ã®é™ç•Œã‚’é•ã†ã‚ˆã†ã«è¨å®šã§ãã¾ã™ã€‚ãã—ã¦ãƒ™ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«99以上ã«ä¸ŠãŒã‚‹ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚(exp.txtã®ä¿®æ£ãŒå¿…è¦ã§ã™ãŒæœ¬é¯–ã¨é•ã†ã‚ˆã†ã«è¨å®šã—ãŸã„å ´åˆã«ä¿®æ£ã—ã¦ä½¿ã£ã¦ãã ã•ã„。) +・属性ã«ã‚ˆã‚‹å›žå¾©ã‚’battle_athena.cnfã§è¨å®šã§ãるよã†ã«å¤‰æ›´ã€‚ + attr_fix.txt ä¿®æ£ã€‚ battle.h - struct Battle_Config‚Éattr_recover ’ljÁB + struct Battle_Configã«attr_recover è¿½åŠ ã€‚ battle.c - battle_config_read() C³B - battle_athena.cnf C³B -Econf_ref.txt C³B -Eclient_packet.txt C³BƒyƒbƒgƒpƒPƒbƒg’ljÁ‚Æ‚µC³B - --------------- -//0402 by ŒÓ’±—– - -E400‚̃oƒO‚ðˆê•”C³ - EŠ|‚©‚Á‚Ä‚È‚¢ƒXƒLƒ‹Œø‰Ê‚É‚æ‚éƒXƒe[ƒ^ƒXŒvŽZ‚ªs‚í‚ê‚Ä‚µ‚Ü‚¤ƒoƒOC³ - EŒø‰ÊC³F‚ ‚‚Ü‚ÅŒø‰Ê‚ÌŒvŽZ‚ÌC³‚ÅAŽg‚¦‚È‚¢ƒXƒLƒ‹‚ÍŽg‚¦‚Ü‚¹‚ñB - ƒXƒsƒAƒNƒBƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA푾ŒÛ‚Ì‹¿‚«A - —[—z‚̃AƒTƒVƒ“ƒNƒƒXAŒû“JA•sŽ€g‚̃W[ƒNƒtƒŠ[ƒhA - ƒCƒhƒDƒ“‚Ì—ÑŒçAƒT[ƒrƒXƒtƒH[ƒ†[AK‰^‚̃LƒX - EŒø‰Ê’ljÁF‚ ‚‚Ü‚ÅŒø‰Ê‚ÌŒvŽZ‚̒ljÁ‚ÅAŽg‚¦‚È‚¢ƒXƒLƒ‹‚ÍŽg‚¦‚Ü‚¹‚ñB - ƒnƒ~ƒ“ƒOAŽ„‚ð–Y‚ê‚È‚¢‚ÅcAƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö(•ŠíƒŒƒxƒ‹–³Ž‹)A - ƒGƒ^[ƒiƒ‹ƒJƒIƒXAƒhƒ‰ƒSƒmƒƒW[ - EŒø‰Ê•t‰ÁŒn‚Í‚¿‚å‚Á‚Æ‚Å‚à‰ö‚µ‚¢ƒXƒLƒ‹‚Í‘S‚ÄŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³ - EUŒ‚ŒnƒXƒLƒ‹‚Í‚Ù‚Æ‚ñ‚ÇŒ©‚Ä‚È‚¢‚Ì‚Å‚½‚Ô‚ñƒoƒO‘½‚¢‚Å‚·B - E‘S‚Ä–¢ƒeƒXƒg‚Å‚·B‰ö‚µ‚·‚¬‚é•”•ª‚ðC³‚µ‚½‚¾‚¯‚Å‚·B + battle_config_read() ä¿®æ£ã€‚ + battle_athena.cnf ä¿®æ£ã€‚ +・conf_ref.txt ä¿®æ£ã€‚ +・client_packet.txt ä¿®æ£ã€‚ãƒšãƒƒãƒˆãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ ã¨å°‘ã—ä¿®æ£ã€‚ + +-------------- +//0402 by 胡è¶è˜ + +・400ã®ãƒã‚°ã‚’ä¸€éƒ¨ä¿®æ£ + ・掛ã‹ã£ã¦ãªã„スã‚ル効果ã«ã‚ˆã‚‹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¨ˆç®—ãŒè¡Œã‚ã‚Œã¦ã—ã¾ã†ãƒã‚°ä¿®æ£ + ・効果修æ£ï¼šã‚ãã¾ã§åŠ¹æžœã®è¨ˆç®—ã®ä¿®æ£ã§ã€ä½¿ãˆãªã„スã‚ルã¯ä½¿ãˆã¾ã›ã‚“。 + スピアクィッケンã€ãƒ—ãƒãƒ´ã‚£ãƒ‡ãƒ³ã‚¹ã€æˆ¦å¤ªé¼“ã®éŸ¿ã〠+ 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ã€å£ç¬›ã€ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ã€ + イドゥンã®æž—檎ã€ã‚µãƒ¼ãƒ“スフォーユーã€å¹¸é‹ã®ã‚ス + ãƒ»åŠ¹æžœè¿½åŠ ï¼šã‚ãã¾ã§åŠ¹æžœã®è¨ˆç®—ã®è¿½åŠ ã§ã€ä½¿ãˆãªã„スã‚ルã¯ä½¿ãˆã¾ã›ã‚“。 + ãƒãƒŸãƒ³ã‚°ã€ç§ã‚’忘れãªã„ã§â€¦ã€ãƒ‹ãƒ¼ãƒ™ãƒ«ãƒ³ã‚°ã®æŒ‡è¼ª(æ¦å™¨ãƒ¬ãƒ™ãƒ«ç„¡è¦–)〠+ エターナルカオスã€ãƒ‰ãƒ©ã‚´ãƒŽãƒã‚¸ãƒ¼ + ãƒ»åŠ¹æžœä»˜åŠ ç³»ã¯ã¡ã‚‡ã£ã¨ã§ã‚‚怪ã—ã„スã‚ルã¯å…¨ã¦ä½¿ç”¨ã§ããªã„よã†ã«ä¿®æ£ + ・攻撃系スã‚ルã¯ã»ã¨ã‚“ã©è¦‹ã¦ãªã„ã®ã§ãŸã¶ã‚“ãƒã‚°å¤šã„ã§ã™ã€‚ + ・全ã¦æœªãƒ†ã‚¹ãƒˆã§ã™ã€‚怪ã—ã™ãŽã‚‹éƒ¨åˆ†ã‚’ä¿®æ£ã—ãŸã ã‘ã§ã™ã€‚ map.h - MAX_STATUSCHANGE‚ð128‚ÉC³ + MAX_STATUSCHANGEã‚’128ã«ä¿®æ£ pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ skill.c/skill.h - enum‚ðC³ - skill_status_change_start()C³ + enumã‚’ä¿®æ£ + skill_status_change_start()ä¿®æ£ battle.c - battle_calc_weapon_attack()‚È‚ÇC³ + battle_calc_weapon_attack()ãªã©ä¿®æ£ -------------- //0400 by AppleGirl @@ -12655,341 +12655,341 @@ STRIP_WEAPON STRIP_SHIELD STRIP_ARMOR -* “K“–‚Șa–ó * -2-2ŽŸEƒXƒLƒ‹‚ð’ljÁ‚µ‚Ü‚µ‚½ -‘S‚Ä‚ÌC—ûƒXƒLƒ‹AƒXƒsƒAƒNƒCƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA -—[—z‚̃AƒTƒVƒ“ƒNƒƒXi–¢ƒeƒXƒgjAŠ¦‚¢ƒWƒ‡[ƒNAƒCƒhƒDƒ“‚Ì—ÑŒçA -ƒT[ƒrƒXƒtƒH[ƒ†[AƒƒeƒIƒXƒgƒ‰ƒCƒNi‚µˆá‚¤jA -ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNA–‚¿AƒtƒƒXƒgƒEƒFƒ|ƒ“(‘®«‚ª–â‘è‚ ‚èH) -ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[(V)AƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“(V)Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[(V) -‘§Aƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[ -Š®‘S‚É‚Í“‚©‚È‚¢ƒXƒLƒ‹F -–Ò—´ŒA—øŠÂ‘Sg¶AŽO’i¶ -(skills in skill.c) (Š®—¹‚³‚ê‚é•K—v‚ª‚ ‚é) -ƒPƒ~ƒJƒ‹ƒA[ƒ}[ƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒwƒ‹ƒ€ƒ`ƒƒ[ƒWA -ƒPƒ~ƒJƒ‹ƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒEƒFƒ|ƒ“ƒ`ƒƒ[ƒWA -ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€AƒXƒgƒŠƒbƒvƒEƒFƒ|ƒ“ -ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒhAƒXƒgƒŠƒbƒvƒA[ƒ}[ - -*’ˆÓ !! CAUTION !! by ŒÓ’±—–* -‚±‚Ì400‚ɂ̓oƒO‚ª‘å—Ê‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B +* é©å½“ãªå’Œè¨³ * +2-2次è·ã‚¹ã‚ãƒ«ã‚’è¿½åŠ ã—ã¾ã—㟠+å…¨ã¦ã®ä¿®ç·´ã‚¹ã‚ルã€ã‚¹ãƒ”アクイッケンã€ãƒ—ãƒãƒ´ã‚£ãƒ‡ãƒ³ã‚¹ã€ +夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ï¼ˆæœªãƒ†ã‚¹ãƒˆï¼‰ã€å¯’ã„ジョークã€ã‚¤ãƒ‰ã‚¥ãƒ³ã®æž—檎〠+サービスフォーユーã€ãƒ¡ãƒ†ã‚ªã‚¹ãƒˆãƒ©ã‚¤ã‚¯ï¼ˆå°‘ã—é•ã†ï¼‰ã€ +ミュージカルストライクã€çŸ¢æ’ƒã¡ã€ãƒ•ãƒã‚¹ãƒˆã‚¦ã‚§ãƒãƒ³(属性ãŒå•é¡Œã‚り?) +フレームランãƒãƒ£ãƒ¼(〃)ã€ã‚µã‚¤ã‚ºãƒŸãƒƒã‚¯ã‚¦ã‚§ãƒãƒ³(〃)ã€ãƒ©ã‚¤ãƒˆãƒ‹ãƒ³ã‚°ãƒãƒ¼ãƒ€ãƒ¼(〃) +æ¯å¹ã€ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ +完全ã«ã¯åƒã‹ãªã„スã‚ル: +猛é¾æ‹³ã€æ¼£ç’°å…¨èº«æŽŒã€ä¸‰æ®µæŽŒ +(skills in skill.c) (完了ã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚‹) +ケミカルアーマーãƒãƒ£ãƒ¼ã‚¸ã€ã‚±ãƒŸã‚«ãƒ«ãƒ˜ãƒ«ãƒ ãƒãƒ£ãƒ¼ã‚¸ã€ +ケミカルシールドãƒãƒ£ãƒ¼ã‚¸ã€ã‚±ãƒŸã‚«ãƒ«ã‚¦ã‚§ãƒãƒ³ãƒãƒ£ãƒ¼ã‚¸ã€ +ストリップヘルムã€ã‚¹ãƒˆãƒªãƒƒãƒ—ウェãƒãƒ³ +ストリップシールドã€ã‚¹ãƒˆãƒªãƒƒãƒ—アーマー + +*æ³¨æ„ !! CAUTION !! by 胡è¶è˜* +ã“ã®400ã«ã¯ãƒã‚°ãŒå¤§é‡ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚注æ„ã—ã¦ãã ã•ã„。 there are many many BUGS in this update(400) !! Be careful !! -------------- -//0399 by ŒÓ’±—– +//0399 by 胡è¶è˜ -EMOBƒXƒLƒ‹Žg—pðŒ‚âs“®‚ðC³ - E–³s“®MOB‚ª‘Ò‹@Žž‚̃XƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢–â‘è‚ðC³ - EðŒƒXƒLƒ‹”½‰ž(skillused)‚ª‚ǂ̃XƒLƒ‹‚É‚à”½‰ž‚µ‚Ä‚¢‚½ƒoƒOC³ - E”ñˆÚ“®MOB‚ª’ÇŒ‚‚µ‚Ä‚‚é–â‘è‚ðC³ +・MOBスã‚ル使用æ¡ä»¶ã‚„è¡Œå‹•ã‚’ä¿®æ£ + ・無行動MOBãŒå¾…機時ã®ã‚¹ã‚ルを使用ã§ããªã„å•é¡Œã‚’ä¿®æ£ + ・æ¡ä»¶ã‚¹ã‚ルåå¿œ(skillused)ãŒã©ã®ã‚¹ã‚ルã«ã‚‚åå¿œã—ã¦ã„ãŸãƒã‚°ä¿®æ£ + ・éžç§»å‹•MOBãŒè¿½æ’ƒã—ã¦ãã‚‹å•é¡Œã‚’ä¿®æ£ mob.c - mob_ai_sub_hard()C³ - mobskill_event()C³ - mobskill_use()C³ + mob_ai_sub_hard()ä¿®æ£ + mobskill_event()ä¿®æ£ + mobskill_use()ä¿®æ£ skill.c - skill_attack()C³ + skill_attack()ä¿®æ£ -EMOBƒXƒLƒ‹ˆê•”ŽÀ‘• - EŽ©Œˆ(ƒGƒtƒFƒNƒg–³‚µ?)AŽ©”šAƒ^ƒoƒR‚ð‹z‚¤A”͈ÍUŒ‚ - HP‹zŽû‚Q‚Â(’Êí/–‚–@ji‰ñ•œƒGƒtƒFƒNƒg–³‚µ?jŽÀ‘• +・MOBスã‚ル一部実装 + ・自決(エフェクト無ã—?)ã€è‡ªçˆ†ã€ã‚¿ãƒã‚³ã‚’å¸ã†ã€ç¯„囲攻撃 + HPå¸åŽï¼’ã¤(通常/é”法)(回復エフェクト無ã—?)実装 (db) skill_db.txt - ƒXƒ‚[ƒLƒ“ƒO‚È‚Ç‚ðC³ + スモーã‚ングãªã©ã‚’ä¿®æ£ (map/) skill.c - skill_castend_damage_id(),skill_castend_nodamage_id()C³ + skill_castend_damage_id(),skill_castend_nodamage_id()ä¿®æ£ battle.c - battle_calc_misc_damage()C³ + battle_calc_misc_damage()ä¿®æ£ -E–¢ŠÓ’èƒAƒCƒeƒ€‚ª‘•”õ‚Å‚«‚È‚‚È‚è‚Ü‚µ‚½ -E–¢ŠÓ’èƒAƒCƒeƒ€‚ɃJ[ƒh‚ª‚³‚¹‚È‚‚È‚è‚Ü‚µ‚½ +・未鑑定アイテムãŒè£…å‚™ã§ããªããªã‚Šã¾ã—㟠+・未鑑定アイテムã«ã‚«ãƒ¼ãƒ‰ãŒã•ã›ãªããªã‚Šã¾ã—㟠pc.c - pc_equipitem(),pc_insert_card()C³ + pc_equipitem(),pc_insert_card()ä¿®æ£ clif.c - clif_use_card()C³ + clif_use_card()ä¿®æ£ -Ebattle_athena.cnf‚ÉMOB‚Ì”z’uŠ„‡‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E”z’u”‚ª‚P‚ÌMOB‚ɂ‚¢‚Ä‚Í“K—p‚³‚ê‚Ü‚¹‚ñ - EŒvŽZŒã‚Ì”z’u”‚ª‚P–¢–ž‚ÌꇂP‚ÉC³‚³‚ê‚Ü‚·B +・battle_athena.cnfã«MOBã®é…置割åˆã‚’定義ã§ãるよã†ã«ãªã‚Šã¾ã—㟠+ ・é…置数ãŒï¼‘ã®MOBã«ã¤ã„ã¦ã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“ + ・計算後ã®é…置数ãŒï¼‘未満ã®å ´åˆï¼‘ã«ä¿®æ£ã•ã‚Œã¾ã™ã€‚ (conf/) battle_athena.cnf - mob_count_rate’ljÁ + mob_count_rateè¿½åŠ (doc/) conf_ref.txt - C³ + ä¿®æ£ (map/) battle.c/battle.h - struct BattleConfig ‚É mob_count_rate ƒƒ“ƒo’ljÁ + struct BattleConfig ã« mob_count_rate メンãƒè¿½åŠ npc.c - npc_parse_mob()‚ÌC³ + npc_parse_mob()ã®ä¿®æ£ -Eƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚ª‘ŠŽè‚ª‚P•C‚Å‚à‚Æ‚è‚ ‚¦‚¸“–‚½‚é‚悤‚É‚È‚Á‚½B +・ボーリングãƒãƒƒã‚·ãƒ¥ãŒç›¸æ‰‹ãŒï¼‘匹ã§ã‚‚ã¨ã‚Šã‚ãˆãšå½“ãŸã‚‹ã‚ˆã†ã«ãªã£ãŸã€‚ skill.c - skill_castend_damage_id()C³ + skill_castend_damage_id()ä¿®æ£ -EŠw¶–X쬃Cƒxƒ“ƒg‚ÌC³ +・å¦ç”Ÿå¸½ä½œæˆã‚¤ãƒ™ãƒ³ãƒˆã®ä¿®æ£ (conf/) npc_event_making.txt - ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ÉB + ã‚¢ãƒã‚¨ãƒ™ãƒ©(606)ã‚’ã‚¢ãƒã‚¨(704)ã«ã€‚ -EƒpƒPƒbƒgî•ñC³ +ãƒ»ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±ä¿®æ£ (doc/) client_packet.txt - 0199ƒpƒPƒbƒgC³ + 0199ãƒ‘ã‚±ãƒƒãƒˆä¿®æ£ -------------- -//0397 by ‚¢‚Ç +//0397 by ã„ã© -Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚Ì®— - Enpc_monster25.txt‚ðnpc_monster.txt‚ɃŠƒl[ƒ€‚µA“à—e‚ð®—(Œ»Ýmob”:13450) - E‚»‚ÌŒy—ʔłƂµ‚Änpc_monster_lite.txt‚ðì¬(Œ»Ýmob”:11959) - Eã‹L‚ÌC³‚É‚ ‚킹‚Ämap_athena.cnf‚ðC³ +・モンスター定義データ(日本語)ã®æ•´ç† + ・npc_monster25.txtã‚’npc_monster.txtã«ãƒªãƒãƒ¼ãƒ ã—ã€å†…容を整ç†(ç¾åœ¨mobæ•°:13450) + ・ãã®è»½é‡ç‰ˆã¨ã—ã¦npc_monster_lite.txtを作æˆ(ç¾åœ¨mobæ•°:11959) + ・上記ã®ä¿®æ£ã«ã‚ã‚ã›ã¦map_athena.cnfã‚’ä¿®æ£ -------------- -//0395 by ŒÓ’±—– +//0395 by 胡è¶è˜ -EŽæ‚芪‚«MOB‚Ìs“®C³ - EƒAƒ“ƒNƒ‹‚Ȃǂňړ®‚Å‚«‚È‚¢ê‡Žå‚ɋ߂©‚È‚¢‚悤‚ÉC³ - EƒƒbƒN‚µ‚Ä‚¢‚é‚ÆŽå‚ɋߊñ‚鈗‚ð‚µ‚È‚¢‚悤‚ÉC³ - EŽå‚ªƒeƒŒƒ|[ƒg‚·‚é‚Æ’Ç‚¢‚©‚¯‚é‚悤‚ÉC³(•t‹ß10x10ƒ}ƒX’ö“x) - EŽå‚Ì‚»‚΂ɂ¢‚é‚Æ‚«‚̓‰ƒ“ƒ_ƒ€•às‚ð‚µ‚È‚¢‚悤‚ÉC³ +・å–ã‚Šå·»ãMOBã®è¡Œå‹•ä¿®æ£ + ・アンクルãªã©ã§ç§»å‹•ã§ããªã„å ´åˆä¸»ã«è¿‘ã¥ã‹ãªã„よã†ã«ä¿®æ£ + ・ãƒãƒƒã‚¯ã—ã¦ã„ã‚‹ã¨ä¸»ã«è¿‘寄る処ç†ã‚’ã—ãªã„よã†ã«ä¿®æ£ + ・主ãŒãƒ†ãƒ¬ãƒãƒ¼ãƒˆã™ã‚‹ã¨è¿½ã„ã‹ã‘るよã†ã«ä¿®æ£(付近10x10マス程度) + ・主ã®ãã°ã«ã„ã‚‹ã¨ãã¯ãƒ©ãƒ³ãƒ€ãƒ æ©è¡Œã‚’ã—ãªã„よã†ã«ä¿®æ£ mob.c - mob_ai_sub_hard_mastersearch()C³ - mob_can_move()’ljÁ - mob_ai_sub_hard()C³ + mob_ai_sub_hard_mastersearch()ä¿®æ£ + mob_can_move()è¿½åŠ + mob_ai_sub_hard()ä¿®æ£ -EMOB‚Ìs“®C³ - EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ - E‰r¥‚Ì‚È‚¢ƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚È‚¢‚悤‚ÉC³(Ž€–SŽžˆ—‘Îô) +・MOBã®è¡Œå‹•ä¿®æ£ + ・スã‚ル使用ディレイ処ç†ãŒãŠã‹ã—ã‹ã£ãŸã®ã‚’ä¿®æ£ + ãƒ»è© å”±ã®ãªã„スã‚ルã¯timerを使ã‚ãªã„よã†ã«ä¿®æ£(æ»äº¡æ™‚処ç†å¯¾ç–) mob.c - mobskill_use(),mobskill_use_id()C³ + mobskill_use(),mobskill_use_id()ä¿®æ£ -EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽÀ‘• - EƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽí—Þ‚ª‚í‚©‚ç‚È‚¢‚à‚Ì‚Í‘S‚Äu!v‚É‚È‚è‚Ü‚·B - ”²‚¯‚Ä‚¢‚éƒf[ƒ^‚ð–„‚ß‚Ä‚‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B +・MOBエモーションã®å®Ÿè£… + ・エモーションã®ç¨®é¡žãŒã‚ã‹ã‚‰ãªã„ã‚‚ã®ã¯å…¨ã¦ã€Œ!ã€ã«ãªã‚Šã¾ã™ã€‚ + 抜ã‘ã¦ã„るデータを埋ã‚ã¦ãれるã¨ã†ã‚Œã—ã„ã§ã™ã€‚ (db/) mob_skill_db.txt - ‚¢‚‚‚©‚ÌMOB‚̃Gƒ‚[ƒVƒ‡ƒ“‚Ì€–Ú‚Ì’l1‚ÉŽí—Þ‚ð“ü‚ꂽB + ã„ãã¤ã‹ã®MOBã®ã‚¨ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã®é …ç›®ã®å€¤1ã«ç¨®é¡žã‚’入れãŸã€‚ (map/) skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ clif.c/clif.h - clif_emotion()’ljÁ + clif_emotion()è¿½åŠ -EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–¼•C³ +・パケット解æž.txtã‚’client_packet.txtã«æ”¹åï¼†ä¿®æ£ (doc/) client_packet.txt - ƒGƒ‚[ƒVƒ‡ƒ“‚Ìà–¾’ljÁ + エモーションã®èª¬æ˜Žè¿½åŠ -E‚Ç‚¤‚â‚çŽæ‚芪‚«MOB‚ÌŽí—ނ͌¢ƒf[ƒ^‚¾‚Á‚½‚Á‚Û‚¢‚Å‚·B - ‚µ‚©‚àMOB¢Š«‚ł͎艺¢Š«‚ƈႤMOB‚𢊫‚·‚é‚Ý‚½‚¢‚Å‚·‚ËB - Ú‚µ‚¢l‚Ímob_skill_db.txt‚𒼂µ‚Ä‚‚ê‚é‚ÆB +・ã©ã†ã‚„らå–ã‚Šå·»ãMOBã®ç¨®é¡žã¯å¤ã„データã ã£ãŸã£ã½ã„ã§ã™ã€‚ + ã—ã‹ã‚‚MOBå¬å–šã§ã¯æ‰‹ä¸‹å¬å–šã¨é•ã†MOBã‚’å¬å–šã™ã‚‹ã¿ãŸã„ã§ã™ã。 + 詳ã—ã„人ã¯mob_skill_db.txtã‚’ç›´ã—ã¦ãれるã¨ã€‚ -------------- -//0393 by ‚¢‚Ç +//0393 by ã„ã© -EcharŽI‚Å‚ÌloginŽI‚̃|[ƒgÝ’è‚ð6900‚ɌŒ肵A•ÏX‚Å‚«‚È‚¢‚悤‚É‚µ‚½ -@(login‘¤‚Ń|[ƒg6900ŒÅ’è‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Åchar‘¤‚à‚»‚ê‚ɇ‚킹‚Ü‚µ‚½B) +・char鯖ã§ã®login鯖ã®ãƒãƒ¼ãƒˆè¨å®šã‚’6900ã«å›ºå®šã—ã€å¤‰æ›´ã§ããªã„よã†ã«ã—㟠+ (loginå´ã§ãƒãƒ¼ãƒˆ6900固定ã«ãªã£ã¦ã„ãŸã®ã§charå´ã‚‚ãã‚Œã«åˆã‚ã›ã¾ã—ãŸã€‚) char/char.c conf/char_athena.cnf doc/conf_ref.txt -------------- -//0392 by ŒÓ’±—– +//0392 by 胡è¶è˜ -EMOB‚Ìs“®C³ - E‰½ŒÌ‚©last_thinktick‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢–â‘èC³ - Eã‚ÉŠÖ˜A‚µ‚ÄPC‚ª‹ß‚‚É‚¢‚Ä‚àŽè”²‚«ˆ—‚ªs‚í‚ê‚é–â‘èC³ - i‚Ç‚¤‚â‚牊ú‚©‚ç‚̃oƒO‚¾‚Á‚½–Í—lH ‚±‚̃oƒO‚ÆA - V‚µ‚¢Žè”²‚«ˆ—‚ÌŽd—l‚ªƒ^ƒbƒO‚ð‘g‚ñ‚ÅŽc‘œ‚ðì‚Á‚Ä‚¢‚½–Í—lj - EŽæ‚芪‚«MOB—p‚ÌAIˆ—’ljÁi‚Ü‚¾‰ö‚µ‚¢‚Å‚·j - EMOB‚̃XƒLƒ‹ƒfƒBƒŒƒC‚ðƒXƒLƒ‹€–Ú‚²‚Æ‚ÉŽ‚‚悤‚É•ÏX - EƒXƒLƒ‹ƒfƒBƒŒƒC‚ª‘å‚«‚È€–ڂł̓I[ƒo[ƒtƒ[‚µ‚Ä‚¢‚½–â‘è‚ðC³ +・MOBã®è¡Œå‹•ä¿®æ£ + ・何故ã‹last_thinktickãŒåˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„å•é¡Œä¿®æ£ + ・上ã«é–¢é€£ã—ã¦PCãŒè¿‘ãã«ã„ã¦ã‚‚手抜ã処ç†ãŒè¡Œã‚れるå•é¡Œä¿®æ£ + (ã©ã†ã‚„らåˆæœŸã‹ã‚‰ã®ãƒã‚°ã ã£ãŸæ¨¡æ§˜ï¼Ÿ ã“ã®ãƒã‚°ã¨ã€ + æ–°ã—ã„手抜ã処ç†ã®ä»•æ§˜ãŒã‚¿ãƒƒã‚°ã‚’組んã§æ®‹åƒã‚’作ã£ã¦ã„ãŸæ¨¡æ§˜ï¼‰ + ・å–ã‚Šå·»ãMOB用ã®AI処ç†è¿½åŠ (ã¾ã 怪ã—ã„ã§ã™ï¼‰ + ・MOBã®ã‚¹ã‚ルディレイをスã‚ãƒ«é …ç›®ã”ã¨ã«æŒã¤ã‚ˆã†ã«å¤‰æ›´ + ・スã‚ルディレイãŒå¤§ããªé …ç›®ã§ã¯ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã—ã¦ã„ãŸå•é¡Œã‚’ä¿®æ£ map.h - struct mob_data‚Ì skilldelay‚ð”z—ñ‚É‚µ‚Äunsigned int‚É•ÏX + struct mob_dataã® skilldelayã‚’é…列ã«ã—ã¦unsigned intã«å¤‰æ›´ mob.h - struct mob_skill‚Ìcasttime,delay‚ðint‚É•ÏX + struct mob_skillã®casttime,delayã‚’intã«å¤‰æ›´ mob.c - mob_ai_sub_hard_mastersearch()’ljÁ + mob_ai_sub_hard_mastersearch()è¿½åŠ mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), mobskill_use(),mobskill_use_id(),mobskill_use_pos(), mobskill_castend_id(),mobskill_castend_pos(), - mob_ai_sub_hard(),mob_ai_sub_lazy()‚È‚ÇC³ - -EMOBƒXƒLƒ‹‚̎艺¢Š«‚ƃ‚ƒ“ƒXƒ^[¢Š«ŽÀ‘• - Emob_skill_db.txt‚Ì‘Ž®•ÏXiÅŒã‚É’l‚ð‚P‚’ljÁAŽæ‚芪‚«MOB‚ÌIDj - EŽæ‚芪‚«MOB‚ª‚í‚©‚ç‚È‚©‚Á‚½‚à‚̂̓Rƒƒ“ƒg‰»‚µ‚Ä‚¢‚Ü‚· - ‚í‚©‚él‚Í“ü—Í‚æ‚낵‚‚¨Šè‚¢‚µ‚Ü‚·B - EŒ»Ý‚ÍŽæ‚芪‚«‚͈ê“x“|‚µ‚½‚畦‚«‚È‚¨‚µ‚Ü‚¹‚ñB - Eƒ{ƒX‚ªƒeƒŒƒ|[ƒg‚µ‚Ä‚àŽæ‚芪‚«‚Í’Ç‚¢‚©‚¯‚Ü‚¹‚ñB - E–{ŽI‚Å‚Ç‚¤‚È‚Á‚Ä‚é‚Ì‚©’m‚ç‚È‚¢‚Ì‚ÅAŠÔˆá‚Á‚Ä‚éꇂ͋³‚¦‚Ä‚‚¾‚³‚¢B + mob_ai_sub_hard(),mob_ai_sub_lazy()ãªã©ä¿®æ£ + +・MOBスã‚ルã®æ‰‹ä¸‹å¬å–šã¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼å¬å–šå®Ÿè£… + ・mob_skill_db.txtã®æ›¸å¼å¤‰æ›´ï¼ˆæœ€å¾Œã«å€¤ã‚’1ã¤è¿½åŠ ã€å–ã‚Šå·»ãMOBã®ID) + ・å–ã‚Šå·»ãMOBãŒã‚ã‹ã‚‰ãªã‹ã£ãŸã‚‚ã®ã¯ã‚³ãƒ¡ãƒ³ãƒˆåŒ–ã—ã¦ã„ã¾ã™ + ã‚ã‹ã‚‹äººã¯å…¥åŠ›ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚ + ・ç¾åœ¨ã¯å–ã‚Šå·»ãã¯ä¸€åº¦å€’ã—ãŸã‚‰æ²¸ããªãŠã—ã¾ã›ã‚“。 + ・ボスãŒãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¦ã‚‚å–ã‚Šå·»ãã¯è¿½ã„ã‹ã‘ã¾ã›ã‚“。 + ・本鯖ã§ã©ã†ãªã£ã¦ã‚‹ã®ã‹çŸ¥ã‚‰ãªã„ã®ã§ã€é–“é•ã£ã¦ã‚‹å ´åˆã¯æ•™ãˆã¦ãã ã•ã„。 (db/) mob_skill_db.txt - Žè‰º¢Š«‚Ȃǂ̃f[ƒ^C³ + 手下å¬å–šãªã©ã®ãƒ‡ãƒ¼ã‚¿ä¿®æ£ (map/) skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ -------------- -//0391 by Ž€_ +//0391 by æ»ç¥ž -Eƒyƒbƒg‚̈ړ®’†‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚ƃyƒbƒg‚ª’âŽ~‚·‚é‚悤‚É•ÏXB - (ƒyƒbƒg‚̈ʒu‚ª‚¸‚ê‚邽‚ßC³‚µ‚Ü‚µ‚½B) +・ペットã®ç§»å‹•ä¸ã«ãƒ‘フォーマンスをã™ã‚‹ã¨ãƒšãƒƒãƒˆãŒåœæ¢ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + (ペットã®ä½ç½®ãŒãšã‚Œã‚‹ãŸã‚ä¿®æ£ã—ã¾ã—ãŸã€‚) pet.c - pet_performance() C³B -EŽ€‚ñ‚¾ƒ‚ƒ“ƒXƒ^[‚Í‚Ç‚ñ‚Ès“®‚à‚Æ‚ê‚È‚¢‚悤‚É•ÏXB(‚±‚ê‚Å–³“G - ƒ‚ƒ“ƒXƒ^[‚ª‚¢‚È‚‚È‚é‚Æ‚¢‚¢‚Å‚·‚ª...) + pet_performance() ä¿®æ£ã€‚ +・æ»ã‚“ã モンスターã¯ã©ã‚“ãªè¡Œå‹•ã‚‚ã¨ã‚Œãªã„よã†ã«å¤‰æ›´ã€‚(ã“ã‚Œã§ç„¡æ•µ + モンスターãŒã„ãªããªã‚‹ã¨ã„ã„ã§ã™ãŒ...) mob.c mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), - mob_ai_sub_hard(),mob_ai_sub_lazy() C³B -EPCANPCA°ƒAƒCƒeƒ€‚ªŽg‚¤ID‚͈̔͂𒲮B - °ƒAƒCƒeƒ€‚Í0‚©‚ç500000‚Ü‚Å‚ÅPC‚Í500000‚©‚ç100000000ANPC - (ƒ‚ƒ“ƒXƒ^[‚ðŠÜ‚ß‚Ä)‚Í110000000‚©‚ç–ñ21‰‚Ü‚Å‚É‚È‚è‚Ü‚·B - (-‚ðŠÜ‚ß‚é‚Æ‚à‚Á‚Ɣ͈͂ªL‚‚È‚è‚Ü‚·‚ª‚³‚·‚ª‚É‚»‚±‚Ü‚Å‚Í•K—v‚È‚¢‚Æ - Žv‚¢‚Ü‚·‚Ì‚Å...) + mob_ai_sub_hard(),mob_ai_sub_lazy() ä¿®æ£ã€‚ +・PCã€NPCã€åºŠã‚¢ã‚¤ãƒ†ãƒ ãŒä½¿ã†IDã®ç¯„囲を調整。 + 床アイテムã¯0ã‹ã‚‰500000ã¾ã§ã§PCã¯500000ã‹ã‚‰100000000ã€NPC + (モンスターをå«ã‚ã¦)ã¯110000000ã‹ã‚‰ç´„21å„„ã¾ã§ã«ãªã‚Šã¾ã™ã€‚ + (-ã‚’å«ã‚ã‚‹ã¨ã‚‚ã£ã¨ç¯„囲ãŒåºƒããªã‚Šã¾ã™ãŒã•ã™ãŒã«ãã“ã¾ã§ã¯å¿…è¦ãªã„㨠+ æ€ã„ã¾ã™ã®ã§...) map.h - MAX_FLOORITEM ’ljÁ(‚±‚ê‚ð•Ï‚¦‚é‚Æ°ƒAƒCƒeƒ€‚Ìő唂ð•Ï‚¦‚é - ‚±‚Æ‚ª‚Å‚«‚Ü‚·B¡‚Í100000‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚½‚¾‚±‚ê‚Í•K‚¸ - 500000ˆÈ‰º‚É‚µ‚Ä‚‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚Ƴ‚µ‚“®‚‚©‚Ç‚¤‚© - •ÛØ‚Å‚«‚Ü‚¹‚ñB) + MAX_FLOORITEM è¿½åŠ (ã“れを変ãˆã‚‹ã¨åºŠã‚¢ã‚¤ãƒ†ãƒ ã®æœ€å¤§æ•°ã‚’変ãˆã‚‹ + ã“ã¨ãŒã§ãã¾ã™ã€‚今ã¯100000ã«ãªã£ã¦ã„ã¾ã™ã€‚ãŸã ã“ã‚Œã¯å¿…ãš + 500000以下ã«ã—ã¦ãã ã•ã„。ãã†ã—ãªã„ã¨æ£ã—ãå‹•ãã‹ã©ã†ã‹ + ä¿è¨¼ã§ãã¾ã›ã‚“。) map.c - map.h‚ɇ‚킹‚Ä‚µC³B + map.hã«åˆã‚ã›ã¦å°‘ã—ä¿®æ£ã€‚ npc.h - START_NPC_NUM ’ljÁB + START_NPC_NUM è¿½åŠ ã€‚ npc.c - npc.h‚ɇ‚킹‚Ä‚µC³B + npc.hã«åˆã‚ã›ã¦å°‘ã—ä¿®æ£ã€‚ login.h - START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’ljÁB + START_ACCOUNT_NUMã¨END_ACCOUNT_NUM è¿½åŠ ã€‚ login.c - login.h‚ɇ‚킹‚ÄC³BEND_ACCOUNT_NUMˆÈã‚Éaccount‚ð - ì‚ê‚È‚¢‚悤‚É•ÏXB -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒ¤‹†‚ð‚Q‰ñ“K—p‚·‚é‚悤‚É•ÏXB - (Œ‹‹Ç‚ÍŒ³‚É–ß‚·‚±‚Æ‚É‚È‚è‚Ü‚µ‚½...^^;) + login.hã«åˆã‚ã›ã¦ä¿®æ£ã€‚END_ACCOUNT_NUM以上ã«accountã‚’ + 作れãªã„よã†ã«å¤‰æ›´ã€‚ +・カートレボリューションã«æ¦å™¨ç ”究を2回é©ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + (çµå±€ã¯å…ƒã«æˆ»ã™ã“ã¨ã«ãªã‚Šã¾ã—ãŸ...^^;) battle.c - Damage battle_calc_weapon_attack() C³B -Emob‚̃XƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB + Damage battle_calc_weapon_attack() ä¿®æ£ã€‚ +・mobã®ã‚¹ã‚ル使用をbattle_athena.cnfã§æ±ºã‚るよã†ã«å¤‰æ›´ã€‚ mob.c - mobskill_use() C³B + mobskill_use() ä¿®æ£ã€‚ battle.h battle.c - struct Battle_Config‚Émob_skill_use’ljÁB + struct Battle_Configã«mob_skill_useè¿½åŠ ã€‚ battle_athena.cnf - mob_skill_use’ljÁB(ݒ肵‚È‚¢‚Æno‚Å‚·B) -Ebattle_athena.cnf - mob‚ð“ñd‚Å“Ç‚ß‚È‚¢‚悤‚Énpc: conf/npc_monster.txt‚ðíœB - (ÅV‚Ínpc_monster25.txt‚È‚Ì‚Å...) + mob_skill_useè¿½åŠ ã€‚(è¨å®šã—ãªã„ã¨noã§ã™ã€‚) +・battle_athena.cnf + mobを二é‡ã§èªã‚ãªã„よã†ã«npc: conf/npc_monster.txtを削除。 + (最新ã¯npc_monster25.txtãªã®ã§...) -------------- -//390 by ŒÓ’±—– +//390 by 胡è¶è˜ -Eƒo[ƒWƒ‡ƒ“î•ñŠ“¾•”•ª‚ð‚µ•ÏX - EMODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½BÚׂÍversion.h‚ðB - ‹C‚ªŒü‚¢‚½‚Æ‚«‚©A‘å‚«‚ÈXV‚ª‚ ‚é‚Æ‚«‚È‚Ç‚É•ÏX‚µ‚Ä‚‚¾‚³‚¢B - Eƒo[ƒWƒ‡ƒ“checkŽž‚Ìset eofƒƒO‚ªo‚È‚¢‚悤‚ɃpƒPƒbƒg7532’ljÁB +・ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±æ‰€å¾—éƒ¨åˆ†ã‚’å°‘ã—変更 + ・MODãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’定義ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚詳細ã¯version.hを。 + æ°—ãŒå‘ã„ãŸã¨ãã‹ã€å¤§ããªæ›´æ–°ãŒã‚ã‚‹ã¨ããªã©ã«å¤‰æ›´ã—ã¦ãã ã•ã„。 + ・ãƒãƒ¼ã‚¸ãƒ§ãƒ³check時ã®set eofãƒã‚°ãŒå‡ºãªã„よã†ã«ãƒ‘ケット7532è¿½åŠ ã€‚ (common/) version.h - MODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚ÉB + MODãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’定義ã§ãるよã†ã«ã€‚ (tool/) checkversion - MODƒo[ƒWƒ‡ƒ“‚ð•\Ž¦‚·‚é‚悤‚ÉB + MODãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹ã‚ˆã†ã«ã€‚ (login/char/map) login.c/char.c/clif.c - MODƒo[ƒWƒ‡ƒ“‚̈—’ljÁA - ƒpƒPƒbƒg7532iØ’fjˆ—’ljÁB - -E‚»‚Ì‘¼FXC³ - E‚±‚Ü‚²‚Ü‚µ‚½C³‚΂©‚è‚Å‚·‚ªA‚ ‚Ü‚èŠo‚¦‚Ä‚¢‚Ü‚¹‚ñB - EMOBƒXƒLƒ‹ðŒ‚Åslavelt,attackpcgtˆ—ŽÀ‘•i–¢ƒeƒXƒgjB - EMOB‚̎艺¢Š«‚Ì‚½‚ß‚Ì‹@\’ljÁi‚Ü‚¾¢Š«‚Å‚«‚Ü‚¹‚ñjB - E”͈̓XƒLƒ‹Œø‰Ê”͈͂Ɏ€–SPC‚ª‚¢‚é‚ÆŽI‚ª—Ž‚¿‚éƒoƒOC³B - EMOBŽc‘œ‚ªo‚È‚c‚È‚Á‚Ä‚½‚ç‚¢‚¢‚ÈB + MODãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®å‡¦ç†è¿½åŠ 〠+ パケット7532(切æ–)処ç†è¿½åŠ 。 + +・ãã®ä»–è‰²ã€…ä¿®æ£ + ・ã“ã¾ã”ã¾ã—ãŸä¿®æ£ã°ã‹ã‚Šã§ã™ãŒã€ã‚ã¾ã‚Šè¦šãˆã¦ã„ã¾ã›ã‚“。 + ・MOBスã‚ルæ¡ä»¶ã§slavelt,attackpcgt処ç†å®Ÿè£…(未テスト)。 + ・MOBã®æ‰‹ä¸‹å¬å–šã®ãŸã‚ã®æ©Ÿæ§‹è¿½åŠ (ã¾ã å¬å–šã§ãã¾ã›ã‚“)。 + ・範囲スã‚ル効果範囲ã«æ»äº¡PCãŒã„ã‚‹ã¨é¯–ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ã€‚ + ・MOB残åƒãŒå‡ºãªã…ãªã£ã¦ãŸã‚‰ã„ã„ãªã€‚ (map/) mob.c/mob.h/map.h/battle.c - FX’ljÁ + è‰²ã€…è¿½åŠ (db/) mob_skill_db.txt - ƒ‹[ƒgŽžˆ—‚ÆA‘®«•ÏXƒXƒLƒ‹‚̃Rƒƒ“ƒg‚ðŠO‚µ‚½B - i‘®«•ÏX‚Í–{ŽI‚Å“®‚¢‚Ä‚È‚¢‚炵‚¢‚à‚Ì‚àƒRƒƒ“ƒg‚ðŠO‚µ‚Ä‚Ü‚·B - –â‘肪‚ ‚éꇂÍĂуRƒƒ“ƒg‰»‚µ‚Ä‚‚¾‚³‚¢j + ルート時処ç†ã¨ã€å±žæ€§å¤‰æ›´ã‚¹ã‚ルã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’外ã—ãŸã€‚ + (属性変更ã¯æœ¬é¯–ã§å‹•ã„ã¦ãªã„らã—ã„ã‚‚ã®ã‚‚コメントを外ã—ã¦ã¾ã™ã€‚ + å•é¡ŒãŒã‚ã‚‹å ´åˆã¯å†ã³ã‚³ãƒ¡ãƒ³ãƒˆåŒ–ã—ã¦ãã ã•ã„) -------------- -//389 by ‚¢‚Ç +//389 by ã„ã© -E388‚Ì•ÏX - ƒo[ƒWƒ‡ƒ“î•ñ‚ðcommon/version.h“à‚̒蔂ðŽg—p‚·‚é‚悤‚É•ÏX +・388ã®å¤‰æ›´ + ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã‚’common/version.h内ã®å®šæ•°ã‚’使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ -------------- -//388 by ŒÓ’±—– +//388 by 胡è¶è˜ -Eƒo[ƒWƒ‡ƒ“î•ñŠ“¾ƒc[ƒ‹“Y•t - Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B - Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚‚¾‚³‚¢B - Žg‚¢•û‚ª—Ç‚‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B +・ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±æ‰€å¾—ãƒ„ãƒ¼ãƒ«æ·»ä»˜ + Perl製ãªã®ã§å®Ÿè¡Œã«ã¯PerlãŒå¿…è¦ã§ã™ã€‚ + 使用方法ãªã©ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã§é–‹ã„ã¦è¦‹ã¦ãã ã•ã„。 + 使ã„æ–¹ãŒè‰¯ãã‚ã‹ã‚‰ãªã„人ã¯æ‰‹ã‚’出ã•ãªã„ã»ã†ãŒã„ã„ã§ã™ã€‚ - ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚è‚ÍAƒT[ƒo[‚̶‘¶Šm”F—p‚Æ‚¢‚Á‚½‚©‚ñ‚¶‚Å‚· - ƒpƒPƒbƒg7530/7531‚ÌÚׂ̓\[ƒX‚ðŒ©‚Ä‚‚¾‚³‚¢B + ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’確èªã™ã‚‹ç”¨é€”よりã¯ã€ã‚µãƒ¼ãƒãƒ¼ã®ç”Ÿå˜ç¢ºèªç”¨ã¨ã„ã£ãŸã‹ã‚“ã˜ã§ã™ + パケット7530/7531ã®è©³ç´°ã¯ã‚½ãƒ¼ã‚¹ã‚’見ã¦ãã ã•ã„。 (tool/) checkversion - ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg + ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç¢ºèªãƒ„ールPerlスクリプト (login/) login.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + パケット7530/7531ã®å‡¦ç†è¿½åŠ (char/) char.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + パケット7530/7531ã®å‡¦ç†è¿½åŠ (map/) clif.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + パケット7530/7531ã®å‡¦ç†è¿½åŠ -E384ˆÈ‘O‚Ìathena.txt‚à“Ç‚Ýž‚ß‚é‚悤‚É‚µ‚Ü‚µ‚½ - Econvert‚ª–Ê“|‚ÈlŒü‚¯B - E³‚µ‚“Ç‚Ýž‚ß‚é•ÛØ–³‚µBƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚ÉB +・384以å‰ã®athena.txtã‚‚èªã¿è¾¼ã‚るよã†ã«ã—ã¾ã—㟠+ ・convertãŒé¢å€’ãªäººå‘ã‘。 + ・æ£ã—ãèªã¿è¾¼ã‚ã‚‹ä¿è¨¼ç„¡ã—。ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を忘れãšã«ã€‚ (char/) char.c - 384‚Ì•ûŽ®‚Å“Ç‚Ýž‚ß‚È‚¢ƒf[ƒ^‚Í384ˆÈ‘O‚Ì•ûŽ®‚àŽŽ‚·‚悤‚ÉB + 384ã®æ–¹å¼ã§èªã¿è¾¼ã‚ãªã„データã¯384以å‰ã®æ–¹å¼ã‚‚試ã™ã‚ˆã†ã«ã€‚ -Econf_ref.txt/help.txt/getaccountC³ +・conf_ref.txt/help.txt/getaccountä¿®æ£ help.txt - petƒRƒ}ƒ“ƒh‚Ìà–¾’ljÁ + petコマンドã®èª¬æ˜Žè¿½åŠ (doc/) conf_ref.txt - petŠÖ˜A‚ÌÝ’è‚Ìà–¾’ljÁ + pet関連ã®è¨å®šã®èª¬æ˜Žè¿½åŠ (tool/) getlogincount - •\Ž¦‚ÌC³ + 表示ã®ä¿®æ£ -------------- -//387 by ‚¢‚Ç -EconfƒtƒHƒ‹ƒ_“à‚ÌNPC’è‹`ƒf[ƒ^‚Ì®— - ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ð휂µ‚Ü‚µ‚½ +//387 by ã„ã© +・confフォルダ内ã®NPC定義データã®æ•´ç† + 以下ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã—ã¾ã—㟠npc_kafraJ.txt npc_mind_prtmons.txt - npc_script2J.txt(npc_event_mobtim.txt‚É“¯‚¶‚à‚Ì‚ª‚ ‚Á‚½‚½‚ß) - npc_testJ.txt(‚Ù‚Ú“¯‚¶‚±‚Æ‚ª@ƒRƒ}ƒ“ƒh‚Åo—ˆ‚邽‚ß) - npc_warp25.txt(npc_warp.txt‚É“‡) + npc_script2J.txt(npc_event_mobtim.txtã«åŒã˜ã‚‚ã®ãŒã‚ã£ãŸãŸã‚) + npc_testJ.txt(ã»ã¼åŒã˜ã“ã¨ãŒ@コマンドã§å‡ºæ¥ã‚‹ãŸã‚) + npc_warp25.txt(npc_warp.txtã«çµ±åˆ) - ˆÈ‰º‚̃tƒ@ƒCƒ‹‚Ì–¼‘O‚ð•ÏX‚µ‚Ü‚µ‚½ + 以下ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã‚’変更ã—ã¾ã—㟠npc_monster3.txt -> nop_monster2E.txt npc_monster3J.txt -> npc_monster25.txt npc_monster.txt -> npc_monsterE.txt @@ -13006,595 +13006,595 @@ there are many many BUGS in this update(400) !! Be careful !! npc_warp3.txt -> npc_warp2.txt npc_warp4.txt -> npc_warp25.txt -Eƒ}ƒbƒv’è‹`‚̒ljÁ - ƒWƒ…ƒm[ƒAƒbƒvƒf[ƒg‚ŒljÁ‚³‚ê‚éƒ}ƒbƒv‚ÆAŠØŽI“ÆŽ©(?)‚̃NƒCƒYƒ][ƒ“ - (ƒRƒ‚ƒhƒAƒbƒvƒf[ƒg)‚Æ“V’ÃAƒbƒvƒf[ƒg‚̃}ƒbƒv’è‹`‚ð’ljÁ - Œ»ÝA“úˆÆ‚É–³‚¢‚à‚Ì‚ÉŠÖ‚µ‚Ă̓Rƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚ÜB +・マップ定義ã®è¿½åŠ + ジュノーアップデートã§è¿½åŠ ã•ã‚Œã‚‹ãƒžãƒƒãƒ—ã¨ã€éŸ“鯖独自(?)ã®ã‚¯ã‚¤ã‚ºã‚¾ãƒ¼ãƒ³ + (コモドアップデート)ã¨å¤©æ´¥ã‚¢ãƒƒãƒ—デートã®ãƒžãƒƒãƒ—å®šç¾©ã‚’è¿½åŠ + ç¾åœ¨ã€æ—¥éžã«ç„¡ã„ã‚‚ã®ã«é–¢ã—ã¦ã¯ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã—ã¦ã„ã¾ã€‚ conf/map_athena.cnf -------------- -//385 by ŒÓ’±—– +//385 by 胡è¶è˜ -EMOB‚Ìs“®C³ - EŽè”²‚«ˆ—‚ňړ®‚µ‚È‚¢ƒ‚[ƒh‚ÌMOB‚à•à‚–â‘èC³ - EMOB‚ð“|‚µ‚½‚Æ‚«AÄspawnŽž‚ª‚¨‚©‚µ‚È’l‚É‚È‚éꇂª‚ ‚é–â‘èC³ - iMOB‚ª•¦‚©‚È‚‚È‚é–â‘肪C³‚³‚ꂽ‚Í‚¸j - EMOB‚̃[ƒv‚ÅꊌŸõ‚É1000‰ñŽ¸”s‚µ‚½‚猳‚ÌꊂÉo‚é‚悤‚ÉC³ - EMOB‚ð‰r¥’†‚É“|‚·‚ÆAƒ^ƒCƒ}[‚ð휂·‚é‚悤‚ÉC³ +・MOBã®è¡Œå‹•ä¿®æ£ + ・手抜ã処ç†ã§ç§»å‹•ã—ãªã„モードã®MOBã‚‚æ©ãå•é¡Œä¿®æ£ + ・MOBを倒ã—ãŸã¨ãã€å†spawn時刻ãŒãŠã‹ã—ãªå€¤ã«ãªã‚‹å ´åˆãŒã‚ã‚‹å•é¡Œä¿®æ£ + (MOBãŒæ²¸ã‹ãªããªã‚‹å•é¡ŒãŒä¿®æ£ã•ã‚ŒãŸã¯ãšï¼‰ + ・MOBã®ãƒ¯ãƒ¼ãƒ—ã§å ´æ‰€æ¤œç´¢ã«1000回失敗ã—ãŸã‚‰å…ƒã®å ´æ‰€ã«å‡ºã‚‹ã‚ˆã†ã«ä¿®æ£ + ・MOBã‚’è© å”±ä¸ã«å€’ã™ã¨ã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’削除ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ mob.c mob_delete(),mob_catch(),mob_damage(), - mob_ai_sub_lazy(),mob_ai_sub_hard()‚È‚ÇC³ - mobskill_deltimer()’ljÁ - --------------- -//0384 by Ž€_ - -EƒyƒbƒgŽÀ‘•B -Žv‚Á‚½‚æ‚è’·‚‚©‚©‚è‚Ü‚µ‚½BˆêŽü‚à‚©‚©‚Á‚½‚¹‚¢‚ʼn½ˆ‚ðC³‚µ‚½‚© -Šo‚¦‚Ä‚È‚¢–â‘肪‚ ‚è‚Ü‚·‚ª... ‚»‚ê‚Å”O‚ׂ̈Émap‚Æchar‚̃tƒ@ƒCƒ‹‚Í‘S‚Ä -ŠÜ‚߂ăAƒbƒv‚µ‚Ü‚·B -‚»‚ê‚Æmakefile‚Æathena.sh‚ÍŽ©•ª‚ªŽg‚Ä‚¢‚镨‚Å‚·B -Yare-launcher‚ÍŽg‚Ä‚Ü‚¹‚ñ‚ª‚¢‚‚àŽI‚ÌŽÀsƒtƒ@ƒCƒ‹‚ÅŽÀs‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å... - char/char.cAchar/char.hAchar/inter.cAchar/makefile C³B - char/int_pet.cAchar/int_pet.h ’ljÁB - map/makefile C³B - map/intif.cAmap/intif.hAmap/map.cAmap/map.hAmap/mob.cAmap/mob.hA - map/npc.cAmap/npc.hAmap/battle.cAmap/battle.hAatcomand.cAmap/pc.cA - map/clif.cAmap/clif.hAmap/script.c FXC³B - map/pet.cAmap/pet.h ‚Í–w‚Ç‚ðŽ©•ª‚Ì•¨‚É‘‚«Š·‚¦‚Ü‚µ‚½B - common/mmo.h C³B - db/pet_db.txt C³B - db/item_db.txt C³B(Œg‘Ñ—‘›z‰»‹@‚Ìbpet ƒXƒNƒŠƒvƒg‚ª”²‚¯‚Ä‚¢‚½‚Ì‚Å - “ü‚ꂽ‚¾‚¯‚Å‚·‚ª...) - doc/INTERŽIƒpƒPƒbƒg.txt‚Ì–¼‘O‚ðinter_server_packet.txt‚É•ÏX‚ƃyƒbƒg‚Ì - •Û‘¶“™‚ÉŽg‚¤ƒpƒPƒbƒg‚ð’ljÁB -* ¡“x‚̃yƒbƒgŽÀ‘•‚É‚æ‚èƒLƒƒƒ‰ƒtƒ@ƒCƒ‹‚Ì\‘¢‚ª•Ï‚í‚èˆÈ‘O‚Ì•¨‚ƌ݊·‚Å‚«‚È‚¢ - ‚Ì‚Å tool/convert.c ‚ð’ljÁ‚µ‚Ü‚µ‚½B - ’P“ƂŃRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚·‚̂ŃRƒ“ƒpƒCƒ‹‚µ‚½‚ ‚ÆŽÀs‚µ‚ăLƒƒƒ‰ - ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚Ä‚‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚ƃLƒƒƒ‰‚ª‘S•””ò‚Ñ‚Ü‚·‚Ì‚Å... -* ƒyƒbƒg‚Ìe–§“x‚ª0‚É‚È‚é‚ƃyƒbƒg‚Í‚»‚Ìê‚Å“®‚¯‚È‚‚È‚è‚»‚Ìó‘Ô‚Å‘¼‚Ì - ƒ}ƒbƒv‚Ɉړ®‚·‚é‚©I—¹‚·‚é‚ƃyƒbƒg‚ÍÁ–Å‚µ‚Ü‚·Bˆê‰žƒyƒbƒg‚Ì“¦‘–‚ð - ŽÀ‘•‚·‚é‚‚à‚è‚Åì‚Á‚½‚Ì‚Å‚·‚ª–{ŽI‚É‚ ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB -* ˆÚ“®‘¬“x‚ª’x‚¢ƒyƒbƒg‚Ìꇗ£‚ê‰ß‚¬‚é‚Ƃ‚¢‚Ä—ˆ‚ê‚È‚‚È‚è‚Ü‚·B‚Å‚à - ‚±‚Ìꇃ}ƒbƒv‚ðˆÚ“®‚µ‚Ä‚à‚¿‚á‚ñ‚Ƃ‚¢‚Ä—ˆ‚Ü‚·B - Á–Å‚µ‚½‚è‚Í‚µ‚Ü‚¹‚ñB -* ˆÚ“®‘¬“x‚ª‘¬‚¢ƒyƒbƒg‚̓Lƒƒƒ‰‚æ‚èæ‚Ɉړ®‚µ‚Ü‚·B–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚© - ‚í‚©‚ç‚È‚¢‚̂Ńyƒbƒg‚̈ړ®‚̓‚ƒ“ƒXƒ^[‚̈ړ®‘¬“x‚ňړ®‚·‚é - ‚悤‚É‚µ‚Ü‚µ‚½B -Ebattle_athena.cnf -pet_catch_rate ’ljÁB - ƒyƒbƒg‚̕ߊl”{—¦‚ðݒ肵‚Ü‚·B(ݒ肵‚È‚¢‚Æ100) - Šî–{“I‚Ƀyƒbƒg‚̕ߊl‚ÉŽg‚Á‚Ä‚éŒöŽ®‚Í - (pet_db.txt‚̕ߊl—¦ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹)*0.3 + luk *0.2) - * (2 - ƒ‚ƒ“ƒXƒ^[‚ÌŒ»ÝHP/ƒ‚ƒ“ƒXƒ^[‚ÌÅ‘åHP) - ‚É‚È‚è‚Ü‚·BŽ©•ª‚È‚è‚Éì‚Á‚½•¨‚Å‚·‚Ì‚Å–{ŽI‚Æ‚Í‚©‚È‚è‚Ì - ˆá‚¢‚ª‚ ‚é‚©‚à’m‚ê‚Ü‚¹‚ñB(ƒ‚ƒ“ƒXƒ^[‚ÌHP‚ðŒ¸‚ç‚¹‚ÎŒ¸‚ç‚·’ö•ßŠl—¦‚ª - オ‚éŽd‘g‚Ý‚Å‚·‚ª...) -pet_rename ’ljÁB - ƒyƒbƒg‚Ì–¼‘O‚ð•ÏX‚·‚é‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æno) - yes‚͉½“x‚Å‚à–¼‘O‚Ì•ÏX‚ª‰Â”\B - no‚͈ê“x•ÏX‚·‚é‚Æ‚à‚¤•ÏX•s‰Â”\‚É‚È‚é -pet_hungry_delay_rate ’ljÁB - ƒyƒbƒg‚Ì• ‚ªŒ¸‚鎞ŠÔ‚Ì”{—¦‚Å‚·B(ݒ肵‚È‚¢‚Æ100) - ”{—¦‚ª‚‚¢‚Æ• ‚ªŒ¸‚è“ï‚‚È‚è‚Ü‚· -mvp_exp_rate •ÏXB - ‚·‚Å‚Éstruct mob_db‚Ìmexpper‚̓Sƒ~‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Å(MVP EXP‚Í - MVPƒAƒCƒeƒ€‚ªŽæ‚ê‚È‚©‚Á‚½ê‡“ü‚é‚̂ňӖ¡‚ª‚ ‚è‚Ü‚¹‚ñB) - MVP EXP‚Ì—Ê‚Ì”{—¦‚É‚È‚é‚悤‚É•ÏXB(mob.c‚ðC³) -Echar_athena.cnf -autosave_time ’ljÁB - Ž©“®•Û‘¶‚·‚鎞ŠÔ‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æ300) - šdˆÊ‚Í•b‚Å‚·B(ƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚鎞ŠÔ‚ÌŠÔŠu‚Å‚·B) -Emap_athena.cnf -autosave_time ’ljÁB - Ž©“®•Û‘¶‚·‚鎞ŠÔ‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æ60) - šdˆÊ‚Í•b‚Å‚·B(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞ŠÔ‚ÌŠÔŠu‚Å‚·B‚±‚ê‚Í - ƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚鎞ŠÔ‚ÌŠÔŠu‚¶‚á‚ ‚è‚Ü‚¹‚ñB) -Einter_athena.cnf -pet_txt ’ljÁB - ƒyƒbƒg‚̃f[ƒ^‚ð•Û‘¶‚·‚éƒtƒ@ƒCƒ‹‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æpet.txt) -E@makepet ƒRƒ}ƒ“ƒh’ljÁB - ƒyƒbƒg‚ÌŽÀ‘•‚É‚æ‚Á‚Ä@item‚Åì‚Á‚½—‘‚ÍŽg‚Á‚Ä‚à–³‘Ê‚É‚È‚è‚Ü‚·‚Ì‚Å - ‚±‚ê‚ðŽg‚Á‚Ä—‘‚ðì‚Á‚Ä‚‚¾‚³‚¢B - @makepet <ƒ‚ƒ“ƒXƒ^[‚ÌID or —‘‚ÌID> -E@petfriendly ƒRƒ}ƒ“ƒh’ljÁB - @petfriendly <”Žš> - ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ìe–§“x‚ð•ÏXB(0~1000) -E@pethungry ƒRƒ}ƒ“ƒh’ljÁB - @pethungry <”Žš> - ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ì–ž• “x‚ð•ÏXB(0~100) -E@petrename ƒRƒ}ƒ“ƒh’ljÁB + mob_ai_sub_lazy(),mob_ai_sub_hard()ãªã©ä¿®æ£ + mobskill_deltimer()è¿½åŠ + +-------------- +//0384 by æ»ç¥ž + +・ペット実装。 +æ€ã£ãŸã‚ˆã‚Šé•·ãã‹ã‹ã‚Šã¾ã—ãŸã€‚一周もã‹ã‹ã£ãŸã›ã„ã§ä½•å‡¦ã‚’ä¿®æ£ã—ãŸã‹ +覚ãˆã¦ãªã„å•é¡ŒãŒã‚ã‚Šã¾ã™ãŒ... ãã‚Œã§å¿µã®ç‚ºã«mapã¨charã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯å…¨ã¦ +å«ã‚ã¦ã‚¢ãƒƒãƒ—ã—ã¾ã™ã€‚ +ãã‚Œã¨makefileã¨athena.shã¯è‡ªåˆ†ãŒä½¿ã¦ã„る物ã§ã™ã€‚ +Yare-launcherã¯ä½¿ã¦ã¾ã›ã‚“ãŒã„ã¤ã‚‚鯖ã®å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«ã§å®Ÿè¡Œã—ã¦ã„ã¾ã™ã®ã§... + char/char.cã€char/char.hã€char/inter.cã€char/makefile ä¿®æ£ã€‚ + char/int_pet.cã€char/int_pet.h è¿½åŠ ã€‚ + map/makefile ä¿®æ£ã€‚ + map/intif.cã€map/intif.hã€map/map.cã€map/map.hã€map/mob.cã€map/mob.h〠+ map/npc.cã€map/npc.hã€map/battle.cã€map/battle.hã€atcomand.cã€map/pc.c〠+ map/clif.cã€map/clif.hã€map/script.c 色々修æ£ã€‚ + map/pet.cã€map/pet.h ã¯æ®†ã©ã‚’自分ã®ç‰©ã«æ›¸ãæ›ãˆã¾ã—ãŸã€‚ + common/mmo.h ä¿®æ£ã€‚ + db/pet_db.txt ä¿®æ£ã€‚ + db/item_db.txt ä¿®æ£ã€‚(æºå¸¯åµåµåŒ–æ©Ÿã®bpet スクリプトãŒæŠœã‘ã¦ã„ãŸã®ã§ + 入れãŸã ã‘ã§ã™ãŒ...) + doc/INTER鯖パケット.txtã®åå‰ã‚’inter_server_packet.txtã«å¤‰æ›´ã¨ãƒšãƒƒãƒˆã® + ä¿å˜ç‰ã«ä½¿ã†ãƒ‘ã‚±ãƒƒãƒˆã‚’è¿½åŠ ã€‚ +* 今度ã®ãƒšãƒƒãƒˆå®Ÿè£…ã«ã‚ˆã‚Šã‚ャラファイルã®æ§‹é€ ãŒå¤‰ã‚り以å‰ã®ç‰©ã¨äº’æ›ã§ããªã„ + ã®ã§ tool/convert.c ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ + å˜ç‹¬ã§ã‚³ãƒ³ãƒ‘イルã§ãã¾ã™ã®ã§ã‚³ãƒ³ãƒ‘イルã—ãŸã‚ã¨å®Ÿè¡Œã—ã¦ã‚ャラ + ファイルを変æ›ã—ã¦ãã ã•ã„。ãã†ã—ãªã„ã¨ã‚ャラãŒå…¨éƒ¨é£›ã³ã¾ã™ã®ã§... +* ペットã®è¦ªå¯†åº¦ãŒ0ã«ãªã‚‹ã¨ãƒšãƒƒãƒˆã¯ãã®å ´ã§å‹•ã‘ãªããªã‚Šãã®çŠ¶æ…‹ã§ä»–ã® + マップã«ç§»å‹•ã™ã‚‹ã‹çµ‚了ã™ã‚‹ã¨ãƒšãƒƒãƒˆã¯æ¶ˆæ»…ã—ã¾ã™ã€‚一応ペットã®é€ƒèµ°ã‚’ + 実装ã™ã‚‹ã¤ã‚‚ã‚Šã§ä½œã£ãŸã®ã§ã™ãŒæœ¬é¯–ã«ã‚ã£ã¦ã‚‹ã‹ã©ã†ã‹ã¯ã‚ã‹ã‚Šã¾ã›ã‚“。 +* 移動速度ãŒé…ã„ペットã®å ´åˆé›¢ã‚ŒéŽãŽã‚‹ã¨ã¤ã„ã¦æ¥ã‚Œãªããªã‚Šã¾ã™ã€‚ã§ã‚‚ + ã“ã®å ´åˆãƒžãƒƒãƒ—を移動ã—ã¦ã‚‚ã¡ã‚ƒã‚“ã¨ã¤ã„ã¦æ¥ã¾ã™ã€‚ + 消滅ã—ãŸã‚Šã¯ã—ã¾ã›ã‚“。 +* 移動速度ãŒé€Ÿã„ペットã¯ã‚ャラより先ã«ç§»å‹•ã—ã¾ã™ã€‚本鯖ã®æ–¹ãŒã©ã†ãªã®ã‹ + ã‚ã‹ã‚‰ãªã„ã®ã§ãƒšãƒƒãƒˆã®ç§»å‹•ã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®ç§»å‹•é€Ÿåº¦ã§ç§»å‹•ã™ã‚‹ + よã†ã«ã—ã¾ã—ãŸã€‚ +・battle_athena.cnf +pet_catch_rate è¿½åŠ ã€‚ + ペットã®æ•ç²å€çŽ‡ã‚’è¨å®šã—ã¾ã™ã€‚(è¨å®šã—ãªã„ã¨100) + 基本的ã«ãƒšãƒƒãƒˆã®æ•ç²ã«ä½¿ã£ã¦ã‚‹å…¬å¼ã¯ + (pet_db.txtã®æ•ç²çŽ‡ + (ã‚ャラレベル - モンスターレベル)*0.3 + luk *0.2) + * (2 - モンスターã®ç¾åœ¨HP/モンスターã®æœ€å¤§HP) + ã«ãªã‚Šã¾ã™ã€‚自分ãªã‚Šã«ä½œã£ãŸç‰©ã§ã™ã®ã§æœ¬é¯–ã¨ã¯ã‹ãªã‚Šã® + é•ã„ãŒã‚ã‚‹ã‹ã‚‚知れã¾ã›ã‚“。(モンスターã®HPを減らã›ã°æ¸›ã‚‰ã™ç¨‹æ•ç²çŽ‡ãŒ + 上ãŒã‚‹ä»•çµ„ã¿ã§ã™ãŒ...) +pet_rename è¿½åŠ ã€‚ + ペットã®åå‰ã‚’変更ã™ã‚‹ã‹ã©ã†ã‹ã‚’決ã‚ã¾ã™ã€‚(è¨å®šã—ãªã„ã¨no) + yesã¯ä½•åº¦ã§ã‚‚åå‰ã®å¤‰æ›´ãŒå¯èƒ½ã€‚ + noã¯ä¸€åº¦å¤‰æ›´ã™ã‚‹ã¨ã‚‚ã†å¤‰æ›´ä¸å¯èƒ½ã«ãªã‚‹ +pet_hungry_delay_rate è¿½åŠ ã€‚ + ペットã®è…¹ãŒæ¸›ã‚‹æ™‚é–“ã®å€çŽ‡ã§ã™ã€‚(è¨å®šã—ãªã„ã¨100) + å€çŽ‡ãŒé«˜ã„ã¨è…¹ãŒæ¸›ã‚Šé›£ããªã‚Šã¾ã™ +mvp_exp_rate 変更。 + ã™ã§ã«struct mob_dbã®mexpperã¯ã‚´ãƒŸã«ãªã£ã¦ã„ã‚‹ã®ã§(MVP EXP㯠+ MVPアイテムãŒå–ã‚Œãªã‹ã£ãŸå ´åˆå…¥ã‚‹ã®ã§æ„味ãŒã‚ã‚Šã¾ã›ã‚“。) + MVP EXPã®é‡ã®å€çŽ‡ã«ãªã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(mob.cã‚’ä¿®æ£) +・char_athena.cnf +autosave_time è¿½åŠ ã€‚ + 自動ä¿å˜ã™ã‚‹æ™‚間を決ã‚ã¾ã™ã€‚(è¨å®šã—ãªã„ã¨300) + å–®ä½ã¯ç§’ã§ã™ã€‚(ファイルã«ä¿å˜ã™ã‚‹æ™‚é–“ã®é–“éš”ã§ã™ã€‚) +・map_athena.cnf +autosave_time è¿½åŠ ã€‚ + 自動ä¿å˜ã™ã‚‹æ™‚間を決ã‚ã¾ã™ã€‚(è¨å®šã—ãªã„ã¨60) + å–®ä½ã¯ç§’ã§ã™ã€‚(ã‚ャラ鯖ã«ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚‹æ™‚é–“ã®é–“éš”ã§ã™ã€‚ã“れ㯠+ ファイルã«ä¿å˜ã™ã‚‹æ™‚é–“ã®é–“éš”ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“。) +・inter_athena.cnf +pet_txt è¿½åŠ ã€‚ + ペットã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿å˜ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’決ã‚ã¾ã™ã€‚(è¨å®šã—ãªã„ã¨pet.txt) +・@makepet ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ + ペットã®å®Ÿè£…ã«ã‚ˆã£ã¦@itemã§ä½œã£ãŸåµã¯ä½¿ã£ã¦ã‚‚無駄ã«ãªã‚Šã¾ã™ã®ã§ + ã“れを使ã£ã¦åµã‚’作ã£ã¦ãã ã•ã„。 + @makepet <モンスターã®ID or åµã®ID> +・@petfriendly ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ + @petfriendly <æ•°å—> + ペットを連れã¦ã„る時ã«ãƒšãƒƒãƒˆã®è¦ªå¯†åº¦ã‚’変更。(0~1000) +・@pethungry ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ + @pethungry <æ•°å—> + ペットを連れã¦ã„る時ã«ãƒšãƒƒãƒˆã®æº€è…¹åº¦ã‚’変更。(0~100) +・@petrename ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ @petrename - ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ì–¼‘O‚ð•ÏX‚Å‚«‚é‚悤‚É•ÏXB -Eint_guild.cAint_party.c “Ç‚Ýž‚Þƒtƒ@ƒCƒ‹‚ɃGƒ‰[‚ª‚ ‚Á‚Ä‚àƒvƒƒOƒ‰ƒ€‚ð - I—¹‚¹‚¸‚Éi‚ނ悤‚É•ÏXB -Epc_walk 123 != 1234 “™‚̃Gƒ‰[‚ªo‚È‚¢‚悤‚É + ペットを連れã¦ã„る時ã«ãƒšãƒƒãƒˆã®åå‰ã‚’変更ã§ãるよã†ã«å¤‰æ›´ã€‚ +・int_guild.cã€int_party.c èªã¿è¾¼ã‚€ãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚¨ãƒ©ãƒ¼ãŒã‚ã£ã¦ã‚‚プãƒã‚°ãƒ©ãƒ ã‚’ + 終了ã›ãšã«é€²ã‚€ã‚ˆã†ã«å¤‰æ›´ã€‚ +・pc_walk 123 != 1234 ç‰ã®ã‚¨ãƒ©ãƒ¼ãŒå‡ºãªã„よã†ã« if((i=calc_next_walk_step(sd))>0) { sd->walktimer=add_timer(tick+i/2,pc_walk,id,sd->walkpath.path_pos); - ‚ð + ã‚’ if((i=calc_next_walk_step(sd))>0) { i = i/2; if(i <= 0) i = 1; sd->walktimer=add_timer(tick+i,pc_walk,id,sd->walkpath.path_pos); - ‚̂悤‚É•ÏX‚µ‚Ü‚µ‚½B - tick‚ª“¯‚¶”’l‚É‚È‚é‚Ì‚ð–h‚¢‚½‚Ì‚Å‚·‚ª‚±‚ê‚Å‚Ç‚ñ‚ȉe‹¿‚ªo‚é‚©‚Í - ‚³‚Á‚Ï‚è‚í‚©‚è‚Ü‚¹‚ñB - pc.cAmob.c‚ðC³B - ‚Å‚à‚±‚ÌC³‚ð‚µ‚Ä‚à˜A‘±‚ŃNƒŠƒbƒN‚µ‚½‚è‚·‚é‚ƃLƒƒƒ‰‚ª‚µ‚Î‚ç‚ - Ž~‚Ü‚é‚悤‚Å‚·B(ƒyƒbƒg‚Ì‚¹‚¢‚ÆŽv‚¢‚Ü‚µ‚½‚ªƒyƒbƒg‚ª‚È‚‚Ä‚à - “¯‚¶‚¾‚Á‚½‚Ì‚Å‘¼‚ÌŒ´ˆö‚©‚Æ...) -* doc/code_ref.txt‚Æhelp.txt‚Í–Ê“|‚‚³‚¢‚Ì‚ÅC³‚µ‚Ä‚Ü‚¹‚ñB -Egm_all_skill: yes‚Å2-2‚̃XƒLƒ‹‚à•\Ž¦‚³‚ê‚é‚悤‚É•ÏXB(ŽŽ‚¢‚¹‚Í‚¢‚Ü‚¹‚ñ‚ª...) - pc.c - pc_calc_skilltre() C³B -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZ‚ðC³B - •ŠíŒ¤‹†‚ð“ñdŒvŽZ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B + ã®ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—ãŸã€‚ + tickãŒåŒã˜æ•°å€¤ã«ãªã‚‹ã®ã‚’防ã„ãŸã®ã§ã™ãŒã“ã‚Œã§ã©ã‚“ãªå½±éŸ¿ãŒå‡ºã‚‹ã‹ã¯ + ã•ã£ã±ã‚Šã‚ã‹ã‚Šã¾ã›ã‚“。 + pc.cã€mob.cã‚’ä¿®æ£ã€‚ + ã§ã‚‚ã“ã®ä¿®æ£ã‚’ã—ã¦ã‚‚連続ã§ã‚¯ãƒªãƒƒã‚¯ã—ãŸã‚Šã™ã‚‹ã¨ã‚ャラãŒã—ã°ã‚‰ã + æ¢ã¾ã‚‹ã‚ˆã†ã§ã™ã€‚(ペットã®ã›ã„ã¨æ€ã„ã¾ã—ãŸãŒãƒšãƒƒãƒˆãŒãªãã¦ã‚‚ + åŒã˜ã ã£ãŸã®ã§ä»–ã®åŽŸå› ã‹ã¨...) +* doc/code_ref.txtã¨help.txtã¯é¢å€’ãã•ã„ã®ã§ä¿®æ£ã—ã¦ã¾ã›ã‚“。 +・gm_all_skill: yesã§2-2ã®ã‚¹ã‚ルも表示ã•ã‚Œã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(試ã„ã›ã¯ã„ã¾ã›ã‚“ãŒ...) + pc.c + pc_calc_skilltre() ä¿®æ£ã€‚ +・カートレボリューションã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—ã‚’ä¿®æ£ã€‚ + æ¦å™¨ç ”究を二é‡è¨ˆç®—ã—ã¦ã„ãŸã®ã§ä¿®æ£ã€‚ battle.c - Damage battle_calc_weapon_attack() C³B + Damage battle_calc_weapon_attack() ä¿®æ£ã€‚ -------------- -//381 by ŒÓ’±—– +//381 by 胡è¶è˜ -EMOB‚Ìs“®C³ - EPC‚Ì‚¢‚È‚¢ƒ}ƒbƒv‚ÌMOB‚ÍŽžXƒ[ƒv‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - EPC‚Ì‚¢‚éƒ}ƒbƒv‚ÌMOB‚Í•à‚ˆÈŠO‚ÉAŽžX•¦‚«’¼‚·‚悤‚É‚È‚è‚Ü‚µ‚½ - i‚±‚ê‚Ü‚½ƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñF‚µd‚‚È‚é‚©‚àj - EŽè”²‚«ˆ—‚ŃuƒƒbƒN‚Ì—LŒø”»’è‚ðs‚¤‚悤‚É‚µ‚Ü‚µ‚½ - iHP–³ŒÀMOB–â‘èC³Hj - Eƒ‹[ƒgŽžƒXƒLƒ‹Žg—p‹@\ŽÀ‘• +・MOBã®è¡Œå‹•ä¿®æ£ + ・PCã®ã„ãªã„マップã®MOBã¯æ™‚々ワープã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ ・PCã®ã„るマップã®MOBã¯æ©ã以外ã«ã€æ™‚々沸ãç›´ã™ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ (ã“ã‚Œã¾ãŸãƒ‘フォーマンスã«å½±éŸ¿ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“:少ã—é‡ããªã‚‹ã‹ã‚‚) + ・手抜ã処ç†ã§ãƒ–ãƒãƒƒã‚¯ã®æœ‰åŠ¹åˆ¤å®šã‚’è¡Œã†ã‚ˆã†ã«ã—ã¾ã—㟠+ (HPç„¡é™MOBå•é¡Œä¿®æ£ï¼Ÿï¼‰ + ・ルート時スã‚ル使用機構実装 mob.c/mob.h - mob_ai_sub_lazy(),mob_ai_sub_hard()C³ - MSS_LOOT’ljÁ,mob_readskilldb()C³ + mob_ai_sub_lazy(),mob_ai_sub_hard()ä¿®æ£ + MSS_LOOTè¿½åŠ ,mob_readskilldb()ä¿®æ£ -EMOBƒXƒLƒ‹‚Ì‘®«•ÏX‚ðŽÀ‘•‚µ‚Ü‚µ‚½B +・MOBスã‚ルã®å±žæ€§å¤‰æ›´ã‚’実装ã—ã¾ã—ãŸã€‚ map.h - struct mob_data‚É def_eleƒƒ“ƒo’ljÁ + struct mob_dataã« def_eleメンãƒè¿½åŠ mob.c - mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚é‚悤‚É•ÏX + mob_spawn()ã§def_eleをセットã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ battle.c - battle_get_element()‚Ådef_ele‚ð“ǂނ悤‚É•ÏX + battle_get_element()ã§def_eleã‚’èªã‚€ã‚ˆã†ã«å¤‰æ›´ skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ -EƒNƒ@ƒOƒ}ƒCƒA‚ÌŒø‰Ê”͈͂©‚ço‚é‚ÆŒø‰Ê‚ªØ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・クァグマイアã®åŠ¹æžœç¯„囲ã‹ã‚‰å‡ºã‚‹ã¨åŠ¹æžœãŒåˆ‡ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠skill.c - ƒ†ƒjƒbƒgŒnˆ—C³ + ユニット系処ç†ä¿®æ£ -------------- -//380 by ‚`‚Ìl +//380 by Aã®äºº -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZŽÀ‘• - battle.c‚ð•ÏXB +・カートレヴォリューションã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—実装 + battle.cを変更。 -CHRIS‚³‚ñA‚ ‚肪‚Æ‚¤ŒäÀ‚¢‚Ü‚·B -ƒmƒbƒNƒoƒbƒNŽÀ‘•‚Å‚«‚È‚‚ÄA¢‚Á‚Ä‚Ü‚µ‚½i„ƒG +CHRISã•ã‚“ã€ã‚ã‚ŠãŒã¨ã†å¾¡åº§ã„ã¾ã™ã€‚ +ノックãƒãƒƒã‚¯å®Ÿè£…ã§ããªãã¦ã€å›°ã£ã¦ã¾ã—ãŸï¼ˆï¼žï¼œï¼› -------------- //379 by CHRIS -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ÌŽÀ‘• - skill.c‚Æbattle.c‚ð•ÏXB +・カートレヴォリューションã®å®Ÿè£… + skill.cã¨battle.cを変更。 -Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’ljÁB - battle.c‚ð•ÏXB +・マグナムブレイクã«ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ã‚’è¿½åŠ ã€‚ + battle.cを変更。 -iƒ\[ƒX‚ð˜M‚Á‚½‚͉̂‚ß‚Ä‚È‚Ì‚ÅA—L‚Á‚Ä‚é‚©‚Ç‚¤‚©•ª‚©‚è‚Ü‚¹‚ñ‚ªAŽ©•ª‚Å‚Ío—ˆ‚Ü‚µ‚½Bj -iƒvƒƒOƒ‰ƒ€ŠÖŒW‚̑Ђ𔃂Á‚ĕ׋‚µ‚ĉ‚߂ĘM‚Á‚½‚Ì‚Å‚·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj +(ソースを弄ã£ãŸã®ã¯åˆã‚ã¦ãªã®ã§ã€æœ‰ã£ã¦ã‚‹ã‹ã©ã†ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“ãŒã€è‡ªåˆ†ã§ã¯å‡ºæ¥ã¾ã—ãŸã€‚) +(プãƒã‚°ãƒ©ãƒ 関係ã®æ›¸ç±ã‚’è²·ã£ã¦å‹‰å¼·ã—ã¦åˆã‚ã¦å¼„ã£ãŸã®ã§ã™ãƒ»ãƒ»ãƒ»ã€‚ガンãƒãƒªãƒžã‚¹ï¼ã€‚) -------------- -//377 by ŒÓ’±—– +//377 by 胡è¶è˜ -EMOB‚Ìs“®C³ - E‹ß‚‚ÉPC‚Ì‚¢‚È‚¢MOB‚ªŽžXƒ[ƒv‚·‚éŽd—l‚ðŽ~‚ß‚Ü‚µ‚½B - EPC‚Ì‚¢‚È‚¢ƒ}ƒbƒv‚ÌMOB‚Í‘S‚“®‚©‚È‚‚È‚è‚Ü‚µ‚½B - EPC‚Ì‚¢‚éƒ}ƒbƒv‚ÅA‹ß‚‚ÉPC‚Ì‚¢‚È‚¢MOB‚ÍŽžX•à‚‚悤‚É‚È‚è‚Ü‚µ‚½B - E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ëC³ - iƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñF‚µd‚‚È‚é‚©‚àj +・MOBã®è¡Œå‹•ä¿®æ£ + ・近ãã«PCã®ã„ãªã„MOBãŒæ™‚々ワープã™ã‚‹ä»•æ§˜ã‚’æ¢ã‚ã¾ã—ãŸã€‚ + ・PCã®ã„ãªã„マップã®MOBã¯å…¨ãå‹•ã‹ãªããªã‚Šã¾ã—ãŸã€‚ + ・PCã®ã„るマップã§ã€è¿‘ãã«PCã®ã„ãªã„MOBã¯æ™‚々æ©ãよã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ・ãã®ä»–ç´°ã‹ã„ã¨ã“ã‚ä¿®æ£ + (パフォーマンスã«å½±éŸ¿ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“:少ã—é‡ããªã‚‹ã‹ã‚‚) mob.c - mob_randomwalk()’ljÁ - mob_ai_sub_lazy(),mob_ai_sub_hard()C³‚È‚Ç + mob_randomwalk()è¿½åŠ + mob_ai_sub_lazy(),mob_ai_sub_hard()ä¿®æ£ãªã© -EƒXƒLƒ‹C³ - EMOB‚ªƒeƒŒƒ|[ƒg‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・スã‚ãƒ«ä¿®æ£ + ・MOBãŒãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãるよã†ã«ãªã‚Šã¾ã—㟠mob.c - mob_warp()’ljÁ - skill.c - skill_castend_nodamage_id()C³ - -EƒXƒe[ƒ^ƒXˆÙí‚̈ꕔ‚ðŽÀ‘•/C³ - EPC/MOB‚Æ‚à‚É‘¬“xŒ¸‚ÌŒø‰Ê‚ªŒ»‚ê‚é‚悤‚ÉiAGI‚Ì•\Ž¦‚Í•Ï‚í‚炸j - EPC‚̃Gƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA‘¬“x㸂̌ø‰Ê‚ðC³ - EMOB‚Ì2HQAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA - ‘¬“xã¸/Œ¸AƒOƒƒŠƒAAƒuƒŒƒbƒVƒ“ƒO‚È‚Ç‚ÌŒø‰ÊŽÀ‘• - E‡–°A“€Œ‹AƒXƒ^ƒ“‚Ì•K’†Œø‰ÊŽÀ‘• - E‡–°‚̃NƒŠƒeƒBƒJƒ‹”{Œø‰ÊŽÀ‘• - EˆÃ•‚Ì–½’†—¦A‰ñ”𗦌¸Œø‰ÊŽÀ‘• - EŽô‚¢‚ÌATKŒ¸Œø‰ÊALUKŒ¸Œø‰ÊŽÀ‘• + mob_warp()è¿½åŠ + skill.c + skill_castend_nodamage_id()ä¿®æ£ + +・ステータス異常ã®ä¸€éƒ¨ã‚’実装/ä¿®æ£ + ・PC/MOBã¨ã‚‚ã«é€Ÿåº¦æ¸›å°‘ã®åŠ¹æžœãŒç¾ã‚Œã‚‹ã‚ˆã†ã«ï¼ˆAGIã®è¡¨ç¤ºã¯å¤‰ã‚らãšï¼‰ + ・PCã®ã‚¨ãƒ³ã‚¸ã‚§ãƒ©ã‚¹ã€ã‚¤ãƒ³ãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ã€é€Ÿåº¦ä¸Šæ˜‡ã®åŠ¹æžœã‚’ä¿®æ£ + ・MOBã®2HQã€ã‚¢ãƒ‰ãƒ¬ãƒŠãƒªãƒ³ãƒ©ãƒƒã‚·ãƒ¥ã€ã‚¨ãƒ³ã‚¸ã‚§ãƒ©ã‚¹ã€ã‚¤ãƒ³ãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ã€ + 速度上昇/減少ã€ã‚°ãƒãƒªã‚¢ã€ãƒ–レッシングãªã©ã®åŠ¹æžœå®Ÿè£… + ・ç¡çœ ã€å‡çµã€ã‚¹ã‚¿ãƒ³ã®å¿…ä¸åŠ¹æžœå®Ÿè£… + ・ç¡çœ ã®ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«å€åŠ¹æžœå®Ÿè£… + ・暗黒ã®å‘½ä¸çŽ‡ã€å›žé¿çŽ‡æ¸›å°‘効果実装 + ・呪ã„ã®ATK減少効果ã€LUK減少効果実装 battle.c - battle_get_*()C³ - battle_calc_weapon_damage()C³ + battle_get_*()ä¿®æ£ + battle_calc_weapon_damage()ä¿®æ£ mob.c - mob_get_speed(),mob_get_adelay()’ljÁ + mob_get_speed(),mob_get_adelay()è¿½åŠ pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ -Eitem_value_db.txt‚ŃAƒCƒeƒ€‚̉¿Ši‚ðÝ’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E‰¿Šiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B - E‚±‚ê‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB +・item_value_db.txtã§ã‚¢ã‚¤ãƒ†ãƒ ã®ä¾¡æ ¼ã‚’è¨å®šã§ãるよã†ã«ãªã‚Šã¾ã—㟠+ ãƒ»ä¾¡æ ¼ãƒ‡ãƒ¼ã‚¿ã‚’ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã§ãるよã†ã«ã—ã¾ã—ãŸã€‚ + ・ã“ã‚Œã§item_db2.txtを用æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“。 (db/) item_value_db2.txt - item_db2.txt‚̉¿Šiƒf[ƒ^B - item_value_db.txt‚ɃŠƒl[ƒ€‚·‚é‚Æ“Ç‚Ýž‚Ý‚Ü‚·B + item_db2.txtã®ä¾¡æ ¼ãƒ‡ãƒ¼ã‚¿ã€‚ + item_value_db.txtã«ãƒªãƒãƒ¼ãƒ ã™ã‚‹ã¨èªã¿è¾¼ã¿ã¾ã™ã€‚ (map/) itemdb.c - itemdb_readdb()C³ + itemdb_readdb()ä¿®æ£ -EŒÃ–Ø‚ÌŽ}‚ðŽg‚¤‚ÆMOB‚Ì–¼‘O‚ª 0 ‚É‚È‚é–â‘è‚ÌC³ +・å¤æœ¨ã®æžã‚’使ã†ã¨MOBã®åå‰ãŒ 0 ã«ãªã‚‹å•é¡Œã®ä¿®æ£ (db/) item_db.txt - ŒÃ–Ø‚ÌŽ}‚̃f[ƒ^C³ + å¤æœ¨ã®æžã®ãƒ‡ãƒ¼ã‚¿ä¿®æ£ -------------- -//375 by ŒÓ’±—– +//375 by 胡è¶è˜ -EMOBê—pƒXƒLƒ‹‚ÌŒø‰Ê‚ð‚¢‚‚‚©ŽÀ‘• - ‘½’iUŒ‚A“łȂǂ̒ljÁŒø‰Ê•t—^UŒ‚A‘®«•t‚«UŒ‚A–‚–@‘ÅŒ‚UŒ‚ - •K’†UŒ‚A–hŒä–³Ž‹UŒ‚Aƒ‰ƒ“ƒ_ƒ€ATKUŒ‚‚È‚ÇB - ‚½‚¾‚µA**‘S‚ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ**B +・MOB専用スã‚ルã®åŠ¹æžœã‚’ã„ãã¤ã‹å®Ÿè£… + 多段攻撃ã€æ¯’ãªã©ã®è¿½åŠ 効果付与攻撃ã€å±žæ€§ä»˜ã攻撃ã€é”法打撃攻撃 + å¿…ä¸æ”»æ’ƒã€é˜²å¾¡ç„¡è¦–攻撃ã€ãƒ©ãƒ³ãƒ€ãƒ ATK攻撃ãªã©ã€‚ + ãŸã ã—ã€**å…¨ãテストã—ã¦ã¾ã›ã‚“**。 (db/) skill_db.txt - MOB—pƒXƒLƒ‹‚̃f[ƒ^‚ðC³ + MOB用スã‚ルã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿®æ£ mob_skill_db.txt - ‚µ’ljÁ + å°‘ã—è¿½åŠ (map/) skill.c - skill_castend_damage_id()C³ - skill_status_change_start()C³ - skill_additional_effect()C³ + skill_castend_damage_id()ä¿®æ£ + skill_status_change_start()ä¿®æ£ + skill_additional_effect()ä¿®æ£ battle.c - battle_calc_weapon_attack()C³ + battle_calc_weapon_attack()ä¿®æ£ -EƒXƒLƒ‹‚ð‚µC³ - EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ªŽ€‚ñ‚Å‚¢‚Ä‚àŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘èC³ +・スã‚ルを少ã—ä¿®æ£ + ・ウォーターボールã§æ•µãŒæ»ã‚“ã§ã„ã¦ã‚‚æ’ƒã¤ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ã™ã‚‹å•é¡Œä¿®æ£ skill.c - skill_status_change_timer()C³ + skill_status_change_timer()ä¿®æ£ -EMOBƒf[ƒ^‚ª•Ï‚È‚Ì‚Å–^‚v‚̃f[ƒ^ƒx[ƒX‚ð—¬—p‚µ‚Ä‚Ý‚é - Eƒf[ƒ^‚Ì•À‚ч‚Æ‚©‘S‚“¯‚¶‚È‚ñ‚Å‚·‚Ë +・MOBデータãŒå¤‰ãªã®ã§æŸï¼·ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’æµç”¨ã—ã¦ã¿ã‚‹ + ・データã®ä¸¦ã³é †ã¨ã‹å…¨ãåŒã˜ãªã‚“ã§ã™ã (db/) mob_db.txt - –^‚v‚Ìmob_db.txt + æŸï¼·ã®mob_db.txt -EŠeŽíconf‚̃Šƒtƒ@ƒŒƒ“ƒX‚ð“Y•t - ‚ ‚‚܂ŃŠƒtƒ@ƒŒƒ“ƒX‚È‚Ì‚ÅAHowTo‚È‚ñ‚©‚Í‘‚¢‚Ä‚Ü‚¹‚ñB +・å„種confã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ã‚’添付 + ã‚ãã¾ã§ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ãªã®ã§ã€HowToãªã‚“ã‹ã¯æ›¸ã„ã¦ã¾ã›ã‚“。 (doc/) conf_ref.txt - conf‚̃Šƒtƒ@ƒŒƒ“ƒX{ƒ¿ + confã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ï¼‹Î± -------------- -//373 by ŒÓ’±—– +//373 by 胡è¶è˜ -EMOBƒXƒLƒ‹Žg—p‹@\‰¼ŽÀ‘• - EƒXƒLƒ‹Žg—pŽž‚̈—‚̓vƒŒƒCƒ„[‚Æ‹¤—p(skill.c)‚Å‚·B - E•s“s‡‚ª‘½‚¢‚ÆŽv‚¤‚Ì‚Å•ñ‚¨Šè‚¢‚µ‚Ü‚·B - Emob_skill_db.txt‚ð–„‚ß‚Ä‚‚ê‚él‚à•åWB - ‚±‚̃f[ƒ^‚Íuƒ‰ƒOƒiƒƒN‚Ì‚½‚Ü‚²v‚ðŽQl‚É‚µ‚Ä‚¢‚Ü‚·B +・MOBスã‚ル使用機構仮実装 + ・スã‚ル使用時ã®å‡¦ç†ã¯ãƒ—レイヤーã¨å…±ç”¨(skill.c)ã§ã™ã€‚ + ・ä¸éƒ½åˆãŒå¤šã„ã¨æ€ã†ã®ã§å ±å‘ŠãŠé¡˜ã„ã—ã¾ã™ã€‚ + ・mob_skill_db.txtを埋ã‚ã¦ãれる人も募集。 + ã“ã®ãƒ‡ãƒ¼ã‚¿ã¯ã€Œãƒ©ã‚°ãƒŠãƒã‚¯ã®ãŸã¾ã”ã€ã‚’å‚考ã«ã—ã¦ã„ã¾ã™ã€‚ (db/) mob_skill_db.txt - MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–¢Š®¬) - ƒeƒXƒg—p‚̃f[ƒ^‚µ‚©“ü‚Á‚Ä‚Ü‚¹‚ñB + MOBスã‚ルデータベース(未完æˆ) + テスト用ã®ãƒ‡ãƒ¼ã‚¿ã—ã‹å…¥ã£ã¦ã¾ã›ã‚“。 (map/) mob.c/mob.h - mobskill_*’ljÁA‚»‚Ì‘¼‘½”C³ + mobskill_*è¿½åŠ ã€ãã®ä»–å¤šæ•°ä¿®æ£ map.h - struct mob_data ‚É skill* ’ljÁ + struct mob_data ã« skill* è¿½åŠ skill.c/skill.h - skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚³‚¹‚½ + skill_castcancel()やスã‚ルユニット処ç†ã‚’MOBã«å¯¾å¿œã•ã›ãŸ battle.c - battle_calc_damage()‚È‚ÇC³ + battle_calc_damage()ãªã©ä¿®æ£ -EƒMƒ‹ƒh‚̃XƒLƒ‹‚ªG‚ê‚È‚¢–â‘èC³ - E‚¢‚‚̂܂ɂ©pc_skillup‚ªŒÃ‚¢‚à‚Ì‚É•Ï‚í‚Á‚Ä‚¢‚½‚Ì‚ÅC³ +・ギルドã®ã‚¹ã‚ルãŒè§¦ã‚Œãªã„å•é¡Œä¿®æ£ + ・ã„ã¤ã®ã¾ã«ã‹pc_skillupãŒå¤ã„ã‚‚ã®ã«å¤‰ã‚ã£ã¦ã„ãŸã®ã§ä¿®æ£ pc.c - pc_skillup(),pc_checkskill()C³ + pc_skillup(),pc_checkskill()ä¿®æ£ -------------- -//368 by ŒÓ’±—– +//368 by 胡è¶è˜ -EMOBŒn‚ÌC³‚È‚Ç - EMOB‚ªô“G”͈͓à‚ÌPC/ƒAƒCƒeƒ€‚𓙊m—¦‚ŃƒbƒN‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - iƒAƒNƒeƒBƒuAƒ‹[ƒgF‚¢‚Ü‚Ü‚Å‚ÍŠY“–ƒuƒƒbƒN‚̃Šƒ“ƒNƒŠƒXƒg‚̇‚È‚Ç‚É - ˆË‘¶‚µ‚Ä‚¢‚½j - EŽË’ö”ÍˆÍ“à‚©‚ÂA“ž’B•s‰Â”\’n‘Ñ‚ÌPC‚ðMOB‚ªƒƒbƒN‚·‚é‚ÆA - MOB‚ª’âŽ~‚µ‚½‚èA‚»‚Ìê‚Å–\‚ꂾ‚µ‚½‚è‚·‚é–â‘è‚ÌC³ - EMOBƒƒbƒN’†‚ÉIW‚È‚Ç‚Å“ž’B•s‰Â”\‚É‚È‚Á‚½ê‡AƒƒbƒN‚ð‰ðœ‚·‚é‚悤‚ÉB - EAEGIS•ûŽ®‚Å“G‚̈ړ®‚ðŒvŽZ‚µ‚Ĉړ®•s‰Â”\‚È‚çAAthenaŽ®‚ÅŒvŽZ‚·‚é‚悤‚É - EƒƒbƒN‚ª‰ðœ‚³‚ê‚é‚Æ‚«‚É”•b‚»‚Ìê‚Å’âŽ~‚·‚é‚悤‚É‚µ‚½ - E•às‚ª’x‚¢MOB‚ª‚Æ‚Ü‚ç‚È‚¢/ŽŸ‚Ì•àsŠJŽn‚ª‘‚·‚¬‚é–â‘è‚ðC³‚µ‚Ü‚µ‚½ - Eƒ‹[ƒgŠÖ˜Aˆ—‚ð‚µC³ +・MOBç³»ã®ä¿®æ£ãªã© + ・MOBãŒç–敵範囲内ã®PC/アイテムをç‰ç¢ºçŽ‡ã§ãƒãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ (アクティブã€ãƒ«ãƒ¼ãƒˆï¼šã„ã¾ã¾ã§ã¯è©²å½“ブãƒãƒƒã‚¯ã®ãƒªãƒ³ã‚¯ãƒªã‚¹ãƒˆã®é †ãªã©ã« + ä¾å˜ã—ã¦ã„ãŸï¼‰ + ・射程範囲内ã‹ã¤ã€åˆ°é”ä¸å¯èƒ½åœ°å¸¯ã®PCã‚’MOBãŒãƒãƒƒã‚¯ã™ã‚‹ã¨ã€ + MOBãŒåœæ¢ã—ãŸã‚Šã€ãã®å ´ã§æš´ã‚Œã ã—ãŸã‚Šã™ã‚‹å•é¡Œã®ä¿®æ£ + ・MOBãƒãƒƒã‚¯ä¸ã«IWãªã©ã§åˆ°é”ä¸å¯èƒ½ã«ãªã£ãŸå ´åˆã€ãƒãƒƒã‚¯ã‚’解除ã™ã‚‹ã‚ˆã†ã«ã€‚ + ・AEGISæ–¹å¼ã§æ•µã®ç§»å‹•ã‚’計算ã—ã¦ç§»å‹•ä¸å¯èƒ½ãªã‚‰ã€Athenaå¼ã§è¨ˆç®—ã™ã‚‹ã‚ˆã†ã« + ・ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã‚‹ã¨ãã«æ•°ç§’ãã®å ´ã§åœæ¢ã™ã‚‹ã‚ˆã†ã«ã—㟠+ ・æ©è¡ŒãŒé…ã„MOBãŒã¨ã¾ã‚‰ãªã„/次ã®æ©è¡Œé–‹å§‹ãŒæ—©ã™ãŽã‚‹å•é¡Œã‚’ä¿®æ£ã—ã¾ã—㟠+ ・ルート関連処ç†ã‚’å°‘ã—ä¿®æ£ mob.c - mob_ai_sub_hard*()C³ - mob_can_reach()’ljÁ + mob_ai_sub_hard*()ä¿®æ£ + mob_can_reach()è¿½åŠ -EƒXƒLƒ‹Žg—pŽž‚Ƀ^[ƒQƒbƒgƒuƒƒbƒN‚Ì—LŒø«”»’è‚ðs‚¤‚悤‚ÉC³ -Eƒ‹ƒAƒt‚̃_ƒ[ƒW‚ª•ŠíŒvŽZ‚É‚È‚Á‚Ä‚¢‚é‚̃oƒO‚ð–‚–@ŒvŽZ‚ÉC³ +・スã‚ル使用時ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ–ãƒãƒƒã‚¯ã®æœ‰åŠ¹æ€§åˆ¤å®šã‚’è¡Œã†ã‚ˆã†ã«ä¿®æ£ +・ルアフã®ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒæ¦å™¨è¨ˆç®—ã«ãªã£ã¦ã„ã‚‹ã®ãƒã‚°ã‚’é”法計算ã«ä¿®æ£ skill.c - skill_castend_id()C³ - skill_status_change_timer_sub()C³ + skill_castend_id()ä¿®æ£ + skill_status_change_timer_sub()ä¿®æ£ ---------- -//364 by ‚¢‚Ç -EˆÈ‰º‚̃pƒPƒbƒg‚Ìà–¾‚ð•ÏX - doc/ƒpƒPƒbƒg‰ðÍ.txt +//364 by ã„ã© +・以下ã®ãƒ‘ケットã®èª¬æ˜Žã‚’変更 + doc/パケット解æž.txt R 006a <error No>.B R 0081 <type>.B -E363‚Ńrƒ‹ƒhŽž‚Éwarning‚ªo‚é•s‹ï‡‚ðC³ +・363ã§ãƒ“ルド時ã«warningãŒå‡ºã‚‹ä¸å…·åˆã‚’ä¿®æ£ map/guild.h -------------- -//363 by ŒÓ’±—– +//363 by 胡è¶è˜ -EƒMƒ‹ƒh‚ÌC³ - EƒƒOƒCƒ“‚µ‚Ä‚¢‚È‚¢PC‚ð’Ç•ú‚·‚é‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚éƒoƒOC³ - Eƒƒ“ƒo[’ljÁ’¼Œã‚ɒljÁ‚³‚ꂽPC‚ªƒMƒ‹ƒh•\Ž¦‚ɒljÁ‚³‚ê‚È‚¢–â‘èC³ - E“¯‚¶ƒMƒ‹ƒh‚É“¯C•ÊƒLƒƒƒ‰‚ª—v‚éPC‚ª’E‘Þ‚·‚é/’Ç•ú‚³‚ê‚é‚ƕʃLƒƒƒ‰‚ª - ’E‘Þ‚µ‚Ä‚µ‚Ü‚¤ê‡‚ª‚ ‚éƒoƒOC³ - Eƒƒ“ƒo[‚ª‚¢‚é‚̂ɉðŽU‚µ‚悤‚Æ‚·‚é‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚éƒoƒOC³ +・ギルドã®ä¿®æ£ + ・ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã„PCを追放ã™ã‚‹ã¨ãƒžãƒƒãƒ—鯖ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ + ・メンãƒãƒ¼è¿½åŠ 直後ã«è¿½åŠ ã•ã‚ŒãŸPCãŒã‚®ãƒ«ãƒ‰è¡¨ç¤ºã«è¿½åŠ ã•ã‚Œãªã„å•é¡Œä¿®æ£ + ・åŒã˜ã‚®ãƒ«ãƒ‰ã«åŒåž¢åˆ¥ã‚ャラãŒè¦ã‚‹PCãŒè„±é€€ã™ã‚‹/追放ã•ã‚Œã‚‹ã¨åˆ¥ã‚ャラ㌠+ 脱退ã—ã¦ã—ã¾ã†å ´åˆãŒã‚ã‚‹ãƒã‚°ä¿®æ£ + ・メンãƒãƒ¼ãŒã„ã‚‹ã®ã«è§£æ•£ã—よã†ã¨ã™ã‚‹ã¨ãƒžãƒƒãƒ—鯖ãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ (char/) int_guild.c - guild_calcinfo(),mapif_parse_GuildAddMember()C³ + guild_calcinfo(),mapif_parse_GuildAddMember()ä¿®æ£ (map/) guild.c guild_member_leaved(),guild_member_added() - guild_recv_info(),guild_break()C³ + guild_recv_info(),guild_break()ä¿®æ£ -------------- -//362 by ŒÓ’±—– +//362 by 胡è¶è˜ -EƒMƒ‹ƒh‰ðŽUŽÀ‘• +・ギルド解散実装 (char/) int_guild.c - ‰ðŽUˆ—‚ð’ljÁ + 解散処ç†ã‚’è¿½åŠ (map/) guild.c/guild.h - guild_break(),guild_broken(),guild_broken_sub()‚ȂǒljÁ + guild_break(),guild_broken(),guild_broken_sub()ãªã©è¿½åŠ clif.c/clif.h - clif_guild_broken(),clif_parse_GuildBreak()’ljÁ + clif_guild_broken(),clif_parse_GuildBreak()è¿½åŠ intif.c/intif.h - intif_parse_GuildBroken()’ljÁ + intif_parse_GuildBroken()è¿½åŠ -------------- -//361 by ‚¢‚Ç +//361 by ã„ã© -E360‚Å‚Ì@heal‚Ì•ÏXŠÔˆá‚¢‚ð’ù³ +・360ã§ã®@healã®å¤‰æ›´é–“é•ã„ã‚’è¨‚æ£ map/atcommand.c -------------- -//360 by ‚¢‚Ç +//360 by ã„ã© -E353‚ÌC³‚ðíœ -E@heal‚Å•ÏXŒã‚Ì’l‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚ÉC³ +・353ã®ä¿®æ£ã‚’削除 +・@healã§å¤‰æ›´å¾Œã®å€¤ãŒãƒžã‚¤ãƒŠã‚¹ã«ãªã‚‰ãªã„よã†ã«ä¿®æ£ -------------- -//359 by ‚¢‚Ç +//359 by ã„ã© -Eclass_equip_db.txt‚Ì•¶Žš‰»‚¯C³ +・class_equip_db.txtã®æ–‡å—化ã‘ä¿®æ£ -------------- -//358 by ŒÓ’±—– +//358 by 胡è¶è˜ -EƒƒOƒCƒ“Žž‚Ìdelete_timer‚̃Gƒ‰[‚ðo‚È‚¢‚悤‚É‚µ‚½ +・ãƒã‚°ã‚¤ãƒ³æ™‚ã®delete_timerã®ã‚¨ãƒ©ãƒ¼ã‚’出ãªã„よã†ã«ã—㟠pc.c - pc_authok()‚ÌC³ + pc_authok()ã®ä¿®æ£ -EƒMƒ‹ƒhŠÖŒW‚ÌC³ - Eƒƒ“ƒoŠ©—UŽž‚ÉÅ‘ål”‚ÌŠm”F‚ðs‚¤‚悤‚É - Eƒf[ƒ^’Ê’mˆ—‚ð‚¢‚‚‚©C³ +・ギルド関係ã®ä¿®æ£ + ・メンãƒå‹§èª˜æ™‚ã«æœ€å¤§äººæ•°ã®ç¢ºèªã‚’è¡Œã†ã‚ˆã†ã« + ・データ通知処ç†ã‚’ã„ãã¤ã‹ä¿®æ£ (char/) int_guild.c - FXC³ + è‰²ã€…ä¿®æ£ (map/) clif.c/clif.h - clif_guild_inviting_refused()‚ðclif_guild_inviteack()‚ɉü–¼ + clif_guild_inviting_refused()ã‚’clif_guild_inviteack()ã«æ”¹å guild.c/intif.c - FXC³ + è‰²ã€…ä¿®æ£ -E@guildlvupƒRƒ}ƒ“ƒhì¬BƒMƒ‹ƒhƒŒƒxƒ‹‚ª’²®‚Å‚«‚Ü‚·B +・@guildlvupコマンド作æˆã€‚ギルドレベルãŒèª¿æ•´ã§ãã¾ã™ã€‚ (char/) int_guild.c - FXC³ + è‰²ã€…ä¿®æ£ (map/) atcommand.c - @guildlvupˆ—’ljÁ + @guildlvup処ç†è¿½åŠ -EMakefike‚Ìclean•”•ª‚ðC³ +・Makefikeã®cleanéƒ¨åˆ†ã‚’ä¿®æ£ (char/ map/ login/) Makefile - E휂·‚éŽÀsƒtƒ@ƒCƒ‹‚̃pƒX‚ð ../athena/ ‚©‚ç ../ ‚ÉC³ + ・削除ã™ã‚‹å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スを ../athena/ ã‹ã‚‰ ../ ã«ä¿®æ£ -------------- -//357 by ŒÓ’±—– +//357 by 胡è¶è˜ -Epc.c‚Ì•¶Žš‰»‚¯C³ - •¶Žš‰»‚¯‚µ‚½ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ì‚àA‚»‚ê‚ð‰ü‘¢‚·‚é‚Ì‚à‹ÖŽ~‚µ‚Ü‚¹‚ñ‚©H - ’¼‚·‚Ì–Ê“|‚‚³‚·‚¬‚Ü‚·B +・pc.cã®æ–‡å—化ã‘ä¿®æ£ + æ–‡å—化ã‘ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’アップã™ã‚‹ã®ã‚‚ã€ãã‚Œã‚’æ”¹é€ ã™ã‚‹ã®ã‚‚ç¦æ¢ã—ã¾ã›ã‚“ã‹ï¼Ÿ + ç›´ã™ã®é¢å€’ãã•ã™ãŽã¾ã™ã€‚ pc.c - •¶Žš‰»‚¯‚ÌC³ + æ–‡å—化ã‘ã®ä¿®æ£ -Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠ©—U‚³‚ꂽó‘ԂŃ}ƒbƒvˆÚ“®‚⃃OƒAƒEƒg‚·‚é‚ÆA - Š©—U‚ð‹‘”Û‚·‚é‚悤‚ÉC³ +・パーティやギルドã«å‹§èª˜ã•ã‚ŒãŸçŠ¶æ…‹ã§ãƒžãƒƒãƒ—移動やãƒã‚°ã‚¢ã‚¦ãƒˆã™ã‚‹ã¨ã€ + 勧誘を拒å¦ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ pc.c - pc_setpos()C³ + pc_setpos()ä¿®æ£ map.c - map_quit()C³ + map_quit()ä¿®æ£ -EI-AthenaŽ©“®•œ‹ŒƒVƒXƒeƒ€(B-NSJŽì)‚ðAthena—p‚ɉü‘¢‚µ‚Ä“Y•t‚µ‚Ü‚µ‚½ - ƒvƒƒOƒ‰ƒ€‚Ì«Ž¿ã./toolƒtƒHƒ‹ƒ_‚Å‚Í‚È‚./‚É‚ ‚è‚Ü‚·B - athena.sh‚Ì•Ï‚í‚è‚Éstart‚Å‹N“®‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚Ä‚à10•b’ö“x‚Å•œ‹Œ‚µ‚Ü‚· - ƒvƒƒZƒX‚Íumapv‚Å’²‚ׂĂ܂·‚ª‘¼‚̃vƒƒZƒX‚É”½‰ž‚·‚é‚Æ‚«‚Í - umap-serverv‚È‚Ç‚É•Ï‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢B +・I-Athena自動復旧システム(B-NSJæ°ä½œ)ã‚’Athena用ã«æ”¹é€ ã—ã¦æ·»ä»˜ã—ã¾ã—㟠+ プãƒã‚°ãƒ©ãƒ ã®æ€§è³ªä¸Š./toolフォルダã§ã¯ãªã./ã«ã‚ã‚Šã¾ã™ã€‚ + athena.shã®å¤‰ã‚ã‚Šã«startã§èµ·å‹•ã™ã‚‹ã¨map鯖ãŒè½ã¡ã¦ã‚‚10秒程度ã§å¾©æ—§ã—ã¾ã™ + プãƒã‚»ã‚¹ã¯ã€Œmapã€ã§èª¿ã¹ã¦ã¾ã™ãŒä»–ã®ãƒ—ãƒã‚»ã‚¹ã«åå¿œã™ã‚‹ã¨ã㯠+ 「map-serverã€ãªã©ã«å¤‰ãˆã¦ã¿ã¦ãã ã•ã„。 start - mapŽIŽ©“®•œ‹ŒƒVƒXƒeƒ€‚̃VƒFƒ‹ƒXƒNƒŠƒvƒg + map鯖自動復旧システムã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—ト -------------- -//0356 by Ž€_ +//0356 by æ»ç¥ž -Eathena.sh‚ðŽg‚í‚È‚‚Ä‚àYare-launcher‚ðŽg‚¦‚é‚悤‚É•ÏXB(Ž©•ªŽŽ‚µ‚Ä‚Ü‚µ‚½‚ª -ˆê‰ž“®‚«‚Ü‚µ‚½B‚Å‚à‘‹‚Ìê‡login-server.exe‚ªlogin-server.ex‚É“o˜^‚³‚ê‚Ä‚µ‚Ü‚¢ -Yare-launcher‚ªlogin-server.exe‘±‚¯‚ÄŽÀs‚·‚é–â‘肪‚ ‚è‚Ü‚·B‚±‚ê‚Íathena‚Ì -–â‘è‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) - comm/makefileˆÈŠO‚Ìmakefile‘S‚Ä‚ðC³B - athena.shC³B - ŽÀsƒtƒ@ƒCƒ‹‚Í.,/athena ƒtƒHƒ‹ƒ_[‚¶‚á‚È‚./ ƒtƒHƒ‹ƒ_[‚Éì‚ç‚ê‚Ü‚·B -E V‹Kaccount‚Ì‹–—e‚·‚é‚©‚Ç‚¤‚©‚ðlogin_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB(‚±‚ê‚Í - YareCVS‚ðŽQl‚µ‚½•¨‚Å‚·B) +・athena.shを使ã‚ãªãã¦ã‚‚Yare-launcherを使ãˆã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚(自分試ã—ã¦ã¾ã—ãŸãŒ +一応動ãã¾ã—ãŸã€‚ã§ã‚‚窓ã®å ´åˆlogin-server.exeãŒlogin-server.exã«ç™»éŒ²ã•ã‚Œã¦ã—ã¾ã„ +Yare-launcherãŒlogin-server.exe続ã‘ã¦å®Ÿè¡Œã™ã‚‹å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ã“ã‚Œã¯athenaã® +å•é¡Œã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒ...) + comm/makefile以外ã®makefileå…¨ã¦ã‚’ä¿®æ£ã€‚ + athena.shä¿®æ£ã€‚ + 実行ファイルã¯.,/athena フォルダーã˜ã‚ƒãªã./ フォルダーã«ä½œã‚‰ã‚Œã¾ã™ã€‚ +・ æ–°è¦accountã®è¨±å®¹ã™ã‚‹ã‹ã©ã†ã‹ã‚’login_athena.cnfã§æ±ºã‚るよã†ã«å¤‰æ›´ã€‚(ã“れ㯠+ YareCVSã‚’å‚考ã—ãŸç‰©ã§ã™ã€‚) login.c - int mmo_auth() C³B + int mmo_auth() ä¿®æ£ã€‚ login_athena.cnf - new_account ’ljÁB -Echar.cAlogin.cAinter.cAmap.cAbattle.c‚ňꕔ‚Ìstrcmp‚ðstrcmpi‚É•ÏXB + new_account è¿½åŠ ã€‚ +・char.cã€login.cã€inter.cã€map.cã€battle.cã§ä¸€éƒ¨ã®strcmpã‚’strcmpiã«å¤‰æ›´ã€‚ -------------- -//355 by ‚䂤 +//355 by ゆㆠ-E¶Žè‘•”õ‚àl—¶‚µ‚½“ñ“—¬‚ÉC³ -@iƒ_ƒ[ƒWŒvŽZ‚Ì‚Ý‚ÅŒ©‚½–Ú“™‚Í•ÏX‚È‚µj +・左手装備も考慮ã—ãŸäºŒåˆ€æµã«ä¿®æ£ + (ダメージ計算ã®ã¿ã§è¦‹ãŸç›®ç‰ã¯å¤‰æ›´ãªã—) map.h - map_session_data‚ɶŽè—p‚Ì•Ï”‚ð’ljÁ + map_session_dataã«å·¦æ‰‹ç”¨ã®å¤‰æ•°ã‚’è¿½åŠ battle.h - battle_get_attack_element2()’ljÁ + battle_get_attack_element2()è¿½åŠ battle.c - battle_get_attack_element2()’ljÁ - battle_calc_weapon_attack()‚É - @“ñ“—¬‚̈—‚ð’ljÁC³ - @ƒNƒŠƒeƒBƒJƒ‹‚æ‚èƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ðæ‚É”»’è‚·‚é‚悤‚ÉC³ - @‰ß踘B‚̒ljÁƒ_ƒ[ƒW‚ð¸˜Bƒ_ƒ[ƒW‚ÌŽŸ‚Ɉ—‚·‚é‚悤‚ÉC³ - @i‚±‚ê‚ç‚Í“ÆŽ©‚É’²‚ׂ½‚à‚Ì‚ÅŠÔˆá‚Á‚Ä‚¢‚é‰Â”\«‚ ‚èj + battle_get_attack_element2()è¿½åŠ + battle_calc_weapon_attack()ã« +  二刀æµã®å‡¦ç†ã‚’è¿½åŠ ä¿®æ£ +  クリティカルよりダブルアタックを先ã«åˆ¤å®šã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +  éŽå‰°ç²¾éŒ¬ã®è¿½åŠ ダメージを精錬ダメージã®æ¬¡ã«å‡¦ç†ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ +  (ã“れらã¯ç‹¬è‡ªã«èª¿ã¹ãŸã‚‚ã®ã§é–“é•ã£ã¦ã„ã‚‹å¯èƒ½æ€§ã‚り) pc.c - pc_calcstatus()‚ɶŽè—p‚Ì•Ï”‚É’l‚ð“ü‚ê‚鈗‚ð’ljÁ - pc_equipitem()‚Ì“ñ“—¬‘•”õ‚Ìꊂª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ + pc_calcstatus()ã«å·¦æ‰‹ç”¨ã®å¤‰æ•°ã«å€¤ã‚’入れる処ç†ã‚’è¿½åŠ + pc_equipitem()ã®äºŒåˆ€æµè£…å‚™ã®å ´æ‰€ãŒãŠã‹ã—ã‹ã£ãŸã®ã‚’ä¿®æ£ -------------- -//353 by ‚¢‚Ç +//353 by ã„ã© -EYare-launcher‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚é‚悤‚ÉMakefile‚Æathena.sh‚ð•ÏX +・Yare-launcherを使ã†ã“ã¨ãŒå‡ºæ¥ã‚‹ã‚ˆã†ã«Makefileã¨athena.shを変更 -------------- -//352 by ŒÓ’±—– +//352 by 胡è¶è˜ -E‰r¥’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ +ãƒ»è© å”±ä¸ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’終了ã™ã‚‹ã¨map鯖ãŒè½ã¡ã‚‹å•é¡Œã®ä¿®æ£ skill.c - skill_castend_id(),skill_castend_pos(),skill_castend_map()C³ + skill_castend_id(),skill_castend_pos(),skill_castend_map()ä¿®æ£ map.c - map_quit()C³ + map_quit()ä¿®æ£ -Eƒf[ƒ^ƒoƒbƒNƒAƒbƒv—p‚̃c[ƒ‹“Y•t - Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B - Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚‚¾‚³‚¢B - Žg‚¢•û‚ª—Ç‚‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B - ƒf[ƒ^‚ªÁ‚¦‚Ä‚àÓ”C‚ÍŽ‚¿‚Ü‚¹‚ñ +・データãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ã®ãƒ„ール添付 + Perl製ãªã®ã§å®Ÿè¡Œã«ã¯PerlãŒå¿…è¦ã§ã™ã€‚ + 使用方法ãªã©ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã§é–‹ã„ã¦è¦‹ã¦ãã ã•ã„。 + 使ã„æ–¹ãŒè‰¯ãã‚ã‹ã‚‰ãªã„人ã¯æ‰‹ã‚’出ã•ãªã„ã»ã†ãŒã„ã„ã§ã™ã€‚ + データãŒæ¶ˆãˆã¦ã‚‚責任ã¯æŒã¡ã¾ã›ã‚“ (tool/) backup - ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg + データãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用Perlスクリプト -------------- -//0351 by Ž€_ +//0351 by æ»ç¥ž skill.c - skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒXƒ^[‚̈—‚ð•ÏXB(UŒ‚ó‘ԈȊO‚Ìê‡ - ‰r¥”½‰ž‚ðÅ—Dæ‚É‚µ‚Ü‚·B) + skill_use_id()ã«è© å”±å応モンスターã®å‡¦ç†ã‚’変更。(攻撃状態以外ã®å ´åˆ + è© å”±å応を最優先ã«ã—ã¾ã™ã€‚) mob.c - mob_ai_sub_hard_castsearch() ‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ð“ñdˆ—‚µ‚Ä - ‚¢‚½‚Ì‚ÅíœB - mob_ai_sub_hard() ‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ð“ñdˆ—‚µ‚È‚¢‚悤‚É•ÏXB -pet.c - 0344‚É–ß‚µ‚Ü‚µ‚½B(C³‚Í‚µ•ªÍ‚ð‚µ‚Ä‚©‚ç‚É‚µ‚Ü‚·B) -pet.h - 0344‚É–ß‚µ‚Ü‚µ‚½B + mob_ai_sub_hard_castsearch() è© å”±å応モンスターを二é‡å‡¦ç†ã—㦠+ ã„ãŸã®ã§å‰Šé™¤ã€‚ + mob_ai_sub_hard() è© å”±å応モンスターを二é‡å‡¦ç†ã—ãªã„よã†ã«å¤‰æ›´ã€‚ +pet.c - 0344ã«æˆ»ã—ã¾ã—ãŸã€‚(ä¿®æ£ã¯å°‘ã—分æžã‚’ã—ã¦ã‹ã‚‰ã«ã—ã¾ã™ã€‚) +pet.h - 0344ã«æˆ»ã—ã¾ã—ãŸã€‚ char.h - CHAR_CONF_NAME ’ljÁB + CHAR_CONF_NAME è¿½åŠ ã€‚ char.c - do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆCHAR_CONF_NAME‚ð - Žg‚¤‚悤‚É•ÏXB + do_init() 実行ã™ã‚‹æ™‚ファイルåãŒå…¥åŠ›ã•ã‚Œã¦ã„ãªã„ã¨CHAR_CONF_NAMEã‚’ + 使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ map.h - MAP_CONF_NAME ’ljÁB + MAP_CONF_NAME è¿½åŠ ã€‚ map.c - do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆMAP_CONF_NAME‚ð - Žg‚¤‚悤‚É•ÏXB -‚±‚ê‚Ålogin.exeAchar.exeAmap.exe‚ðathenaƒtƒHƒ‹ƒ_[‚ɃRƒs[‚µ‚½Œã–¼‘O‚ð -login-server.exeAchar-server.exeAmap-server.exe‚É•ÏX‚·‚é‚ÆYare-launcher‚ðŽg‚¤ -‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚±‚ê‚ðŽg‚¤‚ÆŽI‚ª—Ž‚¿‚é“x‚ÉŽ©“®“I‚ÉÄŽÀs‚µ‚Ä‚‚ê‚Ü‚·B + do_init() 実行ã™ã‚‹æ™‚ファイルåãŒå…¥åŠ›ã•ã‚Œã¦ã„ãªã„ã¨MAP_CONF_NAMEã‚’ + 使ã†ã‚ˆã†ã«å¤‰æ›´ã€‚ +ã“ã‚Œã§login.exeã€char.exeã€map.exeã‚’athenaフォルダーã«ã‚³ãƒ”ーã—ãŸå¾Œåå‰ã‚’ +login-server.exeã€char-server.exeã€map-server.exeã«å¤‰æ›´ã™ã‚‹ã¨Yare-launcherを使ㆠ+ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れを使ã†ã¨é¯–ãŒè½ã¡ã‚‹åº¦ã«è‡ªå‹•çš„ã«å†å®Ÿè¡Œã—ã¦ãã‚Œã¾ã™ã€‚ -------------- -//0345 by Ž€_ -EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽÀ‘•B +//0345 by æ»ç¥ž +・ã‚ャスティング探知実装。 mob.c - mob_ai_sub_hard_lootsearch() C³B - mob_ai_sub_hard() C³B - mob_ai_sub_hard_castsearch() ’ljÁB - mob_target(), mob_ai_sub_hard_activesearch() ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ð - mvpŒoŒ±’l‚É‚æ‚Á‚Ä”FŽ¯‚·‚é‚悤‚É•ÏXB - mob_ai_sub_hard_linksearch() C³B - mob_attack() Ž€‚ñ‚¾‚Ó‚èAƒnƒCƒfƒBƒ“ƒO‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏXB - mob_readdb() C³B -Epet.h - MAX_PET_DB‚ð100‚É•ÏXB -Epet.c - read_petdb() C³B - --------------- -//0344 by@‰ß‹Ž‚Ìli1 -E@ƒyƒbƒg• Œ¸‚èŽÀ‘•‚¨‚æ‚Ñ‚»‚Ì‚Ù‚©FXC³ -E@ƒyƒbƒg‰a‚â‚èŽÀ‘• + mob_ai_sub_hard_lootsearch() ä¿®æ£ã€‚ + mob_ai_sub_hard() ä¿®æ£ã€‚ + mob_ai_sub_hard_castsearch() è¿½åŠ ã€‚ + mob_target(), mob_ai_sub_hard_activesearch() ボスモンスターを + mvp経験値ã«ã‚ˆã£ã¦èªè˜ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + mob_ai_sub_hard_linksearch() ä¿®æ£ã€‚ + mob_attack() æ»ã‚“ã ãµã‚Šã€ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + mob_readdb() ä¿®æ£ã€‚ +・pet.h + MAX_PET_DBã‚’100ã«å¤‰æ›´ã€‚ +・pet.c + read_petdb() ä¿®æ£ã€‚ + +-------------- +//0344 by éŽåŽ»ã®äººi1 +・ ペット腹減り実装ãŠã‚ˆã³ãã®ã»ã‹è‰²ã€…ä¿®æ£ +・ ペット餌やり実装 pet.c pet_calcrate(struct map_session_data *sd); - ƒyƒbƒg‚ÌŠl“¾Šm—¦ŒvŽZ + ペットã®ç²å¾—確率計算 pet_food(struct map_session_data *sd); - ƒyƒbƒg‰a‚â‚èƒVƒXƒeƒ€ + ペット餌やりシステムpet_hungry_change( int tid, unsigned int tick, int id,int data ); - ƒyƒbƒg‚ª• ‚ðŒ¸‚éƒƒWƒbƒN + ペットãŒè…¹ã‚’減るãƒã‚¸ãƒƒã‚¯ pet_status_int(struct map_session_data *sd); - e–§“xŒvŽZ + 親密度計算 pet_status_hungry(struct map_session_data *sd); - –ž• “xŒvŽZ + 満腹度計算 pet_status_1a3(struct map_session_data *sd); - ƒpƒPƒbƒg1a3Ý’èŠÖ” + パケット1a3è¨å®šé–¢æ•° pet_initstate(struct map_session_data *sd); - ƒyƒbƒg‚ª‰‚߂Ķ‚܂ꂽ‚Æ‚«‚̉ŠúƒXƒe[ƒ^ƒXÝ’è + ペットãŒåˆã‚ã¦ç”Ÿã¾ã‚ŒãŸã¨ãã®åˆæœŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¨å®š pet.h int pet_calcrate(struct map_session_data *sd); int pet_food(struct map_session_data *sd); @@ -13603,344 +13603,344 @@ login-server.exeAchar-server.exeAmap-server.exe‚É•ÏX‚·‚é‚ÆYare-launcher‚ðŽg‚¤ int pet_status_hungry(struct map_session_data *sd); int pet_status_1a3(struct map_session_data *sd); int pet_initstate(struct map_session_data *sd); - ‚ð’ljÁ + ã‚’è¿½åŠ clif.c clif_pet_emotion(int fd,struct map_session_data *sd) - ‰a‚ð‚ ‚°‚½‚Æ‚«‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðs‚¤ + 餌をã‚ã’ãŸã¨ãã«ã‚¨ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã‚’行ㆠclif.h clif_pet_emotion(int fd,struct map_session_data *sd); -------------- -//0341 by Ž€_ -Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[ŽÀ‘•B +//0341 by æ»ç¥ž +・ルートモンスター実装。 map.h - LOOTITEM_SIZE‚ð20‚ÉC³B - struct mob_data‚Éint lootitem_count ’ljÁB + LOOTITEM_SIZEã‚’20ã«ä¿®æ£ã€‚ + struct mob_dataã«int lootitem_count è¿½åŠ ã€‚ mob.c - mob_spawn() ‚µC³B - mob_ai_sub_hard_lootsearch() ’ljÁB - mob_ai_sub_hard() C³B - struct delay_item_drop2 ’ljÁB - mob_delay_item_drop2() ’ljÁB - mob_damage() C³B + mob_spawn() å°‘ã—ä¿®æ£ã€‚ + mob_ai_sub_hard_lootsearch() è¿½åŠ ã€‚ + mob_ai_sub_hard() ä¿®æ£ã€‚ + struct delay_item_drop2 è¿½åŠ ã€‚ + mob_delay_item_drop2() è¿½åŠ ã€‚ + mob_damage() ä¿®æ£ã€‚ battle.h - struct Battle_Config‚Éint monster_loot_type ’ljÁB + struct Battle_Configã«int monster_loot_type è¿½åŠ ã€‚ battle.c - battle_config_read() C³B + battle_config_read() ä¿®æ£ã€‚ battle_athena.cnf - monster_loot_type: 0 ’ljÁB(Šî–{“I‚É0‚É‚È‚Á‚Ä‚¢‚Ü‚·B - 0‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂĂà - ‚Ü‚½ƒAƒCƒeƒ€‚ðH‚ׂđO‚̃AƒCƒeƒ€‚ªÁ‚¦‚éŽd—l‚Å‚·B - 1‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂé‚Æ - ‚à‚¤ƒAƒCƒeƒ€‚ðH‚ׂȂ‚È‚è‚Ü‚·B + monster_loot_type: 0 è¿½åŠ ã€‚(基本的ã«0ã«ãªã£ã¦ã„ã¾ã™ã€‚ + 0ã®å ´åˆã¯LOOTITEM_SIZEã¾ã§ã‚¢ã‚¤ãƒ†ãƒ を食ã¹ã¦ã‚‚ + ã¾ãŸã‚¢ã‚¤ãƒ†ãƒ を食ã¹ã¦å‰ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¶ˆãˆã‚‹ä»•æ§˜ã§ã™ã€‚ + 1ã®å ´åˆã¯LOOTITEM_SIZEã¾ã§ã‚¢ã‚¤ãƒ†ãƒ を食ã¹ã‚‹ã¨ + ã‚‚ã†ã‚¢ã‚¤ãƒ†ãƒ を食ã¹ãªããªã‚Šã¾ã™ã€‚ -------------- -//0340 by Ž€_ -EmvpƒoƒOC³B +//0340 by æ»ç¥ž +・mvpãƒã‚°ä¿®æ£ã€‚ mob.c - mob_damage()‚Åj‚É•Ï‚¦‚½‚Í‚¸‚Ì•¨‚ÉŒ©—Ž‚Æ‚µ‚ ‚è‚Ü‚µ‚½‚Ì‚Å - C³‚µ‚Ü‚µ‚½B‚±‚ê‚ÅmvpƒAƒCƒeƒ€‚Å•Ï‚È•¨‚ªo‚È‚‚È‚é‚Í‚¸‚Å‚·B -Eclass_equip_db.txt - EUC-JIS‚ðS-JIS‚É•ÏXB(ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ª‘¼‚̃tƒ@ƒCƒ‹‚Í - ‘S•”S-JIS‚¾‚Á‚½‚Ì‚Å...’P‚È‚éƒ~ƒX‚Å‚·‚ª...) + mob_damage()ã§jã«å¤‰ãˆãŸã¯ãšã®ç‰©ã«è¦‹è½ã¨ã—ã‚ã‚Šã¾ã—ãŸã®ã§ + ä¿®æ£ã—ã¾ã—ãŸã€‚ã“ã‚Œã§mvpアイテムã§å¤‰ãªç‰©ãŒå‡ºãªããªã‚‹ã¯ãšã§ã™ã€‚ +・class_equip_db.txt + EUC-JISã‚’S-JISã«å¤‰æ›´ã€‚(æ„味ã¯ã‚ã‚Šã¾ã›ã‚“ãŒä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ + 全部S-JISã ã£ãŸã®ã§...å˜ãªã‚‹ãƒŸã‚¹ã§ã™ãŒ...) ---------- -//339 by ‚¢‚Ç +//339 by ã„ã© -E338‚ð“K—p‚µ‚½ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚ª”¶‚·‚é•s‹ï‡‚ðC³ +・338ã‚’é©ç”¨ã—ãŸçŠ¶æ…‹ã§ãƒ“ルドエラーãŒç™ºç”Ÿã™ã‚‹ä¸å…·åˆã‚’ä¿®æ£ ---------- -//338 by ‰ß‹Ž‚Ìli1 +//338 by éŽåŽ»ã®äººi1 -E@pet_db.txt‚ɑΉž‚µ‚Ü‚µ‚½B -E@pet_db‚ð‚‚©‚Á‚½ƒvƒƒOƒ‰ƒ€‚Ì‘‚«•û‚ÉC³‚µ‚Ü‚µ‚½B -E@ƒyƒbƒg‚Ì–¼‘O‚ð•ÏX‚·‚鎖‚ªo—ˆ‚Ü‚· -E@ƒyƒbƒg‚ɃAƒNƒZƒTƒŠ[‚ð‚‚¯‚鎖‚ªo—ˆ‚Ü‚·B -E@Œ»Ýƒyƒbƒg‰a‚â‚èis’† +・ pet_db.txtã«å¯¾å¿œã—ã¾ã—ãŸã€‚ +・ pet_dbã‚’ã¤ã‹ã£ãŸãƒ—ãƒã‚°ãƒ©ãƒ ã®æ›¸ãæ–¹ã«ä¿®æ£ã—ã¾ã—ãŸã€‚ +・ ペットã®åå‰ã‚’変更ã™ã‚‹äº‹ãŒå‡ºæ¥ã¾ã™ +・ ペットã«ã‚¢ã‚¯ã‚»ã‚µãƒªãƒ¼ã‚’ã¤ã‘る事ãŒå‡ºæ¥ã¾ã™ã€‚ +・ ç¾åœ¨ãƒšãƒƒãƒˆé¤Œã‚„ã‚Šé€²è¡Œä¸ (map/) clif.c/clif.h - E petŠÖ˜A‚ÌŠÖ”‚ð‚Ù‚ÚC³‹y‚ђljÁ‚¢‚½‚µ‚Ü‚µ‚½B - E clif_parse_EquipItem()“à•”‚Ńyƒbƒg—p‘•”õ‚Å‚ ‚é‚©‚Ç‚¤‚©‚Ì”»’è‚ðs‚Á‚Ä‚Ü‚· - E clif_parse()‚ðC³‚µ‚Ü‚µ‚½B + ・ pet関連ã®é–¢æ•°ã‚’ã»ã¼ä¿®æ£åŠã³è¿½åŠ ã„ãŸã—ã¾ã—ãŸã€‚ + ・ clif_parse_EquipItem()内部ã§ãƒšãƒƒãƒˆç”¨è£…å‚™ã§ã‚ã‚‹ã‹ã©ã†ã‹ã®åˆ¤å®šã‚’è¡Œã£ã¦ã¾ã™ + ・ clif_parse()ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ battle.h/battle.c - E@battle_config.pet_rate•Ï”‚ð‘‚₵‚Ü‚µ‚½Bmob‚ɑ΂·‚é—‘‚ÌŠl“¾—¦ - @@‚ðÝ’è‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚· + ・ battle_config.pet_rate変数を増やã—ã¾ã—ãŸã€‚mobã«å¯¾ã™ã‚‹åµã®ç²å¾—率 +   をè¨å®šã™ã‚‹äº‹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ pet.c/pet.h - E pet_initstate(struct map_session_data *sd); - @‰Šú‚̃yƒbƒgƒXƒe[ƒ^ƒX‚ðÝ’è‚·‚éŠÖ”‚Å‚· - E pet_npcid(struct map_session_data *sd,int egg_name_id); - @ƒyƒbƒg‚ÉŠ„‚è“–‚Ä‚ç‚ꂽnpc_id‚ð•Ô‚µ‚Ü‚· - E pet_itemid(struct map_session_data *sd,int mob_id); - @ƒ‚ƒ“ƒXƒ^[ID‚©‚ç—‘‚ÌID‚ðŠ„‚èo‚µ‚Ü‚· - E pet_equip(struct map_session_data *sd,int equip_id); - @ƒyƒbƒg‚̃AƒNƒZƒTƒŠ[‘•”õ‚Å‚· - E pet_unequip(struct map_session_data *sd); - @ƒyƒbƒg‚̃AƒNƒZƒTƒŠ[‰ðœ‚Å‚· - E pet_calcrate(struct map_session_data *sd); - @—‘Šl“¾Šm—¦ŒvŽZ‚ðs‚¢1or0‚ð•Ô‚µ‚Ü‚·B - E pet_food(struct map_session_data *sd); - @ƒyƒbƒg‰a‚â‚èlˆÄ‚Å‚·B‚Ü‚¾³í‚É“®ì‚µ‚Ü‚¹‚ñB - E read_petdb() - @pet_db.txt‚ð“Ç‚Ýž‚Ýpet_db[]‚É’l‚ð“ü‚ê‚éŠÖ”‚Å‚· + ・ pet_initstate(struct map_session_data *sd); +  åˆæœŸã®ãƒšãƒƒãƒˆã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¨å®šã™ã‚‹é–¢æ•°ã§ã™ + ・ pet_npcid(struct map_session_data *sd,int egg_name_id); +  ペットã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸnpc_idã‚’è¿”ã—ã¾ã™ + ・ pet_itemid(struct map_session_data *sd,int mob_id); +  モンスターIDã‹ã‚‰åµã®IDを割り出ã—ã¾ã™ + ・ pet_equip(struct map_session_data *sd,int equip_id); +  ペットã®ã‚¢ã‚¯ã‚»ã‚µãƒªãƒ¼è£…å‚™ã§ã™ + ・ pet_unequip(struct map_session_data *sd); +  ペットã®ã‚¢ã‚¯ã‚»ã‚µãƒªãƒ¼è§£é™¤ã§ã™ + ・ pet_calcrate(struct map_session_data *sd); +  åµç²å¾—確率計算を行ã„1or0ã‚’è¿”ã—ã¾ã™ã€‚ + ・ pet_food(struct map_session_data *sd); +  ペット餌やり考案ã§ã™ã€‚ã¾ã æ£å¸¸ã«å‹•ä½œã—ã¾ã›ã‚“。 + ・ read_petdb() +  pet_db.txtã‚’èªã¿è¾¼ã¿pet_db[]ã«å€¤ã‚’入れる関数ã§ã™ - E do_init_pet() - @mapŽI‰Šú‰»‚Å‚æ‚Ñ‚¾‚µpet_db[]‚ðŽg‚¦‚é‚悤‚É‚·‚éˆ×‚Ì - ƒyƒbƒgî•ñ‰Šú‰»ŠÖ”‚Å‚·B + ・ do_init_pet() +  map鯖åˆæœŸåŒ–ã§ã‚ˆã³ã ã—pet_db[]を使ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ç‚ºã® + ãƒšãƒƒãƒˆæƒ…å ±åˆæœŸåŒ–関数ã§ã™ã€‚ map.c/map.h - E@BL_PET•Ï”‚ð‰Á‚¦‚Ü‚µ‚½ - E@mapŽI‰Šú‰»‚ÌŽž‚Édo_init_pet()‚ðŒÄ‚Ño‚µ‚Ü‚·B + ・ BL_PETå¤‰æ•°ã‚’åŠ ãˆã¾ã—㟠+ ・ map鯖åˆæœŸåŒ–ã®æ™‚ã«do_init_pet()を呼ã³å‡ºã—ã¾ã™ã€‚ mmo.h - E@s_pet\‘¢‘Ì‚É•Ï”’ljÁBƒLƒƒƒ‰ƒNƒ^[‚ªƒyƒbƒg‚̃f[ƒ^‚ð•ÛŽ‚·‚éˆ×‚̃VƒXƒeƒ€ - @‚̈סŒã‚à•Ï”‚Í‚»‚̂‚Ǒ‰Á‚·‚é—\’è + ・ s_petæ§‹é€ ä½“ã«å¤‰æ•°è¿½åŠ 。ã‚ャラクターãŒãƒšãƒƒãƒˆã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã™ã‚‹ç‚ºã®ã‚·ã‚¹ãƒ†ãƒ +  ã®ç‚ºä»Šå¾Œã‚‚変数ã¯ãã®ã¤ã©å¢—åŠ ã™ã‚‹äºˆå®š npc.c - ‰ü‘P‚µ‚Ü‚µ‚½B + 改善ã—ã¾ã—ãŸã€‚ (conf/) - battle_athena.cnf‚É—‘‚ÌŠl“¾Šm—¦pet_rate‚ð‰Á‚¦‚Ü‚µ‚½B + battle_athena.cnfã«åµã®ç²å¾—確率pet_rateã‚’åŠ ãˆã¾ã—ãŸã€‚ ---------- -//337 by ŒÓ’±—– +//337 by 胡è¶è˜ -EƒMƒ‹ƒh‚̒ljÁ‚ÆC³ - EƒMƒ‹ƒh‚ÉŒoŒ±’l‚ðã”[‚·‚é‚ÆAã”[‚³‚ê‚éEXP‚ªˆÙí‚È’l‚É‚È‚éƒoƒOC³ - EƒMƒ‹ƒh‚Ì“G‘Ί֌W‚̒ljÁ +・ギルドã®è¿½åŠ ã¨ä¿®æ£ + ・ギルドã«çµŒé¨“値を上ç´ã™ã‚‹ã¨ã€ä¸Šç´ã•ã‚Œã‚‹EXPãŒç•°å¸¸ãªå€¤ã«ãªã‚‹ãƒã‚°ä¿®æ£ + ・ギルドã®æ•µå¯¾é–¢ä¿‚ã®è¿½åŠ guild.c/guild.h - guild_payexp()‚ÌC³(ã”[EXPˆ—) - guild_opposition()’ljÁ + guild_payexp()ã®ä¿®æ£(上ç´EXP処ç†) + guild_opposition()è¿½åŠ guild_allianceack(),guild_reqalliance(), - guild_reply_reqalliance()‚ÌC³ + guild_reply_reqalliance()ã®ä¿®æ£ clif.c/clif.h - clif_guild_oppositionack(),clif_parse_GuildOpposition’ljÁ + clif_guild_oppositionack(),clif_parse_GuildOppositionè¿½åŠ -EƒfƒBƒŒƒCŽžŠÔ‚ªdex‚̉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚ðbattle_athena.cnf‚É‘‚¯‚é‚悤‚É +・ディレイ時間ãŒdexã®å½±éŸ¿ã‚’å—ã‘ã‚‹ã‹ã©ã†ã‹ã‚’battle_athena.cnfã«æ›¸ã‘るよã†ã« (conf/) battle_athena.conf - delay_dependon_dex ‚ð’ljÁ + delay_dependon_dex ã‚’è¿½åŠ (map/) skill.c - skill_delay_fix()‚ÌC³ + skill_delay_fix()ã®ä¿®æ£ battle.c/battle.h - struct Battle_Config‚Édelay_dependon_dex’ljÁ - battle_config_read()‚ÌC³(“Ç‚Ýž‚݈—‚à•Ï‚¦‚Ä‚Ü‚·) - --------------- -//0336 by Ž€_ -EƒXƒLƒ‹ƒCƒ“ƒfƒ…ƒA‚ð‚µC³B -Eclif.c - clif_skill_damage()Aclif_skill_damage2() ƒCƒ“ƒfƒ…ƒA‡‚킹‚ÄC³B - (‚½‚¾ƒXƒLƒ‹‚â–‚–@‚É‚È‚é‚ƃ‚[ƒVƒ‡ƒ“‚ªo‚È‚¢ƒpƒPƒbƒg‚ð - Œ©‚‚¯‚È‚©‚Á‚½‚Ì‚ÅŠ®‘S‚¶‚á‚ ‚è‚Ü‚¹‚ñB) - clif_parse_ActionRequest()Aclif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() - ƒXƒLƒ‹ƒfƒBƒŒƒC‚ÌŽž‚ɃƒbƒZ[ƒW‚ªo‚é‚悤‚ÉC³B -EƒoƒbƒNƒXƒeƒbƒvŽÀ‘•AƒIƒŠƒfƒIƒRƒ“Œ¤‹†ŽÀ‘•B -Eskill.c - skill_castend_damage_id()‚É‚ ‚Á‚½ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚̈—‚ð - skill_castend_nodamage_id()‚Ɉړ®‚µ‚Ü‚µ‚½B - ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚̈—‚Åclif_skill_damage2()‚ðŒÄ‚Ô‚Ì‚ðclif_fixpos()‚ð - ŒÄ‚Ԃ悤‚É•ÏXB(‚±‚ê‚Ń_ƒ[ƒW‚̃‚[ƒVƒ‡ƒ“‚ªo‚¸‚É - ˆÚ“®‚Å‚«‚Ü‚·B) - ƒoƒbƒNƒXƒeƒbƒv‚Æ‹©‚Ԃ悤‚É•ÏXB - skill_produce_mix() ƒIƒŠƒfƒIƒRƒ“Œ¤‹†“K—pB•ŠíƒŒƒxƒ‹‚ª3ˆÈã‚ÌŽž‚É - ƒXƒLƒ‹ƒŒƒxƒ‹*1%‚ªƒ{[ƒiƒX‚Æ‚µ‚Ä»‘¢Šm—¦‚É•t‚«‚Ü‚·B - ƒGƒ‹ƒjƒEƒ€‚ÌŠm—¦”»’è’ljÁB -Eskill_db.txt - ƒoƒbƒNƒXƒeƒbƒv‚Ìnk‚ð0‚©‚ç1‚É•ÏXB(ƒXƒLƒ‹”Ô†150‚Ì•¨‚Å‚·B) -Eproduce_db.txt ƒIƒŠƒfƒIƒRƒ“,ƒGƒ‹ƒjƒEƒ€‚ð’ljÁB(‚±‚ê‚Í–{ŽI‚É‚Í‚È‚¢•¨‚Å‚·B - ‚æ‚Á‚ăNƒ‰ƒCƒAƒ“ƒg‚É‚Í•K—v‚ȃAƒCƒeƒ€‚ª•\Ž¦‚³‚ê‚Ü‚¹‚ñB) - ƒIƒŠƒfƒIƒRƒ“Œ¤‹†‚ð‚µŽg‚¦‚镨‚É‚·‚邽‚߂ɒljÁ‚µ‚Ü‚µ‚½B - ƒIƒŠƒfƒIƒRƒ“‚Ìꇂ̓IƒŠƒfƒIƒRƒ“Œ´Î3‚‚ÆÎ’Y1‚‚ª•K—v‚Å - ƒGƒ‹ƒjƒEƒ€‚̓Gƒ‹ƒjƒEƒ€Œ´Î3‚‚ÆÎ’Y1‚‚ª•K—v‚Å‚·B -Epc.c ‚µC³B - pc_heal()pc_percentheal() ‚µ‚¾‚¯C³B - pc_gainexp() ƒMƒ‹ƒh‚Éexp‚ðã”[‚·‚鎞‚Éexp‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚É - C³B“¯Žž‚É2‚ˆÈã‚̃Œƒxƒ‹‚ªã‚ª‚é‚悤‚É•ÏXB - ő僌ƒxƒ‹ˆÈã‚ɃŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢‚悤‚ÉC³B - pc_checkbaselevelup()Apc_checkjoblevelup() ’ljÁBƒŒƒxƒ‹ƒAƒbƒv‚ð - ƒ`ƒFƒbƒN‚µ‚Ü‚·B - pc_itemheal() ’ljÁBƒAƒCƒeƒ€‚ðŽg‚¤Žž‚ÉVIT‚ƃXƒLƒ‹‚É‚æ‚Á‚ă{[ƒiƒX‚ª - •t‚•¨‚Å‚·BƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“ŽÀ‘•B -Epc.h - pc_checkbaselevelup(),pc_checkjoblevelup() ’ljÁB - pc_itemheal() ’ljÁB -Escript.c - ƒXƒNƒŠƒvƒgfixheal‚𜋎Bitemheal‚ð’ljÁBheal‚ªfixheal‚Ì‹@”\‚ð‚·‚é - ‚悤‚É•ÏXB - buildin_fixheal() ‚ðÁ‚µbuildin_heal()‚ðŒ³‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½B(‚‚܂è - buildin_heal()‚ªbuildin_fixheal()‚É‚È‚è‚Ü‚µ‚½B) - buildin_itemheal() ’ljÁBƒAƒCƒeƒ€‚É‚æ‚é‰ñ•œ‚Í‚±‚ê‚ðŒÄ‚Ԃ悤‚É‚µ‚Ä - ‚‚¾‚³‚¢B - buildin_heal()‚©‚çƒ{[ƒiƒX‚ÌŒvŽZ‚𜋎B -Eitem_db.txtA item_db2.txt - heal‚ðitemheal‚É•ÏXB -Emob.c - mob_damage() 0335‚Åmvp‚É‚µŠÔˆá‚¢‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B -Eskill.h - MAX_SKILL_PRODUCE_DB‚ð64‚©‚ç100‚É•ÏXB - - -//0335 by Ž€_ -Echar/char2.c‚̈ꕔ‚ÉRETCODE‚ª“K—p‚³‚ê‚Ä‚È‚©‚Á‚½‚Ì‚Å‚»‚ê‚ðC³B -Echar/char2.c‚Ìparse_char()‚ŃLƒƒƒ‰‚ðÁ‚·Žž‚É–â‘肪‚ ‚è‚»‚¤‚ÈŠ‚ðC³B -Echar/cha2.c,login/ login2.c‚ðchar/cha.c, login/login.c‚É•ÏXB -Echar/makefile,login/makefile‚ð•ÏXB -Emakefile‚Æcommon/mmo.h‚ð•ÏX‚µ‚ÄOS‚ðŽ©“®”FŽ¯‚µ‚ÄRETCODE‚ðŽ©“®‚É - “K—p‚·‚é‚悤‚É•ÏXB -Ecommon/grfio.c‚Ìgrfio_init()‚ðC³B(ƒR[ƒh‚ð‚¿‚å‚Á‚Æ‚«‚ê‚¢(H)‚É - ‚µ‚½‚¾‚¯‚Å‚·‚ª,,,) -EƒCƒ“ƒfƒ…ƒAŽÀ‘•B‚æ‚Á‚ăAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒg‚àŽÀ‘•B -Emap/clif.c - clif_parse_LoadEndAck() ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚̃pƒbƒ`‚ɇ‚킹‚Ä‚µ•ÏXB - (ƒ}ƒbƒv‚ª•Ï‚í‚é“x‚É•Ší‚ƃV[ƒ‹ƒh‚ªŒ©‚¦‚È‚‚Ȃ邽‚ß‚Å‚·B‚Ü‚¾ - “ú–{ƒNƒ‰‚Æ‚ÍŠÖŒW‚ ‚è‚Ü‚¹‚ñ‚ª...) - clif_skillinfoblock() up‚Í‚¢‚ç‚È‚¢‚ÆŽv‚¤‚Ì‚ÅÁ‚µ‚Ü‚µ‚½BƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ª - 256A512“™‚ÌŽžƒXƒLƒ‹ƒcƒŠ[‚ª³‚µ‚•\Ž¦‚³‚ê‚È‚¢‚±‚Æ‚Í - ‚à‚¤‚ ‚è‚Ü‚¹‚ñB - clif_guild_skillinfo() “¯‚¶‚悤‚Éup‚ðÁ‚µ‚Ü‚µ‚½B - clif_birthpet() pc_delitem() ŒÄ‚Ԃ悤‚É•ÏXB - clif_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚é‚悤‚É•ÏXB -Emap/pc.c - pc_percentheal() ƒ}ƒCƒiƒX‚ð“ü‚ê‚Ä‚à“®‚‚悤‚É•ÏXB‚µC³B - pc_heal() ‚µC³B - natual_heal() ‚µC³B - do_init_pc() natual_heal‚ÌC³‚ɇ‚킹‚Ä•ÏXB - pc_calcstatus() ‹|‚ð‘•”õ‚µ‚Ä‚È‚¢‚ƃƒV‚Ì–Ú‚ª“K—p‚³‚ê‚È‚¢‚悤‚É•ÏXB - ƒgƒ‰ƒXƒgŽÀ‘•B - pc_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚é‚悤‚É•ÏXB -Emap/pc.h - pc_checkoverhp(), pc_checkoversp()‚ð’ljÁB -Emap/map.h - MAX_PC_CLASS‚ð+1‚ÉB -Emap/atcomand.c - comand‚ðcommand‚É•ÏXB - strncmp‚ðstrcmpi‚É•ÏXB‚æ‚Á‚ăRƒ}ƒ“ƒh‚ª‘啶ŽšA¬•¶Žš‚ð‹æ•Ê‚·‚é - •K—v‚ª‚È‚‚È‚è‚Ü‚µ‚½B -Emap/npc.h - npc_parse_mob()‚ð’ljÁB(ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) -Emap/temdb.c - itemdb_readdb()‚Åclass_equip_db.txt‚ð“ǂނ悤‚É•ÏXB -Edb/class_equip_db.txt ‚ð’ljÁB‚±‚±‚Å‘•”õ‚·‚éƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B‚È‚¢ê‡‚Í - item_db.txt‚É‚ ‚éjob‚ðŽg‚¢‚Ü‚·BŠÜ‚Ü‚ê‚Ă镨‚ÍŠ®‘S‚È•¨‚Å‚Í‚È‚ - Žg—p—á’ö‚Ì•¨‚Å‚·B -Emap/skill.c - skill_status_change_start() ƒCƒ“ƒfƒ…ƒA‚ÌŽžŠÔ‚𳂵‚•ÏXB -Emap/battle.h - battle_config‚Ìexp_rate‚ðbase_exp_rate‚É•ÏXB,job_exp_rate‚ð’ljÁB - battle_get_mexp()‚ð’ljÁB -Emap/battle.c - battle_config‚Ìexp_rate‚ðbase_exp_rate‚É•ÏXB,job_exp_rate‚ð’ljÁB - battle_get_mexp()‚ð’ljÁB - battle_calc_magic_attack()‚ð•ÏXBƒ_[ƒ“ƒAƒ“ƒfƒbƒh‚Ń{ƒX‚Ì”FŽ¯‚ðmvp - exp‚Å‚·‚é‚悤‚É•ÏXB -Emap/mob.c - mob_readdb() base_exp_rate,job_exp_rate‚ɑΉžB - mob_readdb() ƒ{ƒX‚Ì”FŽ¯‚ðmvpŒoŒ±’l‚Å‚·‚é‚悤‚É•ÏXB - mob_damage() mvp‚ðŽæ‚鎞‚̈—‚ð•ÏXBd‚³‚ª50%‚ð‰z‚¦‚é‚Æ°‚É - —Ž‚¿‚é‚悤‚É•ÏX‚ÆFXB -Econf/battle_athena.cnf - base_exp_rateA,job_exp_rate‚ð’ljÁB -E0308‚Å–Y‚ꂽ•¨ - ŒÃ‚‚¢” AŒÃ‚¢ƒJ[ƒh’ŸAŒÃ‚¢Ž‡F‚Ì” ‚ÌŽg—p‚Å“¾‚ç‚ꂽƒAƒCƒeƒ€‚ð - Ž‚Á‚Ä‚È‚‚È‚Á‚½‚çƒAƒCƒeƒ€‚ð°‚É—Ž‚Æ‚·‚悤‚É•ÏXB - »‘¢‚Í‚·‚Å‚É0302‚Å“K—pB + struct Battle_Configã«delay_dependon_dexè¿½åŠ + battle_config_read()ã®ä¿®æ£(èªã¿è¾¼ã¿å‡¦ç†ã‚‚変ãˆã¦ã¾ã™) + +-------------- +//0336 by æ»ç¥ž +・スã‚ルインデュアを少ã—ä¿®æ£ã€‚ +・clif.c + clif_skill_damage()ã€clif_skill_damage2() インデュアåˆã‚ã›ã¦ä¿®æ£ã€‚ + (ãŸã スã‚ルやé”法ã«ãªã‚‹ã¨ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãŒå‡ºãªã„パケットを + 見ã¤ã‘ãªã‹ã£ãŸã®ã§å®Œå…¨ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“。) + clif_parse_ActionRequest()ã€clif_parse_UseSkillToId()ã€clif_parse_UseSkillToPos() + スã‚ルディレイã®æ™‚ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ +・ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—実装ã€ã‚ªãƒªãƒ‡ã‚ªã‚³ãƒ³ç ”究実装。 +・skill.c + skill_castend_damage_id()ã«ã‚ã£ãŸã‚¹ã‚ルãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—ã®å‡¦ç†ã‚’ + skill_castend_nodamage_id()ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ + スã‚ルãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—ã®å‡¦ç†ã§clif_skill_damage2()を呼ã¶ã®ã‚’clif_fixpos()ã‚’ + 呼ã¶ã‚ˆã†ã«å¤‰æ›´ã€‚(ã“ã‚Œã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã®ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãŒå‡ºãšã« + 移動ã§ãã¾ã™ã€‚) + ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—ã¨å«ã¶ã‚ˆã†ã«å¤‰æ›´ã€‚ + skill_produce_mix() ã‚ªãƒªãƒ‡ã‚ªã‚³ãƒ³ç ”ç©¶é©ç”¨ã€‚æ¦å™¨ãƒ¬ãƒ™ãƒ«ãŒ3以上ã®æ™‚ã« + スã‚ルレベル*1%ãŒãƒœãƒ¼ãƒŠã‚¹ã¨ã—ã¦è£½é€ 確率ã«ä»˜ãã¾ã™ã€‚ + エルニウムã®ç¢ºçŽ‡åˆ¤å®šè¿½åŠ 。 +・skill_db.txt - ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—ã®nkã‚’0ã‹ã‚‰1ã«å¤‰æ›´ã€‚(スã‚ル番å·150ã®ç‰©ã§ã™ã€‚) +・produce_db.txt オリデオコン,ã‚¨ãƒ«ãƒ‹ã‚¦ãƒ ã‚’è¿½åŠ ã€‚(ã“ã‚Œã¯æœ¬é¯–ã«ã¯ãªã„物ã§ã™ã€‚ + よã£ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã¯å¿…è¦ãªã‚¢ã‚¤ãƒ†ãƒ ãŒè¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。) + ã‚ªãƒªãƒ‡ã‚ªã‚³ãƒ³ç ”ç©¶ã‚’å°‘ã—使ãˆã‚‹ç‰©ã«ã™ã‚‹ãŸã‚ã«è¿½åŠ ã—ã¾ã—ãŸã€‚ + オリデオコンã®å ´åˆã¯ã‚ªãƒªãƒ‡ã‚ªã‚³ãƒ³åŽŸçŸ³3ã¤ã¨çŸ³ç‚1ã¤ãŒå¿…è¦ã§ + エルニウムã¯ã‚¨ãƒ«ãƒ‹ã‚¦ãƒ 原石3ã¤ã¨çŸ³ç‚1ã¤ãŒå¿…è¦ã§ã™ã€‚ +・pc.c å°‘ã—ä¿®æ£ã€‚ + pc_heal()pc_percentheal() å°‘ã—ã ã‘ä¿®æ£ã€‚ + pc_gainexp() ギルドã«expを上ç´ã™ã‚‹æ™‚ã«expãŒãƒžã‚¤ãƒŠã‚¹ã«ãªã‚‰ãªã„よã†ã« + ä¿®æ£ã€‚åŒæ™‚ã«2ã¤ä»¥ä¸Šã®ãƒ¬ãƒ™ãƒ«ãŒä¸ŠãŒã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + 最大レベル以上ã«ãƒ¬ãƒ™ãƒ«ãŒä¸ŠãŒã‚‰ãªã„よã†ã«ä¿®æ£ã€‚ + pc_checkbaselevelup()ã€pc_checkjoblevelup() è¿½åŠ ã€‚ãƒ¬ãƒ™ãƒ«ã‚¢ãƒƒãƒ—ã‚’ + ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚ + pc_itemheal() è¿½åŠ ã€‚ã‚¢ã‚¤ãƒ†ãƒ ã‚’ä½¿ã†æ™‚ã«VITã¨ã‚¹ã‚ルã«ã‚ˆã£ã¦ãƒœãƒ¼ãƒŠã‚¹ãŒ + 付ã物ã§ã™ã€‚スã‚ルラーニングãƒãƒ¼ã‚·ãƒ§ãƒ³å®Ÿè£…。 +・pc.h + pc_checkbaselevelup(),pc_checkjoblevelup() è¿½åŠ ã€‚ + pc_itemheal() è¿½åŠ ã€‚ +・script.c - スクリプトfixhealを除去。itemhealã‚’è¿½åŠ ã€‚healãŒfixhealã®æ©Ÿèƒ½ã‚’ã™ã‚‹ + よã†ã«å¤‰æ›´ã€‚ + buildin_fixheal() を消ã—buildin_heal()ã‚’å…ƒã®ç‰©ã«æˆ»ã—ã¾ã—ãŸã€‚(ã¤ã¾ã‚Š + buildin_heal()ãŒbuildin_fixheal()ã«ãªã‚Šã¾ã—ãŸã€‚) + buildin_itemheal() è¿½åŠ ã€‚ã‚¢ã‚¤ãƒ†ãƒ ã«ã‚ˆã‚‹å›žå¾©ã¯ã“れを呼ã¶ã‚ˆã†ã«ã—㦠+ ãã ã•ã„。 + buildin_heal()ã‹ã‚‰ãƒœãƒ¼ãƒŠã‚¹ã®è¨ˆç®—を除去。 +・item_db.txt〠item_db2.txt - healã‚’itemhealã«å¤‰æ›´ã€‚ +・mob.c + mob_damage() 0335ã§mvpã«å°‘ã—é–“é•ã„ãŒã‚ã‚Šã¾ã—ãŸã®ã§ä¿®æ£ã—ã¾ã—ãŸã€‚ +・skill.h + MAX_SKILL_PRODUCE_DBã‚’64ã‹ã‚‰100ã«å¤‰æ›´ã€‚ + + +//0335 by æ»ç¥ž +・char/char2.cã®ä¸€éƒ¨ã«RETCODEãŒé©ç”¨ã•ã‚Œã¦ãªã‹ã£ãŸã®ã§ãれを修æ£ã€‚ +・char/char2.cã®parse_char()ã§ã‚ャラを消ã™æ™‚ã«å•é¡ŒãŒã‚ã‚Šãã†ãªæ‰€ã‚’ä¿®æ£ã€‚ +・char/cha2.c,login/ login2.cã‚’char/cha.c, login/login.cã«å¤‰æ›´ã€‚ +・char/makefile,login/makefileを変更。 +・makefileã¨common/mmo.hを変更ã—ã¦OSを自動èªè˜ã—ã¦RETCODEを自動㫠+ é©ç”¨ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・common/grfio.cã®grfio_init()ã‚’ä¿®æ£ã€‚(コードをã¡ã‚‡ã£ã¨ãã‚Œã„(?)ã« + ã—ãŸã ã‘ã§ã™ãŒ,,,) +・インデュア実装。よã£ã¦ã‚¢ãƒ³ãƒ†ã‚£ãƒšã‚¤ãƒ³ãƒ¡ãƒ³ãƒˆã‚‚実装。 +・map/clif.c + clif_parse_LoadEndAck() 韓国クライアントã®ãƒ‘ッãƒã«åˆã‚ã›ã¦å°‘ã—変更。 + (マップãŒå¤‰ã‚る度ã«æ¦å™¨ã¨ã‚·ãƒ¼ãƒ«ãƒ‰ãŒè¦‹ãˆãªããªã‚‹ãŸã‚ã§ã™ã€‚ã¾ã + 日本クラã¨ã¯é–¢ä¿‚ã‚ã‚Šã¾ã›ã‚“ãŒ...) + clif_skillinfoblock() upã¯ã„らãªã„ã¨æ€ã†ã®ã§æ¶ˆã—ã¾ã—ãŸã€‚スã‚ルãƒã‚¤ãƒ³ãƒˆãŒ + 256ã€512ç‰ã®æ™‚スã‚ルツリーãŒæ£ã—ã表示ã•ã‚Œãªã„ã“ã¨ã¯ + ã‚‚ã†ã‚ã‚Šã¾ã›ã‚“。 + clif_guild_skillinfo() åŒã˜ã‚ˆã†ã«upを消ã—ã¾ã—ãŸã€‚ + clif_birthpet() pc_delitem() 呼ã¶ã‚ˆã†ã«å¤‰æ›´ã€‚ + clif_damage() インデュアã«å¯¾å¿œã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・map/pc.c + pc_percentheal() マイナスを入れã¦ã‚‚å‹•ãよã†ã«å¤‰æ›´ã€‚å°‘ã—ä¿®æ£ã€‚ + pc_heal() å°‘ã—ä¿®æ£ã€‚ + natual_heal() å°‘ã—ä¿®æ£ã€‚ + do_init_pc() natual_healã®ä¿®æ£ã«åˆã‚ã›ã¦å¤‰æ›´ã€‚ + pc_calcstatus() 弓を装備ã—ã¦ãªã„ã¨ãƒ¯ã‚·ã®ç›®ãŒé©ç”¨ã•ã‚Œãªã„よã†ã«å¤‰æ›´ã€‚ + トラスト実装。 + pc_damage() インデュアã«å¯¾å¿œã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・map/pc.h + pc_checkoverhp(), pc_checkoversp()ã‚’è¿½åŠ ã€‚ +・map/map.h + MAX_PC_CLASSã‚’+1ã«ã€‚ +・map/atcomand.c + comandã‚’commandã«å¤‰æ›´ã€‚ + strncmpã‚’strcmpiã«å¤‰æ›´ã€‚よã£ã¦ã‚³ãƒžãƒ³ãƒ‰ãŒå¤§æ–‡å—ã€å°æ–‡å—を区別ã™ã‚‹ + å¿…è¦ãŒãªããªã‚Šã¾ã—ãŸã€‚ +・map/npc.h + npc_parse_mob()ã‚’è¿½åŠ ã€‚(æ„味ã¯ã‚ã‚Šã¾ã›ã‚“ãŒ...) +・map/temdb.c + itemdb_readdb()ã§class_equip_db.txtã‚’èªã‚€ã‚ˆã†ã«å¤‰æ›´ã€‚ +・db/class_equip_db.txt ã‚’è¿½åŠ ã€‚ã“ã“ã§è£…å‚™ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚’指定ã—ã¾ã™ã€‚ãªã„å ´åˆã¯ + item_db.txtã«ã‚ã‚‹jobを使ã„ã¾ã™ã€‚å«ã¾ã‚Œã¦ã‚‹ç‰©ã¯å®Œå…¨ãªç‰©ã§ã¯ãªã + 使用例程ã®ç‰©ã§ã™ã€‚ +・map/skill.c - skill_status_change_start() インデュアã®æ™‚é–“ã‚’æ£ã—ã変更。 +・map/battle.h + battle_configã®exp_rateã‚’base_exp_rateã«å¤‰æ›´ã€‚,job_exp_rateã‚’è¿½åŠ ã€‚ + battle_get_mexp()ã‚’è¿½åŠ ã€‚ +・map/battle.c + battle_configã®exp_rateã‚’base_exp_rateã«å¤‰æ›´ã€‚,job_exp_rateã‚’è¿½åŠ ã€‚ + battle_get_mexp()ã‚’è¿½åŠ ã€‚ + battle_calc_magic_attack()を変更。ダーンアンデッドã§ãƒœã‚¹ã®èªè˜ã‚’mvp + expã§ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ +・map/mob.c + mob_readdb() base_exp_rate,job_exp_rateã«å¯¾å¿œã€‚ + mob_readdb() ボスã®èªè˜ã‚’mvp経験値ã§ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + mob_damage() mvpã‚’å–る時ã®å‡¦ç†ã‚’変更。é‡ã•ãŒ50%を越ãˆã‚‹ã¨åºŠã« + è½ã¡ã‚‹ã‚ˆã†ã«å¤‰æ›´ã¨è‰²ã€…。 +・conf/battle_athena.cnf + base_exp_rateã€,job_exp_rateã‚’è¿½åŠ ã€‚ +・0308ã§å¿˜ã‚ŒãŸç‰© + å¤ãé’ã„ç®±ã€å¤ã„カード帖ã€å¤ã„紫色ã®ç®±ã®ä½¿ç”¨ã§å¾—られãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ + æŒã£ã¦ãªããªã£ãŸã‚‰ã‚¢ã‚¤ãƒ†ãƒ を床ã«è½ã¨ã™ã‚ˆã†ã«å¤‰æ›´ã€‚ + è£½é€ ã¯ã™ã§ã«0302ã§é©ç”¨ã€‚ ---------- //334 by C}{RIS -E‚ ‚Ղ낾‚Ì332.txt‚ðpet_db.txt‚Æ‚µ‚Ä“¯«B +・ã‚ã·ã‚ã ã®332.txtã‚’pet_db.txtã¨ã—ã¦åŒæ¢±ã€‚ -EŠeŽíƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃~ƒX‚ðC³ - Eattr_fix.txt@‘®«C³‚ªƒ}ƒCƒiƒX‚É“‚¢‚Ä“G‚ª‰ñ•œ‚·‚é–â‘è‚ðC³B - „Œ³‚̉ñ•œŽd—l‚É–ß‚µ‚½‚¢ê‡attr_fix.txt‚ðƒŠƒl[ƒ€‚µAattr_fix_old.txt‚ðattr_fix.txt‚ɃŠƒl[ƒ€‚µ‚ĉº‚³‚¢B - Emob_db.txt@ƒ‚ƒ“ƒXƒ^[‚Ì“ú–{Œê–¼‚ð–{ŽI‚Æ“ˆêB - Ecast_db.txt@‰r¥ŽžŠÔAƒfƒBƒŒƒC‚ð–{ŽI‚Æ“ˆêB +・å„種テã‚ストファイルã®ãƒŸã‚¹ã‚’ä¿®æ£ + ・attr_fix.txt 属性修æ£ãŒãƒžã‚¤ãƒŠã‚¹ã«åƒã„ã¦æ•µãŒå›žå¾©ã™ã‚‹å•é¡Œã‚’ä¿®æ£ã€‚ + >元ã®å›žå¾©ä»•æ§˜ã«æˆ»ã—ãŸã„å ´åˆattr_fix.txtをリãƒãƒ¼ãƒ ã—ã€attr_fix_old.txtã‚’attr_fix.txtã«ãƒªãƒãƒ¼ãƒ ã—ã¦ä¸‹ã•ã„。 + ・mob_db.txt モンスターã®æ—¥æœ¬èªžåを本鯖ã¨çµ±ä¸€ã€‚ + ・cast_db.txtã€€è© å”±æ™‚é–“ã€ãƒ‡ã‚£ãƒ¬ã‚¤ã‚’本鯖ã¨çµ±ä¸€ã€‚ ---------- -//333 by ŒÓ’±—– +//333 by 胡è¶è˜ -EƒMƒ‹ƒh‹@”\’ljÁ - EƒMƒ‹ƒh‚Ì“¯–¿‚Æ“¯–¿‰ðÁ +ãƒ»ã‚®ãƒ«ãƒ‰æ©Ÿèƒ½è¿½åŠ + ・ギルドã®åŒç›Ÿã¨åŒç›Ÿè§£æ¶ˆ (char/) inter.c/int_guild.c - ƒpƒPƒbƒg’·/ƒMƒ‹ƒhˆ—’ljÁ + パケット長/ギルド処ç†è¿½åŠ (map/) clif.c/clif.h clif_guild_reqalliance,clif_guild_allianceack, clif_guild_delalliance,clif_parse_GuildRequestAlliance, - lif_parse_GuildReplyAlliance,clif_parse_GuildDelAlliance’ljÁ - iƒMƒ‹ƒh“¯–¿ŠÖŒW‚̃pƒPƒbƒgˆ—j + lif_parse_GuildReplyAlliance,clif_parse_GuildDelAllianceè¿½åŠ + (ギルドåŒç›Ÿé–¢ä¿‚ã®ãƒ‘ケット処ç†ï¼‰ intif.c/intif.h - ƒMƒ‹ƒh“¯–¿ŠÖŒW‚̃pƒPƒbƒgˆ—’ljÁ + ギルドåŒç›Ÿé–¢ä¿‚ã®ãƒ‘ケット処ç†è¿½åŠ guild.c/guild.h - ƒMƒ‹ƒh“¯–¿ŠÖŒW‚̈—’ljÁ + ギルドåŒç›Ÿé–¢ä¿‚ã®å‡¦ç†è¿½åŠ map.h - struct map_session_data‚Éguild_alliance,guild_alliance_account’ljÁ + struct map_session_dataã«guild_alliance,guild_alliance_accountè¿½åŠ -EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ì•ÏX‚ªƒ}ƒbƒvŽI‚ðÄ‹N“®‚µ‚È‚¢‚Æ—LŒø‚É‚È‚ç‚È‚¢ƒoƒOC³ +・ギルドエンブレムã®å¤‰æ›´ãŒãƒžãƒƒãƒ—鯖をå†èµ·å‹•ã—ãªã„ã¨æœ‰åŠ¹ã«ãªã‚‰ãªã„ãƒã‚°ä¿®æ£ guild.c/guild.h - guild_emblem_changed‚ÌC³ + guild_emblem_changedã®ä¿®æ£ ---------- -//331 by ‰ß‹Ž‚Ìli1 +//331 by éŽåŽ»ã®äººi1 -EƒyƒbƒgƒVƒXƒeƒ€C³(Š®¬“x25%) +・ペットシステム修æ£(完æˆåº¦25%) - EŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ð‚»‚ê‚¼‚ê‘Ήž‚·‚é“G‚ɑ΂µ‚ÄŽg—p‚·‚邱‚Æ‚Å - @³‚µ‚—‘‚ªŽè‚É“ü‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - EŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ð‘Ήž‚µ‚È‚¢“G‚ÉŽg—p‚µ‚½ê‡‚̓‹[ƒŒƒbƒg‚ª•K‚¸Ž¸”s‚µ‚Ü‚·B - Eƒyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - Eƒyƒbƒg‚ð‰EƒNƒŠƒbƒN‚·‚é‚ƃƒjƒ…[‚ªo‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E‘¼FXŠëŒ¯‚È—v‘f‚ðC³‚µ‚Ü‚µ‚½B(ƒAƒCƒeƒ€‚Ì”‚ÌŒ¸“™‚̃oƒO‚𒼂µ‚Ü‚µ‚½) + ・å„種æ•ç²ç”¨ã‚¢ã‚¤ãƒ†ãƒ ã‚’ãã‚Œãžã‚Œå¯¾å¿œã™ã‚‹æ•µã«å¯¾ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ +  æ£ã—ãåµãŒæ‰‹ã«å…¥ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ・å„種æ•ç²ç”¨ã‚¢ã‚¤ãƒ†ãƒ を対応ã—ãªã„敵ã«ä½¿ç”¨ã—ãŸå ´åˆã¯ãƒ«ãƒ¼ãƒ¬ãƒƒãƒˆãŒå¿…ãšå¤±æ•—ã—ã¾ã™ã€‚ + ・ペットãŒçž¬æ™‚ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ・ペットをå³ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒå‡ºã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ ・他色々å±é™ºãªè¦ç´ ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚(アイテムã®æ•°ã®æ¸›å°‘ç‰ã®ãƒã‚°ã‚’ç›´ã—ã¾ã—ãŸ) (db/) item_db.txt - ŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ɑΉž‚·‚é‚悤petƒRƒ}ƒ“ƒh‚𳂵‚‘‚«‚Ü‚µ‚½B + å„種æ•ç²ç”¨ã‚¢ã‚¤ãƒ†ãƒ ã«å¯¾å¿œã™ã‚‹ã‚ˆã†petコマンドをæ£ã—ã書ãã¾ã—ãŸã€‚ (common/) mmo.h - s_pet ƒyƒbƒg\‘¢‘Ì‚Épet_item_id‚ð’ljÁ + s_pet ãƒšãƒƒãƒˆæ§‹é€ ä½“ã«pet_item_idã‚’è¿½åŠ (map/) clif.c - clif_birthpet()‚ðC³B³‚µ‚—‘‚ªŒ¸‚éA³‚µ‚¢—‘‚ÌID‚ðŽæ“¾‚·‚é‚悤C³ - ‚±‚ê‚É‚æ‚Á‚ÄA³‚µ‚npc_petŠÖ”‚ª“®‚«‚Ü‚·B + clif_birthpet()ã‚’ä¿®æ£ã€‚æ£ã—ãåµãŒæ¸›ã‚‹ã€æ£ã—ã„åµã®IDã‚’å–å¾—ã™ã‚‹ã‚ˆã†ä¿®æ£ + ã“ã‚Œã«ã‚ˆã£ã¦ã€æ£ã—ãnpc_pet関数ãŒå‹•ãã¾ã™ã€‚ - clif_spawnnpc()‚ðC³iWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ÆA”’l‚ð26‚©‚ç36‚Ö•ÏX‚µ‚Ü‚µ‚½) - ‚±‚ê‚É‚æ‚Á‚ăyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + clif_spawnnpc()ã‚’ä¿®æ£ï¼ˆWBUFPOS(buf,36,nd->bl.x,nd->bl.y)ã¨ã€æ•°å€¤ã‚’26ã‹ã‚‰36ã¸å¤‰æ›´ã—ã¾ã—ãŸ) + ã“ã‚Œã«ã‚ˆã£ã¦ãƒšãƒƒãƒˆãŒçž¬æ™‚ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ npc.c - npc_pet()‚ðC³B + npc_pet()ã‚’ä¿®æ£ã€‚ pet.c/pet.h - ƒyƒbƒgŠÖ˜A‚Ìׂ©‚ÈŠÖ”‚ð‚±‚¿‚ç‚É‚Ü‚Æ‚ß‚éˆ×A’ljÁ‚µ‚Ü‚µ‚½B - Œ»Ý‚̓yƒbƒg‚Ì”»’èŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä‚ ‚è‚Ü‚·B + ペット関連ã®ç´°ã‹ãªé–¢æ•°ã‚’ã“ã¡ã‚‰ã«ã¾ã¨ã‚る為ã€è¿½åŠ ã—ã¾ã—ãŸã€‚ + ç¾åœ¨ã¯ãƒšãƒƒãƒˆã®åˆ¤å®šé–¢ä¿‚ã‚’ã¾ã¨ã‚ã¦ã‚ã‚Šã¾ã™ã€‚ script.c - “Á‚É‘å‚«‚ÈC³‚Í‚ ‚è‚Ü‚¹‚ñB + 特ã«å¤§ããªä¿®æ£ã¯ã‚ã‚Šã¾ã›ã‚“。 ---------- -//330 by ‰ß‹Ž‚Ìli1 +//330 by éŽåŽ»ã®äººi1 -EƒyƒbƒgƒVƒXƒeƒ€“±“ü(Š®¬“x‚Q‚O“) - E“G‚ɑ΂µ‚ĕߊl—pƒAƒCƒeƒ€‚ðŽg—p‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚µ‚½B - @(‚Ü‚¾n‚µ‚Ä‚¢‚È‚¢ƒŠƒ“ƒS‚Ì‚ÝŽg—p‰Â”\A“G‚ɂ‚©‚Á‚Ä‚àƒ|ƒŠƒ“‚Ì—‘‚ªŽè‚É“ü‚è‚Ü‚·B) - EŠeŽí—‘‚ɑ΂µ‚ăyƒbƒg‚ð•\Ž¦‚·‚鎖‚ª‚Å‚«‚Ü‚·A‚½‚¾‚µ‚È‚º‚©ˆê“x‰æ–ÊŠO‚É - @‚Å‚È‚¢‚ƃyƒbƒg‚ª•\Ž¦‚³‚ê‚Ü‚¹‚ñB - @(‹°‚炃yƒbƒg•\Ž¦‚ÌÛ‚És‚Á‚Ä‚¢‚éNPCƒXƒe[ƒ^ƒX‚ª³‚µ‚“ü‚Á‚Ä‚¢‚È‚¢) - E•\Ž¦‚³‚ꂽƒyƒbƒg‚ªƒpƒtƒH[ƒ}ƒ“ƒX‚ðs‚¢‚Ü‚·B +・ペットシステム導入(完æˆåº¦ï¼’ï¼ï¼…) + ・敵ã«å¯¾ã—ã¦æ•ç²ç”¨ã‚¢ã‚¤ãƒ†ãƒ を使用ã™ã‚‹äº‹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã—ãŸã€‚ +  (ã¾ã 熟ã—ã¦ã„ãªã„リンゴã®ã¿ä½¿ç”¨å¯èƒ½ã€æ•µã«ã¤ã‹ã£ã¦ã‚‚ãƒãƒªãƒ³ã®åµãŒæ‰‹ã«å…¥ã‚Šã¾ã™ã€‚) + ・å„種åµã«å¯¾ã—ã¦ãƒšãƒƒãƒˆã‚’表示ã™ã‚‹äº‹ãŒã§ãã¾ã™ã€ãŸã ã—ãªãœã‹ä¸€åº¦ç”»é¢å¤–ã« +  ã§ãªã„ã¨ãƒšãƒƒãƒˆãŒè¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。 +  (æらãペット表示ã®éš›ã«è¡Œã£ã¦ã„ã‚‹NPCステータスãŒæ£ã—ãå…¥ã£ã¦ã„ãªã„) + ・表示ã•ã‚ŒãŸãƒšãƒƒãƒˆãŒãƒ‘フォーマンスを行ã„ã¾ã™ã€‚ (db/) item_db.txt - Œg‘Ñ—‘›z‰»‹@‚ðŽg—p‰Â”\‚É bpetƒRƒ}ƒ“ƒh(Œg‘Ñ—‘›z‰»‹@Žg—p) - u‚Ü‚¾n‚µ‚Ä‚È‚¢ƒŠƒ“ƒSv‚ðŽg—p‰Â”\‚É petƒRƒ}ƒ“ƒh(‚ ‚émob‚ɑ΂µ‚ÄŽg—p‰Â”\‚É‚·‚é) + æºå¸¯åµåµåŒ–機を使用å¯èƒ½ã« bpetコマンド(æºå¸¯åµåµåŒ–機使用) + 「ã¾ã 熟ã—ã¦ãªã„リンゴã€ã‚’使用å¯èƒ½ã« petコマンド(ã‚ã‚‹mobã«å¯¾ã—ã¦ä½¿ç”¨å¯èƒ½ã«ã™ã‚‹) (common/) mmo.h - s_pet@ƒyƒbƒg\‘¢‘̒ljÁ - mmo_charstatus@ƒyƒbƒg\‘¢‘Ì錾•Ï”’ljÁ(pet) + s_petã€€ãƒšãƒƒãƒˆæ§‹é€ ä½“è¿½åŠ + mmo_charstatusã€€ãƒšãƒƒãƒˆæ§‹é€ ä½“å®£è¨€å¤‰æ•°è¿½åŠ (pet) (map/) clif.c/clif.h @@ -13952,3251 +13952,3251 @@ login-server.exeAchar-server.exeAmap-server.exe‚É•ÏX‚·‚é‚ÆYare-launcher‚ðŽg‚¤ int clif_birthpet(struct map_session_data *sd,int pet_id); void clif_menupet(int fd,struct map_session_data *sd); - ˆÈã‚ÌŠÖ”‚ð’ljÁ‚µƒyƒbƒg‚ÉŠÖ‚·‚鈗‚ðs‚Á‚Ä‚¨‚è‚Ü‚·B - (ƒ‹[ƒŒƒbƒgA—‘‘I‘ð‘‹AƒpƒtƒH[ƒ}ƒ“ƒXA‚»‚Ì‚Ù‚©FX) + 以上ã®é–¢æ•°ã‚’è¿½åŠ ã—ペットã«é–¢ã™ã‚‹å‡¦ç†ã‚’è¡Œã£ã¦ãŠã‚Šã¾ã™ã€‚ + (ルーレットã€åµé¸æŠžçª“ã€ãƒ‘フォーマンスã€ãã®ã»ã‹è‰²ã€…) npc.c/npc.h int npc_pet(struct map_session_data *sd,int name_id); - ƒyƒbƒg•\Ž¦‚ׂ̈̊֔‚ð’ljÁ - (‚±‚ÌŠÖ”“à•”‚Ńyƒbƒg‚Ì•\Ž¦ˆ—‚ðs‚Á‚Ä‚¢‚Ü‚·B“KØ‚ÉC³‚µ‚Ä‚‚¾‚³‚¢) + ペット表示ã®ç‚ºã®é–¢æ•°ã‚’è¿½åŠ + (ã“ã®é–¢æ•°å†…部ã§ãƒšãƒƒãƒˆã®è¡¨ç¤ºå‡¦ç†ã‚’è¡Œã£ã¦ã„ã¾ã™ã€‚é©åˆ‡ã«ä¿®æ£ã—ã¦ãã ã•ã„) script.c int buildin_catchpet(struct script_state *st); int buildin_birthpet(struct script_state *st); - ‚ð’ljÁ‚µ‚Ü‚µ‚½BƒXƒNƒŠƒvƒg‚Épet,bpet‚ð’ljÁ‚µ‚Ü‚µ‚½B + ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚スクリプトã«pet,bpetã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ ---------- -//329 by ŒÓ’±—– +//329 by 胡è¶è˜ -EƒMƒ‹ƒh‹@”\’ljÁ - EƒMƒ‹ƒh‚Ö‚ÌEXP‚Ìã”[ - EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv - EƒMƒ‹ƒhƒXƒLƒ‹‚ÌŠ„‚èU‚è +ãƒ»ã‚®ãƒ«ãƒ‰æ©Ÿèƒ½è¿½åŠ + ・ギルドã¸ã®EXPã®ä¸Šç´ + ・ギルドレベルアップ + ・ギルドスã‚ルã®å‰²ã‚ŠæŒ¯ã‚Š (db/) exp_guild.txt - ƒMƒ‹ƒhƒŒƒxƒ‹‚ÌŒoŒ±’lƒf[ƒ^ƒx[ƒX + ギルドレベルã®çµŒé¨“値データベース (common/) mmo.h - GBI_*,GMI_*‚Ì’è‹`‚̒ljÁ‚È‚Ç + GBI_*,GMI_*ã®å®šç¾©ã®è¿½åŠ ãªã© (char/) int_guild.c - EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’ljÁ‚È‚Ç + EXPやレベルアップã€ã‚¹ã‚ルアップ処ç†è¿½åŠ ãªã© inter.c - ƒpƒPƒbƒg’·’ljÁ + ãƒ‘ã‚±ãƒƒãƒˆé•·è¿½åŠ (map/) guild.c/guild.h - ƒMƒ‹ƒhˆ—’ljÁ + ギルド処ç†è¿½åŠ intif.c/intif.h - ƒMƒ‹ƒhƒpƒPƒbƒgˆ—’ljÁ + ギルドパケット処ç†è¿½åŠ clif.c - clif_guild_skillinfo()C³ - clif_guild_skillup()’ljÁ + clif_guild_skillinfo()ä¿®æ£ + clif_guild_skillup()è¿½åŠ pc.c - pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚ÌꇂÍguild_skillup()‚ðŒÄ‚Ԃ悤‚É - pc_gainexp()‚Åã”[EXP‚Ì‚½‚ß‚Éguild_payexp()‚ðŒÄ‚Ԃ悤‚É + pc_skillup()ã§ã‚®ãƒ«ãƒ‰ã‚¹ã‚ルã®å ´åˆã¯guild_skillup()を呼ã¶ã‚ˆã†ã« + pc_gainexp()ã§ä¸Šç´EXPã®ãŸã‚ã«guild_payexp()を呼ã¶ã‚ˆã†ã« -EƒMƒ‹ƒh‹@”\C³ - EƒMƒ‹ƒhƒƒ“ƒo[‚ªƒƒOƒCƒ“‚⃃OƒAƒEƒg‚·‚é‚ÆA - ƒƒOƒCƒ“’†‚̃Mƒ‹ƒhƒƒ“ƒo[‚ɃMƒ‹ƒhŒnƒpƒPƒbƒg‚ª‘—‚ç‚ê‚È‚‚È‚é–â‘èC³ +ãƒ»ã‚®ãƒ«ãƒ‰æ©Ÿèƒ½ä¿®æ£ + ・ギルドメンãƒãƒ¼ãŒãƒã‚°ã‚¤ãƒ³ã‚„ãƒã‚°ã‚¢ã‚¦ãƒˆã™ã‚‹ã¨ã€ + ãƒã‚°ã‚¤ãƒ³ä¸ã®ã‚®ãƒ«ãƒ‰ãƒ¡ãƒ³ãƒãƒ¼ã«ã‚®ãƒ«ãƒ‰ç³»ãƒ‘ケットãŒé€ã‚‰ã‚Œãªããªã‚‹å•é¡Œä¿®æ£ guild.c - guild_recv_memberinfoshort()‚ÌC³ + guild_recv_memberinfoshort()ã®ä¿®æ£ ---------- -//328 by ŒÓ’±—– +//328 by 胡è¶è˜ -EƒMƒ‹ƒh‹@”\‚̒ljÁ‚È‚Ç - E’Ç•ú‹@”\‰¼ŽÀ‘•i’Ç•ú‚µ‚½ƒLƒƒƒ‰‚àĉÁ“ü‰Â”\•ˆê•”î•ñ‚ªƒ_ƒ~[j - EƒXƒLƒ‹‚Ì•\Ž¦i•\Ž¦‚¾‚¯‚Å‚·Bã‚°‚½‚è‚Ío—ˆ‚Ü‚¹‚ñj +・ギルド機能ã®è¿½åŠ ãªã© + ・追放機能仮実装(追放ã—ãŸã‚ャラもå†åŠ å…¥å¯èƒ½ï¼†ä¸€éƒ¨æƒ…å ±ãŒãƒ€ãƒŸãƒ¼ï¼‰ + ・スã‚ルã®è¡¨ç¤ºï¼ˆè¡¨ç¤ºã ã‘ã§ã™ã€‚上ã’ãŸã‚Šã¯å‡ºæ¥ã¾ã›ã‚“) (common/) mmo.h - struct guild_explusion‚Ì•ÏX + struct guild_explusionã®å¤‰æ›´ (char/) int_guild.c - ’Ç•úˆ—’ljÁ - ‹óƒMƒ‹ƒhƒ`ƒFƒbƒN‚ȂǒljÁ + 追放処ç†è¿½åŠ + 空ギルドãƒã‚§ãƒƒã‚¯ãªã©è¿½åŠ (map/) guild.c/guild.h - ƒMƒ‹ƒhƒXƒLƒ‹ŠÖŒW‚̃AƒNƒZƒT‚ȂǒljÁ + ギルドスã‚ル関係ã®ã‚¢ã‚¯ã‚»ã‚µãªã©è¿½åŠ clif.c - clif_guild_skillinfo()‚ÌC³ - clif_guild_explusionlist()’ljÁ + clif_guild_skillinfo()ã®ä¿®æ£ + clif_guild_explusionlist()è¿½åŠ -Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚ªƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚É‚È‚éƒoƒOC³ - Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽ¸”sŽž‚̃_ƒ[ƒW‚ªŽg‚í‚ê‚Ü‚· +・ターンアンデッドãŒãƒœã‚¹ç³»ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ã§MISSã«ãªã‚‹ãƒã‚°ä¿®æ£ + ・ターンアンデッド失敗時ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒä½¿ã‚ã‚Œã¾ã™ battle.c - battle_calc_magic_damage()‚ÌC³ + battle_calc_magic_damage()ã®ä¿®æ£ ---------- -//327 by ‚¢‚Ç -EŒoŒ±’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚¢‚ª‚ ‚Á‚½‚Ì‚ÅC³ +//327 by ã„ã© +・経験値テーブルã«ï¼‘箇所間é•ã„ãŒã‚ã£ãŸã®ã§ä¿®æ£ db/exp.txt ---------- -//326 by ‚¢‚Ç -EcharŽI‚ÌVŽI,ƒƒ“ƒeƒiƒ“ƒX’†‚̃tƒ‰ƒOî•ñ‚ðÝ’è‚Å‚«‚é‚悤‚É‚µ‚½ -EcharŽI‚ÌŽI–¼‚Ì’·‚³‚ª16ƒoƒCƒg‚É‚È‚Á‚Ä‚¢‚½•”•ª‚ð20ƒoƒCƒg‚ÉC³ +//326 by ã„ã© +・char鯖ã®æ–°é¯–,メンテナンスä¸ã®ãƒ•ãƒ©ã‚°æƒ…å ±ã‚’è¨å®šã§ãるよã†ã«ã—㟠+・char鯖ã®é¯–åã®é•·ã•ãŒ16ãƒã‚¤ãƒˆã«ãªã£ã¦ã„ãŸéƒ¨åˆ†ã‚’20ãƒã‚¤ãƒˆã«ä¿®æ£ (login/) login2.c - parse_login()‚ÌC³ + parse_login()ã®ä¿®æ£ login.h - struct mmo_char_server‚ÌC³ + struct mmo_char_serverã®ä¿®æ£ (char/) char2.c - check_connect_login_server(),do_init()‚ÌC³ + check_connect_login_server(),do_init()ã®ä¿®æ£ (conf/) char_athena.cnf -@ Echar_maintenance‚ð1‚É‚·‚é‚ƃƒOƒCƒ“l”‚ÌŒã‚ë‚É(“_ŒŸ’†)‚ª‚‚ -@ Echar_new‚ð1‚É‚·‚é‚ÆŽI–¼‚Ì‘O‚É[V]‚ª‚‚ +  ・char_maintenanceã‚’1ã«ã™ã‚‹ã¨ãƒã‚°ã‚¤ãƒ³äººæ•°ã®å¾Œã‚ã«(点検ä¸)ãŒã¤ã +  ・char_newã‚’1ã«ã™ã‚‹ã¨é¯–åã®å‰ã«[æ–°]ãŒã¤ã (doc/) - ƒpƒPƒbƒg‰ðÍ.txt - E¡‰ñ‚Ì•ÏX‚É”º‚¤ˆê•”C³ + パケット解æž.txt + ・今回ã®å¤‰æ›´ã«ä¼´ã†ä¸€éƒ¨ä¿®æ£ ---------- //325 by Mind Twist(224&0293) -E“G(NPC)ƒXƒLƒ‹‚̒ljÁiƒcƒŠ[‚ɒljÁ‚Ì‚Ýj +・敵(NPC)スã‚ルã®è¿½åŠ (ツリーã«è¿½åŠ ã®ã¿ï¼‰ db/skill_db.txt - EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚炸•s–¾c‚±‚ÌŒ`Ž®‚¶‚á‚È‚¢‚Ì‚©‚ÈH + ・ギルドスã‚ル相変ã‚らãšä¸æ˜Žâ€¦ã“ã®å½¢å¼ã˜ã‚ƒãªã„ã®ã‹ãªï¼Ÿ ---------- //324 by non -Emob‚̃^[ƒQƒbƒgŒãˆÚ“®‚ðC³ -Emob‚̈ړ®‘¬“x‚ðDB‚©‚甽‰f‚³‚¹‚é‚悤‚É +・mobã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆå¾Œç§»å‹•ã‚’ä¿®æ£ +・mobã®ç§»å‹•é€Ÿåº¦ã‚’DBã‹ã‚‰åæ˜ ã•ã›ã‚‹ã‚ˆã†ã« (map/) mob.c - mob_ai_sub_hard()‚ÌC³ + mob_ai_sub_hard()ã®ä¿®æ£ -EŽÎ‚ß”»’è‚ðC³ - EFW“™‚ł̎΂ߔ͈͂ð–{ŽIŽd—l‚É +・斜ã‚åˆ¤å®šã‚’ä¿®æ£ + ・FWç‰ã§ã®æ–œã‚範囲を本鯖仕様㫠(map/) map.c - map_calc_dir()‚ÌC³ + map_calc_dir()ã®ä¿®æ£ ---------- -//322 by ŒÓ’±—– +//322 by 胡è¶è˜ -EƒƒOƒCƒ“Žž‚É•K‚¸ƒp[ƒeƒB[‚©‚眖¼‚³‚ê‚éƒoƒOC³ - E0318‚Ìuƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚É`v‚Å‚ÌC³ƒ~ƒX +・ãƒã‚°ã‚¤ãƒ³æ™‚ã«å¿…ãšãƒ‘ーティーã‹ã‚‰é™¤åã•ã‚Œã‚‹ãƒã‚°ä¿®æ£ + ・0318ã®ã€Œãƒ‘ーティを除åã•ã‚ŒãŸã®ã«ã€œã€ã§ã®ä¿®æ£ãƒŸã‚¹ (char/) int_party.c - ƒp[ƒeƒB[‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ + パーティー競åˆæ™‚ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«æ”¹è¡Œè¿½åŠ (map/) party.c - party_check_member()‚ÌC³ + party_check_member()ã®ä¿®æ£ -EƒMƒ‹ƒh‰ï˜bŽÀ‘••C³‚È‚Ç +・ギルド会話実装&修æ£ãªã© (char/) int_guild.c - ƒMƒ‹ƒh‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ + ギルド競åˆæ™‚ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«æ”¹è¡Œè¿½åŠ (map/) guild.c/guild.c - guild_send_message(),guild_recv_message()‚ȂǒljÁ + guild_send_message(),guild_recv_message()ãªã©è¿½åŠ intif.c/intif.h - intif_parse_GuildMessage()‚ȂǒljÁ + intif_parse_GuildMessage()ãªã©è¿½åŠ clif.c/clif.h - clif_guild_message(),clif_parse_GuildMessage()‚ȂǒljÁ - clif_guild_basicinfo()‚̃pƒPƒbƒg‚ð0150‚©‚ç01b6‚É•ÏX + clif_guild_message(),clif_parse_GuildMessage()ãªã©è¿½åŠ + clif_guild_basicinfo()ã®ãƒ‘ケットを0150ã‹ã‚‰01b6ã«å¤‰æ›´ -EƒoƒbƒNƒXƒeƒbƒv‚ª‚à‚Ì‚·‚²‚‰ö‚µ‚¢‚¯‚lj¼ŽÀ‘• - EŽg‚¤‚ƃ_ƒ[ƒW‚ð‚P‹ò‚ç‚Á‚½‚悤‚ÉŒ©‚¦‚Ü‚·B(ŽÀۂ̓_ƒ[ƒW‚O‚Å‚·) +・ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ—ãŒã‚‚ã®ã™ã”ã怪ã—ã„ã‘ã©ä»®å®Ÿè£… + ・使ã†ã¨ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’1喰らã£ãŸã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚(実際ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ï¼ã§ã™) skill.c - skill_castend_damage_id()C³ + skill_castend_damage_id()ä¿®æ£ ------------------ -//321 by@‰ß‹Ž‚Ìli -E‹|–î‘•”õŒø‰Ê‚Ì‚ÝŽÀ‘•(‘½X‚¨‚©‚µ‚¢“_‚Í‘¶Ý‚·‚邪‘•”õ‚ªo—ˆA–î‚ÌŒø‰Ê‚ªo‚é) +//321 by éŽåŽ»ã®äººi +・弓矢装備効果ã®ã¿å®Ÿè£…(多々ãŠã‹ã—ã„点ã¯å˜åœ¨ã™ã‚‹ãŒè£…å‚™ãŒå‡ºæ¥ã€çŸ¢ã®åŠ¹æžœãŒå‡ºã‚‹) map/clif.c map/clif.h - clif_itemlist()’ljÁ - Ž‚¿•¨‚Ì’†‚Å‹|–î‚ÉŠ„‚è“–‚Ä‚éƒpƒPƒbƒg”Ô†‚ð0x8000‚Æ‚·‚鈗’ljÁ + clif_itemlist()è¿½åŠ + æŒã¡ç‰©ã®ä¸ã§å¼“矢ã«å‰²ã‚Šå½“ã¦ã‚‹ãƒ‘ケット番å·ã‚’0x8000ã¨ã™ã‚‹å‡¦ç†è¿½åŠ clif_arrowequip(struct map_session_data *sd,int val); //self - ‚ð’ljÁB‚±‚Ì’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ä‚Ü‚· + ã‚’è¿½åŠ ã€‚ã“ã®ä¸ã§å¼“矢装備パケット処ç†ã‚’è¡Œã£ã¦ã¾ã™ map/pc.c - pc_equipitem()@‹|–î‘•”õ’ljÁ + pc_equipitem()ã€€å¼“çŸ¢è£…å‚™è¿½åŠ - Žc‚³‚ꂽ–â‘è“_F - E@–Œ¸‚ç‚È‚¢ - E@ƒŠƒƒO‚·‚é‚Ɩ‚P‚É‚È‚é - E@‘•”õ‚µ‚Ä‚¢‚é–•\Ž¦‚³‚ê‚È‚¢(©‘½•ª‘•”õpos‚ÌÝ’è‚ð‚µ‚Ä‚¢‚È‚¢ˆ×‚©‚Æ) - E@–î‚ð‘•”õ‰ðœ‚Å‚«‚È‚¢(‘¼‚Ì–î‚ð‘•”õ‚µ‚È‚¨‚¹‚Α•”õ‚µ‚½–î‚ÌŒø‰Ê‚É‚È‚è‚Ü‚· + 残ã•ã‚ŒãŸå•é¡Œç‚¹ï¼š + ・ 矢ãŒæ¸›ã‚‰ãªã„ + ・ リãƒã‚°ã™ã‚‹ã¨çŸ¢ãŒï¼‘ã«ãªã‚‹ + ・ 装備ã—ã¦ã„る矢ãŒè¡¨ç¤ºã•ã‚Œãªã„(â†å¤šåˆ†è£…å‚™posã®è¨å®šã‚’ã—ã¦ã„ãªã„為ã‹ã¨) + ・ 矢を装備解除ã§ããªã„(ä»–ã®çŸ¢ã‚’装備ã—ãªãŠã›ã°è£…å‚™ã—ãŸçŸ¢ã®åŠ¹æžœã«ãªã‚Šã¾ã™ ---------- -//320 by ‚¢‚Ç -EˆÈ‰º‚̃pƒPƒbƒg‚̃Gƒ‰[ƒR[ƒh‚Ìà–¾‚ð’ljÁ - doc/ƒpƒPƒbƒg‰ðÍ.txt +//320 by ã„ã© +・以下ã®ãƒ‘ケットã®ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã®èª¬æ˜Žã‚’è¿½åŠ + doc/パケット解æž.txt R 006a <error No>.B R 0070 <error No>.B R 0081 <type>.B ---------- //319 by mk -ENPC‚Ƃ̉ï˜b’†‚É‘•”õ•ÏXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½ +・NPCã¨ã®ä¼šè©±ä¸ã«è£…備変更ã€ã‚¢ã‚¤ãƒ†ãƒ ã€ã‚¹ã‚ルを使用ã§ããªã„よã†ã«ã—ã¾ã—㟠map/clif.c - ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚µ‚Ä‚Ü‚· + å„所ã§sd->npc_idã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ã¾ã™ -Eˆê•”‚Ì”í‚蕨‚łธBŒã‚É‘•”õ‰ÓŠ‚ª‚¨‚©‚µ‚‚È‚éƒoƒO‚ðC³ +・一部ã®è¢«ã‚Šç‰©ã§ã‚‚精錬後ã«è£…備箇所ãŒãŠã‹ã—ããªã‚‹ãƒã‚°ã‚’ä¿®æ£ map/script.c - buildin_successrefitem ‚̃R[ƒh‚ðC³ + buildin_successrefitem ã®ã‚³ãƒ¼ãƒ‰ã‚’ä¿®æ£ -EƒJ[ƒh‚É‚æ‚é’ljÁŒø‰Ê‚¨‚æ‚шÙí‘Ï«”“®ˆ—‚ÌC³ +・カードã«ã‚ˆã‚‹è¿½åŠ 効果ãŠã‚ˆã³ç•°å¸¸è€æ€§ç™ºå‹•å‡¦ç†ã®ä¿®æ£ map/skill.c - ƒCƒ“ƒfƒbƒNƒX‰Šú’l‚ªŠÔˆá‚Á‚Ä‚¢‚é‚ÆŽv‚í‚ê‚é‚Ì‚ÅC³iSC_POISON -> SC_STONEj - -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚̉¼ŽÀ‘•AƒOƒŠƒ€ƒgƒD[ƒX‚ÌŽg—pðŒ’ljÁ - Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð‰¼ŽÀ‘•B‚«”ò‚΂µˆ—‚â‚Á‚Ä‚é‚Ì‚Å - @battle.c ‚Ìblewcount‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½ - EƒOƒŠƒ€ƒgƒD[ƒX‚ÌŽg—pðŒiƒnƒCƒfƒBƒ“ƒO•ƒJƒ^[ƒ‹‘•”õjƒ`ƒFƒbƒN’ljÁ - @‚±‚ñ‚ÈŠ´‚¶‚Å‘¼‚̃XƒLƒ‹Žg—pðŒ‚à’ljÁ‚µ‚Ä‚à‚æ‚¢‚Ì‚©‚ÈH - Eskill_blown ‚Ì‚«”ò‚΂µ•ûŒü‚ðƒ^[ƒQƒbƒg‚Ƃ̈ʒu‚ªd‚È‚Á‚Ä‚¢‚é‚Æ‚«‚Í - @ƒ‰ƒ“ƒ_ƒ€‚Å‚Í‚È‚ƒLƒƒƒ‰ƒNƒ^[‚ðŒã‚ë‚Ö‚«”ò‚΂·‚悤‚É•ÏX‚µ‚Ü‚µ‚½ + インデックスåˆæœŸå€¤ãŒé–“é•ã£ã¦ã„ã‚‹ã¨æ€ã‚れるã®ã§ä¿®æ£ï¼ˆSC_POISON -> SC_STONE) + +・ボウリングãƒãƒƒã‚·ãƒ¥ã®ä»®å®Ÿè£…ã€ã‚°ãƒªãƒ トゥースã®ä½¿ç”¨æ¡ä»¶è¿½åŠ + ・ボウリングãƒãƒƒã‚·ãƒ¥ã‚’仮実装。å¹ã飛ã°ã—処ç†ã‚„ã£ã¦ã‚‹ã®ã§ +  battle.c ã®blewcountをコメントアウトã—ã¾ã—㟠+ ・グリムトゥースã®ä½¿ç”¨æ¡ä»¶ï¼ˆãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ï¼†ã‚«ã‚¿ãƒ¼ãƒ«è£…備)ãƒã‚§ãƒƒã‚¯è¿½åŠ +  ã“ã‚“ãªæ„Ÿã˜ã§ä»–ã®ã‚¹ã‚ル使用æ¡ä»¶ã‚‚è¿½åŠ ã—ã¦ã‚‚よã„ã®ã‹ãªï¼Ÿ + ・skill_blown ã®å¹ã飛ã°ã—æ–¹å‘をターゲットã¨ã®ä½ç½®ãŒé‡ãªã£ã¦ã„ã‚‹ã¨ã㯠+  ランダムã§ã¯ãªãã‚ャラクターを後ã‚ã¸å¹ã飛ã°ã™ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã—㟠map/skill.c - skill_castend_damage_id()•ÏX - skill_check_condition()•ÏX - skill_blown()•ÏX - -EƒAƒTƒVƒ““ñ“—¬ˆ—‚ÉŠÖ‚·‚éC³? - E‘•”õˆê——‚Ödrag&dropŽž‚É—¼Žè‚ªÔ‚ƒ}[ƒLƒ“ƒO‚³‚ê‚é‚悤‚ÉC³ - @ƒAƒTƒVƒ“‚Å‚Í•Ší‘•”õ‰ÓŠ‚ª—¼Žè‚É‚È‚é‚悤item_equippoint‚ð•ÏX - @‚»‚ê‚É”º‚¢pc.c‚Ìpc_equipitem‚ðC³ - E‹tŽèƒ_ƒ[ƒW‚ð•\Ž¦‚µ‚Ä‚Ý‚Ü‚µ‚½ - @‚Ü‚Æ‚à‚Ƀ_ƒ[ƒWŒvŽZ‚â‚Á‚Ä‚È‚¢‚Ì‚ÅUŒ‚‰ñ”‚ÌŠm”F‚¾‚¯‚Å‚· - EƒJƒ^[ƒ‹’ÇŒ‚‚ƶŽèUŒ‚‚ÌMISS‚ð–³—‚â‚è•\Ž¦ - (map/) - itemdb.c (itemdb.hAclif.cApc.c) - itemdb_equippoint() ‚ð•ÏX i“ñ“—¬‚ðl—¶j - ˆø”‚ð(int nameid) -> (struct map_session_data *sd,int nameid)‚É - ˆø”•ÏX‚É”º‚¢éŒ¾(itemdb.h)‚ƌĂÑo‚µ‘¤(clif.c ,pc.c)‚à•ÏX - pc.c - pc_equipitem(), pc_checkitem()‘•”õƒ`ƒFƒbƒN‚ðC³ + skill_castend_damage_id()変更 + skill_check_condition()変更 + skill_blown()変更 + +・アサシン二刀æµå‡¦ç†ã«é–¢ã™ã‚‹ä¿®æ£? + ・装備一覧ã¸drag&drop時ã«ä¸¡æ‰‹ãŒèµ¤ãマーã‚ングã•ã‚Œã‚‹ã‚ˆã†ã«ä¿®æ£ +  アサシンã§ã¯æ¦å™¨è£…備箇所ãŒä¸¡æ‰‹ã«ãªã‚‹ã‚ˆã†item_equippointを変更 +  ãã‚Œã«ä¼´ã„pc.cã®pc_equipitemã‚’ä¿®æ£ + ・逆手ダメージを表示ã—ã¦ã¿ã¾ã—㟠+  ã¾ã¨ã‚‚ã«ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—ã‚„ã£ã¦ãªã„ã®ã§æ”»æ’ƒå›žæ•°ã®ç¢ºèªã ã‘ã§ã™ + ・カタール追撃ã¨å·¦æ‰‹æ”»æ’ƒã®MISSã‚’ç„¡ç†ã‚„り表示 + (map/) + itemdb.c (itemdb.hã€clif.cã€pc.c) + itemdb_equippoint() を変更 (二刀æµã‚’考慮) + 引数を(int nameid) -> (struct map_session_data *sd,int nameid)ã« + 引数変更ã«ä¼´ã„宣言(itemdb.h)ã¨å‘¼ã³å‡ºã—å´(clif.c ,pc.c)も変更 + pc.c + pc_equipitem(), pc_checkitem()装備ãƒã‚§ãƒƒã‚¯ã‚’ä¿®æ£ battle.c battle_calc_weapon_attack(),battle_weapon_attack() - ã‚É‚à‘‚«‚Ü‚µ‚½‚ª¶Žè‚̃_ƒ[ƒWŒvŽZ‚Ís‚Á‚Ä‚Ü‚¹‚ñ - (ƒJ[ƒhA‘®«“™‚à–¢“K—p)‰EŽè‚Æ“¯‚¶ƒ_ƒ[ƒW“ü‚ê‚Ķ‰EC—û“K—p‚µ‚Ä‚Ü‚· - ƒJƒ^[ƒ‹’ÇŒ‚‚ƶŽèƒ_ƒ[ƒW‚ðƒ~ƒX‚³‚¹‚é•û–@(ƒpƒPƒbƒg?)‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å - ŒvŽZŒã‚̃_ƒ[ƒW‚ª-1‚Ìê‡Adamage=0‚ð‘—‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚· - ‚à‚Á‚Æ‚æ‚¢•û–@‚ª‚ ‚é‚Ì‚Å‚µ‚½‚çC³‚¨Šè‚¢‚µ‚Ü‚· + 上ã«ã‚‚書ãã¾ã—ãŸãŒå·¦æ‰‹ã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—ã¯è¡Œã£ã¦ã¾ã›ã‚“ + (カードã€å±žæ€§ç‰ã‚‚未é©ç”¨)å³æ‰‹ã¨åŒã˜ãƒ€ãƒ¡ãƒ¼ã‚¸å…¥ã‚Œã¦å·¦å³ä¿®ç·´é©ç”¨ã—ã¦ã¾ã™ + カタール追撃ã¨å·¦æ‰‹ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’ミスã•ã›ã‚‹æ–¹æ³•(パケット?)ãŒã‚ã‹ã‚‰ãªã„ã®ã§ + 計算後ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒ-1ã®å ´åˆã€damage=0ã‚’é€ã‚‹ã‚ˆã†ã«ã—ã¦ã„ã¾ã™ + ã‚‚ã£ã¨ã‚ˆã„方法ãŒã‚ã‚‹ã®ã§ã—ãŸã‚‰ä¿®æ£ãŠé¡˜ã„ã—ã¾ã™ -EŠ®‘S‰ñ”ð‚ÌŒvŽZ‚ðLuk‚Å‚Í‚È‚Flee2‚Å”»’f‚·‚é‚悤‚ÉC³ +・完全回é¿ã®è¨ˆç®—ã‚’Lukã§ã¯ãªãFlee2ã§åˆ¤æ–ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ map/battle.c battle_calc_weapon_attack() (db) - item_db.txtAitem_db2.txt - ‘•”õ•i‚̈ꕔƒ{[ƒiƒXŒø‰Ê‚ð’ljÁ + item_db.txtã€item_db2.txt + 装備å“ã®ä¸€éƒ¨ãƒœãƒ¼ãƒŠã‚¹åŠ¹æžœã‚’è¿½åŠ mob_db.txt - –^Š‚Å‚¤‚‚³‚ê‚Ä‚¢‚½‚à‚Ì‚ð‚µC³ - ‚Ü‚¾Mode‚âDrop‚É–â‘è“_‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ + æŸæ‰€ã§ã†ï½ã•ã‚Œã¦ã„ãŸã‚‚ã®ã‚’å°‘ã—ä¿®æ£ + ã¾ã Modeã‚„Dropã«å•é¡Œç‚¹ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ ---------- -//0318 by ŒÓ’±—– +//0318 by 胡è¶è˜ -E‚ ‚éŒö•½•ª”zPT‚Æ‚»‚ÌPT‚É‘®‚³‚È‚¢PC‚ª‹¤“¬‚·‚é‚ÆŽI‚ª–\‘–‚·‚éƒoƒOC³ +・ã‚る公平分é…PTã¨ãã®PTã«å±žã•ãªã„PCãŒå…±é—˜ã™ã‚‹ã¨é¯–ãŒæš´èµ°ã™ã‚‹ãƒã‚°ä¿®æ£ mob.c - mob_damage()‚ÌEXP•ª”zˆ—C³ + mob_damage()ã®EXP分é…処ç†ä¿®æ£ -Eƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚ÉŠ‘®‚µ‚Ä‚¢‚é‚悤‚ÉŒ©‚¦‚éƒoƒOC³ - EŠY“–ƒLƒƒƒ‰‚ªƒƒOƒAƒEƒgó‘Ô‚ÌŽž‚Éœ–¼‚³‚êA‚»‚ÌŒãA“¯C•ÊƒLƒƒƒ‰‚ª - “¯ƒp[ƒeƒB‚ÉŠ‘®‚µ‚È‚¨‚µA‚³‚ç‚ÉŒ³‚̃Lƒƒƒ‰‚ŃƒOƒCƒ“‚·‚é‚ÆA - œ–¼”»’è‚ÉŽ¸”s‚µ‚ăp[ƒeƒB‚ÉŠ‘®‚µ‚½‚Ü‚Ü‚Å‚ ‚é‚Æ‚³‚ê‚Ä‚µ‚Ü‚¤–â‘èC³ +・パーティを除åã•ã‚ŒãŸã®ã«æ‰€å±žã—ã¦ã„るよã†ã«è¦‹ãˆã‚‹ãƒã‚°ä¿®æ£ + ・該当ã‚ャラãŒãƒã‚°ã‚¢ã‚¦ãƒˆçŠ¶æ…‹ã®æ™‚ã«é™¤åã•ã‚Œã€ãã®å¾Œã€åŒåž¢åˆ¥ã‚ャラ㌠+ åŒãƒ‘ーティã«æ‰€å±žã—ãªãŠã—ã€ã•ã‚‰ã«å…ƒã®ã‚ャラã§ãƒã‚°ã‚¤ãƒ³ã™ã‚‹ã¨ã€ + 除å判定ã«å¤±æ•—ã—ã¦ãƒ‘ーティã«æ‰€å±žã—ãŸã¾ã¾ã§ã‚ã‚‹ã¨ã•ã‚Œã¦ã—ã¾ã†å•é¡Œä¿®æ£ party.c - party_check_member()‚ÌC³ + party_check_member()ã®ä¿®æ£ ---------- //0317 by nabe -Eu`‚³‚ñ‚©‚çŽæˆø‚ð—v¿‚³‚ê‚Ü‚µ‚½Bv‚ªŽ©•ª‚Ì–¼‘O‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ +・「〜ã•ã‚“ã‹ã‚‰å–引をè¦è«‹ã•ã‚Œã¾ã—ãŸã€‚ã€ãŒè‡ªåˆ†ã®åå‰ã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ trade.c/clif.c/clif.h - clif_traderequest()‚ÅŽæˆø‘ŠŽè‚̃Lƒƒƒ‰–¼‚ð“n‚·‚悤‚É•ÏX + clif_traderequest()ã§å–引相手ã®ã‚ャラåを渡ã™ã‚ˆã†ã«å¤‰æ›´ ---------- //0316 by nabe -E—¼Žè•Ší‚ð¸˜B‚·‚é‚Æ•ÐŽè‘•”õ‚É‚È‚éƒoƒO‚ðC³ +・両手æ¦å™¨ã‚’精錬ã™ã‚‹ã¨ç‰‡æ‰‹è£…å‚™ã«ãªã‚‹ãƒã‚°ã‚’ä¿®æ£ script.c - buildin_successrefitem()‚ÅA—¼Žè•Ší‚Ìꇓ™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN + buildin_successrefitem()ã§ã€ä¸¡æ‰‹æ¦å™¨ã®å ´åˆç‰ã«è£…備箇所ãƒã‚§ãƒƒã‚¯ ---------- -//0315 by ŒÓ’±—– +//0315 by 胡è¶è˜ -EPC‚ÌSPAWNƒ^ƒCƒ~ƒ“ƒO‚ð•ÏX - Eƒ}ƒbƒvˆÚ“®(ƒƒOƒCƒ“)ŽžAƒ[ƒfƒBƒ“ƒOI—¹Œã‚ÉSPAWN‚·‚é‚悤‚ÉB - Eƒ[ƒh’†‚ÉUŒ‚‚³‚ꂽ‚肵‚È‚‚È‚è‚Ü‚·B - EƒMƒ‹ƒh/ƒp[ƒeƒBî•ñ“Ç‚Ýž‚Ý‘O‚É–¼‘O‰ðŒˆƒpƒPƒbƒg‚ª—ˆ‚é–â‘è‚à - C³‚³‚ê‚é‚Í‚¸‚Å‚·B +・PCã®SPAWNタイミングを変更 + ・マップ移動(ãƒã‚°ã‚¤ãƒ³)時ã€ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°çµ‚了後ã«SPAWNã™ã‚‹ã‚ˆã†ã«ã€‚ + ・ãƒãƒ¼ãƒ‰ä¸ã«æ”»æ’ƒã•ã‚ŒãŸã‚Šã—ãªããªã‚Šã¾ã™ã€‚ + ・ギルド/ãƒ‘ãƒ¼ãƒ†ã‚£æƒ…å ±èªã¿è¾¼ã¿å‰ã«åå‰è§£æ±ºãƒ‘ケットãŒæ¥ã‚‹å•é¡Œã‚‚ + ä¿®æ£ã•ã‚Œã‚‹ã¯ãšã§ã™ã€‚ pc.c - pc_setpos()‚Åmap_addblock,clif_spawnpc‚̌ĂÑo‚µ‚ðŽ~‚ß‚½B + pc_setpos()ã§map_addblock,clif_spawnpcã®å‘¼ã³å‡ºã—ã‚’æ¢ã‚ãŸã€‚ clif.c - clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ԃ悤‚ÉB + clif_parse_LoadEndAckã§map_addblock,clif_spawnpcを呼ã¶ã‚ˆã†ã«ã€‚ -EinterŽIƒpƒPƒbƒgˆ—‚Ìd‘å‚È–â‘è‚ðC³ - Eˆê“x‚ɃpƒPƒbƒg‚ð‘—M‚Å‚«‚È‚©‚Á‚½ê‡A–³ŒÀƒ‹[ƒv‚Ɋׂé–â‘èC³ +・inter鯖パケット処ç†ã®é‡å¤§ãªå•é¡Œã‚’ä¿®æ£ + ・一度ã«ãƒ‘ケットをé€ä¿¡ã§ããªã‹ã£ãŸå ´åˆã€ç„¡é™ãƒ«ãƒ¼ãƒ—ã«é™¥ã‚‹å•é¡Œä¿®æ£ (char/) char2.c - parse_frommap()C³ + parse_frommap()ä¿®æ£ inter.c - inter_parse_frommap()C³ + inter_parse_frommap()ä¿®æ£ (map/) chrif.c - chrif_parse()C³ + chrif_parse()ä¿®æ£ intif.c - intif_parse()C³ + intif_parse()ä¿®æ£ -EƒMƒ‹ƒh‚Ì‹@”\’ljÁ - E‘¼l‚̃Gƒ“ƒuƒŒƒ€‚ªŒ©‚¦‚é‚悤‚ÉB - EƒƒOƒCƒ“’¼Œã‚ÌŽ©•ª‚̃Gƒ“ƒuƒŒƒ€‚ªŒ©‚¦‚é‚悤‚ÉB - E’E‘Þ‚Å‚«‚é‚悤‚ÉBi’Ç•ú‚Í‚Ü‚¾‚Å‚·j +・ギルドã®æ©Ÿèƒ½è¿½åŠ + ・他人ã®ã‚¨ãƒ³ãƒ–レムãŒè¦‹ãˆã‚‹ã‚ˆã†ã«ã€‚ + ・ãƒã‚°ã‚¤ãƒ³ç›´å¾Œã®è‡ªåˆ†ã®ã‚¨ãƒ³ãƒ–レムãŒè¦‹ãˆã‚‹ã‚ˆã†ã«ã€‚ + ・脱退ã§ãるよã†ã«ã€‚(追放ã¯ã¾ã ã§ã™ï¼‰ - <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> - E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ - EƒMƒ‹ƒhƒXƒLƒ‹‚ÌID‚ª‚í‚©‚élA‹³‚¦‚Ä‚Ù‚µ‚¢‚Å‚·B - 158,205,331‚ ‚½‚è’²‚ׂ܂µ‚½‚ªƒ_ƒ‚È–Í—lB + <ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±å¼•ã続ã模集> + ・016c,016d,0163,015cãªã©ã®è©³ç´°ãªæƒ…å ± + ・ギルドスã‚ルã®IDãŒã‚ã‹ã‚‹äººã€æ•™ãˆã¦ã»ã—ã„ã§ã™ã€‚ + 158,205,331ã‚ãŸã‚Šèª¿ã¹ã¾ã—ãŸãŒãƒ€ãƒ¡ãªæ¨¡æ§˜ã€‚ (common/) mmo.h - MAX_GUILD‚ð36‚ÉB + MAX_GUILDã‚’36ã«ã€‚ (char/) int_guild.c - ’E‘ނ̃pƒPƒbƒg•ÏX + 脱退ã®ãƒ‘ケット変更 inter.c - ƒpƒPƒbƒg’·C³ + ãƒ‘ã‚±ãƒƒãƒˆé•·ä¿®æ£ (map/) clif.c/clif.h - clif_set0078,clif_set007b‚ÌC³ - clif_guild_belonginfo‚ÌC³ - clif_guild_skillinfo’ljÁ + clif_set0078,clif_set007bã®ä¿®æ£ + clif_guild_belonginfoã®ä¿®æ£ + clif_guild_skillinfoè¿½åŠ guild.c/guild.h - ’E‘ނȂǂ̈—’ljÁ + 脱退ãªã©ã®å‡¦ç†è¿½åŠ intif.c/intif.h - ’E‘ނȂǂ̈—’ljÁ‚È‚Ç + 脱退ãªã©ã®å‡¦ç†è¿½åŠ ãªã© ---------- -//0314 by ‚¢‚Ç +//0314 by ã„ã© -EcharŽI‚ÆmapŽI‚ÌŽI”ãŒÀ‚ð30‚Ɉø‚«ã‚° +・char鯖ã¨map鯖ã®é¯–数上é™ã‚’30ã«å¼•ã上㒠login/login.h char/char.h -Emap_athena1.cnf‚ðmap_athena.cnf‚ɃŠƒl[ƒ€ -@‚»‚ê‚É”º‚¢Aathena.sh‚ð•ÏX +・map_athena1.cnfã‚’map_athena.cnfã«ãƒªãƒãƒ¼ãƒ + ãã‚Œã«ä¼´ã„ã€athena.shを変更 -EƒpƒPƒbƒg‰ðÍŽ‘—¿‚ðdoc/‚Ɉړ® +・パケット解æžè³‡æ–™ã‚’doc/ã«ç§»å‹• ---------- -//0313 by ŒÓ’±—– +//0313 by 胡è¶è˜ -EƒMƒ‹ƒh‚Ì‹@”\’ljÁ - EƒMƒ‹ƒhŠ©—U/–ðE“à—e•ÏX/ƒƒ“ƒo[‚Ì–ðE•ÏX‚È‚Ç - Eguild.txt‚Ì‘Ž®‚ª‚Ü‚½•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚·B +・ギルドã®æ©Ÿèƒ½è¿½åŠ + ・ギルド勧誘/å½¹è·å†…容変更/メンãƒãƒ¼ã®å½¹è·å¤‰æ›´ãªã© + ・guild.txtã®æ›¸å¼ãŒã¾ãŸå¤‰ã‚ã‚Šã¾ã—ãŸãŒã€å‰ã®ãƒ‡ãƒ¼ã‚¿ã‚‚èªã¿è¾¼ã‚ã‚‹ã¯ãšã§ã™ã€‚ - <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> - E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ - EŽ©•ªˆÈŠO‚ÌPC‚ÌŠ‘®ƒMƒ‹ƒhID‚ð’Ê’m‚·‚éƒpƒPƒbƒg + <ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±å¼•ã続ã模集> + ・016c,016d,0163,015cãªã©ã®è©³ç´°ãªæƒ…å ± + ・自分以外ã®PCã®æ‰€å±žã‚®ãƒ«ãƒ‰IDを通知ã™ã‚‹ãƒ‘ケット (common/) mmo.h - struct guild ‚ð•ÏX + struct guild を変更 (char/) int_guild.c/inter.c - ˆ—’ljÁ/ƒpƒPƒbƒg’·’ljÁ + 処ç†è¿½åŠ /ãƒ‘ã‚±ãƒƒãƒˆé•·è¿½åŠ (map/) guild.c/guild.h/intif.c/intif.h - ˆ—’ljÁ + 処ç†è¿½åŠ clif.c/clif.h - ƒMƒ‹ƒhŠÖŒW‚̃pƒPƒbƒgˆ—’ljÁ + ギルド関係ã®ãƒ‘ケット処ç†è¿½åŠ -Ehelp.txt‚ðC³ +・help.txtã‚’ä¿®æ£ help.txt -E0311‚É‚æ‚镶Žš‰»‚¯‚ðC³ +・0311ã«ã‚ˆã‚‹æ–‡å—化ã‘ã‚’ä¿®æ£ README map/pc.c ---------- -//0312 by ‚¢‚Ç +//0312 by ã„ã© -E@hƒRƒ}ƒ“ƒh‚ð@help‚É•ÏX -E“Ç‚Ýž‚Þƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`•”•ª‚ð•ÏX +・@hコマンドを@helpã«å¤‰æ›´ +・èªã¿è¾¼ã‚€ãƒžãƒƒãƒ—データã®å®šç¾©éƒ¨åˆ†ã‚’変更 ---------- //0311 by tk44 -EAssassin “ñ“—¬‘•”õAASPD–â‘èC³ +・Assassin 二刀æµè£…å‚™ã€ASPDå•é¡Œä¿®æ£ - map\pc.c pc_equipitem(), pc_calcstatus(), pc_checkitem() -E“ñ“—¬ŠQŒvŽZC³‚Ü‚¾ˆ—’† +・二刀æµå‚·å®³è¨ˆç®—ä¿®æ£ã¾ã 処ç†ä¸ ---------- -//0310 by ŒÓ’±—– +//0310 by 胡è¶è˜ -EƒƒO‚âƒf[ƒ^‚ÉŽg‚¤‰üsƒR[ƒh‚ðmmo.h‚ÅÝ’è‰Â”\‚É +・ãƒã‚°ã‚„データã«ä½¿ã†æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’mmo.hã§è¨å®šå¯èƒ½ã« (common/) mmo.h - RETCODE‚ʼnüsƒR[ƒh‚𕶎š—ñ‚Å’è‹`‚µ‚Ü‚·B - WindowsŒn‚¾‚ÆCR/LF‚È‚Ì‚Å"\r\n",UNIXŒn‚¾‚Æ"\n"‚Å‚·B - •Ê‚ɳ‚µ‚Žw’肵‚È‚‚Ä‚àAthenaŽ©‘Ì‚Í–â‘è‚È‚“®ì‚·‚é‚Í‚¸‚Å‚·B + RETCODEã§æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’æ–‡å—列ã§å®šç¾©ã—ã¾ã™ã€‚ + Windowsç³»ã ã¨CR/LFãªã®ã§"\r\n",UNIXç³»ã ã¨"\n"ã§ã™ã€‚ + 別ã«æ£ã—ã指定ã—ãªãã¦ã‚‚Athena自体ã¯å•é¡Œãªã動作ã™ã‚‹ã¯ãšã§ã™ã€‚ (login/) login2.c (char/) char2.c/int_storage.c/int_party.c/int_guild.c - •Û‘¶‚·‚é‰üsƒR[ƒh‚ðRETCODEˆË‘¶‚É•ÏXB - ‰üsƒR[ƒh‚Ɉˑ¶‚¹‚¸‚É“Ç‚ß‚é‚悤‚ÉC³B + ä¿å˜ã™ã‚‹æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’RETCODEä¾å˜ã«å¤‰æ›´ã€‚ + 改行コードã«ä¾å˜ã›ãšã«èªã‚るよã†ã«ä¿®æ£ã€‚ -EƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç•s–¾‚ȃpƒPƒbƒg‚ª—ˆ‚½‚çƒ_ƒ“ƒv‚·‚é‚悤‚É - E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰»‚·‚ê‚΃_ƒ“ƒv‚µ‚Ü‚¹‚ñB +・クライアントã‹ã‚‰ä¸æ˜Žãªãƒ‘ケットãŒæ¥ãŸã‚‰ãƒ€ãƒ³ãƒ—ã™ã‚‹ã‚ˆã†ã« + ・#define DUMP_UNKNOWN_PACKET 1 をコメント化ã™ã‚Œã°ãƒ€ãƒ³ãƒ—ã—ã¾ã›ã‚“。 clif.c - •s–¾ƒpƒPƒbƒg‚̈—‚Ń_ƒ“ƒvˆ—‚ð’ljÁB + ä¸æ˜Žãƒ‘ケットã®å‡¦ç†ã§ãƒ€ãƒ³ãƒ—処ç†ã‚’è¿½åŠ ã€‚ -EƒMƒ‹ƒh‹@”\‚̒ljÁ - EƒGƒ“ƒuƒŒƒ€•ÏX/’m•ÏXŽÀ‘• - Eguild.txt‚Ì‘Ž®‚ª•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚· +・ギルド機能ã®è¿½åŠ + ・エンブレム変更/告知変更実装 + ・guild.txtã®æ›¸å¼ãŒå¤‰ã‚ã‚Šã¾ã—ãŸãŒã€å‰ã®ãƒ‡ãƒ¼ã‚¿ã‚‚èªã¿è¾¼ã‚ã‚‹ã¯ãšã§ã™ (char/) int_guild.c/inter.c - ƒMƒ‹ƒhƒpƒPƒbƒgˆ—AƒpƒPƒbƒg’· + ギルドパケット処ç†ã€ãƒ‘ケット長 (map/) guild.c/guild.h - ‹@”\’ljÁ + æ©Ÿèƒ½è¿½åŠ intif.c/intif.h - ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’ljÁ + ã‚®ãƒ«ãƒ‰é–¢ä¿‚ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ clif.c/clif.h - ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’ljÁ + ã‚®ãƒ«ãƒ‰é–¢ä¿‚ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ ---------- //0309 by C}{RIS -Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð”͈ÍUŒ‚‰»‚µ‚Ü‚µ‚½B -Eƒvƒƒ“ƒeƒ‰‚É‘•”õ•i”Ì”„NPC‚ð’ljÁ‚µ‚Ü‚µ‚½B - map_athena1.cnf‚Ì - npc_shop1J.txt‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚ê‚Ζ³Œø‚Éo—ˆ‚Ü‚·B -EƒAƒCƒeƒ€‚Ì–¼‘O‚ÆID‚ð‘‚¢‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð“Y•tBiitem.listj +・ボウリングãƒãƒƒã‚·ãƒ¥ã‚’範囲攻撃化ã—ã¾ã—ãŸã€‚ +・プãƒãƒ³ãƒ†ãƒ©ã«è£…å‚™å“販売NPCã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ + map_athena1.cnfã® + npc_shop1J.txtをコメントアウトã™ã‚Œã°ç„¡åŠ¹ã«å‡ºæ¥ã¾ã™ã€‚ +・アイテムã®åå‰ã¨IDを書ã„ãŸãƒ†ã‚ストファイルを添付。(item.list) ---------- -//0308 by Ž€_ -EŽ©‘R‰ñ•œ‚̃vƒƒOƒ‰ƒ€‚ðC³‚µ‚Ü‚µ‚½B - ‚±‚ê‚Å‘åä•v‚¾‚Æ‚¢‚¢‚Å‚·‚ª... - pc.c - pc_natural_heal()“™‚ðC³B - pc_percentheal()‚ð‚µC³B - pc_checkskill()‚ð‚µC³BƒXƒLƒ‹‚ª‚È‚¢ê‡0‚ð•Ô‚·‚悤‚É - •ÏX‚µ‚Ü‚µ‚½B‘¼‚Ì.cƒtƒ@ƒCƒ‹‚àC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚Å - C³‚µ‚Ü‚µ‚½B -E4l–Ú‚Æ5l–ڂ̃Lƒƒƒ‰‚ðÁ‚¹‚È‚¢–â‘è‚ðC³B -EŽn‚ß‚©‚çƒiƒCƒt‚ƃRƒbƒgƒ“ƒVƒƒƒc‚ðŽ‚‚悤‚É•ÏXB -ELOOK_SHEILD‚ðLOOK_SHIELD‚ÉC³B -Emmo_charstatus‚Ìsheild‚ðshield‚ÉC³B -E.logƒtƒ@ƒCƒ‹‚âaccount.txtƒtƒ@ƒCƒ‹‚ðnotepad‚ÅŠJ‚‚Æ—ñ‚ª‘S•”Œq‚¢‚Å‚¢‚é - –â‘è‚ðC³B -E—”‚ðŽžŠÔ‚É‚æ‚Á‚ĉŠú‰»‚·‚é‚悤‚É•ÏXB +//0308 by æ»ç¥ž +・自然回復ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ + ã“ã‚Œã§å¤§ä¸ˆå¤«ã ã¨ã„ã„ã§ã™ãŒ... + pc.c + pc_natural_heal()ç‰ã‚’ä¿®æ£ã€‚ + pc_percentheal()ã‚’å°‘ã—ä¿®æ£ã€‚ + pc_checkskill()ã‚’å°‘ã—ä¿®æ£ã€‚スã‚ルãŒãªã„å ´åˆ0ã‚’è¿”ã™ã‚ˆã†ã« + 変更ã—ã¾ã—ãŸã€‚ä»–ã®.cファイルも修æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã—ãŸã®ã§ + ä¿®æ£ã—ã¾ã—ãŸã€‚ +・4人目ã¨5人目ã®ã‚ャラを消ã›ãªã„å•é¡Œã‚’ä¿®æ£ã€‚ +・始ã‚ã‹ã‚‰ãƒŠã‚¤ãƒ•ã¨ã‚³ãƒƒãƒˆãƒ³ã‚·ãƒ£ãƒ„ã‚’æŒã¤ã‚ˆã†ã«å¤‰æ›´ã€‚ +・LOOK_SHEILDã‚’LOOK_SHIELDã«ä¿®æ£ã€‚ +・mmo_charstatusã®sheildã‚’shieldã«ä¿®æ£ã€‚ +・.logファイルやaccount.txtファイルをnotepadã§é–‹ãã¨åˆ—ãŒå…¨éƒ¨ç¹‹ã„ã§ã„ã‚‹ + å•é¡Œã‚’ä¿®æ£ã€‚ +・乱数を時間ã«ã‚ˆã£ã¦åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ map.c - do_init()‚ð‚µC³B + do_init()ã‚’å°‘ã—ä¿®æ£ã€‚ -‘¼‚É•ÏX‚µ‚½ƒtƒ@ƒCƒ‹‚à‚ ‚è‚Ü‚·‚ª‘S•”Šo‚¦‚Ä‚Ü‚¹‚ñ‚Ì‚Å... +ä»–ã«å¤‰æ›´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚‚ã‚ã‚Šã¾ã™ãŒå…¨éƒ¨è¦šãˆã¦ã¾ã›ã‚“ã®ã§... ---------- -//0307 by ŒÓ’±—– +//0307 by 胡è¶è˜ -EV‹KPC‚̉ŠúˆÊ’u‚ðchar_athena.cnf‚É‘‚¯‚é‚悤‚É‚µ‚½ - start_point: ƒ}ƒbƒv–¼,x,y ‚̂悤‚ÉŽw’肵‚Ü‚·B - <—á> start_point: new_1-1.gat,53,111 +・新è¦PCã®åˆæœŸä½ç½®ã‚’char_athena.cnfã«æ›¸ã‘るよã†ã«ã—㟠+ start_point: マップå,x,y ã®ã‚ˆã†ã«æŒ‡å®šã—ã¾ã™ã€‚ + <例> start_point: new_1-1.gat,53,111 (char/) char2.c -EƒMƒ‹ƒh‚̈ꕔ‹@”\ - EƒMƒ‹ƒh쬂‚ç‚¢‚µ‚©“®‚«‚Ü‚¹‚ñ - EŠ©—U/’E‘Þ/‰ðŽU/î•ñ‚Ì•ÏX/ƒGƒ“ƒuƒŒƒ€/’m‚È‚Ç‚Í‚·‚ׂĖ¢ŽÀ‘•‚Å‚· +・ギルドã®ä¸€éƒ¨æ©Ÿèƒ½ + ・ギルド作æˆãらã„ã—ã‹å‹•ãã¾ã›ã‚“ + ・勧誘/脱退/解散/æƒ…å ±ã®å¤‰æ›´/エンブレム/告知ãªã©ã¯ã™ã¹ã¦æœªå®Ÿè£…ã§ã™ - <ØŽÀ‚È—v–]> - ƒMƒ‹ƒhŠÖŒW‚̃pƒPƒbƒgî•ñ‚ª‘S‘R‘«‚è‚Ü‚¹‚ñB‚í‚©‚él‚Í‹³‚¦‚Ä‚‚¾‚³‚¢B - Œ»Ý‚̂܂܂ł̓Gƒ“ƒuƒŒƒ€‚Æ’m‚‚ç‚¢‚µ‚©ŽÀ‘•‚Å‚«‚È‚¢‰Â”\«‚ªcB + <切実ãªè¦æœ›> + ギルド関係ã®ãƒ‘ã‚±ãƒƒãƒˆæƒ…å ±ãŒå…¨ç„¶è¶³ã‚Šã¾ã›ã‚“。ã‚ã‹ã‚‹äººã¯æ•™ãˆã¦ãã ã•ã„。 + ç¾åœ¨ã®ã¾ã¾ã§ã¯ã‚¨ãƒ³ãƒ–レムã¨å‘ŠçŸ¥ãらã„ã—ã‹å®Ÿè£…ã§ããªã„å¯èƒ½æ€§ãŒâ€¦ã€‚ (common/) mmo.h - ƒMƒ‹ƒhŠÖŒW‚Ì\‘¢‘̂ƒ蔒ljÁ + ギルド関係ã®æ§‹é€ 体ã¨å®šæ•°è¿½åŠ (char/) inter.c - ƒpƒPƒbƒg’·î•ñ’ljÁ + ãƒ‘ã‚±ãƒƒãƒˆé•·æƒ…å ±è¿½åŠ int_guild.c/int_guild.h - ŽÀۂ̈—’ljÁ + 実際ã®å‡¦ç†è¿½åŠ (map/) map.h - struct map_session_data‚ɃMƒ‹ƒhŠÖŒW‚̃ƒ“ƒo’ljÁ + struct map_session_dataã«ã‚®ãƒ«ãƒ‰é–¢ä¿‚ã®ãƒ¡ãƒ³ãƒè¿½åŠ guild.c/guild.h - V‹K’ljÁBƒMƒ‹ƒh‹@”\—p + æ–°è¦è¿½åŠ 。ギルド機能用 pc.c - pc_authok()‚ŃMƒ‹ƒhŠ‘®ŽžAguild_request_info()‚ðŒÄ‚Ԃ悤‚ÉB + pc_authok()ã§ã‚®ãƒ«ãƒ‰æ‰€å±žæ™‚ã€guild_request_info()を呼ã¶ã‚ˆã†ã«ã€‚ clif.c/clif.h - ƒMƒ‹ƒhƒpƒPƒbƒg’ljÁ + ã‚®ãƒ«ãƒ‰ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ intif.c/intif.h - ƒMƒ‹ƒhƒpƒPƒbƒg’ljÁ + ã‚®ãƒ«ãƒ‰ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ -E0303‚Å‚ÌC³uMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚Å`v‚ðŒ³‚É–ß‚µ‚½ - EVPC‚ðì‚é‚Æ‚«‚ɳ‚µ‚HP‚È‚Ç‚ðŒvŽZ‚µ‚Ä‚‚ê‚é‚悤‚É‚È‚Á‚½‚Ì‚Å - –ß‚µ‚Ä‚à•½‹C‚¾‚낤‚Æ—\‘ªB - EƒƒOƒCƒ“’¼Œã‚Éd—ÊŒx‚ªo‚Ä‚µ‚Ü‚¤‚½‚ßB +・0303ã§ã®ä¿®æ£ã€ŒMAXHPãªã©ãŒã‚µãƒ¼ãƒãƒ¼ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ã€œã€ã‚’å…ƒã«æˆ»ã—㟠+ ・新PCを作るã¨ãã«æ£ã—ãHPãªã©ã‚’計算ã—ã¦ãれるよã†ã«ãªã£ãŸã®ã§ + 戻ã—ã¦ã‚‚平気ã ã‚ã†ã¨äºˆæ¸¬ã€‚ + ・ãƒã‚°ã‚¤ãƒ³ç›´å¾Œã«é‡é‡è¦å‘ŠãŒå‡ºã¦ã—ã¾ã†ãŸã‚。 pc.c - pc_authok()‚ÌC³ + pc_authok()ã®ä¿®æ£ -E”͈͎w’蕦‚«‚̈—C³ - E‚Å‚«‚邾‚¯Žw’肵‚½”‚Æ“¯‚¶‚¾‚¯•¦‚‚悤‚É - (áŠQ•¨‚È‚Ç‚É‚æ‚镦‚«–WŠQ‚̉ñ”ðŽ¸”sŽžA‘O‚̉ñ”ðŒ‹‰Ê‚ðŽg‚¤) +・範囲指定沸ãã®å‡¦ç†ä¿®æ£ + ・ã§ãã‚‹ã ã‘指定ã—ãŸæ•°ã¨åŒã˜ã ã‘沸ãよã†ã« + (障害物ãªã©ã«ã‚ˆã‚‹æ²¸ã妨害ã®å›žé¿å¤±æ•—時ã€å‰ã®å›žé¿çµæžœã‚’使ã†) mob.c - mob_once_spawn_area()‚ÌC³ + mob_once_spawn_area()ã®ä¿®æ£ ---------- -//0305 by ‚¢‚Ç -EV‹KPC‚̈ʒu‚ð‰SŽÒC—ûê‚É•ÏXB -EmapŽI‚ªcharŽI‚ÉÚ‘±‚Å‚«‚È‚¢•s‹ï‡‚ÌC³B +//0305 by ã„ã© +・新è¦PCã®ä½ç½®ã‚’åˆå¿ƒè€…ä¿®ç·´å ´ã«å¤‰æ›´ã€‚ +・map鯖ãŒchar鯖ã«æŽ¥ç¶šã§ããªã„ä¸å…·åˆã®ä¿®æ£ã€‚ ---------- -//0304 by Ž€_ -EŽ©‘R‰ñ•œ‚Ì—Ê‚ÆŽžŠÔ‚ð•ÏXBŠØ‘ŽI‚É“K—p‚³‚ê‚Ă镨‚Å‚·‚ª“ú–{‚É‚à - “K—p‚³‚ê‚Ä‚é‚Í‚¸‚Å‚·B(‘½•ª... ‚â‚Á‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚í‚©‚è‚Ü‚¹‚ñBŠ¾) - HP‚Í–ˆ4•b‚É 1 + vit/6 + max_hp/200 ‚ð‰ñ•œA - SP‚Í–ˆ8•b‚É 1 + int/6 + max_sp/100 ‚ð‰ñ•œ‚µ‚Ü‚·B -EƒXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚é‰ñ•œ‚ð - ƒXƒLƒ‹ƒŒƒxƒ‹*5 + max_hp/50‚É•ÏXB -EƒXƒLƒ‹SP‰ñ•œ—ÍŒüã‚É‚æ‚é‰ñ•œ‚ð - ƒXƒLƒ‹ƒŒƒxƒ‹*3 + max_sp/50‚É•ÏXB -EƒXƒLƒ‹ˆÚ“®ŽžHP‰ñ•œŽÀ‘•B - ¡‚ÌŠŽ~‚Ü‚Á‚Ä‚é‚Ì‚Æ”ä‚ׂÄ1/4‚Ì—Ê‚ð‰ñ•œ‚µ‚Ü‚·B(ŽžŠÔ‚Í“¯‚¶‚Å‚·B) -Evit‚Æint‚É‚æ‚Á‚ĉñ•œŽžŠÔ‚ª’Z‚‚È‚é‚Ì‚Å‚Í‚È‚‰ñ•œ—Ê‚ª‘‚¦‚Ü‚·B -EÅ‘åHP‚ÆÅ‘åSP‚ÌŒvŽZŒöŽ®‚ð•ÏXB +//0304 by æ»ç¥ž +・自然回復ã®é‡ã¨æ™‚間を変更。韓国鯖ã«é©ç”¨ã•ã‚Œã¦ã‚‹ç‰©ã§ã™ãŒæ—¥æœ¬ã«ã‚‚ + é©ç”¨ã•ã‚Œã¦ã‚‹ã¯ãšã§ã™ã€‚(多分... ã‚„ã£ã¦ã¾ã›ã‚“ã®ã§ã‚ã‹ã‚Šã¾ã›ã‚“。汗) + HPã¯æ¯Ž4秒㫠1 + vit/6 + max_hp/200 を回復〠+ SPã¯æ¯Ž8秒㫠1 + int/6 + max_sp/100 を回復ã—ã¾ã™ã€‚ +・スã‚ルHP回復力å‘上ã«ã‚ˆã‚‹å›žå¾©ã‚’ + スã‚ルレベル*5 + max_hp/50ã«å¤‰æ›´ã€‚ +・スã‚ルSP回復力å‘上ã«ã‚ˆã‚‹å›žå¾©ã‚’ + スã‚ルレベル*3 + max_sp/50ã«å¤‰æ›´ã€‚ +・スã‚ル移動時HP回復実装。 + 今ã®æ‰€æ¢ã¾ã£ã¦ã‚‹ã®ã¨æ¯”ã¹ã¦1/4ã®é‡ã‚’回復ã—ã¾ã™ã€‚(時間ã¯åŒã˜ã§ã™ã€‚) +・vitã¨intã«ã‚ˆã£ã¦å›žå¾©æ™‚é–“ãŒçŸããªã‚‹ã®ã§ã¯ãªã回復é‡ãŒå¢—ãˆã¾ã™ã€‚ +・最大HPã¨æœ€å¤§SPã®è¨ˆç®—å…¬å¼ã‚’変更。 map.h - int inchealtick‚Ì•Ï‚í‚è‚Éint inchealhptick;‚Æ int inchealsptick;‚ð’ljÁB - int parame[6] ‚ð’ljÁBÅ‘åSP‚ÌŒvŽZ‚ׂ̈̕¨‚Å‘•”õ‚É‚æ‚Á‚Äオ‚Á‚½ - ƒpƒ‰ƒ[ƒ^‚ðŽ‚Á‚ÂB - pc.c - pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()‚ð - Ž©•ª‚̃R[ƒh‚É‘‚«Š·‚¦‚Ü‚µ‚½‚ªˆê‰ž³í‚É“®‚«‚Ü‚·‚ª - ‘¼‚̃R[ƒh‚ɉe‹¿‚ª‚È‚¢‚©‚Ç‚¤‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB - pc_additem()‚ð‚µ‚¾‚¯C³B - hp_coefficient‚ðint‚©‚çdouble‚É•ÏXB - pc_calcstatus()‚Æpc_readdb()‚ðC³B + int inchealtickã®å¤‰ã‚ã‚Šã«int inchealhptick;㨠int inchealsptick;ã‚’è¿½åŠ ã€‚ + int parame[6] ã‚’è¿½åŠ ã€‚æœ€å¤§SPã®è¨ˆç®—ã®ç‚ºã®ç‰©ã§è£…å‚™ã«ã‚ˆã£ã¦ä¸ŠãŒã£ãŸ + パラメータをæŒã£ã¤ã€‚ + pc.c + pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()ã‚’ + 自分ã®ã‚³ãƒ¼ãƒ‰ã«æ›¸ãæ›ãˆã¾ã—ãŸãŒä¸€å¿œæ£å¸¸ã«å‹•ãã¾ã™ãŒ + ä»–ã®ã‚³ãƒ¼ãƒ‰ã«å½±éŸ¿ãŒãªã„ã‹ã©ã†ã‹ã¯ã‚ã‹ã‚Šã¾ã›ã‚“。 + pc_additem()ã‚’å°‘ã—ã ã‘ä¿®æ£ã€‚ + hp_coefficientã‚’intã‹ã‚‰doubleã«å¤‰æ›´ã€‚ + pc_calcstatus()ã¨pc_readdb()ã‚’ä¿®æ£ã€‚ job_db1.txt - E‹Æ‚ÌŒv”‚ð•ÏX‚µ‚Ü‚µ‚½B(ƒNƒ‹ƒZƒCƒ_[“™‚̃f[ƒ^‚Í - Š®‘S‚È•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñB) + è·æ¥ã®è¨ˆæ•°ã‚’変更ã—ã¾ã—ãŸã€‚(クルセイダーç‰ã®ãƒ‡ãƒ¼ã‚¿ã¯ + 完全ãªç‰©ã˜ã‚ƒã‚ã‚Šã¾ã›ã‚“。) -Echar2.c‚ð‚µ‚¾‚¯•ÏXB +・char2.cã‚’å°‘ã—ã ã‘変更。 char2.c - make_new_char()‚ð‚µ‚¾‚¯•ÏXB(ì‚Á‚½’¼Œã‚ÉHP‚ÆSP‚ªŠ®‘S‚É - ‰ñ•œ‚µ‚Ä‚é‚悤‚É•Ï‚¦‚Ü‚µ‚½B) - parse_char()‚ð‚µ‚¾‚¯C³BŠØ‘‚̃Nƒ‰ƒCƒAƒ“ƒg‚ÅŒq‚¢‚Ä‚à - ˆÙ킪‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B(0x187ƒpƒPƒbƒg‚̈—‚ð“ü‚ꂽ‚¾‚¯ - ‚Å‚·‚ª... ‚±‚ê‚ÍYare‚©‚玂Á‚Ä‚«‚½•¨‚Å‚·B) -Estrcmpi“™‚Ìdefine‚ðatcomand.h‚©‚çmmo.h‚Ɉړ®‚µ‚Ü‚µ‚½B - atcomand.h, mmo.h C³B -E‰ñ•œƒAƒCƒeƒ€‚ðŽg—p‚·‚鎞vit‚ƃXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ª•t‚ - ‚悤‚É•ÏXBƒ{[ƒiƒX‚Í - ‰ñ•œ—Ê *(1 + HP‰ñ•œ—ÍŒüãƒXƒLƒ‹ƒŒƒxƒ‹*0.1 + vit/100) - ‚É‚È‚è‚Ü‚·B -EƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð‰¼ŽÀ‘•B(‰ñ•œ‚Í‚µ‚Ü‚·‚ªƒGƒtƒFƒNƒg‚ª - o‚Ü‚¹‚ñBitem_db‚Ń^ƒCƒv‚ð•Ï‚¦‚Ä‚à‘Ê–Ú‚Å‚µ‚½B) + make_new_char()ã‚’å°‘ã—ã ã‘変更。(作ã£ãŸç›´å¾Œã«HPã¨SPãŒå®Œå…¨ã« + 回復ã—ã¦ã‚‹ã‚ˆã†ã«å¤‰ãˆã¾ã—ãŸã€‚) + parse_char()ã‚’å°‘ã—ã ã‘ä¿®æ£ã€‚韓国ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ç¹‹ã„ã¦ã‚‚ + 異常ãŒãªã„よã†ã«ã—ã¾ã—ãŸã€‚(0x187パケットã®å‡¦ç†ã‚’入れãŸã ã‘ + ã§ã™ãŒ... ã“ã‚Œã¯Yareã‹ã‚‰æŒã£ã¦ããŸç‰©ã§ã™ã€‚) +・strcmpiç‰ã®defineã‚’atcomand.hã‹ã‚‰mmo.hã«ç§»å‹•ã—ã¾ã—ãŸã€‚ + atcomand.h, mmo.h ä¿®æ£ã€‚ +・回復アイテムを使用ã™ã‚‹æ™‚vitã¨ã‚¹ã‚ルHP回復力å‘上ã«ã‚ˆã‚‹ãƒœãƒ¼ãƒŠã‚¹ãŒä»˜ã + よã†ã«å¤‰æ›´ã€‚ボーナス㯠+ å›žå¾©é‡ *(1 + HP回復力å‘上スã‚ルレベル*0.1 + vit/100) + ã«ãªã‚Šã¾ã™ã€‚ +・イグドラシルã®å®Ÿã¨ã‚¤ã‚°ãƒ‰ãƒ©ã‚·ãƒ«ã®ç¨®ã‚’仮実装。(回復ã¯ã—ã¾ã™ãŒã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒ + 出ã¾ã›ã‚“。item_dbã§ã‚¿ã‚¤ãƒ—を変ãˆã¦ã‚‚駄目ã§ã—ãŸã€‚) script.c - buildin_fixheal()‚Æbuildin_percentheal()‚ð’ljÁB - buildin_fixheal()‚Íbuildin_heal()‚ªƒXƒLƒ‹‚Ævit‚É‚æ‚Á‚ĉñ•œ—Ê‚ª•Ï‚í‚é - Žd—l‚É‚È‚Á‚½‚Ì‚ÅŒ³‚Ìbuildin_heal()‚Ì–¼‘O‚¾‚¯‚ð•Ï‚¦‚½•¨‚Å‚·B - buildin_percentheal()‚Í“ü—Í‚³‚ꂽ”Žš‚ð%‚Æ‚µ‚ÄHP‚ÆSP‚ðÅ‘åHP‚Æ - Å‘åSP‚ð %”ä—¦‚ɉñ•œ‚µ‚Ü‚·B - ƒXƒNƒŠƒvƒgfixheal A percentheal ’ljÁBŽg—p•û–@‚Íheal‚Æ“¯‚¶‚Å‚·B - fixheal‚Ívit‚ƃXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ª‚È‚¢•¨‚Å - percentheal ‚ÍŒã‚Ì”Žš‚ð %‚É”FŽ¯‚µ‚Ü‚·B + buildin_fixheal()ã¨buildin_percentheal()ã‚’è¿½åŠ ã€‚ + buildin_fixheal()ã¯buildin_heal()ãŒã‚¹ã‚ルã¨vitã«ã‚ˆã£ã¦å›žå¾©é‡ãŒå¤‰ã‚ã‚‹ + 仕様ã«ãªã£ãŸã®ã§å…ƒã®buildin_heal()ã®åå‰ã ã‘を変ãˆãŸç‰©ã§ã™ã€‚ + buildin_percentheal()ã¯å…¥åŠ›ã•ã‚ŒãŸæ•°å—ã‚’%ã¨ã—ã¦HPã¨SPを最大HP㨠+ 最大SPã‚’ %比率ã«å›žå¾©ã—ã¾ã™ã€‚ + スクリプトfixheal 〠percentheal è¿½åŠ ã€‚ä½¿ç”¨æ–¹æ³•ã¯healã¨åŒã˜ã§ã™ã€‚ + fixhealã¯vitã¨ã‚¹ã‚ルHP回復力å‘上ã«ã‚ˆã‚‹ãƒœãƒ¼ãƒŠã‚¹ãŒãªã„物㧠+ percentheal ã¯å¾Œã®æ•°å—ã‚’ %ã«èªè˜ã—ã¾ã™ã€‚ pc.h pc.c - pc_percentheal()‚ð’ljÁB - item_db.txtAitem_db2.txt - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð•ÏXB + pc_percentheal()ã‚’è¿½åŠ ã€‚ + item_db.txtã€item_db2.txt + イグドラシルã®å®Ÿã¨ã‚¤ã‚°ãƒ‰ãƒ©ã‚·ãƒ«ã®ç¨®ã‚’変更。 ---------- -//0303 by ŒÓ’±—– +//0303 by 胡è¶è˜ -E*.grf‚̃pƒX‚ðmap_athena.cnf‚É‚à‘‚¯‚é‚悤‚É‚µ‚½B - Emap_athena.cnf‚Éudata_grf: ../data/data.grfv‚â - usdata_grf: ../sakurai/sdata.grfv‚̂悤‚ɃpƒXŽw’è‚Å‚«‚Ü‚·B - Egrf-files.txt‚ª‚ ‚éꇂ»‚¿‚ç‚Ìݒ肪—D悳‚ê‚Ü‚· +・*.grfã®ãƒ‘スをmap_athena.cnfã«ã‚‚書ã‘るよã†ã«ã—ãŸã€‚ + ・map_athena.cnfã«ã€Œdata_grf: ../data/data.grfã€ã‚„ + 「sdata_grf: ../sakurai/sdata.grfã€ã®ã‚ˆã†ã«ãƒ‘ス指定ã§ãã¾ã™ã€‚ + ・grf-files.txtãŒã‚ã‚‹å ´åˆãã¡ã‚‰ã®è¨å®šãŒå„ªå…ˆã•ã‚Œã¾ã™ (common/) grfio.c/grfio.h - grfio_setdatafile(),grfio_setsdatafile()’ljÁB - data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ȃOƒ[ƒoƒ‹•Ï”‚É•ÏXB + grfio_setdatafile(),grfio_setsdatafile()è¿½åŠ ã€‚ + data_file,sdata_fileをファイルãƒãƒ¼ã‚«ãƒ«ãªã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã«å¤‰æ›´ã€‚ -E@stpoint,@skpoint‚É•‰’lŽw’è‚͈̔̓`ƒFƒbƒN‚ð’ljÁ -E@zenyƒRƒ}ƒ“ƒh’ljÁiƒ[ƒj[‚Ì’²®j -E@str,@agi,@vit,@int,@dex,@lukƒRƒ}ƒ“ƒh’ljÁiŠî–{ƒpƒ‰ƒ[ƒ^’²®j +・@stpoint,@skpointã«è² 値指定ã®ç¯„囲ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ +・@zenyã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ï¼ˆã‚¼ãƒ‹ãƒ¼ã®èª¿æ•´ï¼‰ +・@str,@agi,@vit,@int,@dex,@lukã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ï¼ˆåŸºæœ¬ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿èª¿æ•´ï¼‰ atcommand.c - @stpoint,@skpointC³ - @zeny,@str,@agi,@vit,@int,@dex,@luk’ljÁ + @stpoint,@skpointä¿®æ£ + @zeny,@str,@agi,@vit,@int,@dex,@lukè¿½åŠ -Eƒƒ}[ƒiƒCƒg‚ðŽg‚¤‚Æ‚Ú‚Á‚½‚‚ç‚ê‚Ä‚¢‚½–â‘è‚ðC³ -E•Ší»‘¢•”•ª‚̃R[ƒh‚𑽕ÏX - EÞ—¿Á”‚ðƒAƒCƒeƒ€‚ª•¡”ƒCƒ“ƒfƒbƒNƒX‚É•ª‚©‚ê‚Ä‚¢‚éꇂɑΉž‚³‚¹‚½ - i‚R–œŒÂŒÀŠE‚ð’´‚¦‚é‚ƕʃCƒ“ƒfƒbƒNƒX‚ðŽg‚¤Žd—l‚¾‚Á‚½‹C‚ª‚·‚é‚Ì‚Åj - EŽ¸”sŽž‚É‚àŽü‚è‚É’Ê’m‚·‚é‚悤‚É‚µ‚½ +・メマーナイトを使ã†ã¨ã¼ã£ãŸãられã¦ã„ãŸå•é¡Œã‚’ä¿®æ£ +・æ¦å™¨è£½é€ 部分ã®ã‚³ãƒ¼ãƒ‰ã‚’多少変更 + ・æ料消費処ç†ã‚’アイテムãŒè¤‡æ•°ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«åˆ†ã‹ã‚Œã¦ã„ã‚‹å ´åˆã«å¯¾å¿œã•ã›ãŸ + (3万個é™ç•Œã‚’超ãˆã‚‹ã¨åˆ¥ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ã†ä»•æ§˜ã ã£ãŸæ°—ãŒã™ã‚‹ã®ã§ï¼‰ + ・失敗時ã«ã‚‚周りã«é€šçŸ¥ã™ã‚‹ã‚ˆã†ã«ã—㟠skill.c - skill_check_condition()‚ÌC³ - skill_produce_mix()‚ÌC³ + skill_check_condition()ã®ä¿®æ£ + skill_produce_mix()ã®ä¿®æ£ -E•Ší»‘¢Šm—¦‚ðconfƒtƒ@ƒCƒ‹‚Å”{—¦Žw’è‚Å‚«‚é‚悤‚ÉC³ +・æ¦å™¨è£½é€ 確率をconfファイルã§å€çŽ‡æŒ‡å®šã§ãるよã†ã«ä¿®æ£ (conf/) battle_athena.cnf - weapon_produce_rate’ljÁ + weapon_produce_rateè¿½åŠ (map/) skill.c - skill_produce_mix()‚ÌC³ + skill_produce_mix()ã®ä¿®æ£ -E•ŠíATKƒTƒCƒY•â³ƒe[ƒuƒ‹‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ -E¸˜B¬Œ÷Šm—¦/¸˜Bƒ{[ƒiƒX‚È‚Ç‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ -E‰ß踘Bƒ{[ƒiƒX‚É‚æ‚é’ljÁƒ_ƒ[ƒWŽÀ‘• +・æ¦å™¨ATKサイズ補æ£ãƒ†ãƒ¼ãƒ–ルを外部ã‹ã‚‰èªã¿è¾¼ã‚€ã‚ˆã†ã«ã—㟠+・精錬æˆåŠŸç¢ºçŽ‡/精錬ボーナスãªã©ã‚’外部ã‹ã‚‰èªã¿è¾¼ã‚€ã‚ˆã†ã«ã—㟠+・éŽå‰°ç²¾éŒ¬ãƒœãƒ¼ãƒŠã‚¹ã«ã‚ˆã‚‹è¿½åŠ ダメージ実装 (db/) size_fix.txt - ƒTƒCƒY•â³ƒe[ƒuƒ‹ + サイズ補æ£ãƒ†ãƒ¼ãƒ–ル refine_db.txt - ¸˜BŠÖŒWƒf[ƒ^ + 精錬関係データ (map/) pc.c - pc_readdb()‚Å“Ç‚Ýž‚Ý + pc_readdb()ã§èªã¿è¾¼ã¿ battle.c - battle_calc_weapon_attack()‚ɉß踘Bƒ{[ƒiƒXˆ—’ljÁ + battle_calc_weapon_attack()ã«éŽå‰°ç²¾éŒ¬ãƒœãƒ¼ãƒŠã‚¹å‡¦ç†è¿½åŠ -EMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňႤ’l‚ÉŒ©‚¦‚éƒoƒOC³ - ƒƒOƒCƒ“’¼Œã‚̃Xƒe[ƒ^ƒXŒvŽZ‚ÌŒ‹‰Ê‚𒼂¿‚É‘—M‚·‚é‚悤‚É‚µ‚½ +・MAXHPãªã©ãŒã‚µãƒ¼ãƒãƒ¼ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§é•ã†å€¤ã«è¦‹ãˆã‚‹ãƒã‚°ä¿®æ£ + ãƒã‚°ã‚¤ãƒ³ç›´å¾Œã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¨ˆç®—ã®çµæžœã‚’ç›´ã¡ã«é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ã—㟠(map/) pc.c - pc_authok()‚Å‚Ìpc_calcstatus()‚̃tƒ‰ƒO‚ð0‚É‚µ‚½ - ‚±‚ê‚Åpc_calcstatus()‚̃tƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–¢Žg—pH + pc_authok()ã§ã®pc_calcstatus()ã®ãƒ•ãƒ©ã‚°ã‚’0ã«ã—㟠+ ã“ã‚Œã§pc_calcstatus()ã®ãƒ•ãƒ©ã‚°ãƒ‘ラメータã¯æœªä½¿ç”¨ï¼Ÿ -Eitem_db‚Ìu”EŽÒƒX|ƒcv‚ðu”EŽÒƒX[ƒcv‚ÉC³ +・item_dbã®ã€Œå¿è€…ス−ツã€ã‚’「å¿è€…スーツã€ã«ä¿®æ£ (db/) item_db.txt/item_db2.txt - ”EŽÒƒX[ƒc‚Ì–¼Ì•ÏX + å¿è€…スーツã®å称変更 -EƒƒOƒCƒ“l”‚𒲂ׂéƒc[ƒ‹‚ð“Y•t - Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B - Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚‚¾‚³‚¢B - Žg‚¢•û‚ª—Ç‚‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B +・ãƒã‚°ã‚¤ãƒ³äººæ•°ã‚’調ã¹ã‚‹ãƒ„ールを添付 + Perl製ãªã®ã§å®Ÿè¡Œã«ã¯PerlãŒå¿…è¦ã§ã™ã€‚ + 使用方法ãªã©ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã§é–‹ã„ã¦è¦‹ã¦ãã ã•ã„。 + 使ã„æ–¹ãŒè‰¯ãã‚ã‹ã‚‰ãªã„人ã¯æ‰‹ã‚’出ã•ãªã„ã»ã†ãŒã„ã„ã§ã™ã€‚ (tool/) getlogincount - ƒƒOƒCƒ“l”Š“¾PerlƒXƒNƒŠƒvƒg + ãƒã‚°ã‚¤ãƒ³äººæ•°æ‰€å¾—Perlスクリプト ---------- -//0302 by Ž€_ -EƒAƒCƒeƒ€»‘¢ Šm—¦”»’èŽÀ‘•B - “S‚ÌꇬŒ÷—¦‚Í - (20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*6)% - |“S‚Æ‘®«ÎA¯‚Ì‚©‚¯‚ç‚Ìê‡ - (10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5)% - •Ší‚Í - ((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5 + - ‹à•~ - ‘®«Î‚Ư‚Ì‚©‚¯‚ç) * (1 - (•ŠíƒŒƒxƒ‹ - 1)*0.2) + - ƒXƒLƒ‹•ŠíŒ¤‹†ƒŒƒxƒ‹*1)% - ‹à•~: ‚È‚¢ê‡ -5%‚Å‹à•~‚Í 0%AƒIƒŠƒfƒIƒRƒ“‚Ì‹à•~‚Í - 2.5%A‰©‹à‚Ì‹à•~‚Í 5%AƒGƒ“ƒyƒŠƒEƒ€‚Ì‹à•~‚Í 7.5% - ‘®«Î‚Ư‚Ì‚©‚¯‚ç: ‘®«Î‚ª‚ ‚éê‡ 5%‚ÅX‚É - ¯‚Ì‚©‚¯‚ç‚Ì” * 5%‚ð‘«‚µ‚Ü‚·B - ‚É‚È‚è‚Ü‚·‚ª‚¿‚å‚Á‚ÆŠm—¦‚ª’á‚·‚¬‚é‹C‚à‚µ‚Ü‚·‚Ì‚Å - base_level*0.3 + DEX*0.2 + LUK*0.1‚ðbase_level*0.5 + DEX*0.4 + LUK*0.3‚É - base_level*0.15 + DEX*0.1 + LUK*0.05‚ðbase_level*0.4 + DEX*0.3 + LUK*0.2 - ’ö“x‚É•Ï‚¦‚½•û‚ª‚¢‚¢‚©‚à’m‚è‚Ü‚¹‚ñB - skill.c - skill_can_produce_mix() ‚Æ skill_produce_mix() ‚ðC³B +//0302 by æ»ç¥ž +ãƒ»ã‚¢ã‚¤ãƒ†ãƒ è£½é€ ç¢ºçŽ‡åˆ¤å®šå®Ÿè£…ã€‚ + 鉄ã®å ´åˆæˆåŠŸçŽ‡ã¯ + (20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + è¦æ±‚スã‚ルレベル*6)% + 鋼鉄ã¨å±žæ€§çŸ³ã€æ˜Ÿã®ã‹ã‘らã®å ´åˆ + (10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + è¦æ±‚スã‚ルレベル*5)% + æ¦å™¨ã¯ + ((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + è¦æ±‚スã‚ルレベル*5 + + 金敷 - 属性石ã¨æ˜Ÿã®ã‹ã‘ら) * (1 - (æ¦å™¨ãƒ¬ãƒ™ãƒ« - 1)*0.2) + + スã‚ルæ¦å™¨ç ”究レベル*1)% + 金敷: ãªã„å ´åˆ -5%ã§é‡‘敷㯠0%ã€ã‚ªãƒªãƒ‡ã‚ªã‚³ãƒ³ã®é‡‘敷㯠+ 2.5%ã€é»„金ã®é‡‘敷㯠5%ã€ã‚¨ãƒ³ãƒšãƒªã‚¦ãƒ ã®é‡‘敷㯠7.5% + 属性石ã¨æ˜Ÿã®ã‹ã‘ら: 属性石ãŒã‚ã‚‹å ´åˆ 5%ã§æ›´ã« + 星ã®ã‹ã‘らã®æ•° * 5%を足ã—ã¾ã™ã€‚ + ã«ãªã‚Šã¾ã™ãŒã¡ã‚‡ã£ã¨ç¢ºçŽ‡ãŒä½Žã™ãŽã‚‹æ°—ã‚‚ã—ã¾ã™ã®ã§ + base_level*0.3 + DEX*0.2 + LUK*0.1ã‚’base_level*0.5 + DEX*0.4 + LUK*0.3ã« + base_level*0.15 + DEX*0.1 + LUK*0.05ã‚’base_level*0.4 + DEX*0.3 + LUK*0.2 + 程度ã«å¤‰ãˆãŸæ–¹ãŒã„ã„ã‹ã‚‚知りã¾ã›ã‚“。 + skill.c + skill_can_produce_mix() 㨠skill_produce_mix() ã‚’ä¿®æ£ã€‚ produce_db.txt - ¯‚Ì‚©‚¯‚ç‚ðƒXƒLƒ‹‘®«Î»‘¢‚ª•K—v‚É•ÏXB -E*.grf“™‚ðÝ’u‚¹‚¸ƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì“Ç‚Ýž‚ނ悤‚ÉC³B(‚±‚ê‚ÍYare‚©‚ç - Ž‚¿ž‚ñ‚¾•¨‚Å‚·‚ª...) + 星ã®ã‹ã‘らをスã‚ãƒ«å±žæ€§çŸ³è£½é€ ãŒå¿…è¦ã«å¤‰æ›´ã€‚ +・*.grfç‰ã‚’è¨ç½®ã›ãšãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®èªã¿è¾¼ã‚€ã‚ˆã†ã«ä¿®æ£ã€‚(ã“ã‚Œã¯Yareã‹ã‚‰ + æŒã¡è¾¼ã‚“ã 物ã§ã™ãŒ...) grfio.c - grfio_init()‚ðC³B + grfio_init()ã‚’ä¿®æ£ã€‚ grf-file.txt - V‹K’ljÁBgrfƒtƒ@ƒCƒ‹‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’è—pB -E“Ç‚Ýž‚Þƒ}ƒbƒv‚Ìő唂ð512‚ÉC³B + æ–°è¦è¿½åŠ 。grfファイルãŒã‚るディレクトリè¨å®šç”¨ã€‚ +・èªã¿è¾¼ã‚€ãƒžãƒƒãƒ—ã®æœ€å¤§æ•°ã‚’512ã«ä¿®æ£ã€‚ mmo.h - MAX_MAP_PER_SERVER‚ð384‚©‚ç512‚ÉC³B -Epc.c‚Épc_search_inventory()‚ð’ljÁB - ‹@”\‚Íitem_id‚̃AƒCƒeƒ€‚ðŽ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚ðŠm”F‚µ‚Ä - Ž‚Á‚Ä‚éꇂ»‚Ìindex‚ð•Ô‚·B - item_id‚ª0‚Ìꇂ͋󂯂Ă銂Ìindex‚ð•Ô‚·B - pc_additem()‚Æpc_takeitem()‚¾‚¯‚ð‚µC³B -EGMƒRƒ}ƒ“ƒh‚É@stpoint‚Æ@skpoint‚ð’ljÁB - @stpoint ”Žš - ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðã‚°‚éB - @skpoint ”Žš - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðã‚°‚éB + MAX_MAP_PER_SERVERã‚’384ã‹ã‚‰512ã«ä¿®æ£ã€‚ +・pc.cã«pc_search_inventory()ã‚’è¿½åŠ ã€‚ + 機能ã¯item_idã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’æŒã£ã¦ã‚‹ã‹ã©ã†ã‹ã‚’確èªã—㦠+ æŒã£ã¦ã‚‹å ´åˆãã®indexã‚’è¿”ã™ã€‚ + item_idãŒ0ã®å ´åˆã¯ç©ºã‘ã¦ã‚‹æ‰€ã®indexã‚’è¿”ã™ã€‚ + pc_additem()ã¨pc_takeitem()ã ã‘ã‚’å°‘ã—ä¿®æ£ã€‚ +・GMコマンドã«@stpointã¨@skpointã‚’è¿½åŠ ã€‚ + @stpoint æ•°å— - ステータスãƒã‚¤ãƒ³ãƒˆã‚’上ã’る。 + @skpoint æ•°å— - スã‚ルãƒã‚¤ãƒ³ãƒˆã‚’上ã’る。 atcomand.c - C³B + ä¿®æ£ã€‚ atcomand.h - strcmpi“™‚ðLinux‚Å‚àŽg‚¦‚é‚悤‚ÉC³B + strcmpiç‰ã‚’Linuxã§ã‚‚使ãˆã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ ---------- -//0301 by ŒÓ’±—– +//0301 by 胡è¶è˜ -EÅ‘åHP‚ª32767‚ð’´‚¦‚é‚ƈÙí‚È’l‚É‚È‚é–â‘è‚ÌC³ -ELv‚ª99‚ð’´‚¦‚é‚Æ‚«‚àƒGƒtƒFƒNƒg‚ðo‚·‚悤‚É‚µ‚½(Ž©•ª‚É‚ÍŒ©‚¦‚È‚¢–Í—l) -E”z’uMOB‚É‚æ‚éƒCƒxƒ“ƒg‚ŃCƒxƒ“ƒg–¼‚ª‚SƒoƒCƒgˆÈã‚Æ‚¢‚¤§ŒÀ‚ð‚‚¯‚½ -EteleportŽž‚ÉŽæˆø’†’fAƒ`ƒƒƒbƒg‘ÞŽºA‘qŒÉ•Û‘¶ˆ—‚ð‚·‚é‚悤‚É‚µ‚½ +・最大HPãŒ32767を超ãˆã‚‹ã¨ç•°å¸¸ãªå€¤ã«ãªã‚‹å•é¡Œã®ä¿®æ£ +・LvãŒ99を超ãˆã‚‹ã¨ãもエフェクトを出ã™ã‚ˆã†ã«ã—ãŸ(自分ã«ã¯è¦‹ãˆãªã„模様) +・é…ç½®MOBã«ã‚ˆã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã§ã‚¤ãƒ™ãƒ³ãƒˆåãŒï¼”ãƒã‚¤ãƒˆä»¥ä¸Šã¨ã„ã†åˆ¶é™ã‚’ã¤ã‘㟠+・teleport時ã«å–引ä¸æ–ã€ãƒãƒ£ãƒƒãƒˆé€€å®¤ã€å€‰åº«ä¿å˜å‡¦ç†ã‚’ã™ã‚‹ã‚ˆã†ã«ã—㟠pc.c - pc_calcstatus()‚ÌC³(HPŒvŽZ) - pc_setpos()‚ÌC³(Žæˆø’†’f‚È‚Ç) + pc_calcstatus()ã®ä¿®æ£(HP計算) + pc_setpos()ã®ä¿®æ£(å–引ä¸æ–ãªã©) clif.c - clif_set0078(),clif_set007b(),clif_spawnpc()‚ÌC³(Lv99ƒGƒtƒFƒNƒg) + clif_set0078(),clif_set007b(),clif_spawnpc()ã®ä¿®æ£(Lv99エフェクト) npc.c - npc_parse_mob()‚ÌC³ + npc_parse_mob()ã®ä¿®æ£ -E@h‚Åhelp.txt‚ª“Ç‚ß‚È‚¢‚Æ‚«‚É—Ž‚¿‚éƒoƒOC³ -E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ê‚é‚ÆLvƒ_ƒEƒ“‚ª‰Â”\‚É‚È‚Á‚½ +・@hã§help.txtãŒèªã‚ãªã„ã¨ãã«è½ã¡ã‚‹ãƒã‚°ä¿®æ£ +・@lvup/@joblvupã§è² 値を入れるã¨LvダウンãŒå¯èƒ½ã«ãªã£ãŸ atcommand.c - @h,@lvup,@joblvupˆ—‚ÌC³ + @h,@lvup,@joblvup処ç†ã®ä¿®æ£ -EƒeƒŒƒ|[ƒg‚È‚Ç‚ÌÁ–ŃGƒtƒFƒNƒg‚ÌC³ +・テレãƒãƒ¼ãƒˆãªã©ã®æ¶ˆæ»…エフェクトã®ä¿®æ£ skill.c - ƒeƒŒƒ|‚ÌÁ–ŃGƒtƒFƒNƒg‚ð•ÏX + テレãƒã®æ¶ˆæ»…エフェクトを変更 -Eó‘ÔˆÙí‚ÉŠÖ‚·‚éƒXƒNƒŠƒvƒgŽÀ‘• [sc_start]‚Æ[sc_end]B -E—ÎPOTA—΃n[ƒu‚È‚ÇŽÀ‘• -E‘•”õƒ{[ƒiƒXƒf[ƒ^’ljÁ +・状態異常ã«é–¢ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—ト実装 [sc_start]ã¨[sc_end]。 +・緑POTã€ç·‘ãƒãƒ¼ãƒ–ãªã©å®Ÿè£… +ãƒ»è£…å‚™ãƒœãƒ¼ãƒŠã‚¹ãƒ‡ãƒ¼ã‚¿è¿½åŠ (db/) item_db.txt/item_db2.txt - ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’ljÁ - —ÎPOTA—΃n[ƒu‚Ȃǂ̃XƒNƒŠƒvƒg’ljÁ + è£…å‚™ãƒœãƒ¼ãƒŠã‚¹ãƒ‡ãƒ¼ã‚¿ã‚’è¿½åŠ + ç·‘POTã€ç·‘ãƒãƒ¼ãƒ–ãªã©ã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ (map/) script.c - buildin_warp()‚ÅÁ–ŃGƒtƒFƒNƒg‚ð•ÏX - buildin_sc_start(),buildin_sc_end()’ljÁ + buildin_warp()ã§æ¶ˆæ»…エフェクトを変更 + buildin_sc_start(),buildin_sc_end()è¿½åŠ ---------- -//0299 by ŒÓ’±—– - -ENPCƒCƒxƒ“ƒg‚ŃGƒNƒXƒ|[ƒg‚³‚ꂽƒ‰ƒxƒ‹‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚½ - NPCƒXƒNƒŠƒvƒg‚ÅOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’è‹`‚·‚é‚ÆAƒGƒNƒXƒ|[ƒg‚µ‚Ü‚·B - NPCƒCƒxƒ“ƒg‚Å"NPC–¼(orƒCƒxƒ“ƒg–¼)::ƒ‰ƒxƒ‹–¼"‚Æ‚·‚é‚ÆA - Žw’肵‚½ƒ‰ƒxƒ‹‚©‚çŽÀs‚Å‚«‚Ü‚·B - ƒ‰ƒxƒ‹–¼‚Í24ƒoƒCƒgˆÈ“à‚É‚µ‚ĉº‚³‚¢B - ‚ ‚ƃvƒƒOƒ‰ƒ€“I‚Ƀƒ‚ƒŠŒø—¦ˆ«‚¢‚Å‚·BŒã“úC³—\’è - <—á> - NPCutestv‚̃XƒNƒŠƒvƒg“à‚Å OnEvent: ‚ƃ‰ƒxƒ‹’è‹`‚µ‚½ê‡A - NPCƒCƒxƒ“ƒgutest::OnEventv‚ÅŽw’èˆÊ’u‚©‚çŽÀs‚Å‚«‚Ü‚·B +//0299 by 胡è¶è˜ + +・NPCイベントã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚ŒãŸãƒ©ãƒ™ãƒ«ã‚’指定ã§ãるよã†ã«ã—㟠+ NPCスクリプトã§On〜ã§å§‹ã¾ã‚‹ãƒ©ãƒ™ãƒ«ã‚’定義ã™ã‚‹ã¨ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ + NPCイベントã§"NPCå(orイベントå)::ラベルå"ã¨ã™ã‚‹ã¨ã€ + 指定ã—ãŸãƒ©ãƒ™ãƒ«ã‹ã‚‰å®Ÿè¡Œã§ãã¾ã™ã€‚ + ラベルåã¯24ãƒã‚¤ãƒˆä»¥å†…ã«ã—ã¦ä¸‹ã•ã„。 + ã‚ã¨ãƒ—ãƒã‚°ãƒ©ãƒ çš„ã«ãƒ¡ãƒ¢ãƒªåŠ¹çŽ‡æ‚ªã„ã§ã™ã€‚後日修æ£äºˆå®š + <例> + NPC「testã€ã®ã‚¹ã‚¯ãƒªãƒ—ト内㧠OnEvent: ã¨ãƒ©ãƒ™ãƒ«å®šç¾©ã—ãŸå ´åˆã€ + NPCイベント「test::OnEventã€ã§æŒ‡å®šä½ç½®ã‹ã‚‰å®Ÿè¡Œã§ãã¾ã™ã€‚ (conf/) npc_test_ev.txt - ƒ‰ƒxƒ‹Žw’è‚̃Tƒ“ƒvƒ‹‚à‚¿‚傱‚Á‚ƒljÁ + ラベル指定ã®ã‚µãƒ³ãƒ—ルもã¡ã‚‡ã“ã£ã¨è¿½åŠ (map/) script.c/script.h - script_get_label_db()‚Ȃǂ̒ljÁB - parse_script‚Åscriptlabel_db‚Ƀ‰ƒxƒ‹ƒf[ƒ^‚ð’ljÁ‚·‚é + script_get_label_db()ãªã©ã®è¿½åŠ 。 + parse_scriptã§scriptlabel_dbã«ãƒ©ãƒ™ãƒ«ãƒ‡ãƒ¼ã‚¿ã‚’è¿½åŠ ã™ã‚‹ npc.c/npc.h - npc_event_export()‚ȂǒljÁ - npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é + npc_event_export()ãªã©è¿½åŠ + npc_parse_scriptã§ãƒ©ãƒ™ãƒ«ãƒ‡ãƒ¼ã‚¿ã‚’エクスãƒãƒ¼ãƒˆã™ã‚‹ map.h - struct map_session_data ‚Ìeventqueue‚̃Cƒxƒ“ƒg–¼‚̃TƒCƒY‚ð - 50ƒoƒCƒg‚É‚µ‚½B + struct map_session_data ã®eventqueueã®ã‚¤ãƒ™ãƒ³ãƒˆåã®ã‚µã‚¤ã‚ºã‚’ + 50ãƒã‚¤ãƒˆã«ã—ãŸã€‚ -EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ÌÅ‘å’l‚ð180‚©‚ç190‚É•ÏX +・AGIã¨DEXã«ã‚ˆã‚‹ASPD計算ã®æœ€å¤§å€¤ã‚’180ã‹ã‚‰190ã«å¤‰æ›´ pc.c - pc_calcstatus()‚ÌASPDŒvŽZC³ + pc_calcstatus()ã®ASPDè¨ˆç®—ä¿®æ£ -Eskill_db.txt/cast_db.txt‚Ì“Ç‚Ýž‚Ý‚ðskill.c‚É•ÏX +・skill_db.txt/cast_db.txtã®èªã¿è¾¼ã¿ã‚’skill.cã«å¤‰æ›´ pc.c - pc_readdb()‚ÌC³ + pc_readdb()ã®ä¿®æ£ skill.c - skill_readdb()‚̒ljÁ + skill_readdb()ã®è¿½åŠ -EƒAƒCƒeƒ€»‘¢‰¼ŽÀ‘• - Šm—¦”»’肪–¢ŽÀ‘•‚Å‚·B•K‚¸¬Œ÷‚µ‚Ü‚·B +ãƒ»ã‚¢ã‚¤ãƒ†ãƒ è£½é€ ä»®å®Ÿè£… + 確率判定ãŒæœªå®Ÿè£…ã§ã™ã€‚å¿…ãšæˆåŠŸã—ã¾ã™ã€‚ (db/) item_db.txt/item_db2.txt - ƒAƒCƒeƒ€»‘¢‚ɑΉžiŒg‘Ñ—p—nz˜FA‹à’Æ‚È‚Çj + ã‚¢ã‚¤ãƒ†ãƒ è£½é€ ã«å¯¾å¿œï¼ˆæºå¸¯ç”¨æº¶é‰±ç‚‰ã€é‡‘槌ãªã©ï¼‰ produce_db.txt - V‹K’ljÁB»‘¢ƒŠƒXƒgB + æ–°è¦è¿½åŠ ã€‚è£½é€ ãƒªã‚¹ãƒˆã€‚ (map/) skill.c/skill.h - struct skill_produce_db’ljÁ - skill_readdb()‚Åproduce_db.txt‚ð“ǂނ悤‚É + struct skill_produce_dbè¿½åŠ + skill_readdb()ã§produce_db.txtã‚’èªã‚€ã‚ˆã†ã« clif.c/clif.h - clif_skill_produce_mix_list(),clif_parse_ProduceMix()’ljÁ + clif_skill_produce_mix_list(),clif_parse_ProduceMix()è¿½åŠ script.c/script.h - »‘¢—pƒRƒ}ƒ“ƒh[produce]ì¬B - ˆø”‚Í»‘¢—p”’l‚ÅA1-4‚ª•Ší»‘¢(Lv)A16‚ªzÎ + è£½é€ ç”¨ã‚³ãƒžãƒ³ãƒ‰[produce]作æˆã€‚ + 引数ã¯è£½é€ 用数値ã§ã€1-4ãŒæ¦å™¨è£½é€ (Lv)ã€16ãŒé‰±çŸ³ ---------- -//0298 by ŒÓ’±—– +//0298 by 胡è¶è˜ -ELoginŽI‚̃pƒXƒ[ƒhˆÃ†‰»ƒ^ƒCƒv‚ðŽ©“®”FŽ¯‚Å‚«‚é‚悤‚É•ÏX - login.h‚ÌPASSWORDENC‚ð3‚É‚·‚é‚ÆŽ©“®”FŽ¯‚µ‚Ü‚·B - ʼn‚Épasswordencrypt‚Ń`ƒFƒbƒN‚µAŽ¸”s‚·‚ê‚Î - passwordencrypt2‚Ń`ƒFƒbƒN‚µ‚Ü‚·B +・Login鯖ã®ãƒ‘スワード暗å·åŒ–タイプを自動èªè˜ã§ãるよã†ã«å¤‰æ›´ + login.hã®PASSWORDENCã‚’3ã«ã™ã‚‹ã¨è‡ªå‹•èªè˜ã—ã¾ã™ã€‚ + 最åˆã«passwordencryptã§ãƒã‚§ãƒƒã‚¯ã—ã€å¤±æ•—ã™ã‚Œã° + passwordencrypt2ã§ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚ (login/) login2.c/login.h - ˆÃ†‰»ƒpƒXƒ[ƒh‚ÌƇ•”•ª‚ðC³ + æš—å·åŒ–パスワードã®ç…§åˆéƒ¨åˆ†ã‚’ä¿®æ£ -EƒAƒJƒEƒ“ƒg쬃c[ƒ‹‚ð“Y•t - Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B - Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚‚¾‚³‚¢B - Žg‚¢•û‚ª—Ç‚‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B +・アカウント作æˆãƒ„ールを添付 + Perl製ãªã®ã§å®Ÿè¡Œã«ã¯PerlãŒå¿…è¦ã§ã™ã€‚ + 使用方法ãªã©ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã§é–‹ã„ã¦è¦‹ã¦ãã ã•ã„。 + 使ã„æ–¹ãŒè‰¯ãã‚ã‹ã‚‰ãªã„人ã¯æ‰‹ã‚’出ã•ãªã„ã»ã†ãŒã„ã„ã§ã™ã€‚ (tool/) addaccount - ƒAƒJƒEƒ“ƒg쬃c[ƒ‹PerlƒXƒNƒŠƒvƒg - -EƒXƒLƒ‹‚̒ljÁC³ - Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚̉ñ”§ŒÀ‚ðƒOƒ‹[ƒv–ˆ‚©‚烆ƒjƒbƒg–ˆ‚ÉC³ - EƒNƒ@ƒOƒ}ƒCƒA‰¼ŽÀ‘• i“G‚̈ړ®‘¬“xAƒLƒƒƒ‰‚Ì•\Ž¦”’l‚͕ω»‚¹‚¸j - EƒEƒH[ƒ^[ƒ{[ƒ‹‰¼ŽÀ‘•i“®ì‚ª³‚µ‚¢‚Ì‚©•s–¾j - EƒtƒƒXƒgƒmƒ”ƒ@‰¼ŽÀ‘•iƒGƒtƒFƒNƒg‚ª—Ç‚‚í‚©‚ç‚È‚¢‚Ì‚Å“K“–j - Eƒxƒmƒ€ƒ_ƒXƒg‰¼ŽÀ‘•i”͈͂Ƃ©‚ª³‚µ‚¢‚©‚Ç‚¤‚©•sˆÀj - Eƒvƒƒ{ƒbƒNAƒI[ƒgƒo[ƒT[ƒNA¹‘Ì~•ŸA»‚Ü‚«AΓŠ‚°‚ÌŽÀ‘• - EƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Ì“Å•t—^ŽÀ‘• + アカウント作æˆãƒ„ールPerlスクリプト + +・スã‚ルã®è¿½åŠ ä¿®æ£ + ・ファイヤーウォールã®å›žæ•°åˆ¶é™ã‚’グループ毎ã‹ã‚‰ãƒ¦ãƒ‹ãƒƒãƒˆæ¯Žã«ä¿®æ£ + ・クァグマイア仮実装 (敵ã®ç§»å‹•é€Ÿåº¦ã€ã‚ャラã®è¡¨ç¤ºæ•°å€¤ã¯å¤‰åŒ–ã›ãšï¼‰ + ・ウォーターボール仮実装(動作ãŒæ£ã—ã„ã®ã‹ä¸æ˜Žï¼‰ + ・フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ä»®å®Ÿè£…(エフェクトãŒè‰¯ãã‚ã‹ã‚‰ãªã„ã®ã§é©å½“) + ・ベノムダスト仮実装(範囲ã¨ã‹ãŒæ£ã—ã„ã‹ã©ã†ã‹ä¸å®‰ï¼‰ + ・プãƒãƒœãƒƒã‚¯ã€ã‚ªãƒ¼ãƒˆãƒãƒ¼ã‚µãƒ¼ã‚¯ã€è–体é™ç¦ã€ç ‚ã¾ãã€çŸ³æŠ•ã’ã®å®Ÿè£… + ・エンãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ã®æ¯’付与実装 - *’ˆÓ* “Åó‘Ô‚ÍŒ©‚½–Ú‚¾‚¯‚ÅŒø‰Ê‚Í–¢ŽÀ‘• + *注æ„* 毒状態ã¯è¦‹ãŸç›®ã ã‘ã§åŠ¹æžœã¯æœªå®Ÿè£… (db/) skill_db.txt - »‚Ü‚«/ΓŠ‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚È‚ÇC³ + ç ‚ã¾ã/石投ã’/ウォーターボールãªã©ä¿®æ£ (map/) skill.c/skill.h - FXC³ + è‰²ã€…ä¿®æ£ mob.c/mob.h - mob_target()’ljÁBMOB‚̃^ƒQ—p + mob_target()è¿½åŠ ã€‚MOBã®ã‚¿ã‚²ç”¨ battle.c - battle_get_*()ŒnC³‚È‚Ç + battle_get_*()系修æ£ãªã© pc.c - pc_calcstatus()C³ + pc_calcstatus()ä¿®æ£ ---------- -//0297 by ŒÓ’±—– +//0297 by 胡è¶è˜ -ELoginŽI‚ªƒpƒXƒ[ƒhˆÃ†‰»‚ɑΉž - ˆÃ†‰»key‚ÍŽI‹N“®Žž‚Ɉê“x‚¾‚¯ì¬‚µ‚Ü‚·B +・Login鯖ãŒãƒ‘スワード暗å·åŒ–ã«å¯¾å¿œ + æš—å·åŒ–keyã¯é¯–起動時ã«ä¸€åº¦ã ã‘作æˆã—ã¾ã™ã€‚ - **’ˆÓ** - ˆÃ†‰»ƒpƒXƒ[ƒh‚ðŽg‚Á‚Ä‚¢‚éꇂÍAƒAƒJƒEƒ“ƒg‚ð쬂ł«‚Ü‚¹‚ñB - ƒAƒJƒEƒ“ƒg‚ðì‚éꇂÍclientinfo.xml‚ð•ÒW‚·‚é‚È‚Ç‚µ‚ÄA - ƒpƒXƒ[ƒh‚ðˆÃ†‰»‚µ‚È‚¢ƒNƒ‰ƒCƒAƒ“ƒg‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B + **注æ„** + æš—å·åŒ–パスワードを使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã§ãã¾ã›ã‚“。 + ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œã‚‹å ´åˆã¯clientinfo.xmlを編集ã™ã‚‹ãªã©ã—ã¦ã€ + パスワードを暗å·åŒ–ã—ãªã„クライアントを使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ (login/) login2.c/login.h - ˆÃ†‰»ƒpƒXƒ[ƒh‚̃pƒPƒbƒgˆ—’ljÁ - ˆÃ†‰»key‚̶¬ˆ—’ljÁ + æš—å·åŒ–パスワードã®ãƒ‘ケット処ç†è¿½åŠ + æš—å·åŒ–keyã®ç”Ÿæˆå‡¦ç†è¿½åŠ md5calc.c/md5calc.h - V‹K’ljÁBmd5ŒvŽZ—p + æ–°è¦è¿½åŠ 。md5計算用 -EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚ª”½‰f‚³‚ê‚È‚¢‚悤‚ÉC³ +・スã‚ル使用ディレイã«DEXãŒåæ˜ ã•ã‚Œãªã„よã†ã«ä¿®æ£ skill.c - skill_delay_fix()‚ÌC³ + skill_delay_fix()ã®ä¿®æ£ -EŽ€–SŒã‚àˆê•”‚Ìó‘ÔˆÙí‚ÌŒø‰Ê‚ªŽ‘±‚·‚é–â‘è‚ðC³ +・æ»äº¡å¾Œã‚‚一部ã®çŠ¶æ…‹ç•°å¸¸ã®åŠ¹æžœãŒæŒç¶šã™ã‚‹å•é¡Œã‚’ä¿®æ£ pc.c - pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ԃ悤‚ÉC³ + pc_damage()ã§æ»äº¡æ™‚ã«pc_calcstatus()を呼ã¶ã‚ˆã†ã«ä¿®æ£ atcommand.c - Ž€–SŽžˆ—‚ðˆê–{‰»‚·‚邽‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ԃ悤‚ÉC³ + æ»äº¡æ™‚処ç†ã‚’一本化ã™ã‚‹ãŸã‚@dieã§ã¯pc_damageを呼ã¶ã‚ˆã†ã«ä¿®æ£ ---------- -//0295 by ŒÓ’±—– +//0295 by 胡è¶è˜ -EƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv‚ȂǂɃXƒLƒ‹‚ðŽg‚¤‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ +・クレイモアートラップãªã©ã«ã‚¹ã‚ルを使ã†ã¨ãƒžãƒƒãƒ—鯖ãŒè½ã¡ã‚‹å•é¡Œã®ä¿®æ£ battle.c - battle_get_*()‚È‚Ç‚ÅBL_PC,BL_MOB‚¶‚á‚È‚¢‚Æ‚«‚̈—‚ð’ljÁ + battle_get_*()ãªã©ã§BL_PC,BL_MOBã˜ã‚ƒãªã„ã¨ãã®å‡¦ç†ã‚’è¿½åŠ skill.c/skill.h - skill_unit_ondamage()’ljÁ + skill_unit_ondamage()è¿½åŠ -E–ñ21Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ðNPC‚ňµ‚¤‚Æ‚«OC,DCŒvŽZ‚Å’l’i‚ª‚¨‚©‚µ‚‚È‚éƒoƒOC³ - DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚µ‚ÄŒvŽZ‚µ‚Ü‚· +・約21Mzを超ãˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã‚’NPCã§æ‰±ã†ã¨ãOC,DC計算ã§å€¤æ®µãŒãŠã‹ã—ããªã‚‹ãƒã‚°ä¿®æ£ + DCã§ã¯20Mzã€OCã§ã¯70Mzを超ãˆã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã¯doubleåž‹ã«ã—ã¦è¨ˆç®—ã—ã¾ã™ pc.c - pc_modifysellvalue(),pc_modifysellvalue()‚ÌC³ + pc_modifysellvalue(),pc_modifysellvalue()ã®ä¿®æ£ ---------- -//0294 by ŒÓ’±—– +//0294 by 胡è¶è˜ -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ŃGƒŠƒAŽw’è‚ÌMOB•¦‚«–½—ß‚ðì¬ - areamonster "ƒ}ƒbƒv–¼",x0,y0,x1,y1,"MOB•\Ž¦–¼",MOB‚Ìclass,”,"ƒCƒxƒ“ƒg–¼" - À•WŽw’肪(x0,y0)-(x1,y1)‚Ì”CˆÓƒ|ƒCƒ“ƒg‚ɂȂ邾‚¯‚Å‘¼‚Ímonster–½—ß‚Æ“¯‚¶‚Å‚· +・スクリプトコマンドã§ã‚¨ãƒªã‚¢æŒ‡å®šã®MOB沸ãå‘½ä»¤ã‚’ä½œæˆ + areamonster "マップå",x0,y0,x1,y1,"MOB表示å",MOBã®class,æ•°,"イベントå" + 座標指定ãŒ(x0,y0)-(x1,y1)ã®ä»»æ„ãƒã‚¤ãƒ³ãƒˆã«ãªã‚‹ã ã‘ã§ä»–ã¯monster命令ã¨åŒã˜ã§ã™ script.c - buildin_areamonster()’ljÁ + buildin_areamonster()è¿½åŠ mob.c/mob.h - mob_once_spawn_area()’ljÁ + mob_once_spawn_area()è¿½åŠ -EƒAƒCƒXƒEƒH[ƒ‹‚ÌŽI‘¤ˆ—‰¼ŽÀ‘• - UŒ‚‚Å‚«‚È‚¢‚È‚Ç‚Ì–â‘è‚Í‚ ‚é‚à‚Ì‚ÌAŽI‘¤‚Å‚Í‚Æ‚è‚ ‚¦‚¸“®‚«‚Ü‚·B - ‚½‚¾AƒNƒ‰ƒCƒAƒ“ƒg‚Éi“ü•s‰Â”\ƒGƒŠƒA‚ð‹³‚¦‚éƒpƒPƒbƒg‚ª‚í‚©‚ç‚È‚¢‚Ì‚ÅA - ŽI‘¤‚Å‚ÍIW‚̉ñ‚èž‚Ý‚ðs‚¤ê‡‚Å‚àAƒNƒ‰ƒCƒAƒ“ƒg‘¤‚Å‚Í‚·‚蔲‚¯‚Ä‚¢‚é - ‚悤‚ÉŒ©‚¦‚Ü‚·B +・アイスウォールã®é¯–å´å‡¦ç†ä»®å®Ÿè£… + 攻撃ã§ããªã„ãªã©ã®å•é¡Œã¯ã‚ã‚‹ã‚‚ã®ã®ã€é¯–å´ã§ã¯ã¨ã‚Šã‚ãˆãšå‹•ãã¾ã™ã€‚ + ãŸã ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€²å…¥ä¸å¯èƒ½ã‚¨ãƒªã‚¢ã‚’æ•™ãˆã‚‹ãƒ‘ケットãŒã‚ã‹ã‚‰ãªã„ã®ã§ã€ + 鯖å´ã§ã¯IWã®å›žã‚Šè¾¼ã¿ã‚’è¡Œã†å ´åˆã§ã‚‚ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã§ã¯ã™ã‚ŠæŠœã‘ã¦ã„ã‚‹ + よã†ã«è¦‹ãˆã¾ã™ã€‚ skill.c - ŠY“–ˆ—’ljÁ‚È‚Ç + 該当処ç†è¿½åŠ ãªã© ---------- //0293 -E2-2ŽŸE‚̃XƒLƒ‹ƒRƒƒ“ƒg‚ÌC³iˆê•”’ljÁj +・2-2次è·ã®ã‚¹ã‚ルコメントã®ä¿®æ£ï¼ˆä¸€éƒ¨è¿½åŠ ) (db/) skill_db.txt skill_tree.txt ---------- -//0292 by ŒÓ’±—– +//0292 by 胡è¶è˜ -ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³Part2 - E”„”ƒ‚Å‚«‚È‚©‚Á‚½–â‘èC³ +・SHOP NPCã«è©±ã—掛ã‘ã‚‹ã¨NPCãŒåå¿œã—ãªããªã‚‹å•é¡Œã®ã¾ã¨ã‚‚ãªï¼Ÿä¿®æ£Part2 + ・売買ã§ããªã‹ã£ãŸå•é¡Œä¿®æ£ map.h - struct map_session_data ‚Énpc_shopidƒƒ“ƒo’ljÁ + struct map_session_data ã«npc_shopidメンãƒè¿½åŠ npc.c - npc_click()‚È‚ÇC³ - -EƒXƒNƒŠƒvƒg–½—ߒljÁ - EŽw’èƒGƒŠƒA‚̃†[ƒU[”‚ÌŠ“¾ - getareausers("ƒ}ƒbƒv–¼",x0,y0,x1,y1) - Žw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚É‚¢‚éPC‚Ì”‚ðŒvŽZ - EŽw’èƒGƒŠƒA‚̃†[ƒU[‚̃[ƒv - areawarp "“]‘—Œ³ƒ}ƒbƒv–¼",x0,y0,x1,y1,"“]‘—æƒ}ƒbƒv–¼",x,y; - Žw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚É‚¢‚é‘SPC‚ðŽw’èƒ}ƒbƒv‚Ì(x,y)‚É“]‘—B + npc_click()ãªã©ä¿®æ£ + +ãƒ»ã‚¹ã‚¯ãƒªãƒ—ãƒˆå‘½ä»¤è¿½åŠ + ・指定エリアã®ãƒ¦ãƒ¼ã‚¶ãƒ¼æ•°ã®æ‰€å¾— + getareausers("マップå",x0,y0,x1,y1) + 指定マップã®(x0,y0)-(x1,y1)ã«ã„ã‚‹PCã®æ•°ã‚’計算 + ・指定エリアã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ¯ãƒ¼ãƒ— + areawarp "転é€å…ƒãƒžãƒƒãƒ—å",x0,y0,x1,y1,"転é€å…ˆãƒžãƒƒãƒ—å",x,y; + 指定マップã®(x0,y0)-(x1,y1)ã«ã„ã‚‹å…¨PCを指定マップã®(x,y)ã«è»¢é€ã€‚ script.c - buildin_areawarp(),buildin_getareausers()’ljÁ + buildin_areawarp(),buildin_getareausers()è¿½åŠ -EƒXƒLƒ‹C³ - EƒeƒŒƒ|[ƒgŽg—pŽž‚ÉuƒeƒŒƒ|[ƒg!!v‚Æ‹©‚Ԃ悤‚ÉB - EƒXƒg[ƒ“ƒJ[ƒX‚̬Œ÷—¦‚ª’á‚¢‚Ì‚ðC³ +・スã‚ãƒ«ä¿®æ£ + ・テレãƒãƒ¼ãƒˆä½¿ç”¨æ™‚ã«ã€Œãƒ†ãƒ¬ãƒãƒ¼ãƒˆ!!ã€ã¨å«ã¶ã‚ˆã†ã«ã€‚ + ・ストーンカースã®æˆåŠŸçŽ‡ãŒä½Žã„ã®ã‚’ä¿®æ£ skill.c - skill_castend_nodamage_id()C³ + skill_castend_nodamage_id()ä¿®æ£ ---------- -//0291 by ŒÓ’±—– +//0291 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg–½—ߒljÁ - ENPC‚Ì—LŒø–³Œø‚ªØ‚è‘Ö‚¦‚ç‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - disablenpc "NPC–¼"‚Å–³Œø‰»Aenablenpc "NPC–¼"‚Å—LŒø‰»B - NPC–¼‚ªd•¡‚µ‚Ä‚¢‚é‚Æ‚«‚Ì“®ì‚Í•s’è‚Å‚·B - Žå‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚𖳌ø‰»‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B +ãƒ»ã‚¹ã‚¯ãƒªãƒ—ãƒˆå‘½ä»¤è¿½åŠ + ・NPCã®æœ‰åŠ¹ç„¡åŠ¹ãŒåˆ‡ã‚Šæ›¿ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ disablenpc "NPCå"ã§ç„¡åŠ¹åŒ–ã€enablenpc "NPCå"ã§æœ‰åŠ¹åŒ–。 + NPCåãŒé‡è¤‡ã—ã¦ã„ã‚‹ã¨ãã®å‹•ä½œã¯ä¸å®šã§ã™ã€‚ + 主ã«ãƒ¯ãƒ¼ãƒ—ãƒã‚¤ãƒ³ãƒˆã‚’無効化ã™ã‚‹ã¨ãã«ä½¿ã„ã¾ã™ã€‚ - Eƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ð•ÏX‚·‚éƒXƒNƒŠƒvƒg–½—ߒljÁ - addtimercount "ƒCƒxƒ“ƒg–¼",ƒ~ƒŠ•b - ‚ÅAƒ^ƒCƒ}‚ÌŠúŒÀ‚ð‰„‚Î‚¹‚Ü‚·i•‰’l‚ðŽw’肵‚ÄŒ¸‚ç‚·‚±‚Æ‚ào—ˆ‚Ü‚·j - - EƒAƒiƒEƒ“ƒX‚ÌŠg’£ - mapannounce "ƒ}ƒbƒv–¼","ƒAƒiƒEƒ“ƒX•¶Žš—ñ",ƒtƒ‰ƒO - ‚ÅŽw’èƒ}ƒbƒv‚ɃAƒiƒEƒ“ƒX‚𗬂µ‚Ü‚·Bƒtƒ‰ƒO‚Í0‚ʼn©FA16‚Å‚ł·B - areaannounce "ƒ}ƒbƒv",x0,y0,x1,y1,"•¶Žš—ñ",ƒtƒ‰ƒO - ‚ÅŽw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚̃GƒŠƒA‚ɃAƒiƒEƒ“ƒX‚𗬂µ‚Ü‚·B - ƒtƒ‰ƒO‚Ímapannounce‚Æ“¯‚¶‚ÅA0‚ʼn©FA0x10‚Å‚ł·B + ・タイマーã®ã‚«ã‚¦ãƒ³ãƒˆã‚’変更ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—ãƒˆå‘½ä»¤è¿½åŠ + addtimercount "イベントå",ミリ秒 + ã§ã€ã‚¿ã‚¤ãƒžã®æœŸé™ã‚’延ã°ã›ã¾ã™ï¼ˆè² 値を指定ã—ã¦æ¸›ã‚‰ã™ã“ã¨ã‚‚出æ¥ã¾ã™ï¼‰ + + ・アナウンスã®æ‹¡å¼µ + mapannounce "マップå","アナウンス文å—列",フラグ + ã§æŒ‡å®šãƒžãƒƒãƒ—ã«ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã‚’æµã—ã¾ã™ã€‚フラグã¯0ã§é»„色ã€16ã§é’ã§ã™ã€‚ + areaannounce "マップ",x0,y0,x1,y1,"æ–‡å—列",フラグ + ã§æŒ‡å®šãƒžãƒƒãƒ—ã®(x0,y0)-(x1,y1)ã®ã‚¨ãƒªã‚¢ã«ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã‚’æµã—ã¾ã™ã€‚ + フラグã¯mapannounceã¨åŒã˜ã§ã€0ã§é»„色ã€0x10ã§é’ã§ã™ã€‚ (conf/) npc_test_arena.txt - ƒTƒ“ƒvƒ‹‚ÌC³ + サンプルã®ä¿®æ£ (map/) script.c buildin_disablenpc(),buildin_enablenpc(), buildin_mapannounce(),buildin_areaannounce(), - buildin_addtimercount()‚̒ljÁ + buildin_addtimercount()ã®è¿½åŠ npc.c/npc.h - NPC‚Ì—LŒø–³Œøˆ—’ljÁ + NPCã®æœ‰åŠ¹ç„¡åŠ¹å‡¦ç†è¿½åŠ map.h - struct npc_data‚Éflagƒƒ“ƒo’ljÁ(1ƒrƒbƒg–Ú‚ª–³Œøƒtƒ‰ƒO) + struct npc_dataã«flagメンãƒè¿½åŠ (1ビット目ãŒç„¡åŠ¹ãƒ•ãƒ©ã‚°) clif.c - clif_getareachar_npc()‚ÌC³ + clif_getareachar_npc()ã®ä¿®æ£ pc.c/pc.h - pc_addeventtimercount()’ljÁ + pc_addeventtimercount()è¿½åŠ -ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³ - SHOP NPC‚ÆŽæˆø’†‚Å‚àƒCƒxƒ“ƒg‚ª‹N‚±‚é‚悤‚É‚È‚è‚Ü‚·B - ‚±‚ê‚ÍRO‚ÌŽd—lã”ð‚¯‚é‚Ì‚ª“‚¢‚½‚ß‚±‚̂悤‚ÈŒ‹‰Ê‚Å—Ž‚¿’…‚«‚Ü‚µ‚½B +・SHOP NPCã«è©±ã—掛ã‘ã‚‹ã¨NPCãŒåå¿œã—ãªããªã‚‹å•é¡Œã®ã¾ã¨ã‚‚ãªï¼Ÿä¿®æ£ + SHOP NPCã¨å–引ä¸ã§ã‚‚イベントãŒèµ·ã“るよã†ã«ãªã‚Šã¾ã™ã€‚ + ã“ã‚Œã¯ROã®ä»•æ§˜ä¸Šé¿ã‘ã‚‹ã®ãŒé›£ã—ã„ãŸã‚ã“ã®ã‚ˆã†ãªçµæžœã§è½ã¡ç€ãã¾ã—ãŸã€‚ npc.c - npc_click()“™‚ÌC³ + npc_click()ç‰ã®ä¿®æ£ -EƒXƒLƒbƒhƒgƒ‰ƒbƒv‚ÅŽc‘œ‚ªŽc‚é–â‘èC³ +・スã‚ッドトラップã§æ®‹åƒãŒæ®‹ã‚‹å•é¡Œä¿®æ£ skill.c - skill_blown()‚Åclif_walkok()‚È‚Ç‚ðŒÄ‚Ԃ悤‚ÉB - skill_unit_onplace()‚Ìclif_fix*pos()‚ðíœB + skill_blown()ã§clif_walkok()ãªã©ã‚’呼ã¶ã‚ˆã†ã«ã€‚ + skill_unit_onplace()ã®clif_fix*pos()を削除。 ---------- -//0290 by ŒÓ’±—– +//0290 by 胡è¶è˜ -EƒXƒNƒŠƒvƒg‚ÅMAPŽI“à‹¤—L•Ï”‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - •Ï”–¼‚ð$‚ÅŠJŽn‚·‚é‚ÆAMAPŽI“à‚Ì‘Sˆõ‚Å‹¤—L‚·‚é•Ï”‚É‚È‚è‚Ü‚·B +・スクリプトã§MAP鯖内共有変数ãŒä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ + 変数åã‚’$ã§é–‹å§‹ã™ã‚‹ã¨ã€MAP鯖内ã®å…¨å“¡ã§å…±æœ‰ã™ã‚‹å¤‰æ•°ã«ãªã‚Šã¾ã™ã€‚ - Œ¾—t‚Ì–â‘è‚Å‚·‚ªAPC‚Ìglobalreg‚Íu‘åˆæ“Iv‚Æ‚¢‚¤‚æ‚èu‰i‘±«‚Ì‚ ‚év - •Ï”‚Å‚ ‚Á‚ÄAMAPŽI“à‹¤—L•Ï”‚Ì‚Ù‚¤‚ª‘åˆæ“I‚Á‚ăCƒ[ƒW‚ª‹‚¢‚ñ‚Å‚·‚ªc + 言葉ã®å•é¡Œã§ã™ãŒã€PCã®globalregã¯ã€Œå¤§åŸŸçš„ã€ã¨ã„ã†ã‚ˆã‚Šã€Œæ°¸ç¶šæ€§ã®ã‚る〠+ 変数ã§ã‚ã£ã¦ã€MAP鯖内共有変数ã®ã»ã†ãŒå¤§åŸŸçš„ã£ã¦ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒå¼·ã„ã‚“ã§ã™ãŒâ€¦ script.c - mapval_db’è‹` - buildin_set(),buildin_input()‚ÌC³ - do_init_script()’ljÁ + mapval_db定義 + buildin_set(),buildin_input()ã®ä¿®æ£ + do_init_script()è¿½åŠ map.c - do_init()‚Ådo_init_script()‚ðŒÄ‚Ԃ悤‚ÉB + do_init()ã§do_init_script()を呼ã¶ã‚ˆã†ã«ã€‚ -EƒCƒxƒ“ƒgƒLƒ…[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Ȃ瑂₵‚Ü‚·‚ªB +・イベントã‚ューãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ ・ã‚ューサイズã¯ï¼’ã§ã™ã€‚å¿…è¦ãªã‚‰å¢—ã‚„ã—ã¾ã™ãŒã€‚ - ƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]‚ª‚¿‚á‚ñ‚Æ“®‚‚悤‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B + サンプルã®[ev_doテスト]ãŒã¡ã‚ƒã‚“ã¨å‹•ãよã†ã«ãªã£ãŸã¨æ€ã„ã¾ã™ã€‚ map.h - struct map_session_data‚Éeventqueueƒƒ“ƒo’ljÁ + struct map_session_dataã«eventqueueメンãƒè¿½åŠ npc.c - npc_event_timer()’ljÁ + npc_event_timer()è¿½åŠ script.c - run_script()‚ÅENDˆ—‚ŃLƒ…[‚̈—’ljÁ + run_script()ã§END処ç†ã§ã‚ューã®å‡¦ç†è¿½åŠ -EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ªŽg—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - Žg—p•û–@‚ÍAaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[’ljÁA - deltimer "ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[íœB +・スクリプトã§ã‚¿ã‚¤ãƒžãƒ¼ãŒä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã—㟠+ 使用方法ã¯ã€addtimer ミリ秒,"イベントå" ã§ã‚¿ã‚¤ãƒžãƒ¼è¿½åŠ 〠+ deltimer "イベントå" ã§ã‚¿ã‚¤ãƒžãƒ¼å‰Šé™¤ã€‚ (common/) timer.c/timer.h - get_timer(),addtick_timer()’ljÁ + get_timer(),addtick_timer()è¿½åŠ (map/) map.c/map.h - struct map_session_data‚Éeventtimerƒƒ“ƒo’ljÁ - map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ԃ悤‚ÉB + struct map_session_dataã«eventtimerメンãƒè¿½åŠ + map_quit()ã§pc_cleareventtimer()を呼ã¶ã‚ˆã†ã«ã€‚ pc.c pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), - pc_cleaereventtimer()’ljÁ - pc_authok()‚Åeventimer‚̉Šú‰» + pc_cleaereventtimer()è¿½åŠ + pc_authok()ã§eventimerã®åˆæœŸåŒ– script.c - buildin_addtimer(),buildin_deltimer()’ljÁ + buildin_addtimer(),buildin_deltimer()è¿½åŠ -EƒXƒNƒŠƒvƒg‚̒ljÁ - Egetusers,getmapusers,killmonster‚̒ljÁ - getusers(x)‚̓†[ƒU[”Š“¾Ax=0‚ÅPC‚ÌMAP,1=‘SMAP,8=NPC‚ÌMAPB - getmapusers("ƒ}ƒbƒv–¼")‚ÍŽw’èƒ}ƒbƒv‚̃†[ƒU[”‚ðŠ“¾‚·‚éB - killmonster "ƒ}ƒbƒv–¼","ƒCƒxƒ“ƒg–¼"‚ÅŠY“–‚̃}ƒbƒv‚É‚¢‚éA - ŠY“–‚̃Cƒxƒ“ƒg‹ì“®Žw’胂ƒ“ƒXƒ^[‚ð‘S‚ÄíœB - EannounceƒRƒ}ƒ“ƒhŠg’£ - ƒtƒ‰ƒO‚Ì0x08ƒrƒbƒg‚ª1‚È‚çƒ}ƒbƒv‚âƒGƒŠƒAŒvŽZ‚ÉPC‚Å‚È‚NPC‚ðŽg‚¤ +・スクリプトã®è¿½åŠ + ・getusers,getmapusers,killmonsterã®è¿½åŠ + getusers(x)ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼æ•°æ‰€å¾—ã€x=0ã§PCã®MAP,1=å…¨MAP,8=NPCã®MAP。 + getmapusers("マップå")ã¯æŒ‡å®šãƒžãƒƒãƒ—ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼æ•°ã‚’所得ã™ã‚‹ã€‚ + killmonster "マップå","イベントå"ã§è©²å½“ã®ãƒžãƒƒãƒ—ã«ã„る〠+ 該当ã®ã‚¤ãƒ™ãƒ³ãƒˆé§†å‹•æŒ‡å®šãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’å…¨ã¦å‰Šé™¤ã€‚ + ・announceコマンド拡張 + フラグã®0x08ビットãŒ1ãªã‚‰ãƒžãƒƒãƒ—やエリア計算ã«PCã§ãªãNPCを使ㆠmob.c/mob.h - mob_delete()’ljÁ + mob_delete()è¿½åŠ script.c buildin_getusers(),buildin_getmapusers(), - buildin_killmonster()’ljÁ + buildin_killmonster()è¿½åŠ clif.c/clif.h - clif_GMmessage()‚̈ø”•ÏX + clif_GMmessage()ã®å¼•æ•°å¤‰æ›´ -EƒCƒxƒ“ƒgƒTƒ“ƒvƒ‹’ljÁ - ŠÈ’P‚ȃAƒŠ[ƒi‚̃Tƒ“ƒvƒ‹‚ð’ljÁB +ãƒ»ã‚¤ãƒ™ãƒ³ãƒˆã‚µãƒ³ãƒ—ãƒ«è¿½åŠ + ç°¡å˜ãªã‚¢ãƒªãƒ¼ãƒŠã®ã‚µãƒ³ãƒ—ãƒ«ã‚’è¿½åŠ ã€‚ (conf/) npc_test_ev.txt - ]—ˆ‚̃Tƒ“ƒvƒ‹‚ÌC³ + 従æ¥ã®ã‚µãƒ³ãƒ—ルã®ä¿®æ£ npc_test_arena.txt - ŠÈ’P‚ȃAƒŠ[ƒi‚̃Tƒ“ƒvƒ‹ - ƒ[ƒvƒ|ƒCƒ“ƒg‚Ì–³Œø‰»ƒRƒ}ƒ“ƒh‚È‚Ç‚ª•K—v‚ÆŽv‚í‚ê‚éB + ç°¡å˜ãªã‚¢ãƒªãƒ¼ãƒŠã®ã‚µãƒ³ãƒ—ル + ワープãƒã‚¤ãƒ³ãƒˆã®ç„¡åŠ¹åŒ–コマンドãªã©ãŒå¿…è¦ã¨æ€ã‚れる。 -ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚‚È‚é–â‘èC³ +・SHOP NPCã«è©±ã—掛ã‘ã‚‹ã¨NPCãŒåå¿œã—ãªããªã‚‹å•é¡Œä¿®æ£ npc.c - npc_buylist(),npc_selllist()C³ + npc_buylist(),npc_selllist()ä¿®æ£ ---------- -//0289 by ŒÓ’±—– +//0289 by 胡è¶è˜ -EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ÌC³‚È‚Ç - E‘¼‚ÌNPC‚ɘb‚µŠ|‚¯‚Ä‚¢‚é‚Æ‚«‚̓Cƒxƒ“ƒg‚ª–³Ž‹‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - =>ƒLƒ…[‚É“ü‚ê‚é‚Ȃǂ̈—‚ª‚¢‚é‚ÆŽv‚í‚ê‚éB +・イベント駆動型スクリプトã®ä¿®æ£ãªã© + ・他ã®NPCã«è©±ã—掛ã‘ã¦ã„ã‚‹ã¨ãã¯ã‚¤ãƒ™ãƒ³ãƒˆãŒç„¡è¦–ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ =>ã‚ューã«å…¥ã‚Œã‚‹ãªã©ã®å‡¦ç†ãŒã„ã‚‹ã¨æ€ã‚れる。 - ‚±‚ÌŠÖŒW‚ÅAƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚µ‚Ä‚à - IDƒGƒ‰[‚ªo‚ĉ½‚à‹N‚«‚Ü‚¹‚ñBƒCƒxƒ“ƒgƒLƒ…[‚ðì‚ê‚Î’¼‚é‚Í‚¸B + ã“ã®é–¢ä¿‚ã§ã€ã‚µãƒ³ãƒ—ルã®[ev_doテスト]NPCをクリックã—ã¦ã‚‚ + IDエラーãŒå‡ºã¦ä½•ã‚‚èµ·ãã¾ã›ã‚“。イベントã‚ューを作れã°ç›´ã‚‹ã¯ãšã€‚ npc.c - npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’ljÁ + npc_event(),npc_click()ã«npc_idãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ script.c - I—¹Žž‚Énpc_id‚ðƒNƒŠƒA‚·‚é‚悤‚É + 終了時ã«npc_idをクリアã™ã‚‹ã‚ˆã†ã« -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[announce]‚̒ljÁ - EGMƒƒbƒZ[ƒW‚É‚æ‚éannounceB - ‘æ1ˆø”‚Í•¶Žš—ñA‘æ2ˆø”‚̓tƒ‰ƒO‚ÅA - ƒtƒ‰ƒO‚̉ºˆÊ‚Sƒrƒbƒg‚ª0=‘S‚ÄA1=“¯‚¶ƒ}ƒbƒvA - 2=‰æ–Ê“àA3=Ž©•ª‚Ì‚ÝA4=“¯‚¶ƒ}ƒbƒvŽI‚É‘—MB - ƒtƒ‰ƒO‚Ì‚Sƒrƒbƒg–Ú‚ÍFƒtƒ‰ƒO‚ÅA0x10=ÂA0x00=‰©F +・スクリプトコマンド[announce]ã®è¿½åŠ + ・GMメッセージã«ã‚ˆã‚‹announce。 + 第1引数ã¯æ–‡å—列ã€ç¬¬2引数ã¯ãƒ•ãƒ©ã‚°ã§ã€ + フラグã®ä¸‹ä½ï¼”ビットãŒ0=å…¨ã¦ã€1=åŒã˜ãƒžãƒƒãƒ—〠+ 2=ç”»é¢å†…ã€3=自分ã®ã¿ã€4=åŒã˜ãƒžãƒƒãƒ—鯖ã«é€ä¿¡ã€‚ + フラグã®ï¼”ビット目ã¯è‰²ãƒ•ãƒ©ã‚°ã§ã€0x10=é’ã€0x00=黄色 script.c - buildin_announce()‚̒ljÁ + buildin_announce()ã®è¿½åŠ clif.c - clif_send()‚ÅSELF‚̈—’ljÁ - clif_GMmessage()‚̈ø”•ÏX + clif_send()ã§SELFã®å‡¦ç†è¿½åŠ + clif_GMmessage()ã®å¼•æ•°å¤‰æ›´ intif.c - intif_GMmessage()‚̈ø”•ÏX + intif_GMmessage()ã®å¼•æ•°å¤‰æ›´ -Eƒƒ‚‹ÖŽ~AƒeƒŒƒ|‹ÖŽ~AƒZ[ƒu‹ÖŽ~ƒ}ƒbƒv‚ªŽw’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - ENPC‚ÅAmapflag‚Æ‚¢‚¤ƒ^ƒCƒv‚ÅA–¼‘O‚ð nomemo A noteleport‚Å - ƒƒ‚‚ƃeƒŒƒ|‹ÖŽ~Bnosave ‚ÅAˆø”‚ɃZ[ƒu‚·‚éƒ}ƒbƒv–¼‚ÆÀ•W‚ðŽw’èB +・メモç¦æ¢ã€ãƒ†ãƒ¬ãƒç¦æ¢ã€ã‚»ãƒ¼ãƒ–ç¦æ¢ãƒžãƒƒãƒ—ãŒæŒ‡å®šã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ + ・NPCã§ã€mapflagã¨ã„ã†ã‚¿ã‚¤ãƒ—ã§ã€åå‰ã‚’ nomemo 〠noteleport㧠+ メモã¨ãƒ†ãƒ¬ãƒç¦æ¢ã€‚nosave ã§ã€å¼•æ•°ã«ã‚»ãƒ¼ãƒ–ã™ã‚‹ãƒžãƒƒãƒ—åã¨åº§æ¨™ã‚’指定。 - Ú‚µ‚‚Í“¯«‚Ìconf/npc_test_ev.txt‚ðŽQÆB + 詳ã—ãã¯åŒæ¢±ã®conf/npc_test_ev.txtã‚’å‚照。 (conf/) npc_test_ev.txt - C³ + ä¿®æ£ (map/) map.h - struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’ljÁ + struct map_data ã«flag,savemap,savex,saveyメンãƒè¿½åŠ npc.c - npc_parse_mapflag()’ljÁ - do_init_npc()‚ÌC³ + npc_parse_mapflag()è¿½åŠ + do_init_npc()ã®ä¿®æ£ pc.c - pc_memo()‚Ńƒ‚‹ÖŽ~‚©‚Ç‚¤‚©‚ðŠm”F - pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚È‚çƒ}ƒbƒv‚ð•ÏX - pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚©‚Ç‚¤‚©Šm”F + pc_memo()ã§ãƒ¡ãƒ¢ç¦æ¢ã‹ã©ã†ã‹ã‚’ç¢ºèª + pc_makesavestatus()ã§ã‚»ãƒ¼ãƒ–ç¦æ¢ãªã‚‰ãƒžãƒƒãƒ—を変更 + pc_randomwarp()ã§ãƒ†ãƒ¬ãƒç¦æ¢ã‹ã©ã†ã‹ç¢ºèª skill.c - ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚©Šm”F + テレãƒã¨ãƒã‚¿ã§ãƒ†ãƒ¬ãƒç¦æ¢ã‹ç¢ºèª -Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚¿‚é–â‘èC³c‚¾‚Æ‚¢‚¢‚È +・ファイヤーウォールã§è½ã¡ã‚‹å•é¡Œä¿®æ£â€¦ã ã¨ã„ã„㪠skill.c - ‚³‚ç‚Ƀ`ƒFƒbƒN‚ð’ljÁ - skill_blown()‚É—Ž‚¿‚錴ˆö‚Á‚Û‚¢‚à‚Ì”Œ©‚µ‚½‚Ì‚ÅC³ + ã•ã‚‰ã«ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ + skill_blown()ã«è½ã¡ã‚‹åŽŸå› ã£ã½ã„ã‚‚ã®ç™ºè¦‹ã—ãŸã®ã§ä¿®æ£ ---------- -//0288 by ŒÓ’±—– +//0288 by 胡è¶è˜ -EŽ©“®‘锓®Žž‚ÉuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹©‚΂Ȃ‚È‚è‚Ü‚µ‚½ +・自動鷹発動時ã«ã€Œãƒ–リッツビート!!ã€ã¨å«ã°ãªããªã‚Šã¾ã—㟠skill.c skill_attack(),skill_additional_effect(), - skill_castend_damage_id()‚ÌC³ + skill_castend_damage_id()ã®ä¿®æ£ -EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ª‹Lq‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ -Eƒ‚ƒ“ƒXƒ^[‚ð“|‚µ‚½‚Æ‚«‚ɃCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ð“®‚©‚¹‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・イベント駆動型スクリプトãŒè¨˜è¿°ã§ãるよã†ã«ãªã‚Šã¾ã—㟠+・モンスターを倒ã—ãŸã¨ãã«ã‚¤ãƒ™ãƒ³ãƒˆã‚¹ã‚¯ãƒªãƒ—トを動ã‹ã›ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠- NPC’è‹`‚Ìscript‚Å•\Ž¦ƒNƒ‰ƒX‚ð-1‚É‚·‚é‚ƃCƒxƒ“ƒgˆµ‚¢‚É‚È‚è‚Ü‚·B - NPC’è‹`‚Ìmonster‚ɃCƒxƒ“ƒg–¼‚ðÝ’è‚Å‚«‚Ü‚·B - ƒXƒNƒŠƒvƒg‚ÌmonsterƒRƒ}ƒ“ƒh‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·ˆø”’ljÁB - Ú‚µ‚‚̓Tƒ“ƒvƒ‹‚ðŒ©‚Ä‚‚¾‚³‚¢B - ¡Œãƒ^ƒCƒ}[‚ŃCƒxƒ“ƒg‚ð‹N‚±‚¹‚é‚悤‚É‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B + NPC定義ã®scriptã§è¡¨ç¤ºã‚¯ãƒ©ã‚¹ã‚’-1ã«ã™ã‚‹ã¨ã‚¤ãƒ™ãƒ³ãƒˆæ‰±ã„ã«ãªã‚Šã¾ã™ã€‚ + NPC定義ã®monsterã«ã‚¤ãƒ™ãƒ³ãƒˆåã‚’è¨å®šã§ãã¾ã™ã€‚ + スクリプトã®monsterコマンドã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã™å¼•æ•°è¿½åŠ 。 + 詳ã—ãã¯ã‚µãƒ³ãƒ—ルを見ã¦ãã ã•ã„。 + 今後タイマーã§ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã›ã‚‹ã‚ˆã†ã«ã—よã†ã¨æ€ã£ã¦ã„ã¾ã™ã€‚ - Œ»ó‚Å‚ÍANPCƒEƒBƒ“ƒhƒE‘€ì’†‚ɃCƒxƒ“ƒg‚ª‚¨‚«‚ÄA - ‚»‚̃Cƒxƒ“ƒg‚̃XƒNƒŠƒvƒg‚ÅNPCƒEƒBƒ“ƒhƒE‚ðo‚·‚Æ–â‘肪‹N‚«‚Ü‚·B - ‚±‚Ì•Ó‚Í¡Œã‚̉ۑè‚Æ‚¢‚¤‚±‚Æ‚ÅB + ç¾çŠ¶ã§ã¯ã€NPCウィンドウæ“作ä¸ã«ã‚¤ãƒ™ãƒ³ãƒˆãŒãŠãã¦ã€ + ãã®ã‚¤ãƒ™ãƒ³ãƒˆã®ã‚¹ã‚¯ãƒªãƒ—トã§NPCウィンドウを出ã™ã¨å•é¡ŒãŒèµ·ãã¾ã™ã€‚ + ã“ã®è¾ºã¯ä»Šå¾Œã®èª²é¡Œã¨ã„ã†ã“ã¨ã§ã€‚ (db/) item_db.txt/item_db2.txt - monsterƒRƒ}ƒ“ƒh‚Ì•ÏX‚É‚æ‚éC³iŒÃ–Ø‚ÌŽ}jB + monsterコマンドã®å¤‰æ›´ã«ã‚ˆã‚‹ä¿®æ£ï¼ˆå¤æœ¨ã®æžï¼‰ã€‚ (conf/) npc_test_ev.txt - ƒTƒ“ƒvƒ‹ + サンプル (map/) npc.c - npc_event()’ljÁ - npc_parse_script()C³ - npc_checknear()C³ + npc_event()è¿½åŠ + npc_parse_script()ä¿®æ£ + npc_checknear()ä¿®æ£ clif.c - clif_getareachar_npc()C³ + clif_getareachar_npc()ä¿®æ£ map.h - struct mob_data‚Énpc_eventƒƒ“ƒo’ljÁ + struct mob_dataã«npc_eventメンãƒè¿½åŠ mob.c/mob.h - mob_once_spawn()‚̈ø”•ÏX - mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·‚悤‚É + mob_once_spawn()ã®å¼•æ•°å¤‰æ›´ + mob_damage()ã§æ»äº¡æ™‚ã«ã‚¤ãƒ™ãƒ³ãƒˆã‚’èµ·ã“ã™ã‚ˆã†ã« atcommand.h - mob_once_spawn()‚̈ø”•ÏX + mob_once_spawn()ã®å¼•æ•°å¤‰æ›´ script.c - buildin_monster()‚ÌC³ + buildin_monster()ã®ä¿®æ£ ---------- -//0287 by ŒÓ’±—– +//0287 by 胡è¶è˜ -Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚Å‚g‚o‚ª65535‚ð‰z‚¦‚Ä‚¢‚é‚Ƴí‚È’l‚ªŒ©‚ê‚È‚¢ƒoƒOC³ +ãƒ»ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã‚¹ã‚ルã§ï¼¨ï¼°ãŒ65535を越ãˆã¦ã„ã‚‹ã¨æ£å¸¸ãªå€¤ãŒè¦‹ã‚Œãªã„ãƒã‚°ä¿®æ£ clif.c - clif_skill_estimation()‚ÌC³ + clif_skill_estimation()ã®ä¿®æ£ -EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ŃNƒ‰ƒCƒAƒ“ƒg‚ªƒŠƒ\[ƒXƒGƒ‰[‚ðo‚·–â‘肪C³‚³‚ê‚Ü‚µ‚½ -EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚Å¢Š«‚Å‚«‚é“G‚ªŽw’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・å¤æœ¨ã®æžã‚¢ã‚¤ãƒ†ãƒ ã§ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒãƒªã‚½ãƒ¼ã‚¹ã‚¨ãƒ©ãƒ¼ã‚’出ã™å•é¡ŒãŒä¿®æ£ã•ã‚Œã¾ã—㟠+・å¤æœ¨ã®æžã‚¢ã‚¤ãƒ†ãƒ ã§å¬å–šã§ãる敵ãŒæŒ‡å®šã§ãるよã†ã«ãªã‚Šã¾ã—㟠(db/) mob_branch.txt - ¢Š«‰Â”\‚È“G‚̃ŠƒXƒg + å¬å–šå¯èƒ½ãªæ•µã®ãƒªã‚¹ãƒˆ (map/) mob.c/mob.h - struct mob_data‚Ésummonflagƒƒ“ƒo’ljÁB¢Š«‰Â”\«B - mob_once_spawn()‚ÌC³ - mob_readbranch()‚̒ljÁ - do_init_mob()‚Åmob_readbranch()‚ðŒÄ‚Ԃ悤‚ÉB + struct mob_dataã«summonflagメンãƒè¿½åŠ 。å¬å–šå¯èƒ½æ€§ã€‚ + mob_once_spawn()ã®ä¿®æ£ + mob_readbranch()ã®è¿½åŠ + do_init_mob()ã§mob_readbranch()を呼ã¶ã‚ˆã†ã«ã€‚ -EŒÃ‚‚¢” AŒÃ‚¢Ž‡F‚Ì” ‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½B - ˆê•”‚Ì–¢ŽÀ‘•ƒAƒCƒeƒ€‚ào‚Ü‚·Bitem_db.txt‚É‚ ‚éƒf[ƒ^‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·B - ƒXƒNƒŠƒvƒggetitem‚Å•‰‚Ì’l‚ðŽw’è‚·‚é‚ÆA‚»‚Ìâ‘Î’l‚ðƒtƒ‰ƒO‚Æ‚µ‚Ä - ƒ‰ƒ“ƒ_ƒ€‚ɃAƒCƒeƒ€‚ð‘I‘ð‚µ‚Ü‚·B +・å¤ãé’ã„ç®±ã€å¤ã„紫色ã®ç®±ãŒå®Ÿè£…ã•ã‚Œã¾ã—ãŸã€‚ + 一部ã®æœªå®Ÿè£…アイテムも出ã¾ã™ã€‚item_db.txtã«ã‚るデータを検索ã—ã¦ã„ã¾ã™ã€‚ + スクリプトgetitemã§è² ã®å€¤ã‚’指定ã™ã‚‹ã¨ã€ãã®çµ¶å¯¾å€¤ã‚’フラグã¨ã—㦠+ ランダムã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã™ã€‚ (db/) item_db.txt/item_db2.txt - ŠY“–•”•ª‚̃XƒNƒŠƒvƒgC³ + 該当部分ã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ (map/) script.c - buildin_getitem()‚ÌC³ + buildin_getitem()ã®ä¿®æ£ itemdb.c/itemdb.h - itemdb_searchrandomid(),itemdb_searchrandomid_sub()’ljÁ + itemdb_searchrandomid(),itemdb_searchrandomid_sub()è¿½åŠ -E‰r¥ƒf[ƒ^‚̈ꕔC³ +ãƒ»è© å”±ãƒ‡ãƒ¼ã‚¿ã®ä¸€éƒ¨ä¿®æ£ (db/) cast_db.txt - ‘¬“x㸂ȂǂÌC³ + 速度上昇ãªã©ã®ä¿®æ£ -ENPC‚ÌŒü‚«C³‚È‚Ç +・NPCã®å‘ãä¿®æ£ãªã© (conf/) npc_*.txt ---------- -//0286 by ŒÓ’±—– +//0286 by 胡è¶è˜ -Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚éƒoƒOC³ +ãƒ»ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±ã‚¹ã‚ルã§ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè½ã¡ã‚‹ãƒã‚°ä¿®æ£ clif.c - clif_skill_estimation()‚ÌC³ + clif_skill_estimation()ã®ä¿®æ£ -E‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ª”½‰ž‚µ‚È‚¢‚±‚Æ‚ª‚ ‚é–â‘è‚ðC³ +ãƒ»è© å”±å応モンスターãŒåå¿œã—ãªã„ã“ã¨ãŒã‚ã‚‹å•é¡Œã‚’ä¿®æ£ skill.c - skill_use_id(),‰r¥”½‰žŽžAÅ’á’ÇÕ‹——£‚ð13‚ÉÝ’è‚·‚é‚悤‚ÉB + skill_use_id(),è© å”±å応時ã€æœ€ä½Žè¿½è·¡è·é›¢ã‚’13ã«è¨å®šã™ã‚‹ã‚ˆã†ã«ã€‚ -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[warp]‚ŃZ[ƒuƒ|ƒCƒ“ƒgˆÚ“®‚⃉ƒ“ƒ_ƒ€ˆÚ“®‚ª‰Â”\‚É‚È‚è‚Ü‚µ‚½ -EƒnƒG‚̉HA’±‚̉HƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ƒXƒNƒŠƒvƒgwarp‚Ń}ƒbƒv–¼‚É"SavePoint"‚â"Random"‚ªŽw’è‚Å‚«‚Ü‚·B +・スクリプトコマンド[warp]ã§ã‚»ãƒ¼ãƒ–ãƒã‚¤ãƒ³ãƒˆç§»å‹•ã‚„ランダム移動ãŒå¯èƒ½ã«ãªã‚Šã¾ã—㟠+・ãƒã‚¨ã®ç¾½ã€è¶ã®ç¾½ã‚¢ã‚¤ãƒ†ãƒ ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ スクリプトwarpã§ãƒžãƒƒãƒ—åã«"SavePoint"ã‚„"Random"ãŒæŒ‡å®šã§ãã¾ã™ã€‚ (db/) item_db.txt/item_db2.txt - ƒnƒG‚̉HA’±‚̉H‚̃XƒNƒŠƒvƒgC³ + ãƒã‚¨ã®ç¾½ã€è¶ã®ç¾½ã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ script.c - buildin_warp()‚ÌC³ + buildin_warp()ã®ä¿®æ£ -E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚ª•œŠˆ‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚𔶂³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ -EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ +・@monsterコマンドã«ã‚ˆã‚‹MOBãŒå¾©æ´»ã—ãªã„よã†ã«ãªã‚Šã¾ã—㟠+・スクリプトコマンド[monster]ã§MOBを発生ã•ã›ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—㟠+・å¤æœ¨ã®æžã‚¢ã‚¤ãƒ†ãƒ ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠- ƒXƒNƒŠƒvƒgˆø”‚Í monster ƒ}ƒbƒv–¼,x,y,MOB–¼,MOB‚ÌID,” ‚Å‚·B - ƒ}ƒbƒv–¼‚ª"this"‚Ìê‡AƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚½ƒvƒŒƒCƒ„[‚Ì‚¢‚éƒ}ƒbƒvA - x,y‚ª-1‚È‚çƒvƒŒƒCƒ„[‚ÌÀ•Wi‚Ç‚¿‚ç‚©ˆê•û‚Ì‚Ý‚»‚낦‚邱‚Æ‚à‰Â”\jA - MOB–¼‚ª"--en--"‚Ìê‡A–{—ˆ‚̉pŒê–¼‚É‚È‚èA"--ja--"‚Ìê‡A - –{—ˆ‚Ì“ú–{Œê–¼‚É‚È‚è‚Ü‚·BMOB‚ÌID‚ª-1‚Ìê‡A“K“–‚ÈID‚É‚È‚è‚Ü‚·B + スクリプト引数㯠monster マップå,x,y,MOBå,MOBã®ID,æ•° ã§ã™ã€‚ + マップåãŒ"this"ã®å ´åˆã€ã‚¹ã‚¯ãƒªãƒ—トを実行ã—ãŸãƒ—レイヤーã®ã„るマップ〠+ x,yãŒ-1ãªã‚‰ãƒ—レイヤーã®åº§æ¨™ï¼ˆã©ã¡ã‚‰ã‹ä¸€æ–¹ã®ã¿ãã‚ãˆã‚‹ã“ã¨ã‚‚å¯èƒ½ï¼‰ã€ + MOBåãŒ"--en--"ã®å ´åˆã€æœ¬æ¥ã®è‹±èªžåã«ãªã‚Šã€"--ja--"ã®å ´åˆã€ + 本æ¥ã®æ—¥æœ¬èªžåã«ãªã‚Šã¾ã™ã€‚MOBã®IDãŒ-1ã®å ´åˆã€é©å½“ãªIDã«ãªã‚Šã¾ã™ã€‚ (db/) item_db.txt/item_db2.txt - ŒÃ–Ø‚ÌŽ}‚̃XƒNƒŠƒvƒgC³ + å¤æœ¨ã®æžã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ (map/) mob.c/mob.h - mob_once_spawn()’ljÁ - mob_setdelayspwan()‚Å•œŠˆ‹ÖŽ~ˆ—’ljÁB + mob_once_spawn()è¿½åŠ + mob_setdelayspwan()ã§å¾©æ´»ç¦æ¢å‡¦ç†è¿½åŠ 。 npc.c/npc.h - npc_get_new_npc_id()’ljÁ + npc_get_new_npc_id()è¿½åŠ script.c - buildin_monster()’ljÁ + buildin_monster()è¿½åŠ atcommand.c - @monster‚ÌC³ + @monsterã®ä¿®æ£ -E@itemƒRƒ}ƒ“ƒh‚ÌC³i‘•”õ•i‚È‚Ç‚Ì–â‘èj +・@itemコマンドã®ä¿®æ£ï¼ˆè£…å‚™å“ãªã©ã®å•é¡Œï¼‰ atcommand.c - @item‚ÌC³ + @itemã®ä¿®æ£ ---------- -//0284 by ŒÓ’±—– +//0284 by 胡è¶è˜ -EáŠQ•¨‚ª‚ ‚é‚Ɖ“‹——£UŒ‚‚ª‚Å‚«‚È‚‚È‚è‚Ü‚µ‚½ -E‘Î’nƒXƒLƒ‹‚ªáŠQ•¨ã‚ÉŽg—p‚Å‚«‚È‚‚È‚è‚Ü‚µ‚½ +・障害物ãŒã‚ã‚‹ã¨é è·é›¢æ”»æ’ƒãŒã§ããªããªã‚Šã¾ã—㟠+・対地スã‚ルãŒéšœå®³ç‰©ä¸Šã«ä½¿ç”¨ã§ããªããªã‚Šã¾ã—㟠path.c - path_search(),can_move()‚ÌC³Acan_place()‚̒ljÁ + path_search(),can_move()ã®ä¿®æ£ã€can_place()ã®è¿½åŠ battle.c/battle.h - battle_check_range()’ljÁAŽË’ö‚ÆáŠQ•¨”»’èB - battle_weapon_attack()‚Åbattle_check_range()‚ðŒÄ‚ÔB + battle_check_range()è¿½åŠ ã€å°„程ã¨éšœå®³ç‰©åˆ¤å®šã€‚ + battle_weapon_attack()ã§battle_check_range()を呼ã¶ã€‚ skill.c - skill_use_id()Askill_use_pos()‚Åbattle_check_range()‚ðŒÄ‚ÔB + skill_use_id()ã€skill_use_pos()ã§battle_check_range()を呼ã¶ã€‚ mob.c - mob_ai_sub_hard()‚̈—‚ðC³ + mob_ai_sub_hard()ã®å‡¦ç†ã‚’ä¿®æ£ -E‰r¥”½‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ +ãƒ»è© å”±åå¿œ/リンクモンスターãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠skill.c - skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒX‚̈—’ljÁ + skill_use_id()ã«è© å”±å応モンスã®å‡¦ç†è¿½åŠ mob.c - mob_ai_sub_hard_linksearch()‚̒ljÁ - mob_ai_sub_hard()‚ɃŠƒ“ƒNˆ—‚ðC³ + mob_ai_sub_hard_linksearch()ã®è¿½åŠ + mob_ai_sub_hard()ã«ãƒªãƒ³ã‚¯å‡¦ç†ã‚’ä¿®æ£ ---------- -//0283 by ‚ê‚ -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ÌC³ - 0282‚Ŷ‚«‚Ä‚é‚o‚b‚ɃŠƒU‚ª‚©‚¯‚ê‚é‚Ì‚ÉA - Ž€‚ñ‚Å‚é‚o‚b‚ɂ̓ŠƒU‚ª‚©‚©‚ç‚È‚‚È‚Á‚Ä - ‚¢‚½‚Ì‚ðC³‚µ‚Ü‚µ‚½B +//0283 by れ゠+・リザレクションã®ä¿®æ£ + 0282ã§ç”Ÿãã¦ã‚‹ï¼°ï¼£ã«ãƒªã‚¶ãŒã‹ã‘れるã®ã«ã€ + æ»ã‚“ã§ã‚‹ï¼°ï¼£ã«ã¯ãƒªã‚¶ãŒã‹ã‹ã‚‰ãªããªã£ã¦ + ã„ãŸã®ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ ---------- -//0282 by ŒÓ’±—– - -EƒXƒLƒ‹‚ÌC³‚ƒljÁŽÀ‘• - EƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚̃GƒtƒFƒNƒg‚Ì–â‘èC³B - EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ª¶‚«‚Ä‚¢‚éPC‚É‚ÍŠ|‚¯‚ç‚ê‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ - Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh/UŒ‚ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ªBOSS‚É‚ÍŒø‚©‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ - Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚̃qƒbƒg”§ŒÀ‚ðŽÀ‘• - EƒXƒg[ƒ€ƒKƒXƒg‚ÌŽÀ‘• - ‚½‚¾‚µA–{ŽI‚ƈႢ“€Œ‹‚ÍŠm—¦‚Ì‚Ý‚ÅAÅ‘åƒqƒbƒg”‚È‚Ç‚ª•Ï‚Å‚·B +//0282 by 胡è¶è˜ + +・スã‚ルã®ä¿®æ£ã¨è¿½åŠ 実装 + ・ã‚リエエレイソンã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã®å•é¡Œä¿®æ£ã€‚ + ・リザレクションãŒç”Ÿãã¦ã„ã‚‹PCã«ã¯æŽ›ã‘られãªã„よã†ã«ãªã‚Šã¾ã—㟠+ ・ターンアンデッド/攻撃リザレクションãŒBOSSã«ã¯åŠ¹ã‹ãªã„よã†ã«ãªã‚Šã¾ã—㟠+ ・ファイヤーウォールã®ãƒ’ット数制é™ã‚’実装 + ・ストームガストã®å®Ÿè£… + ãŸã ã—ã€æœ¬é¯–ã¨é•ã„å‡çµã¯ç¢ºçŽ‡ã®ã¿ã§ã€æœ€å¤§ãƒ’ット数ãªã©ãŒå¤‰ã§ã™ã€‚ skill.c - skill_castend_nodamage_id()‚ÌC³ - ƒXƒg[ƒ€ƒKƒXƒg‚̈—’ljÁ + skill_castend_nodamage_id()ã®ä¿®æ£ + ストームガストã®å‡¦ç†è¿½åŠ -EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚É‚È‚Á‚ĈÀ‘S«ƒ`ƒFƒbƒN‚ð’ljÁB - i—Ž‚¿‚È‚‚È‚é“ú‚͉“‚¢HHj +・スã‚ルユニット処ç†ã«æ„地ã«ãªã£ã¦å®‰å…¨æ€§ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ ã€‚ + (è½ã¡ãªããªã‚‹æ—¥ã¯é ã„??) map.h - MAX_SKILLUNITGROUP‚ð32‚É‘‚₵‚½ + MAX_SKILLUNITGROUPã‚’32ã«å¢—ã‚„ã—㟠skill.c - skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’ljÁ + skill_status_change_*()ã«NULLãƒã‚§ãƒƒã‚¯è¿½åŠ battle.c - battle_calc_damage()‚ɶ‘¶ƒ`ƒFƒbƒN’ljÁ + battle_calc_damage()ã«ç”Ÿå˜ãƒã‚§ãƒƒã‚¯è¿½åŠ map.c - map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’ljÁ + map_freeblock_unlock()ã«ãƒãƒƒã‚¯æ•°ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ -E‚»‚Ì‘¼C³ - EPC‚ÌÅ‘åHP‚ª30000‚ɧŒÀ‚³‚ê‚Ü‚µ‚½B - EPC‚̉ñ•œˆ—‚ªC³‚³‚ê‚Ü‚µ‚½ - E‚«”ò‚΂µˆ—‚ÌC³ - E0281‚Ìitem_db.txt‚Ì•ÏX‚ðitem_db2.txt‚É‚à“K—p +・ãã®ä»–ä¿®æ£ + ・PCã®æœ€å¤§HPãŒ30000ã«åˆ¶é™ã•ã‚Œã¾ã—ãŸã€‚ + ・PCã®å›žå¾©å‡¦ç†ãŒä¿®æ£ã•ã‚Œã¾ã—㟠+ ・å¹ã飛ã°ã—処ç†ã®ä¿®æ£ + ・0281ã®item_db.txtã®å¤‰æ›´ã‚’item_db2.txtã«ã‚‚é©ç”¨ (map/) pc.c - pc_heal(),pc_calcstatus()‚ÌC³ + pc_heal(),pc_calcstatus()ã®ä¿®æ£ path.c - path_blownpos()‚ÌC³ + path_blownpos()ã®ä¿®æ£ (db/) item_db2.txt - 0281‚Ì–¼‘OC³‚È‚Ç‚ð“K—p + 0281ã®åå‰ä¿®æ£ãªã©ã‚’é©ç”¨ ---------- -//0280 by ŒÓ’±—– - -EŠÇ—ŽÒ‚̃VƒXƒeƒ€‚ðì¬ - "conf/login_athena.cnf"‚Ìì¬AŠÇ—ŽÒƒpƒXAGMƒpƒX‚ÌÝ’èB - ƒAƒJƒEƒ“ƒg‚ðì‚é‚Æ‚«A - ƒ—á„ ID: hoge_M Pass: foobar@admin - ‚̂悤‚ÉAƒpƒXƒ[ƒh‚ÌŒã‚ë‚Éu@ŠÇ—ŽÒƒpƒXv‚ª•K—v‚ÉB - login_athena.cnf‚Ìadmin_pass‚Ì—“‚ðÁ‚¹‚ÎA¡‚܂ł̂悤‚É‚à‚‚©‚¦‚Ü‚·B - i‚»‚Ìê‡Aadmin_pass‚ÌŒã‚낾‚¯‚Å‚È‚As‚²‚ÆÁ‚µ‚Ä‚‚¾‚³‚¢j +//0280 by 胡è¶è˜ + +・管ç†è€…ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’ä½œæˆ + "conf/login_athena.cnf"ã®ä½œæˆã€ç®¡ç†è€…パスã€GMパスã®è¨å®šã€‚ + アカウントを作るã¨ã〠+ <例> ID: hoge_M Pass: foobar@admin + ã®ã‚ˆã†ã«ã€ãƒ‘スワードã®å¾Œã‚ã«ã€Œ@管ç†è€…パスã€ãŒå¿…è¦ã«ã€‚ + login_athena.cnfã®admin_passã®æ¬„を消ã›ã°ã€ä»Šã¾ã§ã®ã‚ˆã†ã«ã‚‚ã¤ã‹ãˆã¾ã™ã€‚ + (ãã®å ´åˆã€admin_passã®å¾Œã‚ã ã‘ã§ãªãã€è¡Œã”ã¨æ¶ˆã—ã¦ãã ã•ã„) (login/) login.h - Ý’èƒtƒ@ƒCƒ‹‚̃fƒtƒHƒ‹ƒg–¼’ljÁ + è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆåè¿½åŠ login2.c - ƒAƒJƒEƒ“ƒg쬂̂Ƃ±‚ë‚ðC³ - Ý’èƒtƒ@ƒCƒ‹‚Ì“Ç‚Ýž‚ݒljÁ - -E@GMƒRƒ}ƒ“ƒh•œŠˆ - ‚½‚¾‚µAu@gm GMƒpƒXv‚Æ‚µ‚ÄŽg‚¢‚Ü‚·B - GMƒpƒX‚Ílogin_athena.cnf‚Ì‚à‚Ì‚Å‚·B - ŽI‚ÌÄ‹N“®‚Ì•K—v‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA - ƒNƒ‰ƒCƒAƒ“ƒg‚̓ŠƒƒO‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B + アカウント作æˆã®ã¨ã“ã‚ã‚’ä¿®æ£ + è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã®èªã¿è¾¼ã¿è¿½åŠ + +・@GMコマンド復活 + ãŸã ã—ã€ã€Œ@gm GMパスã€ã¨ã—ã¦ä½¿ã„ã¾ã™ã€‚ + GMパスã¯login_athena.cnfã®ã‚‚ã®ã§ã™ã€‚ + 鯖ã®å†èµ·å‹•ã®å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ + クライアントã¯ãƒªãƒã‚°ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - ƒ’ˆÓ„ - “¯‚¶ƒAƒJƒEƒ“ƒg‚Ì‘S‚ẴLƒƒƒ‰‚ÍPT‚©‚甲‚¯‚Ä’u‚¢‚Ä‚‚¾‚³‚¢B - ‚Ü‚½A‘qŒÉ‚̃AƒCƒeƒ€‚Í‘S•”ˆø‚«o‚µ‚Ä’u‚¢‚Ä‚‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¢‚ƃSƒ~ƒf[ƒ^‚ªŽc‚è‚Ü‚·B + <注æ„> + åŒã˜ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®å…¨ã¦ã®ã‚ャラã¯PTã‹ã‚‰æŠœã‘ã¦ç½®ã„ã¦ãã ã•ã„。 + ã¾ãŸã€å€‰åº«ã®ã‚¢ã‚¤ãƒ†ãƒ ã¯å…¨éƒ¨å¼•ã出ã—ã¦ç½®ã„ã¦ãã ã•ã„。 + ãã†ã—ãªã„ã¨ã‚´ãƒŸãƒ‡ãƒ¼ã‚¿ãŒæ®‹ã‚Šã¾ã™ã€‚ (login/) login2.c - ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + アカウントID変更処ç†è¿½åŠ (char/) char2.c - ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + アカウントID変更処ç†è¿½åŠ (map/) chrif.c/chrif.h - chrif_changegm(),chrif_changedgm()’ljÁ + chrif_changegm(),chrif_changedgm()è¿½åŠ -E@pvpoffƒRƒ}ƒ“ƒh•œŠˆ +・@pvpoffコマンド復活 clif.c/clif.h - clif_pvpoff()’ljÁ + clif_pvpoff()è¿½åŠ atcommand.c - @pvpoff‚̈—’ljÁ + @pvpoffã®å‡¦ç†è¿½åŠ -E‹ó‚Ì‘qŒÉƒf[ƒ^‚Í•Û‘¶‚³‚ê‚È‚¢‚悤‚É•ÏX +・空ã®å€‰åº«ãƒ‡ãƒ¼ã‚¿ã¯ä¿å˜ã•ã‚Œãªã„よã†ã«å¤‰æ›´ (char/) int_storage.c - inter_storage_save()Astorage_tostr()‚ðC³ + inter_storage_save()ã€storage_tostr()ã‚’ä¿®æ£ -E@memoƒRƒ}ƒ“ƒh’ljÁB - ”CˆÓ‚Ì‹L‰¯ˆæ‚Ƀƒ‚‚ðŽæ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B +・@memoã‚³ãƒžãƒ³ãƒ‰è¿½åŠ ã€‚ + ä»»æ„ã®è¨˜æ†¶åŸŸã«ãƒ¡ãƒ¢ã‚’å–れるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ atcommand.c - @memo‚̈—’ljÁ + @memoã®å‡¦ç†è¿½åŠ ---------- -//0279 by ŒÓ’±—– +//0279 by 胡è¶è˜ -EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚Ì–â‘è‘Îô - ‚Æ‚è‚ ‚¦‚¸‚Ђ½‚·‚çƒ`ƒFƒbƒN‚ð“ü‚ê‚Ü‚µ‚½B +・スã‚ルユニット処ç†ã®å•é¡Œå¯¾ç– + ã¨ã‚Šã‚ãˆãšã²ãŸã™ã‚‰ãƒã‚§ãƒƒã‚¯ã‚’入れã¾ã—ãŸã€‚ skill.c skill_unit_timer_sub(),skill_unit_move_sub(), - skill_delunit()‚Ƀ†ƒjƒbƒg‚̶‘¶”»’è‚ð’ljÁB + skill_delunit()ã«ãƒ¦ãƒ‹ãƒƒãƒˆã®ç”Ÿå˜åˆ¤å®šã‚’è¿½åŠ ã€‚ skill_unitgrouptickset_search(),skill_unitgrouptickset_delete() - skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁB + skill_delunitgroup()ã«NULLãƒã‚¤ãƒ³ã‚¿ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ ã€‚ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŽÀ‘• - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚¯‚é‚Æ—Ž‚¿‚éƒoƒOC³ +・スã‚ルã®è¿½åŠ 実装ã¨ä¿®æ£ + テレãƒãƒ¼ãƒˆã€ãƒ¯ãƒ¼ãƒ—ãƒãƒ¼ã‚¿ãƒ«ã®å®Ÿè£… + ã‚リエエレイソンをMOBã«æŽ›ã‘ã‚‹ã¨è½ã¡ã‚‹ãƒã‚°ä¿®æ£ (db/) cast_db.txt - ƒ[ƒvƒ|[ƒ^ƒ‹‚̉r¥ŽžŠÔÝ’è + ワープãƒãƒ¼ã‚¿ãƒ«ã®è© 唱時間è¨å®š (map/) map.h - struct skill_unit_group‚Ìvalstr‚ðƒ|ƒCƒ“ƒ^‚É•ÏX + struct skill_unit_groupã®valstrã‚’ãƒã‚¤ãƒ³ã‚¿ã«å¤‰æ›´ clif.c/clif.h - clif_parse_UseSkillMap(),clif_skill_warppoint()A - clif_parse_Memo(),clif_skill_memo()’ljÁ + clif_parse_UseSkillMap(),clif_skill_warppoint()〠+ clif_parse_Memo(),clif_skill_memo()è¿½åŠ skill.c/skill.h - skill_castend_map(),skill_unit_onlimit()‚̒ljÁ - skill_unit_*Œn‚̈—‚¢‚ë‚¢‚ë’ljÁB - skill_status_change_start()‚̃LƒŠƒG‚̈—C³ + skill_castend_map(),skill_unit_onlimit()ã®è¿½åŠ + skill_unit_*ç³»ã®å‡¦ç†ã„ã‚ã„ã‚è¿½åŠ ã€‚ + skill_status_change_start()ã®ã‚リエã®å‡¦ç†ä¿®æ£ pc.c/pc.h - pc_randomwarp(),pc_memo()’ljÁ + pc_randomwarp(),pc_memo()è¿½åŠ ---------- //0278 by nabe -EƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚Á‚½‚Æ‚«‚ɃXƒe[ƒ^ƒX‚ðXV +・スã‚ルãƒã‚¤ãƒ³ãƒˆã‚’振ã£ãŸã¨ãã«ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’æ›´æ–° pc.c - pc_skillup()‚Åpc_calc_skilltree()‚Ì‘ã‚í‚è‚Épc_calcstatus() -EŠŽ—Ê‘‰Á‚ðC³ + pc_skillup()ã§pc_calc_skilltree()ã®ä»£ã‚ã‚Šã«pc_calcstatus() +・所æŒé‡å¢—åŠ ã‚’ä¿®æ£ pc.c - pc_calcstatus()‚ÌŠŽ—Ê‘‰Á‚É‚æ‚émax_weight‘•ª‚ðskill*1000‚É + pc_calcstatus()ã®æ‰€æŒé‡å¢—åŠ ã«ã‚ˆã‚‹max_weight増分をskill*1000ã« ---------- //0277 by nabe -E•t‘®•iiƒJ[ƒgA‘éAƒyƒRj‚Ì•t‚¯ŠO‚µ‚ð‰ü—Ç +・付属å“(カートã€é·¹ã€ãƒšã‚³ï¼‰ã®ä»˜ã‘外ã—を改良 (conf/) npc_event_rental.txt - ‘éAƒyƒR‚ð•t‚¯‚éƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð•ÏX + é·¹ã€ãƒšã‚³ã‚’付ã‘るスクリプトコマンドを変更 (map/) battle.c - battle_addmastery(),battle_calc_weapon_attack()‚Å - ƒyƒRƒyƒR‹R掞‚Ì‘„UŒ‚—͕ⳂðŽÀ‘• + battle_addmastery(),battle_calc_weapon_attack()㧠+ ペコペコ騎乗時ã®æ§æ”»æ’ƒåŠ›è£œæ£ã‚’実装 clif.c - clif_parse_CartOff‚ðclif_parse_RemoveOption‚É•ÏX + clif_parse_CartOffã‚’clif_parse_RemoveOptionã«å¤‰æ›´ pc.c/pc.h - pc_calcstatus()‚ŃJ[ƒgAƒyƒRƒyƒRæ‚è‚É‚æ‚鑬“x•Ï‰»‚ðŒvŽZ - pc_setoption(),pc_setcart()‰ü—Ç - pc_setfalcon(),pc_setriding()’ljÁ - pc.h‚Épc_isfalcon(),pc_isriding()ƒ}ƒNƒ’ljÁ + pc_calcstatus()ã§ã‚«ãƒ¼ãƒˆã€ãƒšã‚³ãƒšã‚³ä¹—ã‚Šã«ã‚ˆã‚‹é€Ÿåº¦å¤‰åŒ–を計算 + pc_setoption(),pc_setcart()改良 + pc_setfalcon(),pc_setriding()è¿½åŠ + pc.hã«pc_isfalcon(),pc_isriding()マクãƒè¿½åŠ script.c - buildin_setfalcon() ‘é•t‰Á - buildin_setriding() ƒyƒRƒyƒRæ‚è + buildin_setfalcon() é·¹ä»˜åŠ + buildin_setriding() ペコペコ乗り ---------- //0276 by nabe -E¸˜BNPCŽÀ‘• +・精錬NPC実装 (conf/) npc_town_refine.txt - ¸˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’ljÁ + 精錬NPCスクリプトファイル新è¦è¿½åŠ (map/) pc.c/pc.h - ¸˜B¬Œ÷—¦‚Ì•\percentrefinery[5][10]‚ð’ljÁ - script.c‚©‚çŒÄ‚΂ê‚éŠÖ” - pc_percentrefinery() ¸˜B¬Œ÷—¦ - pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX - ‚ð’ljÁ + 精錬æˆåŠŸçŽ‡ã®è¡¨percentrefinery[5][10]ã‚’è¿½åŠ + script.cã‹ã‚‰å‘¼ã°ã‚Œã‚‹é–¢æ•° + pc_percentrefinery() 精錬æˆåŠŸçŽ‡ + pc_equipitemindex() 装備å“インデックス + ã‚’è¿½åŠ script.c - buildin_getequipname() ‘•”õ–¼•¶Žš—ñi¸˜Bƒƒjƒ…[—pj - buildin_getequipisequiped() ‘•”õƒ`ƒFƒbƒN - buildin_getequipisenableref() ‘•”õ•i¸˜B‰Â”\ƒ`ƒFƒbƒN - buildin_getequipisidentify() ‘•”õ•iŠÓ’èƒ`ƒFƒbƒN - buildin_getequiprefinerycnt() ‘•”õ•i¸˜B“x - buildin_getequipweaponlv() ‘•”õ•i•ŠíLV - buildin_getequippercentrefinery() ‘•”õ•i¸˜B¬Œ÷—¦ - buildin_successrefitem() ¸˜B¬Œ÷ - buildin_failedrefitem() ¸˜BŽ¸”s - ‚ð’ljÁ - -EƒXƒNƒŠƒvƒg‚ÉWeight,MaxWeightƒpƒ‰ƒ[ƒ^‚ð’ljÁ + buildin_getequipname() 装備åæ–‡å—列(精錬メニュー用) + buildin_getequipisequiped() 装備ãƒã‚§ãƒƒã‚¯ + buildin_getequipisenableref() 装備å“精錬å¯èƒ½ãƒã‚§ãƒƒã‚¯ + buildin_getequipisidentify() 装備å“鑑定ãƒã‚§ãƒƒã‚¯ + buildin_getequiprefinerycnt() 装備å“精錬度 + buildin_getequipweaponlv() 装備å“æ¦å™¨LV + buildin_getequippercentrefinery() 装備å“精錬æˆåŠŸçŽ‡ + buildin_successrefitem() 精錬æˆåŠŸ + buildin_failedrefitem() 精錬失敗 + ã‚’è¿½åŠ + +・スクリプトã«Weight,MaxWeightãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¿½åŠ const.txt - Weight,MaxWeight‚ð’ljÁ + Weight,MaxWeightã‚’è¿½åŠ -EƒXƒNƒŠƒvƒg‚ł̃Lƒƒƒ‰–¼•\Ž¦•ûŽ®‚ð•ÏX +・スクリプトã§ã®ã‚ャラå表示方å¼ã‚’変更 (conf/) npc_job_merchant.txt/npc_job_thief.txt/npc_town_kafra.txt - mes "$charaname"; ‚ð mes strcharinfo(0); ‚É•ÏX + mes "$charaname"; ã‚’ mes strcharinfo(0); ã«å¤‰æ›´ (map/) script.c - buildin_strcharinfo()‚ð’ljÁ + buildin_strcharinfo()ã‚’è¿½åŠ ---------- -//0275 by ŒÓ’±—– +//0275 by 胡è¶è˜ -EMVP‚ÌŽÀ‘• - MVP‚Ì”»’è‚É‚Ídmglog‚ðŽg‚Á‚Ä‚Ü‚·B‚·‚È‚í‚¿—^ƒ_ƒ‚¾‚¯‚ªŒvŽZ‘ÎÛ‚Å‚·B - ”íƒ_ƒ‚Íl—¶‚³‚ê‚Ä‚Ü‚¹‚ñB - ŒoŒ±’l‚Í–³ðŒ‚Å“ü‚èAŠm—¦‚Å‚³‚ç‚ɃAƒCƒeƒ€‚ª“ü‚è‚Ü‚·B - ƒAƒCƒeƒ€‚Í•¡”Žè‚É“ü‚邱‚Æ‚à‚ ‚è‚Ü‚·B +・MVPã®å®Ÿè£… + MVPã®åˆ¤å®šã«ã¯dmglogを使ã£ã¦ã¾ã™ã€‚ã™ãªã‚ã¡ä¸Žãƒ€ãƒ¡ã ã‘ãŒè¨ˆç®—対象ã§ã™ã€‚ + 被ダメã¯è€ƒæ…®ã•ã‚Œã¦ã¾ã›ã‚“。 + 経験値ã¯ç„¡æ¡ä»¶ã§å…¥ã‚Šã€ç¢ºçŽ‡ã§ã•ã‚‰ã«ã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã‚Šã¾ã™ã€‚ + アイテムã¯è¤‡æ•°æ‰‹ã«å…¥ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ clif.c/clif.h - clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’ljÁ + clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()è¿½åŠ mob.c - mob_damage()‚ÉMVPˆ—’ljÁ + mob_damage()ã«MVP処ç†è¿½åŠ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒNAƒAƒ[ƒVƒƒƒ[ŽÀ‘• - E‚«”ò‚΂µŒnƒXƒLƒ‹‚ªˆê•”Žg—p‚³‚ê‚È‚¢ƒoƒOC³ - Eƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO‚̃_ƒ[ƒWŒvŽZŽ®C³ - E•ŠíUŒ‚Œn‘®«•t‚«ƒXƒLƒ‹‚Å‘®«‚ª”½‰f‚³‚ê‚È‚¢–â‘èC³ - Eꊎw’èƒXƒLƒ‹‚ªUŒ‚‚µ‚È‚ª‚ç‰r¥‚Å‚«‚½–â‘è‚ðC³ +・スã‚ルã®è¿½åŠ 実装ã¨ä¿®æ£ + ・マグナムブレイクã€ã‚¢ãƒãƒ¼ã‚·ãƒ£ãƒ¯ãƒ¼å®Ÿè£… + ・å¹ã飛ã°ã—系スã‚ルãŒä¸€éƒ¨ä½¿ç”¨ã•ã‚Œãªã„ãƒã‚°ä¿®æ£ + ・ダブルストレイフィングã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—å¼ä¿®æ£ + ・æ¦å™¨æ”»æ’ƒç³»å±žæ€§ä»˜ãスã‚ルã§å±žæ€§ãŒåæ˜ ã•ã‚Œãªã„å•é¡Œä¿®æ£ + ãƒ»å ´æ‰€æŒ‡å®šã‚¹ã‚ルãŒæ”»æ’ƒã—ãªãŒã‚‰è© å”±ã§ããŸå•é¡Œã‚’ä¿®æ£ battle.c - battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³•’ljÁ + battle_calc_weapon_attack()ã®è©²å½“個所修æ£ï¼†è¿½åŠ skill.c - skill_castend_damage_id()‚Ɉ—’ljÁ - skill_use_pos()‚ÉUŒ‚’âŽ~ˆ—’ljÁ + skill_castend_damage_id()ã«å‡¦ç†è¿½åŠ + skill_use_pos()ã«æ”»æ’ƒåœæ¢å‡¦ç†è¿½åŠ -EƒJ[ƒhƒXƒLƒ‹‚ªƒJ[ƒh‚ðŠO‚µ‚Ä‚àŽg—p‰Â”\‚È–â‘è‚ðC³ +・カードスã‚ルãŒã‚«ãƒ¼ãƒ‰ã‚’外ã—ã¦ã‚‚使用å¯èƒ½ãªå•é¡Œã‚’ä¿®æ£ pc.c - pc_calc_skilltree()‚ðC³ + pc_calc_skilltree()ã‚’ä¿®æ£ -EƒAƒCƒeƒ€ƒhƒƒbƒv—¦AexpŠ“¾”{—¦‚È‚Ç‚Ì’²®‹@”\’ljÁ - battle_athena.cnf‚Å’²®‚Å‚«‚逖ڂª‘‚¦‚Ü‚µ‚½B - Ú‚µ‚‚Í‚»‚¿‚ç‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B +・アイテムドãƒãƒƒãƒ—率ã€exp所得å€çŽ‡ãªã©ã®èª¿æ•´æ©Ÿèƒ½è¿½åŠ + battle_athena.cnfã§èª¿æ•´ã§ãã‚‹é …ç›®ãŒå¢—ãˆã¾ã—ãŸã€‚ + 詳ã—ãã¯ãã¡ã‚‰ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 (conf/) battle_athena.cnf - mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rate’ljÁ + mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rateè¿½åŠ (map/) battle.c/battle.h - ‘‚¦‚½€–Ú‚ð“Ç‚Ýž‚ނ悤‚Ɉ—’ljÁ + 増ãˆãŸé …目をèªã¿è¾¼ã‚€ã‚ˆã†ã«å‡¦ç†è¿½åŠ mob.c - mob_db.txt“Ç‚Ýž‚ÝŽžAƒf[ƒ^‚ð’²®‚·‚鈗’ljÁ + mob_db.txtèªã¿è¾¼ã¿æ™‚ã€ãƒ‡ãƒ¼ã‚¿ã‚’調整ã™ã‚‹å‡¦ç†è¿½åŠ ---------- -//0274 by ŒÓ’±—– +//0274 by 胡è¶è˜ -EƒXƒLƒ‹‚̒ljÁŽÀ‘• - ƒXƒLƒbƒhƒgƒ‰ƒbƒvAƒ‰ƒ“ƒhƒ}ƒCƒ“Aƒuƒ‰ƒXƒgƒ}ƒCƒ“AƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA - ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒvAƒTƒ“ƒhƒ}ƒ“AƒAƒ“ƒNƒ‹ƒXƒlƒA +・スã‚ルã®è¿½åŠ 実装 + スã‚ッドトラップã€ãƒ©ãƒ³ãƒ‰ãƒžã‚¤ãƒ³ã€ãƒ–ラストマインã€ã‚¯ãƒ¬ã‚¤ãƒ¢ã‚¢ãƒ¼ãƒˆãƒ©ãƒƒãƒ—〠+ フリージングトラップã€ã‚µãƒ³ãƒ‰ãƒžãƒ³ã€ã‚¢ãƒ³ã‚¯ãƒ«ã‚¹ãƒã‚¢ - ‡–°‚â“€Œ‹‚È‚Ç‚ÌŠm—¦‚Í“K“–‚Å‚·B - ã©”“®Žž‚̃GƒtƒFƒNƒg‚ªo‚Ü‚¹‚ñB‚Ä‚¢‚¤‚©o‚µ•û‚ª‚í‚©‚è‚Ü‚¹‚ñB - ‚í‚©‚él‚Í‹³‚¦‚Ä‚‚¾‚³‚¢B‚à‚µ‚‚Í–{ŽI‚Åã©”“®Žž‚Ì•¡‡‰»Ï‚Ý‚Ì - ¶ƒpƒPƒbƒgƒf[ƒ^‚Å‚à‚¢‚¢‚Ì‚Å‹³‚¦‚Ä‚‚¾‚³‚¢B + ç¡çœ ã‚„å‡çµãªã©ã®ç¢ºçŽ‡ã¯é©å½“ã§ã™ã€‚ + ç½ ç™ºå‹•æ™‚ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå‡ºã¾ã›ã‚“。ã¦ã„ã†ã‹å‡ºã—æ–¹ãŒã‚ã‹ã‚Šã¾ã›ã‚“。 + ã‚ã‹ã‚‹äººã¯æ•™ãˆã¦ãã ã•ã„。もã—ãã¯æœ¬é¯–ã§ç½ 発動時ã®è¤‡åˆåŒ–済ã¿ã® + 生パケットデータã§ã‚‚ã„ã„ã®ã§æ•™ãˆã¦ãã ã•ã„。 (db/) skill_db.txt - ‘®«‚ÌC³ + 属性ã®ä¿®æ£ (map/) skill.c - ŠY“–ŒÂŠ + 該当個所 battle.c/battle.h - battle_calc_misc_damage()‚ÌŠY“–ŒÂŠ - battle_stopwalking()’ljÁ + battle_calc_misc_damage()ã®è©²å½“個所 + battle_stopwalking()è¿½åŠ clif.c/clif.h - clif_fixpcpos()’ljÁ - clif_parse_WalkToXY()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚‚·‚鈗’ljÁ + clif_fixpcpos()è¿½åŠ + clif_parse_WalkToXY()ã«ã‚¢ãƒ³ã‚¯ãƒ«ã§å‹•ã‘ãªãã™ã‚‹å‡¦ç†è¿½åŠ mob.c - mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚‚·‚鈗’ljÁ + mob_ai_sub_hard()ã«ã‚¢ãƒ³ã‚¯ãƒ«ã§å‹•ã‘ãªãã™ã‚‹å‡¦ç†è¿½åŠ -E‘•”õ‚Ȃǂ̃NƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚ª1/10‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ +・装備ãªã©ã®ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«ãƒœãƒ¼ãƒŠã‚¹ãŒ1/10ã«ãªã£ã¦ã„ã‚‹ãƒã‚°ãŒä¿®æ£ã•ã‚Œã¾ã—㟠battle.c - battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗C³ + battle_calc_weapon_attack()ã«è¿½åŠ 分を計算ã™ã‚‹å‡¦ç†ä¿®æ£ -EƒuƒŠƒbƒcƒr[ƒg‚ÌŒvŽZŽ®‚ª‘S‘Rˆá‚¤ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ +・ブリッツビートã®è¨ˆç®—å¼ãŒå…¨ç„¶é•ã†ãƒã‚°ãŒä¿®æ£ã•ã‚Œã¾ã—㟠battle.c - battle_calc_attack()‚ÌBF_MISC‚̈’u‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ + battle_calc_attack()ã®BF_MISCã®å‡¦ç½®ãŒé–“é•ã£ã¦ã„ãŸã®ã‚’ä¿®æ£ -ESW‚ƃjƒ…[ƒ}‚ª•ŠíUŒ‚‚È‚ç‚Ç‚ñ‚ȃŒƒ“ƒW‚ÌUŒ‚‚Å‚à–h‚¢‚Å‚¢‚½–â‘è‚ðC³ +・SWã¨ãƒ‹ãƒ¥ãƒ¼ãƒžãŒæ¦å™¨æ”»æ’ƒãªã‚‰ã©ã‚“ãªãƒ¬ãƒ³ã‚¸ã®æ”»æ’ƒã§ã‚‚防ã„ã§ã„ãŸå•é¡Œã‚’ä¿®æ£ battle.c - battle_calc_damage()‚̃Œƒ“ƒW”»’è‚ðC³ + battle_calc_damage()ã®ãƒ¬ãƒ³ã‚¸åˆ¤å®šã‚’ä¿®æ£ -EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ªPTƒƒ“ƒo‚É‚à‚©‚©‚é‚悤‚ÉC³B - Œø‰Ê‚ÍŽg—pŽÒ‚ÆPTƒƒ“ƒo‚ňႢ‚Í‚ ‚è‚Ü‚¹‚ñB +・オーãƒãƒ¼ãƒˆãƒ©ã‚¹ãƒˆã¨ã‚¦ã‚§ãƒãƒ³ãƒ‘ーフェクションãŒPTメンãƒã«ã‚‚ã‹ã‹ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ + 効果ã¯ä½¿ç”¨è€…ã¨PTメンãƒã§é•ã„ã¯ã‚ã‚Šã¾ã›ã‚“。 skill.c - skill_castend_nodamage_id()‚ÌC³B + skill_castend_nodamage_id()ã®ä¿®æ£ã€‚ ---------- -//0273 by ŒÓ’±—– +//0273 by 胡è¶è˜ -EƒLƒƒƒ‰ƒNƒ^[‚ªÁŽ¸‚µ‚½‚茶‰e‚ªo‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½ - E‚«”ò‚΂µƒXƒLƒ‹‚ðŽó‚¯‚é‚Æ”¶‚µ‚Ä‚¢‚½ - EŽÎ‚߈ȊO‚Ì•às‚Å”¶‚µ‚Ä‚¢‚½ +・ã‚ャラクターãŒæ¶ˆå¤±ã—ãŸã‚Šå¹»å½±ãŒå‡ºã‚‹å•é¡ŒãŒä¿®æ£ã•ã‚Œã¾ã—㟠+ ・å¹ã飛ã°ã—スã‚ルをå—ã‘ã‚‹ã¨ç™ºç”Ÿã—ã¦ã„㟠+ ・斜ã‚以外ã®æ©è¡Œã§ç™ºç”Ÿã—ã¦ã„㟠map.c - map_foreachinmovearea()‚ÌC³B + map_foreachinmovearea()ã®ä¿®æ£ã€‚ skill.c - skill_blown()‚É•\Ž¦”͈ÍXVˆ—‚ð’ljÁB + skill_blown()ã«è¡¨ç¤ºç¯„囲更新処ç†ã‚’è¿½åŠ ã€‚ mob.c - mob_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + mob_walk()ã§æ©ã終ã‚ã£ãŸã¨ãã«ä½ç½®ã‚’å†é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ pc.c - pc_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + pc_walk()ã§æ©ã終ã‚ã£ãŸã¨ãã«ä½ç½®ã‚’å†é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹Aƒtƒ@ƒCƒ„[ƒsƒ‰[‚ÌŽÀ‘• - ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ł̃mƒbƒNƒoƒbƒN•ûŒü‚ðC³ +・スã‚ルã®è¿½åŠ 実装ã¨ä¿®æ£ + ファイヤーウォールã€ãƒ•ã‚¡ã‚¤ãƒ¤ãƒ¼ãƒ”ラーã®å®Ÿè£… + サンクãƒãƒ¥ã‚¢ãƒªã§ã®ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯æ–¹å‘ã‚’ä¿®æ£ (db/) skill_db.txt - ƒtƒ@ƒCƒ„[ƒsƒ‰[AƒuƒŠƒbƒcƒr[ƒg‚̃qƒbƒg”C³ + ファイヤーピラーã€ãƒ–リッツビートã®ãƒ’ãƒƒãƒˆæ•°ä¿®æ£ (map/) skill.c - skill_blown()‚É‘ÎÛ‚ÌŒü‚«‚É‚æ‚éƒmƒbƒNƒoƒbƒNˆ—’ljÁ - ‚»‚Ì‘¼•K—v‚ÈêŠC³ + skill_blown()ã«å¯¾è±¡ã®å‘ãã«ã‚ˆã‚‹ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯å‡¦ç†è¿½åŠ + ãã®ä»–å¿…è¦ãªå ´æ‰€ä¿®æ£ mob.c - mob_walk(),mob_attack()‚ÅŒü‚«‚ð•Û‘¶ + mob_walk(),mob_attack()ã§å‘ãã‚’ä¿å˜ pc.c - pc_walk(),pc_attck()‚ÅŒü‚«‚ð•Û‘¶ + pc_walk(),pc_attck()ã§å‘ãã‚’ä¿å˜ map.c - map_calc_dir()’ljÁB‘Š‘ΓI‚È•ûŒü‚ð‹‚ß‚é + map_calc_dir()è¿½åŠ ã€‚ç›¸å¯¾çš„ãªæ–¹å‘を求ã‚ã‚‹ -EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚ªí“¬Žž‚ÉŒvŽZ‚³‚ê‚Ä‚È‚¢ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ +ãƒ»ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«å¢—åŠ è£…å‚™ãŒæˆ¦é—˜æ™‚ã«è¨ˆç®—ã•ã‚Œã¦ãªã„ãƒã‚°ãŒä¿®æ£ã•ã‚Œã¾ã—㟠battle.c - battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗’ljÁ + battle_calc_weapon_attack()ã«è¿½åŠ 分を計算ã™ã‚‹å‡¦ç†è¿½åŠ -E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚ª“G‚ɉe‹¿‚ð‹y‚Ú‚·‚©‚Ç‚¤‚©‚ð - battle_athena.cnf‚ŧŒä‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - ƒfƒtƒHƒ‹ƒg‚Íu‹y‚Ú‚³‚È‚¢v‚Å‚·B +・防御ユニット(SW/ニューマ)ãŒæ•µã«å½±éŸ¿ã‚’åŠã¼ã™ã‹ã©ã†ã‹ã‚’ + battle_athena.cnfã§åˆ¶å¾¡ã§ãるよã†ã«ãªã‚Šã¾ã—㟠+ デフォルトã¯ã€ŒåŠã¼ã•ãªã„ã€ã§ã™ã€‚ (conf/) battle_athena.cnf - €–Údefunit_not_enemy‚ð’ljÁ + é …ç›®defunit_not_enemyã‚’è¿½åŠ (map/) battle.c/battle.h - struct Battle_Config ‚É defnotenemyƒƒ“ƒo’ljÁB - battle_read_config()‚̈—‚ðC³B + struct Battle_Config ã« defnotenemyメンãƒè¿½åŠ 。 + battle_read_config()ã®å‡¦ç†ã‚’ä¿®æ£ã€‚ skill.c - skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚̈—‚ðC³ + skill_unitsetting()ã§SW/ニューマã®å‡¦ç†ã‚’ä¿®æ£ -EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ñ‚Å‚à‰r¥‚ª‘±‚ƒoƒO‚ðC³ - i‰r¥I—¹‘O‚É•œŠˆ‚·‚ê‚Ζ‚–@‚ª”“®‚·‚é–â‘è‚àC³‚É‚È‚è‚Ü‚·j +・フェンカード装備時ã€æ»ã‚“ã§ã‚‚è© å”±ãŒç¶šããƒã‚°ã‚’ä¿®æ£ + ï¼ˆè© å”±çµ‚äº†å‰ã«å¾©æ´»ã™ã‚Œã°é”法ãŒç™ºå‹•ã™ã‚‹å•é¡Œã‚‚ä¿®æ£ã«ãªã‚Šã¾ã™ï¼‰ pc.c - pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ԃ悤‚ÉC³ + pc_damage()ã§æ»äº¡æ™‚skill_castcancel()を呼ã¶ã‚ˆã†ã«ä¿®æ£ -E“G–¡•û”»’舗‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ðC³ +・敵味方判定処ç†ã«ãƒã‚°ãŒã‚ã£ãŸã®ã‚’ä¿®æ£ battle.c - battle_check_target()‚ÌC³ + battle_check_target()ã®ä¿®æ£ ---------- -//0272 by ŒÓ’±—– +//0272 by 胡è¶è˜ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Aƒjƒ…[ƒ}‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½B - Eƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“”“®’†‚ÉŒø‰Ê”͈͊O‚©‚ç”͈͓à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«A - “G–¡•û‚Ì‹æ•Ê–³‚UŒ‚‚ª“–‚½‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½B - EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ªC³‚³‚ê‚Ü‚µ‚½B - E”͈͖‚–@‚Å“|‚µ‚½“G‚ªHP0‚ÅŽc‚éꇂª‚ ‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½B +・スã‚ルã®è¿½åŠ 実装ã¨ä¿®æ£ + ・セイフティウォールã€ãƒ‹ãƒ¥ãƒ¼ãƒžãŒå®Ÿè£…ã•ã‚Œã¾ã—ãŸã€‚ + ・ãƒãƒ¼ãƒ‰ã‚ªãƒ–ãƒãƒ¼ãƒŸãƒªã‚ªãƒ³ç™ºå‹•ä¸ã«åŠ¹æžœç¯„囲外ã‹ã‚‰ç¯„囲内ã«å…¥ã£ã¦ããŸã¨ã〠+ 敵味方ã®åŒºåˆ¥ç„¡ã攻撃ãŒå½“ãŸã‚‹å•é¡ŒãŒä¿®æ£ã•ã‚Œã¾ã—ãŸã€‚ + ・サンクãƒãƒ¥ã‚¢ãƒªã®å°„程ãŒä¿®æ£ã•ã‚Œã¾ã—ãŸã€‚ + ・範囲é”法ã§å€’ã—ãŸæ•µãŒHP0ã§æ®‹ã‚‹å ´åˆãŒã‚ã‚‹å•é¡ŒãŒä¿®æ£ã•ã‚Œã¾ã—ãŸã€‚ (db/) skill_db.txt - ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ð8‚É•ÏX + セイフティウォールã¨ã‚µãƒ³ã‚¯ãƒãƒ¥ã‚¢ãƒªã®å°„程を8ã«å¤‰æ›´ (map/) skill.c - skill_unit_onplace(),~ondelete(),~onout()‚È‚Ç‚ÉA - ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB - skill_unit_move()‚Ƀ^[ƒQƒbƒg‚Ì“G–¡•û”»’è‚ð’ljÁB - skill_unit_timer_onplace(),~ondelete()‚Ƀ†ƒjƒbƒg¶‘¶”»’è‚ð’ljÁ. - skill_clear_unitgroup()’ljÁBƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ì‘Síœ‚ð‚·‚éB + skill_unit_onplace(),~ondelete(),~onout()ãªã©ã«ã€ + セイフティウォールã¨ãƒ‹ãƒ¥ãƒ¼ãƒžã®å‡¦ç†è¿½åŠ 。 + skill_unit_move()ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®æ•µå‘³æ–¹åˆ¤å®šã‚’è¿½åŠ ã€‚ + skill_unit_timer_onplace(),~ondelete()ã«ãƒ¦ãƒ‹ãƒƒãƒˆç”Ÿå˜åˆ¤å®šã‚’è¿½åŠ . + skill_clear_unitgroup()è¿½åŠ ã€‚ãƒ¦ãƒ‹ãƒƒãƒˆã‚°ãƒ«ãƒ¼ãƒ—ã®å…¨å‰Šé™¤ã‚’ã™ã‚‹ã€‚ battle.c - battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB - map_foreachinarea()‚È‚ÇC³ + battle_calc_damage()ã«ã‚»ã‚¤ãƒ•ãƒ†ã‚£ã‚¦ã‚©ãƒ¼ãƒ«ã¨ãƒ‹ãƒ¥ãƒ¼ãƒžã®å‡¦ç†è¿½åŠ 。 + map_foreachinarea()ãªã©ä¿®æ£ map.c - map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ԃ悤‚ÉB + map_quit()ã§skill_clear_unitgroup()を呼ã¶ã‚ˆã†ã«ã€‚ -EƒXƒLƒ‹‚Ì‚«”ò‚΂µˆ—‚ðŽÀ‘• - ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒXƒsƒAƒXƒ^ƒuA - ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…Aƒ`ƒƒ[ƒWƒAƒ[‚Ì‚«”ò‚΂µˆ—ŽÀ‘• +・スã‚ルã®å¹ã飛ã°ã—処ç†ã‚’実装 + ユピテルサンダーã€ã‚µãƒ³ã‚¯ãƒãƒ¥ã‚¢ãƒªã€ã‚¹ãƒ”アスタブ〠+ ボーリングãƒãƒƒã‚·ãƒ¥ã€ãƒãƒ£ãƒ¼ã‚¸ã‚¢ãƒãƒ¼ã®å¹ã飛ã°ã—処ç†å®Ÿè£… path.c/map.h - path_blownpos()’ljÁ + path_blownpos()è¿½åŠ battle.c/battle.h - struct Damage‚Éblewcountƒƒ“ƒo’ljÁ - battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚é‚悤‚ÉB + struct Damageã«blewcountメンãƒè¿½åŠ + battle_calc_*_damage()ã§blewcountをセットã™ã‚‹ã‚ˆã†ã«ã€‚ skill.c/skill.h - skill_blown()’ljÁB‚«”ò‚΂µˆ—B - skill_attack()‚Åskill_blown()‚ðŒÄ‚Ԃ悤‚ÉB - skill_attack()‚Ìflag‚Ì‚«”ò‚΂µƒrƒbƒg‚Í–¢Žg—p‚ÉB + skill_blown()è¿½åŠ ã€‚å¹ã飛ã°ã—処ç†ã€‚ + skill_attack()ã§skill_blown()を呼ã¶ã‚ˆã†ã«ã€‚ + skill_attack()ã®flagã®å¹ã飛ã°ã—ビットã¯æœªä½¿ç”¨ã«ã€‚ -E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«Aƒ‚ƒ“ƒXƒ^[‚ɃfƒBƒŒƒC‚ª“ü‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - iUŒ‚‚̃‚[ƒVƒ‡ƒ“‚Ì’x‰„‚ðl‚¦‚Ä‚È‚¢‚Ì‚Å‚ ‚ñ‚Ü‚èˆÓ–¡‚ª‚È‚¢‚©‚àHj +・æ©è¡Œä¸ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«æ”»æ’ƒã—ãŸã¨ãã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«ãƒ‡ã‚£ãƒ¬ã‚¤ãŒå…¥ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+ (攻撃ã®ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ã®é…延を考ãˆã¦ãªã„ã®ã§ã‚ã‚“ã¾ã‚Šæ„味ãŒãªã„ã‹ã‚‚?) (map/) mob.c/mob.h - state‚ÉMS_DELAY‚ð’ljÁB - mob_damage(),mob_timer()‚È‚Ç‚ÌC³ + stateã«MS_DELAYã‚’è¿½åŠ ã€‚ + mob_damage(),mob_timer()ãªã©ã®ä¿®æ£ -E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«AˆÊ’u‚ª‚¸‚ê‚é–â‘è‚̉ž‹}ˆ’u - i‚Ü‚¾ˆÊ’u‚Í‚¸‚ê‚é‚悤‚Å‚·j +・æ©è¡Œä¸ã®ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã«æ”»æ’ƒã—ãŸã¨ãã€ä½ç½®ãŒãšã‚Œã‚‹å•é¡Œã®å¿œæ€¥å‡¦ç½® + (ã¾ã ä½ç½®ã¯ãšã‚Œã‚‹ã‚ˆã†ã§ã™ï¼‰ clif.c/clif.h - clif_fixmobpos()‚ð’ljÁ + clif_fixmobpos()ã‚’è¿½åŠ mob.c - mob_attack()‚Åclif_fixmobpos()‚ðŒÄ‚Ԃ悤‚ÉB + mob_attack()ã§clif_fixmobpos()を呼ã¶ã‚ˆã†ã«ã€‚ -E‚»‚Ì‘¼C³ +・ãã®ä»–ä¿®æ£ pc.c - pc_stop_walking()‚Åpath_len‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_stop_walking()ã§path_lenã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ ---------- -//0271 by ‚ê‚ +//0271 by れ゠-EPT‚ÉŠÖ‚µ‚Ä‚µ‚¾‚¯C³ - Œö•½‚É‚µ‚Ä‚©‚çƒLƒƒƒ‰‚ð‰Á“ü‚³‚¹‚é‚ÆŒö•½‚ª‰ðœ‚³‚ê‚È‚¢ƒoƒO‚ðC³ +・PTã«é–¢ã—ã¦å°‘ã—ã ã‘ä¿®æ£ + 公平ã«ã—ã¦ã‹ã‚‰ã‚ãƒ£ãƒ©ã‚’åŠ å…¥ã•ã›ã‚‹ã¨å…¬å¹³ãŒè§£é™¤ã•ã‚Œãªã„ãƒã‚°ã‚’ä¿®æ£ ---------- -//0270 by ŒÓ’±—– +//0270 by 胡è¶è˜ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ +・スã‚ルã®è¿½åŠ 実装ã¨ä¿®æ£ + ãƒãƒ¼ãƒ‰ã‚ªãƒ–ãƒãƒ¼ãƒŸãƒªã‚ªãƒ³ã€ã‚µãƒ³ã‚¯ãƒãƒ¥ã‚¢ãƒªã€ãƒžã‚°ãƒŒã‚¹ã‚¨ã‚¯ã‚½ã‚·ã‚ºãƒ (db/) skill_db.txt - ƒ}ƒOƒkƒX‚̃qƒbƒg”A‘®«’²® - ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚Ì‘®«’²® + マグヌスã®ãƒ’ット数ã€å±žæ€§èª¿æ•´ + サンクãƒãƒ¥ã‚¢ãƒªã®å±žæ€§èª¿æ•´ (map/) map.h - struct map_session_data‚ÌC³ + struct map_session_dataã®ä¿®æ£ clif.c/clif.h - clif_skill_setunit(),clif_skill_delunit()A - clif_getareachar_skillunit(),clif_clearchar_skillunit()’ljÁ - clif_pcoutsight(),clif_pcinsight(),clif_getareachar()C³ + clif_skill_setunit(),clif_skill_delunit()〠+ clif_getareachar_skillunit(),clif_clearchar_skillunit()è¿½åŠ + clif_pcoutsight(),clif_pcinsight(),clif_getareachar()ä¿®æ£ skill.c/skill.h - –Y‚ê‚é‚Ù‚Ç‘½”•ÏXBŽå‚ɃXƒLƒ‹ƒ†ƒjƒbƒgŠÖ˜A•”•ªB + 忘れるã»ã©å¤šæ•°å¤‰æ›´ã€‚主ã«ã‚¹ã‚ルユニット関連部分。 pc.c - pc_authok()‚Åskillunit,skillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB - pc_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB + pc_authok()ã§skillunit,skillunittickã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ + pc_walk()ã§skill_unit_move()を呼ã¶ã‚ˆã†ã«ã€‚ mob.c - mob_spwan()‚Åskillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB - mob_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB + mob_spwan()ã§skillunittickã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ + mob_walk()ã§skill_unit_move()を呼ã¶ã‚ˆã†ã«ã€‚ battle.c/battle.h - battle_calc_magic_attack()C³ - battle_check_target()C³ + battle_calc_magic_attack()ä¿®æ£ + battle_check_target()ä¿®æ£ map.c - map_foreachobject()‚È‚ÇC³ + map_foreachobject()ãªã©ä¿®æ£ -E‚±‚Ü‚©‚¢ƒoƒOC³‚È‚Ç - Emob‚ª‰ñ•œ‚µ‚È‚¢–â‘èC³ +・ã“ã¾ã‹ã„ãƒã‚°ä¿®æ£ãªã© + ・mobãŒå›žå¾©ã—ãªã„å•é¡Œä¿®æ£ battle.c - battle_damage()C³ + battle_damage()ä¿®æ£ ---------- -//0266 by ŒÓ’±—– +//0266 by 胡è¶è˜ -E–‚–@ŒvŽZŽ®‚ÌC³ - –‚–@”{—¦‚ðƒ_ƒ[ƒW‚ÉŠ|‚¯‚Ä‚¢‚½‚Ì‚ðMATK‚É‚©‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B - c‚±‚Á‚¿‚ª³‚µ‚¢‚Æ‚µ‚Ä‚¢‚¢‚Ì‚©‚ÈHˆá‚¤‚Ȃ狳‚¦‚Ä‚‚¾‚³‚¢B +・é”法計算å¼ã®ä¿®æ£ + é”法å€çŽ‡ã‚’ダメージã«æŽ›ã‘ã¦ã„ãŸã®ã‚’MATKã«ã‹ã‘るよã†ã«ã—ã¾ã—ãŸã€‚ + …ã“ã£ã¡ãŒæ£ã—ã„ã¨ã—ã¦ã„ã„ã®ã‹ãªï¼Ÿé•ã†ãªã‚‰æ•™ãˆã¦ãã ã•ã„。 battle.c - battle_calc_magic_attack()‚ÌC³ + battle_calc_magic_attack()ã®ä¿®æ£ -EƒXƒLƒ‹‚̒ljÁŽÀ‘• - ƒTƒCƒgAƒ‹ƒAƒtAƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ +・スã‚ルã®è¿½åŠ 実装 + サイトã€ãƒ«ã‚¢ãƒ•ã€ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオン - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Í‚R‰ñ‚Ì”»’莞‚ɉr¥‰¹‚ª–‚è‚Ü‚·cB - clif_skill_damage()‚Ìtype‚ðFX•Ï‚¦‚Ä‚Ý‚Ü‚µ‚½‚ª‚Ç‚¤‚à‚¤‚Ü‚‚¢‚«‚Ü‚¹‚ñB - ’¼‚¹‚él‚Í’¼‚µ‚Ä‚‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B - i‚¤[‚ñA‚Ђå‚Á‚Æ‚µ‚½‚ç–{—ˆ‚̓Oƒ‰ƒtƒBƒbƒN‚Ì‚È‚¢ƒXƒLƒ‹ƒ†ƒjƒbƒg‚ð - Ý’u‚µ‚ÄA‚»‚̃†ƒjƒbƒg‚ÌID‚Ń_ƒ[ƒW‚ð—^‚¦‚é‚Ì‚©‚àHHj + ãƒãƒ¼ãƒ‰ã‚ªãƒ–ãƒãƒ¼ãƒŸãƒªã‚ªãƒ³ã¯ï¼“回ã®åˆ¤å®šæ™‚ã«è© 唱音ãŒé³´ã‚Šã¾ã™â€¦ã€‚ + clif_skill_damage()ã®typeを色々変ãˆã¦ã¿ã¾ã—ãŸãŒã©ã†ã‚‚ã†ã¾ãã„ãã¾ã›ã‚“。 + ç›´ã›ã‚‹äººã¯ç›´ã—ã¦ãれるã¨ã†ã‚Œã—ã„ã§ã™ã€‚ + (ã†ãƒ¼ã‚“ã€ã²ã‚‡ã£ã¨ã—ãŸã‚‰æœ¬æ¥ã¯ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã®ãªã„スã‚ルユニットを + è¨ç½®ã—ã¦ã€ãã®ãƒ¦ãƒ‹ãƒƒãƒˆã®IDã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ã®ã‹ã‚‚??) (db/) skill_db.txt - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚̃qƒbƒg”‚ð‚R‚©‚ç10‚É•ÏXB + ãƒãƒ¼ãƒ‰ã‚ªãƒ–ãƒãƒ¼ãƒŸãƒªã‚ªãƒ³ã®ãƒ’ット数を3ã‹ã‚‰10ã«å¤‰æ›´ã€‚ (map/) skill.c - skill_status_change_timer_sub()’ljÁB - skill_status_change_*()‚Ɉ—’ljÁB + skill_status_change_timer_sub()è¿½åŠ ã€‚ + skill_status_change_*()ã«å‡¦ç†è¿½åŠ 。 -Eblock‚̃ƒ‚ƒŠ‰ð•ú‚̈À‘S«‚ÌŒüã - map_foreachinarea,party_foreachsamemap‚ʼnñ‚Á‚Ä‚¢‚é‚Æ‚«‚É - block‚ðƒ`ƒFƒCƒ“‚©‚ç휂·‚é‚ÆA‚¤‚Ü‚‰ñ‚ç‚È‚¢‰Â”\«‚ª‚ ‚é–â‘èC³B - ‚³‚ç‚ÉAblock‚ðƒƒ‚ƒŠ‚©‚ç‰ð•ú‚·‚é‚Ɗ댯‚È–â‘è‚àC³B +・blockã®ãƒ¡ãƒ¢ãƒªè§£æ”¾ã®å®‰å…¨æ€§ã®å‘上 + map_foreachinarea,party_foreachsamemapã§å›žã£ã¦ã„ã‚‹ã¨ãã« + blockã‚’ãƒã‚§ã‚¤ãƒ³ã‹ã‚‰å‰Šé™¤ã™ã‚‹ã¨ã€ã†ã¾ã回らãªã„å¯èƒ½æ€§ãŒã‚ã‚‹å•é¡Œä¿®æ£ã€‚ + ã•ã‚‰ã«ã€blockをメモリã‹ã‚‰è§£æ”¾ã™ã‚‹ã¨å±é™ºãªå•é¡Œã‚‚ä¿®æ£ã€‚ - Eforeach“à‚ÅŠÖ”‚ðŒÄ‚Ô‘O‚Éblock‚ªƒ`ƒFƒCƒ“‚©‚çŠO‚ê‚Ä‚È‚¢‚©ƒ`ƒFƒbƒNB - Eforeach‚É“ü‚Á‚½‚Æ‚«‚ɃƒbƒN‚µ‚ăƒ‚ƒŠ‚©‚ç‰ð•ú‚³‚ê‚È‚¢‚悤‚É‚·‚éB - ‚±‚ê‚̓†[ƒU[‚ªfree‚¶‚á‚È‚map_freeblock‚É‚æ‚Á‚ĉð•ú‚·‚é‚悤‚É - ƒvƒƒOƒ‰ƒ€‚·‚é•K—v‚ª‚ ‚éBiƒ‹[ƒv‚©‚çŒÄ‚΂ê‚é‰Â”\«‚Ì‚ ‚éŠÖ”‚ðì‚é - ꇂ̂±‚Æ‚ÅA•’Ê‚Ífree‚Å‚à‚¢‚¿‚¨‚¤“®‚Bj - Emap_foreachinmovearea‚ɂ‚¢‚Ă͉ü—Ç‚µ‚Ä‚¢‚È‚¢‚ªA - ‚±‚̃‹[ƒv‚Åblock‚ð휂·‚邱‚Æ‚Í‚ ‚肦‚È‚¢‹C‚ª‚·‚é‚Ì‚Å‚¢‚¢‚Æ‚·‚éB + ・foreach内ã§é–¢æ•°ã‚’呼ã¶å‰ã«blockãŒãƒã‚§ã‚¤ãƒ³ã‹ã‚‰å¤–ã‚Œã¦ãªã„ã‹ãƒã‚§ãƒƒã‚¯ã€‚ + ・foreachã«å…¥ã£ãŸã¨ãã«ãƒãƒƒã‚¯ã—ã¦ãƒ¡ãƒ¢ãƒªã‹ã‚‰è§£æ”¾ã•ã‚Œãªã„よã†ã«ã™ã‚‹ã€‚ + ã“ã‚Œã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒfreeã˜ã‚ƒãªãmap_freeblockã«ã‚ˆã£ã¦è§£æ”¾ã™ã‚‹ã‚ˆã†ã« + プãƒã‚°ãƒ©ãƒ ã™ã‚‹å¿…è¦ãŒã‚る。(ループã‹ã‚‰å‘¼ã°ã‚Œã‚‹å¯èƒ½æ€§ã®ã‚る関数を作る + å ´åˆã®ã“ã¨ã§ã€æ™®é€šã¯freeã§ã‚‚ã„ã¡ãŠã†å‹•ã。) + ・map_foreachinmoveareaã«ã¤ã„ã¦ã¯æ”¹è‰¯ã—ã¦ã„ãªã„ãŒã€ + ã“ã®ãƒ«ãƒ¼ãƒ—ã§blockを削除ã™ã‚‹ã“ã¨ã¯ã‚ã‚Šãˆãªã„æ°—ãŒã™ã‚‹ã®ã§ã„ã„ã¨ã™ã‚‹ã€‚ - ‚±‚ê‚Í¡Œã‚ðŒ©‰z‚µ‚½‰ü—Ç‚Å‚ ‚Á‚ÄAŒ»Ý‚Ì•sˆÀ’肳‚𒼂·‚à‚Ì‚Å‚Í‚È‚¢B - iŒ»Ý‚Íforeach“à‚Ńƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ä‚¢‚È‚¢c‚Í‚¸‚È‚Ì‚ÅB - ‚½‚¾AƒXƒLƒ‹ƒ†ƒjƒbƒg‚ȂLjꎞƒIƒuƒWƒFƒNƒg‚𑽗p‚µŽn‚ß‚é‚ÆŒø‰Ê‚ª‚ ‚éj + ã“ã‚Œã¯ä»Šå¾Œã‚’見越ã—ãŸæ”¹è‰¯ã§ã‚ã£ã¦ã€ç¾åœ¨ã®ä¸å®‰å®šã•ã‚’ç›´ã™ã‚‚ã®ã§ã¯ãªã„。 + (ç¾åœ¨ã¯foreach内ã§ãƒ¡ãƒ¢ãƒªã‚’解放ã—ã¦ã„ãªã„…ã¯ãšãªã®ã§ã€‚ + ãŸã ã€ã‚¹ã‚ルユニットãªã©ä¸€æ™‚オブジェクトを多用ã—始ã‚ã‚‹ã¨åŠ¹æžœãŒã‚る) map.c - map_freeblock(),map_freeblock_lock(),~_unlock()’ljÁB - map_delobject()‚Ìfree()‚ðmap_freeblock()‚É’uŠ·B - map_foreachinarea‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒNB + map_freeblock(),map_freeblock_lock(),~_unlock()è¿½åŠ ã€‚ + map_delobject()ã®free()ã‚’map_freeblock()ã«ç½®æ›ã€‚ + map_foreachinareaã§ãƒãƒƒã‚¯ã¨å®‰å…¨æ€§ãƒã‚§ãƒƒã‚¯ã€‚ party.c - party_foreachsamemap()‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒN + party_foreachsamemap()ã§ãƒãƒƒã‚¯ã¨å®‰å…¨æ€§ãƒã‚§ãƒƒã‚¯ -EƒXƒLƒ‹ƒ†ƒjƒbƒg‹@\ŽÀ‘• - Ý’uŒn‚̃XƒLƒ‹‚Ì‚½‚ß‚Ì‹@\ŽÀ‘•BŽÀۂ̃XƒLƒ‹‚ÌŽÀ‘•‚Í‚Ü‚¾‚Å‚·B +・スã‚ルユニット機構実装 + è¨ç½®ç³»ã®ã‚¹ã‚ルã®ãŸã‚ã®æ©Ÿæ§‹å®Ÿè£…。実際ã®ã‚¹ã‚ルã®å®Ÿè£…ã¯ã¾ã ã§ã™ã€‚ skill.c - ‚È‚ñ‚©‚à‚¤FX’ljÁ‚µ‚Ü‚µ‚½B + ãªã‚“ã‹ã‚‚ã†è‰²ã€…è¿½åŠ ã—ã¾ã—ãŸã€‚ map.c - do_init()‚Ådo_skill_init()‚ðŒÄ‚Ԃ悤‚ÉB + do_init()ã§do_skill_init()を呼ã¶ã‚ˆã†ã«ã€‚ map.h - struct skill_unit,skill_unit_group‚ȂǒljÁB - map_session_data‚Ì‘‚«Š·‚¦‚È‚ÇB + struct skill_unit,skill_unit_groupãªã©è¿½åŠ 。 + map_session_dataã®æ›¸ãæ›ãˆãªã©ã€‚ -E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë‚ðC³‚µ‚½‚ÆŽv‚¤‚¯‚Ç–Y‚ê‚Ü‚µ‚½B +・ãã®ä»–ç´°ã‹ã„ã¨ã“ã‚ã‚’ä¿®æ£ã—ãŸã¨æ€ã†ã‘ã©å¿˜ã‚Œã¾ã—ãŸã€‚ ---------- //0264 by nabe -E$charaname‚ð’‚éNPC‚Ƙb‚µ‚½ŽžAmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B +・$charanameã‚’å–‹ã‚‹NPCã¨è©±ã—ãŸæ™‚ã€map鯖ãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã‚‹ãƒã‚°ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ script.c - replacestr()‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðŽè’¼‚µ‚µ‚Ü‚µ‚½B + replacestr()ãŒãŠã‹ã—ã‹ã£ãŸã®ã‚’手直ã—ã—ã¾ã—ãŸã€‚ ---------- //0263 by nabe -E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚µ“ü‚ê‚Å‚«‚È‚¢‚悤C³ +・露店開è¨ä¸ã«ã‚«ãƒ¼ãƒˆã‚¢ã‚¤ãƒ†ãƒ を出ã—入れã§ããªã„よã†ä¿®æ£ pc.c - pc_putitemtocart(),pc_getitemfromcart()‚ÉA˜I“X”»’è‚ð’ljÁ + pc_putitemtocart(),pc_getitemfromcart()ã«ã€éœ²åº—åˆ¤å®šã‚’è¿½åŠ -E˜I“XƒAƒCƒeƒ€w“ü‚̃`ƒFƒbƒN‚ð’ljÁ +・露店アイテム購入ã®ãƒã‚§ãƒƒã‚¯ã‚’è¿½åŠ vending.c - vending_purchasereq()‚Å”X‚ÌðŒ”»’è‚ð’ljÁ + vending_purchasereq()ã§è«¸ã€…ã®æ¡ä»¶åˆ¤å®šã‚’è¿½åŠ ---------- -//0261 by ŒÓ’±—– +//0261 by 胡è¶è˜ -EŠg‘勾AƒCƒOƒhƒ‰ƒVƒ‹‚Ì—t‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhì¬BˆêŽž“I‚ɃXƒLƒ‹‚ªŽg—p‚Å‚«‚Ü‚·B +・拡大é¡ã€ã‚¤ã‚°ãƒ‰ãƒ©ã‚·ãƒ«ã®è‘‰ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ スクリプトã«itemskillコマンド作æˆã€‚一時的ã«ã‚¹ã‚ルãŒä½¿ç”¨ã§ãã¾ã™ã€‚ (map/) script.c - buildin_itemskill()‚̒ljÁ‚È‚ÇB + buildin_itemskill()ã®è¿½åŠ ãªã©ã€‚ skill.c - ƒAƒCƒeƒ€ƒXƒLƒ‹‚È‚çSP‚È‚Ç‚ðŒŸ¸•Á”‚È‚¢‚悤‚ÉC³ + アイテムスã‚ルãªã‚‰SPãªã©ã‚’検査&消費ã—ãªã„よã†ã«ä¿®æ£ clif.c/clif.h - clif_item_skill()‚̒ljÁB + clif_item_skill()ã®è¿½åŠ 。 (db/) item_db.txt/item_db2.txt - ƒXƒLƒ‹Žg—pƒAƒCƒeƒ€‚̃XƒNƒŠƒvƒgC³ + スã‚ル使用アイテムã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆä¿®æ£ -Eƒp[ƒeƒBƒXƒLƒ‹‚ÌŽÀ‘• - ƒAƒ“ƒ[ƒ‹ƒXAƒ}ƒOƒjƒtƒBƒJ[ƒgAƒOƒƒŠƒAAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ª - ‰æ–Ê“à‚̃p[ƒeƒB‘Sˆõ‚ÉŒø‰Ê‚ð‹y‚Ú‚·‚悤‚É‚È‚è‚Ü‚µ‚½B +・パーティスã‚ルã®å®Ÿè£… + アンゼルスã€ãƒžã‚°ãƒ‹ãƒ•ã‚£ã‚«ãƒ¼ãƒˆã€ã‚°ãƒãƒªã‚¢ã€ã‚¢ãƒ‰ãƒ¬ãƒŠãƒªãƒ³ãƒ©ãƒƒã‚·ãƒ¥ãŒ + ç”»é¢å†…ã®ãƒ‘ーティ全員ã«åŠ¹æžœã‚’åŠã¼ã™ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ skill.c - skill_castend_nodamage_id()‚ÌŠY“–ŒÂŠ‚ÌC³ + skill_castend_nodamage_id()ã®è©²å½“個所ã®ä¿®æ£ party.c - party_foreachsamemap()‚ÌC³ + party_foreachsamemap()ã®ä¿®æ£ -EƒXƒLƒ‹ŠÖŒW‚ÌC³ - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ª‘¦Žž”“®‚É‚È‚Á‚Ä‚¢‚é‚Ì‚ðC³B - ƒXƒg[ƒ“ƒJ[ƒX‚ŃGƒtƒFƒNƒg‚ª‘¶Ý‚µ‚È‚¢ƒoƒOC³B +・スã‚ル関係ã®ä¿®æ£ + ã‚リエエレイソンãŒå³æ™‚発動ã«ãªã£ã¦ã„ã‚‹ã®ã‚’ä¿®æ£ã€‚ + ストーンカースã§ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒå˜åœ¨ã—ãªã„ãƒã‚°ä¿®æ£ã€‚ (db/) skill_db.txt - ƒLƒŠƒGƒGƒŒƒCƒ\ƒCƒ“C³ + ã‚ãƒªã‚¨ã‚¨ãƒ¬ã‚¤ã‚½ã‚¤ãƒ³ä¿®æ£ (map/) skill.c/skill.h - skill_check_condition()’ljÁBƒXƒLƒ‹Žg—pðŒŒŸ¸‚̈ê–{‰»B - skill_castend_nodamage_id()‚ŃXƒg[ƒ“ƒJ[ƒXC³ + skill_check_condition()è¿½åŠ ã€‚ã‚¹ã‚ル使用æ¡ä»¶æ¤œæŸ»ã®ä¸€æœ¬åŒ–。 + skill_castend_nodamage_id()ã§ã‚¹ãƒˆãƒ¼ãƒ³ã‚«ãƒ¼ã‚¹ä¿®æ£ -EƒXƒNƒŠƒvƒg‚̃R[ƒh‚ð®— - get_val()‚Åconst.txt‚Ì’è”‚ðŠ“¾‚Å‚«‚é‚悤‚ÉC³B +・スクリプトã®ã‚³ãƒ¼ãƒ‰ã‚’æ•´ç† + get_val()ã§const.txtã®å®šæ•°ã‚’所得ã§ãるよã†ã«ä¿®æ£ã€‚ (map/) script.c - get_val()‚ÌC³iconst.txt‚Ìtype==0‚Ì’l‚ªŠ“¾‰Â”\‚Éj - bonus(),bonus2()‚È‚Ç‚ÌC³B + get_val()ã®ä¿®æ£ï¼ˆconst.txtã®type==0ã®å€¤ãŒæ‰€å¾—å¯èƒ½ã«ï¼‰ + bonus(),bonus2()ãªã©ã®ä¿®æ£ã€‚ (db/) const.txt - type=1‚Å‚ ‚é•K—v‚ª–³‚¢‚à‚Ì‚ð0‚ÉB + type=1ã§ã‚ã‚‹å¿…è¦ãŒç„¡ã„ã‚‚ã®ã‚’0ã«ã€‚ item_db.txt/item_db.txt - const.txt‚Ì•ÏX‚É”º‚¤C³B + const.txtã®å¤‰æ›´ã«ä¼´ã†ä¿®æ£ã€‚ ---------- -//0260 by ŒÓ’±—– +//0260 by 胡è¶è˜ -E퓬ŠÖŒW‚Ìݒ肪ƒtƒ@ƒCƒ‹‚É‘‚¯‚é‚É‚È‚è‚Ü‚µ‚½ - mapŽI‚Ì‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–¼‚ªÝ’肳‚ê‚Ä‚¢‚é‚ÆA‚»‚ê‚ðŽg‚¢A - ݒ肳‚ê‚Ä‚È‚¢ê‡‚Í "conf/battle_athena.cnf"‚ðŽg‚¢‚Ü‚·B +・戦闘関係ã®è¨å®šãŒãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã‘ã‚‹ã«ãªã‚Šã¾ã—㟠+ map鯖ã®ç¬¬2引数ã«ãƒ•ã‚¡ã‚¤ãƒ«åãŒè¨å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ãれを使ã„〠+ è¨å®šã•ã‚Œã¦ãªã„å ´åˆã¯ "conf/battle_athena.cnf"を使ã„ã¾ã™ã€‚ - ‚ ‚ÆAˆê‰ž”͈ÍUŒ‚ƒXƒLƒ‹‚ɂ‚¢‚Äà–¾B - ŽI‚ªí‚ÉPVP‚Éݒ肳‚ê‚Ä‚¢‚éê‡Aƒp[ƒeƒBƒƒ“ƒo‚¶‚á‚È‚¢PC‚É‚à”͈ÍUŒ‚‚ª - ‚ ‚½‚è‚Ü‚·BŒ™‚Èꇂ̓p[ƒeƒB‚ð‘g‚Þ‚©Aí‚ÉPVP‚ðoff‚É‚µ‚ĉº‚³‚¢B - í‚ÉPVP‚ªoff‚Å‚àA@pvp‚Åpvpƒtƒ‰ƒO‚ð“ü‚ꂽl‚ÌŠÔ‚Å‚ÍUŒ‚‚ª“–‚½‚è‚Ü‚·B - ‚½‚¾‚µAˆê“xpvp‚ðon‚É‚·‚é‚ÆAƒŠƒƒO‚·‚é‚Ü‚Åon‚Ì‚Ü‚Ü‚È‚Ì‚Å’ˆÓB + ã‚ã¨ã€ä¸€å¿œç¯„囲攻撃スã‚ルã«ã¤ã„ã¦èª¬æ˜Žã€‚ + 鯖ãŒå¸¸ã«PVPã«è¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ‘ーティメンãƒã˜ã‚ƒãªã„PCã«ã‚‚範囲攻撃㌠+ ã‚ãŸã‚Šã¾ã™ã€‚å«Œãªå ´åˆã¯ãƒ‘ーティを組むã‹ã€å¸¸ã«PVPã‚’offã«ã—ã¦ä¸‹ã•ã„。 + 常ã«PVPãŒoffã§ã‚‚ã€@pvpã§pvpフラグを入れãŸäººã®é–“ã§ã¯æ”»æ’ƒãŒå½“ãŸã‚Šã¾ã™ã€‚ + ãŸã ã—ã€ä¸€åº¦pvpã‚’onã«ã™ã‚‹ã¨ã€ãƒªãƒã‚°ã™ã‚‹ã¾ã§onã®ã¾ã¾ãªã®ã§æ³¨æ„。 (conf/) battle_athena.cnf - ’†‚Éà–¾‘‚¢‚Ä‚é‚Ì‚ÅŠeŽ©D‚«‚Ȃ悤‚É‘‚«Š·‚¦‚Ä‚‚¾‚³‚¢B + ä¸ã«èª¬æ˜Žæ›¸ã„ã¦ã‚‹ã®ã§å„自好ããªã‚ˆã†ã«æ›¸ãæ›ãˆã¦ãã ã•ã„。 (map/) battle.c/battle.h - struct Battle_Config‚Ì’è‹`B - battle_config_read()‚ȂǒljÁB + struct Battle_Configã®å®šç¾©ã€‚ + battle_config_read()ãªã©è¿½åŠ 。 skill.c - CASTFIX,DELAYFIX‚Ì”pŽ~‚ÆBattle_Config‚É‚æ‚éC³‚̒ljÁB + CASTFIX,DELAYFIXã®å»ƒæ¢ã¨Battle_Configã«ã‚ˆã‚‹ä¿®æ£ã®è¿½åŠ 。 atcommand.c - @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚é‚悤‚ÉB - iŽIÝ’è‚Ìí‚ÉPVP‚ªoff‚ÌŽžA—¼l‚ªpvp‚ðon‚É‚µ‚Ä‚½‚ç퓬‰Â”\j + @pvpコマンドã§pvpフラグをセットã™ã‚‹ã‚ˆã†ã«ã€‚ + (鯖è¨å®šã®å¸¸ã«PVPãŒoffã®æ™‚ã€ä¸¡äººãŒpvpã‚’onã«ã—ã¦ãŸã‚‰æˆ¦é—˜å¯èƒ½ï¼‰ map.c/map.h - struct map_session_data‚Épvp_flag‚ð’ljÁ - do_init()‚Åbattle_config_read()‚ð“ǂނ悤‚ÉB + struct map_session_dataã«pvp_flagã‚’è¿½åŠ + do_init()ã§battle_config_read()ã‚’èªã‚€ã‚ˆã†ã«ã€‚ -E퓬ŠÖŒW‚̃R[ƒh‚ª‚µ®—‚³‚ê‚Ü‚µ‚½ +・戦闘関係ã®ã‚³ãƒ¼ãƒ‰ãŒå°‘ã—æ•´ç†ã•ã‚Œã¾ã—㟠battle.c/battle.h - battle_weapon_attack()’ljÁB - battle_calc_weapon_attack()‚̈ø”•ÏX - battle_calc_attack()‚ð’ljÁ‚µ‚Äbattle_calc_*_attack()‚ðˆê–{‰»B + battle_weapon_attack()è¿½åŠ ã€‚ + battle_calc_weapon_attack()ã®å¼•æ•°å¤‰æ›´ + battle_calc_attack()ã‚’è¿½åŠ ã—ã¦battle_calc_*_attack()を一本化。 skill.c/skill.h - skill_weapon_attack(),~_magic_~(),~_misc_~()‚Ì”pŽ~A - skill_attack()‚Ɉê–{‰»B + skill_weapon_attack(),~_magic_~(),~_misc_~()ã®å»ƒæ¢ã€ + skill_attack()ã«ä¸€æœ¬åŒ–。 pc.c/mob.c - UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉê–{‰»B + 攻撃処ç†ã‚’battle_weapon_attack()ã«ä¸€æœ¬åŒ–。 -EƒAƒCƒeƒ€ŠÓ’èƒXƒLƒ‹‚ðŽÀ‘• - ¤l‚̃XƒLƒ‹‚Ì•û‚Å‚·B’ŽŠá‹¾‚Í‚Ü‚¾‚Å‚·B +・アイテム鑑定スã‚ルを実装 + 商人ã®ã‚¹ã‚ルã®æ–¹ã§ã™ã€‚虫眼é¡ã¯ã¾ã ã§ã™ã€‚ skill.c - ƒXƒLƒ‹ˆ—’ljÁ + スã‚ル処ç†è¿½åŠ pc.c/pc.h - pc_item_identify()’ljÁ + pc_item_identify()è¿½åŠ clif.c/clif.h - clif_item_identify_list(),clif_item_identified()’ljÁ - clif_parse_ItemIdentify()’ljÁ + clif_item_identify_list(),clif_item_identified()è¿½åŠ + clif_parse_ItemIdentify()è¿½åŠ -EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚̃Rƒƒ“ƒgC³ +・スã‚ルデータベースã®ã‚³ãƒ¡ãƒ³ãƒˆä¿®æ£ (db/) skill_db.txt - ¤l‚̃XƒLƒ‹‚̃Rƒƒ“ƒg‚ª‚¸‚ê‚Ä‚¢‚½‚Ì‚ðC³ + 商人ã®ã‚¹ã‚ルã®ã‚³ãƒ¡ãƒ³ãƒˆãŒãšã‚Œã¦ã„ãŸã®ã‚’ä¿®æ£ ---------- -//0259 by ‚ê‚ -Emob_db.txt‚ÌC³ - ‹T“‡ƒ‚ƒ“ƒXƒ^[‚âBOSS‚̃Xƒe[ƒ^ƒX’²® - ‹T“‡ƒ‚ƒ“ƒX‚É“K“–‚Ƀhƒƒbƒv‚ð•t‚¯‚Ü‚µ‚½B - –{ŽI‚ƈقȂ镨‚ð—Ž‚Æ‚·ê‡‚à‚ ‚è‚Ü‚·B +//0259 by れ゠+・mob_db.txtã®ä¿®æ£ + 亀島モンスターやBOSSã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹èª¿æ•´ + 亀島モンスã«é©å½“ã«ãƒ‰ãƒãƒƒãƒ—を付ã‘ã¾ã—ãŸã€‚ + 本鯖ã¨ç•°ãªã‚‹ç‰©ã‚’è½ã¨ã™å ´åˆã‚‚ã‚ã‚Šã¾ã™ã€‚ ---------- -//0258 by ŒÓ’±—– +//0258 by 胡è¶è˜ -Eƒp[ƒeƒB‚ňê“xŒö•½‚É‚µ‚½‚çŠeŽ©Š“¾‚É–ß‚¹‚È‚¢ƒoƒOC³ +・パーティã§ä¸€åº¦å…¬å¹³ã«ã—ãŸã‚‰å„自所得ã«æˆ»ã›ãªã„ãƒã‚°ä¿®æ£ (char/) int_party.c - mapif_parse_PartyChangeOption()‚Ì”»’èC³ + mapif_parse_PartyChangeOption()ã®åˆ¤å®šä¿®æ£ -EƒXƒLƒ‹‚̒ljÁŽÀ‘•iŽå‚ɔ͈ÍUŒ‚Œnj - ƒiƒp[ƒ€ƒr[ƒgi•ªŽU‘ΉžjAƒtƒ@ƒCƒ„[ƒ{[ƒ‹A - ƒTƒ“ƒ_[ƒXƒg[ƒ€Aƒwƒuƒ“ƒYƒhƒ‰ƒCƒuA - ƒuƒŠƒbƒcƒr[ƒgiŽ©“®‘éž‚ÝjAƒXƒ`[ƒ‹ƒNƒƒE - ƒXƒLƒ“ƒeƒ“ƒpƒŠƒ“ƒO +・スã‚ルã®è¿½åŠ 実装(主ã«ç¯„囲攻撃系) + ナパームビート(分散対応)ã€ãƒ•ã‚¡ã‚¤ãƒ¤ãƒ¼ãƒœãƒ¼ãƒ«ã€ + サンダーストームã€ãƒ˜ãƒ–ンズドライブ〠+ ブリッツビート(自動鷹込ã¿ï¼‰ã€ã‚¹ãƒãƒ¼ãƒ«ã‚¯ãƒã‚¦ + スã‚ンテンパリング (db/) skill_db.txt/skill_tree.txt - ˆê•”C³ + ä¸€éƒ¨ä¿®æ£ (map/) battle.c/battle.h - battle_check_target()‚ð’ljÁB‘ÎÛ‚É‚È‚é‚©‚ðŒŸ“¢‚·‚éB - battle_calc_magic_damage()‚̈ø”•ÏXBƒ_ƒ[ƒW•ªŽUˆ—’ljÁB - battle_calc_misc_damage()’ljÁB - battle_calc_weapon_damage()C³B + battle_check_target()ã‚’è¿½åŠ ã€‚å¯¾è±¡ã«ãªã‚‹ã‹ã‚’検討ã™ã‚‹ã€‚ + battle_calc_magic_damage()ã®å¼•æ•°å¤‰æ›´ã€‚ダメージ分散処ç†è¿½åŠ 。 + battle_calc_misc_damage()è¿½åŠ ã€‚ + battle_calc_weapon_damage()ä¿®æ£ã€‚ clif.c/clif.h - clif_skill_damage(),clif_skill_damage2()‚̈ø”•ÏXB - clif_skill_poseffect()’ljÁB + clif_skill_damage(),clif_skill_damage2()ã®å¼•æ•°å¤‰æ›´ã€‚ + clif_skill_poseffect()è¿½åŠ ã€‚ skill.c/skill.h - skill_weapon_attack(),skill_magic_attack()‚É”÷–‚Ɉ—‚ð“Z‚ß‚½. - skill_area_sub()’ljÁB”͈̓XƒLƒ‹—pB - skill_area_sub_count()’ljÁBskill_area_sub()—pA“GƒJƒEƒ“ƒgB - skill_castend_damage_id()C³Bˆø”‚ƈ—‚ð’ljÁB - skill_castend_nodamage_id()C³Bˆø”‚ƈ—‚ð’ljÁB - skill_misc_attack()’ljÁB - skill_additional_effect()C³iŽ©“®‘éj - skill_castend_pos()C³B - skill_castend_pos2()’ljÁB - -E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«ŒvŽZ‚ÉDEX‚Å‚È‚STR‚ªŽg‚í‚ê‚é–â‘è‚ðC³B + skill_weapon_attack(),skill_magic_attack()ã«å¾®å¦™ã«å‡¦ç†ã‚’çºã‚ãŸ. + skill_area_sub()è¿½åŠ ã€‚ç¯„å›²ã‚¹ã‚ル用。 + skill_area_sub_count()è¿½åŠ ã€‚skill_area_sub()用ã€æ•µã‚«ã‚¦ãƒ³ãƒˆã€‚ + skill_castend_damage_id()ä¿®æ£ã€‚引数ã¨å‡¦ç†ã‚’è¿½åŠ ã€‚ + skill_castend_nodamage_id()ä¿®æ£ã€‚引数ã¨å‡¦ç†ã‚’è¿½åŠ ã€‚ + skill_misc_attack()è¿½åŠ ã€‚ + skill_additional_effect()ä¿®æ£ï¼ˆè‡ªå‹•é·¹ï¼‰ + skill_castend_pos()ä¿®æ£ã€‚ + skill_castend_pos2()è¿½åŠ ã€‚ + +・弓ã§æ”»æ’ƒã—ãŸã¨ã計算ã«DEXã§ãªãSTRãŒä½¿ã‚れるå•é¡Œã‚’ä¿®æ£ã€‚ battle.c - battle_calc_weapon_damage()C³B + battle_calc_weapon_damage()ä¿®æ£ã€‚ ---------- -//0257 by ŒÓ’±—– +//0257 by 胡è¶è˜ -Eitem_db.txt‚ÌE‹Æƒtƒ‰ƒO‚ÆAƒJ[ƒh‚Ì‘•”õŒÂŠƒtƒ‰ƒO‚ðC³ - ‘•”õ•i‚ÍI-Athena‚̃f[ƒ^‚ðŽQl‚É‚µ‚Ä‹@ŠB“I‚ɃRƒ“ƒo[ƒg‚³‚¹‚Ü‚µ‚½B - I-Athena‘¤‚É‚È‚¢‘•”õ•i‚ÍA‚ ‚«‚ç‚©‚É•Ï‚È‚Ì‚ÍC³‚µ‚Ü‚µ‚½‚ªA - ’m‚ç‚È‚¢‚à‚Ì‚ª‘½‚·‚¬‚ÄA‚Ù‚Æ‚ñ‚Ç•ú’u‚Å‚·B - ƒJ[ƒh‚ÍA•Ší—pƒJ[ƒh‚Ì‘•”õŒÂŠ‚ª0‚É‚È‚Á‚Ä‚é‚Ì‚ð2(¶Žè)‚ÉC³B - —¼Žè•Ší‚Ìꇂ͕ʂɔ»’肵‚Ä‚é‚Ì‚Å—¼Žè•Ší‚à–â‘è‚È‚¢‚Í‚¸B +・item_db.txtã®è·æ¥ãƒ•ãƒ©ã‚°ã¨ã€ã‚«ãƒ¼ãƒ‰ã®è£…å‚™å€‹æ‰€ãƒ•ãƒ©ã‚°ã‚’ä¿®æ£ + 装備å“ã¯I-Athenaã®ãƒ‡ãƒ¼ã‚¿ã‚’å‚考ã«ã—ã¦æ©Ÿæ¢°çš„ã«ã‚³ãƒ³ãƒãƒ¼ãƒˆã•ã›ã¾ã—ãŸã€‚ + I-Athenaå´ã«ãªã„装備å“ã¯ã€ã‚ãらã‹ã«å¤‰ãªã®ã¯ä¿®æ£ã—ã¾ã—ãŸãŒã€ + 知らãªã„ã‚‚ã®ãŒå¤šã™ãŽã¦ã€ã»ã¨ã‚“ã©æ”¾ç½®ã§ã™ã€‚ + カードã¯ã€æ¦å™¨ç”¨ã‚«ãƒ¼ãƒ‰ã®è£…備個所ãŒ0ã«ãªã£ã¦ã‚‹ã®ã‚’2(左手)ã«ä¿®æ£ã€‚ + 両手æ¦å™¨ã®å ´åˆã¯åˆ¥ã«åˆ¤å®šã—ã¦ã‚‹ã®ã§ä¸¡æ‰‹æ¦å™¨ã‚‚å•é¡Œãªã„ã¯ãšã€‚ (db/) item_db.txt/item_db2.txt - ŠY“–ŒÂŠC³ + è©²å½“å€‹æ‰€ä¿®æ£ -EƒJ[ƒh’ljÁŽÀ‘• - ƒXƒ^ƒ“‚Ȃǂ̒ljÁŒø‰ÊA‚»‚ê‚ç‚Ö‚Ì‘Ï«Œn“AƒI[ƒNƒq[ƒ[ƒJ[ƒhŽÀ‘• +ãƒ»ã‚«ãƒ¼ãƒ‰è¿½åŠ å®Ÿè£… + スタンãªã©ã®è¿½åŠ 効果ã€ãれらã¸ã®è€æ€§ç³»çµ±ã€ã‚ªãƒ¼ã‚¯ãƒ’ーãƒãƒ¼ã‚«ãƒ¼ãƒ‰å®Ÿè£… (db/) item_db.txt/item_db2.txt - ƒXƒNƒŠƒvƒg‚ÌC³ + スクリプトã®ä¿®æ£ (map/) map.h - struct map_session_data‚Éaddeff‚Ȃǂ̃ƒ“ƒo‚ð’ljÁ + struct map_session_dataã«addeffãªã©ã®ãƒ¡ãƒ³ãƒã‚’è¿½åŠ pc.c - pc_calcstatus()Apc_bonus2()‚ÌC³ - pc_attack()‚Åskill_additional_effct()‚ðŒÄ‚Ԃ悤‚ÉB + pc_calcstatus()ã€pc_bonus2()ã®ä¿®æ£ + pc_attack()ã§skill_additional_effct()を呼ã¶ã‚ˆã†ã«ã€‚ skill.c/skill.h - skill_additional_effect()‚ŃJ[ƒh‚É‚æ‚é”»’è’ljÁ - skill_status_change_start()‚Å‘Ï«‚ð•t‚¯‚½B + skill_additional_effect()ã§ã‚«ãƒ¼ãƒ‰ã«ã‚ˆã‚‹åˆ¤å®šè¿½åŠ + skill_status_change_start()ã§è€æ€§ã‚’付ã‘ãŸã€‚ battle.c - battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh - iƒNƒŠƒeƒBƒJƒ‹‘Ï«j‚̈—‚ð’ljÁ + battle_calc_weapon_attack()ã§ã‚ªãƒ¼ã‚¯ãƒ’ーãƒãƒ¼ã‚«ãƒ¼ãƒ‰ + (クリティカルè€æ€§ï¼‰ã®å‡¦ç†ã‚’è¿½åŠ -E‰ñ”ð”»’è‚ÌC³ - UŒ‚ŽÒ‚ªPC‚Ìê‡AÅ‘å–½’†—¦‚X‚T“§ŒÀ‚ð‚È‚µ‚É‚µ‚Ü‚µ‚½B +・回é¿åˆ¤å®šã®ä¿®æ£ + 攻撃者ãŒPCã®å ´åˆã€æœ€å¤§å‘½ä¸çŽ‡ï¼™ï¼•ï¼…制é™ã‚’ãªã—ã«ã—ã¾ã—ãŸã€‚ battle.c - battle_calc_weapon_attack()‚ðC³ + battle_calc_weapon_attack()ã‚’ä¿®æ£ -EŠ®‘S‰ñ”ð‚ðŽÀ‘• - ‚Ö‚ñ‚Ä‚±‚Ȉ—‚µ‚Ä‚Ü‚·•ŒvŽZŽ®“K“–‚Å‚·B +・完全回é¿ã‚’実装 + ã¸ã‚“ã¦ã“ãªå‡¦ç†ã—ã¦ã¾ã™ï¼†è¨ˆç®—å¼é©å½“ã§ã™ã€‚ battle.c - battle_calc_weapon_attack()‚Ɉ—’ljÁB + battle_calc_weapon_attack()ã«å‡¦ç†è¿½åŠ 。 -E‘qŒÉ‚ðŠJ‚¢‚½‚܂܃ƒOƒAƒEƒg‚µ‚½‚Æ‚«mapŽI“à‚Å‚ÍŠJ‚«‚Á‚Ï‚È‚µ‚É‚È‚Á‚Ä‚é–â‘è‚ðC³ +・倉庫を開ã„ãŸã¾ã¾ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸã¨ãmap鯖内ã§ã¯é–‹ãã£ã±ãªã—ã«ãªã£ã¦ã‚‹å•é¡Œã‚’ä¿®æ£ storage.c - storage_storage_quitsave()‚ðC³ + storage_storage_quitsave()ã‚’ä¿®æ£ -E@item,@monster,@produce‚Å–¼‘OŽw’è‚Å‚«‚é‚悤‚É•ÏX - ‰pŒê–¼A“ú–{Œê–¼‚Ç‚¿‚ç‚Å‚àOKB‰pŒê‚Ìꇂ͑啶Žš¬•¶Žš‹æ•Ê‚µ‚Ü‚¹‚ñB +・@item,@monster,@produceã§åå‰æŒ‡å®šã§ãるよã†ã«å¤‰æ›´ + 英語åã€æ—¥æœ¬èªžåã©ã¡ã‚‰ã§ã‚‚OK。英語ã®å ´åˆã¯å¤§æ–‡å—å°æ–‡å—区別ã—ã¾ã›ã‚“。 atcommand.c - ŠY“–ŒÂŠC³ + è©²å½“å€‹æ‰€ä¿®æ£ itemdb.c/itemdb.h - itemdb_searchname(),itemdb_searchname_sub()’ljÁ + itemdb_searchname(),itemdb_searchname_sub()è¿½åŠ mob.c/mob.h - mobdb_searchname()’ljÁ + mobdb_searchname()è¿½åŠ -E@refine‚Åã‚°‚é”’l‚ðŽw’è‚Å‚«‚é‚悤‚É•ÏX +・@refineã§ä¸Šã’る数値を指定ã§ãるよã†ã«å¤‰æ›´ atcommand.c - ŠY“–ŒÂŠC³ + è©²å½“å€‹æ‰€ä¿®æ£ -E@produce‚É‚æ‚黑¢Žž‚̃GƒtƒFƒNƒg‚𳂵‚¢‚à‚Ì‚ÉC³ +・@produceã«ã‚ˆã‚‹è£½é€ 時ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’æ£ã—ã„ã‚‚ã®ã«ä¿®æ£ clif.c/clif.h - clif_produceeffect()’ljÁ + clif_produceeffect()è¿½åŠ atcommand.c - ŠY“–ŒÂŠC³ + è©²å½“å€‹æ‰€ä¿®æ£ -E˜I“XƒXƒLƒ‹Žg—pŽž‚̈—‚ð‚µC³ +・露店スã‚ル使用時ã®å‡¦ç†ã‚’å°‘ã—ä¿®æ£ skill.c - skill_castend_id()‚Å‚È‚Askill_castend_nodamage_id()‚Å - ˜I“XŠJÝ‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + skill_castend_id()ã§ãªãã€skill_castend_nodamage_id()㧠+ 露店開è¨ã‚’呼ã¶ã‚ˆã†ã«ã—ãŸã€‚ -Estricmp‚Ì•Ï‚í‚è‚Éstrcasecmp‚ðŽg‚¤‚悤‚É‚µ‚½ - i_WIN32‚©__EMX__‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚Æstricmp‚ðŽg‚¢‚Ü‚·j +・stricmpã®å¤‰ã‚ã‚Šã«strcasecmpを使ã†ã‚ˆã†ã«ã—㟠+ (_WIN32ã‹__EMX__ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚‹ã¨stricmpを使ã„ã¾ã™ï¼‰ (char/) int_party.c (map/) itemdb.c/mob.c - ƒ}ƒNƒ’è‹`‚ÌC³‚È‚Ç + マクãƒå®šç¾©ã®ä¿®æ£ãªã© -EƒXƒLƒ‹‚ð‚µC³ - ƒOƒŠƒ€ƒgƒD[ƒX‚ªƒnƒCƒfƒBƒ“ƒO‚ÅŽg‚¦‚È‚¢–â‘èC³ - •ŠíŒ¤‹†‚Ì–½’†C³‚ðŽÀ‘• +・スã‚ルを少ã—ä¿®æ£ + グリムトゥースãŒãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã§ä½¿ãˆãªã„å•é¡Œä¿®æ£ + æ¦å™¨ç ”究ã®å‘½ä¸ä¿®æ£ã‚’実装 skill.c - skill_use_id()‚ÌC³ + skill_use_id()ã®ä¿®æ£ pc.c - pc_calcstatus()‚Å•ŠíŒ¤‹†‚É]‚Á‚Ä–½’†C³ + pc_calcstatus()ã§æ¦å™¨ç ”究ã«å¾“ã£ã¦å‘½ä¸ä¿®æ£ ---------- //0256 by nabe -E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ +・露店アイテム購入ã®ãƒã‚°ä¿®æ£ clif.c - clif_vendinglist()‚Å”„‚è؂ꂽƒAƒCƒeƒ€‚Í•\Ž¦‚µ‚È‚¢‚悤‚É + clif_vendinglist()ã§å£²ã‚Šåˆ‡ã‚ŒãŸã‚¢ã‚¤ãƒ†ãƒ ã¯è¡¨ç¤ºã—ãªã„よã†ã« ---------- //0255 by nabe -E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ +・露店アイテム購入ã®ãƒã‚°ä¿®æ£ vending.c - vending_purchasereq()‚Åzeny,weight•”•ªC³ + vending_purchasereq()ã§zeny,weightéƒ¨åˆ†ä¿®æ£ ---------- //0254 by nabe -E˜I“X‚ðŽÀ‘• +・露店を実装 vending.c/vending.h - V‹K’ljÁB˜I“XƒƒCƒ“ˆ— + æ–°è¦è¿½åŠ ã€‚éœ²åº—ãƒ¡ã‚¤ãƒ³å‡¦ç† skill.c - skill_castend_id()‚ɘI“XŠJ݃XƒLƒ‹ˆ—‚ð’ljÁ + skill_castend_id()ã«éœ²åº—é–‹è¨ã‚¹ã‚ル処ç†ã‚’è¿½åŠ clif.h/clif.h - ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’ljÁ + 露店関連パケット処ç†ã‚’è¿½åŠ map.h - struct map_session_data‚ÉA + struct map_session_dataã«ã€ int vender_id; int vend_num; char message[80]; struct vending vending[12]; - ‚ð’ljÁ + ã‚’è¿½åŠ ---------- -//0253 by ŒÓ’±—– +//0253 by 胡è¶è˜ -Estricmp–¢’è‹`ƒGƒ‰[‚ª‚Å‚éŠÂ‹«—p‚ÌC³ - ƒGƒ‰[‚ªo‚½ê‡Aint_party.c‚Ìʼn‚̃}ƒNƒ’è‹`‚̃Rƒƒ“ƒg‰»‚Ì‚¤‚¿A - ‚Ç‚¿‚ç‚©‚ðŠO‚µ‚Ä‚â‚è’¼‚µ‚Ä‚Ý‚é‚ÆA‚¤‚Ü‚‚¢‚‚©‚àB - ň«A‰º‚ð—LŒø‚É‚µ‚½‚炤‚Ü‚‚¢‚‚Í‚¸Bi‘啶Žš¬•¶Žš‚ð‹æ•Ê‚·‚é‚悤‚É‚È‚è‚Ü‚·j +・stricmp未定義エラーãŒã§ã‚‹ç’°å¢ƒç”¨ã®ä¿®æ£ + エラーãŒå‡ºãŸå ´åˆã€int_party.cã®æœ€åˆã®ãƒžã‚¯ãƒå®šç¾©ã®ã‚³ãƒ¡ãƒ³ãƒˆåŒ–ã®ã†ã¡ã€ + ã©ã¡ã‚‰ã‹ã‚’外ã—ã¦ã‚„ã‚Šç›´ã—ã¦ã¿ã‚‹ã¨ã€ã†ã¾ãã„ãã‹ã‚‚。 + 最悪ã€ä¸‹ã‚’有効ã«ã—ãŸã‚‰ã†ã¾ãã„ãã¯ãšã€‚(大文å—å°æ–‡å—を区別ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼‰ (char/) int_party.c - ƒRƒƒ“ƒg‰»Ï‚݂̃}ƒNƒ’è‹`’ljÁ + コメント化済ã¿ã®ãƒžã‚¯ãƒå®šç¾©è¿½åŠ ---------- -//0252 by ŒÓ’±—– +//0252 by 胡è¶è˜ -EƒJ[ƒh‚̈ꕔŽÀ‘• - iƒXƒe[ƒ^ƒX•Ï‰»‘S”ÊA•Ší‘®«AƒXƒLƒ‹‚Í‚·‚Å‚ÉŽÀ‘•Ï‚Ýj - –h‹ï‘®«A‰r¥ŽžŠÔ•Ï‰»A‘®«UŒ‚‘Ï«AŽí‘°‘Ï«AŽí‘°’ljÁƒ_ƒ[ƒWA - ‘®«’ljÁƒ_ƒ[ƒWAƒTƒCƒY’ljÁƒ_ƒ[ƒWAMAXHPAMAXSP‘Œ¸AŽg—pSP•Ï‰»ŒnA - ƒtƒFƒ“AƒhƒŒƒCƒNAƒzƒ‹ƒ“A[•£‚Ì‹RŽmA‰©‹àå³AƒIƒVƒŠƒXƒJ[ƒh‚ðŽÀ‘• +・カードã®ä¸€éƒ¨å®Ÿè£… + (ステータス変化全般ã€æ¦å™¨å±žæ€§ã€ã‚¹ã‚ルã¯ã™ã§ã«å®Ÿè£…済ã¿ï¼‰ + 防具属性ã€è© 唱時間変化ã€å±žæ€§æ”»æ’ƒè€æ€§ã€ç¨®æ—è€æ€§ã€ç¨®æ—è¿½åŠ ãƒ€ãƒ¡ãƒ¼ã‚¸ã€ + å±žæ€§è¿½åŠ ãƒ€ãƒ¡ãƒ¼ã‚¸ã€ã‚µã‚¤ã‚ºè¿½åŠ ダメージã€MAXHPã€MAXSP増減ã€ä½¿ç”¨SP変化系〠+ フェンã€ãƒ‰ãƒ¬ã‚¤ã‚¯ã€ãƒ›ãƒ«ãƒ³ã€æ·±æ·µã®é¨Žå£«ã€é»„金蟲ã€ã‚ªã‚·ãƒªã‚¹ã‚«ãƒ¼ãƒ‰ã‚’実装 (db/) const.txt - bonus—p‚̒蔒ljÁAbonus2‚̒蔂à’ljÁ + bonus用ã®å®šæ•°è¿½åŠ ã€bonus2ã®å®šæ•°ã‚‚è¿½åŠ item_db.txt/item_db2.txt - ƒJ[ƒh‚̃XƒNƒŠƒvƒg’ljÁ + カードã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¿½åŠ (map/) map.h - struct map_session_data‚Éhprate‚È‚Ç‘½”ƒƒ“ƒo’ljÁ + struct map_session_dataã«hprateãªã©å¤šæ•°ãƒ¡ãƒ³ãƒè¿½åŠ script.c - bonus2ƒRƒ}ƒ“ƒh’ljÁ - buildin_bonus2()’ljÁ + bonus2ã‚³ãƒžãƒ³ãƒ‰è¿½åŠ + buildin_bonus2()è¿½åŠ pc.c/pc.h - pc_bonus2()’ljÁ - pc_bonus()‚̈—’ljÁ - pc_calcstatus()‚ÅŠeŽí’ljÁƒƒ“ƒo‚̉Šú‰»‚ðs‚¤‚悤‚É‚µA - hprate‚âsprate‚É]‚¢max_hp,max_sp‚Ì’²®‚à‚·‚é‚悤‚É•ÏXB - pc_makesavestatus()‚ŃIƒVƒŠƒXƒJ[ƒhC³ - skill.c - skill_castfix()‚Åcastrate‚É]‚¢A‰r¥ŽžŠÔ‚ð’²®B - skill_castend_id()‚Ådsprate‚É]‚¢AŽg—pSP‚ð’²®B - skill_castend_nodamage_id()‚ŃJ[ƒhC³‚ð’ljÁ + pc_bonus2()è¿½åŠ + pc_bonus()ã®å‡¦ç†è¿½åŠ + pc_calcstatus()ã§å„ç¨®è¿½åŠ ãƒ¡ãƒ³ãƒã®åˆæœŸåŒ–ã‚’è¡Œã†ã‚ˆã†ã«ã—〠+ hprateã‚„sprateã«å¾“ã„max_hp,max_spã®èª¿æ•´ã‚‚ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€‚ + pc_makesavestatus()ã§ã‚ªã‚·ãƒªã‚¹ã‚«ãƒ¼ãƒ‰ä¿®æ£ + skill.c + skill_castfix()ã§castrateã«å¾“ã„ã€è© 唱時間を調整。 + skill_castend_id()ã§dsprateã«å¾“ã„ã€ä½¿ç”¨SPを調整。 + skill_castend_nodamage_id()ã§ã‚«ãƒ¼ãƒ‰ä¿®æ£ã‚’è¿½åŠ battle.c - battle_calc_weapon_attack()‚ŃJ[ƒhC³‚ð’ljÁ - battle_calc_magic_attack()‚ŃJ[ƒhC³‚ð’ljÁ - battle_damage()‚ŃtƒFƒ“ƒJ[ƒhC³‚ð’ljÁ + battle_calc_weapon_attack()ã§ã‚«ãƒ¼ãƒ‰ä¿®æ£ã‚’è¿½åŠ + battle_calc_magic_attack()ã§ã‚«ãƒ¼ãƒ‰ä¿®æ£ã‚’è¿½åŠ + battle_damage()ã§ãƒ•ã‚§ãƒ³ã‚«ãƒ¼ãƒ‰ä¿®æ£ã‚’è¿½åŠ -EƒXƒe[ƒ^ƒXŠ„‚èU‚è‚Ì•\Ž¦ã‚Ì–â‘èC³ - STR‚ðã‚°‚Ä‚àATK‚ª•Ï‚í‚ç‚È‚¢–â‘èAINT‚ðã‚°‚Ä‚àMATK‚ª•Ï‚í‚ç‚È‚¢–â‘èC³ +・ステータス割り振りã®è¡¨ç¤ºä¸Šã®å•é¡Œä¿®æ£ + STRを上ã’ã¦ã‚‚ATKãŒå¤‰ã‚らãªã„å•é¡Œã€INTを上ã’ã¦ã‚‚MATKãŒå¤‰ã‚らãªã„å•é¡Œä¿®æ£ map.h - struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’ljÁ + struct map_session_dataã«matk1,matk2メンãƒè¿½åŠ pc.c - pc_calcstatus()‚ÌC³ + pc_calcstatus()ã®ä¿®æ£ clif.c - clif_initialstatus()‚ÌC³ + clif_initialstatus()ã®ä¿®æ£ battle.c - battle_calc_magic_attack()‚ÌC³ + battle_calc_magic_attack()ã®ä¿®æ£ ---------- //0251 by nabe -E0250‚̃oƒOC³‚È‚Ç - ƒJ[ƒg‚ð•t‚¯‚¸‚ɃƒOƒCƒ“‚Ü‚½‚̓}ƒbƒvˆÚ“®‚µ‚½Œã‚ɃJ[ƒg‚ð•t‚¯‚é‚ÆA - ƒJ[ƒg‚Ì’†g‚ª2”{‚Ì—Ê‚É•\Ž¦‚³‚ê‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðC³B - ƒJ[ƒg‚̃AƒCƒeƒ€”‚ðXV‚·‚é‚悤‚ÉC³B +・0250ã®ãƒã‚°ä¿®æ£ãªã© + カートを付ã‘ãšã«ãƒã‚°ã‚¤ãƒ³ã¾ãŸã¯ãƒžãƒƒãƒ—移動ã—ãŸå¾Œã«ã‚«ãƒ¼ãƒˆã‚’付ã‘ã‚‹ã¨ã€ + カートã®ä¸èº«ãŒ2å€ã®é‡ã«è¡¨ç¤ºã•ã‚Œã¦ã—ã¾ã£ã¦ã„ãŸã®ã‚’ä¿®æ£ã€‚ + カートã®ã‚¢ã‚¤ãƒ†ãƒ æ•°ã‚’æ›´æ–°ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ pc.h/pc.c - pc_iscarton()ƒ}ƒNƒ‚ð’ljÁ - pc_cart_additem(),pc_cart_delitem()‚É‚»‚ꂼ‚ê - sd->cart_num++;‚Æsd->cart_num--;ˆ—‚ð’ljÁ + pc_iscarton()マクãƒã‚’è¿½åŠ + pc_cart_additem(),pc_cart_delitem()ã«ãã‚Œãžã‚Œ + sd->cart_num++;ã¨sd->cart_num--;処ç†ã‚’è¿½åŠ clif.c - clif_parse_LoadEndAck()‚ÅA - ƒJ[ƒg‚ð•t‚¯‚Ä‚¢‚é‚Æ‚«‚̂݃J[ƒgî•ñ‚ð‘—M‚·‚é‚悤‚É‚µ‚½ + clif_parse_LoadEndAck()ã§ã€ + カートを付ã‘ã¦ã„ã‚‹ã¨ãã®ã¿ã‚«ãƒ¼ãƒˆæƒ…å ±ã‚’é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ã—㟠---------- //0250 by nabe -EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽÀ‘•B +・カートOFFã€ãƒã‚§ãƒ³ã‚¸ã‚«ãƒ¼ãƒˆå®Ÿè£…。 (map/) pc.c/pc.h - pc_setcart()‚ð’ljÁ + pc_setcart()ã‚’è¿½åŠ script.c - buildin_setcart()‚ð’ljÁ - ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚ª‚‚ + buildin_setcart()ã‚’è¿½åŠ + スクリプトコマンド「setcart;ã€ã§ã‚«ãƒ¼ãƒˆãŒã¤ã clif.c/clif.h - clif_parse_CartOff()’ljÁBiƒJ[ƒg‚ð‚Í‚¸‚·j - clif_parse_ChangeCart()’ljÁBiƒ`ƒFƒ“ƒWƒJ[ƒg‚̃J[ƒg‘I‘ðj + clif_parse_CartOff()è¿½åŠ ã€‚ï¼ˆã‚«ãƒ¼ãƒˆã‚’ã¯ãšã™ï¼‰ + clif_parse_ChangeCart()è¿½åŠ ã€‚ï¼ˆãƒã‚§ãƒ³ã‚¸ã‚«ãƒ¼ãƒˆã®ã‚«ãƒ¼ãƒˆé¸æŠžï¼‰ (conf/) npc_town_kafra.txt - ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· + カートサービスを「setcart;ã€ã«ç½®æ› ---------- -//0249 by ŒÓ’±—– +//0249 by 胡è¶è˜ -Eƒp[ƒeƒB‚̃f[ƒ^ƒx[ƒX‚Ì–µ‚‚ðo—ˆ‚邾‚¯—}‚¦‚é‚悤‚ÉB - •¡”ƒp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚éƒf[ƒ^‚ÌŒŸ¸A’ljÁ‚ÉŽ¸”s‚µ‚½‚Æ‚«‚É’E‘Þ‚È‚ÇB +・パーティã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®çŸ›ç›¾ã‚’出æ¥ã‚‹ã ã‘抑ãˆã‚‹ã‚ˆã†ã«ã€‚ + 複数パーティã«æ‰€å±žã—ã¦ã‚‹ãƒ‡ãƒ¼ã‚¿ã®æ¤œæŸ»ã€è¿½åŠ ã«å¤±æ•—ã—ãŸã¨ãã«è„±é€€ãªã©ã€‚ (char/) int_party.c party_check_conflict(),party_check_conflict_sub(), - mapif_parse_PartyCheck()’ljÁ + mapif_parse_PartyCheck()è¿½åŠ inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’ljÁ - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg0x3028’ljÁ + パケット長リストã«0x3028è¿½åŠ + INTER鯖パケット.txt + パケット0x3028è¿½åŠ (map/) party.c/party.h - party_check_conflict()’ljÁB - party_invite()‚Å“¯ƒAƒJƒEƒ“ƒgŠ‘®ƒ`ƒFƒbƒN‚ðs‚¤‚悤‚ÉB - party_member_added(),party_send_movemap()‚Å - party_check_conflict()‚ðŒÄ‚Ԃ悤‚ÉB + party_check_conflict()è¿½åŠ ã€‚ + party_invite()ã§åŒã‚¢ã‚«ã‚¦ãƒ³ãƒˆæ‰€å±žãƒã‚§ãƒƒã‚¯ã‚’è¡Œã†ã‚ˆã†ã«ã€‚ + party_member_added(),party_send_movemap()㧠+ party_check_conflict()を呼ã¶ã‚ˆã†ã«ã€‚ intif.c/intif.h - intif_party_checkconflict()’ljÁ + intif_party_checkconflict()è¿½åŠ -Eƒp[ƒeƒB‚ÌÀ•WA‚g‚o’Ê’m‚ðŽÀ‘• - •Ï‰»‚ª‚ ‚ê‚΂P•b‚Ɉê‰ñ‘—MB +・パーティã®åº§æ¨™ã€ï¼¨ï¼°é€šçŸ¥ã‚’実装 + 変化ãŒã‚ã‚Œã°ï¼‘秒ã«ä¸€å›žé€ä¿¡ã€‚ map.h - struct map_session_data‚Éparty_x,~_y,~_hp‚Ì‚Rƒƒ“ƒo’ljÁ + struct map_session_dataã«party_x,~_y,~_hpã®ï¼“メンãƒè¿½åŠ party.c/party.h party_send_xyhp_timer_sub(),party_send_xyhp_timer(), - party_send_xy_clear(),party_send_hp_check()’ljÁB - party_recv_movemap()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB + party_send_xy_clear(),party_send_hp_check()è¿½åŠ ã€‚ + party_recv_movemap()ã§sd->party_*ã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ clif.c/clif.h - clif_send‚ÌPARTY*ƒtƒ‰ƒO‚ð—LŒø‚ÉB - iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOS‚Ì‚UŽíj - clif_party_xy(),clif_party_hp()’ljÁB + clif_sendã®PARTY*フラグを有効ã«ã€‚ + (PARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOSã®ï¼–種) + clif_party_xy(),clif_party_hp()è¿½åŠ ã€‚ pc.c/pc.h - pc_authok()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB - pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ªŽ‹ŠE“à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«‚É - party_hp‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_authok()ã§sd->party_*ã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ + pc_walk()ã§ãƒ‘ーティメンãƒãŒè¦–界内ã«å…¥ã£ã¦ããŸã¨ãã« + party_hpã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ -Eƒp[ƒeƒB‚ÌexpŒö•½•ª”z‚ðŽÀ‘• +・パーティã®exp公平分é…を実装 party.c/party.h - party_share_exp()’ljÁ + party_share_exp()è¿½åŠ mob.c/mob.h - mob_damage()‚ÅŒö•½•ª”zˆ—’ljÁ + mob_damage()ã§å…¬å¹³åˆ†é…処ç†è¿½åŠ -EƒXƒLƒ‹‚ÌC³‚ƒljÁŽÀ‘• - ƒoƒbƒVƒ…AƒsƒA[ƒX‚Ì–½’†—¦C³ŽÀ‘• - ƒsƒA[ƒX‚̃TƒCƒY‚É‚æ‚é‰ñ”•Ï“®ŽÀ‘•iƒvƒŒƒCƒ„[‚Í’†Œ^‚Ɖ¼’èj - ƒoƒbƒVƒ…Aƒ\ƒjƒbƒNƒuƒƒE‚̃Xƒ^ƒ“Œø‰ÊŽÀ‘• - ƒXƒg[ƒ“ƒJ[ƒXAƒtƒƒXƒgƒ_ƒCƒoAƒCƒ“ƒxƒiƒ€A - ƒAƒXƒyƒ‹ƒVƒIAƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“AƒŒƒbƒNƒXƒfƒr[ƒiŽÀ‘• +・スã‚ルã®ä¿®æ£ã¨è¿½åŠ 実装 + ãƒãƒƒã‚·ãƒ¥ã€ãƒ”アースã®å‘½ä¸çŽ‡ä¿®æ£å®Ÿè£… + ピアースã®ã‚µã‚¤ã‚ºã«ã‚ˆã‚‹å›žæ•°å¤‰å‹•å®Ÿè£…(プレイヤーã¯ä¸åž‹ã¨ä»®å®šï¼‰ + ãƒãƒƒã‚·ãƒ¥ã€ã‚½ãƒ‹ãƒƒã‚¯ãƒ–ãƒã‚¦ã®ã‚¹ã‚¿ãƒ³åŠ¹æžœå®Ÿè£… + ストーンカースã€ãƒ•ãƒã‚¹ãƒˆãƒ€ã‚¤ãƒã€ã‚¤ãƒ³ãƒ™ãƒŠãƒ 〠+ アスペルシオã€ã‚¨ãƒ³ãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ã€ãƒ¬ãƒƒã‚¯ã‚¹ãƒ‡ãƒ“ーナ実装 skill.c - skill_additional_effect()’ljÁ - skill_castend_damage_id()ŠY“–ŒÂŠC³ - skill_castend_nodamage_id()ŠY“–ŒÂŠC³ - skill_use_id(),skill_use_pos()‚ŃXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢‚Æ‚«‚Í - ‰½‚à‚µ‚È‚¢‚悤‚ÉC³B + skill_additional_effect()è¿½åŠ + skill_castend_damage_id()è©²å½“å€‹æ‰€ä¿®æ£ + skill_castend_nodamage_id()è©²å½“å€‹æ‰€ä¿®æ£ + skill_use_id(),skill_use_pos()ã§ã‚¹ã‚ルãŒä½¿ç”¨ã§ããªã„ã¨ã㯠+ 何もã—ãªã„よã†ã«ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³ - battle_get_dmotion(),battle_get_attack_element()C³ + battle_calc_weapon_attack()ã®è©²å½“å€‹æ‰€ä¿®æ£ + battle_get_dmotion(),battle_get_attack_element()ä¿®æ£ clif.c - clif_mob007b(),clif_mob0078‚Åoption‚È‚Ç‚ð‘—‚é‚悤‚ÉC³ + clif_mob007b(),clif_mob0078ã§optionãªã©ã‚’é€ã‚‹ã‚ˆã†ã«ä¿®æ£ pc.c - pc_attack(),pc_walktoxy()‚Ås“®•s‰Â”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + pc_attack(),pc_walktoxy()ã§è¡Œå‹•ä¸å¯èƒ½ãªã¨ãã¯ä½•ã‚‚ã—ãªã„よã†ã«ã€‚ mob.c - mob_stopattack()C³ - mob_ai_sub_hard()‚Ås“®•s”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + mob_stopattack()ä¿®æ£ + mob_ai_sub_hard()ã§è¡Œå‹•ä¸èƒ½ãªã¨ãã¯ä½•ã‚‚ã—ãªã„よã†ã«ã€‚ -EUŒ‚ŽË’ö‚Ì”»’è’ljÁ - ‘ŠŽè‚ªˆÚ“®‚µ‚Ä“Í‚©‚È‚¢‚Æ‚«‚ÍAˆÚ“®ƒpƒPƒbƒg‚ð‘—M +・攻撃射程ã®åˆ¤å®šè¿½åŠ + 相手ãŒç§»å‹•ã—ã¦å±Šã‹ãªã„ã¨ãã¯ã€ç§»å‹•ãƒ‘ケットをé€ä¿¡ clif.c/clif.h - clif_movetoattack()’ljÁ + clif_movetoattack()è¿½åŠ pc.c - pc_attack()‚ÅŽË’ö”»’èA“Í‚©‚È‚¢‚È‚çclif_movetoattack()‚ðŒÄ‚ÔB + pc_attack()ã§å°„程判定ã€å±Šã‹ãªã„ãªã‚‰clif_movetoattack()を呼ã¶ã€‚ ---------- //0248 by nabe -Eƒp[ƒeƒB쬎ž‚ÉŠù‚Ƀp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚¢‚½ê‡‚̈—‚ð’ljÁ +・パーティ作æˆæ™‚ã«æ—¢ã«ãƒ‘ーティã«æ‰€å±žã—ã¦ã„ãŸå ´åˆã®å‡¦ç†ã‚’è¿½åŠ party.c - party_create()‚ÉAŠù‚Ƀp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚¢‚½ê‡ - clif_party_created(sd,2)‚ð’ljÁ + party_create()ã«ã€æ—¢ã«ãƒ‘ーティã«æ‰€å±žã—ã¦ã„ãŸå ´åˆ + clif_party_created(sd,2)ã‚’è¿½åŠ -EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ +・ディスカウントã€ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ£ãƒ¼ã‚¸ã‚’計算 pc.c - pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ + pc_modifybuyvalue()ã€pc_modifysellvalue()ã§å€¤æ®µã‚’計算 ---------- -//0247 by ŒÓ’±—– +//0247 by 胡è¶è˜ -Eƒp[ƒeƒBŽÀ‘• - Œö•½•ª”z‚Íݒ肵‚Ä‚àŽÀÛ‚É‚ÍŒö•½•ª”z‚³‚ê‚Ä‚È‚¢B - ƒp[ƒeƒBƒXƒLƒ‹‚Í‚Ü‚¾Ž©•ª‚É‚µ‚©‚©‚©‚ç‚È‚¢ +・パーティ実装 + 公平分é…ã¯è¨å®šã—ã¦ã‚‚実際ã«ã¯å…¬å¹³åˆ†é…ã•ã‚Œã¦ãªã„。 + パーティスã‚ルã¯ã¾ã 自分ã«ã—ã‹ã‹ã‹ã‚‰ãªã„ (char/) int_party.c/int_party.h - ‚Ü‚Æ‚à‚ÉŽÀ‘• + ã¾ã¨ã‚‚ã«å®Ÿè£… inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ - INTERŽIƒpƒPƒbƒg.txt - ƒp[ƒeƒB‚̃pƒPƒbƒg’ljÁ + ãƒ‘ã‚±ãƒƒãƒˆé•·ãƒªã‚¹ãƒˆè¿½åŠ + INTER鯖パケット.txt + パーティã®ãƒ‘ã‚±ãƒƒãƒˆè¿½åŠ (map/) party.c/party.h - V‹K’ljÁ + æ–°è¦è¿½åŠ map.c/map.h - struct map_session_data‚Éparty_sendedƒƒ“ƒo’ljÁ - do_init()‚Ådo_party_init()‚ðŒÄ‚Ô - map_quit()‚Åparty_send_logout()‚ðŒÄ‚Ô + struct map_session_dataã«party_sendedメンãƒè¿½åŠ + do_init()ã§do_party_init()を呼㶠+ map_quit()ã§party_send_logout()を呼㶠intif.c/intif.h - ƒp[ƒeƒBŠÖ˜A‚Ì•”•ª’ljÁ + パーティ関連ã®éƒ¨åˆ†è¿½åŠ clif.c/clif.h - ƒp[ƒeƒBŠÖ˜A‚Ì•”•ª’ljÁ - clif_parse_LoadEndAck()‚Åparty_send_movemap()‚ðŒÄ‚Ño‚· + パーティ関連ã®éƒ¨åˆ†è¿½åŠ + clif_parse_LoadEndAck()ã§party_send_movemap()を呼ã³å‡ºã™ pc.c - pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ԃ悤‚É‚µA - party_sended‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_authok()ã§party_request_info()を呼ã¶ã‚ˆã†ã«ã—〠+ party_sendedã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã€‚ -E‰r¥–WŠQ‚³‚ꂽ‚Æ‚«‰æ–Êã‚ʼnr¥‚ð‚â‚ß‚é‚悤‚ÉC³ +ãƒ»è© å”±å¦¨å®³ã•ã‚ŒãŸã¨ãç”»é¢ä¸Šã§è© 唱をやã‚るよã†ã«ä¿®æ£ (map/) skill.c - skill_castcancel()‚ʼnr¥’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ì‚©‚ÈH)‚ð‘—M + skill_castcancel()ã§è© å”±ä¸æ¢ãƒ‘ケ(åˆã£ã¦ã‚‹ã®ã‹ãªï¼Ÿ)ã‚’é€ä¿¡ -E’´‰“‹——£UŒ‚‚¾‚Æ“G‚ª”½Œ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ +・超é è·é›¢æ”»æ’ƒã ã¨æ•µãŒåæ’ƒã—ã¦ã“ãªã„å•é¡Œã‚’ä¿®æ£ (map/) map.h - struct mob_data‚Émin_chaseƒƒ“ƒo’ljÁiÅ’á’ÇÕ‹——£j + struct mob_dataã«min_chaseメンãƒè¿½åŠ (最低追跡è·é›¢ï¼‰ mob.c - mob_attack()‚Åmin_chase‚ð13‚ɉŠú‰»‚·‚é - mob_walk()‚Åmin_chase‚ª13‚æ‚è‘å‚«‚¢‚Ȃ炵‚¸‚ˆø‚¢‚Ä‚¢‚ - mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚è’ÇÕ‚ð”»’fA - UŒ‚‚ðŽó‚¯‚½Žž‚Émin_chase‚ð”މ䋗—£+13‚ÉÝ’è + mob_attack()ã§min_chaseã‚’13ã«åˆæœŸåŒ–ã™ã‚‹ + mob_walk()ã§min_chaseãŒ13より大ãã„ãªã‚‰å°‘ã—ãšã¤å¼•ã„ã¦ã„ã + mob_ai_sub_hard()ã§min_chaseã«ã‚ˆã‚Šè¿½è·¡ã‚’判æ–〠+ 攻撃をå—ã‘ãŸæ™‚ã«min_chaseを彼我è·é›¢+13ã«è¨å®š ---------- -//0246 by ŒÓ’±—– +//0246 by 胡è¶è˜ -EƒJ[ƒgŽÀ‘• +・カート実装 map.h - struct map_session_data‚Écart_weight‚È‚Ç‚S‚ƒƒ“ƒo’ljÁ + struct map_session_dataã«cart_weightãªã©ï¼”ã¤ãƒ¡ãƒ³ãƒè¿½åŠ pc.c/pc.h pc_cart_additem(),pc_cart_delitem(), - pc_cart_putitemtocart(),pc_cart_getitemfromcart()’ljÁ - pc_calcstatus()‚ŃJ[ƒgd—Ê‚âŒÂ”‚È‚Ç‚Ìî•ñ‚ðŒvŽZ + pc_cart_putitemtocart(),pc_cart_getitemfromcart()è¿½åŠ + pc_calcstatus()ã§ã‚«ãƒ¼ãƒˆé‡é‡ã‚„個数ãªã©ã®æƒ…å ±ã‚’è¨ˆç®— clif.c/clif.h clif_cart_itemlist(),clif_cart_equiplist(), clif_cart_additem(),clif_cart_delitem(), - clif_parse_PutItemToCart(),clif_parse_GetItemFromCart()’ljÁ - clif_parse_LoadEndAck()‚ŃJ[ƒgî•ñA“à—e‘—M - clif_updatestatus()‚ÅSP_CARTINFO‚ŃJ[ƒgî•ñ‚ð‘—‚ê‚é‚悤‚É - clif_parse_MoveFromKafraToCart(),~ToKafraFromCart()’ljÁ + clif_parse_PutItemToCart(),clif_parse_GetItemFromCart()è¿½åŠ + clif_parse_LoadEndAck()ã§ã‚«ãƒ¼ãƒˆæƒ…å ±ã€å†…容é€ä¿¡ + clif_updatestatus()ã§SP_CARTINFOã§ã‚«ãƒ¼ãƒˆæƒ…å ±ã‚’é€ã‚Œã‚‹ã‚ˆã†ã« + clif_parse_MoveFromKafraToCart(),~ToKafraFromCart()è¿½åŠ storage.c/storage.h - storage_additem(),storage_delitem()’ljÁ - storage_storageadditemfromcart,~getitemtocart()’ljÁ - storage_storageadd(),storage_storageget()‚ÅA - storage_additem(),storage_delitem()‚ðŒÄ‚Ԃ悤‚É•ÏX + storage_additem(),storage_delitem()è¿½åŠ + storage_storageadditemfromcart,~getitemtocart()è¿½åŠ + storage_storageadd(),storage_storageget()ã§ã€ + storage_additem(),storage_delitem()を呼ã¶ã‚ˆã†ã«å¤‰æ›´ -EƒXƒLƒ‹‰r¥ƒfƒBƒŒƒC‚È‚ÇŽÀ‘• +・スã‚ãƒ«è© å”±ãƒ‡ã‚£ãƒ¬ã‚¤ãªã©å®Ÿè£… clif.c - clif_parse_WalkToXY()‚Éskilltimer‚É‚æ‚éˆÚ“®‰Â”Û‚ð’ljÁ - clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()‚É - canmove_tick‚É‚æ‚éUŒ‚‰Â”ےljÁ + clif_parse_WalkToXY()ã«skilltimerã«ã‚ˆã‚‹ç§»å‹•å¯å¦ã‚’è¿½åŠ + clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()ã« + canmove_tickã«ã‚ˆã‚‹æ”»æ’ƒå¯å¦è¿½åŠ skill.c/skill.h - skill_castcancel()‚ð’ljÁ - skill_use_id(),skill_use_pos()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚¨‚æ‚ÑA - canmove_tick‚ÌÝ’è + skill_castcancel()ã‚’è¿½åŠ + skill_use_id(),skill_use_pos()ã§ãƒ‡ã‚£ãƒ¬ã‚¤æ™‚間計算ãŠã‚ˆã³ã€ + canmove_tickã®è¨å®š battle.c - battle_damage()‚Åskill_castcancel()‚̌ĂÑo‚µ’ljÁ + battle_damage()ã§skill_castcancel()ã®å‘¼ã³å‡ºã—è¿½åŠ -E0245‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ +・0245ã®ã‚¢ã‚¤ãƒ†ãƒ データベース修æ£ã®é€šå¸¸ä¾¡æ ¼ç‰ˆç”¨æ„ (db/) item_db.txt - item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + item_db2.txtã«å‰ã®item_db.txtã®ä¾¡æ ¼æƒ…å ±ã‚’ãƒžãƒ¼ã‚¸ã—ãŸã ã‘ã§ã™ã€‚ ---------- -//0245 by ‚ê‚ - ‚Ü‚½—á‚É‚æ‚Á‚ÄA‘ŠêC³”Å‚Ì‚Ý‚Å‚·B -Eitem_db2.txt‚ÌC³ - ‹T“‡V‘•”õ‚ÌŒø‰Ê‚ðŽÀ‘•‚µ‚Ü‚µ‚½B - ƒEƒBƒU[ƒh‚ªñ‚ð‘•”õ‚Å‚«‚È‚¢‚Ì‚ðC³ - ƒEƒBƒU[ƒh‚ªƒ}ƒWƒVƒƒƒ“ƒnƒbƒgA‚Æ‚ñ‚ª‚è–X‚ð - ‘•”õ‚Å‚«‚È‚¢‚Ì‚ðC³ +//0245 by れ゠+ ã¾ãŸä¾‹ã«ã‚ˆã£ã¦ã€ç›¸å ´ä¿®æ£ç‰ˆã®ã¿ã§ã™ã€‚ +・item_db2.txtã®ä¿®æ£ + 亀島新装備ã®åŠ¹æžœã‚’実装ã—ã¾ã—ãŸã€‚ + ウィザードãŒæ–を装備ã§ããªã„ã®ã‚’ä¿®æ£ + ウィザードãŒãƒžã‚¸ã‚·ãƒ£ãƒ³ãƒãƒƒãƒˆã€ã¨ã‚“ãŒã‚Šå¸½ã‚’ + 装備ã§ããªã„ã®ã‚’ä¿®æ£ ---------- -//0244 by ‚ê‚ -Emob_db.txt‚ÌC³ - ‹T“‡ƒ‚ƒ“ƒXƒ^[‚̃f[ƒ^‚ð‚¢‚ê‚Ü‚µ‚½B - ‚½‚¾AŠÔˆá‚Á‚Ä‚é•”•ª‚ª‚©‚È‚è‚ ‚è‚Ü‚·B - Speed,Delay‚Í“K“–‚Å‚·B - ‚Ü‚½A‚í‚©‚ç‚È‚¢‚Ì‚ÍŠØ‘”ł̃f[ƒ^‚È‚Ì‚Å - Mdef‚Æ‚©ˆÙí‚É‚‚¢‹C‚àB +//0244 by れ゠+・mob_db.txtã®ä¿®æ£ + 亀島モンスターã®ãƒ‡ãƒ¼ã‚¿ã‚’ã„ã‚Œã¾ã—ãŸã€‚ + ãŸã ã€é–“é•ã£ã¦ã‚‹éƒ¨åˆ†ãŒã‹ãªã‚Šã‚ã‚Šã¾ã™ã€‚ + Speed,Delayã¯é©å½“ã§ã™ã€‚ + ã¾ãŸã€ã‚ã‹ã‚‰ãªã„ã®ã¯éŸ“国版ã®ãƒ‡ãƒ¼ã‚¿ãªã®ã§ + Mdefã¨ã‹ç•°å¸¸ã«é«˜ã„気も。 ---------- -//0242 by ŒÓ’±—– +//0242 by 胡è¶è˜ -EŽæˆøŠÖ˜A‚Ì•ÏX‚ÆC³ - Žæˆø‚ÉŽg‚¤•Ï”‚ðmmo_charstatus‚©‚çmap_session_data‚Ɉړ®‚µ‚Ü‚µ‚½ +・å–引関連ã®å¤‰æ›´ã¨ä¿®æ£ + å–引ã«ä½¿ã†å¤‰æ•°ã‚’mmo_charstatusã‹ã‚‰map_session_dataã«ç§»å‹•ã—ã¾ã—㟠(common/) mmo.h - struct mmo_charstatus‚©‚çŽæˆøŠÖŒW‚̃ƒ“ƒoíœ + struct mmo_charstatusã‹ã‚‰å–引関係ã®ãƒ¡ãƒ³ãƒå‰Šé™¤ (map/) map.h - struct map_session_data‚ÉŽæˆøŠÖŒW‚̃ƒ“ƒo’ljÁ + struct map_session_dataã«å–引関係ã®ãƒ¡ãƒ³ãƒè¿½åŠ trade.c - \‘¢‘Ì‚Ì•ÏX‚É‚ ‚킹‚ÄC³ + æ§‹é€ ä½“ã®å¤‰æ›´ã«ã‚ã‚ã›ã¦ä¿®æ£ map.c - map_quit()‚ÅŽæˆø’†‚È‚çƒLƒƒƒ“ƒZƒ‹‚·‚é‚悤‚É‚µ‚½ + map_quit()ã§å–引ä¸ãªã‚‰ã‚ャンセルã™ã‚‹ã‚ˆã†ã«ã—㟠-EƒJ[ƒh‚Ì‘g‚݇‚킹ŽÀ‘• +・カードã®çµ„ã¿åˆã‚ã›å®Ÿè£… pc.c/pc.h - pc_insert_card()‚ŃJ[ƒh‚ðŽÀÛ‚É‘}“ü‚·‚é + pc_insert_card()ã§ã‚«ãƒ¼ãƒ‰ã‚’実際ã«æŒ¿å…¥ã™ã‚‹ clif.c/clif.h - clif_parse_UseCard(),clif_parse_InsertCard()’ljÁ - clif_use_card(),clif_insert_card()’ljÁ + clif_parse_UseCard(),clif_parse_InsertCard()è¿½åŠ + clif_use_card(),clif_insert_card()è¿½åŠ -Eˆê•”‚̃J[ƒhŒø‰ÊŽÀ‘• - ƒXƒLƒ‹K“¾ƒJ[ƒhAƒXƒe[ƒ^ƒXƒ{[ƒiƒXƒJ[ƒh‚È‚ÇB +・一部ã®ã‚«ãƒ¼ãƒ‰åŠ¹æžœå®Ÿè£… + スã‚ル習得カードã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒœãƒ¼ãƒŠã‚¹ã‚«ãƒ¼ãƒ‰ãªã©ã€‚ (map/) map.h - struct map_session_data‚É‘•”õƒJ[ƒhŒŸõ—p‚Ì•Ï”’ljÁ + struct map_session_dataã«è£…備カード検索用ã®å¤‰æ•°è¿½åŠ pc.c/pc.h - pc_calcstatus()‚ŃJ[ƒh‚̈—’ljÁ - ‚ ‚éID‚̃J[ƒh‚ª‘•”õÏ‚Ý‚©ŒŸõ‚·‚邽‚ß‚ÌŠÖ”A - pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ + pc_calcstatus()ã§ã‚«ãƒ¼ãƒ‰ã®å‡¦ç†è¿½åŠ + ã‚ã‚‹IDã®ã‚«ãƒ¼ãƒ‰ãŒè£…備済ã¿ã‹æ¤œç´¢ã™ã‚‹ãŸã‚ã®é–¢æ•°ã€ + pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()ã‚’ç”¨æ„ -Ed—ʃI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ì•\Ž¦ +・é‡é‡ã‚ªãƒ¼ãƒãƒ¼/é·¹/騎乗アイコンã®è¡¨ç¤º (map/) pc.c/pc.h - pc_checkweighticon()’ljÁAd—ʂ̃AƒCƒRƒ“ˆ— + pc_checkweighticon()è¿½åŠ ã€é‡é‡ã®ã‚¢ã‚¤ã‚³ãƒ³å‡¦ç† clif.c - clif_updatestatus()‚Åd—Ê‘—MŽž‚Épc_checkweighticon()‚ÌŽÀs - clif_changeoption()‚Å‘é‚Æ‹Ræ‚̃AƒCƒRƒ“ˆ— + clif_updatestatus()ã§é‡é‡é€ä¿¡æ™‚ã«pc_checkweighticon()ã®å®Ÿè¡Œ + clif_changeoption()ã§é·¹ã¨é¨Žä¹—ã®ã‚¢ã‚¤ã‚³ãƒ³å‡¦ç† -E0241‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ +・0241ã®ã‚¢ã‚¤ãƒ†ãƒ データベース修æ£ã®é€šå¸¸ä¾¡æ ¼ç‰ˆç”¨æ„ (db/) item_db.txt - item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + item_db2.txtã«å‰ã®item_db.txtã®ä¾¡æ ¼æƒ…å ±ã‚’ãƒžãƒ¼ã‚¸ã—ãŸã ã‘ã§ã™ã€‚ ---------- -//0241 by ‚ê‚ -EƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚ÌC³ - V“ª‘•”õ‚̃Oƒ‰ƒtƒBƒbƒN‚ªˆÙ‚È‚é‚Ì‚ðC³ - ‘•”õ‚ÌŒø‰Ê‚ÌŽÀ‘• - ã’iE’†’i‚ªŠÔˆá‚Á‚Ä‚½‚Ì‚ð‚µC³ - ‘¬•ñ”Å‚Á‚Ä‚±‚ƂŊԈႦ‘½‚¢‚©‚àB - ƒeƒXƒg‚à‚ ‚܂肵‚Ä‚Ü‚¹‚ñB - ‚ ‚ÆA‘Šê’²®”Å‚µ‚©—pˆÓ‚µ‚Ä‚Ü‚¹‚ñB +//0241 by れ゠+・アイテムデータベースã®ä¿®æ£ + æ–°é 装備ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ãŒç•°ãªã‚‹ã®ã‚’ä¿®æ£ + 装備ã®åŠ¹æžœã®å®Ÿè£… + 上段・ä¸æ®µãŒé–“é•ã£ã¦ãŸã®ã‚’å°‘ã—ä¿®æ£ + é€Ÿå ±ç‰ˆã£ã¦ã“ã¨ã§é–“é•ãˆå¤šã„ã‹ã‚‚。 + テストもã‚ã¾ã‚Šã—ã¦ã¾ã›ã‚“。 + ã‚ã¨ã€ç›¸å ´èª¿æ•´ç‰ˆã—ã‹ç”¨æ„ã—ã¦ã¾ã›ã‚“。 item_db2.txt - ‹T“‡‚É‚ ‚킹‚Ä’²® + 亀島ã«ã‚ã‚ã›ã¦èª¿æ•´ ---------- //0240 by nabe -EŽæˆø‚ðŽÀ‘•‚µ‚Ü‚µ‚½B +・å–引を実装ã—ã¾ã—ãŸã€‚ (common/) mmo.h - struct mmo_charstatus ‚É + struct mmo_charstatus ã« int trade_partner; int deal_item_index[10]; int deal_item_amount[10]; int deal_zeny; short deal_locked; - ‚ð’ljÁ + ã‚’è¿½åŠ (map/) clif.c,clif.h - clif_traderequest() : 0xe5iŽæ‚èˆø‚«—v¿Žó‚¯j - clif_tradestart() : 0xe7iŽæ‚èˆø‚«—v‹‰ž“šj - clif_tradeadditem() : 0xe9i‘ŠŽè•û‚©‚ç‚̃AƒCƒeƒ€’ljÁj - clif_tradeitemok() : 0xeaiƒAƒCƒeƒ€’ljÁ¬Œ÷j - clif_tradedeal_lock() : 0xeciok‰Ÿ‚µj - clif_tradecancelled() : 0xeeiŽæ‚èˆø‚«ƒLƒƒƒ“ƒZƒ‹j - clif_tradecompleted() : 0xf0iŽæ‚èˆø‚«Š®—¹j - ‚ð’ljÁB + clif_traderequest() : 0xe5(å–り引ãè¦è«‹å—ã‘) + clif_tradestart() : 0xe7(å–り引ãè¦æ±‚å¿œç”) + clif_tradeadditem() : 0xe9(相手方ã‹ã‚‰ã®ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ ï¼‰ + clif_tradeitemok() : 0xeaï¼ˆã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ æˆåŠŸï¼‰ + clif_tradedeal_lock() : 0xec(ok押ã—) + clif_tradecancelled() : 0xee(å–り引ãã‚ャンセル) + clif_tradecompleted() : 0xf0(å–り引ã完了) + ã‚’è¿½åŠ ã€‚ trade.c,trade.h - trade_traderequest() : Žæˆø—v¿‚ð‘ŠŽè‚É‘—‚é - trade_tradeack() : Žæˆø—v¿ - trade_tradeadditem() : ƒAƒCƒeƒ€’ljÁ - trade_tradeok() : ƒAƒCƒeƒ€’ljÁŠ®—¹(ok‰Ÿ‚µ) - trade_tradecancel() : ŽæˆøƒLƒƒƒ“ƒZƒ‹ - trade_tradecommit() : Žæˆø‹–‘ø(trade‰Ÿ‚µ) - ‚ðŽÀ‘•B‚»‚ꂼ‚êclif.c::clif_parse_Trade*‚©‚çŒÄ‚΂ê‚éB + trade_traderequest() : å–引è¦è«‹ã‚’相手ã«é€ã‚‹ + trade_tradeack() : å–引è¦è«‹ + trade_tradeadditem() : ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ + trade_tradeok() : ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ å®Œäº†(ok押ã—) + trade_tradecancel() : å–引ã‚ャンセル + trade_tradecommit() : å–引許諾(trade押ã—) + を実装。ãã‚Œãžã‚Œclif.c::clif_parse_Trade*ã‹ã‚‰å‘¼ã°ã‚Œã‚‹ã€‚ ---------- -//0238 by ‚ê‚ +//0238 by れ゠-E‘¬“x•ÏX‚ÉŠÖ‚µ‚Ä‚µC³ +・速度変更ã«é–¢ã—ã¦å°‘ã—ä¿®æ£ atcommand.c - ‘¬“x•ÏX‚Ì•”•ª‚ð‚µC³ - ‚±‚ê‚ňꉞ“®‚‚Ý‚½‚¢H + 速度変更ã®éƒ¨åˆ†ã‚’å°‘ã—ä¿®æ£ + ã“ã‚Œã§ä¸€å¿œå‹•ãã¿ãŸã„? pc.c - ‚‚¢‚Å‚É‚Å‚·‚ª - ‘¬“x㸂ŕàs‘¬“x‚ªã‚ª‚é‚悤‚É‚µ‚½B - ˆê‰ž“®‚‚Ý‚½‚¢‚Å‚·‚ª“K“–‚È‚Ì‚Å - ‚¨‚©‚µ‚È‚Æ‚±‚낪‚ ‚ê‚΂¨Šè‚¢‚µ‚Ü‚·B + ã¤ã„ã§ã«ã§ã™ãŒ + 速度上昇ã§æ©è¡Œé€Ÿåº¦ãŒä¸ŠãŒã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + 一応動ãã¿ãŸã„ã§ã™ãŒé©å½“ãªã®ã§ + ãŠã‹ã—ãªã¨ã“ã‚ãŒã‚ã‚Œã°ãŠé¡˜ã„ã—ã¾ã™ã€‚ ---------- //0236 by nabe -EƒXƒNƒŠƒvƒg‚Åmenu‚Å”ò‚ñ‚¾æ‚Å’¼‚®menu‚𑂂ƌ듮삷‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B +・スクリプトã§menuã§é£›ã‚“ã å…ˆã§ç›´ãmenuを書ãã¨èª¤å‹•ä½œã™ã‚‹ãƒã‚°ã‚’ä¿®æ£ã—ã¾ã—ãŸã€‚ script.c - goto“®ì‚ÌŒã‚ÌRERUNLINE‚ɑΈ‚·‚邽‚ßA - goto,menu‚Å”ò‚ñ‚¾Œã‚É‚ÍAst.state==GOTO‚Årerun_pos‚ðXVB + goto動作ã®å¾Œã®RERUNLINEã«å¯¾å‡¦ã™ã‚‹ãŸã‚〠+ goto,menuã§é£›ã‚“ã 後ã«ã¯ã€st.state==GOTOã§rerun_posを更新。 ---------- //0233 by nabe -EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ì‘•”õ”»’è‚ð’ljÁ‚µ‚Ü‚µ‚½B +・アイテムを装備ã™ã‚‹éš›ã®è£…å‚™åˆ¤å®šã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ pc.c - pc_equipitem()‚É‘•”õ”»’èi«•Ê”»’èA‘•”õLV”»’èAE‹Æ”»’èj’ljÁ + pc_equipitem()ã«è£…備判定(性別判定ã€è£…å‚™LV判定ã€è·æ¥åˆ¤å®šï¼‰è¿½åŠ -Ed—Ê”»’èƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’ljÁ‚µ‚Ü‚µ‚½B - if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ê)) - ‚Å‚»‚̃AƒCƒeƒ€~”—Ê‚ðŽæ“¾‚Å‚«‚é‚©‚Ç‚¤‚©”»’è‚Å‚«‚Ü‚·B +・é‡é‡åˆ¤å®šã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚³ãƒžãƒ³ãƒ‰ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ + if (checkweight(アイテムID,アイテム数é‡)) + ã§ãã®ã‚¢ã‚¤ãƒ†ãƒ ×数é‡ã‚’å–å¾—ã§ãã‚‹ã‹ã©ã†ã‹åˆ¤å®šã§ãã¾ã™ã€‚ script.c - buildin_checkweight()‚ð’ljÁ + buildin_checkweight()ã‚’è¿½åŠ -EƒXƒNƒŠƒvƒg‹l‚߇‚킹‚ðathena dev-2.1.1—p‚ɈÚA‚µ‚Ü‚µ‚½B +・スクリプト詰ã‚åˆã‚ã›ã‚’athena dev-2.1.1用ã«ç§»æ¤ã—ã¾ã—ãŸã€‚ map_athena1.cnf - npc_event_*.txt ƒCƒxƒ“ƒgNPC - npc_job_*.txt “]ENPC - npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ - npc_town_*.txt ’¬NPC + npc_event_*.txt イベントNPC + npc_job_*.txt 転è·NPC + npc_mob_job.txt 転è·ç”¨ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ + npc_town_*.txt 町NPC ---------- -//0232 by ŒÓ’±—– +//0232 by 胡è¶è˜ -E‘•”õƒ{[ƒiƒX‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ƒ{[ƒiƒX‚ÉŽg‚¤ƒXƒNƒŠƒvƒg(bonus,skill)‚ðŽÀ‘• - ƒXƒNƒŠƒvƒg‚ÍI-Athena‚̃f[ƒ^‚ðŽg‚Á‚ăRƒ“ƒo[ƒg‚µ‚Ü‚µ‚½B - i‚Ü‚¾ƒJ[ƒh‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñj +・装備ボーナスãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ ボーナスã«ä½¿ã†ã‚¹ã‚¯ãƒªãƒ—ト(bonus,skill)を実装 + スクリプトã¯I-Athenaã®ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦ã‚³ãƒ³ãƒãƒ¼ãƒˆã—ã¾ã—ãŸã€‚ + (ã¾ã カードã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“) (common/) mmo.h - struct skill‚Éflagƒƒ“ƒo’ljÁiƒJ[ƒhƒXƒLƒ‹‚©‚Ç‚¤‚©j + struct skillã«flagメンãƒè¿½åŠ (カードスã‚ルã‹ã©ã†ã‹ï¼‰ (map/) map.h - struct map_session_data‚Éatk_ele‚Ȃǂ̃ƒ“ƒo’ljÁ - enum‚ÅSP_ATKELEMENT‚ȂǒljÁ + struct map_session_dataã«atk_eleãªã©ã®ãƒ¡ãƒ³ãƒè¿½åŠ + enumã§SP_ATKELEMENTãªã©è¿½åŠ pc.c - pc_bonus()‚ÌŽÀ‘•Apc_skill()’ljÁ + pc_bonus()ã®å®Ÿè£…ã€pc_skill()è¿½åŠ script.c - buildin_skill()‚̒ljÁ - buildin_bonus()‚ÌC³(const.txt‚̒蔂ªŽg‚¦‚é‚悤‚É) + buildin_skill()ã®è¿½åŠ + buildin_bonus()ã®ä¿®æ£(const.txtã®å®šæ•°ãŒä½¿ãˆã‚‹ã‚ˆã†ã«) clif.c - clif_skillinfoblock()‚ÌC³(ƒJ[ƒhƒXƒLƒ‹‚Íã‚°‚ç‚ê‚È‚¢) + clif_skillinfoblock()ã®ä¿®æ£(カードスã‚ルã¯ä¸Šã’られãªã„) (db/) const.txt - bonus‚ÉŽg‚¤‚½‚߂̒蔒ljÁ + bonusã«ä½¿ã†ãŸã‚ã®å®šæ•°è¿½åŠ item_db.txt - •W€‚̃f[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + 標準ã®ãƒ‡ãƒ¼ã‚¿ã«è£…å‚™ã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚’è¿½åŠ ã—ãŸã‚‚ã® item_db2.txt - 0213‚Å‘Šê’²®‚³‚ꂽƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + 0213ã§ç›¸å ´èª¿æ•´ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã«è£…å‚™ã‚¹ã‚¯ãƒªãƒ—ãƒˆã‚’è¿½åŠ ã—ãŸã‚‚ã® -E‰r¥ŠÖŒW‚̃oƒO‚ªC³‚³‚ê‚Ü‚µ‚½ +ãƒ»è© å”±é–¢ä¿‚ã®ãƒã‚°ãŒä¿®æ£ã•ã‚Œã¾ã—㟠(map/) skill.c - skill_use_id(),skill_use_pos()‚ðC³ + skill_use_id(),skill_use_pos()ã‚’ä¿®æ£ (db/) cast_db.txt - ‚µ’ljÁiƒuƒŠƒbƒcƒr[ƒg‚È‚Çj + å°‘ã—è¿½åŠ ï¼ˆãƒ–ãƒªãƒƒãƒ„ãƒ“ãƒ¼ãƒˆãªã©ï¼‰ -EUŒ‚‘®«‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ -E¯‚Ì‚©‚¯‚ç‚ÌC³‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・攻撃属性ãŒé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠+・星ã®ã‹ã‘らã®ä¿®æ£ãŒé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠map.h - struct map_session_data‚Éstarƒƒ“ƒo’ljÁ + struct map_session_dataã«starメンãƒè¿½åŠ pc.c - pc_calcstatus()‚Å‘®«‰Šú‰» + pc_calcstatus()ã§å±žæ€§åˆæœŸåŒ– battle.c - battle_get_element(),battle_get_attack_element()C³ - battle_calc_weapon_damage()‚ÌŠY“–ŒÂŠC³ + battle_get_element(),battle_get_attack_element()ä¿®æ£ + battle_calc_weapon_damage()ã®è©²å½“å€‹æ‰€ä¿®æ£ -Eñ‘•”õŽž‚ÉMATK+15%‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・æ–装備時ã«MATK+15%ãŒé©ç”¨ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠battle.c - battle_calc_magic_damage()‚ÌŠY“–ŒÂŠC³ + battle_calc_magic_damage()ã®è©²å½“å€‹æ‰€ä¿®æ£ -E»‘¢•Ší‚̃Lƒƒƒ‰ƒNƒ^[–¼‚ª³‚µ‚•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +ãƒ»è£½é€ æ¦å™¨ã®ã‚ャラクターåãŒæ£ã—ã表示ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—㟠- Œ´—‚Æ‚µ‚Ä‚ÍAmapŽI“à‚̃Lƒƒƒ‰ƒNƒ^–¼ƒf[ƒ^ƒx[ƒX‚ðŒŸõ‚µ‚ÄA - ‘¶Ý‚·‚ê‚Α¦•ÔMA‘¶Ý‚µ‚È‚¯‚ê‚ÎcharŽI‚É‰ðŒˆ—v‹‚ðo‚·B - ‚±‚Ì‚Æ‚«A–¼‘O‚ð—v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚ÌID‚ðƒf[ƒ^ƒx[ƒX‚É“o˜^‚·‚éB - charŽI‚©‚ç–¼‘Oƒf[ƒ^‚ª‚‚é‚ÆA‘Ήž‚·‚éƒf[ƒ^ƒx[ƒX‚É–¼‘O‚ðƒZƒbƒg‚µA - —v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚É–¼‘O‚ð•ÔM‚·‚éB - –¢‰ðŒˆ‚Ì“¯‚¶ƒLƒƒƒ‰ID‰ðŒˆ‚ð•¡”‚̃Nƒ‰ƒCƒAƒ“ƒg‚ª—v‹‚µ‚Ä‚«‚½ê‡A - ÅŒã‚É—v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚É‚µ‚©•ÔM‚µ‚È‚¢‚ªA - •ÔM‚³‚ê‚È‚©‚Á‚½ƒNƒ‰ƒCƒAƒ“ƒg‚Í”•bŒã‚ÉÄ‚Ñ‰ðŒˆ—v‹‚ð‘—‚Á‚Ä‚‚é - i‚»‚µ‚Ä‚»‚Ì‚Æ‚«‚ÍmapŽI‚©‚瑦•ÔM‚³‚ê‚éj‚Ì‚Å‘å‚«‚È–â‘è‚Í‚È‚¢B - - ƒpƒPƒbƒg0x2b08,0x2b09‚ÅmapŽI‚ÆcharŽI‚ª’ÊM‚µ‚Ä‚Ü‚·B + 原ç†ã¨ã—ã¦ã¯ã€map鯖内ã®ã‚ャラクタåデータベースを検索ã—ã¦ã€ + å˜åœ¨ã™ã‚Œã°å³è¿”ä¿¡ã€å˜åœ¨ã—ãªã‘ã‚Œã°char鯖ã«è§£æ±ºè¦æ±‚を出ã™ã€‚ + ã“ã®ã¨ãã€åå‰ã‚’è¦æ±‚ã—ã¦ããŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®IDをデータベースã«ç™»éŒ²ã™ã‚‹ã€‚ + char鯖ã‹ã‚‰åå‰ãƒ‡ãƒ¼ã‚¿ãŒãã‚‹ã¨ã€å¯¾å¿œã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«åå‰ã‚’セットã—〠+ è¦æ±‚ã—ã¦ããŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«åå‰ã‚’返信ã™ã‚‹ã€‚ + 未解決ã®åŒã˜ã‚ャラID解決を複数ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒè¦æ±‚ã—ã¦ããŸå ´åˆã€ + 最後ã«è¦æ±‚ã—ã¦ããŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã—ã‹è¿”ä¿¡ã—ãªã„ãŒã€ + 返信ã•ã‚Œãªã‹ã£ãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ•°ç§’後ã«å†ã³è§£æ±ºè¦æ±‚ã‚’é€ã£ã¦ãã‚‹ + (ãã—ã¦ãã®ã¨ãã¯map鯖ã‹ã‚‰å³è¿”ä¿¡ã•ã‚Œã‚‹ï¼‰ã®ã§å¤§ããªå•é¡Œã¯ãªã„。 + + パケット0x2b08,0x2b09ã§map鯖ã¨char鯖ãŒé€šä¿¡ã—ã¦ã¾ã™ã€‚ (char/) char.h - UNKNOWN_CHAR_NAME’è‹`iƒLƒƒƒ‰ƒf[ƒ^‚ª–³‚¢‚Æ‚«‚É•Ô‚³‚ê‚é–¼‘Oj + UNKNOWN_CHAR_NAME定義(ã‚ャラデータãŒç„¡ã„ã¨ãã«è¿”ã•ã‚Œã‚‹åå‰ï¼‰ char2.c - parse_frommap()‚ɃpƒPƒbƒg0x2b08‚̈—‚ð’ljÁ + parse_frommap()ã«ãƒ‘ケット0x2b08ã®å‡¦ç†ã‚’è¿½åŠ (map/) chrif.c/chif.h - chrif_searchcharid()’ljÁ - chrif_parse()‚Å0x2b09‚̈—’ljÁ + chrif_searchcharid()è¿½åŠ + chrif_parse()ã§0x2b09ã®å‡¦ç†è¿½åŠ map.c - ƒf[ƒ^ƒx[ƒX charid_db 錾 - struct charid2nick錾Bnick‚Í–¼‘OA - req_id‚Í0‚Å–¼‘O‰ðŒˆÏ‚ÝA0ˆÈŠO‚Å–¢‰ðŒˆ‚Å‰ðŒˆ‘Ò‚¿‚̃uƒƒbƒNID - map_addchariddb()’ljÁBƒf[ƒ^ƒx[ƒX‚Ö–¼‘O“o˜^A—v‹‚É•ÔMB - map_reqchariddb()’ljÁB—v‹‚ª‚ ‚Á‚½‚±‚Æ‚ðƒf[ƒ^ƒx[ƒX‚֒ljÁB - map_charid2nick()‚Ńf[ƒ^ƒx[ƒX‚ÌŒŸõ - do_init()‚Å charid_db ‚̉Šú‰»‚ð’ljÁ + データベース charid_db 宣言 + struct charid2nick宣言。nickã¯åå‰ã€ + req_idã¯0ã§åå‰è§£æ±ºæ¸ˆã¿ã€0以外ã§æœªè§£æ±ºã§è§£æ±ºå¾…ã¡ã®ãƒ–ãƒãƒƒã‚¯ID + map_addchariddb()è¿½åŠ ã€‚ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸åå‰ç™»éŒ²ã€è¦æ±‚ã«è¿”信。 + map_reqchariddb()è¿½åŠ ã€‚è¦æ±‚ãŒã‚ã£ãŸã“ã¨ã‚’データベースã¸è¿½åŠ 。 + map_charid2nick()ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ¤œç´¢ + do_init()㧠charid_db ã®åˆæœŸåŒ–ã‚’è¿½åŠ clif.c/clif.h - clif_parse_SolveCharName(),clif_solved_charname()’ljÁ + clif_parse_SolveCharName(),clif_solved_charname()è¿½åŠ ---------- //0231 by nabe -EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Æ‘‚‚ƃLƒƒƒ‰‚Ì–¼‘O‚ð‚µ‚á‚ׂé‹@”\‚ð’ljÁB +・スクリプト㧠mes "$charaname"; ç‰ã¨æ›¸ãã¨ã‚ャラã®åå‰ã‚’ã—ゃã¹ã‚‹æ©Ÿèƒ½ã‚’è¿½åŠ ã€‚ script.c - buildin_mes()“à‚Å - mes“à•”‚Ì$charaname‚ðƒLƒƒƒ‰‚Ì–¼‘O‚É’uŠ·‚·‚鈗‚ð’ljÁB - ”“¯—l‚É‚µ‚Ä•Ï”‚Ì’l‚È‚Ç‚ðmes“à•”‚Å•\Ž¦‚·‚é‚悤‚É‚·‚邱‚Æ‚à - ”‚Å‚«‚Ü‚·‚ªA‚±‚ê‚ɂ‚¢‚Ä‚Í–¢ŽÀ‘•‚Å‚·EEEB - ”‚Æ‚è‚ ‚¦‚¸ - ” mes Global_Val; - ”‚̂悤‚É’¼Ú‘‚‚±‚ƂőΈ‚µ‚Ä‚‚¾‚³‚¢B - -E“G‚ÉUŒ‚‚³‚ꂽ‚Æ‚«‚ÉmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³B + buildin_mes()内㧠+ mes内部ã®$charanameã‚’ã‚ャラã®åå‰ã«ç½®æ›ã™ã‚‹å‡¦ç†ã‚’è¿½åŠ ã€‚ + #åŒæ§˜ã«ã—ã¦å¤‰æ•°ã®å€¤ãªã©ã‚’mes内部ã§è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã‚‚ + #ã§ãã¾ã™ãŒã€ã“ã‚Œã«ã¤ã„ã¦ã¯æœªå®Ÿè£…ã§ã™ãƒ»ãƒ»ãƒ»ã€‚ + #ã¨ã‚Šã‚ãˆãš + # mes Global_Val; + #ã®ã‚ˆã†ã«ç›´æŽ¥æ›¸ãã“ã¨ã§å¯¾å‡¦ã—ã¦ãã ã•ã„。 + +・敵ã«æ”»æ’ƒã•ã‚ŒãŸã¨ãã«map鯖ãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã‚’ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack()‚Ì - ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“‚̃XƒLƒ‹ƒ`ƒFƒbƒN•”•ªA - pc_checkskill(sd,22)‚ðA - pc_checkskill(tsd,22)‚ÉB + battle_calc_weapon_attack()ã® + ディãƒã‚¤ãƒ³ãƒ—ãƒãƒ†ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¹ã‚ルãƒã‚§ãƒƒã‚¯éƒ¨åˆ†ã€ + pc_checkskill(sd,22)を〠+ pc_checkskill(tsd,22)ã«ã€‚ ---------- //0230 by nabe -E‰ñ”𗦑‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”½‰fB +・回é¿çŽ‡å¢—åŠ ã‚¹ã‚ルをステータスã«åæ˜ ã€‚ pc.c - 0228‚Å‚Ìpc_calcstatus()‚̉ñ”𗦑‰Á•ª‚ðŒ³‚É–ß‚µflee‚ð‘‰ÁB + 0228ã§ã®pc_calcstatus()ã®å›žé¿çŽ‡å¢—åŠ åˆ†ã‚’å…ƒã«æˆ»ã—fleeã‚’å¢—åŠ ã€‚ battle.c - battle_calc_weapon_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦕ÛØ‚ðŒvŽZB -EƒOƒ[ƒoƒ‹•Ï”‚ðŽÀ‘•B -@ '@'‚à‚µ‚‚Í'l'‚ÅŽn‚Ü‚ç‚È‚¢•Ï”–¼‚ÍA‘S‚ăOƒ[ƒoƒ‹•Ï”‚Æ‚Ý‚È‚³‚ê‚Ü‚·B + battle_calc_weapon_attack()ã®hitrate計算ã§å›žé¿çŽ‡ä¿è¨¼ã‚’計算。 +・グãƒãƒ¼ãƒãƒ«å¤‰æ•°ã‚’実装。 +  '@'ã‚‚ã—ãã¯'l'ã§å§‹ã¾ã‚‰ãªã„変数åã¯ã€å…¨ã¦ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ mmo.h - struct mmo_charstatus ‚É + struct mmo_charstatus ã« int global_reg_num; struct global_reg global_reg[GLOBAL_REG_NUM]; - ‚ð’ljÁB + ã‚’è¿½åŠ ã€‚ pc.c - pc_readglobalreg(),pc_setglobalreg()‚ð’ljÁB + pc_readglobalreg(),pc_setglobalreg()ã‚’è¿½åŠ ã€‚ script.c - get_val(),buildin_input(),buildin_set()‚É - ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + get_val(),buildin_input(),buildin_set()ã« + ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã®ãŸã‚ã®å‡¦ç†ã‚’è¿½åŠ ã€‚ char2.c - mmo_char_tostr(),mmo_char_fromstr()‚É - ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + mmo_char_tostr(),mmo_char_fromstr()ã« + ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã®ãŸã‚ã®å‡¦ç†ã‚’è¿½åŠ ã€‚ ---------- -//0229 by ŒÓ’±—– +//0229 by 胡è¶è˜ -Eˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•/C³ - ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“Aƒf[ƒ‚ƒ“ƒxƒCƒ“Aƒr[ƒXƒgƒxƒCƒ“ŽÀ‘• - ƒGƒiƒW[ƒR[ƒgC³i–‚–@‚É‚æ‚éUŒ‚‚ɂ̓XƒLƒ‹‚ª“‚©‚È‚¢‚悤‚ÉC³j - •ŠíUŒ‚ŒnƒXƒLƒ‹C³iƒGƒtƒFƒNƒg‚ð’ÊíUŒ‚‚©‚çƒXƒLƒ‹‚É•ÏXj +・一部スã‚ルã®å®Ÿè£…/ä¿®æ£ + ディãƒã‚¤ãƒ³ãƒ—ãƒãƒ†ã‚¯ã‚·ãƒ§ãƒ³ã€ãƒ‡ãƒ¼ãƒ¢ãƒ³ãƒ™ã‚¤ãƒ³ã€ãƒ“ーストベイン実装 + エナジーコート修æ£ï¼ˆé”法ã«ã‚ˆã‚‹æ”»æ’ƒã«ã¯ã‚¹ã‚ルãŒåƒã‹ãªã„よã†ã«ä¿®æ£ï¼‰ + æ¦å™¨æ”»æ’ƒç³»ã‚¹ã‚ル修æ£ï¼ˆã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’通常攻撃ã‹ã‚‰ã‚¹ã‚ルã«å¤‰æ›´ï¼‰ battle.c - battle_addmastery()‚ŃxƒCƒ“Œn’ljÁ - battle_calc_damage()‚ŃGƒiƒW[ƒR[ƒgC³ + battle_addmastery()ã§ãƒ™ã‚¤ãƒ³ç³»è¿½åŠ + battle_calc_damage()ã§ã‚¨ãƒŠã‚¸ãƒ¼ã‚³ãƒ¼ãƒˆä¿®æ£ skill.c - skill_castend_damage_id()‚Ì•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ì•”•ª‚ðC³ + skill_castend_damage_id()ã®æ¦å™¨æ”»æ’ƒç³»ã‚¹ã‚ルã®éƒ¨åˆ†ã‚’ä¿®æ£ -E“GUŒ‚ŒvŽZ‚ðPC‚Ì‚à‚̂ƈê–{‰» - ‚±‚ê‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚‚̊֔‚ÅŒvŽZ‚Å‚«‚Ü‚· +・敵攻撃計算をPCã®ã‚‚ã®ã¨ä¸€æœ¬åŒ– + ã“ã‚Œã§PCvsPCã€PCvsMOBã€MOBvsPCã€MOBvsMOB(!?)を1ã¤ã®é–¢æ•°ã§è¨ˆç®—ã§ãã¾ã™ battle.c/battle.h - battle_calc_weapon_attack()‚ðC³ - battle_calc_weapon_attack_pc(),~mob()‚ðíœ + battle_calc_weapon_attack()ã‚’ä¿®æ£ + battle_calc_weapon_attack_pc(),~mob()を削除 mob.c - mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚¤‚悤‚ÉC³ + mob_attack()ã§è¨ˆç®—ã«battle_calc_weapon_attack()を使ã†ã‚ˆã†ã«ä¿®æ£ -E‰r¥ŽžŠÔƒf[ƒ^‚ª‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg‚̉r¥ŽžŠÔ‚ð‚O‚É•ÏX - ¡‚Ü‚Å‚Í‚P•b‚É‚µ‚Ä‚Ü‚µ‚½‚ªAƒoƒbƒVƒ…‚Æ‚©‚ª‚¨‚©‚µ‚‚È‚é‚Ì‚ÅB - iƒoƒbƒVƒ…‚Æ‚©‚̃f[ƒ^‚ð—pˆÓ‚·‚ê‚΂±‚¤‚µ‚È‚‚Ä‚à’¼‚é‚ñ‚Å‚·‚ªj +ãƒ»è© å”±æ™‚é–“ãƒ‡ãƒ¼ã‚¿ãŒãªã„å ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®è© 唱時間をï¼ã«å¤‰æ›´ + 今ã¾ã§ã¯ï¼‘秒ã«ã—ã¦ã¾ã—ãŸãŒã€ãƒãƒƒã‚·ãƒ¥ã¨ã‹ãŒãŠã‹ã—ããªã‚‹ã®ã§ã€‚ + (ãƒãƒƒã‚·ãƒ¥ã¨ã‹ã®ãƒ‡ãƒ¼ã‚¿ã‚’用æ„ã™ã‚Œã°ã“ã†ã—ãªãã¦ã‚‚ç›´ã‚‹ã‚“ã§ã™ãŒï¼‰ pc.c - pc_readdb()‚Å1000ms‚ðƒZƒbƒg‚·‚é‚Ì‚ðŽ~‚ß‚½ + pc_readdb()ã§1000msをセットã™ã‚‹ã®ã‚’æ¢ã‚㟠-E‰“‹——£UŒ‚‚µ‚Ä‚±‚È‚¢ƒoƒOA‚»‚Ì‘¼‚ðC³ +・é è·é›¢æ”»æ’ƒã—ã¦ã“ãªã„ãƒã‚°ã€ãã®ä»–ã‚’ä¿®æ£ mob.c - mob_attack()‚ÌŽË’ö‚ðC³‚µ–Y‚ê‚Ä‚¢‚½ - mob_ai_sub_hard()‚ÅŽË’ö‹——£ŠO‚ÌŽžA–³ˆÚ“®‚Ì“G‚Í - ƒ^[ƒQƒbƒg‚ðŠO‚·‚悤‚É‚µ‚½ + mob_attack()ã®å°„程を修æ£ã—忘れã¦ã„㟠+ mob_ai_sub_hard()ã§å°„程è·é›¢å¤–ã®æ™‚ã€ç„¡ç§»å‹•ã®æ•µã¯ + ターゲットを外ã™ã‚ˆã†ã«ã—㟠---------- //0228 by nabe -Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ÌSkillID‚ðC³B +・ダブルアタックã®SkillIDã‚’ä¿®æ£ã€‚ battle.c - battle_calc_weapon_attack_pc()‚Å - pc_checkskill(sd,49) -> pc_checkskill(sd,48)‚ÉB -E‰ñ”𗦌üã‚ð—z‚É•\‚³‚È‚¢ + battle_calc_weapon_attack_pc()㧠+ pc_checkskill(sd,49) -> pc_checkskill(sd,48)ã«ã€‚ +・回é¿çŽ‡å‘上を陽ã«è¡¨ã•ãªã„ pc.c - pc_calcstatus()‚Å‚Ìflee‚̉ñ”𗦌ü㕪‚ð휂µA + pc_calcstatus()ã§ã®fleeã®å›žé¿çŽ‡å‘上分を削除ã—〠mob.c - mob_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦌üã‚ðŒvŽZB -E“å³A“峎“A“å³—Y‚ð³í‰»B + mob_attack()ã®hitrate計算ã§å›žé¿çŽ‡å‘上を計算。 +・盗蟲ã€ç›—蟲雌ã€ç›—蟲雄をæ£å¸¸åŒ–。 npc_monster3J.txt - mob_db.txt‚ɇ‚킹‚ÄA‚½‚Ô‚ñ³‚µ‚¢‚ÆŽv‚í‚ê‚éID‚ÉC³B - “å³ 1006 -> 1051 - “峎“ 1017 -> 1053 - “å³—Y 1021 -> 1054 -EƒfƒoƒbƒOƒƒbƒZ[ƒW‚ÌÁ‚µ–Y‚êiHj‚ðíœB + mob_db.txtã«åˆã‚ã›ã¦ã€ãŸã¶ã‚“æ£ã—ã„ã¨æ€ã‚れるIDã«ä¿®æ£ã€‚ + 盗蟲 1006 -> 1051 + 盗蟲雌 1017 -> 1053 + 盗蟲雄 1021 -> 1054 +・デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æ¶ˆã—忘れ(?)を削除。 pc.c - printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg + printf("pc.c 63 clif_clearchar_area\n");をコメントアウト ---------- -//0227 by ŒÓ’±—– +//0227 by 胡è¶è˜ -Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - HP‰ñ•œŒüãASP‰ñ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA - ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ñ‚¾‚Ó‚èA‰ž‹}Žè“– +・一部ã®ã‚¹ã‚ル効果ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ HP回復å‘上ã€SP回復å‘上ã€ãƒžã‚°ãƒ‹ãƒ•ã‚£ã‚«ãƒ¼ãƒˆã€ + ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°ã€ã‚¯ãƒãƒ¼ã‚ングã€æ»ã‚“ã ãµã‚Šã€å¿œæ€¥æ‰‹å½“ map.h - struct map_session_data ‚É inchealtick ƒƒ“ƒo’ljÁ - pc.c - pc_spheal()‚Ń}ƒOƒjƒtƒBƒJ[ƒgˆ—’ljÁ - pc_natual_heal_sub()‚ʼnñ•œŒüãƒXƒLƒ‹ˆ—’ljÁ - pc_authok()‚Åinchealtick‚ð‰Šú‰»‚·‚é‚悤‚É•ÏX - pc_walk()‚Åincheaktick‚ðÄÝ’è‚·‚é‚悤‚É•ÏX - pc_walk()‚ŃNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚𒲸‚·‚é‚悤‚É•ÏX - pc_walktoxy()‚Åó‘Ô‚É‚æ‚Á‚Ĉړ®•s‰Â”\‚É‚µ‚½ + struct map_session_data ã« inchealtick メンãƒè¿½åŠ + pc.c + pc_spheal()ã§ãƒžã‚°ãƒ‹ãƒ•ã‚£ã‚«ãƒ¼ãƒˆå‡¦ç†è¿½åŠ + pc_natual_heal_sub()ã§å›žå¾©å‘上スã‚ル処ç†è¿½åŠ + pc_authok()ã§inchealtickã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + pc_walk()ã§incheaktickã‚’å†è¨å®šã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + pc_walk()ã§ã‚¯ãƒãƒ¼ã‚ングã®çµ‚了æ¡ä»¶ã‚’調査ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ + pc_walktoxy()ã§çŠ¶æ…‹ã«ã‚ˆã£ã¦ç§»å‹•ä¸å¯èƒ½ã«ã—㟠skill.c/skill.h - skill_status_change_start(),~timer(),~end()‚Ɉ—’ljÁ - skill_check_cloaking()’ljÁAƒNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚ðŒŸ¸ + skill_status_change_start(),~timer(),~end()ã«å‡¦ç†è¿½åŠ + skill_check_cloaking()è¿½åŠ ã€ã‚¯ãƒãƒ¼ã‚ングã®çµ‚了æ¡ä»¶ã‚’検査 battle.c/battle.h - battle_stopattack()’ljÁ - battle_calc_weapon_attack()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + battle_stopattack()è¿½åŠ + battle_calc_weapon_attack()ã§æ”»æ’ƒã‚’æ¢ã‚る処ç†è¿½åŠ mob.c - mob_ai_sub_hard()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + mob_ai_sub_hard()ã§æ”»æ’ƒã‚’æ¢ã‚る処ç†è¿½åŠ -E’ÊíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹¤—p‚ÉB +・通常攻撃処ç†ã€å¯¾MOBã€å¯¾PCを共用ã«ã€‚ pc.c - pc_attack_mob(),pc_attack_pc()íœ - pc_attack()‚ÉUŒ‚ˆ—’ljÁ + pc_attack_mob(),pc_attack_pc()削除 + pc_attack()ã«æ”»æ’ƒå‡¦ç†è¿½åŠ -Eƒ‚ƒ“ƒXƒ^[‚Ìs“®‚̈ꕔŽÀ‘• - ƒAƒNƒeƒBƒ”A–³”½‰žAˆÚ“®‚µ‚È‚¢A‰“‹——£UŒ‚ˆê•” +・モンスターã®è¡Œå‹•ã®ä¸€éƒ¨å®Ÿè£… + アクティヴã€ç„¡åå¿œã€ç§»å‹•ã—ãªã„ã€é è·é›¢æ”»æ’ƒä¸€éƒ¨ mob.c - mob_ai_sub_hard()‚És“®’ljÁ - mob_ai_sub_hard_activesearch()’ljÁA‹ß‚‚ÌPC‚Ö‚Ìô“G + mob_ai_sub_hard()ã«è¡Œå‹•è¿½åŠ + mob_ai_sub_hard_activesearch()è¿½åŠ ã€è¿‘ãã®PCã¸ã®ç–敵 -EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ì‘‰Á”{—¦‚ª100”{‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ +・オーãƒãƒ¼ãƒˆãƒ©ã‚¹ãƒˆã®å¢—åŠ å€çŽ‡ãŒ100å€ã«ãªã£ã¦ã„ã‚‹ãƒã‚°ãŒä¿®æ£ã•ã‚Œã¾ã—㟠battle.c - battle_calc_weapon_attack()‚ÅAŠY“–ŒÂŠ‚ðC³ + battle_calc_weapon_attack()ã§ã€è©²å½“å€‹æ‰€ã‚’ä¿®æ£ ---------- -//0226 by ŒÓ’±—– +//0226 by 胡è¶è˜ -‚â‚Á‚Ï‚èƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚¢‚Ü‚¹‚ñ +ã‚„ã£ã±ã‚Šãƒ†ã‚¹ãƒˆã¯ã‚ã‚“ã¾ã‚Šã—ã¦ã„ã¾ã›ã‚“ -Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ‘¬“x‘‰ÁAƒGƒ“ƒWƒFƒ‰ƒXAƒLƒ…ƒA[ - ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXAƒTƒtƒ‰ƒMƒEƒ€AƒŠƒJƒoƒŠ[AƒOƒƒŠƒA - ‚Ó‚‚낤‚Ì–ÚAƒƒV‚Ì–ÚAW’†—ÍŒüãA‰ñ”𗦌üãA‰ð“Å - ŠŽ—Ê‘‰ÁAƒ‰ƒEƒhƒ{ƒCƒXAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒI[ƒo[ƒgƒ‰ƒXƒg - ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“Aƒ}ƒLƒVƒ}ƒCƒYƒpƒ[A‚Q‚g‚p +・一部ã®ã‚¹ã‚ル効果ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ é€Ÿåº¦å¢—åŠ ã€ã‚¨ãƒ³ã‚¸ã‚§ãƒ©ã‚¹ã€ã‚ュアー + インãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ã€ã‚µãƒ•ãƒ©ã‚®ã‚¦ãƒ ã€ãƒªã‚«ãƒãƒªãƒ¼ã€ã‚°ãƒãƒªã‚¢ + ãµãã‚ã†ã®ç›®ã€ãƒ¯ã‚·ã®ç›®ã€é›†ä¸åŠ›å‘上ã€å›žé¿çŽ‡å‘上ã€è§£æ¯’ + 所æŒé‡å¢—åŠ ã€ãƒ©ã‚¦ãƒ‰ãƒœã‚¤ã‚¹ã€ã‚¢ãƒ‰ãƒ¬ãƒŠãƒªãƒ³ãƒ©ãƒƒã‚·ãƒ¥ã€ã‚ªãƒ¼ãƒãƒ¼ãƒˆãƒ©ã‚¹ãƒˆ + ウェãƒãƒ³ãƒ‘ーフェクションã€ãƒžã‚シマイズパワーã€ï¼’HQ (map/) map.h - struct map_session_data‚Éwatk2,def2‚ȂǒljÁ + struct map_session_dataã«watk2,def2ãªã©è¿½åŠ pc.c - pc_calcstatus()‚ɃXƒLƒ‹C³’ljÁ - atk2‚È‚Ç‚à‘—M‚·‚é‚悤‚É•ÏX + pc_calcstatus()ã«ã‚¹ã‚ル修æ£è¿½åŠ + atk2ãªã©ã‚‚é€ä¿¡ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ battle.c/battle.h - battle_get_def2()‚È‚Ç‘½”’ljÁ - battle_calc_weapon_damage()‚Å“GŒ¸ŽZ–hŒä‚ÌŠ“¾‚ð - battle_get_def2()‚É•ÏX - battle_calc_magic_damage()‚Å“GŒ¸ŽZ–‚–@–hŒä‚ÌŠ“¾‚ð - battle_get_mdef2()‚É•ÏX - battle_calc_weapon_damage()‚ŃXƒLƒ‹C³‚ð’ljÁ + battle_get_def2()ãªã©å¤šæ•°è¿½åŠ + battle_calc_weapon_damage()ã§æ•µæ¸›ç®—防御ã®æ‰€å¾—ã‚’ + battle_get_def2()ã«å¤‰æ›´ + battle_calc_magic_damage()ã§æ•µæ¸›ç®—é”法防御ã®æ‰€å¾—ã‚’ + battle_get_mdef2()ã«å¤‰æ›´ + battle_calc_weapon_damage()ã§ã‚¹ã‚ル修æ£ã‚’è¿½åŠ skill.c/skill.h - skill_use_nodamage_id()‚ÌŠY“–ŒÂŠ’ljÁ - skill_status_change_start()‚ÌŠY“–ŒÂŠ’ljÁ + skill_use_nodamage_id()ã®è©²å½“å€‹æ‰€è¿½åŠ + skill_status_change_start()ã®è©²å½“å€‹æ‰€è¿½åŠ clif.c - clif_updatestatus()‚Ìatk2‚Ȃǂ̈—’ljÁ - clif_initialstatus()‚Åatk2‚Ȃǂ̈µ‚¢•ÏXAaspd‚È‚Ç‘—M’ljÁ + clif_updatestatus()ã®atk2ãªã©ã®å‡¦ç†è¿½åŠ + clif_initialstatus()ã§atk2ãªã©ã®æ‰±ã„変更ã€aspdãªã©é€ä¿¡è¿½åŠ -E¸˜Bƒ_ƒ[ƒWC³/¸˜B–hŒäC³‚ª“K—p‚³‚ê‚Ü‚µ‚½ +・精錬ダメージ修æ£/精錬防御修æ£ãŒé©ç”¨ã•ã‚Œã¾ã—㟠(map/) pc.c - pc_calcstatus()‚Åwatk2‚Ædef‚̒ljÁŒvŽZ’ljÁ + pc_calcstatus()ã§watk2ã¨defã®è¿½åŠ è¨ˆç®—è¿½åŠ battle.c - battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚ɒljÁ + battle_calc_weapon_damage()ã§watk2をダメージã«è¿½åŠ -EinterŽI‚̃pƒPƒbƒg‰ðÍ•”‚Ì’v–½“I‚È–â‘肪C³‚³‚ê‚Ü‚µ‚½ - TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚¢‚¯‚È‚¢‚±‚Æ‚ð‚»‚Ì‚Ü‚Ü‚â‚Á‚Ä‚Ü‚µ‚½(Š¾ - interŽI‚̃pƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚悤‚ÉC³‚³‚ê‚Ü‚µ‚½B +・inter鯖ã®ãƒ‘ケット解æžéƒ¨ã®è‡´å‘½çš„ãªå•é¡ŒãŒä¿®æ£ã•ã‚Œã¾ã—㟠+ TCP/IPプãƒã‚°ãƒ©ãƒ ã§ã‚„ã£ã¦ã¯ã„ã‘ãªã„ã“ã¨ã‚’ãã®ã¾ã¾ã‚„ã£ã¦ã¾ã—ãŸ(æ±— + inter鯖ã®ãƒ‘ケット長データをinter.cã«æŒã¤ã‚ˆã†ã«ä¿®æ£ã•ã‚Œã¾ã—ãŸã€‚ (char/) inter.c/inter.h - ƒpƒPƒbƒg’·ƒf[ƒ^ inter_*_packet_length[] ‚ð’ljÁ - ƒpƒPƒbƒg’·ƒ`ƒFƒbƒN inter_check_length() ‚ð’ljÁ - mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX + パケット長データ inter_*_packet_length[] ã‚’è¿½åŠ + パケット長ãƒã‚§ãƒƒã‚¯ inter_check_length() ã‚’è¿½åŠ + mapif_parse_*()ã§RFIFOSKIPã‚’ãªã—ã«å¤‰æ›´ int_storage.c/int_storage.h - mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX + mapif_parse_*()ã§RFIFOSKIPã‚’ãªã—ã«å¤‰æ›´ int_party.c/int_guild.c - Žd—l•ÏX‚ɑΉž‚³‚¹‚½•ÏX - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ + 仕様変更ã«å¯¾å¿œã•ã›ãŸå¤‰æ›´ + INTER鯖パケット.txt + ãƒ‘ã‚±ãƒƒãƒˆé•·ãƒªã‚¹ãƒˆè¿½åŠ -E‚¿‚å‚Á‚Æ‚µ‚½C³ +・ã¡ã‚‡ã£ã¨ã—ãŸä¿®æ£ (char/) inter.h - inter_cfgName‚ð"conf/inter_athena.cnf"‚ÉC³ + inter_cfgNameã‚’"conf/inter_athena.cnf"ã«ä¿®æ£ char2.c - char.exe‘æ‚Qˆø”È—ªŽžAinter_cfgName‚ðŽg‚¤‚悤‚ÉC³ + char.exe第2引数çœç•¥æ™‚ã€inter_cfgNameを使ã†ã‚ˆã†ã«ä¿®æ£ (db/) cast_db.txt - ƒz[ƒŠ[ƒ‰ƒCƒg‚̉r¥ŽžŠÔ’ljÁiƒfƒBƒŒƒC‚Í“K“–j - Ú‚µ‚¢l’ljÁ‹‚Þ + ホーリーライトã®è© å”±æ™‚é–“è¿½åŠ ï¼ˆãƒ‡ã‚£ãƒ¬ã‚¤ã¯é©å½“) + 詳ã—ã„äººè¿½åŠ æ±‚ã‚€ ---------- -//0225 by ŒÓ’±—– +//0225 by 胡è¶è˜ -‚È‚ñ‚©‚©‚È‚è˜M‚è‚Ü‚µ‚½‚ª‘Š•Ï‚í‚炸ƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚Ü‚¹‚ñB +ãªã‚“ã‹ã‹ãªã‚Šå¼„ã‚Šã¾ã—ãŸãŒç›¸å¤‰ã‚らãšãƒ†ã‚¹ãƒˆã¯ã‚ã‚“ã¾ã‚Šã—ã¦ã¾ã›ã‚“。 -EƒXƒLƒ‹Žg—pŽž‚Ì•Ï”‚ð•ÏX - ‚æ‚Œ©‚½‚çʼn‚©‚ç—pˆÓ‚³‚ê‚Ä‚Ü‚µ‚½‚ËB +・スã‚ル使用時ã®å¤‰æ•°ã‚’変更 + よã見ãŸã‚‰æœ€åˆã‹ã‚‰ç”¨æ„ã•ã‚Œã¦ã¾ã—ãŸã。 map.h - struct map_session_data‚Ìcast_*‚ðíœ + struct map_session_dataã®cast_*を削除 skill.c - cast_*‚Ì•Ï”‚ðskill*‚É•ÏXB + cast_*ã®å¤‰æ•°ã‚’skill*ã«å¤‰æ›´ã€‚ -EƒXƒe[ƒ^ƒXˆÙíƒXƒLƒ‹‚̈—‚ð’ljÁiŒø‰Ê‚Í–¢ŽÀ‘•j - Œ©‚©‚¯ãAƒXƒe[ƒ^ƒXˆÙí‚ÉŠ|‚©‚Á‚½‚è‚Æ‚©‚¾‚¯B - Œø‰Ê‚Í‚Ü‚¾‚È‚µB +・ステータス異常スã‚ルã®å‡¦ç†ã‚’è¿½åŠ ï¼ˆåŠ¹æžœã¯æœªå®Ÿè£…) + 見ã‹ã‘上ã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã«æŽ›ã‹ã£ãŸã‚Šã¨ã‹ã ã‘。 + 効果ã¯ã¾ã ãªã—。 skill.c/skill.h - skill_status_change_start(),~end(),~timer(),~clear()’ljÁB - ‚»‚ꂼ‚êƒXƒe[ƒ^ƒXˆÙí‚ÌŠJŽnAI—¹Aƒ^ƒCƒ}ˆ—A‘SÁ‹ŽB + skill_status_change_start(),~end(),~timer(),~clear()è¿½åŠ ã€‚ + ãã‚Œãžã‚Œã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã®é–‹å§‹ã€çµ‚了ã€ã‚¿ã‚¤ãƒžå‡¦ç†ã€å…¨æ¶ˆåŽ»ã€‚ map.c/map.h - map_quit()‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B - struct map_session_data‚Ésc_data,sc_count’ljÁB - struct mob_data‚Ésc_data,sc_count,option,opt1,opt2’ljÁB + map_quit()ã§skill_status_change_clear()を呼ã¶ã‚ˆã†ã«ã—ãŸã€‚ + struct map_session_dataã«sc_data,sc_countè¿½åŠ ã€‚ + struct mob_dataã«sc_data,sc_count,option,opt1,opt2è¿½åŠ ã€‚ pc.c - pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B - pc_setoption‚Åclif_changeoption()‚̈ø”•ÏXB - pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + pc_authok()ã§sc_data,sc_countã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + pc_setoptionã§clif_changeoption()ã®å¼•æ•°å¤‰æ›´ã€‚ + pc_damage()ã§æ»äº¡æ™‚ã«skill_status_change_clear()を呼ã¶ã‚ˆã†ã«ã€‚ mob.c - mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B - mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B - mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + mob_spawn()ã§sc_data,sc_countã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + mob_attack()ã§battle_calc_damage()を呼ã¶ã‚ˆã†ã«ã—ãŸã€‚ + mob_damage()ã§æ»äº¡æ™‚ã«skill_status_change_clear()を呼ã¶ã‚ˆã†ã«ã€‚ battle.c/battle.h - battle_get_*()‚½‚‚³‚ñ’ljÁB - battle_calc_damage()’ljÁBÅI“I‚ȃ_ƒ[ƒWŒvŽZ—pB - battle_calc_magic_attack(),battle_calc_weapon_attack()‚Å - battle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + battle_get_*()ãŸãã•ã‚“è¿½åŠ ã€‚ + battle_calc_damage()è¿½åŠ ã€‚æœ€çµ‚çš„ãªãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—用。 + battle_calc_magic_attack(),battle_calc_weapon_attack()㧠+ battle_calc_damage()を呼ã¶ã‚ˆã†ã«ã—ãŸã€‚ clif.h/clif.c - clif_status_change()’ljÁBƒXƒe[ƒ^ƒXˆÙíƒAƒCƒRƒ“•\Ž¦—pB - clif_changeoption()‚̈ø”•ÏXB + clif_status_change()è¿½åŠ ã€‚ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤ºç”¨ã€‚ + clif_changeoption()ã®å¼•æ•°å¤‰æ›´ã€‚ atcommand.c - clif_changeoption()‚ðŒÄ‚ñ‚Å‚¢‚é‚Qƒ–Š‚ňø”•ÏXB - @die‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + clif_changeoption()を呼んã§ã„る2ヶ所ã§å¼•æ•°å¤‰æ›´ã€‚ + @dieã§skill_status_change_clear()を呼ã¶ã‚ˆã†ã«ã€‚ -Eƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚ÌK“¾ðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚é‚Ì‚ðC³B +・マグヌスエクソシズムã®ç¿’å¾—æ¡ä»¶ãŒé–“é•ã£ã¦ã„ã‚‹ã®ã‚’ä¿®æ£ã€‚ db/skill_tree.txt - ŠY“–ŒÂŠC³BiƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi‚Ì•K—vLv‚ð‚P‚Éj + 該当個所修æ£ã€‚(レックスエーテルナã®å¿…è¦Lvを1ã«ï¼‰ -EƒAƒNƒeƒBƒu‚È“G‚ÍUŒ‚‚·‚é‚Æ‚«ŽžXƒ^[ƒQƒbƒg‚ª•Ï‚í‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +・アクティブãªæ•µã¯æ”»æ’ƒã™ã‚‹ã¨ã時々ターゲットãŒå¤‰ã‚るよã†ã«ãªã‚Šã¾ã—㟠mob.c - mob_ai_sub_hard()‚ÌUŒ‚‚³‚ꂽ‚©Šm”F‚·‚é•”•ª‚É - ƒAƒNƒeƒBƒu‚È‚ç25%‚ÌŠm—¦‚Ń^[ƒQƒbƒg‚ª•Ï‚í‚é‚悤‚É•ÏXB + mob_ai_sub_hard()ã®æ”»æ’ƒã•ã‚ŒãŸã‹ç¢ºèªã™ã‚‹éƒ¨åˆ†ã« + アクティブãªã‚‰25%ã®ç¢ºçŽ‡ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãŒå¤‰ã‚るよã†ã«å¤‰æ›´ã€‚ -Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“AƒGƒiƒW[ƒR[ƒgAƒŒƒbƒNƒXƒG[ƒeƒ‹ƒiA - ƒz[ƒŠ[ƒ‰ƒCƒgAƒŠƒUƒŒƒNƒVƒ‡ƒ“Aƒ^[ƒ“ƒAƒ“ƒfƒbƒhAƒ‚ƒ“ƒXƒ^[î•ñ +・一部ã®ã‚¹ã‚ル効果ãŒå®Ÿè£…ã•ã‚Œã¾ã—㟠+ ã‚リエエレイソンã€ã‚¨ãƒŠã‚¸ãƒ¼ã‚³ãƒ¼ãƒˆã€ãƒ¬ãƒƒã‚¯ã‚¹ã‚¨ãƒ¼ãƒ†ãƒ«ãƒŠã€ + ホーリーライトã€ãƒªã‚¶ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¿ãƒ¼ãƒ³ã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ã€ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ± skill.c/skill.h - skill_castend_nodamage_id()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB - skill_castend_*_id()‚̈ø”‚ð•ÏX + skill_castend_nodamage_id()ã«ã‚¹ã‚ルã®å‡¦ç†ã‚’è¿½åŠ ã€‚ + skill_castend_*_id()ã®å¼•æ•°ã‚’変更 battle.c - battle_calc_damage()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB - battle_damage(),battle_heal()‚̈ø”•ÏX - battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ÏX + battle_calc_damage()ã«ã‚¹ã‚ルã®å‡¦ç†ã‚’è¿½åŠ ã€‚ + battle_damage(),battle_heal()ã®å¼•æ•°å¤‰æ›´ + battle_calc_weapon_damage(),battle_calc_magic_damage()引数変更 clif.c/clif.h - clif_skill_estimation()’ljÁBƒ‚ƒ“ƒXƒ^[î•ñ‘—M—p + clif_skill_estimation()è¿½åŠ ã€‚ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ±é€ä¿¡ç”¨ pc.c - battle_calc_weapon_damage()ŒÄ‚Ño‚µ‚̈ø”•ÏX + battle_calc_weapon_damage()呼ã³å‡ºã—ã®å¼•æ•°å¤‰æ›´ -Estorage.txt‚ª–³‚¢ê‡interŽI‚ª‹§I—¹‚·‚éŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ +・storage.txtãŒç„¡ã„å ´åˆinter鯖ãŒå¼·åˆ¶çµ‚了ã™ã‚‹ä»•æ§˜ã‚’変更ã—ã¾ã—㟠(char/) int_storage.c - inter_storage_init()‚Ńtƒ@ƒCƒ‹‚ª“Ç‚ß‚È‚¢‚Æexit‚µ‚Ä‚½‚Ì‚ðC³ + inter_storage_init()ã§ãƒ•ã‚¡ã‚¤ãƒ«ãŒèªã‚ãªã„ã¨exitã—ã¦ãŸã®ã‚’ä¿®æ£ ---------- //0224 -E2-2ŽŸE‚̃XƒLƒ‹‚ðƒcƒŠ[‚ɒljÁ‚µ‚Ü‚µ‚½iŽÀ‘•‚Í‚Ü‚¾‚Å‚·j +・2-2次è·ã®ã‚¹ã‚ルをツリーã«è¿½åŠ ã—ã¾ã—ãŸï¼ˆå®Ÿè£…ã¯ã¾ã ã§ã™ï¼‰ (db/) skill_db.txt skill_tree.txt ---------- -//0223 by ŒÓ’±—– -EƒJƒvƒ‰‘qŒÉ‚ðinterŽI‚ɑΉž‚³‚¹‚Ü‚µ‚½ - ‚¢‚Ü‚Ü‚Å‚Ìstorage.txt‚Í‚»‚Ì‚Ü‚ÜŽg‚¦‚Ü‚·B - interŽI—p‚ÌÝ’èƒtƒ@ƒCƒ‹‚Æ‚µ‚Äconf/inter_athena.cnf‚ðŽg‚¢‚Ü‚·B - iÝ’èƒtƒ@ƒCƒ‹‚Íchar.exe‚Ì‘æ‚Qˆø”‚Å‘¼‚̃tƒ@ƒCƒ‹‚ðŽw’è‚Å‚«‚Ü‚·j +//0223 by 胡è¶è˜ +・カプラ倉庫をinter鯖ã«å¯¾å¿œã•ã›ã¾ã—㟠+ ã„ã¾ã¾ã§ã®storage.txtã¯ãã®ã¾ã¾ä½¿ãˆã¾ã™ã€‚ + inter鯖用ã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦conf/inter_athena.cnfを使ã„ã¾ã™ã€‚ + (è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯char.exeã®ç¬¬ï¼’引数ã§ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã§ãã¾ã™ï¼‰ - ƒJƒvƒ‰‘qŒÉ‚ÌinterŽIŽÀ‘•‚ÌŠT—v + カプラ倉庫ã®inter鯖実装ã®æ¦‚è¦ - interŽI‚Ístorage.txt‚Ì‘Sƒf[ƒ^‚ðŽ‚ÂBmapŽI‚̓AƒJƒEƒ“ƒg‚ª—v‹‚·‚é‚Ü‚Å - ‚»‚̃AƒJƒEƒ“ƒg‚Ì‘qŒÉƒf[ƒ^‚ðŽ‚½‚È‚¢BƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç‘qŒÉ‚ðŠJ‚—v‹‚ª - ‚ ‚Á‚½‚Æ‚«AmapŽI‚͑Ήž‚·‚éƒAƒJƒEƒ“ƒg‚Ì‘qŒÉƒf[ƒ^‚ðinterŽI‚É—v‹‚·‚éB - interŽI‚©‚çƒf[ƒ^‚ª“Í‚‚ƃNƒ‰ƒCƒAƒ“ƒg‚É‘qŒÉƒf[ƒ^‚ð‘—‚éB - ‘qŒÉ‚Ìo‚µ“ü‚ê‚̓Nƒ‰ƒCƒAƒ“ƒg‚ÆmapŽIŠÔ‚Ì’ÊM‚¾‚¯‚Ås‚í‚ê‚éB - ƒNƒ‰ƒCƒAƒ“ƒg‚ª‘qŒÉ‚ð•Â‚¶‚é‚©I—¹‚·‚é‚ÆAmapŽI‚ÍŠY“–ƒAƒJƒEƒ“ƒg‚Ì - ‘qŒÉƒf[ƒ^‚ðinterŽI‚É‘—‚éB‚±‚Ì‚Æ‚«interŽI‚̉ž“š‚ð‘Ò‚½‚¸‚ɃNƒ‰ƒCƒAƒ“ƒg‚É - ‘qŒÉƒNƒ[ƒY‚ð‘—‚éBinterŽI‚Í‘qŒÉƒf[ƒ^‚ðŽó‚¯Žæ‚é‚ÆA - ‘Sˆõ•ª‚̃f[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚µ‚ÄAmapŽI‚ɬŒ÷ƒXƒe[ƒ^ƒX‚ð•Ô‚·B - mapŽI‚ͬŒ÷ƒXƒe[ƒ^ƒX‚𖳎‹‚·‚éB(ƒfƒoƒbƒO—p‚ɉæ–Ê‚Éo—Í‚·‚邾‚¯) - interŽII—¹Žž‚É‚à‘qŒÉƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚éB - - mapŽI‚Åaccount2storage‚ÅV‚µ‚¢‘qŒÉƒf[ƒ^‚ðì‚é‚Æ‚«A - ‚·‚łɕ‚¶‚ç‚ê‚Ä‚¢‚é‘qŒÉƒf[ƒ^‚̃ƒ‚ƒŠ‚ðŽg‚¢‚܂킵‚½‚Ù‚¤‚ªƒƒ‚ƒŠ‚ª - ß–ñ‚Å‚«‚é‚©‚àHi‚±‚ê‚ÍŽÀ‘•‚µ‚Ä‚¢‚Ü‚¹‚ñj + inter鯖ã¯storage.txtã®å…¨ãƒ‡ãƒ¼ã‚¿ã‚’æŒã¤ã€‚map鯖ã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒè¦æ±‚ã™ã‚‹ã¾ã§ + ãã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®å€‰åº«ãƒ‡ãƒ¼ã‚¿ã‚’æŒãŸãªã„。クライアントã‹ã‚‰å€‰åº«ã‚’é–‹ãè¦æ±‚㌠+ ã‚ã£ãŸã¨ãã€map鯖ã¯å¯¾å¿œã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®å€‰åº«ãƒ‡ãƒ¼ã‚¿ã‚’inter鯖ã«è¦æ±‚ã™ã‚‹ã€‚ + inter鯖ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå±Šãã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å€‰åº«ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚‹ã€‚ + 倉庫ã®å‡ºã—入れã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨map鯖間ã®é€šä¿¡ã ã‘ã§è¡Œã‚れる。 + クライアントãŒå€‰åº«ã‚’é–‰ã˜ã‚‹ã‹çµ‚了ã™ã‚‹ã¨ã€map鯖ã¯è©²å½“アカウント㮠+ 倉庫データをinter鯖ã«é€ã‚‹ã€‚ã“ã®ã¨ãinter鯖ã®å¿œç”ã‚’å¾…ãŸãšã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« + 倉庫クãƒãƒ¼ã‚ºã‚’é€ã‚‹ã€‚inter鯖ã¯å€‰åº«ãƒ‡ãƒ¼ã‚¿ã‚’å—ã‘å–ã‚‹ã¨ã€ + 全員分ã®ãƒ‡ãƒ¼ã‚¿ã‚’ファイルã«ä¿å˜ã—ã¦ã€map鯖ã«æˆåŠŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã™ã€‚ + map鯖ã¯æˆåŠŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’無視ã™ã‚‹ã€‚(デãƒãƒƒã‚°ç”¨ã«ç”»é¢ã«å‡ºåŠ›ã™ã‚‹ã ã‘) + inter鯖終了時ã«ã‚‚倉庫データをファイルã«ä¿å˜ã™ã‚‹ã€‚ + + map鯖ã§account2storageã§æ–°ã—ã„倉庫データを作るã¨ã〠+ ã™ã§ã«é–‰ã˜ã‚‰ã‚Œã¦ã„る倉庫データã®ãƒ¡ãƒ¢ãƒªã‚’使ã„ã¾ã‚ã—ãŸã»ã†ãŒãƒ¡ãƒ¢ãƒªãŒ + 節約ã§ãã‚‹ã‹ã‚‚?(ã“ã‚Œã¯å®Ÿè£…ã—ã¦ã„ã¾ã›ã‚“) (common/) mmo.h - struct storage ‚ð map/storage.h ‚©‚çˆÚ“®B - interŽI‚ÆmapŽI—¼•û‚ÅŽg—p‚·‚邽‚ßB + struct storage ã‚’ map/storage.h ã‹ã‚‰ç§»å‹•ã€‚ + inter鯖ã¨map鯖両方ã§ä½¿ç”¨ã™ã‚‹ãŸã‚。 (char/) char2.c - do_final()‚ðì¬AI—¹Žž‚Émmo_char_sync()ˆÈŠO‚Éinter_save()‚ð - ŒÄ‚Ԃ悤‚É‚µ‚½i‚±‚ê‚Åinter_*_save()‚Í‘S•”ŒÄ‚΂ê‚Ü‚·j - inter_init()‚ðchar.exe‚Ì‘æ‚Qˆø”‚à‚µ‚‚Í"conf/inter.cnf"‚Å - ŒÄ‚Ԃ悤‚É‚µ‚½iathena.sh‚ÉinterŽIƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚ðŽw’è‚Å‚«‚Ü‚·j + do_final()を作æˆã€çµ‚了時ã«mmo_char_sync()以外ã«inter_save()ã‚’ + 呼ã¶ã‚ˆã†ã«ã—ãŸï¼ˆã“ã‚Œã§inter_*_save()ã¯å…¨éƒ¨å‘¼ã°ã‚Œã¾ã™ï¼‰ + inter_init()ã‚’char.exeã®ç¬¬ï¼’引数もã—ãã¯"conf/inter.cnf"㧠+ 呼ã¶ã‚ˆã†ã«ã—ãŸï¼ˆathena.shã«inter鯖コンフィグファイルを指定ã§ãã¾ã™ï¼‰ inter.c/inter.h inter_storage_init(),inter_storage_save(), - inter_storage_parse_frommap()‚ðŒÄ‚Ԃ悤‚ÉB - inter_init()‚ɃRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹–¼‚̈ø”‚ð•t‚¯‚½B - inter_config_read()’ljÁAƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚©‚ç - ‘qŒÉ‚ƃp[ƒeƒB[AƒMƒ‹ƒh‚̃tƒ@ƒCƒ‹–¼‚ð“Ç‚Ýž‚Ý‚Ü‚·B + inter_storage_parse_frommap()を呼ã¶ã‚ˆã†ã«ã€‚ + inter_init()ã«ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ•ã‚¡ã‚¤ãƒ«åã®å¼•æ•°ã‚’付ã‘ãŸã€‚ + inter_config_read()è¿½åŠ ã€ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ + 倉庫ã¨ãƒ‘ーティーã€ã‚®ãƒ«ãƒ‰ã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’èªã¿è¾¼ã¿ã¾ã™ã€‚ int_storage.c/int_storage.h - V‹K’ljÁB‘qŒÉ•”•ª‚ÌinterŽI‹@”\B + æ–°è¦è¿½åŠ 。倉庫部分ã®inter鯖機能。 int_party.h/int_party.c/int_guild.h/int_guild.c/ - ƒtƒ@ƒCƒ‹–¼•Ï”‚Ì錾’ljÁ - INTERŽIƒpƒPƒbƒg.txt - ‘qŒÉƒpƒPƒbƒg‚̉ðà’ljÁ + ファイルå変数ã®å®£è¨€è¿½åŠ + INTER鯖パケット.txt + 倉庫パケットã®è§£èª¬è¿½åŠ (map/) storage.h/storage.c - storage_fromstr(),storage_tostr()‚ðchar/int_storage.c‚Ɉړ®B - “¯‚¶‚do_init,do_final‚ł̃tƒ@ƒCƒ‹ˆ—‚àˆÚ“®B - do_final()‚͈—‚È‚µAdo_init()‚Í•Ï”‰Šú‰»‚Ì‚Ý‚É•ÏXB - storage_storageopen()‚Å‚Í’P‚Éintif_request_storage()‚ðŒÄ‚Ô‚¾‚¯‚ÉB - storage_storageclose()‚Éintif_send_storage()‚ð’ljÁ - storage_storage_quitsave()’ljÁBƒNƒ‰ƒCƒAƒ“ƒgI—¹Žž‚É - ƒJƒvƒ‰‘qŒÉ‚ªŠJ‚¢‚Ä‚¢‚ê‚Îintif_send_storage()‚ðŒÄ‚ÔŠÖ”B + storage_fromstr(),storage_tostr()ã‚’char/int_storage.cã«ç§»å‹•ã€‚ + åŒã˜ãdo_init,do_finalã§ã®ãƒ•ã‚¡ã‚¤ãƒ«å‡¦ç†ã‚‚移動。 + do_final()ã¯å‡¦ç†ãªã—ã€do_init()ã¯å¤‰æ•°åˆæœŸåŒ–ã®ã¿ã«å¤‰æ›´ã€‚ + storage_storageopen()ã§ã¯å˜ã«intif_request_storage()を呼ã¶ã ã‘ã«ã€‚ + storage_storageclose()ã«intif_send_storage()ã‚’è¿½åŠ + storage_storage_quitsave()è¿½åŠ ã€‚ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆçµ‚äº†æ™‚ã« + カプラ倉庫ãŒé–‹ã„ã¦ã„ã‚Œã°intif_send_storage()を呼ã¶é–¢æ•°ã€‚ intif.h/intif.c intif_parse_LoadStorage(),intif_parse_SaveStorage(), - intif_send_storage(),intif_request_storage()’ljÁ + intif_send_storage(),intif_request_storage()è¿½åŠ map.c - map_quit()‚Åstorage_storage_quitsave()‚ðŒÄ‚Ԃ悤‚ÉB + map_quit()ã§storage_storage_quitsave()を呼ã¶ã‚ˆã†ã«ã€‚ (conf/) inter_athena.cnf - V‹K’ljÁBinterŽI—p‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ + æ–°è¦è¿½åŠ 。inter鯖用ã®ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¤ãƒ« ---------- -//0221 by ŒÓ’±—– +//0221 by 胡è¶è˜ -EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ÌID‚ª³‚µ‚Š“¾‚Å‚«‚È‚¢–â‘èC³ +・スã‚ルターゲットã®IDãŒæ£ã—ã所得ã§ããªã„å•é¡Œä¿®æ£ clif.c - clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚µ‚Ĉµ‚Á‚Ä‚½‚Ì‚ðLONG‚ÉC³ + clif_parse_UseSkillToId()ã§IDã‚’WORDã¨ã—ã¦æ‰±ã£ã¦ãŸã®ã‚’LONGã«ä¿®æ£ -EƒXƒLƒ‹‰r¥ŽžŠÔ‚Æ‘®«•\A‚¨‚æ‚Ñ–‚–@ŒnƒXƒLƒ‹‚Ì‘®«C³ŽÀ‘• - ‘®«ƒ_ƒ[ƒWC³‚Í battle_attr_fix() ‚ÅŒvŽZ‚µ‚Ü‚·B - atk_elem‚Í‘®«‚»‚Ì‚Ü‚ÜAdef_elem‚Íi‘®«lv*20{‘®«j‚Å‚·B - ‰r¥ŽžŠÔ‚Ískill.c‚ÌCASTFIX‚Ì’l‚ð•Ï‚¦‚邱‚Æ‚Å”{—¦‚ð’²®‚Å‚«‚Ü‚· +・スã‚ãƒ«è© å”±æ™‚é–“ã¨å±žæ€§è¡¨ã€ãŠã‚ˆã³é”法系スã‚ルã®å±žæ€§ä¿®æ£å®Ÿè£… + 属性ダメージ修æ£ã¯ battle_attr_fix() ã§è¨ˆç®—ã—ã¾ã™ã€‚ + atk_elemã¯å±žæ€§ãã®ã¾ã¾ã€def_elemã¯ï¼ˆå±žæ€§lv*20+属性)ã§ã™ã€‚ + è© å”±æ™‚é–“ã¯skill.cã®CASTFIXã®å€¤ã‚’変ãˆã‚‹ã“ã¨ã§å€çŽ‡ã‚’調整ã§ãã¾ã™ pc.c - pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ì“Ç‚Ýž‚ݒljÁ + pc_readdb()ã§cast_db.txtã¨attr_fix.txtã®èªã¿è¾¼ã¿è¿½åŠ skill.c/skill.h - struct skill_db ‚Écast,delay’ljÁA‚»‚ê‚ç‚̃AƒNƒZƒT‚à’ljÁ - ƒXƒLƒ‹‰r¥ŽžŠÔ‚ð skill_get_cast() ‚ÅŠ“¾‚·‚é‚悤‚É‚µ‚½ + struct skill_db ã«cast,delayè¿½åŠ ã€ãれらã®ã‚¢ã‚¯ã‚»ã‚µã‚‚è¿½åŠ + スã‚ãƒ«è© å”±æ™‚é–“ã‚’ skill_get_cast() ã§æ‰€å¾—ã™ã‚‹ã‚ˆã†ã«ã—㟠battle.c/battle.h - attr_fix_table’è‹` - battle_attr_fix()’ljÁA‘®«C³‚ðŒvŽZ‚·‚é - ‘®«ŒnƒAƒNƒZƒT(battle_get_element()‚È‚Ç)‚ð’ljÁ - battle_calc_magic_damage()‚É‘®«C³‚ð’ljÁ + attr_fix_table定義 + battle_attr_fix()è¿½åŠ ã€å±žæ€§ä¿®æ£ã‚’計算ã™ã‚‹ + 属性系アクセサ(battle_get_element()ãªã©)ã‚’è¿½åŠ + battle_calc_magic_damage()ã«å±žæ€§ä¿®æ£ã‚’è¿½åŠ cast_db.txt - V‹K’ljÁB‰r¥ŽžŠÔ‚ƃfƒBƒŒƒC‚̃f[ƒ^ƒx[ƒX - ‘S‘R‘«‚è‚È‚¢‚Ì‚ÅA’N‚©’ljÁŠó–]B + æ–°è¦è¿½åŠ ã€‚è© å”±æ™‚é–“ã¨ãƒ‡ã‚£ãƒ¬ã‚¤ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ + 全然足りãªã„ã®ã§ã€èª°ã‹è¿½åŠ 希望。 attr_fix.txt - V‹K’ljÁB‘®«C³ƒe[ƒuƒ‹ + æ–°è¦è¿½åŠ 。属性修æ£ãƒ†ãƒ¼ãƒ–ル -Eƒq[ƒ‹‚ÌŽÀ‘• +・ヒールã®å®Ÿè£… clif.c/clif.h - clif_skill_nodamage()’ljÁAŽx‰‡Œn‚â‰ñ•œ‚̃GƒtƒFƒNƒg + clif_skill_nodamage()è¿½åŠ ã€æ”¯æ´ç³»ã‚„回復ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆ skill.c/skill.h - skill_castend_damage_id()Askill_castend_nodamage_id()’ljÁA - UŒ‚Œn‚ÆŽx‰‡/‰ñ•œŒn‚ÅŠÖ”‚𕪂¯‚½ - ƒq[ƒ‹ŒvŽZƒ}ƒNƒ skill_calc_heal() ’ljÁ + skill_castend_damage_id()ã€skill_castend_nodamage_id()è¿½åŠ ã€ + 攻撃系ã¨æ”¯æ´/回復系ã§é–¢æ•°ã‚’分ã‘㟠+ ヒール計算マクムskill_calc_heal() è¿½åŠ battle.c - battle_calc_magic_damage()‚Ńq[ƒ‹‚̃_ƒ[ƒWŒvŽZ’ljÁ + battle_calc_magic_damage()ã§ãƒ’ールã®ãƒ€ãƒ¡ãƒ¼ã‚¸è¨ˆç®—è¿½åŠ ---------- -//0220 by ‚ê‚ +//0220 by れ゠-0216‚ÌC³ -HIT‚ÌŒvŽZ‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ÅC³‚µ‚Ä‚Ý‚Ü‚µ‚½B -ŠÔˆá‚Á‚Ä‚½‚炲‚ß‚ñ‚È‚³‚¢B +0216ã®ä¿®æ£ +HITã®è¨ˆç®—ãŒãŠã‹ã—ã‹ã£ãŸã®ã§ä¿®æ£ã—ã¦ã¿ã¾ã—ãŸã€‚ +é–“é•ã£ã¦ãŸã‚‰ã”ã‚ã‚“ãªã•ã„。 -Ebattle.c - 256s–Ú‚Ì +・battle.c + 256行目㮠hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80; - ‚ª‚½‚Ô‚ñAŽ©•ª‚Ì‚g‚h‚s‚ÆŽ©•ª‚Ì‚e‚k‚d‚d‚ÅŒvŽZ‚µ‚Ä‚é‹C‚ª‚·‚é‚Ì‚Å + ãŒãŸã¶ã‚“ã€è‡ªåˆ†ã®ï¼¨ï¼©ï¼´ã¨è‡ªåˆ†ã®ï¼¦ï¼¬ï¼¥ï¼¥ã§è¨ˆç®—ã—ã¦ã‚‹æ°—ãŒã™ã‚‹ã®ã§ hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80; - ‚ÉC³‚µ‚Ü‚µ‚½B + ã«ä¿®æ£ã—ã¾ã—ãŸã€‚ ---------- -//0218 by ŒÓ’±—– +//0218 by 胡è¶è˜ -ŽÀÛ‚É•ªŽU‚³‚¹‚ăeƒXƒg‚µ‚Ä‚¢‚È‚©‚Á‚½‚èB +実際ã«åˆ†æ•£ã•ã›ã¦ãƒ†ã‚¹ãƒˆã—ã¦ã„ãªã‹ã£ãŸã‚Šã€‚ -EmapŽI•ªŽUˆ——p‚ÉinterŽI‹@”\‚ð‚‚¯‚Ä‚Ý‚éi¡Œã‚Ì‚½‚ß‚ÌŠg’£j - charŽI‚ÉinterŽI‚ðŠñ¶‚³‚¹‚Ü‚µ‚½B•¡”‚ÌmapŽIŠÔ‚Ì’ÊM‚É—˜—p‚µ‚Ü‚·B - mapŽI‚𕪎U‚µ‚Ĉ—‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚Ì‹@”\‚Å‚·B - ¡Œãparty‚âguildŽÀ‘•Žž‚É‚«‚Á‚Æ–ð‚É‚½‚Á‚Ä‚‚ê‚é‚©‚ÆB +・map鯖分散処ç†ç”¨ã«inter鯖機能をã¤ã‘ã¦ã¿ã‚‹ï¼ˆä»Šå¾Œã®ãŸã‚ã®æ‹¡å¼µï¼‰ + char鯖ã«inter鯖を寄生ã•ã›ã¾ã—ãŸã€‚複数ã®map鯖間ã®é€šä¿¡ã«åˆ©ç”¨ã—ã¾ã™ã€‚ + map鯖を分散ã—ã¦å‡¦ç†ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã®æ©Ÿèƒ½ã§ã™ã€‚ + 今後partyã‚„guild実装時ã«ãã£ã¨å½¹ã«ãŸã£ã¦ãれるã‹ã¨ã€‚ - ‘qŒÉ‚ÌŽÀ‘•‚àinterŽI‚Ɉړ®‚·‚ׂ«‚©‚à‚µ‚ê‚Ü‚¹‚ñB - ‚ǂ̃Lƒƒƒ‰ƒNƒ^[‚ª‚Ç‚ÌmapŽI‚É‚¢‚é‚©ŒŸõ‚·‚é‹@”\‚à‚¢‚é‚©‚àB + 倉庫ã®å®Ÿè£…ã‚‚inter鯖ã«ç§»å‹•ã™ã¹ãã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã©ã®ã‚ャラクターãŒã©ã®map鯖ã«ã„ã‚‹ã‹æ¤œç´¢ã™ã‚‹æ©Ÿèƒ½ã‚‚ã„ã‚‹ã‹ã‚‚。 - Žg‚¤ƒpƒPƒbƒg‚ÌID‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚· - mapŽI=>interŽI‚̓pƒPƒbƒg0x3000` - interŽI=>mapŽI‚̓pƒPƒbƒg0x3800` - ƒpƒPƒbƒg‚ðì‚Á‚½ê‡‚ÍAINTERŽIƒpƒPƒbƒg.txt‚É‘‚¢‚Ä‚‚¾‚³‚¢ + 使ã†ãƒ‘ケットã®IDã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ + map鯖=>inter鯖ã¯ãƒ‘ケット0x3000〜 + inter鯖=>map鯖ã¯ãƒ‘ケット0x3800〜 + パケットを作ã£ãŸå ´åˆã¯ã€INTER鯖パケット.txtã«æ›¸ã„ã¦ãã ã•ã„ - ‚±‚Ì‹@”\‚É‚æ‚郃Šƒbƒg - mapŽI•ªŽU‚É‚à‘Ήž‚Å‚«‚é - ‚±‚Ì‹@”\‚É‚æ‚éƒfƒƒŠƒbƒg - interŽIŒo—R‚Ì‘S‚Ä‚Ì–½—ß‚Ì“®ì‘¬“x‚ª—Ž‚¿‚é - iˆê‰ñinterŽI‚Ü‚Å“n‚·‚½‚ßj - ŽI‚ƃNƒ‰ƒCƒAƒ“ƒg‚𓯂¶PC‚ÅŽg‚Á‚Ä‚¢‚é‚Ƃ‚炢‚©‚à + ã“ã®æ©Ÿèƒ½ã«ã‚ˆã‚‹ãƒ¡ãƒªãƒƒãƒˆ + map鯖分散ã«ã‚‚対応ã§ãã‚‹ + ã“ã®æ©Ÿèƒ½ã«ã‚ˆã‚‹ãƒ‡ãƒ¡ãƒªãƒƒãƒˆ + inter鯖経由ã®å…¨ã¦ã®å‘½ä»¤ã®å‹•ä½œé€Ÿåº¦ãŒè½ã¡ã‚‹ + (一回inter鯖ã¾ã§æ¸¡ã™ãŸã‚) + 鯖ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’åŒã˜PCã§ä½¿ã£ã¦ã„ã‚‹ã¨ã¤ã‚‰ã„ã‹ã‚‚ (char/) char2.c/char.h - mapif_sendall()’ljÁi‘SMAPŽI‚ɃpƒPƒbƒg‚ð‘—‚éj - mapif_send()’ljÁi“Á’èMAPŽI‚É‘—‚éF¶‘¶”»’è•t‚«j - parse_frommap()‚Åinter_parse_frommap()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ - (interŽI‚ÌmapŽI‰ðÍ•”‚ðcharŽI‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + mapif_sendall()è¿½åŠ ï¼ˆå…¨MAP鯖ã«ãƒ‘ケットをé€ã‚‹ï¼‰ + mapif_send()è¿½åŠ ï¼ˆç‰¹å®šMAP鯖ã«é€ã‚‹ï¼šç”Ÿå˜åˆ¤å®šä»˜ã) + parse_frommap()ã§inter_parse_frommap()を呼ã¶ã‚ˆã†ã«ã—㟠+ (inter鯖ã®map鯖解æžéƒ¨ã‚’char鯖ã«å¯„生ã•ã›ãŸã“ã¨ã«ãªã‚‹) inter.h/inter.c - V‹K’ljÁBinterŽI‚Ì’†ŠjB - inter_parse_frommap‚ÅMAPŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B + æ–°è¦è¿½åŠ 。inter鯖ã®ä¸æ ¸ã€‚ + inter_parse_frommapã§MAP鯖ã‹ã‚‰ã®ãƒ‘ケットを解æžã—ã¾ã™ã€‚ int_party.h/int_party.c/int_guild.h/int_guild.c - V‹K’ljÁB¡Œã‚Ì‚½‚ß‚Ì—\–ñBƒp[ƒeƒB‚âƒMƒ‹ƒh‹@”\—p - init‚Ńf[ƒ^‚ð“Ç‚ñ‚ÅAsave‚Å•Û‘¶‚·‚ׂ«H - save‚Í‚Ü‚¾ŒÄ‚΂ê‚È‚¢Bparse‚ŃpƒPƒbƒg‰ðÍB - common/mmo.h‚ ‚½‚è‚Ńp[ƒeƒB[‚âƒMƒ‹ƒh‚Ì\‘¢‘Ì‚ð - ’è‹`‚·‚é•K—v‚ª‚ ‚é‚ÆŽv‚í‚ê‚éB - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg‚̃ŠƒXƒg + æ–°è¦è¿½åŠ 。今後ã®ãŸã‚ã®äºˆç´„。パーティやギルド機能用 + initã§ãƒ‡ãƒ¼ã‚¿ã‚’èªã‚“ã§ã€saveã§ä¿å˜ã™ã¹ã? + saveã¯ã¾ã 呼ã°ã‚Œãªã„。parseã§ãƒ‘ケット解æžã€‚ + common/mmo.hã‚ãŸã‚Šã§ãƒ‘ーティーやギルドã®æ§‹é€ 体を + 定義ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨æ€ã‚れる。 + INTER鯖パケット.txt + パケットã®ãƒªã‚¹ãƒˆ (map/) intif.h/intif.c - interŽI‚Æ’ÊM‚·‚é•”•ªB - inter_parse()‚ÅinterŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B - interŽI‚Öƒf[ƒ^‚ð‘—‚é‚Æ‚«‚Íinter_fd‚ðŽg‚¢‚Ü‚·B + inter鯖ã¨é€šä¿¡ã™ã‚‹éƒ¨åˆ†ã€‚ + inter_parse()ã§inter鯖ã‹ã‚‰ã®ãƒ‘ケットを解æžã—ã¾ã™ã€‚ + inter鯖ã¸ãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚‹ã¨ãã¯inter_fdを使ã„ã¾ã™ã€‚ chrif.h/chrif.c - chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ - iintif.c‚ÌinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + chrif_parse()ã§inter_parse()を呼ã¶ã‚ˆã†ã«ã—㟠+ (intif.cã®inter鯖解æžéƒ¨ã‚’char鯖解æžéƒ¨ã«å¯„生ã•ã›ãŸã“ã¨ã«ãªã‚‹) -E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚É•ÏX - Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· - ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg +・@kamiコマンドをinter鯖経由ã«å¤‰æ›´ + 原ç†ã¨ã—ã¦ã¯æ¬¡ã®ã‚ˆã†ãªæ„Ÿã˜ã§ã™ + クライアントï¼ï¼žmap鯖ï¼ï¼žinter鯖ï¼ï¼žå…¨map鯖ï¼ï¼žå…¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ (char/) inter.c - mapif_GMmessage()’ljÁ + mapif_GMmessage()è¿½åŠ (map/) intif.h/intif.c - intif_GMmessage()’ljÁ - intif_parse‚ÅGMƒƒbƒZ[ƒW‚̈—‚ð’ljÁ + intif_GMmessage()è¿½åŠ + intif_parseã§GMメッセージã®å‡¦ç†ã‚’è¿½åŠ clif.c/clif.h - clif_GMmessage()‚̈ø”‚ð•ÏX + clif_GMmessage()ã®å¼•æ•°ã‚’変更 atcommand.c - @kami•”•ª‚Åintif_GMmessage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + @kami部分ã§intif_GMmessage()を呼ã¶ã‚ˆã†ã«ã—㟠-EWis‚ðinterŽIŒo—R‚É•ÏX - Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· +・Wisã‚’inter鯖経由ã«å¤‰æ›´ + 原ç†ã¨ã—ã¦ã¯æ¬¡ã®ã‚ˆã†ãªæ„Ÿã˜ã§ã™ - ‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg„‘—‚èŽåmapŽI„interŽI„‘Sƒ}ƒbƒvŽI„(•ªŠòA) - [•ªŠòA] - 1.‘ŠŽè‚Ìl‚¢‚émapŽI„‘ŠŽè‚̃Nƒ‰ƒCƒAƒ“ƒg - @@@@V@@ @„interŽI„‘—‚èŽåmapŽI„‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg - 2.‘ŠŽè‚Ì‚¢‚È‚¢mapŽI„interŽIi•ªŠòBj - [•ªŠòB] - 1.‘SmapŽI‚ª‰ž“š‚µ‚½interŽI „‘—‚èŽåmapŽI„‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg - 2.(‘S•”‚͉ž“š‚µ‚Ä‚È‚¢‚Æ‚«‚ÍA‘SmapŽI‚̉ž“š‚ð‘Ò‚Â) + é€ã‚Šä¸»ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆï¼ï¼žé€ã‚Šä¸»map鯖ï¼ï¼žinter鯖ï¼ï¼žå…¨ãƒžãƒƒãƒ—鯖ï¼ï¼ž(分å²A) + [分å²A] + 1.相手ã®äººã„ã‚‹map鯖ï¼ï¼žç›¸æ‰‹ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ +     〃    ï¼ï¼žinter鯖ï¼ï¼žé€ã‚Šä¸»map鯖ï¼ï¼žé€ã‚Šä¸»ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ + 2.相手ã®ã„ãªã„map鯖ï¼ï¼žinter鯖(分å²B) + [分å²B] + 1.å…¨map鯖ãŒå¿œç”ã—ãŸinter鯖 ï¼ï¼žé€ã‚Šä¸»map鯖ï¼ï¼žé€ã‚Šä¸»ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ + 2.(全部ã¯å¿œç”ã—ã¦ãªã„ã¨ãã¯ã€å…¨map鯖ã®å¿œç”ã‚’å¾…ã¤) - ‚à‚Ì‚·‚²‚¢•¡ŽG‚É‚È‚Á‚Ä‚Ü‚·‚ËB + ã‚‚ã®ã™ã”ã„複雑ã«ãªã£ã¦ã¾ã™ã。 (char/) inter.c - struct WisList ’è‹`iWisƒf[ƒ^‚̃Šƒ“ƒNƒŠƒXƒgj + struct WisList 定義(Wisデータã®ãƒªãƒ³ã‚¯ãƒªã‚¹ãƒˆï¼‰ add_wislist(),del_wislist(),search_wislist(), - check_ttl_wislist()’ljÁ,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆµ‚¤ŠÖ”ŒQ - mapif_wis_message(),mapif_wis_end()’ljÁ + check_ttl_wislist()è¿½åŠ ,リンクリストを扱ã†é–¢æ•°ç¾¤ + mapif_wis_message(),mapif_wis_end()è¿½åŠ (map/) intif.h/intif.c - intif_wis_message(),intif_wis_end()’ljÁ - intif_parse_WisMessage()’ljÁ,intif_parse()‚©‚çŒÄ‚΂ê‚é‚悤‚É + intif_wis_message(),intif_wis_end()è¿½åŠ + intif_parse_WisMessage()è¿½åŠ ,intif_parse()ã‹ã‚‰å‘¼ã°ã‚Œã‚‹ã‚ˆã†ã« clif.c/clif.h - clif_wis_message(),clif_wis_end()’ljÁ - clif_parse_Wis()‚ð•ÏX,intif_wis_message()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + clif_wis_message(),clif_wis_end()è¿½åŠ + clif_parse_Wis()を変更,intif_wis_message()を呼ã¶ã‚ˆã†ã«ã—㟠-EƒXƒLƒ‹Žg—pŽž‚̃qƒbƒg”/Á”ïSPŠ“¾‚̃oƒOC³ +・スã‚ル使用時ã®ãƒ’ット数/消費SP所得ã®ãƒã‚°ä¿®æ£ skill.c - skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ñƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚µ‚½ + skill_get_sp(),skill_get_num()ã§å‚ç…§ã™ã‚‹é…列インデックスをlv-1ã«ã—㟠---------- -//0216 by ŒÓ’±—– +//0216 by 胡è¶è˜ -‚¢‚‚à‚Ç‚¨‚èƒeƒXƒg‚Ù‚Æ‚ñ‚Ç‚µ‚Ä‚È‚¢‚Ì‚ÅAƒoƒO‘å—Ê‚©‚àB +ã„ã¤ã‚‚ã©ãŠã‚Šãƒ†ã‚¹ãƒˆã»ã¨ã‚“ã©ã—ã¦ãªã„ã®ã§ã€ãƒã‚°å¤§é‡ã‹ã‚‚。 -E0213‚ÌC³H‚Ì‚æ‚‚í‚©‚ç‚È‚¢‚Æ‚±‚ëC³ +・0213ã®ä¿®æ£ï¼Ÿã®ã‚ˆãã‚ã‹ã‚‰ãªã„ã¨ã“ã‚ä¿®æ£ itemdb.c - ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢‚Ì‚Åitemdb_equipoint‚̈ø”ƒŠƒXƒg•ÏX + コンパイルãŒé€šã‚‰ãªã„ã®ã§itemdb_equipointã®å¼•æ•°ãƒªã‚¹ãƒˆå¤‰æ›´ -EAthena dev 2.1.1‚Ì“K—p - dev-2.1.1‚Å“K—p‚³‚ꂽC³‚ð“K—p‚µ‚Ü‚µ‚½ +・Athena dev 2.1.1ã®é©ç”¨ + dev-2.1.1ã§é©ç”¨ã•ã‚ŒãŸä¿®æ£ã‚’é©ç”¨ã—ã¾ã—㟠timer.c - 2.1.1‚Ì‚à‚Ì‚Æ·‚µ‘Ö‚¦ + 2.1.1ã®ã‚‚ã®ã¨å·®ã—替㈠script.c - C_NE: ‚ÌC³‚Ì“K—p + C_NE: ã®ä¿®æ£ã®é©ç”¨ README - ÅŒã‚Ì•¶Í‚ð2.1.1‚Ì‚à‚Ì‚É·‚µ‘Ö‚¦ + 最後ã®æ–‡ç« ã‚’2.1.1ã®ã‚‚ã®ã«å·®ã—替㈠-EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ÌC³ - ˆê•”‚ÌÁ”ïSP‚âƒqƒbƒg”‚È‚Ç‚ðC³B +・スã‚ルデータベースã®ä¿®æ£ + 一部ã®æ¶ˆè²»SPやヒット数ãªã©ã‚’ä¿®æ£ã€‚ skill_db.txt - ŠY“–ŒÂŠ‚ÌC³ + 該当個所ã®ä¿®æ£ -EƒXƒLƒ‹UŒ‚‚ÌŽÀ‘••ÏX•’ljÁŽÀ‘• - ƒoƒbƒVƒ…Aƒƒ}[ƒiƒCƒgAƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOAƒsƒA[ƒX - ƒXƒsƒAƒu[ƒƒ‰ƒ“AƒXƒsƒAƒXƒ^ƒuAƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… - ƒ\ƒjƒbƒNƒuƒ[AƒOƒŠƒ€ƒgƒD[ƒX ‚È‚Ç‚ÌŽÀ‘••ÏX +・スã‚ル攻撃ã®å®Ÿè£…å¤‰æ›´ï¼†è¿½åŠ å®Ÿè£… + ãƒãƒƒã‚·ãƒ¥ã€ãƒ¡ãƒžãƒ¼ãƒŠã‚¤ãƒˆã€ãƒ€ãƒ–ルストレイフィングã€ãƒ”アース + スピアブーメランã€ã‚¹ãƒ”アスタブã€ãƒœãƒ¼ãƒªãƒ³ã‚°ãƒãƒƒã‚·ãƒ¥ + ソニックブãƒãƒ¼ã€ã‚°ãƒªãƒ トゥース ãªã©ã®å®Ÿè£…変更 - ƒiƒp[ƒ€ƒr[ƒgAƒ\ƒEƒ‹ƒXƒgƒ‰ƒCƒNA - ƒtƒ@ƒCƒ„[ƒ{ƒ‹ƒgAƒR[ƒ‹ƒhƒ{ƒ‹ƒgAƒ‰ƒCƒgƒjƒ“ƒOƒ{ƒ‹ƒgAƒA[ƒXƒXƒpƒCƒNA - ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ ‚È‚Ç‚ð’ljÁŽÀ‘• - i‘S‚ÄA”͈ÍUŒ‚‚âƒXƒe[ƒ^ƒXˆÙí‚È‚Ç‚Í–¢ŽÀ‘•j + ナパームビートã€ã‚½ã‚¦ãƒ«ã‚¹ãƒˆãƒ©ã‚¤ã‚¯ã€ + ファイヤーボルトã€ã‚³ãƒ¼ãƒ«ãƒ‰ãƒœãƒ«ãƒˆã€ãƒ©ã‚¤ãƒˆãƒ‹ãƒ³ã‚°ãƒœãƒ«ãƒˆã€ã‚¢ãƒ¼ã‚¹ã‚¹ãƒ‘イク〠+ ユピテルサンダー ãªã©ã‚’è¿½åŠ å®Ÿè£… + (全ã¦ã€ç¯„囲攻撃やステータス異常ãªã©ã¯æœªå®Ÿè£…) pc.c/pc.h - 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½ - pc_attack_mob()‚ÌC³AŒvŽZ‚Íbattle_calc_weapon_attack()‚É”C‚¹A - ‚»‚ÌŒvŽZŒ‹‰Ê‚ð“K—p‚·‚邾‚¯‚É•ÏX + 0213ã®å¤‰æ›´ã‚’ãªã‹ã£ãŸã“ã¨ã«ã—㟠+ pc_attack_mob()ã®ä¿®æ£ã€è¨ˆç®—ã¯battle_calc_weapon_attack()ã«ä»»ã›ã€ + ãã®è¨ˆç®—çµæžœã‚’é©ç”¨ã™ã‚‹ã ã‘ã«å¤‰æ›´ clif.c/clif.h - clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()’ljÁ - ‚»‚ꂼ‚êŽg—pŽ¸”sAŽg—pƒGƒtƒFƒNƒgA‚«”ò‚΂µ•t‚«Žg—pƒGƒtƒFƒNƒg + clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()è¿½åŠ + ãã‚Œãžã‚Œä½¿ç”¨å¤±æ•—ã€ä½¿ç”¨ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã€å¹ã飛ã°ã—付ã使用エフェクト skill.c/skill.h - 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½iƒ_ƒ[ƒW”{—¦ŒvŽZ‚ª‚¨‚©‚µ‚¢j - skill_castend_id()‚ÉSP/ZenyŠm”F‚ÆÁ”ï•”•ª‚ð’ljÁA - Ží—ޕʂɈ—‚ð’ljÁB + 0213ã®å¤‰æ›´ã‚’ãªã‹ã£ãŸã“ã¨ã«ã—ãŸï¼ˆãƒ€ãƒ¡ãƒ¼ã‚¸å€çŽ‡è¨ˆç®—ãŒãŠã‹ã—ã„) + skill_castend_id()ã«SP/Zeny確èªã¨æ¶ˆè²»éƒ¨åˆ†ã‚’è¿½åŠ ã€ + 種類別ã«å‡¦ç†ã‚’è¿½åŠ ã€‚ battle.c/battle.h - V‹K’ljÁ - •ŠíUŒ‚ŒvŽZ—p‚Ébattle_calc_weapon_attack(), - –‚–@UŒ‚ŒvŽZ—p‚Ébattle_calc_magic_attack()‚ð—pˆÓ - i‘o•û‚Æ‚àAMOB‚ÆPC—¼•ûŒvŽZ‰Â”\‚È‚Í‚¸j - ƒtƒ@ƒCƒ‹‘‚₵‚·‚¬‚Æ‚¢‚¤ˆÓŒ©‚àc(Š¾) + æ–°è¦è¿½åŠ + æ¦å™¨æ”»æ’ƒè¨ˆç®—用ã«battle_calc_weapon_attack(), + é”法攻撃計算用ã«battle_calc_magic_attack()ã‚’ç”¨æ„ + (åŒæ–¹ã¨ã‚‚ã€MOBã¨PC両方計算å¯èƒ½ãªã¯ãšï¼‰ + ファイル増やã—ã™ãŽã¨ã„ã†æ„見も…(æ±—) ---------- -//0214 by ‚ê‚ -Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚Æ‚±‚ë‚ðC³B -EƒXƒLƒ‹‚̈ꕔŽÀ‘• - ƒoƒbƒVƒ…Eƒƒ}[ƒiƒCƒgEƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOEƒsƒA[ƒX - ƒXƒsƒAƒu[ƒƒ‰ƒ“EƒXƒsƒAƒXƒ^ƒuEƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… - ƒ\ƒjƒbƒNƒuƒ[EƒOƒŠƒ€ƒgƒD[ƒX‚È‚Ç‚Å‚·B - - “K“–‚È‚Ì‚Å‚Ç‚±‚©A•s‹ï‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB - ‚ ‚ÆAƒeƒXƒg‚à‚ ‚܂肵‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚¨‚©‚µ‚¢‚Æ‚±‚낪‚ ‚Á‚½‚çC³‚ð‚¨Šè‚¢‚µ‚Ü‚·B - ‘¼‚É‚à–â‘肪‚ ‚Á‚½‚çŽè’¼‚µ‚ð‚¨Šè‚¢‚µ‚Ü‚·B - •ÏX“à—e‚͈ȉº‚Ì’Ê‚è‚Å‚·B +//0214 by れ゠+・ダブルアタックãŒãŠã‹ã—ã‹ã£ãŸã¨ã“ã‚ã‚’ä¿®æ£ã€‚ +・スã‚ルã®ä¸€éƒ¨å®Ÿè£… + ãƒãƒƒã‚·ãƒ¥ãƒ»ãƒ¡ãƒžãƒ¼ãƒŠã‚¤ãƒˆãƒ»ãƒ€ãƒ–ルストレイフィング・ピアース + スピアブーメラン・スピアスタブ・ボーリングãƒãƒƒã‚·ãƒ¥ + ソニックブãƒãƒ¼ãƒ»ã‚°ãƒªãƒ トゥースãªã©ã§ã™ã€‚ + + é©å½“ãªã®ã§ã©ã“ã‹ã€ä¸å…·åˆãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 + ã‚ã¨ã€ãƒ†ã‚¹ãƒˆã‚‚ã‚ã¾ã‚Šã—ã¦ã¾ã›ã‚“ã®ã§ãŠã‹ã—ã„ã¨ã“ã‚ãŒã‚ã£ãŸã‚‰ä¿®æ£ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ + ä»–ã«ã‚‚å•é¡ŒãŒã‚ã£ãŸã‚‰æ‰‹ç›´ã—ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ + 変更内容ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚ clif.c,clif.h - clif_skill_damage()‚ð’ljÁ‚µ‚Ü‚µ‚½B + clif_skill_damage()ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ pc.c,pc.h - pc_attack_mob()‚̈ø”‚ðˆê‚’ljÁB - ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚̂ųí‚É“®ì‚·‚é‚悤‚ÉC³B + pc_attack_mob()ã®å¼•æ•°ã‚’一ã¤è¿½åŠ 。 + ダブルアタックãŒãŠã‹ã—ã‹ã£ãŸã®ã§æ£å¸¸ã«å‹•ä½œã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€‚ skill.c - ˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•‚ð‚µ‚Ä‚Ý‚Ü‚µ‚½B + 一部スã‚ルã®å®Ÿè£…ã‚’ã—ã¦ã¿ã¾ã—ãŸã€‚ ---------- -//0213 by ‚ê‚ -E0208‚Ì—ƒRƒ}ƒ“ƒh‚Å‚µC³ +//0213 by れ゠+・0208ã®ï¼ コマンドã§å°‘ã—ä¿®æ£ atcommand.c - @item‚Ō”Žw’肪–³‚¢ê‡A“üŽèŒÂ”‚ð‚PŒÂ‚É‚·‚é‚悤‚É‚µ‚½B - @item‚ÅID‚ÌŽw’肪–³‚¢ê‡AƒAƒCƒeƒ€‚ð“üŽè‚µ‚Ä‚½‚±‚Æ‚É‚È‚Á‚Ä - ‚¢‚½‚Ì‚ðC³ + @itemã§å€‹æ•°æŒ‡å®šãŒç„¡ã„å ´åˆã€å…¥æ‰‹å€‹æ•°ã‚’1個ã«ã™ã‚‹ã‚ˆã†ã«ã—ãŸã€‚ + @itemã§IDã®æŒ‡å®šãŒç„¡ã„å ´åˆã€ã‚¢ã‚¤ãƒ†ãƒ を入手ã—ã¦ãŸã“ã¨ã«ãªã£ã¦ + ã„ãŸã®ã‚’ä¿®æ£ itemdb.c - item_db.txt‚ÅSell‚Ì€–Ú‚ð“X”„‚è‚Ì’l’i‚Æ‚µ‚Ä‚Ý‚½B + item_db.txtã§Sellã®é …目を店売りã®å€¤æ®µã¨ã—ã¦ã¿ãŸã€‚ item_db2.txt - ŽŽ‚µ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ì“X”„‚艿Ši‚ð’l’i‚ð–{ŽI‚Ì‘Šê‚É‚µ - ‚Ä‚Ý‚½‚à‚ÌBŽg—p‚·‚éꇂÍitem_db.txt‚Æ·‚µ‘Ö‚¦‚Ä‚‚¾‚³‚¢B + 試ã—ã«ã‚«ãƒ¼ãƒ‰ã‚„レアアイテムã®åº—å£²ã‚Šä¾¡æ ¼ã‚’å€¤æ®µã‚’æœ¬é¯–ã®ç›¸å ´ã«ã— + ã¦ã¿ãŸã‚‚ã®ã€‚使用ã™ã‚‹å ´åˆã¯item_db.txtã¨å·®ã—替ãˆã¦ãã ã•ã„。 ---------- //0208 by nabe -E—ƒRƒ}ƒ“ƒhŽÀ‘•B +ãƒ»ï¼ ã‚³ãƒžãƒ³ãƒ‰å®Ÿè£…ã€‚ atcommand.h,atcommand.c - ‚Ù‚ÚI-Athena‚Ì—ƒRƒ}ƒ“ƒh‘Š“–‚Å‚·‚ªA@GM‚ÆPVP‚Í–¢ŽÀ‘•‚Å‚·B - help.txt‚à“¯«‚µ‚Ä‚¢‚Ü‚·B - GMiƒAƒJƒEƒ“ƒgID704554`704583jê—p‚É‚·‚é‚É‚ÍA - atcommand.c‚ÌŠY“–•”•ª‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ‚µ‚ĉº‚³‚¢B + ã»ã¼I-Athenaã®ï¼ コマンド相当ã§ã™ãŒã€@GMã¨PVPã¯æœªå®Ÿè£…ã§ã™ã€‚ + help.txtã‚‚åŒæ¢±ã—ã¦ã„ã¾ã™ã€‚ + GM(アカウントIDï¼704554〜704583)専用ã«ã™ã‚‹ã«ã¯ã€ + atcommand.cã®è©²å½“部分ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã‚’解除ã—ã¦ä¸‹ã•ã„。 clif.h,clif.c clif_displaymessage() clif_GMmessage() @@ -17205,155 +17205,155 @@ HIT‚ÌŒvŽZ‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ÅC³‚µ‚Ä‚Ý‚Ü‚µ‚½B clif_pvpon() clif_pvpset() clif_refine() - ‚ð’ljÁ‚µ‚Ü‚µ‚½B - clif_parse_GlobalMessage()“à‚Åatcommand()‚ðŒÄ‚ñ‚Å‚¢‚Ü‚·B + ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ + clif_parse_GlobalMessage()内ã§atcommand()を呼んã§ã„ã¾ã™ã€‚ -E‚¿‚å‚Á‚Æ‚¾‚¯C³B +・ã¡ã‚‡ã£ã¨ã ã‘ä¿®æ£ã€‚ script.c {buildin_openstorage,"openstorage","s"}, - ‚©‚ç + ã‹ã‚‰ {buildin_openstorage,"openstorage",""}, - ‚ÉC³‚µ‚Ü‚µ‚½B + ã«ä¿®æ£ã—ã¾ã—ãŸã€‚ ---------- -//0206 by ŒÓ’±—– -EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ÌŽÀ‘• +//0206 by 胡è¶è˜ +・スã‚ルツリー/スã‚ル使用機構ã®å®Ÿè£… mmo.h - MAX_SKILL‚ð‘‚₵‚½ + MAX_SKILLを増やã—㟠char2.c mmo_char_fromstr() - mmo_charstatus‚Ìskill‚̃Cƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”Ô†‚ðŽg‚¤‚悤‚É‚µ‚½ - =>ƒXƒLƒ‹‚ÌŒŸõ‚‘¬‰»‚Ì‚½‚ßi‚©‚í‚è‚Ƀƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚éj + mmo_charstatusã®skillã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«ã‚¹ã‚ル番å·ã‚’使ã†ã‚ˆã†ã«ã—㟠+ =>スã‚ルã®æ¤œç´¢é«˜é€ŸåŒ–ã®ãŸã‚(ã‹ã‚ã‚Šã«ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡ãŒå¢—ãˆã‚‹ï¼‰ pc.h/pc.c - pc_skillup(),pc_calc_skilltree()’ljÁ - pc_checkskill()•ÏXiƒCƒ“ƒfƒbƒNƒX‚ðƒXƒLƒ‹”Ô†‚Éj - pc_readdb()‚Åskill_db.txt‚à“ǂނ悤‚É‚µ‚½ - pc_authok()‚Åcast_timer‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½ - pc_calcstatus()‚Åpc_calc_skilltree()‚Æclif_skillinfoblock()‚ð - ŒÄ‚Ԃ悤‚É‚µ‚½ + pc_skillup(),pc_calc_skilltree()è¿½åŠ + pc_checkskill()変更(インデックスをスã‚ル番å·ã«ï¼‰ + pc_readdb()ã§skill_db.txtã‚‚èªã‚€ã‚ˆã†ã«ã—㟠+ pc_authok()ã§cast_timerã‚’åˆæœŸåŒ–ã™ã‚‹ã‚ˆã†ã«ã—㟠+ pc_calcstatus()ã§pc_calc_skilltree()ã¨clif_skillinfoblock()ã‚’ + 呼ã¶ã‚ˆã†ã«ã—㟠clif.c/clif.h clif_skillinfoblock(),clif_skillcasting(), - clif_skillup()‚ð’ljÁ + clif_skillup()ã‚’è¿½åŠ clif_parse_SkillUp(),clif_parse_UseSkillToId(), - clif_parse_UseSkillToPos()‚ðŽÀ‘• + clif_parse_UseSkillToPos()を実装 skill.h/skill.c - ƒtƒ@ƒCƒ‹’ljÁ(map/) + ãƒ•ã‚¡ã‚¤ãƒ«è¿½åŠ (map/) map.h - struct map_session_data‚Écast_*‚ð’ljÁ + struct map_session_dataã«cast_*ã‚’è¿½åŠ skill_db.txt - ƒtƒ@ƒCƒ‹’ljÁ(db/) - (I-Athena0200‚Ìskill_info2.txt‚ðƒRƒ“ƒo[ƒg‚µ‚½‚à‚Ì) - (ƒXƒLƒ‹Žg—p•”•ªŠJ”ŽÒŒü‚¯î•ñ) - ƒXƒLƒ‹‚ÌŒø‰Ê‚ðŽÀ‘•‚·‚éꊂÍskill.c‚Ì - skill_castend_id(),skill_castend_pos()‚Å‚·B - ƒ^[ƒQƒbƒg‚âŽg—pƒXƒLƒ‹‚Í sd->cast_* ‚©‚瓾‚Ü‚· - ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚Ö‚Í skill_get_* ‚ŃAƒNƒZƒX‚µ‚Ä‚‚¾‚³‚¢ - ¡ŒãAƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚àƒf[ƒ^ƒx[ƒX‚É“ü‚ê‚é—\’è + ãƒ•ã‚¡ã‚¤ãƒ«è¿½åŠ (db/) + (I-Athena0200ã®skill_info2.txtをコンãƒãƒ¼ãƒˆã—ãŸã‚‚ã®) + (スã‚ル使用部分開発者å‘ã‘æƒ…å ±) + スã‚ルã®åŠ¹æžœã‚’実装ã™ã‚‹å ´æ‰€ã¯skill.cã® + skill_castend_id(),skill_castend_pos()ã§ã™ã€‚ + ターゲットや使用スã‚ル㯠sd->cast_* ã‹ã‚‰å¾—ã¾ã™ + スã‚ルデータベースã¸ã¯ skill_get_* ã§ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã ã•ã„ + 今後ã€ã‚ャスティングタイムもデータベースã«å…¥ã‚Œã‚‹äºˆå®š ---------- //0205 by nabe -Estorage.c‚̃oƒOƒtƒBƒNƒXB -E‘qŒÉƒf[ƒ^‚ðAƒ}ƒbƒvŽI‹N“®Žž‚É“Ç‚ÝAƒ}ƒbƒvŽII—¹Žž‚É‘‚‚悤‚É•ÏXB +・storage.cã®ãƒã‚°ãƒ•ã‚£ã‚¯ã‚¹ã€‚ +・倉庫データをã€ãƒžãƒƒãƒ—鯖起動時ã«èªã¿ã€ãƒžãƒƒãƒ—鯖終了時ã«æ›¸ãよã†ã«å¤‰æ›´ã€‚ storage.h,storage.c - storage_init()‚ðdo_init_storage()‚ɉü–¼B - storage_save()‚ðdo_final_storage()‚ɉü–¼B - fclose‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚ð’ljÁB + storage_init()ã‚’do_init_storage()ã«æ”¹å。 + storage_save()ã‚’do_final_storage()ã«æ”¹å。 + fcloseを忘れã¦ã„ãŸã®ã‚’è¿½åŠ ã€‚ map.c - #include "storage.h"‚ð’ljÁB - do_final()‚Édo_final_storage()‚ð’ljÁB - do_init()‚Édo_init_storage()‚ð’ljÁB + #include "storage.h"ã‚’è¿½åŠ ã€‚ + do_final()ã«do_final_storage()ã‚’è¿½åŠ ã€‚ + do_init()ã«do_init_storage()ã‚’è¿½åŠ ã€‚ ---------- -//0203(unofficial) by ‚È‚Ý - -item_db.txt‚Ì‘‚«Š·‚¦‚Ì‚Ý‚Å‚·B - -EƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ð’ljÁ/•ÏX - Ôƒ|[ƒVƒ‡ƒ“@@@@@@@@@HP 30- 44 - gƒ|[ƒVƒ‡ƒ“@@@@@@@@@HP 70- 89 - ‰©F‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@HP 175-234 - ”’‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@@HP 350-429 - ‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@@SP 40- 99 - Ô‚¢ƒn[ƒu@@@@@@@@@@HP 12- 19 - ‰©F‚¢ƒn[ƒu@@@@@@@@@HP 21- 29 - ”’‚¢ƒn[ƒu@@@@@@@@@@HP 80-111 - ‚¢ƒn[ƒu@@@@@@@@@@SP 15- 44 - ƒŠƒ“ƒS@@@@@@@@@@@@HP 12- 15 - ƒoƒiƒi@@@@@@@@@@@@HP 11- 16 - ƒuƒhƒE@@@@@@@@@@@@SP 10- 24 - ‚¢‚à@@@@@@@@@@@@@HP 11- 15 - ‚É‚@@@@@@@@@@@@@HP 70- 99 - ƒnƒ`‚Ì–¨@@@@@@@@@@@HP 72- 97 / SP 20- 59 - ƒ~ƒ‹ƒN@@@@@@@@@@@@HP 25- 34 - ƒLƒƒƒ“ƒfƒB@@@@@@@@@@HP 31- 74 - ƒXƒeƒBƒbƒNƒLƒƒƒ“ƒfƒB@@@@@HP 46-109 - ƒŠƒ“ƒSƒWƒ…[ƒX@@@@@@¦@HP 28- 32 - ƒoƒiƒiƒWƒ…[ƒX@@@@@@@@HP 27- 33 - ƒuƒhƒEƒWƒ…[ƒX@@@@@@@@SP 15- 39 - ƒjƒ“ƒWƒ“ƒWƒ…[ƒX@@@@@¦@HP 29- 32 - ƒJƒ{ƒ`ƒƒ@@@@@@@@@@@HP 14 - ƒyƒbƒgƒt[ƒh@@@@@@@@@HP 53- 83 - ‚æ‚Ä‚¢‚½ƒNƒbƒL[@@@@@@HP 80-177 - ‚ЂƂ‚¿ƒP[ƒL[@@@@@@@HP 251-359 - ‚ЂȂ ‚ç‚ê@@@@@@@@@@HP 175-234 - •H–Ý@@@@@@@@@@@@@HP 350-429 - ƒŒƒbƒhƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@¦@HP 30- 44 - ƒCƒGƒƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@¦@HP 175-234 - ƒzƒƒCƒgƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@¦@HP 350-429 -@Œ»Ý‚ÌAthena‚Å‚ÍVIT‚âƒXƒLƒ‹‚É‚æ‚éƒ{[ƒiƒX‚͉Á–¡‚³‚ê‚Ü‚¹‚ñB -@i“K—p‚·‚éꇂÍscript.c“à‚Ìbuildin_healŠÖ”‚ ‚½‚è‚É‚ÉŽè‚ð‰Á‚¦‚é•K—v‚ ‚èj -@‚È‚¨A¦•t‚̃AƒCƒeƒ€‚̃f[ƒ^‚Í“K“–‚Å‚·B -EŒÃ‚¢ƒJ[ƒh’Ÿ‚ðŽÀ‘•(UseScript) -E‚»‚Ì‘¼C³ -@@‚ЂȂ ‚ç‚ê@@@@@@@@@@d—Ê‚È‚µ¨d—Ê0.1‚ÉC³ -@@•H–Ý@@@@@@@@@@@@@d—Ê‚È‚µ¨d—Ê0.1‚ÉC³ -@@ƒoƒ‹ƒ€ƒ“@@@@@@@@@@@d—Ê0.1S4•ÐŽèŒ•¨d—Ê100S0—¼ŽèŒ•‚ÉC³ -@‚È‚¨ASell‚Ì€–Ú‚Í‚ ‚邾‚¯–³‘Ê‚Á‚Û‚¢‚Ì‚Å‘S•”Á‚µ‚Ü‚µ‚½B +//0203(unofficial) by ãªã¿ + +item_db.txtã®æ›¸ãæ›ãˆã®ã¿ã§ã™ã€‚ + +・アイテムã®å›žå¾©é‡ã‚’è¿½åŠ /変更 + 赤ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 30- 44 + ç´…ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 70- 89 + 黄色ã„ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 175-234 + 白ã„ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 350-429 + é’ã„ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€SP 40- 99 + 赤ã„ãƒãƒ¼ãƒ–          HP 12- 19 + 黄色ã„ãƒãƒ¼ãƒ–         HP 21- 29 + 白ã„ãƒãƒ¼ãƒ–          HP 80-111 + é’ã„ãƒãƒ¼ãƒ–          SP 15- 44 + リンゴ            HP 12- 15 + ãƒãƒŠãƒŠã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 11- 16 + ブドウ            SP 10- 24 + ã„も             HP 11- 15 + ã«ã             HP 70- 99 + ãƒãƒã®èœœã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 72- 97 / SP 20- 59 + ミルク            HP 25- 34 + ã‚ャンディ          HP 31- 74 + スティックã‚ャンディ     HP 46-109 + リンゴジュース      ※ HP 28- 32 + ãƒãƒŠãƒŠã‚¸ãƒ¥ãƒ¼ã‚¹ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 27- 33 + ブドウジュース        SP 15- 39 + ニンジンジュース     ※ HP 29- 32 + カボãƒãƒ£ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€HP 14 + ペットフード         HP 53- 83 + よã焼ã„ãŸã‚¯ãƒƒã‚ー      HP 80-177 + ã²ã¨ãã¡ã‚±ãƒ¼ã‚ー       HP 251-359 + ã²ãªã‚られ          HP 175-234 + è±é¤…             HP 350-429 + レッドスリムãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€â€»ã€€HP 30- 44 + イエãƒã‚¹ãƒªãƒ ãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€ã€€â€»ã€€HP 175-234 + ホワイトスリムãƒãƒ¼ã‚·ãƒ§ãƒ³ã€€â€»ã€€HP 350-429 + ç¾åœ¨ã®Athenaã§ã¯VITやスã‚ルã«ã‚ˆã‚‹ãƒœãƒ¼ãƒŠã‚¹ã¯åŠ 味ã•ã‚Œã¾ã›ã‚“。 + (é©ç”¨ã™ã‚‹å ´åˆã¯script.c内ã®buildin_heal関数ã‚ãŸã‚Šã«ã«æ‰‹ã‚’åŠ ãˆã‚‹å¿…è¦ã‚り) + ãªãŠã€â€»ä»˜ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ãƒ‡ãƒ¼ã‚¿ã¯é©å½“ã§ã™ã€‚ +・å¤ã„カード帖を実装(UseScript) +・ãã®ä»–ä¿®æ£ +  ã²ãªã‚られ          é‡é‡ãªã—→é‡é‡0.1ã«ä¿®æ£ +  è±é¤…             é‡é‡ãªã—→é‡é‡0.1ã«ä¿®æ£ +  ãƒãƒ«ãƒ ン           é‡é‡0.1S4片手剣→é‡é‡100S0両手剣ã«ä¿®æ£ + ãªãŠã€Sellã®é …ç›®ã¯ã‚ã‚‹ã ã‘無駄ã£ã½ã„ã®ã§å…¨éƒ¨æ¶ˆã—ã¾ã—ãŸã€‚ ---------- //0202 by nabe -EƒJƒvƒ‰‘qŒÉ‚Ìu“¯ˆêƒAƒJƒEƒ“ƒg‚È‚Ì‚É‹¤—L‚Å‚«‚È‚¢ƒoƒOv‚ð‰ü—Ç‚µ‚Ü‚µ‚½B - ŠeƒLƒƒƒ‰‚É‘qŒÉƒf[ƒ^‚ðŽ‚½‚¹‚é‚Ì‚Í–³‘Ê‚ª‘½‚¢‹C‚ª‚·‚é‚Ì‚ÅA - ƒAƒJƒEƒ“ƒgID‚ÅŠÇ—‚·‚é‚悤‚ÉŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½B - ‚‚¢‚Å‚ÉA‘qŒÉƒf[ƒ^‚Í‘S‚Ästorage.c‚Å‚Ü‚©‚È‚¢A - charŽI‚ÍŠÖ—^‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B - ‚±‚ê‚É”º‚¢Achar_athena.cnf,mmo.h,char2.c‚ÍŒ³‚É–ß‚µ‚Ü‚µ‚½B - ‚Ü‚½A‘qŒÉƒtƒ@ƒCƒ‹–¼‚Ígstorage.txth‚ɌŒ肵‚Ä‚¢‚Ü‚·B +・カプラ倉庫ã®ã€ŒåŒä¸€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãªã®ã«å…±æœ‰ã§ããªã„ãƒã‚°ã€ã‚’改良ã—ã¾ã—ãŸã€‚ + å„ã‚ャラã«å€‰åº«ãƒ‡ãƒ¼ã‚¿ã‚’æŒãŸã›ã‚‹ã®ã¯ç„¡é§„ãŒå¤šã„æ°—ãŒã™ã‚‹ã®ã§ã€ + アカウントIDã§ç®¡ç†ã™ã‚‹ã‚ˆã†ã«ä»•æ§˜ã‚’変更ã—ã¾ã—ãŸã€‚ + ã¤ã„ã§ã«ã€å€‰åº«ãƒ‡ãƒ¼ã‚¿ã¯å…¨ã¦storage.cã§ã¾ã‹ãªã„〠+ char鯖ã¯é–¢ä¸Žã—ãªã„よã†ã«ã—ã¾ã—ãŸã€‚ + ã“ã‚Œã«ä¼´ã„ã€char_athena.cnf,mmo.h,char2.cã¯å…ƒã«æˆ»ã—ã¾ã—ãŸã€‚ + ã¾ãŸã€å€‰åº«ãƒ•ã‚¡ã‚¤ãƒ«åã¯â€œstorage.txtâ€ã«å›ºå®šã—ã¦ã„ã¾ã™ã€‚ - ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B + 改変ã€è¿½åŠ ã—ãŸã®ã¯æ¬¡ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ map/storage.h, map/storage.c, - map/clif.h,//ˆø”•ÏX‚¾‚¯ - map/clif.c,//ˆø”•ÏX‚¾‚¯ - conf/char_athena.cnf,//Œ³‚É–ß‚µ‚½‚¾‚¯ - common/mmo.h,//Œ³‚É–ß‚µ‚½‚¾‚¯ - char/char2.c,//Œ³‚É–ß‚µ‚½‚¾‚¯ - map/itemdb.h,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ - map/itemdb.c,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ - map/pc.c,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ + map/clif.h,//引数変更ã ã‘ + map/clif.c,//引数変更ã ã‘ + conf/char_athena.cnf,//å…ƒã«æˆ»ã—ãŸã ã‘ + common/mmo.h,//å…ƒã«æˆ»ã—ãŸã ã‘ + char/char2.c,//å…ƒã«æˆ»ã—ãŸã ã‘ + map/itemdb.h,//itemdb_equippoint()引数宣言変更ã ã‘ + map/itemdb.c,//itemdb_equippoint()引数宣言変更ã ã‘ + map/pc.c,//itemdb_equippoint()引数宣言変更ã ã‘ ---------- //0201 by nabe -EƒJƒvƒ‰‘qŒÉ‚ðŽÀ‘•‚µ‚Ü‚µ‚½B +・カプラ倉庫を実装ã—ã¾ã—ãŸã€‚ - ƒXƒNƒŠƒvƒg‚©‚çŒÄ‚Ño‚·‚É‚ÍAƒXƒNƒŠƒvƒg“à‚Å + スクリプトã‹ã‚‰å‘¼ã³å‡ºã™ã«ã¯ã€ã‚¹ã‚¯ãƒªãƒ—ト内㧠openstorage; - ‚Æ‚µ‚Ä‚‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹‚Æ‚µ‚Änpc_kafraJ.txt‚ð•t‚¯‚Ä‚ ‚è‚Ü‚·B - •¹‚¹‚Änpc_script3J.txt‚ÌŠY“–•”•ª‚à‰ü•Ï‚µ‚Ü‚µ‚½B + ã¨ã—ã¦ãã ã•ã„。 + サンプルã¨ã—ã¦npc_kafraJ.txtを付ã‘ã¦ã‚ã‚Šã¾ã™ã€‚ + ä½µã›ã¦npc_script3J.txtã®è©²å½“部分も改変ã—ã¾ã—ãŸã€‚ - char_athena.cnf‚Ì + char_athena.cnfã® stor_txt: - ‚Å‘qŒÉƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚Ä‚¢‚Ü‚·B + ã§å€‰åº«ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¦ã„ã¾ã™ã€‚ - ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B + 改変ã€è¿½åŠ ã—ãŸã®ã¯æ¬¡ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ map/Makefile, map/storage.c, map/storage.h, @@ -17362,11 +17362,11 @@ item_db.txt‚Ì‘‚«Š·‚¦‚Ì‚Ý‚Å‚·B map/script.c, char/char2.c, common/mmo,h - Ú‚µ‚‚ÍAã‹Lƒtƒ@ƒCƒ‹‚̃Rƒƒ“ƒg‚È‚Ç‚ðŽQl‚É‚µ‚Ä‚‚¾‚³‚¢B + 詳ã—ãã¯ã€ä¸Šè¨˜ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚³ãƒ¡ãƒ³ãƒˆãªã©ã‚’å‚考ã«ã—ã¦ãã ã•ã„。 -EƒJƒvƒ‰‘qŒÉŽÀ‘•‚É”º‚¢Amap_athena1.cnf‚ð‚µ‘‚«Š·‚¦‚Ü‚µ‚½B +・カプラ倉庫実装ã«ä¼´ã„ã€map_athena1.cnfã‚’å°‘ã—書ãæ›ãˆã¾ã—ãŸã€‚ -E‘S‚ẴRƒƒ“ƒg•¶‚ðEUC‚©‚çSJIS‚É•ÏŠ·‚µ‚Ü‚µ‚½B +・全ã¦ã®ã‚³ãƒ¡ãƒ³ãƒˆæ–‡ã‚’EUCã‹ã‚‰SJISã«å¤‰æ›ã—ã¾ã—ãŸã€‚ ---------- @@ -17374,130 +17374,130 @@ item_db.txt‚Ì‘‚«Š·‚¦‚Ì‚Ý‚Å‚·B (c) 2003 Athena Project. http://project-yare.de/ -1. Athena(ƒAƒeƒi)‚ɂ‚¢‚Ä -2. ‚±‚̃ŠƒŠ[ƒX‚ɂ‚¢‚Ä -3. •K—v‚È•¨ -4. Žg‚¢•û -5. Œ»Ý‚ÌŽd—l -6. jŽ« -7. –ÆÓŽ–€ -8. •åW +1. Athena(アテナ)ã«ã¤ã„㦠+2. ã“ã®ãƒªãƒªãƒ¼ã‚¹ã«ã¤ã„㦠+3. å¿…è¦ãªç‰© +4. 使ã„æ–¹ +5. ç¾åœ¨ã®ä»•æ§˜ +6. ç¥è¾ž +7. å…è²¬äº‹é … +8. 募集 9. English -1. ƒAƒeƒi‚ɂ‚¢‚Ä - ƒAƒeƒi‚Æ‚Í2003”N1ŒŽ”¼‚΂ɂł½0052.lzh‚ðƒx[ƒX‚Æ‚µ‚Äì‚ç‚ê‚Ä‚¢‚éƒGƒ~ƒ…ƒŒ[ƒ^‚̈ê‚‚ł·B - Šî–{“I‚ȃ‰ƒCƒZƒ“ƒX‚̓IƒŠƒWƒiƒ‹‚ªGPL‚̉º‚É”z•z‚³‚ê‚Ä‚¢‚éˆ×A - ‚±‚ê‚É]‚¢GPL‚̉º”z•z‚ð‹–‰Â‚µ‚Ü‚·B +1. アテナã«ã¤ã„㦠+ アテナã¨ã¯2003å¹´1月åŠã°ã«ã§ãŸ0052.lzhをベースã¨ã—ã¦ä½œã‚‰ã‚Œã¦ã„るエミュレータã®ä¸€ã¤ã§ã™ã€‚ + 基本的ãªãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã¯ã‚ªãƒªã‚¸ãƒŠãƒ«ãŒGPLã®ä¸‹ã«é…布ã•ã‚Œã¦ã„る為〠+ ã“ã‚Œã«å¾“ã„GPLã®ä¸‹é…布を許å¯ã—ã¾ã™ã€‚ /* - ‰ü—ǔłð”z•z‚·‚éꇂ͕K‚¸‚±‚ÌREADME‚ð‘‚«Š·‚¦‚Ä‚‚¾‚³‚¢B - ‰½ˆ‚ð‰ü—Ç‚µ‚½‚Ì‚©•ñ(athena@project-yare.de‚Ü‚Å)‚µ‚ĖႦ‚é‚Æ•‚©‚è‚Ü‚·B - ƒoƒCƒiƒŠ‚Ì‚Ý‚Ì”z•z‚ÍGPLˆá”½‚Å‚·‚Ì‚Å"•K‚¸"ƒ\[ƒX‚à“Y•t‚µ‚Ä‚‚¾‚³‚¢B + 改良版をé…布ã™ã‚‹å ´åˆã¯å¿…ãšã“ã®READMEを書ãæ›ãˆã¦ãã ã•ã„。 + 何処を改良ã—ãŸã®ã‹å ±å‘Š(athena@project-yare.deã¾ã§)ã—ã¦è²°ãˆã‚‹ã¨åŠ©ã‹ã‚Šã¾ã™ã€‚ + ãƒã‚¤ãƒŠãƒªã®ã¿ã®é…布ã¯GPLé•åã§ã™ã®ã§"å¿…ãš"ソースも添付ã—ã¦ãã ã•ã„。 */ - “®ì‚ÌŠm”F‚͈ȉº‚Ì’Ê‚è‚Ì‚Ýs‚Á‚Ä‚¢‚Ü‚·B - // ‚½‚¾‚µŠ®àø‚É“®‚Ž–‚ð•ÛØ‚·‚é‚à‚Ì‚Å‚ ‚è‚Ü‚¹‚ñ - ‘ÎÛCPU: Intel PentiumŒn // PentiumIIˆÈã‚ÅŠm”F. + 動作ã®ç¢ºèªã¯ä»¥ä¸‹ã®é€šã‚Šã®ã¿è¡Œã£ã¦ã„ã¾ã™ã€‚ + // ãŸã ã—完璧ã«å‹•ã事をä¿è¨¼ã™ã‚‹ã‚‚ã®ã§ã‚ã‚Šã¾ã›ã‚“ + 対象CPU: Intel Pentiumç³» // PentiumII以上ã§ç¢ºèª. FreeBSD 4.8R, 4.6.2R Linux RedHat 7.3 cygwin + gcc 3.2 20020927 (prerelease) - ŠJ”Œ³URL: http://project-yare.de/ + 開発元URL: http://project-yare.de/ -2. ‚±‚̃ŠƒŠ[ƒX‚ɂ‚¢‚Ä - ¡‰ñ‚̃ŠƒŠ[ƒX‚Í‘O‰ñ(V2.1)“¯—lŠJ””ł̃ŠƒŠ[ƒX‚Ì‚Ý‚Å‚·B - 2.1‚É”ä‚׉º‹L‚Ì“_‚ªC³‚³‚ê‚Ä‚¢‚Ü‚·B - map‚̃fƒtƒHƒ‹ƒgݒ肪ŠØ‘data.grf‚̂ݳí‚É“®ì‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚½“_ - common/timer.c‚âmap/script.c‚ÌŠô‚‚©‚̃oƒO +2. ã“ã®ãƒªãƒªãƒ¼ã‚¹ã«ã¤ã„㦠+ 今回ã®ãƒªãƒªãƒ¼ã‚¹ã¯å‰å›ž(V2.1)åŒæ§˜é–‹ç™ºç‰ˆã®ãƒªãƒªãƒ¼ã‚¹ã®ã¿ã§ã™ã€‚ + 2.1ã«æ¯”ã¹ä¸‹è¨˜ã®ç‚¹ãŒä¿®æ£ã•ã‚Œã¦ã„ã¾ã™ã€‚ + mapã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆè¨å®šãŒéŸ“国data.grfã®ã¿æ£å¸¸ã«å‹•ä½œã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ãŸç‚¹ + common/timer.cã‚„map/script.cã®å¹¾ã¤ã‹ã®ãƒã‚° - v‘¬‚ÉUpdate‚ð‹‚„§‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªŠeŽ©‚Ì”»’f‚Ås‚Á‚ĉº‚³‚¢B + 迅速ã«Updateã‚’å¼·ã推奨ã™ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒå„自ã®åˆ¤æ–ã§è¡Œã£ã¦ä¸‹ã•ã„。 -3. •K—v‚È•¨ - data.grf //sdata.grf‚Í•K—v‚ɉž‚¶‚Ä - account.txt //‘¶Ý‚µ‚È‚¢ê‡athena.sh‚ªŽ©“®¶¬‚µ‚Ü‚· - conf/*.cnf //Map—p‚ÆChar—p‚Ì“ñŽí—Þ‚ ‚è‚Ü‚· - conf/npc*.txt //npcÝ’è—pƒtƒ@ƒCƒ‹‚Å‚·B•¡”‚̃tƒ@ƒCƒ‹‚É•ª‚¯‚邱‚Æ‚ª‰Â”\‚Å‚·B - db/*.txt //ƒAƒCƒeƒ€Ajobî•ñ‚È‚Ç +3. å¿…è¦ãªç‰© + data.grf //sdata.grfã¯å¿…è¦ã«å¿œã˜ã¦ + account.txt //å˜åœ¨ã—ãªã„å ´åˆathena.shãŒè‡ªå‹•ç”Ÿæˆã—ã¾ã™ + conf/*.cnf //Map用ã¨Char用ã®äºŒç¨®é¡žã‚ã‚Šã¾ã™ + conf/npc*.txt //npcè¨å®šç”¨ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚複数ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«åˆ†ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ + db/*.txt //アイテムã€jobæƒ…å ±ãªã© -4. Žg‚¢•û +4. 使ã„æ–¹ > tar xvfz athena-d?.?.tar.gz > cd athena-d?.?.tar.gz > make - > vi conf/char_athena.cnf //IP(127.0.0.1)‚Ì•”•ª‚ðŠÂ‹«‚ɇ‚킹‚Ä•ÏX‚µ‚Ä‚‚¾‚³‚¢ - > vi conf/map_athena.cnf //“¯ãA‚Ü‚½mapÝ’è‚È‚Ç‚ÍA‚±‚̃tƒ@ƒCƒ‹‚Ås‚¢‚Ü‚·B + > vi conf/char_athena.cnf //IP(127.0.0.1)ã®éƒ¨åˆ†ã‚’環境ã«åˆã‚ã›ã¦å¤‰æ›´ã—ã¦ãã ã•ã„ + > vi conf/map_athena.cnf //åŒä¸Šã€ã¾ãŸmapè¨å®šãªã©ã¯ã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§è¡Œã„ã¾ã™ã€‚ > ./athena.sh - ã‹L‚ðs‚¦‚Î"‚½‚Ô‚ñ"‹N“®‚µ‚Ü‚·B + 上記を行ãˆã°"ãŸã¶ã‚“"èµ·å‹•ã—ã¾ã™ã€‚ - •â‘«: - conf/npc_sampleJ.txt‚ɂ̓XƒNƒŠƒvƒg‚Ì‘‚«•û‚ɂ‚¢‚ÄFX‚Èà–¾‚ª‹LÚ‚³‚ê‚Ä‚¢‚Ü‚·B - ‚à‚µA“ÆŽ©‚ÌMapÝ’è‚ðs‚Á‚Ä‚Ý‚½‚¢l‚âAƒXƒNƒŠƒvƒg‚ð˜M‚肽‚¢•û‚ÍŽQl‚É‚µ‚Ä‚‚¾‚³‚¢B - ‚½‚¾‚µAŠJ”’†‚Ì‚½‚߃XƒNƒŠƒvƒg‚ÌŽd—l‚ª•ÏX‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B - command.txt‚É‚ÍŽÀ‘•Ï‚Ý‚Ì“ÁŽêƒRƒ}ƒ“ƒh‚ɂ‚¢‚Ä‚Ìà–¾‚ð‹LÚ‚µ‚Ä‚¢‚Ü‚·B + 補足: + conf/npc_sampleJ.txtã«ã¯ã‚¹ã‚¯ãƒªãƒ—トã®æ›¸ãæ–¹ã«ã¤ã„ã¦è‰²ã€…ãªèª¬æ˜ŽãŒè¨˜è¼‰ã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã‚‚ã—ã€ç‹¬è‡ªã®Mapè¨å®šã‚’è¡Œã£ã¦ã¿ãŸã„人やã€ã‚¹ã‚¯ãƒªãƒ—トを弄りãŸã„æ–¹ã¯å‚考ã«ã—ã¦ãã ã•ã„。 + ãŸã ã—ã€é–‹ç™ºä¸ã®ãŸã‚スクリプトã®ä»•æ§˜ãŒå¤‰æ›´ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒé«˜ã„ã§ã™ã€‚ + command.txtã«ã¯å®Ÿè£…済ã¿ã®ç‰¹æ®Šã‚³ãƒžãƒ³ãƒ‰ã«ã¤ã„ã¦ã®èª¬æ˜Žã‚’記載ã—ã¦ã„ã¾ã™ã€‚ -5. Œ»Ý‚ÌŽd—l - –{ŽI‚Æ”ä‚ׂè‚©‚µ‚¢(—Ⴆ‚΃vƒo‚ª•à‚Aƒ|ƒŠƒ“‚ªƒAƒCƒeƒ€‚ðE‚í‚È‚¢‚È‚Ç)“_‚ÍA - ‘S‚ÄŒ»ÝŠJ”’†‚Ɉö‚é‚à‚Ì‚Å‚·B - Œ»ó‚Æ‚µ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚у‚ƒ“ƒXƒ^[Œn‚̃oƒO•ñ‚Í–³Ž‹‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B +5. ç¾åœ¨ã®ä»•æ§˜ + 本鯖ã¨æ¯”ã¹ã¦ãŠã‹ã—ã„(例ãˆã°ãƒ—ãƒãŒæ©ãã€ãƒãƒªãƒ³ãŒã‚¢ã‚¤ãƒ†ãƒ を拾ã‚ãªã„ãªã©)点ã¯ã€ + å…¨ã¦ç¾åœ¨é–‹ç™ºä¸ã«å› ã‚‹ã‚‚ã®ã§ã™ã€‚ + ç¾çŠ¶ã¨ã—ã¦ã‚ャラクタ系åŠã³ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ç³»ã®ãƒã‚°å ±å‘Šã¯ç„¡è¦–ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒé«˜ã„ã§ã™ã€‚ - ƒoƒO•ñ‚ɂ‚¢‚Ä•K‚¸”¶ðŒ‚ð‚¨‘‚«‰º‚³‚¢B - ‰º‚É‚ ‚é•ñ—pƒeƒ“ƒvƒŒ[ƒg‚ðŽg‚Á‚Ä•ñ‚µ‚Ä’¸‚‚Æ•‚©‚è‚Ü‚·B - •ñæ‚̓Gƒ~ƒ…”‚̊J”ƒXƒŒ‚É‚Å‚àB + ãƒã‚°å ±å‘Šã«ã¤ã„ã¦å¿…ãšç™ºç”Ÿæ¡ä»¶ã‚’ãŠæ›¸ã下ã•ã„。 + 下ã«ã‚ã‚‹å ±å‘Šç”¨ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆã‚’ä½¿ã£ã¦å ±å‘Šã—ã¦é ‚ãã¨åŠ©ã‹ã‚Šã¾ã™ã€‚ + å ±å‘Šå…ˆã¯ã‚¨ãƒŸãƒ¥æ¿ã®é–‹ç™ºã‚¹ãƒ¬ã«ã§ã‚‚。 ---- Athena v 2.0 (stable or develop) ---- - ygcc verzgcc -v‚ðŽÀsŽž‚É•\Ž¦‚³‚ê‚é“à—e - y“®ìƒVƒXƒeƒ€zFreeBSD, Linux(ƒfƒBƒXƒgƒŠƒrƒ…[ƒWƒ‡ƒ“‚à), cygwin‚È‚Ç - y”¶“à—ezmap‚ª—Ž‚¿‚Ä‚µ‚Ü‚Á‚½Žž‚Ì•\Ž¦‚³‚ê‚Ä‚¢‚½ƒfƒoƒbƒOî•ñ‚È‚Ç‹ï‘Ì“I‚É‘‚¢‚Ä‚‚¾‚³‚¢B - y‘€ì“à—ez‹ï‘Ì“I‚É‚Ç‚ñ‚È‘€ì‚ðs‚Á‚½‚©‚ð‘‚¢‚Ä‚‚¾‚³‚¢B + ã€gcc ver】gcc -vを実行時ã«è¡¨ç¤ºã•ã‚Œã‚‹å†…容 + ã€å‹•ä½œã‚·ã‚¹ãƒ†ãƒ 】FreeBSD, Linux(ディストリビュージョンも), cygwinãªã© + ã€ç™ºç”Ÿå†…容】mapãŒè½ã¡ã¦ã—ã¾ã£ãŸæ™‚ã®è¡¨ç¤ºã•ã‚Œã¦ã„ãŸãƒ‡ãƒãƒƒã‚°æƒ…å ±ãªã©å…·ä½“çš„ã«æ›¸ã„ã¦ãã ã•ã„。 + ã€æ“作内容】具体的ã«ã©ã‚“ãªæ“作を行ã£ãŸã‹ã‚’書ã„ã¦ãã ã•ã„。 ------------------ END ------------------- - —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚¦‚Ämap.core‚È‚Çcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚µ‚Ä’¸‚‚±‚Æ‚Å‚·‚ª - –â‘è‚ÌMap‚¾‚¯‚Ìó‘Ô‚É‚µcore‚Ì“f‚—e—Ê‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B + ç†æƒ³ã¯ãƒ†ãƒ³ãƒ—レã«åŠ ãˆã¦map.coreãªã©coreファイルをUploaderã«ã‚¢ãƒƒãƒ—ã—ã¦é ‚ãã“ã¨ã§ã™ãŒ + å•é¡Œã®Mapã ã‘ã®çŠ¶æ…‹ã«ã—coreã®åã容é‡ã«æ³¨æ„ã—ã¦ãã ã•ã„。 /* - Šm”F‚µ‚½ŒÀ‚è‚Å‚Í324ŒÂ‚Ù‚Çmapƒf[ƒ^‚ð“Ç‚Ýž‚Ü‚¹‚é‚ÆA - 40MB‹ß‚¢coreƒtƒ@ƒCƒ‹‚ð“f‚«o‚µ‚Ü‚· @FreeBSD - cygwin‚ÌꇂÍstackdump‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚É‚È‚é‚»‚¤‚Å‚·B - ‚µ‚©‚µAcoreƒtƒ@ƒCƒ‹‚È‚Ç‚ðgzipˆ³k‚È‚Ç‚·‚ê‚Α啂ɬ‚³‚‚È‚è‚Ü‚·B - ‘å–}30MB‚Ìcoreƒtƒ@ƒCƒ‹‚ª2.9MB‚Ù‚Ç‚É‚È‚é‚悤‚Å‚·B - ‚Å‚·‚Ì‚ÅA‚à‚µƒAƒbƒvƒ[ƒh‚·‚éꇂÍgzipˆ³k‚È‚ÇŠeŽ©s‚Á‚Ä‚‚¾‚³‚¢B + 確èªã—ãŸé™ã‚Šã§ã¯324個ã»ã©mapデータをèªã¿è¾¼ã¾ã›ã‚‹ã¨ã€ + 40MBè¿‘ã„coreファイルをåã出ã—ã¾ã™ @FreeBSD + cygwinã®å ´åˆã¯stackdumpã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã«ãªã‚‹ãã†ã§ã™ã€‚ + ã—ã‹ã—ã€coreファイルãªã©ã‚’gzip圧縮ãªã©ã™ã‚Œã°å¤§å¹…ã«å°ã•ããªã‚Šã¾ã™ã€‚ + 大凡30MBã®coreファイルãŒ2.9MBã»ã©ã«ãªã‚‹ã‚ˆã†ã§ã™ã€‚ + ã§ã™ã®ã§ã€ã‚‚ã—アップãƒãƒ¼ãƒ‰ã™ã‚‹å ´åˆã¯gzip圧縮ãªã©å„自行ã£ã¦ãã ã•ã„。 */ - ¡‰ñ‚̃ŠƒŠ[ƒX‚¾‚¯‚Å‚È‚HISTORY‚ð쬂·‚é‚Æ‘å—Ê‚É‹Lq‚ª•K—v‚Ȉ×È—ª‚µ‚Ä‚¢‚Ü‚·B - // ‘½‚¢“ú‚¾‚Æ–{“–‚ÉŒ‹\‚ ‚è‚Ü‚·‚Ì‚ÅddB - - -6. jŽ« - ¡‰ñ‚±‚ÌAthenaŠJ””Å‚ðo‚·‚É“–‚½‚Á‚ÄŠ´ŽÓ‚µ‚½‚¢•ûX(‡”Ô•s“¯) - LemmingŽ (Project YARE) - 0052Ž (Uploader) - 35Ž (ƒGƒ~ƒ…ŠJ”ƒXƒŒ) - Johan LindhŽ(Author of memwatch) - YARE forum‚ÌNPCî•ñ‚ð쬂µ‚½•ûX - weissŒ¤‹†‰ïBBS‚Ì—lX‚Èî•ñƒtƒ@ƒCƒ‹‚ð쬂µ‚½•ûX - ÅŒã‚ÉA.coreƒtƒ@ƒCƒ‹’B - - -7. –ÆÓŽ–€ - Athena Project‚͈êØAthena‚Ì“®ì‚ÉŠÖ‚·‚é•ÛØ“™‚Ís‚¢‚Ü‚¹‚ñB - ‚‚܂èAAthena‚Í–³•ÛØ‚Å‚·B - athena@project-yare.de‚É“®ìE‘€ì“™‚ÉŠÖ‚·‚鎿–â‚È‚Ç‚ð‘—‚ç‚ê‚Ä‚àˆêØ‚¨“š‚¦‚Å‚«‚Ü‚¹‚ñB - –”Athena‚ð—p‚¢‚½‚±‚Æ‚É‚æ‚趂¶‚½”íŠQE–â‘è“™‚ÌÓ”C‚͈êØAthena Project‚Í•‰‚¢‚Ü‚¹‚ñB - - -8. •åW - athena‚ÌŠJ”‚ÉŽQ‰Á‚µ‚½‚¢//‹»–¡‚ª‚ ‚é‚Æ‚¢‚¤•û‚²˜A—‰º‚³‚¢B - ‰äX‚Í‹M•û‚ÌŽQ‰Á‚ð‚¨‘Ò‚¿‚µ‚Ä‚¢‚Ü‚·B - // ÅV”Å‚ª—~‚µ‚¢‚¾‚¯‚ʼn½‚狦—Í‚µ‚Ä’¸‚¯‚È‚¢‚Æ‚¢‚¤•û‚Í‚¨’f‚è‚Å‚·;-) - [•åW—v€: ƒvƒƒOƒ‰ƒ}(2-3l)] - ”N—î: •s–â - «•Ê: •s–â - Œ¾Œê: “ú–{Œê‚ª—‰ð‰Â”\ - “à—e: CŒ¾Œê‚à‚µ‚‚ÍC++‚É‚æ‚éŠJ”B(“Á‚Ƀlƒbƒgƒ[ƒN‚âDB‚ÌŒoŒ±‚ª—L‚é•û‘å•åW!) - [•åW—v€: –|–ó(?l)] - ”N—î: •s–â - «•Ê: •s–â - Œ¾Œê: “ú–{ŒêA‰pŒê‚ª—‰ð‰Â”\ - “à—e: •§—–¼ŒêA“ƈíŒêA¼”ljåŒêAˆÉ‘¾—˜ˆŸŒêA‘×(ƒ^ƒC)ŒêA’©‘NŒêA’†‘Œê‚Ö•¶Œ£AƒTƒCƒg‚È‚Ç‚Ì–|–ó - ˜A—æ: athena@project-yare.de ŽG–±’S“–‚Ü‚ÅB + 今回ã®ãƒªãƒªãƒ¼ã‚¹ã ã‘ã§ãªãHISTORYを作æˆã™ã‚‹ã¨å¤§é‡ã«è¨˜è¿°ãŒå¿…è¦ãªç‚ºçœç•¥ã—ã¦ã„ã¾ã™ã€‚ + // 多ã„æ—¥ã ã¨æœ¬å½“ã«çµæ§‹ã‚ã‚Šã¾ã™ã®ã§â€¥â€¥ã€‚ + + +6. ç¥è¾ž + 今回ã“ã®Athena開発版を出ã™ã«å½“ãŸã£ã¦æ„Ÿè¬ã—ãŸã„方々(é †ç•ªä¸åŒ) + Lemmingæ° (Project YARE) + 0052æ° (Uploader) + 35æ° (エミュ開発スレ) + Johan Lindhæ°(Author of memwatch) + YARE forumã®NPCæƒ…å ±ã‚’ä½œæˆã—ãŸæ–¹ã€… + weissç ”ç©¶ä¼šBBSã®æ§˜ã€…ãªæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä½œæˆã—ãŸæ–¹ã€… + 最後ã«ã€.coreãƒ•ã‚¡ã‚¤ãƒ«é” + + +7. å…è²¬äº‹é … + Athena Projectã¯ä¸€åˆ‡Athenaã®å‹•ä½œã«é–¢ã™ã‚‹ä¿è¨¼ç‰ã¯è¡Œã„ã¾ã›ã‚“。 + ã¤ã¾ã‚Šã€Athenaã¯ç„¡ä¿è¨¼ã§ã™ã€‚ + athena@project-yare.deã«å‹•ä½œãƒ»æ“作ç‰ã«é–¢ã™ã‚‹è³ªå•ãªã©ã‚’é€ã‚‰ã‚Œã¦ã‚‚一切ãŠç”ãˆã§ãã¾ã›ã‚“。 + åˆAthenaを用ã„ãŸã“ã¨ã«ã‚ˆã‚Šç”Ÿã˜ãŸè¢«å®³ãƒ»å•é¡Œç‰ã®è²¬ä»»ã¯ä¸€åˆ‡Athena Projectã¯è² ã„ã¾ã›ã‚“。 + + +8. 募集 + athenaã®é–‹ç™ºã«å‚åŠ ã—ãŸã„//興味ãŒã‚ã‚‹ã¨ã„ã†æ–¹ã”連絡下ã•ã„。 + 我々ã¯è²´æ–¹ã®å‚åŠ ã‚’ãŠå¾…ã¡ã—ã¦ã„ã¾ã™ã€‚ + // 最新版ãŒæ¬²ã—ã„ã ã‘ã§ä½•ã‚‰å”力ã—ã¦é ‚ã‘ãªã„ã¨ã„ã†æ–¹ã¯ãŠæ–ã‚Šã§ã™;-) + [募集è¦é …: プãƒã‚°ãƒ©ãƒž(2-3人)] + å¹´é½¢: ä¸å• + 性別: ä¸å• + 言語: 日本語ãŒç†è§£å¯èƒ½ + 内容: C言語もã—ãã¯C++ã«ã‚ˆã‚‹é–‹ç™ºã€‚(特ã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„DBã®çµŒé¨“ãŒæœ‰ã‚‹æ–¹å¤§å‹Ÿé›†!) + [募集è¦é …: 翻訳(?人)] + å¹´é½¢: ä¸å• + 性別: ä¸å• + 言語: 日本語ã€è‹±èªžãŒç†è§£å¯èƒ½ + 内容: ä»è˜è¥¿èªžã€ç‹¬é€¸èªžã€è¥¿ç牙語ã€ä¼Šå¤ªåˆ©äºœèªžã€æ³°(タイ)語ã€æœé®®èªžã€ä¸å›½èªžã¸æ–‡çŒ®ã€ã‚µã‚¤ãƒˆãªã©ã®ç¿»è¨³ + 連絡先: athena@project-yare.de 雑務担当ã¾ã§ã€‚ 9. English diff --git a/doc/coredump_report.txt b/doc/coredump_report.txt index 670472f..4b41215 100644 --- a/doc/coredump_report.txt +++ b/doc/coredump_report.txt @@ -1,94 +1,94 @@ ========================================================================== - ƒT[ƒo[‚ª‹§I—¹‚·‚éꇂÌcoredump‚É‚æ‚éÚׂȃoƒO•ñ•û–@ + サーãƒãƒ¼ãŒå¼·åˆ¶çµ‚了ã™ã‚‹å ´åˆã®coredumpã«ã‚ˆã‚‹è©³ç´°ãªãƒã‚°å ±å‘Šæ–¹æ³• -------------------------------------------------------------------------- -< ‚±‚̃tƒ@ƒCƒ‹‚͉½H > +< ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ä½•ï¼Ÿ > - AthenaŽg—p’†‚Émap-server.exe‚È‚Ç‚ª“Ë‘R—Ž‚¿‚½ê‡‚ÉA—Ž‚¿‚½‚Æ‚«‚̃Xƒ^ƒbƒN‚Ì - ƒoƒbƒNƒgƒŒ[ƒX‚ð‚ðŠJ”ŽÒ‚É“`‚¦‚é•û–@‚ð‰ðà‚·‚éB - ƒoƒO•ñ‚ÌŽž‚É•¹—p‚·‚é‚ÆŠJ”ŽÒ‚ªŠì‚Ô‚©‚à‚µ‚ê‚È‚¢B + Athena使用ä¸ã«map-server.exeãªã©ãŒçªç„¶è½ã¡ãŸå ´åˆã«ã€è½ã¡ãŸã¨ãã®ã‚¹ã‚¿ãƒƒã‚¯ã® + ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’を開発者ã«ä¼ãˆã‚‹æ–¹æ³•ã‚’解説ã™ã‚‹ã€‚ + ãƒã‚°å ±å‘Šã®æ™‚ã«ä½µç”¨ã™ã‚‹ã¨é–‹ç™ºè€…ãŒå–œã¶ã‹ã‚‚ã—ã‚Œãªã„。 - ‚±‚±‚Å‚Ìu—Ž‚¿‚év‚Í‚ ‚‚܂ŃT[ƒo[‚Å‚ ‚èAƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Í‚È‚¢B - ‚Ü‚½ƒvƒƒZƒX‚ªcorei‚Ü‚½‚Ístackdumpj‚ð“f‚Œ»Û‚Ì‚±‚Æ‚Å‚ ‚èA - –³ŒÀƒ‹[ƒv‚Ȃǂ̃vƒƒZƒX‚Ͷ‚«‚Ä‚¢‚邪ƒT[ƒo[‚Ì‹@”\‚Í’ñ‹Ÿ‚³‚ê‚È‚¢ó‘Ô‚Ì - ‚±‚Æ‚Å‚Í‚È‚¢B + ã“ã“ã§ã®ã€Œè½ã¡ã‚‹ã€ã¯ã‚ãã¾ã§ã‚µãƒ¼ãƒãƒ¼ã§ã‚ã‚Šã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ã¯ãªã„。 + ã¾ãŸãƒ—ãƒã‚»ã‚¹ãŒcore(ã¾ãŸã¯stackdump)をåãç¾è±¡ã®ã“ã¨ã§ã‚り〠+ ç„¡é™ãƒ«ãƒ¼ãƒ—ãªã©ã®ãƒ—ãƒã‚»ã‚¹ã¯ç”Ÿãã¦ã„ã‚‹ãŒã‚µãƒ¼ãƒãƒ¼ã®æ©Ÿèƒ½ã¯æä¾›ã•ã‚Œãªã„状態㮠+ ã“ã¨ã§ã¯ãªã„。 -------------------------------------------------------------------------- -< –ÚŽŸ > +< 目次 > - * Cygwin‚Å‚Ìstackdump‚Æcore - Cygwinã‚Åcoreƒtƒ@ƒCƒ‹‚ð“f‚•û–@‚ðЉ‚éB + * Cygwinã§ã®stackdumpã¨core + Cygwin上ã§coreファイルをåã方法を紹介ã™ã‚‹ã€‚ - * coreƒtƒ@ƒCƒ‹‚©‚çƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚𓾂é - ƒvƒƒOƒ‰ƒ€‚ª“f‚¢‚½core‚©‚çƒoƒbƒNƒgƒŒ[ƒX‚𓾂é•û–@‚ðЉ‚éB + * coreファイルã‹ã‚‰ã‚¹ã‚¿ãƒƒã‚¯ã®ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’å¾—ã‚‹ + プãƒã‚°ãƒ©ãƒ ãŒåã„ãŸcoreã‹ã‚‰ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’得る方法を紹介ã™ã‚‹ã€‚ - * —á - ŽÀÛ‚É‚Æ‚Á‚½ƒƒO‚Ì—á‚ðŽ¦‚·B + * 例 + 実際ã«ã¨ã£ãŸãƒã‚°ã®ä¾‹ã‚’示ã™ã€‚ -------------------------------------------------------------------------- -< Cygwin‚Å‚Ìstackdump‚Æcore > +< Cygwinã§ã®stackdumpã¨core > - Cygwin‚ŃvƒƒOƒ‰ƒ€‚ª‹§I—¹‚·‚éiƒAƒNƒZƒXˆá”½‚È‚Ç‚É‚æ‚é‚à‚Ìjê‡A•W€‚Å‚Í - core‚Å‚Í‚È‚stackdump‚ð“f‚B‚±‚ê‚Í‘S‚‚Æ‚¢‚Á‚Ä—Ç‚¢‚Ù‚Ç–ð‚É—§‚½‚È‚¢‚½‚ßA - stackdump‚ðƒRƒsƒy‚³‚ê‚Ä‚àŠJ”ŽÒ‚Í‚¨‚»‚ç‚Œ©‚È‚¢‚¾‚낤B + Cygwinã§ãƒ—ãƒã‚°ãƒ©ãƒ ãŒå¼·åˆ¶çµ‚了ã™ã‚‹ï¼ˆã‚¢ã‚¯ã‚»ã‚¹é•åãªã©ã«ã‚ˆã‚‹ã‚‚ã®ï¼‰å ´åˆã€æ¨™æº–ã§ã¯ + coreã§ã¯ãªãstackdumpã‚’åã。ã“ã‚Œã¯å…¨ãã¨ã„ã£ã¦è‰¯ã„ã»ã©å½¹ã«ç«‹ãŸãªã„ãŸã‚〠+ stackdumpをコピペã•ã‚Œã¦ã‚‚開発者ã¯ãŠãらã見ãªã„ã ã‚ã†ã€‚ - ‚æ‚Á‚ÄŽŸ‚Ì•û–@‚ÅAstackdump‚Å‚Í‚È‚core‚ð“f‚‚悤‚É‚·‚éB - ** ŠÂ‹«•Ï”‚Éuerror_start=dumper.exev‚ð’ljÁ‚·‚é ** + よã£ã¦æ¬¡ã®æ–¹æ³•ã§ã€stackdumpã§ã¯ãªãcoreã‚’åãよã†ã«ã™ã‚‹ã€‚ + ** 環境変数ã«ã€Œerror_start=dumper.exeã€ã‚’è¿½åŠ ã™ã‚‹ ** - ‚æ‚‚í‚©‚ç‚È‚¢ê‡AŽŸ‚̂悤‚Éì‹Æ‚·‚é‚Æ‚¢‚¢BiWin2000‚Å‚Ì‚ÝŠm”Fj - * ƒfƒXƒNƒgƒbƒv‚Ìuƒ}ƒCƒRƒ“ƒsƒ…[ƒ^v‚ð‰EƒNƒŠƒbƒN‚µ‚ÄuƒvƒƒpƒeƒBv‚ðo‚·B - * [Ú×]ƒ^ƒu‚ðŠJ‚«A[ŠÂ‹«•Ï”]ƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚·‚éB - * ƒ†[ƒU[ŠÂ‹«•Ï”AƒVƒXƒeƒ€ŠÂ‹«•Ï”‚Ì‚Ç‚¿‚ç‚©uCYGWINv‚Æ‚¢‚¤•Ï”‚ª‚È‚¢‚©’T‚· - * ‚ ‚éꇂÍA‘I‘ð‚µ‚Ä[•ÒW]ƒ{ƒ^ƒ“‚ð‰Ÿ‚µA[•Ï”’l]‚Éuerror_start=dumper.exev - ‚ð’ljÁ‚·‚éBŠù‚ɉ½‚©‚Ì’PŒê‚ª‚ ‚éꇂÍA’PŒê‚ð‹æ؂邽‚ßA - ’ljÁ‚·‚é•”•ª‚Ìʼn‚É”¼ŠpƒXƒy[ƒX‚ð“ü‚ê‚邱‚Æ‚ð–Y‚ê‚È‚¢‚±‚ÆB - * ‚È‚¢ê‡‚ÍAƒVƒXƒeƒ€ŠÂ‹«•Ï”‚É(AdministratorŒ ŒÀ‚ª‚È‚¢‚Ȃ烆[ƒU[ŠÂ‹«•Ï”) - ‚Ì[V‹K]ƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚ÄA[•Ï”–¼]‚ÉuCYGWINvA•Ó”’l‚É - uerror_start=dumper.exev‚ð“ü—Í‚·‚éB - * OK‚ð‰Ÿ‚µ‚ăEƒBƒ“ƒhƒE‚ð•Â‚¶ACygwin‚ð‹N“®‚µ‚È‚¨‚¹‚΂悢 + よãã‚ã‹ã‚‰ãªã„å ´åˆã€æ¬¡ã®ã‚ˆã†ã«ä½œæ¥ã™ã‚‹ã¨ã„ã„。(Win2000ã§ã®ã¿ç¢ºèªï¼‰ + * デスクトップã®ã€Œãƒžã‚¤ã‚³ãƒ³ãƒ”ュータã€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œãƒ—ãƒãƒ‘ティã€ã‚’出ã™ã€‚ + * [詳細]タブを開ãã€[環境変数]ボタンをクリックã™ã‚‹ã€‚ + * ユーザー環境変数ã€ã‚·ã‚¹ãƒ†ãƒ 環境変数ã®ã©ã¡ã‚‰ã‹ã€ŒCYGWINã€ã¨ã„ã†å¤‰æ•°ãŒãªã„ã‹æŽ¢ã™ + * ã‚ã‚‹å ´åˆã¯ã€é¸æŠžã—ã¦[編集]ボタンを押ã—ã€[変数値]ã«ã€Œerror_start=dumper.exe〠+ ã‚’è¿½åŠ ã™ã‚‹ã€‚æ—¢ã«ä½•ã‹ã®å˜èªžãŒã‚ã‚‹å ´åˆã¯ã€å˜èªžã‚’区切るãŸã‚〠+ è¿½åŠ ã™ã‚‹éƒ¨åˆ†ã®æœ€åˆã«åŠè§’スペースを入れるã“ã¨ã‚’忘れãªã„ã“ã¨ã€‚ + * ãªã„å ´åˆã¯ã€ã‚·ã‚¹ãƒ†ãƒ 環境変数ã«(Administrator権é™ãŒãªã„ãªã‚‰ãƒ¦ãƒ¼ã‚¶ãƒ¼ç’°å¢ƒå¤‰æ•°) + ã®[æ–°è¦]ボタンを押ã—ã¦ã€[変数å]ã«ã€ŒCYGWINã€ã€è¾ºæ•°å€¤ã« + 「error_start=dumper.exeã€ã‚’入力ã™ã‚‹ã€‚ + * OKを押ã—ã¦ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã€Cygwinã‚’èµ·å‹•ã—ãªãŠã›ã°ã‚ˆã„ - ‚±‚¤‚µ‚Ä‚¨‚‚ÆAstackdump‚Ì•Ï‚í‚è‚Écore‚ð“f‚‚悤‚É‚È‚éB - ƒTƒCƒY‚ª‘å‚«‚¢ê‡Acore‚ð“f‚‚Ì‚É‚Í‘½ŽžŠÔ‚ª‚©‚©‚éB - ‚Ü‚½core‚ð“f‚¢‚Ä‚¢‚éŠÔAdumper.exe‚Æ‚¢‚¤ƒvƒƒOƒ‰ƒ€‚̃EƒBƒ“ƒhƒE‚ª•\Ž¦‚³‚ê‚éB + ã“ã†ã—ã¦ãŠãã¨ã€stackdumpã®å¤‰ã‚ã‚Šã«coreã‚’åãよã†ã«ãªã‚‹ã€‚ + サイズãŒå¤§ãã„å ´åˆã€coreã‚’åãã®ã«ã¯å¤šå°‘時間ãŒã‹ã‹ã‚‹ã€‚ + ã¾ãŸcoreã‚’åã„ã¦ã„ã‚‹é–“ã€dumper.exeã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã€‚ -------------------------------------------------------------------------- -< coreƒtƒ@ƒCƒ‹‚©‚çƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚𓾂é > +< coreファイルã‹ã‚‰ã‚¹ã‚¿ãƒƒã‚¯ã®ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’å¾—ã‚‹ > - core‚ð“f‚ê‡A‚Ü‚¸ŠJ”ŽÒ‚̓Xƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚ð—~‚µ‚ª‚éBƒGƒ‰[ŒÂŠ‚ð - ”»’f‚µ‚â‚·‚¢‚©‚炾B‚æ‚Á‚ÄAgdb‚ŃoƒbƒNƒgƒŒ[ƒX‚ðŽæ‚èo‚»‚¤B - ‚Ü‚¸AŽŸ‚̂悤‚É‚µ‚Ägdb‚ð‹N“®‚·‚éB‚±‚±‚Å‚Ímap-server.exe‚ð—á‚Éo‚·B - UNIXŒnOS‚ł̓RƒAƒtƒ@ƒCƒ‹–¼‚ðC³‚·‚é•K—v‚ª‚ ‚邾‚낤Biucorev‚È‚Çj + coreã‚’åãå ´åˆã€ã¾ãšé–‹ç™ºè€…ã¯ã‚¹ã‚¿ãƒƒã‚¯ã®ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’欲ã—ãŒã‚‹ã€‚エラー個所を + 判æ–ã—ã‚„ã™ã„ã‹ã‚‰ã 。よã£ã¦ã€gdbã§ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’å–り出ãã†ã€‚ + ã¾ãšã€æ¬¡ã®ã‚ˆã†ã«ã—ã¦gdbã‚’èµ·å‹•ã™ã‚‹ã€‚ã“ã“ã§ã¯map-server.exeを例ã«å‡ºã™ã€‚ + UNIXç³»OSã§ã¯ã‚³ã‚¢ãƒ•ã‚¡ã‚¤ãƒ«åã‚’ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã ã‚ã†ã€‚(「coreã€ãªã©ï¼‰ $ gdb -c map-server.exe.core - ‚È‚É‚â‚çFX‰p•¶‚ª•\Ž¦‚³‚êAÅŒã‚É (gdb) ‚Æ‚¢‚¤ƒvƒƒ“ƒvƒg‚ªo‚½‚Í‚¸‚¾B - ‚±‚Ì’¼‘O‚ɃGƒ‰[‚Ì‹N‚±‚Á‚½ŠÖ”‚âƒtƒ@ƒCƒ‹–¼‚È‚Ç‚ÆA‚»‚Ì“à—e‚ª•\Ž¦‚³‚ê‚Ä‚¢‚é - ‚Í‚¸‚È‚Ì‚ÅA‚±‚ê‚̓Rƒsƒy‚·‚ׂ«‚¾B + ãªã«ã‚„ら色々英文ãŒè¡¨ç¤ºã•ã‚Œã€æœ€å¾Œã« (gdb) ã¨ã„ã†ãƒ—ãƒãƒ³ãƒ—トãŒå‡ºãŸã¯ãšã 。 + ã“ã®ç›´å‰ã«ã‚¨ãƒ©ãƒ¼ã®èµ·ã“ã£ãŸé–¢æ•°ã‚„ファイルåãªã©ã¨ã€ãã®å†…容ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã‚‹ + ã¯ãšãªã®ã§ã€ã“ã‚Œã¯ã‚³ãƒ”ペã™ã¹ãã 。 - ‚Ü‚½A‚±‚±‚Åubtv‚Æ“ü—Í‚·‚é‚ÆAƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚ª•\Ž¦‚³‚ê‚éB - ‚±‚ê‚àƒRƒsƒy‚·‚é‚Æ‚æ‚¢B‚½‚¾‚µA‚ ‚Ü‚è‚É‚à’·‚¢ê‡‚Íʼn‚Ì\”s’ö“x‚Å - \•ª‚¾‚낤B + ã¾ãŸã€ã“ã“ã§ã€Œbtã€ã¨å…¥åŠ›ã™ã‚‹ã¨ã€ã‚¹ã‚¿ãƒƒã‚¯ã®ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã€‚ + ã“れもコピペã™ã‚‹ã¨ã‚ˆã„。ãŸã ã—ã€ã‚ã¾ã‚Šã«ã‚‚é•·ã„å ´åˆã¯æœ€åˆã®å数行程度㧠+ å分ã ã‚ã†ã€‚ - ‚¿‚È‚Ý‚ÉAup •Ï”–¼v‚̂悤‚É“ü—Í‚·‚é‚Æ•Ï”‚ðŒ©‚½‚è‚ào—ˆ‚éB - ŠÖ˜A‚µ‚»‚¤‚È•Ï”‚Ì’l‚ðFX•\Ž¦‚µ‚Ĉê‚ɃRƒsƒy‚·‚é‚ÆŠJ”ŽÒ‚ªŠì‚Ô‚©‚à‚µ‚ê‚È‚¢B + ã¡ãªã¿ã«ã€ã€Œp 変数åã€ã®ã‚ˆã†ã«å…¥åŠ›ã™ã‚‹ã¨å¤‰æ•°ã‚’見ãŸã‚Šã‚‚出æ¥ã‚‹ã€‚ + 関連ã—ãã†ãªå¤‰æ•°ã®å€¤ã‚’色々表示ã—ã¦ä¸€ç·’ã«ã‚³ãƒ”ペã™ã‚‹ã¨é–‹ç™ºè€…ãŒå–œã¶ã‹ã‚‚ã—ã‚Œãªã„。 - gdb‚ðI—¹‚·‚éꇂÍAuqv‚Æ‘Å‚¿ž‚ÞB + gdbを終了ã™ã‚‹å ´åˆã¯ã€ã€Œqã€ã¨æ‰“ã¡è¾¼ã‚€ã€‚ -------------------------------------------------------------------------- -< —á > +< 例 > - ˆÈ‰º‚Ímob.c‚Ìmob_warp()ŠÖ”‚Å‚í‚´‚ƃAƒNƒZƒXˆá”½‚ð‹N‚±‚µ‚Ä‚Æ‚Á‚½ƒƒO‚Å‚ ‚éB - ƒGƒ‰[‚ÌêŠA‚Ç‚¤‚¢‚¤‡‚ŌĂÑo‚³‚ꂽ‚©‚ª‚í‚©‚邾‚낤B + 以下ã¯mob.cã®mob_warp()関数ã§ã‚ã–ã¨ã‚¢ã‚¯ã‚»ã‚¹é•åã‚’èµ·ã“ã—ã¦ã¨ã£ãŸãƒã‚°ã§ã‚る。 + エラーã®å ´æ‰€ã€ã©ã†ã„ã†é †ã§å‘¼ã³å‡ºã•ã‚ŒãŸã‹ãŒã‚ã‹ã‚‹ã ã‚ã†ã€‚ - ‚à‚¿‚ë‚ñAAthena‚̃pƒbƒ`”Ô†‚Ì•ñ‚ð–Y‚ê‚È‚¢‚±‚ÆB - ƒpƒbƒ`‚ªˆá‚¤‚ÆAƒ\[ƒXƒtƒ@ƒCƒ‹‚ª•Ï‚í‚é‚Ì‚ÅAs”Ô†‚ª–ð‚É—§‚½‚È‚‚Ȃ邽‚ß‚¾B + ã‚‚ã¡ã‚ã‚“ã€Athenaã®ãƒ‘ッãƒç•ªå·ã®å ±å‘Šã‚’忘れãªã„ã“ã¨ã€‚ + パッãƒãŒé•ã†ã¨ã€ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ãŒå¤‰ã‚ã‚‹ã®ã§ã€è¡Œç•ªå·ãŒå½¹ã«ç«‹ãŸãªããªã‚‹ãŸã‚ã 。 - ‚È‚¨ˆÈ‰º‚Ì—á‚Å‚ÍAƒoƒbƒNƒgƒŒ[ƒXˆÈŠO‚ÉA - pƒRƒ}ƒ“ƒh‚ðŽg‚Á‚ÄŠY“–‚ÌMOB‚Ì–¼‘Oi‰pŒêj‚ÆAƒ}ƒbƒv‚Ì–¼‘O‚ð•\Ž¦‚µ‚Ä‚¢‚éB + ãªãŠä»¥ä¸‹ã®ä¾‹ã§ã¯ã€ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ä»¥å¤–ã«ã€ + pコマンドを使ã£ã¦è©²å½“ã®MOBã®åå‰ï¼ˆè‹±èªžï¼‰ã¨ã€ãƒžãƒƒãƒ—ã®åå‰ã‚’表示ã—ã¦ã„る。 (FAKE_ANGEL, gef_dun03.gat) #0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845 @@ -96,7 +96,7 @@ (gdb) bt #0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845 #1 0x0042609d in mob_ai_sub_lazy (key=0x68e77f5, data=0x10119c88, - app=0x22fe88 "¤þ\"") at mob.c:1412 + app=0x22fe88 "、\"") at mob.c:1412 #2 0x00455b54 in db_foreach (table=0x22fe88, func=0x610691f2 <select+242>) at db.c:414 #3 0x10119c88 in ?? () diff --git a/src/char_sql/char.c b/src/char_sql/char.c index 4bfce6d..312d302 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -3241,7 +3241,7 @@ int check_connect_login_server (int tid, unsigned int tick, int id, int data) //---------------------------------------------------------- // Return numerical value of a switch configuration by [Yor] -// on/off, english, fran軋is, deutsch, espal +// on/off, english, français, deutsch, español //---------------------------------------------------------- int config_switch (const char *str) { diff --git a/src/login/login.c b/src/login/login.c index c397212..1db85ad 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -4181,7 +4181,7 @@ int parse_login (int fd) //------------------------------------------------- // Return numerical value of a switch configuration -// on/off, english, fran�ais, deutsch, espa�ol +// on/off, english, français, deutsch, español //------------------------------------------------- int config_switch (const char *str) { diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 3c06a77..681cccf 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -212,7 +212,7 @@ ATCOMMAND_FUNC (wgm); ATCOMMAND_FUNC (ipcheck); /*========================================== - *AtCommandInfo atcommand_info[]\‘¢‘Ì‚Ì’è‹` + *AtCommandInfo atcommand_info[]æ§‹é€ ä½“ã®å®šç¾© *------------------------------------------ */ @@ -619,7 +619,7 @@ int e_mail_check (unsigned char *email) } /*========================================== - * get_atcommand_level @ƒRƒ}ƒ“ƒh‚Ì•K—vƒŒƒxƒ‹‚ðŽæ“¾ + * get_atcommand_level @コマンドã®å¿…è¦ãƒ¬ãƒ™ãƒ«ã‚’å–å¾— *------------------------------------------ */ int get_atcommand_level (const AtCommandType type) @@ -705,7 +705,7 @@ void gm_log (const char *fmt, ...) } /*========================================== - *is_atcommand @ƒRƒ}ƒ“ƒh‚É‘¶Ý‚·‚é‚©‚Ç‚¤‚©Šm”F‚·‚é + *is_atcommand @コマンドã«å˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ç¢ºèªã™ã‚‹ *------------------------------------------ */ AtCommandType @@ -1757,7 +1757,7 @@ int atcommand_speed (const int fd, struct map_session_data *sd, { sd->speed = speed; //sd->walktimer = x; - //‚±‚Ì•¶‚ð’ljÁ by ‚ê‚ + //ã“ã®æ–‡ã‚’è¿½åŠ by ã‚Œ clif_updatestatus (sd, SP_SPEED); clif_displaymessage (fd, msg_table[8]); // Speed changed. } @@ -2400,7 +2400,7 @@ int atcommand_pvpoff (const int fd, struct map_session_data *sd, map[sd->bl.m].flag.pvp = 0; clif_send0199 (sd->bl.m, 0); for (i = 0; i < fd_max; i++) - { //l”•ªƒ‹[ƒv + { //人数分ループ if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) { @@ -2546,11 +2546,11 @@ int atcommand_model (const int fd, struct map_session_data *sd, hair_color >= MIN_HAIR_COLOR && hair_color <= MAX_HAIR_COLOR && cloth_color >= MIN_CLOTH_COLOR && cloth_color <= MAX_CLOTH_COLOR) { - //•ž‚ÌF•ÏX + //æœã®è‰²å¤‰æ›´ if (cloth_color != 0 && sd->status.sex == 1 && (sd->status.class == 12 || sd->status.class == 17)) { - //•ž‚ÌF–¢ŽÀ‘•E‚Ì”»’è + //æœã®è‰²æœªå®Ÿè£…è·ã®åˆ¤å®š clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. return -1; } @@ -3208,8 +3208,8 @@ int atcommand_produce (const int fd, struct map_session_data *sd, tmp_item.card[0] = 0x00ff; tmp_item.card[1] = ((star * 5) << 8) + attribute; *((unsigned long *) (&tmp_item.card[2])) = sd->char_id; - clif_produceeffect (sd, 0, item_id); // »‘¢ƒGƒtƒFƒNƒgƒpƒPƒbƒg - clif_misceffect (&sd->bl, 3); // ‘¼l‚ɂଌ÷‚ð’Ê’m + clif_produceeffect (sd, 0, item_id); // è£½é€ ã‚¨ãƒ•ã‚§ã‚¯ãƒˆãƒ‘ã‚±ãƒƒãƒˆ + clif_misceffect (&sd->bl, 3); // 他人ã«ã‚‚æˆåŠŸã‚’通知 if ((flag = pc_additem (sd, &tmp_item, 1))) clif_additem (sd, 0, 0, flag); } @@ -4483,7 +4483,7 @@ int atcommand_raisemap (const int fd, struct map_session_data *sd, } /*========================================== - * atcommand_character_baselevel @charbaselvl‚Å‘ÎÛƒLƒƒƒ‰‚̃Œƒxƒ‹‚ðã‚°‚é + * atcommand_character_baselevel @charbaselvlã§å¯¾è±¡ã‚ャラã®ãƒ¬ãƒ™ãƒ«ã‚’上ã’ã‚‹ *------------------------------------------ */ int atcommand_character_baselevel (const int fd, struct map_session_data *sd, @@ -4573,11 +4573,11 @@ int atcommand_character_baselevel (const int fd, struct map_session_data *sd, return -1; } - return 0; //³íI—¹ + return 0; //æ£å¸¸çµ‚了 } /*========================================== - * atcommand_character_joblevel @charjoblvl‚Å‘ÎÛƒLƒƒƒ‰‚ÌJobƒŒƒxƒ‹‚ðã‚°‚é + * atcommand_character_joblevel @charjoblvlã§å¯¾è±¡ã‚ャラã®Jobレベルを上ã’ã‚‹ *------------------------------------------ */ int atcommand_character_joblevel (const int fd, struct map_session_data *sd, @@ -4586,7 +4586,7 @@ int atcommand_character_joblevel (const int fd, struct map_session_data *sd, struct map_session_data *pl_sd; char character[100]; int max_level = 50, level = 0; - //“]¶‚â—{Žq‚Ìꇂ̌³‚ÌE‹Æ‚ðŽZo‚·‚é + //転生や養åã®å ´åˆã®å…ƒã®è·æ¥ã‚’算出ã™ã‚‹ struct pc_base_job pl_s_class; memset (character, '\0', sizeof (character)); @@ -4607,7 +4607,7 @@ int atcommand_character_joblevel (const int fd, struct map_session_data *sd, { // you can change job level only lower or same gm level if (pl_s_class.job == 0) max_level -= 40; - if ((pl_s_class.job == 23) || (pl_s_class.upper == 1 && pl_s_class.type == 2)) //ƒXƒpƒmƒr‚Æ“]¶E‚ÍJobƒŒƒxƒ‹‚ÌÅ‚‚ª70 + if ((pl_s_class.job == 23) || (pl_s_class.upper == 1 && pl_s_class.type == 2)) //スパノビã¨è»¢ç”Ÿè·ã¯Jobレベルã®æœ€é«˜ãŒ70 max_level += 20; if (level > 0) @@ -5051,7 +5051,7 @@ int atcommand_agitend (const int fd, struct map_session_data *sd, } /*========================================== - * @mapexit‚Ń}ƒbƒvƒT[ƒo[‚ðI—¹‚³‚¹‚é + * @mapexitã§ãƒžãƒƒãƒ—サーãƒãƒ¼ã‚’終了ã•ã›ã‚‹ *------------------------------------------ */ int atcommand_mapexit (const int fd, struct map_session_data *sd, diff --git a/src/map/skill.c b/src/map/skill.c index 5745374..8a2b6b5 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1,5 +1,5 @@ // $Id: skill.c,v 1.8 2004/09/25 05:32:19 MouseJstr Exp $ -/* ƒXƒLƒ‹ŠÖŒW */ +/* スã‚ル関係 */ #include <stdio.h> #include <stdlib.h> @@ -31,92 +31,92 @@ #define STATE_BLIND 0x10 -/* ƒXƒLƒ‹”Ô†„ƒXƒe[ƒ^ƒXˆÙí”Ô†•ÏŠ·ƒe[ƒuƒ‹ */ -int SkillStatusChangeTable[] = { /* skill.h‚Ìenum‚ÌSC_***‚Æ‚ ‚킹‚邱‚Æ */ +/* スã‚ル番å·ï¼ï¼žã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ç•ªå·å¤‰æ›ãƒ†ãƒ¼ãƒ–ル */ +int SkillStatusChangeTable[] = { /* skill.hã®enumã®SC_***ã¨ã‚ã‚ã›ã‚‹ã“㨠*/ /* 0- */ -1, -1, -1, -1, -1, -1, - SC_PROVOKE, /* ƒvƒƒ{ƒbƒN */ + SC_PROVOKE, /* プãƒãƒœãƒƒã‚¯ */ -1, 1, -1, /* 10- */ - SC_SIGHT, /* ƒTƒCƒg */ + SC_SIGHT, /* サイト */ -1, -1, -1, -1, - SC_FREEZE, /* ƒtƒƒXƒgƒ_ƒCƒo[ */ - SC_STONE, /* ƒXƒg[ƒ“ƒJ[ƒX */ + SC_FREEZE, /* フãƒã‚¹ãƒˆãƒ€ã‚¤ãƒãƒ¼ */ + SC_STONE, /* ストーンカース */ -1, -1, -1, /* 20- */ -1, -1, -1, -1, - SC_RUWACH, /* ƒ‹ƒAƒt */ + SC_RUWACH, /* ルアフ */ -1, -1, -1, -1, - SC_INCREASEAGI, /* ‘¬“x‘‰Á */ + SC_INCREASEAGI, /* é€Ÿåº¦å¢—åŠ */ /* 30- */ - SC_DECREASEAGI, /* ‘¬“xŒ¸ */ + SC_DECREASEAGI, /* 速度減少 */ -1, - SC_SIGNUMCRUCIS, /* ƒVƒOƒiƒ€ƒNƒ‹ƒVƒX */ - SC_ANGELUS, /* ƒGƒ“ƒWƒFƒ‰ƒX */ - SC_BLESSING, /* ƒuƒŒƒbƒVƒ“ƒO */ + SC_SIGNUMCRUCIS, /* シグナムクルシス */ + SC_ANGELUS, /* エンジェラス */ + SC_BLESSING, /* ブレッシング */ -1, -1, -1, -1, -1, /* 40- */ -1, -1, -1, -1, -1, - SC_CONCENTRATE, /* W’†—ÍŒüã */ + SC_CONCENTRATE, /* 集ä¸åŠ›å‘上 */ -1, -1, -1, -1, /* 50- */ -1, - SC_HIDING, /* ƒnƒCƒfƒBƒ“ƒO */ + SC_HIDING, /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ -1, -1, -1, -1, -1, -1, -1, -1, /* 60- */ SC_TWOHANDQUICKEN, /* 2HQ */ SC_AUTOCOUNTER, -1, -1, -1, -1, - SC_IMPOSITIO, /* ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒX */ - SC_SUFFRAGIUM, /* ƒTƒtƒ‰ƒMƒEƒ€ */ - SC_ASPERSIO, /* ƒAƒXƒyƒ‹ƒVƒI */ - SC_BENEDICTIO, /* ¹‘Ì~•Ÿ */ + SC_IMPOSITIO, /* インãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ */ + SC_SUFFRAGIUM, /* サフラギウム*/ + SC_ASPERSIO, /* アスペルシオ */ + SC_BENEDICTIO, /* è–体é™ç¦ */ /* 70- */ -1, SC_SLOWPOISON, -1, - SC_KYRIE, /* ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“ */ - SC_MAGNIFICAT, /* ƒ}ƒOƒjƒtƒBƒJ[ƒg */ - SC_GLORIA, /* ƒOƒƒŠƒA */ - SC_DIVINA, /* ƒŒƒbƒNƒXƒfƒBƒr[ƒi */ + SC_KYRIE, /* ã‚リエエレイソン */ + SC_MAGNIFICAT, /* マグニフィカート */ + SC_GLORIA, /* ã‚°ãƒãƒªã‚¢ */ + SC_DIVINA, /* レックスディビーナ */ -1, - SC_AETERNA, /* ƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi */ + SC_AETERNA, /* レックスエーテルナ */ -1, /* 80- */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 90- */ -1, -1, - SC_QUAGMIRE, /* ƒNƒ@ƒOƒ}ƒCƒA */ + SC_QUAGMIRE, /* クァグマイア */ -1, -1, -1, -1, -1, -1, -1, /* 100- */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 110- */ -1, - SC_ADRENALINE, /* ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… */ - SC_WEAPONPERFECTION, /* ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ */ - SC_OVERTHRUST, /* ƒI[ƒo[ƒgƒ‰ƒXƒg */ - SC_MAXIMIZEPOWER, /* ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ */ + SC_ADRENALINE, /* アドレナリンラッシュ */ + SC_WEAPONPERFECTION, /* ウェãƒãƒ³ãƒ‘ーフェクション */ + SC_OVERTHRUST, /* オーãƒãƒ¼ãƒˆãƒ©ã‚¹ãƒˆ */ + SC_MAXIMIZEPOWER, /* マã‚シマイズパワー */ -1, -1, -1, -1, -1, /* 120- */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 130- */ -1, -1, -1, -1, -1, - SC_CLOAKING, /* ƒNƒ[ƒLƒ“ƒO */ - SC_STAN, /* ƒ\ƒjƒbƒNƒuƒ[ */ + SC_CLOAKING, /* クãƒãƒ¼ã‚ング */ + SC_STAN, /* ソニックブãƒãƒ¼ */ -1, - SC_ENCPOISON, /* ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“ */ - SC_POISONREACT, /* ƒ|ƒCƒYƒ“ƒŠƒAƒNƒg */ + SC_ENCPOISON, /* エンãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ */ + SC_POISONREACT, /* ãƒã‚¤ã‚ºãƒ³ãƒªã‚¢ã‚¯ãƒˆ */ /* 140- */ - SC_POISON, /* ƒxƒmƒ€ƒ_ƒXƒg */ - SC_SPLASHER, /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + SC_POISON, /* ベノムダスト */ + SC_SPLASHER, /* ベナムスプラッシャー */ -1, - SC_TRICKDEAD, /* Ž€‚ñ‚¾‚Ó‚è */ + SC_TRICKDEAD, /* æ»ã‚“ã ãµã‚Š */ -1, -1, -1, -1, -1, -1, /* 150- */ -1, -1, -1, -1, -1, - SC_LOUD, /* ƒ‰ƒEƒhƒ{ƒCƒX */ + SC_LOUD, /* ラウドボイス */ -1, - SC_ENERGYCOAT, /* ƒGƒiƒW[ƒR[ƒg */ + SC_ENERGYCOAT, /* エナジーコート */ -1, -1, /* 160- */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -719,7 +719,7 @@ static const int diry[8] = { 1, 1, 0, -1, -1, -1, 0, 1 }; static int rdamage; -/* ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX */ +/* スã‚ルデータベース */ struct skill_db skill_db[MAX_SKILL_DB]; #define UNARMED_PLAYER_DAMAGE_MIN(bl) (skill_power_bl((bl), TMW_BRAWLING) >> 4) // +50 for 200 @@ -835,7 +835,7 @@ int skill_get_castnodex (int id, int lv) return (lv <= 0) ? 0 : skill_db[id].castnodex[lv - 1]; } -/* ƒvƒƒgƒ^ƒCƒv */ +/* プãƒãƒˆã‚¿ã‚¤ãƒ— */ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid, int skilllv, int x, int y, int flag); @@ -878,136 +878,136 @@ static int distance (int x0, int y0, int x1, int y1) return dx > dy ? dx : dy; } -/* ƒXƒLƒ‹ƒ†ƒjƒbƒgID‚ð•Ô‚·i‚±‚ê‚àƒf[ƒ^ƒx[ƒX‚É“ü‚ꂽ‚¢‚Èj */ +/* スã‚ルユニットIDã‚’è¿”ã™ï¼ˆã“れもデータベースã«å…¥ã‚ŒãŸã„ãªï¼‰ */ int skill_get_unit_id (int id, int flag) { switch (id) { case MG_SAFETYWALL: - return 0x7e; /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ + return 0x7e; /* セイフティウォール */ case MG_FIREWALL: - return 0x7f; /* ƒtƒ@ƒCƒA[ƒEƒH[ƒ‹ */ + return 0x7f; /* ファイアーウォール */ case AL_WARP: - return (flag == 0) ? 0x81 : 0x80; /* ƒ[ƒvƒ|[ƒ^ƒ‹ */ + return (flag == 0) ? 0x81 : 0x80; /* ワープãƒãƒ¼ã‚¿ãƒ« */ case PR_BENEDICTIO: - return 0x82; /* ¹‘Ì~•Ÿ */ + return 0x82; /* è–体é™ç¦ */ case PR_SANCTUARY: - return 0x83; /* ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ */ + return 0x83; /* サンクãƒãƒ¥ã‚¢ãƒª */ case PR_MAGNUS: - return 0x84; /* ƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ */ + return 0x84; /* マグヌスエクソシズム*/ case AL_PNEUMA: - return 0x85; /* ƒjƒ…[ƒ} */ + return 0x85; /* ニューマ */ case MG_THUNDERSTORM: - return 0x86; /* ƒTƒ“ƒ_[ƒXƒg[ƒ€ */ + return 0x86; /* サンダーストーム*/ case WZ_HEAVENDRIVE: - return 0x86; /* ƒwƒ”ƒ“ƒYƒhƒ‰ƒCƒu */ + return 0x86; /* ヘヴンズドライブ */ case WZ_SIGHTRASHER: - return 0x86; /* ƒTƒCƒgƒ‰ƒbƒVƒƒ[ */ + return 0x86; /* サイトラッシャー */ case WZ_METEOR: - return 0x86; /* ƒƒeƒIƒXƒg[ƒ€ */ + return 0x86; /* メテオストーム*/ case WZ_VERMILION: - return 0x86; /* ƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ */ + return 0x86; /* ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオン */ case WZ_FROSTNOVA: - return 0x86; /* ƒtƒƒXƒgƒmƒ”ƒ@ */ + return 0x86; /* フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ */ case WZ_STORMGUST: - return 0x86; /* ƒXƒg[ƒ€ƒKƒXƒg(‚Æ‚è‚ ‚¦‚¸LoV‚Æ“¯‚¶‚ň—) */ + return 0x86; /* ストームガスト(ã¨ã‚Šã‚ãˆãšLoVã¨åŒã˜ã§å‡¦ç†) */ case CR_GRANDCROSS: - return 0x86; /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ + return 0x86; /* グランドクãƒã‚¹ */ case WZ_FIREPILLAR: - return (flag == 0) ? 0x87 : 0x88; /* ƒtƒ@ƒCƒA[ƒsƒ‰[ */ + return (flag == 0) ? 0x87 : 0x88; /* ファイアーピラー */ case HT_TALKIEBOX: - return 0x99; /* ƒg[ƒL[ƒ{ƒbƒNƒX */ + return 0x99; /* トーã‚ーボックス */ case WZ_ICEWALL: - return 0x8d; /* ƒAƒCƒXƒEƒH[ƒ‹ */ + return 0x8d; /* アイスウォール */ case WZ_QUAGMIRE: - return 0x8e; /* ƒNƒ@ƒOƒ}ƒCƒA */ + return 0x8e; /* クァグマイア */ case HT_BLASTMINE: - return 0x8f; /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ + return 0x8f; /* ブラストマイン */ case HT_SKIDTRAP: - return 0x90; /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ + return 0x90; /* スã‚ッドトラップ */ case HT_ANKLESNARE: - return 0x91; /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ + return 0x91; /* アンクルスãƒã‚¢ */ case AS_VENOMDUST: - return 0x92; /* ƒxƒmƒ€ƒ_ƒXƒg */ + return 0x92; /* ベノムダスト */ case HT_LANDMINE: - return 0x93; /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ + return 0x93; /* ランドマイン */ case HT_SHOCKWAVE: - return 0x94; /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ + return 0x94; /* ショックウェーブトラップ */ case HT_SANDMAN: - return 0x95; /* ƒTƒ“ƒhƒ}ƒ“ */ + return 0x95; /* サンドマン */ case HT_FLASHER: - return 0x96; /* ƒtƒ‰ƒbƒVƒƒ[ */ + return 0x96; /* フラッシャー */ case HT_FREEZINGTRAP: - return 0x97; /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ + return 0x97; /* フリージングトラップ */ case HT_CLAYMORETRAP: - return 0x98; /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ + return 0x98; /* クレイモアートラップ */ case SA_VOLCANO: - return 0x9a; /* ƒ{ƒ‹ƒP[ƒm */ + return 0x9a; /* ボルケーノ */ case SA_DELUGE: - return 0x9b; /* ƒfƒŠƒ…[ƒW */ + return 0x9b; /* デリュージ */ case SA_VIOLENTGALE: - return 0x9c; /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ + return 0x9c; /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ case SA_LANDPROTECTOR: - return 0x9d; /* ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ */ + return 0x9d; /* ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼ */ case BD_LULLABY: - return 0x9e; /* ŽqŽç‰Ì */ + return 0x9e; /* åå®ˆæŒ */ case BD_RICHMANKIM: - return 0x9f; /* ƒjƒˆƒ‹ƒh‚̉ƒ */ + return 0x9f; /* ニヨルドã®å®´ */ case BD_ETERNALCHAOS: - return 0xa0; /* ‰i‰“‚̬“× */ + return 0xa0; /* æ°¸é ã®æ··æ²Œ */ case BD_DRUMBATTLEFIELD: - return 0xa1; /* 푾ŒÛ‚Ì‹¿‚« */ + return 0xa1; /* 戦太鼓ã®éŸ¿ã */ case BD_RINGNIBELUNGEN: - return 0xa2; /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ + return 0xa2; /* ニーベルングã®æŒ‡è¼ª */ case BD_ROKISWEIL: - return 0xa3; /* ƒƒL‚Ì‹©‚Ñ */ + return 0xa3; /* ãƒã‚ã®å«ã³ */ case BD_INTOABYSS: - return 0xa4; /* [•£‚Ì’†‚É */ + return 0xa4; /* 深淵ã®ä¸ã« */ case BD_SIEGFRIED: - return 0xa5; /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ + return 0xa5; /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ case BA_DISSONANCE: - return 0xa6; /* •s‹¦˜a‰¹ */ + return 0xa6; /* ä¸å”和音 */ case BA_WHISTLE: - return 0xa7; /* Œû“J */ + return 0xa7; /* å£ç¬› */ case BA_ASSASSINCROSS: - return 0xa8; /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ + return 0xa8; /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ case BA_POEMBRAGI: - return 0xa9; /* ƒuƒ‰ƒM‚ÌŽ */ + return 0xa9; /* ブラギã®è©© */ case BA_APPLEIDUN: - return 0xaa; /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ + return 0xaa; /* イドゥンã®æž—檎 */ case DC_UGLYDANCE: - return 0xab; /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ + return 0xab; /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ case DC_HUMMING: - return 0xac; /* ƒnƒ~ƒ“ƒO */ + return 0xac; /* ãƒãƒŸãƒ³ã‚° */ case DC_DONTFORGETME: - return 0xad; /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ + return 0xad; /* ç§ã‚’忘れãªã„ã§â€¦ */ case DC_FORTUNEKISS: - return 0xae; /* K‰^‚̃LƒX */ + return 0xae; /* 幸é‹ã®ã‚ス */ case DC_SERVICEFORYOU: - return 0xaf; /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + return 0xaf; /* サービスフォーユー */ case RG_GRAFFITI: - return 0xb0; /* ƒOƒ‰ƒtƒBƒeƒB */ + return 0xb0; /* グラフィティ */ case AM_DEMONSTRATION: - return 0xb1; /* ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ */ + return 0xb1; /* デモンストレーション */ case WE_CALLPARTNER: - return 0xb2; /* ‚ ‚È‚½‚Ɉ§‚¢‚½‚¢ */ + return 0xb2; /* ã‚ãªãŸã«é€¢ã„ãŸã„ */ case PA_GOSPEL: - return 0xb3; /* ƒSƒXƒyƒ‹ */ + return 0xb3; /* ゴスペル */ case HP_BASILICA: - return 0xb4; /* ƒoƒWƒŠƒJ */ + return 0xb4; /* ãƒã‚¸ãƒªã‚« */ case PF_FOGWALL: - return 0xb6; /* ƒtƒHƒOƒEƒH[ƒ‹ */ + return 0xb6; /* フォグウォール */ case PF_SPIDERWEB: - return 0xb7; /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + return 0xb7; /* スパイダーウェッブ */ } return 0; /* - * 0x89,0x8a,0x8b •\Ž¦–³‚µ - * 0x9a ‰Š‘®«‚̉r¥‚Ý‚½‚¢‚ȃGƒtƒFƒNƒg - * 0x9b …‘®«‚̉r¥‚Ý‚½‚¢‚ȃGƒtƒFƒNƒg - * 0x9c •—‘®«‚̉r¥‚Ý‚½‚¢‚ȃGƒtƒFƒNƒg - * 0x9d ”’‚¢¬‚³‚ȃGƒtƒFƒNƒg + * 0x89,0x8a,0x8b 表示無㗠+ * 0x9a 炎属性ã®è© å”±ã¿ãŸã„ãªã‚¨ãƒ•ã‚§ã‚¯ãƒˆ + * 0x9b 水属性ã®è© å”±ã¿ãŸã„ãªã‚¨ãƒ•ã‚§ã‚¯ãƒˆ + * 0x9c 風属性ã®è© å”±ã¿ãŸã„ãªã‚¨ãƒ•ã‚§ã‚¯ãƒˆ + * 0x9d 白ã„å°ã•ãªã‚¨ãƒ•ã‚§ã‚¯ãƒˆ * 0xb1 Alchemist Demonstration * 0xb2 = Pink Warp Portal * 0xb3 = Gospel For Paladin @@ -1021,14 +1021,14 @@ int skill_get_unit_id (int id, int flag) } /*========================================== - * ƒXƒLƒ‹’ljÁŒø‰Ê + * スã‚ãƒ«è¿½åŠ åŠ¹æžœ *------------------------------------------ */ int skill_additional_effect (struct block_list *src, struct block_list *bl, int skillid, int skilllv, int attack_type, unsigned int tick) { - /* MOB’ljÁŒø‰ÊƒXƒLƒ‹—p */ + /* MOBè¿½åŠ åŠ¹æžœã‚¹ã‚ル用 */ const int sc[] = { SC_POISON, SC_BLIND, SC_SILENCE, SC_STAN, SC_STONE, SC_CURSE, SC_SLEEP @@ -1063,7 +1063,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } else if (src->type == BL_MOB) { - nullpo_retr (0, md = (struct mob_data *) src); //–¢Žg—pH + nullpo_retr (0, md = (struct mob_data *) src); //未使用? } sc_def_phys_shield_spell = 0; @@ -1071,13 +1071,13 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, sc_def_phys_shield_spell = battle_get_sc_data (bl)[SC_PHYS_SHIELD].val1; - //‘ÎÛ‚Ì‘Ï« + //対象ã®è€æ€§ luk = battle_get_luk (bl); sc_def_mdef = 100 - (3 + battle_get_mdef (bl) + luk / 3); sc_def_vit = 100 - (3 + battle_get_vit (bl) + luk / 3); sc_def_int = 100 - (3 + battle_get_int (bl) + luk / 3); sc_def_luk = 100 - (3 + luk); - //Ž©•ª‚Ì‘Ï« + //自分ã®è€æ€§ luk = battle_get_luk (src); sc_def_mdef2 = 100 - (3 + battle_get_mdef (src) + luk / 3); sc_def_vit2 = 100 - (3 + battle_get_vit (src) + luk / 3); @@ -1087,7 +1087,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, dstsd = (struct map_session_data *) bl; else if (bl->type == BL_MOB) { - dstmd = (struct mob_data *) bl; //–¢Žg—pH + dstmd = (struct mob_data *) bl; //未使用? if (sc_def_mdef > 50) sc_def_mdef = 50; if (sc_def_vit > 50) @@ -1106,8 +1106,8 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, switch (skillid) { - case 0: /* ’ÊíUŒ‚ */ - /* Ž©“®‘é */ + case 0: /* 通常攻撃 */ + /* 自動鷹 */ if (sd && pc_isfalcon (sd) && sd->status.weapon == 11 && (skill = pc_checkskill (sd, HT_BLITZBEAT)) > 0 && MRAND (1000) <= sd->paramc[5] * 10 / 3 + 1) @@ -1117,7 +1117,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, (skill < lv) ? skill : lv, tick, 0xf00000); } - // ƒXƒiƒbƒ`ƒƒ[ + // スナッãƒãƒ£ãƒ¼ if (sd && sd->status.weapon != 11 && (skill = pc_checkskill (sd, RG_SNATCHER)) > 0) if ((skill * 15 + 55) + @@ -1131,7 +1131,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } break; - case SM_BASH: /* ƒoƒbƒVƒ…i‹}ŠUŒ‚j */ + case SM_BASH: /* ãƒãƒƒã‚·ãƒ¥ï¼ˆæ€¥æ‰€æ”»æ’ƒï¼‰ */ if (sd && (skill = pc_checkskill (sd, SM_FATALBLOW)) > 0) { if (MRAND (100) < 6 * (skilllv - 5) * sc_def_vit / 100) @@ -1141,8 +1141,8 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } break; - case TF_POISON: /* ƒCƒ“ƒxƒiƒ€ */ - case AS_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case TF_POISON: /* インベナム*/ + case AS_SPLASHER: /* ベナムスプラッシャー */ if (MRAND (100) < (2 * skilllv + 10) * sc_def_vit / 100) skill_status_change_start (bl, SC_POISON, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), @@ -1154,14 +1154,14 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } break; - case AS_SONICBLOW: /* ƒ\ƒjƒbƒNƒuƒ[ */ + case AS_SONICBLOW: /* ソニックブãƒãƒ¼ */ if (MRAND (100) < (2 * skilllv + 10) * sc_def_vit / 100) skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case HT_FREEZINGTRAP: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ + case HT_FREEZINGTRAP: /* フリージングトラップ */ rate = skilllv * 3 + 35; if (MRAND (100) < rate * sc_def_mdef / 100) skill_status_change_start (bl, SC_FREEZE, skilllv, 0, 0, 0, @@ -1169,8 +1169,8 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, 0); break; - case MG_FROSTDIVER: /* ƒtƒƒXƒgƒ_ƒCƒo[ */ - case WZ_FROSTNOVA: /* ƒtƒƒXƒgƒmƒ”ƒ@ */ + case MG_FROSTDIVER: /* フãƒã‚¹ãƒˆãƒ€ã‚¤ãƒãƒ¼ */ + case WZ_FROSTNOVA: /* フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ */ rate = (skilllv * 3 + 35) * sc_def_mdef / 100 - (battle_get_int (bl) + battle_get_luk (bl)) / 15; @@ -1183,7 +1183,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, clif_skill_fail (sd, skillid, 0, 0); break; - case WZ_STORMGUST: /* ƒXƒg[ƒ€ƒKƒXƒg */ + case WZ_STORMGUST: /* ストームガスト */ { struct status_change *sc_data = battle_get_sc_data (bl); if (sc_data) @@ -1198,14 +1198,14 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } break; - case HT_LANDMINE: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ + case HT_LANDMINE: /* ランドマイン */ if (MRAND (100) < (5 * skilllv + 30) * sc_def_vit / 100) skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case HT_SHOCKWAVE: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ + case HT_SHOCKWAVE: /* ショックウェーブトラップ */ if (map[bl->m].flag.pvp && dstsd) { dstsd->status.sp -= @@ -1213,51 +1213,51 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, pc_calcstatus (dstsd, 0); } break; - case HT_SANDMAN: /* ƒTƒ“ƒhƒ}ƒ“ */ + case HT_SANDMAN: /* サンドマン */ if (MRAND (100) < (5 * skilllv + 30) * sc_def_int / 100) skill_status_change_start (bl, SC_SLEEP, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case TF_SPRINKLESAND: /* »‚Ü‚« */ + case TF_SPRINKLESAND: /* ç ‚ã¾ã */ if (MRAND (100) < 15 * sc_def_int / 100) skill_status_change_start (bl, SC_BLIND, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case TF_THROWSTONE: /* ΓŠ‚° */ + case TF_THROWSTONE: /* 石投㒠*/ if (MRAND (100) < 5 * sc_def_vit / 100) skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case CR_HOLYCROSS: /* ƒz[ƒŠ[ƒNƒƒX */ + case CR_HOLYCROSS: /* ホーリークãƒã‚¹ */ if (MRAND (100) < 3 * skilllv * sc_def_int / 100) skill_status_change_start (bl, SC_BLIND, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case CR_GRANDCROSS: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ + case CR_GRANDCROSS: /* グランドクãƒã‚¹ */ { int race = battle_get_race (bl); - if ((battle_check_undead (race, battle_get_elem_type (bl)) || race == 6) && MRAND (100) < 100000 * sc_def_int / 100) //‹§•t—^‚¾‚ªŠ®‘S‘Ï«‚É‚Í–³Œø + if ((battle_check_undead (race, battle_get_elem_type (bl)) || race == 6) && MRAND (100) < 100000 * sc_def_int / 100) //強制付与ã ãŒå®Œå…¨è€æ€§ã«ã¯ç„¡åŠ¹ skill_status_change_start (bl, SC_BLIND, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); } break; - case CR_SHIELDCHARGE: /* ƒV[ƒ‹ƒhƒ`ƒƒ[ƒW */ + case CR_SHIELDCHARGE: /* シールドãƒãƒ£ãƒ¼ã‚¸ */ if (MRAND (100) < (15 + skilllv * 5) * sc_def_vit / 100) skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case RG_RAID: /* ƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒN */ + case RG_RAID: /* サプライズアタック */ if (MRAND (100) < (10 + 3 * skilllv) * sc_def_vit / 100) skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), @@ -1281,14 +1281,14 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, 0); break; - case BD_LULLABY: /* ŽqŽç‰S */ + case BD_LULLABY: /* å守唄 */ if (MRAND (100) < 15 * sc_def_int / 100) skill_status_change_start (bl, SC_SLEEP, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - /* MOB‚̒ljÁŒø‰Ê•t‚«ƒXƒLƒ‹ */ + /* MOBã®è¿½åŠ 効果付ãスã‚ル */ case NPC_PETRIFYATTACK: if (MRAND (100) < sc_def_mdef) @@ -1361,20 +1361,20 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, skill_get_time2 (skillid, skilllv), 0); break; - case ST_REJECTSWORD: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ + case ST_REJECTSWORD: /* フリージングトラップ */ if (MRAND (100) < (10 + skilllv * 5)) skill_status_change_start (bl, SC_AUTOCOUNTER, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case PF_FOGWALL: /* ƒz[ƒŠ[ƒNƒƒX */ + case PF_FOGWALL: /* ホーリークãƒã‚¹ */ if (MRAND (100) < 3 * skilllv * sc_def_int / 100) skill_status_change_start (bl, SC_BLIND, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case LK_HEADCRUSH: /* ƒwƒbƒhƒNƒ‰ƒbƒVƒ… */ - { //ðŒ‚ª—Ç‚•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É + case LK_HEADCRUSH: /* ヘッドクラッシュ */ + { //æ¡ä»¶ãŒè‰¯ã分ã‹ã‚‰ãªã„ã®ã§é©å½“ã« int race = battle_get_race (bl); if (! (battle_check_undead (race, battle_get_elem_type (bl)) @@ -1385,25 +1385,25 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, 0); } break; - case LK_JOINTBEAT: /* ƒWƒ‡ƒCƒ“ƒgƒr[ƒg */ - //ðŒ‚ª—Ç‚•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É + case LK_JOINTBEAT: /* ジョイントビート */ + //æ¡ä»¶ãŒè‰¯ã分ã‹ã‚‰ãªã„ã®ã§é©å½“ã« if (MRAND (100) < (2 * skilllv + 10) * sc_def_vit / 100) skill_status_change_start (bl, SC_JOINTBEAT, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); break; - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case PF_SPIDERWEB: /* スパイダーウェッブ */ { int sec = skill_get_time2 (skillid, skilllv); - if (map[src->m].flag.pvp) //PvP‚Å‚ÍS‘©ŽžŠÔ”¼Œ¸H + if (map[src->m].flag.pvp) //PvPã§ã¯æ‹˜æŸæ™‚é–“åŠæ¸›ï¼Ÿ sec = sec / 2; battle_stopwalking (bl, 1); skill_status_change_start (bl, SC_SPIDERWEB, skilllv, 0, 0, 0, sec, 0); } break; - case ASC_METEORASSAULT: /* ƒƒeƒIƒAƒTƒ‹ƒg */ - if (MRAND (100) < (15 + skilllv * 5) * sc_def_vit / 100) //ó‘ÔˆÙí‚ÍÚׂª•ª‚©‚ç‚È‚¢‚Ì‚Å“K“–‚É + case ASC_METEORASSAULT: /* メテオアサルト */ + if (MRAND (100) < (15 + skilllv * 5) * sc_def_vit / 100) //状態異常ã¯è©³ç´°ãŒåˆ†ã‹ã‚‰ãªã„ã®ã§é©å½“ã« skill_status_change_start (bl, SC_STAN, skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); @@ -1412,8 +1412,8 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, skill_get_time2 (skillid, skilllv), 0); break; - case MO_EXTREMITYFIST: /* ˆ¢C—…”e™€Œ */ - //ˆ¢C—…‚ðŽg‚¤‚Æ5•ªŠÔŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É‚È‚é + case MO_EXTREMITYFIST: /* 阿修羅覇凰拳 */ + //阿修羅を使ã†ã¨5分間自然回復ã—ãªã„よã†ã«ãªã‚‹ skill_status_change_start (src, SkillStatusChangeTable[skillid], skilllv, 0, 0, 0, skill_get_time2 (skillid, skilllv), 0); @@ -1421,13 +1421,13 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } if (sd && skillid != MC_CARTREVOLUTION && attack_type & BF_WEAPON) - { /* ƒJ[ƒh‚É‚æ‚é’ljÁŒø‰Ê */ + { /* カードã«ã‚ˆã‚‹è¿½åŠ 効果 */ int i; int sc_def_card = 100; for (i = SC_STONE; i <= SC_BLIND; i++) { - //‘ÎÛ‚Éó‘ÔˆÙí + //対象ã«çŠ¶æ…‹ç•°å¸¸ if (i == SC_STONE || i == SC_FREEZE) sc_def_card = sc_def_mdef; else if (i == SC_STAN || i == SC_POISON || i == SC_SILENCE) @@ -1444,7 +1444,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, { if (battle_config.battle_log) printf - ("PC %d skill_addeff: card‚É‚æ‚éˆÙ픓® %d %d\n", + ("PC %d skill_addeff: cardã«ã‚ˆã‚‹ç•°å¸¸ç™ºå‹• %d %d\n", sd->bl.id, i, sd->addeff[i - SC_STONE]); skill_status_change_start (bl, i, 7, 0, 0, 0, (i == @@ -1464,7 +1464,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, { if (battle_config.battle_log) printf - ("PC %d skill_addeff: card‚É‚æ‚éˆÙ픓® %d %d\n", + ("PC %d skill_addeff: cardã«ã‚ˆã‚‹ç•°å¸¸ç™ºå‹• %d %d\n", sd->bl.id, i, sd->addeff[i - SC_STONE]); skill_status_change_start (bl, i, 7, 0, 0, 0, (i == @@ -1476,7 +1476,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, 7), 0); } } - //Ž©•ª‚Éó‘ÔˆÙí + //自分ã«çŠ¶æ…‹ç•°å¸¸ if (i == SC_STONE || i == SC_FREEZE) sc_def_card = sc_def_mdef2; else if (i == SC_STAN || i == SC_POISON || i == SC_SILENCE) @@ -1493,7 +1493,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, { if (battle_config.battle_log) printf - ("PC %d skill_addeff: card‚É‚æ‚éˆÙ픓® %d %d\n", + ("PC %d skill_addeff: cardã«ã‚ˆã‚‹ç•°å¸¸ç™ºå‹• %d %d\n", src->id, i, sd->addeff2[i - SC_STONE]); skill_status_change_start (src, i, 7, 0, 0, 0, (i == @@ -1513,7 +1513,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, { if (battle_config.battle_log) printf - ("PC %d skill_addeff: card‚É‚æ‚éˆÙ픓® %d %d\n", + ("PC %d skill_addeff: cardã«ã‚ˆã‚‹ç•°å¸¸ç™ºå‹• %d %d\n", src->id, i, sd->addeff2[i - SC_STONE]); skill_status_change_start (src, i, 7, 0, 0, 0, (i == @@ -1531,7 +1531,7 @@ int skill_additional_effect (struct block_list *src, struct block_list *bl, } /*========================================================================= - ƒXƒLƒ‹UŒ‚‚«”ò‚΂µˆ— + スã‚ル攻撃å¹ã飛ã°ã—å‡¦ç† -------------------------------------------------------------------------*/ int skill_blown (struct block_list *src, struct block_list *target, int count) { @@ -1562,7 +1562,7 @@ int skill_blown (struct block_list *src, struct block_list *target, int count) return 0; if (!(count & 0x10000 && (sd || md || su))) - { /* Žw’è‚È‚µ‚È‚çˆÊ’uŠÖŒW‚©‚ç•ûŒü‚ð‹‚ß‚é */ + { /* 指定ãªã—ãªã‚‰ä½ç½®é–¢ä¿‚ã‹ã‚‰æ–¹å‘を求ã‚ã‚‹ */ dx = target->x - src->x; dx = (dx > 0) ? 1 : ((dx < 0) ? -1 : 0); dy = target->y - src->y; @@ -1610,7 +1610,7 @@ int skill_blown (struct block_list *src, struct block_list *target, int count) dx = nx - x; dy = ny - y; - if (sd) /* ‰æ–ÊŠO‚Éo‚½‚Ì‚ÅÁ‹Ž */ + if (sd) /* ç”»é¢å¤–ã«å‡ºãŸã®ã§æ¶ˆåŽ» */ map_foreachinmovearea (clif_pcoutsight, target->m, x - AREA_SIZE, y - AREA_SIZE, x + AREA_SIZE, y + AREA_SIZE, dx, dy, 0, sd); @@ -1632,8 +1632,8 @@ int skill_blown (struct block_list *src, struct block_list *target, int count) target->y = ny; if (moveblock) map_addblock (target); -/*ƒ_ƒ“ƒX’†‚ɃGƒtƒFƒNƒg‚͈ړ®‚µ‚È‚¢‚炵‚¢ - if(sc_data && sc_data[SC_DANCING].timer!=-1){ //‘ÎÛ‚ªƒ_ƒ“ƒX’†‚Ȃ̂ŃGƒtƒFƒNƒg‚àˆÚ“® +/*ダンスä¸ã«ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã¯ç§»å‹•ã—ãªã„らã—ã„ + if(sc_data && sc_data[SC_DANCING].timer!=-1){ //対象ãŒãƒ€ãƒ³ã‚¹ä¸ãªã®ã§ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚‚移動 struct skill_unit_group *sg=(struct skill_unit_group *)sc_data[SC_DANCING].val2; if(sg) skill_unit_move_unit_group(sg,target->m,dx,dy); @@ -1642,7 +1642,7 @@ int skill_blown (struct block_list *src, struct block_list *target, int count) } if (sd) - { /* ‰æ–Ê“à‚É“ü‚Á‚Ä‚«‚½‚Ì‚Å•\Ž¦ */ + { /* ç”»é¢å†…ã«å…¥ã£ã¦ããŸã®ã§è¡¨ç¤º */ map_foreachinmovearea (clif_pcinsight, target->m, nx - AREA_SIZE, ny - AREA_SIZE, nx + AREA_SIZE, ny + AREA_SIZE, -dx, -dy, 0, sd); @@ -1658,20 +1658,20 @@ int skill_blown (struct block_list *src, struct block_list *target, int count) md->state.state = prev_state; } - skill_unit_move (target, gettick (), (count & 0xffff) + 7); /* ƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ì”»’è */ + skill_unit_move (target, gettick (), (count & 0xffff) + 7); /* スã‚ルユニットã®åˆ¤å®š */ return 0; } /* * ========================================================================= - * ƒXƒLƒ‹UŒ‚Œø‰Êˆ—‚Ü‚Æ‚ß - * flag‚Ìà–¾B16i} + * スã‚ル攻撃効果処ç†ã¾ã¨ã‚ + * flagã®èª¬æ˜Žã€‚16進図 * 00XRTTff - * ff = magic‚ÅŒvŽZ‚É“n‚³‚ê‚éj - * TT = ƒpƒPƒbƒg‚Ìtype•”•ª(0‚ŃfƒtƒHƒ‹ƒgj - * X = ƒpƒPƒbƒg‚̃XƒLƒ‹Lv - * R = —\–ñiskill_area_sub‚ÅŽg—p‚·‚éj + * ff = magicã§è¨ˆç®—ã«æ¸¡ã•ã‚Œã‚‹ï¼‰ + * TT = パケットã®type部分(0ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆï¼‰ + * X = パケットã®ã‚¹ã‚ルLv + * R = 予約(skill_area_subã§ä½¿ç”¨ã™ã‚‹ï¼‰ *------------------------------------------------------------------------- */ @@ -1690,76 +1690,76 @@ int skill_attack (int attack_type, struct block_list *src, sc_data = battle_get_sc_data (bl); -//‰½‚à‚µ‚È‚¢”»’肱‚±‚©‚ç - if (dsrc->m != bl->m) //‘ÎÛ‚ª“¯‚¶ƒ}ƒbƒv‚É‚¢‚È‚¯‚ê‚Ή½‚à‚µ‚È‚¢ +//何もã—ãªã„判定ã“ã“ã‹ã‚‰ + if (dsrc->m != bl->m) //対象ãŒåŒã˜ãƒžãƒƒãƒ—ã«ã„ãªã‘ã‚Œã°ä½•ã‚‚ã—ãªã„ return 0; - if (src->prev == NULL || dsrc->prev == NULL || bl->prev == NULL) //prev‚æ‚‚í‚©‚ç‚È‚¢¦ + if (src->prev == NULL || dsrc->prev == NULL || bl->prev == NULL) //prevよãã‚ã‹ã‚‰ãªã„※ return 0; - if (src->type == BL_PC && pc_isdead ((struct map_session_data *) src)) //pŽÒH‚ªPC‚Å‚·‚Å‚ÉŽ€‚ñ‚Å‚¢‚½‚牽‚à‚µ‚È‚¢ + if (src->type == BL_PC && pc_isdead ((struct map_session_data *) src)) //術者?ãŒPCã§ã™ã§ã«æ»ã‚“ã§ã„ãŸã‚‰ä½•ã‚‚ã—ãªã„ return 0; - if (dsrc->type == BL_PC && pc_isdead ((struct map_session_data *) dsrc)) //pŽÒH‚ªPC‚Å‚·‚Å‚ÉŽ€‚ñ‚Å‚¢‚½‚牽‚à‚µ‚È‚¢ + if (dsrc->type == BL_PC && pc_isdead ((struct map_session_data *) dsrc)) //術者?ãŒPCã§ã™ã§ã«æ»ã‚“ã§ã„ãŸã‚‰ä½•ã‚‚ã—ãªã„ return 0; - if (bl->type == BL_PC && pc_isdead ((struct map_session_data *) bl)) //‘ÎÛ‚ªPC‚Å‚·‚Å‚ÉŽ€‚ñ‚Å‚¢‚½‚牽‚à‚µ‚È‚¢ + if (bl->type == BL_PC && pc_isdead ((struct map_session_data *) bl)) //対象ãŒPCã§ã™ã§ã«æ»ã‚“ã§ã„ãŸã‚‰ä½•ã‚‚ã—ãªã„ return 0; if (skillnotok (skillid, (struct map_session_data *) bl)) return 0; // [MouseJstr] if (sc_data && sc_data[SC_HIDING].timer != -1) - { //ƒnƒCƒfƒBƒ“ƒOó‘Ô‚Å - if (skill_get_pl (skillid) != 2) //ƒXƒLƒ‹‚Ì‘®«‚ª’n‘®«‚Å‚È‚¯‚ê‚Ή½‚à‚µ‚È‚¢ + { //ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°çŠ¶æ…‹ã§ + if (skill_get_pl (skillid) != 2) //スã‚ルã®å±žæ€§ãŒåœ°å±žæ€§ã§ãªã‘ã‚Œã°ä½•ã‚‚ã—ãªã„ return 0; } - if (sc_data && sc_data[SC_TRICKDEAD].timer != -1) //Ž€‚ñ‚¾‚Ó‚è’†‚͉½‚à‚µ‚È‚¢ + if (sc_data && sc_data[SC_TRICKDEAD].timer != -1) //æ»ã‚“ã ãµã‚Šä¸ã¯ä½•ã‚‚ã—ãªã„ return 0; if (skillid == WZ_STORMGUST) - { //Žg—pƒXƒLƒ‹‚ªƒXƒg[ƒ€ƒKƒXƒg‚Å - if (sc_data && sc_data[SC_FREEZE].timer != -1) //“€Œ‹ó‘ԂȂ牽‚à‚µ‚È‚¢ + { //使用スã‚ルãŒã‚¹ãƒˆãƒ¼ãƒ ガスト㧠+ if (sc_data && sc_data[SC_FREEZE].timer != -1) //å‡çµçŠ¶æ…‹ãªã‚‰ä½•ã‚‚ã—ãªã„ return 0; } - if (skillid == WZ_FROSTNOVA && dsrc->x == bl->x && dsrc->y == bl->y) //Žg—pƒXƒLƒ‹‚ªƒtƒƒXƒgƒmƒ”ƒ@‚ÅAdsrc‚Æbl‚ª“¯‚¶êŠ‚Ȃ牽‚à‚µ‚È‚¢ + if (skillid == WZ_FROSTNOVA && dsrc->x == bl->x && dsrc->y == bl->y) //使用スã‚ルãŒãƒ•ãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ã§ã€dsrcã¨blãŒåŒã˜å ´æ‰€ãªã‚‰ä½•ã‚‚ã—ãªã„ return 0; - if (src->type == BL_PC && ((struct map_session_data *) src)->chatID) //pŽÒ‚ªPC‚Ń`ƒƒƒbƒg’†‚Ȃ牽‚à‚µ‚È‚¢ + if (src->type == BL_PC && ((struct map_session_data *) src)->chatID) //術者ãŒPCã§ãƒãƒ£ãƒƒãƒˆä¸ãªã‚‰ä½•ã‚‚ã—ãªã„ return 0; - if (dsrc->type == BL_PC && ((struct map_session_data *) dsrc)->chatID) //pŽÒ‚ªPC‚Ń`ƒƒƒbƒg’†‚Ȃ牽‚à‚µ‚È‚¢ + if (dsrc->type == BL_PC && ((struct map_session_data *) dsrc)->chatID) //術者ãŒPCã§ãƒãƒ£ãƒƒãƒˆä¸ãªã‚‰ä½•ã‚‚ã—ãªã„ return 0; if (src->type == BL_PC && bl && mob_gvmobcheck (((struct map_session_data *) src), bl) == 0) return 0; -//‰½‚à‚µ‚È‚¢”»’肱‚±‚Ü‚Å +//何もã—ãªã„判定ã“ã“ã¾ã§ type = -1; lv = (flag >> 20) & 0xf; - dmg = battle_calc_attack (attack_type, src, bl, skillid, skilllv, flag & 0xff); //ƒ_ƒ[ƒWŒvŽZ + dmg = battle_calc_attack (attack_type, src, bl, skillid, skilllv, flag & 0xff); //ダメージ計算 -//ƒ}ƒWƒbƒNƒƒbƒhˆ—‚±‚±‚©‚ç +//マジックãƒãƒƒãƒ‰å‡¦ç†ã“ã“ã‹ã‚‰ if (attack_type & BF_MAGIC && sc_data && sc_data[SC_MAGICROD].timer != -1 && src == dsrc) - { //–‚–@UŒ‚‚Ń}ƒWƒbƒNƒƒbƒhó‘Ô‚Åsrc=dsrc‚È‚ç - dmg.damage = dmg.damage2 = 0; //ƒ_ƒ[ƒW0 + { //é”法攻撃ã§ãƒžã‚¸ãƒƒã‚¯ãƒãƒƒãƒ‰çŠ¶æ…‹ã§src=dsrcãªã‚‰ + dmg.damage = dmg.damage2 = 0; //ダメージ0 if (bl->type == BL_PC) - { //‘ÎÛ‚ªPC‚Ìê‡ - int sp = skill_get_sp (skillid, skilllv); //Žg—p‚³‚ꂽƒXƒLƒ‹‚ÌSP‚ð‹zŽû - sp = sp * sc_data[SC_MAGICROD].val2 / 100; //‹zŽû—¦ŒvŽZ - if (skillid == WZ_WATERBALL && skilllv > 1) //ƒEƒH[ƒ^[ƒ{[ƒ‹Lv1ˆÈã - sp = sp / ((skilllv | 1) * (skilllv | 1)); //‚³‚ç‚ÉŒvŽZH + { //対象ãŒPCã®å ´åˆ + int sp = skill_get_sp (skillid, skilllv); //使用ã•ã‚ŒãŸã‚¹ã‚ルã®SPã‚’å¸åŽ + sp = sp * sc_data[SC_MAGICROD].val2 / 100; //å¸åŽçŽ‡è¨ˆç®— + if (skillid == WZ_WATERBALL && skilllv > 1) //ウォーターボールLv1以上 + sp = sp / ((skilllv | 1) * (skilllv | 1)); //ã•ã‚‰ã«è¨ˆç®—? if (sp > 0x7fff) - sp = 0x7fff; //SP‘½‚·‚¬‚Ìꇂ͗˜_Å‘å’l + sp = 0x7fff; //SP多ã™ãŽã®å ´åˆã¯ç†è«–最大値 else if (sp < 1) - sp = 1; //1ˆÈ‰º‚ÌꇂÍ1 + sp = 1; //1以下ã®å ´åˆã¯1 if (((struct map_session_data *) bl)->status.sp + sp > ((struct map_session_data *) bl)->status.max_sp) - { //‰ñ•œSP+Œ»Ý‚ÌSP‚ªMSP‚æ‚è‘å‚«‚¢ê‡ - sp = ((struct map_session_data *) bl)->status.max_sp - ((struct map_session_data *) bl)->status.sp; //SP‚ðMSP-Œ»ÝSP‚É‚·‚é - ((struct map_session_data *) bl)->status.sp = ((struct map_session_data *) bl)->status.max_sp; //Œ»Ý‚ÌSP‚ÉMSP‚ð‘ã“ü + { //回復SP+ç¾åœ¨ã®SPãŒMSPより大ãã„å ´åˆ + sp = ((struct map_session_data *) bl)->status.max_sp - ((struct map_session_data *) bl)->status.sp; //SPã‚’MSP-ç¾åœ¨SPã«ã™ã‚‹ + ((struct map_session_data *) bl)->status.sp = ((struct map_session_data *) bl)->status.max_sp; //ç¾åœ¨ã®SPã«MSPを代入 } - else //‰ñ•œSP+Œ»Ý‚ÌSP‚ªMSP‚æ‚謂³‚¢ê‡‚͉ñ•œSP‚ð‰ÁŽZ + else //回復SP+ç¾åœ¨ã®SPãŒMSPよりå°ã•ã„å ´åˆã¯å›žå¾©SPã‚’åŠ ç®— ((struct map_session_data *) bl)->status.sp += sp; - clif_heal (((struct map_session_data *) bl)->fd, SP_SP, sp); //SP‰ñ•œƒGƒtƒFƒNƒg‚Ì•\Ž¦ + clif_heal (((struct map_session_data *) bl)->fd, SP_SP, sp); //SP回復エフェクトã®è¡¨ç¤º ((struct map_session_data *) bl)->canact_tick = tick + skill_delayfix (bl, skill_get_delay (SA_MAGICROD, sc_data[SC_MAGICROD].val1)); // } - clif_skill_nodamage (bl, bl, SA_MAGICROD, sc_data[SC_MAGICROD].val1, 1); //ƒ}ƒWƒbƒNƒƒbƒhƒGƒtƒFƒNƒg‚ð•\Ž¦ + clif_skill_nodamage (bl, bl, SA_MAGICROD, sc_data[SC_MAGICROD].val1, 1); //マジックãƒãƒƒãƒ‰ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’表示 } -//ƒ}ƒWƒbƒNƒƒbƒhˆ—‚±‚±‚Ü‚Å +//マジックãƒãƒƒãƒ‰å‡¦ç†ã“ã“ã¾ã§ damage = dmg.damage + dmg.damage2; @@ -1769,46 +1769,46 @@ int skill_attack (int attack_type, struct block_list *src, if (flag & 0xff00) type = (flag & 0xff00) >> 8; - if (damage <= 0 || damage < dmg.div_) //‚«”ò‚΂µ”»’èH¦ + if (damage <= 0 || damage < dmg.div_) //å¹ã飛ã°ã—判定?※ dmg.blewcount = 0; if (skillid == CR_GRANDCROSS) - { //ƒOƒ‰ƒ“ƒhƒNƒƒX + { //グランドクãƒã‚¹ if (battle_config.gx_disptype) - dsrc = src; // “Gƒ_ƒ[ƒW”’•¶Žš•\Ž¦ + dsrc = src; // 敵ダメージ白文å—表示 if (src == bl) - type = 4; // ”½“®‚̓_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ + type = 4; // åå‹•ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ãƒ¢ãƒ¼ã‚·ãƒ§ãƒ³ãªã— } -//Žg—pŽÒ‚ªPC‚Ìꇂ̈—‚±‚±‚©‚ç +//使用者ãŒPCã®å ´åˆã®å‡¦ç†ã“ã“ã‹ã‚‰ if (src->type == BL_PC) { struct map_session_data *sd = (struct map_session_data *) src; nullpo_retr (0, sd); -//˜A‘Ŷ(MO_CHAINCOMBO)‚±‚±‚©‚ç +//連打掌(MO_CHAINCOMBO)ã“ã“ã‹ã‚‰ if (skillid == MO_CHAINCOMBO) { - int delay = 1000 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); //Šî–{ƒfƒBƒŒƒC‚ÌŒvŽZ + int delay = 1000 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); //基本ディレイã®è¨ˆç®— if (damage < battle_get_hp (bl)) - { //ƒ_ƒ[ƒW‚ª‘ÎÛ‚ÌHP‚æ‚謂³‚¢ê‡ - if (pc_checkskill (sd, MO_COMBOFINISH) > 0 && sd->spiritball > 0) //–Ò—´Œ(MO_COMBOFINISH)Žæ“¾•‹C‹…•ÛŽŽž‚Í+300ms - delay += 300 * battle_config.combo_delay_rate / 100; //’ljÁƒfƒBƒŒƒC‚ðconf‚É‚æ‚è’²® + { //ダメージãŒå¯¾è±¡ã®HPよりå°ã•ã„å ´åˆ + if (pc_checkskill (sd, MO_COMBOFINISH) > 0 && sd->spiritball > 0) //猛é¾æ‹³(MO_COMBOFINISH)å–得&気çƒä¿æŒæ™‚ã¯+300ms + delay += 300 * battle_config.combo_delay_rate / 100; //è¿½åŠ ãƒ‡ã‚£ãƒ¬ã‚¤ã‚’confã«ã‚ˆã‚Šèª¿æ•´ - skill_status_change_start (src, SC_COMBO, MO_CHAINCOMBO, skilllv, 0, 0, delay, 0); //ƒRƒ“ƒ{ó‘Ô‚É + skill_status_change_start (src, SC_COMBO, MO_CHAINCOMBO, skilllv, 0, 0, delay, 0); //コンボ状態㫠} sd->attackabletime = sd->canmove_tick = tick + delay; - clif_combo_delay (src, delay); //ƒRƒ“ƒ{ƒfƒBƒŒƒCƒpƒPƒbƒg‚Ì‘—M + clif_combo_delay (src, delay); //コンボディレイパケットã®é€ä¿¡ } -//˜A‘Ŷ(MO_CHAINCOMBO)‚±‚±‚Ü‚Å -//–Ò—´Œ(MO_COMBOFINISH)‚±‚±‚©‚ç +//連打掌(MO_CHAINCOMBO)ã“ã“ã¾ã§ +//猛é¾æ‹³(MO_COMBOFINISH)ã“ã“ã‹ã‚‰ else if (skillid == MO_COMBOFINISH) { int delay = 700 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); if (damage < battle_get_hp (bl)) { - //ˆ¢C—…”e™€Œ(MO_EXTREMITYFIST)Žæ“¾•‹C‹…4ŒÂ•ÛŽ•”š—ô”g“®(MO_EXPLOSIONSPIRITS)ó‘ÔŽž‚Í+300ms - //•šŒÕŒ(CH_TIGERFIST)Žæ“¾Žž‚à+300ms + //阿修羅覇凰拳(MO_EXTREMITYFIST)å–得&気çƒ4個ä¿æŒï¼†çˆ†è£‚波動(MO_EXPLOSIONSPIRITS)状態時ã¯+300ms + //ä¼è™Žæ‹³(CH_TIGERFIST)å–得時も+300ms if ((pc_checkskill (sd, MO_EXTREMITYFIST) > 0 && sd->spiritball >= 4 && sd->sc_data[SC_EXPLOSIONSPIRITS].timer != -1) @@ -1816,52 +1816,52 @@ int skill_attack (int attack_type, struct block_list *src, && sd->spiritball > 0) || (pc_checkskill (sd, CH_CHAINCRUSH) > 0 && sd->spiritball > 1)) - 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_COMBOFINISH, skilllv, 0, 0, delay, 0); //ƒRƒ“ƒ{ó‘Ô‚É + skill_status_change_start (src, SC_COMBO, MO_COMBOFINISH, skilllv, 0, 0, delay, 0); //コンボ状態㫠} sd->attackabletime = sd->canmove_tick = tick + delay; - clif_combo_delay (src, delay); //ƒRƒ“ƒ{ƒfƒBƒŒƒCƒpƒPƒbƒg‚Ì‘—M + clif_combo_delay (src, delay); //コンボディレイパケットã®é€ä¿¡ } -//–Ò—´Œ(MO_COMBOFINISH)‚±‚±‚Ü‚Å -//•šŒÕŒ(CH_TIGERFIST)‚±‚±‚©‚ç +//猛é¾æ‹³(MO_COMBOFINISH)ã“ã“ã¾ã§ +//ä¼è™Žæ‹³(CH_TIGERFIST)ã“ã“ã‹ã‚‰ else if (skillid == CH_TIGERFIST) { int delay = 1000 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); if (damage < battle_get_hp (bl)) { - if (pc_checkskill (sd, CH_CHAINCRUSH) > 0) //˜A’Œ•öŒ‚(CH_CHAINCRUSH)Žæ“¾Žž‚Í+300ms - delay += 300 * battle_config.combo_delay_rate / 100; //’ljÁƒfƒBƒŒƒC‚ðconf‚É‚æ‚è’²® + if (pc_checkskill (sd, CH_CHAINCRUSH) > 0) //連柱崩撃(CH_CHAINCRUSH)å–得時ã¯+300ms + delay += 300 * battle_config.combo_delay_rate / 100; //è¿½åŠ ãƒ‡ã‚£ãƒ¬ã‚¤ã‚’confã«ã‚ˆã‚Šèª¿æ•´ - skill_status_change_start (src, SC_COMBO, CH_TIGERFIST, skilllv, 0, 0, delay, 0); //ƒRƒ“ƒ{ó‘Ô‚É + skill_status_change_start (src, SC_COMBO, CH_TIGERFIST, skilllv, 0, 0, delay, 0); //コンボ状態㫠} sd->attackabletime = sd->canmove_tick = tick + delay; - clif_combo_delay (src, delay); //ƒRƒ“ƒ{ƒfƒBƒŒƒCƒpƒPƒbƒg‚Ì‘—M + clif_combo_delay (src, delay); //コンボディレイパケットã®é€ä¿¡ } -//•šŒÕŒ(CH_TIGERFIST)‚±‚±‚Ü‚Å -//˜A’Œ•öŒ‚(CH_CHAINCRUSH)‚±‚±‚©‚ç +//ä¼è™Žæ‹³(CH_TIGERFIST)ã“ã“ã¾ã§ +//連柱崩撃(CH_CHAINCRUSH)ã“ã“ã‹ã‚‰ else if (skillid == CH_CHAINCRUSH) { int delay = 1000 - 4 * battle_get_agi (src) - 2 * battle_get_dex (src); if (damage < battle_get_hp (bl)) { - //ˆ¢C—…”e™€Œ(MO_EXTREMITYFIST)Žæ“¾•‹C‹…4ŒÂ•ÛŽ•”š—ô”g“®(MO_EXPLOSIONSPIRITS)ó‘ÔŽž‚Í+300ms + //阿修羅覇凰拳(MO_EXTREMITYFIST)å–得&気çƒ4個ä¿æŒï¼†çˆ†è£‚波動(MO_EXPLOSIONSPIRITS)状態時ã¯+300ms if (pc_checkskill (sd, MO_EXTREMITYFIST) > 0 && sd->spiritball >= 4 && sd->sc_data[SC_EXPLOSIONSPIRITS].timer != -1) - 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, CH_CHAINCRUSH, skilllv, 0, 0, delay, 0); //ƒRƒ“ƒ{ó‘Ô‚É + skill_status_change_start (src, SC_COMBO, CH_CHAINCRUSH, skilllv, 0, 0, delay, 0); //コンボ状態㫠} sd->attackabletime = sd->canmove_tick = tick + delay; - clif_combo_delay (src, delay); //ƒRƒ“ƒ{ƒfƒBƒŒƒCƒpƒPƒbƒg‚Ì‘—M + clif_combo_delay (src, delay); //コンボディレイパケットã®é€ä¿¡ } -//˜A’Œ•öŒ‚(CH_CHAINCRUSH)‚±‚±‚Ü‚Å +//連柱崩撃(CH_CHAINCRUSH)ã“ã“ã¾ã§ } -//Žg—pŽÒ‚ªPC‚Ìꇂ̈—‚±‚±‚Ü‚Å -//•ŠíƒXƒLƒ‹H‚±‚±‚©‚ç +//使用者ãŒPCã®å ´åˆã®å‡¦ç†ã“ã“ã¾ã§ +//æ¦å™¨ã‚¹ã‚ル?ã“ã“ã‹ã‚‰ //AppleGirl Was Here if (attack_type & BF_MAGIC && damage > 0 && src != bl && src == dsrc) { //Blah Blah @@ -1878,35 +1878,35 @@ int skill_attack (int attack_type, struct block_list *src, } //Stop Here if (attack_type & BF_WEAPON && damage > 0 && src != bl && src == dsrc) - { //•ŠíƒXƒLƒ‹•ƒ_ƒ[ƒW‚ ‚è•Žg—pŽÒ‚Æ‘ÎÛŽÒ‚ªˆá‚¤•src=dsrc + { //æ¦å™¨ã‚¹ã‚ル&ダメージã‚り&使用者ã¨å¯¾è±¡è€…ãŒé•ã†ï¼†src=dsrc if (dmg.flag & BF_SHORT) - { //‹ß‹——£UŒ‚ŽžH¦ + { //è¿‘è·é›¢æ”»æ’ƒæ™‚?※ if (bl->type == BL_PC) - { //‘ÎÛ‚ªPC‚ÌŽž + { //対象ãŒPCã®æ™‚ struct map_session_data *tsd = (struct map_session_data *) bl; nullpo_retr (0, tsd); if (tsd->short_weapon_damage_return > 0) - { //‹ß‹——£UŒ‚’µ‚Ë•Ô‚µH¦ + { //è¿‘è·é›¢æ”»æ’ƒè·³ãè¿”ã—?※ rdamage += damage * tsd->short_weapon_damage_return / 100; if (rdamage < 1) rdamage = 1; } } if (sc_data && sc_data[SC_REFLECTSHIELD].timer != -1) - { //ƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒhŽž - rdamage += damage * sc_data[SC_REFLECTSHIELD].val2 / 100; //’µ‚Ë•Ô‚µŒvŽZ + { //リフレクトシールド時 + rdamage += damage * sc_data[SC_REFLECTSHIELD].val2 / 100; //è·³ãè¿”ã—計算 if (rdamage < 1) rdamage = 1; } } else if (dmg.flag & BF_LONG) - { //‰“‹——£UŒ‚ŽžH¦ + { //é è·é›¢æ”»æ’ƒæ™‚?※ if (bl->type == BL_PC) - { //‘ÎÛ‚ªPC‚ÌŽž + { //対象ãŒPCã®æ™‚ struct map_session_data *tsd = (struct map_session_data *) bl; nullpo_retr (0, tsd); if (tsd->long_weapon_damage_return > 0) - { //‰“‹——£UŒ‚’µ‚Ë•Ô‚µH¦ + { //é è·é›¢æ”»æ’ƒè·³ãè¿”ã—?※ rdamage += damage * tsd->long_weapon_damage_return / 100; if (rdamage < 1) rdamage = 1; @@ -1916,7 +1916,7 @@ int skill_attack (int attack_type, struct block_list *src, if (rdamage > 0) clif_damage (src, src, tick, dmg.amotion, 0, rdamage, 1, 4, 0); } -//•ŠíƒXƒLƒ‹H‚±‚±‚Ü‚Å +//æ¦å™¨ã‚¹ã‚ル?ã“ã“ã¾ã§ switch (skillid) { @@ -1939,7 +1939,7 @@ int skill_attack (int attack_type, struct block_list *src, (skillid == 0) ? 5 : type); } if (dmg.blewcount > 0 && !map[src->m].flag.gvg) - { /* ‚«”ò‚΂µˆ—‚Æ‚»‚̃pƒPƒbƒg */ + { /* å¹ã飛ã°ã—処ç†ã¨ãã®ãƒ‘ケット */ if (skillid == WZ_SIGHTRASHER) skill_blown (src, bl, dmg.blewcount); else @@ -1951,7 +1951,7 @@ int skill_attack (int attack_type, struct block_list *src, } map_freeblock_lock (); - /* ŽÀۂɃ_ƒ[ƒWˆ—‚ðs‚¤ */ + /* 実際ã«ãƒ€ãƒ¡ãƒ¼ã‚¸å‡¦ç†ã‚’行ㆠ*/ if (skillid != KN_BOWLINGBASH || flag) battle_damage (src, bl, damage, 0); if (skillid == RG_INTIMIDATE && damage > 0 @@ -1970,7 +1970,7 @@ int skill_attack (int attack_type, struct block_list *src, nullpo_retr(0, tsd); if(!tsd->status.skill[skillid].id && !tsd->status.skill[skillid].id && !(skillid > NPC_PIERCINGATT && skillid < NPC_SUMMONMONSTER) ){ - //Šù‚É“‚ñ‚Å‚¢‚éƒXƒLƒ‹‚ª‚ ‚ê‚ΊY“–ƒXƒLƒ‹‚ðÁ‚· + //æ—¢ã«ç›—ã‚“ã§ã„るスã‚ルãŒã‚ã‚Œã°è©²å½“スã‚ルを消㙠if (tsd->cloneskill_id && tsd->cloneskill_lv && tsd->status.skill[tsd->cloneskill_id].flag==13){ tsd->status.skill[tsd->cloneskill_id].id=0; tsd->status.skill[tsd->cloneskill_id].lv=0; @@ -1986,7 +1986,7 @@ int skill_attack (int attack_type, struct block_list *src, } } */ - /* ƒ_ƒ[ƒW‚ª‚ ‚é‚È‚ç’ljÁŒø‰Ê”»’è */ + /* ダメージãŒã‚ã‚‹ãªã‚‰è¿½åŠ 効果判定 */ if (bl->prev != NULL) { struct map_session_data *sd = (struct map_session_data *) bl; @@ -1996,7 +1996,7 @@ int skill_attack (int attack_type, struct block_list *src, if (damage > 0) skill_additional_effect (src, bl, skillid, skilllv, attack_type, tick); - if (bl->type == BL_MOB && src != bl) /* ƒXƒLƒ‹Žg—pðŒ‚ÌMOBƒXƒLƒ‹ */ + if (bl->type == BL_MOB && src != bl) /* スã‚ル使用æ¡ä»¶ã®MOBスã‚ル */ { struct mob_data *md = (struct mob_data *) bl; nullpo_retr (0, md); @@ -2076,19 +2076,19 @@ int skill_attack (int attack_type, struct block_list *src, map_freeblock_unlock (); - return (dmg.damage + dmg.damage2); /* —^ƒ_ƒ‚ð•Ô‚· */ + return (dmg.damage + dmg.damage2); /* 与ダメを返㙠*/ } /*========================================== - * ƒXƒLƒ‹”͈ÍUŒ‚—p(map_foreachinarea‚©‚çŒÄ‚΂ê‚é) - * flag‚ɂ‚¢‚ÄF16i}‚ðŠm”F + * スã‚ル範囲攻撃用(map_foreachinareaã‹ã‚‰å‘¼ã°ã‚Œã‚‹) + * flagã«ã¤ã„ã¦ï¼š16é€²å›³ã‚’ç¢ºèª * MSB <- 00fTffff ->LSB - * T =ƒ^[ƒQƒbƒg‘I‘ð—p(BCT_*) - * ffff=Ž©—R‚ÉŽg—p‰Â”\ - * 0 =—\–ñB0‚ɌŒè + * T =ターゲットé¸æŠžç”¨(BCT_*) + * ffff=自由ã«ä½¿ç”¨å¯èƒ½ + * 0 =予約。0ã«å›ºå®š *------------------------------------------ */ -static int skill_area_temp[8]; /* ˆêŽž•Ï”B•K—v‚È‚çŽg‚¤B */ +static int skill_area_temp[8]; /* 一時変数。必è¦ãªã‚‰ä½¿ã†ã€‚ */ typedef int (*SkillFunc) (struct block_list *, struct block_list *, int, int, unsigned int, int); int skill_area_sub (struct block_list *bl, va_list ap) @@ -2104,7 +2104,7 @@ int skill_area_sub (struct block_list *bl, va_list ap) if (bl->type != BL_PC && bl->type != BL_MOB && bl->type != BL_SKILL) return 0; - src = va_arg (ap, struct block_list *); //‚±‚±‚Å‚Ísrc‚Ì’l‚ðŽQÆ‚µ‚Ä‚¢‚È‚¢‚Ì‚ÅNULLƒ`ƒFƒbƒN‚Í‚µ‚È‚¢ + src = va_arg (ap, struct block_list *); //ã“ã“ã§ã¯srcã®å€¤ã‚’å‚ç…§ã—ã¦ã„ãªã„ã®ã§NULLãƒã‚§ãƒƒã‚¯ã¯ã—ãªã„ skill_id = va_arg (ap, int); skill_lv = va_arg (ap, int); tick = va_arg (ap, unsigned int); @@ -2234,9 +2234,9 @@ int skill_check_unit_range2 (int m, int x, int y, int range) } /*========================================================================= - * ”͈̓XƒLƒ‹Žg—pˆ—¬•ª‚¯‚±‚±‚©‚ç + * 範囲スã‚ル使用処ç†å°åˆ†ã‘ã“ã“ã‹ã‚‰ */ -/* ‘ÎÛ‚Ì”‚ðƒJƒEƒ“ƒg‚·‚éBiskill_area_temp[0]‚ð‰Šú‰»‚µ‚Ä‚¨‚‚±‚Æj */ +/* 対象ã®æ•°ã‚’カウントã™ã‚‹ã€‚(skill_area_temp[0]ã‚’åˆæœŸåŒ–ã—ã¦ãŠãã“ã¨ï¼‰ */ int skill_area_sub_count (struct block_list *src, struct block_list *target, int skillid, int skilllv, unsigned int tick, int flag) @@ -2288,7 +2288,7 @@ static int skill_timerskill (int tid, unsigned int tick, int id, int data) { if (target == NULL) { - target = &tbl; //‰Šú‰»‚µ‚Ä‚È‚¢‚̂ɃAƒhƒŒƒX“Ë‚Áž‚ñ‚Å‚¢‚¢‚Ì‚©‚ÈH + target = &tbl; //åˆæœŸåŒ–ã—ã¦ãªã„ã®ã«ã‚¢ãƒ‰ãƒ¬ã‚¹çªã£è¾¼ã‚“ã§ã„ã„ã®ã‹ãªï¼Ÿ target->type = BL_NUL; target->m = src->m; target->prev = target->next = NULL; @@ -2374,9 +2374,9 @@ static int skill_timerskill (int tid, unsigned int tick, int id, int data) } break; - case BA_FROSTJOKE: /* Š¦‚¢ƒWƒ‡[ƒN */ - case DC_SCREAM: /* ƒXƒNƒŠ[ƒ€ */ - range = 15; //Ž‹ŠE‘S‘Ì + case BA_FROSTJOKE: /* 寒ã„ジョーク */ + case DC_SCREAM: /* スクリーム*/ + range = 15; //視界全体 map_foreachinarea (skill_frostjoke_scream, src->m, src->x - range, src->y - range, src->x + range, src->y + range, 0, src, @@ -2520,13 +2520,13 @@ int skill_cleartimerskill (struct block_list *src) return 0; } -/* ”͈̓XƒLƒ‹Žg—pˆ—¬•ª‚¯‚±‚±‚Ü‚Å +/* 範囲スã‚ル使用処ç†å°åˆ†ã‘ã“ã“ã¾ã§ * ------------------------------------------------------------------------- */ /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AIDŽw’èUŒ‚Œnj - * iƒXƒpƒQƒbƒeƒB‚ÉŒü‚¯‚Ä‚P•à‘OiI(ƒ_ƒƒ|)j + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€ID指定攻撃系) + * (スパゲッティã«å‘ã‘ã¦ï¼‘æ©å‰é€²ï¼(ダメãƒ)) *------------------------------------------ */ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, @@ -2553,64 +2553,64 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, map_freeblock_lock (); switch (skillid) { - /* •ŠíUŒ‚ŒnƒXƒLƒ‹ */ - case SM_BASH: /* ƒoƒbƒVƒ… */ - case MC_MAMMONITE: /* ƒƒ}[ƒiƒCƒg */ - case AC_DOUBLE: /* ƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO */ - case AS_SONICBLOW: /* ƒ\ƒjƒbƒNƒuƒ[ */ - case KN_PIERCE: /* ƒsƒA[ƒX */ - case KN_SPEARBOOMERANG: /* ƒXƒsƒAƒu[ƒƒ‰ƒ“ */ - case TF_POISON: /* ƒCƒ“ƒxƒiƒ€ */ - case TF_SPRINKLESAND: /* »‚Ü‚« */ - case AC_CHARGEARROW: /* ƒ`ƒƒ[ƒWƒAƒ[ */ - case KN_SPEARSTAB: /* ƒXƒsƒAƒXƒ^ƒu */ - case RG_RAID: /* ƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒN */ - case RG_INTIMIDATE: /* ƒCƒ“ƒeƒBƒ~ƒfƒCƒg */ - case BA_MUSICALSTRIKE: /* ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒN */ - case DC_THROWARROW: /* –‚¿ */ - case BA_DISSONANCE: /* •s‹¦˜a‰¹ */ - case CR_HOLYCROSS: /* ƒz[ƒŠ[ƒNƒƒX */ + /* æ¦å™¨æ”»æ’ƒç³»ã‚¹ã‚ル */ + case SM_BASH: /* ãƒãƒƒã‚·ãƒ¥ */ + case MC_MAMMONITE: /* メマーナイト */ + case AC_DOUBLE: /* ダブルストレイフィング */ + case AS_SONICBLOW: /* ソニックブãƒãƒ¼ */ + case KN_PIERCE: /* ピアース */ + case KN_SPEARBOOMERANG: /* スピアブーメラン */ + case TF_POISON: /* インベナム*/ + case TF_SPRINKLESAND: /* ç ‚ã¾ã */ + case AC_CHARGEARROW: /* ãƒãƒ£ãƒ¼ã‚¸ã‚¢ãƒãƒ¼ */ + case KN_SPEARSTAB: /* スピアスタブ */ + case RG_RAID: /* サプライズアタック */ + case RG_INTIMIDATE: /* インティミデイト */ + case BA_MUSICALSTRIKE: /* ミュージカルストライク */ + case DC_THROWARROW: /* 矢撃㡠*/ + case BA_DISSONANCE: /* ä¸å”和音 */ + case CR_HOLYCROSS: /* ホーリークãƒã‚¹ */ case CR_SHIELDCHARGE: case CR_SHIELDBOOMERANG: - /* ˆÈ‰ºMOBê—p */ - /* ’P‘ÌUŒ‚ASPŒ¸UŒ‚A‰“‹——£UŒ‚A–hŒä–³Ž‹UŒ‚A‘½’iUŒ‚ */ + /* 以下MOB専用 */ + /* å˜ä½“攻撃ã€SP減少攻撃ã€é è·é›¢æ”»æ’ƒã€é˜²å¾¡ç„¡è¦–攻撃ã€å¤šæ®µæ”»æ’ƒ */ case NPC_PIERCINGATT: case NPC_MENTALBREAKER: case NPC_RANGEATTACK: case NPC_CRITICALSLASH: case NPC_COMBOATTACK: - /* •K’†UŒ‚A“ÅUŒ‚AˆÃ•UŒ‚A’¾–ÙUŒ‚AƒXƒ^ƒ“UŒ‚ */ + /* å¿…ä¸æ”»æ’ƒã€æ¯’攻撃ã€æš—黒攻撃ã€æ²ˆé»™æ”»æ’ƒã€ã‚¹ã‚¿ãƒ³æ”»æ’ƒ */ case NPC_GUIDEDATTACK: case NPC_POISON: case NPC_BLINDATTACK: case NPC_SILENCEATTACK: case NPC_STUNATTACK: - /* Ή»UŒ‚AŽô‚¢UŒ‚A‡–°UŒ‚Aƒ‰ƒ“ƒ_ƒ€ATKUŒ‚ */ + /* 石化攻撃ã€å‘ªã„攻撃ã€ç¡çœ 攻撃ã€ãƒ©ãƒ³ãƒ€ãƒ ATK攻撃 */ case NPC_PETRIFYATTACK: case NPC_CURSEATTACK: case NPC_SLEEPATTACK: case NPC_RANDOMATTACK: - /* …‘®«UŒ‚A’n‘®«UŒ‚A‰Î‘®«UŒ‚A•—‘®«UŒ‚ */ + /* 水属性攻撃ã€åœ°å±žæ€§æ”»æ’ƒã€ç«å±žæ€§æ”»æ’ƒã€é¢¨å±žæ€§æ”»æ’ƒ */ case NPC_WATERATTACK: case NPC_GROUNDATTACK: case NPC_FIREATTACK: case NPC_WINDATTACK: - /* “Å‘®«UŒ‚A¹‘®«UŒ‚AˆÅ‘®«UŒ‚A”O‘®«UŒ‚ASPŒ¸UŒ‚ */ + /* 毒属性攻撃ã€è–属性攻撃ã€é—‡å±žæ€§æ”»æ’ƒã€å¿µå±žæ€§æ”»æ’ƒã€SP減少攻撃 */ case NPC_POISONATTACK: case NPC_HOLYATTACK: case NPC_DARKNESSATTACK: case NPC_TELEKINESISATTACK: - case LK_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - case LK_SPIRALPIERCE: /* ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX */ - case LK_HEADCRUSH: /* ƒwƒbƒhƒNƒ‰ƒbƒVƒ… */ - case LK_JOINTBEAT: /* ƒWƒ‡ƒCƒ“ƒgƒr[ƒg */ - case PA_PRESSURE: /* ƒvƒŒƒbƒVƒƒ[ */ - case PA_SACRIFICE: /* ƒTƒNƒŠƒtƒ@ƒCƒX */ - case SN_SHARPSHOOTING: /* ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO */ - case CG_ARROWVULCAN: /* ƒAƒ[ƒoƒ‹ƒJƒ“ */ - case ASC_BREAKER: /* ƒ\ƒEƒ‹ƒuƒŒ[ƒJ[ */ - case HW_MAGICCRASHER: /* ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ */ + case LK_AURABLADE: /* オーラブレード */ + case LK_SPIRALPIERCE: /* スパイラルピアース */ + case LK_HEADCRUSH: /* ヘッドクラッシュ */ + case LK_JOINTBEAT: /* ジョイントビート */ + case PA_PRESSURE: /* プレッシャー */ + case PA_SACRIFICE: /* サクリファイス */ + case SN_SHARPSHOOTING: /* シャープシューティング */ + case CG_ARROWVULCAN: /* ã‚¢ãƒãƒ¼ãƒãƒ«ã‚«ãƒ³ */ + case ASC_BREAKER: /* ソウルブレーカー */ + case HW_MAGICCRASHER: /* マジッククラッシャー */ skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, flag); break; @@ -2619,7 +2619,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_attack (BF_MISC, src, src, bl, skillid, skilllv, tick, flag); break; - case MO_INVESTIGATE: /* ”™¤ */ + case MO_INVESTIGATE: /* ç™ºå‹ */ { struct status_change *sc_data = battle_get_sc_data (src); skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, @@ -2628,11 +2628,11 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (src, SC_BLADESTOP, -1); } break; - case SN_FALCONASSAULT: /* ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg */ + case SN_FALCONASSAULT: /* ファルコンアサルト */ skill_attack (BF_MISC, src, src, bl, skillid, skilllv, tick, flag); break; - case KN_BRANDISHSPEAR: /* ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA */ + case KN_BRANDISHSPEAR: /* ブランディッシュスピア */ { struct mob_data *md = (struct mob_data *) bl; nullpo_retr (1, md); @@ -2648,7 +2648,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } } break; - case RG_BACKSTAP: /* ƒoƒbƒNƒXƒ^ƒu */ + case RG_BACKSTAP: /* ãƒãƒƒã‚¯ã‚¹ã‚¿ãƒ– */ { int dir = map_calc_dir (src, bl->x, bl->y), t_dir = battle_get_dir (bl); @@ -2658,7 +2658,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, { struct status_change *sc_data = battle_get_sc_data (src); if (sc_data && sc_data[SC_HIDING].timer != -1) - skill_status_change_end (src, SC_HIDING, -1); // ƒnƒCƒfƒBƒ“ƒO‰ðœ + skill_status_change_end (src, SC_HIDING, -1); // ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°è§£é™¤ skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, flag); skill_blown (src, bl, skill_get_blewcount (skillid, skilllv)); @@ -2668,7 +2668,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - case AM_ACIDTERROR: /* ƒAƒVƒbƒhƒeƒ‰[ */ + case AM_ACIDTERROR: /* アシッドテラー */ skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, flag); if (bl->type == BL_PC @@ -2676,7 +2676,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, && battle_config.equipment_breaking) pc_breakarmor ((struct map_session_data *) bl); break; - case MO_FINGEROFFENSIVE: /* Žw’e */ + case MO_FINGEROFFENSIVE: /* 指弾 */ { struct status_change *sc_data = battle_get_sc_data (src); @@ -2700,7 +2700,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (src, SC_BLADESTOP, -1); } break; - case MO_CHAINCOMBO: /* ˜A‘Ŷ */ + case MO_CHAINCOMBO: /* 連打掌 */ { struct status_change *sc_data = battle_get_sc_data (src); skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, @@ -2709,14 +2709,14 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (src, SC_BLADESTOP, -1); } break; - case MO_COMBOFINISH: /* –Ò—´Œ */ - case CH_TIGERFIST: /* •šŒÕŒ */ - case CH_CHAINCRUSH: /* ˜A’Œ•öŒ‚ */ - case CH_PALMSTRIKE: /* –ÒŒÕd”hŽR */ + case MO_COMBOFINISH: /* 猛é¾æ‹³ */ + case CH_TIGERFIST: /* ä¼è™Žæ‹³ */ + case CH_CHAINCRUSH: /* 連柱崩撃 */ + case CH_PALMSTRIKE: /* 猛虎硬派山 */ skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, flag); break; - case MO_EXTREMITYFIST: /* ˆ¢C—…”e–PŒ */ + case MO_EXTREMITYFIST: /* 阿修羅覇鳳拳 */ { struct status_change *sc_data = battle_get_sc_data (src); @@ -2776,22 +2776,22 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (src, SC_BLADESTOP, -1); } break; - /* •ŠíŒn”͈ÍUŒ‚ƒXƒLƒ‹ */ - case AC_SHOWER: /* ƒAƒ[ƒVƒƒƒ[ */ - case SM_MAGNUM: /* ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN */ - case AS_GRIMTOOTH: /* ƒOƒŠƒ€ƒgƒD[ƒX */ - case MC_CARTREVOLUTION: /* ƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“ */ - case NPC_SPLASHATTACK: /* ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN */ - case ASC_METEORASSAULT: /* ƒƒeƒIƒAƒTƒ‹ƒg */ + /* æ¦å™¨ç³»ç¯„囲攻撃スã‚ル */ + case AC_SHOWER: /* ã‚¢ãƒãƒ¼ã‚·ãƒ£ãƒ¯ãƒ¼ */ + case SM_MAGNUM: /* マグナムブレイク */ + case AS_GRIMTOOTH: /* グリムトゥース */ + case MC_CARTREVOLUTION: /* カートレヴォリューション */ + case NPC_SPLASHATTACK: /* スプラッシュアタック */ + case ASC_METEORASSAULT: /* メテオアサルト */ case AS_SPLASHER: /* [Valaris] */ if (flag & 1) { - /* ŒÂ•Ê‚Ƀ_ƒ[ƒW‚ð—^‚¦‚é */ + /* 個別ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ */ if (bl->id != skill_area_temp[1]) { int dist = 0; if (skillid == SM_MAGNUM) - { /* ƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚È‚ç’†S‚©‚ç‚Ì‹——£‚ðŒvŽZ */ + { /* マグナムブレイクãªã‚‰ä¸å¿ƒã‹ã‚‰ã®è·é›¢ã‚’計算 */ int dx = abs (bl->x - skill_area_temp[2]); int dy = abs (bl->y - skill_area_temp[3]); dist = ((dx > dy) ? dx : dy); @@ -2809,19 +2809,19 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, x = src->x; y = src->y; } - else if (skillid == AC_SHOWER || skillid == ASC_METEORASSAULT) /* ƒAƒ[ƒVƒƒƒ[AƒƒeƒIƒAƒTƒ‹ƒg”͈Í5*5 */ + else if (skillid == AC_SHOWER || skillid == ASC_METEORASSAULT) /* ã‚¢ãƒãƒ¼ã‚·ãƒ£ãƒ¯ãƒ¼ã€ãƒ¡ãƒ†ã‚ªã‚¢ã‚µãƒ«ãƒˆç¯„囲5*5 */ ar = 2; - else if (skillid == AS_SPLASHER) /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[”͈Í3*3 */ + else if (skillid == AS_SPLASHER) /* ベナムスプラッシャー範囲3*3 */ ar = 1; - else if (skillid == NPC_SPLASHATTACK) /* ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN‚͔͈Í7*7 */ + else if (skillid == NPC_SPLASHATTACK) /* スプラッシュアタックã¯ç¯„囲7*7 */ ar = 3; skill_area_temp[1] = bl->id; skill_area_temp[2] = x; skill_area_temp[3] = y; - /* ‚Ü‚¸ƒ^[ƒQƒbƒg‚ÉUŒ‚‚ð‰Á‚¦‚é */ + /* ã¾ãšã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«æ”»æ’ƒã‚’åŠ ãˆã‚‹ */ skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, 0); - /* ‚»‚ÌŒãƒ^[ƒQƒbƒgˆÈŠO‚͈͓̔à‚Ì“G‘S‘̂Ɉ—‚ðs‚¤ */ + /* ãã®å¾Œã‚¿ãƒ¼ã‚²ãƒƒãƒˆä»¥å¤–ã®ç¯„囲内ã®æ•µå…¨ä½“ã«å‡¦ç†ã‚’行ㆠ*/ map_foreachinarea (skill_area_sub, bl->m, x - ar, y - ar, x + ar, y + ar, 0, src, skillid, skilllv, tick, @@ -2830,10 +2830,10 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - case KN_BOWLINGBASH: /* ƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ… */ + case KN_BOWLINGBASH: /* ボウリングãƒãƒƒã‚·ãƒ¥ */ if (flag & 1) { - /* ŒÂ•Ê‚Ƀ_ƒ[ƒW‚ð—^‚¦‚é */ + /* 個別ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ */ if (bl->id != skill_area_temp[1]) skill_attack (BF_WEAPON, src, src, bl, skillid, skilllv, tick, 0x0500); @@ -2847,7 +2847,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, tick, 0); if (damage > 0) { - int i, c; /* ‘¼l‚©‚ç•·‚¢‚½“®‚«‚È‚Ì‚ÅŠÔˆá‚Á‚Ä‚é‰Â”\«‘å•Œø—¦‚ªˆ«‚¢‚Á‚·„ƒ */ + int i, c; /* 他人ã‹ã‚‰èžã„ãŸå‹•ããªã®ã§é–“é•ã£ã¦ã‚‹å¯èƒ½æ€§å¤§ï¼†åŠ¹çŽ‡ãŒæ‚ªã„ã£ã™ï¼žï¼œ */ c = skill_get_blewcount (skillid, skilllv); if (map[bl->m].flag.gvg) c = 0; @@ -2871,7 +2871,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_area_temp[1] = bl->id; skill_area_temp[2] = bl->x; skill_area_temp[3] = bl->y; - /* ‚»‚ÌŒãƒ^[ƒQƒbƒgˆÈŠO‚͈͓̔à‚Ì“G‘S‘̂Ɉ—‚ðs‚¤ */ + /* ãã®å¾Œã‚¿ãƒ¼ã‚²ãƒƒãƒˆä»¥å¤–ã®ç¯„囲内ã®æ•µå…¨ä½“ã«å‡¦ç†ã‚’行ㆠ*/ map_foreachinarea (skill_area_sub, bl->m, bl->x - 1, bl->y - 1, bl->x + 1, bl->y + 1, 0, src, skillid, skilllv, @@ -2885,8 +2885,8 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - case ALL_RESURRECTION: /* ƒŠƒUƒŒƒNƒVƒ‡ƒ“ */ - case PR_TURNUNDEAD: /* ƒ^[ƒ“ƒAƒ“ƒfƒbƒh */ + case ALL_RESURRECTION: /* リザレクション */ + case PR_TURNUNDEAD: /* ターンアンデッド */ if (bl->type != BL_PC && battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) @@ -2899,23 +2899,23 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - /* –‚–@ŒnƒXƒLƒ‹ */ - case MG_SOULSTRIKE: /* ƒ\ƒEƒ‹ƒXƒgƒ‰ƒCƒN */ - case MG_COLDBOLT: /* ƒR[ƒ‹ƒhƒ{ƒ‹ƒg */ - case MG_FIREBOLT: /* ƒtƒ@ƒCƒA[ƒ{ƒ‹ƒg */ - case MG_LIGHTNINGBOLT: /* ƒ‰ƒCƒgƒjƒ“ƒOƒ{ƒ‹ƒg */ - case WZ_EARTHSPIKE: /* ƒA[ƒXƒXƒpƒCƒN */ - case AL_HEAL: /* ƒq[ƒ‹ */ - case AL_HOLYLIGHT: /* ƒz[ƒŠ[ƒ‰ƒCƒg */ - case MG_FROSTDIVER: /* ƒtƒƒXƒgƒ_ƒCƒo[ */ - case WZ_JUPITEL: /* ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ */ - case NPC_MAGICALATTACK: /* MOB:–‚–@‘ÅŒ‚UŒ‚ */ - case PR_ASPERSIO: /* ƒAƒXƒyƒ‹ƒVƒI */ + /* é”法系スã‚ル */ + case MG_SOULSTRIKE: /* ソウルストライク */ + case MG_COLDBOLT: /* コールドボルト */ + case MG_FIREBOLT: /* ファイアーボルト */ + case MG_LIGHTNINGBOLT: /* ライトニングボルト */ + case WZ_EARTHSPIKE: /* アーススパイク */ + case AL_HEAL: /* ヒール */ + case AL_HOLYLIGHT: /* ホーリーライト */ + case MG_FROSTDIVER: /* フãƒã‚¹ãƒˆãƒ€ã‚¤ãƒãƒ¼ */ + case WZ_JUPITEL: /* ユピテルサンダー */ + case NPC_MAGICALATTACK: /* MOB:é”法打撃攻撃 */ + case PR_ASPERSIO: /* アスペルシオ */ skill_attack (BF_MAGIC, src, src, bl, skillid, skilllv, tick, flag); break; - case WZ_WATERBALL: /* ƒEƒH[ƒ^[ƒ{[ƒ‹ */ + case WZ_WATERBALL: /* ウォーターボール */ skill_attack (BF_MAGIC, src, src, bl, skillid, skilllv, tick, flag); if (skilllv > 1) @@ -2923,22 +2923,22 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, 0, 0, 0, 0); break; - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ + case PR_BENEDICTIO: /* è–体é™ç¦ */ if (battle_get_race (bl) == 1 || battle_get_race (bl) == 6) skill_attack (BF_MAGIC, src, src, bl, skillid, skilllv, tick, flag); break; - /* –‚–@Œn”͈ÍUŒ‚ƒXƒLƒ‹ */ - case MG_NAPALMBEAT: /* ƒiƒp[ƒ€ƒr[ƒg */ - case MG_FIREBALL: /* ƒtƒ@ƒCƒ„[ƒ{[ƒ‹ */ + /* é”法系範囲攻撃スã‚ル */ + case MG_NAPALMBEAT: /* ナパームビート */ + case MG_FIREBALL: /* ファイヤーボール */ if (flag & 1) { - /* ŒÂ•Ê‚Ƀ_ƒ[ƒW‚ð—^‚¦‚é */ + /* 個別ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ */ if (bl->id != skill_area_temp[1]) { if (skillid == MG_FIREBALL) - { /* ƒtƒ@ƒCƒ„[ƒ{[ƒ‹‚È‚ç’†S‚©‚ç‚Ì‹——£‚ðŒvŽZ */ + { /* ファイヤーボールãªã‚‰ä¸å¿ƒã‹ã‚‰ã®è·é›¢ã‚’計算 */ int dx = abs (bl->x - skill_area_temp[2]); int dy = abs (bl->y - skill_area_temp[3]); skill_area_temp[0] = ((dx > dy) ? dx : dy); @@ -2952,7 +2952,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, int ar = (skillid == MG_NAPALMBEAT) ? 1 : 2; skill_area_temp[1] = bl->id; if (skillid == MG_NAPALMBEAT) - { /* ƒiƒp[ƒ€‚Å‚Íæ‚É”‚¦‚é */ + { /* ナパームã§ã¯å…ˆã«æ•°ãˆã‚‹ */ skill_area_temp[0] = 0; map_foreachinarea (skill_area_sub, bl->m, bl->x - 1, bl->y - 1, bl->x + 1, @@ -2966,10 +2966,10 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_area_temp[2] = bl->x; skill_area_temp[3] = bl->y; } - /* ‚Ü‚¸ƒ^[ƒQƒbƒg‚ÉUŒ‚‚ð‰Á‚¦‚é */ + /* ã¾ãšã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«æ”»æ’ƒã‚’åŠ ãˆã‚‹ */ skill_attack (BF_MAGIC, src, src, bl, skillid, skilllv, tick, skill_area_temp[0]); - /* ‚»‚ÌŒãƒ^[ƒQƒbƒgˆÈŠO‚͈͓̔à‚Ì“G‘S‘̂Ɉ—‚ðs‚¤ */ + /* ãã®å¾Œã‚¿ãƒ¼ã‚²ãƒƒãƒˆä»¥å¤–ã®ç¯„囲内ã®æ•µå…¨ä½“ã«å‡¦ç†ã‚’行ㆠ*/ map_foreachinarea (skill_area_sub, bl->m, bl->x - ar, bl->y - ar, bl->x + ar, bl->y + ar, 0, src, skillid, skilllv, tick, @@ -3016,7 +3016,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - case WZ_FROSTNOVA: /* ƒtƒƒXƒgƒmƒ”ƒ@ */ + case WZ_FROSTNOVA: /* フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ */ skill_castend_pos2 (src, bl->x, bl->y, skillid, skilllv, tick, 0); skill_attack (BF_MAGIC, src, src, bl, skillid, skilllv, tick, flag); @@ -3028,11 +3028,11 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (src, SC_SIGHT, -1); break; - /* ‚»‚Ì‘¼ */ - case HT_BLITZBEAT: /* ƒuƒŠƒbƒcƒr[ƒg */ + /* ãã®ä»– */ + case HT_BLITZBEAT: /* ブリッツビート */ if (flag & 1) { - /* ŒÂ•Ê‚Ƀ_ƒ[ƒW‚ð—^‚¦‚é */ + /* 個別ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ */ if (bl->id != skill_area_temp[1]) skill_attack (BF_MISC, src, src, bl, skillid, skilllv, tick, @@ -3048,10 +3048,10 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, src, skillid, skilllv, tick, flag | BCT_ENEMY, skill_area_sub_count); - /* ‚Ü‚¸ƒ^[ƒQƒbƒg‚ÉUŒ‚‚ð‰Á‚¦‚é */ + /* ã¾ãšã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«æ”»æ’ƒã‚’åŠ ãˆã‚‹ */ skill_attack (BF_MISC, src, src, bl, skillid, skilllv, tick, skill_area_temp[0] | (flag & 0xf00000)); - /* ‚»‚ÌŒãƒ^[ƒQƒbƒgˆÈŠO‚͈͓̔à‚Ì“G‘S‘̂Ɉ—‚ðs‚¤ */ + /* ãã®å¾Œã‚¿ãƒ¼ã‚²ãƒƒãƒˆä»¥å¤–ã®ç¯„囲内ã®æ•µå…¨ä½“ã«å‡¦ç†ã‚’行ㆠ*/ map_foreachinarea (skill_area_sub, bl->m, bl->x - 1, bl->y - 1, bl->x + 1, bl->y + 1, 0, src, skillid, skilllv, tick, @@ -3060,8 +3060,8 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - case CR_GRANDCROSS: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ - /* ƒXƒLƒ‹ƒ†ƒjƒbƒg”z’u */ + case CR_GRANDCROSS: /* グランドクãƒã‚¹ */ + /* スã‚ルユニットé…ç½® */ skill_castend_pos2 (src, bl->x, bl->y, skillid, skilllv, tick, 0); if (sd) sd->canmove_tick = tick + 1000; @@ -3069,16 +3069,16 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, mob_changestate ((struct mob_data *) src, MS_DELAY, 1000); break; - case TF_THROWSTONE: /* ΓŠ‚° */ - case NPC_SMOKING: /* ƒXƒ‚[ƒLƒ“ƒO */ + case TF_THROWSTONE: /* 石投㒠*/ + case NPC_SMOKING: /* スモーã‚ング */ skill_attack (BF_MISC, src, src, bl, skillid, skilllv, tick, 0); break; - case NPC_SELFDESTRUCTION: /* Ž©”š */ - case NPC_SELFDESTRUCTION2: /* Ž©”š2 */ + case NPC_SELFDESTRUCTION: /* 自爆 */ + case NPC_SELFDESTRUCTION2: /* 自爆2 */ if (flag & 1) { - /* ŒÂ•Ê‚Ƀ_ƒ[ƒW‚ð—^‚¦‚é */ + /* 個別ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã‚‹ */ if (src->type == BL_MOB) { struct mob_data *mb = (struct mob_data *) src; @@ -3110,7 +3110,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } break; - /* HP‹zŽû/HP‹zŽû–‚–@ */ + /* HPå¸åŽ/HPå¸åŽé”法 */ case NPC_BLOODDRAIN: case NPC_ENERGYDRAIN: { @@ -3164,7 +3164,7 @@ int skill_castend_damage_id (struct block_list *src, struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AIDŽw’èŽx‰‡Œnj + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€ID指定支æ´ç³»ï¼‰ *------------------------------------------ */ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, @@ -3178,7 +3178,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, int i; int sc_def_vit, sc_def_mdef, strip_fix, strip_time, strip_per; int sc_dex, sc_luk; - //ƒNƒ‰ƒXƒ`ƒFƒ“ƒW—pƒ{ƒXƒ‚ƒ“ƒXƒ^[ID + //クラスãƒã‚§ãƒ³ã‚¸ç”¨ãƒœã‚¹ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ID int changeclass[] = { 1038, 1039, 1046, 1059, 1086, 1087, 1112, 1115, 1157, 1159, 1190, 1272, 1312, 1373, 1492 @@ -3233,7 +3233,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, map_freeblock_lock (); switch (skillid) { - case AL_HEAL: /* ƒq[ƒ‹ */ + case AL_HEAL: /* ヒール */ { int heal = skill_calc_heal (src, skilllv); int heal_get_jobexp; @@ -3241,20 +3241,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, struct pc_base_job s_class; if (dstsd && dstsd->special_state.no_magic_damage) - heal = 0; /* ‰©‹à峃J[ƒhiƒq[ƒ‹—Ê‚Oj */ + heal = 0; /* 黄金蟲カード(ヒールé‡ï¼ï¼‰ */ if (sd) { s_class = pc_calc_base_job (sd->status.class); - if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0) // ƒƒfƒBƒeƒCƒeƒBƒI + if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0) // メディテイティオ heal += heal * (skill * 2 / 100); - if (sd && dstsd && sd->status.partner_id == dstsd->status.char_id && s_class.job == 23 && sd->status.sex == 0) //Ž©•ª‚à‘ÎÛ‚àPCA‘ÎÛ‚ªŽ©•ª‚̃p[ƒgƒi[AŽ©•ª‚ªƒXƒpƒmƒrAŽ©•ª‚ªŠ‚È‚ç - heal = heal * 2; //ƒXƒpƒmƒr‚̉łª’U“߂Ƀq[ƒ‹‚·‚é‚Æ2”{‚É‚È‚é + if (sd && dstsd && sd->status.partner_id == dstsd->status.char_id && s_class.job == 23 && sd->status.sex == 0) //自分も対象もPCã€å¯¾è±¡ãŒè‡ªåˆ†ã®ãƒ‘ートナーã€è‡ªåˆ†ãŒã‚¹ãƒ‘ノビã€è‡ªåˆ†ãŒâ™€ãªã‚‰ + heal = heal * 2; //スパノビã®å«ãŒæ—¦é‚£ã«ãƒ’ールã™ã‚‹ã¨2å€ã«ãªã‚‹ } clif_skill_nodamage (src, bl, skillid, heal, 1); heal_get_jobexp = battle_heal (NULL, bl, heal, 0, 0); - // JOBŒoŒ±’lŠl“¾ + // JOB経験値ç²å¾— if (src->type == BL_PC && bl->type == BL_PC && heal > 0 && src != bl && battle_config.heal_exp > 0) { @@ -3268,17 +3268,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case ALL_RESURRECTION: /* ƒŠƒUƒŒƒNƒVƒ‡ƒ“ */ + case ALL_RESURRECTION: /* リザレクション */ if (bl->type == BL_PC) { int per = 0; struct map_session_data *tsd = (struct map_session_data *) bl; nullpo_retr (1, tsd); if ((map[bl->m].flag.pvp) && tsd->pvp_point < 0) - break; /* PVP‚Å•œŠˆ•s‰Â”\ó‘Ô */ + break; /* PVPã§å¾©æ´»ä¸å¯èƒ½çŠ¶æ…‹ */ if (pc_isdead (tsd)) - { /* Ž€–S”»’è */ + { /* æ»äº¡åˆ¤å®š */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); switch (skilllv) { @@ -3299,7 +3299,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (tsd->status.hp <= 0) tsd->status.hp = 1; if (tsd->special_state.restart_full_recover) - { /* ƒIƒVƒŠƒXƒJ[ƒh */ + { /* オシリスカード */ tsd->status.hp = tsd->status.max_hp; tsd->status.sp = tsd->status.max_sp; } @@ -3343,7 +3343,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case AL_DECAGI: /* ‘¬“xŒ¸ */ + case AL_DECAGI: /* 速度減少 */ if (bl->type == BL_PC && ((struct map_session_data *) bl)-> special_state.no_magic_damage) @@ -3393,7 +3393,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case PR_LEXDIVINA: /* ƒŒƒbƒNƒXƒfƒBƒr[ƒi */ + case PR_LEXDIVINA: /* レックスディビーナ */ { struct status_change *sc_data = battle_get_sc_data (bl); clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -3491,15 +3491,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (sd) pc_getzeny (sd, battle_get_lv (bl) * 100); break; - case AL_INCAGI: /* ‘¬“x‘‰Á */ - case AL_BLESSING: /* ƒuƒŒƒbƒVƒ“ƒO */ + case AL_INCAGI: /* é€Ÿåº¦å¢—åŠ */ + case AL_BLESSING: /* ブレッシング */ case PR_SLOWPOISON: - case PR_IMPOSITIO: /* ƒCƒ€ƒ|ƒVƒeƒBƒIƒ}ƒkƒX */ - case PR_LEXAETERNA: /* ƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi */ - case PR_SUFFRAGIUM: /* ƒTƒtƒ‰ƒMƒEƒ€ */ - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ - case CR_PROVIDENCE: /* ƒvƒƒ”ƒBƒfƒ“ƒX */ - case CG_MARIONETTE: /* ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ */ + case PR_IMPOSITIO: /* イムãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ */ + case PR_LEXAETERNA: /* レックスエーテルナ */ + case PR_SUFFRAGIUM: /* サフラギウム*/ + case PR_BENEDICTIO: /* è–体é™ç¦ */ + case CR_PROVIDENCE: /* プãƒãƒ´ã‚£ãƒ‡ãƒ³ã‚¹ */ + case CG_MARIONETTE: /* マリオãƒãƒƒãƒˆã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ« */ if (bl->type == BL_PC && ((struct map_session_data *) bl)-> special_state.no_magic_damage) @@ -3569,7 +3569,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case PR_ASPERSIO: /* ƒAƒXƒyƒ‹ƒVƒI */ + case PR_ASPERSIO: /* アスペルシオ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (bl->type == BL_PC && ((struct map_session_data *) bl)-> @@ -3581,7 +3581,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); break; - case PR_KYRIE: /* ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“ */ + case PR_KYRIE: /* ã‚リエエレイソン */ clif_skill_nodamage (bl, bl, skillid, skilllv, 1); if (bl->type == BL_PC && ((struct map_session_data *) bl)-> @@ -3591,29 +3591,29 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); break; - case KN_AUTOCOUNTER: /* ƒI[ƒgƒJƒEƒ“ƒ^[ */ - case KN_TWOHANDQUICKEN: /* ƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“ */ - case CR_SPEARQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ + case KN_AUTOCOUNTER: /* オートカウンター */ + case KN_TWOHANDQUICKEN: /* ツーãƒãƒ³ãƒ‰ã‚¯ã‚¤ãƒƒã‚±ãƒ³ */ + case CR_SPEARQUICKEN: /* スピアクイッケン */ case CR_REFLECTSHIELD: - case AS_POISONREACT: /* ƒ|ƒCƒYƒ“ƒŠƒAƒNƒg */ - case MC_LOUD: /* ƒ‰ƒEƒhƒ{ƒCƒX */ - case MG_ENERGYCOAT: /* ƒGƒiƒW[ƒR[ƒg */ - case SM_ENDURE: /* ƒCƒ“ƒfƒ…ƒA */ - case MG_SIGHT: /* ƒTƒCƒg */ - case AL_RUWACH: /* ƒ‹ƒAƒt */ - case MO_EXPLOSIONSPIRITS: // ”š—ô”g“® - case MO_STEELBODY: // ‹à„ - case LK_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - case LK_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ - case LK_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ - case LK_BERSERK: /* ƒo[ƒT[ƒN */ + case AS_POISONREACT: /* ãƒã‚¤ã‚ºãƒ³ãƒªã‚¢ã‚¯ãƒˆ */ + case MC_LOUD: /* ラウドボイス */ + case MG_ENERGYCOAT: /* エナジーコート */ + case SM_ENDURE: /* インデュア */ + case MG_SIGHT: /* サイト */ + case AL_RUWACH: /* ルアフ */ + case MO_EXPLOSIONSPIRITS: // 爆裂波動 + case MO_STEELBODY: // 金剛 + case LK_AURABLADE: /* オーラブレード */ + case LK_PARRYING: /* パリイング */ + case LK_CONCENTRATION: /* コンセントレーション */ + case LK_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ case HP_ASSUMPTIO: /* */ - case WS_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ - case SN_SIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - case WS_MELTDOWN: /* ƒƒ‹ƒgƒ_ƒEƒ“ */ - case ST_REJECTSWORD: /* ƒŠƒWƒFƒNƒgƒ\[ƒh */ - case HW_MAGICPOWER: /* –‚–@—Í‘• */ - case PF_MEMORIZE: /* ƒƒ‚ƒ‰ƒCƒY */ + case WS_CARTBOOST: /* カートブースト */ + case SN_SIGHT: /* トゥルーサイト */ + case WS_MELTDOWN: /* メルトダウン */ + case ST_REJECTSWORD: /* リジェクトソード */ + case HW_MAGICPOWER: /* é”法力増幅 */ + case PF_MEMORIZE: /* メモライズ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_status_change_start (bl, SkillStatusChangeTable[skillid], skilllv, 0, 0, 0, @@ -3639,7 +3639,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); break; - case LK_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ + case LK_TENSIONRELAX: /* テンションリラックス */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); pc_setsit (sd); clif_sitting (sd->fd, sd); @@ -3650,7 +3650,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, case MC_CHANGECART: clif_skill_nodamage (src, bl, skillid, skilllv, 1); break; - case AC_CONCENTRATION: /* W’†—ÍŒüã */ + case AC_CONCENTRATION: /* 集ä¸åŠ›å‘上 */ { int range = 1; clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -3663,12 +3663,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, SkillStatusChangeTable[skillid], tick); } break; - case SM_PROVOKE: /* ƒvƒƒ{ƒbƒN */ + case SM_PROVOKE: /* プãƒãƒœãƒƒã‚¯ */ { struct status_change *sc_data = battle_get_sc_data (bl); - /* MVPmob‚Æ•sŽ€‚É‚ÍŒø‚©‚È‚¢ */ - if ((bl->type == BL_MOB && battle_get_mode (bl) & 0x20) || battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) //•sŽ€‚É‚ÍŒø‚©‚È‚¢ + /* MVPmobã¨ä¸æ»ã«ã¯åŠ¹ã‹ãªã„ */ + if ((bl->type == BL_MOB && battle_get_mode (bl) & 0x20) || battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) //ä¸æ»ã«ã¯åŠ¹ã‹ãªã„ { map_freeblock_unlock (); return 1; @@ -3679,7 +3679,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); - if (dstmd && dstmd->skilltimer != -1 && dstmd->state.skillcastcancel) // ‰r¥–WŠQ + if (dstmd && dstmd->skilltimer != -1 && dstmd->state.skillcastcancel) // è© å”±å¦¨å®³ skill_castcancel (bl, 0); if (dstsd && dstsd->skilltimer != -1 && (!dstsd->special_state.no_castcancel @@ -3708,23 +3708,23 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case CR_DEVOTION: /* ƒfƒBƒ{[ƒVƒ‡ƒ“ */ + case CR_DEVOTION: /* ディボーション */ if (sd && dstsd) { - //“]¶‚â—{Žq‚Ìꇂ̌³‚ÌE‹Æ‚ðŽZo‚·‚é + //転生や養åã®å ´åˆã®å…ƒã®è·æ¥ã‚’算出ã™ã‚‹ int lv = sd->status.base_level - dstsd->status.base_level; lv = (lv < 0) ? -lv : lv; - if ((dstsd->bl.type != BL_PC) // ‘ŠŽè‚ÍPC‚¶‚á‚È‚¢‚Æ‚¾‚ß - || (sd->bl.id == dstsd->bl.id) // ‘ŠŽè‚ªŽ©•ª‚Í‚¾‚ß - || (lv > 10) // ƒŒƒxƒ‹·}10‚Ü‚Å - || (!sd->status.party_id && !sd->status.guild_id) // PT‚É‚àƒMƒ‹ƒh‚É‚àŠ‘®–³‚µ‚Í‚¾‚ß - || ((sd->status.party_id != dstsd->status.party_id) // “¯‚¶ƒp[ƒeƒB[‚©A - || (sd->status.guild_id != dstsd->status.guild_id)) // “¯‚¶ƒMƒ‹ƒh‚¶‚á‚È‚¢‚Æ‚¾‚ß + if ((dstsd->bl.type != BL_PC) // 相手ã¯PCã˜ã‚ƒãªã„ã¨ã ã‚ + || (sd->bl.id == dstsd->bl.id) // 相手ãŒè‡ªåˆ†ã¯ã ã‚ + || (lv > 10) // レベル差±10ã¾ã§ + || (!sd->status.party_id && !sd->status.guild_id) // PTã«ã‚‚ギルドã«ã‚‚所属無ã—ã¯ã ã‚ + || ((sd->status.party_id != dstsd->status.party_id) // åŒã˜ãƒ‘ーティーã‹ã€ + || (sd->status.guild_id != dstsd->status.guild_id)) // åŒã˜ã‚®ãƒ«ãƒ‰ã˜ã‚ƒãªã„ã¨ã ã‚ || (dstsd->status.class == 14 || dstsd->status.class == 21 || dstsd->status.class == 4015 || dstsd->status.class == 4022)) - { // ƒNƒ‹ƒZ‚¾‚ß + { // クルセã ã‚ clif_skill_fail (sd, skillid, 0, 0); map_freeblock_unlock (); return 1; @@ -3732,13 +3732,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, for (i = 0; i < skilllv; i++) { if (!sd->dev.val1[i]) - { // ‹ó‚«‚ª‚ ‚Á‚½‚ç“ü‚ê‚é + { // 空ããŒã‚ã£ãŸã‚‰å…¥ã‚Œã‚‹ sd->dev.val1[i] = bl->id; sd->dev.val2[i] = bl->id; break; } else if (i == skilllv - 1) - { // ‹ó‚«‚ª‚È‚©‚Á‚½ + { // 空ããŒãªã‹ã£ãŸ clif_skill_fail (sd, skillid, 0, 0); map_freeblock_unlock (); return 1; @@ -3754,7 +3754,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, else clif_skill_fail (sd, skillid, 0, 0); break; - case MO_CALLSPIRITS: // ‹CŒ÷ + case MO_CALLSPIRITS: // 気功 if (sd) { clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -3762,7 +3762,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv); } break; - case CH_SOULCOLLECT: // ‹¶‹CŒ÷ + case CH_SOULCOLLECT: // 狂気功 if (sd) { clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -3771,13 +3771,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, 5); } break; - case MO_BLADESTOP: // ”’nŽæ‚è + case MO_BLADESTOP: // 白刃å–ã‚Š clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_status_change_start (src, SkillStatusChangeTable[skillid], skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); break; - case MO_ABSORBSPIRITS: // ‹C’D + case MO_ABSORBSPIRITS: // 気奪 i = 0; if (sd && dstsd) { @@ -3797,8 +3797,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } } else if (sd && dstmd) - { //‘ÎÛ‚ªƒ‚ƒ“ƒXƒ^[‚Ìê‡ - //20%‚ÌŠm—¦‚Å‘ÎÛ‚ÌLv*2‚ÌSP‚ð‰ñ•œ‚·‚éB¬Œ÷‚µ‚½‚Æ‚«‚̓^[ƒQƒbƒg(ƒÐß„Dß)ƒÐ¹Þ¯Â!! + { //対象ãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã®å ´åˆ + //20%ã®ç¢ºçŽ‡ã§å¯¾è±¡ã®Lv*2ã®SPを回復ã™ã‚‹ã€‚æˆåŠŸã—ãŸã¨ãã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ(σ゚Д゚)σゲッツ!! if (MRAND (100) < 20) { i = 2 * mob_db[dstmd->class].lv; @@ -3814,32 +3814,32 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, clif_skill_nodamage (src, bl, skillid, skilllv, 0); break; - case AC_MAKINGARROW: /* –îì¬ */ + case AC_MAKINGARROW: /* çŸ¢ä½œæˆ */ /* if(sd) { clif_arrow_create_list(sd); clif_skill_nodamage(src,bl,skillid,skilllv,1); }*/ break; - case AM_PHARMACY: /* ƒ|[ƒVƒ‡ƒ“ì¬ */ + case AM_PHARMACY: /* ãƒãƒ¼ã‚·ãƒ§ãƒ³ä½œæˆ */ /* if(sd) { clif_skill_produce_mix_list(sd,32); clif_skill_nodamage(src,bl,skillid,skilllv,1); }*/ break; - case WS_CREATECOIN: /* ƒNƒŠƒGƒCƒgƒRƒCƒ“ */ + case WS_CREATECOIN: /* クリエイトコイン */ /* if(sd) { clif_skill_produce_mix_list(sd,64); clif_skill_nodamage(src,bl,skillid,skilllv,1); }*/ break; - case WS_CREATENUGGET: /* ‰ò»‘¢ */ + case WS_CREATENUGGET: /* å¡Šè£½é€ */ /* if(sd) { clif_skill_produce_mix_list(sd,128); clif_skill_nodamage(src,bl,skillid,skilllv,1); }*/ break; - case BS_HAMMERFALL: /* ƒnƒ“ƒ}[ƒtƒH[ƒ‹ */ + case BS_HAMMERFALL: /* ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ« */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (bl->type == BL_PC && ((struct map_session_data *) bl)-> @@ -3853,7 +3853,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case RG_RAID: /* ƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒN */ + case RG_RAID: /* サプライズアタック */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); { int x = bl->x, y = bl->y; @@ -3866,10 +3866,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, flag | BCT_ENEMY | 1, skill_castend_damage_id); } - skill_status_change_end (src, SC_HIDING, -1); // ƒnƒCƒfƒBƒ“ƒO‰ðœ + skill_status_change_end (src, SC_HIDING, -1); // ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚°è§£é™¤ break; - case KN_BRANDISHSPEAR: /*ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA */ + case KN_BRANDISHSPEAR: /*ブランディッシュスピア */ { int c, n = 4, ar; int dir = map_calc_dir (src, bl->x, bl->y); @@ -3878,7 +3878,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ar = skilllv / 3; skill_brandishspear_first (&tc, dir, x, y); skill_brandishspear_dir (&tc, dir, 4); - /* ”͈͇C */ + /* 範囲C */ if (skilllv == 10) { for (c = 1; c < 4; c++) @@ -3891,7 +3891,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skill_castend_damage_id); } } - /* ”͈͇B‡A */ + /* 範囲BA */ if (skilllv > 6) { skill_brandishspear_dir (&tc, dir, -1); @@ -3921,7 +3921,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } } } - /* ”͈͇@ */ + /* 範囲@ */ for (c = 0; c < 10; c++) { if (c == 0 || c == 5) @@ -3936,14 +3936,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - /* ƒp[ƒeƒBƒXƒLƒ‹ */ - case AL_ANGELUS: /* ƒGƒ“ƒWƒFƒ‰ƒX */ - case PR_MAGNIFICAT: /* ƒ}ƒOƒjƒtƒBƒJ[ƒg */ - case PR_GLORIA: /* ƒOƒƒŠƒA */ - case SN_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + /* パーティスã‚ル */ + case AL_ANGELUS: /* エンジェラス */ + case PR_MAGNIFICAT: /* マグニフィカート */ + case PR_GLORIA: /* ã‚°ãƒãƒªã‚¢ */ + case SN_WINDWALK: /* ウインドウォーク */ if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) { - /* ŒÂ•Ê‚̈— */ + /* 個別ã®å‡¦ç† */ clif_skill_nodamage (bl, bl, skillid, skilllv, 1); if (bl->type == BL_PC && ((struct map_session_data *) bl)-> @@ -3957,7 +3957,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } else { - /* ƒp[ƒeƒB‘S‘̂ւ̈— */ + /* パーティ全体ã¸ã®å‡¦ç† */ party_foreachsamemap (skill_area_sub, sd, 1, src, skillid, skilllv, tick, @@ -3965,12 +3965,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skill_castend_nodamage_id); } break; - case BS_ADRENALINE: /* ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… */ - case BS_WEAPONPERFECT: /* ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ */ - case BS_OVERTHRUST: /* ƒI[ƒo[ƒgƒ‰ƒXƒg */ + case BS_ADRENALINE: /* アドレナリンラッシュ */ + case BS_WEAPONPERFECT: /* ウェãƒãƒ³ãƒ‘ーフェクション */ + case BS_OVERTHRUST: /* オーãƒãƒ¼ãƒˆãƒ©ã‚¹ãƒˆ */ if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) { - /* ŒÂ•Ê‚̈— */ + /* 個別ã®å‡¦ç† */ clif_skill_nodamage (bl, bl, skillid, skilllv, 1); skill_status_change_start (bl, SkillStatusChangeTable[skillid], @@ -3980,7 +3980,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } else { - /* ƒp[ƒeƒB‘S‘̂ւ̈— */ + /* パーティ全体ã¸ã®å‡¦ç† */ party_foreachsamemap (skill_area_sub, sd, 1, src, skillid, skilllv, tick, @@ -3989,11 +3989,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - /*i•t‰Á‚Ɖ𜂪•K—vj */ - case BS_MAXIMIZE: /* ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ */ - case NV_TRICKDEAD: /* Ž€‚ñ‚¾‚Ó‚è */ - case CR_DEFENDER: /* ƒfƒBƒtƒFƒ“ƒ_[ */ - case CR_AUTOGUARD: /* ƒI[ƒgƒK[ƒh */ + /*ï¼ˆä»˜åŠ ã¨è§£é™¤ãŒå¿…è¦ï¼‰ */ + case BS_MAXIMIZE: /* マã‚シマイズパワー */ + case NV_TRICKDEAD: /* æ»ã‚“ã ãµã‚Š */ + case CR_DEFENDER: /* ディフェンダー */ + case CR_AUTOGUARD: /* オートガード */ { struct status_change *tsc_data = battle_get_sc_data (bl); int sc = SkillStatusChangeTable[skillid]; @@ -4001,18 +4001,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (tsc_data) { if (tsc_data[sc].timer == -1) - /* •t‰Á‚·‚é */ + /* ä»˜åŠ ã™ã‚‹ */ skill_status_change_start (bl, sc, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); else - /* ‰ðœ‚·‚é */ + /* 解除ã™ã‚‹ */ skill_status_change_end (bl, sc, -1); } } break; - case TF_HIDING: /* ƒnƒCƒfƒBƒ“ƒO */ + case TF_HIDING: /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ { struct status_change *tsc_data = battle_get_sc_data (bl); int sc = SkillStatusChangeTable[skillid]; @@ -4020,18 +4020,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (tsc_data) { if (tsc_data[sc].timer == -1) - /* •t‰Á‚·‚é */ + /* ä»˜åŠ ã™ã‚‹ */ skill_status_change_start (bl, sc, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); else - /* ‰ðœ‚·‚é */ + /* 解除ã™ã‚‹ */ skill_status_change_end (bl, sc, -1); } } break; - case AS_CLOAKING: /* ƒNƒ[ƒLƒ“ƒO */ + case AS_CLOAKING: /* クãƒãƒ¼ã‚ング */ { struct status_change *tsc_data = battle_get_sc_data (bl); int sc = SkillStatusChangeTable[skillid]; @@ -4039,12 +4039,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (tsc_data) { if (tsc_data[sc].timer == -1) - /* •t‰Á‚·‚é */ + /* ä»˜åŠ ã™ã‚‹ */ skill_status_change_start (bl, sc, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); else - /* ‰ðœ‚·‚é */ + /* 解除ã™ã‚‹ */ skill_status_change_end (bl, sc, -1); } @@ -4052,7 +4052,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case ST_CHASEWALK: /* ƒnƒCƒfƒBƒ“ƒO */ + case ST_CHASEWALK: /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ { struct status_change *tsc_data = battle_get_sc_data (bl); int sc = SkillStatusChangeTable[skillid]; @@ -4060,49 +4060,49 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (tsc_data) { if (tsc_data[sc].timer == -1) - /* •t‰Á‚·‚é */ + /* ä»˜åŠ ã™ã‚‹ */ skill_status_change_start (bl, sc, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); else - /* ‰ðœ‚·‚é */ + /* 解除ã™ã‚‹ */ skill_status_change_end (bl, sc, -1); } } break; - /* ‘Î’nƒXƒLƒ‹ */ - case BD_LULLABY: /* ŽqŽç‰S */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BA_DISSONANCE: /* •s‹¦˜a‰¹ */ - case BA_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ */ - case BA_WHISTLE: /* Œû“J */ - case BA_ASSASSINCROSS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case BA_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ - case DC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case DC_HUMMING: /* ƒnƒ~ƒ“ƒO */ - case DC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case DC_FORTUNEKISS: /* K‰^‚̃LƒX */ - case DC_SERVICEFORYOU: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ + /* 対地スã‚ル */ + case BD_LULLABY: /* å守唄 */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BA_DISSONANCE: /* ä¸å”和音 */ + case BA_POEMBRAGI: /* ブラギã®è©© */ + case BA_WHISTLE: /* å£ç¬› */ + case BA_ASSASSINCROSS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case BA_APPLEIDUN: /* イドゥンã®æž—檎 */ + case DC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case DC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ + case DC_DONTFORGETME: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case DC_FORTUNEKISS: /* 幸é‹ã®ã‚ス */ + case DC_SERVICEFORYOU: /* サービスフォーユー */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_unitsetting (src, skillid, skilllv, src->x, src->y, 0); break; - case HP_BASILICA: /* ƒoƒWƒŠƒJ */ - case PA_GOSPEL: /* ƒSƒXƒyƒ‹ */ + case HP_BASILICA: /* ãƒã‚¸ãƒªã‚« */ + case PA_GOSPEL: /* ゴスペル */ skill_clear_unitgroup (src); clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_unitsetting (src, skillid, skilllv, src->x, src->y, 0); break; - case BD_ADAPTATION: /* ƒAƒhƒŠƒu */ + case BD_ADAPTATION: /* アドリブ */ { struct status_change *sc_data = battle_get_sc_data (src); if (sc_data && sc_data[SC_DANCING].timer != -1) @@ -4113,14 +4113,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case BA_FROSTJOKE: /* Š¦‚¢ƒWƒ‡[ƒN */ - case DC_SCREAM: /* ƒXƒNƒŠ[ƒ€ */ + case BA_FROSTJOKE: /* 寒ã„ジョーク */ + case DC_SCREAM: /* スクリーム*/ clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_addtimerskill (src, tick + 3000, bl->id, 0, 0, skillid, skilllv, 0, flag); break; - case TF_STEAL: // ƒXƒeƒB[ƒ‹ + case TF_STEAL: // スティール if (sd) { if (pc_steal_item (sd, bl)) @@ -4130,7 +4130,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case RG_STEALCOIN: // ƒXƒeƒB[ƒ‹ƒRƒCƒ“ + case RG_STEALCOIN: // スティールコイン if (sd) { if (pc_steal_coin (sd, bl)) @@ -4146,7 +4146,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case MG_STONECURSE: /* ƒXƒg[ƒ“ƒJ[ƒX */ + case MG_STONECURSE: /* ストーンカース */ if (bl->type == BL_MOB && battle_get_mode (bl) & 0x20) { clif_skill_fail (sd, sd->skillid, 0, 0); @@ -4167,12 +4167,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, clif_skill_fail (sd, skillid, 0, 0); break; - case NV_FIRSTAID: /* ‰ž‹}Žè“– */ + case NV_FIRSTAID: /* 応急手当 */ clif_skill_nodamage (src, bl, skillid, 5, 1); battle_heal (NULL, bl, 5, 0, 0); break; - case AL_CURE: /* ƒLƒ…ƒA[ */ + case AL_CURE: /* ã‚ュアー */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (bl->type == BL_PC && ((struct map_session_data *) bl)-> @@ -4183,18 +4183,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (bl, SC_CONFUSION, -1); if (battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) - { //ƒAƒ“ƒfƒbƒh‚È‚çˆÃˆÅŒø‰Ê + { //アンデッドãªã‚‰æš—闇効果 skill_status_change_start (bl, SC_CONFUSION, 1, 0, 0, 0, 6000, 0); } break; - case TF_DETOXIFY: /* ‰ð“Å */ + case TF_DETOXIFY: /* 解毒 */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_status_change_end (bl, SC_POISON, -1); break; - case PR_STRECOVERY: /* ƒŠƒJƒoƒŠ[ */ + case PR_STRECOVERY: /* リカãƒãƒªãƒ¼ */ { clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (bl->type == BL_PC @@ -4207,7 +4207,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skill_status_change_end (bl, SC_STAN, -1); if (battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) - { //ƒAƒ“ƒfƒbƒh‚È‚çˆÃˆÅŒø‰Ê + { //アンデッドãªã‚‰æš—闇効果 int blind_time; //blind_time=30-battle_get_vit(bl)/10-battle_get_int/15; blind_time = @@ -4232,7 +4232,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case WZ_ESTIMATION: /* ƒ‚ƒ“ƒXƒ^[î•ñ */ + case WZ_ESTIMATION: /* ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼æƒ…å ± */ if (src->type == BL_PC) { clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -4240,22 +4240,22 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case MC_IDENTIFY: /* ƒAƒCƒeƒ€ŠÓ’è */ + case MC_IDENTIFY: /* アイテム鑑定 */ if (sd) clif_item_identify_list (sd); break; - case BS_REPAIRWEAPON: /* •ŠíC— */ + case BS_REPAIRWEAPON: /* æ¦å™¨ä¿®ç† */ if (sd) -//“®ì‚µ‚È‚¢‚Ì‚Å‚Æ‚è‚ ‚¦‚¸ƒRƒƒ“ƒgƒAƒEƒg +//動作ã—ãªã„ã®ã§ã¨ã‚Šã‚ãˆãšã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆ // clif_item_repair_list(sd); break; - case AL_TELEPORT: /* ƒeƒŒƒ|[ƒg */ + case AL_TELEPORT: /* テレãƒãƒ¼ãƒˆ */ if (sd) { if (map[sd->bl.m].flag.noteleport) - { /* ƒeƒŒƒ|‹ÖŽ~ */ + { /* テレãƒç¦æ¢ */ clif_skill_teleportmessage (sd, 0); break; } @@ -4273,7 +4273,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, mob_warp ((struct mob_data *) bl, -1, -1, -1, 3); break; - case AL_HOLYWATER: /* ƒAƒNƒAƒxƒlƒfƒBƒNƒ^ */ + case AL_HOLYWATER: /* アクアベãƒãƒ‡ã‚£ã‚¯ã‚¿ */ if (sd) { int eflag; @@ -4286,7 +4286,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, { item_tmp.card[0] = 0xfe; item_tmp.card[1] = 0; - *((unsigned long *) (&item_tmp.card[2])) = sd->char_id; /* ƒLƒƒƒ‰ID */ + *((unsigned long *) (&item_tmp.card[2])) = sd->char_id; /* ã‚ャラID */ } eflag = pc_additem (sd, &item_tmp, 1); if (eflag) @@ -4320,7 +4320,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case RG_STRIPWEAPON: /* ƒXƒgƒŠƒbƒvƒEƒFƒ|ƒ“ */ + case RG_STRIPWEAPON: /* ストリップウェãƒãƒ³ */ { struct status_change *tsc_data = battle_get_sc_data (bl); @@ -4350,7 +4350,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case RG_STRIPSHIELD: /* ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒh */ + case RG_STRIPSHIELD: /* ストリップシールド */ { struct status_change *tsc_data = battle_get_sc_data (bl); @@ -4380,7 +4380,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case RG_STRIPARMOR: /* ƒXƒgƒŠƒbƒvƒA[ƒ}[ */ + case RG_STRIPARMOR: /* ストリップアーマー */ { struct status_change *tsc_data = battle_get_sc_data (bl); @@ -4409,7 +4409,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } } break; - case RG_STRIPHELM: /* ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€ */ + case RG_STRIPHELM: /* ストリップヘルム*/ { struct status_change *tsc_data = battle_get_sc_data (bl); @@ -4439,7 +4439,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; /* PotionPitcher */ - case AM_POTIONPITCHER: /* ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[ */ + case AM_POTIONPITCHER: /* ãƒãƒ¼ã‚·ãƒ§ãƒ³ãƒ”ッãƒãƒ£ãƒ¼ */ { struct block_list tbl; int i, x, hp = 0, sp = 0; @@ -4591,7 +4591,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skill_get_time (skillid, skilllv), 0); } break; - case SA_DISPELL: /* ƒfƒBƒXƒyƒ‹ */ + case SA_DISPELL: /* ディスペル */ { int i; clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -4613,7 +4613,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case TF_BACKSLIDING: /* ƒoƒbƒNƒXƒeƒbƒv */ + case TF_BACKSLIDING: /* ãƒãƒƒã‚¯ã‚¹ãƒ†ãƒƒãƒ— */ battle_stopwalking (src, 1); skill_blown (src, bl, skill_get_blewcount (skillid, skilllv) | 0x10000); @@ -4637,7 +4637,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, pc_heal (sd, 0, -sp); } break; - case SA_SPELLBREAKER: // ƒXƒyƒ‹ƒuƒŒƒCƒJ[ + case SA_SPELLBREAKER: // スペルブレイカー { struct status_change *sc_data = battle_get_sc_data (bl); int sp; @@ -4730,7 +4730,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); break; - case SA_AUTOSPELL: /* ƒI[ƒgƒXƒyƒ‹ */ + case SA_AUTOSPELL: /* オートスペル */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (sd) clif_autospell (sd, skilllv); @@ -4773,13 +4773,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - /* ƒ‰ƒ“ƒ_ƒ€‘®«•Ï‰»A…‘®«•Ï‰»A’nA‰ÎA•— */ + /* ランダム属性変化ã€æ°´å±žæ€§å¤‰åŒ–ã€åœ°ã€ç«ã€é¢¨ */ case NPC_ATTRICHANGE: case NPC_CHANGEWATER: case NPC_CHANGEGROUND: case NPC_CHANGEFIRE: case NPC_CHANGEWIND: - /* “ÅA¹A”OAˆÅ */ + /* 毒ã€è–ã€å¿µã€é—‡ */ case NPC_CHANGEPOISON: case NPC_CHANGEHOLY: case NPC_CHANGEDARKNESS: @@ -4788,9 +4788,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, { clif_skill_nodamage (src, bl, skillid, skilllv, 1); md->def_ele = skill_get_pl (skillid); - if (md->def_ele == 0) /* ƒ‰ƒ“ƒ_ƒ€•Ï‰»A‚½‚¾‚µA */ - md->def_ele = MRAND (10); /* •sŽ€‘®«‚Íœ‚ */ - md->def_ele += (1 + MRAND (4)) * 20; /* ‘®«ƒŒƒxƒ‹‚̓‰ƒ“ƒ_ƒ€ */ + if (md->def_ele == 0) /* ランダム変化ã€ãŸã ã—〠*/ + md->def_ele = MRAND (10); /* ä¸æ»å±žæ€§ã¯é™¤ã */ + md->def_ele += (1 + MRAND (4)) * 20; /* 属性レベルã¯ãƒ©ãƒ³ãƒ€ãƒ */ } break; @@ -4839,8 +4839,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case NPC_SELFDESTRUCTION: /* Ž©”š */ - case NPC_SELFDESTRUCTION2: /* Ž©”š2 */ + case NPC_SELFDESTRUCTION: /* 自爆 */ + case NPC_SELFDESTRUCTION2: /* 自爆2 */ skill_status_change_start (bl, SkillStatusChangeTable[skillid], skilllv, skillid, 0, 0, skill_get_time (skillid, skilllv), 0); @@ -4859,7 +4859,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, 0); break; - case NPC_SUICIDE: /* Ž©Œˆ */ + case NPC_SUICIDE: /* 自決 */ if (src && bl && md) { clif_skill_nodamage (src, bl, skillid, skilllv, 1); @@ -4867,8 +4867,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case NPC_SUMMONSLAVE: /* Žè‰º¢Š« */ - case NPC_SUMMONMONSTER: /* MOB¢Š« */ + case NPC_SUMMONSLAVE: /* 手下å¬å–š */ + case NPC_SUMMONMONSTER: /* MOBå¬å–š */ if (md && !md->master_id) { mob_summonslave (md, @@ -4885,7 +4885,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, mob_db[md->class].skill[md->skillidx].val); break; - case NPC_EMOTION: /* ƒGƒ‚[ƒVƒ‡ƒ“ */ + case NPC_EMOTION: /* エモーション */ if (md) clif_emotion (&md->bl, mob_db[md->class].skill[md->skillidx].val[0]); @@ -4895,7 +4895,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, clif_skill_nodamage (src, bl, skillid, skilllv, 1); break; - case WE_MALE: /* ŒN‚¾‚¯‚ÍŒì‚é‚æ */ + case WE_MALE: /* å›ã ã‘ã¯è·ã‚‹ã‚ˆ */ if (sd && dstsd) { int hp_rate = @@ -4906,7 +4906,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, battle_heal (NULL, bl, gain_hp, 0, 0); } break; - case WE_FEMALE: /* ‚ ‚È‚½‚ׂ̈ɋ]µ‚É‚È‚è‚Ü‚· */ + case WE_FEMALE: /* ã‚ãªãŸã®ç‚ºã«çŠ 牲ã«ãªã‚Šã¾ã™ */ if (sd && dstsd) { int sp_rate = @@ -4918,7 +4918,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case WE_CALLPARTNER: /* ‚ ‚È‚½‚ɉ‚½‚¢ */ + case WE_CALLPARTNER: /* ã‚ãªãŸã«ä¼šã„ãŸã„ */ if (sd && dstsd) { if (map[sd->bl.m].flag.nomemo) @@ -4936,24 +4936,24 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } break; - case PF_HPCONVERSION: /* ƒ‰ƒCƒt’u‚«Š·‚¦ */ + case PF_HPCONVERSION: /* ライフ置ãæ›ãˆ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (sd) { int conv_hp = 0, conv_sp = 0; - conv_hp = sd->status.hp / 10; //Šî–{‚ÍHP‚Ì10% - sd->status.hp -= conv_hp; //HP‚ðŒ¸‚ç‚· + conv_hp = sd->status.hp / 10; //基本ã¯HPã®10% + sd->status.hp -= conv_hp; //HPを減ら㙠conv_sp = conv_hp * 20 * skilllv / 100; conv_sp = (sd->status.sp + conv_sp > sd->status.max_sp) ? sd->status.max_sp - sd->status.sp : conv_sp; - sd->status.sp += conv_sp; //SP‚ð‘‚â‚· + sd->status.sp += conv_sp; //SPを増や㙠pc_heal (sd, -conv_hp, conv_sp); clif_heal (sd->fd, SP_SP, conv_sp); } break; - case HT_REMOVETRAP: /* ƒŠƒ€[ƒuƒgƒ‰ƒbƒv */ + case HT_REMOVETRAP: /* リムーブトラップ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); { struct skill_unit *su = NULL; @@ -4966,7 +4966,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, && su->group->unit_id <= 0x99) && (su->group->unit_id != 0x92)) - { //ã©‚ðŽæ‚è•Ô‚· + { //ç½ ã‚’å–り返㙠if (sd) { if (battle_config.skill_removetrap_type == 1) @@ -5029,7 +5029,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } } break; - case HT_SPRINGTRAP: /* ƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒv */ + case HT_SPRINGTRAP: /* スプリングトラップ */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); { struct skill_unit *su = NULL; @@ -5038,15 +5038,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, { switch (su->group->unit_id) { - case 0x8f: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case 0x90: /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ - case 0x93: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ - case 0x94: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ - case 0x95: /* ƒTƒ“ƒhƒ}ƒ“ */ - case 0x96: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case 0x97: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ - case 0x98: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ - case 0x99: /* ƒg[ƒL[ƒ{ƒbƒNƒX */ + case 0x8f: /* ブラストマイン */ + case 0x90: /* スã‚ッドトラップ */ + case 0x93: /* ランドマイン */ + case 0x94: /* ショックウェーブトラップ */ + case 0x95: /* サンドマン */ + case 0x96: /* フラッシャー */ + case 0x97: /* フリージングトラップ */ + case 0x98: /* クレイモアートラップ */ + case 0x99: /* トーã‚ーボックス */ su->group->unit_id = 0x8c; clif_changelook (bl, LOOK_BASE, su->group->unit_id); @@ -5058,26 +5058,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } } break; - case BD_ENCORE: /* ƒAƒ“ƒR[ƒ‹ */ + case BD_ENCORE: /* アンコール */ clif_skill_nodamage (src, bl, skillid, skilllv, 1); if (sd) skill_use_id (sd, src->id, sd->skillid_dance, sd->skilllv_dance); break; - case AS_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ - if ((double) battle_get_max_hp (bl) * 2 / 3 < battle_get_hp (bl)) //HP‚ª2/3ˆÈãŽc‚Á‚Ä‚¢‚½‚玸”s + case AS_SPLASHER: /* ベナムスプラッシャー */ + if ((double) battle_get_max_hp (bl) * 2 / 3 < battle_get_hp (bl)) //HPãŒ2/3以上残ã£ã¦ã„ãŸã‚‰å¤±æ•— return 1; clif_skill_nodamage (src, bl, skillid, skilllv, 1); skill_status_change_start (bl, SkillStatusChangeTable[skillid], skilllv, skillid, src->id, 0, skill_get_time (skillid, skilllv), 0); break; - case PF_MINDBREAKER: /* ƒvƒƒ{ƒbƒN */ + case PF_MINDBREAKER: /* プãƒãƒœãƒƒã‚¯ */ { struct status_change *sc_data = battle_get_sc_data (bl); - /* MVPmob‚Æ•sŽ€‚É‚ÍŒø‚©‚È‚¢ */ - if ((bl->type == BL_MOB && battle_get_mode (bl) & 0x20) || battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) //•sŽ€‚É‚ÍŒø‚©‚È‚¢ + /* MVPmobã¨ä¸æ»ã«ã¯åŠ¹ã‹ãªã„ */ + if ((bl->type == BL_MOB && battle_get_mode (bl) & 0x20) || battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) //ä¸æ»ã«ã¯åŠ¹ã‹ãªã„ { map_freeblock_unlock (); return 1; @@ -5088,7 +5088,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, skilllv, 0, 0, 0, skill_get_time (skillid, skilllv), 0); - if (dstmd && dstmd->skilltimer != -1 && dstmd->state.skillcastcancel) // ‰r¥–WŠQ + if (dstmd && dstmd->skilltimer != -1 && dstmd->state.skillcastcancel) // è© å”±å¦¨å®³ skill_castcancel (bl, 0); if (dstsd && dstsd->skilltimer != -1 && (!dstsd->special_state.no_castcancel @@ -5125,7 +5125,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, (su = (struct skill_unit *) bl) && (su->group->src_id == src->id || map[bl->m].flag.pvp || map[bl->m].flag.gvg) && (su->group->unit_id == 0xb0)) - { //ã©‚ðŽæ‚è•Ô‚· + { //ç½ ã‚’å–り返㙠if (sd) skill_delunit (su); } @@ -5142,7 +5142,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AIDŽw’èj + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€ID指定) *------------------------------------------ */ int skill_castend_id (int tid, unsigned int tick, int id, int data) @@ -5153,10 +5153,10 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) nullpo_retr (0, sd); - if (sd->bl.prev == NULL) //prev‚ª–³‚¢‚Ì‚Í‚ ‚è‚È‚ÌH + if (sd->bl.prev == NULL) //prevãŒç„¡ã„ã®ã¯ã‚ã‚Šãªã®ï¼Ÿ return 0; - if (sd->skillid != SA_CASTCANCEL && sd->skilltimer != tid) /* ƒ^ƒCƒ}ID‚ÌŠm”F */ + if (sd->skillid != SA_CASTCANCEL && sd->skilltimer != tid) /* タイマIDã®ç¢ºèª */ return 0; if (sd->skillid != SA_CASTCANCEL && sd->skilltimer != -1 && pc_checkskill (sd, SA_FREECAST) > 0) @@ -5175,7 +5175,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) return 0; } if (sd->bl.m != bl->m || pc_isdead (sd)) - { //ƒ}ƒbƒv‚ªˆá‚¤‚©Ž©•ª‚ªŽ€‚ñ‚Å‚¢‚é + { //マップãŒé•ã†ã‹è‡ªåˆ†ãŒæ»ã‚“ã§ã„ã‚‹ sd->canact_tick = tick; sd->canmove_tick = tick; sd->skillitem = sd->skillitemlv = -1; @@ -5213,7 +5213,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) } inf2 = skill_get_inf2 (sd->skillid); - if (((skill_get_inf (sd->skillid) & 1) || inf2 & 4) && // ”Þ‰ä“G‘Ί֌Wƒ`ƒFƒbƒN + if (((skill_get_inf (sd->skillid) & 1) || inf2 & 4) && // 彼我敵対関係ãƒã‚§ãƒƒã‚¯ battle_check_target (&sd->bl, bl, BCT_ENEMY) <= 0) { sd->canact_tick = tick; @@ -5265,7 +5265,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) } } if (!skill_check_condition (sd, 1)) - { /* Žg—pðŒƒ`ƒFƒbƒN */ + { /* 使用æ¡ä»¶ãƒã‚§ãƒƒã‚¯ */ sd->canact_tick = tick; sd->canmove_tick = tick; sd->skillitem = sd->skillitemlv = -1; @@ -5289,13 +5289,13 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) switch (skill_get_nk (sd->skillid)) { - /* UŒ‚Œn/‚«”ò‚΂µŒn */ + /* 攻撃系/å¹ã飛ã°ã—ç³» */ case 0: case 2: skill_castend_damage_id (&sd->bl, bl, sd->skillid, sd->skilllv, tick, 0); break; - case 1: /* Žx‰‡Œn */ + case 1: /* 支æ´ç³» */ if ((sd->skillid == AL_HEAL || (sd->skillid == ALL_RESURRECTION && bl->type != BL_PC) || sd->skillid == PR_ASPERSIO) @@ -5313,7 +5313,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) } /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹Aꊎw’è‚ÌŽÀۂ̈—j + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€å ´æ‰€æŒ‡å®šã®å®Ÿéš›ã®å‡¦ç†ï¼‰ *------------------------------------------ */ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, @@ -5338,7 +5338,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, switch (skillid) { - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ + case PR_BENEDICTIO: /* è–体é™ç¦ */ skill_area_temp[1] = src->id; map_foreachinarea (skill_area_sub, src->m, x - 1, y - 1, x + 1, y + 1, 0, @@ -5350,7 +5350,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, flag | BCT_ENEMY | 1, skill_castend_damage_id); break; - case BS_HAMMERFALL: /* ƒnƒ“ƒ}[ƒtƒH[ƒ‹ */ + case BS_HAMMERFALL: /* ãƒãƒ³ãƒžãƒ¼ãƒ•ã‚©ãƒ¼ãƒ« */ skill_area_temp[1] = src->id; skill_area_temp[2] = x; skill_area_temp[3] = y; @@ -5361,7 +5361,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, skill_castend_nodamage_id); break; - case HT_DETECTING: /* ƒfƒBƒeƒNƒeƒBƒ“ƒO */ + case HT_DETECTING: /* ディテクティング */ { const int range = 7; map_foreachinarea (skill_status_change_timer_sub, @@ -5371,35 +5371,35 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, } break; - case MG_SAFETYWALL: /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ - case MG_FIREWALL: /* ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹ */ - case MG_THUNDERSTORM: /* ƒTƒ“ƒ_[ƒXƒg[ƒ€ */ - case AL_PNEUMA: /* ƒjƒ…[ƒ} */ - case WZ_ICEWALL: /* ƒAƒCƒXƒEƒH[ƒ‹ */ - case WZ_FIREPILLAR: /* ƒtƒ@ƒCƒAƒsƒ‰[ */ + case MG_SAFETYWALL: /* セイフティウォール */ + case MG_FIREWALL: /* ファイヤーウォール */ + case MG_THUNDERSTORM: /* サンダーストーム*/ + case AL_PNEUMA: /* ニューマ */ + case WZ_ICEWALL: /* アイスウォール */ + case WZ_FIREPILLAR: /* ファイアピラー */ case WZ_SIGHTRASHER: - case WZ_QUAGMIRE: /* ƒNƒ@ƒOƒ}ƒCƒA */ - case WZ_VERMILION: /* ƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ */ - case WZ_FROSTNOVA: /* ƒtƒƒXƒgƒmƒ”ƒ@ */ - case WZ_STORMGUST: /* ƒXƒg[ƒ€ƒKƒXƒg */ - case WZ_HEAVENDRIVE: /* ƒwƒ”ƒ“ƒYƒhƒ‰ƒCƒu */ - case PR_SANCTUARY: /* ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ */ - case PR_MAGNUS: /* ƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ */ - case CR_GRANDCROSS: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ - case HT_SKIDTRAP: /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ - case HT_LANDMINE: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ - case HT_ANKLESNARE: /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ - case HT_SHOCKWAVE: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ - case HT_SANDMAN: /* ƒTƒ“ƒhƒ}ƒ“ */ - case HT_FLASHER: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case HT_FREEZINGTRAP: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ - case HT_BLASTMINE: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case HT_CLAYMORETRAP: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ - case AS_VENOMDUST: /* ƒxƒmƒ€ƒ_ƒXƒg */ - case AM_DEMONSTRATION: /* ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ */ - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ - case PF_FOGWALL: /* ƒtƒHƒOƒEƒH[ƒ‹ */ - case HT_TALKIEBOX: /* ƒg[ƒL[ƒ{ƒbƒNƒX */ + case WZ_QUAGMIRE: /* クァグマイア */ + case WZ_VERMILION: /* ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオン */ + case WZ_FROSTNOVA: /* フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ */ + case WZ_STORMGUST: /* ストームガスト */ + case WZ_HEAVENDRIVE: /* ヘヴンズドライブ */ + case PR_SANCTUARY: /* サンクãƒãƒ¥ã‚¢ãƒª */ + case PR_MAGNUS: /* マグヌスエクソシズム*/ + case CR_GRANDCROSS: /* グランドクãƒã‚¹ */ + case HT_SKIDTRAP: /* スã‚ッドトラップ */ + case HT_LANDMINE: /* ランドマイン */ + case HT_ANKLESNARE: /* アンクルスãƒã‚¢ */ + case HT_SHOCKWAVE: /* ショックウェーブトラップ */ + case HT_SANDMAN: /* サンドマン */ + case HT_FLASHER: /* フラッシャー */ + case HT_FREEZINGTRAP: /* フリージングトラップ */ + case HT_BLASTMINE: /* ブラストマイン */ + case HT_CLAYMORETRAP: /* クレイモアートラップ */ + case AS_VENOMDUST: /* ベノムダスト */ + case AM_DEMONSTRATION: /* デモンストレーション */ + case PF_SPIDERWEB: /* スパイダーウェッブ */ + case PF_FOGWALL: /* フォグウォール */ + case HT_TALKIEBOX: /* トーã‚ーボックス */ skill_unitsetting (src, skillid, skilllv, x, y, 0); break; @@ -5408,15 +5408,15 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, skill_unitsetting (src, skillid, skilllv, x, y, 0); break; - case SA_VOLCANO: /* ƒ{ƒ‹ƒP[ƒm */ - case SA_DELUGE: /* ƒfƒŠƒ…[ƒW */ - case SA_VIOLENTGALE: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ - case SA_LANDPROTECTOR: /* ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ */ - skill_clear_element_field (src); //Šù‚ÉŽ©•ª‚ª”“®‚µ‚Ä‚¢‚é‘®«ê‚ðƒNƒŠƒA + case SA_VOLCANO: /* ボルケーノ */ + case SA_DELUGE: /* デリュージ */ + case SA_VIOLENTGALE: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ + case SA_LANDPROTECTOR: /* ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼ */ + skill_clear_element_field (src); //æ—¢ã«è‡ªåˆ†ãŒç™ºå‹•ã—ã¦ã„ã‚‹å±žæ€§å ´ã‚’ã‚¯ãƒªã‚¢ skill_unitsetting (src, skillid, skilllv, x, y, 0); break; - case WZ_METEOR: //ƒƒeƒIƒXƒg[ƒ€ + case WZ_METEOR: //メテオストーム{ int flag = 0; for (i = 0; i < 2 + (skilllv >> 1); i++) @@ -5458,10 +5458,10 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, } break; - case AL_WARP: /* ƒ[ƒvƒ|[ƒ^ƒ‹ */ + case AL_WARP: /* ワープãƒãƒ¼ã‚¿ãƒ« */ if (sd) { - if (map[sd->bl.m].flag.noteleport) /* ƒeƒŒƒ|‹ÖŽ~ */ + if (map[sd->bl.m].flag.noteleport) /* テレãƒç¦æ¢ */ break; clif_skill_warppoint (sd, sd->skillid, sd->status.save_point.map, @@ -5482,7 +5482,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, else if (src->type == BL_MOB) mob_warp ((struct mob_data *) src, -1, x, y, 0); break; - case AM_CANNIBALIZE: // ƒoƒCƒIƒvƒ‰ƒ“ƒg + case AM_CANNIBALIZE: // ãƒã‚¤ã‚ªãƒ—ラント if (sd) { int mx, my, id = 0; @@ -5505,7 +5505,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, clif_skill_poseffect (src, skillid, skilllv, x, y, tick); } break; - case AM_SPHEREMINE: // ƒXƒtƒBƒA[ƒ}ƒCƒ“ + case AM_SPHEREMINE: // スフィアーマイン if (sd) { int mx, my, id = 0; @@ -5534,7 +5534,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, } /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹AmapŽw’èj + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€map指定) *------------------------------------------ */ int skill_castend_map (struct map_session_data *sd, int skill_num, @@ -5548,7 +5548,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, if (sd->opt1 > 0 || sd->status.option & 2) return 0; - //ƒXƒLƒ‹‚ªŽg‚¦‚È‚¢ó‘ÔˆÙí’† + //スã‚ルãŒä½¿ãˆãªã„çŠ¶æ…‹ç•°å¸¸ä¸ if (sd->sc_data) { if (sd->sc_data[SC_DIVINA].timer != -1 || @@ -5560,7 +5560,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, return 0; } - if (skill_num != sd->skillid) /* •s³ƒpƒPƒbƒg‚炵‚¢ */ + if (skill_num != sd->skillid) /* ä¸æ£ãƒ‘ケットらã—ã„ */ return 0; pc_stopattack (sd); @@ -5575,7 +5575,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, switch (skill_num) { - case AL_TELEPORT: /* ƒeƒŒƒ|[ƒg */ + case AL_TELEPORT: /* テレãƒãƒ¼ãƒˆ */ if (strcmp (map, "Random") == 0) pc_randomwarp (sd, 3); else @@ -5584,7 +5584,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, 3); break; - case AL_WARP: /* ƒ[ƒvƒ|[ƒ^ƒ‹ */ + case AL_WARP: /* ワープãƒãƒ¼ã‚¿ãƒ« */ { const struct point *p[] = { &sd->status.save_point, &sd->status.memo_point[0], @@ -5622,7 +5622,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, break; } } - if (x == 0 || y == 0) /* •s³ƒpƒPƒbƒgH */ + if (x == 0 || y == 0) /* ä¸æ£ãƒ‘ケット? */ return 0; if (!skill_check_condition (sd, 3)) @@ -5642,7 +5642,7 @@ int skill_castend_map (struct map_session_data *sd, int skill_num, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgݒ舗 + * スã‚ルユニットè¨å®šå‡¦ç† *------------------------------------------ */ struct skill_unit_group *skill_unitsetting (struct block_list *src, @@ -5657,16 +5657,16 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, nullpo_retr (0, src); switch (skillid) - { /* Ý’è */ + { /* è¨å®š */ - case MG_SAFETYWALL: /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ + case MG_SAFETYWALL: /* セイフティウォール */ limit = skill_get_time (skillid, skilllv); val2 = skilllv + 1; interval = -1; target = (battle_config.defnotenemy) ? BCT_NOENEMY : BCT_ALL; break; - case MG_FIREWALL: /* ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹ */ + case MG_FIREWALL: /* ファイヤーウォール */ if (src->x == x && src->y == y) dir = 2; else @@ -5680,14 +5680,14 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, interval = 1; break; - case AL_PNEUMA: /* ƒjƒ…[ƒ} */ + case AL_PNEUMA: /* ニューマ */ limit = skill_get_time (skillid, skilllv); interval = -1; target = (battle_config.defnotenemy) ? BCT_NOENEMY : BCT_ALL; count = 9; break; - case AL_WARP: /* ƒ[ƒvƒ|[ƒ^ƒ‹ */ + case AL_WARP: /* ワープãƒãƒ¼ã‚¿ãƒ« */ target = BCT_ALL; val1 = skilllv + 6; if (flag == 0) @@ -5696,7 +5696,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, limit = skill_get_time (skillid, skilllv); break; - case PR_SANCTUARY: /* ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ */ + case PR_SANCTUARY: /* サンクãƒãƒ¥ã‚¢ãƒª */ count = 21; limit = skill_get_time (skillid, skilllv); val1 = skilllv + 3; @@ -5705,13 +5705,13 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, range = 1; break; - case PR_MAGNUS: /* ƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ */ + case PR_MAGNUS: /* マグヌスエクソシズム*/ count = 33; limit = skill_get_time (skillid, skilllv); interval = 3000; break; - case WZ_FIREPILLAR: /* ƒtƒ@ƒCƒA[ƒsƒ‰[ */ + case WZ_FIREPILLAR: /* ファイアーピラー */ if (flag == 0) limit = skill_get_time (skillid, skilllv); else @@ -5721,21 +5721,21 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, range = 1; break; - case MG_THUNDERSTORM: /* ƒTƒ“ƒ_[ƒXƒg[ƒ€ */ + case MG_THUNDERSTORM: /* サンダーストーム*/ limit = 500; range = 1; break; - case WZ_FROSTNOVA: /* ƒtƒƒXƒgƒmƒ”ƒ@ */ + case WZ_FROSTNOVA: /* フãƒã‚¹ãƒˆãƒŽãƒ´ã‚¡ */ limit = 500; range = 5; break; - case WZ_HEAVENDRIVE: /* ƒwƒ”ƒ“ƒYƒhƒ‰ƒCƒu */ + case WZ_HEAVENDRIVE: /* ヘヴンズドライブ */ limit = 500; range = 2; break; - case WZ_METEOR: /* ƒƒeƒIƒXƒg[ƒ€ */ + case WZ_METEOR: /* メテオストーム*/ limit = 500; range = 3; break; @@ -5745,75 +5745,75 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, count = 41; break; - case WZ_VERMILION: /* ƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ */ + case WZ_VERMILION: /* ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオン */ limit = 4100; interval = 1000; range = 6; break; - case WZ_ICEWALL: /* ƒAƒCƒXƒEƒH[ƒ‹ */ + case WZ_ICEWALL: /* アイスウォール */ limit = skill_get_time (skillid, skilllv); count = 5; break; - case WZ_STORMGUST: /* ƒXƒg[ƒ€ƒKƒXƒg */ + case WZ_STORMGUST: /* ストームガスト */ limit = 4600; interval = 450; range = 5; break; - case WZ_QUAGMIRE: /* ƒNƒ@ƒOƒ}ƒCƒA */ + case WZ_QUAGMIRE: /* クァグマイア */ limit = skill_get_time (skillid, skilllv); interval = 200; count = 25; break; - case HT_SKIDTRAP: /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ - case HT_LANDMINE: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ - case HT_ANKLESNARE: /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ - case HT_SANDMAN: /* ƒTƒ“ƒhƒ}ƒ“ */ - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ - case HT_FLASHER: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case HT_FREEZINGTRAP: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ - case HT_BLASTMINE: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case HT_CLAYMORETRAP: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ + case HT_SKIDTRAP: /* スã‚ッドトラップ */ + case HT_LANDMINE: /* ランドマイン */ + case HT_ANKLESNARE: /* アンクルスãƒã‚¢ */ + case HT_SANDMAN: /* サンドマン */ + case PF_SPIDERWEB: /* スパイダーウェッブ */ + case HT_FLASHER: /* フラッシャー */ + case HT_FREEZINGTRAP: /* フリージングトラップ */ + case HT_BLASTMINE: /* ブラストマイン */ + case HT_CLAYMORETRAP: /* クレイモアートラップ */ limit = skill_get_time (skillid, skilllv); range = 1; break; - case HT_TALKIEBOX: /* ƒg[ƒL[ƒ{ƒbƒNƒX */ + case HT_TALKIEBOX: /* トーã‚ーボックス */ limit = skill_get_time (skillid, skilllv); range = 1; target = BCT_ALL; break; - case HT_SHOCKWAVE: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ + case HT_SHOCKWAVE: /* ショックウェーブトラップ */ limit = skill_get_time (skillid, skilllv); range = 1; val1 = skilllv * 15 + 10; break; - case AS_VENOMDUST: /* ƒxƒmƒ€ƒ_ƒXƒg */ + case AS_VENOMDUST: /* ベノムダスト */ limit = skill_get_time (skillid, skilllv); interval = 1000; count = 5; break; - case CR_GRANDCROSS: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ + case CR_GRANDCROSS: /* グランドクãƒã‚¹ */ count = 29; limit = 1000; interval = 300; break; - case SA_VOLCANO: /* ƒ{ƒ‹ƒP[ƒm */ - case SA_DELUGE: /* ƒfƒŠƒ…[ƒW */ - case SA_VIOLENTGALE: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ + case SA_VOLCANO: /* ボルケーノ */ + case SA_DELUGE: /* デリュージ */ + case SA_VIOLENTGALE: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ limit = skill_get_time (skillid, skilllv); count = skilllv <= 2 ? 25 : (skilllv <= 4 ? 49 : 81); target = BCT_ALL; break; - case SA_LANDPROTECTOR: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ + case SA_LANDPROTECTOR: /* グランドクãƒã‚¹ */ limit = skill_get_time (skillid, skilllv); // changed to get duration from cast_db (moonsoul) val1 = skilllv * 15 + 10; aoe_diameter = skilllv + skilllv % 2 + 5; @@ -5821,26 +5821,26 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, count = aoe_diameter * aoe_diameter; // -- this will not function if changed to ^2 (moonsoul) break; - case BD_LULLABY: /* ŽqŽç‰S */ - case BD_ETERNALCHAOS: /* ƒGƒ^[ƒiƒ‹ƒJƒIƒX */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ + case BD_LULLABY: /* å守唄 */ + case BD_ETERNALCHAOS: /* エターナルカオス */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ count = 81; limit = skill_get_time (skillid, skilllv); range = 5; target = BCT_ALL; break; case BD_RICHMANKIM: - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ count = 81; limit = skill_get_time (skillid, skilllv); range = 5; target = BCT_PARTY; break; - case BA_WHISTLE: /* Œû“J */ + case BA_WHISTLE: /* å£ç¬› */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5853,7 +5853,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, val2 = ((battle_get_agi (src) / 10) & 0xffff) << 16; val2 |= (battle_get_luk (src) / 10) & 0xffff; break; - case DC_HUMMING: /* ƒnƒ~ƒ“ƒO */ + case DC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5866,15 +5866,15 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, val2 = battle_get_dex (src) / 10; break; - case BA_DISSONANCE: /* •s‹¦˜a‰¹ */ - case DC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ + case BA_DISSONANCE: /* ä¸å”和音 */ + case DC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; target = BCT_ENEMY; break; - case DC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ + case DC_DONTFORGETME: /* ç§ã‚’忘れãªã„ã§â€¦ */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5887,7 +5887,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, val2 = ((battle_get_str (src) / 20) & 0xffff) << 16; val2 |= (battle_get_agi (src) / 10) & 0xffff; break; - case BA_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ */ + case BA_POEMBRAGI: /* ブラギã®è©© */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5899,7 +5899,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, val2 = ((battle_get_dex (src) / 10) & 0xffff) << 16; val2 |= (battle_get_int (src) / 5) & 0xffff; break; - case BA_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ + case BA_APPLEIDUN: /* イドゥンã®æž—檎 */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5912,9 +5912,9 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, else val1 = 0; val1 |= (battle_get_vit (src)) & 0xffff; - val2 = 0; //‰ñ•œ—pƒ^ƒCƒ€ƒJƒEƒ“ƒ^(6•b–ˆ‚É1‘‰Á) + val2 = 0; //回復用タイムカウンタ(6秒毎ã«1å¢—åŠ ) break; - case DC_SERVICEFORYOU: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case DC_SERVICEFORYOU: /* サービスフォーユー */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5926,7 +5926,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, DC_DANCINGLESSON) + 1) >> 1; val2 = battle_get_int (src) / 10; break; - case BA_ASSASSINCROSS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ + case BA_ASSASSINCROSS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5938,7 +5938,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, BA_MUSICALLESSON) + 1) >> 1; val2 = battle_get_agi (src) / 20; break; - case DC_FORTUNEKISS: /* K‰^‚̃LƒX */ + case DC_FORTUNEKISS: /* 幸é‹ã®ã‚ス */ count = 49; limit = skill_get_time (skillid, skilllv); range = 5; @@ -5950,18 +5950,18 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, DC_DANCINGLESSON) + 1) >> 1; val2 = battle_get_luk (src) / 10; break; - case AM_DEMONSTRATION: /* ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ */ + case AM_DEMONSTRATION: /* デモンストレーション */ limit = skill_get_time (skillid, skilllv); interval = 1000; range = 1; target = BCT_ENEMY; break; - case WE_CALLPARTNER: /* ‚ ‚È‚½‚Ɉ§‚¢‚½‚¢ */ + case WE_CALLPARTNER: /* ã‚ãªãŸã«é€¢ã„ãŸã„ */ limit = skill_get_time (skillid, skilllv); range = -1; break; - case HP_BASILICA: /* ƒoƒWƒŠƒJ */ + case HP_BASILICA: /* ãƒã‚¸ãƒªã‚« */ limit = skill_get_time (skillid, skilllv); target = BCT_ALL; range = 3; @@ -5970,12 +5970,12 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, skill_status_change_start (src, SC_ANKLE, skilllv, 0, 0, 0, limit, 0); break; - case PA_GOSPEL: /* ƒSƒXƒyƒ‹ */ + case PA_GOSPEL: /* ゴスペル */ count = 49; target = BCT_PARTY; limit = skill_get_time (skillid, skilllv); break; - case PF_FOGWALL: /* ƒtƒHƒOƒEƒH[ƒ‹ */ + case PF_FOGWALL: /* フォグウォール */ count = 15; limit = skill_get_time (skillid, skilllv); break; @@ -6011,8 +6011,8 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, group->limit, alive = 1; int range = group->range; switch (skillid) - { /* Ý’è */ - case AL_PNEUMA: /* ƒjƒ…[ƒ} */ + { /* è¨å®š */ + case AL_PNEUMA: /* ニューマ */ { static const int dx[9] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 }; static const int dy[9] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 }; @@ -6020,10 +6020,10 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, uy += dy[i]; } break; - case MG_FIREWALL: /* ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹ */ + case MG_FIREWALL: /* ファイヤーウォール */ { if (dir & 1) - { /* ŽÎ‚ß”z’u */ + { /* æ–œã‚é…ç½® */ static const int dx[][5] = { {1, 1, 0, 0, -1}, {-1, -1, 0, 0, 1}, }, dy[][5] = @@ -6036,17 +6036,17 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, uy += dy[(dir >> 1) & 1][i]; } else - { /* ㉺”z’u */ - if (dir % 4 == 0) /* ㉺ */ + { /* 上下é…ç½® */ + if (dir % 4 == 0) /* 上下 */ ux += i - 1; - else /* ¶‰E */ + else /* å·¦å³ */ uy += i - 1; } val2 = group->val2; } break; - case PR_SANCTUARY: /* ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ */ + case PR_SANCTUARY: /* サンクãƒãƒ¥ã‚¢ãƒª */ { static const int dx[] = { -1, 0, 1, -2, -1, 0, 1, 2, -2, -1, 0, 1, 2, -2, -1, 0, 1, @@ -6061,7 +6061,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } break; - case PR_MAGNUS: /* ƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ */ + case PR_MAGNUS: /* マグヌスエクソシズム*/ { static const int dx[] = { -1, 0, 1, -1, 0, 1, -3, -2, -1, 0, 1, 2, 3, @@ -6094,7 +6094,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } break; - case WZ_ICEWALL: /* ƒAƒCƒXƒEƒH[ƒ‹ */ + case WZ_ICEWALL: /* アイスウォール */ { static const int dirx[8] = { 0, -1, -1, -1, 0, 1, 1, 1 }; static const int diry[8] = { 1, 1, 0, -1, -1, -1, 0, 1 }; @@ -6111,7 +6111,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } break; - case WZ_QUAGMIRE: /* ƒNƒ@ƒOƒ}ƒCƒA */ + case WZ_QUAGMIRE: /* クァグマイア */ ux += (i % 5 - 2); uy += (i / 5 - 2); if (i == 12) @@ -6121,7 +6121,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, break; - case AS_VENOMDUST: /* ƒxƒmƒ€ƒ_ƒXƒg */ + case AS_VENOMDUST: /* ベノムダスト */ { static const int dx[] = { -1, 0, 0, 0, 1 }; static const int dy[] = { 0, -1, 0, 1, 0 }; @@ -6130,7 +6130,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } break; - case CR_GRANDCROSS: /* ƒOƒ‰ƒ“ƒhƒNƒƒX */ + case CR_GRANDCROSS: /* グランドクãƒã‚¹ */ { static const int dx[] = { 0, 0, -1, 0, 1, -2, -1, 0, 1, 2, -4, -3, -2, -1, 0, 1, 2, @@ -6144,9 +6144,9 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, uy += dy[i]; } break; - case SA_VOLCANO: /* ƒ{ƒ‹ƒP[ƒm */ - case SA_DELUGE: /* ƒfƒŠƒ…[ƒW */ - case SA_VIOLENTGALE: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ + case SA_VOLCANO: /* ボルケーノ */ + case SA_DELUGE: /* デリュージ */ + case SA_VIOLENTGALE: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ { int u_range = 0, central = 0; if (skilllv <= 2) @@ -6168,12 +6168,12 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, uy += (i / (u_range * 2 + 1) - u_range); if (i == central) - range = u_range; //’†‰›‚̃†ƒjƒbƒg‚ÌŒø‰Ê”͈͂͑S”ÍˆÍ + range = u_range; //ä¸å¤®ã®ãƒ¦ãƒ‹ãƒƒãƒˆã®åŠ¹æžœç¯„囲ã¯å…¨ç¯„囲 else - range = -1; //’†‰›ˆÈŠO‚̃†ƒjƒbƒg‚Íü‚è + range = -1; //ä¸å¤®ä»¥å¤–ã®ãƒ¦ãƒ‹ãƒƒãƒˆã¯é£¾ã‚Š } break; - case SA_LANDPROTECTOR: /* ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ */ + case SA_LANDPROTECTOR: /* ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼ */ { int u_range = 0; @@ -6191,44 +6191,44 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } break; - /* ƒ_ƒ“ƒX‚È‚Ç */ - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ + /* ダンスãªã© */ + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ ux += (i % 9 - 4); uy += (i / 9 - 4); if (i == 40) - range = 4; /* ’†S‚Ìꇂ͔͈͂ð4‚ɃI[ƒo[ƒ‰ƒCƒh */ + range = 4; /* ä¸å¿ƒã®å ´åˆã¯ç¯„囲を4ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ */ else - range = -1; /* ’†S‚¶‚á‚È‚¢ê‡‚͔͈͂ð-1‚ɃI[ƒo[ƒ‰ƒCƒh */ + range = -1; /* ä¸å¿ƒã˜ã‚ƒãªã„å ´åˆã¯ç¯„囲を-1ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ */ break; - case BA_DISSONANCE: /* •s‹¦˜a‰¹ */ - case BA_WHISTLE: /* Œû“J */ - case BA_ASSASSINCROSS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case BA_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ */ - case BA_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ - case DC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case DC_HUMMING: /* ƒnƒ~ƒ“ƒO */ - case DC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case DC_FORTUNEKISS: /* K‰^‚̃LƒX */ - case DC_SERVICEFORYOU: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case BA_DISSONANCE: /* ä¸å”和音 */ + case BA_WHISTLE: /* å£ç¬› */ + case BA_ASSASSINCROSS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case BA_POEMBRAGI: /* ブラギã®è©© */ + case BA_APPLEIDUN: /* イドゥンã®æž—檎 */ + case DC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case DC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ + case DC_DONTFORGETME: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case DC_FORTUNEKISS: /* 幸é‹ã®ã‚ス */ + case DC_SERVICEFORYOU: /* サービスフォーユー */ ux += (i % 7 - 3); uy += (i / 7 - 3); if (i == 40) - range = 4; /* ’†S‚Ìꇂ͔͈͂ð4‚ɃI[ƒo[ƒ‰ƒCƒh */ + range = 4; /* ä¸å¿ƒã®å ´åˆã¯ç¯„囲を4ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ */ else - range = -1; /* ’†S‚¶‚á‚È‚¢ê‡‚͔͈͂ð-1‚ɃI[ƒo[ƒ‰ƒCƒh */ + range = -1; /* ä¸å¿ƒã˜ã‚ƒãªã„å ´åˆã¯ç¯„囲を-1ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ */ break; - case PA_GOSPEL: /* ƒSƒXƒyƒ‹ */ + case PA_GOSPEL: /* ゴスペル */ ux += (i % 7 - 3); uy += (i / 7 - 3); break; - case PF_FOGWALL: /* ƒtƒHƒOƒEƒH[ƒ‹ */ + case PF_FOGWALL: /* フォグウォール */ ux += (i % 5 - 2); uy += (i / 5 - 1); break; @@ -6237,7 +6237,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, uy += (i / 5 - 2); break; } - //’¼ãƒXƒLƒ‹‚Ìê‡Ý’uÀ•Wã‚Ƀ‰ƒ“ƒhƒvƒƒeƒNƒ^[‚ª‚È‚¢‚©ƒ`ƒFƒbƒN + //直上スã‚ルã®å ´åˆè¨ç½®åº§æ¨™ä¸Šã«ãƒ©ãƒ³ãƒ‰ãƒ—ãƒãƒ†ã‚¯ã‚¿ãƒ¼ãŒãªã„ã‹ãƒã‚§ãƒƒã‚¯ if (range <= 0) map_foreachinarea (skill_landprotector, src->m, ux, uy, ux, uy, BL_SKILL, skillid, &alive); @@ -6267,7 +6267,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ì”“®ƒCƒxƒ“ƒg + * スã‚ルユニットã®ç™ºå‹•ã‚¤ãƒ™ãƒ³ãƒˆ *------------------------------------------ */ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, @@ -6299,11 +6299,11 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, nullpo_retr (0, ts = skill_unitgrouptickset_search (bl, sg->group_id)); diff = DIFF_TICK (tick, ts->tick); goflag = (diff > sg->interval || diff < 0); - if (sg->skill_id == CR_GRANDCROSS && !battle_config.gx_allhit) // d‚È‚Á‚Ä‚¢‚½‚ç3HIT‚µ‚È‚¢ + if (sg->skill_id == CR_GRANDCROSS && !battle_config.gx_allhit) // é‡ãªã£ã¦ã„ãŸã‚‰3HITã—ãªã„ goflag = (diff > sg->interval * map_count_oncell (bl->m, bl->x, bl->y) || diff < 0); - //‘ÎÛ‚ªLPã‚É‹‚éꇂ͖³Œø + //対象ãŒLP上ã«å±…ã‚‹å ´åˆã¯ç„¡åŠ¹ map_foreachinarea (skill_landprotector, bl->m, bl->x, bl->y, bl->x, bl->y, BL_SKILL, 0, &goflag); @@ -6314,7 +6314,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, switch (sg->unit_id) { - case 0x83: /* ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ */ + case 0x83: /* サンクãƒãƒ¥ã‚¢ãƒª */ { int race = battle_get_race (bl); int damage_flag = @@ -6335,7 +6335,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, if (bl->type == BL_PC && ((struct map_session_data *) bl)-> special_state.no_magic_damage) - heal = 0; /* ‰©‹à峃J[ƒhiƒq[ƒ‹—Ê‚Oj */ + heal = 0; /* 黄金蟲カード(ヒールé‡ï¼ï¼‰ */ clif_skill_nodamage (&src->bl, bl, AL_HEAL, heal, 1); battle_heal (NULL, bl, heal, 0, 0); } @@ -6345,7 +6345,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x84: /* ƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ */ + case 0x84: /* マグヌスエクソシズム*/ { int race = battle_get_race (bl); int damage_flag = @@ -6359,7 +6359,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x85: /* ƒjƒ…[ƒ} */ + case 0x85: /* ニューマ */ { struct skill_unit *unit2; struct status_change *sc_data = battle_get_sc_data (bl); @@ -6377,7 +6377,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } } break; - case 0x7e: /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ + case 0x7e: /* セイフティウォール */ { struct skill_unit *unit2; struct status_change *sc_data = battle_get_sc_data (bl); @@ -6396,12 +6396,12 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x86: /* ƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“(•ƒXƒg[ƒ€ƒKƒXƒg •ƒOƒ‰ƒ“ƒhƒNƒƒX) */ + case 0x86: /* ãƒãƒ¼ãƒ‰ã‚ªãƒ–ヴァーミリオン(&ストームガスト &グランドクãƒã‚¹) */ skill_attack (BF_MAGIC, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0); break; - case 0x7f: /* ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹ */ + case 0x7f: /* ファイヤーウォール */ if ((src->val2--) > 0) skill_attack (BF_MAGIC, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0); @@ -6409,19 +6409,19 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, skill_delunit (src); break; - case 0x87: /* ƒtƒ@ƒCƒA[ƒsƒ‰[(”“®‘O) */ + case 0x87: /* ファイアーピラー(発動å‰) */ skill_delunit (src); skill_unitsetting (ss, sg->skill_id, sg->skill_lv, src->bl.x, src->bl.y, 1); break; - case 0x88: /* ƒtƒ@ƒCƒA[ƒsƒ‰[(”“®Œã) */ + case 0x88: /* ファイアーピラー(発動後) */ if (DIFF_TICK (tick, sg->tick) < 150) skill_attack (BF_MAGIC, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0); break; - case 0x90: /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ + case 0x90: /* スã‚ッドトラップ */ { int i, c = skill_get_blewcount (sg->skill_id, sg->skill_lv); if (map[bl->m].flag.gvg) @@ -6434,7 +6434,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x93: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ + case 0x93: /* ランドマイン */ skill_attack (BF_MISC, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0); sg->unit_id = 0x8c; @@ -6442,12 +6442,12 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, sg->limit = DIFF_TICK (tick, sg->tick) + 1500; break; - case 0x8f: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case 0x94: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ - case 0x95: /* ƒTƒ“ƒhƒ}ƒ“ */ - case 0x96: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case 0x97: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ - case 0x98: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ + case 0x8f: /* ブラストマイン */ + case 0x94: /* ショックウェーブトラップ */ + case 0x95: /* サンドマン */ + case 0x96: /* フラッシャー */ + case 0x97: /* フリージングトラップ */ + case 0x98: /* クレイモアートラップ */ map_foreachinarea (skill_count_target, src->bl.m, src->bl.x - src->range, src->bl.y - src->range, src->bl.x + src->range, src->bl.y + src->range, @@ -6461,7 +6461,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, sg->limit = DIFF_TICK (tick, sg->tick) + 1500; break; - case 0x91: /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ + case 0x91: /* アンクルスãƒã‚¢ */ { struct status_change *sc_data = battle_get_sc_data (bl); if (sg->val2 == 0 && sc_data && sc_data[SC_ANKLE].timer == -1) @@ -6495,7 +6495,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x80: /* ƒ[ƒvƒ|[ƒ^ƒ‹(”“®Œã) */ + case 0x80: /* ワープãƒãƒ¼ã‚¿ãƒ«(発動後) */ if (bl->type == BL_PC) { struct map_session_data *sd = (struct map_session_data *) bl; @@ -6530,7 +6530,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } break; - case 0x8e: /* ƒNƒ@ƒOƒ}ƒCƒA */ + case 0x8e: /* クァグマイア */ { int type = SkillStatusChangeTable[sg->skill_id]; if (bl->type == BL_PC @@ -6544,7 +6544,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, sg->skill_lv), 0); } break; - case 0x92: /* ƒxƒmƒ€ƒ_ƒXƒg */ + case 0x92: /* ベノムダスト */ { struct status_change *sc_data = battle_get_sc_data (bl); int type = SkillStatusChangeTable[sg->skill_id]; @@ -6555,9 +6555,9 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, sg->skill_lv), 0); } break; - case 0x9a: /* ƒ{ƒ‹ƒP[ƒm */ - case 0x9b: /* ƒfƒŠƒ…[ƒW */ - case 0x9c: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ + case 0x9a: /* ボルケーノ */ + case 0x9b: /* デリュージ */ + case 0x9c: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ { struct skill_unit *unit2; struct status_change *sc_data = battle_get_sc_data (bl); @@ -6580,23 +6580,23 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } } break; - case 0x9e: /* ŽqŽç‰S */ - case 0x9f: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case 0xa0: /* ‰i‰“‚̬“× */ - case 0xa1: /* 푾ŒÛ‚Ì‹¿‚« */ - case 0xa2: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case 0xa3: /* ƒƒL‚Ì‹©‚Ñ */ - case 0xa4: /* [•£‚Ì’†‚É */ - case 0xa5: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case 0xa6: /* •s‹¦˜a‰¹ */ - case 0xa7: /* Œû“J */ - case 0xa8: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case 0xa9: /* ƒuƒ‰ƒM‚ÌŽ */ - case 0xab: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case 0xac: /* ƒnƒ~ƒ“ƒO */ - case 0xad: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case 0xae: /* K‰^‚̃LƒX */ - case 0xaf: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case 0x9e: /* å守唄 */ + case 0x9f: /* ニヨルドã®å®´ */ + case 0xa0: /* æ°¸é ã®æ··æ²Œ */ + case 0xa1: /* 戦太鼓ã®éŸ¿ã */ + case 0xa2: /* ニーベルングã®æŒ‡è¼ª */ + case 0xa3: /* ãƒã‚ã®å«ã³ */ + case 0xa4: /* 深淵ã®ä¸ã« */ + case 0xa5: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case 0xa6: /* ä¸å”和音 */ + case 0xa7: /* å£ç¬› */ + case 0xa8: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case 0xa9: /* ブラギã®è©© */ + case 0xab: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case 0xac: /* ãƒãƒŸãƒ³ã‚° */ + case 0xad: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case 0xae: /* 幸é‹ã®ã‚ス */ + case 0xaf: /* サービスフォーユー */ case 0xb4: { struct skill_unit *unit2; @@ -6623,7 +6623,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } } break; - case 0xaa: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ + case 0xaa: /* イドゥンã®æž—檎 */ { struct skill_unit *unit2; struct status_change *sc_data = battle_get_sc_data (bl); @@ -6650,15 +6650,15 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } } break; - case 0xb1: /* ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ */ + case 0xb1: /* デモンストレーション */ skill_attack (BF_WEAPON, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0); if (bl->type == BL_PC && MRAND (100) < sg->skill_lv && battle_config.equipment_breaking) pc_breakweapon ((struct map_session_data *) bl); break; - case 0x99: /* ƒg[ƒL[ƒ{ƒbƒNƒX */ - if (sg->src_id == bl->id) //Ž©•ª‚ª“¥‚ñ‚Å‚à”“®‚µ‚È‚¢ + case 0x99: /* トーã‚ーボックス */ + if (sg->src_id == bl->id) //自分ãŒè¸ã‚“ã§ã‚‚発動ã—ãªã„ break; if (sg->val2 == 0) { @@ -6666,16 +6666,16 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, sg->unit_id = 0x8c; clif_changelook (&src->bl, LOOK_BASE, sg->unit_id); sg->limit = DIFF_TICK (tick, sg->tick) + 5000; - sg->val2 = -1; //“¥‚ñ‚¾ + sg->val2 = -1; //è¸ã‚“ã } break; - case 0xb2: /* ‚ ‚È‚½‚ð_‰ï‚¢‚½‚¢‚Å‚· */ - case 0xb3: /* ƒSƒXƒyƒ‹ */ - case 0xb6: /* ƒtƒHƒOƒEƒH[ƒ‹ */ - //‚Æ‚è‚ ‚¦‚¸‰½‚à‚µ‚È‚¢ + case 0xb2: /* ã‚ãªãŸã‚’_会ã„ãŸã„ã§ã™ */ + case 0xb3: /* ゴスペル */ + case 0xb6: /* フォグウォール */ + //ã¨ã‚Šã‚ãˆãšä½•ã‚‚ã—ãªã„ break; - case 0xb7: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case 0xb7: /* スパイダーウェッブ */ if (sg->val2 == 0) { int moveblock = (bl->x / BLOCK_SIZE != src->bl.x / BLOCK_SIZE @@ -6707,7 +6707,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, printf("skill_unit_onplace: Unknown skill unit id=%d block=%d\n",sg->unit_id,bl->id); break;*/ } - if (bl->type == BL_MOB && ss != bl) /* ƒXƒLƒ‹Žg—pðŒ‚ÌMOBƒXƒLƒ‹ */ + if (bl->type == BL_MOB && ss != bl) /* スã‚ル使用æ¡ä»¶ã®MOBスã‚ル */ { if (battle_config.mob_changetarget_byskill == 1) { @@ -6727,7 +6727,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‚©‚ç—£’E‚·‚é(‚à‚µ‚‚Í‚µ‚Ä‚¢‚é)ê‡ + * スã‚ルユニットã‹ã‚‰é›¢è„±ã™ã‚‹(ã‚‚ã—ãã¯ã—ã¦ã„ã‚‹)å ´åˆ *------------------------------------------ */ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, @@ -6747,9 +6747,9 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, switch (sg->unit_id) { - case 0x7e: /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ - case 0x85: /* ƒjƒ…[ƒ} */ - case 0x8e: /* ƒNƒ@ƒOƒ}ƒCƒA */ + case 0x7e: /* セイフティウォール */ + case 0x85: /* ニューマ */ + case 0x8e: /* クァグマイア */ { struct status_change *sc_data = battle_get_sc_data (bl); int type = @@ -6763,7 +6763,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, } } break; - case 0x91: /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ + case 0x91: /* アンクルスãƒã‚¢ */ { struct block_list *target = map_id2bl (sg->val2); if (target && target == bl) @@ -6790,9 +6790,9 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, sg->limit = DIFF_TICK (tick, sg->tick) + 1000; } break; - case 0x9a: /* ƒ{ƒ‹ƒP[ƒm */ - case 0x9b: /* ƒfƒŠƒ…[ƒW */ - case 0x9c: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ + case 0x9a: /* ボルケーノ */ + case 0x9b: /* デリュージ */ + case 0x9c: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ { struct status_change *sc_data = battle_get_sc_data (bl); struct skill_unit *su; @@ -6806,24 +6806,24 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, } break; - case 0x9e: /* ŽqŽç‰S */ - case 0x9f: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case 0xa0: /* ‰i‰“‚̬“× */ - case 0xa1: /* 푾ŒÛ‚Ì‹¿‚« */ - case 0xa2: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case 0xa3: /* ƒƒL‚Ì‹©‚Ñ */ - case 0xa4: /* [•£‚Ì’†‚É */ - case 0xa5: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case 0xa6: /* •s‹¦˜a‰¹ */ - case 0xa7: /* Œû“J */ - case 0xa8: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case 0xa9: /* ƒuƒ‰ƒM‚ÌŽ */ - case 0xaa: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ - case 0xab: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case 0xac: /* ƒnƒ~ƒ“ƒO */ - case 0xad: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case 0xae: /* K‰^‚̃LƒX */ - case 0xaf: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case 0x9e: /* å守唄 */ + case 0x9f: /* ニヨルドã®å®´ */ + case 0xa0: /* æ°¸é ã®æ··æ²Œ */ + case 0xa1: /* 戦太鼓ã®éŸ¿ã */ + case 0xa2: /* ニーベルングã®æŒ‡è¼ª */ + case 0xa3: /* ãƒã‚ã®å«ã³ */ + case 0xa4: /* 深淵ã®ä¸ã« */ + case 0xa5: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case 0xa6: /* ä¸å”和音 */ + case 0xa7: /* å£ç¬› */ + case 0xa8: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case 0xa9: /* ブラギã®è©© */ + case 0xaa: /* イドゥンã®æž—檎 */ + case 0xab: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case 0xac: /* ãƒãƒŸãƒ³ã‚° */ + case 0xad: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case 0xae: /* 幸é‹ã®ã‚ス */ + case 0xaf: /* サービスフォーユー */ case 0xb4: { struct status_change *sc_data = battle_get_sc_data (bl); @@ -6837,7 +6837,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, } } break; - case 0xb7: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case 0xb7: /* スパイダーウェッブ */ { struct block_list *target = map_id2bl (sg->val2); if (target && target == bl) @@ -6856,7 +6856,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ì휃Cƒxƒ“ƒg + * スã‚ルユニットã®å‰Šé™¤ã‚¤ãƒ™ãƒ³ãƒˆ *------------------------------------------ */ int skill_unit_ondelete (struct skill_unit *src, struct block_list *bl, @@ -6876,30 +6876,30 @@ int skill_unit_ondelete (struct skill_unit *src, struct block_list *bl, switch (sg->unit_id) { - case 0x85: /* ƒjƒ…[ƒ} */ - case 0x7e: /* ƒZƒCƒtƒeƒBƒEƒH[ƒ‹ */ - case 0x8e: /* ƒNƒ@ƒOƒ}ƒCƒ„ */ - case 0x9a: /* ƒ{ƒ‹ƒP[ƒm */ - case 0x9b: /* ƒfƒŠƒ…[ƒW */ - case 0x9c: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ - case 0x9e: /* ŽqŽç‰S */ - case 0x9f: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case 0xa0: /* ‰i‰“‚̬“× */ - case 0xa1: /* 푾ŒÛ‚Ì‹¿‚« */ - case 0xa2: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case 0xa3: /* ƒƒL‚Ì‹©‚Ñ */ - case 0xa4: /* [•£‚Ì’†‚É */ - case 0xa5: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case 0xa6: /* •s‹¦˜a‰¹ */ - case 0xa7: /* Œû“J */ - case 0xa8: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case 0xa9: /* ƒuƒ‰ƒM‚ÌŽ */ - case 0xaa: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ - case 0xab: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case 0xac: /* ƒnƒ~ƒ“ƒO */ - case 0xad: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case 0xae: /* K‰^‚̃LƒX */ - case 0xaf: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case 0x85: /* ニューマ */ + case 0x7e: /* セイフティウォール */ + case 0x8e: /* クァグマイヤ */ + case 0x9a: /* ボルケーノ */ + case 0x9b: /* デリュージ */ + case 0x9c: /* ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆã‚²ã‚¤ãƒ« */ + case 0x9e: /* å守唄 */ + case 0x9f: /* ニヨルドã®å®´ */ + case 0xa0: /* æ°¸é ã®æ··æ²Œ */ + case 0xa1: /* 戦太鼓ã®éŸ¿ã */ + case 0xa2: /* ニーベルングã®æŒ‡è¼ª */ + case 0xa3: /* ãƒã‚ã®å«ã³ */ + case 0xa4: /* 深淵ã®ä¸ã« */ + case 0xa5: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case 0xa6: /* ä¸å”和音 */ + case 0xa7: /* å£ç¬› */ + case 0xa8: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case 0xa9: /* ブラギã®è©© */ + case 0xaa: /* イドゥンã®æž—檎 */ + case 0xab: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case 0xac: /* ãƒãƒŸãƒ³ã‚° */ + case 0xad: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case 0xae: /* 幸é‹ã®ã‚ス */ + case 0xaf: /* サービスフォーユー */ case 0xb4: return skill_unit_onout (src, bl, tick); @@ -6913,7 +6913,7 @@ int skill_unit_ondelete (struct skill_unit *src, struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‚ÌŒÀŠEƒCƒxƒ“ƒg + * スã‚ルユニットã®é™ç•Œã‚¤ãƒ™ãƒ³ãƒˆ *------------------------------------------ */ int skill_unit_onlimit (struct skill_unit *src, unsigned int tick) @@ -6925,7 +6925,7 @@ int skill_unit_onlimit (struct skill_unit *src, unsigned int tick) switch (sg->unit_id) { - case 0x81: /* ƒ[ƒvƒ|[ƒ^ƒ‹(”“®‘O) */ + case 0x81: /* ワープãƒãƒ¼ã‚¿ãƒ«(発動å‰) */ { struct skill_unit_group *group = skill_unitsetting (map_id2bl (sg->src_id), sg->skill_id, @@ -6944,12 +6944,12 @@ int skill_unit_onlimit (struct skill_unit *src, unsigned int tick) } break; - case 0x8d: /* ƒAƒCƒXƒEƒH[ƒ‹ */ + case 0x8d: /* アイスウォール */ map_setcell (src->bl.m, src->bl.x, src->bl.y, src->val2); clif_changemapcell (src->bl.m, src->bl.x, src->bl.y, src->val2, 1); break; - case 0xb2: /* ‚ ‚È‚½‚ɉ‚½‚¢ */ + case 0xb2: /* ã‚ãªãŸã«ä¼šã„ãŸã„ */ { struct map_session_data *sd = NULL; struct map_session_data *p_sd = NULL; @@ -6968,7 +6968,7 @@ int skill_unit_onlimit (struct skill_unit *src, unsigned int tick) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‚̃_ƒ[ƒWƒCƒxƒ“ƒg + * スã‚ルユニットã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚¤ãƒ™ãƒ³ãƒˆ *------------------------------------------ */ int skill_unit_ondamaged (struct skill_unit *src, struct block_list *bl, @@ -6981,12 +6981,12 @@ int skill_unit_ondamaged (struct skill_unit *src, struct block_list *bl, switch (sg->unit_id) { - case 0x8d: /* ƒAƒCƒXƒEƒH[ƒ‹ */ + case 0x8d: /* アイスウォール */ src->val1 -= damage; break; - case 0x8f: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case 0x98: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ - skill_blown (bl, &src->bl, 2); //‚«”ò‚΂µ‚Ä‚Ý‚é + case 0x8f: /* ブラストマイン */ + case 0x98: /* クレイモアートラップ */ + skill_blown (bl, &src->bl, 2); //å¹ã飛ã°ã—ã¦ã¿ã‚‹ break; default: damage = 0; @@ -6998,7 +6998,7 @@ int skill_unit_ondamaged (struct skill_unit *src, struct block_list *bl, /*---------------------------------------------------------------------------- */ /*========================================== - * ƒXƒLƒ‹Žg—pi‰r¥Š®—¹Aꊎw’èj + * スã‚ãƒ«ä½¿ç”¨ï¼ˆè© å”±å®Œäº†ã€å ´æ‰€æŒ‡å®šï¼‰ *------------------------------------------ */ int skill_castend_pos (int tid, unsigned int tick, int id, int data) @@ -7010,7 +7010,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) if (sd->bl.prev == NULL) return 0; - if (sd->skilltimer != tid) /* ƒ^ƒCƒ}ID‚ÌŠm”F */ + if (sd->skilltimer != tid) /* タイマIDã®ç¢ºèª */ return 0; if (sd->skilltimer != -1 && pc_checkskill (sd, SA_FREECAST) > 0) { @@ -7044,8 +7044,8 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) case HT_CLAYMORETRAP: case HT_TALKIEBOX: case AL_WARP: - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ - case RG_GRAFFITI: /* ƒOƒ‰ƒtƒBƒeƒB */ + case PF_SPIDERWEB: /* スパイダーウェッブ */ + case RG_GRAFFITI: /* グラフィティ */ range = 0; break; case AL_PNEUMA: @@ -7081,7 +7081,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) case HT_BLASTMINE: case HT_CLAYMORETRAP: case HT_TALKIEBOX: - case PF_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ + case PF_SPIDERWEB: /* スパイダーウェッブ */ case WZ_ICEWALL: range = 1; break; @@ -7142,7 +7142,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) } } if (!skill_check_condition (sd, 1)) - { /* Žg—pðŒƒ`ƒFƒbƒN */ + { /* 使用æ¡ä»¶ãƒã‚§ãƒƒã‚¯ */ sd->canact_tick = tick; sd->canmove_tick = tick; sd->skillitem = sd->skillitemlv = -1; @@ -7171,7 +7171,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) } /*========================================== - * ”͈͓àƒLƒƒƒ‰‘¶ÝŠm”F”»’舗(foreachinarea) + * 範囲内ã‚ャラå˜åœ¨ç¢ºèªåˆ¤å®šå‡¦ç†(foreachinarea) *------------------------------------------ */ @@ -7192,9 +7192,9 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) nullpo_retr (0, ssd = (struct map_session_data *) src); s_class = pc_calc_base_job (sd->status.class); - //ƒ`ƒFƒbƒN‚µ‚È‚¢Ý’è‚È‚çc‚É‚ ‚肦‚È‚¢‘å‚«‚È”Žš‚ð•Ô‚µ‚ÄI—¹ + //ãƒã‚§ãƒƒã‚¯ã—ãªã„è¨å®šãªã‚‰cã«ã‚ã‚Šãˆãªã„大ããªæ•°å—ã‚’è¿”ã—ã¦çµ‚了 if (!battle_config.player_skill_partner_check) - { //–{“–‚Íforeach‚Ì‘O‚É‚â‚肽‚¢‚¯‚ÇÝ’è“K—p‰ÓŠ‚ð‚܂Ƃ߂邽‚ß‚É‚±‚±‚Ö + { //本当ã¯foreachã®å‰ã«ã‚„ã‚ŠãŸã„ã‘ã©è¨å®šé©ç”¨ç®‡æ‰€ã‚’ã¾ã¨ã‚ã‚‹ãŸã‚ã«ã“ã“㸠(*c) = 99; return 0; } @@ -7204,7 +7204,7 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) switch (ssd->skillid) { - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ + case PR_BENEDICTIO: /* è–体é™ç¦ */ if (sd != ssd && (sd->status.class == 4 || sd->status.class == 8 || sd->status.class == 15 || sd->status.class == 4005 @@ -7213,16 +7213,16 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) && sd->status.sp >= 10) (*c)++; break; - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BD_RAGNAROK: /* _X‚̉©¨ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BD_RAGNAROK: /* 神々ã®é»„æ˜ */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ if (sd != ssd && ((ssd->status.class == 19 && sd->status.class == 20) || (ssd->status.class == 20 && sd->status.class == 19) || @@ -7241,7 +7241,7 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) } /*========================================== - * ”͈͓àƒLƒƒƒ‰‘¶ÝŠm”F”»’èŒãƒXƒLƒ‹Žg—pˆ—(foreachinarea) + * 範囲内ã‚ャラå˜åœ¨ç¢ºèªåˆ¤å®šå¾Œã‚¹ã‚ル使用処ç†(foreachinarea) *------------------------------------------ */ @@ -7264,9 +7264,9 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) s_class = pc_calc_base_job (sd->status.class); - //ƒ`ƒFƒbƒN‚µ‚È‚¢Ý’è‚È‚çc‚É‚ ‚肦‚È‚¢‘å‚«‚È”Žš‚ð•Ô‚µ‚ÄI—¹ + //ãƒã‚§ãƒƒã‚¯ã—ãªã„è¨å®šãªã‚‰cã«ã‚ã‚Šãˆãªã„大ããªæ•°å—ã‚’è¿”ã—ã¦çµ‚了 if (!battle_config.player_skill_partner_check) - { //–{“–‚Íforeach‚Ì‘O‚É‚â‚肽‚¢‚¯‚ÇÝ’è“K—p‰ÓŠ‚ð‚܂Ƃ߂邽‚ß‚É‚±‚±‚Ö + { //本当ã¯foreachã®å‰ã«ã‚„ã‚ŠãŸã„ã‘ã©è¨å®šé©ç”¨ç®‡æ‰€ã‚’ã¾ã¨ã‚ã‚‹ãŸã‚ã«ã“ã“㸠(*c) = 99; return 0; } @@ -7276,7 +7276,7 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) skilllv = ssd->skilllv; switch (skillid) { - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ + case PR_BENEDICTIO: /* è–体é™ç¦ */ if (sd != ssd && (sd->status.class == 4 || sd->status.class == 8 || sd->status.class == 15 || sd->status.class == 4005 @@ -7289,23 +7289,23 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) (*c)++; } break; - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BD_RAGNAROK: /* _X‚̉©¨ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ - if (sd != ssd && //–{lˆÈŠO‚Å - ((ssd->status.class == 19 && sd->status.class == 20) || (ssd->status.class == 20 && sd->status.class == 19) || (ssd->status.class == 4020 && sd->status.class == 4021) || (ssd->status.class == 4021 && sd->status.class == 4020) || (ssd->status.class == 20 && sd->status.class == 4020) || (ssd->status.class == 19 && sd->status.class == 4021)) && //Ž©•ª‚ªƒ_ƒ“ƒT[‚È‚çƒo[ƒh‚Å - pc_checkskill (sd, skillid) > 0 && //ƒXƒLƒ‹‚ðŽ‚Á‚Ä‚¢‚Ä - (*c) == 0 && //ʼn‚̈êl‚Å - sd->status.party_id == ssd->status.party_id && //ƒp[ƒeƒB[‚ª“¯‚¶‚Å - !pc_issit (sd) && //À‚Á‚Ä‚È‚¢ - sd->sc_data[SC_DANCING].timer == -1 //ƒ_ƒ“ƒX’†‚¶‚á‚È‚¢ + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BD_RAGNAROK: /* 神々ã®é»„æ˜ */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ + if (sd != ssd && //本人以外㧠+ ((ssd->status.class == 19 && sd->status.class == 20) || (ssd->status.class == 20 && sd->status.class == 19) || (ssd->status.class == 4020 && sd->status.class == 4021) || (ssd->status.class == 4021 && sd->status.class == 4020) || (ssd->status.class == 20 && sd->status.class == 4020) || (ssd->status.class == 19 && sd->status.class == 4021)) && //自分ãŒãƒ€ãƒ³ã‚µãƒ¼ãªã‚‰ãƒãƒ¼ãƒ‰ã§ + pc_checkskill (sd, skillid) > 0 && //スã‚ルをæŒã£ã¦ã„㦠+ (*c) == 0 && //最åˆã®ä¸€äººã§ + sd->status.party_id == ssd->status.party_id && //パーティーãŒåŒã˜ã§ + !pc_issit (sd) && //座ã£ã¦ãªã„ + sd->sc_data[SC_DANCING].timer == -1 //ダンスä¸ã˜ã‚ƒãªã„ ) { ssd->sc_data[SC_DANCING].val4 = bl->id; @@ -7325,7 +7325,7 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) } /*========================================== - * ”͈͓àƒoƒCƒIƒvƒ‰ƒ“ƒgAƒXƒtƒBƒAƒ}ƒCƒ“—pMob‘¶ÝŠm”F”»’舗(foreachinarea) + * 範囲内ãƒã‚¤ã‚ªãƒ—ラントã€ã‚¹ãƒ•ã‚£ã‚¢ãƒžã‚¤ãƒ³ç”¨Mobå˜åœ¨ç¢ºèªåˆ¤å®šå‡¦ç†(foreachinarea) *------------------------------------------ */ @@ -7348,7 +7348,7 @@ static int skill_check_condition_mob_master_sub (struct block_list *bl, } /*========================================== - * ƒXƒLƒ‹Žg—pðŒi‹U‚ÅŽg—pŽ¸”sj + * スã‚ル使用æ¡ä»¶ï¼ˆå½ã§ä½¿ç”¨å¤±æ•—) *------------------------------------------ */ int skill_check_condition (struct map_session_data *sd, int type) @@ -7390,7 +7390,7 @@ int skill_check_condition (struct map_session_data *sd, int type) * } */ if (sd->skillitem == sd->skillid) - { /* ƒAƒCƒeƒ€‚Ìꇖ³ðŒ¬Œ÷ */ + { /* アイテムã®å ´åˆç„¡æ¡ä»¶æˆåŠŸ */ if (type & 1) sd->skillitem = sd->skillitemlv = -1; return 1; @@ -7410,22 +7410,22 @@ int skill_check_condition (struct map_session_data *sd, int type) || sd->sc_data[SC_BERSERK].timer != -1) { clif_skill_fail (sd, sd->skillid, 0, 0); - return 0; /* ó‘ÔˆÙí‚â’¾–Ù‚È‚Ç */ + return 0; /* 状態異常や沈黙ãªã© */ } } skill = sd->skillid; lv = sd->skilllv; - hp = skill_get_hp (skill, lv); /* Á”ïHP */ - sp = skill_get_sp (skill, lv); /* Á”ïSP */ + hp = skill_get_hp (skill, lv); /* 消費HP */ + sp = skill_get_sp (skill, lv); /* 消費SP */ if ((sd->skillid_old == BD_ENCORE) && skill == sd->skillid_dance) - sp = sp / 2; //ƒAƒ“ƒR[ƒ‹Žž‚ÍSPÁ””¼•ª + sp = sp / 2; //アンコール時ã¯SP消費ãŒåŠåˆ† hp_rate = (lv <= 0) ? 0 : skill_db[skill].hp_rate[lv - 1]; sp_rate = (lv <= 0) ? 0 : skill_db[skill].sp_rate[lv - 1]; zeny = skill_get_zeny (skill, lv); weapon = skill_db[skill].weapon; state = skill_db[skill].state; spiritball = (lv <= 0) ? 0 : skill_db[skill].spiritball[lv - 1]; - mhp = skill_get_mhp (skill, lv); /* Á”ïHP */ + mhp = skill_get_mhp (skill, lv); /* 消費HP */ for (i = 0; i < 10; i++) { itemid[i] = skill_db[skill].itemid[i]; @@ -7442,7 +7442,7 @@ int skill_check_condition (struct map_session_data *sd, int type) else sp += (sd->status.max_sp * abs (sp_rate)) / 100; if (sd->dsprate != 100) - sp = sp * sd->dsprate / 100; /* Á”ïSPC³ */ + sp = sp * sd->dsprate / 100; /* 消費SPä¿®æ£ */ switch (skill) { @@ -7453,15 +7453,15 @@ int skill_check_condition (struct map_session_data *sd, int type) return 0; } break; - case BS_MAXIMIZE: /* ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ */ - case NV_TRICKDEAD: /* Ž€‚ñ‚¾‚Ó‚è */ - case TF_HIDING: /* ƒnƒCƒfƒBƒ“ƒO */ - case AS_CLOAKING: /* ƒNƒ[ƒLƒ“ƒO */ - case CR_AUTOGUARD: /* ƒI[ƒgƒK[ƒh */ - case CR_DEFENDER: /* ƒfƒBƒtƒFƒ“ƒ_[ */ + case BS_MAXIMIZE: /* マã‚シマイズパワー */ + case NV_TRICKDEAD: /* æ»ã‚“ã ãµã‚Š */ + case TF_HIDING: /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ + case AS_CLOAKING: /* クãƒãƒ¼ã‚ング */ + case CR_AUTOGUARD: /* オートガード */ + case CR_DEFENDER: /* ディフェンダー */ case ST_CHASEWALK: if (sd->sc_data[SkillStatusChangeTable[skill]].timer != -1) - return 1; /* ‰ðœ‚·‚éꇂÍSPÁ”‚È‚¢ */ + return 1; /* 解除ã™ã‚‹å ´åˆã¯SP消費ã—ãªã„ */ break; case AL_TELEPORT: case AL_WARP: @@ -7471,21 +7471,21 @@ int skill_check_condition (struct map_session_data *sd, int type) return 0; } break; - case MO_CALLSPIRITS: /* ‹CŒ÷ */ + case MO_CALLSPIRITS: /* 気功 */ if (sd->spiritball >= lv) { clif_skill_fail (sd, skill, 0, 0); return 0; } break; - case CH_SOULCOLLECT: /* ‹¶‹CŒ÷ */ + case CH_SOULCOLLECT: /* 狂気功 */ if (sd->spiritball >= 5) { clif_skill_fail (sd, skill, 0, 0); return 0; } break; - case MO_FINGEROFFENSIVE: //Žw’e + case MO_FINGEROFFENSIVE: //指弾 if (sd->spiritball > 0 && sd->spiritball < spiritball) { spiritball = sd->spiritball; @@ -7494,7 +7494,7 @@ int skill_check_condition (struct map_session_data *sd, int type) else sd->spiritball_old = lv; break; - case MO_CHAINCOMBO: //˜A‘Ŷ + case MO_CHAINCOMBO: //連打掌 if (sd->sc_data[SC_BLADESTOP].timer == -1) { if (sd->sc_data[SC_COMBO].timer == -1 @@ -7502,31 +7502,31 @@ int skill_check_condition (struct map_session_data *sd, int type) return 0; } break; - case MO_COMBOFINISH: //–Ò—´Œ + case MO_COMBOFINISH: //猛é¾æ‹³ if (sd->sc_data[SC_COMBO].timer == -1 || sd->sc_data[SC_COMBO].val1 != MO_CHAINCOMBO) return 0; break; - case CH_TIGERFIST: //•šŒÕŒ + case CH_TIGERFIST: //ä¼è™Žæ‹³ if (sd->sc_data[SC_COMBO].timer == -1 || sd->sc_data[SC_COMBO].val1 != MO_COMBOFINISH) return 0; break; - case CH_CHAINCRUSH: //˜A’Œ•öŒ‚ + case CH_CHAINCRUSH: //連柱崩撃 if (sd->sc_data[SC_COMBO].timer == -1) return 0; if (sd->sc_data[SC_COMBO].val1 != MO_COMBOFINISH && sd->sc_data[SC_COMBO].val1 != CH_TIGERFIST) return 0; break; - case MO_EXTREMITYFIST: // ˆ¢C—…”e–PŒ + case MO_EXTREMITYFIST: // 阿修羅覇鳳拳 if ((sd->sc_data[SC_COMBO].timer != -1 && (sd->sc_data[SC_COMBO].val1 == MO_COMBOFINISH || sd->sc_data[SC_COMBO].val1 == CH_CHAINCRUSH)) || sd->sc_data[SC_BLADESTOP].timer != -1) spiritball--; break; - case BD_ADAPTATION: /* ƒAƒhƒŠƒu */ + case BD_ADAPTATION: /* アドリブ */ { struct skill_unit_group *group = NULL; if (sd->sc_data[SC_DANCING].timer == -1 @@ -7538,13 +7538,13 @@ int skill_check_condition (struct map_session_data *sd, int type) (sd->sc_data[SC_DANCING].val1, group->skill_lv) - sd->sc_data[SC_DANCING].val3 * 1000) <= skill_get_time2 (skill, lv))) - { //ƒ_ƒ“ƒX’†‚ÅŽg—pŒã5•bˆÈã‚Ì‚ÝH + { //ダンスä¸ã§ä½¿ç”¨å¾Œ5秒以上ã®ã¿ï¼Ÿ clif_skill_fail (sd, skill, 0, 0); return 0; } } break; - case PR_BENEDICTIO: /* ¹‘Ì~•Ÿ */ + case PR_BENEDICTIO: /* è–体é™ç¦ */ { int range = 1; int c = 0; @@ -7569,15 +7569,15 @@ int skill_check_condition (struct map_session_data *sd, int type) } } break; - case WE_CALLPARTNER: /* ‚ ‚È‚½‚Ɉ§‚¢‚½‚¢ */ + case WE_CALLPARTNER: /* ã‚ãªãŸã«é€¢ã„ãŸã„ */ if (!sd->status.partner_id) { clif_skill_fail (sd, skill, 0, 0); return 0; } break; - case AM_CANNIBALIZE: /* ƒoƒCƒIƒvƒ‰ƒ“ƒg */ - case AM_SPHEREMINE: /* ƒXƒtƒBƒA[ƒ}ƒCƒ“ */ + case AM_CANNIBALIZE: /* ãƒã‚¤ã‚ªãƒ—ラント */ + case AM_SPHEREMINE: /* スフィアーマイン */ if (type & 1) { int c = 0; @@ -7597,8 +7597,8 @@ int skill_check_condition (struct map_session_data *sd, int type) } } break; - case MG_FIREWALL: /* ƒtƒ@ƒCƒA[ƒEƒH[ƒ‹ */ - /* ”§ŒÀ */ + case MG_FIREWALL: /* ファイアーウォール */ + /* æ•°åˆ¶é™ */ if (battle_config.pc_land_skill_limit) { int maxcount = skill_get_maxcount (skill); @@ -7624,13 +7624,13 @@ int skill_check_condition (struct map_session_data *sd, int type) if (!(type & 2)) { if (hp > 0 && sd->status.hp < hp) - { /* HPƒ`ƒFƒbƒN */ - clif_skill_fail (sd, skill, 2, 0); /* HP•s‘«FŽ¸”s’Ê’m */ + { /* HPãƒã‚§ãƒƒã‚¯ */ + clif_skill_fail (sd, skill, 2, 0); /* HPä¸è¶³ï¼šå¤±æ•—通知 */ return 0; } if (sp > 0 && sd->status.sp < sp) - { /* SPƒ`ƒFƒbƒN */ - clif_skill_fail (sd, skill, 1, 0); /* SP•s‘«FŽ¸”s’Ê’m */ + { /* SPãƒã‚§ãƒƒã‚¯ */ + clif_skill_fail (sd, skill, 1, 0); /* SPä¸è¶³ï¼šå¤±æ•—通知 */ return 0; } if (zeny > 0 && sd->status.zeny < zeny) @@ -7645,7 +7645,7 @@ int skill_check_condition (struct map_session_data *sd, int type) } if (spiritball > 0 && sd->spiritball < spiritball) { - clif_skill_fail (sd, skill, 0, 0); // Ÿ†‹…•s‘« + clif_skill_fail (sd, skill, 0, 0); // æ°£çƒä¸è¶³ return 0; } } @@ -7739,7 +7739,7 @@ int skill_check_condition (struct map_session_data *sd, int type) case ST_WATER: if (map_getcell (sd->bl.m, sd->bl.x, sd->bl.y) != 3 && (sd->sc_data[SC_DELUGE].timer == -1)) - { //…ê”»’è + { //æ°´å ´åˆ¤å®š clif_skill_fail (sd, skill, 0, 0); return 0; } @@ -7782,7 +7782,7 @@ int skill_check_condition (struct map_session_data *sd, int type) for (i = 0; i < 10; i++) { if (index[i] >= 0) - pc_delitem (sd, index[i], amount[i], 0); // ƒAƒCƒeƒ€Á”ï + pc_delitem (sd, index[i], amount[i], 0); // アイテム消費 } } @@ -7791,24 +7791,24 @@ int skill_check_condition (struct map_session_data *sd, int type) pc_heal (sd, -sp, -hp); // [Fate] This might suppress some dupe messages -/* if(sp > 0) { // SPÁ”ï */ +/* if(sp > 0) { // SP消費 */ /* sd->status.sp-=sp; */ /* clif_updatestatus(sd,SP_SP); */ /* } */ -/* if(hp > 0) { // HPÁ”ï */ +/* if(hp > 0) { // HP消費 */ /* sd->status.hp-=hp; */ /* clif_updatestatus(sd,SP_HP); */ /* } */ - if (zeny > 0) // ZenyÁ”ï + if (zeny > 0) // Zeny消費 pc_payzeny (sd, zeny); - if (spiritball > 0) // Ÿ†‹…Á”ï + if (spiritball > 0) // æ°£çƒæ¶ˆè²» pc_delspiritball (sd, spiritball, 0); return 1; } /*========================================== - * ‰r¥ŽžŠÔŒvŽZ + * è© å”±æ™‚é–“è¨ˆç®— *------------------------------------------ */ int skill_castfix (struct block_list *bl, int time) @@ -7858,13 +7858,13 @@ int skill_castfix (struct block_list *bl, int time) time = time * battle_config.cast_rate / 100; } - /* ƒTƒtƒ‰ƒMƒEƒ€ */ + /* サフラギウム*/ if (sc_data && sc_data[SC_SUFFRAGIUM].timer != -1) { time = time * (100 - sc_data[SC_SUFFRAGIUM].val1 * 15) / 100; skill_status_change_end (bl, SC_SUFFRAGIUM, -1); } - /* ƒuƒ‰ƒM‚ÌŽ */ + /* ブラギã®è©© */ if (sc_data && sc_data[SC_POEMBRAGI].timer != -1) time = time * (100 - @@ -7876,7 +7876,7 @@ int skill_castfix (struct block_list *bl, int time) } /*========================================== - * ƒfƒBƒŒƒCŒvŽZ + * ディレイ計算 *------------------------------------------ */ int skill_delayfix (struct block_list *bl, int time) @@ -7891,7 +7891,7 @@ int skill_delayfix (struct block_list *bl, int time) if (bl->type == BL_PC) { - if (battle_config.delay_dependon_dex) /* dex‚̉e‹¿‚ðŒvŽZ‚·‚é */ + if (battle_config.delay_dependon_dex) /* dexã®å½±éŸ¿ã‚’計算ã™ã‚‹ */ time = time * (battle_config.castrate_dex_scale - battle_get_dex (bl)) / @@ -7899,7 +7899,7 @@ int skill_delayfix (struct block_list *bl, int time) time = time * battle_config.delay_rate / 100; } - /* ƒuƒ‰ƒM‚ÌŽ */ + /* ブラギã®è©© */ if (sc_data && sc_data[SC_POEMBRAGI].timer != -1) time = time * (100 - @@ -7911,7 +7911,7 @@ int skill_delayfix (struct block_list *bl, int time) } /*========================================== - * ƒXƒLƒ‹Žg—piIDŽw’èj + * スã‚ル使用(ID指定) *------------------------------------------ */ int skill_use_id (struct map_session_data *sd, int target_id, @@ -7947,7 +7947,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, } sc_data = sd->sc_data; - /* ’¾–Ù‚âˆÙíi‚½‚¾‚µAƒOƒŠƒ€‚È‚Ç‚Ì”»’è‚ð‚·‚éj */ + /* 沈黙や異常(ãŸã ã—ã€ã‚°ãƒªãƒ ãªã©ã®åˆ¤å®šã‚’ã™ã‚‹ï¼‰ */ if (sd->opt1 > 0) return 0; if (sd->sc_data) @@ -7971,14 +7971,14 @@ int skill_use_id (struct map_session_data *sd, int target_id, || sd->sc_data[SC_STEELBODY].timer != -1 || sd->sc_data[SC_BERSERK].timer != -1) { - return 0; /* ó‘ÔˆÙí‚â’¾–Ù‚È‚Ç */ + return 0; /* 状態異常や沈黙ãªã© */ } if (sc_data[SC_BLADESTOP].timer != -1) { int lv = sc_data[SC_BLADESTOP].val1; if (sc_data[SC_BLADESTOP].val2 == 1) - return 0; //”’‰H‚³‚ꂽ‘¤‚Ȃ̂Ń_ƒ + return 0; //白羽ã•ã‚ŒãŸå´ãªã®ã§ãƒ€ãƒ¡ if (lv == 1) return 0; if (lv == 2 && skill_num != MO_FINGEROFFENSIVE) @@ -8004,7 +8004,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, return 0; if (map[sd->bl.m].flag.gvg) - { //GvG‚ÅŽg—p‚Å‚«‚È‚¢ƒXƒLƒ‹ + { //GvGã§ä½¿ç”¨ã§ããªã„スã‚ル switch (skill_num) { case SM_ENDURE: @@ -8019,12 +8019,12 @@ int skill_use_id (struct map_session_data *sd, int target_id, } } - /* ‰‰‘t/ƒ_ƒ“ƒX’† */ + /* æ¼”å¥/ãƒ€ãƒ³ã‚¹ä¸ */ if (sc_data && sc_data[SC_DANCING].timer != -1) { // if(battle_config.pc_skill_log) // printf("dancing! %d\n",skill_num); - if (sc_data[SC_DANCING].val4 && skill_num != BD_ADAPTATION) //‡‘t’†‚̓AƒhƒŠƒuˆÈŠO•s‰Â + if (sc_data[SC_DANCING].val4 && skill_num != BD_ADAPTATION) //åˆå¥ä¸ã¯ã‚¢ãƒ‰ãƒªãƒ–以外ä¸å¯ return 0; if (skill_num != BD_ADAPTATION && skill_num != BA_MUSICALSTRIKE && skill_num != DC_THROWARROW) @@ -8035,19 +8035,19 @@ int skill_use_id (struct map_session_data *sd, int target_id, if (skill_get_inf2 (skill_num) & 0x200 && sd->bl.id == target_id) return 0; - //’¼‘O‚̃XƒLƒ‹‚ª‰½‚©Šo‚¦‚é•K—v‚Ì‚ ‚éƒXƒLƒ‹ + //ç›´å‰ã®ã‚¹ã‚ルãŒä½•ã‹è¦šãˆã‚‹å¿…è¦ã®ã‚るスã‚ル switch (skill_num) { case SA_CASTCANCEL: if (sd->skillid != skill_num) - { //ƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹Ž©‘Ì‚ÍŠo‚¦‚È‚¢ + { //ã‚ャストã‚ャンセル自体ã¯è¦šãˆãªã„ sd->skillid_old = sd->skillid; sd->skilllv_old = sd->skilllv; break; } - case BD_ENCORE: /* ƒAƒ“ƒR[ƒ‹ */ + case BD_ENCORE: /* アンコール */ if (!sd->skillid_dance) - { //‘O‰ñŽg—p‚µ‚½—x‚肪‚È‚¢‚Æ‚¾‚ß + { //å‰å›žä½¿ç”¨ã—ãŸè¸Šã‚ŠãŒãªã„ã¨ã ã‚ clif_skill_fail (sd, skill_num, 0, 0); return 0; } @@ -8062,17 +8062,17 @@ int skill_use_id (struct map_session_data *sd, int target_id, sd->skilllv = skill_lv; switch (skill_num) - { //Ž–‘O‚ɃŒƒxƒ‹‚ª•Ï‚í‚Á‚½‚è‚·‚éƒXƒLƒ‹ - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BD_RAGNAROK: /* _X‚̉©¨ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ + { //事å‰ã«ãƒ¬ãƒ™ãƒ«ãŒå¤‰ã‚ã£ãŸã‚Šã™ã‚‹ã‚¹ã‚ル + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BD_RAGNAROK: /* 神々ã®é»„æ˜ */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ { int range = 1; int c = 0; @@ -8086,7 +8086,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, return 0; } else if (c == 99) - { //‘Š•û•s—vݒ肾‚Á‚½ + { //相方ä¸è¦è¨å®šã ã£ãŸ ; } else @@ -8100,7 +8100,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, if (!skill_check_condition (sd, 0)) return 0; - /* ŽË’ö‚ÆáŠQ•¨ƒ`ƒFƒbƒN */ + /* 射程ã¨éšœå®³ç‰©ãƒã‚§ãƒƒã‚¯ */ range = skill_get_range (skill_num, skill_lv); if (range < 0) range = battle_get_range (&sd->bl) - (range + 1); @@ -8129,46 +8129,46 @@ int skill_use_id (struct map_session_data *sd, int target_id, sd->state.skillcastcancel = skill_db[skill_num].castcancel; switch (skill_num) - { /* ‰½‚©“ÁŽê‚Ȉ—‚ª•K—v */ -// case AL_HEAL: /* ƒq[ƒ‹ */ + { /* 何ã‹ç‰¹æ®Šãªå‡¦ç†ãŒå¿…è¦ */ +// case AL_HEAL: /* ヒール */ // if(battle_check_undead(battle_get_race(bl),battle_get_elem_type(bl))) -// forcecast=1; /* ƒq[ƒ‹ƒAƒ^ƒbƒN‚È‚ç‰r¥ƒGƒtƒFƒNƒg—L‚è */ +// forcecast=1; /* ヒールアタックãªã‚‰è© 唱エフェクト有り */ // break; - case ALL_RESURRECTION: /* ƒŠƒUƒŒƒNƒVƒ‡ƒ“ */ + case ALL_RESURRECTION: /* リザレクション */ if (bl->type != BL_PC && battle_check_undead (battle_get_race (bl), battle_get_elem_type (bl))) - { /* “G‚ªƒAƒ“ƒfƒbƒh‚È‚ç */ - forcecast = 1; /* ƒ^[ƒ“ƒAƒ“ƒfƒbƒg‚Æ“¯‚¶‰r¥ŽžŠÔ */ + { /* 敵ãŒã‚¢ãƒ³ãƒ‡ãƒƒãƒ‰ãªã‚‰ */ + forcecast = 1; /* ターンアンデットã¨åŒã˜è© 唱時間 */ casttime = skill_castfix (&sd->bl, skill_get_cast (PR_TURNUNDEAD, skill_lv)); } break; - case MO_FINGEROFFENSIVE: /* Žw’e */ + case MO_FINGEROFFENSIVE: /* 指弾 */ casttime += casttime * ((skill_lv > sd->spiritball) ? sd->spiritball : skill_lv); break; - case MO_CHAINCOMBO: /*˜A‘Ŷ */ + case MO_CHAINCOMBO: /*連打掌 */ target_id = sd->attacktarget; if (sc_data && sc_data[SC_BLADESTOP].timer != -1) { struct block_list *tbl; - if ((tbl = (struct block_list *) sc_data[SC_BLADESTOP].val4) == NULL) //ƒ^[ƒQƒbƒg‚ª‚¢‚È‚¢H + if ((tbl = (struct block_list *) sc_data[SC_BLADESTOP].val4) == NULL) //ターゲットãŒã„ãªã„? return 0; target_id = tbl->id; } break; - case MO_COMBOFINISH: /*–Ò—´Œ */ - case CH_TIGERFIST: /* •šŒÕŒ */ - case CH_CHAINCRUSH: /* ˜A’Œ•öŒ‚ */ + case MO_COMBOFINISH: /*猛é¾æ‹³ */ + case CH_TIGERFIST: /* ä¼è™Žæ‹³ */ + case CH_CHAINCRUSH: /* 連柱崩撃 */ target_id = sd->attacktarget; break; // -- moonsoul (altered to allow proper usage of extremity from new champion combos) // - case MO_EXTREMITYFIST: /*ˆ¢C—…”e–PŒ */ + case MO_EXTREMITYFIST: /*阿修羅覇鳳拳 */ if (sc_data && sc_data[SC_COMBO].timer != -1 && (sc_data[SC_COMBO].val1 == MO_COMBOFINISH || sc_data[SC_COMBO].val1 == CH_CHAINCRUSH)) @@ -8189,7 +8189,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, if ((p_sd = pc_get_partner (sd)) == NULL) return 0; target_id = p_sd->bl.id; - //range‚ð‚à‚¤1‰ñŒŸ¸ + //rangeã‚’ã‚‚ã†1回検査 range = skill_get_range (skill_num, skill_lv); if (range < 0) range = battle_get_range (&sd->bl) - (range + 1); @@ -8199,7 +8199,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, } } break; - case AS_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case AS_SPLASHER: /* ベナムスプラッシャー */ { struct status_change *t_sc_data = battle_get_sc_data (bl); if (t_sc_data && t_sc_data[SC_POISON].timer == -1) @@ -8209,13 +8209,13 @@ int skill_use_id (struct map_session_data *sd, int target_id, } } break; - case PF_MEMORIZE: /* ƒƒ‚ƒ‰ƒCƒY */ + case PF_MEMORIZE: /* メモライズ */ casttime = 12000; break; } - //ƒƒ‚ƒ‰ƒCƒYó‘Ô‚È‚çƒLƒƒƒXƒgƒ^ƒCƒ€‚ª1/3 + //メモライズ状態ãªã‚‰ã‚ャストタイムãŒ1/3 if (sc_data && sc_data[SC_MEMORIZE].timer != -1 && casttime > 0) { casttime = casttime / 3; @@ -8231,12 +8231,12 @@ int skill_use_id (struct map_session_data *sd, int target_id, // casttime = delay = 0; if (casttime > 0 || forcecast) - { /* ‰r¥‚ª•K—v */ + { /* è© å”±ãŒå¿…è¦ */ struct mob_data *md; clif_skillcasting (&sd->bl, sd->bl.id, target_id, 0, 0, skill_num, casttime); - /* ‰r¥”½‰žƒ‚ƒ“ƒXƒ^[ */ + /* è© å”±å応モンスター */ if (bl->type == BL_MOB && (md = (struct mob_data *) bl) && mob_db[md->class].mode & 0x10 && md->state.state != MS_ATTACK && sd->invincible_timer == -1) @@ -8247,7 +8247,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, } } - if (casttime <= 0) /* ‰r¥‚Ì–³‚¢‚à‚̂̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢ */ + if (casttime <= 0) /* è© å”±ã®ç„¡ã„ã‚‚ã®ã¯ã‚ャンセルã•ã‚Œãªã„ */ sd->state.skillcastcancel = 0; sd->skilltarget = target_id; @@ -8279,7 +8279,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, skill_castend_id (sd->skilltimer, tick, sd->bl.id, 0); } - //ƒ}ƒWƒbƒNƒpƒ[‚ÌŒø‰ÊI—¹ + //マジックパワーã®åŠ¹æžœçµ‚了 if (sc_data && sc_data[SC_MAGICPOWER].timer != -1 && skill_num != HW_MAGICPOWER) skill_status_change_end (&sd->bl, SC_MAGICPOWER, -1); @@ -8288,7 +8288,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, } /*========================================== - * ƒXƒLƒ‹Žg—piꊎw’èj + * スã‚ãƒ«ä½¿ç”¨ï¼ˆå ´æ‰€æŒ‡å®šï¼‰ *------------------------------------------ */ int skill_use_pos (struct map_session_data *sd, @@ -8319,7 +8319,7 @@ int skill_use_pos (struct map_session_data *sd, sc_data[SC_STEELBODY].timer != -1 || sc_data[SC_DANCING].timer != -1 || sc_data[SC_BERSERK].timer != -1) - return 0; /* ó‘ÔˆÙí‚â’¾–Ù‚È‚Ç */ + return 0; /* 状態異常や沈黙ãªã© */ } if (sd->status.option & 2) @@ -8338,7 +8338,7 @@ int skill_use_pos (struct map_session_data *sd, if (!skill_check_condition (sd, 0)) return 0; - /* ŽË’ö‚ÆáŠQ•¨ƒ`ƒFƒbƒN */ + /* 射程ã¨éšœå®³ç‰©ãƒã‚§ãƒƒã‚¯ */ bl.type = BL_NUL; bl.m = sd->bl.m; bl.x = skill_x; @@ -8361,7 +8361,7 @@ int skill_use_pos (struct map_session_data *sd, // if(sd->skillitem == skill_num) // casttime = delay = 0; - //ƒƒ‚ƒ‰ƒCƒYó‘Ô‚È‚çƒLƒƒƒXƒgƒ^ƒCƒ€‚ª1/3 + //メモライズ状態ãªã‚‰ã‚ャストタイムãŒ1/3 if (sc_data && sc_data[SC_MEMORIZE].timer != -1 && casttime > 0) { casttime = casttime / 3; @@ -8369,12 +8369,12 @@ int skill_use_pos (struct map_session_data *sd, skill_status_change_end (&sd->bl, SC_MEMORIZE, -1); } - if (casttime > 0) /* ‰r¥‚ª•K—v */ + if (casttime > 0) /* è© å”±ãŒå¿…è¦ */ clif_skillcasting (&sd->bl, sd->bl.id, 0, skill_x, skill_y, skill_num, casttime); - if (casttime <= 0) /* ‰r¥‚Ì–³‚¢‚à‚̂̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢ */ + if (casttime <= 0) /* è© å”±ã®ç„¡ã„ã‚‚ã®ã¯ã‚ャンセルã•ã‚Œãªã„ */ sd->state.skillcastcancel = 0; sd->skilltarget = 0; @@ -8403,7 +8403,7 @@ int skill_use_pos (struct map_session_data *sd, sd->skilltimer = -1; skill_castend_pos (sd->skilltimer, tick, sd->bl.id, 0); } - //ƒ}ƒWƒbƒNƒpƒ[‚ÌŒø‰ÊI—¹ + //マジックパワーã®åŠ¹æžœçµ‚了 if (sc_data && sc_data[SC_MAGICPOWER].timer != -1 && skill_num != HW_MAGICPOWER) skill_status_change_end (&sd->bl, SC_MAGICPOWER, -1); @@ -8412,7 +8412,7 @@ int skill_use_pos (struct map_session_data *sd, } /*========================================== - * ƒXƒLƒ‹‰r¥ƒLƒƒƒ“ƒZƒ‹ + * スã‚ãƒ«è© å”±ã‚ャンセル *------------------------------------------ */ int skill_castcancel (struct block_list *bl, int type) @@ -8483,7 +8483,7 @@ int skill_castcancel (struct block_list *bl, int type) } /*========================================= - * ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA ‰Šú”͈͌ˆ’è + * ブランディッシュスピア åˆæœŸç¯„囲決定 *---------------------------------------- */ void skill_brandishspear_first (struct square *tc, int dir, int x, int y) @@ -8587,7 +8587,7 @@ void skill_brandishspear_first (struct square *tc, int dir, int x, int y) } /*========================================= - * ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA •ûŒü”»’è ”ÍˆÍŠg’£ + * ブランディッシュスピア æ–¹å‘判定 範囲拡張 *----------------------------------------- */ void skill_brandishspear_dir (struct square *tc, int dir, int are) @@ -8639,12 +8639,12 @@ void skill_brandishspear_dir (struct square *tc, int dir, int are) } /*========================================== - * ƒfƒBƒ{[ƒVƒ‡ƒ“ —LŒøŠm”F + * ディボーション æœ‰åŠ¹ç¢ºèª *------------------------------------------ */ void skill_devotion (struct map_session_data *md, int target) { - // ‘Šm”F + // ç·ç¢ºèª int n; nullpo_retv (md); @@ -8654,7 +8654,7 @@ void skill_devotion (struct map_session_data *md, int target) if (md->dev.val1[n]) { struct map_session_data *sd = map_id2sd (md->dev.val1[n]); - // ‘ŠŽè‚ªŒ©‚‚©‚ç‚È‚¢ // ‘ŠŽè‚ðƒfƒBƒ{‚µ‚Ä‚é‚Ì‚ªŽ©•ª‚¶‚á‚È‚¢ // ‹——£‚ª—£‚ê‚Ä‚é + // 相手ãŒè¦‹ã¤ã‹ã‚‰ãªã„ // 相手をディボã—ã¦ã‚‹ã®ãŒè‡ªåˆ†ã˜ã‚ƒãªã„ // è·é›¢ãŒé›¢ã‚Œã¦ã‚‹ if (sd == NULL || (sd->sc_data && (md->bl.id != sd->sc_data[SC_DEVOTION].val1)) @@ -8668,7 +8668,7 @@ void skill_devotion (struct map_session_data *md, int target) void skill_devotion2 (struct block_list *bl, int crusader) { - // ”íƒfƒBƒ{[ƒVƒ‡ƒ“‚ª•à‚¢‚½Žž‚Ì‹——£ƒ`ƒFƒbƒN + // 被ディボーションãŒæ©ã„ãŸæ™‚ã®è·é›¢ãƒã‚§ãƒƒã‚¯ struct map_session_data *sd = map_id2sd (crusader); nullpo_retv (bl); @@ -8679,7 +8679,7 @@ void skill_devotion2 (struct block_list *bl, int crusader) int skill_devotion3 (struct block_list *bl, int target) { - // ƒNƒ‹ƒZ‚ª•à‚¢‚½Žž‚Ì‹——£ƒ`ƒFƒbƒN + // クルセãŒæ©ã„ãŸæ™‚ã®è·é›¢ãƒã‚§ãƒƒã‚¯ struct map_session_data *md; struct map_session_data *sd; int n, r = 0; @@ -8693,10 +8693,10 @@ int skill_devotion3 (struct block_list *bl, int target) r = distance (bl->x, bl->y, sd->bl.x, sd->bl.y); if (pc_checkskill (sd, CR_DEVOTION) + 6 < r) - { // ‹–—e”͈͂𒴂¦‚Ä‚½ + { // 許容範囲を超ãˆã¦ãŸ for (n = 0; n < 5; n++) if (md->dev.val1[n] == target) - md->dev.val2[n] = 0; // —£‚ꂽŽž‚ÍAŽ…‚ð؂邾‚¯ + md->dev.val2[n] = 0; // 離れãŸæ™‚ã¯ã€ç³¸ã‚’切るã ã‘ clif_devotion (md, sd->bl.id); return 1; } @@ -8706,7 +8706,7 @@ int skill_devotion3 (struct block_list *bl, int target) void skill_devotion_end (struct map_session_data *md, struct map_session_data *sd, int target) { - // ƒNƒ‹ƒZ‚Æ”íƒfƒBƒ{ƒLƒƒƒ‰‚̃ŠƒZƒbƒg + // クルセã¨è¢«ãƒ‡ã‚£ãƒœã‚ャラã®ãƒªã‚»ãƒƒãƒˆ nullpo_retv (md); nullpo_retv (sd); @@ -8722,7 +8722,7 @@ void skill_devotion_end (struct map_session_data *md, } /*========================================== - * ƒI[ƒgƒXƒyƒ‹ + * オートスペル *------------------------------------------ */ int skill_autospell (struct map_session_data *sd, int skillid) @@ -8770,13 +8770,13 @@ int skill_autospell (struct map_session_data *sd, int skillid) if (maxlv > (lv = pc_checkskill (sd, skillid))) maxlv = lv; - skill_status_change_start (&sd->bl, SC_AUTOSPELL, skilllv, skillid, maxlv, 0, // val1:ƒXƒLƒ‹ID val2:Žg—pÅ‘åLv - skill_get_time (SA_AUTOSPELL, skilllv), 0); // ‚É‚µ‚Ä‚Ý‚½‚¯‚Çbscript‚ª‘‚«ˆÕ‚¢EEEH + skill_status_change_start (&sd->bl, SC_AUTOSPELL, skilllv, skillid, maxlv, 0, // val1:スã‚ルID val2:使用最大Lv + skill_get_time (SA_AUTOSPELL, skilllv), 0); // ã«ã—ã¦ã¿ãŸã‘ã©bscriptãŒæ›¸ã易ã„・・・? return 0; } /*========================================== - * ƒMƒƒƒ“ƒOƒXƒ^[ƒpƒ‰ƒ_ƒCƒX”»’舗(foreachinarea) + * ギャングスターパラダイス判定処ç†(foreachinarea) *------------------------------------------ */ @@ -8833,12 +8833,12 @@ int skill_gangsterparadise (struct map_session_data *sd, int type) return 0; if (type == 1) - { /* À‚Á‚½Žž‚̈— */ + { /* 座ã£ãŸæ™‚ã®å‡¦ç† */ map_foreachinarea (skill_gangster_count, sd->bl.m, sd->bl.x - range, sd->bl.y - range, sd->bl.x + range, sd->bl.y + range, BL_PC, &c); if (c > 0) - { /*ƒMƒƒƒ“ƒOƒXƒ^[¬Œ÷‚µ‚½‚玩•ª‚É‚àƒMƒƒƒ“ƒOƒXƒ^[‘®«•t—^ */ + { /*ギャングスターæˆåŠŸã—ãŸã‚‰è‡ªåˆ†ã«ã‚‚ギャングスター属性付与 */ map_foreachinarea (skill_gangster_in, sd->bl.m, sd->bl.x - range, sd->bl.y - range, sd->bl.x + range, sd->bl.y + range, BL_PC); @@ -8847,7 +8847,7 @@ int skill_gangsterparadise (struct map_session_data *sd, int type) return 0; } else if (type == 0) - { /* —§‚¿ã‚ª‚Á‚½‚Æ‚«‚̈— */ + { /* ç«‹ã¡ä¸ŠãŒã£ãŸã¨ãã®å‡¦ç† */ map_foreachinarea (skill_gangster_count, sd->bl.m, sd->bl.x - range, sd->bl.y - range, sd->bl.x + range, sd->bl.y + range, BL_PC, &c); @@ -8862,7 +8862,7 @@ int skill_gangsterparadise (struct map_session_data *sd, int type) } /*========================================== - * Š¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€”»’舗(foreachinarea) + * 寒ã„ジョーク・スクリーム判定処ç†(foreachinarea) *------------------------------------------ */ int skill_frostjoke_scream (struct block_list *bl, va_list ap) @@ -8879,14 +8879,14 @@ int skill_frostjoke_scream (struct block_list *bl, va_list ap) skilllv = va_arg (ap, int); tick = va_arg (ap, unsigned int); - if (src == bl) //Ž©•ª‚É‚ÍŒø‚©‚È‚¢ + if (src == bl) //自分ã«ã¯åŠ¹ã‹ãªã„ return 0; if (battle_check_target (src, bl, BCT_ENEMY) > 0) skill_additional_effect (src, bl, skillnum, skilllv, BF_MISC, tick); else if (battle_check_target (src, bl, BCT_PARTY) > 0) { - if (MRAND (100) < 10) //PTƒƒ“ƒo‚É‚à’áŠm—¦‚Å‚©‚©‚é(‚Æ‚è‚ ‚¦‚¸10%) + if (MRAND (100) < 10) //PTメンãƒã«ã‚‚低確率ã§ã‹ã‹ã‚‹(ã¨ã‚Šã‚ãˆãš10%) skill_additional_effect (src, bl, skillnum, skilllv, BF_MISC, tick); } @@ -8962,7 +8962,7 @@ int skill_clear_element_field (struct block_list *bl) } /*========================================== - * ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[ƒ`ƒFƒbƒN(foreachinarea) + * ランドプãƒãƒ†ã‚¯ã‚¿ãƒ¼ãƒã‚§ãƒƒã‚¯(foreachinarea) *------------------------------------------ */ int skill_landprotector (struct block_list *bl, va_list ap) @@ -8992,7 +8992,7 @@ int skill_landprotector (struct block_list *bl, va_list ap) } /*========================================== - * ƒCƒhƒDƒ“‚Ì—ÑŒç‚̉ñ•œˆ—(foreachinarea) + * イドゥンã®æž—檎ã®å›žå¾©å‡¦ç†(foreachinarea) *------------------------------------------ */ int skill_idun_heal (struct block_list *bl, va_list ap) @@ -9022,7 +9022,7 @@ int skill_idun_heal (struct block_list *bl, va_list ap) } /*========================================== - * Žw’è”͈͓à‚Åsrc‚ɑ΂µ‚Ä—LŒø‚ȃ^[ƒQƒbƒg‚Ìbl‚Ì”‚𔂦‚é(foreachinarea) + * 指定範囲内ã§srcã«å¯¾ã—ã¦æœ‰åŠ¹ãªã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®blã®æ•°ã‚’æ•°ãˆã‚‹(foreachinarea) *------------------------------------------ */ int skill_count_target (struct block_list *bl, va_list ap) @@ -9043,7 +9043,7 @@ int skill_count_target (struct block_list *bl, va_list ap) } /*========================================== - * ƒgƒ‰ƒbƒv”͈͈—(foreachinarea) + * トラップ範囲処ç†(foreachinarea) *------------------------------------------ */ int skill_trap_splash (struct block_list *bl, va_list ap) @@ -9070,21 +9070,21 @@ int skill_trap_splash (struct block_list *bl, va_list ap) { switch (sg->unit_id) { - case 0x95: /* ƒTƒ“ƒhƒ}ƒ“ */ - case 0x96: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case 0x94: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ + case 0x95: /* サンドマン */ + case 0x96: /* フラッシャー */ + case 0x94: /* ショックウェーブトラップ */ skill_additional_effect (ss, bl, sg->skill_id, sg->skill_lv, BF_MISC, tick); break; - case 0x8f: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ - case 0x98: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ + case 0x8f: /* ブラストマイン */ + case 0x98: /* クレイモアートラップ */ for (i = 0; i < splash_count; i++) { skill_attack (BF_MISC, ss, src, bl, sg->skill_id, sg->skill_lv, tick, (sg->val2) ? 0x0500 : 0); } - case 0x97: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ + case 0x97: /* フリージングトラップ */ skill_attack (BF_WEAPON, ss, src, bl, sg->skill_id, sg->skill_lv, tick, (sg->val2) ? 0x0500 : 0); break; @@ -9097,12 +9097,12 @@ int skill_trap_splash (struct block_list *bl, va_list ap) } /*---------------------------------------------------------------------------- - * ƒXƒe[ƒ^ƒXˆÙí + * ステータス異常 *---------------------------------------------------------------------------- */ /*========================================== - * ƒXƒe[ƒ^ƒXˆÙíƒ^ƒCƒ}[”͈͈— + * ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç•°å¸¸ã‚¿ã‚¤ãƒžãƒ¼ç¯„å›²å‡¦ç† *------------------------------------------ */ int skill_status_change_timer_sub (struct block_list *bl, va_list ap) @@ -9122,7 +9122,7 @@ int skill_status_change_timer_sub (struct block_list *bl, va_list ap) switch (type) { - case SC_SIGHT: /* ƒTƒCƒg */ + case SC_SIGHT: /* サイト */ case SC_CONCENTRATE: if ((*battle_get_option (bl)) & 6) { @@ -9130,7 +9130,7 @@ int skill_status_change_timer_sub (struct block_list *bl, va_list ap) skill_status_change_end (bl, SC_CLOAKING, -1); } break; - case SC_RUWACH: /* ƒ‹ƒAƒt */ + case SC_RUWACH: /* ルアフ */ if ((*battle_get_option (bl)) & 6) { skill_status_change_end (bl, SC_HIDING, -1); @@ -9148,7 +9148,7 @@ int skill_status_change_timer_sub (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒe[ƒ^ƒXˆÙíI—¹ + * ステータス異常終了 *------------------------------------------ */ int skill_status_change_active (struct block_list *bl, int type) @@ -9192,77 +9192,77 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) && (sc_data[type].timer == tid || tid == -1)) { - if (tid == -1) // ƒ^ƒCƒ}‚©‚çŒÄ‚΂ê‚Ä‚¢‚È‚¢‚È‚çƒ^ƒCƒ}íœ‚ð‚·‚é + if (tid == -1) // タイマã‹ã‚‰å‘¼ã°ã‚Œã¦ã„ãªã„ãªã‚‰ã‚¿ã‚¤ãƒžå‰Šé™¤ã‚’ã™ã‚‹ delete_timer (sc_data[type].timer, skill_status_change_timer); - /* ŠY“–‚̈Ùí‚ð³í‚É–ß‚· */ + /* 該当ã®ç•°å¸¸ã‚’æ£å¸¸ã«æˆ»ã™ */ sc_data[type].timer = -1; (*sc_count)--; switch (type) - { /* ˆÙí‚ÌŽí—Þ‚²‚Ƃ̈— */ - case SC_PROVOKE: /* ƒvƒƒ{ƒbƒN */ - case SC_CONCENTRATE: /* W’†—ÍŒüã */ - case SC_BLESSING: /* ƒuƒŒƒbƒVƒ“ƒO */ - case SC_ANGELUS: /* ƒAƒ“ƒ[ƒ‹ƒX */ - case SC_INCREASEAGI: /* ‘¬“x㸠*/ - case SC_DECREASEAGI: /* ‘¬“xŒ¸ */ - case SC_SIGNUMCRUCIS: /* ƒVƒOƒiƒ€ƒNƒ‹ƒVƒX */ + { /* 異常ã®ç¨®é¡žã”ã¨ã®å‡¦ç† */ + case SC_PROVOKE: /* プãƒãƒœãƒƒã‚¯ */ + case SC_CONCENTRATE: /* 集ä¸åŠ›å‘上 */ + case SC_BLESSING: /* ブレッシング */ + case SC_ANGELUS: /* アンゼルス */ + case SC_INCREASEAGI: /* 速度上昇 */ + case SC_DECREASEAGI: /* 速度減少 */ + case SC_SIGNUMCRUCIS: /* シグナムクルシス */ case SC_HIDING: case SC_TWOHANDQUICKEN: /* 2HQ */ - case SC_ADRENALINE: /* ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… */ - case SC_ENCPOISON: /* ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“ */ - case SC_IMPOSITIO: /* ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒX */ - case SC_GLORIA: /* ƒOƒƒŠƒA */ - case SC_LOUD: /* ƒ‰ƒEƒhƒ{ƒCƒX */ - case SC_QUAGMIRE: /* ƒNƒ@ƒOƒ}ƒCƒA */ - case SC_PROVIDENCE: /* ƒvƒƒ”ƒBƒfƒ“ƒX */ - case SC_SPEARSQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ + case SC_ADRENALINE: /* アドレナリンラッシュ */ + case SC_ENCPOISON: /* エンãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ */ + case SC_IMPOSITIO: /* インãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ */ + case SC_GLORIA: /* ã‚°ãƒãƒªã‚¢ */ + case SC_LOUD: /* ラウドボイス */ + case SC_QUAGMIRE: /* クァグマイア */ + case SC_PROVIDENCE: /* プãƒãƒ´ã‚£ãƒ‡ãƒ³ã‚¹ */ + case SC_SPEARSQUICKEN: /* スピアクイッケン */ case SC_VOLCANO: case SC_DELUGE: case SC_VIOLENTGALE: - case SC_ETERNALCHAOS: /* ƒGƒ^[ƒiƒ‹ƒJƒIƒX */ - case SC_DRUMBATTLE: /* 푾ŒÛ‚Ì‹¿‚« */ - case SC_NIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case SC_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case SC_WHISTLE: /* Œû“J */ - case SC_ASSNCROS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case SC_HUMMING: /* ƒnƒ~ƒ“ƒO */ - case SC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Å */ - case SC_FORTUNE: /* K‰^‚̃LƒX */ - case SC_SERVICE4U: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ - case SC_EXPLOSIONSPIRITS: // ”š—ô”g“® - case SC_STEELBODY: // ‹à„ + case SC_ETERNALCHAOS: /* エターナルカオス */ + case SC_DRUMBATTLE: /* 戦太鼓ã®éŸ¿ã */ + case SC_NIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case SC_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case SC_WHISTLE: /* å£ç¬› */ + case SC_ASSNCROS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case SC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ + case SC_DONTFORGETME: /* ç§ã‚’忘れãªã„㧠*/ + case SC_FORTUNE: /* 幸é‹ã®ã‚ス */ + case SC_SERVICE4U: /* サービスフォーユー */ + case SC_EXPLOSIONSPIRITS: // 爆裂波動 + case SC_STEELBODY: // 金剛 case SC_DEFENDER: - case SC_SPEEDPOTION0: /* ‘‘¬ƒ|[ƒVƒ‡ƒ“ */ + case SC_SPEEDPOTION0: /* 増速ãƒãƒ¼ã‚·ãƒ§ãƒ³ */ case SC_SPEEDPOTION1: case SC_SPEEDPOTION2: - case SC_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ + case SC_APPLEIDUN: /* イドゥンã®æž—檎 */ case SC_RIDING: case SC_BLADESTOP_WAIT: - case SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - case SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ - case SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ - case SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ - case SC_ASSUMPTIO: /* ƒAƒVƒƒƒ“ƒvƒeƒBƒI */ - case SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ - case SC_TRUESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - case SC_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ - case SC_MAGICPOWER: /* –‚–@—Í‘• */ + case SC_AURABLADE: /* オーラブレード */ + case SC_PARRYING: /* パリイング */ + case SC_CONCENTRATION: /* コンセントレーション */ + case SC_TENSIONRELAX: /* テンションリラックス */ + case SC_ASSUMPTIO: /* アシャンプティオ */ + case SC_WINDWALK: /* ウインドウォーク */ + case SC_TRUESIGHT: /* トゥルーサイト */ + case SC_SPIDERWEB: /* スパイダーウェッブ */ + case SC_MAGICPOWER: /* é”法力増幅 */ case SC_CHASEWALK: case SC_ATKPOT: /* attack potion [Valaris] */ case SC_MATKPOT: /* magic attack potion [Valaris] */ - case SC_WEDDING: //Œ‹¥—p(Œ‹¥ˆßÖ‚É‚È‚Á‚Ä•à‚‚Ì‚ª’x‚¢‚Æ‚©) - case SC_MELTDOWN: /* ƒƒ‹ƒgƒ_ƒEƒ“ */ + case SC_WEDDING: //çµå©šç”¨(çµå©šè¡£è£³ã«ãªã£ã¦æ©ãã®ãŒé…ã„ã¨ã‹) + case SC_MELTDOWN: /* メルトダウン */ case SC_PHYS_SHIELD: case SC_HASTE: calc_flag = 1; break; - case SC_BERSERK: /* ƒo[ƒT[ƒN */ + case SC_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ calc_flag = 1; - clif_status_change (bl, SC_INCREASEAGI, 0); /* ƒAƒCƒRƒ“Á‹Ž */ + clif_status_change (bl, SC_INCREASEAGI, 0); /* アイコン消去 */ break; - case SC_DEVOTION: /* ƒfƒBƒ{[ƒVƒ‡ƒ“ */ + case SC_DEVOTION: /* ディボーション */ { struct map_session_data *md = map_id2sd (sc_data[type].val1); sc_data[type].val1 = sc_data[type].val2 = 0; @@ -9275,7 +9275,7 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) struct status_change *t_sc_data = battle_get_sc_data ((struct block_list *) sc_data[type].val4); - //•Ð•û‚ªØ‚ꂽ‚Ì‚Å‘ŠŽè‚Ì”’nó‘Ô‚ªØ‚ê‚Ä‚È‚¢‚Ì‚È‚ç‰ðœ + //片方ãŒåˆ‡ã‚ŒãŸã®ã§ç›¸æ‰‹ã®ç™½åˆƒçŠ¶æ…‹ãŒåˆ‡ã‚Œã¦ãªã„ã®ãªã‚‰è§£é™¤ if (t_sc_data && t_sc_data[SC_BLADESTOP].timer != -1) skill_status_change_end ((struct block_list *) sc_data[type].val4, SC_BLADESTOP, @@ -9295,7 +9295,7 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) && (dsd = map_id2sd (sc_data[type].val4))) { d_sc_data = dsd->sc_data; - //‡‘t‚Å‘ŠŽè‚ª‚¢‚éꇑŠŽè‚Ìval4‚ð0‚É‚·‚é + //åˆå¥ã§ç›¸æ‰‹ãŒã„ã‚‹å ´åˆç›¸æ‰‹ã®val4ã‚’0ã«ã™ã‚‹ if (d_sc_data && d_sc_data[type].timer != -1) d_sc_data[type].val4 = 0; } @@ -9304,12 +9304,12 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) break; case SC_GRAFFITI: { - struct skill_unit_group *sg = (struct skill_unit_group *) sc_data[type].val4; //val4‚ªƒOƒ‰ƒtƒBƒeƒB‚Ìgroup_id + struct skill_unit_group *sg = (struct skill_unit_group *) sc_data[type].val4; //val4ãŒã‚°ãƒ©ãƒ•ã‚£ãƒ†ã‚£ã®group_id if (sg) skill_delunitgroup (sg); } break; - case SC_NOCHAT: //ƒ`ƒƒƒbƒg‹ÖŽ~ó‘Ô + case SC_NOCHAT: //ãƒãƒ£ãƒƒãƒˆç¦æ¢çŠ¶æ…‹ { struct map_session_data *sd = NULL; if (bl->type == BL_PC @@ -9320,21 +9320,21 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) } } break; - case SC_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case SC_SPLASHER: /* ベナムスプラッシャー */ { struct block_list *src = map_id2bl (sc_data[type].val3); if (src && tid != -1) { - //Ž©•ª‚Ƀ_ƒ[ƒW•ŽüˆÍ3*3‚Ƀ_ƒ[ƒW + //自分ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ï¼†å‘¨å›²3*3ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ skill_castend_damage_id (src, bl, sc_data[type].val2, sc_data[type].val1, gettick (), 0); } } break; - case SC_SELFDESTRUCTION: /* Ž©”š */ + case SC_SELFDESTRUCTION: /* 自爆 */ { - //Ž©•ª‚̃_ƒ[ƒW‚Í0‚É‚µ‚Ä + //自分ã®ãƒ€ãƒ¡ãƒ¼ã‚¸ã¯0ã«ã—㦠struct mob_data *md = NULL; if (bl->type == BL_MOB && (md = (struct mob_data *) bl)) skill_castend_damage_id (bl, bl, sc_data[type].val2, @@ -9348,18 +9348,18 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) break; /* option2 */ - case SC_POISON: /* “Å */ - case SC_BLIND: /* ˆÃ• */ + case SC_POISON: /* 毒 */ + case SC_BLIND: /* æš—é»’ */ case SC_CURSE: calc_flag = 1; break; } if (bl->type == BL_PC && type < SC_SENDMAX) - clif_status_change (bl, type, 0); /* ƒAƒCƒRƒ“Á‹Ž */ + clif_status_change (bl, type, 0); /* アイコン消去 */ switch (type) - { /* ³í‚É–ß‚é‚Æ‚«‚È‚É‚©ˆ—‚ª•K—v */ + { /* æ£å¸¸ã«æˆ»ã‚‹ã¨ããªã«ã‹å‡¦ç†ãŒå¿…è¦ */ case SC_STONE: case SC_FREEZE: case SC_STAN: @@ -9413,7 +9413,7 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) *option &= ~1; opt_flag = 1; break; - case SC_WEDDING: //Œ‹¥—p(Œ‹¥ˆßÖ‚É‚È‚Á‚Ä•à‚‚Ì‚ª’x‚¢‚Æ‚©) + case SC_WEDDING: //çµå©šç”¨(çµå©šè¡£è£³ã«ãªã£ã¦æ©ãã®ãŒé…ã„ã¨ã‹) *option &= ~4096; opt_flag = 1; break; @@ -9424,32 +9424,32 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) //opt3 case SC_TWOHANDQUICKEN: /* 2HQ */ - case SC_SPEARSQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ - case SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ + case SC_SPEARSQUICKEN: /* スピアクイッケン */ + case SC_CONCENTRATION: /* コンセントレーション */ *opt3 &= ~1; break; - case SC_OVERTHRUST: /* ƒI[ƒo[ƒXƒ‰ƒXƒg */ + case SC_OVERTHRUST: /* オーãƒãƒ¼ã‚¹ãƒ©ã‚¹ãƒˆ */ *opt3 &= ~2; break; - case SC_ENERGYCOAT: /* ƒGƒiƒW[ƒR[ƒg */ + case SC_ENERGYCOAT: /* エナジーコート */ *opt3 &= ~4; break; - case SC_EXPLOSIONSPIRITS: // ”š—ô”g“® + case SC_EXPLOSIONSPIRITS: // 爆裂波動 *opt3 &= ~8; break; - case SC_STEELBODY: // ‹à„ + case SC_STEELBODY: // 金剛 *opt3 &= ~16; break; - case SC_BLADESTOP: /* ”’nŽæ‚è */ + case SC_BLADESTOP: /* 白刃å–ã‚Š */ *opt3 &= ~32; break; - case SC_BERSERK: /* ƒo[ƒT[ƒN */ + case SC_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ *opt3 &= ~128; break; - case SC_MARIONETTE: /* ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ */ + case SC_MARIONETTE: /* マリオãƒãƒƒãƒˆã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ« */ *opt3 &= ~1024; break; - case SC_ASSUMPTIO: /* ƒAƒXƒ€ƒvƒeƒBƒI */ + case SC_ASSUMPTIO: /* アスムプティオ */ *opt3 &= ~2048; break; } @@ -9461,11 +9461,11 @@ int skill_status_change_end (struct block_list *bl, int type, int tid) opt_flag = 1; } - if (opt_flag) /* option‚Ì•ÏX‚ð“`‚¦‚é */ + if (opt_flag) /* optionã®å¤‰æ›´ã‚’ä¼ãˆã‚‹ */ clif_changeoption (bl); if (bl->type == BL_PC && calc_flag) - pc_calcstatus ((struct map_session_data *) bl, 0); /* ƒXƒe[ƒ^ƒXÄŒvŽZ */ + pc_calcstatus ((struct map_session_data *) bl, 0); /* ステータスå†è¨ˆç®— */ } return 0; @@ -9493,7 +9493,7 @@ int skill_update_heal_animation (struct map_session_data *sd) } /*========================================== - * ƒXƒe[ƒ^ƒXˆÙíI—¹ƒ^ƒCƒ}[ + * ステータス異常終了タイマー *------------------------------------------ */ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) @@ -9502,16 +9502,16 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) struct block_list *bl; struct map_session_data *sd = NULL; struct status_change *sc_data; - //short *sc_count; //Žg‚Á‚Ä‚È‚¢H + //short *sc_count; //使ã£ã¦ãªã„? if ((bl = map_id2bl (id)) == NULL) - return 0; //ŠY“–ID‚ª‚·‚Å‚ÉÁ–Å‚µ‚Ä‚¢‚é‚Æ‚¢‚¤‚Ì‚Í‚¢‚©‚É‚à‚ ‚è‚»‚¤‚Ȃ̂ŃXƒ‹[‚µ‚Ä‚Ý‚é + return 0; //該当IDãŒã™ã§ã«æ¶ˆæ»…ã—ã¦ã„ã‚‹ã¨ã„ã†ã®ã¯ã„ã‹ã«ã‚‚ã‚ã‚Šãã†ãªã®ã§ã‚¹ãƒ«ãƒ¼ã—ã¦ã¿ã‚‹ nullpo_retr (0, sc_data = battle_get_sc_data (bl)); if (bl->type == BL_PC) sd = (struct map_session_data *) bl; - //sc_count=battle_get_sc_count(bl); //Žg‚Á‚Ä‚È‚¢H + //sc_count=battle_get_sc_count(bl); //使ã£ã¦ãªã„? if (sc_data[type].timer != tid) { @@ -9528,17 +9528,17 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } switch (type) - { /* “ÁŽê‚Ȉ—‚É‚È‚éê‡ */ - case SC_MAXIMIZEPOWER: /* ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ */ - case SC_CLOAKING: /* ƒNƒ[ƒLƒ“ƒO */ + { /* 特殊ãªå‡¦ç†ã«ãªã‚‹å ´åˆ */ + case SC_MAXIMIZEPOWER: /* マã‚シマイズパワー */ + case SC_CLOAKING: /* クãƒãƒ¼ã‚ング */ case SC_CHASEWALK: if (sd) { if (sd->status.sp > 0) - { /* SPØ‚ê‚é‚Ü‚ÅŽ‘± */ + { /* SP切れるã¾ã§æŒç¶š */ sd->status.sp--; clif_updatestatus (sd, SP_SP); - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ sc_data[type].val2 + tick, skill_status_change_timer, @@ -9548,9 +9548,9 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_HIDING: /* ƒnƒCƒfƒBƒ“ƒO */ + case SC_HIDING: /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ if (sd) - { /* SP‚ª‚ ‚Á‚ÄAŽžŠÔ§ŒÀ‚ÌŠÔ‚ÍŽ‘± */ + { /* SPãŒã‚ã£ã¦ã€æ™‚間制é™ã®é–“ã¯æŒç¶š */ if (sd->status.sp > 0 && (--sc_data[type].val2) > 0) { if (sc_data[type].val2 % (sc_data[type].val1 + 3) == 0) @@ -9558,7 +9558,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) sd->status.sp--; clif_updatestatus (sd, SP_SP); } - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 1000 + tick, skill_status_change_timer, bl->id, data); @@ -9567,7 +9567,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_SIGHT: /* ƒTƒCƒg */ + case SC_SIGHT: /* サイト */ { const int range = 7; map_foreachinarea (skill_status_change_timer_sub, @@ -9577,7 +9577,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) if ((--sc_data[type].val2) > 0) { - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 250 + tick, skill_status_change_timer, bl->id, data); @@ -9585,7 +9585,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } } break; - case SC_RUWACH: /* ƒ‹ƒAƒt */ + case SC_RUWACH: /* ルアフ */ { const int range = 5; map_foreachinarea (skill_status_change_timer_sub, @@ -9595,7 +9595,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) if ((--sc_data[type].val2) > 0) { - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 250 + tick, skill_status_change_timer, bl->id, data); @@ -9604,7 +9604,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_SIGNUMCRUCIS: /* ƒVƒOƒiƒ€ƒNƒ‹ƒVƒX */ + case SC_SIGNUMCRUCIS: /* シグナムクルシス */ { int race = battle_get_race (bl); if (race == 6 @@ -9618,10 +9618,10 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_PROVOKE: /* ƒvƒƒ{ƒbƒN/ƒI[ƒgƒo[ƒT[ƒN */ + case SC_PROVOKE: /* プãƒãƒœãƒƒã‚¯/オートãƒãƒ¼ã‚µãƒ¼ã‚¯ */ if (sc_data[type].val2 != 0) - { /* ƒI[ƒgƒo[ƒT[ƒNi‚P•b‚²‚Æ‚ÉHPƒ`ƒFƒbƒNj */ - if (sd && sd->status.hp > sd->status.max_hp >> 2) /* ’âŽ~ */ + { /* オートãƒãƒ¼ã‚µãƒ¼ã‚¯ï¼ˆï¼‘秒ã”ã¨ã«HPãƒã‚§ãƒƒã‚¯ï¼‰ */ + if (sd && sd->status.hp > sd->status.max_hp >> 2) /* åœæ¢ */ break; sc_data[type].timer = add_timer (1000 + tick, skill_status_change_timer, bl->id, @@ -9630,7 +9630,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_WATERBALL: /* ƒEƒH[ƒ^[ƒ{[ƒ‹ */ + case SC_WATERBALL: /* ウォーターボール */ { struct block_list *target = map_id2bl (sc_data[type].val2); if (target == NULL || target->prev == NULL) @@ -9647,7 +9647,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_ENDURE: /* ƒCƒ“ƒfƒ…ƒA */ + case SC_ENDURE: /* インデュア */ if (sd && sd->special_state.infinite_endure) { sc_data[type].timer = @@ -9658,7 +9658,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_DISSONANCE: /* •s‹¦˜a‰¹ */ + case SC_DISSONANCE: /* ä¸å”和音 */ if ((--sc_data[type].val2) > 0) { struct skill_unit *unit = @@ -9682,7 +9682,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - case SC_LULLABY: /* ŽqŽç‰S */ + case SC_LULLABY: /* å守唄 */ if ((--sc_data[type].val2) > 0) { struct skill_unit *unit = @@ -9782,9 +9782,9 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) data); break; - case SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ + case SC_TENSIONRELAX: /* テンションリラックス */ if (sd) - { /* SP‚ª‚ ‚Á‚ÄAHP‚ª–žƒ^ƒ“‚Å‚È‚¯‚ê‚ÎŒp‘± */ + { /* SPãŒã‚ã£ã¦ã€HPãŒæº€ã‚¿ãƒ³ã§ãªã‘ã‚Œã°ç¶™ç¶š */ if (sd->status.sp > 12 && sd->status.max_hp > sd->status.hp) { if (sc_data[type].val2 % (sc_data[type].val1 + 3) == 0) @@ -9792,7 +9792,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) sd->status.sp -= 12; clif_updatestatus (sd, SP_SP); } - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 10000 + tick, skill_status_change_timer, bl->id, data); @@ -9803,16 +9803,16 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } break; - /* ŽžŠÔØ‚ê–³‚µHH */ + /* 時間切れ無ã—?? */ case SC_AETERNA: case SC_TRICKDEAD: case SC_RIDING: case SC_FALCON: case SC_WEIGHT50: case SC_WEIGHT90: - case SC_MAGICPOWER: /* –‚–@—Í‘• */ - case SC_REJECTSWORD: /* ƒŠƒWƒFƒNƒgƒ\[ƒh */ - case SC_MEMORIZE: /* ƒƒ‚ƒ‰ƒCƒY */ + case SC_MAGICPOWER: /* é”法力増幅 */ + case SC_REJECTSWORD: /* リジェクトソード */ + case SC_MEMORIZE: /* メモライズ */ case SC_BROKNWEAPON: case SC_BROKNARMOR: if (sc_data[type].timer == tid) @@ -9821,7 +9821,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) bl->id, data); return 0; - case SC_DANCING: //ƒ_ƒ“ƒXƒXƒLƒ‹‚ÌŽžŠÔSPÁ”ï + case SC_DANCING: //ダンススã‚ルã®æ™‚é–“SP消費 { int s = 0; if (sd) @@ -9830,33 +9830,33 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) { switch (sc_data[type].val1) { - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ 3•b‚ÉSP1 */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« 3•b‚ÉSP1 */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö 3•b‚ÉSP1 */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh 3•b‚ÉSP1 */ - case BA_DISSONANCE: /* •s‹¦˜a‰¹ 3•b‚ÅSP1 */ - case BA_ASSASSINCROSS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX 3•b‚ÅSP1 */ - case DC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX 3•b‚ÅSP1 */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ 3秒ã«SP1 */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã 3秒ã«SP1 */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª 3秒ã«SP1 */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ 3秒ã«SP1 */ + case BA_DISSONANCE: /* ä¸å”和音 3秒ã§SP1 */ + case BA_ASSASSINCROSS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ 3秒ã§SP1 */ + case DC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ 3秒ã§SP1 */ s = 3; break; - case BD_LULLABY: /* ŽqŽç‰Ì 4•b‚ÉSP1 */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× 4•b‚ÉSP1 */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ 4•b‚ÉSP1 */ - case DC_FORTUNEKISS: /* K‰^‚̃LƒX 4•b‚ÅSP1 */ + case BD_LULLABY: /* åå®ˆæŒ 4秒ã«SP1 */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ 4秒ã«SP1 */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ 4秒ã«SP1 */ + case DC_FORTUNEKISS: /* 幸é‹ã®ã‚ス 4秒ã§SP1 */ s = 4; break; - case BD_INTOABYSS: /* [•£‚Ì’†‚É 5•b‚ÉSP1 */ - case BA_WHISTLE: /* Œû“J 5•b‚ÅSP1 */ - case DC_HUMMING: /* ƒnƒ~ƒ“ƒO 5•b‚ÅSP1 */ - case BA_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ 5•b‚ÅSP1 */ - case DC_SERVICEFORYOU: /* ƒT[ƒrƒXƒtƒH[ƒ†[ 5•b‚ÅSP1 */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« 5秒ã«SP1 */ + case BA_WHISTLE: /* å£ç¬› 5秒ã§SP1 */ + case DC_HUMMING: /* ãƒãƒŸãƒ³ã‚° 5秒ã§SP1 */ + case BA_POEMBRAGI: /* ブラギã®è©© 5秒ã§SP1 */ + case DC_SERVICEFORYOU: /* サービスフォーユー 5秒ã§SP1 */ s = 5; break; - case BA_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç 6•b‚ÅSP1 */ + case BA_APPLEIDUN: /* イドゥンã®æž—檎 6秒ã§SP1 */ s = 6; break; - case DC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc 10•b‚ÅSP1 */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç 10•b‚ÅSP1H */ + case DC_DONTFORGETME: /* ç§ã‚’忘れãªã„ã§â€¦ 10秒ã§SP1 */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ 10秒ã§SP1? */ s = 10; break; } @@ -9865,7 +9865,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) sd->status.sp--; clif_updatestatus (sd, SP_SP); } - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 1000 + tick, skill_status_change_timer, bl->id, data); @@ -9874,14 +9874,14 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } } break; - case SC_BERSERK: /* ƒo[ƒT[ƒN */ + case SC_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ if (sd) - { /* HP‚ª100ˆÈã‚È‚çŒp‘± */ + { /* HPãŒ100以上ãªã‚‰ç¶™ç¶š */ if ((sd->status.hp - sd->status.hp / 100) > 100) { sd->status.hp -= sd->status.hp / 100; clif_updatestatus (sd, SP_HP); - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 15000 + tick, skill_status_change_timer, bl->id, data); @@ -9889,13 +9889,13 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } } break; - case SC_WEDDING: //Œ‹¥—p(Œ‹¥ˆßÖ‚É‚È‚Á‚Ä•à‚‚Ì‚ª’x‚¢‚Æ‚©) + case SC_WEDDING: //çµå©šç”¨(çµå©šè¡£è£³ã«ãªã£ã¦æ©ãã®ãŒé…ã„ã¨ã‹) if (sd) { time_t timer; if (time (&timer) < ((sc_data[type].val2) + 3600)) - { //1ŽžŠÔ‚½‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅŒp‘± - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + { //1時間ãŸã£ã¦ã„ãªã„ã®ã§ç¶™ç¶š + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 10000 + tick, skill_status_change_timer, bl->id, data); @@ -9903,16 +9903,16 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } } break; - case SC_NOCHAT: //ƒ`ƒƒƒbƒg‹ÖŽ~ó‘Ô + case SC_NOCHAT: //ãƒãƒ£ãƒƒãƒˆç¦æ¢çŠ¶æ…‹ if (sd && battle_config.muting_players) { time_t timer; if ((++sd->status.manner) && time (&timer) < ((sc_data[type].val2) + 60 * (0 - sd->status.manner))) - { //ŠJŽn‚©‚çstatus.manner•ªŒo‚Á‚Ä‚È‚¢‚Ì‚ÅŒp‘± + { //開始ã‹ã‚‰status.manner分経ã£ã¦ãªã„ã®ã§ç¶™ç¶š clif_updatestatus (sd, SP_MANNER); - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è(60•b) */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š(60秒) */ 60000 + tick, skill_status_change_timer, bl->id, data); @@ -9920,7 +9920,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } } break; - case SC_SELFDESTRUCTION: /* Ž©”š */ + case SC_SELFDESTRUCTION: /* 自爆 */ if (--sc_data[type].val3 > 0) { struct mob_data *md; @@ -9930,7 +9930,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) md->stats[MOB_SPEED] -= 250; md->next_walktime = tick; } - sc_data[type].timer = add_timer ( /* ƒ^ƒCƒ}[ÄÝ’è */ + sc_data[type].timer = add_timer ( /* タイマーå†è¨å®š */ 1000 + tick, skill_status_change_timer, bl->id, data); @@ -9948,7 +9948,7 @@ int skill_status_change_timer (int tid, unsigned int tick, int id, int data) } /*========================================== - * ƒXƒe[ƒ^ƒXˆÙíI—¹ + * ステータス異常終了 *------------------------------------------ */ int skill_encchant_eremental_end (struct block_list *bl, int type) @@ -9958,24 +9958,24 @@ int skill_encchant_eremental_end (struct block_list *bl, int type) nullpo_retr (0, bl); nullpo_retr (0, sc_data = battle_get_sc_data (bl)); - if (type != SC_ENCPOISON && sc_data[SC_ENCPOISON].timer != -1) /* ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‰ðœ */ + if (type != SC_ENCPOISON && sc_data[SC_ENCPOISON].timer != -1) /* エンãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³è§£é™¤ */ skill_status_change_end (bl, SC_ENCPOISON, -1); - if (type != SC_ASPERSIO && sc_data[SC_ASPERSIO].timer != -1) /* ƒAƒXƒyƒ‹ƒVƒI‰ðœ */ + if (type != SC_ASPERSIO && sc_data[SC_ASPERSIO].timer != -1) /* アスペルシオ解除 */ skill_status_change_end (bl, SC_ASPERSIO, -1); - if (type != SC_FLAMELAUNCHER && sc_data[SC_FLAMELAUNCHER].timer != -1) /* ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ‰ðœ */ + if (type != SC_FLAMELAUNCHER && sc_data[SC_FLAMELAUNCHER].timer != -1) /* フレイムランãƒãƒ£è§£é™¤ */ skill_status_change_end (bl, SC_FLAMELAUNCHER, -1); - if (type != SC_FROSTWEAPON && sc_data[SC_FROSTWEAPON].timer != -1) /* ƒtƒƒXƒgƒEƒFƒ|ƒ“‰ðœ */ + if (type != SC_FROSTWEAPON && sc_data[SC_FROSTWEAPON].timer != -1) /* フãƒã‚¹ãƒˆã‚¦ã‚§ãƒãƒ³è§£é™¤ */ skill_status_change_end (bl, SC_FROSTWEAPON, -1); - if (type != SC_LIGHTNINGLOADER && sc_data[SC_LIGHTNINGLOADER].timer != -1) /* ƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[‰ðœ */ + if (type != SC_LIGHTNINGLOADER && sc_data[SC_LIGHTNINGLOADER].timer != -1) /* ライトニングãƒãƒ¼ãƒ€ãƒ¼è§£é™¤ */ skill_status_change_end (bl, SC_LIGHTNINGLOADER, -1); - if (type != SC_SEISMICWEAPON && sc_data[SC_SEISMICWEAPON].timer != -1) /* ƒTƒCƒXƒ~ƒbƒNƒEƒFƒ|ƒ“‰ðœ */ + if (type != SC_SEISMICWEAPON && sc_data[SC_SEISMICWEAPON].timer != -1) /* サイスミックウェãƒãƒ³è§£é™¤ */ skill_status_change_end (bl, SC_SEISMICWEAPON, -1); return 0; } /*========================================== - * ƒXƒe[ƒ^ƒXˆÙíŠJŽn + * ステータス異常開始 *------------------------------------------ */ int skill_status_change_start (struct block_list *bl, int type, int val1, @@ -10050,12 +10050,12 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, return 0; if (SC_STONE <= type && type <= SC_BLIND) - { /* ƒJ[ƒh‚É‚æ‚é‘Ï« */ + { /* カードã«ã‚ˆã‚‹è€æ€§ */ if (sd && sd->reseff[type - SC_STONE] > 0 && MRAND (10000) < sd->reseff[type - SC_STONE]) { if (battle_config.battle_log) - printf ("PC %d skill_sc_start: card‚É‚æ‚éˆÙí‘Ï«”“®\n", + printf ("PC %d skill_sc_start: cardã«ã‚ˆã‚‹ç•°å¸¸è€æ€§ç™ºå‹•\n", sd->bl.id); return 0; } @@ -10088,20 +10088,20 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, || race == 6))) && !(flag & 1)) { - /* ƒ{ƒX‚É‚ÍŒø‚©‚È‚¢(‚½‚¾‚µƒJ[ƒh‚É‚æ‚éŒø‰Ê‚Í“K—p‚³‚ê‚é) */ + /* ボスã«ã¯åŠ¹ã‹ãªã„(ãŸã ã—カードã«ã‚ˆã‚‹åŠ¹æžœã¯é©ç”¨ã•ã‚Œã‚‹) */ return 0; } if (type == SC_FREEZE || type == SC_STAN || type == SC_SLEEP) battle_stopwalking (bl, 1); if (sc_data[type].timer != -1) - { /* ‚·‚Å‚É“¯‚¶ˆÙí‚É‚È‚Á‚Ä‚¢‚éꇃ^ƒCƒ}‰ðœ */ + { /* ã™ã§ã«åŒã˜ç•°å¸¸ã«ãªã£ã¦ã„ã‚‹å ´åˆã‚¿ã‚¤ãƒžè§£é™¤ */ if (sc_data[type].val1 > val1 && type != SC_COMBO && type != SC_DANCING && type != SC_DEVOTION && type != SC_SPEEDPOTION0 && type != SC_SPEEDPOTION1 && type != SC_SPEEDPOTION2 && type != SC_ATKPOT && type != SC_MATKPOT) // added atk and matk potions [Valaris] return 0; if (type >= SC_STAN && type <= SC_BLIND) - return 0; /* Œp‚¬‘«‚µ‚ª‚Å‚«‚È‚¢ó‘ÔˆÙí‚Å‚ ‚鎞‚Íó‘ÔˆÙí‚ðs‚í‚È‚¢ */ + return 0; /* 継ãŽè¶³ã—ãŒã§ããªã„状態異常ã§ã‚る時ã¯çŠ¶æ…‹ç•°å¸¸ã‚’è¡Œã‚ãªã„ */ if (type == SC_GRAFFITI) - { //ˆÙí’†‚É‚à‚¤ˆê“xó‘ÔˆÙí‚É‚È‚Á‚½Žž‚ɉ𜂵‚Ä‚©‚çÄ“x‚©‚©‚é + { //異常ä¸ã«ã‚‚ã†ä¸€åº¦çŠ¶æ…‹ç•°å¸¸ã«ãªã£ãŸæ™‚ã«è§£é™¤ã—ã¦ã‹ã‚‰å†åº¦ã‹ã‹ã‚‹ skill_status_change_end (bl, type, -1); } else @@ -10113,20 +10113,20 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, } switch (type) - { /* ˆÙí‚ÌŽí—Þ‚²‚Ƃ̈— */ - case SC_PROVOKE: /* ƒvƒƒ{ƒbƒN */ + { /* 異常ã®ç¨®é¡žã”ã¨ã®å‡¦ç† */ + case SC_PROVOKE: /* プãƒãƒœãƒƒã‚¯ */ calc_flag = 1; if (tick <= 0) - tick = 1000; /* (ƒI[ƒgƒo[ƒT[ƒN) */ + tick = 1000; /* (オートãƒãƒ¼ã‚µãƒ¼ã‚¯) */ break; - case SC_ENDURE: /* ƒCƒ“ƒfƒ…ƒA */ + case SC_ENDURE: /* インデュア */ if (tick <= 0) tick = 1000 * 60; break; - case SC_CONCENTRATE: /* W’†—ÍŒüã */ + case SC_CONCENTRATE: /* 集ä¸åŠ›å‘上 */ calc_flag = 1; break; - case SC_BLESSING: /* ƒuƒŒƒbƒVƒ“ƒO */ + case SC_BLESSING: /* ブレッシング */ { if (bl->type == BL_PC || (!undead_flag && race != 6)) { @@ -10139,22 +10139,22 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, calc_flag = 1; } break; - case SC_ANGELUS: /* ƒAƒ“ƒ[ƒ‹ƒX */ + case SC_ANGELUS: /* アンゼルス */ calc_flag = 1; break; - case SC_INCREASEAGI: /* ‘¬“x㸠*/ + case SC_INCREASEAGI: /* 速度上昇 */ calc_flag = 1; if (sc_data[SC_DECREASEAGI].timer != -1) skill_status_change_end (bl, SC_DECREASEAGI, -1); - if (sc_data[SC_WINDWALK].timer != -1) /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + if (sc_data[SC_WINDWALK].timer != -1) /* ウインドウォーク */ skill_status_change_end (bl, SC_WINDWALK, -1); break; - case SC_DECREASEAGI: /* ‘¬“xŒ¸ */ + case SC_DECREASEAGI: /* 速度減少 */ calc_flag = 1; if (sc_data[SC_INCREASEAGI].timer != -1) skill_status_change_end (bl, SC_INCREASEAGI, -1); break; - case SC_SIGNUMCRUCIS: /* ƒVƒOƒiƒ€ƒNƒ‹ƒVƒX */ + case SC_SIGNUMCRUCIS: /* シグナムクルシス */ calc_flag = 1; // val2 = 14 + val1; val2 = 10 + val1 * 2; @@ -10169,51 +10169,51 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, *opt3 |= 1; calc_flag = 1; break; - case SC_ADRENALINE: /* ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ… */ + case SC_ADRENALINE: /* アドレナリンラッシュ */ calc_flag = 1; break; - case SC_WEAPONPERFECTION: /* ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ */ + case SC_WEAPONPERFECTION: /* ウェãƒãƒ³ãƒ‘ーフェクション */ if (battle_config.party_skill_penaly && !val2) tick /= 5; break; - case SC_OVERTHRUST: /* ƒI[ƒo[ƒXƒ‰ƒXƒg */ + case SC_OVERTHRUST: /* オーãƒãƒ¼ã‚¹ãƒ©ã‚¹ãƒˆ */ *opt3 |= 2; if (battle_config.party_skill_penaly && !val2) tick /= 10; break; - case SC_MAXIMIZEPOWER: /* ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[(SP‚ª1Œ¸‚鎞ŠÔ,val2‚É‚à) */ + case SC_MAXIMIZEPOWER: /* マã‚シマイズパワー(SPãŒ1減る時間,val2ã«ã‚‚) */ if (bl->type == BL_PC) val2 = tick; else tick = 5000 * val1; break; - case SC_ENCPOISON: /* ƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“ */ + case SC_ENCPOISON: /* エンãƒãƒ£ãƒ³ãƒˆãƒã‚¤ã‚ºãƒ³ */ calc_flag = 1; - val2 = (((val1 - 1) / 2) + 3) * 100; /* “Å•t—^Šm—¦ */ + val2 = (((val1 - 1) / 2) + 3) * 100; /* 毒付与確率 */ skill_encchant_eremental_end (bl, SC_ENCPOISON); break; - case SC_POISONREACT: /* ƒ|ƒCƒYƒ“ƒŠƒAƒNƒg */ + case SC_POISONREACT: /* ãƒã‚¤ã‚ºãƒ³ãƒªã‚¢ã‚¯ãƒˆ */ break; - case SC_IMPOSITIO: /* ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒX */ + case SC_IMPOSITIO: /* インãƒã‚·ãƒ†ã‚£ã‚ªãƒžãƒŒã‚¹ */ calc_flag = 1; break; - case SC_ASPERSIO: /* ƒAƒXƒyƒ‹ƒVƒI */ + case SC_ASPERSIO: /* アスペルシオ */ skill_encchant_eremental_end (bl, SC_ASPERSIO); break; - case SC_SUFFRAGIUM: /* ƒTƒtƒ‰ƒMƒ€ */ - case SC_BENEDICTIO: /* ¹‘Ì */ - case SC_MAGNIFICAT: /* ƒ}ƒOƒjƒtƒBƒJ[ƒg */ - case SC_AETERNA: /* ƒG[ƒeƒ‹ƒi */ + case SC_SUFFRAGIUM: /* サフラギム*/ + case SC_BENEDICTIO: /* è–体 */ + case SC_MAGNIFICAT: /* マグニフィカート */ + case SC_AETERNA: /* エーテルナ */ break; - case SC_ENERGYCOAT: /* ƒGƒiƒW[ƒR[ƒg */ + case SC_ENERGYCOAT: /* エナジーコート */ *opt3 |= 4; break; case SC_MAGICROD: val2 = val1 * 20; break; - case SC_KYRIE: /* ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“ */ - val2 = battle_get_max_hp (bl) * (val1 * 2 + 10) / 100; /* ‘Ï‹v“x */ - val3 = (val1 / 2 + 5); /* ‰ñ” */ + case SC_KYRIE: /* ã‚リエエレイソン */ + val2 = battle_get_max_hp (bl) * (val1 * 2 + 10) / 100; /* è€ä¹…度 */ + val3 = (val1 / 2 + 5); /* 回数 */ // -- moonsoul (added to undo assumptio status if target has it) if (sc_data[SC_ASSUMPTIO].timer != -1) skill_status_change_end (bl, SC_ASSUMPTIO, -1); @@ -10221,20 +10221,20 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, case SC_MINDBREAKER: calc_flag = 1; if (tick <= 0) - tick = 1000; /* (ƒI[ƒgƒo[ƒT[ƒN) */ - case SC_GLORIA: /* ƒOƒƒŠƒA */ + tick = 1000; /* (オートãƒãƒ¼ã‚µãƒ¼ã‚¯) */ + case SC_GLORIA: /* ã‚°ãƒãƒªã‚¢ */ calc_flag = 1; break; - case SC_LOUD: /* ƒ‰ƒEƒhƒ{ƒCƒX */ + case SC_LOUD: /* ラウドボイス */ calc_flag = 1; break; - case SC_TRICKDEAD: /* Ž€‚ñ‚¾‚Ó‚è */ + case SC_TRICKDEAD: /* æ»ã‚“ã ãµã‚Š */ break; - case SC_QUAGMIRE: /* ƒNƒ@ƒOƒ}ƒCƒA */ + case SC_QUAGMIRE: /* クァグマイア */ calc_flag = 1; - if (sc_data[SC_CONCENTRATE].timer != -1) /* W’†—ÍŒüã‰ðœ */ + if (sc_data[SC_CONCENTRATE].timer != -1) /* 集ä¸åŠ›å‘上解除 */ skill_status_change_end (bl, SC_CONCENTRATE, -1); - if (sc_data[SC_INCREASEAGI].timer != -1) /* ‘¬“x㸉ðœ */ + if (sc_data[SC_INCREASEAGI].timer != -1) /* 速度上昇解除 */ skill_status_change_end (bl, SC_INCREASEAGI, -1); if (sc_data[SC_TWOHANDQUICKEN].timer != -1) skill_status_change_end (bl, SC_TWOHANDQUICKEN, -1); @@ -10244,29 +10244,29 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, skill_status_change_end (bl, SC_ADRENALINE, -1); if (sc_data[SC_LOUD].timer != -1) skill_status_change_end (bl, SC_LOUD, -1); - if (sc_data[SC_TRUESIGHT].timer != -1) /* ƒgƒDƒ‹[ƒTƒCƒg */ + if (sc_data[SC_TRUESIGHT].timer != -1) /* トゥルーサイト */ skill_status_change_end (bl, SC_TRUESIGHT, -1); - if (sc_data[SC_WINDWALK].timer != -1) /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + if (sc_data[SC_WINDWALK].timer != -1) /* ウインドウォーク */ skill_status_change_end (bl, SC_WINDWALK, -1); - if (sc_data[SC_CARTBOOST].timer != -1) /* ƒJ[ƒgƒu[ƒXƒg */ + if (sc_data[SC_CARTBOOST].timer != -1) /* カートブースト */ skill_status_change_end (bl, SC_CARTBOOST, -1); break; - case SC_FLAMELAUNCHER: /* ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[ */ + case SC_FLAMELAUNCHER: /* フレームランãƒãƒ£ãƒ¼ */ skill_encchant_eremental_end (bl, SC_FLAMELAUNCHER); break; - case SC_FROSTWEAPON: /* ƒtƒƒXƒgƒEƒFƒ|ƒ“ */ + case SC_FROSTWEAPON: /* フãƒã‚¹ãƒˆã‚¦ã‚§ãƒãƒ³ */ skill_encchant_eremental_end (bl, SC_FROSTWEAPON); break; - case SC_LIGHTNINGLOADER: /* ƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[ */ + case SC_LIGHTNINGLOADER: /* ライトニングãƒãƒ¼ãƒ€ãƒ¼ */ skill_encchant_eremental_end (bl, SC_LIGHTNINGLOADER); break; - case SC_SEISMICWEAPON: /* ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ */ + case SC_SEISMICWEAPON: /* サイズミックウェãƒãƒ³ */ skill_encchant_eremental_end (bl, SC_SEISMICWEAPON); break; - case SC_DEVOTION: /* ƒfƒBƒ{[ƒVƒ‡ƒ“ */ + case SC_DEVOTION: /* ディボーション */ calc_flag = 1; break; - case SC_PROVIDENCE: /* ƒvƒƒ”ƒBƒfƒ“ƒX */ + case SC_PROVIDENCE: /* プãƒãƒ´ã‚£ãƒ‡ãƒ³ã‚¹ */ calc_flag = 1; val2 = val1 * 5; break; @@ -10283,7 +10283,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, case SC_CP_HELM: break; - case SC_AUTOSPELL: /* ƒI[ƒgƒXƒyƒ‹ */ + case SC_AUTOSPELL: /* オートスペル */ val4 = 5 + val1 * 2; break; @@ -10315,72 +10315,72 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, 3 ? 17 : (val1 == 2 ? 14 : 10))); break; - case SC_SPEARSQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ + case SC_SPEARSQUICKEN: /* スピアクイッケン */ calc_flag = 1; val2 = 20 + val1; *opt3 |= 1; break; case SC_COMBO: break; - case SC_BLADESTOP_WAIT: /* ”’nŽæ‚è(‘Ò‚¿) */ + case SC_BLADESTOP_WAIT: /* 白刃å–ã‚Š(å¾…ã¡) */ break; - case SC_BLADESTOP: /* ”’nŽæ‚è */ + case SC_BLADESTOP: /* 白刃å–ã‚Š */ if (val2 == 2) clif_bladestop ((struct block_list *) val3, (struct block_list *) val4, 1); *opt3 |= 32; break; - case SC_LULLABY: /* ŽqŽç‰S */ + case SC_LULLABY: /* å守唄 */ val2 = 11; break; case SC_RICHMANKIM: break; - case SC_ETERNALCHAOS: /* ƒGƒ^[ƒiƒ‹ƒJƒIƒX */ + case SC_ETERNALCHAOS: /* エターナルカオス */ calc_flag = 1; break; - case SC_DRUMBATTLE: /* 푾ŒÛ‚Ì‹¿‚« */ + case SC_DRUMBATTLE: /* 戦太鼓ã®éŸ¿ã */ calc_flag = 1; val2 = (val1 + 1) * 25; val3 = (val1 + 1) * 2; break; - case SC_NIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ + case SC_NIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ calc_flag = 1; val2 = (val1 + 2) * 50; val3 = (val1 + 2) * 25; break; - case SC_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ + case SC_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ break; - case SC_INTOABYSS: /* [•£‚Ì’†‚É */ + case SC_INTOABYSS: /* 深淵ã®ä¸ã« */ break; - case SC_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ + case SC_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ calc_flag = 1; val2 = 40 + val1 * 5; val3 = val1 * 10; break; - case SC_DISSONANCE: /* •s‹¦˜a‰¹ */ + case SC_DISSONANCE: /* ä¸å”和音 */ val2 = 10; break; - case SC_WHISTLE: /* Œû“J */ + case SC_WHISTLE: /* å£ç¬› */ calc_flag = 1; break; - case SC_ASSNCROS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ + case SC_ASSNCROS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ calc_flag = 1; break; - case SC_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ */ + case SC_POEMBRAGI: /* ブラギã®è©© */ break; - case SC_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ + case SC_APPLEIDUN: /* イドゥンã®æž—檎 */ calc_flag = 1; break; - case SC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ + case SC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ val2 = 10; break; - case SC_HUMMING: /* ƒnƒ~ƒ“ƒO */ + case SC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ calc_flag = 1; break; - case SC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Å */ + case SC_DONTFORGETME: /* ç§ã‚’忘れãªã„㧠*/ calc_flag = 1; - if (sc_data[SC_INCREASEAGI].timer != -1) /* ‘¬“x㸉ðœ */ + if (sc_data[SC_INCREASEAGI].timer != -1) /* 速度上昇解除 */ skill_status_change_end (bl, SC_INCREASEAGI, -1); if (sc_data[SC_TWOHANDQUICKEN].timer != -1) skill_status_change_end (bl, SC_TWOHANDQUICKEN, -1); @@ -10390,41 +10390,41 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, skill_status_change_end (bl, SC_ADRENALINE, -1); if (sc_data[SC_ASSNCROS].timer != -1) skill_status_change_end (bl, SC_ASSNCROS, -1); - if (sc_data[SC_TRUESIGHT].timer != -1) /* ƒgƒDƒ‹[ƒTƒCƒg */ + if (sc_data[SC_TRUESIGHT].timer != -1) /* トゥルーサイト */ skill_status_change_end (bl, SC_TRUESIGHT, -1); - if (sc_data[SC_WINDWALK].timer != -1) /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + if (sc_data[SC_WINDWALK].timer != -1) /* ウインドウォーク */ skill_status_change_end (bl, SC_WINDWALK, -1); - if (sc_data[SC_CARTBOOST].timer != -1) /* ƒJ[ƒgƒu[ƒXƒg */ + if (sc_data[SC_CARTBOOST].timer != -1) /* カートブースト */ skill_status_change_end (bl, SC_CARTBOOST, -1); break; - case SC_FORTUNE: /* K‰^‚̃LƒX */ + case SC_FORTUNE: /* 幸é‹ã®ã‚ス */ calc_flag = 1; break; - case SC_SERVICE4U: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case SC_SERVICE4U: /* サービスフォーユー */ calc_flag = 1; break; - case SC_DANCING: /* ƒ_ƒ“ƒX/‰‰‘t’† */ + case SC_DANCING: /* ダンス/æ¼”å¥ä¸ */ calc_flag = 1; val3 = tick / 1000; tick = 1000; break; - case SC_EXPLOSIONSPIRITS: // ”š—ô”g“® + case SC_EXPLOSIONSPIRITS: // 爆裂波動 calc_flag = 1; val2 = 75 + 25 * val1; *opt3 |= 8; break; - case SC_STEELBODY: // ‹à„ + case SC_STEELBODY: // 金剛 calc_flag = 1; *opt3 |= 16; break; - case SC_EXTREMITYFIST: /* ˆ¢C—…”e™€Œ */ + case SC_EXTREMITYFIST: /* 阿修羅覇凰拳 */ break; case SC_AUTOCOUNTER: val3 = val4 = 0; break; - case SC_SPEEDPOTION0: /* ‘‘¬ƒ|[ƒVƒ‡ƒ“ */ + case SC_SPEEDPOTION0: /* 増速ãƒãƒ¼ã‚·ãƒ§ãƒ³ */ *opt2 |= 0x20; case SC_SPEEDPOTION1: case SC_SPEEDPOTION2: @@ -10440,7 +10440,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, calc_flag = 1; tick = 1000 * tick; break; - case SC_WEDDING: //Œ‹¥—p(Œ‹¥ˆßÖ‚É‚È‚Á‚Ä•à‚‚Ì‚ª’x‚¢‚Æ‚©) + case SC_WEDDING: //çµå©šç”¨(çµå©šè¡£è£³ã«ãªã£ã¦æ©ãã®ãŒé…ã„ã¨ã‹) { time_t timer; @@ -10450,7 +10450,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, val2 = time (&timer); } break; - case SC_NOCHAT: //ƒ`ƒƒƒbƒg‹ÖŽ~ó‘Ô + case SC_NOCHAT: //ãƒãƒ£ãƒƒãƒˆç¦æ¢çŠ¶æ…‹ { time_t timer; @@ -10463,7 +10463,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, updateflag = SP_MANNER; } break; - case SC_SELFDESTRUCTION: //Ž©”š + case SC_SELFDESTRUCTION: //自爆 clif_skillcasting (bl, bl->id, bl->id, 0, 0, 331, skill_get_time (val2, val1)); val3 = tick / 1000; @@ -10471,7 +10471,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, break; /* option1 */ - case SC_STONE: /* Ή» */ + case SC_STONE: /* 石化 */ if (!(flag & 2)) { int sc_def = battle_get_mdef (bl) * 200; @@ -10483,23 +10483,23 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, tick = 5000; val2 = 1; break; - case SC_SLEEP: /* ‡–° */ + case SC_SLEEP: /* ç¡çœ */ if (!(flag & 2)) { // int sc_def = 100 - (battle_get_int(bl) + battle_get_luk(bl)/3); // tick = tick * sc_def / 100; // if(tick < 1000) tick = 1000; - tick = 30000; //‡–°‚̓Xƒe[ƒ^ƒX‘Ï«‚ÉŠÖ‚í‚炸30•b + tick = 30000; //ç¡çœ ã¯ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è€æ€§ã«é–¢ã‚らãš30秒 } break; - case SC_FREEZE: /* “€Œ‹ */ + case SC_FREEZE: /* å‡çµ */ if (!(flag & 2)) { int sc_def = 100 - battle_get_mdef (bl); tick = tick * sc_def / 100; } break; - case SC_STAN: /* ƒXƒ^ƒ“ival2‚Ƀ~ƒŠ•bƒZƒbƒgj */ + case SC_STAN: /* スタン(val2ã«ãƒŸãƒªç§’セット) */ if (!(flag & 2)) { int sc_def = @@ -10509,7 +10509,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, break; /* option2 */ - case SC_POISON: /* “Å */ + case SC_POISON: /* 毒 */ calc_flag = 1; if (!(flag & 2)) { @@ -10522,14 +10522,14 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, val3 = 1; tick = 1000; break; - case SC_SILENCE: /* ’¾–ÙiƒŒƒbƒNƒXƒfƒr[ƒij */ + case SC_SILENCE: /* 沈黙(レックスデビーナ) */ if (!(flag & 2)) { int sc_def = 100 - battle_get_vit (bl); tick = tick * sc_def / 100; } break; - case SC_BLIND: /* ˆÃ• */ + case SC_BLIND: /* æš—é»’ */ calc_flag = 1; if (!(flag & 2)) { @@ -10548,47 +10548,47 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, break; /* option */ - case SC_HIDING: /* ƒnƒCƒfƒBƒ“ƒO */ + case SC_HIDING: /* ãƒã‚¤ãƒ‡ã‚£ãƒ³ã‚° */ calc_flag = 1; if (bl->type == BL_PC) { - val2 = tick / 1000; /* Ž‘±ŽžŠÔ */ + val2 = tick / 1000; /* æŒç¶šæ™‚é–“ */ tick = 1000; } break; case SC_CHASEWALK: - case SC_CLOAKING: /* ƒNƒ[ƒLƒ“ƒO */ + case SC_CLOAKING: /* クãƒãƒ¼ã‚ング */ if (bl->type == BL_PC) val2 = tick; else tick = 5000 * val1; break; - case SC_SIGHT: /* ƒTƒCƒg/ƒ‹ƒAƒt */ + case SC_SIGHT: /* サイト/ルアフ */ case SC_RUWACH: val2 = tick / 250; tick = 10; break; - /* ƒZ[ƒtƒeƒBƒEƒH[ƒ‹Aƒjƒ…[ƒ} */ + /* セーフティウォールã€ãƒ‹ãƒ¥ãƒ¼ãƒž */ case SC_SAFETYWALL: case SC_PNEUMA: tick = ((struct skill_unit *) val2)->group->limit; break; - /* ƒAƒ“ƒNƒ‹ */ + /* アンクル */ case SC_ANKLE: break; - /* ƒEƒH[ƒ^[ƒ{[ƒ‹ */ + /* ウォーターボール */ case SC_WATERBALL: tick = 150; - if (val1 > 5) //ƒŒƒxƒ‹‚ª5ˆÈã‚ÌꇂÍ25”‚ɧŒÀ(1”–Ú‚Í‚·‚Å‚É‘Å‚Á‚Ä‚é‚Ì‚Å-1) + if (val1 > 5) //レベルãŒ5以上ã®å ´åˆã¯25発ã«åˆ¶é™(1発目ã¯ã™ã§ã«æ‰“ã£ã¦ã‚‹ã®ã§-1) val3 = 5 * 5 - 1; else val3 = (val1 | 1) * (val1 | 1) - 1; break; - /* ƒXƒLƒ‹‚¶‚á‚È‚¢/ŽžŠÔ‚ÉŠÖŒW‚µ‚È‚¢ */ + /* スã‚ルã˜ã‚ƒãªã„/時間ã«é–¢ä¿‚ã—ãªã„ */ case SC_RIDING: calc_flag = 1; tick = 600 * 1000; @@ -10621,25 +10621,25 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, case SC_BARRIER: case SC_HALLUCINATION: break; - case SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ + case SC_CONCENTRATION: /* コンセントレーション */ *opt3 |= 1; calc_flag = 1; break; - case SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ + case SC_TENSIONRELAX: /* テンションリラックス */ calc_flag = 1; if (bl->type == BL_PC) { tick = 10000; } break; - case SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ - case SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ + case SC_AURABLADE: /* オーラブレード */ + case SC_PARRYING: /* パリイング */ // case SC_ASSUMPTIO: /* */ - case SC_HEADCRUSH: /* ƒwƒbƒhƒNƒ‰ƒbƒVƒ… */ - case SC_JOINTBEAT: /* ƒWƒ‡ƒCƒ“ƒgƒr[ƒg */ -// case SC_MARIONETTE: /* ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ */ + case SC_HEADCRUSH: /* ヘッドクラッシュ */ + case SC_JOINTBEAT: /* ジョイントビート */ +// case SC_MARIONETTE: /* マリオãƒãƒƒãƒˆã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ« */ - //‚Æ‚è‚ ‚¦‚¸Žè”²‚« + //ã¨ã‚Šã‚ãˆãšæ‰‹æŠœã break; // -- moonsoul (for new upper class related skill status effects) @@ -10667,41 +10667,41 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, skill_status_change_end(bl,SC_KYRIE,-1); break; */ - case SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + case SC_WINDWALK: /* ウインドウォーク */ calc_flag = 1; - val2 = (val1 / 2); //Flee㸗¦ + val2 = (val1 / 2); //Flee上昇率 break; - case SC_BERSERK: /* ƒo[ƒT[ƒN */ + case SC_BERSERK: /* ãƒãƒ¼ã‚µãƒ¼ã‚¯ */ if (sd) { sd->status.sp = 0; clif_updatestatus (sd, SP_SP); - clif_status_change (bl, SC_INCREASEAGI, 1); /* ƒAƒCƒRƒ“•\Ž¦ */ + clif_status_change (bl, SC_INCREASEAGI, 1); /* アイコン表示 */ } *opt3 |= 128; tick = 1000; calc_flag = 1; break; - case SC_ASSUMPTIO: /* ƒAƒXƒ€ƒvƒeƒBƒI */ + case SC_ASSUMPTIO: /* アスムプティオ */ *opt3 |= 2048; break; - case SC_MARIONETTE: /* ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ */ + case SC_MARIONETTE: /* マリオãƒãƒƒãƒˆã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ« */ *opt3 |= 1024; break; - case SC_MELTDOWN: /* ƒƒ‹ƒgƒ_ƒEƒ“ */ - case SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ - case SC_TRUESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - case SC_SPIDERWEB: /* ƒXƒpƒCƒ_[ƒEƒFƒbƒu */ - case SC_MAGICPOWER: /* –‚–@—Í‘• */ + case SC_MELTDOWN: /* メルトダウン */ + case SC_CARTBOOST: /* カートブースト */ + case SC_TRUESIGHT: /* トゥルーサイト */ + case SC_SPIDERWEB: /* スパイダーウェッブ */ + case SC_MAGICPOWER: /* é”法力増幅 */ calc_flag = 1; break; - case SC_REJECTSWORD: /* ƒŠƒWƒFƒNƒgƒ\[ƒh */ - val2 = 3; //3‰ñUŒ‚‚𒵂˕Ԃ· + case SC_REJECTSWORD: /* リジェクトソード */ + val2 = 3; //3回攻撃を跳ã返㙠break; - case SC_MEMORIZE: /* ƒƒ‚ƒ‰ƒCƒY */ - val2 = 3; //3‰ñ‰r¥‚ð1/3‚É‚·‚é + case SC_MEMORIZE: /* メモライズ */ + val2 = 3; //3å›žè© å”±ã‚’1/3ã«ã™ã‚‹ break; - case SC_GRAFFITI: /* ƒOƒ‰ƒtƒBƒeƒB */ + case SC_GRAFFITI: /* グラフィティ */ { struct skill_unit_group *sg = skill_unitsetting (bl, RG_GRAFFITI, val1, val2, val3, 0); @@ -10711,7 +10711,7 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, break; case SC_HASTE: calc_flag = 1; - case SC_SPLASHER: /* ƒxƒiƒ€ƒXƒvƒ‰ƒbƒVƒƒ[ */ + case SC_SPLASHER: /* ベナムスプラッシャー */ case SC_PHYS_SHIELD: case SC_MBARRIER: case SC_HALT_REGENERATE: @@ -10727,18 +10727,18 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, } if (bl->type == BL_PC && type < SC_SENDMAX) - clif_status_change (bl, type, 1); /* ƒAƒCƒRƒ“•\Ž¦ */ + clif_status_change (bl, type, 1); /* アイコン表示 */ - /* option‚Ì•ÏX */ + /* optionã®å¤‰æ›´ */ switch (type) { case SC_STONE: case SC_FREEZE: case SC_STAN: case SC_SLEEP: - battle_stopattack (bl); /* UŒ‚’âŽ~ */ - skill_stop_dancing (bl, 0); /* ‰‰‘t/ƒ_ƒ“ƒX‚Ì’†’f */ - { /* “¯Žž‚ÉŠ|‚©‚ç‚È‚¢ƒXƒe[ƒ^ƒXˆÙí‚ð‰ðœ */ + battle_stopattack (bl); /* 攻撃åœæ¢ */ + skill_stop_dancing (bl, 0); /* æ¼”å¥/ダンスã®ä¸æ– */ + { /* åŒæ™‚ã«æŽ›ã‹ã‚‰ãªã„ステータス異常を解除 */ int i; for (i = SC_STONE; i <= SC_SLEEP; i++) { @@ -10782,12 +10782,12 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, break; case SC_HIDING: case SC_CLOAKING: - battle_stopattack (bl); /* UŒ‚’âŽ~ */ + battle_stopattack (bl); /* 攻撃åœæ¢ */ *option |= ((type == SC_HIDING) ? 2 : 4); opt_flag = 1; break; case SC_CHASEWALK: - battle_stopattack (bl); /* UŒ‚’âŽ~ */ + battle_stopattack (bl); /* 攻撃åœæ¢ */ *option |= 16388; opt_flag = 1; break; @@ -10804,10 +10804,10 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, opt_flag = 1; } - if (opt_flag) /* option‚Ì•ÏX */ + if (opt_flag) /* optionã®å¤‰æ›´ */ clif_changeoption (bl); - (*sc_count)++; /* ƒXƒe[ƒ^ƒXˆÙí‚Ì” */ + (*sc_count)++; /* ステータス異常ã®æ•° */ sc_data[type].val1 = val1; sc_data[type].val2 = val2; @@ -10819,22 +10819,22 @@ int skill_status_effect (struct block_list *bl, int type, int val1, int val2, sc_data[type].spell_invocation = spell_invocation; - /* ƒ^ƒCƒ}[Ý’è */ + /* タイマーè¨å®š */ sc_data[type].timer = add_timer (gettick () + tick, skill_status_change_timer, bl->id, type); if (bl->type == BL_PC && calc_flag) - pc_calcstatus (sd, 0); /* ƒXƒe[ƒ^ƒXÄŒvŽZ */ + pc_calcstatus (sd, 0); /* ステータスå†è¨ˆç®— */ if (bl->type == BL_PC && updateflag) - clif_updatestatus (sd, updateflag); /* ƒXƒe[ƒ^ƒX‚ðƒNƒ‰ƒCƒAƒ“ƒg‚É‘—‚é */ + clif_updatestatus (sd, updateflag); /* ステータスをクライアントã«é€ã‚‹ */ return 0; } /*========================================== - * ƒXƒe[ƒ^ƒXˆÙí‘S‰ðœ + * ステータス異常全解除 *------------------------------------------ */ int skill_status_change_clear (struct block_list *bl, int type) @@ -10856,7 +10856,7 @@ int skill_status_change_clear (struct block_list *bl, int type) for (i = 0; i < MAX_STATUSCHANGE; i++) { if (sc_data[i].timer != -1) - { /* ˆÙ킪‚ ‚é‚È‚çƒ^ƒCƒ}[‚ð휂·‚é */ + { /* 異常ãŒã‚ã‚‹ãªã‚‰ã‚¿ã‚¤ãƒžãƒ¼ã‚’削除ã™ã‚‹ */ /* delete_timer(sc_data[i].timer, skill_status_change_timer); sc_data[i].timer = -1; @@ -10883,7 +10883,7 @@ int skill_status_change_clear (struct block_list *bl, int type) return 0; } -/* ƒNƒ[ƒLƒ“ƒOŒŸ¸iŽü‚è‚Ɉړ®•s‰Â”\’n‘Ñ‚ª‚ ‚é‚©j */ +/* クãƒãƒ¼ã‚ング検査(周りã«ç§»å‹•ä¸å¯èƒ½åœ°å¸¯ãŒã‚ã‚‹ã‹ï¼‰ */ int skill_check_cloaking (struct block_list *bl) { struct map_session_data *sd = NULL; @@ -10908,21 +10908,21 @@ int skill_check_cloaking (struct block_list *bl) if (end) { skill_status_change_end (bl, SC_CLOAKING, -1); - *battle_get_option (bl) &= ~4; /* ”O‚Ì‚½‚߂̈— */ + *battle_get_option (bl) &= ~4; /* 念ã®ãŸã‚ã®å‡¦ç† */ } return end; } /* *---------------------------------------------------------------------------- - * ƒXƒLƒ‹ƒ†ƒjƒbƒg + * スã‚ルユニット *---------------------------------------------------------------------------- */ /*========================================== - * ‰‰‘t/ƒ_ƒ“ƒXƒXƒLƒ‹‚©‚Ç‚¤‚©”»’è - * ˆø” ƒXƒLƒ‹ID - * –ß‚è ƒ_ƒ“ƒX‚¶‚á‚È‚¢=0 ‡‘t=2 ‚»‚êˆÈŠO‚̃_ƒ“ƒX=1 + * æ¼”å¥/ダンススã‚ルã‹ã©ã†ã‹åˆ¤å®š + * 引数 スã‚ルID + * 戻り ダンスã˜ã‚ƒãªã„=0 åˆå¥=2 ãれ以外ã®ãƒ€ãƒ³ã‚¹=1 *------------------------------------------ */ int skill_is_danceskill (int id) @@ -10930,30 +10930,30 @@ int skill_is_danceskill (int id) int i; switch (id) { - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BD_RAGNAROK: /* _X‚̉©¨ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BD_RAGNAROK: /* 神々ã®é»„æ˜ */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ i = 2; break; - case BA_DISSONANCE: /* •s‹¦˜a‰¹ */ - case BA_FROSTJOKE: /* Š¦‚¢ƒWƒ‡[ƒN */ - case BA_WHISTLE: /* Œû“J */ - case BA_ASSASSINCROSS: /* —[—z‚̃AƒTƒVƒ“ƒNƒƒX */ - case BA_POEMBRAGI: /* ƒuƒ‰ƒM‚ÌŽ */ - case BA_APPLEIDUN: /* ƒCƒhƒDƒ“‚Ì—ÑŒç */ - case DC_UGLYDANCE: /* Ž©•ªŸŽè‚ȃ_ƒ“ƒX */ - case DC_SCREAM: /* ƒXƒNƒŠ[ƒ€ */ - case DC_HUMMING: /* ƒnƒ~ƒ“ƒO */ - case DC_DONTFORGETME: /* Ž„‚ð–Y‚ê‚È‚¢‚Åc */ - case DC_FORTUNEKISS: /* K‰^‚̃LƒX */ - case DC_SERVICEFORYOU: /* ƒT[ƒrƒXƒtƒH[ƒ†[ */ + case BA_DISSONANCE: /* ä¸å”和音 */ + case BA_FROSTJOKE: /* 寒ã„ジョーク */ + case BA_WHISTLE: /* å£ç¬› */ + case BA_ASSASSINCROSS: /* 夕陽ã®ã‚¢ã‚µã‚·ãƒ³ã‚¯ãƒã‚¹ */ + case BA_POEMBRAGI: /* ブラギã®è©© */ + case BA_APPLEIDUN: /* イドゥンã®æž—檎 */ + case DC_UGLYDANCE: /* 自分å‹æ‰‹ãªãƒ€ãƒ³ã‚¹ */ + case DC_SCREAM: /* スクリーム*/ + case DC_HUMMING: /* ãƒãƒŸãƒ³ã‚° */ + case DC_DONTFORGETME: /* ç§ã‚’忘れãªã„ã§â€¦ */ + case DC_FORTUNEKISS: /* 幸é‹ã®ã‚ス */ + case DC_SERVICEFORYOU: /* サービスフォーユー */ i = 1; break; default: @@ -10963,8 +10963,8 @@ int skill_is_danceskill (int id) } /*========================================== - * ‰‰‘t/ƒ_ƒ“ƒX‚ð‚â‚ß‚é - * flag 1‚Ň‘t’†‚È‚ç‘Š•û‚Ƀ†ƒjƒbƒg‚ð”C‚¹‚é + * æ¼”å¥/ダンスをやã‚ã‚‹ + * flag 1ã§åˆå¥ä¸ãªã‚‰ç›¸æ–¹ã«ãƒ¦ãƒ‹ãƒƒãƒˆã‚’ä»»ã›ã‚‹ * *------------------------------------------ */ @@ -10978,45 +10978,45 @@ void skill_stop_dancing (struct block_list *src, int flag) sc_data = battle_get_sc_data (src); if (sc_data && sc_data[SC_DANCING].timer == -1) return; - group = (struct skill_unit_group *) sc_data[SC_DANCING].val2; //ƒ_ƒ“ƒX‚̃XƒLƒ‹ƒ†ƒjƒbƒgID‚Íval2‚É“ü‚Á‚Ä‚é + group = (struct skill_unit_group *) sc_data[SC_DANCING].val2; //ダンスã®ã‚¹ã‚ルユニットIDã¯val2ã«å…¥ã£ã¦ã‚‹ if (group && src->type == BL_PC && sc_data && sc_data[SC_DANCING].val4) - { //‡‘t’†’f - struct map_session_data *dsd = map_id2sd (sc_data[SC_DANCING].val4); //‘Š•û‚ÌsdŽæ“¾ + { //åˆå¥ä¸æ– + struct map_session_data *dsd = map_id2sd (sc_data[SC_DANCING].val4); //相方ã®sdå–å¾— if (flag) - { //ƒƒOƒAƒEƒg‚ȂǕЕû‚ª—Ž‚¿‚Ä‚à‰‰‘t‚ªŒp‘±‚³‚ê‚é + { //ãƒã‚°ã‚¢ã‚¦ãƒˆãªã©ç‰‡æ–¹ãŒè½ã¡ã¦ã‚‚æ¼”å¥ãŒç¶™ç¶šã•ã‚Œã‚‹ if (dsd && src->id == group->src_id) - { //ƒOƒ‹[ƒv‚ðŽ‚Á‚Ä‚éPC‚ª—Ž‚¿‚é - group->src_id = sc_data[SC_DANCING].val4; //‘Š•û‚ɃOƒ‹[ƒv‚ð”C‚¹‚é - if (flag & 1) //ƒƒOƒAƒEƒg - dsd->sc_data[SC_DANCING].val4 = 0; //‘Š•û‚Ì‘Š•û‚ð0‚É‚µ‚ć‘tI—¹¨’Êí‚̃_ƒ“ƒXó‘Ô - if (flag & 2) //ƒnƒG”ò‚Ñ‚È‚Ç - return; //‡‘t‚àƒ_ƒ“ƒXó‘Ô‚àI—¹‚³‚¹‚È‚¢•ƒXƒLƒ‹ƒ†ƒjƒbƒg‚Í’u‚¢‚Ä‚¯‚Ú‚è + { //グループをæŒã£ã¦ã‚‹PCãŒè½ã¡ã‚‹ + group->src_id = sc_data[SC_DANCING].val4; //相方ã«ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ä»»ã›ã‚‹ + if (flag & 1) //ãƒã‚°ã‚¢ã‚¦ãƒˆ + dsd->sc_data[SC_DANCING].val4 = 0; //相方ã®ç›¸æ–¹ã‚’0ã«ã—ã¦åˆå¥çµ‚了→通常ã®ãƒ€ãƒ³ã‚¹çŠ¶æ…‹ + if (flag & 2) //ãƒã‚¨é£›ã³ãªã© + return; //åˆå¥ã‚‚ダンス状態も終了ã•ã›ãªã„&スã‚ルユニットã¯ç½®ã„ã¦ã‘ã¼ã‚Š } else if (dsd && dsd->bl.id == group->src_id) - { //‘Š•û‚ªƒOƒ‹[ƒv‚ðŽ‚Á‚Ä‚¢‚éPC‚ª—Ž‚¿‚é(Ž©•ª‚̓Oƒ‹[ƒv‚ðŽ‚Á‚Ä‚¢‚È‚¢) - if (flag & 1) //ƒƒOƒAƒEƒg - dsd->sc_data[SC_DANCING].val4 = 0; //‘Š•û‚Ì‘Š•û‚ð0‚É‚µ‚ć‘tI—¹¨’Êí‚̃_ƒ“ƒXó‘Ô - if (flag & 2) //ƒnƒG”ò‚Ñ‚È‚Ç - return; //‡‘t‚àƒ_ƒ“ƒXó‘Ô‚àI—¹‚³‚¹‚È‚¢•ƒXƒLƒ‹ƒ†ƒjƒbƒg‚Í’u‚¢‚Ä‚¯‚Ú‚è - } - skill_status_change_end (src, SC_DANCING, -1); //Ž©•ª‚̃Xƒe[ƒ^ƒX‚ðI—¹‚³‚¹‚é - //‚»‚µ‚ăOƒ‹[ƒv‚ÍÁ‚³‚È‚¢•Á‚³‚È‚¢‚̂ŃXƒe[ƒ^ƒXŒvŽZ‚à‚¢‚ç‚È‚¢H + { //相方ãŒã‚°ãƒ«ãƒ¼ãƒ—ã‚’æŒã£ã¦ã„ã‚‹PCãŒè½ã¡ã‚‹(自分ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã‚’æŒã£ã¦ã„ãªã„) + if (flag & 1) //ãƒã‚°ã‚¢ã‚¦ãƒˆ + dsd->sc_data[SC_DANCING].val4 = 0; //相方ã®ç›¸æ–¹ã‚’0ã«ã—ã¦åˆå¥çµ‚了→通常ã®ãƒ€ãƒ³ã‚¹çŠ¶æ…‹ + if (flag & 2) //ãƒã‚¨é£›ã³ãªã© + return; //åˆå¥ã‚‚ダンス状態も終了ã•ã›ãªã„&スã‚ルユニットã¯ç½®ã„ã¦ã‘ã¼ã‚Š + } + skill_status_change_end (src, SC_DANCING, -1); //自分ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’終了ã•ã›ã‚‹ + //ãã—ã¦ã‚°ãƒ«ãƒ¼ãƒ—ã¯æ¶ˆã•ãªã„&消ã•ãªã„ã®ã§ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¨ˆç®—ã‚‚ã„らãªã„? return; } else { if (dsd && src->id == group->src_id) - { //ƒOƒ‹[ƒv‚ðŽ‚Á‚Ä‚éPC‚ªŽ~‚ß‚é - skill_status_change_end ((struct block_list *) dsd, SC_DANCING, -1); //‘ŠŽè‚̃Xƒe[ƒ^ƒX‚ðI—¹‚³‚¹‚é + { //グループをæŒã£ã¦ã‚‹PCãŒæ¢ã‚ã‚‹ + skill_status_change_end ((struct block_list *) dsd, SC_DANCING, -1); //相手ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’終了ã•ã›ã‚‹ } if (dsd && dsd->bl.id == group->src_id) - { //‘Š•û‚ªƒOƒ‹[ƒv‚ðŽ‚Á‚Ä‚¢‚éPC‚ªŽ~‚ß‚é(Ž©•ª‚̓Oƒ‹[ƒv‚ðŽ‚Á‚Ä‚¢‚È‚¢) - skill_status_change_end (src, SC_DANCING, -1); //Ž©•ª‚̃Xƒe[ƒ^ƒX‚ðI—¹‚³‚¹‚é + { //相方ãŒã‚°ãƒ«ãƒ¼ãƒ—ã‚’æŒã£ã¦ã„ã‚‹PCãŒæ¢ã‚ã‚‹(自分ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã‚’æŒã£ã¦ã„ãªã„) + skill_status_change_end (src, SC_DANCING, -1); //自分ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’終了ã•ã›ã‚‹ } } } if (flag & 2 && group && src->type == BL_PC) - { //ƒnƒG‚Å”ò‚ñ‚¾‚Æ‚«‚Æ‚©‚̓†ƒjƒbƒg‚à”ò‚Ô + { //ãƒã‚¨ã§é£›ã‚“ã ã¨ãã¨ã‹ã¯ãƒ¦ãƒ‹ãƒƒãƒˆã‚‚飛㶠struct map_session_data *sd = (struct map_session_data *) src; skill_unit_move_unit_group (group, sd->bl.m, (sd->to_x - sd->bl.x), (sd->to_y - sd->bl.y)); @@ -11028,7 +11028,7 @@ void skill_stop_dancing (struct block_list *src, int flag) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒg‰Šú‰» + * スã‚ルユニットåˆæœŸåŒ– *------------------------------------------ */ struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, @@ -11058,7 +11058,7 @@ struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int skill_unit_timer_sub_ondelete (struct block_list *bl, va_list ap); /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgíœ + * スã‚ルユニット削除 *------------------------------------------ */ int skill_delunit (struct skill_unit *unit) @@ -11071,10 +11071,10 @@ int skill_delunit (struct skill_unit *unit) return 0; nullpo_retr (0, group = unit->group); - /* onlimitƒCƒxƒ“ƒgŒÄ‚Ño‚µ */ + /* onlimitイベント呼ã³å‡ºã— */ skill_unit_onlimit (unit, gettick ()); - /* ondeleteƒCƒxƒ“ƒgŒÄ‚Ño‚µ */ + /* ondeleteイベント呼ã³å‡ºã— */ range = group->range; map_foreachinarea (skill_unit_timer_sub_ondelete, unit->bl.m, unit->bl.x - range, unit->bl.y - range, @@ -11093,7 +11093,7 @@ int skill_delunit (struct skill_unit *unit) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒv‰Šú‰» + * スã‚ルユニットグループåˆæœŸåŒ– *------------------------------------------ */ static int skill_unit_group_newid = 10; @@ -11119,7 +11119,7 @@ struct skill_unit_group *skill_initunitgroup (struct block_list *src, } if (list) { - for (i = 0; i < maxsug; i++) /* ‹ó‚¢‚Ä‚¢‚é‚à‚ÌŒŸõ */ + for (i = 0; i < maxsug; i++) /* 空ã„ã¦ã„ã‚‹ã‚‚ã®æ¤œç´¢ */ if (list[i].group_id == 0) { group = &list[i]; @@ -11127,7 +11127,7 @@ struct skill_unit_group *skill_initunitgroup (struct block_list *src, } if (group == NULL) - { /* ‹ó‚¢‚Ä‚È‚¢‚̂Ō¢‚à‚ÌŒŸõ */ + { /* 空ã„ã¦ãªã„ã®ã§å¤ã„ã‚‚ã®æ¤œç´¢ */ int j = 0; unsigned maxdiff = 0, x, tick = gettick (); for (i = 0; i < maxsug; i++) @@ -11179,17 +11179,17 @@ struct skill_unit_group *skill_initunitgroup (struct block_list *src, 0, skill_get_time (skillid, skilllv) + 1000, 0); switch (skillid) - { //‡‘tƒXƒLƒ‹‚Í‘Š•û‚ðƒ_ƒ“ƒXó‘Ô‚É‚·‚é - case BD_LULLABY: /* ŽqŽç‰Ì */ - case BD_RICHMANKIM: /* ƒjƒˆƒ‹ƒh‚̉ƒ */ - case BD_ETERNALCHAOS: /* ‰i‰“‚̬“× */ - case BD_DRUMBATTLEFIELD: /* 푾ŒÛ‚Ì‹¿‚« */ - case BD_RINGNIBELUNGEN: /* ƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö */ - case BD_ROKISWEIL: /* ƒƒL‚Ì‹©‚Ñ */ - case BD_INTOABYSS: /* [•£‚Ì’†‚É */ - case BD_SIEGFRIED: /* •sŽ€g‚̃W[ƒNƒtƒŠ[ƒh */ - case BD_RAGNAROK: /* _X‚̉©¨ */ - case CG_MOONLIT: /* ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç */ + { //åˆå¥ã‚¹ã‚ルã¯ç›¸æ–¹ã‚’ダンス状態ã«ã™ã‚‹ + case BD_LULLABY: /* åå®ˆæŒ */ + case BD_RICHMANKIM: /* ニヨルドã®å®´ */ + case BD_ETERNALCHAOS: /* æ°¸é ã®æ··æ²Œ */ + case BD_DRUMBATTLEFIELD: /* 戦太鼓ã®éŸ¿ã */ + case BD_RINGNIBELUNGEN: /* ニーベルングã®æŒ‡è¼ª */ + case BD_ROKISWEIL: /* ãƒã‚ã®å«ã³ */ + case BD_INTOABYSS: /* 深淵ã®ä¸ã« */ + case BD_SIEGFRIED: /* ä¸æ»èº«ã®ã‚¸ãƒ¼ã‚¯ãƒ•ãƒªãƒ¼ãƒ‰ */ + case BD_RAGNAROK: /* 神々ã®é»„æ˜ */ + case CG_MOONLIT: /* 月明りã®æ³‰ã«è½ã¡ã‚‹èŠ±ã³ã‚‰ */ { int range = 1; int c = 0; @@ -11207,7 +11207,7 @@ struct skill_unit_group *skill_initunitgroup (struct block_list *src, } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒvíœ + * スã‚ルユニットグループ削除 *------------------------------------------ */ int skill_delunitgroup (struct skill_unit_group *group) @@ -11221,7 +11221,7 @@ int skill_delunitgroup (struct skill_unit_group *group) src = map_id2bl (group->src_id); if (skill_is_danceskill (group->skill_id)) - { //ƒ_ƒ“ƒXƒXƒLƒ‹‚̓_ƒ“ƒXó‘Ô‚ð‰ðœ‚·‚é + { //ダンススã‚ルã¯ãƒ€ãƒ³ã‚¹çŠ¶æ…‹ã‚’解除ã™ã‚‹ if (src) skill_status_change_end (src, SC_DANCING, -1); } @@ -11239,7 +11239,7 @@ int skill_delunitgroup (struct skill_unit_group *group) group->valstr = NULL; } - map_freeblock (group->unit); /* free()‚Ì‘Ö‚í‚è */ + map_freeblock (group->unit); /* free()ã®æ›¿ã‚ã‚Š */ group->unit = NULL; group->src_id = 0; group->group_id = 0; @@ -11248,7 +11248,7 @@ int skill_delunitgroup (struct skill_unit_group *group) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒv‘Síœ + * スã‚ルユニットグループ全削除 *------------------------------------------ */ int skill_clear_unitgroup (struct block_list *src) @@ -11279,7 +11279,7 @@ int skill_clear_unitgroup (struct block_list *src) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ì”í‰e‹¿tickŒŸõ + * スã‚ルユニットグループã®è¢«å½±éŸ¿tick検索 *------------------------------------------ */ struct skill_unit_group_tickset *skill_unitgrouptickset_search (struct @@ -11313,7 +11313,7 @@ struct skill_unit_group_tickset *skill_unitgrouptickset_search (struct } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ì”í‰e‹¿tickíœ + * スã‚ルユニットグループã®è¢«å½±éŸ¿tick削除 *------------------------------------------ */ int skill_unitgrouptickset_delete (struct block_list *bl, int group_id) @@ -11346,7 +11346,7 @@ int skill_unitgrouptickset_delete (struct block_list *bl, int group_id) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒ^ƒCƒ}[”“®ˆ——p(foreachinarea) + * スã‚ルユニットタイマー発動処ç†ç”¨(foreachinarea) *------------------------------------------ */ int skill_unit_timer_sub_onplace (struct block_list *bl, va_list ap) @@ -11373,7 +11373,7 @@ int skill_unit_timer_sub_onplace (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒ^ƒCƒ}[휈——p(foreachinarea) + * スã‚ルユニットタイマー削除処ç†ç”¨(foreachinarea) *------------------------------------------ */ int skill_unit_timer_sub_ondelete (struct block_list *bl, va_list ap) @@ -11400,7 +11400,7 @@ int skill_unit_timer_sub_ondelete (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒ^ƒCƒ}[ˆ——p(foreachobject) + * スã‚ルユニットタイマー処ç†ç”¨(foreachobject) *------------------------------------------ */ int skill_unit_timer_sub (struct block_list *bl, va_list ap) @@ -11421,7 +11421,7 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) range = (unit->range != 0) ? unit->range : group->range; - /* onplaceƒCƒxƒ“ƒgŒÄ‚Ño‚µ */ + /* onplaceイベント呼ã³å‡ºã— */ if (unit->alive && unit->range >= 0) { map_foreachinarea (skill_unit_timer_sub_onplace, bl->m, @@ -11436,7 +11436,7 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) group->val2++; } } - /* ŽžŠÔØ‚êíœ */ + /* 時間切れ削除 */ if (unit->alive && (DIFF_TICK (tick, group->tick) >= group->limit || DIFF_TICK (tick, group->tick) >= unit->limit)) @@ -11444,21 +11444,21 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) switch (group->unit_id) { - case 0x8f: /* ƒuƒ‰ƒXƒgƒ}ƒCƒ“ */ + case 0x8f: /* ブラストマイン */ group->unit_id = 0x8c; clif_changelook (bl, LOOK_BASE, group->unit_id); group->limit = DIFF_TICK (tick + 1500, group->tick); unit->limit = DIFF_TICK (tick + 1500, group->tick); break; - case 0x90: /* ƒXƒLƒbƒhƒgƒ‰ƒbƒv */ - case 0x91: /* ƒAƒ“ƒNƒ‹ƒXƒlƒA */ - case 0x93: /* ƒ‰ƒ“ƒhƒ}ƒCƒ“ */ - case 0x94: /* ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv */ - case 0x95: /* ƒTƒ“ƒhƒ}ƒ“ */ - case 0x96: /* ƒtƒ‰ƒbƒVƒƒ[ */ - case 0x97: /* ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv */ - case 0x98: /* ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv */ - case 0x99: /* ƒg[ƒL[ƒ{ƒbƒNƒX */ + case 0x90: /* スã‚ッドトラップ */ + case 0x91: /* アンクルスãƒã‚¢ */ + case 0x93: /* ランドマイン */ + case 0x94: /* ショックウェーブトラップ */ + case 0x95: /* サンドマン */ + case 0x96: /* フラッシャー */ + case 0x97: /* フリージングトラップ */ + case 0x98: /* クレイモアートラップ */ + case 0x99: /* トーã‚ーボックス */ { struct block_list *src = map_id2bl (group->src_id); if (group->unit_id == 0x91 && group->val2); @@ -11470,7 +11470,7 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) memset (&item_tmp, 0, sizeof (item_tmp)); item_tmp.nameid = 1065; item_tmp.identify = 1; - map_addflooritem (&item_tmp, 1, bl->m, bl->x, bl->y, NULL, NULL, NULL, 0); // ã©•ÔŠÒ + map_addflooritem (&item_tmp, 1, bl->m, bl->x, bl->y, NULL, NULL, NULL, 0); // ç½ è¿”é‚„ } } } @@ -11490,7 +11490,7 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgƒ^ƒCƒ}[ˆ— + * スã‚ãƒ«ãƒ¦ãƒ‹ãƒƒãƒˆã‚¿ã‚¤ãƒžãƒ¼å‡¦ç† *------------------------------------------ */ int skill_unit_timer (int tid, unsigned int tick, int id, int data) @@ -11505,7 +11505,7 @@ int skill_unit_timer (int tid, unsigned int tick, int id, int data) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgˆÚ“®Žžˆ——p(foreachinarea) + * スã‚ルユニット移動時処ç†ç”¨(foreachinarea) *------------------------------------------ */ int skill_unit_out_all_sub (struct block_list *bl, va_list ap) @@ -11540,7 +11540,7 @@ int skill_unit_out_all_sub (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgˆÚ“®Žžˆ— + * スã‚ãƒ«ãƒ¦ãƒ‹ãƒƒãƒˆç§»å‹•æ™‚å‡¦ç† *------------------------------------------ */ int skill_unit_out_all (struct block_list *bl, unsigned int tick, int range) @@ -11560,7 +11560,7 @@ int skill_unit_out_all (struct block_list *bl, unsigned int tick, int range) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgˆÚ“®Žžˆ——p(foreachinarea) + * スã‚ルユニット移動時処ç†ç”¨(foreachinarea) *------------------------------------------ */ int skill_unit_move_sub (struct block_list *bl, va_list ap) @@ -11598,7 +11598,7 @@ int skill_unit_move_sub (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgˆÚ“®Žžˆ— + * スã‚ãƒ«ãƒ¦ãƒ‹ãƒƒãƒˆç§»å‹•æ™‚å‡¦ç† *------------------------------------------ */ int skill_unit_move (struct block_list *bl, unsigned int tick, int range) @@ -11618,7 +11618,7 @@ int skill_unit_move (struct block_list *bl, unsigned int tick, int range) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgŽ©‘̂̈ړ®Žžˆ—(foreachinarea) + * スã‚ルユニット自体ã®ç§»å‹•æ™‚処ç†(foreachinarea) *------------------------------------------ */ int skill_unit_move_unit_group_sub (struct block_list *bl, va_list ap) @@ -11653,8 +11653,8 @@ int skill_unit_move_unit_group_sub (struct block_list *bl, va_list ap) } /*========================================== - * ƒXƒLƒ‹ƒ†ƒjƒbƒgŽ©‘̂̈ړ®Žžˆ— - * ˆø”‚̓Oƒ‹[ƒv‚ƈړ®—Ê + * スã‚ルユニット自体ã®ç§»å‹•æ™‚å‡¦ç† + * 引数ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã¨ç§»å‹•é‡ *------------------------------------------ */ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, @@ -11704,14 +11704,14 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, r_flag = (int *) malloc (sizeof (int) * group->unit_count); s_flag = (int *) malloc (sizeof (int) * group->unit_count); m_flag = (int *) malloc (sizeof (int) * group->unit_count); - memset (r_flag, 0, sizeof (int) * group->unit_count); // Œp³ƒtƒ‰ƒO - memset (s_flag, 0, sizeof (int) * group->unit_count); // Œp³ƒtƒ‰ƒO - memset (m_flag, 0, sizeof (int) * group->unit_count); // Œp³ƒtƒ‰ƒO + memset (r_flag, 0, sizeof (int) * group->unit_count); // 継承フラグ + memset (s_flag, 0, sizeof (int) * group->unit_count); // 継承フラグ + memset (m_flag, 0, sizeof (int) * group->unit_count); // 継承フラグ - //æ‚Ƀtƒ‰ƒO‚ð‘S•”Œˆ‚ß‚é + //å…ˆã«ãƒ•ãƒ©ã‚°ã‚’全部決ã‚ã‚‹ for (i = 0; i < group->unit_count; i++) { - int move_check = 0; // ‚©‚Ô‚èƒtƒ‰ƒO + int move_check = 0; // ã‹ã¶ã‚Šãƒ•ãƒ©ã‚° unit1 = &group->unit[i]; for (j = 0; j < group->unit_count; j++) { @@ -11719,26 +11719,26 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, if (unit1->bl.m == m && unit1->bl.x + dx == unit2->bl.x && unit1->bl.y + dy == unit2->bl.y) { - //ˆÚ“®æ‚Ƀ†ƒjƒbƒg‚ª‚©‚Ô‚Á‚Ä‚½‚ç - s_flag[i] = 1; // ˆÚ“®‘O‚̃†ƒjƒbƒgƒiƒ“ƒo[‚ÌŒp³ƒtƒ‰ƒOon - r_flag[j] = 1; // ‚©‚Ԃ郆ƒjƒbƒgƒiƒ“ƒo[‚ÌŽc—¯ƒtƒ‰ƒOon - move_check = 1; //ƒ†ƒjƒbƒg‚ª‚©‚Ô‚Á‚½B + //移動先ã«ãƒ¦ãƒ‹ãƒƒãƒˆãŒã‹ã¶ã£ã¦ãŸã‚‰ + s_flag[i] = 1; // 移動å‰ã®ãƒ¦ãƒ‹ãƒƒãƒˆãƒŠãƒ³ãƒãƒ¼ã®ç¶™æ‰¿ãƒ•ãƒ©ã‚°on + r_flag[j] = 1; // ã‹ã¶ã‚‹ãƒ¦ãƒ‹ãƒƒãƒˆãƒŠãƒ³ãƒãƒ¼ã®æ®‹ç•™ãƒ•ãƒ©ã‚°on + move_check = 1; //ユニットãŒã‹ã¶ã£ãŸã€‚ break; } } - if (!move_check) // ƒ†ƒjƒbƒg‚ª‚©‚Ô‚Á‚Ä‚È‚©‚Á‚½‚ç - m_flag[i] = 1; // ˆÚ“®‘Oƒ†ƒjƒbƒgƒiƒ“ƒo[‚̈ړ®ƒtƒ‰ƒOon + if (!move_check) // ユニットãŒã‹ã¶ã£ã¦ãªã‹ã£ãŸã‚‰ + m_flag[i] = 1; // 移動å‰ãƒ¦ãƒ‹ãƒƒãƒˆãƒŠãƒ³ãƒãƒ¼ã®ç§»å‹•ãƒ•ãƒ©ã‚°on } - //ƒtƒ‰ƒO‚ÉŠî‚¢‚ă†ƒjƒbƒgˆÚ“® + //フラグã«åŸºã¥ã„ã¦ãƒ¦ãƒ‹ãƒƒãƒˆç§»å‹• for (i = 0; i < group->unit_count; i++) { unit1 = &group->unit[i]; if (m_flag[i]) - { // ˆÚ“®ƒtƒ‰ƒO‚ªon‚Å + { // 移動フラグãŒon㧠if (!r_flag[i]) - { // Žc—¯ƒtƒ‰ƒO‚ªoff‚È‚ç - //’PƒˆÚ“®(range‚àŒp³‚Ì•K—v–³‚µ) + { // 残留フラグãŒoffãªã‚‰ + //å˜ç´”移動(rangeも継承ã®å¿…è¦ç„¡ã—) int range = unit1->range; map_delblock (&unit1->bl); unit1->bl.m = m; @@ -11760,14 +11760,14 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, } } else - { // Žc—¯ƒtƒ‰ƒO‚ªon‚È‚ç - //‹óƒ†ƒjƒbƒg‚É‚È‚é‚Ì‚ÅAŒp³‰Â”\‚ȃ†ƒjƒbƒg‚ð’T‚· + { // 残留フラグãŒonãªã‚‰ + //空ユニットã«ãªã‚‹ã®ã§ã€ç¶™æ‰¿å¯èƒ½ãªãƒ¦ãƒ‹ãƒƒãƒˆã‚’探㙠for (j = 0; j < group->unit_count; j++) { unit2 = &group->unit[j]; if (s_flag[j] && !r_flag[j]) { - // Œp³ˆÚ“®(rangeŒp³•t‚«) + // 継承移動(range継承付ã) int range = unit1->range; map_delblock (&unit2->bl); unit2->bl.m = m; @@ -11788,7 +11788,7 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, unit2->bl.y + range, 0, &unit2->bl, gettick ()); } - s_flag[j] = 0; // Œp³Š®—¹‚µ‚½‚Ì‚Åoff + s_flag[j] = 0; // 継承完了ã—ãŸã®ã§off break; } } @@ -11804,12 +11804,12 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int m, int dx, } /*---------------------------------------------------------------------------- - * ƒAƒCƒeƒ€‡¬ + * アイテムåˆæˆ *---------------------------------------------------------------------------- */ /*---------------------------------------------------------------------------- - * ‰Šú‰»Œn + * åˆæœŸåŒ–ç³» */ static int scan_stat (char *statname) @@ -11837,9 +11837,9 @@ static int scan_stat (char *statname) extern void skill_pool_register (int id); // [Fate] Remember that a certain skill ID belongs to a pool skill /*========================================== - * ƒXƒLƒ‹ŠÖŒWƒtƒ@ƒCƒ‹“Ç‚Ýž‚Ý - * skill_db.txt ƒXƒLƒ‹ƒf[ƒ^ - * skill_cast_db.txt ƒXƒLƒ‹‚̉r¥ŽžŠÔ‚ƃfƒBƒŒƒCƒf[ƒ^ + * スã‚ル関係ファイルèªã¿è¾¼ã¿ + * skill_db.txt スã‚ルデータ + * skill_cast_db.txt スã‚ルã®è© 唱時間ã¨ãƒ‡ã‚£ãƒ¬ã‚¤ãƒ‡ãƒ¼ã‚¿ *------------------------------------------ */ int skill_readdb (void) @@ -12285,7 +12285,7 @@ void skill_reload (void) } /*========================================== - * ƒXƒLƒ‹ŠÖŒW‰Šú‰»ˆ— + * スã‚ル関係åˆæœŸåŒ–å‡¦ç† *------------------------------------------ */ int do_init_skill (void) |