From 581475bc6416790765c498aa3d611f6868ffb64a Mon Sep 17 00:00:00 2001 From: amber Date: Sun, 14 Nov 2004 16:18:26 +0000 Subject: Fixed some file types git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@172 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog.txt | 4132 +-- Dev/Dev-Folder-Notes.txt | 6 +- Dev/TODO.txt | 1366 +- Dev/TODO_MOB_AI.txt | 266 +- Dev/bugs.txt | 144 +- Dev/forSQLdev.txt | 292 +- Dev/quotes.txt | 296 +- Dev/resnametable.TXT | 126 +- INSTALL | 492 +- LICENCE | 680 +- LICENCE_JA | 832 +- Makefile | 254 +- Readme-jap | 35014 +++++++++++----------- Readme2.txt | 60 +- athena-start | 168 +- char-server.sh | 32 +- charserv.bat | 6 +- conf-tmpl/GM_account.txt | 70 +- conf-tmpl/atcommand_athena.conf | 1288 +- conf-tmpl/atcommand_athena.conf.orig | 1138 +- conf-tmpl/battle_athena.conf | 1450 +- conf-tmpl/char_athena.conf | 340 +- conf-tmpl/grf-files.txt | 6 +- conf-tmpl/help.txt | 450 +- conf-tmpl/inter_athena.conf | 256 +- conf-tmpl/ladmin_athena.conf | 68 +- conf-tmpl/lan_support.conf | 82 +- conf-tmpl/log_athena.conf | 104 +- conf-tmpl/login_athena.conf | 296 +- conf-tmpl/map_athena.conf | 2338 +- conf-tmpl/mapflag/arenas.txt | 212 +- conf-tmpl/mapflag/dungeons.txt | 306 +- conf-tmpl/mapflag/guildcastles.txt | 298 +- conf-tmpl/mapflag/gvg.txt | 140 +- conf-tmpl/mapflag/jail.txt | 86 +- conf-tmpl/mapflag/jobquests.txt | 268 +- conf-tmpl/mapflag/pvp.txt | 1132 +- conf-tmpl/mapflag/towns.txt | 446 +- conf-tmpl/mapflag/type/gvg.txt | 56 +- conf-tmpl/mapflag/type/jail.txt | 94 +- conf-tmpl/mapflag/type/nightmare.txt | 96 +- conf-tmpl/mapflag/type/nobranch.txt | 436 +- conf-tmpl/mapflag/type/noicewall.txt | 118 +- conf-tmpl/mapflag/type/nomemo.txt | 706 +- conf-tmpl/mapflag/type/nopenalty.txt | 352 +- conf-tmpl/mapflag/type/nopvp.txt | 116 +- conf-tmpl/mapflag/type/nosave.txt | 242 +- conf-tmpl/mapflag/type/noteleport.txt | 368 +- conf-tmpl/mapflag/type/nowarp.txt | 38 +- conf-tmpl/mapflag/type/nowarpto.txt | 60 +- conf-tmpl/mapflag/type/pvp.txt | 178 +- conf-tmpl/mapflag/type/pvp_noparty.txt | 68 +- conf-tmpl/mapflag/water.txt | 108 +- conf-tmpl/mapflag/water_height.txt | 136 +- conf-tmpl/msg_athena.conf | 1024 +- conf-tmpl/script_athena.conf | 4 +- conf-tmpl/water_height.txt | 136 +- db/abra_db.txt | 774 +- db/attr_fix.txt | 106 +- db/castle_db.txt | 52 +- db/const.txt | 474 +- db/create_arrow_db.txt | 198 +- db/exp.txt | 198 +- db/exp2.txt | 198 +- db/exp_guild.txt | 100 +- db/item_avail.txt | 18 +- db/item_bluebox.txt | 854 +- db/item_cardalbum.txt | 316 +- db/item_db.txt | 3416 +-- db/item_giftbox.txt | 160 +- db/item_noequip.txt | 8 +- db/item_scroll.txt | 10 +- db/item_violetbox.txt | 554 +- db/job_db1.txt | 138 +- db/job_db2-2.txt | 52 +- db/job_db2.txt | 142 +- db/mob_avail.txt | 84 +- db/mob_boss.txt | 50 +- db/mob_branch.txt | 706 +- db/mob_db.txt | 1108 +- db/mob_db2.txt | 148 +- db/mob_poring.txt | 34 +- db/mob_skill_db.txt | 4002 +-- db/packet_db.txt | 1150 +- db/pet_db.txt | 60 +- db/produce_db.txt | 200 +- db/refine_db.txt | 24 +- db/size_fix.txt | 12 +- db/skill_cast_db.txt | 538 +- db/skill_castnodex_db.txt | 22 +- db/skill_db.txt | 1050 +- db/skill_require_db.txt | 558 +- db/skill_tree.txt | 3632 +-- db/statpoint.txt | 510 +- doc/admin_packet.txt | 562 +- doc/client_packet.txt | 2144 +- doc/conf_ref.txt | 3962 +-- doc/coredump_report.txt | 218 +- doc/db_ref.txt | 294 +- doc/help.txt | 906 +- doc/inter_server_packet.txt | 408 +- doc/item.txt | 2902 +- doc/item_bonus.txt | 274 +- doc/packet_table_en.txt | 2672 +- doc/script_ref.txt | 2848 +- help.txt | 790 +- log/char.log | 120 +- log/login.log | 490 +- login-server.sh | 32 +- logserv.bat | 6 +- mapserv.bat | 6 +- npc/Changelog.txt | 496 +- npc/cities/alberta.txt | 1746 +- npc/cities/aldebaran.txt | 3084 +- npc/cities/amatsu.txt | 2956 +- npc/cities/comodo.txt | 2794 +- npc/cities/geffen.txt | 1318 +- npc/cities/gonryun.txt | 636 +- npc/cities/izlude.txt | 1094 +- npc/cities/lutie.txt | 1926 +- npc/cities/morocc.txt | 822 +- npc/cities/niflheim.txt | 1114 +- npc/cities/payon.txt | 1632 +- npc/cities/prontera.txt | 1236 +- npc/cities/umbala.txt | 3332 +- npc/cities/yuno.txt | 1232 +- npc/events/alchemist.txt | 332 +- npc/events/custom/draculax.txt | 258 +- npc/events/custom/uneasy_cemetery.txt | 268 +- npc/events/easter.txt | 392 +- npc/events/twintowers.txt | 184 +- npc/events/valentinesday.txt | 542 +- npc/events/xmas.txt | 502 +- npc/guides/guides_alb.txt | 218 +- npc/guides/guides_alde.txt | 232 +- npc/guides/guides_com.txt | 282 +- npc/guides/guides_gef.txt | 270 +- npc/guides/guides_izl.txt | 236 +- npc/guides/guides_mor.txt | 242 +- npc/guides/guides_nif.txt | 164 +- npc/guides/guides_pron.txt | 412 +- npc/guides/guides_umb.txt | 214 +- npc/guides/guides_yun.txt | 446 +- npc/guild/aldeg/aldeg_dunsw.txt | 102 +- npc/guild/aldeg/aldeg_ev_agit.txt | 260 +- npc/guild/aldeg/aldeg_flags.txt | 398 +- npc/guild/aldeg/aldeg_guardians.txt | 222 +- npc/guild/aldeg/aldeg_kafras.txt | 122 +- npc/guild/aldeg/aldeg_managers.txt | 220 +- npc/guild/aldeg/aldeg_treas.txt | 282 +- npc/guild/ev_agit_event.txt | 82 +- npc/guild/gefg/gefg_dunsw.txt | 98 +- npc/guild/gefg/gefg_ev_agit.txt | 260 +- npc/guild/gefg/gefg_flags.txt | 308 +- npc/guild/gefg/gefg_guardians.txt | 216 +- npc/guild/gefg/gefg_kafras.txt | 142 +- npc/guild/gefg/gefg_managers.txt | 208 +- npc/guild/gefg/gefg_treas.txt | 296 +- npc/guild/gldfunc_dunsw.txt | 84 +- npc/guild/gldfunc_ev_agit.txt | 298 +- npc/guild/gldfunc_flag.txt | 116 +- npc/guild/gldfunc_kafra.txt | 74 +- npc/guild/gldfunc_manager.txt | 858 +- npc/guild/gldfunc_treasure.txt | 156 +- npc/guild/nguild/nguild_dunsw.txt | 78 +- npc/guild/nguild/nguild_ev_agit.txt | 214 +- npc/guild/nguild/nguild_guardians.txt | 182 +- npc/guild/nguild/nguild_kafras.txt | 106 +- npc/guild/old/aldeg_cas01.txt | 1350 +- npc/guild/old/aldeg_cas02.txt | 1352 +- npc/guild/old/aldeg_cas03.txt | 1358 +- npc/guild/old/aldeg_cas04.txt | 1358 +- npc/guild/old/aldeg_cas05.txt | 1354 +- npc/guild/old/aldeg_flag.txt | 700 +- npc/guild/old/ev_agit_aldeg.txt | 952 +- npc/guild/old/ev_agit_event.txt | 68 +- npc/guild/old/ev_agit_gefg.txt | 928 +- npc/guild/old/ev_agit_payg.txt | 932 +- npc/guild/old/ev_agit_prtg.txt | 952 +- npc/guild/old/gefg_cas01.txt | 1334 +- npc/guild/old/gefg_cas02.txt | 1334 +- npc/guild/old/gefg_cas03.txt | 1336 +- npc/guild/old/gefg_cas04.txt | 1336 +- npc/guild/old/gefg_cas05.txt | 1332 +- npc/guild/old/gefg_flag.txt | 716 +- npc/guild/old/gswitch.txt | 886 +- npc/guild/old/guardian/aldeg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/aldeg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/gefg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas02_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas03_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas04_guardian.txt | 134 +- npc/guild/old/guardian/payg_cas05_guardian.txt | 134 +- npc/guild/old/guardian/prtg_cas01_guardian.txt | 134 +- npc/guild/old/guardian/prtg_cas02_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas03_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas04_guardian.txt | 124 +- npc/guild/old/guardian/prtg_cas05_guardian.txt | 124 +- npc/guild/old/payg_cas01.txt | 1334 +- npc/guild/old/payg_cas02.txt | 1332 +- npc/guild/old/payg_cas03.txt | 1332 +- npc/guild/old/payg_cas04.txt | 1332 +- npc/guild/old/payg_cas05.txt | 1332 +- npc/guild/old/payg_flag.txt | 718 +- npc/guild/old/prtg_cas01.txt | 1340 +- npc/guild/old/prtg_cas02.txt | 1334 +- npc/guild/old/prtg_cas03.txt | 1334 +- npc/guild/old/prtg_cas04.txt | 1330 +- npc/guild/old/prtg_cas05.txt | 1326 +- npc/guild/old/prtg_flag.txt | 726 +- npc/guild/old/treasure/aldeg_cas01_treasure.txt | 144 +- npc/guild/old/treasure/aldeg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas04_treasure.txt | 134 +- npc/guild/old/treasure/aldeg_cas05_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas01_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/gefg_cas04_treasure.txt | 136 +- npc/guild/old/treasure/gefg_cas05_treasure.txt | 136 +- npc/guild/old/treasure/payg_cas01_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas04_treasure.txt | 134 +- npc/guild/old/treasure/payg_cas05_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas01_treasure.txt | 144 +- npc/guild/old/treasure/prtg_cas02_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas03_treasure.txt | 134 +- npc/guild/old/treasure/prtg_cas04_treasure.txt | 132 +- npc/guild/old/treasure/prtg_cas05_treasure.txt | 132 +- npc/guild/payg/payg_dunsw.txt | 98 +- npc/guild/payg/payg_ev_agit.txt | 260 +- npc/guild/payg/payg_flags.txt | 296 +- npc/guild/payg/payg_guardians.txt | 216 +- npc/guild/payg/payg_kafras.txt | 130 +- npc/guild/payg/payg_managers.txt | 208 +- npc/guild/payg/payg_treas.txt | 280 +- npc/guild/prtg/prtg_dunsw.txt | 98 +- npc/guild/prtg/prtg_ev_agit.txt | 260 +- npc/guild/prtg/prtg_flags.txt | 350 +- npc/guild/prtg/prtg_guardians.txt | 216 +- npc/guild/prtg/prtg_kafras.txt | 132 +- npc/guild/prtg/prtg_managers.txt | 208 +- npc/guild/prtg/prtg_treas.txt | 288 +- npc/jobs/1-1/acolyte.txt | 698 +- npc/jobs/1-1/archer.txt | 366 +- npc/jobs/1-1/mage.txt | 994 +- npc/jobs/1-1/merchant.txt | 1946 +- npc/jobs/1-1/swordsman.txt | 1590 +- npc/jobs/1-1/thief.txt | 886 +- npc/jobs/2-1-1/AssassinCross.txt | 140 +- npc/jobs/2-1-1/HighPriest.txt | 122 +- npc/jobs/2-1-1/HighWizard.txt | 120 +- npc/jobs/2-1-1/LordKnight.txt | 124 +- npc/jobs/2-1-1/Sniper.txt | 128 +- npc/jobs/2-1-1/WhiteSmith.txt | 120 +- npc/jobs/2-1/assassin.txt | 3836 +-- npc/jobs/2-1/blacksmith.txt | 2872 +- npc/jobs/2-1/hunter.txt | 2500 +- npc/jobs/2-1/knight.txt | 3714 +-- npc/jobs/2-1/priest.txt | 2860 +- npc/jobs/2-1/wizard.txt | 2892 +- npc/jobs/2-2-1/Champion.txt | 122 +- npc/jobs/2-2-1/Clown.txt | 244 +- npc/jobs/2-2-1/Creator.txt | 122 +- npc/jobs/2-2-1/Gypsy.txt | 178 +- npc/jobs/2-2-1/Paladin.txt | 124 +- npc/jobs/2-2-1/Professor.txt | 122 +- npc/jobs/2-2-1/Stalker.txt | 118 +- npc/jobs/2-2/crusader.txt | 2328 +- npc/jobs/2-2/noquest/crusader.txt | 108 +- npc/jobs/2-2/noquest/dancer-bard.txt | 144 +- npc/jobs/2-2/noquest/monk.txt | 108 +- npc/jobs/2-2/rogue.txt | 1886 +- npc/jobs/2-2/sage.txt | 4292 +-- npc/jobs/custom/jobchange.txt | 1292 +- npc/jobs/custom/reset.txt | 78 +- npc/jobs/novice/novice.txt | 4678 +-- npc/jobs/novice/supernovice.txt | 542 +- npc/kafras/functions_kafras.txt | 690 +- npc/kafras/kafras_alb.txt | 134 +- npc/kafras/kafras_alde.txt | 102 +- npc/kafras/kafras_com.txt | 120 +- npc/kafras/kafras_dungeons.txt | 258 +- npc/kafras/kafras_gef.txt | 202 +- npc/kafras/kafras_izl.txt | 78 +- npc/kafras/kafras_mor.txt | 200 +- npc/kafras/kafras_new.txt | 106 +- npc/kafras/kafras_pay.txt | 130 +- npc/kafras/kafras_pron.txt | 200 +- npc/kafras/kafras_yun.txt | 142 +- npc/merchants/alchemist.txt | 240 +- npc/merchants/clothes_dyer.txt | 650 +- npc/merchants/custom/breeder.txt | 132 +- npc/merchants/custom/dye.txt | 352 +- npc/merchants/dye_maker.txt | 554 +- npc/merchants/grandpa_pharmacist.txt | 372 +- npc/merchants/hair_dyer.txt | 316 +- npc/merchants/inn.txt | 344 +- npc/merchants/milk_trader.txt | 128 +- npc/merchants/refine.txt | 1760 +- npc/merchants/renters.txt | 310 +- npc/merchants/shops.txt | 416 +- npc/mobs/dungeons/amatdun.txt | 66 +- npc/mobs/dungeons/anthell.txt | 234 +- npc/mobs/dungeons/ayodun.txt | 48 +- npc/mobs/dungeons/beachdun.txt | 64 +- npc/mobs/dungeons/byalan.txt | 208 +- npc/mobs/dungeons/clocktower.txt | 244 +- npc/mobs/dungeons/coalmine.txt | 58 +- npc/mobs/dungeons/geftower.txt | 136 +- npc/mobs/dungeons/glastheim.txt | 318 +- npc/mobs/dungeons/gondun.txt | 78 +- npc/mobs/dungeons/guilddun.txt | 86 +- npc/mobs/dungeons/louydun.txt | 66 +- npc/mobs/dungeons/magmadun.txt | 50 +- npc/mobs/dungeons/moc_pyramid.txt | 100 +- npc/mobs/dungeons/moc_sphinx.txt | 88 +- npc/mobs/dungeons/orcdun.txt | 60 +- npc/mobs/dungeons/payoncave.txt | 300 +- npc/mobs/dungeons/pront_maze.txt | 150 +- npc/mobs/dungeons/pront_sewers.txt | 88 +- npc/mobs/dungeons/sunkenship.txt | 282 +- npc/mobs/dungeons/toyfactory.txt | 60 +- npc/mobs/dungeons/turtleisland.txt | 94 +- npc/mobs/dungeons/umbaladun.txt | 50 +- npc/mobs/fields/amatsu.txt | 76 +- npc/mobs/fields/ayothana.txt | 44 +- npc/mobs/fields/comodo.txt | 302 +- npc/mobs/fields/gefenia.txt | 98 +- npc/mobs/fields/geffen.txt | 390 +- npc/mobs/fields/gonryun.txt | 40 +- npc/mobs/fields/louyang.txt | 30 +- npc/mobs/fields/lutie.txt | 32 +- npc/mobs/fields/mjolnir.txt | 452 +- npc/mobs/fields/morocc.txt | 512 +- npc/mobs/fields/niflheim.txt | 84 +- npc/mobs/fields/payon.txt | 256 +- npc/mobs/fields/prontera.txt | 226 +- npc/mobs/fields/umbala.txt | 76 +- npc/mobs/fields/yuno.txt | 120 +- npc/mobs/pvp.txt | 62 +- npc/other/Global_Functions.txt | 160 +- npc/other/IceCream.txt | 128 +- npc/other/Valkyrie.txt | 98 +- npc/other/arena.txt | 1134 +- npc/other/arena_mvp.txt | 2210 +- npc/other/bank.txt | 250 +- npc/other/blackjack.txt | 698 +- npc/other/books.txt | 4582 +-- npc/other/breeder.txt | 128 +- npc/other/card_remover.txt | 338 +- npc/other/devnpc.txt | 384 +- npc/other/gefenia.txt | 60 +- npc/other/heal.txt | 80 +- npc/other/heal_payment.txt | 196 +- npc/other/kafra_bank.txt | 210 +- npc/other/mc_cameri/bank.txt | 5586 ++-- npc/other/momotaro.txt | 886 +- npc/other/msg_boards.txt | 350 +- npc/other/old/guide.txt | 2306 +- npc/other/old/kafra.txt | 3730 +-- npc/other/old/pvp.txt | 2910 +- npc/other/platinum_skills.txt | 220 +- npc/other/pvp.txt | 840 +- npc/other/tougijou.txt | 744 +- npc/other/warper.txt | 198 +- npc/other/warper2.txt | 526 +- npc/other/wedding.txt | 1412 +- npc/other/weddingtxt.txt | 552 +- npc/quests/all_quest.txt | 1138 +- npc/quests/bongunsword.txt | 86 +- npc/quests/bunnyband.txt | 204 +- npc/quests/counteragent_mixture.txt | 524 +- npc/quests/custom/berzebub.txt | 168 +- npc/quests/custom/elvenear.txt | 142 +- npc/quests/custom/event_32_new_hats.txt | 2556 +- npc/quests/custom/excalibur.txt | 136 +- npc/quests/custom/ironcane.txt | 104 +- npc/quests/custom/kaho_balmung.txt | 194 +- npc/quests/custom/kahohorn.txt | 158 +- npc/quests/custom/new_hats.txt | 2938 +- npc/quests/custom/sunglasses.txt | 292 +- npc/quests/custom/valhallen.txt | 398 +- npc/quests/doomed_swords.txt | 1362 +- npc/quests/fashion.txt | 120 +- npc/quests/juice_maker.txt | 616 +- npc/quests/magicalhatquest.txt | 80 +- npc/quests/monstertamers.txt | 886 +- npc/quests/mrsmile.txt | 184 +- npc/quests/quests_alberta.txt | 1368 +- npc/quests/quests_aldebaran.txt | 186 +- npc/quests/quests_comodo.txt | 554 +- npc/quests/quests_geffen.txt | 372 +- npc/quests/quests_lutie.txt | 372 +- npc/quests/quests_morocc.txt | 250 +- npc/quests/quests_payon.txt | 582 +- npc/quests/quests_prontera.txt | 184 +- npc/quests/quests_umbala.txt | 690 +- npc/quests/quests_yuno.txt | 270 +- npc/quests/skills/acolyte_skills.txt | 252 +- npc/quests/skills/archer_skills.txt | 420 +- npc/quests/skills/mage_skills.txt | 228 +- npc/quests/skills/merchant_skills.txt | 616 +- npc/quests/skills/novice_skills.txt | 516 +- npc/quests/skills/swordsman_skills.txt | 742 +- npc/quests/skills/thief_skills.txt | 772 +- npc/sample/PCLoginEvent.txt | 64 +- npc/sample/bank_test.txt | 118 +- npc/sample/gstorage_test.txt | 66 +- npc/sample/npc_card_remover.txt | 394 +- npc/sample/npc_equip_sample.txt | 34 +- npc/sample/npc_extend_shop.txt | 136 +- npc/sample/npc_sample.txt | 914 +- npc/sample/npc_shop_test.txt | 62 +- npc/sample/npc_test_arena.txt | 208 +- npc/sample/npc_test_array.txt | 70 +- npc/sample/npc_test_chat.txt | 56 +- npc/sample/npc_test_ev.txt | 292 +- npc/sample/npc_test_func.txt | 54 +- npc/sample/npc_test_npctimer.txt | 66 +- npc/sample/npc_test_skill.txt | 38 +- npc/sample/npc_test_str.txt | 34 +- npc/sample/npc_testchkoption.txt | 28 +- npc/sample/npc_time_sample.txt | 38 +- npc/warps/ayothaya.txt | 202 +- npc/warps/cities/alberta.txt | 116 +- npc/warps/cities/aldebaran.txt | 98 +- npc/warps/cities/amatsu.txt | 102 +- npc/warps/cities/comodo.txt | 112 +- npc/warps/cities/geffen.txt | 98 +- npc/warps/cities/gonryun.txt | 66 +- npc/warps/cities/izlude.txt | 68 +- npc/warps/cities/louyang.txt | 96 +- npc/warps/cities/lutie.txt | 82 +- npc/warps/cities/morroc.txt | 212 +- npc/warps/cities/niflheim.txt | 68 +- npc/warps/cities/payon.txt | 272 +- npc/warps/cities/prontera.txt | 202 +- npc/warps/cities/umbala.txt | 86 +- npc/warps/cities/yggdrasil.txt | 48 +- npc/warps/cities/yuno.txt | 182 +- npc/warps/disabled_warps.txt | 72 +- npc/warps/dungeons/alberta_duns.txt | 114 +- npc/warps/dungeons/alde_ct.txt | 450 +- npc/warps/dungeons/amatsu_dun.txt | 40 +- npc/warps/dungeons/ant_hell.txt | 52 +- npc/warps/dungeons/coal_mine.txt | 42 +- npc/warps/dungeons/com_dun.txt | 36 +- npc/warps/dungeons/geffen_dun.txt | 88 +- npc/warps/dungeons/gon_dun.txt | 80 +- npc/warps/dungeons/izlude_dun.txt | 58 +- npc/warps/dungeons/louyang_dun.txt | 38 +- npc/warps/dungeons/lutie_dun.txt | 34 +- npc/warps/dungeons/morroc_duns.txt | 126 +- npc/warps/dungeons/orc_dun.txt | 50 +- npc/warps/dungeons/payon_dun.txt | 72 +- npc/warps/dungeons/prt_dun.txt | 306 +- npc/warps/dungeons/umbala_dun.txt | 64 +- npc/warps/dungeons/yuno_dun.txt | 36 +- npc/warps/fields/amatsu_fild.txt | 40 +- npc/warps/fields/com_fild.txt | 104 +- npc/warps/fields/gefenia.txt | 60 +- npc/warps/fields/geffen_fild.txt | 142 +- npc/warps/fields/glastheim.txt | 168 +- npc/warps/fields/jawaii.txt | 50 +- npc/warps/fields/lutie_fild.txt | 32 +- npc/warps/fields/morroc_fild.txt | 204 +- npc/warps/fields/mtmjolnir.txt | 120 +- npc/warps/fields/payon_fild.txt | 94 +- npc/warps/fields/prontera_fild.txt | 200 +- npc/warps/fields/umbala_fild.txt | 68 +- npc/warps/fields/yuno_fild.txt | 62 +- npc/warps/guild/guildcastles.txt | 800 +- npc/warps/other/jobquests.txt | 274 +- npc/warps/other/other.txt | 68 +- npc/warps/pvp/pvp.txt | 516 +- object_del.bat | 30 +- readme.html | 394 +- readme/1final.css | 126 +- readme/changelog.html | 344 +- readme/faq.html | 398 +- readme/features.html | 550 +- readme/gmcommands.html | 1470 +- readme/npcfeatures.html | 412 +- readme/settingup.html | 368 +- readme/support.html | 258 +- runserver.bat | 6 +- save-tmpl/castle.txt | 48 +- sql-files/convert_passwords.sql | 6 +- sql-files/database.sql | 4360 +-- sql-files/db_tables.sql | 1160 +- sql-files/logs.sql | 280 +- sql-files/mail.sql | 28 +- sql-files/main.sql | 998 +- sql-files/oA2eA-rc5.sql | 408 +- sql-files/upgrade_0.5.2_database.sql | 2 +- sql-files/upgrade_0.5.2_main.sql | 124 +- sql-files/upgrade_1.0.0-rc1_main.sql | 6 +- sql-files/upgrade_1.0.0-rc2_database.sql | 8 +- sql-files/upgrade_1.0.0-rc5_database.sql | 8 +- sql-files/upgrade_817.sql | 206 +- src/char/Makefile | 34 +- src/char/char.c | 6870 ++--- src/char/char.h | 64 +- src/char/int_guild.c | 2892 +- src/char/int_guild.h | 32 +- src/char/int_party.c | 1190 +- src/char/int_party.h | 28 +- src/char/int_pet.c | 728 +- src/char/int_pet.h | 26 +- src/char/int_storage.c | 1000 +- src/char/int_storage.h | 32 +- src/char/inter.c | 1126 +- src/char/inter.h | 40 +- src/char_sql/Makefile | 40 +- src/char_sql/char.c | 6046 ++-- src/char_sql/char.h | 164 +- src/char_sql/int_guild.c | 3228 +- src/char_sql/int_guild.h | 20 +- src/char_sql/int_party.c | 1510 +- src/char_sql/int_party.h | 16 +- src/char_sql/int_pet.c | 648 +- src/char_sql/int_pet.h | 24 +- src/char_sql/int_storage.c | 720 +- src/char_sql/int_storage.h | 26 +- src/char_sql/inter.c | 1154 +- src/char_sql/inter.h | 92 +- src/char_sql/itemdb.c | 494 +- src/char_sql/itemdb.h | 68 +- src/char_sql/make.sh | 22 +- src/char_sql/readme.txt | 500 +- src/char_sql/strlib.c | 158 +- src/char_sql/strlib.h | 20 +- src/common/Makefile | 28 +- src/common/core.c | 304 +- src/common/core.h | 24 +- src/common/db.c | 1002 +- src/common/db.h | 94 +- src/common/grfio.c | 1906 +- src/common/grfio.h | 32 +- src/common/lock.c | 74 +- src/common/lock.h | 16 +- src/common/malloc.c | 88 +- src/common/malloc.h | 50 +- src/common/mmo.h | 622 +- src/common/nullpo.c | 180 +- src/common/nullpo.h | 444 +- src/common/showmsg.c | 142 +- src/common/showmsg.h | 96 +- src/common/socket.c | 1188 +- src/common/socket.h | 208 +- src/common/timer.c | 624 +- src/common/timer.h | 90 +- src/common/utils.c | 216 +- src/common/utils.h | 66 +- src/common/version.h | 54 +- src/ladmin/Makefile | 28 +- src/ladmin/ladmin.c | 8770 +++--- src/ladmin/ladmin.h | 22 +- src/ladmin/md5calc.c | 474 +- src/ladmin/md5calc.h | 16 +- src/login/Makefile | 26 +- src/login/login.c | 7822 ++--- src/login/login.h | 82 +- src/login/md5calc.c | 474 +- src/login/md5calc.h | 16 +- src/login_sql/Makefile | 34 +- src/login_sql/login.c | 3528 +-- src/login_sql/login.h | 82 +- src/login_sql/make.sh | 12 +- src/login_sql/md5calc.c | 472 +- src/login_sql/md5calc.h | 14 +- src/login_sql/readme.txt | 238 +- src/login_sql/strlib.c | 116 +- src/login_sql/strlib.h | 18 +- src/login_sql/timer.h | 86 +- src/map/Makefile | 146 +- src/map/Makefile.win32 | 186 +- src/map/atcommand.c | 15406 +++++----- src/map/atcommand.h | 488 +- src/map/battle.c | 10924 +++---- src/map/battle.h | 690 +- src/map/chat.c | 756 +- src/map/chat.h | 44 +- src/map/chrif.c | 2100 +- src/map/chrif.h | 62 +- src/map/clif.c | 20754 ++++++------- src/map/clif.h | 574 +- src/map/guild.c | 3108 +- src/map/guild.h | 174 +- src/map/intif.c | 2250 +- src/map/intif.h | 120 +- src/map/itemdb.c | 1764 +- src/map/itemdb.h | 168 +- src/map/log.c | 486 +- src/map/log.h | 54 +- src/map/mail.c | 648 +- src/map/mail.h | 18 +- src/map/map.c | 4416 +-- src/map/map.h | 1452 +- src/map/mob.c | 8546 +++--- src/map/mob.h | 278 +- src/map/npc.c | 4548 +-- src/map/npc.h | 104 +- src/map/party.c | 1288 +- src/map/party.h | 94 +- src/map/path.c | 808 +- src/map/pc.c | 15048 +++++----- src/map/pc.h | 372 +- src/map/pet.c | 3302 +- src/map/pet.h | 138 +- src/map/script.c | 13860 ++++----- src/map/script.h | 78 +- src/map/skill.c | 21610 ++++++------- src/map/skill.h | 1714 +- src/map/storage.c | 1190 +- src/map/storage.h | 78 +- src/map/trade.c | 572 +- src/map/trade.h | 26 +- src/map/vending.c | 340 +- src/map/vending.h | 24 +- src/txt-converter/char/Makefile | 26 +- src/txt-converter/char/char-converter.c | 1684 +- src/txt-converter/char/char.h | 78 +- src/txt-converter/char/int_guild.h | 20 +- src/txt-converter/char/int_party.h | 22 +- src/txt-converter/char/int_pet.h | 24 +- src/txt-converter/char/int_storage.h | 22 +- src/txt-converter/char/strlib.c | 132 +- src/txt-converter/char/strlib.h | 18 +- src/txt-converter/common/inter.h | 56 +- src/txt-converter/common/mmo.h | 560 +- src/txt-converter/login/Makefile | 22 +- src/txt-converter/login/login-converter.c | 516 +- start | 62 +- tool/Makefile | 12 +- tool/adduser.c | 192 +- tool/backup | 200 +- tool/cgi/addaccount.cgi | 408 +- tool/checkversion | 170 +- tool/convert.c | 592 +- tool/getlogincount | 244 +- tool/ladmin | 7584 ++--- tool/mapcheck.sh | 66 +- tool/mapchecker.sh | 112 +- webserver/Makefile | 52 +- webserver/doc/API.txt | 100 +- webserver/doc/README | 22 +- webserver/generate.c | 76 +- webserver/htmlstyle.c | 102 +- webserver/logs.c | 16 +- webserver/main.c | 284 +- webserver/pages/about.c | 12 +- webserver/pages/notdone.c | 10 +- webserver/pages/sample.c | 48 +- webserver/parse.c | 270 +- 665 files changed, 260486 insertions(+), 260486 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index fa952373a..f0d17d1c7 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,2066 +1,2066 @@ -Date Added -11/13 - * Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer] - * Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster] - * Removed compile warnings in intif.c. [Valaris] - * Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri] - * Updated some skills, credits to orn and midas. [celest] - - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire, - Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection. - - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, - Claymore Trap - - Adjusted some mob skills for mod support. - * Fixed weight increase when riding. [celest] - -11/12 - * added folder: /save-tmpl, removed folder /save - * battle_athena.conf: Updated Packet Version Flags. - * !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster] - * Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana] -11/11 - * Skill Updates : (Need to revise skill_cast_db.txt for new updates) - ( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist, - Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. - Fixed Devotion use requeriments. Thanks to Orn. [shadow] -11/11 - * Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88] - -11/10 - - * Updated Sprout (Item #7193), Thin Trunk (Item #7186), - Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957) - - thanks to cheng - [Codemaster] - * Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster] - * Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster] - * Added, Fixed & Updated ALOT of skills: [Codemaster] - - Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt, - Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison, - Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize, - Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher, - Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade, - Concentration, Cart Boost, Magic Power - - Thanks goes to Celest, Midas, and DracoRPG! - * Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster] - * char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster] - * Added packetver 6 flag to makefile. [Valaris] - -11/09 - * mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster] - * chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster] - * clif.c: Fixed sitting. [spira] - * - Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097 - - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow] - * Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer] - -11/08 - * Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus] - Get position for char/npc/pet/mob objects. - * Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster] - * Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus] -11/07 - - Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo] - * clif.c: Added a few things from jAthena 1057 [Codemaster] - * Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88] - * Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami] - -11/06 - - Added missing items in item_db.txt and reorganised it.[Nasedo] - - Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db, - updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady] - * atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri] - * mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster] - * mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster] -11/05 - * Fixed and redo optional Umbalian quests: - - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in - alternative way) - - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest - (For Sphinx Mask) - * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons) - Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every - easy quests with expensive prizes to avoid exploits) [Lupus] - * Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady] - * Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris] - * Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris] - -11/04 - * Added sara-chan's packet db with support for 11-1 [Valaris] - * [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster] - * map/skill.c: Added a few checks for level 0 skills being used. [Codemaster] - -11/03 - * Removed broken column, using attribute column for broken equip now. [Valaris] - -11/02 - * Fixed compile time errors for gcc 2.95 [MouseJstr] - * Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria] -11/01 - * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria] -10/31 - * Fixed Devnpcs giving off errors -_- [Aria] - * Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris] - * map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster] - * map/battle.c: re-did Water Ball's damage calculation [Codemaster] -10/30 - * Added new guild skills to skill_db from sara-chan. [Valaris] - * db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster] - * char_sql/char.c: removed the double free()ing of gm_account [Codemaster] - * Added check for c value in int_guild.c before dividing to calculate average level. [Valaris] - * Commented unfinished dev npcs and added devnpc to map_athena. [Aria] - * Removed item requirement of Aqua Benedicta (10/26 patch) [Aria] - * Fixed some compiling error for Map-server [Shinigami] - * Removed Rogue's backstab pushback effect (kRO style again) [Aria] - * Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria] - * Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw] - * Included Mugendai's oA GUI in the GUI folder [davidsiaw] - -10/29 - * another exploit fix for mult in script [MouseJstr] - * Corrected mode for peco, condor mobs. Added custom mobs Easter Egg and Easter Bunny for easter egg event script. - Corrected mysteltain card location, penomena card typo.[kobra_k88] -10/28 - * Cloak Speed fixed [Aria] - * Throw stone damage fixed [Aria] - * Added new packets from Sara to packet database. [spira] - * Fixed and changed command lists to reflect on new packet changes. [spira] - - @jumpto, @recall, and @where - - Removed old @ignore* functions because they are no longer needed. - * Replaced old whisper ignoring code with better and more efficient code. [spira] - * Added packet_db.txt support, removed old packet functions. [spira] - * fixed forger-zeny exploit [MouseJstr] - - Doing script math that returns a number greater then (1<<31) will now - return a (1<<31). This prevents you from finding a npc that - asks for a quantity then mults the cost by that quantity to get - what you need to pay. - -10/27 - * Updated CSS styles for readme a bit [Aria] - * branched athena at version 340 to begin work on the packet_db - stuff from jA. To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb - later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands - as a FYI, the command I used to create this branch was: - svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work" - * Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus] - -10/26 - * Added more quotes -_- [Aria] - * Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan] - -Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info. - -Changed guild_skillup functions based on japanese code, but for a good reason. - It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance. - I think the first four new guild skill requirements are correct, at the least. - I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late. - * Fixed compile errors in showmsg.c. [Sara-chan] - * Fixed Mouse's devnpc only saying his quotes once per server reset [Aria] - * Added log_athena.conf & the logs.sql file [Codemaster] - * Added log configurations to inter_athena.conf [Codemaster] - -10/25 - * Fixed a compiling error in Login-server [Shinigami] - * Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster] - * Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster] - * Fixed items and mobs in DB. Added new items. [Lupus] - * Fixed some NPC bugs (check NPC=changelog.txt) [Lupus] - * Fixed getting MAX PET ID (SQL only bug) [Lupus] - * Fix char/char.c which was crashing after double freeing logs - [MouseJstr] - * Improved basic server rebooters [MC Cameri] - * Commited common/showmsg.c/.h, previously missing x_X [MC Cameri] - * Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami] - -10/24 - * Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri] - -Check showmsg.h to see how to use it. - -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on. - -Begin your own journey of replacing/removing old printfs, and using the new function. - -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done: - 1.Outputting messages to a file is now disabled(commented out). - 2.MSG_SQL is now commented out. - 3.If the server is out of memory, it will not use abort(). - 4.Returns 0 if successful, 1 otherwise. - -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello - -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not. - -Just add #include "showmsg.h" wherever you need it. - * Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri] - * Updated readme/gmcommands.html with new @uptime command [MC Cameri] - * Somebody had added some additional noskill checks that prevented - vending from happening in prontera [MouseJstr] - * Added bypass with gm_allskill of npc_selfdestruct2. [Valaris] - * Corrected some minor bugs in some Quests [Shinigami] - * Added new maps (from lateast kRO patch) - Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus] -10/23 - * Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster] - * Finished Aria and MC Cameri "Dev edition" NPCs. [Aria] - * Corrected extra stat points given to high classes. [Valaris] - * Added high classes getting the extra 40 stat points on stat reset. [Valaris] - * performance tweaks on socket.c to reduce lag [MouseJstr] - - do a "OPT="-g -DNSOCKET" to compile with the changes - enabled.. and tell me if you notice a change in your - performance/lag - - * Added @uptime to atcommand.c [MC Cameri] - * Added the stuff for my npc to Dev/quotes.txt [MC Cameri] - -10/22 - * Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria] - * Waiting for various devs to tell me their coords, map, biography, quotes, - moving coords, etc. In the meantime, I replaced them with (x,y),(lols), - (sprite),(somewhere), and if they didn't give me any info, I didn't - add them yet =P. [Aria] - * Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild - to "Dev edition" NPCs [Aria] - * Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final - layout unless something goes wrong =O. [Aria] - * Fixed the eol markers on some checked in files [Mousejstr] - * Fix two crashes caused by calling isGM on mobs [MouseJstr] - * Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri] - * Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria] - * Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria] - * Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria] - * Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria] - * Fixed removing friends from the list [davidsiaw] - * Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw] - The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs) - -10/21 - * Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus] - * Fixed hair_dyer.txt: fixed missing menu label [Lupus] - * new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel, - Ear of Demon,Big Golden Bell, Mistress Crown, - Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus] - * Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus] - * Fixed item names in the temp Crusader Job Quest according to our DB [Lupus] - -10/20 - * map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] - * map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster] - * map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] - * Aligned the list of commands at the beginning of atcommand.c, - with tabs instead of spaces. [MC Cameri] - * Fixed AtCommand_SetBattleFlag, it was previously being called by "@send" - instead of "@setbattleflag". [MC Cameri] - * Finished basic layout, finished Aria starting to create Shinigami [Aria] - * Started to create "Dev edition" npcs [Aria] - * Fixed a compile error in src/char/char.c [MouseJstr] - * Fixed a bug in @trade where the distance was not ignored [MouseJstr] - * Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr] - * implemented Friends List support for TXT version [davidsiaw] - * added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw] -10/19 - * switched login_sql/login.c to use binary when retrieving - by account name [MouseJstr] - * skill.c & skill.h: added skill_type_cloaking [Codemaster] - * storage.c & storage.h: added storage_storageopen2() [Codemaster] -10/18 - * Changed readme layout for 1.0 scheme. [Aria] - * added check for console variable in login_sql [MouseJstr] - * Fully translated the untranslated items in the database.sql for SQL. [Nana] - * Dev/TODO, asigned myself to some items. [MC Cameri] - * char/char.c: changed the online system to omniAthena's [Codemaster] - * char/char.c: added log_char and log_inter [Codemaster] - * char/char.c: added Mugendai's GUI Support [Codemaster] - * char/int_guild.c: added log_inter and db_path [Codemaster] - * char/inter.c: added log_inter [Codemaster] - * char/char.c: added db_path [Codemaster] - * char/inter.h: added log_inter [Codemaster] - * char_sql/char.c: added log_char and log_inter [Codemaster] - * char_sql/char.c: added Mugendai's GUI Support [Codemaster] - * char_sql/int_guild.c: added log_inter and db_path [Codemaster] - * char_sql/inter.c: added log_inter [Codemaster] - * char_sql/char.c: added db_path [Codemaster] - * char_sql/inter.h: added log_inter [Codemaster] - * conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster] - * conf-tmpl/inter_athena.conf: Added log_inter [Codemaster] - -10/18 - * clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris] - -npcspeed #; To change npc's walking speed. - -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear). - -npcstop; Stops an npc's movement. - -10/17 - * Made the IP autodetection code work under a pure win32 - executable - * Fixed the win32 build and made a src\map\Makefile.win32 to - make it easier to do win32 builds of the map server - - src\common\utils.c src\common\utils.h src\common\grfio.c - src\common\nullpo.h src\common\timer.c src\common\db.c - src\common\socket.c src\common\core.c src\common\mmo.h - src\common\socket.h src\map\script.c src\map\intif.c - src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h - src\map\chrif.c src\map\Makefile.win32 - - * skill.c: Fixed noicewall flag. [Valaris] - * battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris] - * pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris] - Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris] - * Added template for server control from the console [Wizputer] - * conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] - * Usable GM commands from server console admin:: [Wizputer] - * Added server:shutdown to shutdown server and help [Wizputer] - * Added user discretion for console commands in conf files [Wizputer] -10/16 - * Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami] - * Fixed bug in new_hats.txt where free items are given out [Shinigami] - * Correct Morroc warp npc overlaying Kafra npc. [Aria] - * Corrected npc typos. [Aria] - * Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris] - * Fixed some typos in some of the NPCs [Shinigami] - * tweaked the auto-configure stuff to deal better with - machines that have no detectable IP addresses.. is this - possible? [MouseJstr] - src\char_sql\char.c src\char\char.c src\map\map.c - * Made it compile under gcc 2.95 [MouseJstr] - * made the char and map servers auto-configure their own IP's - whenever possible [MouseJstr] - - If you do not specify the server IP address, it now determines it - on its own. This means that to get a server running that is - accessable from the internet you should only need to specify the - location of the data.grf files. This eliminates one more point - of misconfiguration. - - It does not correctly auto-configure for when you are behind a - router or a firewall since there is no way of determining the - external IP address. On the other hand, we should be able to - eliminate the lan_conf file since we know our IP addresses as well - as our netmask. - - src/txt-converter/login/login-converter.c src/txt-converter/char/char-converter.c src/login_sql/login.c src/common/socket.c src/common/socket.h src/char_sql/char.c src/char_sql/int_guild.c src/char_sql/inter.c src/map/atcommand.c src/map/map.c src/map/mail.c src/char/char.c conf-tmpl/map_athena.conf conf-tmpl/char_athena.conf Changelog.txt - -10/15 - * added @setbattleflag to let me reset a battle_config at runtime [MouseJstr] - * --- RC5 release - * another fix to oA2eA-rc5.sql to fix the sell_price [MouseJstr] - * Redid readme, updated content a bit, and made ps2 poster in preperation for 1.0 RC5 release. [Evera] - * made MAX_HAIR_STYLE, MAX_HAIR_COLOR, and MAX_CLOTH_COLOR - configurable via battle_config. [MouseJstr] - * made the dex spell cast time scaling configurable via battle_config - [MouseJstr] - * made the visible area_size configurable via battle_config - [MouseJstr] - * Reorganized and added the warps into their respective folders, updated map_athena.conf. [Nana] - * Added 2 script commands GETLOOK, GETSAVEPOINT (thanks to Lorky). [Lupus] - * Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus] - * Changed cast time for champion soul collect to 1 sec (thanks to midas). [Valaris] - * Added midas's fix for +30 hitrate with Sonic Blow. [Valaris] - -10/14 - * Fixed help.txt for some @gm commands [MouseJstr] - * made login.c compile on gcc 2.95 [MouseJstr] - * Fix backwards compatability with old mob skill formats [MouseJstr] - * Added mail system commands and @refreshonline to help.txt. [Valaris] - * Fixed char guild storage bug [MouseJstr] - * Prevented breakage of Weapons/Armor if the respective Alchemist Chemical Protection skill is applied. [spira] - * Added so nochat end will set manner to 0. [Valaris] - * Added broken item check before breaking (to prevent an item from breaking more than once) [Valaris] - * Re-wrote parts of equipment breaking. It will check to make sure it was not a miss before doing break calculations. [Valaris] - * Re-added negative value exploit fix. [Valaris] - * Fixed guardian opposition search. [Valaris] - * Added @unmute. [Valaris] - * Added check for map existing before cleanup (server will exit instead of crashing if maps aren't found). [Valaris] - -10/13 - * Fixed parse of antifreeze enable/disable flag. [Valaris] - * Fixed end-of-line flags in source tree [MouseJstr] - -10/12 - * Prevent attack/skill usage while wearing tux/wedding dress. [Valaris] - * Remove item unequip on tux/wedding equip. [Valaris] - -10/11 - * Added mail system (for SQL version only). [Valaris] - - @checkmail - - @listmail - - @listnewmail - - @readmail <#> - - @deletemail <#> - - @sendmail - - @sendprioritymail - - Added battle_athena.conf option to enable/disable mail system. - - Added mail.sql for sql mail system. - - Use "*" for name to send to all players. Level must be >= to @sendprioritymail level. - - * Added @refreshonline to refresh player online status in SQL version. [Valaris] - -10/10 - * Modified ja blacksmith repair code to function with our broken equipment system. [Valaris] - * Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris] - * Fixed error in Morroc jewel dealer. [Valaris] - * Added so supernovices will get flee from improve dodge. [Valaris] - * Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris] - * Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris] - * Added a check for row return in an sql statement in login. [Valaris] - * Added some pointer initializations in map.c. [Valaris] - * Calculate pc status when equipping or unequipping pet items. [Valaris] - * Fixed crash in looting pet skills if loot size was greater than 10. [Valaris] - -10/05 - * Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus] - * Added YggdrasilKid's fixed exp.txt. [valaris] - -10/04 - * Added missed close file functions in pc.c [Lupus] - * Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus] - * Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus] - * Fixed toggle for using sql item db in char-server. [Valaris] - * Added interval settings for anti-freeze system. [Valaris] - * Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris] - * Re-added anti-freeze system. [Valaris] - * Cleaned up warning in src/common/db.c. [MouseJstr] - * Removed afm map checking from char. [Valaris] - * npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667). - pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates - everytime instead of only once like in RC4. [kobra_k88] - * clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function. - Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88] - -10/03 - * added oA to eA database conversion .sql [MouseJstr] - * renamed sql to sql-files to eliminate a problem with make [MouseJstr] - * Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami] - * charkillable now returns status on target [MouseJstr] - * skill names now have descriptions pulled from the client [Mousejstr] - * Mapflag "petals" has been changed to "sakura". [Valaris] - * The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect - to everyone on that map. It also will not allow the occurance of the command more than once. This method means - everyone coming onto the map after the command has been used will see the effect. [Valaris] - * Added yor's latest ladmin.c. [Valaris] - * Fixed bug in delitem script command that caused it to delete all of an item. [Valaris] - * Modified Makefile's to work better in non-sql environment [MouseJstr] - * A lot of work on source tree making it more ANSI C compliant [MouseJstr] - * Finalized the timers on shutdown - turned off malloc debugging on db's. [MouseJstr] - * Added release hook's into db's [MouseJstr] - * Added runflag to core to allow cleaner shutdown [MouseJstr] - * Work on LCCWIN32 for building under Windows natively [MouseJstr] - * modified @mapexit to use runflag for cleaner shutdown [MouseJstr] - * Improve cleanup on exit of map server of all objects [MouseJstr] - * statpoint reader can now be larger then 1432 bytes [MouseJstr] - * Fixed so dancing effect is cleared when warping. [Valaris] - -10/02 - * Modified battle config muting players option to work more effectively. [Valaris] - * Fixed mute from showing red bubble to players. [Valaris] - * Fixed disguise sprite staying when teleporting. [Valaris] - * Added a special mob ai check in mob.c. [Valaris] - * Fixed petit pet skill's damage from ever increasing. [Valaris] - * Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris] - * Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris] - * Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris] - * Fix for drops by luck crashing. [Valaris] - * Removed @nuke for now. [Valaris] - * Added japanese ankle snare code. [Valaris] - * Using better code for alchemist marine sphere. [Valaris] - * Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris] - * Fixed an infinite loop with preventing multi level up and high novices. [Valaris] - * Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris] - Should resolve items disappearing. Thanks to fov for pointing this out. - * Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris] - * Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris] - * Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris] - * Removed anti-freeze system. [Valaris] - * Began removing AFM, unless someone wants to complete this. [Valaris] - * Added an online status timer. Will check online status of players every hour (for sql version). [Valaris] - * Added malloc to map.c. [Valaris] - * Added some variables for new mob exclusion. [Valaris] - * Using malloc in pc.c. [Valaris] - * Added skill reset checks to high/advanced/baby classes. [Valaris] - -10/01 - * Fixed up const.db. [Valaris] - - Added - bBreakWeaponRate 1068 - bBreakArmorRate 1069 - bAddStealRate 1070 - - - Fixed - bMagicDamageReturn 1071 - bRandomAttackIncrease 1072 - bAllStats 1073 - bAgiVit 1074 - bAgiDexStr 1075 - bPerfectHide 1076 - bDisguise 1077 - - * Rewrote mute disable option in clif.c, it did not need to end status. [Valaris] - * Added a missing check for SC_NOCHAT in clif.c. [Valaris] - * Changed comments on max_lv in battle_config to be less - confusing [MouseJstr] - * Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus] - * Adding missing noquests from previous tree [MouseJstr] - * merged conf files between txt and sql [MouseJstr] - * According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in - pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus] - * Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied - to the player interacting with the npc instead of being applied on the npc. [Valaris] - * Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris] - * Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris] - * Removed script::say in favor of Valaris's version. [MouseJstr] - * Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr] - * Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris] - - -09/29 - * Fixed small, almost non-existing memoryleak, in grfio.c that could - cause some systems to exit the application [Kalaspuff] - -09/26 - (Dated On Aegis Website) - *--Released 1.0.0 RC4--* -09/25 - * Reorganized Npc folder for release - * Updated map_athena.conf - * Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to - continue and a player to walk normally. [Valaris] - * Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are - supposed to get this bonus) [Valaris] - * removed more #ifdef's between TXT and SQL [MouseJstr] -09/24 - - * Added @charkillable (to make players killable) [MouseJstr] - * Added @dropall (throws all items on ground) [MouseJstr] - * Added @chardropall (throws all players items on ground) [MouseJstr] - * Added @storeall (put all items in store) [MouseJstr] - * Added @charstoreall (put all players items in storage) [MouseJstr] - * Added @skillid (look up a skill by name) [MouseJstr] - * Added @useskill (use a skill by id) [MouseJstr] - -09/23 - * Update Some Npc Stuff In Payon [Darkchild] - * Added Sage Quest [Darkchild] - * added @killable - all players can hit you, even out of pvp [MouseJstr] - * Changed Basilica to prevent the priest from walking [MouseJstr] - * Restore base files in save directory [Yor] - * Castle spawn/conquering fix: [Akaru] - - Spawns monster when the guild is not owned when the server starts - - Spawns emperium with the monsters when guild is not owned yet - - If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed. - - Prevent spawn of emperium/monsters after castle is owned - - In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers - -09/22 - * added @killer to let GM's hit players outside of pvp [MouseJstr] - * added @skilloff to turn off skills on a map [MouseJstr] - * added @skillon to turn on skills on a map [MouseJstr] - * added @follow to follow players (including warping after them) [MouseJstr] - * added battle_config option to control the max number of castles a guild can have [MouseJstr] - * upgraded the guild alliance checker [MouseJstr] - * added battle_config to control if ghosty armor works for mobs [MouseJstr] - * Fixed battle_config to control how much GTB actually helps [MouseJstr] - * Fixed battle_config to control if pvp battles give exp or drops [MouseJstr] - * Added map aliasing [MouseJstr] - * changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr] - * made turning of skills on a map actually work [MouseJstr] - * Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW] - -09/19 - * Corrected @charstoragelist: [Yor] - - because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage. - -> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist. - * Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor] - * Client until 2004-09-06 (included) is now completely recognized [Yor] - * Fixed kafra storage request for all new clients [Yor] - -09/18 - * Changed to Yor's code that doesn't try and read when it's already not found [Akaru] - * Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru] - * Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor] - * Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor] - * Fixed action request (sit, attack, etc..) for all new clients [Yor] - * Fixed solve char name for all new clients [Yor] - * Fixed get char name for all new clients [Yor] - * Fixed an error about packet number on char name function [Yor] - * Added items drop packet for all new clients [Yor] - * Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor] - -09/17 - * Added check to make sure mob is already moving before initiating random walk - when the item they are going to loot disappears. [Valaris] - * Client of 2004-07-13 is now completely recognized [Yor] - * Fixed items take packet for all new clients [Yor] - * Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor] - * Fixed direction position for all new clients [Yor] - -09/16 - * Client of 2004-07-06 is now completely recognized [Yor] - * Fixed skills to position with all new clients [Yor] - * Fixed incomplete packet of authentification [Yor] - * Fixed size of packets for all clients [Yor] - * Improved detection of client version at authentification [Yor] - * Improved packet parsing of client (search packet version before to parse) [Yor] - * Added packets size of 0x20d and 0x20e [Yor] - -09/15 - * Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris] - * Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris] - * Added specialeffect script command. Syntax: specialeffect #; [Valaris] - * Moved noicewall flag to a better position. [Valaris] - * Added mob type check to skill_castfix to prevent crashing. [Valaris] - * corrected error: skill to id (RFIFOW->RFIFOL) [Yor] - * Added packets size of 0x204 and 0x20b [Yor] - * Fixed skill_to_id with all new clients [Yor] - * Fixed tick sending with all new clients [Yor] - * Fixed items use with all new clients [Yor] - * Fixed move with all new clients [Yor] - * Speedup WantToConnect function [Yor] - * Call correct function with any clients packet - size is not correctly set actually [Yor] - -09/14 - * Resetlvl will unequip items that require more than level 1. [Valaris] - * Added message about new clients (not actually supported) [Yor] - * Added correct call of clif_parse_WantToConnection function for all client types [Yor] - * Added size of packet 0x0214 [Yor] - * Fixed calls of 'clif_send' function [Yor] - -09/13 - * Modified item_db to have more name consistency, added more translations for items [Akaru] - * Fixed in clif_sitting usage of a buffer [Yor] - * Fixed in clif_movechar usage of a buffer for clif_set007b [Yor] - * Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor] - * Corrected a commented printf in packet 0x2b0e for debug [Yor] - -09/12 - * Put (commented) parse printf in char.c at the right place (to have all informations) [Yor] - * Added Alchemist JobQuest [Darkchild] - * Added Inn Npcs [Darkchild] - -09/11 - * Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor] - -09/10 - * Added a better id control of monster id in @spawn/@monster... GM commands [Yor] - * Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor] - -09/09 - * Change @spawn/@monster2... GM commands to spawn in close area [Yor] - * commented some printf in char.c to reduce (a little) lag [Yor] - * Put @timer messages in msg_athena.conf [Yor] - * Add a file for SQL developpers [Yor] - * Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor] - * Added new client packet sizes and expanded packet acception. [Valaris] - * Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris] - -09/08 - * added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris] - * Corrected in map: creation of new session before to delete previous session_data [Yor] - * Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor] - * Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents - the possibility of stacking items, but server did not.) [Valaris] - -09/07 - * Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor] - - new option in battle.conf: any_warp_GM_min_level - - new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands - * Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor] - * Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor] - * Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor] - * Improved check of new packet 0x7E to enter in WantToConnect Function [Yor] - -09/06 - * First part of new authentification method (clif_parse_WantToConnection) [Yor] - - accepted new 0x7E for wantto connect - - begin to found first authentificaiton and answer to client, but not found - * Improved Char-server: [Yor] - - Fixed a possible error on multi-map servers (no lastpoint) - - Added log about character with same name of wisp server name. - - Added a sub function to disconnect a player (used 3 times) - * Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor] - * Added Super Novice Job Quest [Darkchild] - -09/05 - * Fixed noskill flag to actually stop all usable skills when used. [AppleGirl] - * Removed last lag on char-server causing by too much savings (on accreg) [Yor] - * Removed a lag on char-server with a lot of players (for party, like guild) [Yor] - * Removed a big lag on char-server with a lot of players: [Yor] - - guilds was saved every time a player is online and a lot of other time (removed). - - guilds are save only when characters are saved (no more bring forward with characters file, and less savings) - * Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor] - * Added perfect GM hide in @where GM command [Yor on suggestion of PoW] - * Correct NEW shops.txt with error displayed AT START of map-server! [Yor] - * Correct NEW payon.txt that crash map-server AT START! [Yor] - * More changes and official locations for new payon, things in correct place: - - Guild Flags - - Kafra - - Shops/Refiners (except Pet Shop!) - - Most Normal Npcs (not all!) - All Based On ScreenShots From kRO!! [Darkchild] - * Payon Warps about 80% finished, others were no screens taken from! [Darkchild] - * Removed nowarp mapflag and new internal check about gmlevel [Yor] - - gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0. - if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes). - Not add new tests for nothing and use more cpu. - - mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands) - A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag! - * Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris] - -09/04 - * Added nowarp mapflag [PoW] - * Fixed nowarpto mapflag in atcommand.c [PoW] - * Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor] - * Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor] - * Added @whogm GM command. [Yor] - * Added a warning when a character has same name than wisp server name. [Yor] - -09/03 - * Added gm level display in all @who(map) GM command. [Yor] - * Correction: [Yor] - Thanks to [EvilEden] - - Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time - - npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642). - * Added monster/egg name to create egg in @makeegg GM command. [Yor] - * Added an option to fix started limited time of a new account. [Yor] - * Added @hatch in help.txt. [Yor] - * Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl] - * Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl] - * Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl] - * Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild] - * Moved job monsters to their respected files [Darkchild] - * Fixed a bug in sence (showing wrong info!) [Darkchild] - * Changed the npc/jobs/ folders heavily! [Darkchild] - * Added COMPLETE Umbala NPC script [Darkchild] - * Added New Payon maps @ bottom of the map_athena.conf [Darkchild] - * Added New Payon NPCs and Warps [Darkchild] - * Fixed typo and made layout a litle bit better of the readme files [Darkchild] - * 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] - * 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] - -09/02 - * Added Meltdown's weapon breaking ability [AppleGirl] - * Added GM level in front of each line to display only enable GM command of the help.txt. [Yor] - * Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor] - * Set day/night messages in msg_athena.conf (for foreign people). [Yor] - * Added a function to return a string of msg_table outside of at_command. [Yor] - * Fixed clean database at disconnect when session is not auth. [Yor] - * Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor] - * Set initialisation of ignore list after authentification (not need to be done before) [Yor] - * Reduced size of packet 0x2afe (removed not used value) [Yor] - * Improve first auth part (wanttoconnect) [Yor] - * Added TODO 35 [Yor] - * Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl] - * Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl] - * Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl] - * Fixed double connection with same account [Yor] - - disconnect immediatly - - no enter in database (block or others) - - no creation of session - - no more need to have 'new_fd' - -> less memory usage, less tests - * Removed 'other_fd' not used [Yor] - -09/01 - * Fixed Rainbow Egg quest in quests_lutie NPC [PoW] - * Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris] - Need to figure out the rest of the packets, then can implement. - * Added server-side friend list 'add' send packet info to packet documentation. [Valaris] - * Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor] - * Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor] - * Removed an unknown item in shops.txt [Yor] - * Fixed 3 goto in father - acolyte.txt [Yor] - * Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor] - * Reduce size of mage.txt and fix a text in mes (no bug) [Yor] - * Fixed thief.txt script (error on a goto) [Yor] - * Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor] - * Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor] - -08/31 - * Fixed messages of @(char)jobchange GM commands. [Yor] - * Fixed a return value of jobchange function (pc.c). [Yor] - * Added coredumps by system when crash. [Yor] - thanks MagicalTux - -08/30 - * Added some comments on gravity commands. [Yor] - * Improved /mm, /monster and /item to have some answers. [Yor] - * Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills - (stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul] - * Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross - skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul] - * Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul] - -08/29 - * Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407) - and Enchant Deadly Poison(378) [moonsoul] - * Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor] - * Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris] - will not function when pvp is enabled on map. - * Added noicewall flag, noicewall.txt. [Valaris] - * Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris] - * Added: Usage of At command when failed (100%). - * Modified: try to have samme presentation for all at-command code (100%). - * Improved/fixed some GM commands [Yor] - * Added some 'usages' in some GM commands [Yor] - * Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris] - * Improved some GM commands [Yor] - - Added in @(char)baselvlup/@(char)joblevelup GM command: - When there are some status/skill points available and we reduce level -> remove points. - - Added counter in @statsall GM command. - - Fixed in @charsave GM command when map doesn't exist. - - Fixed @charbaselvl GM command overflow - - Fixed skill value (and crash) in @questskill/@lostskill GM command - - Fixed number of spiritballs (@spiritball GM command) - * Fixed random PvP crash bug [Lupus] - -08/28 - * Improved some GM commands [Yor] - - Added memo points in @go GM commmand. - - Added negativ value for @heal GM command. - - Fixed @(6stat-adjustement) GM commands overflow. - - Simplified @Statall GM commands. - - Fixed @guildlvup GM commands. - -08/27 - * Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor] - * Improved @memo GM command: [Yor] - You can memo anywhere (it's GM command, not /memo command like for any player). - Without value, display actual memo points. - * Improved @refine GM command: you can reduce refinement. [Yor] - * Fixed @broadcast GM command send broadcast to all Map-servers. [Yor] - * Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor] - -08/26 - * In at_command.c: [Yor] - Fixed: initialisation of all strings. - Added: Usage of At command when failed (75%). - Modified: try to have samme presentation for all at-command code (75%). - * Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker] - * Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris] - level specifications (both since they share the same packet) - * Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker] - -08/25 - * Added: display usage when GM command failed (some GM commands) [Yor] - * Added @email GM command to change your account e-mail [Yor] - -08/24 - * Modified changesex script command use same function as @charchangesex now [Yor] - * Added @charchangesex GM command can be used on offline players [Yor] - * Added gm ladmin command to change GM level of an account [Yor] - -08/23 - * Fixed some at_command messages: [yor] - - remove all unused messages - - create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary - - add some (arround 80, but not all) messages in msg_athena.conf - -08/22 - * Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor] - * Changed in battle_athena.conf [Yor] - - atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.) - - unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!) - - day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT) - -08/21 - * Updated battle_athena.conf to be in English (not Engrish) [Ancyker] - * Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl] - * Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl] - * Added how to use skill_castnodex_db.txt [AppleGirl] - * Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them - Midas' idea [AppleGirl] - * Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] - * Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] - * Added block command (ladmin c) [Yor] - * Added block command (ladmin perl) [Yor] - * Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker] - * Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor] - * Changed: atcommand_gm_only is set to 'no' by default, because: [Yor] - - GM commands level now works correctly - - GM commands levels are now set by default with diffrent types of GM - * Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor] - -08/20 - * Added unblock command (ladmin C) [Yor] - * Added unblock command (ladmin perl) [Yor] - * Fixed: when limited time is in past, add new duration starts from actual time [Yor] - * Added chardisguise/charundisguise [Kalaspuff] - * Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor] - * Fixed sage rebirth ability at professor job change NPC. [PoW] - * Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW] - * Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor] - * Added a check_ip_flag option in char-server [Yor] - * Added a check_ip_flag option in login-server [Yor] - * Added a display at start of login-server about IP checking configuration. [Yor] - -08/19 - * Added unban/unbanish command (ladmin c) [Yor] - * Added unban/unbanish command (ladmin perl) [Yor] - * Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor] - * Fixed @option/@charoption when player is disguised. [Yor] - * Added: some information about TODO 19. [Yor] - * Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor] - -08/18 - * Guardians were immune to skills/spells, fixed. [Valaris] - * Added custom draculax.txt script to display npcskilleffect command. [Valaris] - * Added npc/events/custom folder. [Valaris] - * Fixed Umbala Language Quest NPC bug [PoW] - * Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris] - * Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris] - * Changed disguise id check to > 23 instead of max_pc_class. [Valaris] - * Added bDisguise script command for items. [Valaris] - Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise - * Added flag so @disguise command will override any disguise scripts. [Valaris] - * Updated @disguise description in help.txt. [Valaris] - * Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor] - * Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor] - * Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW] - * Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor] - * Fixed: free block memory on NULL pointer in char-server do_final [Yor] - * Fixed: reset server information when map-server disconnected from char-server [Yor] - * Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor] - * Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor] - -08/17 - * Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor] - * Correction of @rura, @where, @rurap and some other things in GM commands. [Yor] - * Correction of a parameters' errors in GM commands. [Yor] - * Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor] - * Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus] - * Added some comments in .conf about @gm [Yor] - * Fixed max value of level_new_gm parameter (not 100, but 99) [Yor] - * Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor] - * Fixed @GM GM command [Yor] - -08/16 - * Translation of final message of @gm [Yor] - * Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor] - * Fixed: refuse @gm GM command to ... a GM :) [Yor] - * Added complete answers of /in /ex /inall /exall. [Yor] - * Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor] - * Added individual ignore management, and wisp checks [Yor] - * Added TODO 33 [Yor] - * Fixed possible overflow with @ban GM command [Yor] - * Speed up a little @ban GM command [Yor] - * Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor] - -08/15 - * Added a resume for 'email_creation' parameter [Yor] - * Fixed double messages when a player wisp/page itself [Yor] - * Added ignore all for wisps [Yor] - * Added better explanation for the new 'email_creation' parameter [Yor] - * Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor] - * Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor] - * Used config_switch instead of atoi for email_creation parameter [Yor] - * Added an option to create e-mail at connection with client [Yor] - * Added authentification with login_id2 (1040) - activated by default [Yor] - * Added partial part of authentification with login_id2 (1040) [Yor] - * Added some missing GM commands in help.txt [Yor] - * Improved search of map-server when map is not found [Yor] - * Added banish in ladmin (c) to be like of GM commands [Yor] - * Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus] - -08/14 - * Added banish in ladmin (perl) to be like of GM commands [Yor] - * Fixed some possible errors with maps management in char-server [Yor] - * Fixed bug of map searching when to few maps on map-servers [Yor] - * Changed some console displayings in char-server [Yor] - * By default, activation of player ip check [Yor] - * Added some of 1040: check of player ip between each server [Yor] - * Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88] - * Added possibility to disable automatic reload of GM accounts file [Yor] - * Added log when GM accounts file can not be readed [Yor] - * Changed default of GM accounts file check for 120 sec to 15 sec [Yor] - * Added automatic reload of GM accounts file if it was modified [Yor] - * Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor] - * Fixed possible error of monster id (GM command) if monster begins by a number. [Yor] - * Added jobname in @charstats command. [Yor] - * Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor] - * Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus] - * Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88] - -08/13 - * Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor] - * Fixed incorrect mob IDs with Valaris's mob_db [Ancyker] - * Added possibility to execute GM commands when you wisp someone [Yor] - * Added a console message when a player try to spoof his name in Global message [Yor] - * Added size of packet in packet send by map-srvr to char-srvr about online players [Yor] - * Added check on individual stat at creation of a character [Yor] - * Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate. - Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris] - * Increase maximum weight can be used with an item now, thanks to orn. [Valaris] - * Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris] - * Fixed muramasa curse rate, thanks to OxiMoron. [Valaris] - * Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88] - -08/12 - * Begin to add 1040 in login/char/chrif about authentification. not finished [Yor] - * @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris] - * Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris] - * Unitinalized nameid in script.c [Valaris] - * Added position in log when unknown packets are saved (login-server). [Yor] - * Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor] - * Added a function to obtain character name with index in auth structure (char.c). [Yor] - * Corrected check/test error in mapif_send. [Yor] - -08/11 - * itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus] - * Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus] - * Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris] - * Thief bug names were mixed around in monster.txt, fixed. [Valaris] - * Fixed incorrect parse of usable item rate. [Valaris] - * Added ban command in ladmin (C), like GM command [Yor] - * Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor] - * Added translations in inter.c about wisp/page. [Yor] - * Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor] - * Sended an answer when a wisp/page is supressed because of a timeout. [Yor] - * Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor] - * Changed Printf in intif_wis_message to have better information. [Yor] - * Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor] - * Completed some printf and comments in char.c [Yor] - -08/10 - * Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor] - * Corrected split of broadcast messages in char-server [Yor] - * Message to Valaris from Yor (special file) - * Improved accounts file saving: [Yor] - - be sure that accounts file is save at least every minute. - - save accounts file at end of login-server - * Reduce displaying size on some errors about accounts file reading. [Yor] - * Created log when change sex packet give an invalid value (login-server) [Yor] - * Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor] - * Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor] - -08/09 - * Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris] - * Basic Implementation of Basilica [AppleGirl] - * Added ban command (ladmin perl) [Yor] - * Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor] - * Correction of some tests on server_fd array in login.c [Yor] - * Improved Item_searching in all GM commands [Yor] - * Created @undisguise GM command [Yor] - * Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus] - * Corrected char_divorce (char-server) to remove ring to both partner [Yor] - * Eventual crashfix for clif_authfail_fd [Kalaspuff] - * Corrected @jump GM command. [Yor] - * Reduced size of conf/help.txt (max 200 lines in chat window). [Yor] - -08/08 - * Added NPCs to @disguise. [Valaris] - * Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris] - * Added @disguise GM command in help files [Yor] - * Added @go 16 to visit prisoners [Yor] - * Reduced number of accounts file saving when informations are not important: [Yor] - - save immediatly any modification/creation/deletion of account (like before) - - use counter before saving if only ip/time of last connection is changed (normal authentification) - because these values are already save in log file. - * Speed up account searching in login-server. [Yor] - * Speed up character searching for @(un)block/@(un)ban. [Yor] - * Created @unjail/@discharge GM command. [Yor] - * According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor] - * Speed up some sortings of online creation (strings based sortings) [Yor] - * Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff] - -08/07 - * Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris] - * Corrected a little error in online files creation (only 1 player was visible) [Yor] - * Optimized memory management of online list [Yor] - - less memory usage - - less tests and loops (more speed) - - more efficient (use directly char_dat position instead of search it) - * Added Official Assassin Job Quest. Now eAthena contains all 2-1 Job Quests! [kobra_k88] - * Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus] - * Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!) - * Fixed code for mob disguises, should not crash clients now. - * Improved online management code when we receive char_id. [Yor] - * Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris] - * Improved mmo_char_send006b function [Yor] - * Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor] - * Added an option to create backup of characters file [Yor] - The backup_txt file was created because char deletion bug existed. - Now this bug is corrected and no character disappear. - But, create a file with a lot of characters can use CPU usage and decrease hard disk speed. - So, I create an option with default value: no create backup. - * Improved online management code and some others little codes (char.c). [Yor] - * Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus] - -08/06 - * Improved/Optimized some little code (char.c/login.c). [Yor] - * Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor] - * Optimized global message nick spoof fix. [Valaris] - * Fixed crash in attacking guardians in a null guild. [Valaris] - * Capped earned exp at 1000000000. [Valaris] - * Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris] - * Fixed crash in guardian search. [Valaris] - -08/05 - * Added @jail GM command [Yor] - * Added explanation of @idsearch and @mapinfo in help.txt [Yor] - * Improved @idsearch GM command [Yor] - * Improved a little 3 loops in ladmin.c [Yor] - * Improve some codes in char.c: [Yor] - - less tests in online creation - - mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer - - server_fd[] not seted/modified/checked correctly - * Set max_walk_path back to 48. [Valaris] - * Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith, - added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88] - ----------eAthena 1.0.0 RC3 TXT--------- -08/04 - * Set battle_athena.conf to more accurate settings. [Valaris] - * Decreased default damage delay (stun after being hit) by 75%. [Valaris] - * Max walk path is now correct (17). [Valaris] - * Area size is now correct (14). [Valaris] - * Improved some very little codes in char.c. [Yor] - * Remove displayings of logs on console of map-server [Yor] - use it for DEBUG, not by default, that decrease a lot the performance - * Added (commented) printf in freeze function for debug if necessary [Yor] - * Fixed melee ctrl-attack targetting. [Valaris] - * Reset attack target when equipping arrows. [Valaris] - * Improved (log and remove_control_chars functions). [Yor] - * Added 'available free bytes' in displaying when size is expanded. [Yor] - * Fixed incorrect returns in clif_authok. [Valaris] - * Added pointer checks to chrif.c [Valaris] - * Added some pointer checks to the mob ai. [Valaris] - * New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] - -08/03 - * Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris] - * Added console displaying to have complete informations when we expand Wdata session. [Yor] - * IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor] - * Old packet 0x2b16 use packet number 0x2b0e. [Yor] - * remove packets 0x2b0e and 0x2b0f. [Yor] - * on character_name ask packet: add account_id of asker. [Yor] - * Improved script code in novice.txt. [Yor] - * Fixed error in alberta.txt. [Valaris] - * Allow player placement on afm-type maps. [Valaris] - * Added afm loading. [Valaris] - * Removed useless code for mob equipment. [Valaris] - * Initial packet setup for possible playable mobs. [Valaris] - * Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris] - * Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor] - * Added TODO 29 & 30. [Yor] - -08/02 - * Re-added "player not attached" error reporting. [Valaris] - * Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris] - * Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed), - made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c - Due to the fixed bug Merchant Job Quest works fine now [Lupus] - * Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt - milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus] - * Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor] - * Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor] - * Added check on character name with less than 4 characters [Yor] - * Added @chardelitem GM command [Yor] - * Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus] - * Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris] - * Added check for src with High Wizard's soul drain. [Valaris] - * Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris] - * Added more pointer checks in the clif_authok function. [Valaris] - * Added some pointer checks to clif.c, should prevent crashes. [Valaris] - * Added some checks about writing errors of item names in GM commands (check cases). [Yor] - * Fixed Hunter Job Quest 1.6 [Lupus] - * Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing - excessive amounts of lag. [Valaris] - -08/01 - * Added ability to spawn character pets. [Valaris] - * Added show_mob_hp. [Valaris] - * @item/@item2 GM commands now work correctly with name begining by a number. [Yor] - * @spawn/@monster2 GM commands authorise spawn of guardians. [Yor] - * Fixed so guardians may be spawned outside of castles. [Valaris] - * Fixed/Improved @spawn/@monster2 GM command. [Yor] - @spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor] - * Added TODO 26 and 27. [Yor] - * Guardians if owned by a guild will display guild name and castle on name request. [Valaris] - * Added checks for null blocks in mapforeachin functions. [Valaris] - * Addition of a GM level 99 account for test of GM commands. [Yor] - * Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor] - * Improved @time GM command (better code and display more informations). [Yor] - * Added informations about game time in @time command [Yor] - * Added @time command to have server time [Yor] - * Fix night at start if administrator want night and there is no duration for night and day [Yor] - * Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] - * Begin @unban/@unblock GM command (structure done). [Yor] - * It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor] - * @day/@night: when already the desired cycle, display a message. [Yor] - * Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus] - -07/31 - * Terminated: night/day cycles. [Yor] - * When a state comes back to normal, player stay in night if it's night. [Yor] - * Started to add management of day/night: [Yor] - creation of 3 parameters in battle.conf - TODO: usage of these parameters (later). - * added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor] - * Fixed number/quantity in @item command. [Yor] - * Fixed when night and disconnect/reconnect, it's night. [Yor] - * Removed extension to check a map in char.c (less tests). [Yor] - * Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor] - * Added izlude to check major cities. [Yor] - * Began adding developer mobs. [Valaris] - * Added dyes and fixed client crashes with player mobs. [Valaris] - -07/30 - * Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus] - * Added checks for major cities in afm format. [Valaris] - * Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them. - Thanks to alexkreuz [Valaris] - * Changed Map and NPC loading display. [Valaris] - * Removed unneeded 'End' and duplicate 'end' script commands. [Valaris] - * Added 'language ' command in ladmin (perl) to change language of displaying. [Yor] - * Fixed atcommand_gm_only parameter: [Yor] - 0: you can define level command '0' for normal players (gm level 0) - 1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM) - Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) . - * Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus] - Added official shop into St.Abbey. [Lupus] - Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus] - Fixed jobchange.txt. [Lupus] - Improved pvp.txt. [Lupus] - Rearranged and updated! (now in 2 variants) mapflags. [Lupus] - Updated map_athena.conf [Lupus] - * Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff] - -07/29 - * Added 'language ' command in ladmin.c to change language of displaying. [Yor] - * Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris] - * Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor] - * Fixed some errors in novice.txt script. [Yor] - * Kashy's script fixes. [Valaris] - * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] - * Creation of a char_unblocked directory (char directory is blocked) [Yor] - - modification of makefile - * Added a note in TODO 14: encrypted password - problem with client versions [Yor] - ----------eAthena 1.0.0 RC2 TXT--------- -07/28 - * Added metaller to equipped mobs. [Valaris] - * Added a note in TODO 19 [Yor] - * REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor] - * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] - * Added "OMG" emotion to weapon/armor breaking. [Valaris] - * Removed space in a pointer in mob.c. [Valaris] - * Restored previous version of lan management in login.c, because: [Yor] - - check test was incorrect (no mask for controled ip). - - in check test, we recalculate every time the subnetwork (loss of time). - - impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network). - - no more default configuration of sub-network. - - possible errors in the reading function of the lan file. - - no more logs about sub-network. - - BUT, conserved: - new default name for lan file - - color for displaying of LAN/WAN - * Removed some memsets from chrif.c that caused segfaults. [Valaris] - * Added fix for anklesnare and spiderweb. [Valaris] - * Added Kashy's Lan Support code. [Valaris] - * Removed variables and assignment used by prevent_multi_login. [Valaris] - * Removed prevent_multi_login. (many problems reported with it) [Valaris] - * Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris] - * Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus] - * Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus] - * Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus] - * Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88] - * Fixed Hunter.txt coords of the Guild entrance warp [Lupus] - -07/27 - * Improved check command in ladmin.c [Yor] - * Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff] - * Added @enablenpc and @disablenpc in help files [Yor] - * Fixed Thunder Storm range (thanks midas) [Kalaspuff] - * Added Anthell NPC trigger in Morroc.txt warps/town [Lupus] - * Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus] - * Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor] - * Removed possible overflow error in @enablenpc and @disablenpc [Yor] - * Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff] - * Improved best job test in novice.txt [Yor] - * Improved @go command: [Yor] - - give list of cities if no value - - added start point (to welcome newbies) - - give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested - * Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88] - * Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88] - * Added Legendary Swords quest. [Kobra_k88] - * Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88] - * Splitted and optimized Kafras & Guides. [Kobra_k88] - * Implemented Kafra Pass! [Kobra_k88] - * Removed free Breeders (replaced by the correct ones). [Kobra_k88] - * Placed all Sign Posts/Signs into a single file. [Lupus] - * Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus] - -07/26 - * More accurate pvp point system. It skips ranks, needs more work. [Valaris] - * Fixed crash in executioner card code. [Valaris] - * Fixed mob respawn after death bug. [Valaris] - * Fixed exp problem caused by bounds checking. [Valaris] - * Fixed pvp rank so only one person may be rank 1. [Valaris] - * Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris] - * Added Job Agencies for Training Ground (novice.txt). [Yor] - * PVP respawn client crash fix. [Valaris] - * Fixed small error in kafra.txt [Syrus22] - * Finished adding special equipped mobs. [Valaris] - * Added 2 living statues behind the NPC 'Monster Master'. [Yor] - * Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor] - * Added 2 living statues behind the NPC 'Monster Expert'. [Yor] - * Improved a little 1st course of novice training. [Yor] - -07/25 - * Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris] - * Removed [AppleGirl]'s armor breaking code. [Valaris] - * Commented out data_dir. [Valaris] - * Finished exp bounds checking. [valaris] - * Added negative value checks to clif_updatestatus. [Valaris] - * Added exp bounds checking for those rediculously high rate servers. [Valaris] - * Added bounds checking to the @zeny and @charzeny commands. [Valaris] - * Improved and corrected some errors 1st course of novice training. [Yor] - * Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22] - * Fixed Alliance check in mob.c [Syrus22] - * Added armor breaking to normal battle (crits will double the chance) [Valaris] - * Fixed mistake in map.c causing compile errors. [Syrus22] - * Fixed backstab bow penalty option. [Syrus22] - * Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22] - -07/24 - * Added backstab bow penalty option [Akaru] - * Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris] - * Another vending fix. [Valaris] - * Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris] - * Fixed a vending bug. [Valaris] - ----------eAthena 1.0.0 RC1 TXT--------- -07/22 - * Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris] - * Full Guild Wars Script Complete!!! [Akaru] - * Fixed rice ball item. [Valaris] - * Fixed problems with options and peco riding. [Valaris] - * Updated item_db with fix for Sleipnir and more translations. [Akaru] - * Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus] - -07/21 - * Updated refine.txt. Added optional features and optimized the file. [Syrus22] - * Evened out the # of columns in mob_db, filled in some blanks. [Valaris] - * Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris] - -07/20 - * Removed Ghostring from gef_fild13.gat [rg] - -07/19 - * Fixed Graffiti [Valaris] - * Zeny Bug In Vending Fixed [Darkchild] - -07/18 - * Added a check about level of at_command when reading the file [Yor] - * Updated /help and conf/help.txt [Yor] - * Added @nuke command in conf/help.txt [Yor] - * More WoE Castles Done [Hikaru] - * Changed: inter.txt->inter.log in log directory [Yor] - * Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor] - * Changed: char.txt->char.log in log directory [Yor] - * Update features.html/changlog.html [Yor] - * Fixed compilationissue on FreeBSD [Kalaspuff] - -07/16 - * Remove limit for kami/kamib ladmin command. [Yor] - * Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris] - * Added some TODO for next version. [Yor] - -07/15 - * Changed: login.txt->login.log in log directory [Yor] - * added system to choice authorised ip for remote administration [Yor] - * Added listBan/listOk commands in ladmin's. [Yor] - * Speed up a little search_mapserver function. [Yor] - * Init map strings of each servers when map-server send informations. [Yor] - * Added some TODO for next version. [Yor] - -07/14 - * Fixed another lockup with multi_level_up [Valaris] - * Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor] - * Fixed name of ladmin_athena.conf. [Yor] - * Fixed mvp item reading. [Valaris/Syrus22] - * Added new move packet in map (ver.13jully04) [Yor] - * Added new auth packet in map (ver.13jully04) [Yor] - * Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor] - * Updated Some Npcs [Darkchild] - * Added Gefenia Warps [Darkchild] - * Added Berzebub Quest [Darkchild] - * Removed random alchemist marine sphere code, until some other system is worked out. [Valaris] - * Fixed infinite loop caused by turning multi level off. [Valaris] - * Added display id the char-server is freezed. [Yor] - * Added debug printf about the max_connect_user in char-server. [Yor] - * Added banadd command in ladmin.c [Yor] - * Removed duplicate check in chrif.c. [Yor] - -07/13 - * Fixed GM_level code in map-server. [Yor] - problem is in the hash system of the db -> use simple db until we found solution. - note: for this db, it's not necessary to use a db system (little db, 2 values: key, value) - * Improved GM_level code in map-srv, but not solve the problem. [Yor] - * Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor] - * Added character name, account id and gm level on console in map-server when auth is accepted. [Yor] - * Added gm_level of the account on console in char-server when auth is accepted. [Yor] - * Added gm_level of the account on console in login-server when auth is accepted. [Yor] - * Added timeadd command in ladmin.c [Yor] - * Added help for each command (help ) in ladmin (perl and c). [Yor] - * Fixed global message (normal speak) name spoof exploit. [Valaris] - * Added timeset command in ladmin.c [Yor] - * Added banset command in ladmin.c [Yor] - * Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl] - * Added multi_level_up command to battle_athena and commandline. [Valaris] - Turning it off will allow a player to only level up once from a monster. - * Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor] - * Fixed: init mmo_map_server structure (to 0) in char-server. [Yor] - * Added Gefenia Maps [Darkchild] - * Added @nuke command do to user request. [Valaris] - * Removed nick spoof fix code for now, it broke chat. [Valaris] - * Added some code for @nuke command. [Valaris] - * Finished adding battle_athena options to command line. Every option in battle_athena.conf - can now be passed directly through the command prompt. [Valaris] - -07/12 - * Added many battle_athena options to command line arguments. [Valaris] - * Allow battle_config_switch to be used globally in map-server. [Valaris] - * Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris] - * Added BETA version of ladmin in C. [Yor] - * Added new packet structure of authentification and move - automatic detection. [Yor] - * Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris] - * Fixed a displaying error in state command (perl ladmin). [Yor] - * Added /monster command. Syntax is /monster . [Valaris] - * Fixed chat spoofing in global messages. [Valaris] - * Prevent nick spoofing in whispers. [Valaris] - * Added check about lenght of packet 0x72 for new client version [Yor] - * Added Pet Equip Items Quest Npc - * Added Pet Taming Items Quest Npc - * Added Slotted Sunglasses Quest Npc - * Added pet_equip_required option for pet skills. [Valaris] - * Changed: create a sub-function for help command in ladmin (perl). [Yor] - -07/11 - * Added Petit pet skill. [Valaris] - * Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris] - * Fixed dokebi and baby desert wolf pet skills. [Valaris] - * Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris] - * Added script command petskillattack.[Valaris] - * Fixed search command in ldamin (perl) ignore sensitive case now. [Yor] - * Fixed default to 0 for save_unknown_packets configuration in login. [Yor] - * Fixed the warnings about implicit declarations. [Kalaspuff] - * Added @guildrecall/@partyrecall commands. [Yor] - * Added Isis pet skill. [Valaris] - * Added petmag script command for magnificat. [Valaris] - -07/10 - * Added Banker NPC because alot of users wanted one. [Syrus22] - -07/09 - * Added Sohee pet skill. [Valaris] - * Added petheal command. [Valaris] - * Added Smokie pet skill. [Valaris] - * Added bonus bPerfectHide for Smokie pet skill. [Valaris] - * Added Spore pet skill. [Valaris] - * Created petrecovery script command. [Valaris] - * Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris] - * Added petloot script command for pet looting. [Valaris] - * Removed pet_loot config settings. [Valaris] - * If pk_mode is on, a message will show up in map-server. [Valaris] - * Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris] - * Fixed @killmonster crash caused by implementation of pk_mode. [Valaris] - * Finished setting up pk_mode, should be 100% complete now. [Valaris] - * Added nopvp.txt for pk_mode. [Valaris] - * Prevent novice engagement in pk_mode. [Valaris] - * Fixed up and changed the exp penalty system. [Valaris] - * Pk_mode will now give double exp loss if killed by player. [Valaris] - * Updated conf/help with new commands [Yor] - * Removed more pvp timer stuff from pk_mode [Valaris] - * Increase drop rates +25% if over level 20 on pk_mode. [Valaris] - * Changed +25% exp increase on pk_mode to 15%. [Valaris] - -07/08 - * Disabled pvp rank and timer if pk_mode is on. [Valaris] - * All maps made pvp if pk_mode is on. [Valaris] - * pk_mode additional 25% exp given over level 20 [Valaris] - * Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris] - * Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris] - * Reworked prevent_multi_login, should work perfectly now. [Valaris] - * Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris] - * Added map-servers anti-freezed connection in char-server. [Yor] - * Added char-servers anti-freezed connection in login-server. [Yor] - * Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22] - * Created @partyspy command. [Syrus22] - * Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22] - * Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor] - * Updated and Shrunk the Kafra Script. [Syrus22] - * Create @reloadgmdb gm command. [Yor] - -07/07 - (Dated On Aegis Website) - *--Released 1.0.0 RC3--* - * Fixed crashed with prevent_multi_login. [Valaris] - * Allow infinited local logins if prevent multi_login is on. [Valaris] - * If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris] - * Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris] - * added updated const.txt and pet_db.txt [Valaris] - * GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor] - * Removed gm_account_filename definition from map.conf. [Yor] - * Updated GM level by reloadGM ladmin command. [Yor] - * Added a packet between char and map to send GM accounts and their level. [Yor] - * Added a GM minimum level option to display 'GM' in online files. [Yor] - * Added a warning when a GM account is defined twice in the file. [Yor] - * Check for castle before guardian searches for emblem. [Valaris] - * Prevent stealing from treasure boxes. [Valaris] - * Enable mounted classes to use pedestrian counterpart's items. [Valaris] - * Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris] - * Fixed crash with putting pets with skills back into egg. [Valaris] - * Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris] - * Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris] - * Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris] - * Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris] - * Added 'GM' display option for online files [Yor] - * Improved GM accounts file reading in login-server [Yor] - -07/06 - * Changed heal dog in prontera to a poring. [Valaris] - * NPCs with mob sprites can now be used in scripts. [Valaris] - * Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris] - * Mounted classes will now use equipment of their pedestrian counterpart. [Valaris] - * Improved management of GM account structure in char-server. [Yor] - * Added packet betwen login to char to send GM accounts value. [Yor] - * Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor] - * Added listGM/lsGM command in ladmin to list only GM. [Yor] - * Correct an error in loop of char_divorce function (incorrect variable). [Yor] - * Added some comments. [Yor] - * Added a check on start_point.map when configuration is readed. [Yor] - * Modified final message of login log at end of login-server. [Yor] - -07/05 - * Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris] - * If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris] - * Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris] - * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris] - * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one - is being held and caster met requirements) [Valaris] - * Prevent unidentified and broken items from being sold. [Valaris] - * Added buildin_repair for equipment repair npc. [Valaris] - * Added repair npc to forgery in prontera. (refine.txt) [Valaris] - * Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris] - * Corrected some item names [rg] - * Fixed so @repairall success message and effect will only display once. [Valaris] - * Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris] - * Added @repairall command. [Valaris] - * Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris] - * Crit's will now double weapon breaking chance if turned on. [Valaris] - * Added missing commands in atcommand_athena.conf. [Yor] - * Added @warpto command (same @jumpto). [Yor] - * Added increase in chance to break weapon if using powerthrust. [Valaris] - * Added weapon_break_chance to battle_athena.conf. [Valaris] - * Modified multiple login from one ip prevention(and remove gm bypass). [Valaris] - * Broken weapons will now have their description names in red. [Valaris] - * Speed up characters saving [Yor] - * Improved logs when a character isn't readed [Yor] - -07/04 - * Completed Prontera guild castles [Akaru] - * break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon. - Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris] - * Update int_storage to include broken column on all items (updates from old version) [Valaris] - * Added @guildspy command. [Syrus22] - * Added weapon_break_chance. (Not implemented yet) [Valaris] - * Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris] - * Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg] - * Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris] - * Prevent @monster and @spawn of guardians/emperium. [Valaris] - * Changed killmonster so it will not destroy guardians. [Valaris] - * Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will - display ip of offending ip if turned on) [Valaris] - * Added checks on player trading to prevent possible exploits. [Valaris] - * Make sure cart is on before vending. [Valaris] - * Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris] - -07/03 - * Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris] - * Fixed the damage code for Falcon Assault, so its not totally useless. [?] - * Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris] - * Removed option 32 from @option, added @mountpeco command. [?] - * Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status, - will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris] - * Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris] - * Peco mounting will now jobchange accordingly. [Valaris] - * Added checkfalcon and checkriding script commands. [Valaris] - * Added checkcart script command (since was already being used in scripts) [Valaris] - * Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles. - Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris] - * Improved messages between servers about connections. [Yor] - * Improved pc_resetlvl, fixed the bug about options being left. [?] - -07/02 - * Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor] - * If there is no map-server, send right message to client (char-server) [Yor] - * Improved counter of users (char-server) [Yor] - * Improved save of characters (char-server) [Yor] - * Improved sorting of account before save (login-server) [Yor] - * Improved map search at selection of a character (char-server) [Yor] - -07/01 - * Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris] - * Changed exploit fix in chrif.c [Valaris] - * Added assassin mask view_id in item_db [Valaris] - * Added a parameter to authorise minimum GM level at connection (login) [Yor] - * Fixed crash caused by making raw connection to map-server. [Valaris] - * Corrected a possible error at check of online players [Yor] - * Improved characters names control/check [Yor] - * Improved save/load of REG2 strings and values (login) [Yor] - * When there is no char-server, login-server sends proper message instead of a void list of servers [Yor] - -06/30 - * Fixed a crash when used @charmodel,@charstpoint,@charskpoint and - @charzeny with the wrong name [Kalaspuff] - * Added possibilities for switchs in battle.conf (add some foreign language) [Yor] - * Protected char-server again disconnection of login-server [Yor] - * Added possible protection against packet exploits in chrif.c. [Valaris] - * Login-server: Added an option for the format of the date (log, etc...) [Yor] - Improved some little code. - Added log for char-server packets. - * Correction of prtg_cas03.txt that crash server AT START! [Yor] - * Added functions of mapflag noskill [Kalaspuff] - -06/29 - (Dated On Aegis Website) - *--Released 1.0.0 RC2--* - -06/28 - * Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris] - * Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier. - Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris] - * Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris] - * When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor] - * Fixed problem where warp portals broke in npc.c [Valaris] - * Updated atcommand_heal so it works like it should [Kalaspuff] - -06/27 - * Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be - using it, but it turns out it doesn't need to be) [Valaris] - * Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris] - * Improved @item command to make correctly pet eggs [Yor] - * Updated Chase Walk so you can't attack while you have it casted [?] - * Removed un-needed code for graffiti from clif.c [Valaris] - * Added @ban command (to ban a player for a limited time) [Yor] - * Added @charblock command (you have been blocked by GM team) [Yor] - * Added the mapflag nowarpto [Kalaspuff] - * Updated the function of nowarp [Kalaspuff] - -06/26 - * When a player is banned (or with a state != 0), he is disconnected [Yor] - * When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor] - * To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor] - -06/25 - * Added @charchangesex GM command [Yor] - * Changed: Changesex is now done after that the login-server has confirmed the change [Yor]. - becuase sex is saved in account file. - -06/24 - * Added new classes in change sex script command (buildin_changesex). [Yor] - * Translated pet_db.txt again [Valaris] - * Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3. - Will display skill failed if checks do not pass. Shows effect when successful. [Valaris] - * Added administration system to change final date of a banishment. [Yor] - * Added information about banishment in admin packets about an account. [Yor] - * Updated Chase Walk so it cancels when recasted to fix it. [?] - * Initial implementation for Chase Walk skill for Stalker Class [?] - * When an account is banned, message_error_7 is not more modified [Yor]. - -06/23 - (Dated On Aegis Website) - *--Released 1.0.0 RC1--* - * Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris] - * Fixed magic_damage_return so it will actually work (for Maya card). [Valaris] - * Add a ban timestamp in the structure of the accounts. Management not yet make [Yor] - -06/22 - * Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor]. - * Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor]. - * Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor]. - * Added New City: Jawaii - * Fix free memory of online structure at end of char-server [Yor]. - * Remove possible duplicated online players (multiple map-servers) [Yor]. - * Add examples in state command (ladmin) [Yor]. - * Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor]. - * Iinitial implementation for magicdamagereturn for Maya Card [?] - * skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers). - If it is set to yes, skill will fail and sp and items required will be lost. [Valaris] - -06/21 - * Updated Sacrifice skill code to be more flexible for user usage [?] - * Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?] - * Guild Territory will now display the # of castles owned or "None Taken". [Valaris] - * Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt. - Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris] - * Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet, - right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris] - * Fixed so players will always spawn with guild emblem if one is needed. [Valaris] - * Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor] - * Fix memory management for online players list. [Yor] - * Party HP now updates instantly on change. [Valaris] - * Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris] - * A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor] - * When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor] - * Improve presentation of online.txt file. [Yor] - * In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg] - -06/20 - * Fixed problem with guardian emblems disappearing [Valaris] - * If a GM use GM HIDE, he is not counted in the number of players [Yor] - * Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied - to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris] - * Guardians cannot attack and cannot be hurt during non woe time. [Valaris] - * Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris] - * Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris] - * Autosave will save guardian HP data. [Valaris] - * Castle.txt visibleG flags will be set when guardians are killed. [Valaris] - * Moved emperium defense upgrade to mob.c. [Valaris] - * Removed guardian hp saving from agitend. [Valaris] - * Added option to choose which columns are displayed in the online files [Yor] - * Added option to choose how to sort online players in the online files [Yor] - * Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor] - * Kafra Points And Rewards fixed [Darkchild] - * Kafra file made a lot smaller with DoEvents [Darkchild] - * Fixed lotsa bugs in Kafra's [Darkchild] - * Initial implementation for paladin's skill sacrifice [?] - * Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris] - * Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris] - * Implemented guardian and guardianinfo script commands [Valaris] - -06/19 - * Added Ghp0-7 into castle database [Valaris] - * Added configuration parameters to choose online files filename [Yor] - * Added online files (txt and html) [Yor] - * Added choose of authorised letters/symbols for characters names [Yor] - * Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru] - * Translated more of item_db [Akaru] - * Added correct effects for Dragon Boat Festival items [Akaru] - * Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor] - * Improve allow/deny configuration. Write warnings if necessary. [Yor] - -06/18 - * Add heal_payment.txt as an alternative to heal.txt. [Yor] - * Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor] - * Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor] - * Save configuration of login-server in log file at start. [Yor] - -06/17 - * Added fritz's vending exploit fixes. [Valaris] - * Increased max guild castle size to accomodate for novice guild castles. [Valaris] - * Fixed investment in prontera castle 1. [Valaris] - * Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris] - * Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values. - 1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris] - * Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor] - -06/16 - * Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru] - * added fix for cross-class ensemble skills. [?] - * Increased max guild member limit to accomodate for +2 member increase per extension level - and increased max position to 56 to accomodate for all members. [Valaris] - * More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris] - * added fixes for class checking skills like bard & dancer skills and a priest skill. [?] - * updated skill_cast_db and skill_require_db.txt [?] - * changed int_guild.c added +4 for extension skill to match kRO [?] - * remote administration: add a command/packet to change sex of an account [Yor] - * Log detailled reason of refused connection in remote administration [Yor] - * Create a mmo_auth_tostr for accounts [Yor] - * Add a message when char-server is terminated [Yor] - * Save deleted accounts (administration deletion) in log file [Yor] - * Add a message when login-server is terminated [Yor] - -06/15 - * Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris] - * Added a char_log function. Save unreadable characters in log instead of a specific file [Yor] - * Save invalid account lines in log file. Account will be never lost [Yor] - * Sort characters of same player with the slot number in the characters file [Yor] - -06/14 - * Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru] - * Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru] - -06/13 - * If player is on map-server when the account is deleted, player is now disconnected [Yor] - * Correction of char deletion bug when account is deleted [Yor] - * Added Prontera Castle 5 guild wars script [Akaru] - * Added Prontera Castle 4 guild wars script [Akaru] - * Add checks about duplicated character ids and names [Yor] - * Don't save a reg of a character if its string is void [Yor] - * Read a character even if a reg string is void (don't suppress the char for that) [Yor] - * Save characters in account_id order [Yor] - * Save not readed characters in a file (char file name + "not_readed.txt") [Yor] - * Display line number when a character can not be readed [Yor] - * Initialise char_num! Display number of readed characters [Yor] - * Do right initialization of char_dat [Yor] - * Add red color for ERROR displays in char.c [Yor] - -06/12 - * Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor] - * Optimised Mr. Smile NPC script [Akaru] - * Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor] - * Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru] - * Added Prontera Castle 3 guild wars script [Akaru] - * Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris] - * Graffiti displays to other plays and remains on map for set time period. [Valaris] - -06/11 - * Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris] - * Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor] - * Add a display when a player does a connection [Yor] - * Add a display when a remote administration does a connection [Yor] - -06/10 - * Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul] - * Add parameters in login.conf to display or not parse information [Yor] - * Remove some repeated codes in ladmin / add example when error of command [Yor] - * Remove delete_session error in login.c (sorry) [Yor] - * Display correct message for char-server disconnection [Yor] - * Finish translation of ladmin [Yor] - * Fixed Various Npc Bugs [Darkchild] - * Added green colour for READY displays in char-server, login-server and map-server [Akaru] - -06/09 - * Add some comments in ladmin [Yor] - * Remove displaying of packet 0x2714 from login-server [Yor] - * Correct length of password send to login-server in char-server [Yor] - * Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor] - * Change displaying of the title [Yor] - * Optimised twin towers script to use duplicate [Akaru] - * Edited to a more user friendly error message for invalid server communication password [Akaru] - * Updated the item_db for more item name consistencies [Akaru] - * Reverted training grounds back to new_1-?.gat maps. [Valaris] - * Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris] - -06/08 - * Put a HOWTO in lan_support.conf. [Yor] - * Removed extra semicolons in char.c, map.c, and pc.c. [Valaris] - * Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris] - -06/07 - * Translated refine_db.txt. [Valaris] - * Negative vending fix. [Fritz] - * Correction of mktime parameters in ladmin + some translations [Yor]. - * Add some checks on login-server configuration parameters [Yor]. - -06/06 - * Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris] - * Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg] - * Add title to the servers. [Yor] - * Add warnings about default password usage (administration and gm passwords). [Yor] - * Modify adduser.c for the default configuration. [Yor] - * Write the complete admin_packet.txt. [Yor] - * Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris] - * Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris] - * Begin splitting monsters.txt [Akaru] - * Removed obselete monster spawn files [Akaru] - * Complete Guild Wars for Prontera Castle 2 script done [Akaru] - * Fixed prevent_logout option. [Valaris] - -06/05 - * Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris] - * Fixed player logout display on map-server console. [Valaris] - * Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg] - * Fixed noskill map flag [?] - * Complete information about login configuration in conf_ref.txt [Yor] - * Add possible configuration values on/off or yes/no in login-server [Yor] - * Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris] - * Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg] - * Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg] - * Changed so no one can spawn inside castles. [Valaris] - * Updated item_db with more consistant names, fixed some unknown_items [Akaru] - * Complete Guild Wars for Prontera Castle 1 script done [Akaru] - * Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris] - * Will not default to prontera.gat if map-server is not connected. [Valaris] - * Warp players who are not in guild out of castles when WoE starts. [Valaris] - -06/04 - * Allies now do no damage to guardians or emperium. [Valaris] - * Prevent allies from being attacked by guardians. [Valaris] - * Optimized guardian emblem code. [Valaris] - * Fixed map-server crashing with spawning guardians in untaken castles. [Valaris] - * Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris] - * Fixed problem where guild emblem would vanish from guild info screen. [Valaris] - -06/03 - * Improve e-mails checks and LAN/WAN checks on char-server. [Yor]. - * Add some explanations in front of accounts file. [Yor] - * Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor] - * add missing parameters of char_athena.conf, and explain them. [Yor] - * Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor] - * fix missing include in char.c. [Yor] - * Translation of checkversion. Add some explanations in front of file. [Yor] - * Translation of getlogincount [Yor] - * Finish translation of new login.c [Yor] - * Implemented Guardian Emblems [Valaris] - -06/02 - * Added maximum_level option in battle_athena.conf [Valaris] - * Added maximum level cap to all the level up commands. [Valaris] - * Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris] - -06/01 - * Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris] - -05/30 - * Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris] - -05/29 - * Removed item_value_db.txt and all references to it [Valaris] - * Removed unused class_equip_db.txt [Valaris] - * Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris] - * @monster will summon monster without an amount specified [Valaris] - -05/28 - * Added heal and usable item rate modifier [Valaris] - * Added pet equipment to equipment rate modifier [Valaris] - * Added option to turn alchemist summon experience and drops on and off [Valaris] - * Alchemist Marine Spheres now randomly explode [Valaris] - * Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0 - would loop to server max hp value. [Valaris] - -05/26 - * Added New Hats [Darkchild] - * Added New Monsters [Darkchild] -05/23 - * Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz] - * Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz] - -05/21 - (Dated On Aegis Website) - *--Released 0.5.2--* - -05/20 - (Dated On Aegis Website) - *--Released 0.5.1--* - * got dye working again [Darkchild/fritz] - -05/19 - (Dated On Aegis Website) - *--Released 0.5.0--* - -05/09 - * added Prontera Guild Castle 3 test guild wars test script [Akaru] - * modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru] - * fixed several valkyrie jobchangers [Akaru] -05/08 - (Dated On Aegis Website) - *--Released 0.4.2--* - *--Released 0.4.1--* - * added Prontera Guild Castle 2 test guild wars test script [Akaru] - -05/07 (Dated On Aegis Website) - *--Released 0.4.0--* - -05/06 - * added Prontera Guild Castle 1 test guild wars test script [Akaru] -05/04 - * removed parses and added ENGLISH! [?] - -04/29 (Dated On Aegis Website) - *--Released 953 Delta--* - -04/28 (Dated On Aegis Website) (Whose Ideas Were These?) - *--Released 953 Gamma--* -04/27 - *--Released 951 Beta--* - * fixed @jobchange crash [credits to Mugendai, commited by Akaru] - -04/25 (Dated On Aegis Website) - *--Released 947 Alpha--* -04/23 - * added more Professor Skills and added checks [?] -04/10 - * added more upper skills from moonsoul's works [?] -02/12-04/10 - * CVS Down - Not Many changes could be made...* - -02/22 (Dated On Aegis Website) - *--Released 817--* - -02/12 - * added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT] -02/06 - * dumped @skillall for @allskill [?] -02/05 - * fixed provoke so it doesnt work on undead [RoVeRT] - * added TyrNemesis^ card removal code and min/max settings [RoVeRT] -02/04 - * added start_zeny and party_level_range to char_athena.conf [RoVeRT] -02/03 - * Improved the prontera.gat map fallback. [Sara-chan] - * Improved the way guild emblems act when logging in. [Sara-chan] - * Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT] - * fixed negative values for NPC to always be 0 -01/26 - * mob_warpslave correction [RoVeRT] -01/25 - * added poison hp reduction [AppleGirl] -01/20 - * added intimidate [RoVeRT] - * added mvp checks for some skills -01/17 - * added skill check for empelium attack and removed drops from NULL kills [RoVeRT] -01/16 - * added secondary effects for when characters with appropriate elemental armor - are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up), - SA_VIOLENTGALE(flee up) [moonsoul] - * removeal of @randmon as it isnt needed [RoVeRT] -01/15 - * fixed auto spell so it works the prober way [RoVeRT] -01/12 - * added mob_warpslave [RoVeRT] - * added mob_warp to check noteleport mapflag -01/07 - * added OnCommand for NPC [RoVeRT] - * added new on death method for NPC spawned mobs [RoVeRT] - * added mobcount [RoVeRT] -01/06 - * fixed icon status for spear quicken [AppleGirl] - * added quoted name support for @monster [RoVeRT] -01/05 - * added indivudal support for card and equip drop rates [RoVeRT] -01/04 - * added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl] - * added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE, - SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl] - * Fixed Effects of a few bard Skills. [AppleGirl] - * added option to stop logout for 10 seconds after taking a hit [RoVeRT] -01/03 - * added inet_ip support to char and map [RoVeRT] - * added checkcart, checkfalcon and checkriding npc commands -01/02 - * added new npc timer support that is independant of a player [RoVeRT] -12/31 - * Added @refineall [Mark] -12/30 - * added support for custom_item-db.txt with battle_athena.conf option [RoVeRT] - * fixed @charzeny bug - * translated help.txt to english anong with a few other files [RoVeRT] -12/29 - * added umbala maps to map_athena.conf [RoVeRT] -12/26 - * added Skill_range based on level, and partially working AutoGuard [Moonsoul] - * added Correction of Whip and Instrument Damage Again [Sara-Chan] -12/25 - * Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other - Splash skills), and Fixed Brandish Spear [AppleGirl] - * Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT] -12/24 - * Added Side Effects for multiple skills for 2-2 classes [AppleGirl] -12/23 - * Added GM Command Called @Skillall [RoVeRT] - * @skillall to skill-up all your current skills [RoVeRT] - * @hide does hide you from all monsters [RoVeRT] - * fire wall limited to 5 per map [RoVeRT] - * to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT] - * no luck with @morph at this time yet [RoVeRT] - * splash attack added but still kinda buggy [RoVeRT] - * Added in Dancing and Song Playing for Bard and Dancer [AppleGirl] - * Added Skill Arrow Check For Archer Skills [AppleGirl] - * Added Skill Status Recovery [AppleGirl] - * Added Skill Bard and Dancer Skills Last Longer [AppleGirl] - * Added Skill Grimtooth does splash damage [AppleGirl] - * Added Skill Steal Fixed and Snatcher [AppleGirl] - * Added Skill SonicBlow only works with Katars Now [AppleGirl] -12/22 - * Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl] +Date Added +11/13 + * Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer] + * Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster] + * Removed compile warnings in intif.c. [Valaris] + * Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri] + * Updated some skills, credits to orn and midas. [celest] + - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire, + Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection. + - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, + Claymore Trap + - Adjusted some mob skills for mod support. + * Fixed weight increase when riding. [celest] + +11/12 + * added folder: /save-tmpl, removed folder /save + * battle_athena.conf: Updated Packet Version Flags. + * !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster] + * Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana] +11/11 + * Skill Updates : (Need to revise skill_cast_db.txt for new updates) + ( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist, + Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. + Fixed Devotion use requeriments. Thanks to Orn. [shadow] +11/11 + * Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88] + +11/10 + + * Updated Sprout (Item #7193), Thin Trunk (Item #7186), + Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957) + - thanks to cheng - [Codemaster] + * Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster] + * Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster] + * Added, Fixed & Updated ALOT of skills: [Codemaster] + - Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt, + Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison, + Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize, + Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher, + Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade, + Concentration, Cart Boost, Magic Power + - Thanks goes to Celest, Midas, and DracoRPG! + * Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster] + * char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster] + * Added packetver 6 flag to makefile. [Valaris] + +11/09 + * mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster] + * chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster] + * clif.c: Fixed sitting. [spira] + * - Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097 + - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow] + * Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer] + +11/08 + * Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus] + Get position for char/npc/pet/mob objects. + * Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster] + * Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus] +11/07 + - Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo] + * clif.c: Added a few things from jAthena 1057 [Codemaster] + * Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88] + * Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami] + +11/06 + - Added missing items in item_db.txt and reorganised it.[Nasedo] + - Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db, + updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady] + * atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri] + * mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster] + * mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster] +11/05 + * Fixed and redo optional Umbalian quests: + - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in + alternative way) + - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest + (For Sphinx Mask) + * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons) + Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every + easy quests with expensive prizes to avoid exploits) [Lupus] + * Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady] + * Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris] + * Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris] + +11/04 + * Added sara-chan's packet db with support for 11-1 [Valaris] + * [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster] + * map/skill.c: Added a few checks for level 0 skills being used. [Codemaster] + +11/03 + * Removed broken column, using attribute column for broken equip now. [Valaris] + +11/02 + * Fixed compile time errors for gcc 2.95 [MouseJstr] + * Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria] +11/01 + * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria] +10/31 + * Fixed Devnpcs giving off errors -_- [Aria] + * Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris] + * map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster] + * map/battle.c: re-did Water Ball's damage calculation [Codemaster] +10/30 + * Added new guild skills to skill_db from sara-chan. [Valaris] + * db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster] + * char_sql/char.c: removed the double free()ing of gm_account [Codemaster] + * Added check for c value in int_guild.c before dividing to calculate average level. [Valaris] + * Commented unfinished dev npcs and added devnpc to map_athena. [Aria] + * Removed item requirement of Aqua Benedicta (10/26 patch) [Aria] + * Fixed some compiling error for Map-server [Shinigami] + * Removed Rogue's backstab pushback effect (kRO style again) [Aria] + * Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria] + * Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw] + * Included Mugendai's oA GUI in the GUI folder [davidsiaw] + +10/29 + * another exploit fix for mult in script [MouseJstr] + * Corrected mode for peco, condor mobs. Added custom mobs Easter Egg and Easter Bunny for easter egg event script. + Corrected mysteltain card location, penomena card typo.[kobra_k88] +10/28 + * Cloak Speed fixed [Aria] + * Throw stone damage fixed [Aria] + * Added new packets from Sara to packet database. [spira] + * Fixed and changed command lists to reflect on new packet changes. [spira] + - @jumpto, @recall, and @where + - Removed old @ignore* functions because they are no longer needed. + * Replaced old whisper ignoring code with better and more efficient code. [spira] + * Added packet_db.txt support, removed old packet functions. [spira] + * fixed forger-zeny exploit [MouseJstr] + + Doing script math that returns a number greater then (1<<31) will now + return a (1<<31). This prevents you from finding a npc that + asks for a quantity then mults the cost by that quantity to get + what you need to pay. + +10/27 + * Updated CSS styles for readme a bit [Aria] + * branched athena at version 340 to begin work on the packet_db + stuff from jA. To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb + later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands + as a FYI, the command I used to create this branch was: + svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work" + * Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus] + +10/26 + * Added more quotes -_- [Aria] + * Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan] + -Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info. + -Changed guild_skillup functions based on japanese code, but for a good reason. + It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance. + I think the first four new guild skill requirements are correct, at the least. + I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late. + * Fixed compile errors in showmsg.c. [Sara-chan] + * Fixed Mouse's devnpc only saying his quotes once per server reset [Aria] + * Added log_athena.conf & the logs.sql file [Codemaster] + * Added log configurations to inter_athena.conf [Codemaster] + +10/25 + * Fixed a compiling error in Login-server [Shinigami] + * Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster] + * Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster] + * Fixed items and mobs in DB. Added new items. [Lupus] + * Fixed some NPC bugs (check NPC=changelog.txt) [Lupus] + * Fixed getting MAX PET ID (SQL only bug) [Lupus] + * Fix char/char.c which was crashing after double freeing logs + [MouseJstr] + * Improved basic server rebooters [MC Cameri] + * Commited common/showmsg.c/.h, previously missing x_X [MC Cameri] + * Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami] + +10/24 + * Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri] + -Check showmsg.h to see how to use it. + -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on. + -Begin your own journey of replacing/removing old printfs, and using the new function. + -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done: + 1.Outputting messages to a file is now disabled(commented out). + 2.MSG_SQL is now commented out. + 3.If the server is out of memory, it will not use abort(). + 4.Returns 0 if successful, 1 otherwise. + -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello + -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not. + -Just add #include "showmsg.h" wherever you need it. + * Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri] + * Updated readme/gmcommands.html with new @uptime command [MC Cameri] + * Somebody had added some additional noskill checks that prevented + vending from happening in prontera [MouseJstr] + * Added bypass with gm_allskill of npc_selfdestruct2. [Valaris] + * Corrected some minor bugs in some Quests [Shinigami] + * Added new maps (from lateast kRO patch) + Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus] +10/23 + * Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster] + * Finished Aria and MC Cameri "Dev edition" NPCs. [Aria] + * Corrected extra stat points given to high classes. [Valaris] + * Added high classes getting the extra 40 stat points on stat reset. [Valaris] + * performance tweaks on socket.c to reduce lag [MouseJstr] + + do a "OPT="-g -DNSOCKET" to compile with the changes + enabled.. and tell me if you notice a change in your + performance/lag + + * Added @uptime to atcommand.c [MC Cameri] + * Added the stuff for my npc to Dev/quotes.txt [MC Cameri] + +10/22 + * Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria] + * Waiting for various devs to tell me their coords, map, biography, quotes, + moving coords, etc. In the meantime, I replaced them with (x,y),(lols), + (sprite),(somewhere), and if they didn't give me any info, I didn't + add them yet =P. [Aria] + * Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild + to "Dev edition" NPCs [Aria] + * Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final + layout unless something goes wrong =O. [Aria] + * Fixed the eol markers on some checked in files [Mousejstr] + * Fix two crashes caused by calling isGM on mobs [MouseJstr] + * Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri] + * Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria] + * Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria] + * Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria] + * Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria] + * Fixed removing friends from the list [davidsiaw] + * Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw] + The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs) + +10/21 + * Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus] + * Fixed hair_dyer.txt: fixed missing menu label [Lupus] + * new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel, + Ear of Demon,Big Golden Bell, Mistress Crown, + Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus] + * Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus] + * Fixed item names in the temp Crusader Job Quest according to our DB [Lupus] + +10/20 + * map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] + * map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster] + * map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster] + * Aligned the list of commands at the beginning of atcommand.c, + with tabs instead of spaces. [MC Cameri] + * Fixed AtCommand_SetBattleFlag, it was previously being called by "@send" + instead of "@setbattleflag". [MC Cameri] + * Finished basic layout, finished Aria starting to create Shinigami [Aria] + * Started to create "Dev edition" npcs [Aria] + * Fixed a compile error in src/char/char.c [MouseJstr] + * Fixed a bug in @trade where the distance was not ignored [MouseJstr] + * Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr] + * implemented Friends List support for TXT version [davidsiaw] + * added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw] +10/19 + * switched login_sql/login.c to use binary when retrieving + by account name [MouseJstr] + * skill.c & skill.h: added skill_type_cloaking [Codemaster] + * storage.c & storage.h: added storage_storageopen2() [Codemaster] +10/18 + * Changed readme layout for 1.0 scheme. [Aria] + * added check for console variable in login_sql [MouseJstr] + * Fully translated the untranslated items in the database.sql for SQL. [Nana] + * Dev/TODO, asigned myself to some items. [MC Cameri] + * char/char.c: changed the online system to omniAthena's [Codemaster] + * char/char.c: added log_char and log_inter [Codemaster] + * char/char.c: added Mugendai's GUI Support [Codemaster] + * char/int_guild.c: added log_inter and db_path [Codemaster] + * char/inter.c: added log_inter [Codemaster] + * char/char.c: added db_path [Codemaster] + * char/inter.h: added log_inter [Codemaster] + * char_sql/char.c: added log_char and log_inter [Codemaster] + * char_sql/char.c: added Mugendai's GUI Support [Codemaster] + * char_sql/int_guild.c: added log_inter and db_path [Codemaster] + * char_sql/inter.c: added log_inter [Codemaster] + * char_sql/char.c: added db_path [Codemaster] + * char_sql/inter.h: added log_inter [Codemaster] + * conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster] + * conf-tmpl/inter_athena.conf: Added log_inter [Codemaster] + +10/18 + * clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris] + -npcspeed #; To change npc's walking speed. + -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear). + -npcstop; Stops an npc's movement. + +10/17 + * Made the IP autodetection code work under a pure win32 + executable + * Fixed the win32 build and made a src\map\Makefile.win32 to + make it easier to do win32 builds of the map server + + src\common\utils.c src\common\utils.h src\common\grfio.c + src\common\nullpo.h src\common\timer.c src\common\db.c + src\common\socket.c src\common\core.c src\common\mmo.h + src\common\socket.h src\map\script.c src\map\intif.c + src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h + src\map\chrif.c src\map\Makefile.win32 + + * skill.c: Fixed noicewall flag. [Valaris] + * battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris] + * pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris] + Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris] + * Added template for server control from the console [Wizputer] + * conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster] + * Usable GM commands from server console admin:: [Wizputer] + * Added server:shutdown to shutdown server and help [Wizputer] + * Added user discretion for console commands in conf files [Wizputer] +10/16 + * Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami] + * Fixed bug in new_hats.txt where free items are given out [Shinigami] + * Correct Morroc warp npc overlaying Kafra npc. [Aria] + * Corrected npc typos. [Aria] + * Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris] + * Fixed some typos in some of the NPCs [Shinigami] + * tweaked the auto-configure stuff to deal better with + machines that have no detectable IP addresses.. is this + possible? [MouseJstr] + src\char_sql\char.c src\char\char.c src\map\map.c + * Made it compile under gcc 2.95 [MouseJstr] + * made the char and map servers auto-configure their own IP's + whenever possible [MouseJstr] + + If you do not specify the server IP address, it now determines it + on its own. This means that to get a server running that is + accessable from the internet you should only need to specify the + location of the data.grf files. This eliminates one more point + of misconfiguration. + + It does not correctly auto-configure for when you are behind a + router or a firewall since there is no way of determining the + external IP address. On the other hand, we should be able to + eliminate the lan_conf file since we know our IP addresses as well + as our netmask. + + src/txt-converter/login/login-converter.c src/txt-converter/char/char-converter.c src/login_sql/login.c src/common/socket.c src/common/socket.h src/char_sql/char.c src/char_sql/int_guild.c src/char_sql/inter.c src/map/atcommand.c src/map/map.c src/map/mail.c src/char/char.c conf-tmpl/map_athena.conf conf-tmpl/char_athena.conf Changelog.txt + +10/15 + * added @setbattleflag to let me reset a battle_config at runtime [MouseJstr] + * --- RC5 release + * another fix to oA2eA-rc5.sql to fix the sell_price [MouseJstr] + * Redid readme, updated content a bit, and made ps2 poster in preperation for 1.0 RC5 release. [Evera] + * made MAX_HAIR_STYLE, MAX_HAIR_COLOR, and MAX_CLOTH_COLOR + configurable via battle_config. [MouseJstr] + * made the dex spell cast time scaling configurable via battle_config + [MouseJstr] + * made the visible area_size configurable via battle_config + [MouseJstr] + * Reorganized and added the warps into their respective folders, updated map_athena.conf. [Nana] + * Added 2 script commands GETLOOK, GETSAVEPOINT (thanks to Lorky). [Lupus] + * Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus] + * Changed cast time for champion soul collect to 1 sec (thanks to midas). [Valaris] + * Added midas's fix for +30 hitrate with Sonic Blow. [Valaris] + +10/14 + * Fixed help.txt for some @gm commands [MouseJstr] + * made login.c compile on gcc 2.95 [MouseJstr] + * Fix backwards compatability with old mob skill formats [MouseJstr] + * Added mail system commands and @refreshonline to help.txt. [Valaris] + * Fixed char guild storage bug [MouseJstr] + * Prevented breakage of Weapons/Armor if the respective Alchemist Chemical Protection skill is applied. [spira] + * Added so nochat end will set manner to 0. [Valaris] + * Added broken item check before breaking (to prevent an item from breaking more than once) [Valaris] + * Re-wrote parts of equipment breaking. It will check to make sure it was not a miss before doing break calculations. [Valaris] + * Re-added negative value exploit fix. [Valaris] + * Fixed guardian opposition search. [Valaris] + * Added @unmute. [Valaris] + * Added check for map existing before cleanup (server will exit instead of crashing if maps aren't found). [Valaris] + +10/13 + * Fixed parse of antifreeze enable/disable flag. [Valaris] + * Fixed end-of-line flags in source tree [MouseJstr] + +10/12 + * Prevent attack/skill usage while wearing tux/wedding dress. [Valaris] + * Remove item unequip on tux/wedding equip. [Valaris] + +10/11 + * Added mail system (for SQL version only). [Valaris] + - @checkmail + - @listmail + - @listnewmail + - @readmail <#> + - @deletemail <#> + - @sendmail + - @sendprioritymail + - Added battle_athena.conf option to enable/disable mail system. + - Added mail.sql for sql mail system. + - Use "*" for name to send to all players. Level must be >= to @sendprioritymail level. + + * Added @refreshonline to refresh player online status in SQL version. [Valaris] + +10/10 + * Modified ja blacksmith repair code to function with our broken equipment system. [Valaris] + * Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris] + * Fixed error in Morroc jewel dealer. [Valaris] + * Added so supernovices will get flee from improve dodge. [Valaris] + * Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris] + * Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris] + * Added a check for row return in an sql statement in login. [Valaris] + * Added some pointer initializations in map.c. [Valaris] + * Calculate pc status when equipping or unequipping pet items. [Valaris] + * Fixed crash in looting pet skills if loot size was greater than 10. [Valaris] + +10/05 + * Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus] + * Added YggdrasilKid's fixed exp.txt. [valaris] + +10/04 + * Added missed close file functions in pc.c [Lupus] + * Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus] + * Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus] + * Fixed toggle for using sql item db in char-server. [Valaris] + * Added interval settings for anti-freeze system. [Valaris] + * Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris] + * Re-added anti-freeze system. [Valaris] + * Cleaned up warning in src/common/db.c. [MouseJstr] + * Removed afm map checking from char. [Valaris] + * npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667). + pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates + everytime instead of only once like in RC4. [kobra_k88] + * clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function. + Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88] + +10/03 + * added oA to eA database conversion .sql [MouseJstr] + * renamed sql to sql-files to eliminate a problem with make [MouseJstr] + * Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami] + * charkillable now returns status on target [MouseJstr] + * skill names now have descriptions pulled from the client [Mousejstr] + * Mapflag "petals" has been changed to "sakura". [Valaris] + * The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect + to everyone on that map. It also will not allow the occurance of the command more than once. This method means + everyone coming onto the map after the command has been used will see the effect. [Valaris] + * Added yor's latest ladmin.c. [Valaris] + * Fixed bug in delitem script command that caused it to delete all of an item. [Valaris] + * Modified Makefile's to work better in non-sql environment [MouseJstr] + * A lot of work on source tree making it more ANSI C compliant [MouseJstr] + * Finalized the timers on shutdown + turned off malloc debugging on db's. [MouseJstr] + * Added release hook's into db's [MouseJstr] + * Added runflag to core to allow cleaner shutdown [MouseJstr] + * Work on LCCWIN32 for building under Windows natively [MouseJstr] + * modified @mapexit to use runflag for cleaner shutdown [MouseJstr] + * Improve cleanup on exit of map server of all objects [MouseJstr] + * statpoint reader can now be larger then 1432 bytes [MouseJstr] + * Fixed so dancing effect is cleared when warping. [Valaris] + +10/02 + * Modified battle config muting players option to work more effectively. [Valaris] + * Fixed mute from showing red bubble to players. [Valaris] + * Fixed disguise sprite staying when teleporting. [Valaris] + * Added a special mob ai check in mob.c. [Valaris] + * Fixed petit pet skill's damage from ever increasing. [Valaris] + * Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris] + * Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris] + * Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris] + * Fix for drops by luck crashing. [Valaris] + * Removed @nuke for now. [Valaris] + * Added japanese ankle snare code. [Valaris] + * Using better code for alchemist marine sphere. [Valaris] + * Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris] + * Fixed an infinite loop with preventing multi level up and high novices. [Valaris] + * Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris] + Should resolve items disappearing. Thanks to fov for pointing this out. + * Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris] + * Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris] + * Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris] + * Removed anti-freeze system. [Valaris] + * Began removing AFM, unless someone wants to complete this. [Valaris] + * Added an online status timer. Will check online status of players every hour (for sql version). [Valaris] + * Added malloc to map.c. [Valaris] + * Added some variables for new mob exclusion. [Valaris] + * Using malloc in pc.c. [Valaris] + * Added skill reset checks to high/advanced/baby classes. [Valaris] + +10/01 + * Fixed up const.db. [Valaris] + - Added + bBreakWeaponRate 1068 + bBreakArmorRate 1069 + bAddStealRate 1070 + + - Fixed + bMagicDamageReturn 1071 + bRandomAttackIncrease 1072 + bAllStats 1073 + bAgiVit 1074 + bAgiDexStr 1075 + bPerfectHide 1076 + bDisguise 1077 + + * Rewrote mute disable option in clif.c, it did not need to end status. [Valaris] + * Added a missing check for SC_NOCHAT in clif.c. [Valaris] + * Changed comments on max_lv in battle_config to be less + confusing [MouseJstr] + * Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus] + * Adding missing noquests from previous tree [MouseJstr] + * merged conf files between txt and sql [MouseJstr] + * According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in + pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus] + * Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied + to the player interacting with the npc instead of being applied on the npc. [Valaris] + * Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris] + * Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris] + * Removed script::say in favor of Valaris's version. [MouseJstr] + * Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr] + * Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris] + + +09/29 + * Fixed small, almost non-existing memoryleak, in grfio.c that could + cause some systems to exit the application [Kalaspuff] + +09/26 + (Dated On Aegis Website) + *--Released 1.0.0 RC4--* +09/25 + * Reorganized Npc folder for release + * Updated map_athena.conf + * Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to + continue and a player to walk normally. [Valaris] + * Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are + supposed to get this bonus) [Valaris] + * removed more #ifdef's between TXT and SQL [MouseJstr] +09/24 + + * Added @charkillable (to make players killable) [MouseJstr] + * Added @dropall (throws all items on ground) [MouseJstr] + * Added @chardropall (throws all players items on ground) [MouseJstr] + * Added @storeall (put all items in store) [MouseJstr] + * Added @charstoreall (put all players items in storage) [MouseJstr] + * Added @skillid (look up a skill by name) [MouseJstr] + * Added @useskill (use a skill by id) [MouseJstr] + +09/23 + * Update Some Npc Stuff In Payon [Darkchild] + * Added Sage Quest [Darkchild] + * added @killable - all players can hit you, even out of pvp [MouseJstr] + * Changed Basilica to prevent the priest from walking [MouseJstr] + * Restore base files in save directory [Yor] + * Castle spawn/conquering fix: [Akaru] + - Spawns monster when the guild is not owned when the server starts + - Spawns emperium with the monsters when guild is not owned yet + - If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed. + - Prevent spawn of emperium/monsters after castle is owned + - In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers + +09/22 + * added @killer to let GM's hit players outside of pvp [MouseJstr] + * added @skilloff to turn off skills on a map [MouseJstr] + * added @skillon to turn on skills on a map [MouseJstr] + * added @follow to follow players (including warping after them) [MouseJstr] + * added battle_config option to control the max number of castles a guild can have [MouseJstr] + * upgraded the guild alliance checker [MouseJstr] + * added battle_config to control if ghosty armor works for mobs [MouseJstr] + * Fixed battle_config to control how much GTB actually helps [MouseJstr] + * Fixed battle_config to control if pvp battles give exp or drops [MouseJstr] + * Added map aliasing [MouseJstr] + * changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr] + * made turning of skills on a map actually work [MouseJstr] + * Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW] + +09/19 + * Corrected @charstoragelist: [Yor] + - because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage. + -> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist. + * Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor] + * Client until 2004-09-06 (included) is now completely recognized [Yor] + * Fixed kafra storage request for all new clients [Yor] + +09/18 + * Changed to Yor's code that doesn't try and read when it's already not found [Akaru] + * Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru] + * Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor] + * Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor] + * Fixed action request (sit, attack, etc..) for all new clients [Yor] + * Fixed solve char name for all new clients [Yor] + * Fixed get char name for all new clients [Yor] + * Fixed an error about packet number on char name function [Yor] + * Added items drop packet for all new clients [Yor] + * Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor] + +09/17 + * Added check to make sure mob is already moving before initiating random walk + when the item they are going to loot disappears. [Valaris] + * Client of 2004-07-13 is now completely recognized [Yor] + * Fixed items take packet for all new clients [Yor] + * Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor] + * Fixed direction position for all new clients [Yor] + +09/16 + * Client of 2004-07-06 is now completely recognized [Yor] + * Fixed skills to position with all new clients [Yor] + * Fixed incomplete packet of authentification [Yor] + * Fixed size of packets for all clients [Yor] + * Improved detection of client version at authentification [Yor] + * Improved packet parsing of client (search packet version before to parse) [Yor] + * Added packets size of 0x20d and 0x20e [Yor] + +09/15 + * Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris] + * Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris] + * Added specialeffect script command. Syntax: specialeffect #; [Valaris] + * Moved noicewall flag to a better position. [Valaris] + * Added mob type check to skill_castfix to prevent crashing. [Valaris] + * corrected error: skill to id (RFIFOW->RFIFOL) [Yor] + * Added packets size of 0x204 and 0x20b [Yor] + * Fixed skill_to_id with all new clients [Yor] + * Fixed tick sending with all new clients [Yor] + * Fixed items use with all new clients [Yor] + * Fixed move with all new clients [Yor] + * Speedup WantToConnect function [Yor] + * Call correct function with any clients packet - size is not correctly set actually [Yor] + +09/14 + * Resetlvl will unequip items that require more than level 1. [Valaris] + * Added message about new clients (not actually supported) [Yor] + * Added correct call of clif_parse_WantToConnection function for all client types [Yor] + * Added size of packet 0x0214 [Yor] + * Fixed calls of 'clif_send' function [Yor] + +09/13 + * Modified item_db to have more name consistency, added more translations for items [Akaru] + * Fixed in clif_sitting usage of a buffer [Yor] + * Fixed in clif_movechar usage of a buffer for clif_set007b [Yor] + * Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor] + * Corrected a commented printf in packet 0x2b0e for debug [Yor] + +09/12 + * Put (commented) parse printf in char.c at the right place (to have all informations) [Yor] + * Added Alchemist JobQuest [Darkchild] + * Added Inn Npcs [Darkchild] + +09/11 + * Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor] + +09/10 + * Added a better id control of monster id in @spawn/@monster... GM commands [Yor] + * Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor] + +09/09 + * Change @spawn/@monster2... GM commands to spawn in close area [Yor] + * commented some printf in char.c to reduce (a little) lag [Yor] + * Put @timer messages in msg_athena.conf [Yor] + * Add a file for SQL developpers [Yor] + * Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor] + * Added new client packet sizes and expanded packet acception. [Valaris] + * Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris] + +09/08 + * added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris] + * Corrected in map: creation of new session before to delete previous session_data [Yor] + * Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor] + * Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents + the possibility of stacking items, but server did not.) [Valaris] + +09/07 + * Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor] + - new option in battle.conf: any_warp_GM_min_level + - new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands + * Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor] + * Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor] + * Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor] + * Improved check of new packet 0x7E to enter in WantToConnect Function [Yor] + +09/06 + * First part of new authentification method (clif_parse_WantToConnection) [Yor] + - accepted new 0x7E for wantto connect + - begin to found first authentificaiton and answer to client, but not found + * Improved Char-server: [Yor] + - Fixed a possible error on multi-map servers (no lastpoint) + - Added log about character with same name of wisp server name. + - Added a sub function to disconnect a player (used 3 times) + * Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor] + * Added Super Novice Job Quest [Darkchild] + +09/05 + * Fixed noskill flag to actually stop all usable skills when used. [AppleGirl] + * Removed last lag on char-server causing by too much savings (on accreg) [Yor] + * Removed a lag on char-server with a lot of players (for party, like guild) [Yor] + * Removed a big lag on char-server with a lot of players: [Yor] + - guilds was saved every time a player is online and a lot of other time (removed). + - guilds are save only when characters are saved (no more bring forward with characters file, and less savings) + * Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor] + * Added perfect GM hide in @where GM command [Yor on suggestion of PoW] + * Correct NEW shops.txt with error displayed AT START of map-server! [Yor] + * Correct NEW payon.txt that crash map-server AT START! [Yor] + * More changes and official locations for new payon, things in correct place: + - Guild Flags + - Kafra + - Shops/Refiners (except Pet Shop!) + - Most Normal Npcs (not all!) + All Based On ScreenShots From kRO!! [Darkchild] + * Payon Warps about 80% finished, others were no screens taken from! [Darkchild] + * Removed nowarp mapflag and new internal check about gmlevel [Yor] + - gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0. + if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes). + Not add new tests for nothing and use more cpu. + - mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands) + A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag! + * Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris] + +09/04 + * Added nowarp mapflag [PoW] + * Fixed nowarpto mapflag in atcommand.c [PoW] + * Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor] + * Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor] + * Added @whogm GM command. [Yor] + * Added a warning when a character has same name than wisp server name. [Yor] + +09/03 + * Added gm level display in all @who(map) GM command. [Yor] + * Correction: [Yor] - Thanks to [EvilEden] + - Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time + - npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642). + * Added monster/egg name to create egg in @makeegg GM command. [Yor] + * Added an option to fix started limited time of a new account. [Yor] + * Added @hatch in help.txt. [Yor] + * Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl] + * Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl] + * Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl] + * Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild] + * Moved job monsters to their respected files [Darkchild] + * Fixed a bug in sence (showing wrong info!) [Darkchild] + * Changed the npc/jobs/ folders heavily! [Darkchild] + * Added COMPLETE Umbala NPC script [Darkchild] + * Added New Payon maps @ bottom of the map_athena.conf [Darkchild] + * Added New Payon NPCs and Warps [Darkchild] + * Fixed typo and made layout a litle bit better of the readme files [Darkchild] + * 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] + * 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] + +09/02 + * Added Meltdown's weapon breaking ability [AppleGirl] + * Added GM level in front of each line to display only enable GM command of the help.txt. [Yor] + * Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor] + * Set day/night messages in msg_athena.conf (for foreign people). [Yor] + * Added a function to return a string of msg_table outside of at_command. [Yor] + * Fixed clean database at disconnect when session is not auth. [Yor] + * Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor] + * Set initialisation of ignore list after authentification (not need to be done before) [Yor] + * Reduced size of packet 0x2afe (removed not used value) [Yor] + * Improve first auth part (wanttoconnect) [Yor] + * Added TODO 35 [Yor] + * Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl] + * Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl] + * Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl] + * Fixed double connection with same account [Yor] + - disconnect immediatly + - no enter in database (block or others) + - no creation of session + - no more need to have 'new_fd' + -> less memory usage, less tests + * Removed 'other_fd' not used [Yor] + +09/01 + * Fixed Rainbow Egg quest in quests_lutie NPC [PoW] + * Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris] + Need to figure out the rest of the packets, then can implement. + * Added server-side friend list 'add' send packet info to packet documentation. [Valaris] + * Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor] + * Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor] + * Removed an unknown item in shops.txt [Yor] + * Fixed 3 goto in father - acolyte.txt [Yor] + * Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor] + * Reduce size of mage.txt and fix a text in mes (no bug) [Yor] + * Fixed thief.txt script (error on a goto) [Yor] + * Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor] + * Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor] + +08/31 + * Fixed messages of @(char)jobchange GM commands. [Yor] + * Fixed a return value of jobchange function (pc.c). [Yor] + * Added coredumps by system when crash. [Yor] - thanks MagicalTux + +08/30 + * Added some comments on gravity commands. [Yor] + * Improved /mm, /monster and /item to have some answers. [Yor] + * Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills + (stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul] + * Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross + skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul] + * Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul] + +08/29 + * Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407) + and Enchant Deadly Poison(378) [moonsoul] + * Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor] + * Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris] + will not function when pvp is enabled on map. + * Added noicewall flag, noicewall.txt. [Valaris] + * Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris] + * Added: Usage of At command when failed (100%). + * Modified: try to have samme presentation for all at-command code (100%). + * Improved/fixed some GM commands [Yor] + * Added some 'usages' in some GM commands [Yor] + * Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris] + * Improved some GM commands [Yor] + - Added in @(char)baselvlup/@(char)joblevelup GM command: + When there are some status/skill points available and we reduce level -> remove points. + - Added counter in @statsall GM command. + - Fixed in @charsave GM command when map doesn't exist. + - Fixed @charbaselvl GM command overflow + - Fixed skill value (and crash) in @questskill/@lostskill GM command + - Fixed number of spiritballs (@spiritball GM command) + * Fixed random PvP crash bug [Lupus] + +08/28 + * Improved some GM commands [Yor] + - Added memo points in @go GM commmand. + - Added negativ value for @heal GM command. + - Fixed @(6stat-adjustement) GM commands overflow. + - Simplified @Statall GM commands. + - Fixed @guildlvup GM commands. + +08/27 + * Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor] + * Improved @memo GM command: [Yor] + You can memo anywhere (it's GM command, not /memo command like for any player). + Without value, display actual memo points. + * Improved @refine GM command: you can reduce refinement. [Yor] + * Fixed @broadcast GM command send broadcast to all Map-servers. [Yor] + * Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor] + +08/26 + * In at_command.c: [Yor] + Fixed: initialisation of all strings. + Added: Usage of At command when failed (75%). + Modified: try to have samme presentation for all at-command code (75%). + * Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker] + * Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris] + level specifications (both since they share the same packet) + * Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker] + +08/25 + * Added: display usage when GM command failed (some GM commands) [Yor] + * Added @email GM command to change your account e-mail [Yor] + +08/24 + * Modified changesex script command use same function as @charchangesex now [Yor] + * Added @charchangesex GM command can be used on offline players [Yor] + * Added gm ladmin command to change GM level of an account [Yor] + +08/23 + * Fixed some at_command messages: [yor] + - remove all unused messages + - create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary + - add some (arround 80, but not all) messages in msg_athena.conf + +08/22 + * Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor] + * Changed in battle_athena.conf [Yor] + - atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.) + - unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!) + - day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT) + +08/21 + * Updated battle_athena.conf to be in English (not Engrish) [Ancyker] + * Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl] + * Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl] + * Added how to use skill_castnodex_db.txt [AppleGirl] + * Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them + Midas' idea [AppleGirl] + * Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added block command (ladmin c) [Yor] + * Added block command (ladmin perl) [Yor] + * Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker] + * Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor] + * Changed: atcommand_gm_only is set to 'no' by default, because: [Yor] + - GM commands level now works correctly + - GM commands levels are now set by default with diffrent types of GM + * Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor] + +08/20 + * Added unblock command (ladmin C) [Yor] + * Added unblock command (ladmin perl) [Yor] + * Fixed: when limited time is in past, add new duration starts from actual time [Yor] + * Added chardisguise/charundisguise [Kalaspuff] + * Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor] + * Fixed sage rebirth ability at professor job change NPC. [PoW] + * Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW] + * Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor] + * Added a check_ip_flag option in char-server [Yor] + * Added a check_ip_flag option in login-server [Yor] + * Added a display at start of login-server about IP checking configuration. [Yor] + +08/19 + * Added unban/unbanish command (ladmin c) [Yor] + * Added unban/unbanish command (ladmin perl) [Yor] + * Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor] + * Fixed @option/@charoption when player is disguised. [Yor] + * Added: some information about TODO 19. [Yor] + * Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor] + +08/18 + * Guardians were immune to skills/spells, fixed. [Valaris] + * Added custom draculax.txt script to display npcskilleffect command. [Valaris] + * Added npc/events/custom folder. [Valaris] + * Fixed Umbala Language Quest NPC bug [PoW] + * Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris] + * Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris] + * Changed disguise id check to > 23 instead of max_pc_class. [Valaris] + * Added bDisguise script command for items. [Valaris] + Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise + * Added flag so @disguise command will override any disguise scripts. [Valaris] + * Updated @disguise description in help.txt. [Valaris] + * Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor] + * Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor] + * Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW] + * Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor] + * Fixed: free block memory on NULL pointer in char-server do_final [Yor] + * Fixed: reset server information when map-server disconnected from char-server [Yor] + * Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor] + * Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor] + +08/17 + * Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor] + * Correction of @rura, @where, @rurap and some other things in GM commands. [Yor] + * Correction of a parameters' errors in GM commands. [Yor] + * Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor] + * Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus] + * Added some comments in .conf about @gm [Yor] + * Fixed max value of level_new_gm parameter (not 100, but 99) [Yor] + * Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor] + * Fixed @GM GM command [Yor] + +08/16 + * Translation of final message of @gm [Yor] + * Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor] + * Fixed: refuse @gm GM command to ... a GM :) [Yor] + * Added complete answers of /in /ex /inall /exall. [Yor] + * Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor] + * Added individual ignore management, and wisp checks [Yor] + * Added TODO 33 [Yor] + * Fixed possible overflow with @ban GM command [Yor] + * Speed up a little @ban GM command [Yor] + * Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor] + +08/15 + * Added a resume for 'email_creation' parameter [Yor] + * Fixed double messages when a player wisp/page itself [Yor] + * Added ignore all for wisps [Yor] + * Added better explanation for the new 'email_creation' parameter [Yor] + * Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor] + * Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor] + * Used config_switch instead of atoi for email_creation parameter [Yor] + * Added an option to create e-mail at connection with client [Yor] + * Added authentification with login_id2 (1040) - activated by default [Yor] + * Added partial part of authentification with login_id2 (1040) [Yor] + * Added some missing GM commands in help.txt [Yor] + * Improved search of map-server when map is not found [Yor] + * Added banish in ladmin (c) to be like of GM commands [Yor] + * Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus] + +08/14 + * Added banish in ladmin (perl) to be like of GM commands [Yor] + * Fixed some possible errors with maps management in char-server [Yor] + * Fixed bug of map searching when to few maps on map-servers [Yor] + * Changed some console displayings in char-server [Yor] + * By default, activation of player ip check [Yor] + * Added some of 1040: check of player ip between each server [Yor] + * Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88] + * Added possibility to disable automatic reload of GM accounts file [Yor] + * Added log when GM accounts file can not be readed [Yor] + * Changed default of GM accounts file check for 120 sec to 15 sec [Yor] + * Added automatic reload of GM accounts file if it was modified [Yor] + * Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor] + * Fixed possible error of monster id (GM command) if monster begins by a number. [Yor] + * Added jobname in @charstats command. [Yor] + * Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor] + * Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus] + * Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88] + +08/13 + * Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor] + * Fixed incorrect mob IDs with Valaris's mob_db [Ancyker] + * Added possibility to execute GM commands when you wisp someone [Yor] + * Added a console message when a player try to spoof his name in Global message [Yor] + * Added size of packet in packet send by map-srvr to char-srvr about online players [Yor] + * Added check on individual stat at creation of a character [Yor] + * Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate. + Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris] + * Increase maximum weight can be used with an item now, thanks to orn. [Valaris] + * Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris] + * Fixed muramasa curse rate, thanks to OxiMoron. [Valaris] + * Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88] + +08/12 + * Begin to add 1040 in login/char/chrif about authentification. not finished [Yor] + * @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris] + * Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris] + * Unitinalized nameid in script.c [Valaris] + * Added position in log when unknown packets are saved (login-server). [Yor] + * Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor] + * Added a function to obtain character name with index in auth structure (char.c). [Yor] + * Corrected check/test error in mapif_send. [Yor] + +08/11 + * itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus] + * Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus] + * Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris] + * Thief bug names were mixed around in monster.txt, fixed. [Valaris] + * Fixed incorrect parse of usable item rate. [Valaris] + * Added ban command in ladmin (C), like GM command [Yor] + * Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor] + * Added translations in inter.c about wisp/page. [Yor] + * Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor] + * Sended an answer when a wisp/page is supressed because of a timeout. [Yor] + * Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor] + * Changed Printf in intif_wis_message to have better information. [Yor] + * Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor] + * Completed some printf and comments in char.c [Yor] + +08/10 + * Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor] + * Corrected split of broadcast messages in char-server [Yor] + * Message to Valaris from Yor (special file) + * Improved accounts file saving: [Yor] + - be sure that accounts file is save at least every minute. + - save accounts file at end of login-server + * Reduce displaying size on some errors about accounts file reading. [Yor] + * Created log when change sex packet give an invalid value (login-server) [Yor] + * Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor] + * Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor] + +08/09 + * Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris] + * Basic Implementation of Basilica [AppleGirl] + * Added ban command (ladmin perl) [Yor] + * Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor] + * Correction of some tests on server_fd array in login.c [Yor] + * Improved Item_searching in all GM commands [Yor] + * Created @undisguise GM command [Yor] + * Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus] + * Corrected char_divorce (char-server) to remove ring to both partner [Yor] + * Eventual crashfix for clif_authfail_fd [Kalaspuff] + * Corrected @jump GM command. [Yor] + * Reduced size of conf/help.txt (max 200 lines in chat window). [Yor] + +08/08 + * Added NPCs to @disguise. [Valaris] + * Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris] + * Added @disguise GM command in help files [Yor] + * Added @go 16 to visit prisoners [Yor] + * Reduced number of accounts file saving when informations are not important: [Yor] + - save immediatly any modification/creation/deletion of account (like before) + - use counter before saving if only ip/time of last connection is changed (normal authentification) + because these values are already save in log file. + * Speed up account searching in login-server. [Yor] + * Speed up character searching for @(un)block/@(un)ban. [Yor] + * Created @unjail/@discharge GM command. [Yor] + * According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor] + * Speed up some sortings of online creation (strings based sortings) [Yor] + * Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff] + +08/07 + * Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris] + * Corrected a little error in online files creation (only 1 player was visible) [Yor] + * Optimized memory management of online list [Yor] + - less memory usage + - less tests and loops (more speed) + - more efficient (use directly char_dat position instead of search it) + * Added Official Assassin Job Quest. Now eAthena contains all 2-1 Job Quests! [kobra_k88] + * Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus] + * Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!) + * Fixed code for mob disguises, should not crash clients now. + * Improved online management code when we receive char_id. [Yor] + * Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris] + * Improved mmo_char_send006b function [Yor] + * Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor] + * Added an option to create backup of characters file [Yor] + The backup_txt file was created because char deletion bug existed. + Now this bug is corrected and no character disappear. + But, create a file with a lot of characters can use CPU usage and decrease hard disk speed. + So, I create an option with default value: no create backup. + * Improved online management code and some others little codes (char.c). [Yor] + * Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus] + +08/06 + * Improved/Optimized some little code (char.c/login.c). [Yor] + * Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor] + * Optimized global message nick spoof fix. [Valaris] + * Fixed crash in attacking guardians in a null guild. [Valaris] + * Capped earned exp at 1000000000. [Valaris] + * Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris] + * Fixed crash in guardian search. [Valaris] + +08/05 + * Added @jail GM command [Yor] + * Added explanation of @idsearch and @mapinfo in help.txt [Yor] + * Improved @idsearch GM command [Yor] + * Improved a little 3 loops in ladmin.c [Yor] + * Improve some codes in char.c: [Yor] + - less tests in online creation + - mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer + - server_fd[] not seted/modified/checked correctly + * Set max_walk_path back to 48. [Valaris] + * Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith, + added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88] + +---------eAthena 1.0.0 RC3 TXT--------- +08/04 + * Set battle_athena.conf to more accurate settings. [Valaris] + * Decreased default damage delay (stun after being hit) by 75%. [Valaris] + * Max walk path is now correct (17). [Valaris] + * Area size is now correct (14). [Valaris] + * Improved some very little codes in char.c. [Yor] + * Remove displayings of logs on console of map-server [Yor] + use it for DEBUG, not by default, that decrease a lot the performance + * Added (commented) printf in freeze function for debug if necessary [Yor] + * Fixed melee ctrl-attack targetting. [Valaris] + * Reset attack target when equipping arrows. [Valaris] + * Improved (log and remove_control_chars functions). [Yor] + * Added 'available free bytes' in displaying when size is expanded. [Yor] + * Fixed incorrect returns in clif_authok. [Valaris] + * Added pointer checks to chrif.c [Valaris] + * Added some pointer checks to the mob ai. [Valaris] + * New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + +08/03 + * Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris] + * Added console displaying to have complete informations when we expand Wdata session. [Yor] + * IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor] + * Old packet 0x2b16 use packet number 0x2b0e. [Yor] + * remove packets 0x2b0e and 0x2b0f. [Yor] + * on character_name ask packet: add account_id of asker. [Yor] + * Improved script code in novice.txt. [Yor] + * Fixed error in alberta.txt. [Valaris] + * Allow player placement on afm-type maps. [Valaris] + * Added afm loading. [Valaris] + * Removed useless code for mob equipment. [Valaris] + * Initial packet setup for possible playable mobs. [Valaris] + * Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris] + * Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor] + * Added TODO 29 & 30. [Yor] + +08/02 + * Re-added "player not attached" error reporting. [Valaris] + * Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris] + * Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed), + made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c + Due to the fixed bug Merchant Job Quest works fine now [Lupus] + * Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt + milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus] + * Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor] + * Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor] + * Added check on character name with less than 4 characters [Yor] + * Added @chardelitem GM command [Yor] + * Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus] + * Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris] + * Added check for src with High Wizard's soul drain. [Valaris] + * Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris] + * Added more pointer checks in the clif_authok function. [Valaris] + * Added some pointer checks to clif.c, should prevent crashes. [Valaris] + * Added some checks about writing errors of item names in GM commands (check cases). [Yor] + * Fixed Hunter Job Quest 1.6 [Lupus] + * Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing + excessive amounts of lag. [Valaris] + +08/01 + * Added ability to spawn character pets. [Valaris] + * Added show_mob_hp. [Valaris] + * @item/@item2 GM commands now work correctly with name begining by a number. [Yor] + * @spawn/@monster2 GM commands authorise spawn of guardians. [Yor] + * Fixed so guardians may be spawned outside of castles. [Valaris] + * Fixed/Improved @spawn/@monster2 GM command. [Yor] + @spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor] + * Added TODO 26 and 27. [Yor] + * Guardians if owned by a guild will display guild name and castle on name request. [Valaris] + * Added checks for null blocks in mapforeachin functions. [Valaris] + * Addition of a GM level 99 account for test of GM commands. [Yor] + * Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor] + * Improved @time GM command (better code and display more informations). [Yor] + * Added informations about game time in @time command [Yor] + * Added @time command to have server time [Yor] + * Fix night at start if administrator want night and there is no duration for night and day [Yor] + * Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + * Begin @unban/@unblock GM command (structure done). [Yor] + * It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor] + * @day/@night: when already the desired cycle, display a message. [Yor] + * Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus] + +07/31 + * Terminated: night/day cycles. [Yor] + * When a state comes back to normal, player stay in night if it's night. [Yor] + * Started to add management of day/night: [Yor] + creation of 3 parameters in battle.conf + TODO: usage of these parameters (later). + * added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor] + * Fixed number/quantity in @item command. [Yor] + * Fixed when night and disconnect/reconnect, it's night. [Yor] + * Removed extension to check a map in char.c (less tests). [Yor] + * Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor] + * Added izlude to check major cities. [Yor] + * Began adding developer mobs. [Valaris] + * Added dyes and fixed client crashes with player mobs. [Valaris] + +07/30 + * Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus] + * Added checks for major cities in afm format. [Valaris] + * Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them. + Thanks to alexkreuz [Valaris] + * Changed Map and NPC loading display. [Valaris] + * Removed unneeded 'End' and duplicate 'end' script commands. [Valaris] + * Added 'language ' command in ladmin (perl) to change language of displaying. [Yor] + * Fixed atcommand_gm_only parameter: [Yor] + 0: you can define level command '0' for normal players (gm level 0) + 1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM) + Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) . + * Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus] + Added official shop into St.Abbey. [Lupus] + Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus] + Fixed jobchange.txt. [Lupus] + Improved pvp.txt. [Lupus] + Rearranged and updated! (now in 2 variants) mapflags. [Lupus] + Updated map_athena.conf [Lupus] + * Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff] + +07/29 + * Added 'language ' command in ladmin.c to change language of displaying. [Yor] + * Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris] + * Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor] + * Fixed some errors in novice.txt script. [Yor] + * Kashy's script fixes. [Valaris] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Creation of a char_unblocked directory (char directory is blocked) [Yor] + - modification of makefile + * Added a note in TODO 14: encrypted password - problem with client versions [Yor] + +---------eAthena 1.0.0 RC2 TXT--------- +07/28 + * Added metaller to equipped mobs. [Valaris] + * Added a note in TODO 19 [Yor] + * REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Added "OMG" emotion to weapon/armor breaking. [Valaris] + * Removed space in a pointer in mob.c. [Valaris] + * Restored previous version of lan management in login.c, because: [Yor] + - check test was incorrect (no mask for controled ip). + - in check test, we recalculate every time the subnetwork (loss of time). + - impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network). + - no more default configuration of sub-network. + - possible errors in the reading function of the lan file. + - no more logs about sub-network. + - BUT, conserved: - new default name for lan file + - color for displaying of LAN/WAN + * Removed some memsets from chrif.c that caused segfaults. [Valaris] + * Added fix for anklesnare and spiderweb. [Valaris] + * Added Kashy's Lan Support code. [Valaris] + * Removed variables and assignment used by prevent_multi_login. [Valaris] + * Removed prevent_multi_login. (many problems reported with it) [Valaris] + * Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris] + * Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus] + * Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88] + * Fixed Hunter.txt coords of the Guild entrance warp [Lupus] + +07/27 + * Improved check command in ladmin.c [Yor] + * Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff] + * Added @enablenpc and @disablenpc in help files [Yor] + * Fixed Thunder Storm range (thanks midas) [Kalaspuff] + * Added Anthell NPC trigger in Morroc.txt warps/town [Lupus] + * Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus] + * Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor] + * Removed possible overflow error in @enablenpc and @disablenpc [Yor] + * Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff] + * Improved best job test in novice.txt [Yor] + * Improved @go command: [Yor] + - give list of cities if no value + - added start point (to welcome newbies) + - give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested + * Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88] + * Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88] + * Added Legendary Swords quest. [Kobra_k88] + * Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88] + * Splitted and optimized Kafras & Guides. [Kobra_k88] + * Implemented Kafra Pass! [Kobra_k88] + * Removed free Breeders (replaced by the correct ones). [Kobra_k88] + * Placed all Sign Posts/Signs into a single file. [Lupus] + * Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus] + +07/26 + * More accurate pvp point system. It skips ranks, needs more work. [Valaris] + * Fixed crash in executioner card code. [Valaris] + * Fixed mob respawn after death bug. [Valaris] + * Fixed exp problem caused by bounds checking. [Valaris] + * Fixed pvp rank so only one person may be rank 1. [Valaris] + * Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris] + * Added Job Agencies for Training Ground (novice.txt). [Yor] + * PVP respawn client crash fix. [Valaris] + * Fixed small error in kafra.txt [Syrus22] + * Finished adding special equipped mobs. [Valaris] + * Added 2 living statues behind the NPC 'Monster Master'. [Yor] + * Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor] + * Added 2 living statues behind the NPC 'Monster Expert'. [Yor] + * Improved a little 1st course of novice training. [Yor] + +07/25 + * Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris] + * Removed [AppleGirl]'s armor breaking code. [Valaris] + * Commented out data_dir. [Valaris] + * Finished exp bounds checking. [valaris] + * Added negative value checks to clif_updatestatus. [Valaris] + * Added exp bounds checking for those rediculously high rate servers. [Valaris] + * Added bounds checking to the @zeny and @charzeny commands. [Valaris] + * Improved and corrected some errors 1st course of novice training. [Yor] + * Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22] + * Fixed Alliance check in mob.c [Syrus22] + * Added armor breaking to normal battle (crits will double the chance) [Valaris] + * Fixed mistake in map.c causing compile errors. [Syrus22] + * Fixed backstab bow penalty option. [Syrus22] + * Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22] + +07/24 + * Added backstab bow penalty option [Akaru] + * Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris] + * Another vending fix. [Valaris] + * Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris] + * Fixed a vending bug. [Valaris] + +---------eAthena 1.0.0 RC1 TXT--------- +07/22 + * Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris] + * Full Guild Wars Script Complete!!! [Akaru] + * Fixed rice ball item. [Valaris] + * Fixed problems with options and peco riding. [Valaris] + * Updated item_db with fix for Sleipnir and more translations. [Akaru] + * Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus] + +07/21 + * Updated refine.txt. Added optional features and optimized the file. [Syrus22] + * Evened out the # of columns in mob_db, filled in some blanks. [Valaris] + * Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris] + +07/20 + * Removed Ghostring from gef_fild13.gat [rg] + +07/19 + * Fixed Graffiti [Valaris] + * Zeny Bug In Vending Fixed [Darkchild] + +07/18 + * Added a check about level of at_command when reading the file [Yor] + * Updated /help and conf/help.txt [Yor] + * Added @nuke command in conf/help.txt [Yor] + * More WoE Castles Done [Hikaru] + * Changed: inter.txt->inter.log in log directory [Yor] + * Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor] + * Changed: char.txt->char.log in log directory [Yor] + * Update features.html/changlog.html [Yor] + * Fixed compilationissue on FreeBSD [Kalaspuff] + +07/16 + * Remove limit for kami/kamib ladmin command. [Yor] + * Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris] + * Added some TODO for next version. [Yor] + +07/15 + * Changed: login.txt->login.log in log directory [Yor] + * added system to choice authorised ip for remote administration [Yor] + * Added listBan/listOk commands in ladmin's. [Yor] + * Speed up a little search_mapserver function. [Yor] + * Init map strings of each servers when map-server send informations. [Yor] + * Added some TODO for next version. [Yor] + +07/14 + * Fixed another lockup with multi_level_up [Valaris] + * Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor] + * Fixed name of ladmin_athena.conf. [Yor] + * Fixed mvp item reading. [Valaris/Syrus22] + * Added new move packet in map (ver.13jully04) [Yor] + * Added new auth packet in map (ver.13jully04) [Yor] + * Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor] + * Updated Some Npcs [Darkchild] + * Added Gefenia Warps [Darkchild] + * Added Berzebub Quest [Darkchild] + * Removed random alchemist marine sphere code, until some other system is worked out. [Valaris] + * Fixed infinite loop caused by turning multi level off. [Valaris] + * Added display id the char-server is freezed. [Yor] + * Added debug printf about the max_connect_user in char-server. [Yor] + * Added banadd command in ladmin.c [Yor] + * Removed duplicate check in chrif.c. [Yor] + +07/13 + * Fixed GM_level code in map-server. [Yor] + problem is in the hash system of the db -> use simple db until we found solution. + note: for this db, it's not necessary to use a db system (little db, 2 values: key, value) + * Improved GM_level code in map-srv, but not solve the problem. [Yor] + * Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor] + * Added character name, account id and gm level on console in map-server when auth is accepted. [Yor] + * Added gm_level of the account on console in char-server when auth is accepted. [Yor] + * Added gm_level of the account on console in login-server when auth is accepted. [Yor] + * Added timeadd command in ladmin.c [Yor] + * Added help for each command (help ) in ladmin (perl and c). [Yor] + * Fixed global message (normal speak) name spoof exploit. [Valaris] + * Added timeset command in ladmin.c [Yor] + * Added banset command in ladmin.c [Yor] + * Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl] + * Added multi_level_up command to battle_athena and commandline. [Valaris] + Turning it off will allow a player to only level up once from a monster. + * Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor] + * Fixed: init mmo_map_server structure (to 0) in char-server. [Yor] + * Added Gefenia Maps [Darkchild] + * Added @nuke command do to user request. [Valaris] + * Removed nick spoof fix code for now, it broke chat. [Valaris] + * Added some code for @nuke command. [Valaris] + * Finished adding battle_athena options to command line. Every option in battle_athena.conf + can now be passed directly through the command prompt. [Valaris] + +07/12 + * Added many battle_athena options to command line arguments. [Valaris] + * Allow battle_config_switch to be used globally in map-server. [Valaris] + * Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris] + * Added BETA version of ladmin in C. [Yor] + * Added new packet structure of authentification and move - automatic detection. [Yor] + * Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris] + * Fixed a displaying error in state command (perl ladmin). [Yor] + * Added /monster command. Syntax is /monster . [Valaris] + * Fixed chat spoofing in global messages. [Valaris] + * Prevent nick spoofing in whispers. [Valaris] + * Added check about lenght of packet 0x72 for new client version [Yor] + * Added Pet Equip Items Quest Npc + * Added Pet Taming Items Quest Npc + * Added Slotted Sunglasses Quest Npc + * Added pet_equip_required option for pet skills. [Valaris] + * Changed: create a sub-function for help command in ladmin (perl). [Yor] + +07/11 + * Added Petit pet skill. [Valaris] + * Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris] + * Fixed dokebi and baby desert wolf pet skills. [Valaris] + * Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris] + * Added script command petskillattack.[Valaris] + * Fixed search command in ldamin (perl) ignore sensitive case now. [Yor] + * Fixed default to 0 for save_unknown_packets configuration in login. [Yor] + * Fixed the warnings about implicit declarations. [Kalaspuff] + * Added @guildrecall/@partyrecall commands. [Yor] + * Added Isis pet skill. [Valaris] + * Added petmag script command for magnificat. [Valaris] + +07/10 + * Added Banker NPC because alot of users wanted one. [Syrus22] + +07/09 + * Added Sohee pet skill. [Valaris] + * Added petheal command. [Valaris] + * Added Smokie pet skill. [Valaris] + * Added bonus bPerfectHide for Smokie pet skill. [Valaris] + * Added Spore pet skill. [Valaris] + * Created petrecovery script command. [Valaris] + * Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris] + * Added petloot script command for pet looting. [Valaris] + * Removed pet_loot config settings. [Valaris] + * If pk_mode is on, a message will show up in map-server. [Valaris] + * Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris] + * Fixed @killmonster crash caused by implementation of pk_mode. [Valaris] + * Finished setting up pk_mode, should be 100% complete now. [Valaris] + * Added nopvp.txt for pk_mode. [Valaris] + * Prevent novice engagement in pk_mode. [Valaris] + * Fixed up and changed the exp penalty system. [Valaris] + * Pk_mode will now give double exp loss if killed by player. [Valaris] + * Updated conf/help with new commands [Yor] + * Removed more pvp timer stuff from pk_mode [Valaris] + * Increase drop rates +25% if over level 20 on pk_mode. [Valaris] + * Changed +25% exp increase on pk_mode to 15%. [Valaris] + +07/08 + * Disabled pvp rank and timer if pk_mode is on. [Valaris] + * All maps made pvp if pk_mode is on. [Valaris] + * pk_mode additional 25% exp given over level 20 [Valaris] + * Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris] + * Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris] + * Reworked prevent_multi_login, should work perfectly now. [Valaris] + * Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris] + * Added map-servers anti-freezed connection in char-server. [Yor] + * Added char-servers anti-freezed connection in login-server. [Yor] + * Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22] + * Created @partyspy command. [Syrus22] + * Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22] + * Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor] + * Updated and Shrunk the Kafra Script. [Syrus22] + * Create @reloadgmdb gm command. [Yor] + +07/07 + (Dated On Aegis Website) + *--Released 1.0.0 RC3--* + * Fixed crashed with prevent_multi_login. [Valaris] + * Allow infinited local logins if prevent multi_login is on. [Valaris] + * If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris] + * Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris] + * added updated const.txt and pet_db.txt [Valaris] + * GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor] + * Removed gm_account_filename definition from map.conf. [Yor] + * Updated GM level by reloadGM ladmin command. [Yor] + * Added a packet between char and map to send GM accounts and their level. [Yor] + * Added a GM minimum level option to display 'GM' in online files. [Yor] + * Added a warning when a GM account is defined twice in the file. [Yor] + * Check for castle before guardian searches for emblem. [Valaris] + * Prevent stealing from treasure boxes. [Valaris] + * Enable mounted classes to use pedestrian counterpart's items. [Valaris] + * Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris] + * Fixed crash with putting pets with skills back into egg. [Valaris] + * Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris] + * Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris] + * Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris] + * Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris] + * Added 'GM' display option for online files [Yor] + * Improved GM accounts file reading in login-server [Yor] + +07/06 + * Changed heal dog in prontera to a poring. [Valaris] + * NPCs with mob sprites can now be used in scripts. [Valaris] + * Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris] + * Mounted classes will now use equipment of their pedestrian counterpart. [Valaris] + * Improved management of GM account structure in char-server. [Yor] + * Added packet betwen login to char to send GM accounts value. [Yor] + * Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor] + * Added listGM/lsGM command in ladmin to list only GM. [Yor] + * Correct an error in loop of char_divorce function (incorrect variable). [Yor] + * Added some comments. [Yor] + * Added a check on start_point.map when configuration is readed. [Yor] + * Modified final message of login log at end of login-server. [Yor] + +07/05 + * Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris] + * If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris] + * Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one + is being held and caster met requirements) [Valaris] + * Prevent unidentified and broken items from being sold. [Valaris] + * Added buildin_repair for equipment repair npc. [Valaris] + * Added repair npc to forgery in prontera. (refine.txt) [Valaris] + * Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris] + * Corrected some item names [rg] + * Fixed so @repairall success message and effect will only display once. [Valaris] + * Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris] + * Added @repairall command. [Valaris] + * Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris] + * Crit's will now double weapon breaking chance if turned on. [Valaris] + * Added missing commands in atcommand_athena.conf. [Yor] + * Added @warpto command (same @jumpto). [Yor] + * Added increase in chance to break weapon if using powerthrust. [Valaris] + * Added weapon_break_chance to battle_athena.conf. [Valaris] + * Modified multiple login from one ip prevention(and remove gm bypass). [Valaris] + * Broken weapons will now have their description names in red. [Valaris] + * Speed up characters saving [Yor] + * Improved logs when a character isn't readed [Yor] + +07/04 + * Completed Prontera guild castles [Akaru] + * break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon. + Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris] + * Update int_storage to include broken column on all items (updates from old version) [Valaris] + * Added @guildspy command. [Syrus22] + * Added weapon_break_chance. (Not implemented yet) [Valaris] + * Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris] + * Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg] + * Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris] + * Prevent @monster and @spawn of guardians/emperium. [Valaris] + * Changed killmonster so it will not destroy guardians. [Valaris] + * Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will + display ip of offending ip if turned on) [Valaris] + * Added checks on player trading to prevent possible exploits. [Valaris] + * Make sure cart is on before vending. [Valaris] + * Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris] + +07/03 + * Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris] + * Fixed the damage code for Falcon Assault, so its not totally useless. [?] + * Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris] + * Removed option 32 from @option, added @mountpeco command. [?] + * Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status, + will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris] + * Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris] + * Peco mounting will now jobchange accordingly. [Valaris] + * Added checkfalcon and checkriding script commands. [Valaris] + * Added checkcart script command (since was already being used in scripts) [Valaris] + * Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles. + Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris] + * Improved messages between servers about connections. [Yor] + * Improved pc_resetlvl, fixed the bug about options being left. [?] + +07/02 + * Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor] + * If there is no map-server, send right message to client (char-server) [Yor] + * Improved counter of users (char-server) [Yor] + * Improved save of characters (char-server) [Yor] + * Improved sorting of account before save (login-server) [Yor] + * Improved map search at selection of a character (char-server) [Yor] + +07/01 + * Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris] + * Changed exploit fix in chrif.c [Valaris] + * Added assassin mask view_id in item_db [Valaris] + * Added a parameter to authorise minimum GM level at connection (login) [Yor] + * Fixed crash caused by making raw connection to map-server. [Valaris] + * Corrected a possible error at check of online players [Yor] + * Improved characters names control/check [Yor] + * Improved save/load of REG2 strings and values (login) [Yor] + * When there is no char-server, login-server sends proper message instead of a void list of servers [Yor] + +06/30 + * Fixed a crash when used @charmodel,@charstpoint,@charskpoint and + @charzeny with the wrong name [Kalaspuff] + * Added possibilities for switchs in battle.conf (add some foreign language) [Yor] + * Protected char-server again disconnection of login-server [Yor] + * Added possible protection against packet exploits in chrif.c. [Valaris] + * Login-server: Added an option for the format of the date (log, etc...) [Yor] + Improved some little code. + Added log for char-server packets. + * Correction of prtg_cas03.txt that crash server AT START! [Yor] + * Added functions of mapflag noskill [Kalaspuff] + +06/29 + (Dated On Aegis Website) + *--Released 1.0.0 RC2--* + +06/28 + * Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris] + * Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier. + Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris] + * Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris] + * When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor] + * Fixed problem where warp portals broke in npc.c [Valaris] + * Updated atcommand_heal so it works like it should [Kalaspuff] + +06/27 + * Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be + using it, but it turns out it doesn't need to be) [Valaris] + * Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris] + * Improved @item command to make correctly pet eggs [Yor] + * Updated Chase Walk so you can't attack while you have it casted [?] + * Removed un-needed code for graffiti from clif.c [Valaris] + * Added @ban command (to ban a player for a limited time) [Yor] + * Added @charblock command (you have been blocked by GM team) [Yor] + * Added the mapflag nowarpto [Kalaspuff] + * Updated the function of nowarp [Kalaspuff] + +06/26 + * When a player is banned (or with a state != 0), he is disconnected [Yor] + * When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor] + * To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor] + +06/25 + * Added @charchangesex GM command [Yor] + * Changed: Changesex is now done after that the login-server has confirmed the change [Yor]. + becuase sex is saved in account file. + +06/24 + * Added new classes in change sex script command (buildin_changesex). [Yor] + * Translated pet_db.txt again [Valaris] + * Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3. + Will display skill failed if checks do not pass. Shows effect when successful. [Valaris] + * Added administration system to change final date of a banishment. [Yor] + * Added information about banishment in admin packets about an account. [Yor] + * Updated Chase Walk so it cancels when recasted to fix it. [?] + * Initial implementation for Chase Walk skill for Stalker Class [?] + * When an account is banned, message_error_7 is not more modified [Yor]. + +06/23 + (Dated On Aegis Website) + *--Released 1.0.0 RC1--* + * Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris] + * Fixed magic_damage_return so it will actually work (for Maya card). [Valaris] + * Add a ban timestamp in the structure of the accounts. Management not yet make [Yor] + +06/22 + * Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor]. + * Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor]. + * Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor]. + * Added New City: Jawaii + * Fix free memory of online structure at end of char-server [Yor]. + * Remove possible duplicated online players (multiple map-servers) [Yor]. + * Add examples in state command (ladmin) [Yor]. + * Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor]. + * Iinitial implementation for magicdamagereturn for Maya Card [?] + * skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers). + If it is set to yes, skill will fail and sp and items required will be lost. [Valaris] + +06/21 + * Updated Sacrifice skill code to be more flexible for user usage [?] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?] + * Guild Territory will now display the # of castles owned or "None Taken". [Valaris] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt. + Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris] + * Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet, + right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris] + * Fixed so players will always spawn with guild emblem if one is needed. [Valaris] + * Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor] + * Fix memory management for online players list. [Yor] + * Party HP now updates instantly on change. [Valaris] + * Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris] + * A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor] + * When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor] + * Improve presentation of online.txt file. [Yor] + * In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg] + +06/20 + * Fixed problem with guardian emblems disappearing [Valaris] + * If a GM use GM HIDE, he is not counted in the number of players [Yor] + * Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied + to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris] + * Guardians cannot attack and cannot be hurt during non woe time. [Valaris] + * Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris] + * Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris] + * Autosave will save guardian HP data. [Valaris] + * Castle.txt visibleG flags will be set when guardians are killed. [Valaris] + * Moved emperium defense upgrade to mob.c. [Valaris] + * Removed guardian hp saving from agitend. [Valaris] + * Added option to choose which columns are displayed in the online files [Yor] + * Added option to choose how to sort online players in the online files [Yor] + * Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor] + * Kafra Points And Rewards fixed [Darkchild] + * Kafra file made a lot smaller with DoEvents [Darkchild] + * Fixed lotsa bugs in Kafra's [Darkchild] + * Initial implementation for paladin's skill sacrifice [?] + * Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris] + * Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris] + * Implemented guardian and guardianinfo script commands [Valaris] + +06/19 + * Added Ghp0-7 into castle database [Valaris] + * Added configuration parameters to choose online files filename [Yor] + * Added online files (txt and html) [Yor] + * Added choose of authorised letters/symbols for characters names [Yor] + * Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru] + * Translated more of item_db [Akaru] + * Added correct effects for Dragon Boat Festival items [Akaru] + * Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor] + * Improve allow/deny configuration. Write warnings if necessary. [Yor] + +06/18 + * Add heal_payment.txt as an alternative to heal.txt. [Yor] + * Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor] + * Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor] + * Save configuration of login-server in log file at start. [Yor] + +06/17 + * Added fritz's vending exploit fixes. [Valaris] + * Increased max guild castle size to accomodate for novice guild castles. [Valaris] + * Fixed investment in prontera castle 1. [Valaris] + * Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris] + * Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values. + 1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris] + * Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor] + +06/16 + * Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru] + * added fix for cross-class ensemble skills. [?] + * Increased max guild member limit to accomodate for +2 member increase per extension level + and increased max position to 56 to accomodate for all members. [Valaris] + * More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris] + * added fixes for class checking skills like bard & dancer skills and a priest skill. [?] + * updated skill_cast_db and skill_require_db.txt [?] + * changed int_guild.c added +4 for extension skill to match kRO [?] + * remote administration: add a command/packet to change sex of an account [Yor] + * Log detailled reason of refused connection in remote administration [Yor] + * Create a mmo_auth_tostr for accounts [Yor] + * Add a message when char-server is terminated [Yor] + * Save deleted accounts (administration deletion) in log file [Yor] + * Add a message when login-server is terminated [Yor] + +06/15 + * Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris] + * Added a char_log function. Save unreadable characters in log instead of a specific file [Yor] + * Save invalid account lines in log file. Account will be never lost [Yor] + * Sort characters of same player with the slot number in the characters file [Yor] + +06/14 + * Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru] + * Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru] + +06/13 + * If player is on map-server when the account is deleted, player is now disconnected [Yor] + * Correction of char deletion bug when account is deleted [Yor] + * Added Prontera Castle 5 guild wars script [Akaru] + * Added Prontera Castle 4 guild wars script [Akaru] + * Add checks about duplicated character ids and names [Yor] + * Don't save a reg of a character if its string is void [Yor] + * Read a character even if a reg string is void (don't suppress the char for that) [Yor] + * Save characters in account_id order [Yor] + * Save not readed characters in a file (char file name + "not_readed.txt") [Yor] + * Display line number when a character can not be readed [Yor] + * Initialise char_num! Display number of readed characters [Yor] + * Do right initialization of char_dat [Yor] + * Add red color for ERROR displays in char.c [Yor] + +06/12 + * Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor] + * Optimised Mr. Smile NPC script [Akaru] + * Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor] + * Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru] + * Added Prontera Castle 3 guild wars script [Akaru] + * Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris] + * Graffiti displays to other plays and remains on map for set time period. [Valaris] + +06/11 + * Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris] + * Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor] + * Add a display when a player does a connection [Yor] + * Add a display when a remote administration does a connection [Yor] + +06/10 + * Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul] + * Add parameters in login.conf to display or not parse information [Yor] + * Remove some repeated codes in ladmin / add example when error of command [Yor] + * Remove delete_session error in login.c (sorry) [Yor] + * Display correct message for char-server disconnection [Yor] + * Finish translation of ladmin [Yor] + * Fixed Various Npc Bugs [Darkchild] + * Added green colour for READY displays in char-server, login-server and map-server [Akaru] + +06/09 + * Add some comments in ladmin [Yor] + * Remove displaying of packet 0x2714 from login-server [Yor] + * Correct length of password send to login-server in char-server [Yor] + * Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor] + * Change displaying of the title [Yor] + * Optimised twin towers script to use duplicate [Akaru] + * Edited to a more user friendly error message for invalid server communication password [Akaru] + * Updated the item_db for more item name consistencies [Akaru] + * Reverted training grounds back to new_1-?.gat maps. [Valaris] + * Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris] + +06/08 + * Put a HOWTO in lan_support.conf. [Yor] + * Removed extra semicolons in char.c, map.c, and pc.c. [Valaris] + * Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris] + +06/07 + * Translated refine_db.txt. [Valaris] + * Negative vending fix. [Fritz] + * Correction of mktime parameters in ladmin + some translations [Yor]. + * Add some checks on login-server configuration parameters [Yor]. + +06/06 + * Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris] + * Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg] + * Add title to the servers. [Yor] + * Add warnings about default password usage (administration and gm passwords). [Yor] + * Modify adduser.c for the default configuration. [Yor] + * Write the complete admin_packet.txt. [Yor] + * Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris] + * Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris] + * Begin splitting monsters.txt [Akaru] + * Removed obselete monster spawn files [Akaru] + * Complete Guild Wars for Prontera Castle 2 script done [Akaru] + * Fixed prevent_logout option. [Valaris] + +06/05 + * Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris] + * Fixed player logout display on map-server console. [Valaris] + * Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg] + * Fixed noskill map flag [?] + * Complete information about login configuration in conf_ref.txt [Yor] + * Add possible configuration values on/off or yes/no in login-server [Yor] + * Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris] + * Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg] + * Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg] + * Changed so no one can spawn inside castles. [Valaris] + * Updated item_db with more consistant names, fixed some unknown_items [Akaru] + * Complete Guild Wars for Prontera Castle 1 script done [Akaru] + * Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris] + * Will not default to prontera.gat if map-server is not connected. [Valaris] + * Warp players who are not in guild out of castles when WoE starts. [Valaris] + +06/04 + * Allies now do no damage to guardians or emperium. [Valaris] + * Prevent allies from being attacked by guardians. [Valaris] + * Optimized guardian emblem code. [Valaris] + * Fixed map-server crashing with spawning guardians in untaken castles. [Valaris] + * Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris] + * Fixed problem where guild emblem would vanish from guild info screen. [Valaris] + +06/03 + * Improve e-mails checks and LAN/WAN checks on char-server. [Yor]. + * Add some explanations in front of accounts file. [Yor] + * Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor] + * add missing parameters of char_athena.conf, and explain them. [Yor] + * Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor] + * fix missing include in char.c. [Yor] + * Translation of checkversion. Add some explanations in front of file. [Yor] + * Translation of getlogincount [Yor] + * Finish translation of new login.c [Yor] + * Implemented Guardian Emblems [Valaris] + +06/02 + * Added maximum_level option in battle_athena.conf [Valaris] + * Added maximum level cap to all the level up commands. [Valaris] + * Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris] + +06/01 + * Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris] + +05/30 + * Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris] + +05/29 + * Removed item_value_db.txt and all references to it [Valaris] + * Removed unused class_equip_db.txt [Valaris] + * Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris] + * @monster will summon monster without an amount specified [Valaris] + +05/28 + * Added heal and usable item rate modifier [Valaris] + * Added pet equipment to equipment rate modifier [Valaris] + * Added option to turn alchemist summon experience and drops on and off [Valaris] + * Alchemist Marine Spheres now randomly explode [Valaris] + * Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0 + would loop to server max hp value. [Valaris] + +05/26 + * Added New Hats [Darkchild] + * Added New Monsters [Darkchild] +05/23 + * Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz] + * Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz] + +05/21 + (Dated On Aegis Website) + *--Released 0.5.2--* + +05/20 + (Dated On Aegis Website) + *--Released 0.5.1--* + * got dye working again [Darkchild/fritz] + +05/19 + (Dated On Aegis Website) + *--Released 0.5.0--* + +05/09 + * added Prontera Guild Castle 3 test guild wars test script [Akaru] + * modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru] + * fixed several valkyrie jobchangers [Akaru] +05/08 + (Dated On Aegis Website) + *--Released 0.4.2--* + *--Released 0.4.1--* + * added Prontera Guild Castle 2 test guild wars test script [Akaru] + +05/07 (Dated On Aegis Website) + *--Released 0.4.0--* + +05/06 + * added Prontera Guild Castle 1 test guild wars test script [Akaru] +05/04 + * removed parses and added ENGLISH! [?] + +04/29 (Dated On Aegis Website) + *--Released 953 Delta--* + +04/28 (Dated On Aegis Website) (Whose Ideas Were These?) + *--Released 953 Gamma--* +04/27 + *--Released 951 Beta--* + * fixed @jobchange crash [credits to Mugendai, commited by Akaru] + +04/25 (Dated On Aegis Website) + *--Released 947 Alpha--* +04/23 + * added more Professor Skills and added checks [?] +04/10 + * added more upper skills from moonsoul's works [?] +02/12-04/10 + * CVS Down - Not Many changes could be made...* + +02/22 (Dated On Aegis Website) + *--Released 817--* + +02/12 + * added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT] +02/06 + * dumped @skillall for @allskill [?] +02/05 + * fixed provoke so it doesnt work on undead [RoVeRT] + * added TyrNemesis^ card removal code and min/max settings [RoVeRT] +02/04 + * added start_zeny and party_level_range to char_athena.conf [RoVeRT] +02/03 + * Improved the prontera.gat map fallback. [Sara-chan] + * Improved the way guild emblems act when logging in. [Sara-chan] + * Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT] + * fixed negative values for NPC to always be 0 +01/26 + * mob_warpslave correction [RoVeRT] +01/25 + * added poison hp reduction [AppleGirl] +01/20 + * added intimidate [RoVeRT] + * added mvp checks for some skills +01/17 + * added skill check for empelium attack and removed drops from NULL kills [RoVeRT] +01/16 + * added secondary effects for when characters with appropriate elemental armor + are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up), + SA_VIOLENTGALE(flee up) [moonsoul] + * removeal of @randmon as it isnt needed [RoVeRT] +01/15 + * fixed auto spell so it works the prober way [RoVeRT] +01/12 + * added mob_warpslave [RoVeRT] + * added mob_warp to check noteleport mapflag +01/07 + * added OnCommand for NPC [RoVeRT] + * added new on death method for NPC spawned mobs [RoVeRT] + * added mobcount [RoVeRT] +01/06 + * fixed icon status for spear quicken [AppleGirl] + * added quoted name support for @monster [RoVeRT] +01/05 + * added indivudal support for card and equip drop rates [RoVeRT] +01/04 + * added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl] + * added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE, + SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl] + * Fixed Effects of a few bard Skills. [AppleGirl] + * added option to stop logout for 10 seconds after taking a hit [RoVeRT] +01/03 + * added inet_ip support to char and map [RoVeRT] + * added checkcart, checkfalcon and checkriding npc commands +01/02 + * added new npc timer support that is independant of a player [RoVeRT] +12/31 + * Added @refineall [Mark] +12/30 + * added support for custom_item-db.txt with battle_athena.conf option [RoVeRT] + * fixed @charzeny bug + * translated help.txt to english anong with a few other files [RoVeRT] +12/29 + * added umbala maps to map_athena.conf [RoVeRT] +12/26 + * added Skill_range based on level, and partially working AutoGuard [Moonsoul] + * added Correction of Whip and Instrument Damage Again [Sara-Chan] +12/25 + * Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other + Splash skills), and Fixed Brandish Spear [AppleGirl] + * Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT] +12/24 + * Added Side Effects for multiple skills for 2-2 classes [AppleGirl] +12/23 + * Added GM Command Called @Skillall [RoVeRT] + * @skillall to skill-up all your current skills [RoVeRT] + * @hide does hide you from all monsters [RoVeRT] + * fire wall limited to 5 per map [RoVeRT] + * to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT] + * no luck with @morph at this time yet [RoVeRT] + * splash attack added but still kinda buggy [RoVeRT] + * Added in Dancing and Song Playing for Bard and Dancer [AppleGirl] + * Added Skill Arrow Check For Archer Skills [AppleGirl] + * Added Skill Status Recovery [AppleGirl] + * Added Skill Bard and Dancer Skills Last Longer [AppleGirl] + * Added Skill Grimtooth does splash damage [AppleGirl] + * Added Skill Steal Fixed and Snatcher [AppleGirl] + * Added Skill SonicBlow only works with Katars Now [AppleGirl] +12/22 + * Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl] diff --git a/Dev/Dev-Folder-Notes.txt b/Dev/Dev-Folder-Notes.txt index ded4eb5e4..1936b8fc1 100644 --- a/Dev/Dev-Folder-Notes.txt +++ b/Dev/Dev-Folder-Notes.txt @@ -1,3 +1,3 @@ -- This folder and all files inside it must be deleted before any distribution -- This folder is meant for developers only -- Use this folder to contain notes, todo, testcases, problems, etc +- This folder and all files inside it must be deleted before any distribution +- This folder is meant for developers only +- Use this folder to contain notes, todo, testcases, problems, etc diff --git a/Dev/TODO.txt b/Dev/TODO.txt index c43eddaf8..f6fd346af 100644 --- a/Dev/TODO.txt +++ b/Dev/TODO.txt @@ -1,684 +1,684 @@ -The format of to-do list items is: - -Description - A description of the task -Status - The status of the task. The possible values are Pending and Completed -Assignee - The nickname of the person whom is assigned the task -Notes - Miscellaneous notes concerning the task - -********** - -Only the to-do list for the flat-file module should contain tasks concerning database corrections because databases changes for the SQL module are inherited from the flat-file module. - -********** -1. -Description: Fix the equip field values in item_db - -Status: Pending - -Assignee: NONE - -Notes: i know the equip values in item_db are ****ed not ****ed but supernovice equip is - - -********** -2. -Description: Change monster summoning commands so they summon 1 monster if a quantity isn't specified - -Status: 50% - -Assignee: NONE - -Notes: Will work with just mob_id/name specified (ie @monster poring) - need to make it work with mob_id and name (ie @monster poring test) - Valaris - - -********** -3. -Description: Fix Ghostring Card - -Status: Done - -Assignee: MouseJstr - -Notes: battle_config flag to disable ghosty armor - protecting you from mobs - -********** -4. -Description: Add nomagic mapflag/@skilloff/@skillon - -Status: Done - -Assignee: MouseJstr - -Notes: NONE - - -********** -5. -Description: Checking help.txt (main directory, conf directory, doc directory) with atcommand.c - -Status: Pending - -Assignee: None - -Notes: In doc directory, do a help.txt for explaination of all commands. - In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client - (chat windows does support more than 200 lines). - In main directory, suggestion to delete it. - - -********** -6. -Description: Update produce_db - -Status: Pending - -Assignee: None - -Notes: The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified - - -********** -7. -Description: novice.txt: new_1-4.gat,60,149,4 script Helper 55 - This NPC gives infinite items and zenys. - -Status: Completed - -Assignee: Yor - -Notes: If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items. - So, we must save (in a variable) when the npc gives items/zenys and don't given them again. - - -********** -8. -Description: scripts, register variables and job 1 - When you become job 1, reset all variables of OTHER jobs too to save register memory. - -Status: Pending - -Assignee: None - -Notes: None - - -********** -9. -Description: @mapspy command - -Status: Pending - -Assignee: None - -Notes: to receive any messages of all characters on a specifical map. - don't send duplicate messages if already @guildspy ou @partyspy - - -********** -10. -Description: Pet Skills. - -Status: 90% - -Assignee: Valaris - -Notes: Don't touch pet.c, pet.h, or pet dbs. - - -********** -11. -Description: Add kRO server side friends list. - -Status: 80% - -Assignee: davidsiaw - -Notes: Got most of the packets. Except the ones that tell the client that a player is online and tell the client to give messages. - - -********** -12. -Description: Updating the 'gmcommands.html' with actual commands. - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -13. -Description: On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3). - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -14. -Description: Add encrypted password option in login-server. - -Status: Blocked, no solution without limited client version. - -Assignee: Yor - -Notes: It's impossible to use encrypted password in the account file, if we want to authorise all client version. - Some clients use a (random) md5key and send a composed encrypted of the password. - So, these clients send a different encrypted password based on plain text password at every connection. - If the password is encrypted, we can not more compare with plain text. - The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients. - Reduce possibilities of client version isn't a good idea for the futur and for the compatibility (like use only plain text password client version). - Save in account the plain text and the encypted version use more memory for nothing, and don't add security. - Conclusion: - If you want protected your password, you must: - - protected you account file - - never send a password outside the server - - use only encypted client version (that send an encrypted password to server). - - -********** -15. -Description: Create all reloaddb command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -16. -Description: Create a shutdown + time command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -17. -Description: Create a kickall command in ladmin. - -Status: Affected - -Assignee: Yor - -Notes: NONE - - -********** -18. -Description: Create listban/listok command in ladmin. - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -19. -Description: Login-server: create a first anti-hack system versus multiple connections trying. - -Status: Affected - -Assignee: Yor - -Notes: Set on IP. - An option to set number of connections before to block (number_of_try_before_block) - An option to set number of second where the tries must be done (within_seconds_for tries) - An option to set the time of impossible connection after block (blocked_time_in_minutes) - About wrong password, add: - dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes) - dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban) - dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec) - - -********** -20. -Description: Create @unban and @unblock GM command. - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -21. -Description: Fix @nuke GM command. - -Status: Completed - -Assignee: Valaris - -Notes: If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window. - And can't get another one. - - -********** -22. -Description: Adding GM command @guildmaster - -Status: Pending - -Assignee: MC_Cameri - -Notes: Guild Master turns another member of his guild into Guild Master. - MC Cameri: It will now be called @swapgm, meaning swap of guild master. - - -********** -23. -Description: In Guilds folder change all checkcart -> checkcart(0) - -Status: Completed? - -Assignee: Aria - -Notes: All checkcart were in the old/ folder o_O? - Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed) - - -********** -24. -Description: In script.c parser should be fixed to allow argumentless functions return value. - -Status: Pending - -Assignee: None - -Notes: Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()". - Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!) - Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use) - As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions. - To be able running them with any fake arg. i.e. checkcart(0) works fine! - - -********** -25. -Description: Create a LAN management, 1 by server - -Status: Affected - -Assignee: Yor - -Notes: 1 computer can be on multiple LAN. So, each server must have 1 LAN definition. - - -********** -26. -Description: @ban/@block must be usable when player is offline - -Status: Completed - -Assignee: Yor - -Notes: NONE - - -********** -27. -Description: When it's night, inscreasing spawn of undeads - -Status: Pending - -Assignee: None - -Notes: Variable 'night_flag' is 0 if it's day, or 1 if it's night. - - -********** -28. -Description: in ladmin, create a method for account with spaces - -Status: Completed - -Assignee: Yor - -Notes: use "" or ''. - - -********** -29. -Description: @(un)ban/@(un)block: reduction of number of packets - improvement of messages - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -30. -Description: Create (un)ban/(un)block in ladmin to be similar with GM command - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -31. -Description: Packet 0x3831 need too much size! IMPORTANT to found a solution! - It's cause of crashes or freeze of servers (char or map). - -Status: Pending - -Assignee: None - -Notes: When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!): - socket #5: - wdata (size: 131072 bytes) need to be expanded. - wdata is actually used for 111654 bytes (free bytes: 19418). - packet 0x3831 need mode space (size of the packet: 12332). - wdata expanded to 262144 bytes. - socket #5: - wdata (size: 262144 bytes) need to be expanded. - wdata is actually used for 234974 bytes (free bytes: 27170). - packet 0x3831 need mode space (size of the packet: 12332). - wdata expanded to 524288 bytes. - Additional note: there is only 63 guilds on this server... - - -********** -32. -Description: Management of PM ignore for wisps - -Status: Completed - -Assignee: Yor - -Notes: None. - - -********** -33. -Description: Add a GM info hacker minimum level parameter - -Status: Completed - -Assignee: Yor - -Notes: first use: spoof namer - - -********** -34. -Description: Create @makepet to create directly a pet - -Status: Pending - -Assignee: None - -Notes: NONE - - -********** -35. -Description: In dungeon, set night for people. In shop, set day for people. - -Status: Assigned - -Assignee: Yor - -Notes: work like variable 'night_flag' is 0 if it's day, or 1 if it's night. - - -********** -36 -Description: Create your limited time.... but an option can be good :)... - -Status: Completed - -Assignee: Yor - -Notes: NONE - -********** -37. -Description: @killer - enables a @gm to hit a player outside of pvp - -Status: Done - -Assignee: MouseJstr - -Notes: - -********** -38. -Description: atcommand scripts - script @atcommands` - -Status: Pending - -Assignee: MouseJstr - -Notes: - -********** -40. -Description: @addwarp - create a static warp to a target location - -Status: Done - -Assignee: MouseJstr - -Notes: -********** -41. -Description: @movenpc - - manipulate npc's at runtime - -Status: Done - -Assignee: MouseJstr - -Notes: handling npc's with the same name on multiple maps - requires thoughts -********** -42. -Description: @uptime - how long as the server been up? - -Status: Pending - -Assignee: MouseJstr, MC Cameri - -Notes: - MC Cameri: This is done already in OA, wait for merge. - Aria: I said that, but they told me it was BROKED! -********** -43. -Description: map aliases - - create virtual copies of maps but don't require - changes to the client to support it - -Status: 80% done - -Assignee: MouseJstr - -Notes -********** -44. -Description: Fix GTB card - -Status: Done - -Assignee: MouseJstr - -Notes: battle_config command that controls just how magic resistant - you raelly are -********** -45. -Description: gm @follow command - -Status: Done - -Assignee: MouseJstr - -Notes: follows players, including warping to them... lets you do - a gm hide and grab a cup of coffee while watching a player - do bad things.. -********** -47. -Description: different max aspd for players and GM's - -Status: Pending - -Assignee: MouseJstr - -Notes: -********** -48. -Description: Configurable max num castles for a guild - -Status: Done - -Assignee: MouseJstr - -Notes: We limit each guild to 3 castles on my server -********* -49 -Description: Add @chareffect - Done [MouseJstr] - set a persistant effect on another character - Add @chardisguise - done [MouseJstr] - set a persistant disguise effect on another character - Add @mobid - look up a monster by name - needed? - Add @petid - look up a pet by name - Add @chardye - Add @charhairstyle - Add @charhaircolor - Versions of dye hairstyle and haircolor fo other chars - Add @followme - make a character follow you.. including warps - Add @shuffle - re-arrange everybody on the map randomly - Add @dropall - done [MouseJstr] - takes all my possessions and throws them on the ground - Add @chardropall - done [MouseJstr] - takes all the players possessions and throws them on the ground.. - Add @storeall - done [MouseJstr] - takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again - Add @charstoreall - done [MouseJstr] - takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again - Add @skillid - lookup a skill by name - done [MouseJstr - Add @useskill - use a skill given the number or name - done [MouseJstr] -********* -50. -Description: New Guild Skills - -Status: Pending - -Assignee: NONE - -Notes: use http://forums.emperium.org/viewtopic.php?t=43245 for a list -******** -51. -Description: Devilring - -Status: Pending - -Assignee: NONE - -Notes: New mini-boss; find as much about it as possible including stats and drops -********* -52. -Description: LV4 Weapon Quests - -Status: Pending - -Assignee: NONE - -Notes: Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables? -********* -53. -Description: Monster Pictures - -Status: Pending - -Assignee: NONE - -Notes: WTF! http://forums.emperium.org/viewtopic.php?t=32998 -********* -54. -Description: Wandering Singer - -Status: Pending - -Assignee: NONE - -Notes: May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998 -******** -55. -Description: Arena Points - -Status: Pending - -Assignee: NONE - -Notes: points->item system; http://forums.emperium.org/viewtopic.php?t=32998 -******** -56. -Description: kRO Account - -Status: Pending - -Assignee: NONE - -Notes: Give us a kRO account, gm or whatever so we can spy =OOOOOOOO -********* -57. -Description: Baby Skills - -Stats: Pending - -Assignee: NONE - -Notes: 1. Skills - - Come here, baby. - ( Summons the adoptee ) - - Mom, Dad, I love you. - ( For 5 minutes, the parent characters will not have EXP penalty upon death ) - - Mom, Dad, I want to see you. - ( Summons the parents ) - * For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at. - - 2. EXP Sharing - - Only the parents and the child can EXP share; nobody else can be in the party. If any other person joins, the EXP share resets. - - If you move to a different map, the EXP share resets. - - The EXP returned is only 1/3rd of normal since both mother and father character has to be in the same party with the child. - - 3. Changes after adoption - - For the child character, the character becomes small. - - 4. What happens if parents divorce - - The parents can NEVER adopt another child ever again even after divorce + remarry. - - The character child continues to be as it is (meaning, even if the child no longer has a parent, he or she will continue to be the 'child'), and only 1 child can be obtained per character. - - Even if the child character is deleted, the parents can never get another child. - * This means, when you adopt a child character, DO IT CAREFULLY. For the entire history of your character, you can only, and I mean ONLY get one child character. - - - The Child Adoption system now changes as following, so please make note of this: - * The adopted child cannot raise any stat to beyond 80. - * The adopted child will have 70% of MaxHP and MaxSP of normal characters. - * The adopted child cannot marry. - * "Mom, Dad, I love you" skill will only last 2 minutes instead of 5. - * The parents must be both LV 70 or above in order to adopt. - * The parents must be both LV 70 or above in order to share EXP as family. - * "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP. +The format of to-do list items is: + +Description - A description of the task +Status - The status of the task. The possible values are Pending and Completed +Assignee - The nickname of the person whom is assigned the task +Notes - Miscellaneous notes concerning the task + +********** + +Only the to-do list for the flat-file module should contain tasks concerning database corrections because databases changes for the SQL module are inherited from the flat-file module. + +********** +1. +Description: Fix the equip field values in item_db + +Status: Pending + +Assignee: NONE + +Notes: i know the equip values in item_db are ****ed not ****ed but supernovice equip is + + +********** +2. +Description: Change monster summoning commands so they summon 1 monster if a quantity isn't specified + +Status: 50% + +Assignee: NONE + +Notes: Will work with just mob_id/name specified (ie @monster poring) + need to make it work with mob_id and name (ie @monster poring test) - Valaris + + +********** +3. +Description: Fix Ghostring Card + +Status: Done + +Assignee: MouseJstr + +Notes: battle_config flag to disable ghosty armor + protecting you from mobs + +********** +4. +Description: Add nomagic mapflag/@skilloff/@skillon + +Status: Done + +Assignee: MouseJstr + +Notes: NONE + + +********** +5. +Description: Checking help.txt (main directory, conf directory, doc directory) with atcommand.c + +Status: Pending + +Assignee: None + +Notes: In doc directory, do a help.txt for explaination of all commands. + In conf directory, do a help.txt for displaying the resume of each command in chat windows of the client + (chat windows does support more than 200 lines). + In main directory, suggestion to delete it. + + +********** +6. +Description: Update produce_db + +Status: Pending + +Assignee: None + +Notes: The Alchemist Forging items were recently changed. The DB needs to be edited and if needed, source to be modified + + +********** +7. +Description: novice.txt: new_1-4.gat,60,149,4 script Helper 55 + This NPC gives infinite items and zenys. + +Status: Completed + +Assignee: Yor + +Notes: If you clicks on 'cancel' button or quits the game to come back, you can have infinite zenys and items. + So, we must save (in a variable) when the npc gives items/zenys and don't given them again. + + +********** +8. +Description: scripts, register variables and job 1 + When you become job 1, reset all variables of OTHER jobs too to save register memory. + +Status: Pending + +Assignee: None + +Notes: None + + +********** +9. +Description: @mapspy command + +Status: Pending + +Assignee: None + +Notes: to receive any messages of all characters on a specifical map. + don't send duplicate messages if already @guildspy ou @partyspy + + +********** +10. +Description: Pet Skills. + +Status: 90% + +Assignee: Valaris + +Notes: Don't touch pet.c, pet.h, or pet dbs. + + +********** +11. +Description: Add kRO server side friends list. + +Status: 80% + +Assignee: davidsiaw + +Notes: Got most of the packets. Except the ones that tell the client that a player is online and tell the client to give messages. + + +********** +12. +Description: Updating the 'gmcommands.html' with actual commands. + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +13. +Description: On PVP map, don't count a 'GM HIDE' GM (2 normal players + 1 HIDE GM: 2/2, not 3/3). + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +14. +Description: Add encrypted password option in login-server. + +Status: Blocked, no solution without limited client version. + +Assignee: Yor + +Notes: It's impossible to use encrypted password in the account file, if we want to authorise all client version. + Some clients use a (random) md5key and send a composed encrypted of the password. + So, these clients send a different encrypted password based on plain text password at every connection. + If the password is encrypted, we can not more compare with plain text. + The other solution can be to not authorise these clients. But, that will probably be the futur of ALL clients. + Reduce possibilities of client version isn't a good idea for the futur and for the compatibility (like use only plain text password client version). + Save in account the plain text and the encypted version use more memory for nothing, and don't add security. + Conclusion: + If you want protected your password, you must: + - protected you account file + - never send a password outside the server + - use only encypted client version (that send an encrypted password to server). + + +********** +15. +Description: Create all reloaddb command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +16. +Description: Create a shutdown + time command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +17. +Description: Create a kickall command in ladmin. + +Status: Affected + +Assignee: Yor + +Notes: NONE + + +********** +18. +Description: Create listban/listok command in ladmin. + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +19. +Description: Login-server: create a first anti-hack system versus multiple connections trying. + +Status: Affected + +Assignee: Yor + +Notes: Set on IP. + An option to set number of connections before to block (number_of_try_before_block) + An option to set number of second where the tries must be done (within_seconds_for tries) + An option to set the time of impossible connection after block (blocked_time_in_minutes) + About wrong password, add: + dynamic_pass_failure_ban_time: 5 (duration of ban, in minutes) + dynamic_pass_failure_ban_how_many: 3 (number of tries before to ban) + dynamic_pass_failure_ban_how_long: 60 (inside time where the tries must be done before to ban, in sec) + + +********** +20. +Description: Create @unban and @unblock GM command. + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +21. +Description: Fix @nuke GM command. + +Status: Completed + +Assignee: Valaris + +Notes: If you nuke a mounted Knight/Crusader they lose Peco but see it in the equip.window. + And can't get another one. + + +********** +22. +Description: Adding GM command @guildmaster + +Status: Pending + +Assignee: MC_Cameri + +Notes: Guild Master turns another member of his guild into Guild Master. + MC Cameri: It will now be called @swapgm, meaning swap of guild master. + + +********** +23. +Description: In Guilds folder change all checkcart -> checkcart(0) + +Status: Completed? + +Assignee: Aria + +Notes: All checkcart were in the old/ folder o_O? + Because just "checkcart" always returns 0. (All common Kafras&breeder have been already fixed) + + +********** +24. +Description: In script.c parser should be fixed to allow argumentless functions return value. + +Status: Pending + +Assignee: None + +Notes: Functions like "checkcart", "checkfalcon", "checkriding" don't return value if used without agruments or without "()". + Example: 'checkcart' always return Zero (because the parser doesn't recognize it as a function!) + Example: 'checkcart()' map server doesn't load (because argless funcs aren't in use) + As a temp fix Lupus added "*" in script.c in "checkcart", "checkfalcon", "checkriding" definitions. + To be able running them with any fake arg. i.e. checkcart(0) works fine! + + +********** +25. +Description: Create a LAN management, 1 by server + +Status: Affected + +Assignee: Yor + +Notes: 1 computer can be on multiple LAN. So, each server must have 1 LAN definition. + + +********** +26. +Description: @ban/@block must be usable when player is offline + +Status: Completed + +Assignee: Yor + +Notes: NONE + + +********** +27. +Description: When it's night, inscreasing spawn of undeads + +Status: Pending + +Assignee: None + +Notes: Variable 'night_flag' is 0 if it's day, or 1 if it's night. + + +********** +28. +Description: in ladmin, create a method for account with spaces + +Status: Completed + +Assignee: Yor + +Notes: use "" or ''. + + +********** +29. +Description: @(un)ban/@(un)block: reduction of number of packets + improvement of messages + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +30. +Description: Create (un)ban/(un)block in ladmin to be similar with GM command + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +31. +Description: Packet 0x3831 need too much size! IMPORTANT to found a solution! + It's cause of crashes or freeze of servers (char or map). + +Status: Pending + +Assignee: None + +Notes: When map-server do a connection to char-server, this packet is send (C->M). Example of display (1 connection!): + socket #5: + wdata (size: 131072 bytes) need to be expanded. + wdata is actually used for 111654 bytes (free bytes: 19418). + packet 0x3831 need mode space (size of the packet: 12332). + wdata expanded to 262144 bytes. + socket #5: + wdata (size: 262144 bytes) need to be expanded. + wdata is actually used for 234974 bytes (free bytes: 27170). + packet 0x3831 need mode space (size of the packet: 12332). + wdata expanded to 524288 bytes. + Additional note: there is only 63 guilds on this server... + + +********** +32. +Description: Management of PM ignore for wisps + +Status: Completed + +Assignee: Yor + +Notes: None. + + +********** +33. +Description: Add a GM info hacker minimum level parameter + +Status: Completed + +Assignee: Yor + +Notes: first use: spoof namer + + +********** +34. +Description: Create @makepet to create directly a pet + +Status: Pending + +Assignee: None + +Notes: NONE + + +********** +35. +Description: In dungeon, set night for people. In shop, set day for people. + +Status: Assigned + +Assignee: Yor + +Notes: work like variable 'night_flag' is 0 if it's day, or 1 if it's night. + + +********** +36 +Description: Create your limited time.... but an option can be good :)... + +Status: Completed + +Assignee: Yor + +Notes: NONE + +********** +37. +Description: @killer - enables a @gm to hit a player outside of pvp + +Status: Done + +Assignee: MouseJstr + +Notes: + +********** +38. +Description: atcommand scripts - script @atcommands` + +Status: Pending + +Assignee: MouseJstr + +Notes: + +********** +40. +Description: @addwarp - create a static warp to a target location + +Status: Done + +Assignee: MouseJstr + +Notes: +********** +41. +Description: @movenpc + - manipulate npc's at runtime + +Status: Done + +Assignee: MouseJstr + +Notes: handling npc's with the same name on multiple maps + requires thoughts +********** +42. +Description: @uptime - how long as the server been up? + +Status: Pending + +Assignee: MouseJstr, MC Cameri + +Notes: + MC Cameri: This is done already in OA, wait for merge. + Aria: I said that, but they told me it was BROKED! +********** +43. +Description: map aliases - + create virtual copies of maps but don't require + changes to the client to support it + +Status: 80% done + +Assignee: MouseJstr + +Notes +********** +44. +Description: Fix GTB card + +Status: Done + +Assignee: MouseJstr + +Notes: battle_config command that controls just how magic resistant + you raelly are +********** +45. +Description: gm @follow command + +Status: Done + +Assignee: MouseJstr + +Notes: follows players, including warping to them... lets you do + a gm hide and grab a cup of coffee while watching a player + do bad things.. +********** +47. +Description: different max aspd for players and GM's + +Status: Pending + +Assignee: MouseJstr + +Notes: +********** +48. +Description: Configurable max num castles for a guild + +Status: Done + +Assignee: MouseJstr + +Notes: We limit each guild to 3 castles on my server +********* +49 +Description: Add @chareffect - Done [MouseJstr] + set a persistant effect on another character + Add @chardisguise - done [MouseJstr] + set a persistant disguise effect on another character + Add @mobid + look up a monster by name - needed? + Add @petid + look up a pet by name + Add @chardye + Add @charhairstyle + Add @charhaircolor + Versions of dye hairstyle and haircolor fo other chars + Add @followme + make a character follow you.. including warps + Add @shuffle + re-arrange everybody on the map randomly + Add @dropall - done [MouseJstr] + takes all my possessions and throws them on the ground + Add @chardropall - done [MouseJstr] + takes all the players possessions and throws them on the ground.. + Add @storeall - done [MouseJstr] + takes all my possessions and puts them in storage, leaving 500 zeny to let you take it all back out again + Add @charstoreall - done [MouseJstr] + takes all the players possessions and puts them in storage, leaving 500 zeny to let you take it all back out again + Add @skillid - lookup a skill by name - done [MouseJstr + Add @useskill - use a skill given the number or name - done [MouseJstr] +********* +50. +Description: New Guild Skills + +Status: Pending + +Assignee: NONE + +Notes: use http://forums.emperium.org/viewtopic.php?t=43245 for a list +******** +51. +Description: Devilring + +Status: Pending + +Assignee: NONE + +Notes: New mini-boss; find as much about it as possible including stats and drops +********* +52. +Description: LV4 Weapon Quests + +Status: Pending + +Assignee: NONE + +Notes: Info here http://forums.emperium.org/viewtopic.php?t=39934 Use perm variables? +********* +53. +Description: Monster Pictures + +Status: Pending + +Assignee: NONE + +Notes: WTF! http://forums.emperium.org/viewtopic.php?t=32998 +********* +54. +Description: Wandering Singer + +Status: Pending + +Assignee: NONE + +Notes: May have to spy on kRO to get more info. http://forums.emperium.org/viewtopic.php?t=32998 +******** +55. +Description: Arena Points + +Status: Pending + +Assignee: NONE + +Notes: points->item system; http://forums.emperium.org/viewtopic.php?t=32998 +******** +56. +Description: kRO Account + +Status: Pending + +Assignee: NONE + +Notes: Give us a kRO account, gm or whatever so we can spy =OOOOOOOO +********* +57. +Description: Baby Skills + +Stats: Pending + +Assignee: NONE + +Notes: 1. Skills + - Come here, baby. + ( Summons the adoptee ) + - Mom, Dad, I love you. + ( For 5 minutes, the parent characters will not have EXP penalty upon death ) + - Mom, Dad, I want to see you. + ( Summons the parents ) + * For the summon skill, it works like wedding summon skill - it can only be done in areas where warps can be saved at. + + 2. EXP Sharing + - Only the parents and the child can EXP share; nobody else can be in the party. If any other person joins, the EXP share resets. + - If you move to a different map, the EXP share resets. + - The EXP returned is only 1/3rd of normal since both mother and father character has to be in the same party with the child. + + 3. Changes after adoption + - For the child character, the character becomes small. + + 4. What happens if parents divorce + - The parents can NEVER adopt another child ever again even after divorce + remarry. + - The character child continues to be as it is (meaning, even if the child no longer has a parent, he or she will continue to be the 'child'), and only 1 child can be obtained per character. + - Even if the child character is deleted, the parents can never get another child. + * This means, when you adopt a child character, DO IT CAREFULLY. For the entire history of your character, you can only, and I mean ONLY get one child character. + + - The Child Adoption system now changes as following, so please make note of this: + * The adopted child cannot raise any stat to beyond 80. + * The adopted child will have 70% of MaxHP and MaxSP of normal characters. + * The adopted child cannot marry. + * "Mom, Dad, I love you" skill will only last 2 minutes instead of 5. + * The parents must be both LV 70 or above in order to adopt. + * The parents must be both LV 70 or above in order to share EXP as family. + * "Mom, Dad, I love you" skill will now take 10% of MaxSP instead of taking 1 SP. - The wedding skills will now depend on percentage of MaxHP/MaxSP. \ No newline at end of file diff --git a/Dev/TODO_MOB_AI.txt b/Dev/TODO_MOB_AI.txt index 3ea2bc0e2..9f73656f9 100644 --- a/Dev/TODO_MOB_AI.txt +++ b/Dev/TODO_MOB_AI.txt @@ -1,134 +1,134 @@ -// eAthena TODO for Monster AI -// ----------------------------------------- -// The idea of this file is to write a system to use for mob AI because -// to put it bluntly, our mobs are stupid. If we can pull off some sweet -// AI, we will own the other emulators. -// -// What we have here are 2 columns. I describe them below... -// - 'mode' : Mode is when the monster can attack, like, can it move? can it -// attack first? can it assist other monsters? -// -// - 'AI' : AI is the smart part of the monster. This is how the monster -// will actully go about attacking something. For example we -// could make archer skeletons fire an arrow or 2, then flee -// and fire a few more arrows. Or we could have them avoid other -// classes with range (archers, mages). We could also have mobs -// run when being sniped off cliffs by archers/mages (wont they -// hate that, but in reality, thats what they would do). -// -// The mode flags will be given an ID to the power of 2, (binary style, like -// job id's in the item_db) and added together to make the mode. But before -// the system can be written we need a nice file to explain it. That would be -// this file. So add away, when it looks done, begin the implementation. -// -// Also, if possible, new config file in /conf/. 'mob_ai_athena.conf'. This is -// where mob AI is enabled/disable. And options can be set to allow and dis- -// allow certin modes. Ex: People like the AI, but dont like one options, can -// simply disable THAT AI feature rather then rewriting mob_db to remove it. -// -// I wrote the first modes, C devs, move them around as you see fit for programming. -// -// -Ancyker -// -// (check bottom for more AI ideas) -// - - -'mode' -Immobile - Monster can not move, can not be moved (like by archers knockback skills) -Agressive - Monster can attack first (doesn't mean it will, decided in 'AI') -Detect cast - Monster will detect if someone is casting on it, and attack back -Assist - Monster will help other monsters (what monsters it will assist is decided in 'AI') -Looter - Monster will loot items (if 'Agressive' flag is set, it will attack before looting) -No Target Change - Monster will not start attacking another target until the first target is dead or out of range -Passive - Monster will not attack back (ever, unless 'Agressive' flag is also set?) -Detects Hidden - Monster can see hidden players - -'ai' -NoAI - Doesn't do anything (plants) -NoSnipe - Monster will run away if being 'sniped' from a clif by archer, mage, etc. -AttackFlee - Monster will attack, then flee, attack, then flee, etc (Archer Skels, run away, shoot arrow, etc) -AttackRange1 - Will only attack if player is in a set range [0-3] (It's like the player is close, its a threat now) -AttackRange2 - Will only attack if player is in a set range [4-6] -ClassFlee1 - Will run from any player with range (archers, mages, thiefs with bows) -NoviceNoFlee - Will not run if a player is a novice -LevelFlee - Wlll run if player is of a higher level (porings would run from level 99s, AHH DONT KILL ME!) -AvoidPlayer - Will run if it sees any player (So it cancels 'Agressive' flag) -AttackMostDamage - Will attack the player doing the overall most damage -AttackLessDamage - Will attack the player doing the overall least damage -AttackLowestLevel - Will attack the lowest level first -AttackHighestLevel - Will attack the highest level first -WarpLowHP - Will warp if HP is low (how low is low?) -NeverStop - Monster will always be on the move, never stop walking. (Is over-ridden by 'Immobile' flag) - - -// -// Again, more stuff... -// -// The monster spawns sripts need some more params. some examples... -// -// We have: map,x,y,offsetx,offsety, ... -// What if we added more? To only let the monster move so far off from -// where it was spawned. It could 'guard' an arena, an exit/enterance -// an npc, whatever =). -// -// .... ID,time,time,blah...,mode,WAP -// Have monsters walk a certin path. Waypoint files are your friend. -// If a monster has a WAP (optional) it will walk this path. -// Guardians on patrol? Could be interesting. -// -// Add more if you think of any =) -// -// If you don't like an idea, comment why, dont remove it. -// example: (using this one cuz not sure about it) -// -// // NeverStop - Will/Could cause lag, don't think its a good idea -name -// NeverStop - ... -// - -Lupus: (guys, rearrange my ideas or move them as u want) -Some memory - speed optimizations: - -There'a big "for cycle" when u look up for a place to mob spawn. -It could be made quite fast: -On server .GAT loading you should make an array with OFFSETS (not even X,Y) of right -places for future mob spawns. -If the waypoints aren't found for the loadied map then you should make at least 1-2 waypoints automatically. - -About AI: -EACH map has defined mobs. Your mob should have a flag "healer", "supporter" etc. "weak", "ranged attacker" -and each map should contain an attached list of mobs with their types -when one MVP is hurt it'd look for "helpers", "healers". -And if a mob is almost 0 HP it should look for helpers or look for other mobs ranged attackers -defence. Etc. - -Mobs AI should be WRITTEN IN SPECIAL SCRIPTS. -Some default mobs will use the same script. -And some advanced ones will use their own. - -MOB-scripts are quite interesting. (remember Robot-Wars game?) - -Gulid Wars: -I think guardians should be able to warp from room to room using WARPS like common Players. - - -Aria's Ideas: (do whatever u want) - -We can make aggressive monsters make ambushes, where one attacks and runs away to a huge group of the same monster - -instead of dropping 2 x1 items, just drop 1 x2 item - -make AI vary inside of a group of monsters (IE 1/2 porings do 1 thing, and the other half do another) - -aggressive monsters sould surround enemies, not just blindly attack them - -we should also make monsters look as player-like as possible. There should be groups traveling together, or 2 monsters -next to eachother, chatting. - -we shouldn't let mobs spawn right infront of people, like in anime or manga. they always walk towards you, or you walk -towards them. - -let mob stats vary a little bit - every mob shouldn't be the exact same. if it's stronger it gives more exp, and vice -versa. - +// eAthena TODO for Monster AI +// ----------------------------------------- +// The idea of this file is to write a system to use for mob AI because +// to put it bluntly, our mobs are stupid. If we can pull off some sweet +// AI, we will own the other emulators. +// +// What we have here are 2 columns. I describe them below... +// - 'mode' : Mode is when the monster can attack, like, can it move? can it +// attack first? can it assist other monsters? +// +// - 'AI' : AI is the smart part of the monster. This is how the monster +// will actully go about attacking something. For example we +// could make archer skeletons fire an arrow or 2, then flee +// and fire a few more arrows. Or we could have them avoid other +// classes with range (archers, mages). We could also have mobs +// run when being sniped off cliffs by archers/mages (wont they +// hate that, but in reality, thats what they would do). +// +// The mode flags will be given an ID to the power of 2, (binary style, like +// job id's in the item_db) and added together to make the mode. But before +// the system can be written we need a nice file to explain it. That would be +// this file. So add away, when it looks done, begin the implementation. +// +// Also, if possible, new config file in /conf/. 'mob_ai_athena.conf'. This is +// where mob AI is enabled/disable. And options can be set to allow and dis- +// allow certin modes. Ex: People like the AI, but dont like one options, can +// simply disable THAT AI feature rather then rewriting mob_db to remove it. +// +// I wrote the first modes, C devs, move them around as you see fit for programming. +// +// -Ancyker +// +// (check bottom for more AI ideas) +// + + +'mode' +Immobile - Monster can not move, can not be moved (like by archers knockback skills) +Agressive - Monster can attack first (doesn't mean it will, decided in 'AI') +Detect cast - Monster will detect if someone is casting on it, and attack back +Assist - Monster will help other monsters (what monsters it will assist is decided in 'AI') +Looter - Monster will loot items (if 'Agressive' flag is set, it will attack before looting) +No Target Change - Monster will not start attacking another target until the first target is dead or out of range +Passive - Monster will not attack back (ever, unless 'Agressive' flag is also set?) +Detects Hidden - Monster can see hidden players + +'ai' +NoAI - Doesn't do anything (plants) +NoSnipe - Monster will run away if being 'sniped' from a clif by archer, mage, etc. +AttackFlee - Monster will attack, then flee, attack, then flee, etc (Archer Skels, run away, shoot arrow, etc) +AttackRange1 - Will only attack if player is in a set range [0-3] (It's like the player is close, its a threat now) +AttackRange2 - Will only attack if player is in a set range [4-6] +ClassFlee1 - Will run from any player with range (archers, mages, thiefs with bows) +NoviceNoFlee - Will not run if a player is a novice +LevelFlee - Wlll run if player is of a higher level (porings would run from level 99s, AHH DONT KILL ME!) +AvoidPlayer - Will run if it sees any player (So it cancels 'Agressive' flag) +AttackMostDamage - Will attack the player doing the overall most damage +AttackLessDamage - Will attack the player doing the overall least damage +AttackLowestLevel - Will attack the lowest level first +AttackHighestLevel - Will attack the highest level first +WarpLowHP - Will warp if HP is low (how low is low?) +NeverStop - Monster will always be on the move, never stop walking. (Is over-ridden by 'Immobile' flag) + + +// +// Again, more stuff... +// +// The monster spawns sripts need some more params. some examples... +// +// We have: map,x,y,offsetx,offsety, ... +// What if we added more? To only let the monster move so far off from +// where it was spawned. It could 'guard' an arena, an exit/enterance +// an npc, whatever =). +// +// .... ID,time,time,blah...,mode,WAP +// Have monsters walk a certin path. Waypoint files are your friend. +// If a monster has a WAP (optional) it will walk this path. +// Guardians on patrol? Could be interesting. +// +// Add more if you think of any =) +// +// If you don't like an idea, comment why, dont remove it. +// example: (using this one cuz not sure about it) +// +// // NeverStop - Will/Could cause lag, don't think its a good idea -name +// NeverStop - ... +// + +Lupus: (guys, rearrange my ideas or move them as u want) +Some memory - speed optimizations: + +There'a big "for cycle" when u look up for a place to mob spawn. +It could be made quite fast: +On server .GAT loading you should make an array with OFFSETS (not even X,Y) of right +places for future mob spawns. +If the waypoints aren't found for the loadied map then you should make at least 1-2 waypoints automatically. + +About AI: +EACH map has defined mobs. Your mob should have a flag "healer", "supporter" etc. "weak", "ranged attacker" +and each map should contain an attached list of mobs with their types +when one MVP is hurt it'd look for "helpers", "healers". +And if a mob is almost 0 HP it should look for helpers or look for other mobs ranged attackers +defence. Etc. + +Mobs AI should be WRITTEN IN SPECIAL SCRIPTS. +Some default mobs will use the same script. +And some advanced ones will use their own. + +MOB-scripts are quite interesting. (remember Robot-Wars game?) + +Gulid Wars: +I think guardians should be able to warp from room to room using WARPS like common Players. + + +Aria's Ideas: (do whatever u want) + +We can make aggressive monsters make ambushes, where one attacks and runs away to a huge group of the same monster + +instead of dropping 2 x1 items, just drop 1 x2 item + +make AI vary inside of a group of monsters (IE 1/2 porings do 1 thing, and the other half do another) + +aggressive monsters sould surround enemies, not just blindly attack them + +we should also make monsters look as player-like as possible. There should be groups traveling together, or 2 monsters +next to eachother, chatting. + +we shouldn't let mobs spawn right infront of people, like in anime or manga. they always walk towards you, or you walk +towards them. + +let mob stats vary a little bit - every mob shouldn't be the exact same. if it's stronger it gives more exp, and vice +versa. + have a monster be able to use its drops, and not drop it. like a poring using an apple. \ No newline at end of file diff --git a/Dev/bugs.txt b/Dev/bugs.txt index 26bdb99bb..2feedce73 100644 --- a/Dev/bugs.txt +++ b/Dev/bugs.txt @@ -1,72 +1,72 @@ -Problem: Adding the new guild skills causes it to crash? -Assigned: N/A -Progess: 0% - -Problem: 2-2-1 classes are regarded as Novicies by the game server. NPCs aren't taking them as thier jobs but if you the the NPC to do something for a novice class it works with the 2-2-1 like renters. Also if some one becomes high novice, if they use jobra they can become first jobs like a swordsman. -Assigned: N/A -Progess: 0% - -Problem: Stats nor skills don't downgrade when your level gets reverted due to exp loss. -Assigned: N/A -Progess: 0% - -Problem: You can hit yourself with your own spider web. -Assigned: N/A -Progess: 0% - -Problem: Pre skill requirements for new skills are wrong it makes you use 49 skills points before you can get the newer skills. -Assigned: N/A -Progess: 0% - -Problem: Monster hp view only shows but does not go down with a hit. -Assigned: N/A -Progess: 0% - -Problem: Monsters always freeze, when hit they don't move but 2 mins later they move. -Assigned: N/A -Progess: 0% - -Problem: Mobs don't attack -Assigned: N/A -Progess: 0% - -Problem: When u spawn ~300 mobs (and more or less) then do @killmonster then some mobs freeze on the screen (have no names, don't move, etc) -Assigned: N/A -Progess: 0% - -Problem: With 1025 client, some NPC sprites look different (i.e. Black Jack's NPC sprite) -Assigned: N/A -Progess: 0% - -Problem: Thiefs can steal ZENY / items from TREASURE chests!!baaaah!! and Guardians! -Assigned: N/A -Progess: 0% - -Problem: Joker card 4139 lets anyone to steal money / zeny. Just like he's a thief. It shoul;d be revised - success rates lowered and "steal item" disabled -Assigned: N/A -Progess: 0% - -Problem: When servers restart sometime the gm lvls in sql get reset back to 0 -Assigned: Wizputer -Progess: 0% - -Problem: [mob attacks againsts players wearing ghostring armor do full damage mob_ghostring_fix: yes] Does not work, does nothing. -Assigned: N/A -Progess: 0% - -Problem: If two clients using the same account the server will crash and it allows people to dupe using the trade bug, one person trades over and item relogs it saves and the other person doesn't, they crash server both of them end up with the item. -Assigned: N/A -Progess: 0% - -Problem: When athena is run in linux it creates core files which takes 300 megs. -Assigned: N/A -Progess: 0% - -Problem: The skill tree's max skill lvl is not read/used. -Assigned: N/A -Progess: 0% - -Problem: Cannot connect to map server when logging in in both txt and sql on svn. -Assigned: N/A -Progess: 0% - +Problem: Adding the new guild skills causes it to crash? +Assigned: N/A +Progess: 0% + +Problem: 2-2-1 classes are regarded as Novicies by the game server. NPCs aren't taking them as thier jobs but if you the the NPC to do something for a novice class it works with the 2-2-1 like renters. Also if some one becomes high novice, if they use jobra they can become first jobs like a swordsman. +Assigned: N/A +Progess: 0% + +Problem: Stats nor skills don't downgrade when your level gets reverted due to exp loss. +Assigned: N/A +Progess: 0% + +Problem: You can hit yourself with your own spider web. +Assigned: N/A +Progess: 0% + +Problem: Pre skill requirements for new skills are wrong it makes you use 49 skills points before you can get the newer skills. +Assigned: N/A +Progess: 0% + +Problem: Monster hp view only shows but does not go down with a hit. +Assigned: N/A +Progess: 0% + +Problem: Monsters always freeze, when hit they don't move but 2 mins later they move. +Assigned: N/A +Progess: 0% + +Problem: Mobs don't attack +Assigned: N/A +Progess: 0% + +Problem: When u spawn ~300 mobs (and more or less) then do @killmonster then some mobs freeze on the screen (have no names, don't move, etc) +Assigned: N/A +Progess: 0% + +Problem: With 1025 client, some NPC sprites look different (i.e. Black Jack's NPC sprite) +Assigned: N/A +Progess: 0% + +Problem: Thiefs can steal ZENY / items from TREASURE chests!!baaaah!! and Guardians! +Assigned: N/A +Progess: 0% + +Problem: Joker card 4139 lets anyone to steal money / zeny. Just like he's a thief. It shoul;d be revised - success rates lowered and "steal item" disabled +Assigned: N/A +Progess: 0% + +Problem: When servers restart sometime the gm lvls in sql get reset back to 0 +Assigned: Wizputer +Progess: 0% + +Problem: [mob attacks againsts players wearing ghostring armor do full damage mob_ghostring_fix: yes] Does not work, does nothing. +Assigned: N/A +Progess: 0% + +Problem: If two clients using the same account the server will crash and it allows people to dupe using the trade bug, one person trades over and item relogs it saves and the other person doesn't, they crash server both of them end up with the item. +Assigned: N/A +Progess: 0% + +Problem: When athena is run in linux it creates core files which takes 300 megs. +Assigned: N/A +Progess: 0% + +Problem: The skill tree's max skill lvl is not read/used. +Assigned: N/A +Progess: 0% + +Problem: Cannot connect to map server when logging in in both txt and sql on svn. +Assigned: N/A +Progess: 0% + diff --git a/Dev/forSQLdev.txt b/Dev/forSQLdev.txt index c54c531a6..9f0f1a59a 100644 --- a/Dev/forSQLdev.txt +++ b/Dev/forSQLdev.txt @@ -1,146 +1,146 @@ -// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $ - -This file is to informe SQL dev about all modifications on TXT version. - -When a modification is done, TXT dev try to add it here with some explanations. -When a modification is added in SQL version, SQL dev remove it from this file. - - -********* 9th september ------------------------------------- -changed: - sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth) - value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor]) - note: local variable 'newauth' not changed in clif_parse_WantToConnection - ------------------------------------- -Added - if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server."); - } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) - clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server."); - } -at end of 'pc_authok' function (pc.c) - ------------------------------------- -Changed - in 'atcommand_effect' function, set the correct message in back of: - clif_displaymessage(fd, msg_table[229]); // Your effect has changed. - ------------------------------------- -Changed - in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf - ------------------------------------- -Changed to reduce (a little) lag - in char.c, commented printf about auth: - case 0x2afc: - if (RFIFOREST(fd) < 22) - return 0; - //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14)); - for(i = 0; i < AUTH_FIFO_SIZE; i++) { - - - case 0x2b02: - if (RFIFOREST(fd) < 18) - return 0; - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); - auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - - - case 0x2b05: - if (RFIFOREST(fd) < 49) - return 0; - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - WFIFOW(fd,0) = 0x2b06; - memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42); - //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); - auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - - - in case 0x66: // ƒLƒƒƒ‰‘I‘ð - if (auth_fifo_pos >= AUTH_FIFO_SIZE) - auth_fifo_pos = 0; - //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2); - auth_fifo[auth_fifo_pos].account_id = sd->account_id; - - - commented printf about searching map server (in 'search_mapserver' function) - ------------------------------------- -Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster): - modified message 39: - //39: All monster summoned! - Added message 240: - //240: %d monster(s) summoned! - Added variables (output, j and k): - char output[200]; - int i, j, k; - memset(output, '\0', sizeof(output)); - Changed loop to check at least 8 times (to try to spawn in closed area): - count = 0; - for (i = 0; i < number; i++) { - j = 0; - k = 0; - while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area) - if (x <= 0) - mx = sd->bl.x + (rand() % 11 - 5); - else - mx = x; - if (y <= 0) - my = sd->bl.y + (rand() % 11 - 5); - else - my = y; - k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, ""); - } - count += (k != 0) ? 1 : 0; - } - Changed last message display (to add number != count): - if (count != 0) - if (number == count) - clif_displaymessage(fd, msg_table[39]); // All monster summoned! - else { - sprintf(output, msg_table[240], count); // %d monster(s) summoned! - clif_displaymessage(fd, output); - } - else { - -********* 10th september ------------------------------------- -Correction of an error in char.c in 'char_config_read' function: - replace 'wisp_server_name' by 'w2' in the test of the lenght: - } else if (strcmpi(w1, "wisp_server_name") == 0) { - if (strlen(w2) >= 4) { - memcpy(wisp_server_name, w2, sizeof(wisp_server_name)); - wisp_server_name[sizeof(wisp_server_name) - 1] = '\0'; - } - ------------------------------------- -Added a better id control of monster id in @spawn/@monster... GM commands: - added in mob.h: - int mobdb_checkid(const int id); - Added in mob.c: - /*========================================== - * Id Mob is checked. - *------------------------------------------ - */ - int mobdb_checkid(const int id) { - if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0') - return 0; - - return id; - } - Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified): - if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) - mob_id = atoi(monster); - by: - if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) - mob_id = mobdb_checkid(atoi(monster)); - -********* 11th september ------------------------------------- -Changed @effect from level 60 to level 40. - ------------------------------------- -Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist - modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html +// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $ + +This file is to informe SQL dev about all modifications on TXT version. + +When a modification is done, TXT dev try to add it here with some explanations. +When a modification is added in SQL version, SQL dev remove it from this file. + + +********* 9th september +------------------------------------ +changed: + sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth) + value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor]) + note: local variable 'newauth' not changed in clif_parse_WantToConnection + +------------------------------------ +Added + if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server."); + } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) + clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server."); + } +at end of 'pc_authok' function (pc.c) + +------------------------------------ +Changed + in 'atcommand_effect' function, set the correct message in back of: + clif_displaymessage(fd, msg_table[229]); // Your effect has changed. + +------------------------------------ +Changed + in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf + +------------------------------------ +Changed to reduce (a little) lag + in char.c, commented printf about auth: + case 0x2afc: + if (RFIFOREST(fd) < 22) + return 0; + //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14)); + for(i = 0; i < AUTH_FIFO_SIZE; i++) { + - + case 0x2b02: + if (RFIFOREST(fd) < 18) + return 0; + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); + auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); + - + case 0x2b05: + if (RFIFOREST(fd) < 49) + return 0; + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + WFIFOW(fd,0) = 0x2b06; + memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42); + //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); + auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); + - + in case 0x66: // ƒLƒƒƒ‰‘I‘ð + if (auth_fifo_pos >= AUTH_FIFO_SIZE) + auth_fifo_pos = 0; + //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2); + auth_fifo[auth_fifo_pos].account_id = sd->account_id; + - + commented printf about searching map server (in 'search_mapserver' function) + +------------------------------------ +Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster): + modified message 39: + //39: All monster summoned! + Added message 240: + //240: %d monster(s) summoned! + Added variables (output, j and k): + char output[200]; + int i, j, k; + memset(output, '\0', sizeof(output)); + Changed loop to check at least 8 times (to try to spawn in closed area): + count = 0; + for (i = 0; i < number; i++) { + j = 0; + k = 0; + while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area) + if (x <= 0) + mx = sd->bl.x + (rand() % 11 - 5); + else + mx = x; + if (y <= 0) + my = sd->bl.y + (rand() % 11 - 5); + else + my = y; + k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, ""); + } + count += (k != 0) ? 1 : 0; + } + Changed last message display (to add number != count): + if (count != 0) + if (number == count) + clif_displaymessage(fd, msg_table[39]); // All monster summoned! + else { + sprintf(output, msg_table[240], count); // %d monster(s) summoned! + clif_displaymessage(fd, output); + } + else { + +********* 10th september +------------------------------------ +Correction of an error in char.c in 'char_config_read' function: + replace 'wisp_server_name' by 'w2' in the test of the lenght: + } else if (strcmpi(w1, "wisp_server_name") == 0) { + if (strlen(w2) >= 4) { + memcpy(wisp_server_name, w2, sizeof(wisp_server_name)); + wisp_server_name[sizeof(wisp_server_name) - 1] = '\0'; + } + +------------------------------------ +Added a better id control of monster id in @spawn/@monster... GM commands: + added in mob.h: + int mobdb_checkid(const int id); + Added in mob.c: + /*========================================== + * Id Mob is checked. + *------------------------------------------ + */ + int mobdb_checkid(const int id) { + if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0') + return 0; + + return id; + } + Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified): + if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) + mob_id = atoi(monster); + by: + if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) + mob_id = mobdb_checkid(atoi(monster)); + +********* 11th september +------------------------------------ +Changed @effect from level 60 to level 40. + +------------------------------------ +Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist + modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html diff --git a/Dev/quotes.txt b/Dev/quotes.txt index 463e7df9c..a82eaae68 100644 --- a/Dev/quotes.txt +++ b/Dev/quotes.txt @@ -1,148 +1,148 @@ -ADD UR QUOTES HERE FOR DEV EDITION NPCS! -Remember to add map, coords, and sprite number! - -NEW 10-21-04! -Add Biography areas --Real name --Age --Where u live --What u do here --Why ur here --and ur own small self intro. - -Completed people: MC Cameri, Aria, david, mouse - - -Also put some coords so that u walk around -//************************************\\ - -davidsiaw -- put me in payon next to kawaii no kafra with npc sprite no. 1002 -- [davidsiaw] -- Wud are you looking at? -- baka... -- next; -- [davidsiaw] -- *drops 100 Mjolnirs on the floor -- There ya go ;) - -Aria -prontera.gat,156,179,4 script Aria 805,{ -151,175-OMGWTFBBQ -152,182-So its u -> 0 -... That did not look right -158,177-OMGITSJEEBUS!#!@%! -164,176-Evera died. I guess. -147,176-I CLICK THE BUTTON AND THEY DON'T DIE! -155,172-RO? wtf? -Oh yeah. -165,171-omgnoob. DIE! -157,176-WooT! -[@Aria] is that why u bought windows -[@Aria] cuz bill has red hair -bio -Okay, I'm Evera's brother, Aria <- small sentence self-intro -^FF00FFAge^000000: 13 years <-age -^FF00FFWhat I do^000000: Graphics and NPCs <-wtf u do -^FF00FFWhy I'm here^000000: Cuz eAthena ROX <-y - -Anyway, here. I get to talk about myself now <-ur own bio -I'm from California, and I wub MMORPGS -So yeah that's it. GO EA! - -Shinigami --imma n00b --lol --:P --Shinigami stabs Azndragon --there you go bitches --watashi wa Shinigami desu --huh?, wtf? - -Lord --Me + ebil = bad me + ebil + power = omg .... -<@Wishy> me + you = you get owns -<@Lord> Me + Revenge = You Got owned -<@Wishy> Me > You -<@Lord> No i own you in bed :3 -<@Wishy> ... - -Codemaster -"Everything begins with Nu and everything ends with Nu. -This is the truth! This is my belief... at least for now." - - Mysteries of Life Volume 184. Chapter 26. - -MouseJstr - -"The only difference between a hurricane and skydiving is -which direction the tree's come at you from.." - -"Wanna be a GM? Write me a C routine that reverses a string - in place.." - -"Wanna be a GM? Write me a C routine that finds me the highest - bit set in a network order 32 bit integer..." - -"I am the dark angel of eAthena.. withen weeks of my arrival, - almost everybody was gone or dead.. fear me..." - -Lupus, I demand you rewrite yours.. - -MC Cameri -morroc.gat,160,97,4 script MC Cameri 706,{ --I'm the @command guy from oa... --Can't tell you my name. --16 years --Dominican Republic, in the caribbean. --Mostly work on @commands for GMs... --Because I like programming... --I'm a senior student, programmer, body builder(yes, I lift weights), etc. -160,95-I owns you all, under my commands. *lol* -162,95-I forgot what my script, what do I have to say again? *_*U -164,95-¿Donde estoy? *wonders* (<-- Means, where am I?) -164,97-Are you guys my friends? -164,99-My mom told me not to talk to strangers. *stares* -162,99-How can you be SO ugly!? -160,99-I need a friend to play with =(. *sobs* -160,97-I've been kicking this rock for as long as I can remember. -160,95-My computer just broke, and I don't know how to format. *sobs* - -Darkchild - -// Place me Next to Valaris (ELSE I DO IT MYSELF :P) -- I think Aria Has A Lot To Do -- The Darkness Within -- Watch Out For Trucks, They Tend To Drive You Down -- Who Am I? Really? Shure! -- GAH! -- Everyone Lubs Me! (I Hope!) -- I Lub Everyone! - As Long As They Are Female - Hot.... - Goodlooking - Big Boobs - Nice Ass - And Workship Me! -- Wannabe GM? Host Your Own Server -- kRO is €20 A Month! Sick Bastards! - -Biography: - mes "Okay, So I'm Darkchild......."; - mes "^FF00FFAge^000000: 17 years"; - mes "^FF00FFWhat I do^000000: Writing Biography"; - mes "^FF00FFWhy I'm here^000000: I Have NO Idea"; - next; - mes "Ehm Well..... Whats There To Say About Me.......?"; - mes "I Dunno.... As Long As You Love Me........."; - mes "Well Okay, A Lil Bit Then:"; - mes "I'm From The Netherlands And Doing Some Wacko Collega Atm"; - mes "More? WTF? YOU WANT MORE? GO BLOW URSELF!"; - next; -// let it do an npc event on Valaris - -// His Npc Event: - npctalk "DARKCHILD, DON'T YOU SHOUT AT POOR LIL N00BIEZ!!!"; - -// Back 2 Me :P - npctalk "Sorry Valaris"; - npctalk "(He Is Da Man!)"; +ADD UR QUOTES HERE FOR DEV EDITION NPCS! +Remember to add map, coords, and sprite number! + +NEW 10-21-04! +Add Biography areas +-Real name +-Age +-Where u live +-What u do here +-Why ur here +-and ur own small self intro. + +Completed people: MC Cameri, Aria, david, mouse + + +Also put some coords so that u walk around +//************************************\\ + +davidsiaw +- put me in payon next to kawaii no kafra with npc sprite no. 1002 +- [davidsiaw] +- Wud are you looking at? +- baka... +- next; +- [davidsiaw] +- *drops 100 Mjolnirs on the floor +- There ya go ;) + +Aria +prontera.gat,156,179,4 script Aria 805,{ +151,175-OMGWTFBBQ +152,182-So its u -> 0 +... That did not look right +158,177-OMGITSJEEBUS!#!@%! +164,176-Evera died. I guess. +147,176-I CLICK THE BUTTON AND THEY DON'T DIE! +155,172-RO? wtf? +Oh yeah. +165,171-omgnoob. DIE! +157,176-WooT! +[@Aria] is that why u bought windows +[@Aria] cuz bill has red hair +bio +Okay, I'm Evera's brother, Aria <- small sentence self-intro +^FF00FFAge^000000: 13 years <-age +^FF00FFWhat I do^000000: Graphics and NPCs <-wtf u do +^FF00FFWhy I'm here^000000: Cuz eAthena ROX <-y + +Anyway, here. I get to talk about myself now <-ur own bio +I'm from California, and I wub MMORPGS +So yeah that's it. GO EA! + +Shinigami +-imma n00b +-lol +-:P +-Shinigami stabs Azndragon +-there you go bitches +-watashi wa Shinigami desu +-huh?, wtf? + +Lord +-Me + ebil = bad me + ebil + power = omg .... +<@Wishy> me + you = you get owns +<@Lord> Me + Revenge = You Got owned +<@Wishy> Me > You +<@Lord> No i own you in bed :3 +<@Wishy> ... + +Codemaster +"Everything begins with Nu and everything ends with Nu. +This is the truth! This is my belief... at least for now." + - Mysteries of Life Volume 184. Chapter 26. + +MouseJstr + +"The only difference between a hurricane and skydiving is +which direction the tree's come at you from.." + +"Wanna be a GM? Write me a C routine that reverses a string + in place.." + +"Wanna be a GM? Write me a C routine that finds me the highest + bit set in a network order 32 bit integer..." + +"I am the dark angel of eAthena.. withen weeks of my arrival, + almost everybody was gone or dead.. fear me..." + +Lupus, I demand you rewrite yours.. + +MC Cameri +morroc.gat,160,97,4 script MC Cameri 706,{ +-I'm the @command guy from oa... +-Can't tell you my name. +-16 years +-Dominican Republic, in the caribbean. +-Mostly work on @commands for GMs... +-Because I like programming... +-I'm a senior student, programmer, body builder(yes, I lift weights), etc. +160,95-I owns you all, under my commands. *lol* +162,95-I forgot what my script, what do I have to say again? *_*U +164,95-¿Donde estoy? *wonders* (<-- Means, where am I?) +164,97-Are you guys my friends? +164,99-My mom told me not to talk to strangers. *stares* +162,99-How can you be SO ugly!? +160,99-I need a friend to play with =(. *sobs* +160,97-I've been kicking this rock for as long as I can remember. +160,95-My computer just broke, and I don't know how to format. *sobs* + +Darkchild + +// Place me Next to Valaris (ELSE I DO IT MYSELF :P) +- I think Aria Has A Lot To Do +- The Darkness Within +- Watch Out For Trucks, They Tend To Drive You Down +- Who Am I? Really? Shure! +- GAH! +- Everyone Lubs Me! (I Hope!) +- I Lub Everyone! + As Long As They Are Female + Hot.... + Goodlooking + Big Boobs + Nice Ass + And Workship Me! +- Wannabe GM? Host Your Own Server +- kRO is €20 A Month! Sick Bastards! + +Biography: + mes "Okay, So I'm Darkchild......."; + mes "^FF00FFAge^000000: 17 years"; + mes "^FF00FFWhat I do^000000: Writing Biography"; + mes "^FF00FFWhy I'm here^000000: I Have NO Idea"; + next; + mes "Ehm Well..... Whats There To Say About Me.......?"; + mes "I Dunno.... As Long As You Love Me........."; + mes "Well Okay, A Lil Bit Then:"; + mes "I'm From The Netherlands And Doing Some Wacko Collega Atm"; + mes "More? WTF? YOU WANT MORE? GO BLOW URSELF!"; + next; +// let it do an npc event on Valaris + +// His Npc Event: + npctalk "DARKCHILD, DON'T YOU SHOUT AT POOR LIL N00BIEZ!!!"; + +// Back 2 Me :P + npctalk "Sorry Valaris"; + npctalk "(He Is Da Man!)"; diff --git a/Dev/resnametable.TXT b/Dev/resnametable.TXT index 411bf6cd0..6c62e2a1b 100644 --- a/Dev/resnametable.TXT +++ b/Dev/resnametable.TXT @@ -1,64 +1,64 @@ -Resnametable reading problem, testcases and description -by Akaru ------------------------------------------------------------------- -EDITED Resnametable, add at the end: -aaa.gnd#valkyrie.gnd# -aaa.gat#valkyrie.gat# -aaa.rsw#valkyrie.rsw# -À¯ÀúÀÎÅÍÆäÀ̽º\map\aaa.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\valkyrie.bmp# - -At map_athena.conf, add: -map: aaa.gat - -Case 1: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's no resnametable -In data folder there's an edited resnametable with aaa.gat reference -Results: Athena gives aaa.gat not found error -What this proves: Athena doesn't even use the values in the datafolder resnametable - -Case 2: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's the edited resnametable aaa.gat reference -In data folder there's an edited resnametable with aaa.gat reference -Results: Athena loads aaa.gat -What this proves: Athena only checks for the existance of the datafolder resnametable, but uses value from sdata.grf resnametable - -Case 3: -In data.grf there's the base resnametable without reference of aaa.gat -In sdata.grf there's the edited resnametable aaa.gat reference -In data folder there's no resnametable -BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" -AFTER MY CHANGE: Athena loads aaa.gat -What this proves: Athena do not need the datafolder resnametable at all and it still runs from the resnametable in the GRFs - -Case 4: -In data.grf there's no resnametable -In sdata.grf there's no resnametable -In data folder there's no resnametable -BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" -AFTER MY CHANGE: Athena exits, "data/resnametable.txt not found" - -How it is now: -- It searches for the datafolder resnametable: - - If it exist, it continues but only use the resnametable from the GRF - - If it does not exist, - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - -What is should do: -- Check if data_folder in grf-files is enabled: - - If it is, search for the datafolder resnametable: - - If it exist: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it continues and uses this resnametable - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and overwrites the GRF resnametable with this one from the datafolder - - If it does not exist: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable - - If it isn't, then: - - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits - - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable - ------------------------------------------------------------------- -Fixes, comments, discussions, etc goes below here: +Resnametable reading problem, testcases and description +by Akaru +------------------------------------------------------------------ +EDITED Resnametable, add at the end: +aaa.gnd#valkyrie.gnd# +aaa.gat#valkyrie.gat# +aaa.rsw#valkyrie.rsw# +À¯ÀúÀÎÅÍÆäÀ̽º\map\aaa.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\valkyrie.bmp# + +At map_athena.conf, add: +map: aaa.gat + +Case 1: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's no resnametable +In data folder there's an edited resnametable with aaa.gat reference +Results: Athena gives aaa.gat not found error +What this proves: Athena doesn't even use the values in the datafolder resnametable + +Case 2: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's the edited resnametable aaa.gat reference +In data folder there's an edited resnametable with aaa.gat reference +Results: Athena loads aaa.gat +What this proves: Athena only checks for the existance of the datafolder resnametable, but uses value from sdata.grf resnametable + +Case 3: +In data.grf there's the base resnametable without reference of aaa.gat +In sdata.grf there's the edited resnametable aaa.gat reference +In data folder there's no resnametable +BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" +AFTER MY CHANGE: Athena loads aaa.gat +What this proves: Athena do not need the datafolder resnametable at all and it still runs from the resnametable in the GRFs + +Case 4: +In data.grf there's no resnametable +In sdata.grf there's no resnametable +In data folder there's no resnametable +BEFORE MY CHANGE: Athena exits, "data/resnametable.txt not found" +AFTER MY CHANGE: Athena exits, "data/resnametable.txt not found" + +How it is now: +- It searches for the datafolder resnametable: + - If it exist, it continues but only use the resnametable from the GRF + - If it does not exist, + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + +What is should do: +- Check if data_folder in grf-files is enabled: + - If it is, search for the datafolder resnametable: + - If it exist: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it continues and uses this resnametable + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and overwrites the GRF resnametable with this one from the datafolder + - If it does not exist: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable + - If it isn't, then: + - If resnametable isn't found in data.grf/sdata.grf/adata.grf, it errors "resnametable not found" and exits + - If resnametable is found in data.grf/sdata.grf/adata.grf, it continues and use the GRF resnametable + +------------------------------------------------------------------ +Fixes, comments, discussions, etc goes below here: ------------------------------------------------------------------ \ No newline at end of file diff --git a/INSTALL b/INSTALL index ab8609bf3..c98db12b4 100644 --- a/INSTALL +++ b/INSTALL @@ -1,246 +1,246 @@ -eAthena SQL Installation and Upgrade Instructions - -1 Installation - 1.1 Windows - 1.2 Linux - 1.3 FreeBSD -2 Upgrading - 2.1 Upgrading from version 817 - 2.2 Upgrading from version 0.5.2 - 2.3 Upgrading from version 1.0 RC 1 -3 Mail System - 3.1 Adding the mail database - 3.2 Activating the mail system - -1 Installation -============== - -1.1 Windows ------------ - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.1 Installing MySQL on Windows -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql\main.sql. If you want your item and monster databases stored in your MySQL database, execute sql\database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter.exe and char-converter.exe. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf\ (except import\, mapflag\, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Download the latest cygwin1-yyyymmdd.dll.bz2 snapshot, where "yyyymmdd" is the build date, from http://cygwin.com/snapshots/. Extract cygwin1-yyyymmdd.dll from the archive, rename it to cygwin1.dll, and move it to your system or system32 directory -- depending on your version of Windows -- in your system root directory. - -9. Optionally compile: - -a. Install Cygwin with these packages: - -devel/ - gcc, - gcc-g++, - gcc-mingw-core, - gcc-mingw-g++, - make, - mingw-runtime, - mktemp - -b. Using Cygwin, install the MySQL libraries by compiling and installing the MySQL database server source distribution for Linux with "./configure --without-server && make && make install". - -c. Using Cygwin, enter "make" in the eAthena SQL directory. Recompile with "make clean && make". - -1.2 Linux ---------- - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.2 Installing MySQL on Linux -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Compile with "make". Recompile with "make clean && make". - -1.3 FreeBSD ------------ - -1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): - -- 2.2.5 Installing MySQL on Other Unix-Like Systems -- 2.4 Post-Installation Setup and Testing -- 5.4 General Security Issues -- 5.5 The MySQL Access Privilege System -- 5.6 MySQL User Account Management - -2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. - -3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: - -CREATE DATABASE ragnarok; -GRANT - SELECT,INSERT,UPDATE,DELETE - ON `ragnarok`.* # database - TO 'ragnarok'@'localhost' # username@address - IDENTIFIED BY 'password'; # password - -For security, do not use the password "password" for your user account. - -4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: - -mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more - -5. Add an inter-server account for every character server you intend to link to your login server. For example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`) - VALUES ('inter-server_chaos','password','S',''); - -Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: - -- The "sex" field value must equal "S" -- The "e-mail" field value is unused and therefore should be set to "" -- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 - -Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. - -6. Add accounts or convert existing accounts from a text file database. - -To add new accounts, use, for example: - -USE ragnarok -INSERT INTO `login` - (`userid`,`user_pass`,`sex`,`email`,`level`) - VALUES ('','','','',); - -Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). - -To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. - -7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. - -8. Compile with "gmake". Recompile with "gmake clean && gmake". - - -2 Upgrading -=========== - -2.1 Upgrading from version 817 ------------------------------- - -1. Execute the batch queries stored in sql/upgrade_817.sql and sql/upgrade_0.5.2_main.sql. - -2. If you want your item and monster databases stored in your MySQL database, execute the batch queries stored in sql/database.sql. - -2.2 Upgrading from version 0.5.2 --------------------------------- - -1. Execute the batch queries stored in sql/upgrade_0.5.2_main.sql. - -2. If you created the item_db and mob_db tables, execute the batch queries stored in sql/upgrade_0.5.2_database.sql. - -2.3 Upgrading from version 1.0 RC 1 ------------------------------------ - -1. Execute the batch queries stored in sql/upgrade_1.0.0-rc1_main.sql. - - -3 Mail System -============= - -2.1 Adding the mail database ----------------------------- -1. Execute the batch queries stored in sql/mail.sql - -2. Set mail_system option in conf/battle_athena.conf to 1 or yes. +eAthena SQL Installation and Upgrade Instructions + +1 Installation + 1.1 Windows + 1.2 Linux + 1.3 FreeBSD +2 Upgrading + 2.1 Upgrading from version 817 + 2.2 Upgrading from version 0.5.2 + 2.3 Upgrading from version 1.0 RC 1 +3 Mail System + 3.1 Adding the mail database + 3.2 Activating the mail system + +1 Installation +============== + +1.1 Windows +----------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.1 Installing MySQL on Windows +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql\main.sql. If you want your item and monster databases stored in your MySQL database, execute sql\database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter.exe and char-converter.exe. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf\ (except import\, mapflag\, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Download the latest cygwin1-yyyymmdd.dll.bz2 snapshot, where "yyyymmdd" is the build date, from http://cygwin.com/snapshots/. Extract cygwin1-yyyymmdd.dll from the archive, rename it to cygwin1.dll, and move it to your system or system32 directory -- depending on your version of Windows -- in your system root directory. + +9. Optionally compile: + +a. Install Cygwin with these packages: + +devel/ + gcc, + gcc-g++, + gcc-mingw-core, + gcc-mingw-g++, + make, + mingw-runtime, + mktemp + +b. Using Cygwin, install the MySQL libraries by compiling and installing the MySQL database server source distribution for Linux with "./configure --without-server && make && make install". + +c. Using Cygwin, enter "make" in the eAthena SQL directory. Recompile with "make clean && make". + +1.2 Linux +--------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.2 Installing MySQL on Linux +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Compile with "make". Recompile with "make clean && make". + +1.3 FreeBSD +----------- + +1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html): + +- 2.2.5 Installing MySQL on Other Unix-Like Systems +- 2.4 Post-Installation Setup and Testing +- 5.4 General Security Issues +- 5.5 The MySQL Access Privilege System +- 5.6 MySQL User Account Management + +2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service. + +3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example: + +CREATE DATABASE ragnarok; +GRANT + SELECT,INSERT,UPDATE,DELETE + ON `ragnarok`.* # database + TO 'ragnarok'@'localhost' # username@address + IDENTIFIED BY 'password'; # password + +For security, do not use the password "password" for your user account. + +4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example: + +mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more + +5. Add an inter-server account for every character server you intend to link to your login server. For example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`) + VALUES ('inter-server_chaos','password','S',''); + +Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are: + +- The "sex" field value must equal "S" +- The "e-mail" field value is unused and therefore should be set to "" +- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0 + +Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts. + +6. Add accounts or convert existing accounts from a text file database. + +To add new accounts, use, for example: + +USE ragnarok +INSERT INTO `login` + (`userid`,`user_pass`,`sex`,`email`,`level`) + VALUES ('','','','',); + +Where is either M, F, or S for male, female, and inter-server respectively and is the e-mail address (for confirmation of character deletion). + +To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted. + +7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences. + +8. Compile with "gmake". Recompile with "gmake clean && gmake". + + +2 Upgrading +=========== + +2.1 Upgrading from version 817 +------------------------------ + +1. Execute the batch queries stored in sql/upgrade_817.sql and sql/upgrade_0.5.2_main.sql. + +2. If you want your item and monster databases stored in your MySQL database, execute the batch queries stored in sql/database.sql. + +2.2 Upgrading from version 0.5.2 +-------------------------------- + +1. Execute the batch queries stored in sql/upgrade_0.5.2_main.sql. + +2. If you created the item_db and mob_db tables, execute the batch queries stored in sql/upgrade_0.5.2_database.sql. + +2.3 Upgrading from version 1.0 RC 1 +----------------------------------- + +1. Execute the batch queries stored in sql/upgrade_1.0.0-rc1_main.sql. + + +3 Mail System +============= + +2.1 Adding the mail database +---------------------------- +1. Execute the batch queries stored in sql/mail.sql + +2. Set mail_system option in conf/battle_athena.conf to 1 or yes. diff --git a/LICENCE b/LICENCE index 45645b4b5..5b6e7c66c 100644 --- a/LICENCE +++ b/LICENCE @@ -1,340 +1,340 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/LICENCE_JA b/LICENCE_JA index 0888c67e2..d6306074a 100644 --- a/LICENCE_JA +++ b/LICENCE_JA @@ -1,416 +1,416 @@ - GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ - ƒo[ƒWƒ‡ƒ“2A1991”N6ŒŽ - “ú–{Œê–óA2002”N5ŒŽ20“ú - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ‚±‚Ì—˜—p‹–‘øŒ_–ñ‘‚ðAˆêŽšˆê‹å‚»‚Ì‚Ü‚Ü‚É•¡»‚µ”Еz‚·‚邱‚Æ‚Í‹–‰Â‚·‚éB - ‚µ‚©‚µ•ÏX‚Í”F‚ß‚È‚¢B - - This is an unofficial translation of the GNU General Public License - into Japanese. It was not published by the Free Software Foundation, - and does not legally state the distribution terms for software that - uses the GNU GPL--only the original English text of the GNU GPL does - that. However, we hope that this translation will help Japanese - speakers understand the GNU GPL better. - - (–ó: ˆÈ‰º‚ÍGNU General Public License‚Ì”ñŒöŽ®‚È“ú–{Œê–ó‚Å‚·B‚±‚ê‚̓t - ƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c(the Free Software Foundataion)‚É‚æ‚Á‚Ä”­•\‚³‚ꂽ - ‚à‚Ì‚Å‚Í‚È‚­AGNU GPL‚ð“K—p‚µ‚½ƒ\ƒtƒgƒEƒFƒA‚̔ЕzðŒ‚ð–@“I‚É—LŒø‚ÈŒ` - ‚Åq‚ׂ½‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB”ЕzðŒ‚Æ‚µ‚Ä‚ÍGNU GPL‚̉pŒê”ŃeƒLƒXƒg‚Å - Žw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚Ì‚Ý‚ª—LŒø‚Å‚·B‚µ‚©‚µ‚È‚ª‚çAŽ„‚½‚¿‚Í‚±‚Ì–|–ó‚ªA - “ú–{Œê‚ðŽg—p‚·‚élX‚É‚Æ‚Á‚ÄGNU GPL‚ð‚æ‚è—Ç‚­—‰ð‚·‚é•‚¯‚ƂȂ邱‚Æ‚ð - –]‚ñ‚Å‚¢‚Ü‚·B) - - –|–ó‚Í ”ª“c^s‚ªs‚Á‚½BŒ´•¶‚Í - http://www.gnu.org/licenses/gpl.txt‚Å‚ ‚éBŒë–ó‚ÌŽw“E‚â‰ü‘PˆÄ‚ðŠ½Œ}‚· - ‚éB - ‚Í‚¶‚ß‚É - -ƒ\ƒtƒgƒEƒFƒAŒü‚¯ƒ‰ƒCƒZƒ“ƒX‚̑唼‚ÍA‚ ‚È‚½‚ª‚»‚̃\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½ -‚è•ÏX‚µ‚½‚è‚·‚鎩—R‚ð’D‚¤‚悤‚ÉÝŒv‚³‚ê‚Ä‚¢‚Ü‚·B‘ÎÆ“I‚ÉAGNU ˆê”ÊŒö -O—˜—p‹–‘øŒ_–ñ‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½‚è•ÏX‚µ‚½‚è‚· -‚鎩—R‚ð•ÛØ‚·‚é--‚·‚È‚í‚¿Aƒ\ƒtƒgƒEƒFƒA‚ª‚»‚̃†[ƒU‚·‚ׂĂɂƂÁ‚ătƒŠ[ -‚Å‚ ‚邱‚Æ‚ð•ÛØ‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚Ü‚·B‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ -‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒFƒA‚Ì‚Ù‚Æ‚ñ‚Ç‚É“K—p‚³‚ê‚Ä‚¨‚èA‚Ü‚½ -GNU GPL‚ð“K—p‚·‚é‚ÆŒˆ‚ß‚½ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’cˆÈŠO‚ÌìŽÒ‚É‚æ‚éƒvƒƒO -ƒ‰ƒ€‚É‚à“K—p‚³‚ê‚Ä‚¢‚Ü‚·(‚¢‚­‚‚©‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒF -ƒA‚É‚ÍAGNU GPL‚Å‚Í‚È‚­GNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ª“K—p‚³‚ê -‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·)B‚ ‚È‚½‚à‚Ü‚½A‚²Ž©•ª‚̃vƒƒOƒ‰ƒ€‚ÉGNU GPL‚ð“K—p -‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B - -Ž„‚½‚¿‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ÆŒ¾‚¤‚Æ‚«A‚»‚ê‚Í—˜—p‚ÌŽ©—R‚ɂ‚¢‚ÄŒ¾‹y‚µ‚Ä -‚¢‚é‚Ì‚Å‚ ‚Á‚ÄA‰¿Ši‚Í–â‘è‚É‚µ‚Ä‚¢‚Ü‚¹‚ñBŽ„‚½‚¿‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ -‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚·‚鎩—R‚ð•ÛØ‚·‚é‚æ‚¤Ý -Œv‚³‚ê‚Ä‚¢‚Ü‚·(Šó–]‚ɉž‚¶‚Ä‚»‚ÌŽí‚̃T[ƒrƒX‚ÉŽè”—¿‚ð‰Û‚·Ž©—R‚à•ÛØ‚³ -‚ê‚Ü‚·)B‚Ü‚½A‚ ‚È‚½‚ªƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©A‚ ‚é‚¢‚Í–]‚߂΂»‚ê‚ð -“üŽè‚·‚邱‚Æ‚ª‰Â”\‚Å‚ ‚é‚Æ‚¢‚¤‚±‚ÆA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚ð•ÏX‚µA‚»‚Ì -ˆê•”‚ðV‚½‚ȃtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Å—˜—p‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄAˆÈã‚Åq -‚ׂ½‚悤‚È‚±‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚È‚½‚É’m‚炳‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚à•ÛØ‚³ -‚ê‚Ü‚·B - -‚ ‚È‚½‚ÌŒ —˜‚ðŽç‚邽‚ßAŽ„‚½‚¿‚Í’N‚©‚ª‚ ‚È‚½‚Ì—L‚·‚邱‚ê‚ç‚ÌŒ —˜‚ð”Û’è -‚·‚邱‚Æ‚âA‚±‚ê‚ç‚ÌŒ —˜‚ð•úŠü‚·‚é‚悤—v‹‚·‚邱‚Æ‚ð‹ÖŽ~‚·‚é‚Æ‚¢‚¤§ŒÀ -‚ð‰Á‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B‚æ‚Á‚ÄA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚µ‚½ -‚è‚»‚ê‚ð•ÏX‚µ‚½‚è‚·‚éꇂɂÍA‚±‚ê‚ç‚̧ŒÀ‚Ì‚½‚ß‚É‚ ‚È‚½‚É‚ ‚éŽí‚ÌÓ -”C‚ª”­¶‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B - -—Ⴆ‚ÎA‚ ‚È‚½‚ªƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Ì•¡»•¨‚ð”Еz‚·‚éê‡A—L—¿‚©–³—¿‚É -ŠÖ‚í‚炸A‚ ‚È‚½‚ÍŽ©•ª‚ª—L‚·‚錠—˜‚ð‘S‚ÄŽó—ÌŽÒ‚É—^‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB -‚Ü‚½A‚ ‚È‚½‚͔ނç‚àƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©Žè‚É“ü‚ê‚邱‚Æ‚ª‚Å‚«‚é‚悤 -•ÛØ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚»‚µ‚ÄA‚ ‚È‚½‚͔ނç‚ɑ΂µ‚Ĉȉº‚Åq‚ׂéðŒ -‚ðŽ¦‚µA”Þ‚ç‚ÉŽ©‚ç‚ÌŽ‚ÂŒ —˜‚ɂ‚¢‚Ä’m‚炵‚ß‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹ -‚ñB - -Ž„‚½‚¿‚Í‚ ‚È‚½‚ÌŒ —˜‚ð“ñ’iŠK‚̎臂𓥂ñ‚ŕی삵‚Ü‚·B(1) ‚Ü‚¸ƒ\ƒtƒgƒEƒF -ƒA‚ɑ΂µ‚Ä’˜ìŒ ‚ðŽå’£‚µA‚»‚µ‚Ä (2) ‚ ‚È‚½‚ɑ΂µ‚ÄAƒ\ƒtƒgƒEƒFƒA‚Ì•¡ -»‚â”Еz‚Ü‚½‚͉ü•Ï‚ɂ‚¢‚Ä‚Ì–@“I‚È‹–‰Â‚ð—^‚¦‚邱‚ÌŒ_–ñ‘‚ð’ñŽ¦‚µ‚Ü‚·B - -‚Ü‚½AŠeìŽÒ‚⎄‚½‚¿‚ð•ÛŒì‚·‚邽‚ßAŽ„‚½‚¿‚Í‚±‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚Í -‰½‚Ì•ÛØ‚à–³‚¢‚Æ‚¢‚¤‚±‚Æ‚ð’N‚à‚ªŠmŽÀ‚É—‰ð‚·‚é‚悤‚É‚µA‚Ü‚½ƒ\ƒtƒgƒEƒF -ƒA‚ª’N‚©‘¼l‚É‚æ‚Á‚ĉü•Ï‚³‚êA‚»‚ꂪŽŸX‚ƔЕz‚³‚ê‚Ä‚¢‚Á‚½‚Æ‚µ‚Ä‚àA‚» -‚ÌŽó—̎҂͔ނ炪Žè‚É“ü‚ꂽƒ\ƒtƒgƒEƒFƒA‚ªƒIƒŠƒWƒiƒ‹‚̃o[ƒWƒ‡ƒ“‚Å‚Í–³‚¢ -‚±‚ÆA‚»‚µ‚ÄŒ´ìŽÒ‚Ì–¼º‚Í‘¼l‚É‚æ‚Á‚ÄŽ‚¿ž‚܂ꂽ‰Â”\«‚Ì‚ ‚é–â‘è‚É‚æ‚Á -‚ĉe‹¿‚³‚ê‚邱‚Æ‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚ðŽü’m‚³‚¹‚½‚¢‚ÆŽv‚¢‚Ü‚·B - -ÅŒã‚ÉAƒ\ƒtƒgƒEƒFƒA“Á‹–‚ª‚¢‚©‚È‚éƒtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Ì‘¶Ý‚É‚à•s’f‚Ì‹º -ˆÐ‚ð“Š‚°‚©‚¯‚Ä‚¢‚Ü‚·‚ªAŽ„‚½‚¿‚ÍAƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚ÌĔЕzŽÒ‚ªŒÂX‚É -“Á‹–ƒ‰ƒCƒZƒ“ƒX‚ðŽæ“¾‚·‚邱‚Æ‚É‚æ‚Á‚ÄAŽ–ŽÀãƒvƒƒOƒ‰ƒ€‚ð“Æè“I‚É‚µ‚Ä‚µ -‚Ü‚¤‚Æ‚¢‚¤ŠëŒ¯‚ð”ð‚¯‚½‚¢‚ÆŽv‚¢‚Ü‚·B‚±‚¤‚¢‚Á‚½Ž–‘Ô‚ð—\–h‚·‚邽‚ßAŽ„‚½ -‚¿‚Í‚¢‚©‚È‚é“Á‹–‚à’N‚à‚ªŽ©—R‚É—˜—p‚Å‚«‚é‚悤ƒ‰ƒCƒZƒ“ƒX‚³‚ê‚é‚©A‘S‚­ƒ‰ -ƒCƒZƒ“ƒX‚³‚ê‚È‚¢‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Ƃ𖾊m‚É‚µ‚Ü‚µ‚½B - -(–ó’: –{Œ_–ñ‘‚Åu“Æè“I(proprietary)v‚Æ‚ÍAƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚âĔР-•zA‰ü•Ï‚ª‹ÖŽ~‚³‚ê‚Ä‚¢‚é‚©A‹–‰Â‚𓾂邱‚Æ‚ª•K—v‚Æ‚³‚ê‚Ä‚¢‚é‚©A‚ ‚é‚¢ -‚ÍŒµ‚µ‚¢§ŒÀ‚ª‰Û‚¹‚ç‚ê‚Ä‚¢‚ÄŽ©—R‚É‚»‚¤‚·‚邱‚Æ‚ªŽ–ŽÀã‚Å‚«‚È‚­‚È‚Á‚Ä‚¢ -‚éó‘Ô‚Ì‚±‚Æ‚ðŽw‚·BÚ‚µ‚­‚Í -http://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftware‚ð -ŽQÆ‚¹‚æB) - -•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ă̳Šm‚ÈðŒ‚Ƨ–ñ‚ðˆÈ‰º‚Åq‚ׂĂ¢‚«‚Ü‚·B - - GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ - •¡»A”ЕzA‰ü•Ï‚ÉŠÖ‚·‚éðŒ‚Ƨ–ñ - -0. ‚±‚Ì—˜—p‹–‘øŒ_–ñ‘‚ÍA‚»‚̃vƒƒOƒ‰ƒ€(‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨)‚ð‚±‚Ìˆê -”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì’è‚ß‚éðŒ‚̉º‚ŔЕz‚Å‚«‚é‚Æ‚¢‚¤’m‚ª’˜ìŒ ŽÒ‚É -‚æ‚Á‚Ä‹LÚ‚³‚ꂽƒvƒƒOƒ‰ƒ€‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨‘S”Ê‚É“K—p‚³‚ê‚éBˆÈ‰º‚Å -‚ÍAuwƒvƒƒOƒ‰ƒ€xv‚Æ‚Í‚»‚̂悤‚É‚µ‚Ä‚±‚ÌŒ_–ñ‘‚ª“K—p‚³‚ꂽƒvƒƒOƒ‰ -ƒ€‚⒘앨‘S”Ê‚ðˆÓ–¡‚µA‚Ü‚½uwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨v‚Æ‚Íwƒv -ƒƒOƒ‰ƒ€x‚â‚»‚Ì‘¼’˜ìŒ –@‚̉º‚Å”h¶•¨‚ÆŒ©‚È‚³‚ê‚é‚à‚Ì‘S”Ê‚ðŽw‚·B‚·‚È -‚í‚¿AwƒvƒƒOƒ‰ƒ€x‚©‚»‚̈ꕔ‚ðA‘S‚­“¯ˆê‚Ì‚Ü‚Ü‚©A‰ü•Ï‚ð‰Á‚¦‚½‚©A‚  -‚é‚¢‚Í‘¼‚ÌŒ¾Œê‚É–|–󂳂ꂽŒ`‚ÅŠÜ‚Þ’˜ì•¨‚Ì‚±‚Æ‚Å‚ ‚é(u‰ü•Ïv‚Æ‚¢‚¤Œê -‚Ì–{—ˆ‚̈Ӗ¡‚©‚ç‚Í‚¸‚ê‚邪AˆÈ‰º‚Å‚Í–|–ó‚à‰ü•Ï‚̈êŽí‚ÆŒ©‚È‚·)B‚»‚ꂼ -‚ê‚ÌŒ_–ñŽÒ‚Íu‚ ‚È‚½v‚Æ•\Œ»‚³‚ê‚éB - -•¡»‚â”ЕzA‰ü•ÏˆÈŠO‚ÌŠˆ“®‚Í‚±‚ÌŒ_–ñ‘‚ł̓Jƒo[‚³‚ê‚È‚¢B‚»‚ê‚ç‚Í‚±‚Ì -Œ_–ñ‘‚Ì‘ÎÛŠO‚Å‚ ‚éBwƒvƒƒOƒ‰ƒ€x‚ðŽÀs‚·‚ésˆ×Ž©‘̂ɧŒÀ‚Í‚È‚¢B‚Ü -‚½A‚»‚̂悤‚ÈwƒvƒƒOƒ‰ƒ€x‚Ìo—ÍŒ‹‰Ê‚ÍA‚»‚Ì“à—e‚ªwƒvƒƒOƒ‰ƒ€x‚ðŠî -‚É‚µ‚½’˜ì•¨‚ð\¬‚·‚éꇂ݂̂±‚ÌŒ_–ñ‘‚É‚æ‚Á‚ĕی삳‚ê‚é(wƒvƒƒOƒ‰ -ƒ€x‚ðŽÀs‚µ‚½‚±‚Æ‚É‚æ‚Á‚Ä쬂³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚Æ‚Í–³ŠÖŒW‚Å‚ ‚é)B‚±‚Ì -‚悤‚Èüˆø‚«‚̑Ó–«‚ÍAwƒvƒƒOƒ‰ƒ€x‚ª‰½‚ð‚·‚é‚Ì‚©‚Ɉˑ¶‚·‚éB - -1. ‚»‚ꂼ‚ê‚Ì•¡»•¨‚É‚¨‚¢‚Ä“KØ‚È’˜ìŒ •\Ž¦‚Æ•Û؂̔۔Fº–¾(disclaimer -of warranty)‚ð–Ú—§‚‚悤“KØ‚ÉŒfÚ‚µA‚Ü‚½‚±‚ÌŒ_–ñ‘‚¨‚æ‚шêØ‚Ì•ÛØ‚Ì -•sÝ‚ÉG‚ꂽ’m‚·‚×‚Ä‚ð‚»‚Ì‚Ü‚ÜŽc‚µA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ðwƒvƒ -ƒOƒ‰ƒ€x‚Ì‚¢‚©‚È‚éŽó—ÌŽÒ‚É‚àwƒvƒƒOƒ‰ƒ€x‚Æ‹¤‚ɔЕz‚·‚éŒÀ‚èA‚ ‚È‚½‚Í -wƒvƒƒOƒ‰ƒ€x‚̃\[ƒXƒR[ƒh‚Ì•¡»•¨‚ðA‚ ‚È‚½‚ªŽó‚¯Žæ‚Á‚½’Ê‚è‚ÌŒ`‚Å•¡ -»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB”}‘Ì‚Í–â‚í‚È‚¢B - -‚ ‚È‚½‚ÍA•¨—“I‚É•¡»•¨‚ð÷“n‚·‚é‚Æ‚¢‚¤sˆ×‚ÉŠÖ‚µ‚ÄŽè”—¿‚ð‰Û‚µ‚Ä‚à—Ç -‚¢‚µAŠó–]‚É‚æ‚Á‚Ä‚ÍŽè”—¿‚ðŽæ‚Á‚ÄŒðŠ·‚É‚¨‚¯‚é•ÛŒì‚Ì•ÛØ‚ð’ñ‹Ÿ‚µ‚Ä‚à—Ç -‚¢B - -2. ‚ ‚È‚½‚ÍŽ©•ª‚ÌwƒvƒƒOƒ‰ƒ€x‚Ì•¡»•¨‚©‚»‚̈ꕔ‚ð‰ü•Ï‚µ‚ÄwƒvƒƒOƒ‰ -ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‚ðŒ`¬‚µA‚»‚̂悤‚ȉü•Ï“_‚⒘앨‚ðã‹L‘æ1ß‚Ì’è -‚ß‚éðŒ‚̉º‚Å•¡»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ì‚½‚߂ɂ͈ȉº -‚ÌðŒ‚·‚ׂĂ𖞂½‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢: - - a) ‚ ‚È‚½‚ª‚»‚ê‚ç‚̃tƒ@ƒCƒ‹‚ð•ÏX‚µ‚½‚Æ‚¢‚¤‚±‚Æ‚Æ•ÏX‚µ‚½“úŽž‚ª—Ç - ‚­•ª‚©‚é‚悤A‰ü•Ï‚³‚ꂽƒtƒ@ƒCƒ‹‚ÉŽ¦‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B - - b) wƒvƒƒOƒ‰ƒ€x‚Ü‚½‚Í‚»‚̈ꕔ‚ðŠÜ‚Þ’˜ì•¨A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x - ‚©‚»‚̈ꕔ‚©‚ç”h¶‚µ‚½’˜ì•¨‚ð”Еz‚ ‚é‚¢‚Í”­•\‚·‚éꇂɂÍA‚»‚Ì‘S - ‘Ì‚ð‚±‚ÌŒ_–ñ‘‚ÌðŒ‚É]‚Á‚Ä‘æŽOŽÒ‚Ö–³ž‚Å—˜—p‹–‘ø‚µ‚È‚¯‚ê‚΂Ȃç‚È - ‚¢B - - c) ‰ü•Ï‚³‚ꂽƒvƒƒOƒ‰ƒ€‚ªA’ÊíŽÀs‚·‚éۂɑΘb“I‚ɃRƒ}ƒ“ƒh‚ð“Ç‚Þ - ‚悤‚É‚È‚Á‚Ä‚¢‚é‚È‚ç‚ÎA‚»‚̃vƒƒOƒ‰ƒ€‚ðÅ‚àˆê”Ê“I‚È•û–@‚őΘb“I‚É - ŽÀs‚·‚éÛA“KØ‚È’˜ìŒ •\Ž¦A–³•ÛØ‚Å‚ ‚邱‚Æ(‚ ‚é‚¢‚Í‚ ‚È‚½‚ª•Û - Ø‚ð’ñ‹Ÿ‚·‚é‚Æ‚¢‚¤‚±‚Æ)Aƒ†[ƒU‚ªƒvƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Åq‚ׂ½ð - Œ‚̉º‚ŔЕz‚·‚邱‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ð - ‰{——‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚©‚Æ‚¢‚¤ƒ†[ƒU‚Ö‚Ìà–¾‚ðŠÜ‚Þ’m‚ªˆóü‚³ - ‚ê‚é‚©A‚ ‚é‚¢‚͉æ–Ê‚É•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢(—áŠO‚Æ‚µ - ‚ÄAwƒvƒƒOƒ‰ƒ€x‚»‚Ì‚à‚̂͑Θb“I‚Å‚ ‚Á‚Ä‚à’Êí‚»‚̂悤‚È’m‚ðˆó - ü‚µ‚È‚¢ê‡‚É‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½‚ ‚È‚½‚Ì’˜ì•¨‚É‚»‚̂悤 - ‚È’m‚ðˆóü‚³‚¹‚é•K—v‚Í‚È‚¢)B - -ˆÈã‚Ì•K—vðŒ‚Í‘S‘Ì‚Æ‚µ‚Ẳü•Ï‚³‚ꂽ’˜ì•¨‚É“K—p‚³‚ê‚éB’˜ì•¨‚̈ꕔ -‚ªwƒvƒƒOƒ‰ƒ€x‚©‚ç”h¶‚µ‚½‚à‚Ì‚Å‚Í‚È‚¢‚ÆŠm”F‚Å‚«A‚»‚ê‚玩g•Ê‚Ì“Æ—§ -‚µ‚½’˜ì•¨‚Å‚ ‚é‚Ƈ—“I‚Él‚¦‚ç‚ê‚é‚È‚ç‚ÎA‚ ‚È‚½‚ª‚»‚ê‚ç‚ð•Ê‚Ì’˜ì•¨ -‚Æ‚µ‚Ä•ª‚¯‚ĔЕz‚·‚éê‡A‚»‚¤‚¢‚Á‚½•”•ª‚É‚Í‚±‚ÌŒ_–ñ‘‚Æ‚»‚ÌðŒ‚Í -“K—p‚³‚ê‚È‚¢B‚µ‚©‚µA‚ ‚È‚½‚ª“¯‚¶•”•ª‚ðwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨ -‘S‘̂̈ꕔ‚Æ‚µ‚ĔЕz‚·‚é‚È‚ç‚ÎA‘S‘Ì‚Æ‚µ‚Ă̔Еz•¨‚ÍA‚±‚ÌŒ_–ñ‘‚ª -‰Û‚·ðŒ‚É]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚±‚ÌŒ_–ñ‘‚ª‘¼‚ÌŒ_–ñŽÒ -‚É—^‚¦‚é‹–‰Â‚ÍwƒvƒƒOƒ‰ƒ€xŠÛ‚²‚Æ‘S‘Ì‚É‹y‚ÑA’N‚ª‘‚¢‚½‚©‚ÍŠÖŒW‚È‚­Še -•”•ª‚Ì‚·‚ׂĂð•ÛŒì‚·‚é‚©‚ç‚Å‚ ‚éB - -‚æ‚Á‚ÄA‚·‚ׂĂ ‚È‚½‚É‚æ‚Á‚Ä‘‚©‚ꂽ’˜ì•¨‚ɑ΂µAŒ —˜‚ðŽå’£‚µ‚½‚è‚ ‚È -‚½‚ÌŒ —˜‚Ɉًc‚ð\‚µ—§‚Ă邱‚Æ‚Í‚±‚Ì߂̈Ó}‚·‚é‚Æ‚±‚ë‚Å‚Í‚È‚¢B‚Þ‚µ‚ëA -‚»‚ÌŽïŽ|‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½”h¶•¨‚È‚¢‚µW‡’˜ì•¨‚̔Еz‚ðŠÇ—‚· -‚錠—˜‚ðsŽg‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É‚ ‚éB - -‚Ü‚½AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚Ä‚¢‚È‚¢‚»‚Ì‘¼‚Ì’˜ì•¨‚ðwƒvƒƒOƒ‰ƒ€x(‚  -‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨)‚ƈê‚ÉW‚ß‚½‚¾‚¯‚Ì‚à‚Ì‚ðˆêŠª‚Ì -•ÛŠÇ‘•’u‚È‚¢‚µ”Еz”}‘Ì‚ÉŽû‚ß‚Ä‚àA‚»‚Ì‘¼‚Ì’˜ì•¨‚Ü‚Å‚±‚ÌŒ_–ñ‘‚ª•Û -Œì‚·‚é‘ÎÛ‚É‚È‚é‚Æ‚¢‚¤‚±‚Æ‚É‚Í‚È‚ç‚È‚¢B - -3. ‚ ‚È‚½‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢AwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚Í‘æ2 -ß‚É‚¨‚¯‚é”h¶•¨)‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh‚È‚¢‚µŽÀsŒ`Ž®‚Å•¡»‚Ü‚½‚͔Еz‚· -‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ìꇂ ‚È‚½‚͈ȉº‚Ì‚¤‚¿‚Ç‚ê‚©ˆê‚‚ðŽÀŽ{‚µ‚È -‚¯‚ê‚΂Ȃç‚È‚¢: - - a) ’˜ì•¨‚ÉAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š®‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚È - ƒ\[ƒXƒR[ƒh‚ð“Y•t‚·‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚Ì - ðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘̂ŔЕz‚µ‚È‚¯‚ê‚Î - ‚È‚ç‚È‚¢B‚ ‚é‚¢‚ÍA - - b) ’˜ì•¨‚ÉA‚¢‚©‚È‚é‘æŽOŽÒ‚ɑ΂µ‚Ä‚àAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š® - ‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚ȃ\[ƒXƒR[ƒh‚ðA”Еz‚É—v‚·‚镨—“IƒRƒXƒg - ‚ðã‰ñ‚ç‚È‚¢’ö“x‚ÌŽè”—¿‚ƈø‚«Š·‚¦‚É’ñ‹Ÿ‚·‚éŽ|q‚ׂ½­‚È‚­‚Æ‚à3”N - ŠÔ‚Í—LŒø‚È‘–Ê‚É‚È‚Á‚½\‚µo‚ð“Y‚¦‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ - 1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘Ì‚Å - ”Еz‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚ ‚é‚¢‚ÍA - - c) ‘Ήž‚·‚éƒ\[ƒXƒR[ƒh”Еz‚Ì\‚µo‚ÉÛ‚µ‚ÄA‚ ‚È‚½‚ª“¾‚½î•ñ‚ðˆê - ‚Ɉø‚«“n‚·(‚±‚Ì‘I‘ðŽˆ‚ÍA‰c—˜‚ð–Ú“I‚Æ‚µ‚È‚¢”Еz‚Å‚ ‚Á‚ÄA‚©‚‚  - ‚È‚½‚ªã‹L¬ßb‚ÅŽw’肳‚ê‚Ä‚¢‚é‚悤‚È\‚µo‚Æ‹¤‚ɃIƒuƒWƒFƒNƒgƒR[ - ƒh‚ ‚é‚¢‚ÍŽÀsŒ`Ž®‚̃vƒƒOƒ‰ƒ€‚µ‚©“üŽè‚µ‚Ä‚¢‚È‚¢ê‡‚ÉŒÀ‚è‹–‰Â‚³‚ê - ‚é)B - -’˜ì•¨‚̃\[ƒXƒR[ƒh‚Æ‚ÍA‚»‚ê‚ɑ΂µ‚ĉü•Ï‚ð‰Á‚¦‚éã‚ÅD‚Ü‚µ‚¢‚Æ‚³‚ê‚é -’˜ì•¨‚ÌŒ`Ž®‚ðˆÓ–¡‚·‚éB‚ ‚éŽÀsŒ`Ž®‚Ì’˜ì•¨‚É‚Æ‚Á‚ÄŠ®‘S‚ȃ\[ƒXƒR[ƒh -‚Æ‚ÍA‚»‚ꂪŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚·‚ׂẴ\[ƒXƒR[ƒh‘S•”‚ɉÁ‚¦AŠÖ˜A‚·‚éƒCƒ“ -ƒ^[ƒtƒF[ƒX’è‹`ƒtƒ@ƒCƒ‹‚Ì‚·‚ׂĂƃ‰ƒCƒuƒ‰ƒŠ‚̃Rƒ“ƒpƒCƒ‹‚âƒCƒ“ƒXƒg[ƒ‹ -‚ð§Œä‚·‚邽‚ß‚ÉŽg‚í‚ê‚éƒXƒNƒŠƒvƒg‚ð‚à‰Á‚¦‚½‚à‚Ì‚ðˆÓ–¡‚·‚éB‚µ‚©‚µ“Á•Ê -‚È—áŠO‚Æ‚µ‚ÄA‚»‚̃Rƒ“ƒ|[ƒlƒ“ƒgŽ©‘Ì‚ªŽÀsŒ`Ž®‚É•t‚·‚é‚Ì‚Å‚Í–³‚¢ŒÀ‚èA -”Еz‚³‚ê‚é‚à‚Ì‚Ì’†‚ÉAŽÀsŒ`Ž®‚ªŽÀs‚³‚ê‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ÌŽå -—v‚ȃRƒ“ƒ|[ƒlƒ“ƒg(ƒRƒ“ƒpƒCƒ‰‚âƒJ[ƒlƒ‹“™)‚Æ’Êíˆê‚É(ƒ\[ƒX‚©ƒoƒCƒi -ƒŠŒ`Ž®‚Ì‚Ç‚¿‚ç‚©‚Å)”Еz‚³‚ê‚é‚à‚Ì‚ðŠÜ‚ñ‚Å‚¢‚é•K—v‚Í‚È‚¢‚Æ‚·‚éB - -ŽÀsŒ`Ž®‚Ü‚½‚̓IƒuƒWƒFƒNƒgƒR[ƒh‚̔Еz‚ªAŽw’肳‚ꂽꊂ©‚çƒRƒs[‚·‚é -‚½‚߂̃AƒNƒZƒXŽè’i‚ð’ñ‹Ÿ‚·‚邱‚Ƃňׂ³‚ê‚é‚Æ‚µ‚ÄA‚»‚Ìã‚Ń\[ƒXƒR[ƒh -‚à“¯“™‚̃AƒNƒZƒXŽè’i‚É‚æ‚Á‚Ä“¯‚¶êŠ‚©‚çƒRƒs[‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚é‚È -‚ç‚ÎA‘æŽOŽÒ‚ªƒIƒuƒWƒFƒNƒgƒR[ƒh‚ƈê‚Ƀ\[ƒX‚à‹­§“I‚ɃRƒs[‚³‚¹‚ç‚ê -‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚­‚Ä‚àƒ\[ƒXƒR[ƒh”Еz‚ÌðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚à‚Ì‚Æ‚·‚éB - -4. ‚ ‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðA‚±‚ÌŒ_–ñ‘‚É‚¨‚¢‚Ä–¾Šm‚É’ñŽ¦‚³‚ꂽs -ˆ×‚𜂫•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚µ‚Ä‚Í‚È‚ç‚È‚¢B‘¼‚É -wƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚·‚éŠé‚Ä‚Í‚·‚× -‚Ä–³Œø‚Å‚ ‚èA‚±‚ÌŒ_–ñ‘‚̉º‚Å‚Ì‚ ‚È‚½‚ÌŒ —˜‚ðŽ©“®“I‚ÉIŒ‹‚³‚¹‚邱 -‚ƂɂȂ낤B‚µ‚©‚µA•¡»•¨‚⌠—˜‚ð‚±‚ÌŒ_–ñ‘‚É]‚Á‚Ä‚ ‚È‚½‚©‚瓾‚½ -lX‚ÉŠÖ‚µ‚Ä‚ÍA‚»‚̂悤‚ÈlX‚ª‚±‚ÌŒ_–ñ‘‚ÉŠ®‘S‚É]‚Á‚Ä‚¢‚éŒÀ‚è”Þ -‚ç‚̃‰ƒCƒZƒ“ƒX‚Ü‚ÅIŒ‹‚·‚邱‚Æ‚Í‚È‚¢B - -5. ‚ ‚È‚½‚Í‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚·‚é•K—v‚Í–³‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚ ‚È‚½‚Í‚± -‚ê‚É–¼‚µ‚Ä‚¢‚È‚¢‚©‚ç‚Å‚ ‚éB‚µ‚©‚µA‚±‚ÌŒ_–ñ‘ˆÈŠO‚É‚ ‚È‚½‚ɑ΂µ -‚ÄwƒvƒƒOƒ‰ƒ€x‚â‚»‚Ì”h¶•¨‚ð•ÏXA”Еz‚·‚é‹–‰Â‚ð—^‚¦‚é‚à‚Ì‚Í‘¶Ý‚µ‚È -‚¢B‚±‚ê‚ç‚Ìsˆ×‚ÍA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ðŽó‚¯“ü‚ê‚È‚¢ŒÀ‚è–@‚É‚æ‚Á‚Ä -‹Ö‚¶‚ç‚ê‚Ä‚¢‚éB‚»‚±‚ÅAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ -‚½’˜ì•¨‚Ì‚·‚ׂÄ)‚ð‰ü•Ï‚È‚¢‚µ”Еz‚·‚邱‚Æ‚É‚æ‚èA‚ ‚È‚½‚ÍŽ©•ª‚ª‚»‚Ì‚æ -‚¤‚Èsˆ×‚ðs‚¤‚½‚ß‚É‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚µ‚½‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄwƒvƒƒO -ƒ‰ƒ€x‚Æ‚»‚ê‚ÉŠî‚­’˜ì•¨‚Ì•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ä‚±‚ÌŒ_–ñ‘‚ª‰Û -‚·§–ñ‚ÆðŒ‚ð‚·‚×‚ÄŽó‚¯“ü‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚ðŽ¦‚µ‚½‚à‚Ì‚ÆŒ©‚È‚·B - -6. ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x(‚Ü‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‘S”Ê)‚ð -ĔЕz‚·‚邽‚Ñ‚ÉA‚»‚ÌŽó—ÌŽÒ‚ÍŒ³X‚̃‰ƒCƒZƒ“ƒX‹–‰ÂŽÒ‚©‚çA‚±‚ÌŒ_–ñ‘‚Å -Žw’肳‚ꂽðŒ‚Ƨ–ñ‚̉º‚ÅwƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â”ЕzA‚ ‚é‚¢‚͉ü•Ï‚·‚é -‹–‰Â‚ðŽ©“®“I‚É“¾‚é‚à‚Ì‚Æ‚·‚éB‚ ‚È‚½‚ÍAŽó—ÌŽÒ‚ª‚±‚±‚Å”F‚ß‚ç‚ꂽŒ —˜‚ð -sŽg‚·‚邱‚Æ‚ÉŠÖ‚µ‚Ä‚±‚êˆÈ㑼‚Ì‚¢‚©‚Ȃ駌À‚à‰Û‚·‚±‚Æ‚ª‚Å‚«‚È‚¢B‚ ‚È -‚½‚É‚ÍA‘æŽOŽÒ‚ª‚±‚ÌŒ_–ñ‘‚É]‚¤‚±‚Æ‚ð‹­§‚·‚éÓ”C‚Í‚È‚¢B - -7. “Á‹–NŠQ‚ ‚é‚¢‚Í‚»‚Ì‘¼‚Ì——R(“Á‹–ŠÖŒW‚ÉŒÀ‚ç‚È‚¢)‚©‚çAÙ”»Š‚Ì”»Œˆ -‚ ‚é‚¢‚Í\‚µ—§‚Ä‚ÌŒ‹‰Ê‚Æ‚µ‚Ä‚ ‚È‚½‚É(Ù”»Š–½—ß‚âŒ_–ñ‚È‚Ç‚É‚æ‚è)‚±‚ÌŒ_ -–ñ‘‚ÌðŒ‚Æ–µ‚‚·‚駖ñ‚ª‰Û‚³‚ꂽꇂłàA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ÌðŒ‚ð -–Æœ‚³‚ê‚é‚킯‚Å‚Í‚È‚¢B‚à‚µ‚±‚ÌŒ_–ñ‘‚̉º‚Å‚ ‚È‚½‚ɉۂ¹‚ç‚ꂽӔC‚Æ‘¼ -‚ÌŠÖ˜A‚·‚éÓ”C‚𓯎ž‚É–ž‚½‚·‚悤‚ÈŒ`‚ŔЕz‚Å‚«‚È‚¢‚È‚ç‚ÎAŒ‹‰Ê‚Æ‚µ‚Ä‚  -‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ð”Еz‚·‚邱‚Æ‚ª‘S‚­‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚ ‚éB—Ⴆ -‚ΓÁ‹–ƒ‰ƒCƒZƒ“ƒX‚ªA‚ ‚È‚½‚©‚ç’¼ÚŠÔÚ‚ð–â‚킸ƒRƒs[‚ðŽó‚¯Žæ‚Á‚½l‚ª’N -‚Å‚àwƒvƒƒOƒ‰ƒ€x‚ðŽg—p—¿–³—¿‚ÅĔЕz‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚È‚¢ê‡A‚ ‚È -‚½‚ª‚»‚̧–ñ‚Æ‚±‚ÌŒ_–ñ‘‚𗼕û‚Æ‚à–ž‚½‚·‚É‚ÍwƒvƒƒOƒ‰ƒ€x‚̔Еz‚ðŠ®‘S -‚É’†Ž~‚·‚邵‚©‚È‚¢‚¾‚낤B - -‚±‚Ì߂̈ꕔ•ª‚ª“Á’è‚Ì󋵂̉º‚Å–³Œø‚È‚¢‚µŽÀŽ{•s‰Â”\‚ÈꇂłàAß‚ÌŽc -‚è‚Ì•”•ª‚Í“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB‚»‚Ì‘¼‚Ì󋵂łÍß‚ª‘S‘Ì‚Æ‚µ‚Ä -“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB - -“Á‹–‚â‚»‚Ì‘¼‚ÌàŽYŒ ‚ðNŠQ‚µ‚½‚èA‚»‚̂悤‚ÈŒ —˜‚ÌŽå’£‚ÌŒø—͂Ɉًc‚ð¥ -‚¦‚½‚è‚·‚é‚悤‚ ‚È‚½‚ð—U˜f‚·‚邱‚Æ‚ª‚±‚Ìß‚Ì–Ú“I‚Å‚Í‚È‚¢B‚±‚Ìß‚É‚ÍA -lX‚É‚æ‚Á‚ă‰ƒCƒZƒ“ƒXŠµs‚Æ‚µ‚ÄŽÀŒ»‚³‚ê‚Ä‚«‚½AƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA”Еz -‚̃VƒXƒeƒ€‚ÌŠ®‘S«‚ðŒì‚é‚Æ‚¢‚¤–Ú“I‚µ‚©‚È‚¢B‘½‚­‚ÌlX‚ªAƒtƒŠ[ƒ\ƒtƒg -ƒEƒFƒA‚̔ЕzƒVƒXƒeƒ€‚ªŽñ”öˆêŠÑ‚µ‚Ä“K—p‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤M—Š‚ÉŠî‚«A‚± -‚̃VƒXƒeƒ€‚ð’Ê‚¶‚ĔЕz‚³‚ê‚鑽—l‚ȃ\ƒtƒgƒEƒFƒA‚ÉŠ°‘å‚ÈvŒ£‚ð‚µ‚Ä‚«‚½‚Ì -‚ÍŽ–ŽÀ‚Å‚ ‚邪Al‚ª‚ǂ̂悤‚ȃVƒXƒeƒ€‚ð’Ê‚¶‚ă\ƒtƒgƒEƒFƒA‚ð”Еz‚µ‚½‚¢ -‚ÆŽv‚¤‚©‚Í‚ ‚­‚Ü‚Å‚àìŽÒ/Šñ—^ŽÒŽŸ‘æ‚Å‚ ‚èA‚ ‚È‚½‚ª‘I‘ð‚ð‰Ÿ‚µ‚‚¯‚邱 -‚Æ‚Í‚Å‚«‚È‚¢B - -‚±‚Ìß‚ÍA‚±‚ÌŒ_–ñ‘‚Ì‚±‚Ì߈ȊO‚Ì•”•ª‚̈ê‹AŒ‹‚É‚È‚é‚Æl‚¦‚ç‚ê‚éƒP[ -ƒX‚ð“O’ê“I‚É–¾‚ç‚©‚É‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚éB - -8. wƒvƒƒOƒ‰ƒ€x‚̔Еz‚â—˜—p‚ªA‚ ‚é‘‚É‚¨‚¢‚Ä‚Í“Á‹–‚Ü‚½‚Í’˜ìŒ ‚ªŽå -’£‚³‚ꂽƒCƒ“ƒ^[ƒtƒF[ƒX‚Ì‚¢‚¸‚ê‚©‚É‚æ‚Á‚ħŒÀ‚³‚ê‚Ä‚¢‚éê‡AwƒvƒƒO -ƒ‰ƒ€x‚É‚±‚ÌŒ_–ñ‘‚ð“K—p‚µ‚½Œ³‚Ì’˜ìŒ ŽÒ‚ÍA‚»‚¤‚¢‚Á‚½‘X‚ð”rœ‚µ -‚½–¾Šm‚È’n—“I”Еz§ŒÀ‚ð‰Á‚¦A‚»‚±‚Å”rœ‚³‚ê‚Ä‚¢‚È‚¢‘‚Ì’†‚â‚»‚ê‚ç‚Ì‘X -‚̊Ԃł̂ݔЕz‚ª‹–‰Â‚³‚ê‚é‚悤‚É‚µ‚Ä‚à\‚í‚È‚¢B‚»‚Ìê‡A‚»‚̂悤‚ȧ -ŒÀ‚Í‚±‚ÌŒ_–ñ‘–{•¶‚Å‘‚©‚ê‚Ä‚¢‚é‚Ì‚Æ“¯—l‚ÉŒ©‚È‚³‚ê‚éB - -9. ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ÍAŽž‚É‚æ‚Á‚ĉü’ù‚Ü‚½‚ÍV”ł̈ê”ÊŒöO—˜—p‹– -‘ø‘‚ð”­•\‚·‚邱‚Æ‚ª‚Å‚«‚éB‚»‚̂悤‚ÈV”Å‚ÍŒ»Ý‚̃o[ƒWƒ‡ƒ“‚Æ‚»‚̸_ -‚É‚¨‚¢‚Ä‚ÍŽ—‚½‚à‚̂ɂȂ邾‚낤‚ªAV‚½‚È–â‘è‚⌜”O‚ð‰ðŒˆ‚·‚邽‚ßו”‚Å -‚͈قȂé‰Â”\«‚ª‚ ‚éB - -‚»‚ꂼ‚ê‚̃o[ƒWƒ‡ƒ“‚É‚ÍAŒ©•ª‚¯‚ª•t‚­‚悤‚Ƀo[ƒWƒ‡ƒ“”Ô†‚ªU‚ç‚ê‚Ä‚¢ -‚éBwƒvƒƒOƒ‰ƒ€x‚É‚¨‚¢‚Ä‚»‚ê‚É“K—p‚³‚ê‚邱‚ÌŒ_–ñ‘‚̃o[ƒWƒ‡ƒ“”Ô†‚ª -Žw’肳‚ê‚Ä‚¢‚ÄAX‚Éu‚»‚êˆÈ~‚Ì‚¢‚©‚È‚éƒo[ƒWƒ‡ƒ“v‚à“K—p‚µ‚Ä—Ç‚¢‚Æ‚È‚Á -‚Ä‚¢‚½ê‡A‚ ‚È‚½‚Í]‚¤ðŒ‚Ƨ–ñ‚Æ‚µ‚ÄAŽw’è‚̃o[ƒWƒ‡ƒ“‚©AƒtƒŠ[ƒ\ -ƒtƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽŽw’è‚̃o[ƒWƒ‡ƒ“ˆÈ~‚̔ł̂ǂꂩˆê‚Â‚Ì -‚Ç‚¿‚ç‚©‚ð‘I‚Ô‚±‚Æ‚ªo—ˆ‚éBwƒvƒƒOƒ‰ƒ€x‚щƒCƒZƒ“ƒX‚̃o[ƒWƒ‡ƒ“”Ô† -‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢‚È‚ç‚ÎA‚ ‚È‚½‚Í¡‚܂łɃtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚©‚ç”­ -s‚³‚ꂽƒo[ƒWƒ‡ƒ“‚Ì’†‚©‚çD‚«‚É‘I‚ñ‚Å\‚í‚È‚¢B - -10. ‚à‚µ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x‚̈ꕔ‚ðA‚»‚̔ЕzðŒ‚ª‚±‚ÌŒ_–ñ‘‚Æ -ˆÙ‚Ȃ鑼‚̃tƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Æ“‡‚µ‚½‚¢‚È‚ç‚ÎAìŽÒ‚ɘA—‚µ‚Ä‹–‰Â‚ð‹ -‚ß‚æBƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ª’˜ìŒ ‚ð•Û—L‚·‚éƒ\ƒtƒgƒEƒFƒA‚ɂ‚¢‚Ä‚ÍA -ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ɘA—‚¹‚æBŽ„‚½‚¿‚ÍA‚±‚̂悤‚Èꇂ̂½‚ß‚É“Á•Ê -‚È—áŠO‚ðÝ‚¯‚邱‚Æ‚à‚ ‚éBŽ„‚½‚¿‚ªŒˆ’è‚ð‰º‚·‚É‚ ‚½‚Á‚Ä‚ÍAŽ„‚½‚¿‚̃tƒŠ[ -ƒ\ƒtƒgƒEƒFƒA‚Ì”h¶•¨‚·‚ׂĂªƒtƒŠ[‚Èó‘Ô‚É•Û‚½‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚ÆAˆê”Ê“I -‚Ƀ\ƒtƒgƒEƒFƒA‚Ì‹¤—L‚ÆÄ—˜—p‚ð‘£i‚·‚é‚Æ‚¢‚¤“ñ‚‚̖ڕW‚ð‹K€‚ÉŒŸ“¢‚³‚ê -‚é‚Å‚ ‚낤B - –³•Û؂ɂ‚¢‚Ä - -11. wƒvƒƒOƒ‰ƒ€x‚͑㉿–³‚µ‚É—˜—p‚ª‹–‰Â‚³‚ê‚é‚Ì‚ÅA“KØ‚È–@‚ª”F‚ß‚éŒÀ -‚è‚É‚¨‚¢‚ÄAwƒvƒƒOƒ‰ƒ€x‚ÉŠÖ‚·‚é‚¢‚©‚È‚é•ÛØ‚à‘¶Ý‚µ‚È‚¢B‘–Ê‚Å•Ê‚É -q‚ׂéꇂ𜂢‚ÄA’˜ìŒ ŽÒA‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’c‘Ì‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðA -•\–¾‚³‚ꂽ‚©Œ¾ŠO‚É‚©‚Í–â‚킸A¤‹Æ“I“K«‚ð•ÛØ‚·‚é‚Ù‚Ì‚ß‚©‚µ‚â‚ ‚é“Á’è -‚Ì–Ú“I‚Ö‚Ì“K‡«(‚ÉŒÀ‚ç‚ê‚È‚¢)‚ðŠÜ‚ÞˆêØ‚Ì•ÛØ–³‚µ‚Éu‚ ‚邪‚Ü‚Üv‚Å’ñ -‹Ÿ‚·‚éBwƒvƒƒOƒ‰ƒ€x‚ÌŽ¿‚Æ«”\‚ÉŠÖ‚·‚郊ƒXƒN‚Ì‚·‚ׂĂ͂ ‚È‚½‚É‹A‘®‚· -‚éBwƒvƒƒOƒ‰ƒ€x‚ÉŒ‡Š×‚ª‚ ‚é‚Æ”»–¾‚µ‚½ê‡A‚ ‚È‚½‚Í•K—v‚È•ÛŽç“_ŒŸ‚â -•âCAC³‚É—v‚·‚éƒRƒXƒg‚Ì‚·‚ׂĂðˆø‚«Žó‚¯‚邱‚Æ‚É‚È‚éB - -12. “KØ‚È–@‚©‘–Ê‚Å‚Ì“¯ˆÓ‚É‚æ‚Á‚Ä–½‚º‚ç‚ê‚È‚¢ŒÀ‚èA’˜ìŒ ŽÒA‚Ü‚½‚Íã -‹L‚Å‹–‰Â‚³‚ê‚Ä‚¢‚é’Ê‚è‚ÉwƒvƒƒOƒ‰ƒ€x‚ð‰ü•Ï‚Ü‚½‚ÍĔЕz‚µ‚½‚»‚Ì‘¼‚Ì’c -‘Ì‚ÍA‚ ‚È‚½‚ɑ΂µ‚ÄwƒvƒƒOƒ‰ƒ€x‚Ì—˜—p‚È‚¢‚µ—˜—p•s”\‚Ŷ‚¶‚½ˆê”Ê“IA -“Á•Ê“IA‹ô‘R“IA•K‘R“I‚È‘¹ŠQ(ƒf[ƒ^‚ÌÁŽ¸‚â•s³Šm‚Ȉ—A‚ ‚È‚½‚©‘æŽO -ŽÒ‚ª”í‚Á‚½‘¹Ž¸A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ª‘¼‚̃\ƒtƒgƒEƒFƒA‚ƈê‚É“®ì‚µ -‚È‚¢‚Æ‚¢‚¤•s‹ï‡‚È‚Ç‚ðŠÜ‚Þ‚ª‚»‚ê‚ç‚ÉŒÀ‚ç‚È‚¢)‚ɈêØ‚ÌÓ”C‚𕉂í‚È‚¢B -‚»‚̂悤‚È‘¹ŠQ‚ª¶‚¸‚é‰Â”\«‚ɂ‚¢‚Ĕނ炪’‰‚³‚ê‚Ä‚¢‚½‚Æ‚µ‚Ä‚à“¯—l‚Å -‚ ‚éB - - ðŒ‚Ƨ–ñI‚í‚è - - ˆÈã‚Ìð€‚ð‚ ‚È‚½‚ÌV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚É“K—p‚·‚é•û–@ - -‚ ‚È‚½‚ªV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚ðŠJ”­‚µ‚½‚Æ‚µ‚ÄAŒöO‚É‚æ‚Á‚Ä‚»‚ꂪ—˜—p‚³‚ê‚é -‰Â”\«‚ðÅ‘å‚É‚µ‚½‚¢‚È‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Ìð€‚É]‚Á‚Ä -’N‚Å‚àĔЕz‚ ‚é‚¢‚Í•ÏX‚Å‚«‚é‚悤ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚·‚é‚Ì‚ªÅ‘P‚Å‚·B - -‚»‚Ì‚½‚ß‚É‚ÍAƒvƒƒOƒ‰ƒ€‚Ɉȉº‚̂悤‚È•\Ž¦‚ð“Y•t‚µ‚Ä‚­‚¾‚³‚¢B‚»‚Ìê‡A -•ÛØ‚ª”rœ‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚ðÅ‚àŒø‰Ê“I‚É“`‚¦‚邽‚ß‚ÉA‚»‚ꂼ‚ê‚̃\[ -ƒXƒtƒ@ƒCƒ‹‚Ì–`“ª‚É•\Ž¦‚ð“Y•t‚·‚ê‚ÎÅ‚àˆÀ‘S‚Å‚·B­‚È‚­‚Æ‚àAu’˜ìŒ •\ -Ž¦v‚Æ‚¢‚¤s‚Æ‘S•¶‚ª‚ ‚éꊂւ̃|ƒCƒ“ƒ^‚¾‚¯‚ÍŠeƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚Ä’u‚¢‚Ä -‚­‚¾‚³‚¢B - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - (–ó: - - <ƒvƒƒOƒ‰ƒ€‚Ì–¼‘O‚ÆA‚»‚ꂪ‰½‚ð‚·‚é‚©‚ɂ‚¢‚Ä‚ÌŠÈ’P‚Èà–¾B> - Copyright (C) <¼—ï”N> <ìŽÒ‚Ì–¼‘O> - - ‚±‚̃vƒƒOƒ‰ƒ€‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚·B‚ ‚È‚½‚Í‚±‚ê‚ðAƒtƒŠ[ƒ\ƒt - ƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽ GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘(ƒo[ƒWƒ‡ - ƒ“2‚©AŠó–]‚É‚æ‚Á‚Ä‚Í‚»‚êˆÈ~‚̃o[ƒWƒ‡ƒ“‚Ì‚¤‚¿‚Ç‚ê‚©)‚Ì’è‚ß‚éðŒ - ‚̉º‚ÅĔЕz‚Ü‚½‚͉ü•Ï‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ‚±‚̃vƒƒOƒ‰ƒ€‚Í—L—p‚Å‚ ‚邱‚Æ‚ðŠè‚Á‚ĔЕz‚³‚ê‚Ü‚·‚ªA*‘S‚­‚Ì–³•Û - Ø* ‚Å‚·B¤‹Æ‰Â”\«‚Ì•ÛØ‚â“Á’è‚Ì–Ú“I‚Ö‚Ì“K‡«‚ÍAŒ¾ŠO‚ÉŽ¦‚³‚ꂽ - ‚à‚Ì‚àŠÜ‚ß‘S‚­‘¶Ý‚µ‚Ü‚¹‚ñBÚ‚µ‚­‚ÍGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ð‚² - ——‚­‚¾‚³‚¢B - - ‚ ‚È‚½‚Í‚±‚̃vƒƒOƒ‰ƒ€‚Æ‹¤‚ÉAGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì•¡»•¨‚ð - ˆê•”Žó‚¯Žæ‚Á‚½‚Í‚¸‚Å‚·B‚à‚µŽó‚¯Žæ‚Á‚Ä‚¢‚È‚¯‚ê‚ÎAƒtƒŠ[ƒ\ƒtƒgƒEƒF - ƒAà’c‚Ü‚Å¿‹‚µ‚Ä‚­‚¾‚³‚¢(ˆ¶æ‚Í the Free Software Foundation, - Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)B - - ) - -“dŽq‚È‚¢‚µŽ†‚̃[ƒ‹‚Å‚ ‚È‚½‚É–â‚¢‡‚킹‚é•û–@‚ɂ‚¢‚Ä‚Ìî•ñ‚à‘‚«‰Á‚¦ -‚Ü‚µ‚傤B - -ƒvƒƒOƒ‰ƒ€‚ª‘Θb“I‚È‚à‚Ì‚È‚ç‚ÎA‘Θbƒ‚[ƒh‚Å‹N“®‚µ‚½Û‚Éo—Í‚Æ‚µ‚Ĉȉº -‚̂悤‚È’Z‚¢’m‚ª•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - - (–ó: - - Gnomovision ƒo[ƒWƒ‡ƒ“ 69, Copyright (C) ”N ìŽÒ‚Ì–¼‘O - Gnomovision ‚Í*‘S‚­‚Ì–³•ÛØ*‚Å’ñ‹Ÿ‚³‚ê‚Ü‚·BÚ‚µ‚­‚Íushow wv - ‚ƃ^ƒCƒv‚µ‚ĉº‚³‚¢B‚±‚ê‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚ ‚èA‚ ‚éðŒ‚̉º‚Å - ĔЕz‚·‚邱‚Æ‚ª§—コ‚ê‚Ä‚¢‚Ü‚·BÚ‚µ‚­‚Íushow cv‚ƃ^ƒCƒv‚µ‚ĉº - ‚³‚¢B - - ) - -‚±‚±‚ÅA‰¼‘z“I‚ȃRƒ}ƒ“ƒhushow wv‚Æushow cv‚͈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ -‚Ì“KØ‚È•”•ª‚ð•\Ž¦‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚à‚¿‚ë‚ñA‚ ‚È -‚½‚ªŽg‚¤ƒRƒ}ƒ“ƒh‚ðushow wv‚âushow cv‚ƌĂԕK‘R«‚Í‚ ‚è‚Ü‚¹‚ñ‚Ì‚ÅA -‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ɇ‚킹‚ă}ƒEƒX‚̃NƒŠƒbƒN‚⃃jƒ…[‚̃AƒCƒeƒ€‚É‚µ‚Ä -‚àŒ‹\‚Å‚·B - -‚Ü‚½‚ ‚È‚½‚ÍA•K—v‚È‚ç‚Î(ƒvƒƒOƒ‰ƒ}[‚Æ‚µ‚Ä“­‚¢‚Ä‚¢‚½‚ç)‚ ‚È‚½‚̌ٗpŽåA -‚ ‚é‚¢‚Íꇂɂæ‚Á‚Ä‚ÍŠwZ‚©‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ÉŠÖ‚·‚éu’˜ìŒ •úŠüº–¾ -(copyright disclaimer)v‚É–¼‚µ‚Ä‚à‚炤‚ׂ«‚Å‚·BˆÈ‰º‚Í—á‚Å‚·‚Ì‚ÅA–¼ -‘O‚ð•Ï‚¦‚Ä‚­‚¾‚³‚¢: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - - (–ó: - - YoyodyneŽÐ‚Í‚±‚±‚ÉAJames Hacker‚É‚æ‚Á‚Ä‘‚©‚ꂽƒvƒƒOƒ‰ƒ€ - uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ê‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆêØ‚Ì’˜ìŒ ‚Ì—˜ - ‰v‚ð•úŠü‚µ‚Ü‚·B - - A1989”N4ŒŽ1“ú - Ty CoonA•›ŽÐ’· - - ) - -‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Å‚ÍA‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ð“Æè“I‚ȃvƒƒOƒ‰ƒ€ -‚É“‡‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚Ü‚¹‚ñB‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ªƒTƒuƒ‹[ƒ`ƒ“ƒ‰ƒCƒu -ƒ‰ƒŠ‚È‚ç‚ÎA“Æè“I‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚ ‚È‚½‚̃‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚邱 -‚Æ‚ð‹–‰Â‚µ‚½‚Ù‚¤‚ª‚æ‚è•Ö—˜‚Å‚ ‚é‚Æl‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚à‚µ‚±‚ꂪ‚ ‚È -‚½‚Ì–]‚Þ‚±‚Æ‚È‚ç‚ÎA‚±‚ÌŒ_–ñ‘‚Ì‘ã‚í‚è‚ÉGNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘ø -Œ_–ñ‘‚ð“K—p‚µ‚Ä‚­‚¾‚³‚¢B + GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ + ƒo[ƒWƒ‡ƒ“2A1991”N6ŒŽ + “ú–{Œê–óA2002”N5ŒŽ20“ú + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + ‚±‚Ì—˜—p‹–‘øŒ_–ñ‘‚ðAˆêŽšˆê‹å‚»‚Ì‚Ü‚Ü‚É•¡»‚µ”Еz‚·‚邱‚Æ‚Í‹–‰Â‚·‚éB + ‚µ‚©‚µ•ÏX‚Í”F‚ß‚È‚¢B + + This is an unofficial translation of the GNU General Public License + into Japanese. It was not published by the Free Software Foundation, + and does not legally state the distribution terms for software that + uses the GNU GPL--only the original English text of the GNU GPL does + that. However, we hope that this translation will help Japanese + speakers understand the GNU GPL better. + + (–ó: ˆÈ‰º‚ÍGNU General Public License‚Ì”ñŒöŽ®‚È“ú–{Œê–ó‚Å‚·B‚±‚ê‚̓t + ƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c(the Free Software Foundataion)‚É‚æ‚Á‚Ä”­•\‚³‚ꂽ + ‚à‚Ì‚Å‚Í‚È‚­AGNU GPL‚ð“K—p‚µ‚½ƒ\ƒtƒgƒEƒFƒA‚̔ЕzðŒ‚ð–@“I‚É—LŒø‚ÈŒ` + ‚Åq‚ׂ½‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB”ЕzðŒ‚Æ‚µ‚Ä‚ÍGNU GPL‚̉pŒê”ŃeƒLƒXƒg‚Å + Žw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚Ì‚Ý‚ª—LŒø‚Å‚·B‚µ‚©‚µ‚È‚ª‚çAŽ„‚½‚¿‚Í‚±‚Ì–|–ó‚ªA + “ú–{Œê‚ðŽg—p‚·‚élX‚É‚Æ‚Á‚ÄGNU GPL‚ð‚æ‚è—Ç‚­—‰ð‚·‚é•‚¯‚ƂȂ邱‚Æ‚ð + –]‚ñ‚Å‚¢‚Ü‚·B) + + –|–ó‚Í ”ª“c^s‚ªs‚Á‚½BŒ´•¶‚Í + http://www.gnu.org/licenses/gpl.txt‚Å‚ ‚éBŒë–ó‚ÌŽw“E‚â‰ü‘PˆÄ‚ðŠ½Œ}‚· + ‚éB + ‚Í‚¶‚ß‚É + +ƒ\ƒtƒgƒEƒFƒAŒü‚¯ƒ‰ƒCƒZƒ“ƒX‚̑唼‚ÍA‚ ‚È‚½‚ª‚»‚̃\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½ +‚è•ÏX‚µ‚½‚è‚·‚鎩—R‚ð’D‚¤‚悤‚ÉÝŒv‚³‚ê‚Ä‚¢‚Ü‚·B‘ÎÆ“I‚ÉAGNU ˆê”ÊŒö +O—˜—p‹–‘øŒ_–ñ‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½‚è•ÏX‚µ‚½‚è‚· +‚鎩—R‚ð•ÛØ‚·‚é--‚·‚È‚í‚¿Aƒ\ƒtƒgƒEƒFƒA‚ª‚»‚̃†[ƒU‚·‚ׂĂɂƂÁ‚ătƒŠ[ +‚Å‚ ‚邱‚Æ‚ð•ÛØ‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚Ü‚·B‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ +‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒFƒA‚Ì‚Ù‚Æ‚ñ‚Ç‚É“K—p‚³‚ê‚Ä‚¨‚èA‚Ü‚½ +GNU GPL‚ð“K—p‚·‚é‚ÆŒˆ‚ß‚½ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’cˆÈŠO‚ÌìŽÒ‚É‚æ‚éƒvƒƒO +ƒ‰ƒ€‚É‚à“K—p‚³‚ê‚Ä‚¢‚Ü‚·(‚¢‚­‚‚©‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒF +ƒA‚É‚ÍAGNU GPL‚Å‚Í‚È‚­GNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ª“K—p‚³‚ê +‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·)B‚ ‚È‚½‚à‚Ü‚½A‚²Ž©•ª‚̃vƒƒOƒ‰ƒ€‚ÉGNU GPL‚ð“K—p +‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B + +Ž„‚½‚¿‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ÆŒ¾‚¤‚Æ‚«A‚»‚ê‚Í—˜—p‚ÌŽ©—R‚ɂ‚¢‚ÄŒ¾‹y‚µ‚Ä +‚¢‚é‚Ì‚Å‚ ‚Á‚ÄA‰¿Ši‚Í–â‘è‚É‚µ‚Ä‚¢‚Ü‚¹‚ñBŽ„‚½‚¿‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ +‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚·‚鎩—R‚ð•ÛØ‚·‚é‚æ‚¤Ý +Œv‚³‚ê‚Ä‚¢‚Ü‚·(Šó–]‚ɉž‚¶‚Ä‚»‚ÌŽí‚̃T[ƒrƒX‚ÉŽè”—¿‚ð‰Û‚·Ž©—R‚à•ÛØ‚³ +‚ê‚Ü‚·)B‚Ü‚½A‚ ‚È‚½‚ªƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©A‚ ‚é‚¢‚Í–]‚߂΂»‚ê‚ð +“üŽè‚·‚邱‚Æ‚ª‰Â”\‚Å‚ ‚é‚Æ‚¢‚¤‚±‚ÆA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚ð•ÏX‚µA‚»‚Ì +ˆê•”‚ðV‚½‚ȃtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Å—˜—p‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄAˆÈã‚Åq +‚ׂ½‚悤‚È‚±‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚È‚½‚É’m‚炳‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚à•ÛØ‚³ +‚ê‚Ü‚·B + +‚ ‚È‚½‚ÌŒ —˜‚ðŽç‚邽‚ßAŽ„‚½‚¿‚Í’N‚©‚ª‚ ‚È‚½‚Ì—L‚·‚邱‚ê‚ç‚ÌŒ —˜‚ð”Û’è +‚·‚邱‚Æ‚âA‚±‚ê‚ç‚ÌŒ —˜‚ð•úŠü‚·‚é‚悤—v‹‚·‚邱‚Æ‚ð‹ÖŽ~‚·‚é‚Æ‚¢‚¤§ŒÀ +‚ð‰Á‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B‚æ‚Á‚ÄA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚µ‚½ +‚è‚»‚ê‚ð•ÏX‚µ‚½‚è‚·‚éꇂɂÍA‚±‚ê‚ç‚̧ŒÀ‚Ì‚½‚ß‚É‚ ‚È‚½‚É‚ ‚éŽí‚ÌÓ +”C‚ª”­¶‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B + +—Ⴆ‚ÎA‚ ‚È‚½‚ªƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Ì•¡»•¨‚ð”Еz‚·‚éê‡A—L—¿‚©–³—¿‚É +ŠÖ‚í‚炸A‚ ‚È‚½‚ÍŽ©•ª‚ª—L‚·‚錠—˜‚ð‘S‚ÄŽó—ÌŽÒ‚É—^‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB +‚Ü‚½A‚ ‚È‚½‚͔ނç‚àƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©Žè‚É“ü‚ê‚邱‚Æ‚ª‚Å‚«‚é‚悤 +•ÛØ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚»‚µ‚ÄA‚ ‚È‚½‚͔ނç‚ɑ΂µ‚Ĉȉº‚Åq‚ׂéðŒ +‚ðŽ¦‚µA”Þ‚ç‚ÉŽ©‚ç‚ÌŽ‚ÂŒ —˜‚ɂ‚¢‚Ä’m‚炵‚ß‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹ +‚ñB + +Ž„‚½‚¿‚Í‚ ‚È‚½‚ÌŒ —˜‚ð“ñ’iŠK‚̎臂𓥂ñ‚ŕی삵‚Ü‚·B(1) ‚Ü‚¸ƒ\ƒtƒgƒEƒF +ƒA‚ɑ΂µ‚Ä’˜ìŒ ‚ðŽå’£‚µA‚»‚µ‚Ä (2) ‚ ‚È‚½‚ɑ΂µ‚ÄAƒ\ƒtƒgƒEƒFƒA‚Ì•¡ +»‚â”Еz‚Ü‚½‚͉ü•Ï‚ɂ‚¢‚Ä‚Ì–@“I‚È‹–‰Â‚ð—^‚¦‚邱‚ÌŒ_–ñ‘‚ð’ñŽ¦‚µ‚Ü‚·B + +‚Ü‚½AŠeìŽÒ‚⎄‚½‚¿‚ð•ÛŒì‚·‚邽‚ßAŽ„‚½‚¿‚Í‚±‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚Í +‰½‚Ì•ÛØ‚à–³‚¢‚Æ‚¢‚¤‚±‚Æ‚ð’N‚à‚ªŠmŽÀ‚É—‰ð‚·‚é‚悤‚É‚µA‚Ü‚½ƒ\ƒtƒgƒEƒF +ƒA‚ª’N‚©‘¼l‚É‚æ‚Á‚ĉü•Ï‚³‚êA‚»‚ꂪŽŸX‚ƔЕz‚³‚ê‚Ä‚¢‚Á‚½‚Æ‚µ‚Ä‚àA‚» +‚ÌŽó—̎҂͔ނ炪Žè‚É“ü‚ꂽƒ\ƒtƒgƒEƒFƒA‚ªƒIƒŠƒWƒiƒ‹‚̃o[ƒWƒ‡ƒ“‚Å‚Í–³‚¢ +‚±‚ÆA‚»‚µ‚ÄŒ´ìŽÒ‚Ì–¼º‚Í‘¼l‚É‚æ‚Á‚ÄŽ‚¿ž‚܂ꂽ‰Â”\«‚Ì‚ ‚é–â‘è‚É‚æ‚Á +‚ĉe‹¿‚³‚ê‚邱‚Æ‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚ðŽü’m‚³‚¹‚½‚¢‚ÆŽv‚¢‚Ü‚·B + +ÅŒã‚ÉAƒ\ƒtƒgƒEƒFƒA“Á‹–‚ª‚¢‚©‚È‚éƒtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Ì‘¶Ý‚É‚à•s’f‚Ì‹º +ˆÐ‚ð“Š‚°‚©‚¯‚Ä‚¢‚Ü‚·‚ªAŽ„‚½‚¿‚ÍAƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚ÌĔЕzŽÒ‚ªŒÂX‚É +“Á‹–ƒ‰ƒCƒZƒ“ƒX‚ðŽæ“¾‚·‚邱‚Æ‚É‚æ‚Á‚ÄAŽ–ŽÀãƒvƒƒOƒ‰ƒ€‚ð“Æè“I‚É‚µ‚Ä‚µ +‚Ü‚¤‚Æ‚¢‚¤ŠëŒ¯‚ð”ð‚¯‚½‚¢‚ÆŽv‚¢‚Ü‚·B‚±‚¤‚¢‚Á‚½Ž–‘Ô‚ð—\–h‚·‚邽‚ßAŽ„‚½ +‚¿‚Í‚¢‚©‚È‚é“Á‹–‚à’N‚à‚ªŽ©—R‚É—˜—p‚Å‚«‚é‚悤ƒ‰ƒCƒZƒ“ƒX‚³‚ê‚é‚©A‘S‚­ƒ‰ +ƒCƒZƒ“ƒX‚³‚ê‚È‚¢‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Ƃ𖾊m‚É‚µ‚Ü‚µ‚½B + +(–ó’: –{Œ_–ñ‘‚Åu“Æè“I(proprietary)v‚Æ‚ÍAƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚âĔР+•zA‰ü•Ï‚ª‹ÖŽ~‚³‚ê‚Ä‚¢‚é‚©A‹–‰Â‚𓾂邱‚Æ‚ª•K—v‚Æ‚³‚ê‚Ä‚¢‚é‚©A‚ ‚é‚¢ +‚ÍŒµ‚µ‚¢§ŒÀ‚ª‰Û‚¹‚ç‚ê‚Ä‚¢‚ÄŽ©—R‚É‚»‚¤‚·‚邱‚Æ‚ªŽ–ŽÀã‚Å‚«‚È‚­‚È‚Á‚Ä‚¢ +‚éó‘Ô‚Ì‚±‚Æ‚ðŽw‚·BÚ‚µ‚­‚Í +http://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftware‚ð +ŽQÆ‚¹‚æB) + +•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ă̳Šm‚ÈðŒ‚Ƨ–ñ‚ðˆÈ‰º‚Åq‚ׂĂ¢‚«‚Ü‚·B + + GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ + •¡»A”ЕzA‰ü•Ï‚ÉŠÖ‚·‚éðŒ‚Ƨ–ñ + +0. ‚±‚Ì—˜—p‹–‘øŒ_–ñ‘‚ÍA‚»‚̃vƒƒOƒ‰ƒ€(‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨)‚ð‚±‚Ìˆê +”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì’è‚ß‚éðŒ‚̉º‚ŔЕz‚Å‚«‚é‚Æ‚¢‚¤’m‚ª’˜ìŒ ŽÒ‚É +‚æ‚Á‚Ä‹LÚ‚³‚ꂽƒvƒƒOƒ‰ƒ€‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨‘S”Ê‚É“K—p‚³‚ê‚éBˆÈ‰º‚Å +‚ÍAuwƒvƒƒOƒ‰ƒ€xv‚Æ‚Í‚»‚̂悤‚É‚µ‚Ä‚±‚ÌŒ_–ñ‘‚ª“K—p‚³‚ꂽƒvƒƒOƒ‰ +ƒ€‚⒘앨‘S”Ê‚ðˆÓ–¡‚µA‚Ü‚½uwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨v‚Æ‚Íwƒv +ƒƒOƒ‰ƒ€x‚â‚»‚Ì‘¼’˜ìŒ –@‚̉º‚Å”h¶•¨‚ÆŒ©‚È‚³‚ê‚é‚à‚Ì‘S”Ê‚ðŽw‚·B‚·‚È +‚í‚¿AwƒvƒƒOƒ‰ƒ€x‚©‚»‚̈ꕔ‚ðA‘S‚­“¯ˆê‚Ì‚Ü‚Ü‚©A‰ü•Ï‚ð‰Á‚¦‚½‚©A‚  +‚é‚¢‚Í‘¼‚ÌŒ¾Œê‚É–|–󂳂ꂽŒ`‚ÅŠÜ‚Þ’˜ì•¨‚Ì‚±‚Æ‚Å‚ ‚é(u‰ü•Ïv‚Æ‚¢‚¤Œê +‚Ì–{—ˆ‚̈Ӗ¡‚©‚ç‚Í‚¸‚ê‚邪AˆÈ‰º‚Å‚Í–|–ó‚à‰ü•Ï‚̈êŽí‚ÆŒ©‚È‚·)B‚»‚ꂼ +‚ê‚ÌŒ_–ñŽÒ‚Íu‚ ‚È‚½v‚Æ•\Œ»‚³‚ê‚éB + +•¡»‚â”ЕzA‰ü•ÏˆÈŠO‚ÌŠˆ“®‚Í‚±‚ÌŒ_–ñ‘‚ł̓Jƒo[‚³‚ê‚È‚¢B‚»‚ê‚ç‚Í‚±‚Ì +Œ_–ñ‘‚Ì‘ÎÛŠO‚Å‚ ‚éBwƒvƒƒOƒ‰ƒ€x‚ðŽÀs‚·‚ésˆ×Ž©‘̂ɧŒÀ‚Í‚È‚¢B‚Ü +‚½A‚»‚̂悤‚ÈwƒvƒƒOƒ‰ƒ€x‚Ìo—ÍŒ‹‰Ê‚ÍA‚»‚Ì“à—e‚ªwƒvƒƒOƒ‰ƒ€x‚ðŠî +‚É‚µ‚½’˜ì•¨‚ð\¬‚·‚éꇂ݂̂±‚ÌŒ_–ñ‘‚É‚æ‚Á‚ĕی삳‚ê‚é(wƒvƒƒOƒ‰ +ƒ€x‚ðŽÀs‚µ‚½‚±‚Æ‚É‚æ‚Á‚Ä쬂³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚Æ‚Í–³ŠÖŒW‚Å‚ ‚é)B‚±‚Ì +‚悤‚Èüˆø‚«‚̑Ó–«‚ÍAwƒvƒƒOƒ‰ƒ€x‚ª‰½‚ð‚·‚é‚Ì‚©‚Ɉˑ¶‚·‚éB + +1. ‚»‚ꂼ‚ê‚Ì•¡»•¨‚É‚¨‚¢‚Ä“KØ‚È’˜ìŒ •\Ž¦‚Æ•Û؂̔۔Fº–¾(disclaimer +of warranty)‚ð–Ú—§‚‚悤“KØ‚ÉŒfÚ‚µA‚Ü‚½‚±‚ÌŒ_–ñ‘‚¨‚æ‚шêØ‚Ì•ÛØ‚Ì +•sÝ‚ÉG‚ꂽ’m‚·‚×‚Ä‚ð‚»‚Ì‚Ü‚ÜŽc‚µA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ðwƒvƒ +ƒOƒ‰ƒ€x‚Ì‚¢‚©‚È‚éŽó—ÌŽÒ‚É‚àwƒvƒƒOƒ‰ƒ€x‚Æ‹¤‚ɔЕz‚·‚éŒÀ‚èA‚ ‚È‚½‚Í +wƒvƒƒOƒ‰ƒ€x‚̃\[ƒXƒR[ƒh‚Ì•¡»•¨‚ðA‚ ‚È‚½‚ªŽó‚¯Žæ‚Á‚½’Ê‚è‚ÌŒ`‚Å•¡ +»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB”}‘Ì‚Í–â‚í‚È‚¢B + +‚ ‚È‚½‚ÍA•¨—“I‚É•¡»•¨‚ð÷“n‚·‚é‚Æ‚¢‚¤sˆ×‚ÉŠÖ‚µ‚ÄŽè”—¿‚ð‰Û‚µ‚Ä‚à—Ç +‚¢‚µAŠó–]‚É‚æ‚Á‚Ä‚ÍŽè”—¿‚ðŽæ‚Á‚ÄŒðŠ·‚É‚¨‚¯‚é•ÛŒì‚Ì•ÛØ‚ð’ñ‹Ÿ‚µ‚Ä‚à—Ç +‚¢B + +2. ‚ ‚È‚½‚ÍŽ©•ª‚ÌwƒvƒƒOƒ‰ƒ€x‚Ì•¡»•¨‚©‚»‚̈ꕔ‚ð‰ü•Ï‚µ‚ÄwƒvƒƒOƒ‰ +ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‚ðŒ`¬‚µA‚»‚̂悤‚ȉü•Ï“_‚⒘앨‚ðã‹L‘æ1ß‚Ì’è +‚ß‚éðŒ‚̉º‚Å•¡»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ì‚½‚߂ɂ͈ȉº +‚ÌðŒ‚·‚ׂĂ𖞂½‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢: + + a) ‚ ‚È‚½‚ª‚»‚ê‚ç‚̃tƒ@ƒCƒ‹‚ð•ÏX‚µ‚½‚Æ‚¢‚¤‚±‚Æ‚Æ•ÏX‚µ‚½“úŽž‚ª—Ç + ‚­•ª‚©‚é‚悤A‰ü•Ï‚³‚ꂽƒtƒ@ƒCƒ‹‚ÉŽ¦‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B + + b) wƒvƒƒOƒ‰ƒ€x‚Ü‚½‚Í‚»‚̈ꕔ‚ðŠÜ‚Þ’˜ì•¨A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x + ‚©‚»‚̈ꕔ‚©‚ç”h¶‚µ‚½’˜ì•¨‚ð”Еz‚ ‚é‚¢‚Í”­•\‚·‚éꇂɂÍA‚»‚Ì‘S + ‘Ì‚ð‚±‚ÌŒ_–ñ‘‚ÌðŒ‚É]‚Á‚Ä‘æŽOŽÒ‚Ö–³ž‚Å—˜—p‹–‘ø‚µ‚È‚¯‚ê‚΂Ȃç‚È + ‚¢B + + c) ‰ü•Ï‚³‚ꂽƒvƒƒOƒ‰ƒ€‚ªA’ÊíŽÀs‚·‚éۂɑΘb“I‚ɃRƒ}ƒ“ƒh‚ð“Ç‚Þ + ‚悤‚É‚È‚Á‚Ä‚¢‚é‚È‚ç‚ÎA‚»‚̃vƒƒOƒ‰ƒ€‚ðÅ‚àˆê”Ê“I‚È•û–@‚őΘb“I‚É + ŽÀs‚·‚éÛA“KØ‚È’˜ìŒ •\Ž¦A–³•ÛØ‚Å‚ ‚邱‚Æ(‚ ‚é‚¢‚Í‚ ‚È‚½‚ª•Û + Ø‚ð’ñ‹Ÿ‚·‚é‚Æ‚¢‚¤‚±‚Æ)Aƒ†[ƒU‚ªƒvƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Åq‚ׂ½ð + Œ‚̉º‚ŔЕz‚·‚邱‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ð + ‰{——‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚©‚Æ‚¢‚¤ƒ†[ƒU‚Ö‚Ìà–¾‚ðŠÜ‚Þ’m‚ªˆóü‚³ + ‚ê‚é‚©A‚ ‚é‚¢‚͉æ–Ê‚É•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢(—áŠO‚Æ‚µ + ‚ÄAwƒvƒƒOƒ‰ƒ€x‚»‚Ì‚à‚̂͑Θb“I‚Å‚ ‚Á‚Ä‚à’Êí‚»‚̂悤‚È’m‚ðˆó + ü‚µ‚È‚¢ê‡‚É‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½‚ ‚È‚½‚Ì’˜ì•¨‚É‚»‚̂悤 + ‚È’m‚ðˆóü‚³‚¹‚é•K—v‚Í‚È‚¢)B + +ˆÈã‚Ì•K—vðŒ‚Í‘S‘Ì‚Æ‚µ‚Ẳü•Ï‚³‚ꂽ’˜ì•¨‚É“K—p‚³‚ê‚éB’˜ì•¨‚̈ꕔ +‚ªwƒvƒƒOƒ‰ƒ€x‚©‚ç”h¶‚µ‚½‚à‚Ì‚Å‚Í‚È‚¢‚ÆŠm”F‚Å‚«A‚»‚ê‚玩g•Ê‚Ì“Æ—§ +‚µ‚½’˜ì•¨‚Å‚ ‚é‚Ƈ—“I‚Él‚¦‚ç‚ê‚é‚È‚ç‚ÎA‚ ‚È‚½‚ª‚»‚ê‚ç‚ð•Ê‚Ì’˜ì•¨ +‚Æ‚µ‚Ä•ª‚¯‚ĔЕz‚·‚éê‡A‚»‚¤‚¢‚Á‚½•”•ª‚É‚Í‚±‚ÌŒ_–ñ‘‚Æ‚»‚ÌðŒ‚Í +“K—p‚³‚ê‚È‚¢B‚µ‚©‚µA‚ ‚È‚½‚ª“¯‚¶•”•ª‚ðwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨ +‘S‘̂̈ꕔ‚Æ‚µ‚ĔЕz‚·‚é‚È‚ç‚ÎA‘S‘Ì‚Æ‚µ‚Ă̔Еz•¨‚ÍA‚±‚ÌŒ_–ñ‘‚ª +‰Û‚·ðŒ‚É]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚±‚ÌŒ_–ñ‘‚ª‘¼‚ÌŒ_–ñŽÒ +‚É—^‚¦‚é‹–‰Â‚ÍwƒvƒƒOƒ‰ƒ€xŠÛ‚²‚Æ‘S‘Ì‚É‹y‚ÑA’N‚ª‘‚¢‚½‚©‚ÍŠÖŒW‚È‚­Še +•”•ª‚Ì‚·‚ׂĂð•ÛŒì‚·‚é‚©‚ç‚Å‚ ‚éB + +‚æ‚Á‚ÄA‚·‚ׂĂ ‚È‚½‚É‚æ‚Á‚Ä‘‚©‚ꂽ’˜ì•¨‚ɑ΂µAŒ —˜‚ðŽå’£‚µ‚½‚è‚ ‚È +‚½‚ÌŒ —˜‚Ɉًc‚ð\‚µ—§‚Ă邱‚Æ‚Í‚±‚Ì߂̈Ó}‚·‚é‚Æ‚±‚ë‚Å‚Í‚È‚¢B‚Þ‚µ‚ëA +‚»‚ÌŽïŽ|‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½”h¶•¨‚È‚¢‚µW‡’˜ì•¨‚̔Еz‚ðŠÇ—‚· +‚錠—˜‚ðsŽg‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É‚ ‚éB + +‚Ü‚½AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚Ä‚¢‚È‚¢‚»‚Ì‘¼‚Ì’˜ì•¨‚ðwƒvƒƒOƒ‰ƒ€x(‚  +‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨)‚ƈê‚ÉW‚ß‚½‚¾‚¯‚Ì‚à‚Ì‚ðˆêŠª‚Ì +•ÛŠÇ‘•’u‚È‚¢‚µ”Еz”}‘Ì‚ÉŽû‚ß‚Ä‚àA‚»‚Ì‘¼‚Ì’˜ì•¨‚Ü‚Å‚±‚ÌŒ_–ñ‘‚ª•Û +Œì‚·‚é‘ÎÛ‚É‚È‚é‚Æ‚¢‚¤‚±‚Æ‚É‚Í‚È‚ç‚È‚¢B + +3. ‚ ‚È‚½‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢AwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚Í‘æ2 +ß‚É‚¨‚¯‚é”h¶•¨)‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh‚È‚¢‚µŽÀsŒ`Ž®‚Å•¡»‚Ü‚½‚͔Еz‚· +‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ìꇂ ‚È‚½‚͈ȉº‚Ì‚¤‚¿‚Ç‚ê‚©ˆê‚‚ðŽÀŽ{‚µ‚È +‚¯‚ê‚΂Ȃç‚È‚¢: + + a) ’˜ì•¨‚ÉAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š®‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚È + ƒ\[ƒXƒR[ƒh‚ð“Y•t‚·‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚Ì + ðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘̂ŔЕz‚µ‚È‚¯‚ê‚Î + ‚È‚ç‚È‚¢B‚ ‚é‚¢‚ÍA + + b) ’˜ì•¨‚ÉA‚¢‚©‚È‚é‘æŽOŽÒ‚ɑ΂µ‚Ä‚àAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š® + ‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚ȃ\[ƒXƒR[ƒh‚ðA”Еz‚É—v‚·‚镨—“IƒRƒXƒg + ‚ðã‰ñ‚ç‚È‚¢’ö“x‚ÌŽè”—¿‚ƈø‚«Š·‚¦‚É’ñ‹Ÿ‚·‚éŽ|q‚ׂ½­‚È‚­‚Æ‚à3”N + ŠÔ‚Í—LŒø‚È‘–Ê‚É‚È‚Á‚½\‚µo‚ð“Y‚¦‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ + 1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘Ì‚Å + ”Еz‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚ ‚é‚¢‚ÍA + + c) ‘Ήž‚·‚éƒ\[ƒXƒR[ƒh”Еz‚Ì\‚µo‚ÉÛ‚µ‚ÄA‚ ‚È‚½‚ª“¾‚½î•ñ‚ðˆê + ‚Ɉø‚«“n‚·(‚±‚Ì‘I‘ðŽˆ‚ÍA‰c—˜‚ð–Ú“I‚Æ‚µ‚È‚¢”Еz‚Å‚ ‚Á‚ÄA‚©‚‚  + ‚È‚½‚ªã‹L¬ßb‚ÅŽw’肳‚ê‚Ä‚¢‚é‚悤‚È\‚µo‚Æ‹¤‚ɃIƒuƒWƒFƒNƒgƒR[ + ƒh‚ ‚é‚¢‚ÍŽÀsŒ`Ž®‚̃vƒƒOƒ‰ƒ€‚µ‚©“üŽè‚µ‚Ä‚¢‚È‚¢ê‡‚ÉŒÀ‚è‹–‰Â‚³‚ê + ‚é)B + +’˜ì•¨‚̃\[ƒXƒR[ƒh‚Æ‚ÍA‚»‚ê‚ɑ΂µ‚ĉü•Ï‚ð‰Á‚¦‚éã‚ÅD‚Ü‚µ‚¢‚Æ‚³‚ê‚é +’˜ì•¨‚ÌŒ`Ž®‚ðˆÓ–¡‚·‚éB‚ ‚éŽÀsŒ`Ž®‚Ì’˜ì•¨‚É‚Æ‚Á‚ÄŠ®‘S‚ȃ\[ƒXƒR[ƒh +‚Æ‚ÍA‚»‚ꂪŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚·‚ׂẴ\[ƒXƒR[ƒh‘S•”‚ɉÁ‚¦AŠÖ˜A‚·‚éƒCƒ“ +ƒ^[ƒtƒF[ƒX’è‹`ƒtƒ@ƒCƒ‹‚Ì‚·‚ׂĂƃ‰ƒCƒuƒ‰ƒŠ‚̃Rƒ“ƒpƒCƒ‹‚âƒCƒ“ƒXƒg[ƒ‹ +‚ð§Œä‚·‚邽‚ß‚ÉŽg‚í‚ê‚éƒXƒNƒŠƒvƒg‚ð‚à‰Á‚¦‚½‚à‚Ì‚ðˆÓ–¡‚·‚éB‚µ‚©‚µ“Á•Ê +‚È—áŠO‚Æ‚µ‚ÄA‚»‚̃Rƒ“ƒ|[ƒlƒ“ƒgŽ©‘Ì‚ªŽÀsŒ`Ž®‚É•t‚·‚é‚Ì‚Å‚Í–³‚¢ŒÀ‚èA +”Еz‚³‚ê‚é‚à‚Ì‚Ì’†‚ÉAŽÀsŒ`Ž®‚ªŽÀs‚³‚ê‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ÌŽå +—v‚ȃRƒ“ƒ|[ƒlƒ“ƒg(ƒRƒ“ƒpƒCƒ‰‚âƒJ[ƒlƒ‹“™)‚Æ’Êíˆê‚É(ƒ\[ƒX‚©ƒoƒCƒi +ƒŠŒ`Ž®‚Ì‚Ç‚¿‚ç‚©‚Å)”Еz‚³‚ê‚é‚à‚Ì‚ðŠÜ‚ñ‚Å‚¢‚é•K—v‚Í‚È‚¢‚Æ‚·‚éB + +ŽÀsŒ`Ž®‚Ü‚½‚̓IƒuƒWƒFƒNƒgƒR[ƒh‚̔Еz‚ªAŽw’肳‚ꂽꊂ©‚çƒRƒs[‚·‚é +‚½‚߂̃AƒNƒZƒXŽè’i‚ð’ñ‹Ÿ‚·‚邱‚Ƃňׂ³‚ê‚é‚Æ‚µ‚ÄA‚»‚Ìã‚Ń\[ƒXƒR[ƒh +‚à“¯“™‚̃AƒNƒZƒXŽè’i‚É‚æ‚Á‚Ä“¯‚¶êŠ‚©‚çƒRƒs[‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚é‚È +‚ç‚ÎA‘æŽOŽÒ‚ªƒIƒuƒWƒFƒNƒgƒR[ƒh‚ƈê‚Ƀ\[ƒX‚à‹­§“I‚ɃRƒs[‚³‚¹‚ç‚ê +‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚­‚Ä‚àƒ\[ƒXƒR[ƒh”Еz‚ÌðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚à‚Ì‚Æ‚·‚éB + +4. ‚ ‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðA‚±‚ÌŒ_–ñ‘‚É‚¨‚¢‚Ä–¾Šm‚É’ñŽ¦‚³‚ꂽs +ˆ×‚𜂫•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚µ‚Ä‚Í‚È‚ç‚È‚¢B‘¼‚É +wƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚·‚éŠé‚Ä‚Í‚·‚× +‚Ä–³Œø‚Å‚ ‚èA‚±‚ÌŒ_–ñ‘‚̉º‚Å‚Ì‚ ‚È‚½‚ÌŒ —˜‚ðŽ©“®“I‚ÉIŒ‹‚³‚¹‚邱 +‚ƂɂȂ낤B‚µ‚©‚µA•¡»•¨‚⌠—˜‚ð‚±‚ÌŒ_–ñ‘‚É]‚Á‚Ä‚ ‚È‚½‚©‚瓾‚½ +lX‚ÉŠÖ‚µ‚Ä‚ÍA‚»‚̂悤‚ÈlX‚ª‚±‚ÌŒ_–ñ‘‚ÉŠ®‘S‚É]‚Á‚Ä‚¢‚éŒÀ‚è”Þ +‚ç‚̃‰ƒCƒZƒ“ƒX‚Ü‚ÅIŒ‹‚·‚邱‚Æ‚Í‚È‚¢B + +5. ‚ ‚È‚½‚Í‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚·‚é•K—v‚Í–³‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚ ‚È‚½‚Í‚± +‚ê‚É–¼‚µ‚Ä‚¢‚È‚¢‚©‚ç‚Å‚ ‚éB‚µ‚©‚µA‚±‚ÌŒ_–ñ‘ˆÈŠO‚É‚ ‚È‚½‚ɑ΂µ +‚ÄwƒvƒƒOƒ‰ƒ€x‚â‚»‚Ì”h¶•¨‚ð•ÏXA”Еz‚·‚é‹–‰Â‚ð—^‚¦‚é‚à‚Ì‚Í‘¶Ý‚µ‚È +‚¢B‚±‚ê‚ç‚Ìsˆ×‚ÍA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ðŽó‚¯“ü‚ê‚È‚¢ŒÀ‚è–@‚É‚æ‚Á‚Ä +‹Ö‚¶‚ç‚ê‚Ä‚¢‚éB‚»‚±‚ÅAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ +‚½’˜ì•¨‚Ì‚·‚ׂÄ)‚ð‰ü•Ï‚È‚¢‚µ”Еz‚·‚邱‚Æ‚É‚æ‚èA‚ ‚È‚½‚ÍŽ©•ª‚ª‚»‚Ì‚æ +‚¤‚Èsˆ×‚ðs‚¤‚½‚ß‚É‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚µ‚½‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄwƒvƒƒO +ƒ‰ƒ€x‚Æ‚»‚ê‚ÉŠî‚­’˜ì•¨‚Ì•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ä‚±‚ÌŒ_–ñ‘‚ª‰Û +‚·§–ñ‚ÆðŒ‚ð‚·‚×‚ÄŽó‚¯“ü‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚ðŽ¦‚µ‚½‚à‚Ì‚ÆŒ©‚È‚·B + +6. ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x(‚Ü‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‘S”Ê)‚ð +ĔЕz‚·‚邽‚Ñ‚ÉA‚»‚ÌŽó—ÌŽÒ‚ÍŒ³X‚̃‰ƒCƒZƒ“ƒX‹–‰ÂŽÒ‚©‚çA‚±‚ÌŒ_–ñ‘‚Å +Žw’肳‚ꂽðŒ‚Ƨ–ñ‚̉º‚ÅwƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â”ЕzA‚ ‚é‚¢‚͉ü•Ï‚·‚é +‹–‰Â‚ðŽ©“®“I‚É“¾‚é‚à‚Ì‚Æ‚·‚éB‚ ‚È‚½‚ÍAŽó—ÌŽÒ‚ª‚±‚±‚Å”F‚ß‚ç‚ꂽŒ —˜‚ð +sŽg‚·‚邱‚Æ‚ÉŠÖ‚µ‚Ä‚±‚êˆÈ㑼‚Ì‚¢‚©‚Ȃ駌À‚à‰Û‚·‚±‚Æ‚ª‚Å‚«‚È‚¢B‚ ‚È +‚½‚É‚ÍA‘æŽOŽÒ‚ª‚±‚ÌŒ_–ñ‘‚É]‚¤‚±‚Æ‚ð‹­§‚·‚éÓ”C‚Í‚È‚¢B + +7. “Á‹–NŠQ‚ ‚é‚¢‚Í‚»‚Ì‘¼‚Ì——R(“Á‹–ŠÖŒW‚ÉŒÀ‚ç‚È‚¢)‚©‚çAÙ”»Š‚Ì”»Œˆ +‚ ‚é‚¢‚Í\‚µ—§‚Ä‚ÌŒ‹‰Ê‚Æ‚µ‚Ä‚ ‚È‚½‚É(Ù”»Š–½—ß‚âŒ_–ñ‚È‚Ç‚É‚æ‚è)‚±‚ÌŒ_ +–ñ‘‚ÌðŒ‚Æ–µ‚‚·‚駖ñ‚ª‰Û‚³‚ꂽꇂłàA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ÌðŒ‚ð +–Æœ‚³‚ê‚é‚킯‚Å‚Í‚È‚¢B‚à‚µ‚±‚ÌŒ_–ñ‘‚̉º‚Å‚ ‚È‚½‚ɉۂ¹‚ç‚ꂽӔC‚Æ‘¼ +‚ÌŠÖ˜A‚·‚éÓ”C‚𓯎ž‚É–ž‚½‚·‚悤‚ÈŒ`‚ŔЕz‚Å‚«‚È‚¢‚È‚ç‚ÎAŒ‹‰Ê‚Æ‚µ‚Ä‚  +‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ð”Еz‚·‚邱‚Æ‚ª‘S‚­‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚ ‚éB—Ⴆ +‚ΓÁ‹–ƒ‰ƒCƒZƒ“ƒX‚ªA‚ ‚È‚½‚©‚ç’¼ÚŠÔÚ‚ð–â‚킸ƒRƒs[‚ðŽó‚¯Žæ‚Á‚½l‚ª’N +‚Å‚àwƒvƒƒOƒ‰ƒ€x‚ðŽg—p—¿–³—¿‚ÅĔЕz‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚È‚¢ê‡A‚ ‚È +‚½‚ª‚»‚̧–ñ‚Æ‚±‚ÌŒ_–ñ‘‚𗼕û‚Æ‚à–ž‚½‚·‚É‚ÍwƒvƒƒOƒ‰ƒ€x‚̔Еz‚ðŠ®‘S +‚É’†Ž~‚·‚邵‚©‚È‚¢‚¾‚낤B + +‚±‚Ì߂̈ꕔ•ª‚ª“Á’è‚Ì󋵂̉º‚Å–³Œø‚È‚¢‚µŽÀŽ{•s‰Â”\‚ÈꇂłàAß‚ÌŽc +‚è‚Ì•”•ª‚Í“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB‚»‚Ì‘¼‚Ì󋵂łÍß‚ª‘S‘Ì‚Æ‚µ‚Ä +“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB + +“Á‹–‚â‚»‚Ì‘¼‚ÌàŽYŒ ‚ðNŠQ‚µ‚½‚èA‚»‚̂悤‚ÈŒ —˜‚ÌŽå’£‚ÌŒø—͂Ɉًc‚ð¥ +‚¦‚½‚è‚·‚é‚悤‚ ‚È‚½‚ð—U˜f‚·‚邱‚Æ‚ª‚±‚Ìß‚Ì–Ú“I‚Å‚Í‚È‚¢B‚±‚Ìß‚É‚ÍA +lX‚É‚æ‚Á‚ă‰ƒCƒZƒ“ƒXŠµs‚Æ‚µ‚ÄŽÀŒ»‚³‚ê‚Ä‚«‚½AƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA”Еz +‚̃VƒXƒeƒ€‚ÌŠ®‘S«‚ðŒì‚é‚Æ‚¢‚¤–Ú“I‚µ‚©‚È‚¢B‘½‚­‚ÌlX‚ªAƒtƒŠ[ƒ\ƒtƒg +ƒEƒFƒA‚̔ЕzƒVƒXƒeƒ€‚ªŽñ”öˆêŠÑ‚µ‚Ä“K—p‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤M—Š‚ÉŠî‚«A‚± +‚̃VƒXƒeƒ€‚ð’Ê‚¶‚ĔЕz‚³‚ê‚鑽—l‚ȃ\ƒtƒgƒEƒFƒA‚ÉŠ°‘å‚ÈvŒ£‚ð‚µ‚Ä‚«‚½‚Ì +‚ÍŽ–ŽÀ‚Å‚ ‚邪Al‚ª‚ǂ̂悤‚ȃVƒXƒeƒ€‚ð’Ê‚¶‚ă\ƒtƒgƒEƒFƒA‚ð”Еz‚µ‚½‚¢ +‚ÆŽv‚¤‚©‚Í‚ ‚­‚Ü‚Å‚àìŽÒ/Šñ—^ŽÒŽŸ‘æ‚Å‚ ‚èA‚ ‚È‚½‚ª‘I‘ð‚ð‰Ÿ‚µ‚‚¯‚邱 +‚Æ‚Í‚Å‚«‚È‚¢B + +‚±‚Ìß‚ÍA‚±‚ÌŒ_–ñ‘‚Ì‚±‚Ì߈ȊO‚Ì•”•ª‚̈ê‹AŒ‹‚É‚È‚é‚Æl‚¦‚ç‚ê‚éƒP[ +ƒX‚ð“O’ê“I‚É–¾‚ç‚©‚É‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚éB + +8. wƒvƒƒOƒ‰ƒ€x‚̔Еz‚â—˜—p‚ªA‚ ‚é‘‚É‚¨‚¢‚Ä‚Í“Á‹–‚Ü‚½‚Í’˜ìŒ ‚ªŽå +’£‚³‚ꂽƒCƒ“ƒ^[ƒtƒF[ƒX‚Ì‚¢‚¸‚ê‚©‚É‚æ‚Á‚ħŒÀ‚³‚ê‚Ä‚¢‚éê‡AwƒvƒƒO +ƒ‰ƒ€x‚É‚±‚ÌŒ_–ñ‘‚ð“K—p‚µ‚½Œ³‚Ì’˜ìŒ ŽÒ‚ÍA‚»‚¤‚¢‚Á‚½‘X‚ð”rœ‚µ +‚½–¾Šm‚È’n—“I”Еz§ŒÀ‚ð‰Á‚¦A‚»‚±‚Å”rœ‚³‚ê‚Ä‚¢‚È‚¢‘‚Ì’†‚â‚»‚ê‚ç‚Ì‘X +‚̊Ԃł̂ݔЕz‚ª‹–‰Â‚³‚ê‚é‚悤‚É‚µ‚Ä‚à\‚í‚È‚¢B‚»‚Ìê‡A‚»‚̂悤‚ȧ +ŒÀ‚Í‚±‚ÌŒ_–ñ‘–{•¶‚Å‘‚©‚ê‚Ä‚¢‚é‚Ì‚Æ“¯—l‚ÉŒ©‚È‚³‚ê‚éB + +9. ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ÍAŽž‚É‚æ‚Á‚ĉü’ù‚Ü‚½‚ÍV”ł̈ê”ÊŒöO—˜—p‹– +‘ø‘‚ð”­•\‚·‚邱‚Æ‚ª‚Å‚«‚éB‚»‚̂悤‚ÈV”Å‚ÍŒ»Ý‚̃o[ƒWƒ‡ƒ“‚Æ‚»‚̸_ +‚É‚¨‚¢‚Ä‚ÍŽ—‚½‚à‚̂ɂȂ邾‚낤‚ªAV‚½‚È–â‘è‚⌜”O‚ð‰ðŒˆ‚·‚邽‚ßו”‚Å +‚͈قȂé‰Â”\«‚ª‚ ‚éB + +‚»‚ꂼ‚ê‚̃o[ƒWƒ‡ƒ“‚É‚ÍAŒ©•ª‚¯‚ª•t‚­‚悤‚Ƀo[ƒWƒ‡ƒ“”Ô†‚ªU‚ç‚ê‚Ä‚¢ +‚éBwƒvƒƒOƒ‰ƒ€x‚É‚¨‚¢‚Ä‚»‚ê‚É“K—p‚³‚ê‚邱‚ÌŒ_–ñ‘‚̃o[ƒWƒ‡ƒ“”Ô†‚ª +Žw’肳‚ê‚Ä‚¢‚ÄAX‚Éu‚»‚êˆÈ~‚Ì‚¢‚©‚È‚éƒo[ƒWƒ‡ƒ“v‚à“K—p‚µ‚Ä—Ç‚¢‚Æ‚È‚Á +‚Ä‚¢‚½ê‡A‚ ‚È‚½‚Í]‚¤ðŒ‚Ƨ–ñ‚Æ‚µ‚ÄAŽw’è‚̃o[ƒWƒ‡ƒ“‚©AƒtƒŠ[ƒ\ +ƒtƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽŽw’è‚̃o[ƒWƒ‡ƒ“ˆÈ~‚̔ł̂ǂꂩˆê‚Â‚Ì +‚Ç‚¿‚ç‚©‚ð‘I‚Ô‚±‚Æ‚ªo—ˆ‚éBwƒvƒƒOƒ‰ƒ€x‚щƒCƒZƒ“ƒX‚̃o[ƒWƒ‡ƒ“”Ô† +‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢‚È‚ç‚ÎA‚ ‚È‚½‚Í¡‚܂łɃtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚©‚ç”­ +s‚³‚ꂽƒo[ƒWƒ‡ƒ“‚Ì’†‚©‚çD‚«‚É‘I‚ñ‚Å\‚í‚È‚¢B + +10. ‚à‚µ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x‚̈ꕔ‚ðA‚»‚̔ЕzðŒ‚ª‚±‚ÌŒ_–ñ‘‚Æ +ˆÙ‚Ȃ鑼‚̃tƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Æ“‡‚µ‚½‚¢‚È‚ç‚ÎAìŽÒ‚ɘA—‚µ‚Ä‹–‰Â‚ð‹ +‚ß‚æBƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ª’˜ìŒ ‚ð•Û—L‚·‚éƒ\ƒtƒgƒEƒFƒA‚ɂ‚¢‚Ä‚ÍA +ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ɘA—‚¹‚æBŽ„‚½‚¿‚ÍA‚±‚̂悤‚Èꇂ̂½‚ß‚É“Á•Ê +‚È—áŠO‚ðÝ‚¯‚邱‚Æ‚à‚ ‚éBŽ„‚½‚¿‚ªŒˆ’è‚ð‰º‚·‚É‚ ‚½‚Á‚Ä‚ÍAŽ„‚½‚¿‚̃tƒŠ[ +ƒ\ƒtƒgƒEƒFƒA‚Ì”h¶•¨‚·‚ׂĂªƒtƒŠ[‚Èó‘Ô‚É•Û‚½‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚ÆAˆê”Ê“I +‚Ƀ\ƒtƒgƒEƒFƒA‚Ì‹¤—L‚ÆÄ—˜—p‚ð‘£i‚·‚é‚Æ‚¢‚¤“ñ‚‚̖ڕW‚ð‹K€‚ÉŒŸ“¢‚³‚ê +‚é‚Å‚ ‚낤B + –³•Û؂ɂ‚¢‚Ä + +11. wƒvƒƒOƒ‰ƒ€x‚͑㉿–³‚µ‚É—˜—p‚ª‹–‰Â‚³‚ê‚é‚Ì‚ÅA“KØ‚È–@‚ª”F‚ß‚éŒÀ +‚è‚É‚¨‚¢‚ÄAwƒvƒƒOƒ‰ƒ€x‚ÉŠÖ‚·‚é‚¢‚©‚È‚é•ÛØ‚à‘¶Ý‚µ‚È‚¢B‘–Ê‚Å•Ê‚É +q‚ׂéꇂ𜂢‚ÄA’˜ìŒ ŽÒA‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’c‘Ì‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðA +•\–¾‚³‚ꂽ‚©Œ¾ŠO‚É‚©‚Í–â‚킸A¤‹Æ“I“K«‚ð•ÛØ‚·‚é‚Ù‚Ì‚ß‚©‚µ‚â‚ ‚é“Á’è +‚Ì–Ú“I‚Ö‚Ì“K‡«(‚ÉŒÀ‚ç‚ê‚È‚¢)‚ðŠÜ‚ÞˆêØ‚Ì•ÛØ–³‚µ‚Éu‚ ‚邪‚Ü‚Üv‚Å’ñ +‹Ÿ‚·‚éBwƒvƒƒOƒ‰ƒ€x‚ÌŽ¿‚Æ«”\‚ÉŠÖ‚·‚郊ƒXƒN‚Ì‚·‚ׂĂ͂ ‚È‚½‚É‹A‘®‚· +‚éBwƒvƒƒOƒ‰ƒ€x‚ÉŒ‡Š×‚ª‚ ‚é‚Æ”»–¾‚µ‚½ê‡A‚ ‚È‚½‚Í•K—v‚È•ÛŽç“_ŒŸ‚â +•âCAC³‚É—v‚·‚éƒRƒXƒg‚Ì‚·‚ׂĂðˆø‚«Žó‚¯‚邱‚Æ‚É‚È‚éB + +12. “KØ‚È–@‚©‘–Ê‚Å‚Ì“¯ˆÓ‚É‚æ‚Á‚Ä–½‚º‚ç‚ê‚È‚¢ŒÀ‚èA’˜ìŒ ŽÒA‚Ü‚½‚Íã +‹L‚Å‹–‰Â‚³‚ê‚Ä‚¢‚é’Ê‚è‚ÉwƒvƒƒOƒ‰ƒ€x‚ð‰ü•Ï‚Ü‚½‚ÍĔЕz‚µ‚½‚»‚Ì‘¼‚Ì’c +‘Ì‚ÍA‚ ‚È‚½‚ɑ΂µ‚ÄwƒvƒƒOƒ‰ƒ€x‚Ì—˜—p‚È‚¢‚µ—˜—p•s”\‚Ŷ‚¶‚½ˆê”Ê“IA +“Á•Ê“IA‹ô‘R“IA•K‘R“I‚È‘¹ŠQ(ƒf[ƒ^‚ÌÁŽ¸‚â•s³Šm‚Ȉ—A‚ ‚È‚½‚©‘æŽO +ŽÒ‚ª”í‚Á‚½‘¹Ž¸A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ª‘¼‚̃\ƒtƒgƒEƒFƒA‚ƈê‚É“®ì‚µ +‚È‚¢‚Æ‚¢‚¤•s‹ï‡‚È‚Ç‚ðŠÜ‚Þ‚ª‚»‚ê‚ç‚ÉŒÀ‚ç‚È‚¢)‚ɈêØ‚ÌÓ”C‚𕉂í‚È‚¢B +‚»‚̂悤‚È‘¹ŠQ‚ª¶‚¸‚é‰Â”\«‚ɂ‚¢‚Ĕނ炪’‰‚³‚ê‚Ä‚¢‚½‚Æ‚µ‚Ä‚à“¯—l‚Å +‚ ‚éB + + ðŒ‚Ƨ–ñI‚í‚è + + ˆÈã‚Ìð€‚ð‚ ‚È‚½‚ÌV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚É“K—p‚·‚é•û–@ + +‚ ‚È‚½‚ªV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚ðŠJ”­‚µ‚½‚Æ‚µ‚ÄAŒöO‚É‚æ‚Á‚Ä‚»‚ꂪ—˜—p‚³‚ê‚é +‰Â”\«‚ðÅ‘å‚É‚µ‚½‚¢‚È‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Ìð€‚É]‚Á‚Ä +’N‚Å‚àĔЕz‚ ‚é‚¢‚Í•ÏX‚Å‚«‚é‚悤ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚·‚é‚Ì‚ªÅ‘P‚Å‚·B + +‚»‚Ì‚½‚ß‚É‚ÍAƒvƒƒOƒ‰ƒ€‚Ɉȉº‚̂悤‚È•\Ž¦‚ð“Y•t‚µ‚Ä‚­‚¾‚³‚¢B‚»‚Ìê‡A +•ÛØ‚ª”rœ‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚ðÅ‚àŒø‰Ê“I‚É“`‚¦‚邽‚ß‚ÉA‚»‚ꂼ‚ê‚̃\[ +ƒXƒtƒ@ƒCƒ‹‚Ì–`“ª‚É•\Ž¦‚ð“Y•t‚·‚ê‚ÎÅ‚àˆÀ‘S‚Å‚·B­‚È‚­‚Æ‚àAu’˜ìŒ •\ +Ž¦v‚Æ‚¢‚¤s‚Æ‘S•¶‚ª‚ ‚éꊂւ̃|ƒCƒ“ƒ^‚¾‚¯‚ÍŠeƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚Ä’u‚¢‚Ä +‚­‚¾‚³‚¢B + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + (–ó: + + <ƒvƒƒOƒ‰ƒ€‚Ì–¼‘O‚ÆA‚»‚ꂪ‰½‚ð‚·‚é‚©‚ɂ‚¢‚Ä‚ÌŠÈ’P‚Èà–¾B> + Copyright (C) <¼—ï”N> <ìŽÒ‚Ì–¼‘O> + + ‚±‚̃vƒƒOƒ‰ƒ€‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚·B‚ ‚È‚½‚Í‚±‚ê‚ðAƒtƒŠ[ƒ\ƒt + ƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽ GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘(ƒo[ƒWƒ‡ + ƒ“2‚©AŠó–]‚É‚æ‚Á‚Ä‚Í‚»‚êˆÈ~‚̃o[ƒWƒ‡ƒ“‚Ì‚¤‚¿‚Ç‚ê‚©)‚Ì’è‚ß‚éðŒ + ‚̉º‚ÅĔЕz‚Ü‚½‚͉ü•Ï‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + + ‚±‚̃vƒƒOƒ‰ƒ€‚Í—L—p‚Å‚ ‚邱‚Æ‚ðŠè‚Á‚ĔЕz‚³‚ê‚Ü‚·‚ªA*‘S‚­‚Ì–³•Û + Ø* ‚Å‚·B¤‹Æ‰Â”\«‚Ì•ÛØ‚â“Á’è‚Ì–Ú“I‚Ö‚Ì“K‡«‚ÍAŒ¾ŠO‚ÉŽ¦‚³‚ꂽ + ‚à‚Ì‚àŠÜ‚ß‘S‚­‘¶Ý‚µ‚Ü‚¹‚ñBÚ‚µ‚­‚ÍGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ð‚² + ——‚­‚¾‚³‚¢B + + ‚ ‚È‚½‚Í‚±‚̃vƒƒOƒ‰ƒ€‚Æ‹¤‚ÉAGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì•¡»•¨‚ð + ˆê•”Žó‚¯Žæ‚Á‚½‚Í‚¸‚Å‚·B‚à‚µŽó‚¯Žæ‚Á‚Ä‚¢‚È‚¯‚ê‚ÎAƒtƒŠ[ƒ\ƒtƒgƒEƒF + ƒAà’c‚Ü‚Å¿‹‚µ‚Ä‚­‚¾‚³‚¢(ˆ¶æ‚Í the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)B + + ) + +“dŽq‚È‚¢‚µŽ†‚̃[ƒ‹‚Å‚ ‚È‚½‚É–â‚¢‡‚킹‚é•û–@‚ɂ‚¢‚Ä‚Ìî•ñ‚à‘‚«‰Á‚¦ +‚Ü‚µ‚傤B + +ƒvƒƒOƒ‰ƒ€‚ª‘Θb“I‚È‚à‚Ì‚È‚ç‚ÎA‘Θbƒ‚[ƒh‚Å‹N“®‚µ‚½Û‚Éo—Í‚Æ‚µ‚Ĉȉº +‚̂悤‚È’Z‚¢’m‚ª•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + (–ó: + + Gnomovision ƒo[ƒWƒ‡ƒ“ 69, Copyright (C) ”N ìŽÒ‚Ì–¼‘O + Gnomovision ‚Í*‘S‚­‚Ì–³•ÛØ*‚Å’ñ‹Ÿ‚³‚ê‚Ü‚·BÚ‚µ‚­‚Íushow wv + ‚ƃ^ƒCƒv‚µ‚ĉº‚³‚¢B‚±‚ê‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚ ‚èA‚ ‚éðŒ‚̉º‚Å + ĔЕz‚·‚邱‚Æ‚ª§—コ‚ê‚Ä‚¢‚Ü‚·BÚ‚µ‚­‚Íushow cv‚ƃ^ƒCƒv‚µ‚ĉº + ‚³‚¢B + + ) + +‚±‚±‚ÅA‰¼‘z“I‚ȃRƒ}ƒ“ƒhushow wv‚Æushow cv‚͈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ +‚Ì“KØ‚È•”•ª‚ð•\Ž¦‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚à‚¿‚ë‚ñA‚ ‚È +‚½‚ªŽg‚¤ƒRƒ}ƒ“ƒh‚ðushow wv‚âushow cv‚ƌĂԕK‘R«‚Í‚ ‚è‚Ü‚¹‚ñ‚Ì‚ÅA +‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ɇ‚킹‚ă}ƒEƒX‚̃NƒŠƒbƒN‚⃃jƒ…[‚̃AƒCƒeƒ€‚É‚µ‚Ä +‚àŒ‹\‚Å‚·B + +‚Ü‚½‚ ‚È‚½‚ÍA•K—v‚È‚ç‚Î(ƒvƒƒOƒ‰ƒ}[‚Æ‚µ‚Ä“­‚¢‚Ä‚¢‚½‚ç)‚ ‚È‚½‚̌ٗpŽåA +‚ ‚é‚¢‚Íꇂɂæ‚Á‚Ä‚ÍŠwZ‚©‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ÉŠÖ‚·‚éu’˜ìŒ •úŠüº–¾ +(copyright disclaimer)v‚É–¼‚µ‚Ä‚à‚炤‚ׂ«‚Å‚·BˆÈ‰º‚Í—á‚Å‚·‚Ì‚ÅA–¼ +‘O‚ð•Ï‚¦‚Ä‚­‚¾‚³‚¢: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + + (–ó: + + YoyodyneŽÐ‚Í‚±‚±‚ÉAJames Hacker‚É‚æ‚Á‚Ä‘‚©‚ꂽƒvƒƒOƒ‰ƒ€ + uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ê‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆêØ‚Ì’˜ìŒ ‚Ì—˜ + ‰v‚ð•úŠü‚µ‚Ü‚·B + + A1989”N4ŒŽ1“ú + Ty CoonA•›ŽÐ’· + + ) + +‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Å‚ÍA‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ð“Æè“I‚ȃvƒƒOƒ‰ƒ€ +‚É“‡‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚Ü‚¹‚ñB‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ªƒTƒuƒ‹[ƒ`ƒ“ƒ‰ƒCƒu +ƒ‰ƒŠ‚È‚ç‚ÎA“Æè“I‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚ ‚È‚½‚̃‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚邱 +‚Æ‚ð‹–‰Â‚µ‚½‚Ù‚¤‚ª‚æ‚è•Ö—˜‚Å‚ ‚é‚Æl‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚à‚µ‚±‚ꂪ‚ ‚È +‚½‚Ì–]‚Þ‚±‚Æ‚È‚ç‚ÎA‚±‚ÌŒ_–ñ‘‚Ì‘ã‚í‚è‚ÉGNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘ø +Œ_–ñ‘‚ð“K—p‚µ‚Ä‚­‚¾‚³‚¢B diff --git a/Makefile b/Makefile index 1480d8015..2f0b29f4e 100644 --- a/Makefile +++ b/Makefile @@ -1,127 +1,127 @@ -# $Id: Makefile 158 2004-10-01 03:45:15Z PoW $ - -CC = gcc -pipe -PACKETDEF = -DPACKETVER=6 -DNEW_006b -DSO_REUSEPORT -#PACKETDEF = -DPACKETVER=5 -DNEW_006b -#PACKETDEF = -DPACKETVER=4 -DNEW_006b -#PACKETDEF = -DPACKETVER=3 -DNEW_006b -#PACKETDEF = -DPACKETVER=2 -DNEW_006b -#PACKETDEF = -DPACKETVER=1 -DNEW_006b - -PLATFORM = $(shell uname) - -ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD) -MAKE = gmake -else -MAKE = make -endif - -OPT = -g -O2 - -ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN) -OS_TYPE = -DCYGWIN -CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE) -else -OS_TYPE = -CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE) -endif - -MYSQLFLAG_INCLUDE_DEFAULT = /usr/local/include/mysql - -ifdef SQLFLAG -MYSQLFLAG_CONFIG = $(shell which mysql_config) -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::) -endif - -ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5) -MYSQLFLAG_CONFIG_ARGUMENT = --include -endif -ifeq ($(findstring 4,$(MYSQLFLAG_VERSION)), 4) -MYSQLFLAG_CONFIG_ARGUMENT = --include -endif -ifndef MYSQLFLAG_CONFIG_ARGUMENT -MYSQLFLAG_CONFIG_ARGUMENT = --cflags -endif - -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -MYSQLFLAG_INCLUDE = $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT)) -else -MYSQLFLAG_INCLUDE = -I$(MYSQLFLAG_INCLUDE_DEFAULT) -endif - -LIB_S_DEFAULT = -L/usr/local/lib/mysql -lmysqlclient -lz -MYSQLFLAG_CONFIG = $(shell which mysql_config) -ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) -LIB_S = $(shell $(MYSQLFLAG_CONFIG) --libs) -else -LIB_S = $(LIB_S_DEFAULT) -endif - -MYLIB = CC="$(CC)" CFLAGS="$(CFLAGS) $(MYSQLFLAG_INCLUDE)" LIB_S="$(LIB_S)" - -endif - -MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" - -all: conf txt - -conf: - cp -r conf-tmpl conf - rm -rf conf/.svn conf/*/.svn - -txt : src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile conf - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - - -ifdef SQLFLAG -sql: src/common/GNUmakefile src/login_sql/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile conf - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login_sql ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd char_sql ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd txt-converter ; cd login ; $(MAKE) $(MYLIB) $@ ; cd .. - cd src ; cd txt-converter ; cd char ; $(MAKE) $(MYLIB) $@ ; cd .. -else -sql: - $(MAKE) CC="$(CC)" OPT="$(OPT)" SQLFLAG=1 $@ -endif - -clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile - cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd login_sql ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd char_sql ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd map ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. - cd src ; cd txt-converter ; cd login ; $(MAKE) $(MKLIB) $@ ; cd .. - cd src ; cd txt-converter ; cd char ; $(MAKE) $(MKLIB) $@ ; cd .. - -tools: - cd tool && $(MAKE) $(MKDEF) && cd .. - $(CC) -o setupwizard setupwizard.c - -src/common/GNUmakefile: src/common/Makefile - sed -e 's/$$>/$$^/' src/common/Makefile > src/common/GNUmakefile -src/login/GNUmakefile: src/login/Makefile - sed -e 's/$$>/$$^/' src/login/Makefile > src/login/GNUmakefile -src/login_sql/GNUmakefile: src/login_sql/Makefile - sed -e 's/$$>/$$^/' src/login_sql/Makefile > src/login_sql/GNUmakefile -src/char/GNUmakefile: src/char/Makefile - sed -e 's/$$>/$$^/' src/char/Makefile > src/char/GNUmakefile -src/char_sql/GNUmakefile: src/char_sql/Makefile - sed -e 's/$$>/$$^/' src/char_sql/Makefile > src/char_sql/GNUmakefile -src/map/GNUmakefile: src/map/Makefile - sed -e 's/$$>/$$^/' src/map/Makefile > src/map/GNUmakefile -src/ladmin/GNUmakefile: src/ladmin/Makefile - sed -e 's/$$>/$$^/' src/ladmin/Makefile > src/ladmin/GNUmakefile -src/txt-converter/login/GNUmakefile: src/txt-converter/login/Makefile - sed -e 's/$$>/$$^/' src/txt-converter/login/Makefile > src/txt-converter/login/GNUmakefile -src/txt-converter/char/GNUmakefile: src/txt-converter/char/Makefile - sed -e 's/$$>/$$^/' src/txt-converter/char/Makefile > src/txt-converter/char/GNUmakefile +# $Id: Makefile 158 2004-10-01 03:45:15Z PoW $ + +CC = gcc -pipe +PACKETDEF = -DPACKETVER=6 -DNEW_006b -DSO_REUSEPORT +#PACKETDEF = -DPACKETVER=5 -DNEW_006b +#PACKETDEF = -DPACKETVER=4 -DNEW_006b +#PACKETDEF = -DPACKETVER=3 -DNEW_006b +#PACKETDEF = -DPACKETVER=2 -DNEW_006b +#PACKETDEF = -DPACKETVER=1 -DNEW_006b + +PLATFORM = $(shell uname) + +ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD) +MAKE = gmake +else +MAKE = make +endif + +OPT = -g -O2 + +ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN) +OS_TYPE = -DCYGWIN +CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE) +else +OS_TYPE = +CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE) +endif + +MYSQLFLAG_INCLUDE_DEFAULT = /usr/local/include/mysql + +ifdef SQLFLAG +MYSQLFLAG_CONFIG = $(shell which mysql_config) +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::) +endif + +ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5) +MYSQLFLAG_CONFIG_ARGUMENT = --include +endif +ifeq ($(findstring 4,$(MYSQLFLAG_VERSION)), 4) +MYSQLFLAG_CONFIG_ARGUMENT = --include +endif +ifndef MYSQLFLAG_CONFIG_ARGUMENT +MYSQLFLAG_CONFIG_ARGUMENT = --cflags +endif + +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +MYSQLFLAG_INCLUDE = $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT)) +else +MYSQLFLAG_INCLUDE = -I$(MYSQLFLAG_INCLUDE_DEFAULT) +endif + +LIB_S_DEFAULT = -L/usr/local/lib/mysql -lmysqlclient -lz +MYSQLFLAG_CONFIG = $(shell which mysql_config) +ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /) +LIB_S = $(shell $(MYSQLFLAG_CONFIG) --libs) +else +LIB_S = $(LIB_S_DEFAULT) +endif + +MYLIB = CC="$(CC)" CFLAGS="$(CFLAGS) $(MYSQLFLAG_INCLUDE)" LIB_S="$(LIB_S)" + +endif + +MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" + +all: conf txt + +conf: + cp -r conf-tmpl conf + rm -rf conf/.svn conf/*/.svn + +txt : src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile conf + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + + +ifdef SQLFLAG +sql: src/common/GNUmakefile src/login_sql/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile conf + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login_sql ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd char_sql ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd txt-converter ; cd login ; $(MAKE) $(MYLIB) $@ ; cd .. + cd src ; cd txt-converter ; cd char ; $(MAKE) $(MYLIB) $@ ; cd .. +else +sql: + $(MAKE) CC="$(CC)" OPT="$(OPT)" SQLFLAG=1 $@ +endif + +clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile + cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd login_sql ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd char_sql ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd map ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd .. + cd src ; cd txt-converter ; cd login ; $(MAKE) $(MKLIB) $@ ; cd .. + cd src ; cd txt-converter ; cd char ; $(MAKE) $(MKLIB) $@ ; cd .. + +tools: + cd tool && $(MAKE) $(MKDEF) && cd .. + $(CC) -o setupwizard setupwizard.c + +src/common/GNUmakefile: src/common/Makefile + sed -e 's/$$>/$$^/' src/common/Makefile > src/common/GNUmakefile +src/login/GNUmakefile: src/login/Makefile + sed -e 's/$$>/$$^/' src/login/Makefile > src/login/GNUmakefile +src/login_sql/GNUmakefile: src/login_sql/Makefile + sed -e 's/$$>/$$^/' src/login_sql/Makefile > src/login_sql/GNUmakefile +src/char/GNUmakefile: src/char/Makefile + sed -e 's/$$>/$$^/' src/char/Makefile > src/char/GNUmakefile +src/char_sql/GNUmakefile: src/char_sql/Makefile + sed -e 's/$$>/$$^/' src/char_sql/Makefile > src/char_sql/GNUmakefile +src/map/GNUmakefile: src/map/Makefile + sed -e 's/$$>/$$^/' src/map/Makefile > src/map/GNUmakefile +src/ladmin/GNUmakefile: src/ladmin/Makefile + sed -e 's/$$>/$$^/' src/ladmin/Makefile > src/ladmin/GNUmakefile +src/txt-converter/login/GNUmakefile: src/txt-converter/login/Makefile + sed -e 's/$$>/$$^/' src/txt-converter/login/Makefile > src/txt-converter/login/GNUmakefile +src/txt-converter/char/GNUmakefile: src/txt-converter/char/Makefile + sed -e 's/$$>/$$^/' src/txt-converter/char/Makefile > src/txt-converter/char/GNUmakefile diff --git a/Readme-jap b/Readme-jap index 3e2ac8648..6bf23c87b 100644 --- a/Readme-jap +++ b/Readme-jap @@ -1,17507 +1,17507 @@ --------------------- -//1032 by (“Ê) -E1031‚ʼn½ŒÌ‚©íœ‚³‚ê‚Ä‚¢‚½buildin_getitemname()‚𕜊ˆ -EƒoƒOƒXƒŒ‚È‚Ç‚Éo‚½C³‚𔽉f -E‚»‚Ì‘¼×‚©‚¢C³ - - (map/) - clif.c - clif_disp_onlyself() NULLƒ`ƒFƒbƒN’ljÁ - map.c - map_nick2sd() nick‚ªNULL‚¾‚Æ‚·‚®NULL‚ð•Ô‚·‚悤‚É•ÏX - mob.c - mob_setdelayspawn() NULLƒ`ƒFƒbƒN•ÏX - mob_delete() C³ - npc.c - npc_parse_warp() C³ - script.c - 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 - - (conf/) - battle_athena.conf C³ - (doc/) - conf_ref.txt C³ - script_ref.txt C³ - (map/) - battle.c - battle.h - disp_experience ’ljÁ - clif.c - clif.h - clif_disp_onlyself() ’ljÁ - pc.c - pc_gainexp() C³ - script.c - buildin_delitem() C³ - buildin_makepet() ’ljÁ - buildin_getexp() ’ljÁ - npc.c - #include C³ - npc_selllist() C³ - skill.c - skill_castend_nodamage_id() C³ - - --------------------- -//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 - - (conf/) - map_athena.conf ƒUƒƒC’ljÁ - (doc/) - client_packet.txt ƒpƒPƒbƒg’·‚ÌXV - (map/) - map.c - map_quit() I—¹Žž‚ɃNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚¦‚½ƒXƒLƒ‹‚ð–Y‚ê‚é‚悤‚É•ÏX - mob.c - mobskill_castend_pos() nullpoƒ`ƒFƒbƒN•ÏX - mob_readskilldb() C³ - pc.c - pc_makesavestatus() ƒNƒ[ƒ“ƒXƒLƒ‹‚ð–Y‚ê‚é‚Ì‚ðmap_quit‚É”C‚¹‚½ - trade.c - trade_tradecommit() ŠŽ‚Å‚«‚éŽí—ÞˆÈã‚ðŽæˆø‚µ‚½ê‡‚ɃAƒCƒeƒ€‚ªÁ‚¦‚È‚¢‚悤‚É - --------------------- -//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 - - (doc/) - client_packet.txt VƒpƒPƒbƒg’ljÁ - (char/) - char.c - parse_char() 0x20b‘Ήž - (login/) - login.c - 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³ - - (db/) - const.txt SC_INCATK SC_INCMATK’ljÁ - item_db.txt ª‚ð682,683‚ɒljÁ - job_db2.txt “ä‚Ì2s‚ðíœ - mob_skill_db.txt Emotion’ljÁ - (map/) - mob.c - mobskill_use() ƒXƒLƒ‹Žg—pŽž‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚悤‚É•ÏX - mob_readskilldb() Emotion‚ð“Ç‚Ýž‚ނ悤‚É•ÏX - mob.h •ÏX - pc.c - pc_calcstatus() •ÏX - skill.c - - skill_status_change_end() •ÏX - skill_status_change_start() •ÏX‚ÆNULLƒ`ƒFƒbƒNC³ - skill.h •ÏX - --------------------- -//1027 by Ni+S -EgetitemnameŠÖ”’ljÁ -EƒXƒNƒŠƒvƒg‚ÉgetitemnameŠÖ”‚ð’ljÁ -Eitemid‚æ‚èAjname‚𕶎š—ñ‚Å•Ô‚µ‚Ü‚· -EÚ‚µ‚­‚Íscript_ref.txt‚ÅB - - script.c - getitemname()’ljÁ - ----------------------------------------- -//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³‚ðŽæ‚èž‚Ý - - (map/) - clif.h •ÏX - map.h •ÏX - mob.c - mob_changestate() •ÏX - skill.c - skill_castend_pos2() •ÏX - mob_spawn() •ÏX - do_init_mob() add_timer_func_list‚Émob_timer_delete‚ª–³‚©‚Á‚½‚̂ŒljÁ‚µ‚Ä‚Ý‚½ - script.c - script_load_mapreg() •ÏX - ------------------------- -//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 --------------------- -//1024 by mare -Eƒtƒ@[ƒ}ƒV[Þ—¿‚Ì•ÏXA»‘¢‰Â”\–ò•i‚̒ljÁ - 6/8“ú–{ŽI‚É‚«‚½‚à‚Ì‚Æ“¯‚¶‚É‚µ‚Ü‚µ‚½ - - (db/) - produce_db.txt •ÏX - ----------------------------------------- -//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 - - (db/) - skill_cast_db.txt •ÏX - skill_require_db.txt •ÏX - (doc/) - db_ref.txt C³ - (map/) - battle.c - battle_calc_pc_weapon_attack() •ÏX - clif.c - clif_sitting() ’ljÁ - clif_parse_ActionRequest() •ÏX - npc.c - npc_parse_script() C³ - pc.h •ÏX - pc.c - pc_calcstatus() •ÏX - pc_natural_heal_hp() •ÏX - pc_setstand() ’ljÁ - 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 - --------------------- -//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 - - (doc/) - client_packet.txt S 01ed’ljÁ - (char/) - do_final() •ÏX - do_init() •ÏX - (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 - --------------------- -//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 - (/script) - (/warp) - npc_warp_umbala.txt - (/npc) - (/town) - npc_town_umbala.txt - npc_town_kafra.txt - npc_town_guide.txt - npc_town_prontera.txt - (/quest) - npc_event_marriage.txt(VEƒeƒXƒg) - (/job) - npc_job_alchemist.txt - npc_job_supernovice.txt(V) - --------------------- -//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) - - (conf/) - map_athena.conf nullpo_checkíœ - (doc/) - client_packet.txt XV - conf_ref.txt nullpo_checkíœ - (map/) - map.c - map_config_read() nullpo_checkíœ - map.h “¯ã - skill.c NULLƒ`ƒFƒbƒNÄ“x‘“ü‚ê‘Ö‚¦ - 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Á - script.c - buildin_wedding_effect() ’ljÁ - - --------------------- -//1019 by Dest -Enullpoƒ‚ƒWƒ…[ƒ‹‚ɃR[ƒfƒBƒ“ƒOƒ~ƒX”­Œ©/C³ -E“¯Avoid‚ÈŠÖ”‚©‚çŒÄ‚΂ꂽŽž‚Ìnullpo_retv_f()‚ð’ljÁ -E“¯AðŒƒRƒ“ƒpƒCƒ‹‚ɑΉž - - (common/) - nullpo.c - nullpo_info_core() ƒR[ƒfƒBƒ“ƒOƒ~ƒXC³ - nullpo.h - NULLPO_CHECKƒtƒ‰ƒO‚É‚æ‚éðŒƒRƒ“ƒpƒCƒ‹’ljÁ - nullpo_retv_f() ’ljÁ - --------------------- -//1018 by chloe -EƒEƒ“ƒoƒ‰ƒ‚ƒ“ƒXƒ^[‚ð’ljÁ - - (script/mob/) - npc_monster.txt •ÏX - ŠeƒEƒ“ƒoƒ‰ƒ}ƒbƒv‚ÉMob”z’u - (db/) - mob_db.txt •ÏX - 1495,STONE_SHOOTER,ƒtƒŒƒCƒ€ƒVƒ…[ƒ^[ C³ - 1511,AMON_RA,ƒAƒ‚ƒ“ƒ‰[ C³ - --------------------- -//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 - - (conf/) - map_athena.conf nullpo_check’ljÁ - (db/) - item_db.txt Œ‹¥Žw—Ö‚ð•Ší-ƒAƒNƒZƒTƒŠ‚É•ÏX•ÅV”Å - (doc/) - client_packet.txt XV - conf_ref.txt nullpo_check’ljÁ - (common/) - Makefile •ÏX - nullpo.c ’ljÁ - nullpo.h ’ljÁ - (map/) - Makefile •ÏX - 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³ - clif.c - clif_skill_setunit() ƒRƒƒ“ƒgC³ - pc.c - pc_calcstatus() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“C³ - --------------------- -//1016 by ‚ÈB -EAthenaŽG’kƒXƒŒƒbƒhPart4 42 ‚©‚éŽì‚̃Eƒ“ƒoƒ‰NPC‚ð’ljÁ - - (script/npc/town/) - npc_town_umbala.txt’ljÁ - ƒCƒxƒ“ƒgƒfƒoƒbƒO—l(230`256s–Ú)‚̓Rƒƒ“ƒgƒAƒEƒg - (conf/) - map_athena.conf town ‚É npc: script/npc/town/npc_town_umbala.txt ’ljÁ - --------------------- -//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”÷’²® - - - (conf/) - battle_athena.conf skill_removetrap_type’ljÁ - (doc/) - client_packet.txt –{ŽI‘ŠˆáƒXƒŒƒbƒh part3 23 M —zqcM6jBw‚³‚ñ‚Ìî•ñ‚ð’ljÁ - conf_ref.txt skill_removetrap_type’ljÁ - (map/) - atcommand.c - atcommand_go() ƒEƒ“ƒoƒ‰‚ÌoŒ»ˆÊ’u”÷’²® - battle.c - battle_config_read() skill_removetrap_type’ljÁ - battle.h “¯ã - pc.c - pc_calcstatus() ƒXƒpƒmƒrAll+10ðŒ•ÏX - skill.c - skill_blown() ƒ_ƒ“ƒX’†‚Ì‚«”ò‚΂µ‚ðŒ³‚É–ß‚µ‚½ - skill_castend_nodamage_id() ƒŠƒ€[ƒuƒgƒ‰ƒbƒvŽd—l•ÏX - - -------------------- -//1014 by (Pepermint) -I fixed again the problem if you put minus sign(-) in front of digits, -the error comes up when you puchase a item. -When you put a minus sign(-), the error sign will be changed shrotage of -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 - - (conf/) - help.txt @goà–¾•ÏX - (db/) - skill_cast_db.txt ‰ü–¼ - (map/) - pc.c - pc_setpos() ƒ_ƒ“ƒX’†’f‚̃^ƒCƒ~ƒ“ƒO•ÏX - pc_setglobalreg() PC_DIE_COUNTER“Á•Êˆ—’ljÁ - skill.c - skill_castend_id() NULLƒ`ƒFƒbƒN•ÏX - skill_stop_dancing() ƒ}ƒbƒvˆÚ“®‚È‚Ç‚Å‚Ì‹““®‚ð•ÏX - skill_readdb() skill_cast_db‚ɉü–¼ - skill_blown() ”ò‚΂³‚ꂽ‚çƒ_ƒ“ƒXˆÚ“® - npc.c - npc_touch_areanpc() ƒ[ƒvƒ|ƒCƒ“ƒg‚Éæ‚Á‚½‚çƒ_ƒ“ƒX‰ðœ - --------------------- -//1011 by ƒpƒCƒ“ -Eƒp[ƒeƒB—v¿‚âƒMƒ‹ƒh—v¿‚ðo‚µ‚Ä‚¢‚é‚Æ‚«‚É‘¼‚Ì—v¿‚ð‹‘”Û‚éˆ—‚ð’ljÁ -@battle_athena.conf‚ÅØ‚è‘Ö‚¦‚ªo—ˆ‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B -Emake clean ‚ÅŽ–‚ª‘«‚è‚é‚Ì‚ÅAobjectdel.bat‚ðÁ‹Ž - - (map) - clif.c - clif_party_invite()•ÏX(nullpo‚Ì•¶Œ¾ˆá‚Á‚Ä‚Ü‚µ‚½) - guild.c - guild_invite()•ÏX - party.c - party_invite()•ÏX - battle.c - battle_config_read()•ÏX - battle.h•ÏX - trade.c - trade_traderequest()•ÏX - --------------------- -//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‚©‚à - - (map/) - chrif.c - 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Á - 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 -@@: Œ‹¥‘ŠŽè‚Ì–¼‘O -@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 -@@Œ‹¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚Ƃ̃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Á - map.c - map_quit() •ÏX - skill.c - skill_use_id()Askill_castend_nodamage_id() •ÏX - skill_unitsetting()Askill_unit_onlimit() •ÏX - script.c - buildin_marriage()Abuildin_devorce() ’ljÁ - pc.h •ÏX - battle.h •ÏX - --------------------- -//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 - - (map/) - clif.c - clif_countusers() •ÏX - battle.c - battle_config_read() •ÏX - atcommand.c - atcommand_who() •ÏX - pc.c - pc_ismarried()Apc_marriage()Apc_divorce() ’ljÁ - chrif.c - chrif_divorce() ’ljÁ - chrif_parse() •ÏX - (char/) - char.c - char_divorce() ’ljÁ - char_delete()Ammo_char_fromstr()Ammo_char_tostr() •ÏX - --------------------- -//1007 by (“Ê) -ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ - - (map/) - clif.c - clif_send() •ÏX - skill.c - skill_delunit() •ÏX - --------------------- -//1006 by (ruhu) -¥@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’ljÁ - - (conf/) - help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ - (map/) - atcommand.c - atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ --------------------- -//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 - - (db/) - skill_require_db.txt •ÏX - (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 - 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 - - (map/) - battle.c - battle_damage() NULLƒ`ƒFƒbƒN‹­‰» - battle_heal() “¯ã - clif.c - clif_damage() “¯ã - map.c - map_addflooritem() NULLƒ`ƒFƒbƒN‹­‰» - 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‚Å‚· - - (conf/) - battle_athena.conf player_skill_partner_check’ljÁ - (db/) - skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚Ì‘®«‚ð¹‚É•ÏX - (doc/) - conf_ref.txt player_skill_partner_checkà–¾’ljÁ - (login/) - login.c - parse_login() 0x200ƒpƒPƒbƒg‘Ήž - (map/) - mob.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” - storage.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” - battle.h •ÏX - battle.c - battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’ljÁAFW‚ð•ÏX - battle_config_read() Ý’è’ljÁ - 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‚ÅŽ~‚ß‚Ä‚é‚©‚ç’Ê킱‚±‚Ü‚Å—ˆ‚È‚¢) - --------------------- -//1002 by ‚Ò‚´‚Ü‚ñ -Eƒ|[ƒ^ƒ‹ƒoƒOC³ -EƒXƒLƒ‹ŠÖŒW‚ÌNullƒ`ƒFƒbƒN‹­‰»(by(“Ê)) - (map/) - skill.c - skill_castend_map() C³ - --------------------- -//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 - - (map/) - clif.c - clif_getareachar_skillunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn - clif_skill_setunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn - pc.c - pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É•ÏX - skill.c - skill_check_condition() •ÏX - skill_check_condition_char_sub() ¹‘Ì‚Í‘Š•û‚ÌSPƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏX - skill_check_condition_use_sub() ¹‘Ì‚Í‘Š•û‚ÌSP‚ðŒ¸‚ç‚·‚悤‚É•ÏX - --------------------- -//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) - (map/) - skill.c - skill_count_target() ’ljÁ - skill_unit_onplace()Askill_trap_splash() •ÏX --------------------- -//0999 by eAthena Dev Team (Yor's Fixes) -(login/) - added email for accounts -(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³ - - (map/) - battle.c - battle_counttargeted() C³ - battle_getŒn ‚½‚Ô‚ñ‘S•”C³ - clif.c - clif_parse_WalkToXY() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX - clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚͉£‚ç‚È‚¢À‚ç‚È‚¢‚悤‚É•ÏX - map.c - map_quit() ƒ_ƒ“ƒX’†’f’ljÁ - 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‚É‚µ‚Ä‚Ý‚½ - - (db/) - 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 - clif.c - clif_parse_UseSkillToPos() •ÏX - --------------------- -//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Ž~ - - (db/) - cast_db.txt - const.txt - item_db.txt - (doc/) - item_bonus.txt - (src/) - clif.c - clif_parse_QuitGame() •ÏX - map.h addeff2,arrow_addeff2 ’ljÁ - pc.c - pc_calcstatus() •ÏX - pc_bonus2() •ÏX - skill.c - skill_additional_effect() •ÏX - skill_check_condition() •ÏX - skill_unit_move_unit_group() •ÏX - --------------------- -//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‚Å‚«‚È‚¢‚悤‚É‚µ‚½ - - (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 - battle.c - battle_config_read() pet_lootitem=0‚ÉC³ - pc.c - pc_walk() •ÏX - --------------------- -//0994 by huge -Ebattle.pet_lootitem‚ª“K‰ž‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚³‚¹‚½ŒãA10•bŠÔ‚­‚ç‚¢‚ÍE‚킹‚È‚¢‚悤‚ÉB - - (map/) - map.h pet_data‚Élootitem_timer’ljÁB - pet.c - pet_ai_sub_hard_lootsearch() C³B - pet_lootitem_drop() C³B - --------------------- -//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³ - - (map/) - clif.c - clif_parse_WalkToXY() •ÏX - map.h ƒAƒ“ƒR[ƒ‹—p•Ï”‚̒ljÁ - 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_use_id - skill_initunitgroup() Žg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•Ï”‚É“ü‚ê‚é‚悤‚É‚µ‚½ - skill_unit_move_unit_group() ’ljÁ - skill.h •ÏX - --------------------- -//0992 by nokia - -map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â‘è‚𵂭 - - (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) - - (map/) - clif.c - clif_parse_QuitGame() •ÏX - skill.c - skill_unitsetting() •ÏX - --------------------- -//0990 by ‚Ò‚´‚Ü‚ñ -Eˆê•”‚̃gƒ‰ƒbƒv‚ð”͈ÍUŒ‚‚É•ÏXiŠª‚«ž‚Ý‚Í–¢ŽÀ‘•jB -Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’ljÁB - Emapflagpvp_nocalcrankdummy - @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B - Emapflagpvp_nightmaredrop,, - @PvP‚É‚ÄŽ€–S‚µ‚½ê‡A‚ÌŠm—¦‚ŃAƒCƒeƒ€‚ðƒhƒƒbƒv‚µ‚Ü‚·B - @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’肵‚Ü‚·Brandom‚Æ‹Lq‚·‚é‚ÆŠŽ•i‚©‚烉ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚µ‚Ü‚·B - @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚̃^ƒCƒv‚ðŽw’肵‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” - @: ƒhƒƒbƒv‚·‚éŠm—¦‚Å‚·B–œ•ª—¦‚ÅŽw’肵‚Ü‚·B - (map/) - skill.c - skill_unit_onplace() •ÏX - skill_trap_splash() ’ljÁ - pc.c - pc_damage() •ÏX - npc.c - npc_parse_mapflag() •ÏX - map.h - map_data‚Ƀƒ“ƒo’ljÁ - (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ƒ‰[‚ÌŒ´ˆö‚ª•ª‚©‚é‚©‚à - - (map/) - skill.c - skill_castend_nodamage_id() •ÏX - skill_castend_pos2() •ÏX - skill_castcancel() •ÏX - --------------------- -//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³ - - (db/) - cast_db.txt - (map/) - battle.c - battle_check_target() •ÏX - mob.c - mobskill_castend_pos() •ÏX - 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 - --------------------- -//0987 by ŒÓ’±—– - -Eƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’è‰Â”\‚É - Ú‚µ‚­‚Í script_ref.txt ‚ðŽQÆ - - (map/) - scirpt.c - buildin_getarg()’ljÁ - buildin_callsub(),buildin_callfunc(),run_func()C³ - (doc/) - script_ref.txt - ˆø”‚ɂ‚¢‚Ä‚Ìà–¾’ljÁ - -Egetguildname,getpartyname,getcastlename,strcharinfoC³ - C_STR‚Œ蔕¶Žš—ñ(C_CONSTSTR)‚ð•Ô‚µ‚Ä‚¢‚½–â‘èC³ - strcharinfo‚ŃMƒ‹ƒh–¼‚È‚Ç‚ðŠ“¾‚·‚éÛA–¢Š‘®‚¾‚Á‚½‚Æ‚«‚Ì–â‘è - - (map/) - script.c - buildin_getguildname(),buildin_getpartyname() - buildin_getcastlename(),buildin_strcharinfo() - --------------------- -//0986 by (“Ê) -Eclient_packet‚Ì‹Lq‚©‚ç„Ž@‚µ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽÀ‘•‚µ‚Ä‚Ý‚½‚‚à‚è - - (db/) - skill_db.txt - (map/) - clif.c - clif_talkiebox() ’ljÁ - clif_parse_UseSkillToPos() •ÏX - clif_parse() •ÏX - clif.h •ÏX - map.h •ÏX - skill.c - skill_castend_pos2() •ÏX - skill_unitsetting() •ÏX - skill_unit_onplace() •ÏX - --------------------- -//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³‚ðŽæ‚èž‚Ý - - (script/extension/) - npc_event_kataribe6.txt ’ljÁ - npc_event_kataribe7.txt ’ljÁ - (script/npc/) - quest/npc_event_hat.txt C³ - job/npc_job_magician.txt C³ - --------------------- -//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”Å‚É - - (db/) - item_db.txt - (conf/) - mapflag.txt - (script/mob/) - npc_monster.txt - (map/) - clif.c - clif_parse_WalkToXY() C³ - --------------------- -//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‚É‚µ‚½ - - (map/) - clif.c - clif_parse_WalkToXY() C³ - pet.c - pet_catch_process2() C³ - skill.c - skill_castend_nodamage_id() C³ - --------------------- -//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‚ª–ß‚Á‚Ä‚µ‚Ü‚¤‚Ì‚ð‚È‚ñ‚Æ‚©‚µ‚½‚‚à‚è - - (db/) - skill_require_db.txt - (map/) - battle.c - battle_calc_damage() C³ - 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 - --------------------- -//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³ - - (db/) - skill_db.txt - (map/) - clif.c - clif_parse_LoadEndAck() C³ - battle.c - battle_calc_damage() C³ - skill.c - skill_status_change_timer() C³ - skill_status_change_start() C³ - --------------------- -//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ƒ‰‚É€‹’‚³‚¹‚Ä‚Ý‚½‚‚à‚è - - (db/) - cast_db.txt - item_db.txt - (map/) - battle.c - battle_calc_pc_weapon_attack() •ÏX - mob.c - mob_damage() •ÏX - pc.c - pc_calcstatus() •ÏX - 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 - --------------------- -//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³ - - (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 - 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‚¾‚¯ - -EƒAƒCƒeƒ€ŒðŠ·‚Åd—Ê‚ÌŒvŽZ‚ªˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ - (doc/) - client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV - (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 - skill.c - skill_castend_damage_id() •ÏX - trade.c - trade_tradeadditem() C³ - --------------------- -//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‚È‚¢‚悤‚É‚µ‚½‚‚à‚è - - (db/) - cast_db.txt - skill_db.txt - skill_require_db.txt - 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³ - 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 - - (db/) - cast_db.txt - skill_db.txt - skill_require_db.txt - (doc/) - 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³ - clif.c - clif_parse_WalkToXY() C³ - 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³ --------------------- -//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 - - (map/) - pc.c - pc_setparam() - case SP_BASELEVEL: C³ - case SP_JOBLEVEL: C³ --------------------- -//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•\Ž¦”’ - - Œã”¼4€–Ú‚ÍÝ’è‰Â - -E퓬Šî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚«”÷C³iDEXƒTƒCƒY•â³A‹|Å’áƒ_ƒAPCƒTƒCƒY•â³j - -EŠ®‘S‰ñ”ð - ƒXƒ^ƒ““™‚ÅŠ®‘S‰ñ”ð‚ª”­¶‚µ‚È‚©‚Á‚½‚Ì‚ðC³ - AGIVITƒyƒiƒ‹ƒeƒB‚ªŠ®‘S‰ñ”ð‚Ì“G‚àƒJƒEƒ“ƒg‚µ‚ÄŒvŽZ‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³@Ý’è‰Â - ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–¢C³ - -E‘qŒÉ‚ð•Â‚¶‚é‚Æ‚«AƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚é‚悤‚É‚µ‚½ - -Ekalen‚³‚ñ‚̃vƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘¢‚µ‚Ä - ¤‹Æ–h‰q’lA“ŠŽ‘‹àŠzA•ó” ‚Ì”‚ð–{ŽI‚É€‹’(¤‹Æ’l‚Í1~100) - ‘SÔ‚ÉÝ’u - - (/script/npc) - aldeg_cas01.txt ... prtg_cas05.txt C³ - (/script/npc/gvg) - aldeg_cas01.txt ... prtg_cas05.txt ’ljÁ - tbox.txt ’ljÁ - - (/conf) - battle_athena.conf - 6€–ڒljÁ - - (/map) - mob.c/mob.h - mob_attack() C³ - mob_counttargeted_sub(),mob_counttargeted() C³ - mobskill_use() C³iª‚̈ø”‚¾‚¯j - pc.c/pc.h - pc_counttargeted_sub(),pc_counttargeted() C³ - pc_attack_timer() C³ - pet.c - pet_attack() C³ - - map.h - pc_data, mob_data, map_data •Ï”‚P‚’ljÁ - enum1‚’ljÁ - map.c/map.h - map_count_oncell() ’ljÁ skill.c‚Å‚æ‚©‚Á‚½‚©‚àEEE - - skill.c - GXŠÖ˜AC³(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace()) - - battle.c C³ - battle.h C³ - - storage.c/storage.h - storage_comp_item() ’ljÁ - sortage_sortitem(), sortage_gsortitem() ’ljÁ - storage_storageclose(), storage_guild_storageclose() C³ --------------------- -//0973 by Ž‚Žqo^.^o -EƒXƒNƒŠƒvƒg‚ÌBASELEVEL,JOBLEVEL–½—ߒljÁ - —á: set BASELEVEL,1; - —á: set JOBLEVEL,1; - (map/) - pc.c - pc_setparam() - case SP_BASELEVEL: €–ڒljÁ - case SP_JOBLEVEL: €–ڒljÁ - --------------------- -//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 */ - SC_ASSUMPTIO: /* */ - SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ - SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ - SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ - - (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Á - --------------------- -//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) - - (db/) - cast_db.txt - skill_db.txt - skill_require_db.txt - (map/) - atcommand.h ƒSƒ~íœ - battle.c - battle_calc_pet_weapon_attack() •ÏX - battle_calc_mob_weapon_attack() •ÏX - battle_calc_pc_weapon_attack() •ÏX - clif.c - clif_parse_UseSkillToId() •ÏX - 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 - --------------------- -//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‚ð‚Ü‚Æ‚ß‚Ä“¯« - - (map/) - battle.c ƒRƒƒ“ƒgQY(BB)¶·¶· - skill.c skill_status_change_start() - (db/) - cast_db.txt - item_db.txt - mob_skill_db.txt - skill_db.txt - skill_require_db.txt - skill_tree.txt - --------------------- -//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 - (map/) - battle.c - battle.h - ‘®«•â³‚ÌC³‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŽZoŽ®’ljÁ“™B - battle_config‚É€–ڒljÁ - skill.c - skill_idun_heal()’ljÁBforeachinarea‚ň—‚·‚é‚悤‚É•ÏX - ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̈—’ljÁB - atcommand.c - atcommand.h - @idsearch’ljÁB - --------------------- -//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–¾ - - (char/) - char.c - ƒpƒPƒbƒg2730‚̈—Achar_delete()’ljÁA휈—C³‚È‚Ç - 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³‚È‚Ç - (login/) - login.c - parse_admin()‚ðƒAƒJƒEƒ“ƒg휎ž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚悤‚ÉC³ - -Eathena-start stop ‚Å’âŽ~‚³‚¹‚½ê‡Aƒf[ƒ^‚ª•Û‘¶‚³‚ê‚È‚¢–â‘è‚ðC³ - kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚©‚çSIGTERM‚É•ÏXB - ‚Ç‚¤‚µ‚Ä‚àSIGKILL‚𑗂肽‚¢ê‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - athena-start - stopC³Akill’ljÁ - --------------------- -//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³ - - (conf) - battle_athena.conf C³ - (doc) - conf_ref.txt C³ - (map) - atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ - 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 - - (conf/) - battle_athena.conf‚É€–ڒljÁB - (map/) - atcommand.c - atcommand_mapexit() C³B - pc.c - pc_steal_item() C³B - pc_show_steal() ’ljÁB - skill.c - skill_unitsetting()Askill_unit_onplace() C³B - battle.c - battle_config_read() C³B - battle.h C³B - (doc/) - conf_ref.txt ”²‚¯‚Ä‚½‚Ì‚ðFX’ljÁB - --------------------- -//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³‚𓯫 - - (conf/) - atcommand_athena.conf C³ - (db/) - skill_tree.txt C³ - skill_tree2.txt ”pŽ~ - (map/) - map.h PC_CLASS_BASE“™’ljÁ - pc.c - pc_calc_skilltree() C³ - pc_allskillup() C³ - pc_readdb() C³ - --------------------- -//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‚©‚ç“ǂނ悤‚É‚µ‚½ - - (conf/) - help.txt C³ - (db/) - const.txt - (doc/) - help.txt C³ - script_ref.txt C³ - (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³ - script.c - buildin_jobchange() C³ - buildin_jobchange2() íœ - buildin_jobchange3() íœ - skill.c - skill_castend_pos2() C³ - --------------------- -//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 - - (common/) - mmo.h ’è”C³ - (db/) - skill_db.txt •ÏX - skill_require_db.txt •ÏX - skill_tree2.txt ’ljÁ - (map/) - skill.h ’è”C³ - pc.c - pc_calcstatus() C³ - pc_allskillup() C³ - pc_calc_skilltree() C³ - pc_readdb() C³ - --------------------- -//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 - - (map/) - map.h/map.c - struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ñ‘Þ”ð—p‚̃ƒ“ƒo’ljÁ - map_quit()C³ - script.h/script.c - FXC³(run_script(),run_func()‚ªŽå) - npc.c - npc_parse_function()’ljÁ‘¼ - (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)‚ð•Ô‚·‚悤‚É‚µ‚½ - - (map/) - atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ - 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³ - script.c - buildin_changesex() C³ - skill.c - skill_castend_nodamage_id() C³ - skill_unit_onplace() C³ - --------------------- -//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‚³‚¹‚é–½—ß‚Å‚· - - (conf/) - help.txt C³ - (db/) - job_db2.txt C³ - job_db2-2.txt ’ljÁ - (doc/) - help.txt C³ - script_ref.txt C³ - (map/) - pc.c - pc_calcstatus() C³ - pc_readdb() C³ - script.c - buildin_jobchange() C³ - buildin_jobchange2() ’ljÁ - buildin_jobchange3() ’ljÁ - --------------------- -//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‚Å‚· - - (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³ - script.c - buildin_changesex() C³ - skill.c - skill_castend_nodamage_id() C³ - --------------------- -//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 - - (map/) - atcommand.c - atcommand_character_job2() ’ljÁ - atcommand_character_job3() ’ljÁ - atcommand.h C³ - (conf/) - atcommand_athena.conf C³ - (doc/) - help.txt C³ - --------------------- -//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“–‚ÉÝ’è - - (map/) - atcommand.c - atcommand_jobchange() C³ - atcommand_jobchange2() ’ljÁ - atcommand_jobchange3() ’ljÁ - atcommand.h C³ - clif.c - clif_changelook() C³ - pc.c - pc_nextbaseexp() C³ - pc_nextjobexp() C³ - pc_jobchange() C³ - pc_readdb() C³ - battle.c - battle_calc_damage() C³ - mob_can_reach() C³ - --------------------- -//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 - - (conf/) - battle_athena.conf - pet_lootitem,pet_weight ’ljÁ - (doc/) - conf_ref.txt C³ - (map/) - atcommand.c - atcommand_memo() C³ - atcommand_where() C³ - battle.c - battle_config_read() C³ - battle.h C³ - map.c - map_quit() C³ - map.h - pet_data{} C³ - pc.c - pc_memo() C³ - 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³ - skill.c - skill_castend_pos2() C³ - --------------------- -//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) - - (/) - object_del.bat C³ - (map/) - atcommand.c - atcommand_joblevelup() C³ - atcommand_character_joblevel() C³ - atcommand_character_baselevel() C³ - - code by kingbo 2004/4/29 PM 06:15 - base on 0953 - now i sure it works well - (map/) - mob.c - 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³ - - (/) - start ‰üsƒR[ƒh•ÏX - athena-start ‰üsƒR[ƒh•ÏX - (db/) - mob_skill_db.txt C³ - (doc/) - conf_ref.txt C³ - (login/) - Makefile ‰üsƒR[ƒh•ÏX - (map/) - Makefile ‰üsƒR[ƒh•ÏX - atcommand.c - atcommand() 錾ˆÊ’uC³ - atcommand_where() 錾ˆÊ’uC³ - 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³ - clif.c - clif_skill_fail() 錾ˆÊ’uC³ - guild.c - guild_gvg_eliminate_timer() 錾ˆÊ’uC³ - mob.c - mob_damage() 錾ˆÊ’uC³ - script.c - buildin_deletearray() 錾ˆÊ’uC³ - buildin_getequipcardcnt() 錾ˆÊ’uC³ - buildin_successremovecards() 錾ˆÊ’uC³ - --------------------- -//0952 by CG -Econf‚ÅDEF‚ÆMDEF‚ÌŒvŽZ•û–@‚ð‘I‘ð‚Å‚«‚é‚悤‚ÉB - - (conf/) - battle_athena.conf •ÏX - (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 - - (/) - athena-start •ÏX - (db/) - mob_db.txt •ÏX - (conf/) - map_athena.conf •ÏX - (conf/extension/) - npc_gldcheck.txt ’ljÁ - (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 - (conf/warp/) - npc_warp_pvp.txt ’ljÁ - --------------------- -//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‚ð‘«‚³‚È‚¢‚Æ”½Œ‚‚µ‚Ä‚±‚È‚­‚È‚é‚Ì‚Å’ˆÓ - - (db/) - mob_db.txt C³ - (map/) - battle.c - battle_calc_pet_weapon_attack() - battle_calc_mob_weapon_attack() - battle_calc_pc_weapon_attack() - battle_calc_magic_attack() - mob.c - mob_once_spawn() - mob_attack() - mob_target() - mob_ai_sub_hard() - --------------------- -//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 - (map/) - pc.c - pc_calcstatus()C³ - skill.c - skill_additional_effect()Askill_attack() C³ - skill_status_change_start()Askill_unitsetting() C³ - (db/) - cast_db.txt C³B - --------------------- -//0948 by ŒÓ’±—– - -Ewarpwaitingpc‚ª³‚µ‚­PC‚ð“]‘—‚Å‚«‚È‚¢–â‘è‚ðC³ -EƒXƒNƒŠƒvƒg‚Ì“Ç‚Ýž‚ÝŽž‚ɃGƒ‰[‚Ü‚½‚ÍŒx‚ªo‚éê‡AŒx‰¹‚ð–‚炷‚悤‚ÉB - i—¬‚ꂽƒƒO‚ðŒ©‚È‚¢l‘Îô‚Å‚·j - - (map/) - script.c - buildin_warpwaitingpc()C³ - disp_error_message()C³ - -Eatcommand.cC³ - Eatcommand_athena.conf‚Ìmapmove‚ð“ǂނ悤‚É - E@str‚È‚Ç‚ÌÈ—ªŽž‚Ì•K{ƒŒƒxƒ‹‚ð0‚ÉB - E@param‚ÍŽg‚í‚È‚¢‚̂ŃRƒƒ“ƒg‰» - - (map/) - atcommand.c - ŠY“–ŒÂŠC³ - -Emob‚ªÅ‘å15•b‚قLjړ®‚µ‚È‚¢ê‡‚ª‚ ‚é–â‘èC³ - EŽè”²‚«‚Å‚È‚¢mobˆ—‚ÅAˆÚ“®‚µ‚È‚¢ŽžŠÔ‚ª7•bˆÈ㑱‚©‚È‚¢‚悤‚ÉC³ - - (map/) - mob.c - mob_ai_sub_hard()C³ - -E‰õ‘¬‘Dˆõ‚̈ɓ¤`s‚«‚Ì”»•ÊŽ®C³ (by ID:F8nKKuY) - (conf/npc/) - npc_town_comodo.txt - --------------------- -//0947 by (“Ê) -EŽæ‚芪‚«‚ÍŽæ‚芪‚«‚𢊫‚µ‚È‚¢‚悤‚ÉC³ -E˜I“V‚̔̔„‰¿Ši‚ÌãŒÀ‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³ - - (conf/) - battle_athena.conf - vending_max_value’ljÁ - (doc/) - conf_ref.txt C³ - (map/) - skill.c - skill_castend_nodamage_id() C³ - battle.c - battle_config_read() C³ - battle.h C³B - vending.c - vending_openvending() C³B - --------------------- -//0946 by Kalen -Eƒvƒ–kWarpŒ©’¼‚µ -ŽQlF–{ŽI(1F,2F)‚ç‚®‚Ȃ̉½‚©(3F) - (conf/warp/) - npc_warp.txt - -EŒê‚è•”‚Ì2T3T’ljÁ(‚Ç‚¤‚¹Œ©‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ªc) - (conf/npc/) - npc_event_kataribe.txt - --------------------- -//0945 by ŒÓ’±—– - -ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚ª³‚µ‚­ƒCƒ“ƒ|[ƒg‚³‚ê‚È‚¢–â‘è‚ðC³ -ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚ª³‚µ‚­‰Šú‰»‚³‚ê‚È‚¢–â‘è‚ðC³ -ENPC‚Ìduplicate‚ðs‚¤‚ƃAƒNƒZƒXˆá”½‚ª‹N‚±‚éꇂª‚ ‚é–â‘è‚ðC³ - - (map/) - npc.c - npc_parse_scriptC³ - -Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ì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/) - battle_athena.conf - guild_exp_limit’ljÁ - (doc/) - conf_ref.txt C³ - (map/) - atcommand.c - ‘h¶Žž‚ÌSP‰ñ•œ‚ÅAׂ©‚¢C³B - battle.c - battle_config_read() C³ - battle.h C³B - guild.c - guild_change_position() C³B - pc.c - pc_calcstatus() C³B - vending.c - vending_openvending() C³B - --------------------- -//0943 by (“Ê) -Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚é‚ƌÖ؂̎}‚Å¢Š«‚³‚ê‚郂ƒ“ƒXƒ^[‚ªƒAƒNƒeƒBƒu‚É‚È‚é‚悤‚É•ÏX -E”÷–­‚É•ÏX‚µ‚½client_packet.txt‚𓯫 - - (conf/) - battle_athena.conf - dead_branch_active’ljÁ - (doc/) - client_packet.txt C³ - conf_ref.txt C³ - (map/) - battle.c - battle_config_read() C³ - battle.h C³ - map.h C³ - mob.c - mob_once_spawn() C³ - mob_attack() C³ - mob_target() C³ - mob_ai_sub_hard_lootsearch() C³ - mob_ai_sub_hard() C³ - -E‰pŒêƒXƒŒ‚Ìkingbo‚³‚ñ‚Ì•ÏX‚𓯫 - code by kingbo 2004/4/16 PM 09:47 - - support guildcastle guardian - maybe still have problems..need to try - Good Luck Q^^Q - P.S: sorry my poor english ^^a - - (map/) - mob.c - mob_can_reach() fix - battle.c - battle_calc_damage() fix - - (conf/gvg/) - prtg_cas01_guardian.txt - --------------------- -//0942 by ŒÓ’±—– - -EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•s³‚ȃƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éꇂª‚ ‚éƒoƒO‚ðC³ - (login/) - login.c - check_ipmask()C³ - -EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX­‚µ’ljÁ‚ÆC³ - (doc/) - script_ref.txt - C³ - --------------------- -//0941 by (“Ê) - -Ee2‚³‚ñ‚Ì•ñ‚ðŒ³‚É¢Š«‚³‚ꂽŽè‰º‚̃Xƒs[ƒh‚𢊫Žå‚Æ“¯‚¶‚É‚µ‚Ä‚Ý‚é - - (map/) - battle.c - battle_get_speed() C³ - mob.c - mob_spawn() C³ - mob_summonslave() C³ - --------------------- -//0940 by End_of_exam - -Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚µ‚Ä‚à‰ñ•œ‚µ‚È‚¢ƒoƒO‚ðC³(0938`)B - -@Thanks for Pepermint, reporting the bug that using PotionPitcher with -@BluePotion was no effective. -@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{‚o‚ÅŒø‰Ê‚ª‚È‚¢Ž–‚ð•ñ‚µ‚Ä‚­‚ꂽPepermintŽ‚ÉŠ´ŽÓj - - (map/) - battle.c - battle_heal() C³ - --------------------- -//0939 by (“Ê) -EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–¼16•¶Žš)‚©‚ç0x1b3(64•¶Žš)‚É•ÏX -E‚‚¢‚Å‚ÉŽG’kƒXƒŒ‚Éã‚°‚½athena-start‚𓯫 - - (/) - athena-start saveƒtƒ@ƒCƒ‹‚ª–³‚¢‚Æ‚«‚Éì‚é‚悤‚É - (map/) - clif.c - clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚É•ÏX - (doc/) - client_packet.txt C³ - --------------------- -//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‚·‚éŠÖ”‚Å‚· - -@‘Ž®Fgetareadropitem ,,,,,; -@@mapnameF‘ÎÛƒ}ƒbƒv–¼(—áFprontera.gat) -@@x0‚Æx1F‘ÎÛXÀ•W”ÍˆÍ -@@y0‚Æy1F‘ÎÛYÀ•W”ÍˆÍ -@@itemFƒJƒEƒ“ƒg‚·‚é‘ÎÛƒAƒCƒeƒ€ - -@–ß‚è’lFmapname“àÀ•W(x0,y0)-(x1,y1)‚͈͓̔à‚É—Ž‚¿‚Ä‚¢‚éitem‚Ì‘ŒÂ” -@@@@@Žæ“¾Ž¸”sŽž‚É‚Í-1‚ð•Ô‚µ‚Ü‚·B -@Eitem‚Ì’l‚ÍID‚Å‚àƒAƒCƒeƒ€–¼("Red_Jemstone"‚Æ‚©)‚Å‚à‚¢‚¢‚Å‚·B - - (map/) - battle.c - battle_heal() C³B - vending.c - vending_openvending() C³B - script.c - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B - struct buildin_func[] C³B - buildin_getareadropitem()Abuildin_getareadropitem_sub() ’ljÁB - --------------------- -//0937 by netwarrior - -- Fix Japanese remarks problem in 0936 -- Fix minor problem in battle_heal() - --------------------- -//0936 by Pepermint - -Retouch about problem of increase in quantity at the CART, -when enter the an minus quantity in the CLIENT. - -Retouch about problem of not recovery,use POTIONPITCHER skill. - - (map/) - battle.c - battle_heal() - - vending.c - vending_purchasereq() - --------------------- -//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 - - 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 - <—á> - -- script ƒeƒXƒg::test1 112,{ // ‚±‚ÌNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚µ‚È‚¢ -// (—ª) -} -prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 -geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 - - Eã‚̃}ƒbƒv‚É‘¶Ý‚µ‚È‚¢NPC‚̓Cƒxƒ“ƒg‚É‚à‚·‚邱‚Æ‚ª‚Å‚«‚éB - i‚ǂ̃}ƒbƒvƒT[ƒo[‚©‚ç‚Å‚à•K‚¸ŒÄ‚Ño‚¹‚éƒCƒxƒ“ƒg‚É‚È‚éj - - (map/) - map.h - struct npc_label_list’ljÁ,struct npc_dataC³ - npc.c - npc_parse_script()C³ - •s—v‚É‚È‚Á‚½ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ÌŠÖ”‚ðíœ - --------------------- -//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 - - (map/) - battle.c - battle_weapon_attack() C³B - 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 - 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 - (db/) - cast_db.txt C³B - --------------------- -//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 - - (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³ - - - (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 - - (char/) - int_storage.c guild_storage_tostr() C³B - --------------------- -//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“¯« - - (db/) - item_db.txt •ÏX - (conf/) - atcommand_athena.conf •ÏX - map_athena.conf •ÏX - (conf/gvg/) - aldeg_cas03.txt •ÏX - aldeg_cas04.txt •ÏX - aldeg_cas05.txt •ÏX - (conf/mob/) - npc_monster.txt •ÏX - (conf/npc/) - npc_event_kataribe.txt ’ljÁ - (conf/warp/) - npc_warp_louyang.txt ’ljÁ - (map/) - pc.c pc_memo() •ÏX - --------------------- -//0930 by ŒÓ’±—– - - Šù‘¶‚Ì char/ ‚É‚ ‚élock.c‚Ælock.h‚Í휂µ‚Ä‚­‚¾‚³‚¢B - ‚±‚ê‚ç‚Í common/ ‚Ɉړ®‚³‚ê‚Ü‚·B - -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³ - - (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 - -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 - - (common/) - lock.c/lock.h - ƒtƒHƒ‹ƒ_ˆÚ“®Alock_fopenC³ - (login/) - login.c - mmo_auth_new()C³ - (char/) - char.c - mmo_char_tostr(),make_new_char()C³ - int_storage.c - storage_tostr(),guild_storage_tostr(), - inter_storage_save_sub(),inter_guild_storage_save_sub()C³ - int_party.c - int_guild.c - –¼‘O–â‘èC³ - (map/) - pet.c - –¼‘O–â‘èC³ - --------------------- -//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 - - (map/) - clif.c - clif_parse_EquipItem() C³B - skill.c - skill_castend_nodamage_id() C³B - skill_unitsetting()Askill_unit_onplace() C³B - skill_landprotector() ’ljÁB - mob.c - mob_delay_item_drop()Amob_delay_item_drop2() C³B - npc.c C³ - - (db/) - skill_db.txt C³B - --------------------- -//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) - -@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 - --------------------- -//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‚Å‚·) - - (map/) - battle.c - battle_calc_damage()Abattle_calc_magic_attack() C³B - battle_calc_misc_attack()Abattle_config_read() C³B - 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 - (conf/) - battle_athena.conf - item_auto_get€–Ú‚ð’ljÁB - (db/) - cast_db.txt C³B - --------------------- -//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 - - (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‚µ‚È‚Ç - chrif.c - ‹ŒOnAgitInit‚̌ĂÑo‚µíœ - (doc/) - inter_server_packet.txt - ƒMƒ‹ƒhéƒf[ƒ^ˆêŠ‡‘—MƒpƒPƒbƒg0x3842’ljÁ - -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³ - (map/) - script.c - buildin_donpcevent()’ljÁ‚È‚Ç - (doc/) - script_ref.txt - doevent,donpcevent,OnAgitInit’ljÁ‚È‚Ç - -E‚»‚Ì‘¼C³ - (map/) - clif.c - clif_parse_GMReqNoChat()’ljÁ - - --------------------- -//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 - - (map/) - script.c/mob.c - 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ˆê‰ž) - - (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 - --------------------- -//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‚©‚ç휂µ‚Ä‚­‚¾‚³‚¢ - - (map/) - guild.c C³ - (conf/) - map_athena.conf C³ - atcommand_athena.conf C³ - (conf/npc/) - npc_event_hat.txt C³ - npc_event_oni.txt C³ - npc_job_1st.txt íœ - npc_script2.txt íœ - npc_shop3.txt íœ - --------------------- -//0923 by ŒÓ’±—– - -EƒXƒNƒŠƒvƒg‚̃oƒOC³ -Escript_rid2sd‚ªŽ¸”s‚µ‚Ä‚àƒT[ƒo[‚ðI—¹‚µ‚È‚¢‚悤‚É•ÏX - Emonster,areamonster‚È‚Ç‚ªŽÀs‚Å‚«‚È‚¢–â‘èC³ - - (map/) - script.c/mob.c - buildin_monster()‚È‚ÇC³ - - (doc/) - script_ref.txt - ƒ‰ƒxƒ‹‚ƃGƒ‰[‚Ìà–¾C³ - --------------------- -//0922 by ŒÓ’±—– - -EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ìs”Ô†‚ª³‚µ‚­•\Ž¦‚³‚ê‚é‚悤‚É - - (map/) - itemdb.c / npc.c - itemdb_readdb(),npc_parse_script()C³ - -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³ - (map/) - script.c - script_rid2sd(),buildin_attachrid()’ljÁ - ‘½XC³B - (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‚ÉŠª‚«–ß‚Á‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½•”•ª‚ðŒ³‚É–ß‚µ‚½ - (map/) - pc.c - pc_steal_item() C³ - itemdb.c - pet.c - skill.c C³ - --------------------- -//0920 by Ž‚Žqo^.^o -E Steal—¦ = Drop—¦ * (Ž©DEX - “GDEX + SLv*3 +10) /100 - (map/) - pc.c - int pc_steal_item()C³ - --------------------- -//0919 by RR -Eatcommand‚Ìlvup‚ðŽg‚¤‚Ǝ擾ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‚¨‚©‚µ‚¢–â‘è‚ÌC³ -EƒoƒOC³(ƒoƒO•ñƒXƒŒ‚ÅC³‚Ìo‚½‚à‚Ì‚ÌŽæ‚èž‚Ý@ŒÓ’±—–‚³‚ñAp‚³‚ñA‹¤‚É‚¨”æ‚ê—l‚Å‚·) - (map/) - atcommand.c - atcommand_baselevelup()C³ - guild.c - guild_gvg_eliminate_timer()C³ - pc.c - pc_setreg(),pc_setregstr()C³ - (login/) - login.c - parse_login()C³ --------------------- -//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 - (map/) - itemdb.c - do_init_itemdb() C³B - pet.c - read_petdb() C³B - skill.c - skill_readdb() C³B - --------------------- -//0917 by RR -EƒXƒNƒŠƒvƒgC³ - “‘¾˜YƒCƒxƒ“ƒg‚Æ“¬‹ZêƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚É•ÏX - (conf/npc/) - npc_event_momotarou.txt - npc_event_tougijou.txt C³ -EƒXƒLƒ‹ƒcƒŠ[C³(ƒoƒO•ñƒXƒŒ25‚æ‚è) - (db/) - skill_db.txt C³ - --------------------- -//0916 by (“Ê) -Enpc_monster‚Énpc_mob_job‚ð“‡Bnpc_mob_job.txt‚Í휂µ‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñ - - (conf/) - map_athena.conf npc_mob_job‚ðíœ - (conf/mob/) - npc_monster.txt XV - --------------------- -//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Á - - Šù‘¶‚Ìaddtimer‚Ȃǂ̓vƒŒƒCƒ„[’PˆÊ‚Ì‚½‚ßANPC’PˆÊ‚̃^ƒCƒ}[‚ðì‚è‚Ü‚µ‚½B - ‚±‚¿‚ç‚ÍAaddtimer‚ȂǂƂ͈ႢAOnTimerXXX‚Æ‚¢‚¤•—‚Ƀ‰ƒxƒ‹‚ðŽw’肵‚Ü‚·B - Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB - - (map/) - map.h - struct npc_data C³Astruct npc_timerevent_list’ljÁ - npc.c / npc.h - npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(), - npc_gettimerevent_tick(),npc_settimerevent_tick()’ljÁ - npc_parse_script()C³ - script.c - buildin_*npctimer()’ljÁ‚È‚Ç - (conf/sample/) - npc_test_npctimer.txt - NPCƒ^ƒCƒ}[Žg—pƒTƒ“ƒvƒ‹ - (doc/) - script_ref.txt - NPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ß/ŠÖ”’ljÁA’蔃‰ƒxƒ‹‚Ìà–¾C³ - -ESage‚̃A[ƒXƒXƒpƒCƒN‚ÌŠ“¾ðŒC³ - (db/) - skill_tree.txt - ƒA[ƒXƒXƒpƒCƒN‚ÌsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Éj - --------------------- -//0914 by p -E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úς݃ƒ‚ƒŠ‚ðŽQÆ‚µ‚Ä‚¢‚½–â‘è‚ɑΉž -Eƒƒ‚ƒŠ‚ð‰Šú‰»‚¹‚¸‚ÉŽg—p‚µ‚Ä‚¢‚½—̈æ‚ðA‰Šú‰»‚µ‚Ä‚©‚çŽg—p‚·‚é‚悤‚É•ÏX - (common/) - db.c - grfio.c - socket.c - timer.c - (char/) - char.c - int_guild.c - int_party.c - int_pet.c - int_storage.c - inter.c - (login/) - login.c - (map/) - ‚Ù‚Æ‚ñ‚Ç.c - --------------------- -//0913 by Kalen - -EGVGScript‚ÌC³ -@911‘Ήž -@ƒtƒ‰ƒO‚©‚çƒAƒWƒg‚Ö–ß‚é‹@”\’ljÁ -@–ß‚é‚Æ‚«‚É•·‚©‚ê‚é‚悤‚ÉC³(TESTscript) -@Ԏ擾Žž::OnRecvCastleXXX‚ð”­“®‚·‚é‚悤‚ÉC³ - (conf/gvg/) - ‚Ù‚Æ‚ñ‚Ç.txt - --------------------- -//0912 by (“Ê) -E‚±‚̃tƒ@ƒCƒ‹‚Ì•¶Žš‰»‚¯‚ÆTEST_prtg_cas01_AbraiJ‚Ì•¶Žš‰»‚¯‚ðC³ -EƒoƒO•ñƒXƒŒ‚Ì>>19-20‚ðŽæ‚èž‚Ý -EÌ‚â‚Á‚¿‚Ü‚Á‚½battle_athena.conf‚̌뎚‚Ì’ù³ - - (common) - mmo.h - #define MAX_STAR 3‚ÉC³ - (conf) - battle_athena.conf - (conf/gvg/) - TEST_prtg_cas01_AbraiJ.txt - (map) - atcommand.c - get_atcommandinfo_byname() C³ - - --------------------- -//0911 by Michael_Huang - - Mounting Emblem of the Flag-NPC. - (Added Script Command: FlagEmblem). - -(conf/gvg/) - TEST_prtg_cas01_AbraiJ.txt (FlagEmblem Test) - - (map/) - map.h struct npc_data{} - clif.c clif_npc0078() - script.c buildin_flagemblem() - --------------------- -//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‚µ‚Ä‚¢‚Ü‚·) - (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‚Ì‚Ý‚Ö) - (map/) - pc.c pc_calc_skilltree() - atcommand.c atcommand_model() - - --------------------- -//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Æ - - (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Š· - npc_town_guide.txt - “ä–½—ßscriptlabel‚ðƒRƒƒ“ƒg‰» - npc_event_momotaro.txt - npc_job_swordman.txt - npc_job_magician.txt - ';'•t‚¯–Y‚êC³ - (conf/gvg/) - ev_agit_aldeg.txt - @GID4‚ð@GIDa4‚É’uŠ· - ev_agit_gefg.txt - ev_agit_payg.txt - Annouce‚ÉFŽw’è‚Æ';'‚Ì•t‚¯–Y‚ê‚ðK« - - -EAthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚ÝA‚»‚Ì‘¼C³ - ˆÀ’肵‚Ä‚¢‚éƒf[ƒ^‚©‚Ç‚¤‚©‚í‚©‚è‚Ü‚¹‚ñ‚ªB - - (db/) - item_db.txt/mob_db.txt/mob_skill_db.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý - mob_skill_db.txt.orig - ˆÈ‘O‚̃f[ƒ^iƒRƒƒ“ƒg•”•ª‚È‚Ç‚ÌŽQl‚Éj - (conf/) - water_height.txt/mapflag.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý - map_athena.conf - npc_monster3*.txt‚ðíœ - ’ljÁƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) - (conf/mob/) - npc_monster.txt - AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý - --------------------- -//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³ - (conf/npc/) - npc_town_guide.txt - ‚Ss–Ú‚Í‚¢‚ç‚È‚¢‚悤‚Ȃ̂ŃGƒ‰[‚ªo‚È‚¢‚悤‚ɃRƒƒ“ƒg‰» - npc_event_hat.txt - ƒRƒ‚ƒh‚̉¼–ÊEl‚ƃtƒFƒCƒˆƒ“‚Ì”N (by ID:dS8kRnc) - (conf/sample/) - npc_card_remover.txt - @menu‚ðŽg‚Á‚Ä’Z‚­‚µ‚½••¶Í­‚µC³ - -E‚»‚Ì‘¼ - (db/) - skill_tree.txt - 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 - - (common/) - mmo.h - (map/) - atcommand.h - atcommand.c - clif.h - clif.c - --------------------- -//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 - (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 - (map/) - atcommand.c - --------------------- -//0905 by ŠÇ—l - -EƒT[ƒo[snapshot -E‘OƒXƒŒ‚̃tƒ@ƒCƒ‹Žæ‚è–Y‚ꂽl‚ª‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚Ì‚Å - --------------------- -//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 - - (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 - (conf/gvg/) - prtg_cas01.txt - ƒMƒ‹ƒhê‘®ƒJƒvƒ‰C³ - ev_agit_prtg.txt - ‰Šú‰»ˆ—C³iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚Ýj - TEST_prtg_cas01_AbraiJ.txt - ƒMƒ‹ƒhê‘®ƒJƒvƒ‰ŒÙ—p/é”jŠüC³ - -ENPC‚ÌC³ - (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 - - (login/) - login.c - “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ - (char/) - int_guild.c/int_party.c - “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ - --------------------- -//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 - - (map/) - script.c - parse_simpleexpr()C³ - (conf/warp/) - npc_warp.txt/npc_warp25.txt/npc_warp30.txt - •Ï”–¼l0‚ð@warp0‚ÉC³ - (conf/npc/) - npc_event_hat.txt - •Ï”–¼l15‚ð@menu‚ÉC³ - (doc/) - script_ref.txt - ”z—ñ•Ï”‚Ìà–¾’ljÁ - •Ï”‚̃vƒŒƒtƒBƒbƒNƒX'l'Ainput–½—ß‚Ìl14Amenu–½—ß‚Ìl15‚Ì - à–¾‚ðC³ - --------------------- -//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 - - (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³‚È‚Ç - map.c - map_readmap(),map_readallmap()C³ - --------------------- -//0901 by ‚Ò‚´‚Ü‚ñ - -E˜I“XƒoƒO‚ÌC³ - - (map/) - pc.c - pc_cartitem_amount() ’ljÁB - vending.c - vending_openvending() C³B - clif.c - clif_parse_NpcClicked() C³B - pc.h C³B - --------------------- -//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 - (map/) - mob.c - mob_damage()Amobskill_use() C³B - mob_skillid2skillidx() ’ljÁB - skill.c - skill_readdb()Askill_abra_dataset() C³B - skill_castend_nodamage_id()Askill_castend_pos2() C³B - script.c - buildin_warp() C³B - - skill.h C³B - map.h C³B - (db/) - abra_db.txt ’ljÁB - skill_db.txt C³B - --------------------- -//0899 by ŒÓ’±—– - -EŽæ‚芪‚«MOB‚̈—C³ - EŽæ‚芪‚«¢Š«‚ŃRƒA‚ð“f‚­ƒoƒOC³ - EŽå‚ª•Êƒ}ƒbƒv‚É”ò‚Ô‚ÆAƒeƒŒƒ|[ƒg‚Å’Ç‚¢‚©‚¯‚é‚悤‚ÉC³ - EŽæ‚芪‚«ˆ—‚ð‚æ‚èŒy‚­•ÏX - - (map/) - mob.c - mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() - ‚É–¼‘O‚ð•Ï‚¦‚Ĉ—C³B - mob_summonslave()C³ - --------------------- -//0898 by ŒÓ’±—– - -Eeathena‚©‚çCardRemoverNPC‚ÌŽæ‚èž‚Ý - NPCƒf[ƒ^‚à“ú–{Œê–󂵂Ă܂·‚ªA‚©‚È‚è“K“–‚Å‚·B - - (map/) - script.c - buildin_getequipcardcnt(),buildin_successremovecards() - buildin_failedremovecards()’ljÁ - (conf/sample/) - npc_card_remover.txt - ƒJ[ƒhŽæ‚èŠO‚µNPC‚Ì“ú–{Œê–ó - ƒvƒƒ“ƒeƒ‰‚̸˜BŠ‚Ì’†‚̶‰º‚Ì•”‰®‚É‚¢‚Ü‚· - -Eƒ|[ƒ^ƒ‹‚ŕʃ}ƒbƒv‚É”ò‚΂µ‚½MOB‚ª‚»‚̃}ƒbƒv‚É•¦‚«’¼‚·ƒoƒOC³ - (map/) - map.h - struct mob_data‚Émƒƒ“ƒo’ljÁ - mob.c - mob_spawn(),mob_once_spawn()C³ - npc.c - npc_parse_mob()C³ - - --------------------- -//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³ - skill.c - skill_status_change_start()Askill_castend_nodamage_id() C³B - skill_abra_dataset() C³B - battle.c - battle_get_def()Abattle_get_atk2() C³B - battle_get_vit()Abattle_get_int() C³B - (db/) - const.txt C³B - skill_db.txt C³B - cast_db.txt C³B - --------------------- -//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 - -Estr_data‚ªÄŠ„‚è“–‚Ä‚³‚ê‚é‚ƃ}ƒbƒv•Ï”‚ª³í‚ÉŽg—p‚Å‚«‚È‚¢ƒoƒOC³ - Estrdb‚©‚çnumdb‚É‚µ‚ÄA•Ï”–¼‚Ístr_buf‚É“ü‚ê‚é‚悤‚ÉB - -Emap_athena.conf‚Ìdelnpc,npc:clear‚ª³‚µ‚­“­‚©‚È‚¢ƒoƒOC³ - - (map/) - npc.c - npc_delsrcfile(),npc_clearsrcfile()C³ - script.c / script.h - ƒ}ƒbƒv•Ï”Œn‚©‚È‚èC³ - map.c - map_read_config()C³‚È‚Ç - (conf/) - map_athena.conf - mapreg_txt’ljÁ - (doc/) - conf_ref.txt - mapreg_txt,help_txt,motd_txt’ljÁ - script_ref.txt - •¶Žš—ñŒ^•Ï”‚Ìà–¾C³ - --------------------- -//0895 by Selena - -Emapflag‚Énozenypenalty‚ð’ljÁB -@GVG‚âŠX’†‚̃eƒ‚È‚Ç‚ÅŽ€–S‚µ‚½Û‚ÉAZenyƒyƒiƒ‹ƒeƒB[”­¶‚ðŠO‚·—pB - - (map/) - pc.c - pc_setrestartvalue() C³ - script.c - buildin_setmapflag()Abuildin_removemapflag() C³ - npc.c - npc_parse_mapflag() C³ - map.h - map_data() C³ - (db/) - const.txt C³B - --------------------- -//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 - (db/) - skill_db.txt C³B - --------------------- -//0893 by ŒÓ’±—– - -E‘¼ƒ}ƒbƒv‚©‚çƒ|[ƒ^ƒ‹‚Ìã‚Ƀ[ƒv‚µ‚Ä‚«‚½PC‚ªƒ[ƒv‚µ‚È‚¢–â‘è‚ðC³ -Eƒ`ƒƒƒbƒg’†‚ÌPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É -EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É - MOB‚̃[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚é‚ÆAƒeƒ‚ªŠÈ’P‚É‚Å‚«‚é‚Ì‚Å’ˆÓB - -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³ - (map/) - mob.c/mob.h - mob_warp()‚̈ø”•ÏX‚ÆC³ - battle.c/battle.h - mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ - battle_configŠÖ˜A - map.c - map_readallmap(),map_readmap()C³ - pc.c - pc_setpos()C³ - skill.c - mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ - skill_unit_onplace()C³ - (conf/) - battle_athena.conf - chat_warpportal,mob_warpportal‚̒ljÁ - (doc/) - conf_ref.txt - chat_warpportal,mob_warpportal‚̒ljÁ - --------------------- -//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‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·. - -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 - -Elogin_athena.conf‚Ìallow‚Ædeny‚ðƒNƒŠƒA‚Å‚«‚é‚悤‚É‚“‚½ - Eallow‚¨‚æ‚Ñdeny–½—ß‚Åclear‚ðŽw’è‚·‚é‚ƈȑO‚̃zƒXƒgî•ñ‚ð‘S휂µ‚Ü‚·. - - (conf/) - ŠeŽíconfƒtƒ@ƒCƒ‹‚ÌÅŒã‚Éimport–½—ߒljÁ - (conf/import) - *.txt - ƒCƒ“ƒ|[ƒg‚³‚ê‚éƒtƒ@ƒCƒ‹B‚±‚ê‚ç‚ÉŽ©•ª—p‚ÌÝ’è‚ð‘‚­‚Æ‚æ‚¢B - (login/) - login.c - login_read_config()C³ - (char/) - char.c/inter.c - char_read_config(),inter_read_config()C³ - (map/) - map.c - map_read_config(),map_addmap()C³Amap_delmap()’ljÁ - npc.c - npc_addsrcfile()C³,npc_delsrcfile(),npc_clearsrcfile()’ljÁ - battle.c/atcommand.c/script.c - battle_read_config(),atcommand_read_config(), - msg_read_config(),script_read_config()C³ - (doc/) - conf_ref.txt - C³ - --------------------- -//0891 by (“Ê) - -EuƒXƒLƒ‹Žg—p‚ÌŒã‚ÍA‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢v‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B - E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘´‚̇U>>5‚³‚ñ‚̃R[ƒh‚ðƒpƒNƒŠ‚Ü‚µ‚½B - (doc/) - conf_ref.txt C³B - (conf/) - battle_athena.conf C³B - (map/) - battle.h C³B - battle.c - battle_config_read() C³B - clif.c - clif_skill_fail() C³B - --------------------- -//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 - (doc/) - conf_ref.txt C³B - script_ref.txt C³B - (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B - help.txt C³B - (conf/sample/) - gstorage_test.txt ’ljÁB - (char/) - makefile C³B - int_storage.h C³B - int_storage.c - inter_storage_delete()Ainter_guild_storage_delete() ’ljÁB - int_guild.c - guild_check_empty()Amapif_parse_BreakGuild() C³B - (map/) - makefile C³B - battle.h C³B - battle.c - battle_config_read() C³B - guild.c - guild_broken() C³B - storage.h C³B - storage.c - storage_guild_storageopen() C³B - storage_delete()Aguild_storage_delete() ’ljÁB - script.c - buildin_guildstorage() ‚ð buildin_guildopenstorage()‚É•ÏXB - intif.c - intif_parse_LoadGuildStorage() C³B - mob.c - mob_summonslave()Amob_damage()Amob_delete() C³B - mob_catch_delete()Amob_readdb() C³B - skill.c - skill_castend_nodamage_id()Askill_status_change_start() C³B - clif.c - clif_parse_ActionRequest() C³B - atcommand.h C³B - atcommand.c - atcommand() C³B - --------------------- -//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 - - (map/) - map.h - struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’ljÁ - script.c - buildin_set(),get_val(),buildin_input(),op_2num()‚È‚ÇC³ - op_2str(),op_2()’ljÁ - clif.c / clif.h - 01d5ƒpƒPƒbƒg’·C³ - clif_parse_NpcStringInput(),clif_scriptinputstr()’ljÁ - pc.c / pc.h - pc_readregstr(),pc_setregstr()’ljÁ - (doc/) - script_ref.txt - ‰‰ŽZŽq‚Ìà–¾’ljÁA•Ï”‚Ìà–¾C³Ainput,menuC³ - (conf/sample/) - npc_test_str.txt - •¶Žš—ñ•Ï”‚ðŽg—p‚µ‚½ƒXƒNƒŠƒvƒg‚Ì—áB - •¶Žš—ñ‚Ì‘ã“üAŒ‹‡A”äŠrA“ü—͂Ȃǂ̃eƒXƒg‚ðs‚¤‚à‚ÌB - --------------------- -//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 - (conf/) - inter_athena.conf C³B - help.txt C³B - (common/) - mmo.h C³B - (char/) - makefile C³B - int_storage.h C³B - 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 - int_party.c - inter_party_init() C³B - int_guild.h C³B - int_guild.c - inter_guild_init() C³B - inter_guild_search() ’ljÁB - int_pet.c - inter_pet_init() C³B - inter.c - inter_init()Ainter_save()Ainter_config_read() C³B - (map/) - makefile C³B - map.h C³B - map.c - map_quit()Ado_init() C³B - pc.c - pc_setpos() C³B - storage.h C³B - 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 - 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 - 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 - guild.c - guild_broken() C³B - script.c - buildin_openstorage()Abuildin_guildstorage() C³B - skill.c - skill_castend_nodamage_id() C³B - mob.c - mob_summonslave()Amob_damage() C³B - atcommand.c - atkillmonster_sub()Aatcommand() C³B - --------------------- -//0887 by Ž‚Žqo^.^o - -E(db/) - skill_tree.txt C³ - --------------------- -//0886 by ‚Ò‚´‚Ü‚ñ - -EƒT[ƒo[snapshot -Eƒtƒ@ƒCƒ‹’²® - --------------------- -//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 - - (char/) - int_storage.c - mapif_load_storage() C³B - mapif_parse_SaveStorage() C³B - inter.c - inter_send_packet_length[] C³B - inter_recv_packet_length[] C³B - (map/) - atcommand.c - @alive,@raise,@raisemap C³B - intif.c - packet_len_table[] C³B - intif_request_storage() C³B - intif_send_storage() C³B - intif_parse_LoadStorage() C³B - - map.h - map_session_data state‚Éstorage_flag ’ljÁB - script.c - buildin_areawarp_sub() C³B - buildin_openstorage() C³B - buildin_guildstorage() ’ljÁB - skill.c - skill_castend_nodamage_id() C³B - storage.c - account2storage() C³B - storage_storageopen() C³B - storage_storage_save() C³B - --------------------- -//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 - (common/) - mmo.h C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - map.c - do_init()Ado_final() C³B - script.c - buildin_openbank() íœB - buildin_failedrefitem() C³B - storage.h C³B - storage.c - do_init_bank()Ado_final_bank()Aaccount2bank() íœB - storage_bank()Astorage_readbank() íœB - skill.c - skill_castend_nodamage_id()Askill_attack() C³B - battle.h C³B - battle.c - battle_calc_pet_weapon_attack()Abattle_config_read() C³B - pc.c - pc_setrestartvalue() C³B - clif.c - clif_skill_nodamage()Aclif_refine() C³B - itemdb.c - itemdb_isequip3() C³B - atcommand.c - atcommand() C³B - --------------------- -//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]) - (conf/warp/) - npc_warp.txt - npc_warp30.txt - npc_warp_job.txt - (conf/npc/) - npc_event_hat.txt(V‹K) - npc_job_2nd.txt - npc_job_alchemist.txt - npc_town_aldebaran.txt - npc_town_comodo.txt - npc_town_gonryun.txt - npc_town_guide.txt - npc_town_yuno.txt - npc_town_lutie.txt - --------------------- -//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 - - (common/) - mmo.h - ACCOUNT_REG_NUM‚ð16‚ÉAACCOUNT_REG_NUM2’ljÁ - struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’ljÁ - (login/) - login.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ - (char/) - char.c - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ - inter.c - ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB - inter_accreg*()’ljÁAaccreg_db’ljÁ‚È‚ÇB - (map/) - chrif.c/chrif.h - account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ - 0881‚ł̃oƒO‚ðC³ - 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 - script.c - buildin_set(),buildin_get_val(),buildin_input()C³ - (doc/) - inter_server_packet.txt - ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”ŠÖŒW - conf_ref.txt - accreg_txt’ljÁ - --------------------- -//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 - - (common/) - mmo.h - GLOBAL_REG_NUM‚ð96‚ÉAACCOUNT_REG_NUM‚ð’ljÁ - struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’ljÁ - (login/) - login.c - ƒpƒPƒbƒg2728ˆ—’ljÁ - (char/) - char.c - ƒpƒPƒbƒg2729,2b10ˆ—’ljÁ - (map/) - chrif.c - chrif_saveaccountreg(),chrif_accountreg() - (ƒpƒPƒbƒg2b10,2b11ˆ—)’ljÁB - pc.c/pc.h - pc_readaccountreg(),pc_setaccountreg()’ljÁ - script.c - buildin_set(),buildin_get_val(),buildin_input()C³ - (conf/sample/) - bank_test.txt - ƒAƒJƒEƒ“ƒg•Ï”Žg—p”Å‚Ì‹âsƒXƒNƒŠƒvƒg - --------------------- -//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 - (conf/) - battle_athane.conf C³B - (doc/) - conf_ref.txt C³B - db_ref.txt C³B - (db/) - skill_db.txt C³B - skill_require_db.txt C³B - (map/) - map.h C³B - skill.h C³B - 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 - mob.c - mobskill_use_id()Amob_changestate() C³B - pc.c - pc_itemheal()Apc_percentheal()Apc_calcstatus() C³B - battle.h C³B - 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 - clif.c - clif_skill_fail() C³B - 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 - - (common/) - socket.c /socket.h - WFIFOSET()‚ðƒ}ƒNƒ‚©‚çŠÖ”‚É•ÏX - realloc_fifo()’ljÁ - -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 - - (common/) - mmo.h - FIFOSIZE_SERVERLINKƒ}ƒNƒ’ljÁB - (login/) - login.c - 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É - (char/) - char.c - 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É - check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É - (map/) - chrif.c - 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 - - (common/) - mmo.h - struct bank ’ljÁB - (map/) - map.c - do_final(),do_init() C³B - script.c - buildin_openbank() ’ljÁB - storage.c - storage.h - ƒOƒ[ƒoƒ‹•Ï”’ljÁB - do_init_bank(),do_final_bank(),account2bank() ’ljÁB - storage_bank(),storage_readbank() ’ljÁB - --------------------- -//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/) - login.c - check_ip()C³,check_ipmask()’ljÁ - (map/) - battle.c/battle.h - battle_config‚Égm_allequip,gm_skilluncond’ljÁ - battle_config_read()C³X - skill.c - skill_check_conditio()C³ - pc.c - pc_isequp()C³ - (doc/) - conf_ref.txt - allow•ÏXAgm_all_equipmentAgm_skill_unconditional’ljÁ - --------------------- -//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 - (db/) - skill_db.txt C³B - (map/) - mob.c - mob_catch_delete()Amob_stop_walking() C³B - storage.c - storage_additem() C³B - pc.c - pc_damage()Apc_stop_walking() C³B - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B - battle.c - battle_calc_magic_attack() C³B - skill.c - skill_check_condition() C³B - atcommand.c C³B - --------------------- -//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³ - (char/) - char.c/char.h - party_share_levelŠÖ˜A - (inter/) - inter.c/inter.h - party_share_level / inter_log_file ŠÖ˜A - ƒƒOo—Í—p‚Éinter_log()’ljÁ - 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‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ - - (tool/cgi/) - serverstatus.cgi - ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg - 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 - (conf/) - help.txt C³B - atcommand_athena.conf C³B - battle_athena.conf C³B - char_athena.conf C³B - (db/) - const.txt C³B - item_db.txt C³B - (doc/) - item_bonus.txt C³B - script_ref.txt C³B - conf_ref.txt C³B - (map/) - map.h C³B - map.c - map_quit() C³B - skill.h C³B - 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 - pc.c - pc_calcstatus()Apc_bonus2()Apc_equipitem() C³B - pc_unequipitem()Apc_damage() C³B - battle.h C³B - 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 - clif.c - clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() C³B - clif_skill_damage2() C³B - itemdb.h C³B - itemdb.c - itemdb_isequip3() ’ljÁB - mob.h C³B - mob.c - mob_delay_item_drop()Amob_damage()Amob_changestate() C³B - mob_class_change()Amob_delete()Amob_catch_delete() C³B - script.c - buildin_getitem() C³B - buildin_killmonsterall_sub()Abuildin_killmonsterall() ’ljÁB - atcommand.h C³B - atcommand.c - atcommand() C³B - atkillmonster_sub() ’ljÁB - --------------------- -//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³. - (doc/) - item_bonus.txt C³. - (map/) - map.h C³. - skill.c - skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() C³. - pc.c - pc_calcstatus(), pc_bonus2(), pc_gainexp() C³. - battle.c - battle_weapon_attack() C³. - --------------------- -//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 - (conf/) - char_athena.conf C³B - login_athena.conf C³B - (doc/) - conf_ref.txt C³B - (login/) - login.c - parse_login()Alogin_config_read()Alogin_log() C³B - (char/) - char.h C³B - 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 - (map/) - map.h C³B - 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 - pc.c - pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() C³B - storage.c - storage_additem() C³B - battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B - 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 - script.c - buildin_produce() C³B - buildin_getitem2() ’ljÁB - atcommand.c - atcommand() C³B - --------------------- -//0870 by shuto - -Emapflag‚ÌUéíMAP‚Énomemo’ljÁ -EƒMƒ‹ƒh•ó” ‚ÅA•ó” oŒ»‚Æ“¯Žž‚ÉMAPŽI‚ª—Ž‚¿‚é–â‘èC³(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 - (conf/) - char_athena.conf C³B - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (char/) - char.h C³B - char.c - char_config_read() C³B - int_party.c - party_check_exp_share() C³B - (map/) - map.h C³B - 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 - pc.c - pc_calcstatus() C³B - mob.c - mobskill_castend_pos() C³B - battle.h - battle.c - battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B - battle_config_read() C³B - pet.c - pet_data_init() C³B - --------------------- -//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 - (doc/) - db_ref.txt C³B - (db/) - cast_db.txt C³B - skill_db.txt C³B - (map/) - skill.h C³B - 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 - mob.c - mobskill_use_id()Amob_spawn()Amob_attack() C³B - 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 - clif.c - clif_damage() C³B - pet.c - pet_attack() C³B - pc.c - pc_attack_timer()Apc_authok() C³B - pc_spirit_heal()Apc_natural_heal_sub() C³B - --------------------- -//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 - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - client_packet.txt C³B - (map/) - battle.h C³B - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_config_read() C³B - 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 - pc.c - pc_attack_timer() C³B - skill.c - skill_castend_nodamage_id()Askill_additional_effect() C³B - skill_status_change_start() C³B - mob.h C³B - mob.c - mobskill_castend_id()Amob_getfriendstatus_sub() C³B - mob_readdb_mobavail() C³B - --------------------- -//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 - - (map/) - pc.c - pc_makesavestatus()Apc_calc_skilltree() C³B - pc_allskillup()Apc_calc_skillpoint() C³B - pc_resetskill()Apc_authok() C³B - skill.c - skill_attack() C³B - map.h C³B - (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt C³B - motd.txt C³B - mapflag.txt C³B - (db/) - mob_db.txt C³B - --------------------- -//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()’ljÁB - @=ƒMƒ‹ƒhID - @ŠY“–ƒMƒ‹ƒh‚̃}ƒXƒ^[‚ÌcharID‚ð•Ô‚µ‚Ü‚·B - - (map/) - guild.c - guild_mapname2gc() ’ljÁB - battle.c - battle_calc_damage() C³B - script.c - buildin_getcharid() C³B - buildin_getguildmasterid() ’ljÁB - ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾‚̈ꕔ‚ðC³A’ljÁB - guild.h C³B - --------------------- -//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³ - - (char/) - inter.c - wisŠÖŒW‘å••ÏX - (map/) - intif.c - wisŠÖŒW‚ÌC³BŽå‚ɃpƒPƒbƒgˆ—B - (doc/) - inter_server_packet.txt - ƒpƒPƒbƒg3002,3801‚ð•ÏX - --------------------- -//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) - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - mob_skill_db.txt C³B - (map/) - mob.c - mobskill_use_id()Amobskill_use()Amobskill_castend_id() C³B - pc.c - pc_skill()Apc_attack_timer() C³B - skill.c - skill_castend_damage_id() C³B - battle.h C³B - battle.c - battle_weapon_attack()Abattle_config_read() C³B - --------------------- -//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 - - (map/) - mob.c / mob.h - mob_getfriend*()’ljÁAmobskill_use()C³‚È‚Ç - (db/) - mob_skill_db.txt - ʼn‚Ìà–¾‚Ì‚ÝC³Bƒf[ƒ^‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB - --------------------- -//0861 by ‚¢‚Ç - -EƒT[ƒo[snapshot - --------------------- -//0860 by J - -EŽ€_‚³‚ñ‚̎艺¢Š«‚ÌC³‚ɇ‚킹‚ÄMOBƒXƒLƒ‹DB‚ðC³ -(/conf) - mob_skill_db.txt C³B - --------------------- -//0859 by Ž‚Žqo^.^o -Alchemist warp C³(AegisŽQl) -(/conf) - (/warp) - npc_warp_job.txt C³ - --------------------- -//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 - (db/) - skill_db.txt C³B - mob_skill_db.txt C³B - (map/) - skill.c - skill_castend_damage_id()Askill_castend_nodamage_id() C³B - map.h C³B - mob.h C³B - mob.c - mob_readskilldb()Amob_summonslave()Amob_class_change() C³B - --------------------- -//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 - (/conf) - mob_skill_db.txt - --------------------- -//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‚Ä‚­‚é‚©‚à... - (conf/) - battle_athena.conf C³B - mapflag.txt C³B(•’ʂ̃_ƒ“ƒWƒ‡ƒ“‚ªƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚¸‚ª‚È‚¢‚Ì‚Å) - (conf/npc/) - npc_town_kafra.txt C³B - (db/) - skill_db.txt C³B - (doc/) - conf_ref.txt C³B - script_ref.txt C³B - (map/) - pc.c - pc_modifybuyvalue()Apc_modifysellvalue() C³B - 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 - skill.c - skill_unitsetting()Askill_castend_damage_id() C³B - skill_castend_nodamage_id() C³B - mob.c - mob_attack() C³B - pet.c - pet_attack() C³B - clif.c - mob_class_change() C³B - --------------------- -//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 - (/map) - clif.c - mob_class_change() C³B - --------------------- -//0854 by Kalen - -E•s‘«‚µ‚Ä‚¢‚½ˆêŽŸE“]EƒNƒGƒXƒg’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤WarpAMobC³) - (/conf) - (/npc) - npc_job_archer.txt - npc_job_swordman.txt - npc_job_thief.txt(‘䎌C³A“_”ˆ—•ÏX) - npc_job_magician.txt - (/warp) - npc_warp25.txt(ˆê•”ˆÚ“®) - npc_warp.txt(ˆê•”ˆÚ“®) - npc_warp_job.txt(VÝ) - (/mob) - npc_mob_job.txt -E—Õ‚èQuest’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤NPCC³BƒAƒ}ƒcs‚«‘D‚Å—¿‹à‚ðŽæ‚ç‚È‚©‚Á‚½–â‘èC³ - (/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 - (db/) - skill_db.txt C³B - (doc/) - script_ref.txt ’ljÁB - (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 - skill.c - castend_damage_id()Acastend_nodamage_id()Askill_use_pos() C³B - clif.c - clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() C³B - mob.c - mobskill_castend_id()Amobskill_castend_pos() C³B - mobskill_use_id()Amobskill_use_pos() C³B - --------------------- -//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 - (map/) - npc.c - npc_parse_mapflag() C³B - (conf/) - mapflag.txt C³B - npc/npc_pvp.txt C³B - --------------------- -//0851 by ŒÓ’±—– - -EƒƒOƒCƒ“Žž‚̈Ɖ»key‚ªí‚É“¯‚¶‚Æ‚¢‚¤‘å‚«‚È–â‘肪‚ ‚Á‚½‚Ì‚ÅC³ -EƒƒOƒCƒ“ŠÇ—ŽÒƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚̈Ɖ»‚ɑΉž - (login/) - login.c - login_session_dataì¬AˆÃ†‰»key‚ðƒNƒ‰ƒCƒAƒ“ƒg‚²‚Æ‚Éì¬‚È‚Ç - (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 - (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[ƒ‹–³Ž‹‚©‚à) - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - cast_db.txt C³B - skill_db.txt C³B - (map/) - mob.c - mob_damage() C³B - clif.h C³B - clif.c - clif_skill_estimation()Aclif_damage()Aclif_skill_damage() C³B - clif_skill_damage2()Aclif_pet_performance() C³B - pet.c - pet_performance()Apet_target_check()Apet_hungry() C³B - skill.h C³B - 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 - 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 - --------------------- -//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 - --------------------- -//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) - (map/) - map.h C³B - mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’ljÁB - mob.h C³B - 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 - skill.c - skill_castend_damage_id() C³B - skill_castend_pos2() C³B - --------------------- -//0847 by Ž€_ - -E˜I“XƒoƒOC³B - (map/) - clif.c - clif_vendinglist()Aclif_openvending() C³B - vending.c - vending_openvending() C³B - skill.c - skill_castend_nodamage_id() C³B - --------------------- -//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 - (map/) - battle.c - battle_calc_pet_weapon_attack()Abattle_weapon_attack() C³B - skill.c - skill_attack()Askill_castend_damage_id() C³B - pc.c - pc_allskillup() C³B - clif.h C³B - clif.c - clif_openvending()Ado_init_clif() C³B - clif_clearchar_delay()Aclif_clearchar_delay_sub() ’ljÁB - mob.c - mob_damage() C³B - --------------------- -//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 - (map/) - clif.c - clif_pet0078()Aclif_pet007b()Aclif_spawnpet()C³B - battle.hC³B - battle.c - battle_config_read()Abattle_calc_mob_weapon_attack()C³B - --------------------- -//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 - (map/) - clif.c - clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()C³B - mob.hC³B - 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 - --------------------- -//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 - (db/) - item_db.txt C³B - skill_db.txt C³B - cast_db.txt C³B - const.txt C³B - (doc/) - item_bonus.txt C³B - (map/) - map.h C³B - 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 - pc.c - pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() C³B - pc_unequipitem()Apc_checkallowskill() C³B - 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 - 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 - --------------------- -//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 - (doc/) - item_bonus.txt C³B - (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 - 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 - mob.c - mobskill_castend_id() C³B - pc.c - pc_calcstatus()Apc_bonus2()Apc_attack_timer() C³B - clif.c - clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() C³B - clif_parse_ActionRequest() C³B - --------------------- -//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Á) - conf/map_athena.conf - --------------------- -//0839 by shuto - -EƒRƒ“ƒƒ“NPC’ljÁ(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚ª”²‚¯‚Ä‚½) - --------------------- -//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 - (db/) - skill_db.txt C³B - (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 - battle.c - battle_calc_magic_attack() C³B - --------------------- -//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 - (db/) - skill_db.txt C³B - (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 - battle.c - battle_calc_magic_attack()Abattle_weapon_attack() C³B - --------------------- -//0836 by Žß‘¸ - -Eƒ‚ƒ“ƒXƒ^[‚ÌŽæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚𒆃{ƒXˆÈŠOŠ®‘SC³B - (db/) - mob_skill_db.txt C³B - --------------------- -//0835 by (“Ê) - -E”’nŽæ‚è‚Ń|[ƒY‚ð‚Æ‚é‚悤‚É‚µ‚½B -(ƒ|[ƒY‚¾‚¯‚È‚Ì‚ÅAŽÀÛ‚ÉUŒ‚‚ðŽó‚¯Ž~‚ß‚½‚è‚Í‚Å‚«‚Ü‚¹‚ñ) -clif_bladestop()‚ðŒÄ‚Ô‚±‚Æ‚Å”’nŽæ‚èó‘Ô‚ÌONAOFF‚̃pƒPƒbƒg‚ª‘—‚ê‚Ü‚·B - - (map/) - clif.h C³B - clif,c - clif_bladestop() ’ljÁ - skill.c - skill_castend_nodamage_id() C³B - --------------------- -//0834 by Žß‘¸ - -Eƒ‚ƒ“ƒXƒ^[Žæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚ª’Z‚·‚¬‚é‚Æ‚ÌŽ–‚ʼnž‹}ˆ’uB(¡‰ñ‚͉©‹à峂̂Ý) - (db/) - mob_skill_db.txt C³B - --------------------- -//0833 by (“Ê) - -Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ÌC³B -E‚‚¢‚Å‚Éitem_db‚ðXVB - - (doc/) - client_packet.txt - R 0189 XVB - (db/) - item_db.txt ÅV”Å‚ÖXVB - (map/) - pc.c - pc_memo() C³B - --------------------- -//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 - (db/) - skill_require_db.txt C³B - cast_db.txt C³B - (map/) - map.h C³B - path.c - calc_index()Apath_search() C³B - 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 - pc.c - pc_calcstatus()Apc_skill()Apc_allskillup() C³B - battle.c - battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() C³B - battle_weapon_attack() C³B - --------------------- -//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 - (doc/) - conf_ref.txt C³B - db_ref.txt C³B - item_bonus.txt C³B - (conf/) - battle_athana.conf C³B - (db/) - item_db.txt C³B - (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 - 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 - 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 - clif.c - clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() C³B - clif_skill_memo() C³B - clif_skill_teleportmessage() ’ljÁB - script.c - buildin_sc_start() C³B - atcommnad.c - atcommand() C³B - --------------------- -//0830 by huge - -EƒI[ƒgƒXƒyƒ‹‚ÅAŽ©•ª‚ÌK“¾‚µ‚Ă郌ƒxƒ‹‚æ‚è‚à‚‚¢ƒŒƒxƒ‹‚Å - –‚–@‚ª”­“®‚µ‚Ä‚¢‚½‚Å‚ ‚낤–â‘è‚ðC³B -EƒI[ƒgƒXƒyƒ‹‚Å‚àA‚¿‚á‚ñ‚ÆSP‚ªŒ¸‚é‚悤‚ÉC³(‚Ç–Y‚ê) - (map/) - battle.c - battle_weapon_attack() C³B - skill.c - skill_autospell() C³B - --------------------- -//0829 by Kalen - -Emob_dbC³ - Ž©ŽI—p‚Ì‚ÆŠÔˆá‚Á‚ÄUP‚µ‚Ä‚µ‚Ü‚Á‚½‚悤‚Å‚·B - –{—ˆ‚Ì‚à‚Ì‚É’¼‚µ‚Ü‚µ‚½B - --------------------- -//0828 by ¹ - -EƒT[ƒo‚ÌSnapshot -EMVPƒ{ƒXŒn‚©‚çƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚ª‘å—Ê‚Éo‚Ä‚¢‚½–â‘è‚ðC³B - (common/) - version.h C³B - (db/) - mob_db.txt C³B - --------------------- -//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 - (db/) - mob_db.txt C³B - mob_skill_db.txt C³B - --------------------- -//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 - (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 - (db/) - mob_db.txt C³B - --------------------- -//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 - (doc/) - conf_ref.txt C³B - db_ref.txt C³B - (conf/) - battle_athana.conf C³B - atcommnad_athena.conf C³B - (db/) - item_db.txt C³B - skill_db.txt C³B - (login/) - parse_fromchar() C³B - (map/) - map.h C³B - 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 - mob.c - mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() C³B - mob_stop_walking()Amob_walk()Amob_damage() C³B - pc.c - pc_calcstatus()Apc_checkskill()Apc_stop_walking() C³B - pc_walk()Apc_damage() C³B - npc.c - npc_touch_areanpc() C³B - pet.c - pet_stop_walking() C³B - script.c - buildin_killmonster()Abuildin_killmonster_sub() C³B - 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 - --------------------- -//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 ,"‚Æ‹Lq‚µ‚Ä -@ŠY“–eventname‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð휂µ‚Ü‚·‚ª -@eventname‚ÉAll‚Æ“ü‚ê‚é‚ÆŠY“–MAP‚Ì‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B - - (map/) - skill.c - skill_check_unit_range_sub()Askill_castend_nodamage_id() C³B - script.c - buildin_killmonster()Abuildin_killmonster_sub() C³B - (conf/npc/) - npc_event_tougijou.txt C³B - --------------------- -//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 - Œ´ˆö•ª‚©‚é•û‚¨Šè‚¢‚µ‚Ü‚·<(_ _)> - -Egon_test‚Ìmapflag’ljÁ - 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‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½« - --------------------- -//0822 by ‚Ò‚´‚Ü‚ñ - -E‰‰‘tƒXƒLƒ‹‚ł̕Ⳃðƒ_ƒ“ƒT[‚É‚à“K—pB -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOC³B -EKalen‚³‚ñ‚ÌMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚Ü‚Æ‚ß‚Æ‚«‚Ü‚µ‚½B - - (map/) - skill.c - skill_status_change_start()Askill_unit_onplace() C³B - battle.c - battle_get_critical()Abattle_get_hit() C³B - pc.c - pc_calcstatus() C³B - --------------------- -//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; - - (db/) - const.txt C³B - (map/) - battle.c - battle_weapon_attack() C³B - 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 - 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 - --------------------- -//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Á‚µ‚Ü‚µ‚½ - (map/) - map.h C³B - skill.c - skill_status_change_start()Askill_castend_nodamage_id() C³B - skill_castfix()Askill_delayfix() C³B - 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 - pc.c - pc_calcstatus() C³B - --------------------- -//0819 by Kalen - -EƒRƒ“ƒƒ“(NPCAWarp)C³ - conf/npc/npc_town_gonryun.txt(ˆÄ“àˆõ•â[) - conf/npc/npc_event_tougijou.txt - conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚È‚Ç) - -EMOBC³ - conf/mob/npc_monster30.txt(ˆê”½–Ø–È•s‘«’ljÁ) - conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’ljÁ) - -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•ª) - --------------------- -//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 - - (conf/) - msg_athena.conf C³B - (map/) - atcommand.c - atcommand() C³B - pc.c - pc_allskillup() C³B - skill.c - skill_castend_nodamage_id() C³B - skill_check_condition() C³B - --------------------- -//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 - - (map/) - battle.c - battle_damage() C³B - clif.c - clif_devotion() C³B - pc.c - pc_walk() C³B - skill.c - skill.h - skill_castend_nodamage_id() C³B - skill_devotion() skill_devotion2() C³B - skill_devotion3()skill_devotion_end() C³B - --------------------- -//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 - (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 - (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 - (common/) - socket.c - connect_client()Amake_listen_port()Amake_connection() C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - battle.h C³B - 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 - clif.c - clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() C³B - pc.c - pc_attack_timer()Apc_isUseitem()Apc_checkitem C³B - 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 - 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 - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - (db/) - skill_db.txt - (map/) - map.h C³B - script.c - buildin_itemskill() C³B - mob.c - mob_can_move()Amob_ai_sub_hard()Amob_damage() C³B - 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 - 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 - pc.c - pc_steal_item() C³B - clif.c - clif_parse_WalkToXY()Aclif_closevendingboard() C³B - --------------------- -//0813 by Kalen -EƒRƒ“ƒƒ“NPC’ljÁ - conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–¾ - conf/npc/npc_town_kafra.txt - conf/npc/npc_town_guide.txt - (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘« - -E‘SGvGMAP‚ÌMobƒf[ƒ^’ljÁ - conf/mob/npc_monster_gvg.txt - -ETESTmob‚©‚çƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“® - 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 - battle.c - battle_damage() C³B - map.h - map_session_data{} - struct square dev ’ljÁB - skill.h ‚Ìbrandish‚ðsquare‚ɉü–¼‚µA - (common/) mmo.h ‚Ɉړ® - --------------------- -//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 - - (map/) - skill.c - skill_frostjoke_scream() ’ljÁB - skill_additional_effect()Askill_timerskill() C³B - skill_castend_nodamage_id() C³B - pc.c - pc_isUseitem() C³B - script.c - buildin_getpartyname()Abuildin_getguildname() C³B - buildin_getguildmaster() C³B - (db/) - cast_db.txt C³B - (conf/gvg/) - ev_*.txtˆÈŠO‚Ìtxt‘S‚Ä‚ðC³B - --------------------- -//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 - (common/) - version.h C³B - (login/) - login.c - parse_login() C³B - parse_fromchar() C³B - (char/) - int_guild.c - mapif_parse_GuildLeave() C³B - (map/) - itemdb.c - itemdb_read_itemnametable() C³B - atcommand.c - atcommand() C³B - skill.c - skill_unit_timer_sub() C³B - script.c - buildin_itemskill() C³B - mob.c - mob_damage() C³B - --------------------- -//0809 by Kalen - -E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgC³ -EƒAƒ}ƒcŽõŽi‰®C³ -EƒoƒOƒXƒŒ129‚Ì–â‘èC³H - - --------------------- -//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‚É‚È‚è‚Ü‚· - - (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 - (map/) - pc.c - pc_checkitem() C³B - script.c - buildin_maprespawnguildid_sub() C³B - buildin_maprespawnguildid() C³B - --------------------- -//0807 by Ž€_ - -E0805‚ÅFD_SETSIZE‚ðC³‚·‚銂ðŠÔˆá‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B56–¼Ž~‚܂肪Ž¡‚é‚ÆŒ¾‚¤•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñ‚ª... -Eˆê“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ì’·‚³‚ð32768bytes‚©‚ç65536bytes‚É•ÏXB - (common/) - mmo.h C³B - socket.h C³B - socket.c C³B - --------------------- -//0806 by Kalen - -EagitƒtƒHƒ‹ƒ_¨gvgƒtƒHƒ‹ƒ_‚ÖˆÚs - ”ˆÓŒ©‚ ‚é‚ÆŽv‚¢‚Ü‚·‚ªAjRO‚Å‚ÍUéí‚ðgvg‚ƌĂԂ±‚Æ‚ªˆê”Ê“I‚È‚Ì‚Å‚±‚¿‚ç‚É“‡‚µ‚Ü‚·B - conf/gvg/ - ###agitƒtƒHƒ‹ƒ_‚ð휂µ‚Ä‚­‚¾‚³‚¢###@(Please delete the "agit" folder.) - getmaster‘Ήž - -EƒAƒ}ƒc‚ÌŽõŽi‰®ƒoƒOC³‚Æ€–ڒljÁ(thx 114 - conf/npc/npc_town_amatsu.txt - -Emap_flagÄC³ - 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 - -Œã‘O‰ñ‘‚«–Y‚ê‚Ü‚µ‚½‚ªAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ªA‚¿‚å‚Á‚Æ•sˆÀ’è‚ȉ”\«‚ª‚ ‚è‚Ü‚·B -Œ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªAƒ‹[ƒv‚µ‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBˆê‰žƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚· - --------------------- -//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 - (conf/) - atcommand_athena.conf - battle_athena.conf - mapflag.txt - (db/) - castle_db.txt - (doc/) - conf_ref.txt - (common/) - mmo.h - (login/) - login.c - (char/) - inter.c - int_guild.c - (map/) - atcommand.h - atcommand.c - battle.h - battle.c - chrif.c - guild.h - guild.c - intif.h - intif.c - map.h - map.c - mob.c - npc.c - npc.h - script.c - skill.c - pc.c - makefile - --------------------- -//0804 by Žß‘¸ - -EƒAƒ‹ƒxƒ‹ƒ^‚Ì‚Ê‚¢‚®‚é‚݃Cƒxƒ“ƒg‚Å‚¤‚³‚¬‚Ì‚Ê‚¢‚®‚é‚Ý‚ð‚ ‚°‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ - - (conf/npc/) - npc_event_doll.txt C³B - --------------------- -//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) - - (conf/) - gvg/TEST_prtg_cas01_AbraiJ.txt C³B - agit/ev_agit_prtgJ.txt C³B - help.txt C³B - (map/) - int_guild.c - inter_guild_init() C³B - --------------------- -//0802 by Michael_Huang - - Added NPC Script - 'GetGuildMaster' Command. - (common/) - version.h - Mod_Version 0802 - (map/) - script.c - buildin_getguildmaster_sub() buildin_getguildmaster() - --------------------- -//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‚ɑΉž - --------------------- -//0800 by Michael_Huang - - Added Agit NPC Script & Command. - Fix FreeBSD GCC compatibility. - Attachment Agit Demo NPCs. - - (char/) - int_guild.c - mapif_guild_castle_dataload() mapif_guild_castle_datasave() - int mapif_parse_GuildCastleDataLoad() int mapif_parse_GuildCastleDataSave() - inter_guild_parse_frommap() inter_guildcastle_tostr() inter_guildcastle_fromstr() - inter.c - inter_send_packet_length[] inter_recv_packet_length[] - (common/) - mmo.h - GLOBAL_REG_NUM, struct global_reg {} - version.h - Mod_Version 0799. - (conf/) - atcommand_athena.conf - agitstart: 1,agitend: 1 - battle_athena.conf - agit_eliminate_time: 7000 - map_athena.conf - conf/agit/ev_agit_*.txt - (doc/) - conf_ref.txt - battle_athena.cnf - agitdb_ref.txt - (login/) - login.c - parse_login() - (map/) - atcommand.h - agitster, agitend - - atcommand.c - @agitstart, @agitend - battle.h - battle_config.agit_eliminate_time - battle.c - battle_config_read() - chrif.c - chrif_changedsex() chrif_connectack() - guild.h - guild_agit_start() guild_agit_end() guild_agit_break() - guild.c - guild_read_castledb() do_init_guild() - guild_agit_start() guild_agit_end() guild_agit_eliminate_timer() guild_agit_break() - intif.h - intif_guild_castle_dataload() intif_guild_castle_datasave() - intif.c - packet_len_table[] intif_guild_castle_dataload() intif_guild_castle_datasave() - intif_parse_GuildCastleDataLoad() intif_parse_GuildCastleDataSave() intif_parse() - map.h - agit_flag - map.c - agit_flag - npc.h - npc_event_doall() npc_event_do() - npc.c - npc_event_do_sub() npc_event_do() - script.c - buildin_maprespawnguildid() buildin_agitstart() buildin_agitend() - buildin_getcastlename() buildin_getcastledata() buildin_setcastledata() - skill.c - skill_unit_onplace() - skill_gangster_count() - --------------------- -//0799 by ‚Ò‚´‚Ü‚ñ - -EGvGŽÀ‘•‚ׂ̈Éinter-mapŠÔ‚Ì’ÊMŽd—l•ÏX -E0798‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[C³(byƒoƒO•ñƒXƒŒ82Ž) - (login/) - login.c - parse_login() C³B - (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 - guild.c - guild_read_castledb() C³B - - (char/) - inter.c - inter_send_packet_length[] C³B - 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 - (common/) - mmo.h C³B - version.h C³B - --------------------- -//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Æ - - (doc/) - conf_ref.txt - login_athena.cnf‚Ì•”•ªC³ - (login/) - login.c - ƒOƒ[ƒoƒ‹•Ï” access_* ’ljÁ - parse_login()C³,check_ip()’ljÁ - -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‚È‚Ç„§) - - (tool/cgi/) - addaccount.cgi - ƒAƒJƒEƒ“ƒg쬗pCGIB - -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 - (common/) - mmo.h C³B - (conf/) - mapflag.txt C³B - battle_athena.conf C³B - (db/) - const.txt C³B - item_db.txt C³B - (doc/) - conf_ref.txt C³B - item_bonus.txt C³B - (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 - pc.c - pc_takeitem()Apc_dropitem()Apc_equipitem() C³B - pc_calcstatus()Apc_bonus() C³B - 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 - map.c - map_addflooritem() C³B - script.c - buildin_getitem() C³B - pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B - battle.h C³B - 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 - --------------------- -//0796 by huge - -Eׂ©‚¢C³ - (conf/npc/) - npc_event_valentine.txt C³B - - (map/) - pc.c - pc_takeitem() C³B - skill.c - skill_unit_timer_sub() C³B - --------------------- -//0795 by Kalen - -EŽG’k341‚Ìnpc_warp_niflheim.txt’ljÁ - conf/warp/npc_warp_niflheim.txt - -Emapflag.txtC³(GVGMAPÝ’è) - @nosave‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñ - -Emap_athena.conf‚ÌC³ - @umbala niflheim“™‚̒ljÁ - @ƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚·B - -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 - -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‚É‚Ç‚¤‚¼ - --------------------- -//0794 by DRG - -Eskillused‚ÅŽw’肵‚½IW,QM‚È‚Ç‚É‚Ì‚Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚é‚悤‚É•ÏX -EƒAƒbƒvƒXƒŒ‚R‚Ì7‚Ìathena-start‚ðˆê‰žŠÜ‚ß‚Æ‚«‚Ü‚µ‚½ - - athena-start - (map/) - skill.c - skill_unit_onplace() C³B - --------------------- -//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 - (login/) - login.c - parse_login() C³B - (conf/npc/) - npc_event_doll.txt C³B - (map/) - skill.c - skill_unit_timer_sub() C³B - mob.c - mob_spawn_dataset() C³B - mob_damage() C³B - pc.c - pc_additem() C³B - --------------------- -//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 - (map/) - guild.c - mob.c - pc.c - skill.c - --------------------- -//0790 by Ž€_ - -EƒoƒOC³B - (conf/) - battle_athena.conf ŒëŽšC³B - (doc/) - conf_ref.txt ŒëŽšC³B - (common/) - mmo.h C³B - (map/) - itemdb.h C³B - map.h C³B - skill.c - skill_check_condition()Askill_use_pos()Askill_unit_onplace() C³B - --------------------- -//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 - - (/doc) - conf_doc.txt à–¾’ljÁB - - (/map) - battle.h - Battle_Config{} C³B - battle.c - battle_config_read() C³B - itemdb.h - item_data {} C³B - map.h - flooritem_data {} C³B - mob_data {} C³B - map.c - map_addflooritem() C³B - 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 - pc.c - pc_takeitem() C³B - --------------------- -//0788 by ‚ ‚ä‚Ý - -EcardƒXƒLƒ‹‚̈—H‚ðC³B -E@allskillƒRƒ}ƒ“ƒh‚ÌÄC³B - - (map/) - pc.c - pc_skill() C³B - pc_allskillup() C³B - --------------------- -//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 - (/map) - clif.c - clif_pet0078()Aclif_pet007b()C³B - mob.c - mobskill_use()C³B - skill.c - skill_attack() Askill_castend_damage_id()C³B - battle.h - battle.c - battle_config_read()C³B - --------------------- -//0786 by huge - -EBDSC³ - ‘O‚©‚ç‚«”ò‚΂µ‚Äs‚­‚Æ—Ç‚­‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚Ì‚ÅAŒã‚ë‚©‚爗 - —LŒø”͈͂ÌC³ - - (/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 - (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - cast_db.txt C³B - (map/) - atcommand.c C³B - 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 - 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 - 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 - 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 - map.c - map_quit() C³B - --------------------- -//0784 by ‚ ‚ä‚Ý - -EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚éó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚é‚Æmap-server‚ª–\‘–‚·‚é–â‘è‚ðC³B - - (map/) - pc.c - pc_allskillup() C³B - --------------------- -//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 ‚Å•ñ‚³‚ꂽ‚à‚Ì‚ÌŽæ‚èž‚Ý - - (/db) - create_arrow.txt C³B - skill_db.txt C³B - - (/map) - battle.c - battle_calc_pet_weapon_attack() C³B - battle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack() C³B - - 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 - --------------------- -//0782 by ‚Ò‚´‚Ü‚ñ -E@allskillƒRƒ}ƒ“ƒh‚ÌŽg—pðŒ‚ªŽQÆ‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ƒoƒOC³ - (/map) - atcommand.c - atcommand() C³B - --------------------- -//0781 by Chunglyeng -Eƒoƒh, ƒ_ƒ“ƒT[‰¹Šy‹ïŒ» - (/map) - skill.c C³B - --------------------- -//0780 by reia -EƒyƒRƒyƒR‚Ì—‘‚È‚Ç‚ª›z‰»‚·‚é‚ƃmƒr‚É‚È‚Á‚Ä‚µ‚Ü‚¤–â‘èC³B -EGMƒRƒ}ƒ“ƒhu@kickallv‚ª‰½Žž‚ÌŠÔ‚É‚©–³Œø‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B - - (/conf) - atcommand_athena.conf C³B - (db/) - mob_skill_db.txt C³B - (map/) - atcommand.c - atcommand_config_read() C³B - --------------------- -//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ƒ‹ŠÜ‚Þ) - - (conf/) - battle_athena.conf C³B - help.txt C³B - (map/) - atcommand.h C³B - atcommand.c - atcommand() C³B - pc.h C³B - pc.c - pc_allskillup() ’ljÁB - (doc/) - conf_ref.txt C³B - help.txt C³B - --------------------- -//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 - - (map/) - skill.c - skill_castend_nodamage_id() C³B - --------------------- -//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 - (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.c - inter_config_read() C³B - inter_send_packet_length[]Ainter_recv_packet_length[] C³B - int_guild.h C³B - (map/) - atcommand.c - atcommand()Aatcommand_config_read() C³B - battle.c - battle_config_read() C³B - 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 - 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 - 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 - (common/) - mmo.h C³B - (conf/) - battle_athena.conf C³B - inter_athena.conf C³B - msg_athena.conf C³B - atcommand_athena.conf C³B - (db/) - castle_db.txt ’ljÁB --------------------- -//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 - (db/) - mob_skill_db.txt C³B - skill_db.txt C³B - (map/) - map.h C³B - mob.h C³B - mob.c - mob_spawn_dataset()Amob_spawn() C³B - mob_changestate()Amobskill_use() C³B - mob_class_change() ’ljÁB - npc.c - npc_parse_mob() C³B - battle.c - battle_check_target() C³B - clif.h C³B - clif.c - clif_mob_class_change() ’ljÁB - skill.c - skill_castend_nodamage_id() C³B - --------------------- -//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) - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - battle.h C³B - 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 - 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 - map.c - map_quit() C³B - 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 - skill.c - skill_castend_damage_id()Askill_attack() C³B - skill_castend_id()Askill_castend_pos()Askill_castend_map() C³B - --------------------- -//0774 by Ž‚Žqo^.^o -EMonk job bouns C³ -EƒhƒPƒr C³ -(db/) - job_db2.txt C³ - pet_db.txt C³ - --------------------- -//0773 by ¹ - -Eׂ©‚¢ƒoƒOC³ - (map/) - skill.c C³B - battle.c C³B - --------------------- -//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‚ÅÝ’è‚Å‚«‚Ü‚· - -EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ñ”ð‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ - - (map/) - skill.c - skill_attack()Askill_unit_onplace()Askill_check_condition() C³B - 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 - map.c - map_quit() C³ - battle.c - battle_config_read()Abattle_weapon_attack() C³B - battle.h C³B - pc.h C³B - --------------------- -//0771 by huge - -EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽÀ‘• - (map/) - skill.c - skill_castend_nodamage_id() C³B - (db/) - skill_db.txt C³B - --------------------- -//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 - --------------------- -//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 - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - produce_db.txt C³B - (map/) - battle.h C³B - 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 - 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 - pc.c - pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() C³B - pc_damage() C³B - mob.c - mob_damage()Amobskill_use_id()Amobskill_use_pos() C³B - script.c - buildin_viewpoint()Abuildin_emotion() C³B - makefile C³B - --------------------- -//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/) - skill.c - skill_castend_damage_id()Askill_castend_id() C³ - skill_check_condition() C³ - pc.c - pc_damage() C³ - battle.c - battle_weapon_attack() C³ - --------------------- -//0767 by huge - -Eƒtƒ@[ƒ}ƒV[‚ÅA»‘¢‚Ì‘‚ªŒ¸‚é–â‘è‚ðC³ -E•Ší»‘¢DB‚ÅA‚¢‚­‚‚©”²‚¯‚Ä‚¢‚½‚Ì‚ðC³ - - (map/) - skill.c C³B - (db/) - produce_db.txt C³B - --------------------- -//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‚³‚ê‚Ü‚· - (map/) - battle.c - #include "guild.h" ’ljÁ - battle_calc_damage()Abattle_calc_weapon_attack() C³ - --------------------- -//0765 by ‚Ò‚´‚Ü‚ñ - -E‘•”õ§ŒÀŽÀ‘• -E‘•”õ§ŒÀ‚ª‚©‚©‚Á‚½‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚Ɉړ®‚µ‚½Û‚ÉŽ©“®“I‚É‘•”õ‚ªŠO‚êA -@Ä‘•”õ‚à‚Å‚«‚È‚­‚È‚è‚Ü‚· -E§ŒÀ‚Å‚«‚é‚Ì‚Í‘•”õ•i‚Ì‚Ý‚Å‚·BƒJ[ƒh—ނͧŒÀ‚Å‚«‚Ü‚¹‚ñ - (db/) - item_noequip.txt ’ljÁ - (map/) - itemdb.h C³ - itemdb.c - do_init_itemdb()Aitemdb_search() C³ - itemdb_read_noequip ’ljÁ - pc.c - pc_checkitem()Apc_isequip() C³ - --------------------- -//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 - (db/) - mob_db.txt C³B - skill_db.txt C³B - (doc/) - conf_ref.txt C³B - db_ref.txt C³B - (conf/) - battle_athena.conf C³B - (map/) - makefile C³B - battle.h C³B - 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 - mob.c - mobskill_castend_pos()Amob_damage() C³B - 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 - map.c - do_init() C³B - pc.c - pc_calc_skilltree()Apc_calcstatus() C³B - tarde.c - trade_tradeack() C³B - --------------------- -//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 - -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 - help.txt/motd.txt - confƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ - account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt - saveƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ - tool/backup - ƒpƒXC³ - -Emotd.txt/help.txt‚̃pƒX‚ðmap_athena.cnf‚ÅŽw’è‚Å‚«‚é‚悤‚É - map.h/map.c/atcommand.c/atcommand.hC³ - -Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’ljÁ - ./athena-start restart‚ÅAthena‚ðÄ‹N“®‚µ‚Ü‚· - --------------- -//0761 by ‚Û‚Û‚Û - -EMOB‚ÌMDEF‚É10000ˆÈãŽw’肵‚Ä‚àƒtƒ@ƒCƒAƒsƒ‰[‚Å•’ʂɃ_ƒ[ƒW‚ð—^‚¦‚Ä‚µ‚Ü‚¤‚Ì‚ðC³B - (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³ -(db/) - cast_db.txt C³ - skill_tree.txt C³ - --------------- -//0758 by hack -EPut GM messages into msg_table which is loaded from msg_athena.conf. -(Easy to translate into other language) - (map/) - atcommand.h - atcommand.c - msg_conf_read() Read conf/msg_athena.conf - Put messages into msg_table which is loaded from msg_athena.conf. - map.c - do_init() - (conf/) - msg_athena.conf Store the message of atcommand, easy to translate into other language. - --------------- -//0757 by Michael - (map/) - script.c - buildin_viewpoint() - Fix packet sequence of viewpoint command. - --------------- -//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 - (common/) - socket.h C³B - --------------- -//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 - (doc/) - db_ref.txt C³B - (db/) - cast_db.txt C³B - skill_db.txt C³B - (map/) - skill.h C³B - 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 - mob.c - mobskill_castend_id()Amobskill_castend_pos() C³B - pc.c - pc_calcstatus() C³B - battle.c - battle_calc_pc_weapon_attack() - battle_calc_mob_weapon_attack() - battle_calc_magic_attack() - --------------- -//0754 by Ž‚Žqo^.^o -(db/) - cast_db.txt C³ - --------------- -//0753 by ¹ - -EIW‚Ì”­¶ƒ|ƒCƒ“ƒg‚ðŽw’è‚·‚é‚ƃƒeƒI‚̃GƒtƒFƒNƒg‚ªˆêØo‚È‚­‚È‚é -@–â‘肪•œŠˆ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B -Ewarning‚ðo‚È‚¢‚悤‚ɃR[ƒhC³B - (map/) - skill.c - skill_castend_pos2() C³B - chrif.h - --------------- -//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 - (map/) - chrif.c - packet_len_table[]Achrif_parse()C³ - chrif_changesex()Achrif_changedsex()’ljÁ - chrif.h C³ - (char/) - char.c - parse_frommap()Aparse_tologin()C³ - (login/) - login.c - parse_fromchar()C³ - (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 - (char/) - int_guild.c C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - skill_db.txt C³B - skill_require_db.txt C³B - cast_db.txt C³B - (map/) - battle.h C³B - 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 - 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 - map.c - map_quit() C³B - --------------- -//0750 by CHRIS - -EƒXƒLƒ‹ŠÖŒW‚Ì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 - (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 - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (db/) - skill_db.txt C³B - cast_db.txt C³B - skill_require_db.txt ’ljÁB - produce_db.txt C³B - (map/) - map.h C³B - 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 - 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 - 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 - 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 - script.c - buildin_sc_start() C³B - path.c - can_move() C³B - pet.c - pet_data_init()Apet_stop_walking() C³B - npc.c - npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() C³B - --------------- -//0748 by Michael - (map/) - pc.c - pc_walk(); - Fix Player cannot move in ICEWALL but have Path. - mob.c - mob_walk(); - Fix Monster cannot move in ICEWALL but have Path. - path.c - can_move(); - Fix Player&Monster cannot move in ICEWALL. - --------------- -//0747 by ¹ -Eƒyƒbƒg‚ªƒGƒ‚‚ðo‚·‚Æmap-server‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½–â‘è‚ðC³B - (map/) - clif_parse_SendEmotion() C³B - --------------- -//0746 by Michael - (map/) - script.c - Add Script command - checkoption(type); - 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‰„ŽžŠÔ‚ð­‚µ’²® - (map/) - skill.c - skill_attack()Askill_additional_effect()C³ - skill_gangsterparadise()Askill_gangster_in()Askill_gangster_out()’ljÁ - clif.c - clif_parse_ActionRequest()C³ - 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³ - (conf/) - npc_pvp.txt C³ - --------------- -//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 - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - (map/) - battle.c - battle.h - clif.c - pc.c - pet.c - skill.c - --------------- -//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³ - --------------- -//0742 by ‚Ò‚´‚Ü‚ñ - -EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽÀ‘• -@UŒ‚‚ƃ[ƒv‚Ì•ª•Ê‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½‚Ì‚Å -@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚µ‚Ü‚µ‚½ -Eskill_db‚̌뎚“™‚ðC³ - (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³ - (db/) - skill_db.txt C³ - --------------------- -//0741 by whitedog - -snapshot - --------------- -//0740 by ‚Û‚Û‚Û -EPC‚ªMOB‚Ƀ^ƒQ‚ç‚ꂽ‚Æ‚«3•C–Ú‚©‚ç–hŒä‚Ɖñ”ð‚ªŒ¸‚é‚悤‚É‚µ‚½B -@1•C‚ɂ‚«‰ñ”ð‚Í10%A–hŒä‚Í5%Œ¸‚è‚Ü‚·B - (map/) - pc.h - pc.c - pc_counttargeted()Apc_counttargeted_sub()’ljÁ - battle.c - battle_get_flee()Abattle_get_def()Abattle_get_def2()C³B - --------------- -//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 - (map/) - skill.c - skill_castend_damage_id() C³B - battle.c - battle_calc_misc_attack() C³B - clif.c - clif_getareachar_skillunit() C³B - clif_skill_setunit() C³B - --------------- -//0738 by ‚Ò‚´‚Ü‚ñ -EƒXƒg[ƒ€ƒKƒXƒg‚ðŠ®‘S‚É–{ŽIŽd—l‚ÉC³(3‰ñ‚Åâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ì“G‚ÍSG‚ð‚­‚ç‚í‚È‚¢) -EƒTƒtƒ‰ƒMƒEƒ€‚ªŽ©•ª‚É‚©‚¯‚ç‚ê‚éƒoƒOC³ - (map/) - skill.c - skill_additional_effect()Askill_attack()C³ - skill_castend_nodamage_id()C³ - map.h C³ - --------------- -//0737 by ‚Û‚Û‚Û -EƒAƒ“ƒNƒ‹‚ª•à‚¢‚Ä‚¢‚é“G‚ÉŒø‚©‚È‚¢&•¡”‚Ì“G‚ÉŒø‚­‚Ì‚ðC³B - (map/) - skill.c - skill_unit_onplace()Askill_unit_onout()C³ - mob.c - mob_stop_walking()C³ - --------------- -//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‚Å‚· - (map/) - skill.c - skill_castend_nodamage_id()Askill_addisional_effect()C³ - skill_status_change_start()C³ - pc.c - pc_damage() C³ - --------------- -//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 - (conf/) - battle_athena.conf€–ڒljÁ - (doc/) - conf_refC³ - (map/) - battle.h - battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() - battle_config_read()C³ - pc.c - pc_checkbaselevelup()Apc_attack_timer()C³ - skill.c - skill_castend_nodamage_id()Askill_status_change_start()C³ - clif.c - clif_parse_WalkToXY()C³ - mob.c - mob_attack()C³ - --------------- -//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 - (doc/) - conf_ref.txt C³B - (char/) - char.c - mmo_char_sync_timer()Ado_init() C³B - inter.c - inter_init() C³B - inter_save_timer() íœB - (map/) - pc.c - pc_calc_skilltree() C³B - pc_resetskill() C³B - --------------- -//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 - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - clif.c - clif_skill_estimation()Aclif_parse_Restart() C³B - pc.c - pc_setrestartvalue()Apc_makesavestatus() C³B - pc_read_gm_account()Apc_calc_skilltree() C³B - pc_calc_skillpoint() ’ljÁB - map.c - map_quit() C³B - mob.c - mob_damage() C³B - skill.c - skill_unit_timer_sub()Askill_unit_timer() C³B - battle.h C³B - battle.c - battle_config_read() C³B - --------------- -//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³ - --------------- -//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 - (map/) - battle.h - battle.c - battle_config_read()C³ - pc.c - pc_makesavestatus()C³ - script.c - buildin_strcharinfo()C³ - buildin_getcharid()Abuildin_getpartyname()Abuildin_getpartyname_sub() - buildin_getguildname()Abuildin_getguildname_sub()’ljÁ - --------------- -//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(‚Ü‚½’²®‚·‚é‚©‚à) - (map/) - skill.c - skill_castend_nodamage_id()Askill_addisional_effect()C³ - skill_status_change_start()C³ - --------------- -//0729 by DRG - -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªƒJ[ƒg‚È‚µ‚ÅŽg‚¦‚½•s‹ï‡‚ÌC³ -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªJOBLV30‚ÅŠo‚¦‚ꂽ‚Ì‚ðC³ - (conf/) - npc_event_skillget.txt - ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€C³ - (map/) - skill.c - skill_check_condition()C³ - --------------- -//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³ - (map/) - intif.h - intif.c - intif_guild_memberinfoshort()Aintif_parse_GuildMemberInfoShort() - intif_parse()C³ - guild.h - guild_send_memberinfoshort()Aguild_recv_memberinfoshort()C³ - - --------------- -//0727 by ¹ - -E•ŠíŒ¤‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Ȃǂ̸˜BNPC‚ª -@³í‚É“®ì‚µ‚È‚¢–â‘è‚ðC³B - - (map/) - pc.c - pc_percentrefinery() C³B - --------------- -//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 - -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.c - mob_readskilldb()C³ - - -EƒAƒCƒeƒ€–¼/MOB–¼‚ª‘SŠp12•¶Žši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ªA - @ƒRƒ}ƒ“ƒh‚ÅŽæ‚èŠñ‚¹/¢Š«‚Å‚«‚È‚¢–â‘èC³B - mob.c - mobdb_searchname()C³ - 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Æ - - (conf/) - npc_test_ev.txt - “à—e’ljÁ - (map/) - npc.c - FXC³ - -E‚»‚Ì‘¼ - clif.c - ƒRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚ÉC³ - --------------- -//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 - mob.c - mob_timer()Amob_damage() C³B - --------------- -//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‚Í‚Æ‚ê‚Ü‚¹‚ñ‚ª... - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - mob.h C³B - mob.c - mob_timer()Amob_deleteslave_sub()Amob_damage() C³B - npc.c - npc_event() C³B - skill.c - skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() C³B - clif.c - clif_parse_GMKick() C³B - battle.h - battle.c - battle_damage()Abattle_check_target()Abattle_config_read() C³B - pc.c - pc_calc_skilltree()Apc_checkskill() C³B - map.h C³B - map.c - map_foreachinarea()Amap_foreachinmovearea() C³B - map_foreachobject() C³B - --------------- -//0723 by DRG - -E0719‚ÌC³ - (map/) - pc.c pc_calc_skilltree()C³ - --------------- -//0722 by ƒpƒCƒ“ - -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 - -ƒ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³ - --------------- -//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 ŒÓ’±—– - -EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ªUŒ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ - EIW‚Éd‚È‚Á‚Ä‚¢‚Ä‚àA—×ډ”\‚È‚çMOB‚ª‹ßŠñ‚Á‚Ä‚«‚Ü‚· - E‚Ç‚ñ‚È’nŒ`‚É‚¢‚Ä‚àA—×Ú‚µ‚Ä‚¢‚é‚È‚çUŒ‚‰Â”\‚É‚È‚è‚Ü‚· - E‚½‚¾‚µAMOB‚ª‰“‹——£UŒ‚‰Â”\‚ÅAUŒ‚”͈͓à‚ÉPC‚ª‚¢‚Ä‚àA - —×Ú•s‰Â”\‚È‚çUŒ‚‚µ‚Ä‚«‚Ü‚¹‚ñB‚±‚ê‚Ì‰ðŒˆ‚Í‚©‚È‚è–Ê“|‚È‚Ì‚ÅB - - mob.c - mob_can_reach()C³ - battle.c - battle_check_range()C³ - --------------- -//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 - (conf/) - battle_athena.conf - (map/) - battle.c - battle.h - pc.c pc_calc_skilltree(),pc_checkskill()C³ - --------------- -//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‚ꂽ‚Ì‚Å...) - (common/) - mmo.h C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - battle.h C³B - 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 - clif.c - clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() C³B - pc.c - pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() C³B - pc_getzeny() C³B - npc.c - npc_buylist()Anpc_selllist() C³B - pet.c - pet_attack()Apet_randomwalk()Apet_ai_sub_hard() C³B - mob.h C³B - 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³ - (common/) - mmo.h - (map/) - chat.c - chrif.c - clif.c - guild.c - itemdb.c - map.c - mob.c - npc.c - party.c - path.c - pc.c - pet.c - script.c - skill.c - skill.h - --------------- -//0716 by ¹ - -E¸˜B¬Œ÷—¦‚ɑ΂µ‚ÄBS‚Ì•ŠíŒ¤‹†‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B - (map/) - pc.c - pc_percentrefinery() C³B - --------------- -//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/) - battle_athena.conf - (map/) - makefile - skill.c - script.c - pet.c - pc.c - path.c - party.c - npc.c - itemdb.c - intif.c - guild.c - chat.c - battle.h - battle.c - chrif.c - atcommand.c - clif.c - mob.c - map.c - --------------- -//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 - (db/) - refine_db.txt C³B - item_db.txt C³B - (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 - path.c - path_blownpos() C³B - pc.h C³B - pc.c - pc_stop_walking()Apc_damage() C³B - pc_getrefinebonus() ’ljÁB - mob.c - mob_damage() C³B - pet.c - pet_target_check()Apet_stop_walking()Apet_performance() C³B - skill.c - skill_attack()Askill_blown()Askill_status_change_start() C³B - skill_castend_damage_id() C³B - makefile C³B - --------------- -//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 - (db/) - mob_avail.txt ’ljÁB - (map/) - clif.c - clif_mob0078()Aclif_mob007b() C³B - mob.h C³B - mob.c - mob_readdb_mobavail()Amob_get_viewclass()’ljÁB - do_init_mob()Amob_readdb() C³B - --------------- -//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 - (db/) - cast_db.txt C³B - skill_db.txt C³B - (map/) - battle.h C³B - 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 - 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 - pc.c - pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() C³B - --------------- -//0711 by npc - -Ezλ‘¢ƒGƒtƒFƒNƒg‚ÌC³ -EƒXƒNƒŠƒvƒg–„‚ßž‚Ý•Ï”‚ÉHp,MaxHp,Sp,MaxSp‚ð’ljÁ(“Ç‚Ýž‚Ý‚Ì‚Ý) - (map/) - skill.c - skill_produce_mix()C³B - pc.c - pc_readparam()C³B - (db/) - const.txt C³B - --------------- -//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³ - - (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 - - (map/) - pc.c - pc_authok()C³ - - --------------- -//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 - (conf/) - npc_town_refine.txtAnpc_town_guide.txt C³B - (map/) - script.c - buildin_emotion() ’ljÁB - --------------- -//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 - (db/) - cast_db.txt C³B - (map/) - map.h C³B - map.c - map_quit() C³B - skill.h C³B - 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 - pc.c - pc_calcstatus()Apc_setpos()Apc_damage() C³B - battle.c - battle_calc_damage()Abattle_damage() C³B - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B - mob.c - mob_damage() C³B - itemdb.c - itemdb_searchrandomid() C³B - --------------- -//0707 by Ž€_ - -E0705‚̈¢C—…”e–PŒ‚̃oƒOC³B - (db/) - skill_db.txt - (map/) - skill.c - skill_castend_id() - skill_castend_pos() - battle.c - battle_calc_pc_weapon_attack() - clif.c - clif_parse_UseSkillToId() - --------------- -//0706 by kalen -EC³ - conf/npc_warp_umbala.txt - --------------- -//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) - (conf/) - battle_athena.conf C³B - (db/) - skill_db.txt C³B - (common/) - mmo.h C³B - (doc/) - conf_ref.txt C³B - item_bonus.txt C³B - (map/) - battle.h C³B - 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 - 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 - map.c - map_setipport()Amap_addmap() C³B - ‚»‚Ì‘¼”²‚¯‚½Š­‚µ‚ ‚èB - --------------------- -//0704 by kalen - -EUmbala Warp’ljÁ - conf/npc_warp_umbala.txt - --------------------- -//0703 by ‚¢‚Ç - -EƒT[ƒo[snapshot - --------------- -//0702 by ‚Û‚Û‚Û - -Eƒtƒ@[ƒ}ƒV[‚̃GƒtƒFƒNƒg‚ð–{—ˆ‚Ì‚à‚Ì‚É•ÏX -EƒXƒNƒŠƒvƒg‚Å‚Ì–„‚ßž‚Ý•Ï”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’ljÁ - (map/) - skill.c - skill_produce_mix() C³B - pc.c - pc_readparam()Apc_setparam() C³B - (db/) - const.txt C³B - --------------- -//0701 by ‚Ò‚´‚Ü‚ñ - -EƒXƒe[ƒ^ƒXˆÙí”»•ÊŽ®“±“üBŠeƒXƒe[ƒ^ƒXˆÙí‚Ì”­“®—¦‚ªVIT/INT/MDEF‚ɉe‹¿‚·‚é‚悤‚É‚È‚è‚Ü‚·BŽ‘±ŽžŠÔ’Zk‚Í‚Ü‚½¡“x‚Å_|P|› -E•sŽ€‚É“€Œ‹‚ªŒø‚¢‚½ƒoƒOC³B - (map/) - skill.c - skill_additional_effect()Askill_castend_nodamage_id() C³B - --------------- -//0700 by “ì - -E697‚̃oƒOC³B -@@@@(db/) - mob_db.txt - --------------- -//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 - (db/) - item_db.txt - --------------- -//0698 by Ž€_ - -Eˆê•”‚̃Lƒƒƒ‰‚Éd—Ê‚ª‚O‚É‚È‚Á‚ăJƒvƒ‰‚Ȃlj½‚à‚o‚bC‚m‚b‚o‚ª•\Ž¦‚³‚ê‚È‚­‚È‚éƒoƒOC³B(‚»‚ꂾ‚¯) - (common/) - mmo.h C³B - (map/) - clif.c - clif_updatestatus() C³B - pc.c - pc_calcstatus() C³B - --------------- -//0697 by “ì - -Emob_dbC³ -@ƒhƒƒbƒv‚ð’†S‚ÉC³B -@@@@(db/) - mob_db.txt - --------------- -//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 - (map/) - skill.h C³B - 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 - mob.c - mob_stop_walking()Amob_spawn()Amob_warp() C³B - mob_can_move()Amob_changestate() C³B - map.h C³B - pc.c - pc_setpos() C³B - 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 - (conf/) - battle_athena.conf C³B - (db/) - item_db.txt C³B - const.txt C³B - (doc/) - item_bonus.txt C³B - conf_ref.txt C³B - (common/) - mmo.h C³B - (char/) - char.c - mmo_char_send006b()Aparse_char() C³B - (map/) - map.h C³B - clif.h C³B - clif.c - clif_initialstatus()Aclif_updatestatus() C³B - pc.h C³B - 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 - battle.c - battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_calc_pc_weapon_attack()Abattle_config_read() C³B - skill.c - skill_additional_effect()Askill_status_change_start() C³B - script.c - buildin_statusup()Abuildin_statusup2() ’ljÁB - atcommnad.c C³B - --------------- -//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¡‚͉½‚à“ü‚Á‚Ä‚Ü‚¹‚ñ‚ª... - (conf/) - battle_athena.conf C³B - (db/) - const.txt C³B - pet_db.txt C³B - (doc/) - item_bonus.txt C³B - conf_ref.txt C³B - db_ref.txt C³B - (map/) - map.h C³B - map.c - map_quit() C³B - battle.h C³B - 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 - pc.c - pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() C³B - pc_damage()Apc_autosave_sub() C³B - pet.h C³B - 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 - clif.c - clif_sendegg()Aclif_parse_LoadEndAck() C³B - atcommand.c C³B - makefile C³B - --------------- -//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 - - (db/) - const.txt - SC_* ‚Ì”’l‚ð•ÏX - (map/) - skill.h - SC_* ‚Ì—ñ‹“‚Ì”’l‚ð•ÏX - map.h - MAX_STATUSCHANGE‚ð128‚©‚ç192‚É‘‚₵‚½ - skill.c - skill_status_change_start(),skill_status_change_end(), - skill_status_change_clear()‚Ì’Ê’mˆ—‚ð•ÏX - -E‰‰‘t/ƒ_ƒ“ƒX‚̈—‚ð•ÏX - ‰‰‘t/ƒ_ƒ“ƒX’†‚©‚Ç‚¤‚©‚ðSC_DANCING‚Å”»’è‚·‚é‚悤‚É•ÏX - i”»’舗‚ª‘½­‚‘¬‰»‚³‚ꂽ‚Í‚¸j - ƒ[ƒv(ƒ}ƒbƒvˆÚ“®‚┈‚È‚Ç)‚·‚é‚Ɖ‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚·‚é‚悤‚É•ÏX - - 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 - pc.c - pc_calcstatus(),pc_setpos(),pc_damage()•ÏX - -E•s‹¦˜a‰¹ƒXƒLƒ‹‚ÌC³ - (db/) - skill_db.txt - •s‹¦˜a‰¹ƒXƒLƒ‹‚ÌHIT”C³ - (map/) - skill.c - skill_status_change_timer()•ÏX - battle.c - battle_calc_misc_attack()C³ - --------------- -//0692 by ŒÓ’±—– - -EƒAƒhƒŠƒuƒXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢–â‘èC³iskill_db‚Ì“Y•t‚µ–Y‚êj - (db/) - skill_db.txt - ƒAƒhƒŠƒu‚ÌÁ”ïSP‚ð1‚ÉC³ - -Emob_db2.txt‚ª‚ ‚ê‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É - ƒIƒŠƒWƒiƒ‹mob‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB - - 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 - - (doc/) - coredump_report.txt - --------------- -//0691 by ŒÓ’±—– - -Eitem_db2.txt‚ª‚ ‚ê‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É - ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB - - 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‚¢‚Ü‚· - - skill.h - SC_* ‚Ì—ñ‹“•\‚ðC³ - skill.c - skill_check_dancing()’ljÁ - SkillStatusChangeTable[]C³ - 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‚ê‚Ü‚µ‚½ - pc.c - pc_calcstatus(),pc_damage()C³ - --------------- -//0690 by ”g˜Q - -Eׂ©‚¢C³ - (db/) - item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ìbonus‚ðC³B - (doc/) - item_bonus.txt C³B - --------------- -//0689 by Ž€_ - -E‘qŒÉƒoƒOC³‚Æׂ©‚¢C³B - (map/) - pc.c - pc_modifybuyvalue()Apc_modifysellvalue() C³B - storage.c - storage_storageopen() C³B - storage_storage_quit()Astorage_storage_save() C³B - --------------- -//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 - --------------- -//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 - (conf/) - battle_athena.conf C³B - (db/) - const.txt C³B - item_avail.txt C³B - pet_db.txt C³B - (doc/) - conf_ref.txt C³B - item_bonus.txt C³B - (map/) - map.h C³B - map.c - map_quit() C³B - battle.h C³B - 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 - 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 - skill.c - skill_additional_effect()Askill_unitsetting() C³B - 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 - 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 - storage.c - storage_storage_quitsave() ->storage_storage_quit()‚É•ÏX‚ÆC³B - storage_storageclose() C³B - atcommand.c C³B - pet.c - pet_change_name()Apet_equipitem()Apet_unequipitem() C³B - pet_birth_process()Apet_return_egg() C³B - script.c - buildin_getitem() C³B - mob.c - mob_stop_walking() C³B - makefile C³B - --------------- -//0686 by ¹ - -Eׂ©‚¢C³B - (map/) - pc.h C³B - --------------- -//0685 by ”g˜Q - -E0683A0684‚Å‚Ìbonus‚̒ljÁ‚É‚Æ‚à‚È‚Á‚Äitem_db.txt‚ðC³ -E‘¼FXC³ - (db/) - item_db.txt C³B - (doc/) - item_bonus.txt C³B - --------------- -//0684 by Ž€_ - -Eׂ©‚¢C³B -EŽ€‚ñ‚¾‚Ó‚è‚ÌŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ªŽg‚¦‚È‚¢‚悤‚É•ÏXB -EbInfiniteEndure’ljÁB‹@”\‚Í–³ŒÀƒCƒ“ƒfƒ…ƒAB -Eƒ_ƒ[ƒW•\Ž¦‚̈—­‚µ•ÏXB - (db/) - const.txt C³B - (doc/) - item_bonus.txt C³B - (map/) - map.h C³B - pc.c - pc_calcstatus() C³B - pc_equipitem()Apc_unequipitem() C³B - 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 - skill.c - skill_status_change_timer() C³B - --------------- -//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 - (db/) - const.txt C³B - (doc/) - item_bonus.txt C³B - (map/) - map.h C³B - 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 - pc.c - pc_autosave_sub()Apc_calcstatus() C³B - pc_bonus()Apc_bonus2() C³B - pc_bonus3() ’ljÁB - script.c - buildin_bonus3() ’ljÁB - mob.c - mob_once_spawn()Amob_damage() C³B - storage.h C³B - storage.c - storage_storage_save() ’ljÁ - atcommand.c C³B - --------------- -//0682 by ¹ - -EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚̃oƒOC³ - (map/) - pc.c - pc_calcstatus() C³B - --------------- -//0681 by Ž€_ - -E‘•”õƒoƒOC³B - (map/) - pc.c - pc_equipitem() C³B - --------------- -//0680 by ¹ - -Eׂ©‚¢C³B -Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ÌŽw’è‚Éu-1vAu-2v“™‚ðŽw’è‚·‚é‚Æ -@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚Å¢ŠÒ‚Å‚«‚é‹@”\‚ð’ljÁB - (map/) - mob.c - atcommand.c - --------------- -//0679 by ”g˜Q - -E0676‚ÅV‚µ‚¢ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅAitem_db.txt‚ðC³(bonus bAddMonsterDropItem,n,x; ‚ÍAŽí‘°”»’肪‚Å‚«‚È‚¢‚Ì‚Å‚Æ‚è‚ ‚¦‚¸•Û—¯‚µ‚Ü‚µ‚½B) -E‘¼FXC³ - (db/) - item_db.txt - job_db1.txt - (doc/) - item_bonus.txt - --------------- -//0678 by ¹ - -E¢ŠÒŠÖ˜A‚Ìׂ©‚¢C³B - (map/) - mob.c - mob_once_spawn_area() C³B - --------------- -//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) - (doc/) - item_bonus.txt ŒëŽšC³B - (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³‚µ‚½Š‚ª­‚µ‚ ‚é‚©‚à... - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - item_bonus.txt C³B - (db/) - const.txt C³B - (char/) - inter.c - inter_init() C³B - int_storage.c - mapif_parse_SaveStorage() C³B - (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 - 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 - mob.c - mob_damage() C³B - pet.c - pet_target_check() C³B - clif.c - clif_set0078()Aclif_set007b()Aclif_changelook() C³B - atcommand.c C³B - --------------- -//0675 by ”g˜Q - -EŠØŽI‚Å‘º³‚ÌŒø‰Ê‚ª•ÏX‚³‚ꂽ‚Ì‚Å•ñ‚ðŒ³‚Éitem_db.txt‚ðC³ -Ejob_db1.txt‚ðC³ - (db/) - item_db.txt - job_db1.txt - --------------- -//0674 by npc - -Eƒtƒ@[ƒ}ƒV[‚̉¼ŽÀ‘•B - (db/) - produce_db.txt - (map/) - skill.c - --------------- -//0673 by “ì - -EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -@@@@@(map/)@@@ -@@@@@ pc.c - --------------- -//0672 by “ì - -EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B -@@@@@(map/)@@@ -@@@@@ pc.c - --------------- -//0672 by ¹ - -Eƒ‚ƒ“ƒXƒ^[Œn‚̃oƒOC³(‚·‚Ý‚Ü‚¹‚ñA‚Ü‚¾Žc‚Á‚Ä‚Ü‚µ‚½(^^; ) - (map/) - mob.c - --------------- -//0671 by ¹ - -EIDƒ`ƒFƒbƒN”͈͂ÌC³‘¼B -E@monster‚Å”‚ðŽw’肵‚È‚­‚Ăࢊ҂ł«‚é‚悤‚ÉC³B - (map/) - atcommand.c - battle.c - battle.h - mob.c - pet.c - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - --------------- -//0670 by RR - -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—¦‚ðC³(–{ŽI€‹’ADB‚Å‚ÌÝ’è+1/10000)B -E—Ž‰º—¦‚O‚Éݒ肵‚½ƒAƒCƒeƒ€‚ð—Ž‚Æ‚·‚©‚Ç‚¤‚©‚ðbattle_athena.conf‚ÅÝ’è‰Â”\‚ÉB - (map/) - mob.c - mob_damage() C³B - battle.c - battle.h - (conf/) - battle_athena.conf - --------------- -//0669 by ¹ - -Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ÌC³B - (map/) - mob.c - mob_damage() C³B - --------------- -//0668 by ¹ - -Eƒ‚ƒ“ƒXƒ^[ID‚͈̔̓`ƒFƒbƒN‚ðC³B - (map/) - mob.c - mob_dbAmob_once_spawn()Amob_once_spawn_area()A - mob_summonslave()Amob_read_randommonster()Amob_readdb() C³B - --------------- -//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 - (db/) - item_db.txt - 7140A7142‚ðŒ³‚É–ß‚µ‚Ä0666‚Ì•¨‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B - job_db1.txt C³B - refine_db.txt C³B - (map/) - mob.c - mob_once_spawn() C³B - itemdb.c - itemdb_read_randomitem() C³B - pet.c - pet_food() C³B - pc.c - pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() C³B - pc_calc_sigma() ’ljÁB - ‚»‚Ì‘¼C³B - map.h C³B - battle.c - battle_calc_magic_attack()Abattle_calc_misc_attack() C³B - atcommand.c C³B - --------------- -//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‚Í‘‚«Š·‚¦‚Ä‚â‚Á‚Ä‚­‚¾‚³‚¢(^^; - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - (map/) - mob.h - mob_db C³B - mob.c - mob_once_spawn()Amob_makedummymobdb()Amob_readdb() C³B - mob_readbranch() -> mob_read_randommonster()‚É•ÏXB - battle.h - battle_config C³B - battle.c - battle_config_read() C³B - itemdb.c - itemdb_read_randomitem() C³B - (db/) - item_db.txt - item_bluebox.txt - item_cardalbum.txt - item_giftbox.txt - item_scroll.txt - item_violetbox.txt - mob_branch.txt - mob_poring.txt ’ljÁB - mob_boss.txt ’ljÁB - --------------- -//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 ¹ - -E¸˜BŽ¸”sŽž‘¼‚̃vƒŒ[ƒ„[‚É‚àƒGƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³B - (map/) - script.c - buildin_failedrefitem() C³B - --------------- -//0663 by lide - -Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒAC³ - (map/) - battle.c - skill.c - --------------- -//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 - (map/) - clif.c - pc.c - script.c - --------------- -//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 - (db/) - pet_db.txt - (map/) - clif.c - clif_parse_LoadEndAck() C³B - pc.c - pc_attack_timer() C³B - --------------------- -//0660 by ‚¢‚Ç - -EƒT[ƒo[snapshot - --------------- -//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 - (conf/) - battle_athena.conf - (doc/) - conf_ref.txt - db_ref.txt ’ljÁB(¡à–¾‚ª“ü‚Á‚Ä‚¢‚é‚Ì‚Ípet_db.txt‚Ì‚Ý‚Å‚·B ) - client_packet.txt - (db/) - pet_db.txt - job_db2.txt - (map) - clif.h - clif.c - map.h - map.c - pet.h - pet.c - pc.c - mob.h - mob.c - npc.c - atcommand.c - skill.c - battle.h - battle.c - --------------- -//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 - - (conf/) - battle_athena.conf pet_finish’ljÁB - (map/) - battle.c - battle_config_read() C³B - battle.h C³B - pet.c - pet_attack() C³B - (doc/) - conf_ref.txt à–¾’Ç‹LB - --------------- -//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 - - (conf/) - battle_athena.conf pet_attack’ljÁB - - (map/) - battle.c - battle_config_read() C³B - battle.h C³B - pc.c - pc_attack_timer() C³B - pet.c - pet.h - pet_attack() ’ljÁB - (doc/) - conf_ref.txt à–¾’Ç‹LB - - ‚Æ‚è‚ ‚¦‚¸Aƒyƒbƒg‚ª“®‚¢‚Ä‚é‚È‚Ÿ‚Á‚ÄŠ´‚¶‚ÆAƒ_ƒ‰ñ”‚ð‘‚₵‚½’ö“x‚Å‚·B - --------------- -//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(Ž©•ª‚̊ԈႢ‚̂悤‚Å‚·‚Ì‚Å...) - (map/) - skill.c C³B - battle.c C³B - --------------- -//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 - --------------- -//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) - (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 - (map/) - clif.c - clif_selllist() C³B - 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 - npc.c - npc_parse_script() C³B - pc.h C³B - pc.c - pc_walk()Apc_walktoxy_sub()Apc_stop_walking() C³B - map.h C³B - mob.h C³B - mob.c - mob_stop_walking()Amob_changestate()Amob_walk() C³B - pet.c - pet_changestate() C³B - atcommand.c C³B - (db/) - skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B - cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B - --------------- -//0652 by ŒŽ‰r‚Ý - -EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰¼ŽÀ‘• - (db/) - skill_db.txt - cast_db.txt - (map/) - battle.c - Damage battle_calc_misc_attack - Damage battle_calc_magic_attack - skill.c - skill_additional_effect - skill_castend_damage_id - skill_castend_pos2 - skill_unit_group *skill_unitsetting - skill_unit_onplace - skill_check_condition - --------------- -//0651 by ”g˜Q - -Eitem_db.txt‚ðC³ - (db/) - item_db.txt - ‘•”õ•i‚̃AƒCƒeƒ€Œø‰Ê‚ðC³ - --------------- -//0650 by Ž€_ - -EŽO’i¶‚Ì”­“®ðŒ‚ð‹|‚Æ“ñ“—¬ˆÈŠO‚É•ÏXB -E•\Ž¦‚ð‚¹‚¸‚É“à•”‚ň—‚¾‚¯‚·‚éNPC‚ÌCLASS‚ð111‚©‚ç32767‚É•ÏXB -Eׂ©‚¢C³B - (map/) - clif.c - clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() C³B - npc.h C³B - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - --------------- -//0649 by ”g˜Q - -EDB‚ÆDOCC³ - (db/) - item_db.txt - ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚È‚Ì‚ÅAŠØ‘‚̃f[ƒ^‚É‚ ‚킹‚Ä•—‘®«‚Å‚Í‚È‚­‚µ‚Ü‚·B - mob_db.txt - size_fix.txt - ŠyŠí‚Í‘åŒ^‚ɑ΂µ‚Ä75%‚¾‚»‚¤‚Å‚·B - (doc/) - item_bonus.txt - --------------- -//0648 by Ž€_ - -EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚ÆŽI‚ª—Ž‚¿‚é–â‘èC³B(itemdb‚̉Šú‰»‚ðnpc‚æ‚è -æ‚É‚·‚é‚悤‚É•ÏXB) ‚»‚ꂾ‚¯‚Å‚·B - (map/) - map.c - do_init() - --------------- -//0647 by nini - -Eitem_dbC³ -EƒXƒiƒbƒ`ƒƒ[Žd—l•ÏXB‹|ˆÈŠO‚Ì‚·‚ׂĂ̕Ší‚Åo‚é‚悤‚É‚È‚Á‚Ä‚Ü‚·B - (/map/) - battle.c - ŽO’i¶‚Ì”­“®ðŒ’ljÁ - skill.c - ƒXƒiƒbƒ`ƒƒ[‚Ì”­“®ðŒ’ljÁ - (/db/) - item_db.txt - ƒVƒ‹ƒNƒnƒbƒg‚ÉSP㸒ljÁ - --------------- -//0646 by last - -Eitem_db.txt‚ÌC³(‘®«ŠÖ˜A) - (/db/) - item_db.txt - --------------- -//0645 by ‚é‚é‚éi•ree_ronj - -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 - (/db) - item_value_db.txt - ƒJƒ‰ƒ€”‚ð®—‚µ‚½‚¾‚¯‚Å‚·B“à—e‚Í‚Ü‚Á‚½‚­•ÏX‚µ‚Ä‚¢‚Ü‚¹‚ñB - (/map/) - clif.c - clif_buylist() clif_selllist() •ÏX - itemdb.h - item_data \‘¢‘Ì•ÏX - itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() ƒ}ƒNƒ’ljÁ - itemdb.c - itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() •ÏX - itemdb_sellvalue() íœ - npc.c - npc_buylist() npc_selllist() npc_parse_shop() •ÏX - (/sample/) - ƒIƒ}ƒP‚Å‚·BŽŸ‰ñSnapShot‚É‚ÍŠÜ‚Ü‚È‚¢‚Å‹X‚µ‚¢‚Å‚·B - -ƒ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‚¢‚Ü‚·‚ª‚— - - --------------- -//0644 by nini - -EDB‚̊ԈႢA643‚ŒljÁ‚³‚ꂽƒXƒNƒŠƒvƒg’ljÁB - (/db/) - item_db.txt - cast_db.txt - ƒ`ƒƒ[ƒWƒAƒ[‚̃LƒƒƒXƒg’ljÁB - exp_guild.txt - 46-50‚Ü‚Å‚Ìexp”²‚¯‚ɒljÁB - 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 - map.c - map_quit() C³B - pc.h C³B - 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 - npc.c - npc_touch_areanpc()Anpc_parse_shop() C³B - clif.c - clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() C³B - clif_skill_estimation() C³B - battle.c - battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B - battle_calc_mob_weapon_attack() C³B - mob.c - mobskill_use() C³B - skill.c - skill_status_change_end()Askill_status_change_timer() C³B - skill_status_change_start() C³B - (db/) - const.txt C³B - (doc/) - item_bonus.txt C³B - --------------- -//0642 by Ž€_ - -E‘•”õƒoƒOC³B(‚»‚ꂾ‚¯) - (map/) - pc.c - pc_authok()Apc_checkitem() C³B - --------------- -//0641 by Ž€_ - -EbAspdRate‚ÆbSpeedRate‚̃oƒOC³B(‚»‚ꂾ‚¯)0640‚ÅŒvŽZ‚ð‚¿‚å‚Á‚Æ•Ï‚¦‚ÄŒ©‚Ü‚µ‚½‚ª‚»‚ꂪ‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B¡“x‚àŒvŽZŽ®‚ð•Ï‚¦‚Ü‚µ‚½‚ª‚à‚¤‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B(‘½•ª) - (map/) - pc.c - pc_calcstatus()Apc_bonus()Apc_delitem() - --------------- -//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 - (conf/) - battle_athena.conf C³B - (db/) - const.txt C³B - item_db.txt C³B - (doc/) - item_bonus.txt C³B - conf_ref.txt C³B - (map/) - map.h C³B - pc.c - pc_calcstatus()Apc_bonus()Apc_equipitem() C³B - battle.h C³B - battle.c - battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B - battle_config_read() C³B - clif.c - clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() C³B - (common/) - mmo.h C³B - (char/) - char.c - mmo_char_send006b()Aparse_char() C³B - --------------- -//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³ - - (tool/) - ladmin - Ver.1.04‚ÉB - -EMODƒo[ƒWƒ‡ƒ“‚ª‚¨‚©‚µ‚¢–â‘è‚ðC³ - (common/) - version.h - ATHENA_MOD_VERSION‚ª‚Wi”‚Å‹Lq‚³‚ê‚Ä‚¢‚é–â‘è‚ðC³ - ”Žš‚Ì“ª‚É0‚ð‚‚¯‚é‚Æ‚Wi”‚É‚È‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢ - --------------- -//0638 by ”g˜Q - -E0635E0637‚ÅV‚µ‚­ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅA‚»‚ê‚É”º‚Á‚Äitem_db.txt‚ðC³ -Eitem_bonus.txt‚ðC³ - (db/) - item_db.txt C³ - (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 - battle.h - struct Battle_Config {} C³B - battle.c - battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B - battle_config_read() C³B - (db/) - skill_db.txt - ƒXƒeƒB[ƒ‹‚ÌSP‚ð10‚ÉC³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - --------------- -//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 - (conf/) npc_pota.txt - --------------- -//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‘‚­ŽžŠÔ‚ª‚È‚¢‚Ì‚Å... - (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 - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - item_bonus.txt C³B - (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 - (db/) - job_db1.txt C³B - exp.txt C³B - (map/) - pc.c - pc_jobchange()Apc_readdb() C³B - pc_nextbaseexp()Apc_nextjobexp() C³B - --------------- -//0633 by ”g˜Q - -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) - (conf/) - npc_monster.txt ƒ‚ƒ“ƒX–¼C³ - npc_monster_amatsu.txt C³ - (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³ - --------------- -//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 - (db/) - job_db1.txt - job_db2.txt - item_db.txt - Œ‹¥ˆßÖASƒmƒr‚̃f[ƒ^ - skill_tree.txt - Sƒmƒr‚̃XƒLƒ‹ - (map/) - map.h - MAX_PC_CLASS‚ɒljÁ - --------------- -//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 - (db/) - item_db.txt - 1161A2338A7170 C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (map/) - battle.h - struct Battle_Config‚Éwedding_modifydisplay ’ljÁB - battle.c - battle_config_read() C³B - pc.h - pc_cart_delitem() C³B - pc.c - pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() C³B - pc_checkitem()Apc_getitemfromcart() C³B - clif.c - clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() C³B - script.c - buildin_changebase() C³B - storage.c - storage_storageaddfromcart() C³B - vending.c - vending_purchasereq() C³B - --------------- -//0630 by ˆø‘Þl - -EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³ -Ewater_height.txt‚ðXV -E0627‚ÉŠÖ˜A‚µ‚ÄmodifydisplayŠÖ˜A‚ðíœ - (char/) - int_guild.c - mapif_guild_leaved()‚̃oƒbƒtƒ@—e—Ê‚ª‘«‚è‚È‚©‚Á‚½‚Ì‚ÅA - unsigned char buf[64]; -> unsigned char buf[128]; - ‚ÆC³B - (conf/) - battle_athena.conf - equip_modifydisplay‚ðíœ - water_height.txt - prt_fild04.gat‚Æmoc_fild01.gat‚Ì•ª‚ð’ljÁ - (doc/) - conf_ref.txt - 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 - (db/) - item_db.txt C³B - class_equip_db.txt C³B - skill_db.txt C³B(ŒëŽš‚ðŽ¡‚µ‚½‚¾‚¯‚Å‚·B) - (conf/) - npc_event_doll.txt C³B(—¬˜Ql‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) - --------------- -//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 - makefile - help.txt - (common/) - mmo.h - (map/) - map.h - atcommnad.h - atcommnad.c - pc.h - pc.c - clif.c - script.c - trade.c - itemdb.h - itemdb.c - battle.h - battle.c - pet.c - map.c - mob.c - (char/) - char.c - (conf/) - battle_athena-conf - atcommand_athena.conf - --------------- -//0626 by ˆø‘Þl - -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³ - (map/) - clif.c - packet_len_table[] client_packet.txt‚ɇ‚킹‚ÄC³ - --------------- -//0625 by ˆø‘Þl - -E@hide“§–¾‰»‚ðBOSS‚È‚Ç‚ÉŒ©”j‚ç‚ê‚È‚¢‚悤‚ÉC³ - (map/) - pc.h - #define pc_iscarton(sd) C³ - #define pc_isinvisible(sd) ’ljÁ - 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³ - (conf/) - npc_cTower.txt C³ithx to holyzard‚³‚ñj - --------------- -//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 - - (map/) - atcommand.c - atcommand() @modifydisplayƒRƒ}ƒ“ƒh‚ð’ljÁ - atcommand.h - struct Atcommand_Config { -'7d •ÏX - clif.c - clif_set0078_and01d8() , clif_set007b_and01da() ŠÖ”–¼•ˆ—‚Ì•ÏX - clif_spawnpc() , clif_movechar() , clif_changelook() , clif_getareachar_pc() , - clif_fixpcpos() , clif_parse_LoadEndAck() •ÏX - map.h - struct map_session_data Eb} •ÏX - pc.c - pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() •ÏX - - (conf/) - atcommand_athena.conf - equip_modifydisplay ’ljÁ - - •ÏX‰ÓŠ‚Í‘S‚ăL[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ê‚΂قڂ킩‚é‚©‚ÆB - -ƒRƒƒ“ƒgF‚à‚¤‚±‚ê‚Å–â‘è‚Í–³‚¢‚Í‚¸BŽÀ‚Í‘å‚¢‚Ȃ銨ˆá‚¢‚ð‚µ‚Ä‚½ŒÂŠ‚ª‚ ‚Á‚½‚Ì‚Í“àiƒ}ƒew - --------------- -//0623 by ˆø‘Þl - -E@hide‚Å“§–¾‰»iŒ©‚ç‚ê‚È‚¢•MOB‚Ƀ^ƒQ‚ç‚ê‚È‚¢j‚·‚é‚悤‚ÉC³‚È‚Ç - (map/) - atcommand.c - @hide‚ÌoptionÝ’è‚ð0x04‚©‚ç0x40‚É•ÏX - mob.c - mob_attack() - mob_target() - mob_ai_sub_hard_activesearch() - mob_ai_sub_hard_mastersearch() - mob_ai_sub_hard() - option”»’è‚ð0x06‚©‚ç0x46‚ÉC³ - (conf/) - npc_event_potion.txt MORISON_MEATC³ithx to holyzard‚³‚ñj - --------------- -//0622 by ˆø‘Þl - -Emob‚ªƒXƒLƒ‹Žg—p‚ÉŽ¸”s‚µ‚½ê‡A’ÊíUŒ‚‚·‚é‚悤‚É - (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³ - --------------- -//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‚Å‚«‚é‚悤‚É - - ƒ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 - - (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 - (doc/) - conf_ref.txt - battle_athena.cnf‚Æatcommand_athena.cnf‚Ìà–¾C³ - (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()‚ðŒÄ‚Ԃ悤‚É - pc.c/pc.h - pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg - pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É - atcommand.c/atcommand.h - @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É - @itemcheckƒRƒ}ƒ“ƒh’ljÁ - atcommandconfig‚Éitemcheckƒƒ“ƒo’ljÁ - battle.c/battle.h - battle_config‚Éitem_checkƒƒ“ƒo’ljÁ - -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 - - ƒ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 - - (tool/) - ladmin - Ver.1.03‚ÉB - -------------- -//0620 by ŒŽ‰r‚Ý - -Eƒz[ƒŠ[ƒNƒƒXŽÀ‘• - - (db) - skill_db.txt C³ - (map) - skill.c - skill_additional_effect()C³(ƒRƒƒ“ƒg‚Ì‚Ý) - battle.c - Damage battle_calc_weapon_attack()C³ - -------------- -//0619 by ‚é‚é‚é - -Eƒpƒbƒ`0617‚Ì‚Å‚â‚è–Y‚ê‚Æ”÷–­‚ÈC³ - - clif.c - clif_movechar(),clif_parse_LoadEndAck() C³ - --------------- -//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 - (/db) - cast_db.txt C³ - skill_db.txt C³ - (/map) - battle.c - battle_calc_weapon_attack() C³ - skill.c - skill_castend_damage_id() C³ - skill_check_condition() C³ - skill_castend_nodamage_id() C³ - --------------- -//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³ - pc.c - clif_changelook()‚ª‚ ‚é•”•ª‚ðC³i•Ší[„‚‚Ƈ‚É‚È‚é‚悤‚Ɉ—‚Ì“ü‚ê‘Ö‚¦j - -ƒ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 - --------------- -//0616 by ŒÓ’±—– - -Ewater_height.txt‚ð“Ç‚ñ‚Å‚¢‚È‚¢‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ - map.c - map_waterheight()C³ - -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.c - pc_checkitem()C³ - pc_authok()C³ pc_checkitem()’ljÁ - clif.c - clif_parse_LoadEndAck()C³ - 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 - atcommand.c - @itemC³ itemdb_search=>itemdb_exists - @produceC³ itemdb_exists‚Ń`ƒFƒbƒN‚·‚é‚悤‚É - --------------- -//0615 by ”g˜Q - -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 - --------------- -//0614 by Nikita - -EƒAƒCƒeƒ€DATA‚ÌC³iŽå‚ɉñ•œ—Êj -EƒXƒLƒ‹‰ð“Å‚ÌŽË’öC³ -E0612‚Ìׂ©‚¢C³ - (conf/) - npc_town_prontera.txt C³ - (db/) - item_db.txt C³ - skill_db.txt C³ - --------------- -//0613 by ˆø‘Þl -EcheckweightC³ - (conf/) - npc_event_making.txt checkweight•”•ª‚ðC³ - npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ÌcheckweightC³ - --------------- -//0612 by nini - -EƒAƒCƒeƒ€DATAC³ - (db/) - item_db.txt C³ - (conf/) - npc_town_***.txt C³ - R.O.M776‚³‚ñ‚ðŽQÆ‚µ‚Ü‚µ‚½B - --------------- -//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 - clif.c - clif_useitemack() C³B - skill.c - skill_status_change_start() C³B - pc.c - pc_insert_card() C³B(‚±‚ê‚̓J[ƒhƒoƒO‚Æ‚ÍŠÖŒW‚È‚¢C³‚Å‚·B‚»‚̃oƒO‚ÌC³‚ÍŽ©•ª‚ª05xx“–‚½‚è‚ÅC³‚µ‚Ü‚µ‚½‚Ì‚ÅB) - --------------- -//0610 by ”g˜Q - -EƒAƒCƒeƒ€DATAC³ - (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‚Ì‚ð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 - (conf/) - battle_athena.conf C³B - (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 - (doc/) - client_packet.txt C³B - conf_ref.txt C³B - --------------- -//0608 by sk -EƒAƒ}ƒcNPC’ljÁ - (conf/) - npc_town_amatsu.txt é“àNPC’ljÁ - npc_warp_amatsu.txt é“àƒ[ƒvƒ|ƒCƒ“ƒg’ljÁ - --------------- -//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³ - --------------- -//0606 by ˆø‘Þl -EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆÈã‚ɃNƒŠƒbƒN‚µ‚½Žž“_‚Å‘¼ƒXƒLƒ‹‚ªã‚°‚ç‚ê‚È‚­‚È‚éƒoƒO‚ðC³iThanx to 227‚³‚ñj - (map/) - clif.c - clif_skillup() - ƒXƒLƒ‹ƒŒƒxƒ‹‚ªÅ‘å’l‚Ì‚Æ‚«AƒpƒPƒbƒg––”ö‚ð0‚É‚·‚é‚悤‚ÉC³ - --------------- -//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 - - (map/) - clif.c - clif_parse_UnequipItem() C³ - pc.c - pc_checkallowskill() pc_equipitem() C³ - skill.h - skill_encchant_eremental_end() ’ljÁ - skill.c - skill_status_change_start() skill_status_change_end() - skill_status_change_clear() skill_encchant_eremental_end() C³ - ‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë­X - --------------- -//0604 by J -EMOBƒXƒLƒ‹ÄC³ -EMOBDBC³ - (db/) - mob_skill_db.txt - ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚ª1‰ñ‚É2Ží—Þ‚Ü‚Å‚µ‚© - MOB‚ðo‚³‚È‚©‚Á‚½‚Ì‚ðC³ - mob_db.txt - ƒ[ƒhƒIƒuƒfƒX‚̃hƒƒbƒv‚ŃGƒ‰[‚ªo‚é‚Ì‚ðC³(–¢Šm”F) - ‰…—ì•Žm‚̃hƒƒbƒv‚ÆMVP‚ð’ljÁ(–¢Šm”F) --------------- -//0603 by ˆø‘Þl -EV‹KƒAƒCƒeƒ€Žž‚É‚àŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚ÉC³ - (map/) - pc.c - pc_checkadditem() - V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’´‚¦‚Ä‚¢‚½‚ç - ADDITEM_OVERAMOUNT‚ð•Ô‚·‚悤‚ÉC³ - --------------- -//0602 by ˆø‘Þl -EGeffen’b–艮‚Å—Ž‚¿‚é–â‘è‚ðC³ - (conf/) - npc_town_geffen.txt if (!checkweight(,)) ‚©‚ç if (!(checkweight(,))) ‚ÉC³ - --------------- -//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 - (conf/) - npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”÷•ÏX - (db/) - mob_skill_db.txt ‰ö‚µ‚¢Ý’è‚È‚Ç‚ÌC³ - item_db.txt ‘‘¬POT‚ÌC³ - --------------- -//0600 by ˆø‘Þl -Eƒvƒƒ“ƒeƒ‰¸˜BŠ‚̉¡‚̃tƒ@ƒ“‚ɘb‚µŠ|‚¯‚é‚ƌł܂é–â‘è‚ðC³ -EMOBƒXƒLƒ‹Žæ‚èž‚ÝiThanx to J‚³‚ñj - (conf/) - npc_event_skillget.txt ƒtƒ@ƒ“‚ÌLabel‚ðC³ - npc_town_prontera.txt ƒtƒ@ƒ“‚ªd•¡‚µ‚Ä‚¢‚½‚Ì‚Åíœ - (db/) - mob_skill_db.txt ƒWƒ…ƒm[ˆÈ~‚ÌMOBƒXƒLƒ‹’ljÁ - --------------- -//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 - - (conf/) - battle_athena.conf 598‚Å‚Ì“ü‚ê–Y‚ê - (map/) - skill_encchant_eremental_end() ’ljÁ - skill_status_change_end() skill_status_change_start() skill_status_change_clear() C³ - (db/) - iten_db.txt C³ - --------------- -//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Á - (map/) - battle.h - Battle_Config C³ - battle.c - battle_config_read() C³ - clif.c - packet_len_table[] clif_changelook() C³ - map.h - enum {} C³ - pc.c - pc_calcstatus() pc_equiplookall() pc_changelook() C³ - (common/) - mmo.h - mmo_charstatus {} C³ - --------------- -//0597 by ”g˜Q - -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‚Å‚· - (db/) - mob_db.txt - ƒAƒ}ƒc‚̃‚ƒ“ƒXƒf[ƒ^‚ðŒ»Ý•ª‚©‚é”͈͂ÅC³•‘‚Æ‚«‚Ì‚±‚Ìdef,mdef‚ðC³ - --------------- -//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) - (map/) - skill.h - SC_FREECAST íœB - skill.c - skill_use_id()Askill_use_pos() C³B - skill_castend_id()Askill_castend_pos() C³B - ‚»‚Ì‘¼­‚µC³B - pc.c - calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() C³B - clif.c - clif_parse_ActionRequest()Aclif_parse() C³B - map.h - struct map_session_data‚Éprev_speed’ljÁB - mob.c - mob_ai_sub_hard()Amob_changestate()Amob_attack() C³B - --------------- -//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 - skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B - --------------- -//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 - (map/) - clif.c - clif_parse_CreateParty2() ’ljÁB - clif_parse_ItemIdentify() C³B - ‚»‚Ì‘¼­‚µC³B - atcommand.hAatcommand.c C³B - battle.h - struct Battle_Config‚Éguild_emperium_check’ljÁB - battle.c - battle_config_read() C³B - guild.c - guild_create()Aguild_created() C³B - skill.c - skill_castend_id()Askill_castend_pos() C³B - Makefile C³B - (doc/) - client_packet.txt - ƒpƒPƒbƒg0x01e8 ’ljÁB - conf_ref.txt C³B - (conf/) - atcommand_athena.conf C³B - battle_athena.conf C³B - --------------- -//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 - (db/) - skill_db.txt - ƒXƒLƒ‹‹CŒ÷‚Ìsp‚ð10‚©‚ç8‚ÉC³B - (map/) - map.c - NO_WATER‚ð100‚©‚ç1000000‚É•ÏXB - battle.c - battle_calc_magic_attack() C³B - skill.c - skill_castend_pos2() C³B - pc.c - pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() C³B - clif.c - clif_parse_GMKick() C³B - (doc/) - conf_ref.txt C³B - --------------- -//0592 by ˆø‘Þl - -E…ê‚Ì—L‚è–³‚µ‚ðwater_height.txt‚¾‚¯‚ÅŒˆ‚ß‚é‚悤‚É•ÏXBnpc_water.txt‚Í•s—v‚ÉB -EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚½‚½‚ß•s—v‚É‚È‚Á‚½ˆ—‚ðíœB - (conf/) - map_athena.conf - npc: conf/npc_water.txt Á‹Ž - water_height.txt - ƒfƒtƒHƒ‹ƒg‚‚³3‚̃}ƒbƒv•ª‚ð’ljÁ•all_water‚ð‚‚³-100‚Æ‚µ‚ăRƒƒ“ƒg‚ŒljÁ - (map/) - map.c - waterlist‚Ímap_readwater()“à‚Ńƒ‚ƒŠŠm•Û - gatÝ’èŒã‚Í•s—v‚È‚Ì‚Åmap_readallmap()‚Ńƒ‚ƒŠŠJ•ú‚µ‚Ä‚¢‚Ü‚· - map.h - struct map_data‚Ìflag‚©‚çwater_flag‚ðÁ‹Ž - npc.c - npc_parse_mapflag() - ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž - pc.c - pc_skillup() - — ‚ŃXƒLƒ‹LvUP‚Å‚«‚È‚­‚È‚Á‚½‚Ì‚Åskill[id].flag‚Ì•ª‚ÍÁ‹Ž - skill.c - skill_check_condition() - map_getcell‚Å…ê”»’è‚·‚é‚悤‚ÉC³ - --------------- -//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³ - --------------- -//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 - (map/) - pc.c - pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() C³B - pc_set_gm_account_fname() ’ljÁB - pc.h - pc_set_gm_account_fname() ’ljÁB - clif.c - clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() C³B - clif_changemap() C³B - atcommand.c - @partty C³B - skill.c - skill_castend_nodamage_id() C³B - map.c - map_config_read()Amap_readwater() C³B - script.c - script_config_read()Ado_init_script() C³B - script.h - script_config_read() ’ljÁB - (common/) - version.h C³B - grfio.h - grfio.c - grfio_init() C³B - mmo.h - GRF_PATH_FILENAME ’ljÁB - (conf/) - map_athena.conf C³B - npc_water.txt C³B - water_height.txt ’ljÁB - login_athena.conf C³B - (login/) - login.c - login_config_read()Aread_gm_account() C³B - (char/) - char.c - do_init() C³B - char_config_read() ’ljÁB - inter.c - inter_config_read() C³B - (doc/) - conf_ref.txt C³B - --------------- -//0589 by ŒÓ’±—– - -EGM‚̉EƒNƒŠƒbƒN‚ÅØ’f‚³‚ê‚é–â‘è‚ðC³ - ‚Æ‚è‚ ‚¦‚¸01dfƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B - ‚È‚ñ‚Æ‚È‚­‚±‚̃pƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ñ”‚Æ‚ÍŠÖŒW–³‚¢‚悤‚È‹C‚àcc - - clif.c - clif_parse_GMReqNoChatCount()’ljÁ - -Estart‚ðathena.sh‚Å‚È‚­athena-start‚ðŽg‚¤‚悤‚É•ÏX - start - athena.sh => athena-start start‚É’u‚«Š·‚¦‚µ‚½‚¾‚¯ - --------------- -//0588 by Kalen - -EAmatsuNPC’ljÁ - --------------- -//0587 by ŒÓ’±—– - -EloginƒT[ƒo[‚ÌŠÇ—ƒpƒPƒbƒg‚ÌŽd—l‚ð•ÏXi0579‚̃ƒOƒCƒ“‹‘”Ûî•ñ‚ɑΉžj - (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) - (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‚µ‚Ä‚­‚¾‚³‚¢ - - (tool/) - ladmin - ‹@”\’ljÁ - --------------- -//0586 by ˆø‘Þl -EƒJ[ƒhƒXƒLƒ‹‚ðC³ - (/map) - pc.c - pc_calc_skilltree() - pc_skill() - Šo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹‚È‚çskill[id].flag=1‚Æ‚·‚é - ‚Ü‚½‚Ískill[id].flag‚É–{—ˆ‚Ìlv‚ð+2‚µ‚Ä‹L‰¯ - pc_skillup() - skill[id].flag‚à‘‚â‚· - clif.c - clif_skillinfoblock() - skill[id].flag==1‚È‚çŠo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹ - (/char) - char.c - mmo_char_tostr() - skill[id].flag‚©‚ç–{—ˆ‚Ìlv’l‚ð•Û‘¶‚·‚é - --------------- -//0585 by kalen -EscriptC³ - npc_town_guid.txt ŠOŒ©•ÏX - --------------- -//0584 by ˆø‘Þl -EƒJ[ƒhƒXƒLƒ‹‚ðC³ - (/map) - pc.c - pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ꂳ‚¹‚鈗‚ð’ljÁ - pc_skill() ®— - --------------- -//0583 by kalen -EscriptC³ - npc_event_doll.txt ”²‚¯‚Ä‚¢‚½•”•ª‚̉ï˜b’ljÁ - npc_town_guid.txt ’¬‚̈ēà—vˆõ‚̉摜‚ð•\Ž¦‚Å‚«‚é‚悤‚ÉC³ - Šî–{“I‚ÉÅVjRO‚Å–â‘è‚È‚µ‚Å‚·B - --------------- -//0582 by PRevEv -E580‚̃oƒOC³B - (/map) - skill.c - skill_use_pos() C³B --------------- -//0581 by ˆø‘Þl -E…ê‚‚³Ý’èŠÖ˜A‚ð­‚µC³ - (/map) - map.c - map_waterheight() - map_readwater() - map_readmap() - waterlist[512] -> *waterlist‚É‚µ‚ÄAmalloc‚Ńƒ‚ƒŠŠm•Û‚·‚é‚悤‚ÉC³B - map_readallmap() - free(waterlist);’ljÁ - -EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý - (conf/) - npc_town_refine.txt ƒZƒ~ƒRƒƒ“”²‚¯C³ - (db/) - item_db.txt 1161,ƒoƒ‹ƒ€ƒ“C³ - --------------- -//0580 by PRevEv -EƒtƒŠ[ƒLƒƒƒXƒg‰¼ŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) - (/map) - clif.c - clif_parse_WalkToXY() C³B - pc.c - pc_calcstatus() C³B - skill.c - skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B --------------- -//0579 by A‚Ìl -EƒƒOƒCƒ“‚ð’e‚­ˆ—‚ð‰¼ŽÀ‘• - conf/login.c - auth_dat\‘¢‘Ì‚Éstate‚ð’ljÁ - mmo_authŠÖ”C³ - mmo_auth_newŠÖ”C³ - mmo_auth_syncŠÖ”C³ - mmo_auth_initŠÖ”C³ - - ‚±‚Ì’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³ - (conf/) - npc_mob_job.txt ‘æ4—ñ–Ú‚ðTab‹æØ‚è‚ÉC³ - npc_water.txt …ê‚‚³C³ - (db/) - item_db.txt 640,...,{ pet 1155; },{},,‚ÉC³ - mob_db.txt 1162,RAFFLESIA,ƒ‰ƒtƒŒƒVƒA...C³ - --------------- -//0577 by ‚é‚é‚é -E@ƒRƒ}ƒ“ƒh‚ð’ljÁ•C³ - 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Á - - doc/conf_ref.txt - conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ - help.txt @itemreset‚Ìà–¾’ljÁ‚Æ@go‚Ìà–¾C³ - -------------- -//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) - - |“S‚Ìd—Ê‚ðC³ - --------------- -//0575 by ˆø‘Þl -E…êƒtƒ@ƒCƒ‹‚ª"conf/npc_water.txt"ŒÅ’肾‚Á‚½‚Ì‚ðC³ -iconf/map_athena.conf‚Ìnpc:‚É‘‚©‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ð‚Ý‚Ä…ê‚‚³Ý’è‚·‚é‚悤‚Éj - 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 - --------------- -//0574 by ‚¢‚Ç - -EƒT[ƒo[Snapshot -Econf/shop_*.txt‚Ì“à—e‚ðconf/npc_town_*.txt‚É“‡ - --------------- -//0573 by Jazz - -Emap‚Ì penalty, nomemo, noteleport, nobranch‚Ì option‚ðÝ’èB -Emap ƒT[ƒo[‚ª cpu‚𖳌Àè—L‚·‚邱‚Æ‚ðŒŸ¸‚·‚邽‚ß‚Ì script “Y•t. cygwinŠÂ‹«‚Å쬂ƎÀŒ±‚ð‚µ‚Ü‚µ‚½. - (/conf) - mapflag.txt ’ljÁB - (/tool) - mapcheck.sh ’ljÁB - --------------- -//0572 by ˆø‘Þl -E"conf/npc_water.txt"‚Ì‘æ4—ñ‚Å…ê‚‚³Ý’è -@i‚¿‚á‚ñ‚Æ‚µ‚½…ê”»’肪ŽÀ‘•‚³‚ê‚é‚܂ł̂‚Ȃ¬‚Æ‚µ‚ÄEEEj - (/conf) - npc_water.txt ƒTƒ“ƒvƒ‹C³B - E‘æ4—ñ‚Å…ê‚Ì‚‚³‚ðݒ肵‚Ü‚·B - E‚‚³‚ð‘‚©‚È‚©‚Á‚½ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í3‚É‚È‚è‚Ü‚·B - (/map) - map.c - E…ê‚‚³Ý’èŠÖ” map_readwater() ’ljÁB - --------------- -//0571 by code -“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚ÌC³ -“V’Ãpƒbƒ`‚É›À›Ä‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Ì‚ðŠm”F‚µ‚½‚Ì‚Å›À›Ä‚̃[ƒv‚Æmob‚ð”z’u - -conf/npc_monster35.txt - mob‚Ì”z’u - -conf/npc_warp_amatsu.txt -@@ “V’Ãwarp point‚ÌÝ’u - -conf/npc_warp_gonryun.txt - ›À›Äwarp point‚ÌÝ’u - -conf/npc_town_amatsu.txt -@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`^ƒvƒƒ“ƒeƒ‰•¬…‘O©¨›À›Ä‚ÌÚ‘±NPC - --------------- -//0570 by code -“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚Å‚·B -conf/npc_monster35.txt - mob‚Ì”z’u - -conf/npc_warp_amatsu.txt -@@ warp point‚ÌÝ’u - -conf/npc_town_amatsu.txt -@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`‚ÌÚ‘±NPC - --------------- -//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 - (/conf) - atcommand_athena.conf C³B - battle_athena.conf C³B - map_athena.conf C³B - npc_water.txt ’ljÁB - (/doc) - conf_ref.txt C³B - (/map) - atcommand.hAatcommand.c C³B - battle.h C³B - battle.c - battle_config_read() C³B - pc.c - pc_jobchange()Apc_stop_walking() C³B - npc.c - npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() C³B - mob.c - mob_ai_sub_hard() C³B - pet.c - pet_food() C³B - skill.c - skill_check_condition() C³B - map.h - struct map_data C³B - --------------- -//0568 by ˆø‘Þl - -EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ê”»’è‚È‚Ç -EƒEƒH[ƒ^[ƒ{[ƒ‹…ê”»’èiread_gat(m,x,y)==3‚Å…ê‚Æ”»’èj - skill.c - skill_castend_nodamage_id() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i¹…Žæ“¾j - skill_check_condition() - case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ê”»’èj - case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ê”»’èj - --------------- -//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³ - --------------- -//0566 by ƒpƒCƒ“ - -E0563‚̃XƒLƒ‹‰ðœðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ÅC³B•Ší‚ð‚Í‚¸‚·&•Ší‚ð•Ï‚¦‚½ê‡‚Í -@–³ðŒ‚ʼn𜂷‚é‚悤‚É‚µ‚½B - -# 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 - - (/map) - pc.c - pc_checkallowskill() C³ - --------------- -//0565 by ˆø‘Þl - -Eƒ}ƒbƒvˆÚ“®Žž‚É–î‘•”õ‚ªŠO‚ê‚È‚¢‚悤‚ÉC³ -EƒƒOƒCƒ“Žž‚É–î‘•”õ‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³ - (/common) - mmo.h - i–î‘•”õ‚Í0x8000‚È‚Ì‚Åjshort‚¾‚Æint‚ւ̃LƒƒƒXƒgŽž‚È‚Ç‚É - •‰’l‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤‚½‚ßunsigned short‚ÉC³ - struct item - short equip; -> unsigned short equip; - (/map) - clif.c - clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ì–î‚̂‚¢‚Å‚É–î‘•”õ‚àƒ`ƒFƒbƒN - clif_arrowequip() ƒVƒ“ƒvƒ‹‰» - pc.c - pc_equipitem() C³ - --------------- -//0564 by g—t - -E@model‚Ì•žõ‚ß•s‰Â”\”»’èC³B -E@model‚ÅA‘I‚ׂéƒnƒY‚Ì”¯Œ`‚É•ÏXo—ˆ‚È‚©‚Á‚½•”•ª‚ðC³B -@ã‹L•ÏX“_‚ɇ‚킹‚Ähelp.txt‚ÌC³B - --------------- -//0563 by ƒpƒCƒ“ - -EMOB‚̈ÈŃXƒLƒ‹‚ðH‚ç‚Á‚½Œã‚ɉñ•œ‚µ‚È‚¢‚Ì‚ðC³Bc‚È‚ñ‚¾‚¯‚ÇA“K³‚È’l‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å -@“Å‚â’¾–Ù‚Æ“¯‚¶ŽžŠÔ‚É‚µ‚Ä‚ ‚è‚Ü‚· -@¡ŒãA‚Ü‚½Žè‚ð‰Á‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB -E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚¦‚½ê‡‚͉𜂷‚é‚悤‚É•ÏXB - - (/map) - skill.c - skill_castend_damage_id() C³B - skill_status_change_timer() C³B - pc.c - pc_checkallowskill() VÝB - pc_equipitem() C³B - pc.h - pc_checkallowskill() VÝB - --------------- -//0562 by huge - -E–î‚ð‹|‘•”õŽžˆÈŠO‚Å‚à‘•”õ‚Å‚«‚é‚悤‚É–ß‚µ‚Ü‚µ‚½B -E–î‚Ì‘®«‚ð“K—p‚·‚é‚Ì‚ð‹|‘•”õŽž‚Ì‚Ý‚ÉC³B - - pc.c - pc_equipitem() C³B - pc_calcstatus() C³B - --------------- -//0561 by ˆø‘Þl - -ELinux‚Å‚àƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É - (/map) - skill.c - skill_castend_damage_id() •Ï”dx,dy‚Ì錾ˆÊ’u•ÏX - Makefile - LIBS ‚É -lm ’ljÁ - -E@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~B by (no name)‚³‚ñ - atcommand.c - @jobchange,@charjob‚É«•Êƒ`ƒFƒbƒN’ljÁ - -// ƒ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 - (/map) - clif.c - clif_parse_PartyMessage()Aclif_parse_GuildMessage C³B - --------------- -//0560 by ƒpƒCƒ“ - -E0559 ‚Ì athena-start ‚ð Unix Like OS ‚Å‚à“®‚­‚悤‚ɃŠƒtƒ@ƒCƒ“B - --------------- -//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 - --------------- -//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 - (/db) - item_db.txt C³B - skill_db.txt C³B - (/map) - skill.c - skill_check_condition()Askill_additional_effect() C³B - skill_status_change_start() C³B - npc.c - do_init_npc() C³B - --------------- -//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 - skill.c - skill_additional_effect() C³B - skill_check_condition() C³B - --------------- -//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 - (/conf) - atcommand_athena.conf C³B - battle_athena.conf C³B - (/db) - item_db.txt C³B - (/doc) - conf_ref.txt C³B - (/char) - char.c - do_init()Acheck_connect_login_server() C³‚Æ­‚µC³B - (/map) - mob.c - mob_damage() C³B - pc.c - pc_getitemfromcart()Apc_steal_item() C³B - pet.c - pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B - script.c - buildin_getitem() C³B - skill.c - skill_produce_mix() C³B - storage.c - storage_storageget() C³B - atcommand.c C³B - map.c - map_config_read() C³‚Æ­‚µC³B - chrif.c - check_connect_char_server()Ado_init_chrif()Achrif_setip() C³‚Æ­‚µC³B - npc.c - npc_buylist()Anpc_selllist() C³B - --------------- -//0554 by NOCTURNE -EƒT[ƒo[SnapShot -Etoo/addaccount‚Ìíœ -Ehelp.txt‚ÌXV - --------------- -//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 - - (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Ž~‚Ì‚½‚ß) - - (login/) - login.h - START_ACCOUNT_NUM‚ð500000‚©‚ç2000000‚É•ÏX - login.c - 7532(Ø’f)ƒpƒPƒbƒg‚̈—C³ - mmo_auth_new()C³ - -Ebackup‚ªƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’ljÁ - (tool/) - backup - ƒtƒ@ƒCƒ‹’ljÁC³ - --------------- -//0552 by Ž€_ - -EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Å‚·‚ª–{“–‚ɈÀ’è«ã‚ª‚Á‚½‚© -‚Ç‚¤‚©‚Í•s–¾‚Å‚·B -EPVP‚É‚æ‚èƒNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚é–â‘èC³B - atcommand.c - @pvpoffA@pvponA@gvgonA@gvgoff C³B - script.c - buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() C³B - clif.c - clif_pvpset() C³B - skill.c - skill_attack()Askill_unit_onplace()Askill_unit_onout() C³B - skill_unit_ondelete() C³B - --------------- -//0551 by Kalen -EDBC³ - db/create_arrow_db.txt Š®¬ - SourceID‡‚Ƀ\[ƒg‚µ‚Ü‚µ‚½B - --------------- -//0550 by huge - -E–î쬃XƒLƒ‹ŽÀ‘• - - clif.c - clif.h - clif_arrow_create_list() ’ljÁ - clif_arrow_created() ’ljÁ - clif_parse() C³ - - pc.c - pc_search_inventory() C³ - - skill.c - skill.h - skill_arrow_db() ’ljÁ - skill_readdb() C³ - skill_castend_damage_id() C³ - - db/create_arrow_db.txt ’ljÁ - db/skill_db.txt C³ - - ‚Ü‚¾db‚Í–¢Š®¬‚Å‚·B - --------------- -//0549 by Kalen - -Emap_athena.conf - ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GߌÀ’èƒXƒNƒŠƒvƒg‚ð®“Ú - shop3.txt’ljÁ - -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_event_carnival.txt [’ljÁ]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ÌNPC - --------------- -//0548 by huge - -E–î‚ð‘•”õ‚µ‚½Žž‚Ì•\Ž¦ƒoƒO–â‘è‚ðC³B - clif.c - clif_arrowequip() C³B - pc.c - pc_equipitem() C³B - -‚ ‚Æ‚ÍAƒ}ƒbƒv‚ðˆÚ“®‚·‚邽‚Ñ‚É‘•”õ‚ªŠO‚ê‚¿‚Ⴄ“_‚Å‚·‚ËEEEB - --------------- -//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 - pc.c - pc_calcstatus() C³B - 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) - battle_athena.conf - sanctury_type‚ðsanctuary_type‚É•ÏXB - conf_ref.txt - sanctury_type‚ðsanctuary_type‚É•ÏXB - --------------- -//0546 by Ž‚Žqo^.^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 Ž€_ - -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 - battle.c - battle_weapon_attack() C³B - skill.c - skill_attack()Askill_castend_damage_id() C³B - --------------- -//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 - pc.c - pc_attack_timer() C³B - pc_authok() C³B - battle.c - battle_calc_weapon_attack() C³B - battle.h - struct Battle_Config C³B - map.h - struct map_session_data C³B - (/conf) - battle_athena.conf C³B - -‚Í‚Á‚«‚è‚¢‚Á‚ă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 - --------------- -//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 - (/login) - login.c - mmo_auth_new() C³B - (/map) - skill.c - skill_castend_damage_id() C³B - battle.c - battle_calc_misc_attack() C³B - mob.c - mob_damage() C³B - mob_deleteslave()Amob_deleteslave_sub() ’ljÁB - --------------- -//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 - (/map) - battle.c - battle_damage() C³B - skill.c - skill_attack()Askill_castend_damage_id() C³B - skill_castend_nodamage_id C³B - npc.c - npc_buylist()Anpc_selllist() C³B - map.c - map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() - C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) - (/conf) - battle_athena.conf C³B - (/doc) - conf_ref.txt C³B - --------------- -//0541 by huge - -E–î‚ð‚Ü‚Æ‚ß‚ÄŽ‚Ä‚é‚悤‚ÉC³B -E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«‚ÉA‘•”õ‚µ‚Ä‚¢‚é–î‚ðÁ”ï‚·‚é‚悤‚ÉC³B - - itemdb.c - itemdb_search() C³ - itemdb_isequip() C³ - - battle.c - battle_weapon_attack() C³ - battle_calc_weapon_attack() C³ - - clif.c - clif.h - clif_arrow_fail() ’ljÁ - clif_parse_EquipItem() C³ - --------------- -//0540 by Ž€_ - -EƒoƒOC³‚Æ–â‘è‚ ‚è‚»‚¤‚ÈŠC³B(‚±‚ê‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É -‚æ‚éŽIƒ_ƒEƒ“‚Í‚È‚­‚È‚é‚Í‚¸...) - map.c - map_foreachinarea()Amap_foreachinmovearea() C³B - skill.c - skill_unitsetting()Askill_delunitgroup() C³B - pc.c - pc_damage() C³B - battle.c - battle_damage() C³B - npc.c - npc_parse_mob() C³B - mob.c - mob_spawn_dataset() C³B - --------------- -//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 - script.c - buildin_pvpoff() C³B - buildin_pvpon() C³B - atcommand.c C³B -EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚¤‚ÆUŒ‚‚ªŽ~‚Ü‚é‚悤‚ÉC³B - 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 - --------------- -//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 - -Ebattle.c - battle_calc_weapon_attack() C³ - -Eskill.c - skill_additional_effect() C³ - skill_castend_damage_id() C³ - skill_check_condition() C³ - skill_use_id() C³ - skill_castend_nodamage_id() C³ - -Eskilldb.txt - ƒoƒbƒNƒXƒ^ƒu‚ÌŽí—Þ‚ð[êŠ]‚©‚ç[“G]‚Ö•ÏX - --------------- -//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.h - finger_offencive_type‚ðfinger_offensive_type‚ÉC³B(‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³‚µ‚Ü‚µ‚½B) - struct battle_config‚Érestart_hp_rateArestart_sp_rate ’ljÁB - battle.c - battle_calc_weapon_attack()Abattle_calc_magic_attack() C³B - skill.c - skill_attack() C³B - clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚悤‚É•ÏXB(M‚³‚ñ‚ÌŽw“E‚É‚æ‚èC³B) - clif.c - clif_skill_estimation() C³B - conf_ref.txt - finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB - mob.c - mob_ai_sub_hard()Amob_target()Amob_damage() C³B - pc.c - pc_steal_item() C³B - atcommnad.cAatcommnd.h - @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’ljÁB - battle_athena.conf - finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB - --------------- -//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 - -i•ÏXj - common/ - grfio.c - --------------- -//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) - (/doc) - conf_ref.txt C³B - (/conf) - battle_athena.conf C³B - (/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 - --------------- -//0534 by Diex - -EƒRƒ“ƒ{ƒVƒXƒeƒ€‰¼ŽÀ‘• - map/ - battle.c - battle_weapon_attack() C³B - clif.c - clif.h - clif_combo_delay()@ŠÖ”’ljÁB - map.h - map_session_data@•Ï”’ljÁB - pc.c - pc_authok()@•Ï”’ljÁB - pc_attack_timer()@C³B - skill.c - skill_castend_damage_id()@C³B - skill_check_condition@C³B - skill_use_id@C³B - db/ - skill_db.txt@C³B - -’j–Ò—´Œ‚©‚爢C—…”e–PŒ‚É‚Í‚Ü‚¾‚‚Ȃ°‚Ü‚¹‚ñB - ˆ¢C—…”e–PŒ‚ð•ú‚Á‚½ŒãAPC‚ÍMOB‚Ì”wŒã(?)‚Ɉړ®‚µ‚Ä‚é‚Á‚Û‚¢‚Ì‚Å‚·‚ªA -@@‚»‚±‚ç‚Ö‚ñ‚Ìî•ñ‚ª‘«‚è‚Ü‚¹‚ñBî•ñ’ñ‹Ÿ‚¨Šè‚¢‚µ‚Ü‚·B - --------------- -//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³ - -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 - -Eƒnƒ“ƒ^[‚Ìã©‚ðŽg‚Á‚½ƒXƒLƒ‹‚Åã©‚ðÁ”ï‚·‚é‚悤‚É‚µ‚½ -batttle.c ‚Ì skill_check_condition() ‚ðC³ -iƒWƒFƒ€Á”‚Ì—¬—p‚Á‚Û‚¢‚±‚Æ‚ð‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚Lj—’†g‚Í—‰ð‚µ‚Ä‚È‚¢‚—j - -EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚̃_ƒ[ƒW”»’è‚ð•sŽ€‘®«•ˆ«–‚Ží‘°‚ÉÄ“xC³ -0532‚ÅÄ‚ÑŒ³‚É–ß‚Á‚Ä‚µ‚Ü‚Á‚½‚Ì‚ð‚È‚¨‚µ‚Ü‚µ‚½B -‚½‚¾‚µA‰ñ”•l””»’è‚É‚ÍŽè‚ð‰Á‚¦‚Ä‚¢‚Ü‚¹‚ñi‚Á‚Ä‚©Ž©•ª‚É‚Í‚Ü‚¾ƒ€ƒŠj - -ˆÈãB -Ø‚Á‚½“\‚Á‚½‚ÌŒ©—lŒ©^Ž—‚Å‚â‚Á‚½‚Ì‚ÅŒ¾Œê“I‚ɉʂ½‚µ‚Ä‚±‚ê‚Å‚æ‚¢‚Ì‚©BBB -‚à‚µˆ—•û–@‚É–â‘è—L‚肾‚Á‚½‚çC³‚È‚è‚ð‚µ‚Ä‚¢‚½‚¾‚¯‚é‚ÆŠð‚µ‚¢‚Å‚·B - --------------- -//0532 by Ž€_ - -EC³‚µ‚½Š‚ð‘S‘Rƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯...Š¾ -Emapflag‚Énopenalty’ljÁBŽg—p•û–@‚Í - 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(‚µ‚½‚Í‚¸...) - (db/) - const.txt C³B - item_db.txt C³B - (conf/) - battle_athena.conf C³B - (doc/) - conf_ref.txt C³B - (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 - --------------- -//0531 by Ž‚Žqo^.^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³ - --------------- -//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³ - -‘½•ª‚±‚ÌŽd—l‚Ň‚Á‚Ä‚é‚Í‚¸‚Å‚·cB - --------------- -//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 - - skill.c - skill_unit_onplace()C³ - skill_castend_nodamage_id()C³ - -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 - - “Á‚É——R‚ª–³‚¢ŒÀ‚èƒAƒJƒEƒ“ƒgì¬‚à‚±‚¿‚ç‚̃c[ƒ‹‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - addaccount‚̓pƒPƒbƒg‚Ì“s‡ãƒpƒXƒ[ƒh•¶Žš”‚̧ŒÀ‚ª‚«‚‚¢‚Ì‚ÅB - - ƒ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/) - login.c - parse_admin()’ljÁAparse_login()C³ - (doc/) - admin_packet.txt - V‹K’ljÁBŠÇ—ƒpƒPƒbƒgî•ñ - (tool/) - ladmin - login-server administration tool‚ÌPerlƒXƒNƒŠƒvƒg - - --------------- -//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 - - map_athena.conf - - battle.c battle_config_read() - battle.h Battle_Config - battle_athena.conf - ˆÈãAbattle_athena.conf—˜—p‚½‚ß‚É•ÏX - - pc.c pc_heal() - –ß‚è’l‚ðhp+sp‚ÉB–ß‚è’l‚ð—˜—p‚µ‚Ä‚é•”•ª‚ª‚È‚³‚»‚¤‚¾‚Á‚½‚Ì‚ÅŽg‚킹‚Ä–á‚¢‚Ü‚µ‚½BƒoƒO‚ª‹N‚«‚½‚ç‚·‚Ý‚Ü‚¹‚ñB - - skill.c skill_casted_nodamage_id()‚̃q[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒ±’lŠl“¾‚·‚é‚悤•ÏX - - npc.c npc_buylist() - npc_selllist() •ÏX - ‚±‚ê‚ç‚Æ‚ÌŒ“‚ˇ‚¢‚Åskill.h‚ðincludeB - - -¤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 - -‚Æ‚±‚ë‚Å“]ENPC‚ªˆê•”‚©‚Ô‚Á‚Ä‚é‚ñ‚Å‚·‚ªC³‚µ‚È‚¢‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©H - --------------- -//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 by Ž€_ - -E0525‚̃ŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŽg‚¦‚È‚¢ƒoƒOC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñ‚ªŽ¡‚Á‚½‚Í‚¸‚Å‚·B‘½•ª...) - skill.c C³B - clif.c C³B - --------------- -//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 - 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 - --------------- -//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 - --------------- -//0523 by NOCTURNE - -Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚̃yƒRƒyƒRŠÇ—•º‚ð’ljÁ --------------- -//0522 by ”g˜Q - -Emob_db.txt‚ðƒWƒ…ƒm[Œã‚̃f[ƒ^‚ÉC³ - --------------- -//0521 by ŒÓ’±—– - -EmapƒT[ƒo[‚ÉŒq‚ª‚ç‚È‚¢–â‘è‚ðC³ - clif.c - clif_parse()‚ÌC³ - --------------- -//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/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 - - (char/) - char.c/char.h - parse_frommap()C³ - mapif_sendallwos()’ljÁ - (map/) - map.c/map.h - map_setipport()‚ðC³ - struct map_session_data‚Ìstateƒƒ“ƒo‚Éwaitingdisconnect’ljÁ - chrif.c/chrif.h - FX’ljÁ - clif.c - waitingdisconnect‚ª‚P‚È‚çƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚½ - pc.c - pc_setpos()C³iƒ}ƒbƒvƒT[ƒo[•ÏXˆ—‚È‚Çj - pc_setnewpc()C³ - --------------- -//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 - map.h - AREA_SIZE‚ð15‚©‚ç20‚É•ÏXB - struct map_session_dataAstruct mob_dataAstruct skill_timerskill C³B - map.c - map_quit() C³B - clif.h - clif_changemapcell() C³B - clif.c - clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() C³B - 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.h - skill_addtimerskill()Askill_cleartimerskill() C³B - pc.c - pc_movepos()Apc_walk()Apc_authok() C³B - 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 - battle.c - battle_calc_weapon_attack()Abattle_weapon_attack() C³B - ‚»‚Ì‘¼­‚µC³B - --------------- -//0518 by Kalen -EEvent_pumpkinŠÖ˜A‚̃tƒ‰ƒO•s‹ï‡C³ - --------------- -//0517 by Ž€_ - -EƒAƒCƒXƒEƒH[ƒ‹‚Å ‚蔲‚é–â‘èC³‚Æ­‚µC³B(M‚³‚ñƒpƒPƒbƒg‚Ì’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) - clif.h - clif_changemapcell() ’ljÁB - clif.c - clif_changemapcell() ’ljÁB - skill.h - SC_STEELBODY‚ð84‚©‚ç87‚É•ÏXB - skill.c - skill_unitsetting()Askill_unit_onlimit() C³B - skill_status_change_end()Askill_status_change_start() C³B - client_packet.txt C³B - --------------- -//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‚Ì•¨‚ª‚¿‚å‚Á‚Æ‚à‚Á‚½‚¢‚È‚©‚Á‚½‚Ì‚Å...) - 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 - --------------- -//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) - skill.h - skill_addtimerskill()Askill_cleartimerskill ’ljÁB - 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 - mob.c - mob_damage() C³B - battle.c - battle_calc_weapon_attack() C³B - map.h - struct skill_timerskill ’ljÁB - struct map_session_data C³B - map.c - map_quit() C³B - pc.c - pc_authok() C³B - pc_damage() C³B - clif.c - clif_parse_WalkToXY() C³B - clif_useitemack() C³B(Ž‘—¿’ñ‹Ÿ: Kalen‚³‚ñ) - pet.c - pet_catch_process2() C³B - skill_db.txt - ‹CŒ÷‚ÌSP‚ð10‚É•ÏXB(ƒlƒbƒg‚ÌŒŸõ‚Å‚Í10‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½BŠØ‘‘ ‚Å‚Í15‚Æ•\Ž¦‚³‚ê‚Ü‚·‚ª...) - client_packet.txt - 01c8‚Ì•ÏX‚Å‚·BKalen‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B - --------------- -//0514 by Kalen - -EscriptC³+’ljÁ - - 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Á - --------------- -//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 - battle.h - Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’ljÁB - battle.c - battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“ǂނ悤‚ÉC³B - pc.c - pc_makesavestatus() C³B - pc_damege() C³B - pc_jobchange() C³B - battle_athena.conf - death_penalty_base,death_penalty_job’ljÁB - --------------- -//0512 by Ž€_ - -E–â‘è‚É‚È‚è‚»‚¤‚È•”•ª‚ÌC³‚ÆV‚µ‚¢ƒpƒPƒbƒg‚̑Ήž‚ªƒƒCƒ“‚Å‚·BŒãƒoƒO‚à­‚µŽ¡‚µ‚Ü‚µ‚½B(“®‚¯‚È‚¢ó‘ÔˆÙí‚É‚È‚Á‚Ä‚à“®‚­–â‘è‚ÌC³“™‚Å‚·B) - athena.sh C³B(‚¢‚‚àŽI‚ðŒÂ•Ê‚ÉŽÀs‚µ‚Ä‚¢‚½‚Ì‚Å‹C‚ª‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B) - makefile - DPACKETVER‚ð2‚©‚ç3 ‚ÉC³BƒWƒ…[ƒmˆÈŒã‚Ì‘ ‚ðŽg‚¤‚Ì‚È‚ç3‚É‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B(‚»‚̈ȑO‚È‚ç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 - clif.h - clif_skill_damage3() íœB - clif_skillcastcancel() ’ljÁB - battle.c - battle_calc_weapon_attack() C³B - hitrate‚ð10000ˆÈã‚É‚·‚ê‚ΕK’†‚É‚È‚é‚悤‚É•ÏXB(¡‚ÌŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ì•K’†UŒ‚ˆÈŠO‚Í•K’†‚É‚È‚è‚Ü‚¹‚ñB) - ‘¼‚É­‚µC³B - 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 - skill.h - SC_EXPLOSIONSPIRITS‚ð89‚©‚ç86‚É•ÏXB(86 = 0x56) - SC_DELUGE‚ð86‚©‚ç89‚É•ÏXB - 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_db.txt - ‹CŒ÷‚ÌÁ”ïSP‚ðC³B(‘O‚Ì15‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) - mob.c - mobskill_use_id()Amobskill_use_pos() C³B - map.c - map_quit() C³B - atcommand.h - atcommand.c - @ƒRƒ}ƒ“ƒh@spiritball’ljÁB(‹@”\‚ÍŽg‚¦‚΂킩‚è‚Ü‚·B‚½‚¾1000ˆÈã‚Í“ü‚ê‚È‚¢•û‚ª‚¢‚¢‚Å‚·B‘ ‚ªƒpƒ“ƒN‚µ‚Ü‚·‚Ì‚Å...) - 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 - --------------- -//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 - pc.c - pc_calcstatus() C³B - battle.c - battle_calc_weapon_attack() C³B - skill.c - skill_check_condition() C³B - - skill_db.txt C³B - --------------- -//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 - skill.c - skill_check_condition() C³B - clif.c - clif_skill_damage3() C³B - battle.c - battle_weapon_attack()Abattle_calc_weapon_attack C³B - --------------- -//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³ - --------------- -//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 - map.h - struct map_session_data C³B - map.c - map_quit() C³B - map_addflooritem() C³B - clif.h - clif_spiritball_int()‚ðclif_spiritball()‚É•ÏXB - clif_spiritball_ext() íœB - clif.c - clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚¦‚ÄC³B - clif_spiritball_ext() íœB - clif_set01e1() ’ljÁB - clif_getareachar_pc() C³B - skill.h - SC_CALLSPIRITS íœB - 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 - --------------- -//0507 by Diex -0505‚ÌC³ -EŽO’i¶‚̃GƒtƒFƒNƒgŽÀ‘• - --------------- -//0506 by hoenny -‘S‘Ì“I‚É­‚µŽ®C³ -ƒZƒCƒW‚̃XƒLƒ‹‚ªƒAƒCƒeƒ€‚ðÁ–Õ‚·‚é‚悤‚ÉC³ -(ƒXƒLƒ‹‚ÌDB‚É zeny, spiritball, item, equip‚ð“ü‚ꂽ‚¢‚ªŽžŠÔ‚ª‚È‚­‚Ä—ÕŽž“I‚É ...) - --------------- -//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 - map/clif.c - map/clif.h - clif_skill_damage3()’ljÁ - map/pc.c - map/skill.c - map/battle.c - C³E‹y‚ђljÁ -iŒvŽZŽ®‚Í+ Acolyte Maniax +‚ðŽQl‚É‚µ‚Ü‚µ‚½Bj - --------------- -//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 - --------------- -//0503 by nabe - -E¸˜BC³‚ÆLinux—p‚É‚¿‚å‚Á‚Æ•ÏX‚È‚Ç - conf/map_athena.conf - npc_event_doll.txt, - npc_turtle.txt, - //npc_pota.txt€–ڒljÁ - conf/npc_pota.txt’ljÁisocie‚³‚ñì‚̃_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚³‚ñj - conf/npc_shop.txt - ƒCƒYƒ‹[ƒh•Ší¤l‚̉¿ŠiC³ - conf/script_athena.conf - 0499‚Å‚Ì•¶Žš‰»‚¯HC³ - login/login.c - #include ’ljÁ - map/script.c - buildin_getequipname() - ¸˜Bƒƒjƒ…[‚Ìmalloc‚ðC³ - buildin_getequipisenableref() - ¸˜B‰Â”\ðŒC³iAthefans‚³‚ñ‚ÌðŒ•¶‚É‚µ‚Ä‚Ý‚Ü‚µ‚½j - map/skill.c - skill_check_condition()•Ï”錾ˆÊ’u‚Ì•ÏX‚Ì‚Ý - --------------- -//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‚µ‚Ä‚¢‚é•û‚Í‚¢‚È‚¢‚Ý‚½‚¢‚È‚ñ‚Å‚·‚Ë...) - --------------- -//0501 by hoenny - -E500‚Ì–â‘è“_C³ --HP‰ñ•œ—ÍŒüã,SP‰ñ•œ—ÍŒüã - map/pc.c - pc_natural_heal_hp()C³ - pc_natural_heal_sp()C³ - -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‚¤‚±‚Æ‚ª‚Å‚«‚È‚¢‚Å‚·. - db/skill_db.txt - ‹C’DC³ - ‹à„C³ - map/pc.h - pc_is50overweight()’ljÁ - pc_is90overweight()’ljÁ - 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³ - 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 - pc.h - pc_move()‚ðpc_movepos()‚É•ÏXB - pc.c - pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A - pc_calcstatus()Apc_checkweighticon()Apc_damage() C³B - skill.c - skill_castend_pos2()Askill_check_condition()Askill_use_id()A - skill_use_pos() C³B - pet.c - pet_recv_petdata()Apet_change_name() C³B - map.h - struct map_session_data‚Éskillitemlv ’ljÁB - script.c - buildin_itemskill() C³B - clif.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A - clif_parse_LoadEndAck() C³B - mob.c - mobskill_use_id()Amobskill_use_pos() C³B - --------------- -//0498 by hoenny - -DŸ†‹…‚ª‚·‚Á‚©‚茩‚¦‚é‚悤‚ÉC³(Á–ÕƒXƒLƒ‹Žg—p‚ÌŽžÁ–Õ‚·‚é‚悤‚ÉC³) -DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ÌŽžŸ†‹…‚ðÁ–Õ‚·‚é‚悤‚ÉC³ - doc/client_packet.txt - 0x1d0’ljÁ - map/map.h - sd‚Ìstructure‚É spiritball’ljÁ - map/clif.h - clif_spiritball_del() -> clif_spiritball_int()C³ - clif_spiritball_cre() -> clif_spiritball_ext()C³ - map/clif.c - packet_len_table[]C³ - clif_spiritball_del() -> clif_spiritball_int()C³ - clif_spiritball_cre() -> clif_spiritball_ext()C³ - map/pc.h - pc_item_steal() -> pc_steal_item()C³ - pc_coin_steal() -> pc_steal_coin()C³ - map/pc.c - pc_item_steal() -> pc_steal_item()C³ - pc_coin_steal() -> pc_steal_coin()C³ - pc_calcstatus()C³ - map/skill.c - skill_check_conditon()C³ - --------------- -//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 - skill.c - skill_castend_pos2() C³B - skill_additional_effect() C³B - pc.c - pc_move() ’ljÁB - pc_item_steal()Apc_coin_steal() C³B - pc.h - pc_move() ’ljÁB - map.h - struct mob_data C³B - mob.c - mob_spawn() C³B - mob_target() C³B - 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 - 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 - trade.c - trade_traderequest() C³B - 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‚í‚©‚ç‚È‚¢‚Ì‚Å... - - ƒ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ƒ‹)% - -–{Ž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 - --------------- -//0496 by hoenny - -DWZ‚̃ƒeƒIƒXƒg[ƒ€ŽÀ‘• -DƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ - db/skill_db.txt - ƒƒeƒIƒXƒg[ƒ€C³ - map/pc.c - pc_coin_steal()C³ - map/skill.c - skill_castend_pos2()C³ - --------------- -//495 by nini - -EAR‚ª•ÐŽè•€A—¼Žè•€‚Å‚µ‚©”­“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí - map/skill.c - skill_check_condition()@C³ - -‘O‰ñC³‚Ì‚Æ‚«“ÝŠí“ü‚ê–Y‚ê‚Ä‚½‚悤‚Å‚·B - --------------- -//0494 by Ž‚Žqo^.^o - -conf/mpc_warp.txt -Dƒnƒ“ƒ^ˆê“]E’no‚Ä‚¢‚È‚¢C³ - --------------- -//0493 by ”g˜Q - -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³ - --------------- -//0492 by Kalen - -EscriptC³+’ljÁ - - 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_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³ - - --------------- -//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 - skill.c - skill_check_condition()Askill_castend_pos2() C³B - skill_db.txt - Žc‰eC³B -Escript.c - set_posword() C³B -¦ˆêl‚ŃeƒXƒg‚ÍÏ‚ñ‚Å‚¢‚Ü‚·‚ª‘¼‚Ìl‚ɳ‚µ‚­Œ©‚¦‚é‚©‚Ç‚¤‚©‚Í–¢Šm”F‚Å‚·B -•Ï‚È‚Ì‚©‚Ç‚¤‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B - --------------- -//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 - --------------- -//0489 by Ž€_ - -E0483‚̃oƒOC³Bbattle_athena.conf‚Ìquest_skill_learn‚ª³‚µ‚­“K—p‚³‚ê‚é‚悤‚É•ÏX‚Æ–â‘肪‚ ‚Á‚½•”•ª‚ÌC³B(ƒeƒXƒgÏ‚Ý) - pc.c - pc_calc_skilltree()Apc_skill() C³B - 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–¾...Š¾) - pc.c - pc_insert_card() C³B -Epc.h - pc_ishiding() C³B - --------------- -//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³‚µ‚½.) - db/skill_db.txt - ƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ - map/pc.h - pc_coin_steal()’ljÁ - map/pc.c - pc_coin_steal()’ljÁ - pc_item_steal()C³ - map/skill.c - skill_castend_nodamage_id()C³ - --------------- -//0487 by hoenny - -E485‚Ì–â‘è“_‚¿‚å‚Á‚ÆC³ - map/pc.c - pc_item_steal()C³ - map/skill.c - skill_castend_nodamage_id()C³ - --------------- -//0486 by Ž‚Žqo^.^o - -db/class_equip_db.txtC³ -—ô‚¯‚½‘å’n‚Ì‘A”R‚¦‚鑾—z‚Ì‘AŠ£‚¢‚Ä‚é•—‚Ì‘AàÒŽ¦˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢–â‘èC³ - --------------- -//0485 by hoenny - -E RG‚̃Xƒiƒbƒ`ƒƒ[ŽÀ‘• -E ƒXƒeƒB[ƒ‹C³ -E ˜I“XŠJÝ‚ÌŽž skill_check_condition‚Åó‘Ô‚ðƒ`ƒFƒN‚·‚é‚悤‚ÉC³ - map/pc.h - pc_ishiding()’ljÁ - pc_item_steal()’ljÁ - map/pc.c - pc_item_steal()’ljÁ - map/skill.c - skill_castend_nodamage_id()C³ - skill_additional_effect()C³ - skill_check_condition()C³ - --------------- -//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Á - skill.c - skill_readdb()‚Åinf2‚ð“ǂނ悤‚ÉC³ - -EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚̃AƒCƒRƒ“‚ªƒƒOƒCƒ“’¼Œã‚É‚Í•\Ž¦‚³‚ê‚È‚¢–â‘èC³ - clif.c - clif_parse_LoadEndAck()C³ - --------------- -//0483 by Ž€_ - -E0482‚Ì“K—pB - npc_event_skillget.txt C³B - script.c C³B - skill.c C³B - pc.c C³B - --------------- -//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³ - (conf/) - npc_event_skillget.txt - o—ˆ‚邾‚¯•Ï”‚ðŽg‚í‚È‚¢‚悤‚ÉC³i–¢ƒeƒXƒgj - (map/) - script.c - buildin_getskilllv()C³ - -EƒXƒeƒB[ƒ‹‚ÅŽ¸”sŽž‚̃GƒtƒFƒNƒg•ÏX -E“¯‚¶MOB‚É‚Í‚P‰ñ‚µ‚©ƒXƒeƒB[ƒ‹‚Å‚«‚È‚¢‚悤‚ÉC³ - (map/) - skill.c - skill_castend_nodamage_id()C³ - map.h - struct mob_data‚Ésteal_countƒƒ“ƒo’ljÁ - mob.c - mob_spawn()C³Asteal_count‚ð0‚ɉŠú‰»‚·‚é‚悤‚É - -EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅHP‚ª32767‚ð’´‚¦‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³i–¢ƒeƒXƒgj - (map/) - pc.c - pc_calcstatus()C³ - --------------- -//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 - skill.c - skill_readdb()C³‚Æ­‚µC³B - skill_get_inf2() ’ljÁB - skill_db.txt C³B - skill_tree.txt C³B(0478‘O‚Ì•¨) - clif.c - clif_skillinfoblock() C³B - char.c C³B(0478‘O‚Ì•¨) -Ebattle_athena.conf‚Équest_skill_learn’ljÁB - battle.h C³B - 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 - 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 - --------------- -//0480 by Kalen - -EEventskill’ljÁ - conf/npc_event_skillget.txt - -Emap_athena.conf•ÏX - warp.txt‚Ì“Ç‚Ýž‚Ý—Dæ“x‚ð•ÏX - prt_castle“™A‹ŒEP‚̃[ƒv‚ƈقȂéꊂɕÏX‚³‚ê‚½ê‡ - æ‚É“Ç‚Ýž‚ñ‚¾•û‚ª—D悳‚ê‚é‚Ì‚ÅAEP‚Ì‚‚¢‡‚Ì‚ª‚æ‚낵‚¢‚©‚Æ - conf/map_athena.conf - --------------- -//0478 by ŒÓ’±—– - -*** - Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX!! (Ž©“®“I‚É•ÏŠ·‚³‚ê‚Ü‚·) - ƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚É! - 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 - - (conf/) - npc_test_skill.txt - ƒTƒ“ƒvƒ‹ - (db/) - skill_tree.txt - ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚µ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’èB - (char/) - char.c - ƒtƒ‰ƒO‚àathena.txt‚É•Û‘¶‚·‚é‚悤‚ÉB - ˆÈ‘O‚ÌŒ`Ž®‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚Ü‚·B - (map/) - pc.c/pc.h - pc_skill(),pc_calc_skilltree()‚È‚ÇC³ - script.c - buildin_skill(),buildin_getskillid()‚È‚ÇC³ - -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) - - atcommand.c/atcommand.h - struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’ljÁ - @questskill,@lostskillˆ—’ljÁ - --------------- -//0477 by nabe - -Eˆê•”•Ï”‚Ì錾ˆÊ’u‚Ì•ÏX‚Ì‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚µ‚â‚·‚¢‚悤‚ÉjB - 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 - -Enpc‚ªƒLƒƒƒ‰–¼‚ð’‚é‚Æ‚«‚̃oƒOC³ - map/script.c - buildin_strcharinfo()‚ŃLƒƒƒ‰–¼—p‚̃ƒ‚ƒŠ‚ð - static‚ÉŠm•Û‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðAmalloc‚ÉC³B - --------------- -//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 - map/skill.c - skill_castend_nodamage_id()C³B - --------------- -//0474 by Ž€_ - -E0471‚̸—û‚ÌŽž•\Ž¦‚³‚ê‚镶Žš‚ÌÝ’è‚ðmap_athena.conf‚©‚çscript_athena.conf‚É•ÏXB - script.c - do_init_script() C³‚Æ­‚µC³B - script.h C³B - script_athena.conf ’ljÁB - map_athena.conf C³B - 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(‘¼—Í–{Šè) - 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) - item_db.txt - ŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX C³B -Etrade.c - trade_tradecommit() C³Bpc_delitem()‚ðŽg‚¤‚悤‚É•ÏXB -¦ƒeƒXƒg‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B - --------------- -//0473 by Kuro - -Eclass_equip_db‚ðˆê•”C³ - db/class_equip_db.txt - --------------- -//0471 by hoenny - -»˜B‚ÌŽžo‚镶‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½.(map_athena.conf‚Å’²ß‰Â”\) -‹CŒ÷‚Ì”Žš‚ªŽsœD‚ÌŽžŽÀÛ…˜H•\Ž¦}—ÎC³ - conf/map_athena.conf - refine_posword:’ljÁB - map/map.c - map_config_read()C³B - map/script.h - do_set_posword()’ljÁB - map/script.c - do_set_posword()’ljÁB - buildin_getequipname()C³B - map/skill.c - skill_status_change_start()C³B - --------------- -//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 - skill.c - skill_produce_mix() C³B - --------------- -//469 by ”g˜Q - -Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚̃‚ƒ“ƒX–¼‚ðC³ -Eitem_db.txt‚̉ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ðƒWƒ…ƒm[Œã‚Ì‚à‚Ì‚ÉC³ - --------------- -//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³ - map/skill.c - skill_use_id()@C³ - skill_check_condition()@C³ -E2-2EƒXƒLƒ‹‚̃LƒƒƒXƒgEƒfƒBƒŒƒC’ljÁ - 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³ - doc/client_packet.txt - 0x1e1ƒpƒPî•ñ’ljÁ - map/battle.c - battle_calc_weapon_attack()C³ - map/clif.h - clif_spiritball_cre()’ljÁ - clif_spiritball_del()’ljÁ - map/clif.c - packet_len_table[]C³ - clif_spiritball_cre()’ljÁ - clif_spiritball_del()’ljÁ - clif_changemap()C³ - map/skill.c - skill_castend_nodamage_id()C³ - skill_check_condition()C³ - --------------- -//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‚¿‚å‚Á‚Æ–Ê“|‚Å‚·‚ª... - --------------- -//464 by ”g˜Q - -Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ì•”•ª‚ɂ‚¢‚ÄC³(–¢ŽÀ‘•ƒXƒŒ‚É‘‚©‚ê‚Ä‚¢‚½‚à‚Ì‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B - skill.c - skill_use_id()C³ - cast_db.txt - ƒ‚ƒ“ƒNƒXƒLƒ‹’ljÁ - --------------- -//463 by ŒÓ’±—– - -E462‚̃oƒOC³ - ENPC‚ÌSHOP‚Ì•s“s‡C³ - EREADME‚̊ԈႢC³iwarpwaitingpc‚ªwarpwaitingroom‚É‚È‚Á‚Ä‚¢‚½j - - map.h - struct npc_data‚Ìchat_id‚̈ʒu‚ðC³ - --------------- -//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 - - map.h - struct npc_data‚Æchat_data‚ðC³ - script.c - buildin_waitingroom(),buildin_warpwaitingpc()’ljÁ - chat.c/chat.h - FXC³ - clif.c - clif_getareachar_npc()Aclif_joinchatok()‚È‚ÇC³ - -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.c/npc.h - npc_parse_*()‚ÌC³ - npc_event_do_oninit(),npc_event_do_oninit_sub()‚ȂǒljÁ - map.c/map.h - do_init()‚Ånpc_event_do_oninit()‚ðŒÄ‚Ԃ悤‚É - struct npc_dataC³ - -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 - - script.c - buildin_getmapusers(),buildin_getareausers()C³ - -Epvp‚̃XƒNƒŠƒvƒgC³ - Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðì‚é‚悤‚É‚µ‚½ - - (conf/) - npc_pvproom.txt - ‘S‚Ä‚ÌNPC‚̃GƒNƒXƒ|[ƒg–¼(pvp??r)Ý’è - OnInit:‚Åwaitingroom‚ðŽÀs‚·‚é‚悤‚É - --------------- -//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³ - --------------- -//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‚µ‚Ä‚­‚¾‚³‚¢. - conf/npc_event_ice.txt - checkweightC³ - conf/npc_town_geffen.txt - checkweightC³ - db/item_purplebox.txt - Old_Blue_BoxC³ - map/battle.c - battle_calc_weapon_attack()C³ - map/pc.c - pc_spheal()C³ - pc_calcstatus()C³ - map/script.c - buildin_checkweight()C³ - map/skill.h - SC_ EXPLOSIONSPIRITS’ljÁ - map/skill.c - SkillStatusChangeTable[]C³ - skill_castend_nodamage_id()C³ - skill_check_condition()C³ - --------------- -//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 - --------------- -//0457 by Kalen - -EPVPŠÖ˜A‚ÌNPC’ljÁ - conf/npc_pvp.txt - conf/npc_pvproom.txt - --------------- -//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.c - mob_changestate() C³B -EƒAƒCƒeƒ€‚ð“üŽè‚Å‚«‚È‚¢Žž‚»‚Ì——R‚É“–‚½‚郃bƒZ[ƒW‚ªo‚é‚悤‚É•ÏXB - pc.c - pc_additem() C³B -Ejob_db1.txt‚Ì‚Å–â‘è‚É‚È‚Á‚½.‚ð,‚ÉC³B - --------------- -//455 by Mr.NO NAME -ENPC‚Ƃ̃AƒCƒeƒ€ŒðŠ·‚┃‚¢•¨ŠÖŒW‚ÌScript‚ªo—ˆã‚ª‚Á‚½“–‰‚Ì -@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚Éæ‚ÁŽæ‚èAˆÈ‰º‚ðC³B - conf/npc_event_ice.txt - npc_event_potion.txt - npc_town_geffen.txti454ˆÈ‘O‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj - map/script.c - buildin_checkweight()‚ðC³B - --------------- -//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‚Ì‚Æ‚±‚ë‚É‘‚¢‚Ä‚­‚¾‚³‚¢) - common/grfio.c - grfio_setadatafile()’ljÁ - /grfio.h - grfio_setadatafile()’ljÁ - 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 - --------------- -//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³ - map/battle.c - battle_addmastery()C³ - db/mob_db.txt - ƒ{ƒ“ƒSƒ“C³ - --------------- -//0449 by Ž€_ - -E•Ï‚É‚È‚Á‚½ŠC³B - const.txt - bAtk‚ÆbDef ’ljÁB - battle.c - battle_calc_weapon_attack()‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) - map.h - map_session_data‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) - pc.c - pc_calcstatus() C³B - pc_bonus() C³B - item_db.txt‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0446‚Ì•¨) - --------------- -//0448 by hoenny -E‘‘¬C³(pc_walk()‚©‚ç pc_calcstatus()‚Ɉړ®) -Eő劎—ÊC³ - map/pc.c - pc_calcstatus()C³B - --------------- -//0447 by ‚䂤 -E“ñ“—¬E–î‚Ì‘®«‚𳂵‚­“K‰ž -EATK‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚ð•ŠíƒTƒCƒYC³‚È‚µ‚Ì’êã‚°‚É•ÏX -EATKEDEF‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚Ì“K‰ž‚ÌŽd•û‚ð•ÏX - -map.h - map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’ljÁ - -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Á‚µ‚½ - -battle.c - battle_calc_weapon_attack() - ƒJ[ƒgATK‚ð’êã‚°ƒ_ƒ[ƒW‚Æ‚µ‚ÄŒvŽZ‚·‚é‚悤‚É‚µ‚½ - -item_db.txt - ƒJ[ƒh‚Ì bonus bAtkAbDef ‚ðíœ - ‚©‚í‚è‚ÉA‘•”õ‚Æ“¯—l‚ÉATK‚ÆDEF‚ðÝ’è - i•ÏX‘O‚ðitem_db2.txt‚Æ‚µ‚Ä‚¢‚é‚Ì‚ÅA•s‹ï‡‚ª‚ ‚ê‚Ζ߂µ‚Ä‚­‚¾‚³‚¢j - - --------------- -//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³ - map/skill.c - skill_check_condition()C³B - skill_castend_pos2()C³B - -Eƒ~ƒXƒgƒŒƒXƒJ[ƒhC³B - db/item_db.txt - --------------- -//0445 by Aya - -EŠî–{ASPD‚ÆŒvŽZˆ—‚ðC³B - db/job_db1.txt - map/pc.c -ESPŒW”‚ÆŒvŽZˆ—‚ðC³B - db/job_db1.txt - map/pc.c -EƒXƒLƒ‹–¼‚ðenum‚Å錾‚µA‚»‚ê‚ðŽg‚¤‚悤‚É•ÏXB - map/skill.h - map/battle.c - map/pc.c - map/skill.c -EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹ID‚ªƒXƒ[ƒ|ƒCƒYƒ“‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B - 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 - conf/GM_account.txt -EwarningC³B - map/party.c -EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚µ‚È‚¢‚悤‚É•ÏXB - login/login.c -Eobject_def.batˆÈŠO‘Sƒtƒ@ƒCƒ‹‚̉üsƒR[ƒh‚ðLF‚É•ÏXB -E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–¼‘O•ÏXB - --------------- -//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 - map.c - do_init() C³B - conf/atcommand_athena.cnf ’ljÁB -Eׂ©‚¢C³B - pc.c - pc_setghosttimer()Apc_skill() C³B - script.c - buildin_skill() C³B -Econf_ref.txt C³B -Eitem_db.txt - ”Þ—‚Ì‘z‚¢C³B - --------------- -//0442 by ŒÓ’±—– - -E‘‘¬ƒ|[ƒVƒ‡ƒ“ŽÀ‘• - ELv‚âE‹Æ”»’è‚Ís‚¢‚Ü‚¹‚ñ - - (db/) - const.txt - SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’ljÁ - item_db.txt - ‘‘¬ƒ|[ƒVƒ‡ƒ“‚̃XƒNƒŠƒvƒg’ljÁ - (map/) - skill.c - skill_status_change_start()C³ - pc.c - pc_calcstatus()C³ - -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 - - (conf/) - npc_pvp.txt - pvpƒtƒ‰ƒO‚ð“ü‚ê‚éƒTƒ“ƒvƒ‹B - nosaveƒtƒ‰ƒO‚âŽó‚¯•t‚¯npc‚È‚Ç‚ð’ljÁ‚·‚é‚Æ‚æ‚¢‚ÆŽv‚í‚ê‚éB - (map/) - clif.c - clif_parse_LoadEndAck()C³ - npc.c - npc_parse_mapflag()C³ - skill.c - skill_castend_nodamage_id()C³ - pc.c - pc_damage()ˆø”C³ - atcommand.c - pc_damage()ˆø”C³‚É”º‚¤C³ - 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‚¤‚悤‚É - - skill.c - skill_castend_id()‚Å“G–¡•û”»’è - atcommand.c - ŠeƒRƒ}ƒ“ƒhC³ - --------------- -//0440 by ’†‚Ìl - -E–{‰Æ‚ðÄŒ»‚·‚é•ûŒü‚È‚çˆÓ–¡‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª -@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“¾v‚ðŽáŠ±•ÏX‚µ‚Ä - ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆêŽžK“¾‚ÌÛ‚Å‚à1ƒŒƒxƒ‹ˆÈã‚ðÝ’è‚Å‚«‚é‚悤‚É’v‚µ‚Ü‚µ‚½B - -@’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 - map.h - enum‚ÉMF_NOBRANCH ’ljÁB - npc.c - npc_parse_mapflag() C³B - pc.c - pc_useitem() C³B -ƒ\[ƒX‰˜‚­‚µ‚Ä‚µ‚Ü‚Á‚½‚©‚àEEE. -•×‹­•s‘«‚Å‚· - --------------- -//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³ - --------------- -//0436 by hoenny -Emorocc •óΤl‚ÌC³ - conf/npc_shop.txt -Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽÀ‘•(AlchemistŽƒ\[ƒX‚ðŽQÆ‚ ‚肪‚Æ‚¤I) - map/skill.c -ˆÈ‘O‚É•¶Žš‰»‚¯‚Í’á‚Ì‚¹‚¢! -ŽŸ‚©‚ç‹C‚ð•t‚¯‚Ü‚·. - --------------- -//0434 by Avethes - -Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚Ös‚­NPCC³ -Eƒ†ƒm[NPCC³ -i‘O‰ñ‚̃oƒO‚Í‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½j - --------------- -//0433 by Ž€_ - -E»‘¢ƒoƒOC³B - ‰½ŒÌ‚©‚Í‚í‚©‚ç‚È‚¢‚ªskill.c‚Ìskill_readdb()‚ª•Ï‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B(Ž©•ª‚ª‚â‚Á‚½C³‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) - skill.c - skill_readdb() C³B - --------------- -//0432 by Ž€_ - -E0429‚ňꕔ‚̃AƒCƒeƒ€‚̃XƒLƒ‹‚ªo‚È‚¢–â‘èC³B - 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‚í‚ꂽ‚è‚à‚µ‚Ü‚·‚ª...) - mob.c - mob_changestate() C³B -EŽI‚ÉÚ‘±‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚悤‚É•ÏXB - char.c C³B - conf_ref.txt C³B - char_athena.cnf C³B - --------------- -//0430 by Avethes - -E‚m‚o‚bŠÖŒWB‚Ù‚Æ‚ñ‚ǃeƒXƒgB -–{‰Æ‰ï˜bî•ñ‚ª‘µ‚¦‚ÎC³B - --------------- -//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 - pc.c - pc_resetskill() C³B - script.c - buildin_resetstatus()Abuildin_resetskill() ’ljÁB -E0425‚Ì‘±‚«‚Å­‚µC³B - 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.c - clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B -Eƒƒ‚‚Ìő唂ð10ŒÂ‚É•ÏXB(‚ ‚­‚Ü‚Å‚àŠg’£‚ׂ̈̕¨‚Å‚·B‚Ü‚¾‹@”\‚Í‚µ‚Ü‚¹‚ñB) - mmo.h - struct mmo_charstatus‚Ìmemo_point‚ð3‚©‚ç10‚É•ÏXB - 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 - --------------- -//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 - --------------- -//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 - - itemdb.c - itemdb_read_itemnametable()’ljÁ - do_init_itemdb()C³ - -Eƒf[ƒ^ƒx[ƒX“Ç‚Ýž‚Ý•”‚Ì•sˆÀ’è«‚ÌC³(Œ‹\’v–½“I‚¾‚Á‚½‚Ý‚½‚¢‚Å‚·) - ‚È‚­‚Ä‚à–â‘è‚È‚¢DBiitem_value_db.txt‚È‚Çj‚̃tƒ@ƒCƒ‹‚ª‚È‚¢ê‡‚É - ŽI‚ª—Ž‚¿‚½‚è‚·‚錻ۂª”­¶‚µ‚Ä‚¢‚½ê‡‚Í‚±‚ê‚Å’¼‚Á‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ. - - skill.c - skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁ - itemdb.c - item_readdb()‚ð•¡”‚É•ª‚¯‚½B - ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ì“Ç‚Ýž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚½B - do_init_itemdb()C³ - -Eׂ©‚¢ƒoƒOC³ - Eƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŠJ‚­‚Ü‚Å‚Ì•b”’²® - - skill.c - skill_unitsetting()C³ - -E‚»‚Ì‘¼C³iby –^MŽj - db/job_db1.txt - ‚¿‚傱‚Á‚ÆC³ - db/job_db2.txt - 2-2ŽŸE‚Ì‘«‚è‚È‚¢Jobƒ{[ƒiƒX‚ð’ljÁ(ŽQl:R.O.M 776) - conf/npc_town_kafra.txt - ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“®ì–¢Šm”F) - conf/npc_shop3.txt - ƒWƒ…[ƒm”Ì”„NPC(E‚¢•¨) - conf/npc_town_yuno.txt - ƒWƒ…[ƒmNPC(E‚¢•¨‚ð‰ü—ÇB“®ì–¢Šm”F) - --------------- -//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 - pc.c - pc_attack_timer()Apc_damage()Apc_walk() C³B - map.c - map_quit() C³B - mob_db.txt - ƒrƒbƒOƒtƒbƒg‚Ìmode‚ðC³(ƒAƒNƒeƒBƒu‚É‚È‚Á‚Ä‚¢‚½ˆ×) - clif.c - clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A - clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() C³B - mob.c - mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A - mob_walk() C³B - pet.c - pet_walk() C³B - --------------- -//0424 by hoenny - -EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’ljÁ - db/item_db.txt -Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ñ‚Å, ‚¿‚å‚Á‚ÆC³ - conf/npc_warp30.txt -E‘¼‚̃T[ƒo[‚ª—Ž‚¿‚Ä‚à•œ‹Œ‚³‚ê‚é‚悤‚ÉC³ - /startƒNƒŠƒbƒv - --------------- -//0420 by g—t - -EEP 3.0‚ł̃J[ƒhŒø‰Ê•ÏX‚ɉð‚é”͈͂őΉžB -@‚Ù‚Ú‘S‚Ä‚Ì•ÏX“_‚ɂ‚¢‚ÄAo—ˆ‚éŒÀ‚èC³‚µ‚Ä‚ ‚è‚Ü‚·B -@ATKC³‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚é‚悤‚Ȃ̂ŒljÁ‚µ‚Ä‚ ‚è‚Ü‚·B(ƒAƒ“ƒhƒŒC‚È‚Ç) - --------------- -//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 - script.c - buildin_getitem() C³B - 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) - itemdb.h - struct random_item_data ’ljÁB - 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 - clif.c - clif_spawnpet() C³B - pet.c - pet_change_name() C³B -E0418‚ð­‚µC³B(if•¶‚ÌðŒ‚ð­‚µC³‚µ‚½‚¾‚¯‚Å‚·B) - --------------- - -//0418 by hoenny -E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –½—ߌêŽg—p‚̧ŒÀ -clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage C³ - map/clif.c - --------------- -//0417 by ‚ê‚  - -E0412‚Åitem_db.txt‚ª‚¨‚©‚µ‚­‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ - --------------- -//0416 by g—t - -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 - --------------- -//0415 by ’†‚Ìl - -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 - --------------- -//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 - char/int_guild.c - char/int_party.c - conf/battle_athena.cnf - db/mob_db.txt - doc/conf_ref.txt - login/login.c - map/atcommand.c - map/battle.c - map/battle.h - map/clif.c - map/itemdb.c - map/map.c - map/map.h - map/mob.c - map/npc.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 - --------------- -//0412 by ‚¢‚Ç - -Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚ÌÄ®— -@ ‹ŒŒfŽ¦”‚Ŏw“E‚Ì‚ ‚Á‚½Ž–€‚ɂ‚¢‚Ä‘å‘͈̂̔͂ÅC³ - snapshot387‚̃o[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ÉC³‚µ‚Ü‚µ‚½B - 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) - @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, - @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 - skill.c - FXC³ - skill.h - enum‚ÌC³‚È‚Ç --------------- -//0407 by Ž€_ - -Eƒyƒbƒg‚̃oƒOC³B(‚½‚¾Ž©•ª‚ÅÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–â‘è‚É‚È‚è‚»‚¤‚ÈŠ‚¾‚¯C³‚µ‚Ü‚µ‚½B) -Eƒyƒbƒg‚̈ړ®‘¬“x‚ðpet_db‚ɒljÁB - pet.h - struct pet_db‚Éspeed’ljÁB - pet.c - pet_catch_process2()Aread_petdb() C³B - 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 - map.h - MAX_LEVEL’ljÁB - 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 - battle.h - struct Battle_Config‚Éattr_recover ’ljÁB - 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 - - map.h - MAX_STATUSCHANGE‚ð128‚ÉC³ - pc.c - pc_calcstatus()C³ - skill.c/skill.h - enum‚ðC³ - skill_status_change_start()C³ - battle.c - battle_calc_weapon_attack()‚È‚ÇC³ - --------------- -//0400 by AppleGirl - -Can Someone Help Me. -2-2 Skills added. -All The Mastery Skills. -SpearQuicken,Providence -New Bard Skill Assassin Cross Of Sunset -Providence -Frost Joke -Apple of Idun -Service For You -Meteor Strike (Different Style) -Assassin Cross Of Sunset (not tested) -All Masteries Done -Providence -Musical Strike -Throw Arrow -Frost Weapon << (Problems with elements)? -Flame Launcher << (Problems with elements)? -Seismic Weapon << (Problems with elements)? -Lightning Loader << (Problems with elements)? -Spirit Recovery -Potion Pitcher (Tato) -Axe Mastery (Tato) -Spear Quicken -Not Totally Working: -Combo Finish -Quadruple strike -Triple Attack -(skills in skill.c) (need to be finished.) -CP_ARMOR -CP_HELM -CP_SHIELD -CP_WEAPON -STRIP_HELM -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 -there are many many BUGS in this update(400) !! Be careful !! - --------------- -//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.c - mob_ai_sub_hard()C³ - mobskill_event()C³ - mobskill_use()C³ - skill.c - skill_attack()C³ - -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ŽÀ‘• - - (db) - skill_db.txt - ƒXƒ‚[ƒLƒ“ƒO‚È‚Ç‚ðC³ - (map/) - skill.c - skill_castend_damage_id(),skill_castend_nodamage_id()C³ - battle.c - battle_calc_misc_damage()C³ - -E–¢ŠÓ’èƒAƒCƒeƒ€‚ª‘•”õ‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ -E–¢ŠÓ’èƒAƒCƒeƒ€‚ɃJ[ƒh‚ª‚³‚¹‚È‚­‚È‚è‚Ü‚µ‚½ - - pc.c - pc_equipitem(),pc_insert_card()C³ - clif.c - clif_use_card()C³ - -Ebattle_athena.cnf‚ÉMOB‚Ì”z’uŠ„‡‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E”z’u”‚ª‚P‚ÌMOB‚ɂ‚¢‚Ä‚Í“K—p‚³‚ê‚Ü‚¹‚ñ - EŒvŽZŒã‚Ì”z’u”‚ª‚P–¢–ž‚ÌꇂP‚ÉC³‚³‚ê‚Ü‚·B - - (conf/) - battle_athena.cnf - mob_count_rate’ljÁ - (doc/) - conf_ref.txt - C³ - (map/) - battle.c/battle.h - struct BattleConfig ‚É mob_count_rate ƒƒ“ƒo’ljÁ - npc.c - npc_parse_mob()‚ÌC³ - -Eƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚ª‘ŠŽè‚ª‚P•C‚Å‚à‚Æ‚è‚ ‚¦‚¸“–‚½‚é‚悤‚É‚È‚Á‚½B - - skill.c - skill_castend_damage_id()C³ - -EŠw¶–X쬃Cƒxƒ“ƒg‚ÌC³ - - (conf/) - npc_event_making.txt - ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ÉB - -EƒpƒPƒbƒgî•ñC³ - - (doc/) - client_packet.txt - 0199ƒpƒPƒbƒgC³ - --------------- -//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³ - --------------- -//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.c - mob_ai_sub_hard_mastersearch()C³ - mob_can_move()’ljÁ - mob_ai_sub_hard()C³ - -EMOB‚Ìs“®C³ - EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ - E‰r¥‚Ì‚È‚¢ƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚È‚¢‚悤‚ÉC³(Ž€–SŽžˆ—‘Îô) - - mob.c - mobskill_use(),mobskill_use_id()C³ - -EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽÀ‘• - EƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽí—Þ‚ª‚í‚©‚ç‚È‚¢‚à‚Ì‚Í‘S‚Äu!v‚É‚È‚è‚Ü‚·B - ”²‚¯‚Ä‚¢‚éƒf[ƒ^‚ð–„‚ß‚Ä‚­‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B - - (db/) - mob_skill_db.txt - ‚¢‚­‚‚©‚ÌMOB‚̃Gƒ‚[ƒVƒ‡ƒ“‚Ì€–Ú‚Ì’l1‚ÉŽí—Þ‚ð“ü‚ꂽB - - (map/) - skill.c - skill_castend_nodamage_id()C³ - clif.c/clif.h - clif_emotion()’ljÁ - -EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–¼•C³ - - (doc/) - client_packet.txt - ƒGƒ‚[ƒVƒ‡ƒ“‚Ìà–¾’ljÁ - -E‚Ç‚¤‚â‚çŽæ‚芪‚«MOB‚ÌŽí—ނ͌¢ƒf[ƒ^‚¾‚Á‚½‚Á‚Û‚¢‚Å‚·B - ‚µ‚©‚àMOB¢Š«‚ł͎艺¢Š«‚ƈႤMOB‚𢊫‚·‚é‚Ý‚½‚¢‚Å‚·‚ËB - Ú‚µ‚¢l‚Ímob_skill_db.txt‚𒼂µ‚Ä‚­‚ê‚é‚ÆB - --------------- -//0393 by ‚¢‚Ç - -EcharŽI‚Å‚ÌloginŽI‚̃|[ƒgÝ’è‚ð6900‚ɌŒ肵A•ÏX‚Å‚«‚È‚¢‚悤‚É‚µ‚½ -@(login‘¤‚Ń|[ƒg6900ŒÅ’è‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Åchar‘¤‚à‚»‚ê‚ɇ‚킹‚Ü‚µ‚½B) - char/char.c - conf/char_athena.cnf - doc/conf_ref.txt - --------------- -//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³ - - map.h - struct mob_data‚Ì skilldelay‚ð”z—ñ‚É‚µ‚Äunsigned int‚É•ÏX - mob.h - struct mob_skill‚Ìcasttime,delay‚ðint‚É•ÏX - mob.c - mob_ai_sub_hard_mastersearch()’ljÁ - 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 - - (db/) - mob_skill_db.txt - Žè‰º¢Š«‚Ȃǂ̃f[ƒ^C³ - - (map/) - skill.c - skill_castend_nodamage_id()C³ - --------------- -//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ƒ^[‚ª‚¢‚È‚­‚È‚é‚Æ‚¢‚¢‚Å‚·‚ª...) - 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‚¢‚Ü‚·‚Ì‚Å...) - map.h - MAX_FLOORITEM ’ljÁ(‚±‚ê‚ð•Ï‚¦‚é‚Æ°ƒAƒCƒeƒ€‚Ìő唂ð•Ï‚¦‚é - ‚±‚Æ‚ª‚Å‚«‚Ü‚·B¡‚Í100000‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚½‚¾‚±‚ê‚Í•K‚¸ - 500000ˆÈ‰º‚É‚µ‚Ä‚­‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚Ƴ‚µ‚­“®‚­‚©‚Ç‚¤‚© - •ÛØ‚Å‚«‚Ü‚¹‚ñB) - map.c - map.h‚ɇ‚킹‚Ä­‚µC³B - npc.h - START_NPC_NUM ’ljÁB - npc.c - npc.h‚ɇ‚킹‚Ä­‚µC³B - login.h - START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’ljÁB - login.c - login.h‚ɇ‚킹‚ÄC³BEND_ACCOUNT_NUMˆÈã‚Éaccount‚ð - ì‚ê‚È‚¢‚悤‚É•ÏXB -EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒ¤‹†‚ð‚Q‰ñ“K—p‚·‚é‚悤‚É•ÏXB - (Œ‹‹Ç‚ÍŒ³‚É–ß‚·‚±‚Æ‚É‚È‚è‚Ü‚µ‚½...^^;) - battle.c - Damage battle_calc_weapon_attack() C³B -Emob‚̃XƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB - mob.c - mobskill_use() C³B - battle.h - battle.c - struct Battle_Config‚Émob_skill_use’ljÁB - 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‚È‚Ì‚Å...) - --------------- -//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 - - (common/) - version.h - MODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚ÉB - (tool/) - checkversion - MODƒo[ƒWƒ‡ƒ“‚ð•\Ž¦‚·‚é‚悤‚ÉB - (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 - - (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 ‚¢‚Ç - -E388‚Ì•ÏX - ƒo[ƒWƒ‡ƒ“î•ñ‚ðcommon/version.h“à‚̒蔂ðŽg—p‚·‚é‚悤‚É•ÏX - --------------- -//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 - - ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚è‚ÍAƒT[ƒo[‚̶‘¶Šm”F—p‚Æ‚¢‚Á‚½‚©‚ñ‚¶‚Å‚· - ƒpƒPƒbƒg7530/7531‚ÌÚׂ̓\[ƒX‚ðŒ©‚Ä‚­‚¾‚³‚¢B - - (tool/) - checkversion - ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg - - (login/) - login.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ - (char/) - char.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ - (map/) - clif.c - ƒpƒPƒbƒg7530/7531‚̈—’ljÁ - -E384ˆÈ‘O‚Ìathena.txt‚à“Ç‚Ýž‚ß‚é‚悤‚É‚µ‚Ü‚µ‚½ - Econvert‚ª–Ê“|‚ÈlŒü‚¯B - E³‚µ‚­“Ç‚Ýž‚ß‚é•ÛØ–³‚µBƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚ÉB - - (char/) - char.c - 384‚Ì•ûŽ®‚Å“Ç‚Ýž‚ß‚È‚¢ƒf[ƒ^‚Í384ˆÈ‘O‚Ì•ûŽ®‚àŽŽ‚·‚悤‚ÉB - -Econf_ref.txt/help.txt/getaccountC³ - help.txt - petƒRƒ}ƒ“ƒh‚Ìà–¾’ljÁ - (doc/) - conf_ref.txt - petŠÖ˜A‚ÌÝ’è‚Ìà–¾’ljÁ - (tool/) - getlogincount - •\Ž¦‚ÌC³ - --------------- -//387 by ‚¢‚Ç -EconfƒtƒHƒ‹ƒ_“à‚ÌNPC’è‹`ƒf[ƒ^‚Ì®— - ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ð휂µ‚Ü‚µ‚½ - 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‚É“‡) - - ˆÈ‰º‚̃tƒ@ƒCƒ‹‚Ì–¼‘O‚ð•ÏX‚µ‚Ü‚µ‚½ - npc_monster3.txt -> nop_monster2E.txt - npc_monster3J.txt -> npc_monster25.txt - npc_monster.txt -> npc_monsterE.txt - npc_monsterJ.txt -> npc_monster.txt - npc_sampleJ.txt -> npc_sample.txt - npc_script3j.txt -> npc_script2.txt - npc_script25J.txt -> npc_town_lutie.txt - npc_shop1J.txt -> npc_shop_test.txt - npc_shop2J.txt -> npc_shop_mobtim.txt - npc_shop3J.txt -> npc_shop2.txt - npc_shop.txt -> npc_shopE.txt - npc_shopJ.txt -> npc_shop.txt - npc_testJ.txt -> npc_test.txt - 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 ŒÓ’±—– - -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.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 - @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‚È‚¢‚悤‚É - 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 - battle.c - Damage battle_calc_weapon_attack() C³B - --------------- -//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.c/mob.h - mob_ai_sub_lazy(),mob_ai_sub_hard()C³ - MSS_LOOT’ljÁ,mob_readskilldb()C³ - -EMOBƒXƒLƒ‹‚Ì‘®«•ÏX‚ðŽÀ‘•‚µ‚Ü‚µ‚½B - - map.h - struct mob_data‚É def_eleƒƒ“ƒo’ljÁ - mob.c - mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚é‚悤‚É•ÏX - battle.c - battle_get_element()‚Ådef_ele‚ð“ǂނ悤‚É•ÏX - skill.c - skill_castend_nodamage_id()C³ - -EƒNƒ@ƒOƒ}ƒCƒA‚ÌŒø‰Ê”͈͂©‚ço‚é‚ÆŒø‰Ê‚ªØ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - - skill.c - ƒ†ƒjƒbƒgŒnˆ—C³ - --------------- -//380 by ‚`‚Ìl - -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZŽÀ‘• - battle.c‚ð•ÏXB - -CHRIS‚³‚ñA‚ ‚肪‚Æ‚¤ŒäÀ‚¢‚Ü‚·B -ƒmƒbƒNƒoƒbƒNŽÀ‘•‚Å‚«‚È‚­‚ÄA¢‚Á‚Ä‚Ü‚µ‚½i„ƒG - --------------- -//379 by CHRIS - -EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ÌŽÀ‘• - skill.c‚Æbattle.c‚ð•ÏXB - -Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’ljÁB - battle.c‚ð•ÏXB - -iƒ\[ƒX‚ð˜M‚Á‚½‚͉̂‚ß‚Ä‚È‚Ì‚ÅA—L‚Á‚Ä‚é‚©‚Ç‚¤‚©•ª‚©‚è‚Ü‚¹‚ñ‚ªAŽ©•ª‚Å‚Ío—ˆ‚Ü‚µ‚½Bj -iƒvƒƒOƒ‰ƒ€ŠÖŒW‚̑Ђ𔃂Á‚ĕ׋­‚µ‚ĉ‚߂ĘM‚Á‚½‚Ì‚Å‚·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj - --------------- -//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.c - mob_randomwalk()’ljÁ - mob_ai_sub_lazy(),mob_ai_sub_hard()C³‚È‚Ç - -EƒXƒLƒ‹C³ - EMOB‚ªƒeƒŒƒ|[ƒg‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - - 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Œ¸­Œø‰ÊŽÀ‘• - - battle.c - battle_get_*()C³ - battle_calc_weapon_damage()C³ - mob.c - mob_get_speed(),mob_get_adelay()’ljÁ - pc.c - pc_calcstatus()C³ - -Eitem_value_db.txt‚ŃAƒCƒeƒ€‚̉¿Ši‚ðÝ’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - E‰¿Šiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B - E‚±‚ê‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB - - (db/) - item_value_db2.txt - item_db2.txt‚̉¿Šiƒf[ƒ^B - item_value_db.txt‚ɃŠƒl[ƒ€‚·‚é‚Æ“Ç‚Ýž‚Ý‚Ü‚·B - (map/) - itemdb.c - itemdb_readdb()C³ - -EŒÃ–Ø‚ÌŽ}‚ðŽg‚¤‚ÆMOB‚Ì–¼‘O‚ª 0 ‚É‚È‚é–â‘è‚ÌC³ - - (db/) - item_db.txt - ŒÃ–Ø‚ÌŽ}‚̃f[ƒ^C³ - --------------- -//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 - - (db/) - skill_db.txt - MOB—pƒXƒLƒ‹‚̃f[ƒ^‚ðC³ - mob_skill_db.txt - ­‚µ’ljÁ - (map/) - skill.c - skill_castend_damage_id()C³ - skill_status_change_start()C³ - skill_additional_effect()C³ - battle.c - battle_calc_weapon_attack()C³ - -EƒXƒLƒ‹‚ð­‚µC³ - EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ªŽ€‚ñ‚Å‚¢‚Ä‚àŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘èC³ - - skill.c - skill_status_change_timer()C³ - -EMOBƒf[ƒ^‚ª•Ï‚È‚Ì‚Å–^‚v‚̃f[ƒ^ƒx[ƒX‚ð—¬—p‚µ‚Ä‚Ý‚é - Eƒf[ƒ^‚Ì•À‚ч‚Æ‚©‘S‚­“¯‚¶‚È‚ñ‚Å‚·‚Ë - - (db/) - mob_db.txt - –^‚v‚Ìmob_db.txt - -EŠeŽíconf‚̃Šƒtƒ@ƒŒƒ“ƒX‚ð“Y•t - ‚ ‚­‚܂ŃŠƒtƒ@ƒŒƒ“ƒX‚È‚Ì‚ÅAHowTo‚È‚ñ‚©‚Í‘‚¢‚Ä‚Ü‚¹‚ñB - - (doc/) - conf_ref.txt - conf‚̃Šƒtƒ@ƒŒƒ“ƒX{ƒ¿ - - --------------- -//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 - - (db/) - mob_skill_db.txt - MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–¢Š®¬) - ƒeƒXƒg—p‚̃f[ƒ^‚µ‚©“ü‚Á‚Ä‚Ü‚¹‚ñB - (map/) - mob.c/mob.h - mobskill_*’ljÁA‚»‚Ì‘¼‘½”C³ - map.h - struct mob_data ‚É skill* ’ljÁ - skill.c/skill.h - skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚³‚¹‚½ - battle.c - battle_calc_damage()‚È‚ÇC³ - -EƒMƒ‹ƒh‚̃XƒLƒ‹‚ªG‚ê‚È‚¢–â‘èC³ - E‚¢‚‚̂܂ɂ©pc_skillup‚ªŒÃ‚¢‚à‚Ì‚É•Ï‚í‚Á‚Ä‚¢‚½‚Ì‚ÅC³ - - pc.c - pc_skillup(),pc_checkskill()C³ - --------------- -//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.c - mob_ai_sub_hard*()C³ - mob_can_reach()’ljÁ - -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³ - - ----------- -//364 by ‚¢‚Ç -EˆÈ‰º‚̃pƒPƒbƒg‚Ìà–¾‚ð•ÏX - doc/ƒpƒPƒbƒg‰ðÍ.txt - R 006a .B - R 0081 .B - -E363‚Ńrƒ‹ƒhŽž‚Éwarning‚ªo‚é•s‹ï‡‚ðC³ - map/guild.h - --------------- -//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³ - - (char/) - int_guild.c - guild_calcinfo(),mapif_parse_GuildAddMember()C³ - (map/) - guild.c - guild_member_leaved(),guild_member_added() - guild_recv_info(),guild_break()C³ - --------------- -//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Á - clif.c/clif.h - clif_guild_broken(),clif_parse_GuildBreak()’ljÁ - intif.c/intif.h - intif_parse_GuildBroken()’ljÁ - --------------- -//361 by ‚¢‚Ç - -E360‚Å‚Ì@heal‚Ì•ÏXŠÔˆá‚¢‚ð’ù³ - map/atcommand.c - --------------- -//360 by ‚¢‚Ç - -E353‚ÌC³‚ðíœ -E@heal‚Å•ÏXŒã‚Ì’l‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚ÉC³ - --------------- -//359 by ‚¢‚Ç - -Eclass_equip_db.txt‚Ì•¶Žš‰»‚¯C³ - --------------- -//358 by ŒÓ’±—– - -EƒƒOƒCƒ“Žž‚Ìdelete_timer‚̃Gƒ‰[‚ðo‚È‚¢‚悤‚É‚µ‚½ - pc.c - pc_authok()‚ÌC³ - -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()‚ɉü–¼ - guild.c/intif.c - FXC³ - -E@guildlvupƒRƒ}ƒ“ƒhì¬BƒMƒ‹ƒhƒŒƒxƒ‹‚ª’²®‚Å‚«‚Ü‚·B - - (char/) - int_guild.c - FXC³ - (map/) - atcommand.c - @guildlvupˆ—’ljÁ - -EMakefike‚Ìclean•”•ª‚ðC³ - - (char/ map/ login/) - Makefile - E휂·‚éŽÀsƒtƒ@ƒCƒ‹‚̃pƒX‚ð ../athena/ ‚©‚ç ../ ‚ÉC³ - --------------- -//357 by ŒÓ’±—– - -Epc.c‚Ì•¶Žš‰»‚¯C³ - •¶Žš‰»‚¯‚µ‚½ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ì‚àA‚»‚ê‚ð‰ü‘¢‚·‚é‚Ì‚à‹ÖŽ~‚µ‚Ü‚¹‚ñ‚©H - ’¼‚·‚Ì–Ê“|‚­‚³‚·‚¬‚Ü‚·B - - pc.c - •¶Žš‰»‚¯‚ÌC³ - -Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠ©—U‚³‚ꂽó‘ԂŃ}ƒbƒvˆÚ“®‚⃃OƒAƒEƒg‚·‚é‚ÆA - Š©—U‚ð‹‘”Û‚·‚é‚悤‚ÉC³ - - pc.c - pc_setpos()C³ - map.c - map_quit()C³ - -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 - - start - mapŽIŽ©“®•œ‹ŒƒVƒXƒeƒ€‚̃VƒFƒ‹ƒXƒNƒŠƒvƒg - - --------------- -//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) - login.c - int mmo_auth() C³B - login_athena.cnf - new_account ’ljÁB -Echar.cAlogin.cAinter.cAmap.cAbattle.c‚ňꕔ‚Ìstrcmp‚ðstrcmpi‚É•ÏXB - --------------- -//355 by ‚䂤 - -E¶Žè‘•”õ‚àl—¶‚µ‚½“ñ“—¬‚ÉC³ -@iƒ_ƒ[ƒWŒvŽZ‚Ì‚Ý‚ÅŒ©‚½–Ú“™‚Í•ÏX‚È‚µj - -map.h - map_session_data‚ɶŽè—p‚Ì•Ï”‚ð’ljÁ - -battle.h - battle_get_attack_element2()’ljÁ - -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 - -pc.c - pc_calcstatus()‚ɶŽè—p‚Ì•Ï”‚É’l‚ð“ü‚ê‚鈗‚ð’ljÁ - pc_equipitem()‚Ì“ñ“—¬‘•”õ‚Ìꊂª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ - --------------- -//353 by ‚¢‚Ç - -EYare-launcher‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚é‚悤‚ÉMakefile‚Æathena.sh‚ð•ÏX - --------------- -//352 by ŒÓ’±—– - -E‰r¥’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ - skill.c - skill_castend_id(),skill_castend_pos(),skill_castend_map()C³ - map.c - map_quit()C³ - - -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‚ÍŽ‚¿‚Ü‚¹‚ñ - - (tool/) - backup - ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg - --------------- -//0351 by Ž€_ -skill.c - skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒXƒ^[‚̈—‚ð•ÏXB(UŒ‚ó‘ԈȊO‚Ìê‡ - ‰r¥”½‰ž‚ðÅ—Dæ‚É‚µ‚Ü‚·B) -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 -char.h - CHAR_CONF_NAME ’ljÁB -char.c - do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆCHAR_CONF_NAME‚ð - Žg‚¤‚悤‚É•ÏXB -map.h - MAP_CONF_NAME ’ljÁB -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 - --------------- -//0345 by Ž€_ -EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽÀ‘•B - 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‚â‚èŽÀ‘• - - 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Ý’èŠÖ” - 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); - int pet_hungry_change( int tid, unsigned int tick, int id,int data ); - int pet_status_int(struct map_session_data *sd); - 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 - map.h - LOOTITEM_SIZE‚ð20‚ÉC³B - struct mob_data‚Éint lootitem_count ’ljÁB - 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 - battle.h - struct Battle_Config‚Éint monster_loot_type ’ljÁB - battle.c - battle_config_read() C³B - 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 - --------------- -//0340 by Ž€_ -EmvpƒoƒOC³B - 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‚Å‚·‚ª...) - ----------- -//339 by ‚¢‚Ç - -E338‚ð“K—p‚µ‚½ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚ª”­¶‚·‚é•s‹ï‡‚ðC³ - ----------- -//338 by ‰ß‹Ž‚Ìli1 - -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’† - - (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 - - battle.h/battle.c - E@battle_config.pet_rate•Ï”‚ð‘‚₵‚Ü‚µ‚½Bmob‚ɑ΂·‚é—‘‚ÌŠl“¾—¦ - @@‚ðÝ’è‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚· - - 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‚ð“ü‚ê‚éŠÖ”‚Å‚· - - E do_init_pet() - @mapŽI‰Šú‰»‚Å‚æ‚Ñ‚¾‚µpet_db[]‚ðŽg‚¦‚é‚悤‚É‚·‚éˆ×‚Ì - ƒyƒbƒgî•ñ‰Šú‰»ŠÖ”‚Å‚·B - - map.c/map.h - E@BL_PET•Ï”‚ð‰Á‚¦‚Ü‚µ‚½ - E@mapŽI‰Šú‰»‚ÌŽž‚Édo_init_pet()‚ðŒÄ‚Ño‚µ‚Ü‚·B - - mmo.h - E@s_pet\‘¢‘Ì‚É•Ï”’ljÁBƒLƒƒƒ‰ƒNƒ^[‚ªƒyƒbƒg‚̃f[ƒ^‚ð•ÛŽ‚·‚éˆ×‚̃VƒXƒeƒ€ - @‚̈סŒã‚à•Ï”‚Í‚»‚̂‚Ǒ‰Á‚·‚é—\’è - - npc.c - ‰ü‘P‚µ‚Ü‚µ‚½B - - (conf/) - battle_athena.cnf‚É—‘‚ÌŠl“¾Šm—¦pet_rate‚ð‰Á‚¦‚Ü‚µ‚½B - ----------- -//337 by ŒÓ’±—– - -EƒMƒ‹ƒh‚̒ljÁ‚ÆC³ - EƒMƒ‹ƒh‚ÉŒoŒ±’l‚ðã”[‚·‚é‚ÆAã”[‚³‚ê‚éEXP‚ªˆÙí‚È’l‚É‚È‚éƒoƒOC³ - EƒMƒ‹ƒh‚Ì“G‘Ί֌W‚̒ljÁ - - guild.c/guild.h - guild_payexp()‚ÌC³(ã”[EXPˆ—) - guild_opposition()’ljÁ - guild_allianceack(),guild_reqalliance(), - guild_reply_reqalliance()‚ÌC³ - clif.c/clif.h - clif_guild_oppositionack(),clif_parse_GuildOpposition’ljÁ - -EƒfƒBƒŒƒCŽžŠÔ‚ªdex‚̉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚ðbattle_athena.cnf‚É‘‚¯‚é‚悤‚É - - (conf/) - battle_athena.conf - delay_dependon_dex ‚ð’ljÁ - (map/) - skill.c - skill_delay_fix()‚ÌC³ - 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 - ----------- -//334 by C}{RIS - -E‚ ‚Ղ낾‚Ì332.txt‚ðpet_db.txt‚Æ‚µ‚Ä“¯«B - -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 - ----------- -//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 - 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Á - -EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ì•ÏX‚ªƒ}ƒbƒvŽI‚ðÄ‹N“®‚µ‚È‚¢‚Æ—LŒø‚É‚È‚ç‚È‚¢ƒoƒOC³ - - guild.c/guild.h - guild_emblem_changed‚ÌC³ - ----------- -//331 by ‰ß‹Ž‚Ìli1 - -EƒyƒbƒgƒVƒXƒeƒ€C³(Š®¬“x25%) - - 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 - - (common/) - mmo.h - s_pet ƒyƒbƒg\‘¢‘Ì‚Épet_item_id‚ð’ljÁ - - (map/) - clif.c - clif_birthpet()‚ðC³B³‚µ‚­—‘‚ªŒ¸‚éA³‚µ‚¢—‘‚ÌID‚ðŽæ“¾‚·‚é‚悤C³ - ‚±‚ê‚É‚æ‚Á‚ÄA³‚µ‚­npc_petŠÖ”‚ª“®‚«‚Ü‚·B - - clif_spawnnpc()‚ðC³iWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ÆA”’l‚ð26‚©‚ç36‚Ö•ÏX‚µ‚Ü‚µ‚½) - ‚±‚ê‚É‚æ‚Á‚ăyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - - npc.c - npc_pet()‚ðC³B - - pet.c/pet.h - ƒyƒbƒgŠÖ˜A‚Ìׂ©‚ÈŠÖ”‚ð‚±‚¿‚ç‚É‚Ü‚Æ‚ß‚éˆ×A’ljÁ‚µ‚Ü‚µ‚½B - Œ»Ý‚̓yƒbƒg‚Ì”»’èŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä‚ ‚è‚Ü‚·B - - script.c - “Á‚É‘å‚«‚ÈC³‚Í‚ ‚è‚Ü‚¹‚ñB ----------- -//330 by ‰ß‹Ž‚Ìli1 - -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 - - (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‰Â”\‚É‚·‚é) - (common/) - mmo.h - s_pet@ƒyƒbƒg\‘¢‘̒ljÁ - mmo_charstatus@ƒyƒbƒg\‘¢‘Ì錾•Ï”’ljÁ(pet) - (map/) - clif.c/clif.h - - int clif_catchpet(struct map_session_data *sd,int pet_id); - void clif_ruletpet(int fd,struct map_session_data *sd); - int clif_judgepet(struct map_session_data *sd,int target_id); - int clif_sendegg(struct map_session_data *sd); - void clif_listpet(int fd,struct map_session_data *sd); - 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 ----------- -//329 by ŒÓ’±—– - -EƒMƒ‹ƒh‹@”\’ljÁ - EƒMƒ‹ƒh‚Ö‚ÌEXP‚Ìã”[ - EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv - EƒMƒ‹ƒhƒXƒLƒ‹‚ÌŠ„‚èU‚è - - (db/) - exp_guild.txt - ƒMƒ‹ƒhƒŒƒxƒ‹‚ÌŒoŒ±’lƒf[ƒ^ƒx[ƒX - (common/) - mmo.h - GBI_*,GMI_*‚Ì’è‹`‚̒ljÁ‚È‚Ç - (char/) - int_guild.c - EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’ljÁ‚È‚Ç - 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Á - pc.c - pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚ÌꇂÍ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³ - ----------- -//328 by ŒÓ’±—– - -EƒMƒ‹ƒh‹@”\‚̒ljÁ‚È‚Ç - E’Ç•ú‹@”\‰¼ŽÀ‘•i’Ç•ú‚µ‚½ƒLƒƒƒ‰‚àĉÁ“ü‰Â”\•ˆê•”î•ñ‚ªƒ_ƒ~[j - EƒXƒLƒ‹‚Ì•\Ž¦i•\Ž¦‚¾‚¯‚Å‚·Bã‚°‚½‚è‚Ío—ˆ‚Ü‚¹‚ñj - - (common/) - mmo.h - struct guild_explusion‚Ì•ÏX - (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Á - -Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚ªƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚É‚È‚éƒoƒOC³ - Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽ¸”sŽž‚̃_ƒ[ƒW‚ªŽg‚í‚ê‚Ü‚· - - battle.c - battle_calc_magic_damage()‚ÌC³ - ----------- -//327 by ‚¢‚Ç -EŒoŒ±’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚¢‚ª‚ ‚Á‚½‚Ì‚ÅC³ - 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³ - - (login/) - login2.c - parse_login()‚ÌC³ - login.h - struct mmo_char_server‚ÌC³ - (char/) - char2.c - check_connect_login_server(),do_init()‚ÌC³ - (conf/) - char_athena.cnf -@ Echar_maintenance‚ð1‚É‚·‚é‚ƃƒOƒCƒ“l”‚ÌŒã‚ë‚É(“_ŒŸ’†)‚ª‚‚­ -@ Echar_new‚ð1‚É‚·‚é‚ÆŽI–¼‚Ì‘O‚É[V]‚ª‚‚­ - (doc/) - ƒpƒPƒbƒg‰ðÍ.txt - E¡‰ñ‚Ì•ÏX‚É”º‚¤ˆê•”C³ - ----------- -//325 by Mind Twist(224&0293) -E“G(NPC)ƒXƒLƒ‹‚̒ljÁiƒcƒŠ[‚ɒljÁ‚Ì‚Ýj - db/skill_db.txt - EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚炸•s–¾c‚±‚ÌŒ`Ž®‚¶‚á‚È‚¢‚Ì‚©‚ÈH - ----------- -//324 by non - -Emob‚̃^[ƒQƒbƒgŒãˆÚ“®‚ðC³ -Emob‚̈ړ®‘¬“x‚ðDB‚©‚甽‰f‚³‚¹‚é‚悤‚É - - (map/) - mob.c - mob_ai_sub_hard()‚ÌC³ - -EŽÎ‚ß”»’è‚ðC³ - EFW“™‚ł̎΂ߔ͈͂ð–{ŽIŽd—l‚É - - (map/) - map.c - map_calc_dir()‚ÌC³ - ----------- -//322 by ŒÓ’±—– - -EƒƒOƒCƒ“Žž‚É•K‚¸ƒp[ƒeƒB[‚©‚眖¼‚³‚ê‚éƒoƒOC³ - E0318‚Ìuƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚É`v‚Å‚ÌC³ƒ~ƒX - - (char/) - int_party.c - ƒp[ƒeƒB[‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ - (map/) - party.c - party_check_member()‚ÌC³ - -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Á - intif.c/intif.h - intif_parse_GuildMessage()‚ȂǒljÁ - clif.c/clif.h - clif_guild_message(),clif_parse_GuildMessage()‚ȂǒljÁ - clif_guild_basicinfo()‚̃pƒPƒbƒg‚ð0150‚©‚ç01b6‚É•ÏX - -EƒoƒbƒNƒXƒeƒbƒv‚ª‚à‚Ì‚·‚²‚­‰ö‚µ‚¢‚¯‚lj¼ŽÀ‘• - EŽg‚¤‚ƃ_ƒ[ƒW‚ð‚P‹ò‚ç‚Á‚½‚悤‚ÉŒ©‚¦‚Ü‚·B(ŽÀۂ̓_ƒ[ƒW‚O‚Å‚·) - - skill.c - skill_castend_damage_id()C³ - ------------------- -//321 by@‰ß‹Ž‚Ìli -E‹|–î‘•”õŒø‰Ê‚Ì‚ÝŽÀ‘•(‘½X‚¨‚©‚µ‚¢“_‚Í‘¶Ý‚·‚邪‘•”õ‚ªo—ˆA–î‚ÌŒø‰Ê‚ªo‚é) - map/clif.c map/clif.h - clif_itemlist()’ljÁ - Ž‚¿•¨‚Ì’†‚Å‹|–î‚ÉŠ„‚è“–‚Ä‚éƒpƒPƒbƒg”Ô†‚ð0x8000‚Æ‚·‚鈗’ljÁ - - clif_arrowequip(struct map_session_data *sd,int val); //self - ‚ð’ljÁB‚±‚Ì’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ä‚Ü‚· - map/pc.c - pc_equipitem()@‹|–î‘•”õ’ljÁ - - Žc‚³‚ꂽ–â‘è“_F - E@–Œ¸‚ç‚È‚¢ - E@ƒŠƒƒO‚·‚é‚Ɩ‚P‚É‚È‚é - E@‘•”õ‚µ‚Ä‚¢‚é–•\Ž¦‚³‚ê‚È‚¢(©‘½•ª‘•”õpos‚ÌÝ’è‚ð‚µ‚Ä‚¢‚È‚¢ˆ×‚©‚Æ) - E@–î‚ð‘•”õ‰ðœ‚Å‚«‚È‚¢(‘¼‚Ì–î‚ð‘•”õ‚µ‚È‚¨‚¹‚Α•”õ‚µ‚½–î‚ÌŒø‰Ê‚É‚È‚è‚Ü‚· - ----------- -//320 by ‚¢‚Ç -EˆÈ‰º‚̃pƒPƒbƒg‚̃Gƒ‰[ƒR[ƒh‚Ìà–¾‚ð’ljÁ - doc/ƒpƒPƒbƒg‰ðÍ.txt - R 006a .B - R 0070 .B - R 0081 .B - ----------- -//319 by mk -ENPC‚Ƃ̉ï˜b’†‚É‘•”õ•ÏXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½ - map/clif.c - ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚µ‚Ä‚Ü‚· - -Eˆê•”‚Ì”í‚蕨‚łธBŒã‚É‘•”õ‰ÓŠ‚ª‚¨‚©‚µ‚­‚È‚éƒoƒO‚ðC³ - map/script.c - buildin_successrefitem ‚̃R[ƒh‚ðC³ - -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‚µ‚Ü‚µ‚½ - 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³ - 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³‚¨Šè‚¢‚µ‚Ü‚· - -EŠ®‘S‰ñ”ð‚ÌŒvŽZ‚ðLuk‚Å‚Í‚È‚­Flee2‚Å”»’f‚·‚é‚悤‚ÉC³ - map/battle.c - battle_calc_weapon_attack() - - (db) - item_db.txtAitem_db2.txt - ‘•”õ•i‚̈ꕔƒ{[ƒiƒXŒø‰Ê‚ð’ljÁ - mob_db.txt - –^Š‚Å‚¤‚‚³‚ê‚Ä‚¢‚½‚à‚Ì‚ð­‚µC³ - ‚Ü‚¾Mode‚âDrop‚É–â‘è“_‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ - ----------- -//0318 by ŒÓ’±—– - -E‚ ‚éŒö•½•ª”zPT‚Æ‚»‚ÌPT‚É‘®‚³‚È‚¢PC‚ª‹¤“¬‚·‚é‚ÆŽI‚ª–\‘–‚·‚éƒoƒOC³ - - mob.c - mob_damage()‚ÌEXP•ª”zˆ—C³ - -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³ - - ----------- -//0317 by nabe - -Eu`‚³‚ñ‚©‚çŽæˆø‚ð—v¿‚³‚ê‚Ü‚µ‚½Bv‚ªŽ©•ª‚Ì–¼‘O‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ - trade.c/clif.c/clif.h - clif_traderequest()‚ÅŽæˆø‘ŠŽè‚̃Lƒƒƒ‰–¼‚ð“n‚·‚悤‚É•ÏX - ----------- -//0316 by nabe - -E—¼Žè•Ší‚ð¸˜B‚·‚é‚Æ•ÐŽè‘•”õ‚É‚È‚éƒoƒO‚ðC³ - script.c - buildin_successrefitem()‚ÅA—¼Žè•Ší‚Ìꇓ™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN - ----------- -//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.c - pc_setpos()‚Åmap_addblock,clif_spawnpc‚̌ĂÑo‚µ‚ðŽ~‚ß‚½B - clif.c - clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ԃ悤‚ÉB - -EinterŽIƒpƒPƒbƒgˆ—‚Ìd‘å‚È–â‘è‚ðC³ - Eˆê“x‚ɃpƒPƒbƒg‚ð‘—M‚Å‚«‚È‚©‚Á‚½ê‡A–³ŒÀƒ‹[ƒv‚Ɋׂé–â‘èC³ - - (char/) - char2.c - parse_frommap()C³ - inter.c - inter_parse_frommap()C³ - (map/) - chrif.c - chrif_parse()C³ - intif.c - intif_parse()C³ - -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 - - (common/) - mmo.h - MAX_GUILD‚ð36‚ÉB - (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Á - guild.c/guild.h - ’E‘ނȂǂ̈—’ljÁ - intif.c/intif.h - ’E‘ނȂǂ̈—’ljÁ‚È‚Ç - - ----------- -//0314 by ‚¢‚Ç - -EcharŽI‚ÆmapŽI‚ÌŽI”ãŒÀ‚ð30‚Ɉø‚«ã‚° - login/login.h - char/char.h - -Emap_athena1.cnf‚ðmap_athena.cnf‚ɃŠƒl[ƒ€ -@‚»‚ê‚É”º‚¢Aathena.sh‚ð•ÏX - -EƒpƒPƒbƒg‰ðÍŽ‘—¿‚ðdoc/‚Ɉړ® - - ----------- -//0313 by ŒÓ’±—– - -EƒMƒ‹ƒh‚Ì‹@”\’ljÁ - EƒMƒ‹ƒhŠ©—U/–ðE“à—e•ÏX/ƒƒ“ƒo[‚Ì–ðE•ÏX‚È‚Ç - Eguild.txt‚Ì‘Ž®‚ª‚Ü‚½•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚·B - - <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> - E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ - EŽ©•ªˆÈŠO‚ÌPC‚ÌŠ‘®ƒMƒ‹ƒhID‚ð’Ê’m‚·‚éƒpƒPƒbƒg - - (common/) - mmo.h - struct guild ‚ð•ÏX - (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 - -E0311‚É‚æ‚镶Žš‰»‚¯‚ðC³ - README - map/pc.c - ----------- -//0312 by ‚¢‚Ç - -E@hƒRƒ}ƒ“ƒh‚ð@help‚É•ÏX -E“Ç‚Ýž‚Þƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`•”•ª‚ð•ÏX - ----------- -//0311 by tk44 -EAssassin “ñ“—¬‘•”õAASPD–â‘èC³ - - map\pc.c - pc_equipitem(), pc_calcstatus(), pc_checkitem() - -E“ñ“—¬ŠQŒvŽZC³‚Ü‚¾ˆ—’† - ----------- -//0310 by ŒÓ’±—– - -EƒƒO‚âƒf[ƒ^‚ÉŽg‚¤‰üsƒR[ƒ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 - (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 - -EƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç•s–¾‚ȃpƒPƒbƒg‚ª—ˆ‚½‚çƒ_ƒ“ƒv‚·‚é‚悤‚É - E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰»‚·‚ê‚΃_ƒ“ƒv‚µ‚Ü‚¹‚ñB - - 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[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚· - - (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 - ----------- -//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 - map.c - do_init()‚ð­‚µC³B - -‘¼‚É•ÏX‚µ‚½ƒtƒ@ƒCƒ‹‚à‚ ‚è‚Ü‚·‚ª‘S•”Šo‚¦‚Ä‚Ü‚¹‚ñ‚Ì‚Å... - ----------- -//0307 by ŒÓ’±—– - -EV‹KPC‚̉ŠúˆÊ’u‚ðchar_athena.cnf‚É‘‚¯‚é‚悤‚É‚µ‚½ - start_point: ƒ}ƒbƒv–¼,x,y ‚̂悤‚ÉŽw’肵‚Ü‚·B - <—á> 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Á - guild.c/guild.h - V‹K’ljÁBƒMƒ‹ƒh‹@”\—p - pc.c - pc_authok()‚ŃMƒ‹ƒhŠ‘®ŽžAguild_request_info()‚ðŒÄ‚Ԃ悤‚ÉB - 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 - - pc.c - pc_authok()‚ÌC³ - -E”͈͎w’蕦‚«‚̈—C³ - E‚Å‚«‚邾‚¯Žw’肵‚½”‚Æ“¯‚¶‚¾‚¯•¦‚­‚悤‚É - (áŠQ•¨‚È‚Ç‚É‚æ‚镦‚«–WŠQ‚̉ñ”ðŽ¸”sŽžA‘O‚̉ñ”ðŒ‹‰Ê‚ðŽg‚¤) - - mob.c - mob_once_spawn_area()‚ÌC³ - ----------- -//0305 by ‚¢‚Ç -EV‹KPC‚̈ʒu‚ð‰SŽÒC—ûê‚É•ÏXB -EmapŽI‚ªcharŽI‚ÉÚ‘±‚Å‚«‚È‚¢•s‹ï‡‚ÌC³B - ----------- -//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 - 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 - job_db1.txt - E‹Æ‚ÌŒv”‚ð•ÏX‚µ‚Ü‚µ‚½B(ƒNƒ‹ƒZƒCƒ_[“™‚̃f[ƒ^‚Í - Š®‘S‚È•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñB) - -Echar2.c‚ð­‚µ‚¾‚¯•ÏXB - 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) - 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 - pc.h - pc.c - pc_percentheal()‚ð’ljÁB - item_db.txtAitem_db2.txt - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð•ÏXB - ----------- -//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悳‚ê‚Ü‚· - - (common/) - grfio.c/grfio.h - grfio_setdatafile(),grfio_setsdatafile()’ljÁB - data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ȃOƒ[ƒoƒ‹•Ï”‚É•ÏXB - -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 - - atcommand.c - @stpoint,@skpointC³ - @zeny,@str,@agi,@vit,@int,@dex,@luk’ljÁ - -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‚·‚é‚悤‚É‚µ‚½ - - skill.c - skill_check_condition()‚ÌC³ - skill_produce_mix()‚ÌC³ - -E•Ší»‘¢Šm—¦‚ðconfƒtƒ@ƒCƒ‹‚Å”{—¦Žw’è‚Å‚«‚é‚悤‚ÉC³ - - (conf/) - battle_athena.cnf - weapon_produce_rate’ljÁ - (map/) - skill.c - skill_produce_mix()‚ÌC³ - -E•ŠíATKƒTƒCƒY•â³ƒe[ƒuƒ‹‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ -E¸˜B¬Œ÷Šm—¦/¸˜Bƒ{[ƒiƒX‚È‚Ç‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ -E‰ß踘Bƒ{[ƒiƒX‚É‚æ‚é’ljÁƒ_ƒ[ƒWŽÀ‘• - - (db/) - size_fix.txt - ƒTƒCƒY•â³ƒe[ƒuƒ‹ - refine_db.txt - ¸˜BŠÖŒWƒf[ƒ^ - (map/) - pc.c - pc_readdb()‚Å“Ç‚Ýž‚Ý - battle.c - battle_calc_weapon_attack()‚ɉß踘Bƒ{[ƒiƒXˆ—’ljÁ - -EMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňႤ’l‚ÉŒ©‚¦‚éƒoƒOC³ - ƒƒOƒCƒ“’¼Œã‚̃Xƒe[ƒ^ƒXŒvŽZ‚ÌŒ‹‰Ê‚𒼂¿‚É‘—M‚·‚é‚悤‚É‚µ‚½ - - (map/) - pc.c - pc_authok()‚Å‚Ìpc_calcstatus()‚̃tƒ‰ƒO‚ð0‚É‚µ‚½ - ‚±‚ê‚Åpc_calcstatus()‚̃tƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–¢Žg—pH - -Eitem_db‚Ìu”EŽÒƒX|ƒcv‚ðu”EŽÒƒX[ƒcv‚ÉC³ - (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 - - (tool/) - getlogincount - ƒƒOƒCƒ“l”Š“¾PerlƒXƒNƒŠƒvƒg - ----------- -//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 - produce_db.txt - ¯‚Ì‚©‚¯‚ç‚ðƒXƒLƒ‹‘®«Î»‘¢‚ª•K—v‚É•ÏXB -E*.grf“™‚ðÝ’u‚¹‚¸ƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì“Ç‚Ýž‚ނ悤‚ÉC³B(‚±‚ê‚ÍYare‚©‚ç - Ž‚¿ž‚ñ‚¾•¨‚Å‚·‚ª...) - grfio.c - grfio_init()‚ðC³B - grf-file.txt - V‹K’ljÁBgrfƒtƒ@ƒCƒ‹‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’è—pB -E“Ç‚Ýž‚Þƒ}ƒbƒv‚Ìő唂ð512‚ÉC³B - 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 - atcomand.c - C³B - atcomand.h - strcmpi“™‚ðLinux‚Å‚àŽg‚¦‚é‚悤‚ÉC³B - ----------- -//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ŒÉ•Û‘¶ˆ—‚ð‚·‚é‚悤‚É‚µ‚½ - - pc.c - pc_calcstatus()‚ÌC³(HPŒvŽZ) - pc_setpos()‚ÌC³(Žæˆø’†’f‚È‚Ç) - clif.c - clif_set0078(),clif_set007b(),clif_spawnpc()‚ÌC³(Lv99ƒGƒtƒFƒNƒg) - npc.c - npc_parse_mob()‚ÌC³ - -E@h‚Åhelp.txt‚ª“Ç‚ß‚È‚¢‚Æ‚«‚É—Ž‚¿‚éƒoƒOC³ -E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ê‚é‚ÆLvƒ_ƒEƒ“‚ª‰Â”\‚É‚È‚Á‚½ - - atcommand.c - @h,@lvup,@joblvupˆ—‚ÌC³ - -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Á - - (db/) - item_db.txt/item_db2.txt - ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’ljÁ - —ÎPOTA—΃n[ƒu‚Ȃǂ̃XƒNƒŠƒvƒg’ljÁ - (map/) - script.c - buildin_warp()‚ÅÁ–ŃGƒtƒFƒNƒg‚ð•ÏX - buildin_sc_start(),buildin_sc_end()’ljÁ - ----------- -//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 - - (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Á‚·‚é - npc.c/npc.h - npc_event_export()‚ȂǒljÁ - npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é - map.h - struct map_session_data ‚Ìeventqueue‚̃Cƒxƒ“ƒg–¼‚̃TƒCƒY‚ð - 50ƒoƒCƒg‚É‚µ‚½B - -EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ÌÅ‘å’l‚ð180‚©‚ç190‚É•ÏX - pc.c - pc_calcstatus()‚ÌASPDŒvŽZC³ - -Eskill_db.txt/cast_db.txt‚Ì“Ç‚Ýž‚Ý‚ðskill.c‚É•ÏX - - pc.c - pc_readdb()‚ÌC³ - skill.c - skill_readdb()‚̒ljÁ - -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‚ð“ǂނ悤‚É - clif.c/clif.h - clif_skill_produce_mix_list(),clif_parse_ProduceMix()’ljÁ - script.c/script.h - »‘¢—pƒRƒ}ƒ“ƒh[produce]ì¬B - ˆø”‚Í»‘¢—p”’l‚ÅA1-4‚ª•Ší»‘¢(Lv)A16‚ªzÎ - - ----------- -//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/) - 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 - - (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—^ŽÀ‘• - - *’ˆÓ* “Åó‘Ô‚ÍŒ©‚½–Ú‚¾‚¯‚ÅŒø‰Ê‚Í–¢ŽÀ‘• - - (db/) - skill_db.txt - »‚Ü‚«/ΓŠ‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚È‚ÇC³ - (map/) - skill.c/skill.h - FXC³ - mob.c/mob.h - mob_target()’ljÁBMOB‚̃^ƒQ—p - battle.c - battle_get_*()ŒnC³‚È‚Ç - pc.c - pc_calcstatus()C³ - ----------- -//0297 by ŒÓ’±—– - -ELoginŽI‚ªƒpƒXƒ[ƒhˆÃ†‰»‚ɑΉž - ˆÃ†‰»key‚ÍŽI‹N“®Žž‚Ɉê“x‚¾‚¯ì¬‚µ‚Ü‚·B - - **’ˆÓ** - ˆÃ†‰»ƒ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 - - (login/) - login2.c/login.h - ˆÃ†‰»ƒpƒXƒ[ƒh‚̃pƒPƒbƒgˆ—’ljÁ - ˆÃ†‰»key‚̶¬ˆ—’ljÁ - md5calc.c/md5calc.h - V‹K’ljÁBmd5ŒvŽZ—p - - -EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚ª”½‰f‚³‚ê‚È‚¢‚悤‚ÉC³ - skill.c - skill_delay_fix()‚ÌC³ - -EŽ€–SŒã‚àˆê•”‚Ìó‘ÔˆÙí‚ÌŒø‰Ê‚ªŽ‘±‚·‚é–â‘è‚ðC³ - pc.c - pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ԃ悤‚ÉC³ - atcommand.c - Ž€–SŽžˆ—‚ðˆê–{‰»‚·‚邽‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ԃ悤‚ÉC³ - - ----------- -//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Á - skill.c/skill.h - skill_unit_ondamage()’ljÁ - -E–ñ21Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ðNPC‚ňµ‚¤‚Æ‚«OC,DCŒvŽZ‚Å’l’i‚ª‚¨‚©‚µ‚­‚È‚éƒoƒOC³ - DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚µ‚ÄŒvŽZ‚µ‚Ü‚· - - pc.c - pc_modifysellvalue(),pc_modifysellvalue()‚ÌC³ - ----------- -//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–½—ß‚Æ“¯‚¶‚Å‚· - - script.c - buildin_areamonster()’ljÁ - mob.c/mob.h - mob_once_spawn_area()’ljÁ - -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 - - skill.c - ŠY“–ˆ—’ljÁ‚È‚Ç - ----------- -//0293 -E2-2ŽŸE‚̃XƒLƒ‹ƒRƒƒ“ƒg‚ÌC³iˆê•”’ljÁj - (db/) - skill_db.txt - skill_tree.txt - - ----------- -//0292 by ŒÓ’±—– - -ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³Part2 - E”„”ƒ‚Å‚«‚È‚©‚Á‚½–â‘èC³ - - map.h - struct map_session_data ‚Énpc_shopidƒƒ“ƒo’ljÁ - 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 - - script.c - buildin_areawarp(),buildin_getareausers()’ljÁ - -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³ - ----------- -//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 - - 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 - - (conf/) - npc_test_arena.txt - ƒTƒ“ƒvƒ‹‚ÌC³ - (map/) - script.c - buildin_disablenpc(),buildin_enablenpc(), - buildin_mapannounce(),buildin_areaannounce(), - buildin_addtimercount()‚̒ljÁ - npc.c/npc.h - NPC‚Ì—LŒø–³Œøˆ—’ljÁ - map.h - struct npc_data‚Éflagƒƒ“ƒo’ljÁ(1ƒrƒbƒg–Ú‚ª–³Œøƒtƒ‰ƒO) - clif.c - clif_getareachar_npc()‚ÌC³ - pc.c/pc.h - pc_addeventtimercount()’ljÁ - -ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³ - SHOP NPC‚ÆŽæˆø’†‚Å‚àƒCƒxƒ“ƒg‚ª‹N‚±‚é‚悤‚É‚È‚è‚Ü‚·B - ‚±‚ê‚ÍRO‚ÌŽd—lã”ð‚¯‚é‚Ì‚ª“‚¢‚½‚ß‚±‚̂悤‚ÈŒ‹‰Ê‚Å—Ž‚¿’…‚«‚Ü‚µ‚½B - - npc.c - npc_click()“™‚ÌC³ - -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 - ----------- -//0290 by ŒÓ’±—– - -EƒXƒNƒŠƒvƒg‚ÅMAPŽI“à‹¤—L•Ï”‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - •Ï”–¼‚ð$‚ÅŠJŽn‚·‚é‚ÆAMAPŽI“à‚Ì‘Sˆõ‚Å‹¤—L‚·‚é•Ï”‚É‚È‚è‚Ü‚·B - - Œ¾—t‚Ì–â‘è‚Å‚·‚ªAPC‚Ìglobalreg‚Íu‘åˆæ“Iv‚Æ‚¢‚¤‚æ‚èu‰i‘±«‚Ì‚ ‚év - •Ï”‚Å‚ ‚Á‚ÄAMAPŽI“à‹¤—L•Ï”‚Ì‚Ù‚¤‚ª‘åˆæ“I‚Á‚ăCƒ[ƒW‚ª‹­‚¢‚ñ‚Å‚·‚ªc - - script.c - mapval_db’è‹` - buildin_set(),buildin_input()‚ÌC³ - do_init_script()’ljÁ - map.c - do_init()‚Ådo_init_script()‚ðŒÄ‚Ԃ悤‚ÉB - -EƒCƒxƒ“ƒgƒLƒ…[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Ȃ瑂₵‚Ü‚·‚ªB - - ƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]‚ª‚¿‚á‚ñ‚Æ“®‚­‚悤‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B - - map.h - struct map_session_data‚Éeventqueueƒƒ“ƒo’ljÁ - npc.c - npc_event_timer()’ljÁ - script.c - run_script()‚ÅENDˆ—‚ŃLƒ…[‚̈—’ljÁ - -EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ªŽg—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - Žg—p•û–@‚ÍAaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[’ljÁA - deltimer "ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[íœB - - (common/) - timer.c/timer.h - get_timer(),addtick_timer()’ljÁ - (map/) - map.c/map.h - struct map_session_data‚Éeventtimerƒƒ“ƒo’ljÁ - map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ԃ悤‚ÉB - pc.c - pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), - pc_cleaereventtimer()’ljÁ - pc_authok()‚Åeventimer‚̉Šú‰» - script.c - buildin_addtimer(),buildin_deltimer()’ljÁ - -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‚¤ - - mob.c/mob.h - mob_delete()’ljÁ - script.c - buildin_getusers(),buildin_getmapusers(), - buildin_killmonster()’ljÁ - clif.c/clif.h - clif_GMmessage()‚̈ø”•ÏX - -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³ - - npc.c - npc_buylist(),npc_selllist()C³ - ----------- -//0289 by ŒÓ’±—– - -EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ÌC³‚È‚Ç - E‘¼‚ÌNPC‚ɘb‚µŠ|‚¯‚Ä‚¢‚é‚Æ‚«‚̓Cƒxƒ“ƒg‚ª–³Ž‹‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - =>ƒLƒ…[‚É“ü‚ê‚é‚Ȃǂ̈—‚ª‚¢‚é‚ÆŽv‚í‚ê‚éB - - ‚±‚ÌŠÖŒW‚ÅAƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚µ‚Ä‚à - IDƒGƒ‰[‚ªo‚ĉ½‚à‹N‚«‚Ü‚¹‚ñBƒCƒxƒ“ƒgƒLƒ…[‚ðì‚ê‚Î’¼‚é‚Í‚¸B - - npc.c - npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’ljÁ - script.c - I—¹Žž‚Énpc_id‚ðƒNƒŠƒA‚·‚é‚悤‚É - -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 - - script.c - buildin_announce()‚̒ljÁ - clif.c - clif_send()‚ÅSELF‚̈—’ljÁ - clif_GMmessage()‚̈ø”•ÏX - intif.c - intif_GMmessage()‚̈ø”•ÏX - -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 - - Ú‚µ‚­‚Í“¯«‚Ìconf/npc_test_ev.txt‚ðŽQÆB - - (conf/) - npc_test_ev.txt - C³ - (map/) - map.h - struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’ljÁ - npc.c - npc_parse_mapflag()’ljÁ - do_init_npc()‚ÌC³ - pc.c - pc_memo()‚Ńƒ‚‹ÖŽ~‚©‚Ç‚¤‚©‚ðŠm”F - pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚È‚çƒ}ƒbƒv‚ð•ÏX - pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚©‚Ç‚¤‚©Šm”F - skill.c - ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚©Šm”F - - -Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚¿‚é–â‘èC³c‚¾‚Æ‚¢‚¢‚È - - skill.c - ‚³‚ç‚Ƀ`ƒFƒbƒN‚ð’ljÁ - skill_blown()‚É—Ž‚¿‚錴ˆö‚Á‚Û‚¢‚à‚Ì”­Œ©‚µ‚½‚Ì‚ÅC³ - ----------- -//0288 by ŒÓ’±—– - -EŽ©“®‘é”­“®Žž‚ÉuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹©‚΂Ȃ­‚È‚è‚Ü‚µ‚½ - skill.c - skill_attack(),skill_additional_effect(), - skill_castend_damage_id()‚ÌC³ - -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 - - Œ»ó‚Å‚Í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 - - (db/) - item_db.txt/item_db2.txt - monsterƒRƒ}ƒ“ƒh‚Ì•ÏX‚É‚æ‚éC³iŒÃ–Ø‚ÌŽ}jB - (conf/) - npc_test_ev.txt - ƒTƒ“ƒvƒ‹ - (map/) - npc.c - npc_event()’ljÁ - npc_parse_script()C³ - npc_checknear()C³ - clif.c - clif_getareachar_npc()C³ - map.h - struct mob_data‚Énpc_eventƒƒ“ƒo’ljÁ - mob.c/mob.h - mob_once_spawn()‚̈ø”•ÏX - mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·‚悤‚É - atcommand.h - mob_once_spawn()‚̈ø”•ÏX - script.c - buildin_monster()‚ÌC³ - ----------- -//0287 by ŒÓ’±—– - -Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚Å‚g‚o‚ª65535‚ð‰z‚¦‚Ä‚¢‚é‚Ƴí‚È’l‚ªŒ©‚ê‚È‚¢ƒoƒOC³ - - clif.c - clif_skill_estimation()‚ÌC³ - -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 - -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 - - (db/) - item_db.txt/item_db2.txt - ŠY“–•”•ª‚̃XƒNƒŠƒvƒgC³ - (map/) - script.c - buildin_getitem()‚ÌC³ - itemdb.c/itemdb.h - itemdb_searchrandomid(),itemdb_searchrandomid_sub()’ljÁ - -E‰r¥ƒf[ƒ^‚̈ꕔC³ - (db/) - cast_db.txt - ‘¬“x㸂ȂǂÌC³ - -ENPC‚ÌŒü‚«C³‚È‚Ç - (conf/) - npc_*.txt - ----------- -//0286 by ŒÓ’±—– - -Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚éƒoƒOC³ - clif.c - clif_skill_estimation()‚ÌC³ - -E‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ª”½‰ž‚µ‚È‚¢‚±‚Æ‚ª‚ ‚é–â‘è‚ðC³ - skill.c - skill_use_id(),‰r¥”½‰žŽžAÅ’á’ÇÕ‹——£‚ð13‚ÉÝ’è‚·‚é‚悤‚ÉB - -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 - - (db/) - item_db.txt/item_db2.txt - ƒnƒG‚̉HA’±‚̉H‚̃XƒNƒŠƒvƒgC³ - script.c - buildin_warp()‚ÌC³ - -E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚ª•œŠˆ‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ -EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚ð”­¶‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ -EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - - ƒ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 - - (db/) - item_db.txt/item_db2.txt - ŒÃ–Ø‚ÌŽ}‚̃XƒNƒŠƒvƒgC³ - (map/) - mob.c/mob.h - mob_once_spawn()’ljÁ - mob_setdelayspwan()‚Å•œŠˆ‹ÖŽ~ˆ—’ljÁB - npc.c/npc.h - npc_get_new_npc_id()’ljÁ - script.c - buildin_monster()’ljÁ - atcommand.c - @monster‚ÌC³ - -E@itemƒRƒ}ƒ“ƒh‚ÌC³i‘•”õ•i‚È‚Ç‚Ì–â‘èj - - atcommand.c - @item‚ÌC³ - ----------- -//0284 by ŒÓ’±—– - -EáŠQ•¨‚ª‚ ‚é‚Ɖ“‹——£UŒ‚‚ª‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ -E‘Î’nƒXƒLƒ‹‚ªáŠQ•¨ã‚ÉŽg—p‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ - - path.c - path_search(),can_move()‚ÌC³Acan_place()‚̒ljÁ - battle.c/battle.h - battle_check_range()’ljÁAŽË’ö‚ÆáŠQ•¨”»’èB - battle_weapon_attack()‚Åbattle_check_range()‚ðŒÄ‚ÔB - skill.c - skill_use_id()Askill_use_pos()‚Åbattle_check_range()‚ðŒÄ‚ÔB - mob.c - mob_ai_sub_hard()‚̈—‚ðC³ - -E‰r¥”½‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - skill.c - skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒX‚̈—’ljÁ - mob.c - mob_ai_sub_hard_linksearch()‚̒ljÁ - mob_ai_sub_hard()‚ɃŠƒ“ƒNˆ—‚ðC³ - ----------- -//0283 by ‚ê‚  -EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ÌC³ - 0282‚Ŷ‚«‚Ä‚é‚o‚b‚ɃŠƒU‚ª‚©‚¯‚ê‚é‚Ì‚ÉA - Ž€‚ñ‚Å‚é‚o‚b‚ɂ̓ŠƒU‚ª‚©‚©‚ç‚È‚­‚È‚Á‚Ä - ‚¢‚½‚Ì‚ðC³‚µ‚Ü‚µ‚½B - ----------- -//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 - - skill.c - skill_castend_nodamage_id()‚ÌC³ - ƒXƒg[ƒ€ƒKƒXƒg‚̈—’ljÁ - -EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚É‚È‚Á‚ĈÀ‘S«ƒ`ƒFƒbƒN‚ð’ljÁB - i—Ž‚¿‚È‚­‚È‚é“ú‚͉“‚¢HHj - - map.h - MAX_SKILLUNITGROUP‚ð32‚É‘‚₵‚½ - skill.c - skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’ljÁ - battle.c - battle_calc_damage()‚ɶ‘¶ƒ`ƒFƒbƒN’ljÁ - map.c - map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’ljÁ - -E‚»‚Ì‘¼C³ - EPC‚ÌÅ‘åHP‚ª30000‚ɧŒÀ‚³‚ê‚Ü‚µ‚½B - EPC‚̉ñ•œˆ—‚ªC³‚³‚ê‚Ü‚µ‚½ - E‚«”ò‚΂µˆ—‚ÌC³ - E0281‚Ìitem_db.txt‚Ì•ÏX‚ðitem_db2.txt‚É‚à“K—p - - (map/) - pc.c - pc_heal(),pc_calcstatus()‚ÌC³ - path.c - path_blownpos()‚ÌC³ - (db/) - item_db2.txt - 0281‚Ì–¼‘OC³‚È‚Ç‚ð“K—p - ----------- -//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 - - (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 - - ƒ’ˆÓ„ - “¯‚¶ƒAƒJƒEƒ“ƒg‚Ì‘S‚ẴLƒƒƒ‰‚ÍPT‚©‚甲‚¯‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B - ‚Ü‚½A‘qŒÉ‚̃AƒCƒeƒ€‚Í‘S•”ˆø‚«o‚µ‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¢‚ƃSƒ~ƒf[ƒ^‚ªŽc‚è‚Ü‚·B - - (login/) - login2.c - ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ - (char/) - char2.c - ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ - (map/) - chrif.c/chrif.h - chrif_changegm(),chrif_changedgm()’ljÁ - -E@pvpoffƒRƒ}ƒ“ƒh•œŠˆ - clif.c/clif.h - clif_pvpoff()’ljÁ - atcommand.c - @pvpoff‚̈—’ljÁ - -E‹ó‚Ì‘qŒÉƒf[ƒ^‚Í•Û‘¶‚³‚ê‚È‚¢‚悤‚É•ÏX - (char/) - int_storage.c - inter_storage_save()Astorage_tostr()‚ðC³ - -E@memoƒRƒ}ƒ“ƒh’ljÁB - ”CˆÓ‚Ì‹L‰¯ˆæ‚Ƀƒ‚‚ðŽæ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B - - atcommand.c - @memo‚̈—’ljÁ - - ----------- -//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_unitgrouptickset_search(),skill_unitgrouptickset_delete() - skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁB - -EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ - ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŽÀ‘• - ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚¯‚é‚Æ—Ž‚¿‚éƒoƒOC³ - - (db/) - cast_db.txt - ƒ[ƒvƒ|[ƒ^ƒ‹‚̉r¥ŽžŠÔÝ’è - (map/) - map.h - struct skill_unit_group‚Ìvalstr‚ðƒ|ƒCƒ“ƒ^‚É•ÏX - clif.c/clif.h - clif_parse_UseSkillMap(),clif_skill_warppoint()A - clif_parse_Memo(),clif_skill_memo()’ljÁ - skill.c/skill.h - skill_castend_map(),skill_unit_onlimit()‚̒ljÁ - skill_unit_*Œn‚̈—‚¢‚ë‚¢‚ë’ljÁB - skill_status_change_start()‚̃LƒŠƒG‚̈—C³ - pc.c/pc.h - pc_randomwarp(),pc_memo()’ljÁ - ----------- -//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.c - 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Œ‚—͕ⳂðŽÀ‘• - clif.c - clif_parse_CartOff‚ðclif_parse_RemoveOption‚É•ÏX - 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Á - script.c - buildin_setfalcon() ‘é•t‰Á - buildin_setriding() ƒyƒRƒyƒRæ‚è - ----------- -//0276 by nabe - -E¸˜BNPCŽÀ‘• - (conf/) - npc_town_refine.txt - ¸˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’ljÁ - (map/) - pc.c/pc.h - ¸˜B¬Œ÷—¦‚Ì•\percentrefinery[5][10]‚ð’ljÁ - script.c‚©‚çŒÄ‚΂ê‚éŠÖ” - pc_percentrefinery() ¸˜B¬Œ÷—¦ - pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX - ‚ð’ljÁ - 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Á - const.txt - Weight,MaxWeight‚ð’ljÁ - -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 - (map/) - script.c - buildin_strcharinfo()‚ð’ljÁ - ----------- -//0275 by ŒÓ’±—– - -EMVP‚ÌŽÀ‘• - MVP‚Ì”»’è‚É‚Ídmglog‚ðŽg‚Á‚Ä‚Ü‚·B‚·‚È‚í‚¿—^ƒ_ƒ‚¾‚¯‚ªŒvŽZ‘ÎÛ‚Å‚·B - ”íƒ_ƒ‚Íl—¶‚³‚ê‚Ä‚Ü‚¹‚ñB - ŒoŒ±’l‚Í–³ðŒ‚Å“ü‚èAŠm—¦‚Å‚³‚ç‚ɃAƒCƒeƒ€‚ª“ü‚è‚Ü‚·B - ƒAƒCƒeƒ€‚Í•¡”Žè‚É“ü‚邱‚Æ‚à‚ ‚è‚Ü‚·B - - clif.c/clif.h - clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’ljÁ - mob.c - mob_damage()‚ÉMVPˆ—’ljÁ - -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Á - skill.c - skill_castend_damage_id()‚Ɉ—’ljÁ - skill_use_pos()‚ÉUŒ‚’âŽ~ˆ—’ljÁ - -EƒJ[ƒhƒXƒLƒ‹‚ªƒJ[ƒh‚ðŠO‚µ‚Ä‚àŽg—p‰Â”\‚È–â‘è‚ðC³ - pc.c - pc_calc_skilltree()‚ðC³ - -EƒAƒCƒeƒ€ƒhƒƒbƒv—¦AexpŠ“¾”{—¦‚È‚Ç‚Ì’²®‹@”\’ljÁ - battle_athena.cnf‚Å’²®‚Å‚«‚逖ڂª‘‚¦‚Ü‚µ‚½B - Ú‚µ‚­‚Í‚»‚¿‚ç‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - - (conf/) - battle_athena.cnf - mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rate’ljÁ - (map/) - battle.c/battle.h - ‘‚¦‚½€–Ú‚ð“Ç‚Ýž‚ނ悤‚Ɉ—’ljÁ - mob.c - mob_db.txt“Ç‚Ýž‚ÝŽžAƒf[ƒ^‚ð’²®‚·‚鈗’ljÁ - ----------- -//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Á - clif.c/clif.h - clif_fixpcpos()’ljÁ - clif_parse_WalkToXY()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ - mob.c - mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ - -E‘•”õ‚Ȃǂ̃NƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚ª1/10‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ - battle.c - battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗C³ - -EƒuƒŠƒbƒcƒr[ƒg‚ÌŒvŽZŽ®‚ª‘S‘Rˆá‚¤ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ - battle.c - battle_calc_attack()‚ÌBF_MISC‚̈’u‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ - -ESW‚ƃjƒ…[ƒ}‚ª•ŠíUŒ‚‚È‚ç‚Ç‚ñ‚ȃŒƒ“ƒW‚ÌUŒ‚‚Å‚à–h‚¢‚Å‚¢‚½–â‘è‚ðC³ - battle.c - battle_calc_damage()‚̃Œƒ“ƒW”»’è‚ðC³ - -EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ªPTƒƒ“ƒo‚É‚à‚©‚©‚é‚悤‚ÉC³B - Œø‰Ê‚ÍŽg—pŽÒ‚ÆPTƒƒ“ƒo‚ňႢ‚Í‚ ‚è‚Ü‚¹‚ñB - - skill.c - skill_castend_nodamage_id()‚ÌC³B - ----------- -//0273 by ŒÓ’±—– - -EƒLƒƒƒ‰ƒNƒ^[‚ªÁŽ¸‚µ‚½‚茶‰e‚ªo‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½ - E‚«”ò‚΂µƒXƒLƒ‹‚ðŽó‚¯‚é‚Æ”­¶‚µ‚Ä‚¢‚½ - EŽÎ‚߈ȊO‚Ì•às‚Å”­¶‚µ‚Ä‚¢‚½ - - map.c - map_foreachinmovearea()‚ÌC³B - skill.c - skill_blown()‚É•\Ž¦”͈ÍXVˆ—‚ð’ljÁB - mob.c - mob_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ - pc.c - pc_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ - -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³ - mob.c - mob_walk(),mob_attack()‚ÅŒü‚«‚ð•Û‘¶ - pc.c - pc_walk(),pc_attck()‚ÅŒü‚«‚ð•Û‘¶ - map.c - map_calc_dir()’ljÁB‘Š‘ΓI‚È•ûŒü‚ð‹‚ß‚é - - -EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚ªí“¬Žž‚ÉŒvŽZ‚³‚ê‚Ä‚È‚¢ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ - battle.c - battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗’ljÁ - - -E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚ª“G‚ɉe‹¿‚ð‹y‚Ú‚·‚©‚Ç‚¤‚©‚ð - battle_athena.cnf‚ŧŒä‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - ƒfƒtƒHƒ‹ƒg‚Íu‹y‚Ú‚³‚È‚¢v‚Å‚·B - - (conf/) - battle_athena.cnf - €–Údefunit_not_enemy‚ð’ljÁ - (map/) - battle.c/battle.h - struct Battle_Config ‚É defnotenemyƒƒ“ƒo’ljÁB - battle_read_config()‚̈—‚ðC³B - skill.c - skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚̈—‚ðC³ - -EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ñ‚Å‚à‰r¥‚ª‘±‚­ƒoƒO‚ðC³ - i‰r¥I—¹‘O‚É•œŠˆ‚·‚ê‚Ζ‚–@‚ª”­“®‚·‚é–â‘è‚àC³‚É‚È‚è‚Ü‚·j - - pc.c - pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ԃ悤‚ÉC³ - -E“G–¡•û”»’舗‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ðC³ - battle.c - battle_check_target()‚ÌC³ - ----------- -//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 - - (db/) - skill_db.txt - ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ð8‚É•ÏX - (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 - battle.c - battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB - map_foreachinarea()‚È‚ÇC³ - map.c - map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ԃ悤‚ÉB - -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Á - battle.c/battle.h - struct Damage‚Éblewcountƒƒ“ƒo’ljÁ - battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚é‚悤‚ÉB - skill.c/skill.h - skill_blown()’ljÁB‚«”ò‚΂µˆ—B - skill_attack()‚Åskill_blown()‚ðŒÄ‚Ԃ悤‚ÉB - skill_attack()‚Ìflag‚Ì‚«”ò‚΂µƒrƒbƒg‚Í–¢Žg—p‚ÉB - -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³ - -E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«AˆÊ’u‚ª‚¸‚ê‚é–â‘è‚̉ž‹}ˆ’u - i‚Ü‚¾ˆÊ’u‚Í‚¸‚ê‚é‚悤‚Å‚·j - - clif.c/clif.h - clif_fixmobpos()‚ð’ljÁ - mob.c - mob_attack()‚Åclif_fixmobpos()‚ðŒÄ‚Ԃ悤‚ÉB - -E‚»‚Ì‘¼C³ - pc.c - pc_stop_walking()‚Åpath_len‚ð‰Šú‰»‚·‚é‚悤‚ÉB - ----------- -//0271 by ‚ê‚  - -EPT‚ÉŠÖ‚µ‚Ä­‚µ‚¾‚¯C³ - Œö•½‚É‚µ‚Ä‚©‚çƒLƒƒƒ‰‚ð‰Á“ü‚³‚¹‚é‚ÆŒö•½‚ª‰ðœ‚³‚ê‚È‚¢ƒoƒO‚ðC³ - ----------- -//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³ - 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³ - 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 - mob.c - mob_spwan()‚Åskillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB - mob_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB - battle.c/battle.h - battle_calc_magic_attack()C³ - battle_check_target()C³ - map.c - map_foreachobject()‚È‚ÇC³ - -E‚±‚Ü‚©‚¢ƒoƒOC³‚È‚Ç - Emob‚ª‰ñ•œ‚µ‚È‚¢–â‘èC³ - - battle.c - battle_damage()C³ - ----------- -//0266 by ŒÓ’±—– - -E–‚–@ŒvŽZŽ®‚ÌC³ - –‚–@”{—¦‚ðƒ_ƒ[ƒW‚ÉŠ|‚¯‚Ä‚¢‚½‚Ì‚ðMATK‚É‚©‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B - c‚±‚Á‚¿‚ª³‚µ‚¢‚Æ‚µ‚Ä‚¢‚¢‚Ì‚©‚ÈHˆá‚¤‚Ȃ狳‚¦‚Ä‚­‚¾‚³‚¢B - - battle.c - battle_calc_magic_attack()‚ÌC³ - -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 - - (db/) - skill_db.txt - ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚̃qƒbƒg”‚ð‚R‚©‚ç10‚É•ÏXB - (map/) - skill.c - skill_status_change_timer_sub()’ljÁB - skill_status_change_*()‚Ɉ—’ljÁB - -Eblock‚̃ƒ‚ƒŠ‰ð•ú‚̈À‘S«‚ÌŒüã - map_foreachinarea,party_foreachsamemap‚ʼnñ‚Á‚Ä‚¢‚é‚Æ‚«‚É - block‚ðƒ`ƒFƒCƒ“‚©‚ç휂·‚é‚ÆA‚¤‚Ü‚­‰ñ‚ç‚È‚¢‰Â”\«‚ª‚ ‚é–â‘èC³B - ‚³‚ç‚ÉAblock‚ðƒƒ‚ƒŠ‚©‚ç‰ð•ú‚·‚é‚Ɗ댯‚È–â‘è‚àC³B - - 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 - - ‚±‚ê‚Í¡Œã‚ðŒ©‰z‚µ‚½‰ü—Ç‚Å‚ ‚Á‚ÄAŒ»Ý‚Ì•sˆÀ’肳‚𒼂·‚à‚Ì‚Å‚Í‚È‚¢B - iŒ»Ý‚Íforeach“à‚Ńƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ä‚¢‚È‚¢c‚Í‚¸‚È‚Ì‚ÅB - ‚½‚¾AƒXƒLƒ‹ƒ†ƒjƒbƒg‚ȂLjꎞƒIƒuƒWƒFƒNƒg‚𑽗p‚µŽn‚ß‚é‚ÆŒø‰Ê‚ª‚ ‚éj - - 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 - party.c - party_foreachsamemap()‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒN - - -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 - map.h - struct skill_unit,skill_unit_group‚ȂǒljÁB - map_session_data‚Ì‘‚«Š·‚¦‚È‚ÇB - -E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë‚ðC³‚µ‚½‚ÆŽv‚¤‚¯‚Ç–Y‚ê‚Ü‚µ‚½B - ----------- -//0264 by nabe - -E$charaname‚ð’‚éNPC‚Ƙb‚µ‚½ŽžAmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B - script.c - replacestr()‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðŽè’¼‚µ‚µ‚Ü‚µ‚½B - ----------- -//0263 by nabe - -E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚µ“ü‚ê‚Å‚«‚È‚¢‚悤C³ - pc.c - pc_putitemtocart(),pc_getitemfromcart()‚ÉA˜I“X”»’è‚ð’ljÁ - -E˜I“XƒAƒCƒeƒ€w“ü‚̃`ƒFƒbƒN‚ð’ljÁ - vending.c - vending_purchasereq()‚Å”X‚ÌðŒ”»’è‚ð’ljÁ - ----------- -//0261 by ŒÓ’±—– - -EŠg‘勾AƒCƒOƒhƒ‰ƒVƒ‹‚Ì—t‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhì¬BˆêŽž“I‚ɃXƒLƒ‹‚ªŽg—p‚Å‚«‚Ü‚·B - - (map/) - script.c - buildin_itemskill()‚̒ljÁ‚È‚ÇB - skill.c - ƒAƒCƒeƒ€ƒXƒLƒ‹‚È‚çSP‚È‚Ç‚ðŒŸ¸•Á”‚È‚¢‚悤‚ÉC³ - clif.c/clif.h - clif_item_skill()‚̒ljÁB - (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³ - party.c - party_foreachsamemap()‚ÌC³ - -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³ - -EƒXƒNƒŠƒvƒg‚̃R[ƒh‚ð®— - get_val()‚Åconst.txt‚Ì’è”‚ðŠ“¾‚Å‚«‚é‚悤‚ÉC³B - - (map/) - script.c - get_val()‚ÌC³iconst.txt‚Ìtype==0‚Ì’l‚ªŠ“¾‰Â”\‚Éj - bonus(),bonus2()‚È‚Ç‚ÌC³B - (db/) - const.txt - type=1‚Å‚ ‚é•K—v‚ª–³‚¢‚à‚Ì‚ð0‚ÉB - item_db.txt/item_db.txt - const.txt‚Ì•ÏX‚É”º‚¤C³B - ----------- -//0260 by ŒÓ’±—– - -E퓬ŠÖŒW‚Ìݒ肪ƒtƒ@ƒCƒ‹‚É‘‚¯‚é‚É‚È‚è‚Ü‚µ‚½ - mapŽI‚Ì‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–¼‚ªÝ’肳‚ê‚Ä‚¢‚é‚ÆA‚»‚ê‚ðŽg‚¢A - ݒ肳‚ê‚Ä‚È‚¢ê‡‚Í "conf/battle_athena.cnf"‚ðŽg‚¢‚Ü‚·B - - ‚ ‚Æ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 - - (conf/) - battle_athena.cnf - ’†‚Éà–¾‘‚¢‚Ä‚é‚Ì‚ÅŠeŽ©D‚«‚Ȃ悤‚É‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - - (map/) - battle.c/battle.h - struct Battle_Config‚Ì’è‹`B - battle_config_read()‚ȂǒljÁB - skill.c - CASTFIX,DELAYFIX‚Ì”pŽ~‚ÆBattle_Config‚É‚æ‚éC³‚̒ljÁB - atcommand.c - @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚é‚悤‚ÉB - iŽIÝ’è‚Ìí‚ÉPVP‚ªoff‚ÌŽžA—¼l‚ªpvp‚ðon‚É‚µ‚Ä‚½‚ç퓬‰Â”\j - map.c/map.h - struct map_session_data‚Épvp_flag‚ð’ljÁ - do_init()‚Åbattle_config_read()‚ð“ǂނ悤‚ÉB - -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 - skill.c/skill.h - skill_weapon_attack(),~_magic_~(),~_misc_~()‚Ì”pŽ~A - skill_attack()‚Ɉê–{‰»B - pc.c/mob.c - UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉê–{‰»B - -EƒAƒCƒeƒ€ŠÓ’èƒXƒLƒ‹‚ðŽÀ‘• - ¤l‚̃XƒLƒ‹‚Ì•û‚Å‚·B’ŽŠá‹¾‚Í‚Ü‚¾‚Å‚·B - - skill.c - ƒXƒLƒ‹ˆ—’ljÁ - pc.c/pc.h - pc_item_identify()’ljÁ - clif.c/clif.h - clif_item_identify_list(),clif_item_identified()’ljÁ - clif_parse_ItemIdentify()’ljÁ - -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 - ----------- -//0258 by ŒÓ’±—– - -Eƒp[ƒeƒB‚ňê“xŒö•½‚É‚µ‚½‚çŠeŽ©Š“¾‚É–ß‚¹‚È‚¢ƒoƒOC³ - (char/) - int_party.c - mapif_parse_PartyChangeOption()‚Ì”»’èC³ - -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 - clif.c/clif.h - clif_skill_damage(),clif_skill_damage2()‚̈ø”•ÏXB - clif_skill_poseffect()’ljÁB - 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 - battle.c - battle_calc_weapon_damage()C³B - ----------- -//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 - - (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Á - pc.c - pc_calcstatus()Apc_bonus2()‚ÌC³ - pc_attack()‚Åskill_additional_effct()‚ðŒÄ‚Ԃ悤‚ÉB - skill.c/skill.h - skill_additional_effect()‚ŃJ[ƒh‚É‚æ‚é”»’è’ljÁ - skill_status_change_start()‚Å‘Ï«‚ð•t‚¯‚½B - battle.c - battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh - iƒNƒŠƒeƒBƒJƒ‹‘Ï«j‚̈—‚ð’ljÁ - -E‰ñ”ð”»’è‚ÌC³ - UŒ‚ŽÒ‚ªPC‚Ìê‡AÅ‘å–½’†—¦‚X‚T“§ŒÀ‚ð‚È‚µ‚É‚µ‚Ü‚µ‚½B - battle.c - battle_calc_weapon_attack()‚ðC³ - - -EŠ®‘S‰ñ”ð‚ðŽÀ‘• - ‚Ö‚ñ‚Ä‚±‚Ȉ—‚µ‚Ä‚Ü‚·•ŒvŽZŽ®“K“–‚Å‚·B - - battle.c - battle_calc_weapon_attack()‚Ɉ—’ljÁB - -E‘qŒÉ‚ðŠJ‚¢‚½‚܂܃ƒOƒAƒEƒg‚µ‚½‚Æ‚«mapŽI“à‚Å‚ÍŠJ‚«‚Á‚Ï‚È‚µ‚É‚È‚Á‚Ä‚é–â‘è‚ðC³ - storage.c - storage_storage_quitsave()‚ðC³ - -E@item,@monster,@produce‚Å–¼‘OŽw’è‚Å‚«‚é‚悤‚É•ÏX - ‰pŒê–¼A“ú–{Œê–¼‚Ç‚¿‚ç‚Å‚àOKB‰pŒê‚Ìꇂ͑啶Žš¬•¶Žš‹æ•Ê‚µ‚Ü‚¹‚ñB - - atcommand.c - ŠY“–ŒÂŠC³ - itemdb.c/itemdb.h - itemdb_searchname(),itemdb_searchname_sub()’ljÁ - mob.c/mob.h - mobdb_searchname()’ljÁ - -E@refine‚Åã‚°‚é”’l‚ðŽw’è‚Å‚«‚é‚悤‚É•ÏX - atcommand.c - ŠY“–ŒÂŠC³ - -E@produce‚É‚æ‚黑¢Žž‚̃GƒtƒFƒNƒg‚𳂵‚¢‚à‚Ì‚ÉC³ - clif.c/clif.h - clif_produceeffect()’ljÁ - 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 - -Estricmp‚Ì•Ï‚í‚è‚Éstrcasecmp‚ðŽg‚¤‚悤‚É‚µ‚½ - i_WIN32‚©__EMX__‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚Æstricmp‚ðŽg‚¢‚Ü‚·j - - (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³ - pc.c - pc_calcstatus()‚Å•ŠíŒ¤‹†‚É]‚Á‚Ä–½’†C³ - ----------- -//0256 by nabe - -E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ - clif.c - clif_vendinglist()‚Å”„‚è؂ꂽƒAƒCƒeƒ€‚Í•\Ž¦‚µ‚È‚¢‚悤‚É - ----------- -//0255 by nabe - -E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ - vending.c - vending_purchasereq()‚Åzeny,weight•”•ªC³ - ----------- -//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Á - clif.h/clif.h - ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’ljÁ - map.h - struct map_session_data‚ÉA - int vender_id; - int vend_num; - char message[80]; - struct vending vending[12]; - ‚ð’ljÁ - ----------- -//0253 by ŒÓ’±—– - -Estricmp–¢’è‹`ƒGƒ‰[‚ª‚Å‚éŠÂ‹«—p‚ÌC³ - ƒGƒ‰[‚ªo‚½ê‡Aint_party.c‚Ìʼn‚̃}ƒNƒ’è‹`‚̃Rƒƒ“ƒg‰»‚Ì‚¤‚¿A - ‚Ç‚¿‚ç‚©‚ðŠO‚µ‚Ä‚â‚è’¼‚µ‚Ä‚Ý‚é‚ÆA‚¤‚Ü‚­‚¢‚­‚©‚àB - ň«A‰º‚ð—LŒø‚É‚µ‚½‚炤‚Ü‚­‚¢‚­‚Í‚¸Bi‘啶Žš¬•¶Žš‚ð‹æ•Ê‚·‚é‚悤‚É‚È‚è‚Ü‚·j - - (char/) - int_party.c - ƒRƒƒ“ƒg‰»Ï‚݂̃}ƒNƒ’è‹`’ljÁ - ----------- -//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‚ðŽÀ‘• - - (db/) - const.txt - bonus—p‚̒蔒ljÁAbonus2‚̒蔂à’ljÁ - item_db.txt/item_db2.txt - ƒJ[ƒh‚̃XƒNƒŠƒvƒg’ljÁ - (map/) - map.h - struct map_session_data‚Éhprate‚È‚Ç‘½”ƒƒ“ƒo’ljÁ - script.c - bonus2ƒRƒ}ƒ“ƒh’ljÁ - buildin_bonus2()’ljÁ - 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Á - battle.c - battle_calc_weapon_attack()‚ŃJ[ƒhC³‚ð’ljÁ - battle_calc_magic_attack()‚ŃJ[ƒhC³‚ð’ljÁ - battle_damage()‚ŃtƒFƒ“ƒJ[ƒhC³‚ð’ljÁ - -EƒXƒe[ƒ^ƒXŠ„‚èU‚è‚Ì•\Ž¦ã‚Ì–â‘èC³ - STR‚ðã‚°‚Ä‚àATK‚ª•Ï‚í‚ç‚È‚¢–â‘èAINT‚ðã‚°‚Ä‚àMATK‚ª•Ï‚í‚ç‚È‚¢–â‘èC³ - - map.h - struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’ljÁ - pc.c - pc_calcstatus()‚ÌC³ - clif.c - clif_initialstatus()‚ÌC³ - battle.c - battle_calc_magic_attack()‚ÌC³ - - ----------- -//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 - pc.h/pc.c - pc_iscarton()ƒ}ƒNƒ‚ð’ljÁ - pc_cart_additem(),pc_cart_delitem()‚É‚»‚ꂼ‚ê - sd->cart_num++;‚Æsd->cart_num--;ˆ—‚ð’ljÁ - clif.c - clif_parse_LoadEndAck()‚ÅA - ƒJ[ƒg‚ð•t‚¯‚Ä‚¢‚é‚Æ‚«‚̂݃J[ƒgî•ñ‚ð‘—M‚·‚é‚悤‚É‚µ‚½ - ----------- -//0250 by nabe - -EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽÀ‘•B - (map/) - pc.c/pc.h - pc_setcart()‚ð’ljÁ - script.c - buildin_setcart()‚ð’ljÁ - ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚ª‚‚­ - 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 - (conf/) - npc_town_kafra.txt - ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· - - ----------- -//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Á - inter.c - ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’ljÁ - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg0x3028’ljÁ - (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 - intif.c/intif.h - intif_party_checkconflict()’ljÁ - -Eƒp[ƒeƒB‚ÌÀ•WA‚g‚o’Ê’m‚ðŽÀ‘• - •Ï‰»‚ª‚ ‚ê‚΂P•b‚Ɉê‰ñ‘—MB - - map.h - struct map_session_data‚Éparty_x,~_y,~_hp‚Ì‚Rƒƒ“ƒo’ljÁ - 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 - 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 - pc.c/pc.h - pc_authok()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB - pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ªŽ‹ŠE“à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«‚É - party_hp‚ð‰Šú‰»‚·‚é‚悤‚ÉB - -Eƒp[ƒeƒB‚ÌexpŒö•½•ª”z‚ðŽÀ‘• - party.c/party.h - party_share_exp()’ljÁ - mob.c/mob.h - mob_damage()‚ÅŒö•½•ª”zˆ—’ljÁ - -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 - battle.c - battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³ - battle_get_dmotion(),battle_get_attack_element()C³ - clif.c - clif_mob007b(),clif_mob0078‚Åoption‚È‚Ç‚ð‘—‚é‚悤‚ÉC³ - pc.c - pc_attack(),pc_walktoxy()‚Ås“®•s‰Â”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB - mob.c - mob_stopattack()C³ - mob_ai_sub_hard()‚Ås“®•s”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB - -EUŒ‚ŽË’ö‚Ì”»’è’ljÁ - ‘ŠŽè‚ªˆÚ“®‚µ‚Ä“Í‚©‚È‚¢‚Æ‚«‚ÍAˆÚ“®ƒpƒPƒbƒg‚ð‘—M - - clif.c/clif.h - clif_movetoattack()’ljÁ - pc.c - pc_attack()‚ÅŽË’ö”»’èA“Í‚©‚È‚¢‚È‚çclif_movetoattack()‚ðŒÄ‚ÔB - ----------- -//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Á - -EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ - pc.c - pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ - - ----------- -//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Á - (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()‚ðŒÄ‚Ô - 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‚· - pc.c - pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ԃ悤‚É‚µA - party_sended‚ð‰Šú‰»‚·‚é‚悤‚ÉB - -E‰r¥–WŠQ‚³‚ꂽ‚Æ‚«‰æ–Êã‚ʼnr¥‚ð‚â‚ß‚é‚悤‚ÉC³ - (map/) - skill.c - skill_castcancel()‚ʼnr¥’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ì‚©‚ÈH)‚ð‘—M - -E’´‰“‹——£UŒ‚‚¾‚Æ“G‚ª”½Œ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ - (map/) - map.h - struct mob_data‚Émin_chaseƒƒ“ƒo’ljÁiÅ’á’ÇÕ‹——£j - mob.c - mob_attack()‚Åmin_chase‚ð13‚ɉŠú‰»‚·‚é - mob_walk()‚Åmin_chase‚ª13‚æ‚è‘å‚«‚¢‚È‚ç­‚µ‚¸‚ˆø‚¢‚Ä‚¢‚­ - mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚è’ÇÕ‚ð”»’fA - UŒ‚‚ðŽó‚¯‚½Žž‚Émin_chase‚ð”މ䋗—£+13‚ÉÝ’è - ----------- -//0246 by ŒÓ’±—– - -EƒJ[ƒgŽÀ‘• - map.h - struct map_session_data‚Écart_weight‚È‚Ç‚S‚ƒƒ“ƒo’ljÁ - pc.c/pc.h - pc_cart_additem(),pc_cart_delitem(), - pc_cart_putitemtocart(),pc_cart_getitemfromcart()’ljÁ - pc_calcstatus()‚ŃJ[ƒgd—Ê‚âŒÂ”‚È‚Ç‚Ìî•ñ‚ðŒvŽZ - 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Á - storage.c/storage.h - storage_additem(),storage_delitem()’ljÁ - storage_storageadditemfromcart,~getitemtocart()’ljÁ - storage_storageadd(),storage_storageget()‚ÅA - storage_additem(),storage_delitem()‚ðŒÄ‚Ԃ悤‚É•ÏX - -EƒXƒLƒ‹‰r¥ƒfƒBƒŒƒC‚È‚ÇŽÀ‘• - clif.c - clif_parse_WalkToXY()‚Éskilltimer‚É‚æ‚éˆÚ“®‰Â”Û‚ð’ljÁ - clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()‚É - canmove_tick‚É‚æ‚éUŒ‚‰Â”ےljÁ - skill.c/skill.h - skill_castcancel()‚ð’ljÁ - skill_use_id(),skill_use_pos()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚¨‚æ‚ÑA - canmove_tick‚ÌÝ’è - battle.c - battle_damage()‚Åskill_castcancel()‚̌ĂÑo‚µ’ljÁ - -E0245‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ - (db/) - item_db.txt - item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B - ----------- -//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³ ----------- -//0244 by ‚ê‚  -Emob_db.txt‚ÌC³ - ‹T“‡ƒ‚ƒ“ƒXƒ^[‚̃f[ƒ^‚ð‚¢‚ê‚Ü‚µ‚½B - ‚½‚¾AŠÔˆá‚Á‚Ä‚é•”•ª‚ª‚©‚È‚è‚ ‚è‚Ü‚·B - Speed,Delay‚Í“K“–‚Å‚·B - ‚Ü‚½A‚í‚©‚ç‚È‚¢‚Ì‚ÍŠØ‘”ł̃f[ƒ^‚È‚Ì‚Å - Mdef‚Æ‚©ˆÙí‚É‚‚¢‹C‚àB ----------- -//0242 by ŒÓ’±—– - -EŽæˆøŠÖ˜A‚Ì•ÏX‚ÆC³ - Žæˆø‚ÉŽg‚¤•Ï”‚ðmmo_charstatus‚©‚çmap_session_data‚Ɉړ®‚µ‚Ü‚µ‚½ - - (common/) - mmo.h - struct mmo_charstatus‚©‚çŽæˆøŠÖŒW‚̃ƒ“ƒoíœ - (map/) - map.h - struct map_session_data‚ÉŽæˆøŠÖŒW‚̃ƒ“ƒo’ljÁ - trade.c - \‘¢‘Ì‚Ì•ÏX‚É‚ ‚킹‚ÄC³ - map.c - map_quit()‚ÅŽæˆø’†‚È‚çƒLƒƒƒ“ƒZƒ‹‚·‚é‚悤‚É‚µ‚½ - -EƒJ[ƒh‚Ì‘g‚݇‚킹ŽÀ‘• - pc.c/pc.h - pc_insert_card()‚ŃJ[ƒh‚ðŽÀÛ‚É‘}“ü‚·‚é - clif.c/clif.h - clif_parse_UseCard(),clif_parse_InsertCard()’ljÁ - clif_use_card(),clif_insert_card()’ljÁ - -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Á - pc.c/pc.h - pc_calcstatus()‚ŃJ[ƒh‚̈—’ljÁ - ‚ ‚éID‚̃J[ƒh‚ª‘•”õÏ‚Ý‚©ŒŸõ‚·‚邽‚ß‚ÌŠÖ”A - pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ - -Ed—ʃI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ì•\Ž¦ - (map/) - pc.c/pc.h - pc_checkweighticon()’ljÁAd—ʂ̃AƒCƒRƒ“ˆ— - clif.c - clif_updatestatus()‚Åd—Ê‘—MŽž‚Épc_checkweighticon()‚ÌŽÀs - clif_changeoption()‚Å‘é‚Æ‹Ræ‚̃AƒCƒRƒ“ˆ— - -E0241‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ - (db/) - item_db.txt - item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B - - ----------- -//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 - - item_db2.txt - ‹T“‡‚É‚ ‚킹‚Ä’²® - ----------- -//0240 by nabe - -EŽæˆø‚ðŽÀ‘•‚µ‚Ü‚µ‚½B - (common/) - mmo.h - 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 - 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 - - ----------- -//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 - script.c - goto“®ì‚ÌŒã‚ÌRERUNLINE‚ɑΈ‚·‚邽‚ßA - goto,menu‚Å”ò‚ñ‚¾Œã‚É‚ÍAst.state==GOTO‚Årerun_pos‚ðXVB - - ----------- -//0233 by nabe - -EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ì‘•”õ”»’è‚ð’ljÁ‚µ‚Ü‚µ‚½B - pc.c - pc_equipitem()‚É‘•”õ”»’èi«•Ê”»’èA‘•”õLV”»’èAE‹Æ”»’èj’ljÁ - -Ed—Ê”»’èƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’ljÁ‚µ‚Ü‚µ‚½B - if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ê)) - ‚Å‚»‚̃AƒCƒeƒ€~”—Ê‚ðŽæ“¾‚Å‚«‚é‚©‚Ç‚¤‚©”»’è‚Å‚«‚Ü‚·B - script.c - buildin_checkweight()‚ð’ljÁ - -EƒXƒNƒŠƒvƒg‹l‚߇‚킹‚ðathena dev-2.1.1—p‚ɈÚA‚µ‚Ü‚µ‚½B - map_athena1.cnf - npc_event_*.txt ƒCƒxƒ“ƒgNPC - npc_job_*.txt “]ENPC - npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ - npc_town_*.txt ’¬NPC - - ----------- -//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 - - (common/) - mmo.h - struct skill‚Éflagƒƒ“ƒo’ljÁiƒJ[ƒhƒXƒLƒ‹‚©‚Ç‚¤‚©j - (map/) - map.h - struct map_session_data‚Éatk_ele‚Ȃǂ̃ƒ“ƒo’ljÁ - enum‚ÅSP_ATKELEMENT‚ȂǒljÁ - pc.c - pc_bonus()‚ÌŽÀ‘•Apc_skill()’ljÁ - script.c - buildin_skill()‚̒ljÁ - buildin_bonus()‚ÌC³(const.txt‚̒蔂ªŽg‚¦‚é‚悤‚É) - clif.c - clif_skillinfoblock()‚ÌC³(ƒJ[ƒhƒXƒLƒ‹‚Íã‚°‚ç‚ê‚È‚¢) - (db/) - const.txt - bonus‚ÉŽg‚¤‚½‚߂̒蔒ljÁ - item_db.txt - •W€‚̃f[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì - item_db2.txt - 0213‚Å‘Šê’²®‚³‚ꂽƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì - -E‰r¥ŠÖŒW‚̃oƒO‚ªC³‚³‚ê‚Ü‚µ‚½ - (map/) - skill.c - skill_use_id(),skill_use_pos()‚ðC³ - (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Á - pc.c - pc_calcstatus()‚Å‘®«‰Šú‰» - battle.c - battle_get_element(),battle_get_attack_element()C³ - battle_calc_weapon_damage()‚ÌŠY“–ŒÂŠC³ - -Eñ‘•”õŽž‚ÉMATK+15%‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ - battle.c - battle_calc_magic_damage()‚ÌŠY“–ŒÂŠC³ - -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 - - (char/) - char.h - UNKNOWN_CHAR_NAME’è‹`iƒLƒƒƒ‰ƒf[ƒ^‚ª–³‚¢‚Æ‚«‚É•Ô‚³‚ê‚é–¼‘Oj - char2.c - parse_frommap()‚ɃpƒPƒbƒg0x2b08‚̈—‚ð’ljÁ - - (map/) - chrif.c/chif.h - chrif_searchcharid()’ljÁ - chrif_parse()‚Å0x2b09‚̈—’ljÁ - 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Á - clif.c/clif.h - clif_parse_SolveCharName(),clif_solved_charname()’ljÁ - - ----------- -//0231 by nabe - -EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Æ‘‚­‚ƃLƒƒƒ‰‚Ì–¼‘O‚ð‚µ‚á‚ׂé‹@”\‚ð’ljÁB - 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 - 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 - ----------- -//0230 by nabe - -E‰ñ”𗦑‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”½‰fB - pc.c - 0228‚Å‚Ìpc_calcstatus()‚̉ñ”𗦑‰Á•ª‚ðŒ³‚É–ß‚µflee‚ð‘‰ÁB - battle.c - battle_calc_weapon_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦕ÛØ‚ðŒvŽZB -EƒOƒ[ƒoƒ‹•Ï”‚ðŽÀ‘•B -@ '@'‚à‚µ‚­‚Í'l'‚ÅŽn‚Ü‚ç‚È‚¢•Ï”–¼‚ÍA‘S‚ăOƒ[ƒoƒ‹•Ï”‚Æ‚Ý‚È‚³‚ê‚Ü‚·B - mmo.h - 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 - script.c - get_val(),buildin_input(),buildin_set()‚É - ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB - char2.c - mmo_char_tostr(),mmo_char_fromstr()‚É - ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB - ----------- -//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³ - skill.c - skill_castend_damage_id()‚Ì•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ì•”•ª‚ðC³ - -E“GUŒ‚ŒvŽZ‚ðPC‚Ì‚à‚̂ƈê–{‰» - ‚±‚ê‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚‚̊֔‚ÅŒvŽZ‚Å‚«‚Ü‚· - - battle.c/battle.h - battle_calc_weapon_attack()‚ðC³ - battle_calc_weapon_attack_pc(),~mob()‚ðíœ - mob.c - mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚¤‚悤‚ÉC³ - -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‚·‚é‚Ì‚ðŽ~‚ß‚½ - -E‰“‹——£UŒ‚‚µ‚Ä‚±‚È‚¢ƒoƒOA‚»‚Ì‘¼‚ðC³ - mob.c - mob_attack()‚ÌŽË’ö‚ðC³‚µ–Y‚ê‚Ä‚¢‚½ - mob_ai_sub_hard()‚ÅŽË’ö‹——£ŠO‚ÌŽžA–³ˆÚ“®‚Ì“G‚Í - ƒ^[ƒQƒbƒg‚ðŠO‚·‚悤‚É‚µ‚½ - - ----------- -//0228 by nabe - -Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ÌSkillID‚ðC³B - battle.c - battle_calc_weapon_attack_pc()‚Å - pc_checkskill(sd,49) -> pc_checkskill(sd,48)‚ÉB -E‰ñ”𗦌üã‚ð—z‚É•\‚³‚È‚¢ - pc.c - pc_calcstatus()‚Å‚Ìflee‚̉ñ”𗦌ü㕪‚ð휂µA - mob.c - mob_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦌üã‚ðŒvŽZB -E“å³A“峎“A“å³—Y‚ð³í‰»B - 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 - pc.c - printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg - ----------- -//0227 by ŒÓ’±—– - -Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ - HP‰ñ•œŒüãASP‰ñ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA - ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ñ‚¾‚Ó‚èA‰ž‹}Žè“– - - 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‰Â”\‚É‚µ‚½ - skill.c/skill.h - skill_status_change_start(),~timer(),~end()‚Ɉ—’ljÁ - skill_check_cloaking()’ljÁAƒNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚ðŒŸ¸ - battle.c/battle.h - battle_stopattack()’ljÁ - battle_calc_weapon_attack()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ - mob.c - mob_ai_sub_hard()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ - -E’ÊíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹¤—p‚ÉB - pc.c - pc_attack_mob(),pc_attack_pc()íœ - pc_attack()‚ÉUŒ‚ˆ—’ljÁ - -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 - -EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ì‘‰Á”{—¦‚ª100”{‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ - battle.c - battle_calc_weapon_attack()‚ÅAŠY“–ŒÂŠ‚ðC³ - - ----------- -//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 - - (map/) - map.h - struct map_session_data‚Éwatk2,def2‚ȂǒljÁ - pc.c - pc_calcstatus()‚ɃXƒLƒ‹C³’ljÁ - atk2‚È‚Ç‚à‘—M‚·‚é‚悤‚É•ÏX - 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Á - skill.c/skill.h - skill_use_nodamage_id()‚ÌŠY“–ŒÂŠ’ljÁ - skill_status_change_start()‚ÌŠY“–ŒÂŠ’ljÁ - clif.c - clif_updatestatus()‚Ìatk2‚Ȃǂ̈—’ljÁ - clif_initialstatus()‚Åatk2‚Ȃǂ̈µ‚¢•ÏXAaspd‚È‚Ç‘—M’ljÁ - -E¸˜Bƒ_ƒ[ƒWC³/¸˜B–hŒäC³‚ª“K—p‚³‚ê‚Ü‚µ‚½ - (map/) - pc.c - pc_calcstatus()‚Åwatk2‚Ædef‚̒ljÁŒvŽZ’ljÁ - battle.c - battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚ɒljÁ - -EinterŽI‚̃pƒPƒbƒg‰ðÍ•”‚Ì’v–½“I‚È–â‘肪C³‚³‚ê‚Ü‚µ‚½ - TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚¢‚¯‚È‚¢‚±‚Æ‚ð‚»‚Ì‚Ü‚Ü‚â‚Á‚Ä‚Ü‚µ‚½(Š¾ - interŽI‚̃pƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚悤‚ÉC³‚³‚ê‚Ü‚µ‚½B - - (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 - int_storage.c/int_storage.h - mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX - int_party.c/int_guild.c - Žd—l•ÏX‚ɑΉž‚³‚¹‚½•ÏX - INTERŽIƒpƒPƒbƒg.txt - ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ - -E‚¿‚å‚Á‚Æ‚µ‚½C³ - (char/) - inter.h - inter_cfgName‚ð"conf/inter_athena.cnf"‚ÉC³ - char2.c - char.exe‘æ‚Qˆø”È—ªŽžAinter_cfgName‚ðŽg‚¤‚悤‚ÉC³ - (db/) - cast_db.txt - ƒz[ƒŠ[ƒ‰ƒCƒg‚̉r¥ŽžŠÔ’ljÁiƒfƒBƒŒƒC‚Í“K“–j - Ú‚µ‚¢l’ljÁ‹‚Þ - ----------- -//0225 by ŒÓ’±—– - -‚È‚ñ‚©‚©‚È‚è˜M‚è‚Ü‚µ‚½‚ª‘Š•Ï‚í‚炸ƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚Ü‚¹‚ñB - -EƒXƒLƒ‹Žg—pŽž‚Ì•Ï”‚ð•ÏX - ‚æ‚­Œ©‚½‚çʼn‚©‚ç—pˆÓ‚³‚ê‚Ä‚Ü‚µ‚½‚ËB - - map.h - struct map_session_data‚Ìcast_*‚ðíœ - skill.c - cast_*‚Ì•Ï”‚ðskill*‚É•ÏXB - -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 - 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 - pc.c - pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B - pc_setoption‚Åclif_changeoption()‚̈ø”•ÏXB - pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB - mob.c - mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B - mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B - mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB - 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 - clif.h/clif.c - clif_status_change()’ljÁBƒXƒe[ƒ^ƒXˆÙíƒAƒCƒRƒ“•\Ž¦—pB - clif_changeoption()‚̈ø”•ÏXB - atcommand.c - clif_changeoption()‚ðŒÄ‚ñ‚Å‚¢‚é‚Qƒ–Š‚ňø”•ÏXB - @die‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB - -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 - -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 - -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 - battle.c - battle_calc_damage()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB - battle_damage(),battle_heal()‚̈ø”•ÏX - battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ÏX - clif.c/clif.h - clif_skill_estimation()’ljÁBƒ‚ƒ“ƒXƒ^[î•ñ‘—M—p - pc.c - battle_calc_weapon_damage()ŒÄ‚Ño‚µ‚̈ø”•ÏX - -Estorage.txt‚ª–³‚¢ê‡interŽI‚ª‹­§I—¹‚·‚éŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ - (char/) - int_storage.c - inter_storage_init()‚Ńtƒ@ƒCƒ‹‚ª“Ç‚ß‚È‚¢‚Æexit‚µ‚Ä‚½‚Ì‚ðC³ - - ----------- -//0224 -E2-2ŽŸE‚̃XƒLƒ‹‚ðƒcƒŠ[‚ɒljÁ‚µ‚Ü‚µ‚½iŽÀ‘•‚Í‚Ü‚¾‚Å‚·j - (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 - - ƒJƒvƒ‰‘qŒÉ‚ÌinterŽIŽÀ‘•‚ÌŠT—v - - 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 - - (common/) - mmo.h - struct storage ‚ð map/storage.h ‚©‚çˆÚ“®B - interŽI‚ÆmapŽI—¼•û‚ÅŽg—p‚·‚邽‚ßB - (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 - 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 - int_storage.c/int_storage.h - V‹K’ljÁB‘qŒÉ•”•ª‚ÌinterŽI‹@”\B - 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Á - - (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 - intif.h/intif.c - intif_parse_LoadStorage(),intif_parse_SaveStorage(), - intif_send_storage(),intif_request_storage()’ljÁ - map.c - map_quit()‚Åstorage_storage_quitsave()‚ðŒÄ‚Ԃ悤‚ÉB - - (conf/) - inter_athena.cnf - V‹K’ljÁBinterŽI—p‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ - - ----------- -//0221 by ŒÓ’±—– - -EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ÌID‚ª³‚µ‚­Š“¾‚Å‚«‚È‚¢–â‘èC³ - clif.c - clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚µ‚Ĉµ‚Á‚Ä‚½‚Ì‚ðLONG‚ÉC³ - -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‚ð•Ï‚¦‚邱‚Æ‚Å”{—¦‚ð’²®‚Å‚«‚Ü‚· - - pc.c - pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ì“Ç‚Ýž‚ݒljÁ - skill.c/skill.h - struct skill_db ‚Écast,delay’ljÁA‚»‚ê‚ç‚̃AƒNƒZƒT‚à’ljÁ - ƒXƒLƒ‹‰r¥ŽžŠÔ‚ð 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Á - 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 - 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Á - battle.c - battle_calc_magic_damage()‚Ńq[ƒ‹‚̃_ƒ[ƒWŒvŽZ’ljÁ - - ----------- -//0220 by ‚ê‚  - -0216‚ÌC³ -HIT‚ÌŒvŽZ‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ÅC³‚µ‚Ä‚Ý‚Ü‚µ‚½B -ŠÔˆá‚Á‚Ä‚½‚炲‚ß‚ñ‚È‚³‚¢B - -Ebattle.c - 256s–Ú‚Ì - 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 ŒÓ’±—– - -ŽÀÛ‚É•ªŽ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 - - ‘qŒÉ‚ÌŽÀ‘•‚àinterŽI‚Ɉړ®‚·‚ׂ«‚©‚à‚µ‚ê‚Ü‚¹‚ñB - ‚ǂ̃Lƒƒƒ‰ƒNƒ^[‚ª‚Ç‚ÌmapŽI‚É‚¢‚é‚©ŒŸõ‚·‚é‹@”\‚à‚¢‚é‚©‚àB - - Ž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‚É‘‚¢‚Ä‚­‚¾‚³‚¢ - - ‚±‚Ì‹@”\‚É‚æ‚郃Šƒ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‚Á‚Ä‚¢‚é‚Ƃ‚炢‚©‚à - - (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‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) - inter.h/inter.c - V‹K’ljÁBinterŽI‚Ì’†ŠjB - inter_parse_frommap‚ÅMAPŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B - 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 - - (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 - chrif.h/chrif.c - chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ - iintif.c‚ÌinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) - -E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚É•ÏX - Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· - ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg - - (char/) - inter.c - mapif_GMmessage()’ljÁ - (map/) - intif.h/intif.c - intif_GMmessage()’ljÁ - intif_parse‚ÅGMƒƒbƒZ[ƒW‚̈—‚ð’ljÁ - clif.c/clif.h - clif_GMmessage()‚̈ø”‚ð•ÏX - atcommand.c - @kami•”•ª‚Åintif_GMmessage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ - -EWis‚ðinterŽIŒo—R‚É•ÏX - Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· - - ‘—‚èŽåƒ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‚̉ž“š‚ð‘Ò‚Â) - - ‚à‚Ì‚·‚²‚¢•¡ŽG‚É‚È‚Á‚Ä‚Ü‚·‚ËB - - (char/) - inter.c - struct WisList ’è‹`iWisƒf[ƒ^‚̃Šƒ“ƒNƒŠƒXƒgj - add_wislist(),del_wislist(),search_wislist(), - check_ttl_wislist()’ljÁ,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆµ‚¤ŠÖ”ŒQ - mapif_wis_message(),mapif_wis_end()’ljÁ - (map/) - intif.h/intif.c - intif_wis_message(),intif_wis_end()’ljÁ - intif_parse_WisMessage()’ljÁ,intif_parse()‚©‚çŒÄ‚΂ê‚é‚悤‚É - clif.c/clif.h - clif_wis_message(),clif_wis_end()’ljÁ - clif_parse_Wis()‚ð•ÏX,intif_wis_message()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ - -EƒXƒLƒ‹Žg—pŽž‚̃qƒbƒg”/Á”ïSPŠ“¾‚̃oƒOC³ - skill.c - skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ñƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚µ‚½ - - ----------- -//0216 by ŒÓ’±—– - -‚¢‚‚à‚Ç‚¨‚èƒeƒXƒg‚Ù‚Æ‚ñ‚Ç‚µ‚Ä‚È‚¢‚Ì‚ÅAƒoƒO‘å—Ê‚©‚àB - -E0213‚ÌC³H‚Ì‚æ‚­‚í‚©‚ç‚È‚¢‚Æ‚±‚ëC³ - itemdb.c - ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢‚Ì‚Åitemdb_equipoint‚̈ø”ƒŠƒXƒg•ÏX - -EAthena dev 2.1.1‚Ì“K—p - dev-2.1.1‚Å“K—p‚³‚ꂽC³‚ð“K—p‚µ‚Ü‚µ‚½ - - timer.c - 2.1.1‚Ì‚à‚Ì‚Æ·‚µ‘Ö‚¦ - script.c - C_NE: ‚ÌC³‚Ì“K—p - README - ÅŒã‚Ì•¶Í‚ð2.1.1‚Ì‚à‚Ì‚É·‚µ‘Ö‚¦ - -EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ÌC³ - ˆê•”‚ÌÁ”ïSP‚âƒqƒbƒg”‚È‚Ç‚ðC³B - - 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 - 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 - skill.c/skill.h - 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½iƒ_ƒ[ƒW”{—¦ŒvŽZ‚ª‚¨‚©‚µ‚¢j - skill_castend_id()‚ÉSP/ZenyŠm”F‚ÆÁ”ï•”•ª‚ð’ljÁA - Ží—ޕʂɈ—‚ð’ljÁB - 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(Š¾) - - ----------- -//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 - - clif.c,clif.h - clif_skill_damage()‚ð’ljÁ‚µ‚Ü‚µ‚½B - - pc.c,pc.h - pc_attack_mob()‚̈ø”‚ðˆê‚’ljÁB - ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚̂ųí‚É“®ì‚·‚é‚悤‚ÉC³B - - skill.c - ˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•‚ð‚µ‚Ä‚Ý‚Ü‚µ‚½B - - ----------- -//0213 by ‚ê‚  -E0208‚Ì—ƒRƒ}ƒ“ƒh‚Å­‚µC³ - atcommand.c - @item‚Ō”Žw’肪–³‚¢ê‡A“üŽèŒÂ”‚ð‚PŒÂ‚É‚·‚é‚悤‚É‚µ‚½B - @item‚ÅID‚ÌŽw’肪–³‚¢ê‡AƒAƒCƒeƒ€‚ð“üŽè‚µ‚Ä‚½‚±‚Æ‚É‚È‚Á‚Ä - ‚¢‚½‚Ì‚ðC³ - itemdb.c - item_db.txt‚ÅSell‚Ì€–Ú‚ð“X”„‚è‚Ì’l’i‚Æ‚µ‚Ä‚Ý‚½B - item_db2.txt - ŽŽ‚µ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ì“X”„‚艿Ši‚ð’l’i‚ð–{ŽI‚Ì‘Šê‚É‚µ - ‚Ä‚Ý‚½‚à‚ÌBŽg—p‚·‚éꇂÍitem_db.txt‚Æ·‚µ‘Ö‚¦‚Ä‚­‚¾‚³‚¢B - - ----------- -//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 - clif.h,clif.c - clif_displaymessage() - clif_GMmessage() - clif_heal() - clif_resurrection() - clif_pvpon() - clif_pvpset() - clif_refine() - ‚ð’ljÁ‚µ‚Ü‚µ‚½B - clif_parse_GlobalMessage()“à‚Åatcommand()‚ðŒÄ‚ñ‚Å‚¢‚Ü‚·B - -E‚¿‚å‚Á‚Æ‚¾‚¯C³B - script.c - {buildin_openstorage,"openstorage","s"}, - ‚©‚ç - {buildin_openstorage,"openstorage",""}, - ‚ÉC³‚µ‚Ü‚µ‚½B - - ----------- -//0206 by ŒÓ’±—– -EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ÌŽÀ‘• - mmo.h - MAX_SKILL‚ð‘‚₵‚½ - char2.c - mmo_char_fromstr() - mmo_charstatus‚Ìskill‚̃Cƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”Ô†‚ðŽg‚¤‚悤‚É‚µ‚½ - =>ƒXƒLƒ‹‚ÌŒŸõ‚‘¬‰»‚Ì‚½‚ßi‚©‚í‚è‚Ƀƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚éj - 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()‚ð - ŒÄ‚Ԃ悤‚É‚µ‚½ - clif.c/clif.h - clif_skillinfoblock(),clif_skillcasting(), - clif_skillup()‚ð’ljÁ - clif_parse_SkillUp(),clif_parse_UseSkillToId(), - clif_parse_UseSkillToPos()‚ðŽÀ‘• - skill.h/skill.c - ƒtƒ@ƒCƒ‹’ljÁ(map/) - map.h - struct map_session_data‚Écast_*‚ð’ljÁ - 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‚É“ü‚ê‚é—\’è - ----------- -//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.h,storage.c - storage_init()‚ðdo_init_storage()‚ɉü–¼B - storage_save()‚ðdo_final_storage()‚ɉü–¼B - fclose‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚ð’ljÁB - map.c - #include "storage.h"‚ð’ljÁB - do_final()‚Édo_final_storage()‚ð’ljÁB - do_init()‚Édo_init_storage()‚ð’ljÁB - ----------- - -//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 - ----------- - -//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 - - ‰ü•Ï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‚¾‚¯ - ----------- - -//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 - - char_athena.cnf‚Ì - stor_txt: - ‚Å‘qŒÉƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚Ä‚¢‚Ü‚·B - - ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B - map/Makefile, - map/storage.c, - map/storage.h, - map/clif.c, - map/clif.h, - 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 - -E‘S‚ẴRƒƒ“ƒg•¶‚ðEUC‚©‚çSJIS‚É•ÏŠ·‚µ‚Ü‚µ‚½B - ----------- - - Athena Dev. v2.1.1 Released: Middle July, 2003 - (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 -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 - /* - ‰ü—ǔłð”z•z‚·‚éꇂ͕K‚¸‚±‚ÌREADME‚ð‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - ‰½ˆ‚ð‰ü—Ç‚µ‚½‚Ì‚©•ñ(athena@project-yare.de‚Ü‚Å)‚µ‚ĖႦ‚é‚Æ•‚©‚è‚Ü‚·B - ƒoƒCƒiƒŠ‚Ì‚Ý‚Ì”z•z‚ÍGPLˆá”½‚Å‚·‚Ì‚Å"•K‚¸"ƒ\[ƒX‚à“Y•t‚µ‚Ä‚­‚¾‚³‚¢B - */ - “®ì‚ÌŠm”F‚͈ȉº‚Ì’Ê‚è‚Ì‚Ýs‚Á‚Ä‚¢‚Ü‚·B - // ‚½‚¾‚µŠ®àø‚É“®‚­Ž–‚ð•ÛØ‚·‚é‚à‚Ì‚Å‚ ‚è‚Ü‚¹‚ñ - ‘ÎÛCPU: Intel PentiumŒn // PentiumIIˆÈã‚ÅŠm”F. - FreeBSD 4.8R, 4.6.2R - Linux RedHat 7.3 - cygwin + gcc 3.2 20020927 (prerelease) - ŠJ”­Œ³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 - - v‘¬‚ÉUpdate‚ð‹­‚­„§‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªŠeŽ©‚Ì”»’f‚Ås‚Á‚ĉº‚³‚¢B - - -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î•ñ‚È‚Ç - - -4. Žg‚¢•û - > 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 - > ./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 - - -5. Œ»Ý‚ÌŽd—l - –{ŽI‚Æ”ä‚ׂè‚©‚µ‚¢(—Ⴆ‚΃vƒo‚ª•à‚­Aƒ|ƒŠƒ“‚ªƒAƒCƒeƒ€‚ðE‚í‚È‚¢‚È‚Ç)“_‚ÍA - ‘S‚ÄŒ»ÝŠJ”­’†‚Ɉö‚é‚à‚Ì‚Å‚·B - Œ»ó‚Æ‚µ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚у‚ƒ“ƒXƒ^[Œn‚̃oƒO•ñ‚Í–³Ž‹‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B - - ƒ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 - ------------------ END ------------------- - —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚¦‚Ämap.core‚È‚Çcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚µ‚Ä’¸‚­‚±‚Æ‚Å‚·‚ª - –â‘è‚ÌMap‚¾‚¯‚Ìó‘Ô‚É‚µcore‚Ì“f‚­—e—Ê‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - /* - Š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 - */ - - ¡‰ñ‚̃ŠƒŠ[ƒ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 - - -9. English - This release is just fixed some bugs in timer.c, script.c and map_athena1.conf. - - -(c) 2003 Athena Project. +-------------------- +//1032 by (“Ê) +E1031‚ʼn½ŒÌ‚©íœ‚³‚ê‚Ä‚¢‚½buildin_getitemname()‚𕜊ˆ +EƒoƒOƒXƒŒ‚È‚Ç‚Éo‚½C³‚𔽉f +E‚»‚Ì‘¼×‚©‚¢C³ + + (map/) + clif.c + clif_disp_onlyself() NULLƒ`ƒFƒbƒN’ljÁ + map.c + map_nick2sd() nick‚ªNULL‚¾‚Æ‚·‚®NULL‚ð•Ô‚·‚悤‚É•ÏX + mob.c + mob_setdelayspawn() NULLƒ`ƒFƒbƒN•ÏX + mob_delete() C³ + npc.c + npc_parse_warp() C³ + script.c + 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 + + (conf/) + battle_athena.conf C³ + (doc/) + conf_ref.txt C³ + script_ref.txt C³ + (map/) + battle.c + battle.h + disp_experience ’ljÁ + clif.c + clif.h + clif_disp_onlyself() ’ljÁ + pc.c + pc_gainexp() C³ + script.c + buildin_delitem() C³ + buildin_makepet() ’ljÁ + buildin_getexp() ’ljÁ + npc.c + #include C³ + npc_selllist() C³ + skill.c + skill_castend_nodamage_id() C³ + + +-------------------- +//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 + + (conf/) + map_athena.conf ƒUƒƒC’ljÁ + (doc/) + client_packet.txt ƒpƒPƒbƒg’·‚ÌXV + (map/) + map.c + map_quit() I—¹Žž‚ɃNƒ[ƒ“ƒXƒLƒ‹‚ÅŠo‚¦‚½ƒXƒLƒ‹‚ð–Y‚ê‚é‚悤‚É•ÏX + mob.c + mobskill_castend_pos() nullpoƒ`ƒFƒbƒN•ÏX + mob_readskilldb() C³ + pc.c + pc_makesavestatus() ƒNƒ[ƒ“ƒXƒLƒ‹‚ð–Y‚ê‚é‚Ì‚ðmap_quit‚É”C‚¹‚½ + trade.c + trade_tradecommit() ŠŽ‚Å‚«‚éŽí—ÞˆÈã‚ðŽæˆø‚µ‚½ê‡‚ɃAƒCƒeƒ€‚ªÁ‚¦‚È‚¢‚悤‚É + +-------------------- +//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 + + (doc/) + client_packet.txt VƒpƒPƒbƒg’ljÁ + (char/) + char.c + parse_char() 0x20b‘Ήž + (login/) + login.c + 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³ + + (db/) + const.txt SC_INCATK SC_INCMATK’ljÁ + item_db.txt ª‚ð682,683‚ɒljÁ + job_db2.txt “ä‚Ì2s‚ðíœ + mob_skill_db.txt Emotion’ljÁ + (map/) + mob.c + mobskill_use() ƒXƒLƒ‹Žg—pŽž‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðo‚·‚悤‚É•ÏX + mob_readskilldb() Emotion‚ð“Ç‚Ýž‚ނ悤‚É•ÏX + mob.h •ÏX + pc.c + pc_calcstatus() •ÏX + skill.c + + skill_status_change_end() •ÏX + skill_status_change_start() •ÏX‚ÆNULLƒ`ƒFƒbƒNC³ + skill.h •ÏX + +-------------------- +//1027 by Ni+S +EgetitemnameŠÖ”’ljÁ +EƒXƒNƒŠƒvƒg‚ÉgetitemnameŠÖ”‚ð’ljÁ +Eitemid‚æ‚èAjname‚𕶎š—ñ‚Å•Ô‚µ‚Ü‚· +EÚ‚µ‚­‚Íscript_ref.txt‚ÅB + + script.c + getitemname()’ljÁ + +---------------------------------------- +//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³‚ðŽæ‚èž‚Ý + + (map/) + clif.h •ÏX + map.h •ÏX + mob.c + mob_changestate() •ÏX + skill.c + skill_castend_pos2() •ÏX + mob_spawn() •ÏX + do_init_mob() add_timer_func_list‚Émob_timer_delete‚ª–³‚©‚Á‚½‚̂ŒljÁ‚µ‚Ä‚Ý‚½ + script.c + script_load_mapreg() •ÏX + +------------------------ +//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 +-------------------- +//1024 by mare +Eƒtƒ@[ƒ}ƒV[Þ—¿‚Ì•ÏXA»‘¢‰Â”\–ò•i‚̒ljÁ + 6/8“ú–{ŽI‚É‚«‚½‚à‚Ì‚Æ“¯‚¶‚É‚µ‚Ü‚µ‚½ + + (db/) + produce_db.txt •ÏX + +---------------------------------------- +//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 + + (db/) + skill_cast_db.txt •ÏX + skill_require_db.txt •ÏX + (doc/) + db_ref.txt C³ + (map/) + battle.c + battle_calc_pc_weapon_attack() •ÏX + clif.c + clif_sitting() ’ljÁ + clif_parse_ActionRequest() •ÏX + npc.c + npc_parse_script() C³ + pc.h •ÏX + pc.c + pc_calcstatus() •ÏX + pc_natural_heal_hp() •ÏX + pc_setstand() ’ljÁ + 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 + +-------------------- +//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 + + (doc/) + client_packet.txt S 01ed’ljÁ + (char/) + do_final() •ÏX + do_init() •ÏX + (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 + +-------------------- +//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 + (/script) + (/warp) + npc_warp_umbala.txt + (/npc) + (/town) + npc_town_umbala.txt + npc_town_kafra.txt + npc_town_guide.txt + npc_town_prontera.txt + (/quest) + npc_event_marriage.txt(VEƒeƒXƒg) + (/job) + npc_job_alchemist.txt + npc_job_supernovice.txt(V) + +-------------------- +//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) + + (conf/) + map_athena.conf nullpo_checkíœ + (doc/) + client_packet.txt XV + conf_ref.txt nullpo_checkíœ + (map/) + map.c + map_config_read() nullpo_checkíœ + map.h “¯ã + skill.c NULLƒ`ƒFƒbƒNÄ“x‘“ü‚ê‘Ö‚¦ + 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Á + script.c + buildin_wedding_effect() ’ljÁ + + +-------------------- +//1019 by Dest +Enullpoƒ‚ƒWƒ…[ƒ‹‚ɃR[ƒfƒBƒ“ƒOƒ~ƒX”­Œ©/C³ +E“¯Avoid‚ÈŠÖ”‚©‚çŒÄ‚΂ꂽŽž‚Ìnullpo_retv_f()‚ð’ljÁ +E“¯AðŒƒRƒ“ƒpƒCƒ‹‚ɑΉž + + (common/) + nullpo.c + nullpo_info_core() ƒR[ƒfƒBƒ“ƒOƒ~ƒXC³ + nullpo.h + NULLPO_CHECKƒtƒ‰ƒO‚É‚æ‚éðŒƒRƒ“ƒpƒCƒ‹’ljÁ + nullpo_retv_f() ’ljÁ + +-------------------- +//1018 by chloe +EƒEƒ“ƒoƒ‰ƒ‚ƒ“ƒXƒ^[‚ð’ljÁ + + (script/mob/) + npc_monster.txt •ÏX + ŠeƒEƒ“ƒoƒ‰ƒ}ƒbƒv‚ÉMob”z’u + (db/) + mob_db.txt •ÏX + 1495,STONE_SHOOTER,ƒtƒŒƒCƒ€ƒVƒ…[ƒ^[ C³ + 1511,AMON_RA,ƒAƒ‚ƒ“ƒ‰[ C³ + +-------------------- +//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 + + (conf/) + map_athena.conf nullpo_check’ljÁ + (db/) + item_db.txt Œ‹¥Žw—Ö‚ð•Ší-ƒAƒNƒZƒTƒŠ‚É•ÏX•ÅV”Å + (doc/) + client_packet.txt XV + conf_ref.txt nullpo_check’ljÁ + (common/) + Makefile •ÏX + nullpo.c ’ljÁ + nullpo.h ’ljÁ + (map/) + Makefile •ÏX + 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³ + clif.c + clif_skill_setunit() ƒRƒƒ“ƒgC³ + pc.c + pc_calcstatus() ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“C³ + +-------------------- +//1016 by ‚ÈB +EAthenaŽG’kƒXƒŒƒbƒhPart4 42 ‚©‚éŽì‚̃Eƒ“ƒoƒ‰NPC‚ð’ljÁ + + (script/npc/town/) + npc_town_umbala.txt’ljÁ + ƒCƒxƒ“ƒgƒfƒoƒbƒO—l(230`256s–Ú)‚̓Rƒƒ“ƒgƒAƒEƒg + (conf/) + map_athena.conf town ‚É npc: script/npc/town/npc_town_umbala.txt ’ljÁ + +-------------------- +//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”÷’²® + + + (conf/) + battle_athena.conf skill_removetrap_type’ljÁ + (doc/) + client_packet.txt –{ŽI‘ŠˆáƒXƒŒƒbƒh part3 23 M —zqcM6jBw‚³‚ñ‚Ìî•ñ‚ð’ljÁ + conf_ref.txt skill_removetrap_type’ljÁ + (map/) + atcommand.c + atcommand_go() ƒEƒ“ƒoƒ‰‚ÌoŒ»ˆÊ’u”÷’²® + battle.c + battle_config_read() skill_removetrap_type’ljÁ + battle.h “¯ã + pc.c + pc_calcstatus() ƒXƒpƒmƒrAll+10ðŒ•ÏX + skill.c + skill_blown() ƒ_ƒ“ƒX’†‚Ì‚«”ò‚΂µ‚ðŒ³‚É–ß‚µ‚½ + skill_castend_nodamage_id() ƒŠƒ€[ƒuƒgƒ‰ƒbƒvŽd—l•ÏX + + -------------------- +//1014 by (Pepermint) +I fixed again the problem if you put minus sign(-) in front of digits, +the error comes up when you puchase a item. +When you put a minus sign(-), the error sign will be changed shrotage of +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 + + (conf/) + help.txt @goà–¾•ÏX + (db/) + skill_cast_db.txt ‰ü–¼ + (map/) + pc.c + pc_setpos() ƒ_ƒ“ƒX’†’f‚̃^ƒCƒ~ƒ“ƒO•ÏX + pc_setglobalreg() PC_DIE_COUNTER“Á•Êˆ—’ljÁ + skill.c + skill_castend_id() NULLƒ`ƒFƒbƒN•ÏX + skill_stop_dancing() ƒ}ƒbƒvˆÚ“®‚È‚Ç‚Å‚Ì‹““®‚ð•ÏX + skill_readdb() skill_cast_db‚ɉü–¼ + skill_blown() ”ò‚΂³‚ꂽ‚çƒ_ƒ“ƒXˆÚ“® + npc.c + npc_touch_areanpc() ƒ[ƒvƒ|ƒCƒ“ƒg‚Éæ‚Á‚½‚çƒ_ƒ“ƒX‰ðœ + +-------------------- +//1011 by ƒpƒCƒ“ +Eƒp[ƒeƒB—v¿‚âƒMƒ‹ƒh—v¿‚ðo‚µ‚Ä‚¢‚é‚Æ‚«‚É‘¼‚Ì—v¿‚ð‹‘”Û‚éˆ—‚ð’ljÁ +@battle_athena.conf‚ÅØ‚è‘Ö‚¦‚ªo—ˆ‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B +Emake clean ‚ÅŽ–‚ª‘«‚è‚é‚Ì‚ÅAobjectdel.bat‚ðÁ‹Ž + + (map) + clif.c + clif_party_invite()•ÏX(nullpo‚Ì•¶Œ¾ˆá‚Á‚Ä‚Ü‚µ‚½) + guild.c + guild_invite()•ÏX + party.c + party_invite()•ÏX + battle.c + battle_config_read()•ÏX + battle.h•ÏX + trade.c + trade_traderequest()•ÏX + +-------------------- +//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‚©‚à + + (map/) + chrif.c + 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Á + 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 +@@: Œ‹¥‘ŠŽè‚Ì–¼‘O +@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 +@@Œ‹¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚Ƃ̃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Á + map.c + map_quit() •ÏX + skill.c + skill_use_id()Askill_castend_nodamage_id() •ÏX + skill_unitsetting()Askill_unit_onlimit() •ÏX + script.c + buildin_marriage()Abuildin_devorce() ’ljÁ + pc.h •ÏX + battle.h •ÏX + +-------------------- +//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 + + (map/) + clif.c + clif_countusers() •ÏX + battle.c + battle_config_read() •ÏX + atcommand.c + atcommand_who() •ÏX + pc.c + pc_ismarried()Apc_marriage()Apc_divorce() ’ljÁ + chrif.c + chrif_divorce() ’ljÁ + chrif_parse() •ÏX + (char/) + char.c + char_divorce() ’ljÁ + char_delete()Ammo_char_fromstr()Ammo_char_tostr() •ÏX + +-------------------- +//1007 by (“Ê) +ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ + + (map/) + clif.c + clif_send() •ÏX + skill.c + skill_delunit() •ÏX + +-------------------- +//1006 by (ruhu) +¥@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’ljÁ + + (conf/) + help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ + (map/) + atcommand.c + atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ +-------------------- +//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 + + (db/) + skill_require_db.txt •ÏX + (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 + 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 + + (map/) + battle.c + battle_damage() NULLƒ`ƒFƒbƒN‹­‰» + battle_heal() “¯ã + clif.c + clif_damage() “¯ã + map.c + map_addflooritem() NULLƒ`ƒFƒbƒN‹­‰» + 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‚Å‚· + + (conf/) + battle_athena.conf player_skill_partner_check’ljÁ + (db/) + skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚Ì‘®«‚ð¹‚É•ÏX + (doc/) + conf_ref.txt player_skill_partner_checkà–¾’ljÁ + (login/) + login.c + parse_login() 0x200ƒpƒPƒbƒg‘Ήž + (map/) + mob.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” + storage.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” + battle.h •ÏX + battle.c + battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’ljÁAFW‚ð•ÏX + battle_config_read() Ý’è’ljÁ + 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‚ÅŽ~‚ß‚Ä‚é‚©‚ç’Ê킱‚±‚Ü‚Å—ˆ‚È‚¢) + +-------------------- +//1002 by ‚Ò‚´‚Ü‚ñ +Eƒ|[ƒ^ƒ‹ƒoƒOC³ +EƒXƒLƒ‹ŠÖŒW‚ÌNullƒ`ƒFƒbƒN‹­‰»(by(“Ê)) + (map/) + skill.c + skill_castend_map() C³ + +-------------------- +//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 + + (map/) + clif.c + clif_getareachar_skillunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn + clif_skill_setunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn + pc.c + pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É•ÏX + skill.c + skill_check_condition() •ÏX + skill_check_condition_char_sub() ¹‘Ì‚Í‘Š•û‚ÌSPƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏX + skill_check_condition_use_sub() ¹‘Ì‚Í‘Š•û‚ÌSP‚ðŒ¸‚ç‚·‚悤‚É•ÏX + +-------------------- +//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) + (map/) + skill.c + skill_count_target() ’ljÁ + skill_unit_onplace()Askill_trap_splash() •ÏX +-------------------- +//0999 by eAthena Dev Team (Yor's Fixes) +(login/) + added email for accounts +(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³ + + (map/) + battle.c + battle_counttargeted() C³ + battle_getŒn ‚½‚Ô‚ñ‘S•”C³ + clif.c + clif_parse_WalkToXY() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX + clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚͉£‚ç‚È‚¢À‚ç‚È‚¢‚悤‚É•ÏX + map.c + map_quit() ƒ_ƒ“ƒX’†’f’ljÁ + 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‚É‚µ‚Ä‚Ý‚½ + + (db/) + 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 + clif.c + clif_parse_UseSkillToPos() •ÏX + +-------------------- +//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Ž~ + + (db/) + cast_db.txt + const.txt + item_db.txt + (doc/) + item_bonus.txt + (src/) + clif.c + clif_parse_QuitGame() •ÏX + map.h addeff2,arrow_addeff2 ’ljÁ + pc.c + pc_calcstatus() •ÏX + pc_bonus2() •ÏX + skill.c + skill_additional_effect() •ÏX + skill_check_condition() •ÏX + skill_unit_move_unit_group() •ÏX + +-------------------- +//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‚Å‚«‚È‚¢‚悤‚É‚µ‚½ + + (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 + battle.c + battle_config_read() pet_lootitem=0‚ÉC³ + pc.c + pc_walk() •ÏX + +-------------------- +//0994 by huge +Ebattle.pet_lootitem‚ª“K‰ž‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚³‚¹‚½ŒãA10•bŠÔ‚­‚ç‚¢‚ÍE‚킹‚È‚¢‚悤‚ÉB + + (map/) + map.h pet_data‚Élootitem_timer’ljÁB + pet.c + pet_ai_sub_hard_lootsearch() C³B + pet_lootitem_drop() C³B + +-------------------- +//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³ + + (map/) + clif.c + clif_parse_WalkToXY() •ÏX + map.h ƒAƒ“ƒR[ƒ‹—p•Ï”‚̒ljÁ + 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_use_id + skill_initunitgroup() Žg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•Ï”‚É“ü‚ê‚é‚悤‚É‚µ‚½ + skill_unit_move_unit_group() ’ljÁ + skill.h •ÏX + +-------------------- +//0992 by nokia + +map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â‘è‚𵂭 + + (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) + + (map/) + clif.c + clif_parse_QuitGame() •ÏX + skill.c + skill_unitsetting() •ÏX + +-------------------- +//0990 by ‚Ò‚´‚Ü‚ñ +Eˆê•”‚̃gƒ‰ƒbƒv‚ð”͈ÍUŒ‚‚É•ÏXiŠª‚«ž‚Ý‚Í–¢ŽÀ‘•jB +Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’ljÁB + Emapflagpvp_nocalcrankdummy + @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B + Emapflagpvp_nightmaredrop,, + @PvP‚É‚ÄŽ€–S‚µ‚½ê‡A‚ÌŠm—¦‚ŃAƒCƒeƒ€‚ðƒhƒƒbƒv‚µ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’肵‚Ü‚·Brandom‚Æ‹Lq‚·‚é‚ÆŠŽ•i‚©‚烉ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚µ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚̃^ƒCƒv‚ðŽw’肵‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” + @: ƒhƒƒbƒv‚·‚éŠm—¦‚Å‚·B–œ•ª—¦‚ÅŽw’肵‚Ü‚·B + (map/) + skill.c + skill_unit_onplace() •ÏX + skill_trap_splash() ’ljÁ + pc.c + pc_damage() •ÏX + npc.c + npc_parse_mapflag() •ÏX + map.h + map_data‚Ƀƒ“ƒo’ljÁ + (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ƒ‰[‚ÌŒ´ˆö‚ª•ª‚©‚é‚©‚à + + (map/) + skill.c + skill_castend_nodamage_id() •ÏX + skill_castend_pos2() •ÏX + skill_castcancel() •ÏX + +-------------------- +//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³ + + (db/) + cast_db.txt + (map/) + battle.c + battle_check_target() •ÏX + mob.c + mobskill_castend_pos() •ÏX + 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 + +-------------------- +//0987 by ŒÓ’±—– + +Eƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’è‰Â”\‚É + Ú‚µ‚­‚Í script_ref.txt ‚ðŽQÆ + + (map/) + scirpt.c + buildin_getarg()’ljÁ + buildin_callsub(),buildin_callfunc(),run_func()C³ + (doc/) + script_ref.txt + ˆø”‚ɂ‚¢‚Ä‚Ìà–¾’ljÁ + +Egetguildname,getpartyname,getcastlename,strcharinfoC³ + C_STR‚Œ蔕¶Žš—ñ(C_CONSTSTR)‚ð•Ô‚µ‚Ä‚¢‚½–â‘èC³ + strcharinfo‚ŃMƒ‹ƒh–¼‚È‚Ç‚ðŠ“¾‚·‚éÛA–¢Š‘®‚¾‚Á‚½‚Æ‚«‚Ì–â‘è + + (map/) + script.c + buildin_getguildname(),buildin_getpartyname() + buildin_getcastlename(),buildin_strcharinfo() + +-------------------- +//0986 by (“Ê) +Eclient_packet‚Ì‹Lq‚©‚ç„Ž@‚µ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽÀ‘•‚µ‚Ä‚Ý‚½‚‚à‚è + + (db/) + skill_db.txt + (map/) + clif.c + clif_talkiebox() ’ljÁ + clif_parse_UseSkillToPos() •ÏX + clif_parse() •ÏX + clif.h •ÏX + map.h •ÏX + skill.c + skill_castend_pos2() •ÏX + skill_unitsetting() •ÏX + skill_unit_onplace() •ÏX + +-------------------- +//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³‚ðŽæ‚èž‚Ý + + (script/extension/) + npc_event_kataribe6.txt ’ljÁ + npc_event_kataribe7.txt ’ljÁ + (script/npc/) + quest/npc_event_hat.txt C³ + job/npc_job_magician.txt C³ + +-------------------- +//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”Å‚É + + (db/) + item_db.txt + (conf/) + mapflag.txt + (script/mob/) + npc_monster.txt + (map/) + clif.c + clif_parse_WalkToXY() C³ + +-------------------- +//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‚É‚µ‚½ + + (map/) + clif.c + clif_parse_WalkToXY() C³ + pet.c + pet_catch_process2() C³ + skill.c + skill_castend_nodamage_id() C³ + +-------------------- +//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‚ª–ß‚Á‚Ä‚µ‚Ü‚¤‚Ì‚ð‚È‚ñ‚Æ‚©‚µ‚½‚‚à‚è + + (db/) + skill_require_db.txt + (map/) + battle.c + battle_calc_damage() C³ + 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 + +-------------------- +//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³ + + (db/) + skill_db.txt + (map/) + clif.c + clif_parse_LoadEndAck() C³ + battle.c + battle_calc_damage() C³ + skill.c + skill_status_change_timer() C³ + skill_status_change_start() C³ + +-------------------- +//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ƒ‰‚É€‹’‚³‚¹‚Ä‚Ý‚½‚‚à‚è + + (db/) + cast_db.txt + item_db.txt + (map/) + battle.c + battle_calc_pc_weapon_attack() •ÏX + mob.c + mob_damage() •ÏX + pc.c + pc_calcstatus() •ÏX + 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 + +-------------------- +//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³ + + (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 + 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‚¾‚¯ + +EƒAƒCƒeƒ€ŒðŠ·‚Åd—Ê‚ÌŒvŽZ‚ªˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ + (doc/) + client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV + (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 + skill.c + skill_castend_damage_id() •ÏX + trade.c + trade_tradeadditem() C³ + +-------------------- +//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‚È‚¢‚悤‚É‚µ‚½‚‚à‚è + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + 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³ + 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 + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + (doc/) + 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³ + clif.c + clif_parse_WalkToXY() C³ + 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³ +-------------------- +//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 + + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: C³ + case SP_JOBLEVEL: C³ +-------------------- +//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•\Ž¦”’ + + Œã”¼4€–Ú‚ÍÝ’è‰Â + +E퓬Šî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚«”÷C³iDEXƒTƒCƒY•â³A‹|Å’áƒ_ƒAPCƒTƒCƒY•â³j + +EŠ®‘S‰ñ”ð + ƒXƒ^ƒ““™‚ÅŠ®‘S‰ñ”ð‚ª”­¶‚µ‚È‚©‚Á‚½‚Ì‚ðC³ + AGIVITƒyƒiƒ‹ƒeƒB‚ªŠ®‘S‰ñ”ð‚Ì“G‚àƒJƒEƒ“ƒg‚µ‚ÄŒvŽZ‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³@Ý’è‰Â + ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–¢C³ + +E‘qŒÉ‚ð•Â‚¶‚é‚Æ‚«AƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚é‚悤‚É‚µ‚½ + +Ekalen‚³‚ñ‚̃vƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘¢‚µ‚Ä + ¤‹Æ–h‰q’lA“ŠŽ‘‹àŠzA•ó” ‚Ì”‚ð–{ŽI‚É€‹’(¤‹Æ’l‚Í1~100) + ‘SÔ‚ÉÝ’u + + (/script/npc) + aldeg_cas01.txt ... prtg_cas05.txt C³ + (/script/npc/gvg) + aldeg_cas01.txt ... prtg_cas05.txt ’ljÁ + tbox.txt ’ljÁ + + (/conf) + battle_athena.conf + 6€–ڒljÁ + + (/map) + mob.c/mob.h + mob_attack() C³ + mob_counttargeted_sub(),mob_counttargeted() C³ + mobskill_use() C³iª‚̈ø”‚¾‚¯j + pc.c/pc.h + pc_counttargeted_sub(),pc_counttargeted() C³ + pc_attack_timer() C³ + pet.c + pet_attack() C³ + + map.h + pc_data, mob_data, map_data •Ï”‚P‚’ljÁ + enum1‚’ljÁ + map.c/map.h + map_count_oncell() ’ljÁ skill.c‚Å‚æ‚©‚Á‚½‚©‚àEEE + + skill.c + GXŠÖ˜AC³(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace()) + + battle.c C³ + battle.h C³ + + storage.c/storage.h + storage_comp_item() ’ljÁ + sortage_sortitem(), sortage_gsortitem() ’ljÁ + storage_storageclose(), storage_guild_storageclose() C³ +-------------------- +//0973 by Ž‚Žqo^.^o +EƒXƒNƒŠƒvƒg‚ÌBASELEVEL,JOBLEVEL–½—ߒljÁ + —á: set BASELEVEL,1; + —á: set JOBLEVEL,1; + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: €–ڒljÁ + case SP_JOBLEVEL: €–ڒljÁ + +-------------------- +//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 */ + SC_ASSUMPTIO: /* */ + SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ + SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ + SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + + (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Á + +-------------------- +//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) + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + (map/) + atcommand.h ƒSƒ~íœ + battle.c + battle_calc_pet_weapon_attack() •ÏX + battle_calc_mob_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() •ÏX + clif.c + clif_parse_UseSkillToId() •ÏX + 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 + +-------------------- +//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‚ð‚Ü‚Æ‚ß‚Ä“¯« + + (map/) + battle.c ƒRƒƒ“ƒgQY(BB)¶·¶· + skill.c skill_status_change_start() + (db/) + cast_db.txt + item_db.txt + mob_skill_db.txt + skill_db.txt + skill_require_db.txt + skill_tree.txt + +-------------------- +//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 + (map/) + battle.c + battle.h + ‘®«•â³‚ÌC³‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŽZoŽ®’ljÁ“™B + battle_config‚É€–ڒljÁ + skill.c + skill_idun_heal()’ljÁBforeachinarea‚ň—‚·‚é‚悤‚É•ÏX + ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̈—’ljÁB + atcommand.c + atcommand.h + @idsearch’ljÁB + +-------------------- +//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–¾ + + (char/) + char.c + ƒpƒPƒbƒg2730‚̈—Achar_delete()’ljÁA휈—C³‚È‚Ç + 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³‚È‚Ç + (login/) + login.c + parse_admin()‚ðƒAƒJƒEƒ“ƒg휎ž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚悤‚ÉC³ + +Eathena-start stop ‚Å’âŽ~‚³‚¹‚½ê‡Aƒf[ƒ^‚ª•Û‘¶‚³‚ê‚È‚¢–â‘è‚ðC³ + kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚©‚çSIGTERM‚É•ÏXB + ‚Ç‚¤‚µ‚Ä‚àSIGKILL‚𑗂肽‚¢ê‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B + + athena-start + stopC³Akill’ljÁ + +-------------------- +//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³ + + (conf) + battle_athena.conf C³ + (doc) + conf_ref.txt C³ + (map) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + 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 + + (conf/) + battle_athena.conf‚É€–ڒljÁB + (map/) + atcommand.c + atcommand_mapexit() C³B + pc.c + pc_steal_item() C³B + pc_show_steal() ’ljÁB + skill.c + skill_unitsetting()Askill_unit_onplace() C³B + battle.c + battle_config_read() C³B + battle.h C³B + (doc/) + conf_ref.txt ”²‚¯‚Ä‚½‚Ì‚ðFX’ljÁB + +-------------------- +//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³‚𓯫 + + (conf/) + atcommand_athena.conf C³ + (db/) + skill_tree.txt C³ + skill_tree2.txt ”pŽ~ + (map/) + map.h PC_CLASS_BASE“™’ljÁ + pc.c + pc_calc_skilltree() C³ + pc_allskillup() C³ + pc_readdb() C³ + +-------------------- +//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‚©‚ç“ǂނ悤‚É‚µ‚½ + + (conf/) + help.txt C³ + (db/) + const.txt + (doc/) + help.txt C³ + script_ref.txt C³ + (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³ + script.c + buildin_jobchange() C³ + buildin_jobchange2() íœ + buildin_jobchange3() íœ + skill.c + skill_castend_pos2() C³ + +-------------------- +//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 + + (common/) + mmo.h ’è”C³ + (db/) + skill_db.txt •ÏX + skill_require_db.txt •ÏX + skill_tree2.txt ’ljÁ + (map/) + skill.h ’è”C³ + pc.c + pc_calcstatus() C³ + pc_allskillup() C³ + pc_calc_skilltree() C³ + pc_readdb() C³ + +-------------------- +//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 + + (map/) + map.h/map.c + struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ñ‘Þ”ð—p‚̃ƒ“ƒo’ljÁ + map_quit()C³ + script.h/script.c + FXC³(run_script(),run_func()‚ªŽå) + npc.c + npc_parse_function()’ljÁ‘¼ + (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)‚ð•Ô‚·‚悤‚É‚µ‚½ + + (map/) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + 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³ + script.c + buildin_changesex() C³ + skill.c + skill_castend_nodamage_id() C³ + skill_unit_onplace() C³ + +-------------------- +//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‚³‚¹‚é–½—ß‚Å‚· + + (conf/) + help.txt C³ + (db/) + job_db2.txt C³ + job_db2-2.txt ’ljÁ + (doc/) + help.txt C³ + script_ref.txt C³ + (map/) + pc.c + pc_calcstatus() C³ + pc_readdb() C³ + script.c + buildin_jobchange() C³ + buildin_jobchange2() ’ljÁ + buildin_jobchange3() ’ljÁ + +-------------------- +//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‚Å‚· + + (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³ + script.c + buildin_changesex() C³ + skill.c + skill_castend_nodamage_id() C³ + +-------------------- +//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 + + (map/) + atcommand.c + atcommand_character_job2() ’ljÁ + atcommand_character_job3() ’ljÁ + atcommand.h C³ + (conf/) + atcommand_athena.conf C³ + (doc/) + help.txt C³ + +-------------------- +//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“–‚ÉÝ’è + + (map/) + atcommand.c + atcommand_jobchange() C³ + atcommand_jobchange2() ’ljÁ + atcommand_jobchange3() ’ljÁ + atcommand.h C³ + clif.c + clif_changelook() C³ + pc.c + pc_nextbaseexp() C³ + pc_nextjobexp() C³ + pc_jobchange() C³ + pc_readdb() C³ + battle.c + battle_calc_damage() C³ + mob_can_reach() C³ + +-------------------- +//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 + + (conf/) + battle_athena.conf + pet_lootitem,pet_weight ’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + atcommand.c + atcommand_memo() C³ + atcommand_where() C³ + battle.c + battle_config_read() C³ + battle.h C³ + map.c + map_quit() C³ + map.h + pet_data{} C³ + pc.c + pc_memo() C³ + 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³ + skill.c + skill_castend_pos2() C³ + +-------------------- +//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) + + (/) + object_del.bat C³ + (map/) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + atcommand_character_baselevel() C³ + + code by kingbo 2004/4/29 PM 06:15 + base on 0953 + now i sure it works well + (map/) + mob.c + 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³ + + (/) + start ‰üsƒR[ƒh•ÏX + athena-start ‰üsƒR[ƒh•ÏX + (db/) + mob_skill_db.txt C³ + (doc/) + conf_ref.txt C³ + (login/) + Makefile ‰üsƒR[ƒh•ÏX + (map/) + Makefile ‰üsƒR[ƒh•ÏX + atcommand.c + atcommand() 錾ˆÊ’uC³ + atcommand_where() 錾ˆÊ’uC³ + 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³ + clif.c + clif_skill_fail() 錾ˆÊ’uC³ + guild.c + guild_gvg_eliminate_timer() 錾ˆÊ’uC³ + mob.c + mob_damage() 錾ˆÊ’uC³ + script.c + buildin_deletearray() 錾ˆÊ’uC³ + buildin_getequipcardcnt() 錾ˆÊ’uC³ + buildin_successremovecards() 錾ˆÊ’uC³ + +-------------------- +//0952 by CG +Econf‚ÅDEF‚ÆMDEF‚ÌŒvŽZ•û–@‚ð‘I‘ð‚Å‚«‚é‚悤‚ÉB + + (conf/) + battle_athena.conf •ÏX + (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 + + (/) + athena-start •ÏX + (db/) + mob_db.txt •ÏX + (conf/) + map_athena.conf •ÏX + (conf/extension/) + npc_gldcheck.txt ’ljÁ + (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 + (conf/warp/) + npc_warp_pvp.txt ’ljÁ + +-------------------- +//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‚ð‘«‚³‚È‚¢‚Æ”½Œ‚‚µ‚Ä‚±‚È‚­‚È‚é‚Ì‚Å’ˆÓ + + (db/) + mob_db.txt C³ + (map/) + battle.c + battle_calc_pet_weapon_attack() + battle_calc_mob_weapon_attack() + battle_calc_pc_weapon_attack() + battle_calc_magic_attack() + mob.c + mob_once_spawn() + mob_attack() + mob_target() + mob_ai_sub_hard() + +-------------------- +//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 + (map/) + pc.c + pc_calcstatus()C³ + skill.c + skill_additional_effect()Askill_attack() C³ + skill_status_change_start()Askill_unitsetting() C³ + (db/) + cast_db.txt C³B + +-------------------- +//0948 by ŒÓ’±—– + +Ewarpwaitingpc‚ª³‚µ‚­PC‚ð“]‘—‚Å‚«‚È‚¢–â‘è‚ðC³ +EƒXƒNƒŠƒvƒg‚Ì“Ç‚Ýž‚ÝŽž‚ɃGƒ‰[‚Ü‚½‚ÍŒx‚ªo‚éê‡AŒx‰¹‚ð–‚炷‚悤‚ÉB + i—¬‚ꂽƒƒO‚ðŒ©‚È‚¢l‘Îô‚Å‚·j + + (map/) + script.c + buildin_warpwaitingpc()C³ + disp_error_message()C³ + +Eatcommand.cC³ + Eatcommand_athena.conf‚Ìmapmove‚ð“ǂނ悤‚É + E@str‚È‚Ç‚ÌÈ—ªŽž‚Ì•K{ƒŒƒxƒ‹‚ð0‚ÉB + E@param‚ÍŽg‚í‚È‚¢‚̂ŃRƒƒ“ƒg‰» + + (map/) + atcommand.c + ŠY“–ŒÂŠC³ + +Emob‚ªÅ‘å15•b‚قLjړ®‚µ‚È‚¢ê‡‚ª‚ ‚é–â‘èC³ + EŽè”²‚«‚Å‚È‚¢mobˆ—‚ÅAˆÚ“®‚µ‚È‚¢ŽžŠÔ‚ª7•bˆÈ㑱‚©‚È‚¢‚悤‚ÉC³ + + (map/) + mob.c + mob_ai_sub_hard()C³ + +E‰õ‘¬‘Dˆõ‚̈ɓ¤`s‚«‚Ì”»•ÊŽ®C³ (by ID:F8nKKuY) + (conf/npc/) + npc_town_comodo.txt + +-------------------- +//0947 by (“Ê) +EŽæ‚芪‚«‚ÍŽæ‚芪‚«‚𢊫‚µ‚È‚¢‚悤‚ÉC³ +E˜I“V‚̔̔„‰¿Ši‚ÌãŒÀ‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³ + + (conf/) + battle_athena.conf + vending_max_value’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + skill.c + skill_castend_nodamage_id() C³ + battle.c + battle_config_read() C³ + battle.h C³B + vending.c + vending_openvending() C³B + +-------------------- +//0946 by Kalen +Eƒvƒ–kWarpŒ©’¼‚µ +ŽQlF–{ŽI(1F,2F)‚ç‚®‚Ȃ̉½‚©(3F) + (conf/warp/) + npc_warp.txt + +EŒê‚è•”‚Ì2T3T’ljÁ(‚Ç‚¤‚¹Œ©‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ªc) + (conf/npc/) + npc_event_kataribe.txt + +-------------------- +//0945 by ŒÓ’±—– + +ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚ª³‚µ‚­ƒCƒ“ƒ|[ƒg‚³‚ê‚È‚¢–â‘è‚ðC³ +ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚ª³‚µ‚­‰Šú‰»‚³‚ê‚È‚¢–â‘è‚ðC³ +ENPC‚Ìduplicate‚ðs‚¤‚ƃAƒNƒZƒXˆá”½‚ª‹N‚±‚éꇂª‚ ‚é–â‘è‚ðC³ + + (map/) + npc.c + npc_parse_scriptC³ + +Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ì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/) + battle_athena.conf + guild_exp_limit’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + atcommand.c + ‘h¶Žž‚ÌSP‰ñ•œ‚ÅAׂ©‚¢C³B + battle.c + battle_config_read() C³ + battle.h C³B + guild.c + guild_change_position() C³B + pc.c + pc_calcstatus() C³B + vending.c + vending_openvending() C³B + +-------------------- +//0943 by (“Ê) +Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚é‚ƌÖ؂̎}‚Å¢Š«‚³‚ê‚郂ƒ“ƒXƒ^[‚ªƒAƒNƒeƒBƒu‚É‚È‚é‚悤‚É•ÏX +E”÷–­‚É•ÏX‚µ‚½client_packet.txt‚𓯫 + + (conf/) + battle_athena.conf + dead_branch_active’ljÁ + (doc/) + client_packet.txt C³ + conf_ref.txt C³ + (map/) + battle.c + battle_config_read() C³ + battle.h C³ + map.h C³ + mob.c + mob_once_spawn() C³ + mob_attack() C³ + mob_target() C³ + mob_ai_sub_hard_lootsearch() C³ + mob_ai_sub_hard() C³ + +E‰pŒêƒXƒŒ‚Ìkingbo‚³‚ñ‚Ì•ÏX‚𓯫 + code by kingbo 2004/4/16 PM 09:47 + + support guildcastle guardian + maybe still have problems..need to try + Good Luck Q^^Q + P.S: sorry my poor english ^^a + + (map/) + mob.c + mob_can_reach() fix + battle.c + battle_calc_damage() fix + + (conf/gvg/) + prtg_cas01_guardian.txt + +-------------------- +//0942 by ŒÓ’±—– + +EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•s³‚ȃƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éꇂª‚ ‚éƒoƒO‚ðC³ + (login/) + login.c + check_ipmask()C³ + +EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX­‚µ’ljÁ‚ÆC³ + (doc/) + script_ref.txt + C³ + +-------------------- +//0941 by (“Ê) + +Ee2‚³‚ñ‚Ì•ñ‚ðŒ³‚É¢Š«‚³‚ꂽŽè‰º‚̃Xƒs[ƒh‚𢊫Žå‚Æ“¯‚¶‚É‚µ‚Ä‚Ý‚é + + (map/) + battle.c + battle_get_speed() C³ + mob.c + mob_spawn() C³ + mob_summonslave() C³ + +-------------------- +//0940 by End_of_exam + +Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚µ‚Ä‚à‰ñ•œ‚µ‚È‚¢ƒoƒO‚ðC³(0938`)B + +@Thanks for Pepermint, reporting the bug that using PotionPitcher with +@BluePotion was no effective. +@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{‚o‚ÅŒø‰Ê‚ª‚È‚¢Ž–‚ð•ñ‚µ‚Ä‚­‚ꂽPepermintŽ‚ÉŠ´ŽÓj + + (map/) + battle.c + battle_heal() C³ + +-------------------- +//0939 by (“Ê) +EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–¼16•¶Žš)‚©‚ç0x1b3(64•¶Žš)‚É•ÏX +E‚‚¢‚Å‚ÉŽG’kƒXƒŒ‚Éã‚°‚½athena-start‚𓯫 + + (/) + athena-start saveƒtƒ@ƒCƒ‹‚ª–³‚¢‚Æ‚«‚Éì‚é‚悤‚É + (map/) + clif.c + clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚É•ÏX + (doc/) + client_packet.txt C³ + +-------------------- +//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‚·‚éŠÖ”‚Å‚· + +@‘Ž®Fgetareadropitem ,,,,,; +@@mapnameF‘ÎÛƒ}ƒbƒv–¼(—áFprontera.gat) +@@x0‚Æx1F‘ÎÛXÀ•W”ÍˆÍ +@@y0‚Æy1F‘ÎÛYÀ•W”ÍˆÍ +@@itemFƒJƒEƒ“ƒg‚·‚é‘ÎÛƒAƒCƒeƒ€ + +@–ß‚è’lFmapname“àÀ•W(x0,y0)-(x1,y1)‚͈͓̔à‚É—Ž‚¿‚Ä‚¢‚éitem‚Ì‘ŒÂ” +@@@@@Žæ“¾Ž¸”sŽž‚É‚Í-1‚ð•Ô‚µ‚Ü‚·B +@Eitem‚Ì’l‚ÍID‚Å‚àƒAƒCƒeƒ€–¼("Red_Jemstone"‚Æ‚©)‚Å‚à‚¢‚¢‚Å‚·B + + (map/) + battle.c + battle_heal() C³B + vending.c + vending_openvending() C³B + script.c + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B + struct buildin_func[] C³B + buildin_getareadropitem()Abuildin_getareadropitem_sub() ’ljÁB + +-------------------- +//0937 by netwarrior + +- Fix Japanese remarks problem in 0936 +- Fix minor problem in battle_heal() + +-------------------- +//0936 by Pepermint + +Retouch about problem of increase in quantity at the CART, +when enter the an minus quantity in the CLIENT. + +Retouch about problem of not recovery,use POTIONPITCHER skill. + + (map/) + battle.c + battle_heal() + + vending.c + vending_purchasereq() + +-------------------- +//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 + + 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 + <—á> + +- script ƒeƒXƒg::test1 112,{ // ‚±‚ÌNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚µ‚È‚¢ +// (—ª) +} +prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 +geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 + + Eã‚̃}ƒbƒv‚É‘¶Ý‚µ‚È‚¢NPC‚̓Cƒxƒ“ƒg‚É‚à‚·‚邱‚Æ‚ª‚Å‚«‚éB + i‚ǂ̃}ƒbƒvƒT[ƒo[‚©‚ç‚Å‚à•K‚¸ŒÄ‚Ño‚¹‚éƒCƒxƒ“ƒg‚É‚È‚éj + + (map/) + map.h + struct npc_label_list’ljÁ,struct npc_dataC³ + npc.c + npc_parse_script()C³ + •s—v‚É‚È‚Á‚½ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ÌŠÖ”‚ðíœ + +-------------------- +//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 + + (map/) + battle.c + battle_weapon_attack() C³B + 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 + 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 + (db/) + cast_db.txt C³B + +-------------------- +//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 + + (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³ + + + (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 + + (char/) + int_storage.c guild_storage_tostr() C³B + +-------------------- +//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“¯« + + (db/) + item_db.txt •ÏX + (conf/) + atcommand_athena.conf •ÏX + map_athena.conf •ÏX + (conf/gvg/) + aldeg_cas03.txt •ÏX + aldeg_cas04.txt •ÏX + aldeg_cas05.txt •ÏX + (conf/mob/) + npc_monster.txt •ÏX + (conf/npc/) + npc_event_kataribe.txt ’ljÁ + (conf/warp/) + npc_warp_louyang.txt ’ljÁ + (map/) + pc.c pc_memo() •ÏX + +-------------------- +//0930 by ŒÓ’±—– + + Šù‘¶‚Ì char/ ‚É‚ ‚élock.c‚Ælock.h‚Í휂µ‚Ä‚­‚¾‚³‚¢B + ‚±‚ê‚ç‚Í common/ ‚Ɉړ®‚³‚ê‚Ü‚·B + +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³ + + (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 + +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 + + (common/) + lock.c/lock.h + ƒtƒHƒ‹ƒ_ˆÚ“®Alock_fopenC³ + (login/) + login.c + mmo_auth_new()C³ + (char/) + char.c + mmo_char_tostr(),make_new_char()C³ + int_storage.c + storage_tostr(),guild_storage_tostr(), + inter_storage_save_sub(),inter_guild_storage_save_sub()C³ + int_party.c + int_guild.c + –¼‘O–â‘èC³ + (map/) + pet.c + –¼‘O–â‘èC³ + +-------------------- +//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 + + (map/) + clif.c + clif_parse_EquipItem() C³B + skill.c + skill_castend_nodamage_id() C³B + skill_unitsetting()Askill_unit_onplace() C³B + skill_landprotector() ’ljÁB + mob.c + mob_delay_item_drop()Amob_delay_item_drop2() C³B + npc.c C³ + + (db/) + skill_db.txt C³B + +-------------------- +//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) + +@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 + +-------------------- +//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‚Å‚·) + + (map/) + battle.c + battle_calc_damage()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack()Abattle_config_read() C³B + 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 + (conf/) + battle_athena.conf + item_auto_get€–Ú‚ð’ljÁB + (db/) + cast_db.txt C³B + +-------------------- +//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 + + (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‚µ‚È‚Ç + chrif.c + ‹ŒOnAgitInit‚̌ĂÑo‚µíœ + (doc/) + inter_server_packet.txt + ƒMƒ‹ƒhéƒf[ƒ^ˆêŠ‡‘—MƒpƒPƒbƒg0x3842’ljÁ + +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³ + (map/) + script.c + buildin_donpcevent()’ljÁ‚È‚Ç + (doc/) + script_ref.txt + doevent,donpcevent,OnAgitInit’ljÁ‚È‚Ç + +E‚»‚Ì‘¼C³ + (map/) + clif.c + clif_parse_GMReqNoChat()’ljÁ + + +-------------------- +//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 + + (map/) + script.c/mob.c + 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ˆê‰ž) + + (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 + +-------------------- +//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‚©‚ç휂µ‚Ä‚­‚¾‚³‚¢ + + (map/) + guild.c C³ + (conf/) + map_athena.conf C³ + atcommand_athena.conf C³ + (conf/npc/) + npc_event_hat.txt C³ + npc_event_oni.txt C³ + npc_job_1st.txt íœ + npc_script2.txt íœ + npc_shop3.txt íœ + +-------------------- +//0923 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚̃oƒOC³ +Escript_rid2sd‚ªŽ¸”s‚µ‚Ä‚àƒT[ƒo[‚ðI—¹‚µ‚È‚¢‚悤‚É•ÏX + Emonster,areamonster‚È‚Ç‚ªŽÀs‚Å‚«‚È‚¢–â‘èC³ + + (map/) + script.c/mob.c + buildin_monster()‚È‚ÇC³ + + (doc/) + script_ref.txt + ƒ‰ƒxƒ‹‚ƃGƒ‰[‚Ìà–¾C³ + +-------------------- +//0922 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ìs”Ô†‚ª³‚µ‚­•\Ž¦‚³‚ê‚é‚悤‚É + + (map/) + itemdb.c / npc.c + itemdb_readdb(),npc_parse_script()C³ + +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³ + (map/) + script.c + script_rid2sd(),buildin_attachrid()’ljÁ + ‘½XC³B + (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‚ÉŠª‚«–ß‚Á‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½•”•ª‚ðŒ³‚É–ß‚µ‚½ + (map/) + pc.c + pc_steal_item() C³ + itemdb.c + pet.c + skill.c C³ + +-------------------- +//0920 by Ž‚Žqo^.^o +E Steal—¦ = Drop—¦ * (Ž©DEX - “GDEX + SLv*3 +10) /100 + (map/) + pc.c + int pc_steal_item()C³ + +-------------------- +//0919 by RR +Eatcommand‚Ìlvup‚ðŽg‚¤‚Ǝ擾ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‚¨‚©‚µ‚¢–â‘è‚ÌC³ +EƒoƒOC³(ƒoƒO•ñƒXƒŒ‚ÅC³‚Ìo‚½‚à‚Ì‚ÌŽæ‚èž‚Ý@ŒÓ’±—–‚³‚ñAp‚³‚ñA‹¤‚É‚¨”æ‚ê—l‚Å‚·) + (map/) + atcommand.c + atcommand_baselevelup()C³ + guild.c + guild_gvg_eliminate_timer()C³ + pc.c + pc_setreg(),pc_setregstr()C³ + (login/) + login.c + parse_login()C³ +-------------------- +//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 + (map/) + itemdb.c + do_init_itemdb() C³B + pet.c + read_petdb() C³B + skill.c + skill_readdb() C³B + +-------------------- +//0917 by RR +EƒXƒNƒŠƒvƒgC³ + “‘¾˜YƒCƒxƒ“ƒg‚Æ“¬‹ZêƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚É•ÏX + (conf/npc/) + npc_event_momotarou.txt + npc_event_tougijou.txt C³ +EƒXƒLƒ‹ƒcƒŠ[C³(ƒoƒO•ñƒXƒŒ25‚æ‚è) + (db/) + skill_db.txt C³ + +-------------------- +//0916 by (“Ê) +Enpc_monster‚Énpc_mob_job‚ð“‡Bnpc_mob_job.txt‚Í휂µ‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñ + + (conf/) + map_athena.conf npc_mob_job‚ðíœ + (conf/mob/) + npc_monster.txt XV + +-------------------- +//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Á + + Šù‘¶‚Ìaddtimer‚Ȃǂ̓vƒŒƒCƒ„[’PˆÊ‚Ì‚½‚ßANPC’PˆÊ‚̃^ƒCƒ}[‚ðì‚è‚Ü‚µ‚½B + ‚±‚¿‚ç‚ÍAaddtimer‚ȂǂƂ͈ႢAOnTimerXXX‚Æ‚¢‚¤•—‚Ƀ‰ƒxƒ‹‚ðŽw’肵‚Ü‚·B + Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB + + (map/) + map.h + struct npc_data C³Astruct npc_timerevent_list’ljÁ + npc.c / npc.h + npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(), + npc_gettimerevent_tick(),npc_settimerevent_tick()’ljÁ + npc_parse_script()C³ + script.c + buildin_*npctimer()’ljÁ‚È‚Ç + (conf/sample/) + npc_test_npctimer.txt + NPCƒ^ƒCƒ}[Žg—pƒTƒ“ƒvƒ‹ + (doc/) + script_ref.txt + NPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ß/ŠÖ”’ljÁA’蔃‰ƒxƒ‹‚Ìà–¾C³ + +ESage‚̃A[ƒXƒXƒpƒCƒN‚ÌŠ“¾ðŒC³ + (db/) + skill_tree.txt + ƒA[ƒXƒXƒpƒCƒN‚ÌsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Éj + +-------------------- +//0914 by p +E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úς݃ƒ‚ƒŠ‚ðŽQÆ‚µ‚Ä‚¢‚½–â‘è‚ɑΉž +Eƒƒ‚ƒŠ‚ð‰Šú‰»‚¹‚¸‚ÉŽg—p‚µ‚Ä‚¢‚½—̈æ‚ðA‰Šú‰»‚µ‚Ä‚©‚çŽg—p‚·‚é‚悤‚É•ÏX + (common/) + db.c + grfio.c + socket.c + timer.c + (char/) + char.c + int_guild.c + int_party.c + int_pet.c + int_storage.c + inter.c + (login/) + login.c + (map/) + ‚Ù‚Æ‚ñ‚Ç.c + +-------------------- +//0913 by Kalen + +EGVGScript‚ÌC³ +@911‘Ήž +@ƒtƒ‰ƒO‚©‚çƒAƒWƒg‚Ö–ß‚é‹@”\’ljÁ +@–ß‚é‚Æ‚«‚É•·‚©‚ê‚é‚悤‚ÉC³(TESTscript) +@Ԏ擾Žž::OnRecvCastleXXX‚ð”­“®‚·‚é‚悤‚ÉC³ + (conf/gvg/) + ‚Ù‚Æ‚ñ‚Ç.txt + +-------------------- +//0912 by (“Ê) +E‚±‚̃tƒ@ƒCƒ‹‚Ì•¶Žš‰»‚¯‚ÆTEST_prtg_cas01_AbraiJ‚Ì•¶Žš‰»‚¯‚ðC³ +EƒoƒO•ñƒXƒŒ‚Ì>>19-20‚ðŽæ‚èž‚Ý +EÌ‚â‚Á‚¿‚Ü‚Á‚½battle_athena.conf‚̌뎚‚Ì’ù³ + + (common) + mmo.h + #define MAX_STAR 3‚ÉC³ + (conf) + battle_athena.conf + (conf/gvg/) + TEST_prtg_cas01_AbraiJ.txt + (map) + atcommand.c + get_atcommandinfo_byname() C³ + + +-------------------- +//0911 by Michael_Huang + + Mounting Emblem of the Flag-NPC. + (Added Script Command: FlagEmblem). + +(conf/gvg/) + TEST_prtg_cas01_AbraiJ.txt (FlagEmblem Test) + + (map/) + map.h struct npc_data{} + clif.c clif_npc0078() + script.c buildin_flagemblem() + +-------------------- +//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‚µ‚Ä‚¢‚Ü‚·) + (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‚Ì‚Ý‚Ö) + (map/) + pc.c pc_calc_skilltree() + atcommand.c atcommand_model() + + +-------------------- +//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Æ + + (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Š· + npc_town_guide.txt + “ä–½—ßscriptlabel‚ðƒRƒƒ“ƒg‰» + npc_event_momotaro.txt + npc_job_swordman.txt + npc_job_magician.txt + ';'•t‚¯–Y‚êC³ + (conf/gvg/) + ev_agit_aldeg.txt + @GID4‚ð@GIDa4‚É’uŠ· + ev_agit_gefg.txt + ev_agit_payg.txt + Annouce‚ÉFŽw’è‚Æ';'‚Ì•t‚¯–Y‚ê‚ðK« + + +EAthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚ÝA‚»‚Ì‘¼C³ + ˆÀ’肵‚Ä‚¢‚éƒf[ƒ^‚©‚Ç‚¤‚©‚í‚©‚è‚Ü‚¹‚ñ‚ªB + + (db/) + item_db.txt/mob_db.txt/mob_skill_db.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + mob_skill_db.txt.orig + ˆÈ‘O‚̃f[ƒ^iƒRƒƒ“ƒg•”•ª‚È‚Ç‚ÌŽQl‚Éj + (conf/) + water_height.txt/mapflag.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + map_athena.conf + npc_monster3*.txt‚ðíœ + ’ljÁƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) + (conf/mob/) + npc_monster.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + +-------------------- +//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³ + (conf/npc/) + npc_town_guide.txt + ‚Ss–Ú‚Í‚¢‚ç‚È‚¢‚悤‚Ȃ̂ŃGƒ‰[‚ªo‚È‚¢‚悤‚ɃRƒƒ“ƒg‰» + npc_event_hat.txt + ƒRƒ‚ƒh‚̉¼–ÊEl‚ƃtƒFƒCƒˆƒ“‚Ì”N (by ID:dS8kRnc) + (conf/sample/) + npc_card_remover.txt + @menu‚ðŽg‚Á‚Ä’Z‚­‚µ‚½••¶Í­‚µC³ + +E‚»‚Ì‘¼ + (db/) + skill_tree.txt + 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 + + (common/) + mmo.h + (map/) + atcommand.h + atcommand.c + clif.h + clif.c + +-------------------- +//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 + (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 + (map/) + atcommand.c + +-------------------- +//0905 by ŠÇ—l + +EƒT[ƒo[snapshot +E‘OƒXƒŒ‚̃tƒ@ƒCƒ‹Žæ‚è–Y‚ꂽl‚ª‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚Ì‚Å + +-------------------- +//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 + + (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 + (conf/gvg/) + prtg_cas01.txt + ƒMƒ‹ƒhê‘®ƒJƒvƒ‰C³ + ev_agit_prtg.txt + ‰Šú‰»ˆ—C³iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚Ýj + TEST_prtg_cas01_AbraiJ.txt + ƒMƒ‹ƒhê‘®ƒJƒvƒ‰ŒÙ—p/é”jŠüC³ + +ENPC‚ÌC³ + (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 + + (login/) + login.c + “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + (char/) + int_guild.c/int_party.c + “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + +-------------------- +//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 + + (map/) + script.c + parse_simpleexpr()C³ + (conf/warp/) + npc_warp.txt/npc_warp25.txt/npc_warp30.txt + •Ï”–¼l0‚ð@warp0‚ÉC³ + (conf/npc/) + npc_event_hat.txt + •Ï”–¼l15‚ð@menu‚ÉC³ + (doc/) + script_ref.txt + ”z—ñ•Ï”‚Ìà–¾’ljÁ + •Ï”‚̃vƒŒƒtƒBƒbƒNƒX'l'Ainput–½—ß‚Ìl14Amenu–½—ß‚Ìl15‚Ì + à–¾‚ðC³ + +-------------------- +//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 + + (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³‚È‚Ç + map.c + map_readmap(),map_readallmap()C³ + +-------------------- +//0901 by ‚Ò‚´‚Ü‚ñ + +E˜I“XƒoƒO‚ÌC³ + + (map/) + pc.c + pc_cartitem_amount() ’ljÁB + vending.c + vending_openvending() C³B + clif.c + clif_parse_NpcClicked() C³B + pc.h C³B + +-------------------- +//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 + (map/) + mob.c + mob_damage()Amobskill_use() C³B + mob_skillid2skillidx() ’ljÁB + skill.c + skill_readdb()Askill_abra_dataset() C³B + skill_castend_nodamage_id()Askill_castend_pos2() C³B + script.c + buildin_warp() C³B + + skill.h C³B + map.h C³B + (db/) + abra_db.txt ’ljÁB + skill_db.txt C³B + +-------------------- +//0899 by ŒÓ’±—– + +EŽæ‚芪‚«MOB‚̈—C³ + EŽæ‚芪‚«¢Š«‚ŃRƒA‚ð“f‚­ƒoƒOC³ + EŽå‚ª•Êƒ}ƒbƒv‚É”ò‚Ô‚ÆAƒeƒŒƒ|[ƒg‚Å’Ç‚¢‚©‚¯‚é‚悤‚ÉC³ + EŽæ‚芪‚«ˆ—‚ð‚æ‚èŒy‚­•ÏX + + (map/) + mob.c + mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() + ‚É–¼‘O‚ð•Ï‚¦‚Ĉ—C³B + mob_summonslave()C³ + +-------------------- +//0898 by ŒÓ’±—– + +Eeathena‚©‚çCardRemoverNPC‚ÌŽæ‚èž‚Ý + NPCƒf[ƒ^‚à“ú–{Œê–󂵂Ă܂·‚ªA‚©‚È‚è“K“–‚Å‚·B + + (map/) + script.c + buildin_getequipcardcnt(),buildin_successremovecards() + buildin_failedremovecards()’ljÁ + (conf/sample/) + npc_card_remover.txt + ƒJ[ƒhŽæ‚èŠO‚µNPC‚Ì“ú–{Œê–ó + ƒvƒƒ“ƒeƒ‰‚̸˜BŠ‚Ì’†‚̶‰º‚Ì•”‰®‚É‚¢‚Ü‚· + +Eƒ|[ƒ^ƒ‹‚ŕʃ}ƒbƒv‚É”ò‚΂µ‚½MOB‚ª‚»‚̃}ƒbƒv‚É•¦‚«’¼‚·ƒoƒOC³ + (map/) + map.h + struct mob_data‚Émƒƒ“ƒo’ljÁ + mob.c + mob_spawn(),mob_once_spawn()C³ + npc.c + npc_parse_mob()C³ + + +-------------------- +//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³ + skill.c + skill_status_change_start()Askill_castend_nodamage_id() C³B + skill_abra_dataset() C³B + battle.c + battle_get_def()Abattle_get_atk2() C³B + battle_get_vit()Abattle_get_int() C³B + (db/) + const.txt C³B + skill_db.txt C³B + cast_db.txt C³B + +-------------------- +//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 + +Estr_data‚ªÄŠ„‚è“–‚Ä‚³‚ê‚é‚ƃ}ƒbƒv•Ï”‚ª³í‚ÉŽg—p‚Å‚«‚È‚¢ƒoƒOC³ + Estrdb‚©‚çnumdb‚É‚µ‚ÄA•Ï”–¼‚Ístr_buf‚É“ü‚ê‚é‚悤‚ÉB + +Emap_athena.conf‚Ìdelnpc,npc:clear‚ª³‚µ‚­“­‚©‚È‚¢ƒoƒOC³ + + (map/) + npc.c + npc_delsrcfile(),npc_clearsrcfile()C³ + script.c / script.h + ƒ}ƒbƒv•Ï”Œn‚©‚È‚èC³ + map.c + map_read_config()C³‚È‚Ç + (conf/) + map_athena.conf + mapreg_txt’ljÁ + (doc/) + conf_ref.txt + mapreg_txt,help_txt,motd_txt’ljÁ + script_ref.txt + •¶Žš—ñŒ^•Ï”‚Ìà–¾C³ + +-------------------- +//0895 by Selena + +Emapflag‚Énozenypenalty‚ð’ljÁB +@GVG‚âŠX’†‚̃eƒ‚È‚Ç‚ÅŽ€–S‚µ‚½Û‚ÉAZenyƒyƒiƒ‹ƒeƒB[”­¶‚ðŠO‚·—pB + + (map/) + pc.c + pc_setrestartvalue() C³ + script.c + buildin_setmapflag()Abuildin_removemapflag() C³ + npc.c + npc_parse_mapflag() C³ + map.h + map_data() C³ + (db/) + const.txt C³B + +-------------------- +//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 + (db/) + skill_db.txt C³B + +-------------------- +//0893 by ŒÓ’±—– + +E‘¼ƒ}ƒbƒv‚©‚çƒ|[ƒ^ƒ‹‚Ìã‚Ƀ[ƒv‚µ‚Ä‚«‚½PC‚ªƒ[ƒv‚µ‚È‚¢–â‘è‚ðC³ +Eƒ`ƒƒƒbƒg’†‚ÌPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É +EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É + MOB‚̃[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚é‚ÆAƒeƒ‚ªŠÈ’P‚É‚Å‚«‚é‚Ì‚Å’ˆÓB + +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³ + (map/) + mob.c/mob.h + mob_warp()‚̈ø”•ÏX‚ÆC³ + battle.c/battle.h + mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ + battle_configŠÖ˜A + map.c + map_readallmap(),map_readmap()C³ + pc.c + pc_setpos()C³ + skill.c + mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ + skill_unit_onplace()C³ + (conf/) + battle_athena.conf + chat_warpportal,mob_warpportal‚̒ljÁ + (doc/) + conf_ref.txt + chat_warpportal,mob_warpportal‚̒ljÁ + +-------------------- +//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‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·. + +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 + +Elogin_athena.conf‚Ìallow‚Ædeny‚ðƒNƒŠƒA‚Å‚«‚é‚悤‚É‚“‚½ + Eallow‚¨‚æ‚Ñdeny–½—ß‚Åclear‚ðŽw’è‚·‚é‚ƈȑO‚̃zƒXƒgî•ñ‚ð‘S휂µ‚Ü‚·. + + (conf/) + ŠeŽíconfƒtƒ@ƒCƒ‹‚ÌÅŒã‚Éimport–½—ߒljÁ + (conf/import) + *.txt + ƒCƒ“ƒ|[ƒg‚³‚ê‚éƒtƒ@ƒCƒ‹B‚±‚ê‚ç‚ÉŽ©•ª—p‚ÌÝ’è‚ð‘‚­‚Æ‚æ‚¢B + (login/) + login.c + login_read_config()C³ + (char/) + char.c/inter.c + char_read_config(),inter_read_config()C³ + (map/) + map.c + map_read_config(),map_addmap()C³Amap_delmap()’ljÁ + npc.c + npc_addsrcfile()C³,npc_delsrcfile(),npc_clearsrcfile()’ljÁ + battle.c/atcommand.c/script.c + battle_read_config(),atcommand_read_config(), + msg_read_config(),script_read_config()C³ + (doc/) + conf_ref.txt + C³ + +-------------------- +//0891 by (“Ê) + +EuƒXƒLƒ‹Žg—p‚ÌŒã‚ÍA‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢v‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B + E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘´‚̇U>>5‚³‚ñ‚̃R[ƒh‚ðƒpƒNƒŠ‚Ü‚µ‚½B + (doc/) + conf_ref.txt C³B + (conf/) + battle_athena.conf C³B + (map/) + battle.h C³B + battle.c + battle_config_read() C³B + clif.c + clif_skill_fail() C³B + +-------------------- +//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 + (doc/) + conf_ref.txt C³B + script_ref.txt C³B + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + help.txt C³B + (conf/sample/) + gstorage_test.txt ’ljÁB + (char/) + makefile C³B + int_storage.h C³B + int_storage.c + inter_storage_delete()Ainter_guild_storage_delete() ’ljÁB + int_guild.c + guild_check_empty()Amapif_parse_BreakGuild() C³B + (map/) + makefile C³B + battle.h C³B + battle.c + battle_config_read() C³B + guild.c + guild_broken() C³B + storage.h C³B + storage.c + storage_guild_storageopen() C³B + storage_delete()Aguild_storage_delete() ’ljÁB + script.c + buildin_guildstorage() ‚ð buildin_guildopenstorage()‚É•ÏXB + intif.c + intif_parse_LoadGuildStorage() C³B + mob.c + mob_summonslave()Amob_damage()Amob_delete() C³B + mob_catch_delete()Amob_readdb() C³B + skill.c + skill_castend_nodamage_id()Askill_status_change_start() C³B + clif.c + clif_parse_ActionRequest() C³B + atcommand.h C³B + atcommand.c + atcommand() C³B + +-------------------- +//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 + + (map/) + map.h + struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’ljÁ + script.c + buildin_set(),get_val(),buildin_input(),op_2num()‚È‚ÇC³ + op_2str(),op_2()’ljÁ + clif.c / clif.h + 01d5ƒpƒPƒbƒg’·C³ + clif_parse_NpcStringInput(),clif_scriptinputstr()’ljÁ + pc.c / pc.h + pc_readregstr(),pc_setregstr()’ljÁ + (doc/) + script_ref.txt + ‰‰ŽZŽq‚Ìà–¾’ljÁA•Ï”‚Ìà–¾C³Ainput,menuC³ + (conf/sample/) + npc_test_str.txt + •¶Žš—ñ•Ï”‚ðŽg—p‚µ‚½ƒXƒNƒŠƒvƒg‚Ì—áB + •¶Žš—ñ‚Ì‘ã“üAŒ‹‡A”äŠrA“ü—͂Ȃǂ̃eƒXƒg‚ðs‚¤‚à‚ÌB + +-------------------- +//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 + (conf/) + inter_athena.conf C³B + help.txt C³B + (common/) + mmo.h C³B + (char/) + makefile C³B + int_storage.h C³B + 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 + int_party.c + inter_party_init() C³B + int_guild.h C³B + int_guild.c + inter_guild_init() C³B + inter_guild_search() ’ljÁB + int_pet.c + inter_pet_init() C³B + inter.c + inter_init()Ainter_save()Ainter_config_read() C³B + (map/) + makefile C³B + map.h C³B + map.c + map_quit()Ado_init() C³B + pc.c + pc_setpos() C³B + storage.h C³B + 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 + 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 + 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 + guild.c + guild_broken() C³B + script.c + buildin_openstorage()Abuildin_guildstorage() C³B + skill.c + skill_castend_nodamage_id() C³B + mob.c + mob_summonslave()Amob_damage() C³B + atcommand.c + atkillmonster_sub()Aatcommand() C³B + +-------------------- +//0887 by Ž‚Žqo^.^o + +E(db/) + skill_tree.txt C³ + +-------------------- +//0886 by ‚Ò‚´‚Ü‚ñ + +EƒT[ƒo[snapshot +Eƒtƒ@ƒCƒ‹’²® + +-------------------- +//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 + + (char/) + int_storage.c + mapif_load_storage() C³B + mapif_parse_SaveStorage() C³B + inter.c + inter_send_packet_length[] C³B + inter_recv_packet_length[] C³B + (map/) + atcommand.c + @alive,@raise,@raisemap C³B + intif.c + packet_len_table[] C³B + intif_request_storage() C³B + intif_send_storage() C³B + intif_parse_LoadStorage() C³B + + map.h + map_session_data state‚Éstorage_flag ’ljÁB + script.c + buildin_areawarp_sub() C³B + buildin_openstorage() C³B + buildin_guildstorage() ’ljÁB + skill.c + skill_castend_nodamage_id() C³B + storage.c + account2storage() C³B + storage_storageopen() C³B + storage_storage_save() C³B + +-------------------- +//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 + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + map.c + do_init()Ado_final() C³B + script.c + buildin_openbank() íœB + buildin_failedrefitem() C³B + storage.h C³B + storage.c + do_init_bank()Ado_final_bank()Aaccount2bank() íœB + storage_bank()Astorage_readbank() íœB + skill.c + skill_castend_nodamage_id()Askill_attack() C³B + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_config_read() C³B + pc.c + pc_setrestartvalue() C³B + clif.c + clif_skill_nodamage()Aclif_refine() C³B + itemdb.c + itemdb_isequip3() C³B + atcommand.c + atcommand() C³B + +-------------------- +//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]) + (conf/warp/) + npc_warp.txt + npc_warp30.txt + npc_warp_job.txt + (conf/npc/) + npc_event_hat.txt(V‹K) + npc_job_2nd.txt + npc_job_alchemist.txt + npc_town_aldebaran.txt + npc_town_comodo.txt + npc_town_gonryun.txt + npc_town_guide.txt + npc_town_yuno.txt + npc_town_lutie.txt + +-------------------- +//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 + + (common/) + mmo.h + ACCOUNT_REG_NUM‚ð16‚ÉAACCOUNT_REG_NUM2’ljÁ + struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’ljÁ + (login/) + login.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + (char/) + char.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + inter.c + ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB + inter_accreg*()’ljÁAaccreg_db’ljÁ‚È‚ÇB + (map/) + chrif.c/chrif.h + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + 0881‚ł̃oƒO‚ðC³ + 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 + script.c + buildin_set(),buildin_get_val(),buildin_input()C³ + (doc/) + inter_server_packet.txt + ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”ŠÖŒW + conf_ref.txt + accreg_txt’ljÁ + +-------------------- +//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 + + (common/) + mmo.h + GLOBAL_REG_NUM‚ð96‚ÉAACCOUNT_REG_NUM‚ð’ljÁ + struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’ljÁ + (login/) + login.c + ƒpƒPƒbƒg2728ˆ—’ljÁ + (char/) + char.c + ƒpƒPƒbƒg2729,2b10ˆ—’ljÁ + (map/) + chrif.c + chrif_saveaccountreg(),chrif_accountreg() + (ƒpƒPƒbƒg2b10,2b11ˆ—)’ljÁB + pc.c/pc.h + pc_readaccountreg(),pc_setaccountreg()’ljÁ + script.c + buildin_set(),buildin_get_val(),buildin_input()C³ + (conf/sample/) + bank_test.txt + ƒAƒJƒEƒ“ƒg•Ï”Žg—p”Å‚Ì‹âsƒXƒNƒŠƒvƒg + +-------------------- +//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 + (conf/) + battle_athane.conf C³B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (db/) + skill_db.txt C³B + skill_require_db.txt C³B + (map/) + map.h C³B + skill.h C³B + 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 + mob.c + mobskill_use_id()Amob_changestate() C³B + pc.c + pc_itemheal()Apc_percentheal()Apc_calcstatus() C³B + battle.h C³B + 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 + clif.c + clif_skill_fail() C³B + 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 + + (common/) + socket.c /socket.h + WFIFOSET()‚ðƒ}ƒNƒ‚©‚çŠÖ”‚É•ÏX + realloc_fifo()’ljÁ + +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 + + (common/) + mmo.h + FIFOSIZE_SERVERLINKƒ}ƒNƒ’ljÁB + (login/) + login.c + 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + (char/) + char.c + 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + (map/) + chrif.c + 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 + + (common/) + mmo.h + struct bank ’ljÁB + (map/) + map.c + do_final(),do_init() C³B + script.c + buildin_openbank() ’ljÁB + storage.c + storage.h + ƒOƒ[ƒoƒ‹•Ï”’ljÁB + do_init_bank(),do_final_bank(),account2bank() ’ljÁB + storage_bank(),storage_readbank() ’ljÁB + +-------------------- +//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/) + login.c + check_ip()C³,check_ipmask()’ljÁ + (map/) + battle.c/battle.h + battle_config‚Égm_allequip,gm_skilluncond’ljÁ + battle_config_read()C³X + skill.c + skill_check_conditio()C³ + pc.c + pc_isequp()C³ + (doc/) + conf_ref.txt + allow•ÏXAgm_all_equipmentAgm_skill_unconditional’ljÁ + +-------------------- +//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 + (db/) + skill_db.txt C³B + (map/) + mob.c + mob_catch_delete()Amob_stop_walking() C³B + storage.c + storage_additem() C³B + pc.c + pc_damage()Apc_stop_walking() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + battle.c + battle_calc_magic_attack() C³B + skill.c + skill_check_condition() C³B + atcommand.c C³B + +-------------------- +//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³ + (char/) + char.c/char.h + party_share_levelŠÖ˜A + (inter/) + inter.c/inter.h + party_share_level / inter_log_file ŠÖ˜A + ƒƒOo—Í—p‚Éinter_log()’ljÁ + 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‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ + + (tool/cgi/) + serverstatus.cgi + ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg + 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 + (conf/) + help.txt C³B + atcommand_athena.conf C³B + battle_athena.conf C³B + char_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + item_bonus.txt C³B + script_ref.txt C³B + conf_ref.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + skill.h C³B + 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 + pc.c + pc_calcstatus()Apc_bonus2()Apc_equipitem() C³B + pc_unequipitem()Apc_damage() C³B + battle.h C³B + 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 + clif.c + clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() C³B + clif_skill_damage2() C³B + itemdb.h C³B + itemdb.c + itemdb_isequip3() ’ljÁB + mob.h C³B + mob.c + mob_delay_item_drop()Amob_damage()Amob_changestate() C³B + mob_class_change()Amob_delete()Amob_catch_delete() C³B + script.c + buildin_getitem() C³B + buildin_killmonsterall_sub()Abuildin_killmonsterall() ’ljÁB + atcommand.h C³B + atcommand.c + atcommand() C³B + atkillmonster_sub() ’ljÁB + +-------------------- +//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³. + (doc/) + item_bonus.txt C³. + (map/) + map.h C³. + skill.c + skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() C³. + pc.c + pc_calcstatus(), pc_bonus2(), pc_gainexp() C³. + battle.c + battle_weapon_attack() C³. + +-------------------- +//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 + (conf/) + char_athena.conf C³B + login_athena.conf C³B + (doc/) + conf_ref.txt C³B + (login/) + login.c + parse_login()Alogin_config_read()Alogin_log() C³B + (char/) + char.h C³B + 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 + (map/) + map.h C³B + 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 + pc.c + pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() C³B + storage.c + storage_additem() C³B + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B + 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 + script.c + buildin_produce() C³B + buildin_getitem2() ’ljÁB + atcommand.c + atcommand() C³B + +-------------------- +//0870 by shuto + +Emapflag‚ÌUéíMAP‚Énomemo’ljÁ +EƒMƒ‹ƒh•ó” ‚ÅA•ó” oŒ»‚Æ“¯Žž‚ÉMAPŽI‚ª—Ž‚¿‚é–â‘èC³(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 + (conf/) + char_athena.conf C³B + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (char/) + char.h C³B + char.c + char_config_read() C³B + int_party.c + party_check_exp_share() C³B + (map/) + map.h C³B + 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 + pc.c + pc_calcstatus() C³B + mob.c + mobskill_castend_pos() C³B + battle.h + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B + battle_config_read() C³B + pet.c + pet_data_init() C³B + +-------------------- +//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 + (doc/) + db_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + skill.h C³B + 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 + mob.c + mobskill_use_id()Amob_spawn()Amob_attack() C³B + 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 + clif.c + clif_damage() C³B + pet.c + pet_attack() C³B + pc.c + pc_attack_timer()Apc_authok() C³B + pc_spirit_heal()Apc_natural_heal_sub() C³B + +-------------------- +//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 + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + client_packet.txt C³B + (map/) + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_config_read() C³B + 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 + pc.c + pc_attack_timer() C³B + skill.c + skill_castend_nodamage_id()Askill_additional_effect() C³B + skill_status_change_start() C³B + mob.h C³B + mob.c + mobskill_castend_id()Amob_getfriendstatus_sub() C³B + mob_readdb_mobavail() C³B + +-------------------- +//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 + + (map/) + pc.c + pc_makesavestatus()Apc_calc_skilltree() C³B + pc_allskillup()Apc_calc_skillpoint() C³B + pc_resetskill()Apc_authok() C³B + skill.c + skill_attack() C³B + map.h C³B + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt C³B + motd.txt C³B + mapflag.txt C³B + (db/) + mob_db.txt C³B + +-------------------- +//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()’ljÁB + @=ƒMƒ‹ƒhID + @ŠY“–ƒMƒ‹ƒh‚̃}ƒXƒ^[‚ÌcharID‚ð•Ô‚µ‚Ü‚·B + + (map/) + guild.c + guild_mapname2gc() ’ljÁB + battle.c + battle_calc_damage() C³B + script.c + buildin_getcharid() C³B + buildin_getguildmasterid() ’ljÁB + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾‚̈ꕔ‚ðC³A’ljÁB + guild.h C³B + +-------------------- +//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³ + + (char/) + inter.c + wisŠÖŒW‘å••ÏX + (map/) + intif.c + wisŠÖŒW‚ÌC³BŽå‚ɃpƒPƒbƒgˆ—B + (doc/) + inter_server_packet.txt + ƒpƒPƒbƒg3002,3801‚ð•ÏX + +-------------------- +//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) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + mob_skill_db.txt C³B + (map/) + mob.c + mobskill_use_id()Amobskill_use()Amobskill_castend_id() C³B + pc.c + pc_skill()Apc_attack_timer() C³B + skill.c + skill_castend_damage_id() C³B + battle.h C³B + battle.c + battle_weapon_attack()Abattle_config_read() C³B + +-------------------- +//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 + + (map/) + mob.c / mob.h + mob_getfriend*()’ljÁAmobskill_use()C³‚È‚Ç + (db/) + mob_skill_db.txt + ʼn‚Ìà–¾‚Ì‚ÝC³Bƒf[ƒ^‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB + +-------------------- +//0861 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------------- +//0860 by J + +EŽ€_‚³‚ñ‚̎艺¢Š«‚ÌC³‚ɇ‚킹‚ÄMOBƒXƒLƒ‹DB‚ðC³ +(/conf) + mob_skill_db.txt C³B + +-------------------- +//0859 by Ž‚Žqo^.^o +Alchemist warp C³(AegisŽQl) +(/conf) + (/warp) + npc_warp_job.txt C³ + +-------------------- +//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 + (db/) + skill_db.txt C³B + mob_skill_db.txt C³B + (map/) + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + map.h C³B + mob.h C³B + mob.c + mob_readskilldb()Amob_summonslave()Amob_class_change() C³B + +-------------------- +//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 + (/conf) + mob_skill_db.txt + +-------------------- +//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‚Ä‚­‚é‚©‚à... + (conf/) + battle_athena.conf C³B + mapflag.txt C³B(•’ʂ̃_ƒ“ƒWƒ‡ƒ“‚ªƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚¸‚ª‚È‚¢‚Ì‚Å) + (conf/npc/) + npc_town_kafra.txt C³B + (db/) + skill_db.txt C³B + (doc/) + conf_ref.txt C³B + script_ref.txt C³B + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() C³B + 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 + skill.c + skill_unitsetting()Askill_castend_damage_id() C³B + skill_castend_nodamage_id() C³B + mob.c + mob_attack() C³B + pet.c + pet_attack() C³B + clif.c + mob_class_change() C³B + +-------------------- +//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 + (/map) + clif.c + mob_class_change() C³B + +-------------------- +//0854 by Kalen + +E•s‘«‚µ‚Ä‚¢‚½ˆêŽŸE“]EƒNƒGƒXƒg’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤WarpAMobC³) + (/conf) + (/npc) + npc_job_archer.txt + npc_job_swordman.txt + npc_job_thief.txt(‘䎌C³A“_”ˆ—•ÏX) + npc_job_magician.txt + (/warp) + npc_warp25.txt(ˆê•”ˆÚ“®) + npc_warp.txt(ˆê•”ˆÚ“®) + npc_warp_job.txt(VÝ) + (/mob) + npc_mob_job.txt +E—Õ‚èQuest’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤NPCC³BƒAƒ}ƒcs‚«‘D‚Å—¿‹à‚ðŽæ‚ç‚È‚©‚Á‚½–â‘èC³ + (/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 + (db/) + skill_db.txt C³B + (doc/) + script_ref.txt ’ljÁB + (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 + skill.c + castend_damage_id()Acastend_nodamage_id()Askill_use_pos() C³B + clif.c + clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() C³B + mob.c + mobskill_castend_id()Amobskill_castend_pos() C³B + mobskill_use_id()Amobskill_use_pos() C³B + +-------------------- +//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 + (map/) + npc.c + npc_parse_mapflag() C³B + (conf/) + mapflag.txt C³B + npc/npc_pvp.txt C³B + +-------------------- +//0851 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚̈Ɖ»key‚ªí‚É“¯‚¶‚Æ‚¢‚¤‘å‚«‚È–â‘肪‚ ‚Á‚½‚Ì‚ÅC³ +EƒƒOƒCƒ“ŠÇ—ŽÒƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚̈Ɖ»‚ɑΉž + (login/) + login.c + login_session_dataì¬AˆÃ†‰»key‚ðƒNƒ‰ƒCƒAƒ“ƒg‚²‚Æ‚Éì¬‚È‚Ç + (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 + (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[ƒ‹–³Ž‹‚©‚à) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + mob.c + mob_damage() C³B + clif.h C³B + clif.c + clif_skill_estimation()Aclif_damage()Aclif_skill_damage() C³B + clif_skill_damage2()Aclif_pet_performance() C³B + pet.c + pet_performance()Apet_target_check()Apet_hungry() C³B + skill.h C³B + 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 + 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 + +-------------------- +//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 + +-------------------- +//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) + (map/) + map.h C³B + mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’ljÁB + mob.h C³B + 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 + skill.c + skill_castend_damage_id() C³B + skill_castend_pos2() C³B + +-------------------- +//0847 by Ž€_ + +E˜I“XƒoƒOC³B + (map/) + clif.c + clif_vendinglist()Aclif_openvending() C³B + vending.c + vending_openvending() C³B + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//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 + (map/) + battle.c + battle_calc_pet_weapon_attack()Abattle_weapon_attack() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + pc.c + pc_allskillup() C³B + clif.h C³B + clif.c + clif_openvending()Ado_init_clif() C³B + clif_clearchar_delay()Aclif_clearchar_delay_sub() ’ljÁB + mob.c + mob_damage() C³B + +-------------------- +//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 + (map/) + clif.c + clif_pet0078()Aclif_pet007b()Aclif_spawnpet()C³B + battle.hC³B + battle.c + battle_config_read()Abattle_calc_mob_weapon_attack()C³B + +-------------------- +//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 + (map/) + clif.c + clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()C³B + mob.hC³B + 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 + +-------------------- +//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 + (db/) + item_db.txt C³B + skill_db.txt C³B + cast_db.txt C³B + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + 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 + pc.c + pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() C³B + pc_unequipitem()Apc_checkallowskill() C³B + 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 + 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 + +-------------------- +//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 + (doc/) + item_bonus.txt C³B + (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 + 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 + mob.c + mobskill_castend_id() C³B + pc.c + pc_calcstatus()Apc_bonus2()Apc_attack_timer() C³B + clif.c + clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() C³B + clif_parse_ActionRequest() C³B + +-------------------- +//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Á) + conf/map_athena.conf + +-------------------- +//0839 by shuto + +EƒRƒ“ƒƒ“NPC’ljÁ(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚ª”²‚¯‚Ä‚½) + +-------------------- +//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 + (db/) + skill_db.txt C³B + (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 + battle.c + battle_calc_magic_attack() C³B + +-------------------- +//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 + (db/) + skill_db.txt C³B + (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 + battle.c + battle_calc_magic_attack()Abattle_weapon_attack() C³B + +-------------------- +//0836 by Žß‘¸ + +Eƒ‚ƒ“ƒXƒ^[‚ÌŽæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚𒆃{ƒXˆÈŠOŠ®‘SC³B + (db/) + mob_skill_db.txt C³B + +-------------------- +//0835 by (“Ê) + +E”’nŽæ‚è‚Ń|[ƒY‚ð‚Æ‚é‚悤‚É‚µ‚½B +(ƒ|[ƒY‚¾‚¯‚È‚Ì‚ÅAŽÀÛ‚ÉUŒ‚‚ðŽó‚¯Ž~‚ß‚½‚è‚Í‚Å‚«‚Ü‚¹‚ñ) +clif_bladestop()‚ðŒÄ‚Ô‚±‚Æ‚Å”’nŽæ‚èó‘Ô‚ÌONAOFF‚̃pƒPƒbƒg‚ª‘—‚ê‚Ü‚·B + + (map/) + clif.h C³B + clif,c + clif_bladestop() ’ljÁ + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//0834 by Žß‘¸ + +Eƒ‚ƒ“ƒXƒ^[Žæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚ª’Z‚·‚¬‚é‚Æ‚ÌŽ–‚ʼnž‹}ˆ’uB(¡‰ñ‚͉©‹à峂̂Ý) + (db/) + mob_skill_db.txt C³B + +-------------------- +//0833 by (“Ê) + +Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ÌC³B +E‚‚¢‚Å‚Éitem_db‚ðXVB + + (doc/) + client_packet.txt + R 0189 XVB + (db/) + item_db.txt ÅV”Å‚ÖXVB + (map/) + pc.c + pc_memo() C³B + +-------------------- +//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 + (db/) + skill_require_db.txt C³B + cast_db.txt C³B + (map/) + map.h C³B + path.c + calc_index()Apath_search() C³B + 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 + pc.c + pc_calcstatus()Apc_skill()Apc_allskillup() C³B + battle.c + battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() C³B + battle_weapon_attack() C³B + +-------------------- +//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 + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + item_bonus.txt C³B + (conf/) + battle_athana.conf C³B + (db/) + item_db.txt C³B + (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 + 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 + 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 + clif.c + clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() C³B + clif_skill_memo() C³B + clif_skill_teleportmessage() ’ljÁB + script.c + buildin_sc_start() C³B + atcommnad.c + atcommand() C³B + +-------------------- +//0830 by huge + +EƒI[ƒgƒXƒyƒ‹‚ÅAŽ©•ª‚ÌK“¾‚µ‚Ă郌ƒxƒ‹‚æ‚è‚à‚‚¢ƒŒƒxƒ‹‚Å + –‚–@‚ª”­“®‚µ‚Ä‚¢‚½‚Å‚ ‚낤–â‘è‚ðC³B +EƒI[ƒgƒXƒyƒ‹‚Å‚àA‚¿‚á‚ñ‚ÆSP‚ªŒ¸‚é‚悤‚ÉC³(‚Ç–Y‚ê) + (map/) + battle.c + battle_weapon_attack() C³B + skill.c + skill_autospell() C³B + +-------------------- +//0829 by Kalen + +Emob_dbC³ + Ž©ŽI—p‚Ì‚ÆŠÔˆá‚Á‚ÄUP‚µ‚Ä‚µ‚Ü‚Á‚½‚悤‚Å‚·B + –{—ˆ‚Ì‚à‚Ì‚É’¼‚µ‚Ü‚µ‚½B + +-------------------- +//0828 by ¹ + +EƒT[ƒo‚ÌSnapshot +EMVPƒ{ƒXŒn‚©‚çƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚ª‘å—Ê‚Éo‚Ä‚¢‚½–â‘è‚ðC³B + (common/) + version.h C³B + (db/) + mob_db.txt C³B + +-------------------- +//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 + (db/) + mob_db.txt C³B + mob_skill_db.txt C³B + +-------------------- +//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 + (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 + (db/) + mob_db.txt C³B + +-------------------- +//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 + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (conf/) + battle_athana.conf C³B + atcommnad_athena.conf C³B + (db/) + item_db.txt C³B + skill_db.txt C³B + (login/) + parse_fromchar() C³B + (map/) + map.h C³B + 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 + mob.c + mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() C³B + mob_stop_walking()Amob_walk()Amob_damage() C³B + pc.c + pc_calcstatus()Apc_checkskill()Apc_stop_walking() C³B + pc_walk()Apc_damage() C³B + npc.c + npc_touch_areanpc() C³B + pet.c + pet_stop_walking() C³B + script.c + buildin_killmonster()Abuildin_killmonster_sub() C³B + 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 + +-------------------- +//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 ,"‚Æ‹Lq‚µ‚Ä +@ŠY“–eventname‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð휂µ‚Ü‚·‚ª +@eventname‚ÉAll‚Æ“ü‚ê‚é‚ÆŠY“–MAP‚Ì‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + + (map/) + skill.c + skill_check_unit_range_sub()Askill_castend_nodamage_id() C³B + script.c + buildin_killmonster()Abuildin_killmonster_sub() C³B + (conf/npc/) + npc_event_tougijou.txt C³B + +-------------------- +//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 + Œ´ˆö•ª‚©‚é•û‚¨Šè‚¢‚µ‚Ü‚·<(_ _)> + +Egon_test‚Ìmapflag’ljÁ + 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‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½« + +-------------------- +//0822 by ‚Ò‚´‚Ü‚ñ + +E‰‰‘tƒXƒLƒ‹‚ł̕Ⳃðƒ_ƒ“ƒT[‚É‚à“K—pB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOC³B +EKalen‚³‚ñ‚ÌMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚Ü‚Æ‚ß‚Æ‚«‚Ü‚µ‚½B + + (map/) + skill.c + skill_status_change_start()Askill_unit_onplace() C³B + battle.c + battle_get_critical()Abattle_get_hit() C³B + pc.c + pc_calcstatus() C³B + +-------------------- +//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; + + (db/) + const.txt C³B + (map/) + battle.c + battle_weapon_attack() C³B + 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 + 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 + +-------------------- +//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Á‚µ‚Ü‚µ‚½ + (map/) + map.h C³B + skill.c + skill_status_change_start()Askill_castend_nodamage_id() C³B + skill_castfix()Askill_delayfix() C³B + 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 + pc.c + pc_calcstatus() C³B + +-------------------- +//0819 by Kalen + +EƒRƒ“ƒƒ“(NPCAWarp)C³ + conf/npc/npc_town_gonryun.txt(ˆÄ“àˆõ•â[) + conf/npc/npc_event_tougijou.txt + conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚È‚Ç) + +EMOBC³ + conf/mob/npc_monster30.txt(ˆê”½–Ø–È•s‘«’ljÁ) + conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’ljÁ) + +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•ª) + +-------------------- +//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 + + (conf/) + msg_athena.conf C³B + (map/) + atcommand.c + atcommand() C³B + pc.c + pc_allskillup() C³B + skill.c + skill_castend_nodamage_id() C³B + skill_check_condition() C³B + +-------------------- +//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 + + (map/) + battle.c + battle_damage() C³B + clif.c + clif_devotion() C³B + pc.c + pc_walk() C³B + skill.c + skill.h + skill_castend_nodamage_id() C³B + skill_devotion() skill_devotion2() C³B + skill_devotion3()skill_devotion_end() C³B + +-------------------- +//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 + (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 + (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 + (common/) + socket.c + connect_client()Amake_listen_port()Amake_connection() C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + 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 + clif.c + clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() C³B + pc.c + pc_attack_timer()Apc_isUseitem()Apc_checkitem C³B + 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 + 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 + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (db/) + skill_db.txt + (map/) + map.h C³B + script.c + buildin_itemskill() C³B + mob.c + mob_can_move()Amob_ai_sub_hard()Amob_damage() C³B + 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 + 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 + pc.c + pc_steal_item() C³B + clif.c + clif_parse_WalkToXY()Aclif_closevendingboard() C³B + +-------------------- +//0813 by Kalen +EƒRƒ“ƒƒ“NPC’ljÁ + conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–¾ + conf/npc/npc_town_kafra.txt + conf/npc/npc_town_guide.txt + (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘« + +E‘SGvGMAP‚ÌMobƒf[ƒ^’ljÁ + conf/mob/npc_monster_gvg.txt + +ETESTmob‚©‚çƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“® + 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 + battle.c + battle_damage() C³B + map.h + map_session_data{} + struct square dev ’ljÁB + skill.h ‚Ìbrandish‚ðsquare‚ɉü–¼‚µA + (common/) mmo.h ‚Ɉړ® + +-------------------- +//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 + + (map/) + skill.c + skill_frostjoke_scream() ’ljÁB + skill_additional_effect()Askill_timerskill() C³B + skill_castend_nodamage_id() C³B + pc.c + pc_isUseitem() C³B + script.c + buildin_getpartyname()Abuildin_getguildname() C³B + buildin_getguildmaster() C³B + (db/) + cast_db.txt C³B + (conf/gvg/) + ev_*.txtˆÈŠO‚Ìtxt‘S‚Ä‚ðC³B + +-------------------- +//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 + (common/) + version.h C³B + (login/) + login.c + parse_login() C³B + parse_fromchar() C³B + (char/) + int_guild.c + mapif_parse_GuildLeave() C³B + (map/) + itemdb.c + itemdb_read_itemnametable() C³B + atcommand.c + atcommand() C³B + skill.c + skill_unit_timer_sub() C³B + script.c + buildin_itemskill() C³B + mob.c + mob_damage() C³B + +-------------------- +//0809 by Kalen + +E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgC³ +EƒAƒ}ƒcŽõŽi‰®C³ +EƒoƒOƒXƒŒ129‚Ì–â‘èC³H + + +-------------------- +//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‚É‚È‚è‚Ü‚· + + (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 + (map/) + pc.c + pc_checkitem() C³B + script.c + buildin_maprespawnguildid_sub() C³B + buildin_maprespawnguildid() C³B + +-------------------- +//0807 by Ž€_ + +E0805‚ÅFD_SETSIZE‚ðC³‚·‚銂ðŠÔˆá‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B56–¼Ž~‚܂肪Ž¡‚é‚ÆŒ¾‚¤•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñ‚ª... +Eˆê“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ì’·‚³‚ð32768bytes‚©‚ç65536bytes‚É•ÏXB + (common/) + mmo.h C³B + socket.h C³B + socket.c C³B + +-------------------- +//0806 by Kalen + +EagitƒtƒHƒ‹ƒ_¨gvgƒtƒHƒ‹ƒ_‚ÖˆÚs + ”ˆÓŒ©‚ ‚é‚ÆŽv‚¢‚Ü‚·‚ªAjRO‚Å‚ÍUéí‚ðgvg‚ƌĂԂ±‚Æ‚ªˆê”Ê“I‚È‚Ì‚Å‚±‚¿‚ç‚É“‡‚µ‚Ü‚·B + conf/gvg/ + ###agitƒtƒHƒ‹ƒ_‚ð휂µ‚Ä‚­‚¾‚³‚¢###@(Please delete the "agit" folder.) + getmaster‘Ήž + +EƒAƒ}ƒc‚ÌŽõŽi‰®ƒoƒOC³‚Æ€–ڒljÁ(thx 114 + conf/npc/npc_town_amatsu.txt + +Emap_flagÄC³ + 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 + +Œã‘O‰ñ‘‚«–Y‚ê‚Ü‚µ‚½‚ªAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ªA‚¿‚å‚Á‚Æ•sˆÀ’è‚ȉ”\«‚ª‚ ‚è‚Ü‚·B +Œ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªAƒ‹[ƒv‚µ‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBˆê‰žƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚· + +-------------------- +//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 + (conf/) + atcommand_athena.conf + battle_athena.conf + mapflag.txt + (db/) + castle_db.txt + (doc/) + conf_ref.txt + (common/) + mmo.h + (login/) + login.c + (char/) + inter.c + int_guild.c + (map/) + atcommand.h + atcommand.c + battle.h + battle.c + chrif.c + guild.h + guild.c + intif.h + intif.c + map.h + map.c + mob.c + npc.c + npc.h + script.c + skill.c + pc.c + makefile + +-------------------- +//0804 by Žß‘¸ + +EƒAƒ‹ƒxƒ‹ƒ^‚Ì‚Ê‚¢‚®‚é‚݃Cƒxƒ“ƒg‚Å‚¤‚³‚¬‚Ì‚Ê‚¢‚®‚é‚Ý‚ð‚ ‚°‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ + + (conf/npc/) + npc_event_doll.txt C³B + +-------------------- +//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) + + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt C³B + agit/ev_agit_prtgJ.txt C³B + help.txt C³B + (map/) + int_guild.c + inter_guild_init() C³B + +-------------------- +//0802 by Michael_Huang + + Added NPC Script - 'GetGuildMaster' Command. + (common/) + version.h + Mod_Version 0802 + (map/) + script.c + buildin_getguildmaster_sub() buildin_getguildmaster() + +-------------------- +//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‚ɑΉž + +-------------------- +//0800 by Michael_Huang + + Added Agit NPC Script & Command. + Fix FreeBSD GCC compatibility. + Attachment Agit Demo NPCs. + + (char/) + int_guild.c + mapif_guild_castle_dataload() mapif_guild_castle_datasave() + int mapif_parse_GuildCastleDataLoad() int mapif_parse_GuildCastleDataSave() + inter_guild_parse_frommap() inter_guildcastle_tostr() inter_guildcastle_fromstr() + inter.c + inter_send_packet_length[] inter_recv_packet_length[] + (common/) + mmo.h + GLOBAL_REG_NUM, struct global_reg {} + version.h + Mod_Version 0799. + (conf/) + atcommand_athena.conf + agitstart: 1,agitend: 1 + battle_athena.conf + agit_eliminate_time: 7000 + map_athena.conf + conf/agit/ev_agit_*.txt + (doc/) + conf_ref.txt + battle_athena.cnf + agitdb_ref.txt + (login/) + login.c + parse_login() + (map/) + atcommand.h + agitster, agitend + + atcommand.c + @agitstart, @agitend + battle.h + battle_config.agit_eliminate_time + battle.c + battle_config_read() + chrif.c + chrif_changedsex() chrif_connectack() + guild.h + guild_agit_start() guild_agit_end() guild_agit_break() + guild.c + guild_read_castledb() do_init_guild() + guild_agit_start() guild_agit_end() guild_agit_eliminate_timer() guild_agit_break() + intif.h + intif_guild_castle_dataload() intif_guild_castle_datasave() + intif.c + packet_len_table[] intif_guild_castle_dataload() intif_guild_castle_datasave() + intif_parse_GuildCastleDataLoad() intif_parse_GuildCastleDataSave() intif_parse() + map.h + agit_flag + map.c + agit_flag + npc.h + npc_event_doall() npc_event_do() + npc.c + npc_event_do_sub() npc_event_do() + script.c + buildin_maprespawnguildid() buildin_agitstart() buildin_agitend() + buildin_getcastlename() buildin_getcastledata() buildin_setcastledata() + skill.c + skill_unit_onplace() + skill_gangster_count() + +-------------------- +//0799 by ‚Ò‚´‚Ü‚ñ + +EGvGŽÀ‘•‚ׂ̈Éinter-mapŠÔ‚Ì’ÊMŽd—l•ÏX +E0798‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[C³(byƒoƒO•ñƒXƒŒ82Ž) + (login/) + login.c + parse_login() C³B + (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 + guild.c + guild_read_castledb() C³B + + (char/) + inter.c + inter_send_packet_length[] C³B + 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 + (common/) + mmo.h C³B + version.h C³B + +-------------------- +//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Æ + + (doc/) + conf_ref.txt + login_athena.cnf‚Ì•”•ªC³ + (login/) + login.c + ƒOƒ[ƒoƒ‹•Ï” access_* ’ljÁ + parse_login()C³,check_ip()’ljÁ + +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‚È‚Ç„§) + + (tool/cgi/) + addaccount.cgi + ƒAƒJƒEƒ“ƒg쬗pCGIB + +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 + (common/) + mmo.h C³B + (conf/) + mapflag.txt C³B + battle_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (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 + pc.c + pc_takeitem()Apc_dropitem()Apc_equipitem() C³B + pc_calcstatus()Apc_bonus() C³B + 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 + map.c + map_addflooritem() C³B + script.c + buildin_getitem() C³B + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B + battle.h C³B + 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 + +-------------------- +//0796 by huge + +Eׂ©‚¢C³ + (conf/npc/) + npc_event_valentine.txt C³B + + (map/) + pc.c + pc_takeitem() C³B + skill.c + skill_unit_timer_sub() C³B + +-------------------- +//0795 by Kalen + +EŽG’k341‚Ìnpc_warp_niflheim.txt’ljÁ + conf/warp/npc_warp_niflheim.txt + +Emapflag.txtC³(GVGMAPÝ’è) + @nosave‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñ + +Emap_athena.conf‚ÌC³ + @umbala niflheim“™‚̒ljÁ + @ƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚·B + +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 + +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‚É‚Ç‚¤‚¼ + +-------------------- +//0794 by DRG + +Eskillused‚ÅŽw’肵‚½IW,QM‚È‚Ç‚É‚Ì‚Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚é‚悤‚É•ÏX +EƒAƒbƒvƒXƒŒ‚R‚Ì7‚Ìathena-start‚ðˆê‰žŠÜ‚ß‚Æ‚«‚Ü‚µ‚½ + + athena-start + (map/) + skill.c + skill_unit_onplace() C³B + +-------------------- +//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 + (login/) + login.c + parse_login() C³B + (conf/npc/) + npc_event_doll.txt C³B + (map/) + skill.c + skill_unit_timer_sub() C³B + mob.c + mob_spawn_dataset() C³B + mob_damage() C³B + pc.c + pc_additem() C³B + +-------------------- +//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 + (map/) + guild.c + mob.c + pc.c + skill.c + +-------------------- +//0790 by Ž€_ + +EƒoƒOC³B + (conf/) + battle_athena.conf ŒëŽšC³B + (doc/) + conf_ref.txt ŒëŽšC³B + (common/) + mmo.h C³B + (map/) + itemdb.h C³B + map.h C³B + skill.c + skill_check_condition()Askill_use_pos()Askill_unit_onplace() C³B + +-------------------- +//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 + + (/doc) + conf_doc.txt à–¾’ljÁB + + (/map) + battle.h + Battle_Config{} C³B + battle.c + battle_config_read() C³B + itemdb.h + item_data {} C³B + map.h + flooritem_data {} C³B + mob_data {} C³B + map.c + map_addflooritem() C³B + 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 + pc.c + pc_takeitem() C³B + +-------------------- +//0788 by ‚ ‚ä‚Ý + +EcardƒXƒLƒ‹‚̈—H‚ðC³B +E@allskillƒRƒ}ƒ“ƒh‚ÌÄC³B + + (map/) + pc.c + pc_skill() C³B + pc_allskillup() C³B + +-------------------- +//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 + (/map) + clif.c + clif_pet0078()Aclif_pet007b()C³B + mob.c + mobskill_use()C³B + skill.c + skill_attack() Askill_castend_damage_id()C³B + battle.h + battle.c + battle_config_read()C³B + +-------------------- +//0786 by huge + +EBDSC³ + ‘O‚©‚ç‚«”ò‚΂µ‚Äs‚­‚Æ—Ç‚­‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚Ì‚ÅAŒã‚ë‚©‚爗 + —LŒø”͈͂ÌC³ + + (/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 + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + cast_db.txt C³B + (map/) + atcommand.c C³B + 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 + 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 + 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 + 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 + map.c + map_quit() C³B + +-------------------- +//0784 by ‚ ‚ä‚Ý + +EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚éó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚é‚Æmap-server‚ª–\‘–‚·‚é–â‘è‚ðC³B + + (map/) + pc.c + pc_allskillup() C³B + +-------------------- +//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 ‚Å•ñ‚³‚ꂽ‚à‚Ì‚ÌŽæ‚èž‚Ý + + (/db) + create_arrow.txt C³B + skill_db.txt C³B + + (/map) + battle.c + battle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack() C³B + + 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 + +-------------------- +//0782 by ‚Ò‚´‚Ü‚ñ +E@allskillƒRƒ}ƒ“ƒh‚ÌŽg—pðŒ‚ªŽQÆ‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ƒoƒOC³ + (/map) + atcommand.c + atcommand() C³B + +-------------------- +//0781 by Chunglyeng +Eƒoƒh, ƒ_ƒ“ƒT[‰¹Šy‹ïŒ» + (/map) + skill.c C³B + +-------------------- +//0780 by reia +EƒyƒRƒyƒR‚Ì—‘‚È‚Ç‚ª›z‰»‚·‚é‚ƃmƒr‚É‚È‚Á‚Ä‚µ‚Ü‚¤–â‘èC³B +EGMƒRƒ}ƒ“ƒhu@kickallv‚ª‰½Žž‚ÌŠÔ‚É‚©–³Œø‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B + + (/conf) + atcommand_athena.conf C³B + (db/) + mob_skill_db.txt C³B + (map/) + atcommand.c + atcommand_config_read() C³B + +-------------------- +//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ƒ‹ŠÜ‚Þ) + + (conf/) + battle_athena.conf C³B + help.txt C³B + (map/) + atcommand.h C³B + atcommand.c + atcommand() C³B + pc.h C³B + pc.c + pc_allskillup() ’ljÁB + (doc/) + conf_ref.txt C³B + help.txt C³B + +-------------------- +//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 + + (map/) + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//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 + (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.c + inter_config_read() C³B + inter_send_packet_length[]Ainter_recv_packet_length[] C³B + int_guild.h C³B + (map/) + atcommand.c + atcommand()Aatcommand_config_read() C³B + battle.c + battle_config_read() C³B + 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 + 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 + 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 + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + inter_athena.conf C³B + msg_athena.conf C³B + atcommand_athena.conf C³B + (db/) + castle_db.txt ’ljÁB +-------------------- +//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 + (db/) + mob_skill_db.txt C³B + skill_db.txt C³B + (map/) + map.h C³B + mob.h C³B + mob.c + mob_spawn_dataset()Amob_spawn() C³B + mob_changestate()Amobskill_use() C³B + mob_class_change() ’ljÁB + npc.c + npc_parse_mob() C³B + battle.c + battle_check_target() C³B + clif.h C³B + clif.c + clif_mob_class_change() ’ljÁB + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//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) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + 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 + 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 + map.c + map_quit() C³B + 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 + skill.c + skill_castend_damage_id()Askill_attack() C³B + skill_castend_id()Askill_castend_pos()Askill_castend_map() C³B + +-------------------- +//0774 by Ž‚Žqo^.^o +EMonk job bouns C³ +EƒhƒPƒr C³ +(db/) + job_db2.txt C³ + pet_db.txt C³ + +-------------------- +//0773 by ¹ + +Eׂ©‚¢ƒoƒOC³ + (map/) + skill.c C³B + battle.c C³B + +-------------------- +//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‚ÅÝ’è‚Å‚«‚Ü‚· + +EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ñ”ð‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ + + (map/) + skill.c + skill_attack()Askill_unit_onplace()Askill_check_condition() C³B + 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 + map.c + map_quit() C³ + battle.c + battle_config_read()Abattle_weapon_attack() C³B + battle.h C³B + pc.h C³B + +-------------------- +//0771 by huge + +EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽÀ‘• + (map/) + skill.c + skill_castend_nodamage_id() C³B + (db/) + skill_db.txt C³B + +-------------------- +//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 + +-------------------- +//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 + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + produce_db.txt C³B + (map/) + battle.h C³B + 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 + 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 + pc.c + pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() C³B + pc_damage() C³B + mob.c + mob_damage()Amobskill_use_id()Amobskill_use_pos() C³B + script.c + buildin_viewpoint()Abuildin_emotion() C³B + makefile C³B + +-------------------- +//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/) + skill.c + skill_castend_damage_id()Askill_castend_id() C³ + skill_check_condition() C³ + pc.c + pc_damage() C³ + battle.c + battle_weapon_attack() C³ + +-------------------- +//0767 by huge + +Eƒtƒ@[ƒ}ƒV[‚ÅA»‘¢‚Ì‘‚ªŒ¸‚é–â‘è‚ðC³ +E•Ší»‘¢DB‚ÅA‚¢‚­‚‚©”²‚¯‚Ä‚¢‚½‚Ì‚ðC³ + + (map/) + skill.c C³B + (db/) + produce_db.txt C³B + +-------------------- +//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‚³‚ê‚Ü‚· + (map/) + battle.c + #include "guild.h" ’ljÁ + battle_calc_damage()Abattle_calc_weapon_attack() C³ + +-------------------- +//0765 by ‚Ò‚´‚Ü‚ñ + +E‘•”õ§ŒÀŽÀ‘• +E‘•”õ§ŒÀ‚ª‚©‚©‚Á‚½‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚Ɉړ®‚µ‚½Û‚ÉŽ©“®“I‚É‘•”õ‚ªŠO‚êA +@Ä‘•”õ‚à‚Å‚«‚È‚­‚È‚è‚Ü‚· +E§ŒÀ‚Å‚«‚é‚Ì‚Í‘•”õ•i‚Ì‚Ý‚Å‚·BƒJ[ƒh—ނͧŒÀ‚Å‚«‚Ü‚¹‚ñ + (db/) + item_noequip.txt ’ljÁ + (map/) + itemdb.h C³ + itemdb.c + do_init_itemdb()Aitemdb_search() C³ + itemdb_read_noequip ’ljÁ + pc.c + pc_checkitem()Apc_isequip() C³ + +-------------------- +//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 + (db/) + mob_db.txt C³B + skill_db.txt C³B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (conf/) + battle_athena.conf C³B + (map/) + makefile C³B + battle.h C³B + 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 + mob.c + mobskill_castend_pos()Amob_damage() C³B + 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 + map.c + do_init() C³B + pc.c + pc_calc_skilltree()Apc_calcstatus() C³B + tarde.c + trade_tradeack() C³B + +-------------------- +//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 + +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 + help.txt/motd.txt + confƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt + saveƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + tool/backup + ƒpƒXC³ + +Emotd.txt/help.txt‚̃pƒX‚ðmap_athena.cnf‚ÅŽw’è‚Å‚«‚é‚悤‚É + map.h/map.c/atcommand.c/atcommand.hC³ + +Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’ljÁ + ./athena-start restart‚ÅAthena‚ðÄ‹N“®‚µ‚Ü‚· + +-------------- +//0761 by ‚Û‚Û‚Û + +EMOB‚ÌMDEF‚É10000ˆÈãŽw’肵‚Ä‚àƒtƒ@ƒCƒAƒsƒ‰[‚Å•’ʂɃ_ƒ[ƒW‚ð—^‚¦‚Ä‚µ‚Ü‚¤‚Ì‚ðC³B + (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³ +(db/) + cast_db.txt C³ + skill_tree.txt C³ + +-------------- +//0758 by hack +EPut GM messages into msg_table which is loaded from msg_athena.conf. +(Easy to translate into other language) + (map/) + atcommand.h + atcommand.c + msg_conf_read() Read conf/msg_athena.conf + Put messages into msg_table which is loaded from msg_athena.conf. + map.c + do_init() + (conf/) + msg_athena.conf Store the message of atcommand, easy to translate into other language. + +-------------- +//0757 by Michael + (map/) + script.c + buildin_viewpoint() + Fix packet sequence of viewpoint command. + +-------------- +//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 + (common/) + socket.h C³B + +-------------- +//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 + (doc/) + db_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + skill.h C³B + 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 + mob.c + mobskill_castend_id()Amobskill_castend_pos() C³B + pc.c + pc_calcstatus() C³B + battle.c + battle_calc_pc_weapon_attack() + battle_calc_mob_weapon_attack() + battle_calc_magic_attack() + +-------------- +//0754 by Ž‚Žqo^.^o +(db/) + cast_db.txt C³ + +-------------- +//0753 by ¹ + +EIW‚Ì”­¶ƒ|ƒCƒ“ƒg‚ðŽw’è‚·‚é‚ƃƒeƒI‚̃GƒtƒFƒNƒg‚ªˆêØo‚È‚­‚È‚é +@–â‘肪•œŠˆ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B +Ewarning‚ðo‚È‚¢‚悤‚ɃR[ƒhC³B + (map/) + skill.c + skill_castend_pos2() C³B + chrif.h + +-------------- +//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 + (map/) + chrif.c + packet_len_table[]Achrif_parse()C³ + chrif_changesex()Achrif_changedsex()’ljÁ + chrif.h C³ + (char/) + char.c + parse_frommap()Aparse_tologin()C³ + (login/) + login.c + parse_fromchar()C³ + (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 + (char/) + int_guild.c C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + skill_db.txt C³B + skill_require_db.txt C³B + cast_db.txt C³B + (map/) + battle.h C³B + 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 + 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 + map.c + map_quit() C³B + +-------------- +//0750 by CHRIS + +EƒXƒLƒ‹ŠÖŒW‚Ì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 + (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 + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + skill_db.txt C³B + cast_db.txt C³B + skill_require_db.txt ’ljÁB + produce_db.txt C³B + (map/) + map.h C³B + 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 + 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 + 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 + 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 + script.c + buildin_sc_start() C³B + path.c + can_move() C³B + pet.c + pet_data_init()Apet_stop_walking() C³B + npc.c + npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() C³B + +-------------- +//0748 by Michael + (map/) + pc.c + pc_walk(); + Fix Player cannot move in ICEWALL but have Path. + mob.c + mob_walk(); + Fix Monster cannot move in ICEWALL but have Path. + path.c + can_move(); + Fix Player&Monster cannot move in ICEWALL. + +-------------- +//0747 by ¹ +Eƒyƒbƒg‚ªƒGƒ‚‚ðo‚·‚Æmap-server‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½–â‘è‚ðC³B + (map/) + clif_parse_SendEmotion() C³B + +-------------- +//0746 by Michael + (map/) + script.c + Add Script command - checkoption(type); + 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‰„ŽžŠÔ‚ð­‚µ’²® + (map/) + skill.c + skill_attack()Askill_additional_effect()C³ + skill_gangsterparadise()Askill_gangster_in()Askill_gangster_out()’ljÁ + clif.c + clif_parse_ActionRequest()C³ + 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³ + (conf/) + npc_pvp.txt C³ + +-------------- +//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 + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (map/) + battle.c + battle.h + clif.c + pc.c + pet.c + skill.c + +-------------- +//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³ + +-------------- +//0742 by ‚Ò‚´‚Ü‚ñ + +EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽÀ‘• +@UŒ‚‚ƃ[ƒv‚Ì•ª•Ê‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½‚Ì‚Å +@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚µ‚Ü‚µ‚½ +Eskill_db‚̌뎚“™‚ðC³ + (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³ + (db/) + skill_db.txt C³ + +-------------------- +//0741 by whitedog + +snapshot + +-------------- +//0740 by ‚Û‚Û‚Û +EPC‚ªMOB‚Ƀ^ƒQ‚ç‚ꂽ‚Æ‚«3•C–Ú‚©‚ç–hŒä‚Ɖñ”ð‚ªŒ¸‚é‚悤‚É‚µ‚½B +@1•C‚ɂ‚«‰ñ”ð‚Í10%A–hŒä‚Í5%Œ¸‚è‚Ü‚·B + (map/) + pc.h + pc.c + pc_counttargeted()Apc_counttargeted_sub()’ljÁ + battle.c + battle_get_flee()Abattle_get_def()Abattle_get_def2()C³B + +-------------- +//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 + (map/) + skill.c + skill_castend_damage_id() C³B + battle.c + battle_calc_misc_attack() C³B + clif.c + clif_getareachar_skillunit() C³B + clif_skill_setunit() C³B + +-------------- +//0738 by ‚Ò‚´‚Ü‚ñ +EƒXƒg[ƒ€ƒKƒXƒg‚ðŠ®‘S‚É–{ŽIŽd—l‚ÉC³(3‰ñ‚Åâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ì“G‚ÍSG‚ð‚­‚ç‚í‚È‚¢) +EƒTƒtƒ‰ƒMƒEƒ€‚ªŽ©•ª‚É‚©‚¯‚ç‚ê‚éƒoƒOC³ + (map/) + skill.c + skill_additional_effect()Askill_attack()C³ + skill_castend_nodamage_id()C³ + map.h C³ + +-------------- +//0737 by ‚Û‚Û‚Û +EƒAƒ“ƒNƒ‹‚ª•à‚¢‚Ä‚¢‚é“G‚ÉŒø‚©‚È‚¢&•¡”‚Ì“G‚ÉŒø‚­‚Ì‚ðC³B + (map/) + skill.c + skill_unit_onplace()Askill_unit_onout()C³ + mob.c + mob_stop_walking()C³ + +-------------- +//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‚Å‚· + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()C³ + skill_status_change_start()C³ + pc.c + pc_damage() C³ + +-------------- +//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 + (conf/) + battle_athena.conf€–ڒljÁ + (doc/) + conf_refC³ + (map/) + battle.h + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() + battle_config_read()C³ + pc.c + pc_checkbaselevelup()Apc_attack_timer()C³ + skill.c + skill_castend_nodamage_id()Askill_status_change_start()C³ + clif.c + clif_parse_WalkToXY()C³ + mob.c + mob_attack()C³ + +-------------- +//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 + (doc/) + conf_ref.txt C³B + (char/) + char.c + mmo_char_sync_timer()Ado_init() C³B + inter.c + inter_init() C³B + inter_save_timer() íœB + (map/) + pc.c + pc_calc_skilltree() C³B + pc_resetskill() C³B + +-------------- +//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 + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + clif.c + clif_skill_estimation()Aclif_parse_Restart() C³B + pc.c + pc_setrestartvalue()Apc_makesavestatus() C³B + pc_read_gm_account()Apc_calc_skilltree() C³B + pc_calc_skillpoint() ’ljÁB + map.c + map_quit() C³B + mob.c + mob_damage() C³B + skill.c + skill_unit_timer_sub()Askill_unit_timer() C³B + battle.h C³B + battle.c + battle_config_read() C³B + +-------------- +//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³ + +-------------- +//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 + (map/) + battle.h + battle.c + battle_config_read()C³ + pc.c + pc_makesavestatus()C³ + script.c + buildin_strcharinfo()C³ + buildin_getcharid()Abuildin_getpartyname()Abuildin_getpartyname_sub() + buildin_getguildname()Abuildin_getguildname_sub()’ljÁ + +-------------- +//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(‚Ü‚½’²®‚·‚é‚©‚à) + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()C³ + skill_status_change_start()C³ + +-------------- +//0729 by DRG + +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªƒJ[ƒg‚È‚µ‚ÅŽg‚¦‚½•s‹ï‡‚ÌC³ +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªJOBLV30‚ÅŠo‚¦‚ꂽ‚Ì‚ðC³ + (conf/) + npc_event_skillget.txt + ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€C³ + (map/) + skill.c + skill_check_condition()C³ + +-------------- +//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³ + (map/) + intif.h + intif.c + intif_guild_memberinfoshort()Aintif_parse_GuildMemberInfoShort() + intif_parse()C³ + guild.h + guild_send_memberinfoshort()Aguild_recv_memberinfoshort()C³ + + +-------------- +//0727 by ¹ + +E•ŠíŒ¤‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Ȃǂ̸˜BNPC‚ª +@³í‚É“®ì‚µ‚È‚¢–â‘è‚ðC³B + + (map/) + pc.c + pc_percentrefinery() C³B + +-------------- +//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 + +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.c + mob_readskilldb()C³ + + +EƒAƒCƒeƒ€–¼/MOB–¼‚ª‘SŠp12•¶Žši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ªA + @ƒRƒ}ƒ“ƒh‚ÅŽæ‚èŠñ‚¹/¢Š«‚Å‚«‚È‚¢–â‘èC³B + mob.c + mobdb_searchname()C³ + 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Æ + + (conf/) + npc_test_ev.txt + “à—e’ljÁ + (map/) + npc.c + FXC³ + +E‚»‚Ì‘¼ + clif.c + ƒRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚ÉC³ + +-------------- +//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 + mob.c + mob_timer()Amob_damage() C³B + +-------------- +//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‚Í‚Æ‚ê‚Ü‚¹‚ñ‚ª... + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + mob.h C³B + mob.c + mob_timer()Amob_deleteslave_sub()Amob_damage() C³B + npc.c + npc_event() C³B + skill.c + skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() C³B + clif.c + clif_parse_GMKick() C³B + battle.h + battle.c + battle_damage()Abattle_check_target()Abattle_config_read() C³B + pc.c + pc_calc_skilltree()Apc_checkskill() C³B + map.h C³B + map.c + map_foreachinarea()Amap_foreachinmovearea() C³B + map_foreachobject() C³B + +-------------- +//0723 by DRG + +E0719‚ÌC³ + (map/) + pc.c pc_calc_skilltree()C³ + +-------------- +//0722 by ƒpƒCƒ“ + +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 + +ƒ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³ + +-------------- +//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 ŒÓ’±—– + +EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ªUŒ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ + EIW‚Éd‚È‚Á‚Ä‚¢‚Ä‚àA—×ډ”\‚È‚çMOB‚ª‹ßŠñ‚Á‚Ä‚«‚Ü‚· + E‚Ç‚ñ‚È’nŒ`‚É‚¢‚Ä‚àA—×Ú‚µ‚Ä‚¢‚é‚È‚çUŒ‚‰Â”\‚É‚È‚è‚Ü‚· + E‚½‚¾‚µAMOB‚ª‰“‹——£UŒ‚‰Â”\‚ÅAUŒ‚”͈͓à‚ÉPC‚ª‚¢‚Ä‚àA + —×Ú•s‰Â”\‚È‚çUŒ‚‚µ‚Ä‚«‚Ü‚¹‚ñB‚±‚ê‚Ì‰ðŒˆ‚Í‚©‚È‚è–Ê“|‚È‚Ì‚ÅB + + mob.c + mob_can_reach()C³ + battle.c + battle_check_range()C³ + +-------------- +//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 + (conf/) + battle_athena.conf + (map/) + battle.c + battle.h + pc.c pc_calc_skilltree(),pc_checkskill()C³ + +-------------- +//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‚ꂽ‚Ì‚Å...) + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + 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 + clif.c + clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() C³B + pc.c + pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() C³B + pc_getzeny() C³B + npc.c + npc_buylist()Anpc_selllist() C³B + pet.c + pet_attack()Apet_randomwalk()Apet_ai_sub_hard() C³B + mob.h C³B + 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³ + (common/) + mmo.h + (map/) + chat.c + chrif.c + clif.c + guild.c + itemdb.c + map.c + mob.c + npc.c + party.c + path.c + pc.c + pet.c + script.c + skill.c + skill.h + +-------------- +//0716 by ¹ + +E¸˜B¬Œ÷—¦‚ɑ΂µ‚ÄBS‚Ì•ŠíŒ¤‹†‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B + (map/) + pc.c + pc_percentrefinery() C³B + +-------------- +//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/) + battle_athena.conf + (map/) + makefile + skill.c + script.c + pet.c + pc.c + path.c + party.c + npc.c + itemdb.c + intif.c + guild.c + chat.c + battle.h + battle.c + chrif.c + atcommand.c + clif.c + mob.c + map.c + +-------------- +//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 + (db/) + refine_db.txt C³B + item_db.txt C³B + (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 + path.c + path_blownpos() C³B + pc.h C³B + pc.c + pc_stop_walking()Apc_damage() C³B + pc_getrefinebonus() ’ljÁB + mob.c + mob_damage() C³B + pet.c + pet_target_check()Apet_stop_walking()Apet_performance() C³B + skill.c + skill_attack()Askill_blown()Askill_status_change_start() C³B + skill_castend_damage_id() C³B + makefile C³B + +-------------- +//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 + (db/) + mob_avail.txt ’ljÁB + (map/) + clif.c + clif_mob0078()Aclif_mob007b() C³B + mob.h C³B + mob.c + mob_readdb_mobavail()Amob_get_viewclass()’ljÁB + do_init_mob()Amob_readdb() C³B + +-------------- +//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 + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + battle.h C³B + 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 + 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 + pc.c + pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() C³B + +-------------- +//0711 by npc + +Ezλ‘¢ƒGƒtƒFƒNƒg‚ÌC³ +EƒXƒNƒŠƒvƒg–„‚ßž‚Ý•Ï”‚ÉHp,MaxHp,Sp,MaxSp‚ð’ljÁ(“Ç‚Ýž‚Ý‚Ì‚Ý) + (map/) + skill.c + skill_produce_mix()C³B + pc.c + pc_readparam()C³B + (db/) + const.txt C³B + +-------------- +//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³ + + (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 + + (map/) + pc.c + pc_authok()C³ + + +-------------- +//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 + (conf/) + npc_town_refine.txtAnpc_town_guide.txt C³B + (map/) + script.c + buildin_emotion() ’ljÁB + +-------------- +//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 + (db/) + cast_db.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + skill.h C³B + 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 + pc.c + pc_calcstatus()Apc_setpos()Apc_damage() C³B + battle.c + battle_calc_damage()Abattle_damage() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + mob.c + mob_damage() C³B + itemdb.c + itemdb_searchrandomid() C³B + +-------------- +//0707 by Ž€_ + +E0705‚̈¢C—…”e–PŒ‚̃oƒOC³B + (db/) + skill_db.txt + (map/) + skill.c + skill_castend_id() + skill_castend_pos() + battle.c + battle_calc_pc_weapon_attack() + clif.c + clif_parse_UseSkillToId() + +-------------- +//0706 by kalen +EC³ + conf/npc_warp_umbala.txt + +-------------- +//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) + (conf/) + battle_athena.conf C³B + (db/) + skill_db.txt C³B + (common/) + mmo.h C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (map/) + battle.h C³B + 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 + 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 + map.c + map_setipport()Amap_addmap() C³B + ‚»‚Ì‘¼”²‚¯‚½Š­‚µ‚ ‚èB + +-------------------- +//0704 by kalen + +EUmbala Warp’ljÁ + conf/npc_warp_umbala.txt + +-------------------- +//0703 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------- +//0702 by ‚Û‚Û‚Û + +Eƒtƒ@[ƒ}ƒV[‚̃GƒtƒFƒNƒg‚ð–{—ˆ‚Ì‚à‚Ì‚É•ÏX +EƒXƒNƒŠƒvƒg‚Å‚Ì–„‚ßž‚Ý•Ï”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’ljÁ + (map/) + skill.c + skill_produce_mix() C³B + pc.c + pc_readparam()Apc_setparam() C³B + (db/) + const.txt C³B + +-------------- +//0701 by ‚Ò‚´‚Ü‚ñ + +EƒXƒe[ƒ^ƒXˆÙí”»•ÊŽ®“±“üBŠeƒXƒe[ƒ^ƒXˆÙí‚Ì”­“®—¦‚ªVIT/INT/MDEF‚ɉe‹¿‚·‚é‚悤‚É‚È‚è‚Ü‚·BŽ‘±ŽžŠÔ’Zk‚Í‚Ü‚½¡“x‚Å_|P|› +E•sŽ€‚É“€Œ‹‚ªŒø‚¢‚½ƒoƒOC³B + (map/) + skill.c + skill_additional_effect()Askill_castend_nodamage_id() C³B + +-------------- +//0700 by “ì + +E697‚̃oƒOC³B +@@@@(db/) + mob_db.txt + +-------------- +//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 + (db/) + item_db.txt + +-------------- +//0698 by Ž€_ + +Eˆê•”‚̃Lƒƒƒ‰‚Éd—Ê‚ª‚O‚É‚È‚Á‚ăJƒvƒ‰‚Ȃlj½‚à‚o‚bC‚m‚b‚o‚ª•\Ž¦‚³‚ê‚È‚­‚È‚éƒoƒOC³B(‚»‚ꂾ‚¯) + (common/) + mmo.h C³B + (map/) + clif.c + clif_updatestatus() C³B + pc.c + pc_calcstatus() C³B + +-------------- +//0697 by “ì + +Emob_dbC³ +@ƒhƒƒbƒv‚ð’†S‚ÉC³B +@@@@(db/) + mob_db.txt + +-------------- +//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 + (map/) + skill.h C³B + 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 + mob.c + mob_stop_walking()Amob_spawn()Amob_warp() C³B + mob_can_move()Amob_changestate() C³B + map.h C³B + pc.c + pc_setpos() C³B + 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 + (conf/) + battle_athena.conf C³B + (db/) + item_db.txt C³B + const.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + (common/) + mmo.h C³B + (char/) + char.c + mmo_char_send006b()Aparse_char() C³B + (map/) + map.h C³B + clif.h C³B + clif.c + clif_initialstatus()Aclif_updatestatus() C³B + pc.h C³B + 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 + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_config_read() C³B + skill.c + skill_additional_effect()Askill_status_change_start() C³B + script.c + buildin_statusup()Abuildin_statusup2() ’ljÁB + atcommnad.c C³B + +-------------- +//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¡‚͉½‚à“ü‚Á‚Ä‚Ü‚¹‚ñ‚ª... + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + pet_db.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + db_ref.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + battle.h C³B + 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 + pc.c + pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() C³B + pc_damage()Apc_autosave_sub() C³B + pet.h C³B + 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 + clif.c + clif_sendegg()Aclif_parse_LoadEndAck() C³B + atcommand.c C³B + makefile C³B + +-------------- +//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 + + (db/) + const.txt + SC_* ‚Ì”’l‚ð•ÏX + (map/) + skill.h + SC_* ‚Ì—ñ‹“‚Ì”’l‚ð•ÏX + map.h + MAX_STATUSCHANGE‚ð128‚©‚ç192‚É‘‚₵‚½ + skill.c + skill_status_change_start(),skill_status_change_end(), + skill_status_change_clear()‚Ì’Ê’mˆ—‚ð•ÏX + +E‰‰‘t/ƒ_ƒ“ƒX‚̈—‚ð•ÏX + ‰‰‘t/ƒ_ƒ“ƒX’†‚©‚Ç‚¤‚©‚ðSC_DANCING‚Å”»’è‚·‚é‚悤‚É•ÏX + i”»’舗‚ª‘½­‚‘¬‰»‚³‚ꂽ‚Í‚¸j + ƒ[ƒv(ƒ}ƒbƒvˆÚ“®‚┈‚È‚Ç)‚·‚é‚Ɖ‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚·‚é‚悤‚É•ÏX + + 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 + pc.c + pc_calcstatus(),pc_setpos(),pc_damage()•ÏX + +E•s‹¦˜a‰¹ƒXƒLƒ‹‚ÌC³ + (db/) + skill_db.txt + •s‹¦˜a‰¹ƒXƒLƒ‹‚ÌHIT”C³ + (map/) + skill.c + skill_status_change_timer()•ÏX + battle.c + battle_calc_misc_attack()C³ + +-------------- +//0692 by ŒÓ’±—– + +EƒAƒhƒŠƒuƒXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢–â‘èC³iskill_db‚Ì“Y•t‚µ–Y‚êj + (db/) + skill_db.txt + ƒAƒhƒŠƒu‚ÌÁ”ïSP‚ð1‚ÉC³ + +Emob_db2.txt‚ª‚ ‚ê‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É + ƒIƒŠƒWƒiƒ‹mob‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + 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 + + (doc/) + coredump_report.txt + +-------------- +//0691 by ŒÓ’±—– + +Eitem_db2.txt‚ª‚ ‚ê‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É + ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + 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‚¢‚Ü‚· + + skill.h + SC_* ‚Ì—ñ‹“•\‚ðC³ + skill.c + skill_check_dancing()’ljÁ + SkillStatusChangeTable[]C³ + 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‚ê‚Ü‚µ‚½ + pc.c + pc_calcstatus(),pc_damage()C³ + +-------------- +//0690 by ”g˜Q + +Eׂ©‚¢C³ + (db/) + item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ìbonus‚ðC³B + (doc/) + item_bonus.txt C³B + +-------------- +//0689 by Ž€_ + +E‘qŒÉƒoƒOC³‚Æׂ©‚¢C³B + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() C³B + storage.c + storage_storageopen() C³B + storage_storage_quit()Astorage_storage_save() C³B + +-------------- +//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 + +-------------- +//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 + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + item_avail.txt C³B + pet_db.txt C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + battle.h C³B + 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 + 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 + skill.c + skill_additional_effect()Askill_unitsetting() C³B + 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 + 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 + storage.c + storage_storage_quitsave() ->storage_storage_quit()‚É•ÏX‚ÆC³B + storage_storageclose() C³B + atcommand.c C³B + pet.c + pet_change_name()Apet_equipitem()Apet_unequipitem() C³B + pet_birth_process()Apet_return_egg() C³B + script.c + buildin_getitem() C³B + mob.c + mob_stop_walking() C³B + makefile C³B + +-------------- +//0686 by ¹ + +Eׂ©‚¢C³B + (map/) + pc.h C³B + +-------------- +//0685 by ”g˜Q + +E0683A0684‚Å‚Ìbonus‚̒ljÁ‚É‚Æ‚à‚È‚Á‚Äitem_db.txt‚ðC³ +E‘¼FXC³ + (db/) + item_db.txt C³B + (doc/) + item_bonus.txt C³B + +-------------- +//0684 by Ž€_ + +Eׂ©‚¢C³B +EŽ€‚ñ‚¾‚Ó‚è‚ÌŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ªŽg‚¦‚È‚¢‚悤‚É•ÏXB +EbInfiniteEndure’ljÁB‹@”\‚Í–³ŒÀƒCƒ“ƒfƒ…ƒAB +Eƒ_ƒ[ƒW•\Ž¦‚̈—­‚µ•ÏXB + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + pc.c + pc_calcstatus() C³B + pc_equipitem()Apc_unequipitem() C³B + 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 + skill.c + skill_status_change_timer() C³B + +-------------- +//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 + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + 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 + pc.c + pc_autosave_sub()Apc_calcstatus() C³B + pc_bonus()Apc_bonus2() C³B + pc_bonus3() ’ljÁB + script.c + buildin_bonus3() ’ljÁB + mob.c + mob_once_spawn()Amob_damage() C³B + storage.h C³B + storage.c + storage_storage_save() ’ljÁ + atcommand.c C³B + +-------------- +//0682 by ¹ + +EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚̃oƒOC³ + (map/) + pc.c + pc_calcstatus() C³B + +-------------- +//0681 by Ž€_ + +E‘•”õƒoƒOC³B + (map/) + pc.c + pc_equipitem() C³B + +-------------- +//0680 by ¹ + +Eׂ©‚¢C³B +Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ÌŽw’è‚Éu-1vAu-2v“™‚ðŽw’è‚·‚é‚Æ +@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚Å¢ŠÒ‚Å‚«‚é‹@”\‚ð’ljÁB + (map/) + mob.c + atcommand.c + +-------------- +//0679 by ”g˜Q + +E0676‚ÅV‚µ‚¢ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅAitem_db.txt‚ðC³(bonus bAddMonsterDropItem,n,x; ‚ÍAŽí‘°”»’肪‚Å‚«‚È‚¢‚Ì‚Å‚Æ‚è‚ ‚¦‚¸•Û—¯‚µ‚Ü‚µ‚½B) +E‘¼FXC³ + (db/) + item_db.txt + job_db1.txt + (doc/) + item_bonus.txt + +-------------- +//0678 by ¹ + +E¢ŠÒŠÖ˜A‚Ìׂ©‚¢C³B + (map/) + mob.c + mob_once_spawn_area() C³B + +-------------- +//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) + (doc/) + item_bonus.txt ŒëŽšC³B + (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³‚µ‚½Š‚ª­‚µ‚ ‚é‚©‚à... + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (db/) + const.txt C³B + (char/) + inter.c + inter_init() C³B + int_storage.c + mapif_parse_SaveStorage() C³B + (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 + 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 + mob.c + mob_damage() C³B + pet.c + pet_target_check() C³B + clif.c + clif_set0078()Aclif_set007b()Aclif_changelook() C³B + atcommand.c C³B + +-------------- +//0675 by ”g˜Q + +EŠØŽI‚Å‘º³‚ÌŒø‰Ê‚ª•ÏX‚³‚ꂽ‚Ì‚Å•ñ‚ðŒ³‚Éitem_db.txt‚ðC³ +Ejob_db1.txt‚ðC³ + (db/) + item_db.txt + job_db1.txt + +-------------- +//0674 by npc + +Eƒtƒ@[ƒ}ƒV[‚̉¼ŽÀ‘•B + (db/) + produce_db.txt + (map/) + skill.c + +-------------- +//0673 by “ì + +EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by “ì + +EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by ¹ + +Eƒ‚ƒ“ƒXƒ^[Œn‚̃oƒOC³(‚·‚Ý‚Ü‚¹‚ñA‚Ü‚¾Žc‚Á‚Ä‚Ü‚µ‚½(^^; ) + (map/) + mob.c + +-------------- +//0671 by ¹ + +EIDƒ`ƒFƒbƒN”͈͂ÌC³‘¼B +E@monster‚Å”‚ðŽw’肵‚È‚­‚Ăࢊ҂ł«‚é‚悤‚ÉC³B + (map/) + atcommand.c + battle.c + battle.h + mob.c + pet.c + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + +-------------- +//0670 by RR + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—¦‚ðC³(–{ŽI€‹’ADB‚Å‚ÌÝ’è+1/10000)B +E—Ž‰º—¦‚O‚Éݒ肵‚½ƒAƒCƒeƒ€‚ð—Ž‚Æ‚·‚©‚Ç‚¤‚©‚ðbattle_athena.conf‚ÅÝ’è‰Â”\‚ÉB + (map/) + mob.c + mob_damage() C³B + battle.c + battle.h + (conf/) + battle_athena.conf + +-------------- +//0669 by ¹ + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ÌC³B + (map/) + mob.c + mob_damage() C³B + +-------------- +//0668 by ¹ + +Eƒ‚ƒ“ƒXƒ^[ID‚͈̔̓`ƒFƒbƒN‚ðC³B + (map/) + mob.c + mob_dbAmob_once_spawn()Amob_once_spawn_area()A + mob_summonslave()Amob_read_randommonster()Amob_readdb() C³B + +-------------- +//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 + (db/) + item_db.txt + 7140A7142‚ðŒ³‚É–ß‚µ‚Ä0666‚Ì•¨‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B + job_db1.txt C³B + refine_db.txt C³B + (map/) + mob.c + mob_once_spawn() C³B + itemdb.c + itemdb_read_randomitem() C³B + pet.c + pet_food() C³B + pc.c + pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() C³B + pc_calc_sigma() ’ljÁB + ‚»‚Ì‘¼C³B + map.h C³B + battle.c + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + atcommand.c C³B + +-------------- +//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‚Í‘‚«Š·‚¦‚Ä‚â‚Á‚Ä‚­‚¾‚³‚¢(^^; + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (map/) + mob.h + mob_db C³B + mob.c + mob_once_spawn()Amob_makedummymobdb()Amob_readdb() C³B + mob_readbranch() -> mob_read_randommonster()‚É•ÏXB + battle.h + battle_config C³B + battle.c + battle_config_read() C³B + itemdb.c + itemdb_read_randomitem() C³B + (db/) + item_db.txt + item_bluebox.txt + item_cardalbum.txt + item_giftbox.txt + item_scroll.txt + item_violetbox.txt + mob_branch.txt + mob_poring.txt ’ljÁB + mob_boss.txt ’ljÁB + +-------------- +//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 ¹ + +E¸˜BŽ¸”sŽž‘¼‚̃vƒŒ[ƒ„[‚É‚àƒGƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³B + (map/) + script.c + buildin_failedrefitem() C³B + +-------------- +//0663 by lide + +Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒAC³ + (map/) + battle.c + skill.c + +-------------- +//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 + (map/) + clif.c + pc.c + script.c + +-------------- +//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 + (db/) + pet_db.txt + (map/) + clif.c + clif_parse_LoadEndAck() C³B + pc.c + pc_attack_timer() C³B + +-------------------- +//0660 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------- +//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 + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + db_ref.txt ’ljÁB(¡à–¾‚ª“ü‚Á‚Ä‚¢‚é‚Ì‚Ípet_db.txt‚Ì‚Ý‚Å‚·B ) + client_packet.txt + (db/) + pet_db.txt + job_db2.txt + (map) + clif.h + clif.c + map.h + map.c + pet.h + pet.c + pc.c + mob.h + mob.c + npc.c + atcommand.c + skill.c + battle.h + battle.c + +-------------- +//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 + + (conf/) + battle_athena.conf pet_finish’ljÁB + (map/) + battle.c + battle_config_read() C³B + battle.h C³B + pet.c + pet_attack() C³B + (doc/) + conf_ref.txt à–¾’Ç‹LB + +-------------- +//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 + + (conf/) + battle_athena.conf pet_attack’ljÁB + + (map/) + battle.c + battle_config_read() C³B + battle.h C³B + pc.c + pc_attack_timer() C³B + pet.c + pet.h + pet_attack() ’ljÁB + (doc/) + conf_ref.txt à–¾’Ç‹LB + + ‚Æ‚è‚ ‚¦‚¸Aƒyƒbƒg‚ª“®‚¢‚Ä‚é‚È‚Ÿ‚Á‚ÄŠ´‚¶‚ÆAƒ_ƒ‰ñ”‚ð‘‚₵‚½’ö“x‚Å‚·B + +-------------- +//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(Ž©•ª‚̊ԈႢ‚̂悤‚Å‚·‚Ì‚Å...) + (map/) + skill.c C³B + battle.c C³B + +-------------- +//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 + +-------------- +//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) + (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 + (map/) + clif.c + clif_selllist() C³B + 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 + npc.c + npc_parse_script() C³B + pc.h C³B + pc.c + pc_walk()Apc_walktoxy_sub()Apc_stop_walking() C³B + map.h C³B + mob.h C³B + mob.c + mob_stop_walking()Amob_changestate()Amob_walk() C³B + pet.c + pet_changestate() C³B + atcommand.c C³B + (db/) + skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B + cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B + +-------------- +//0652 by ŒŽ‰r‚Ý + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰¼ŽÀ‘• + (db/) + skill_db.txt + cast_db.txt + (map/) + battle.c + Damage battle_calc_misc_attack + Damage battle_calc_magic_attack + skill.c + skill_additional_effect + skill_castend_damage_id + skill_castend_pos2 + skill_unit_group *skill_unitsetting + skill_unit_onplace + skill_check_condition + +-------------- +//0651 by ”g˜Q + +Eitem_db.txt‚ðC³ + (db/) + item_db.txt + ‘•”õ•i‚̃AƒCƒeƒ€Œø‰Ê‚ðC³ + +-------------- +//0650 by Ž€_ + +EŽO’i¶‚Ì”­“®ðŒ‚ð‹|‚Æ“ñ“—¬ˆÈŠO‚É•ÏXB +E•\Ž¦‚ð‚¹‚¸‚É“à•”‚ň—‚¾‚¯‚·‚éNPC‚ÌCLASS‚ð111‚©‚ç32767‚É•ÏXB +Eׂ©‚¢C³B + (map/) + clif.c + clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() C³B + npc.h C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + +-------------- +//0649 by ”g˜Q + +EDB‚ÆDOCC³ + (db/) + item_db.txt + ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚È‚Ì‚ÅAŠØ‘‚̃f[ƒ^‚É‚ ‚킹‚Ä•—‘®«‚Å‚Í‚È‚­‚µ‚Ü‚·B + mob_db.txt + size_fix.txt + ŠyŠí‚Í‘åŒ^‚ɑ΂µ‚Ä75%‚¾‚»‚¤‚Å‚·B + (doc/) + item_bonus.txt + +-------------- +//0648 by Ž€_ + +EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚ÆŽI‚ª—Ž‚¿‚é–â‘èC³B(itemdb‚̉Šú‰»‚ðnpc‚æ‚è +æ‚É‚·‚é‚悤‚É•ÏXB) ‚»‚ꂾ‚¯‚Å‚·B + (map/) + map.c + do_init() + +-------------- +//0647 by nini + +Eitem_dbC³ +EƒXƒiƒbƒ`ƒƒ[Žd—l•ÏXB‹|ˆÈŠO‚Ì‚·‚ׂĂ̕Ší‚Åo‚é‚悤‚É‚È‚Á‚Ä‚Ü‚·B + (/map/) + battle.c + ŽO’i¶‚Ì”­“®ðŒ’ljÁ + skill.c + ƒXƒiƒbƒ`ƒƒ[‚Ì”­“®ðŒ’ljÁ + (/db/) + item_db.txt + ƒVƒ‹ƒNƒnƒbƒg‚ÉSP㸒ljÁ + +-------------- +//0646 by last + +Eitem_db.txt‚ÌC³(‘®«ŠÖ˜A) + (/db/) + item_db.txt + +-------------- +//0645 by ‚é‚é‚éi•ree_ronj + +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 + (/db) + item_value_db.txt + ƒJƒ‰ƒ€”‚ð®—‚µ‚½‚¾‚¯‚Å‚·B“à—e‚Í‚Ü‚Á‚½‚­•ÏX‚µ‚Ä‚¢‚Ü‚¹‚ñB + (/map/) + clif.c + clif_buylist() clif_selllist() •ÏX + itemdb.h + item_data \‘¢‘Ì•ÏX + itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() ƒ}ƒNƒ’ljÁ + itemdb.c + itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() •ÏX + itemdb_sellvalue() íœ + npc.c + npc_buylist() npc_selllist() npc_parse_shop() •ÏX + (/sample/) + ƒIƒ}ƒP‚Å‚·BŽŸ‰ñSnapShot‚É‚ÍŠÜ‚Ü‚È‚¢‚Å‹X‚µ‚¢‚Å‚·B + +ƒ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‚¢‚Ü‚·‚ª‚— + + +-------------- +//0644 by nini + +EDB‚̊ԈႢA643‚ŒljÁ‚³‚ꂽƒXƒNƒŠƒvƒg’ljÁB + (/db/) + item_db.txt + cast_db.txt + ƒ`ƒƒ[ƒWƒAƒ[‚̃LƒƒƒXƒg’ljÁB + exp_guild.txt + 46-50‚Ü‚Å‚Ìexp”²‚¯‚ɒljÁB + 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 + map.c + map_quit() C³B + pc.h C³B + 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 + npc.c + npc_touch_areanpc()Anpc_parse_shop() C³B + clif.c + clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() C³B + clif_skill_estimation() C³B + battle.c + battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_mob_weapon_attack() C³B + mob.c + mobskill_use() C³B + skill.c + skill_status_change_end()Askill_status_change_timer() C³B + skill_status_change_start() C³B + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + +-------------- +//0642 by Ž€_ + +E‘•”õƒoƒOC³B(‚»‚ꂾ‚¯) + (map/) + pc.c + pc_authok()Apc_checkitem() C³B + +-------------- +//0641 by Ž€_ + +EbAspdRate‚ÆbSpeedRate‚̃oƒOC³B(‚»‚ꂾ‚¯)0640‚ÅŒvŽZ‚ð‚¿‚å‚Á‚Æ•Ï‚¦‚ÄŒ©‚Ü‚µ‚½‚ª‚»‚ꂪ‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B¡“x‚àŒvŽZŽ®‚ð•Ï‚¦‚Ü‚µ‚½‚ª‚à‚¤‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B(‘½•ª) + (map/) + pc.c + pc_calcstatus()Apc_bonus()Apc_delitem() + +-------------- +//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 + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + (map/) + map.h C³B + pc.c + pc_calcstatus()Apc_bonus()Apc_equipitem() C³B + battle.h C³B + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_config_read() C³B + clif.c + clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() C³B + (common/) + mmo.h C³B + (char/) + char.c + mmo_char_send006b()Aparse_char() C³B + +-------------- +//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³ + + (tool/) + ladmin + Ver.1.04‚ÉB + +EMODƒo[ƒWƒ‡ƒ“‚ª‚¨‚©‚µ‚¢–â‘è‚ðC³ + (common/) + version.h + ATHENA_MOD_VERSION‚ª‚Wi”‚Å‹Lq‚³‚ê‚Ä‚¢‚é–â‘è‚ðC³ + ”Žš‚Ì“ª‚É0‚ð‚‚¯‚é‚Æ‚Wi”‚É‚È‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢ + +-------------- +//0638 by ”g˜Q + +E0635E0637‚ÅV‚µ‚­ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅA‚»‚ê‚É”º‚Á‚Äitem_db.txt‚ðC³ +Eitem_bonus.txt‚ðC³ + (db/) + item_db.txt C³ + (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 + battle.h + struct Battle_Config {} C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_config_read() C³B + (db/) + skill_db.txt + ƒXƒeƒB[ƒ‹‚ÌSP‚ð10‚ÉC³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + +-------------- +//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 + (conf/) npc_pota.txt + +-------------- +//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‘‚­ŽžŠÔ‚ª‚È‚¢‚Ì‚Å... + (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 + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (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 + (db/) + job_db1.txt C³B + exp.txt C³B + (map/) + pc.c + pc_jobchange()Apc_readdb() C³B + pc_nextbaseexp()Apc_nextjobexp() C³B + +-------------- +//0633 by ”g˜Q + +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) + (conf/) + npc_monster.txt ƒ‚ƒ“ƒX–¼C³ + npc_monster_amatsu.txt C³ + (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³ + +-------------- +//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 + (db/) + job_db1.txt + job_db2.txt + item_db.txt + Œ‹¥ˆßÖASƒmƒr‚̃f[ƒ^ + skill_tree.txt + Sƒmƒr‚̃XƒLƒ‹ + (map/) + map.h + MAX_PC_CLASS‚ɒljÁ + +-------------- +//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 + (db/) + item_db.txt + 1161A2338A7170 C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h + struct Battle_Config‚Éwedding_modifydisplay ’ljÁB + battle.c + battle_config_read() C³B + pc.h + pc_cart_delitem() C³B + pc.c + pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() C³B + pc_checkitem()Apc_getitemfromcart() C³B + clif.c + clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() C³B + script.c + buildin_changebase() C³B + storage.c + storage_storageaddfromcart() C³B + vending.c + vending_purchasereq() C³B + +-------------- +//0630 by ˆø‘Þl + +EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³ +Ewater_height.txt‚ðXV +E0627‚ÉŠÖ˜A‚µ‚ÄmodifydisplayŠÖ˜A‚ðíœ + (char/) + int_guild.c + mapif_guild_leaved()‚̃oƒbƒtƒ@—e—Ê‚ª‘«‚è‚È‚©‚Á‚½‚Ì‚ÅA + unsigned char buf[64]; -> unsigned char buf[128]; + ‚ÆC³B + (conf/) + battle_athena.conf + equip_modifydisplay‚ðíœ + water_height.txt + prt_fild04.gat‚Æmoc_fild01.gat‚Ì•ª‚ð’ljÁ + (doc/) + conf_ref.txt + 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 + (db/) + item_db.txt C³B + class_equip_db.txt C³B + skill_db.txt C³B(ŒëŽš‚ðŽ¡‚µ‚½‚¾‚¯‚Å‚·B) + (conf/) + npc_event_doll.txt C³B(—¬˜Ql‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) + +-------------- +//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 + makefile + help.txt + (common/) + mmo.h + (map/) + map.h + atcommnad.h + atcommnad.c + pc.h + pc.c + clif.c + script.c + trade.c + itemdb.h + itemdb.c + battle.h + battle.c + pet.c + map.c + mob.c + (char/) + char.c + (conf/) + battle_athena-conf + atcommand_athena.conf + +-------------- +//0626 by ˆø‘Þl + +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³ + (map/) + clif.c + packet_len_table[] client_packet.txt‚ɇ‚킹‚ÄC³ + +-------------- +//0625 by ˆø‘Þl + +E@hide“§–¾‰»‚ðBOSS‚È‚Ç‚ÉŒ©”j‚ç‚ê‚È‚¢‚悤‚ÉC³ + (map/) + pc.h + #define pc_iscarton(sd) C³ + #define pc_isinvisible(sd) ’ljÁ + 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³ + (conf/) + npc_cTower.txt C³ithx to holyzard‚³‚ñj + +-------------- +//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 + + (map/) + atcommand.c + atcommand() @modifydisplayƒRƒ}ƒ“ƒh‚ð’ljÁ + atcommand.h + struct Atcommand_Config { +'7d •ÏX + clif.c + clif_set0078_and01d8() , clif_set007b_and01da() ŠÖ”–¼•ˆ—‚Ì•ÏX + clif_spawnpc() , clif_movechar() , clif_changelook() , clif_getareachar_pc() , + clif_fixpcpos() , clif_parse_LoadEndAck() •ÏX + map.h + struct map_session_data Eb} •ÏX + pc.c + pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() •ÏX + + (conf/) + atcommand_athena.conf + equip_modifydisplay ’ljÁ + + •ÏX‰ÓŠ‚Í‘S‚ăL[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ê‚΂قڂ킩‚é‚©‚ÆB + +ƒRƒƒ“ƒgF‚à‚¤‚±‚ê‚Å–â‘è‚Í–³‚¢‚Í‚¸BŽÀ‚Í‘å‚¢‚Ȃ銨ˆá‚¢‚ð‚µ‚Ä‚½ŒÂŠ‚ª‚ ‚Á‚½‚Ì‚Í“àiƒ}ƒew + +-------------- +//0623 by ˆø‘Þl + +E@hide‚Å“§–¾‰»iŒ©‚ç‚ê‚È‚¢•MOB‚Ƀ^ƒQ‚ç‚ê‚È‚¢j‚·‚é‚悤‚ÉC³‚È‚Ç + (map/) + atcommand.c + @hide‚ÌoptionÝ’è‚ð0x04‚©‚ç0x40‚É•ÏX + mob.c + mob_attack() + mob_target() + mob_ai_sub_hard_activesearch() + mob_ai_sub_hard_mastersearch() + mob_ai_sub_hard() + option”»’è‚ð0x06‚©‚ç0x46‚ÉC³ + (conf/) + npc_event_potion.txt MORISON_MEATC³ithx to holyzard‚³‚ñj + +-------------- +//0622 by ˆø‘Þl + +Emob‚ªƒXƒLƒ‹Žg—p‚ÉŽ¸”s‚µ‚½ê‡A’ÊíUŒ‚‚·‚é‚悤‚É + (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³ + +-------------- +//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‚Å‚«‚é‚悤‚É + + ƒ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 + + (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 + (doc/) + conf_ref.txt + battle_athena.cnf‚Æatcommand_athena.cnf‚Ìà–¾C³ + (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()‚ðŒÄ‚Ԃ悤‚É + pc.c/pc.h + pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg + pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É + atcommand.c/atcommand.h + @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É + @itemcheckƒRƒ}ƒ“ƒh’ljÁ + atcommandconfig‚Éitemcheckƒƒ“ƒo’ljÁ + battle.c/battle.h + battle_config‚Éitem_checkƒƒ“ƒo’ljÁ + +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 + + ƒ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 + + (tool/) + ladmin + Ver.1.03‚ÉB + +------------- +//0620 by ŒŽ‰r‚Ý + +Eƒz[ƒŠ[ƒNƒƒXŽÀ‘• + + (db) + skill_db.txt C³ + (map) + skill.c + skill_additional_effect()C³(ƒRƒƒ“ƒg‚Ì‚Ý) + battle.c + Damage battle_calc_weapon_attack()C³ + +------------- +//0619 by ‚é‚é‚é + +Eƒpƒbƒ`0617‚Ì‚Å‚â‚è–Y‚ê‚Æ”÷–­‚ÈC³ + + clif.c + clif_movechar(),clif_parse_LoadEndAck() C³ + +-------------- +//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 + (/db) + cast_db.txt C³ + skill_db.txt C³ + (/map) + battle.c + battle_calc_weapon_attack() C³ + skill.c + skill_castend_damage_id() C³ + skill_check_condition() C³ + skill_castend_nodamage_id() C³ + +-------------- +//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³ + pc.c + clif_changelook()‚ª‚ ‚é•”•ª‚ðC³i•Ší[„‚‚Ƈ‚É‚È‚é‚悤‚Ɉ—‚Ì“ü‚ê‘Ö‚¦j + +ƒ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 + +-------------- +//0616 by ŒÓ’±—– + +Ewater_height.txt‚ð“Ç‚ñ‚Å‚¢‚È‚¢‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ + map.c + map_waterheight()C³ + +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.c + pc_checkitem()C³ + pc_authok()C³ pc_checkitem()’ljÁ + clif.c + clif_parse_LoadEndAck()C³ + 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 + atcommand.c + @itemC³ itemdb_search=>itemdb_exists + @produceC³ itemdb_exists‚Ń`ƒFƒbƒN‚·‚é‚悤‚É + +-------------- +//0615 by ”g˜Q + +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 + +-------------- +//0614 by Nikita + +EƒAƒCƒeƒ€DATA‚ÌC³iŽå‚ɉñ•œ—Êj +EƒXƒLƒ‹‰ð“Å‚ÌŽË’öC³ +E0612‚Ìׂ©‚¢C³ + (conf/) + npc_town_prontera.txt C³ + (db/) + item_db.txt C³ + skill_db.txt C³ + +-------------- +//0613 by ˆø‘Þl +EcheckweightC³ + (conf/) + npc_event_making.txt checkweight•”•ª‚ðC³ + npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ÌcheckweightC³ + +-------------- +//0612 by nini + +EƒAƒCƒeƒ€DATAC³ + (db/) + item_db.txt C³ + (conf/) + npc_town_***.txt C³ + R.O.M776‚³‚ñ‚ðŽQÆ‚µ‚Ü‚µ‚½B + +-------------- +//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 + clif.c + clif_useitemack() C³B + skill.c + skill_status_change_start() C³B + pc.c + pc_insert_card() C³B(‚±‚ê‚̓J[ƒhƒoƒO‚Æ‚ÍŠÖŒW‚È‚¢C³‚Å‚·B‚»‚̃oƒO‚ÌC³‚ÍŽ©•ª‚ª05xx“–‚½‚è‚ÅC³‚µ‚Ü‚µ‚½‚Ì‚ÅB) + +-------------- +//0610 by ”g˜Q + +EƒAƒCƒeƒ€DATAC³ + (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‚Ì‚ð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 + (conf/) + battle_athena.conf C³B + (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 + (doc/) + client_packet.txt C³B + conf_ref.txt C³B + +-------------- +//0608 by sk +EƒAƒ}ƒcNPC’ljÁ + (conf/) + npc_town_amatsu.txt é“àNPC’ljÁ + npc_warp_amatsu.txt é“àƒ[ƒvƒ|ƒCƒ“ƒg’ljÁ + +-------------- +//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³ + +-------------- +//0606 by ˆø‘Þl +EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆÈã‚ɃNƒŠƒbƒN‚µ‚½Žž“_‚Å‘¼ƒXƒLƒ‹‚ªã‚°‚ç‚ê‚È‚­‚È‚éƒoƒO‚ðC³iThanx to 227‚³‚ñj + (map/) + clif.c + clif_skillup() + ƒXƒLƒ‹ƒŒƒxƒ‹‚ªÅ‘å’l‚Ì‚Æ‚«AƒpƒPƒbƒg––”ö‚ð0‚É‚·‚é‚悤‚ÉC³ + +-------------- +//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 + + (map/) + clif.c + clif_parse_UnequipItem() C³ + pc.c + pc_checkallowskill() pc_equipitem() C³ + skill.h + skill_encchant_eremental_end() ’ljÁ + skill.c + skill_status_change_start() skill_status_change_end() + skill_status_change_clear() skill_encchant_eremental_end() C³ + ‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë­X + +-------------- +//0604 by J +EMOBƒXƒLƒ‹ÄC³ +EMOBDBC³ + (db/) + mob_skill_db.txt + ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚ª1‰ñ‚É2Ží—Þ‚Ü‚Å‚µ‚© + MOB‚ðo‚³‚È‚©‚Á‚½‚Ì‚ðC³ + mob_db.txt + ƒ[ƒhƒIƒuƒfƒX‚̃hƒƒbƒv‚ŃGƒ‰[‚ªo‚é‚Ì‚ðC³(–¢Šm”F) + ‰…—ì•Žm‚̃hƒƒbƒv‚ÆMVP‚ð’ljÁ(–¢Šm”F) +-------------- +//0603 by ˆø‘Þl +EV‹KƒAƒCƒeƒ€Žž‚É‚àŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚ÉC³ + (map/) + pc.c + pc_checkadditem() + V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’´‚¦‚Ä‚¢‚½‚ç + ADDITEM_OVERAMOUNT‚ð•Ô‚·‚悤‚ÉC³ + +-------------- +//0602 by ˆø‘Þl +EGeffen’b–艮‚Å—Ž‚¿‚é–â‘è‚ðC³ + (conf/) + npc_town_geffen.txt if (!checkweight(,)) ‚©‚ç if (!(checkweight(,))) ‚ÉC³ + +-------------- +//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 + (conf/) + npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”÷•ÏX + (db/) + mob_skill_db.txt ‰ö‚µ‚¢Ý’è‚È‚Ç‚ÌC³ + item_db.txt ‘‘¬POT‚ÌC³ + +-------------- +//0600 by ˆø‘Þl +Eƒvƒƒ“ƒeƒ‰¸˜BŠ‚̉¡‚̃tƒ@ƒ“‚ɘb‚µŠ|‚¯‚é‚ƌł܂é–â‘è‚ðC³ +EMOBƒXƒLƒ‹Žæ‚èž‚ÝiThanx to J‚³‚ñj + (conf/) + npc_event_skillget.txt ƒtƒ@ƒ“‚ÌLabel‚ðC³ + npc_town_prontera.txt ƒtƒ@ƒ“‚ªd•¡‚µ‚Ä‚¢‚½‚Ì‚Åíœ + (db/) + mob_skill_db.txt ƒWƒ…ƒm[ˆÈ~‚ÌMOBƒXƒLƒ‹’ljÁ + +-------------- +//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 + + (conf/) + battle_athena.conf 598‚Å‚Ì“ü‚ê–Y‚ê + (map/) + skill_encchant_eremental_end() ’ljÁ + skill_status_change_end() skill_status_change_start() skill_status_change_clear() C³ + (db/) + iten_db.txt C³ + +-------------- +//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Á + (map/) + battle.h + Battle_Config C³ + battle.c + battle_config_read() C³ + clif.c + packet_len_table[] clif_changelook() C³ + map.h + enum {} C³ + pc.c + pc_calcstatus() pc_equiplookall() pc_changelook() C³ + (common/) + mmo.h + mmo_charstatus {} C³ + +-------------- +//0597 by ”g˜Q + +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‚Å‚· + (db/) + mob_db.txt + ƒAƒ}ƒc‚̃‚ƒ“ƒXƒf[ƒ^‚ðŒ»Ý•ª‚©‚é”͈͂ÅC³•‘‚Æ‚«‚Ì‚±‚Ìdef,mdef‚ðC³ + +-------------- +//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) + (map/) + skill.h + SC_FREECAST íœB + skill.c + skill_use_id()Askill_use_pos() C³B + skill_castend_id()Askill_castend_pos() C³B + ‚»‚Ì‘¼­‚µC³B + pc.c + calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() C³B + clif.c + clif_parse_ActionRequest()Aclif_parse() C³B + map.h + struct map_session_data‚Éprev_speed’ljÁB + mob.c + mob_ai_sub_hard()Amob_changestate()Amob_attack() C³B + +-------------- +//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 + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B + +-------------- +//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 + (map/) + clif.c + clif_parse_CreateParty2() ’ljÁB + clif_parse_ItemIdentify() C³B + ‚»‚Ì‘¼­‚µC³B + atcommand.hAatcommand.c C³B + battle.h + struct Battle_Config‚Éguild_emperium_check’ljÁB + battle.c + battle_config_read() C³B + guild.c + guild_create()Aguild_created() C³B + skill.c + skill_castend_id()Askill_castend_pos() C³B + Makefile C³B + (doc/) + client_packet.txt + ƒpƒPƒbƒg0x01e8 ’ljÁB + conf_ref.txt C³B + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + +-------------- +//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 + (db/) + skill_db.txt + ƒXƒLƒ‹‹CŒ÷‚Ìsp‚ð10‚©‚ç8‚ÉC³B + (map/) + map.c + NO_WATER‚ð100‚©‚ç1000000‚É•ÏXB + battle.c + battle_calc_magic_attack() C³B + skill.c + skill_castend_pos2() C³B + pc.c + pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() C³B + clif.c + clif_parse_GMKick() C³B + (doc/) + conf_ref.txt C³B + +-------------- +//0592 by ˆø‘Þl + +E…ê‚Ì—L‚è–³‚µ‚ðwater_height.txt‚¾‚¯‚ÅŒˆ‚ß‚é‚悤‚É•ÏXBnpc_water.txt‚Í•s—v‚ÉB +EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚½‚½‚ß•s—v‚É‚È‚Á‚½ˆ—‚ðíœB + (conf/) + map_athena.conf + npc: conf/npc_water.txt Á‹Ž + water_height.txt + ƒfƒtƒHƒ‹ƒg‚‚³3‚̃}ƒbƒv•ª‚ð’ljÁ•all_water‚ð‚‚³-100‚Æ‚µ‚ăRƒƒ“ƒg‚ŒljÁ + (map/) + map.c + waterlist‚Ímap_readwater()“à‚Ńƒ‚ƒŠŠm•Û + gatÝ’èŒã‚Í•s—v‚È‚Ì‚Åmap_readallmap()‚Ńƒ‚ƒŠŠJ•ú‚µ‚Ä‚¢‚Ü‚· + map.h + struct map_data‚Ìflag‚©‚çwater_flag‚ðÁ‹Ž + npc.c + npc_parse_mapflag() + ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž + pc.c + pc_skillup() + — ‚ŃXƒLƒ‹LvUP‚Å‚«‚È‚­‚È‚Á‚½‚Ì‚Åskill[id].flag‚Ì•ª‚ÍÁ‹Ž + skill.c + skill_check_condition() + map_getcell‚Å…ê”»’è‚·‚é‚悤‚ÉC³ + +-------------- +//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³ + +-------------- +//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 + (map/) + pc.c + pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() C³B + pc_set_gm_account_fname() ’ljÁB + pc.h + pc_set_gm_account_fname() ’ljÁB + clif.c + clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() C³B + clif_changemap() C³B + atcommand.c + @partty C³B + skill.c + skill_castend_nodamage_id() C³B + map.c + map_config_read()Amap_readwater() C³B + script.c + script_config_read()Ado_init_script() C³B + script.h + script_config_read() ’ljÁB + (common/) + version.h C³B + grfio.h + grfio.c + grfio_init() C³B + mmo.h + GRF_PATH_FILENAME ’ljÁB + (conf/) + map_athena.conf C³B + npc_water.txt C³B + water_height.txt ’ljÁB + login_athena.conf C³B + (login/) + login.c + login_config_read()Aread_gm_account() C³B + (char/) + char.c + do_init() C³B + char_config_read() ’ljÁB + inter.c + inter_config_read() C³B + (doc/) + conf_ref.txt C³B + +-------------- +//0589 by ŒÓ’±—– + +EGM‚̉EƒNƒŠƒbƒN‚ÅØ’f‚³‚ê‚é–â‘è‚ðC³ + ‚Æ‚è‚ ‚¦‚¸01dfƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + ‚È‚ñ‚Æ‚È‚­‚±‚̃pƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ñ”‚Æ‚ÍŠÖŒW–³‚¢‚悤‚È‹C‚àcc + + clif.c + clif_parse_GMReqNoChatCount()’ljÁ + +Estart‚ðathena.sh‚Å‚È‚­athena-start‚ðŽg‚¤‚悤‚É•ÏX + start + athena.sh => athena-start start‚É’u‚«Š·‚¦‚µ‚½‚¾‚¯ + +-------------- +//0588 by Kalen + +EAmatsuNPC’ljÁ + +-------------- +//0587 by ŒÓ’±—– + +EloginƒT[ƒo[‚ÌŠÇ—ƒpƒPƒbƒg‚ÌŽd—l‚ð•ÏXi0579‚̃ƒOƒCƒ“‹‘”Ûî•ñ‚ɑΉžj + (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) + (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‚µ‚Ä‚­‚¾‚³‚¢ + + (tool/) + ladmin + ‹@”\’ljÁ + +-------------- +//0586 by ˆø‘Þl +EƒJ[ƒhƒXƒLƒ‹‚ðC³ + (/map) + pc.c + pc_calc_skilltree() + pc_skill() + Šo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹‚È‚çskill[id].flag=1‚Æ‚·‚é + ‚Ü‚½‚Ískill[id].flag‚É–{—ˆ‚Ìlv‚ð+2‚µ‚Ä‹L‰¯ + pc_skillup() + skill[id].flag‚à‘‚â‚· + clif.c + clif_skillinfoblock() + skill[id].flag==1‚È‚çŠo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹ + (/char) + char.c + mmo_char_tostr() + skill[id].flag‚©‚ç–{—ˆ‚Ìlv’l‚ð•Û‘¶‚·‚é + +-------------- +//0585 by kalen +EscriptC³ + npc_town_guid.txt ŠOŒ©•ÏX + +-------------- +//0584 by ˆø‘Þl +EƒJ[ƒhƒXƒLƒ‹‚ðC³ + (/map) + pc.c + pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ꂳ‚¹‚鈗‚ð’ljÁ + pc_skill() ®— + +-------------- +//0583 by kalen +EscriptC³ + npc_event_doll.txt ”²‚¯‚Ä‚¢‚½•”•ª‚̉ï˜b’ljÁ + npc_town_guid.txt ’¬‚̈ēà—vˆõ‚̉摜‚ð•\Ž¦‚Å‚«‚é‚悤‚ÉC³ + Šî–{“I‚ÉÅVjRO‚Å–â‘è‚È‚µ‚Å‚·B + +-------------- +//0582 by PRevEv +E580‚̃oƒOC³B + (/map) + skill.c + skill_use_pos() C³B +-------------- +//0581 by ˆø‘Þl +E…ê‚‚³Ý’èŠÖ˜A‚ð­‚µC³ + (/map) + map.c + map_waterheight() + map_readwater() + map_readmap() + waterlist[512] -> *waterlist‚É‚µ‚ÄAmalloc‚Ńƒ‚ƒŠŠm•Û‚·‚é‚悤‚ÉC³B + map_readallmap() + free(waterlist);’ljÁ + +EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý + (conf/) + npc_town_refine.txt ƒZƒ~ƒRƒƒ“”²‚¯C³ + (db/) + item_db.txt 1161,ƒoƒ‹ƒ€ƒ“C³ + +-------------- +//0580 by PRevEv +EƒtƒŠ[ƒLƒƒƒXƒg‰¼ŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) + (/map) + clif.c + clif_parse_WalkToXY() C³B + pc.c + pc_calcstatus() C³B + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B +-------------- +//0579 by A‚Ìl +EƒƒOƒCƒ“‚ð’e‚­ˆ—‚ð‰¼ŽÀ‘• + conf/login.c + auth_dat\‘¢‘Ì‚Éstate‚ð’ljÁ + mmo_authŠÖ”C³ + mmo_auth_newŠÖ”C³ + mmo_auth_syncŠÖ”C³ + mmo_auth_initŠÖ”C³ + + ‚±‚Ì’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³ + (conf/) + npc_mob_job.txt ‘æ4—ñ–Ú‚ðTab‹æØ‚è‚ÉC³ + npc_water.txt …ê‚‚³C³ + (db/) + item_db.txt 640,...,{ pet 1155; },{},,‚ÉC³ + mob_db.txt 1162,RAFFLESIA,ƒ‰ƒtƒŒƒVƒA...C³ + +-------------- +//0577 by ‚é‚é‚é +E@ƒRƒ}ƒ“ƒh‚ð’ljÁ•C³ + 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Á + + doc/conf_ref.txt + conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ + help.txt @itemreset‚Ìà–¾’ljÁ‚Æ@go‚Ìà–¾C³ + +------------- +//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) + + |“S‚Ìd—Ê‚ðC³ + +-------------- +//0575 by ˆø‘Þl +E…êƒtƒ@ƒCƒ‹‚ª"conf/npc_water.txt"ŒÅ’肾‚Á‚½‚Ì‚ðC³ +iconf/map_athena.conf‚Ìnpc:‚É‘‚©‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ð‚Ý‚Ä…ê‚‚³Ý’è‚·‚é‚悤‚Éj + 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 + +-------------- +//0574 by ‚¢‚Ç + +EƒT[ƒo[Snapshot +Econf/shop_*.txt‚Ì“à—e‚ðconf/npc_town_*.txt‚É“‡ + +-------------- +//0573 by Jazz + +Emap‚Ì penalty, nomemo, noteleport, nobranch‚Ì option‚ðÝ’èB +Emap ƒT[ƒo[‚ª cpu‚𖳌Àè—L‚·‚邱‚Æ‚ðŒŸ¸‚·‚邽‚ß‚Ì script “Y•t. cygwinŠÂ‹«‚Å쬂ƎÀŒ±‚ð‚µ‚Ü‚µ‚½. + (/conf) + mapflag.txt ’ljÁB + (/tool) + mapcheck.sh ’ljÁB + +-------------- +//0572 by ˆø‘Þl +E"conf/npc_water.txt"‚Ì‘æ4—ñ‚Å…ê‚‚³Ý’è +@i‚¿‚á‚ñ‚Æ‚µ‚½…ê”»’肪ŽÀ‘•‚³‚ê‚é‚܂ł̂‚Ȃ¬‚Æ‚µ‚ÄEEEj + (/conf) + npc_water.txt ƒTƒ“ƒvƒ‹C³B + E‘æ4—ñ‚Å…ê‚Ì‚‚³‚ðݒ肵‚Ü‚·B + E‚‚³‚ð‘‚©‚È‚©‚Á‚½ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í3‚É‚È‚è‚Ü‚·B + (/map) + map.c + E…ê‚‚³Ý’èŠÖ” map_readwater() ’ljÁB + +-------------- +//0571 by code +“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚ÌC³ +“V’Ãpƒbƒ`‚É›À›Ä‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Ì‚ðŠm”F‚µ‚½‚Ì‚Å›À›Ä‚̃[ƒv‚Æmob‚ð”z’u + +conf/npc_monster35.txt + mob‚Ì”z’u + +conf/npc_warp_amatsu.txt +@@ “V’Ãwarp point‚ÌÝ’u + +conf/npc_warp_gonryun.txt + ›À›Äwarp point‚ÌÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`^ƒvƒƒ“ƒeƒ‰•¬…‘O©¨›À›Ä‚ÌÚ‘±NPC + +-------------- +//0570 by code +“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚Å‚·B +conf/npc_monster35.txt + mob‚Ì”z’u + +conf/npc_warp_amatsu.txt +@@ warp point‚ÌÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`‚ÌÚ‘±NPC + +-------------- +//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 + (/conf) + atcommand_athena.conf C³B + battle_athena.conf C³B + map_athena.conf C³B + npc_water.txt ’ljÁB + (/doc) + conf_ref.txt C³B + (/map) + atcommand.hAatcommand.c C³B + battle.h C³B + battle.c + battle_config_read() C³B + pc.c + pc_jobchange()Apc_stop_walking() C³B + npc.c + npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() C³B + mob.c + mob_ai_sub_hard() C³B + pet.c + pet_food() C³B + skill.c + skill_check_condition() C³B + map.h + struct map_data C³B + +-------------- +//0568 by ˆø‘Þl + +EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ê”»’è‚È‚Ç +EƒEƒH[ƒ^[ƒ{[ƒ‹…ê”»’èiread_gat(m,x,y)==3‚Å…ê‚Æ”»’èj + skill.c + skill_castend_nodamage_id() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i¹…Žæ“¾j + skill_check_condition() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ê”»’èj + case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ê”»’èj + +-------------- +//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³ + +-------------- +//0566 by ƒpƒCƒ“ + +E0563‚̃XƒLƒ‹‰ðœðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ÅC³B•Ší‚ð‚Í‚¸‚·&•Ší‚ð•Ï‚¦‚½ê‡‚Í +@–³ðŒ‚ʼn𜂷‚é‚悤‚É‚µ‚½B + +# 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 + + (/map) + pc.c + pc_checkallowskill() C³ + +-------------- +//0565 by ˆø‘Þl + +Eƒ}ƒbƒvˆÚ“®Žž‚É–î‘•”õ‚ªŠO‚ê‚È‚¢‚悤‚ÉC³ +EƒƒOƒCƒ“Žž‚É–î‘•”õ‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³ + (/common) + mmo.h + i–î‘•”õ‚Í0x8000‚È‚Ì‚Åjshort‚¾‚Æint‚ւ̃LƒƒƒXƒgŽž‚È‚Ç‚É + •‰’l‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤‚½‚ßunsigned short‚ÉC³ + struct item + short equip; -> unsigned short equip; + (/map) + clif.c + clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ì–î‚̂‚¢‚Å‚É–î‘•”õ‚àƒ`ƒFƒbƒN + clif_arrowequip() ƒVƒ“ƒvƒ‹‰» + pc.c + pc_equipitem() C³ + +-------------- +//0564 by g—t + +E@model‚Ì•žõ‚ß•s‰Â”\”»’èC³B +E@model‚ÅA‘I‚ׂéƒnƒY‚Ì”¯Œ`‚É•ÏXo—ˆ‚È‚©‚Á‚½•”•ª‚ðC³B +@ã‹L•ÏX“_‚ɇ‚킹‚Ähelp.txt‚ÌC³B + +-------------- +//0563 by ƒpƒCƒ“ + +EMOB‚̈ÈŃXƒLƒ‹‚ðH‚ç‚Á‚½Œã‚ɉñ•œ‚µ‚È‚¢‚Ì‚ðC³Bc‚È‚ñ‚¾‚¯‚ÇA“K³‚È’l‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å +@“Å‚â’¾–Ù‚Æ“¯‚¶ŽžŠÔ‚É‚µ‚Ä‚ ‚è‚Ü‚· +@¡ŒãA‚Ü‚½Žè‚ð‰Á‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚¦‚½ê‡‚͉𜂷‚é‚悤‚É•ÏXB + + (/map) + skill.c + skill_castend_damage_id() C³B + skill_status_change_timer() C³B + pc.c + pc_checkallowskill() VÝB + pc_equipitem() C³B + pc.h + pc_checkallowskill() VÝB + +-------------- +//0562 by huge + +E–î‚ð‹|‘•”õŽžˆÈŠO‚Å‚à‘•”õ‚Å‚«‚é‚悤‚É–ß‚µ‚Ü‚µ‚½B +E–î‚Ì‘®«‚ð“K—p‚·‚é‚Ì‚ð‹|‘•”õŽž‚Ì‚Ý‚ÉC³B + + pc.c + pc_equipitem() C³B + pc_calcstatus() C³B + +-------------- +//0561 by ˆø‘Þl + +ELinux‚Å‚àƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É + (/map) + skill.c + skill_castend_damage_id() •Ï”dx,dy‚Ì錾ˆÊ’u•ÏX + Makefile + LIBS ‚É -lm ’ljÁ + +E@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~B by (no name)‚³‚ñ + atcommand.c + @jobchange,@charjob‚É«•Êƒ`ƒFƒbƒN’ljÁ + +// ƒ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 + (/map) + clif.c + clif_parse_PartyMessage()Aclif_parse_GuildMessage C³B + +-------------- +//0560 by ƒpƒCƒ“ + +E0559 ‚Ì athena-start ‚ð Unix Like OS ‚Å‚à“®‚­‚悤‚ɃŠƒtƒ@ƒCƒ“B + +-------------- +//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 + +-------------- +//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 + (/db) + item_db.txt C³B + skill_db.txt C³B + (/map) + skill.c + skill_check_condition()Askill_additional_effect() C³B + skill_status_change_start() C³B + npc.c + do_init_npc() C³B + +-------------- +//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 + skill.c + skill_additional_effect() C³B + skill_check_condition() C³B + +-------------- +//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 + (/conf) + atcommand_athena.conf C³B + battle_athena.conf C³B + (/db) + item_db.txt C³B + (/doc) + conf_ref.txt C³B + (/char) + char.c + do_init()Acheck_connect_login_server() C³‚Æ­‚µC³B + (/map) + mob.c + mob_damage() C³B + pc.c + pc_getitemfromcart()Apc_steal_item() C³B + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B + script.c + buildin_getitem() C³B + skill.c + skill_produce_mix() C³B + storage.c + storage_storageget() C³B + atcommand.c C³B + map.c + map_config_read() C³‚Æ­‚µC³B + chrif.c + check_connect_char_server()Ado_init_chrif()Achrif_setip() C³‚Æ­‚µC³B + npc.c + npc_buylist()Anpc_selllist() C³B + +-------------- +//0554 by NOCTURNE +EƒT[ƒo[SnapShot +Etoo/addaccount‚Ìíœ +Ehelp.txt‚ÌXV + +-------------- +//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 + + (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Ž~‚Ì‚½‚ß) + + (login/) + login.h + START_ACCOUNT_NUM‚ð500000‚©‚ç2000000‚É•ÏX + login.c + 7532(Ø’f)ƒpƒPƒbƒg‚̈—C³ + mmo_auth_new()C³ + +Ebackup‚ªƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’ljÁ + (tool/) + backup + ƒtƒ@ƒCƒ‹’ljÁC³ + +-------------- +//0552 by Ž€_ + +EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Å‚·‚ª–{“–‚ɈÀ’è«ã‚ª‚Á‚½‚© +‚Ç‚¤‚©‚Í•s–¾‚Å‚·B +EPVP‚É‚æ‚èƒNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚é–â‘èC³B + atcommand.c + @pvpoffA@pvponA@gvgonA@gvgoff C³B + script.c + buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() C³B + clif.c + clif_pvpset() C³B + skill.c + skill_attack()Askill_unit_onplace()Askill_unit_onout() C³B + skill_unit_ondelete() C³B + +-------------- +//0551 by Kalen +EDBC³ + db/create_arrow_db.txt Š®¬ + SourceID‡‚Ƀ\[ƒg‚µ‚Ü‚µ‚½B + +-------------- +//0550 by huge + +E–î쬃XƒLƒ‹ŽÀ‘• + + clif.c + clif.h + clif_arrow_create_list() ’ljÁ + clif_arrow_created() ’ljÁ + clif_parse() C³ + + pc.c + pc_search_inventory() C³ + + skill.c + skill.h + skill_arrow_db() ’ljÁ + skill_readdb() C³ + skill_castend_damage_id() C³ + + db/create_arrow_db.txt ’ljÁ + db/skill_db.txt C³ + + ‚Ü‚¾db‚Í–¢Š®¬‚Å‚·B + +-------------- +//0549 by Kalen + +Emap_athena.conf + ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GߌÀ’èƒXƒNƒŠƒvƒg‚ð®“Ú + shop3.txt’ljÁ + +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_event_carnival.txt [’ljÁ]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ÌNPC + +-------------- +//0548 by huge + +E–î‚ð‘•”õ‚µ‚½Žž‚Ì•\Ž¦ƒoƒO–â‘è‚ðC³B + clif.c + clif_arrowequip() C³B + pc.c + pc_equipitem() C³B + +‚ ‚Æ‚ÍAƒ}ƒbƒv‚ðˆÚ“®‚·‚邽‚Ñ‚É‘•”õ‚ªŠO‚ê‚¿‚Ⴄ“_‚Å‚·‚ËEEEB + +-------------- +//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 + pc.c + pc_calcstatus() C³B + 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) + battle_athena.conf + sanctury_type‚ðsanctuary_type‚É•ÏXB + conf_ref.txt + sanctury_type‚ðsanctuary_type‚É•ÏXB + +-------------- +//0546 by Ž‚Žqo^.^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 Ž€_ + +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 + battle.c + battle_weapon_attack() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + +-------------- +//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 + pc.c + pc_attack_timer() C³B + pc_authok() C³B + battle.c + battle_calc_weapon_attack() C³B + battle.h + struct Battle_Config C³B + map.h + struct map_session_data C³B + (/conf) + battle_athena.conf C³B + +‚Í‚Á‚«‚è‚¢‚Á‚ă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 + +-------------- +//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 + (/login) + login.c + mmo_auth_new() C³B + (/map) + skill.c + skill_castend_damage_id() C³B + battle.c + battle_calc_misc_attack() C³B + mob.c + mob_damage() C³B + mob_deleteslave()Amob_deleteslave_sub() ’ljÁB + +-------------- +//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 + (/map) + battle.c + battle_damage() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id C³B + npc.c + npc_buylist()Anpc_selllist() C³B + map.c + map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() + C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) + (/conf) + battle_athena.conf C³B + (/doc) + conf_ref.txt C³B + +-------------- +//0541 by huge + +E–î‚ð‚Ü‚Æ‚ß‚ÄŽ‚Ä‚é‚悤‚ÉC³B +E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«‚ÉA‘•”õ‚µ‚Ä‚¢‚é–î‚ðÁ”ï‚·‚é‚悤‚ÉC³B + + itemdb.c + itemdb_search() C³ + itemdb_isequip() C³ + + battle.c + battle_weapon_attack() C³ + battle_calc_weapon_attack() C³ + + clif.c + clif.h + clif_arrow_fail() ’ljÁ + clif_parse_EquipItem() C³ + +-------------- +//0540 by Ž€_ + +EƒoƒOC³‚Æ–â‘è‚ ‚è‚»‚¤‚ÈŠC³B(‚±‚ê‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É +‚æ‚éŽIƒ_ƒEƒ“‚Í‚È‚­‚È‚é‚Í‚¸...) + map.c + map_foreachinarea()Amap_foreachinmovearea() C³B + skill.c + skill_unitsetting()Askill_delunitgroup() C³B + pc.c + pc_damage() C³B + battle.c + battle_damage() C³B + npc.c + npc_parse_mob() C³B + mob.c + mob_spawn_dataset() C³B + +-------------- +//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 + script.c + buildin_pvpoff() C³B + buildin_pvpon() C³B + atcommand.c C³B +EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚¤‚ÆUŒ‚‚ªŽ~‚Ü‚é‚悤‚ÉC³B + 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 + +-------------- +//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 + +Ebattle.c + battle_calc_weapon_attack() C³ + +Eskill.c + skill_additional_effect() C³ + skill_castend_damage_id() C³ + skill_check_condition() C³ + skill_use_id() C³ + skill_castend_nodamage_id() C³ + +Eskilldb.txt + ƒoƒbƒNƒXƒ^ƒu‚ÌŽí—Þ‚ð[êŠ]‚©‚ç[“G]‚Ö•ÏX + +-------------- +//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.h + finger_offencive_type‚ðfinger_offensive_type‚ÉC³B(‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³‚µ‚Ü‚µ‚½B) + struct battle_config‚Érestart_hp_rateArestart_sp_rate ’ljÁB + battle.c + battle_calc_weapon_attack()Abattle_calc_magic_attack() C³B + skill.c + skill_attack() C³B + clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚悤‚É•ÏXB(M‚³‚ñ‚ÌŽw“E‚É‚æ‚èC³B) + clif.c + clif_skill_estimation() C³B + conf_ref.txt + finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB + mob.c + mob_ai_sub_hard()Amob_target()Amob_damage() C³B + pc.c + pc_steal_item() C³B + atcommnad.cAatcommnd.h + @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’ljÁB + battle_athena.conf + finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB + +-------------- +//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 + +i•ÏXj + common/ + grfio.c + +-------------- +//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) + (/doc) + conf_ref.txt C³B + (/conf) + battle_athena.conf C³B + (/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 + +-------------- +//0534 by Diex + +EƒRƒ“ƒ{ƒVƒXƒeƒ€‰¼ŽÀ‘• + map/ + battle.c + battle_weapon_attack() C³B + clif.c + clif.h + clif_combo_delay()@ŠÖ”’ljÁB + map.h + map_session_data@•Ï”’ljÁB + pc.c + pc_authok()@•Ï”’ljÁB + pc_attack_timer()@C³B + skill.c + skill_castend_damage_id()@C³B + skill_check_condition@C³B + skill_use_id@C³B + db/ + skill_db.txt@C³B + +’j–Ò—´Œ‚©‚爢C—…”e–PŒ‚É‚Í‚Ü‚¾‚‚Ȃ°‚Ü‚¹‚ñB + ˆ¢C—…”e–PŒ‚ð•ú‚Á‚½ŒãAPC‚ÍMOB‚Ì”wŒã(?)‚Ɉړ®‚µ‚Ä‚é‚Á‚Û‚¢‚Ì‚Å‚·‚ªA +@@‚»‚±‚ç‚Ö‚ñ‚Ìî•ñ‚ª‘«‚è‚Ü‚¹‚ñBî•ñ’ñ‹Ÿ‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//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³ + +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 + +Eƒnƒ“ƒ^[‚Ìã©‚ðŽg‚Á‚½ƒXƒLƒ‹‚Åã©‚ðÁ”ï‚·‚é‚悤‚É‚µ‚½ +batttle.c ‚Ì skill_check_condition() ‚ðC³ +iƒWƒFƒ€Á”‚Ì—¬—p‚Á‚Û‚¢‚±‚Æ‚ð‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚Lj—’†g‚Í—‰ð‚µ‚Ä‚È‚¢‚—j + +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚̃_ƒ[ƒW”»’è‚ð•sŽ€‘®«•ˆ«–‚Ží‘°‚ÉÄ“xC³ +0532‚ÅÄ‚ÑŒ³‚É–ß‚Á‚Ä‚µ‚Ü‚Á‚½‚Ì‚ð‚È‚¨‚µ‚Ü‚µ‚½B +‚½‚¾‚µA‰ñ”•l””»’è‚É‚ÍŽè‚ð‰Á‚¦‚Ä‚¢‚Ü‚¹‚ñi‚Á‚Ä‚©Ž©•ª‚É‚Í‚Ü‚¾ƒ€ƒŠj + +ˆÈãB +Ø‚Á‚½“\‚Á‚½‚ÌŒ©—lŒ©^Ž—‚Å‚â‚Á‚½‚Ì‚ÅŒ¾Œê“I‚ɉʂ½‚µ‚Ä‚±‚ê‚Å‚æ‚¢‚Ì‚©BBB +‚à‚µˆ—•û–@‚É–â‘è—L‚肾‚Á‚½‚çC³‚È‚è‚ð‚µ‚Ä‚¢‚½‚¾‚¯‚é‚ÆŠð‚µ‚¢‚Å‚·B + +-------------- +//0532 by Ž€_ + +EC³‚µ‚½Š‚ð‘S‘Rƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯...Š¾ +Emapflag‚Énopenalty’ljÁBŽg—p•û–@‚Í + 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(‚µ‚½‚Í‚¸...) + (db/) + const.txt C³B + item_db.txt C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (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 + +-------------- +//0531 by Ž‚Žqo^.^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³ + +-------------- +//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³ + +‘½•ª‚±‚ÌŽd—l‚Ň‚Á‚Ä‚é‚Í‚¸‚Å‚·cB + +-------------- +//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 + + skill.c + skill_unit_onplace()C³ + skill_castend_nodamage_id()C³ + +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 + + “Á‚É——R‚ª–³‚¢ŒÀ‚èƒAƒJƒEƒ“ƒgì¬‚à‚±‚¿‚ç‚̃c[ƒ‹‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B + addaccount‚̓pƒPƒbƒg‚Ì“s‡ãƒpƒXƒ[ƒh•¶Žš”‚̧ŒÀ‚ª‚«‚‚¢‚Ì‚ÅB + + ƒ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/) + login.c + parse_admin()’ljÁAparse_login()C³ + (doc/) + admin_packet.txt + V‹K’ljÁBŠÇ—ƒpƒPƒbƒgî•ñ + (tool/) + ladmin + login-server administration tool‚ÌPerlƒXƒNƒŠƒvƒg + + +-------------- +//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 + + map_athena.conf + + battle.c battle_config_read() + battle.h Battle_Config + battle_athena.conf + ˆÈãAbattle_athena.conf—˜—p‚½‚ß‚É•ÏX + + pc.c pc_heal() + –ß‚è’l‚ðhp+sp‚ÉB–ß‚è’l‚ð—˜—p‚µ‚Ä‚é•”•ª‚ª‚È‚³‚»‚¤‚¾‚Á‚½‚Ì‚ÅŽg‚킹‚Ä–á‚¢‚Ü‚µ‚½BƒoƒO‚ª‹N‚«‚½‚ç‚·‚Ý‚Ü‚¹‚ñB + + skill.c skill_casted_nodamage_id()‚̃q[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒ±’lŠl“¾‚·‚é‚悤•ÏX + + npc.c npc_buylist() + npc_selllist() •ÏX + ‚±‚ê‚ç‚Æ‚ÌŒ“‚ˇ‚¢‚Åskill.h‚ðincludeB + + +¤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 + +‚Æ‚±‚ë‚Å“]ENPC‚ªˆê•”‚©‚Ô‚Á‚Ä‚é‚ñ‚Å‚·‚ªC³‚µ‚È‚¢‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©H + +-------------- +//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 by Ž€_ + +E0525‚̃ŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŽg‚¦‚È‚¢ƒoƒOC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñ‚ªŽ¡‚Á‚½‚Í‚¸‚Å‚·B‘½•ª...) + skill.c C³B + clif.c C³B + +-------------- +//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 + 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 + +-------------- +//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 + +-------------- +//0523 by NOCTURNE + +Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚̃yƒRƒyƒRŠÇ—•º‚ð’ljÁ +-------------- +//0522 by ”g˜Q + +Emob_db.txt‚ðƒWƒ…ƒm[Œã‚̃f[ƒ^‚ÉC³ + +-------------- +//0521 by ŒÓ’±—– + +EmapƒT[ƒo[‚ÉŒq‚ª‚ç‚È‚¢–â‘è‚ðC³ + clif.c + clif_parse()‚ÌC³ + +-------------- +//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/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 + + (char/) + char.c/char.h + parse_frommap()C³ + mapif_sendallwos()’ljÁ + (map/) + map.c/map.h + map_setipport()‚ðC³ + struct map_session_data‚Ìstateƒƒ“ƒo‚Éwaitingdisconnect’ljÁ + chrif.c/chrif.h + FX’ljÁ + clif.c + waitingdisconnect‚ª‚P‚È‚çƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚½ + pc.c + pc_setpos()C³iƒ}ƒbƒvƒT[ƒo[•ÏXˆ—‚È‚Çj + pc_setnewpc()C³ + +-------------- +//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 + map.h + AREA_SIZE‚ð15‚©‚ç20‚É•ÏXB + struct map_session_dataAstruct mob_dataAstruct skill_timerskill C³B + map.c + map_quit() C³B + clif.h + clif_changemapcell() C³B + clif.c + clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() C³B + 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.h + skill_addtimerskill()Askill_cleartimerskill() C³B + pc.c + pc_movepos()Apc_walk()Apc_authok() C³B + 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 + battle.c + battle_calc_weapon_attack()Abattle_weapon_attack() C³B + ‚»‚Ì‘¼­‚µC³B + +-------------- +//0518 by Kalen +EEvent_pumpkinŠÖ˜A‚̃tƒ‰ƒO•s‹ï‡C³ + +-------------- +//0517 by Ž€_ + +EƒAƒCƒXƒEƒH[ƒ‹‚Å ‚蔲‚é–â‘èC³‚Æ­‚µC³B(M‚³‚ñƒpƒPƒbƒg‚Ì’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) + clif.h + clif_changemapcell() ’ljÁB + clif.c + clif_changemapcell() ’ljÁB + skill.h + SC_STEELBODY‚ð84‚©‚ç87‚É•ÏXB + skill.c + skill_unitsetting()Askill_unit_onlimit() C³B + skill_status_change_end()Askill_status_change_start() C³B + client_packet.txt C³B + +-------------- +//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‚Ì•¨‚ª‚¿‚å‚Á‚Æ‚à‚Á‚½‚¢‚È‚©‚Á‚½‚Ì‚Å...) + 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 + +-------------- +//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) + skill.h + skill_addtimerskill()Askill_cleartimerskill ’ljÁB + 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 + mob.c + mob_damage() C³B + battle.c + battle_calc_weapon_attack() C³B + map.h + struct skill_timerskill ’ljÁB + struct map_session_data C³B + map.c + map_quit() C³B + pc.c + pc_authok() C³B + pc_damage() C³B + clif.c + clif_parse_WalkToXY() C³B + clif_useitemack() C³B(Ž‘—¿’ñ‹Ÿ: Kalen‚³‚ñ) + pet.c + pet_catch_process2() C³B + skill_db.txt + ‹CŒ÷‚ÌSP‚ð10‚É•ÏXB(ƒlƒbƒg‚ÌŒŸõ‚Å‚Í10‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½BŠØ‘‘ ‚Å‚Í15‚Æ•\Ž¦‚³‚ê‚Ü‚·‚ª...) + client_packet.txt + 01c8‚Ì•ÏX‚Å‚·BKalen‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B + +-------------- +//0514 by Kalen + +EscriptC³+’ljÁ + + 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Á + +-------------- +//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 + battle.h + Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’ljÁB + battle.c + battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“ǂނ悤‚ÉC³B + pc.c + pc_makesavestatus() C³B + pc_damege() C³B + pc_jobchange() C³B + battle_athena.conf + death_penalty_base,death_penalty_job’ljÁB + +-------------- +//0512 by Ž€_ + +E–â‘è‚É‚È‚è‚»‚¤‚È•”•ª‚ÌC³‚ÆV‚µ‚¢ƒpƒPƒbƒg‚̑Ήž‚ªƒƒCƒ“‚Å‚·BŒãƒoƒO‚à­‚µŽ¡‚µ‚Ü‚µ‚½B(“®‚¯‚È‚¢ó‘ÔˆÙí‚É‚È‚Á‚Ä‚à“®‚­–â‘è‚ÌC³“™‚Å‚·B) + athena.sh C³B(‚¢‚‚àŽI‚ðŒÂ•Ê‚ÉŽÀs‚µ‚Ä‚¢‚½‚Ì‚Å‹C‚ª‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B) + makefile + DPACKETVER‚ð2‚©‚ç3 ‚ÉC³BƒWƒ…[ƒmˆÈŒã‚Ì‘ ‚ðŽg‚¤‚Ì‚È‚ç3‚É‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B(‚»‚̈ȑO‚È‚ç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 + clif.h + clif_skill_damage3() íœB + clif_skillcastcancel() ’ljÁB + battle.c + battle_calc_weapon_attack() C³B + hitrate‚ð10000ˆÈã‚É‚·‚ê‚ΕK’†‚É‚È‚é‚悤‚É•ÏXB(¡‚ÌŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ì•K’†UŒ‚ˆÈŠO‚Í•K’†‚É‚È‚è‚Ü‚¹‚ñB) + ‘¼‚É­‚µC³B + 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 + skill.h + SC_EXPLOSIONSPIRITS‚ð89‚©‚ç86‚É•ÏXB(86 = 0x56) + SC_DELUGE‚ð86‚©‚ç89‚É•ÏXB + 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_db.txt + ‹CŒ÷‚ÌÁ”ïSP‚ðC³B(‘O‚Ì15‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) + mob.c + mobskill_use_id()Amobskill_use_pos() C³B + map.c + map_quit() C³B + atcommand.h + atcommand.c + @ƒRƒ}ƒ“ƒh@spiritball’ljÁB(‹@”\‚ÍŽg‚¦‚΂킩‚è‚Ü‚·B‚½‚¾1000ˆÈã‚Í“ü‚ê‚È‚¢•û‚ª‚¢‚¢‚Å‚·B‘ ‚ªƒpƒ“ƒN‚µ‚Ü‚·‚Ì‚Å...) + 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 + +-------------- +//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 + pc.c + pc_calcstatus() C³B + battle.c + battle_calc_weapon_attack() C³B + skill.c + skill_check_condition() C³B + + skill_db.txt C³B + +-------------- +//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 + skill.c + skill_check_condition() C³B + clif.c + clif_skill_damage3() C³B + battle.c + battle_weapon_attack()Abattle_calc_weapon_attack C³B + +-------------- +//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³ + +-------------- +//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 + map.h + struct map_session_data C³B + map.c + map_quit() C³B + map_addflooritem() C³B + clif.h + clif_spiritball_int()‚ðclif_spiritball()‚É•ÏXB + clif_spiritball_ext() íœB + clif.c + clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚¦‚ÄC³B + clif_spiritball_ext() íœB + clif_set01e1() ’ljÁB + clif_getareachar_pc() C³B + skill.h + SC_CALLSPIRITS íœB + 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 + +-------------- +//0507 by Diex +0505‚ÌC³ +EŽO’i¶‚̃GƒtƒFƒNƒgŽÀ‘• + +-------------- +//0506 by hoenny +‘S‘Ì“I‚É­‚µŽ®C³ +ƒZƒCƒW‚̃XƒLƒ‹‚ªƒAƒCƒeƒ€‚ðÁ–Õ‚·‚é‚悤‚ÉC³ +(ƒXƒLƒ‹‚ÌDB‚É zeny, spiritball, item, equip‚ð“ü‚ꂽ‚¢‚ªŽžŠÔ‚ª‚È‚­‚Ä—ÕŽž“I‚É ...) + +-------------- +//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 + map/clif.c + map/clif.h + clif_skill_damage3()’ljÁ + map/pc.c + map/skill.c + map/battle.c + C³E‹y‚ђljÁ +iŒvŽZŽ®‚Í+ Acolyte Maniax +‚ðŽQl‚É‚µ‚Ü‚µ‚½Bj + +-------------- +//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 + +-------------- +//0503 by nabe + +E¸˜BC³‚ÆLinux—p‚É‚¿‚å‚Á‚Æ•ÏX‚È‚Ç + conf/map_athena.conf + npc_event_doll.txt, + npc_turtle.txt, + //npc_pota.txt€–ڒljÁ + conf/npc_pota.txt’ljÁisocie‚³‚ñì‚̃_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚³‚ñj + conf/npc_shop.txt + ƒCƒYƒ‹[ƒh•Ší¤l‚̉¿ŠiC³ + conf/script_athena.conf + 0499‚Å‚Ì•¶Žš‰»‚¯HC³ + login/login.c + #include ’ljÁ + map/script.c + buildin_getequipname() + ¸˜Bƒƒjƒ…[‚Ìmalloc‚ðC³ + buildin_getequipisenableref() + ¸˜B‰Â”\ðŒC³iAthefans‚³‚ñ‚ÌðŒ•¶‚É‚µ‚Ä‚Ý‚Ü‚µ‚½j + map/skill.c + skill_check_condition()•Ï”錾ˆÊ’u‚Ì•ÏX‚Ì‚Ý + +-------------- +//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‚µ‚Ä‚¢‚é•û‚Í‚¢‚È‚¢‚Ý‚½‚¢‚È‚ñ‚Å‚·‚Ë...) + +-------------- +//0501 by hoenny + +E500‚Ì–â‘è“_C³ +-HP‰ñ•œ—ÍŒüã,SP‰ñ•œ—ÍŒüã + map/pc.c + pc_natural_heal_hp()C³ + pc_natural_heal_sp()C³ + +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‚¤‚±‚Æ‚ª‚Å‚«‚È‚¢‚Å‚·. + db/skill_db.txt + ‹C’DC³ + ‹à„C³ + map/pc.h + pc_is50overweight()’ljÁ + pc_is90overweight()’ljÁ + 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³ + 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 + pc.h + pc_move()‚ðpc_movepos()‚É•ÏXB + pc.c + pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A + pc_calcstatus()Apc_checkweighticon()Apc_damage() C³B + skill.c + skill_castend_pos2()Askill_check_condition()Askill_use_id()A + skill_use_pos() C³B + pet.c + pet_recv_petdata()Apet_change_name() C³B + map.h + struct map_session_data‚Éskillitemlv ’ljÁB + script.c + buildin_itemskill() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A + clif_parse_LoadEndAck() C³B + mob.c + mobskill_use_id()Amobskill_use_pos() C³B + +-------------- +//0498 by hoenny + +DŸ†‹…‚ª‚·‚Á‚©‚茩‚¦‚é‚悤‚ÉC³(Á–ÕƒXƒLƒ‹Žg—p‚ÌŽžÁ–Õ‚·‚é‚悤‚ÉC³) +DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ÌŽžŸ†‹…‚ðÁ–Õ‚·‚é‚悤‚ÉC³ + doc/client_packet.txt + 0x1d0’ljÁ + map/map.h + sd‚Ìstructure‚É spiritball’ljÁ + map/clif.h + clif_spiritball_del() -> clif_spiritball_int()C³ + clif_spiritball_cre() -> clif_spiritball_ext()C³ + map/clif.c + packet_len_table[]C³ + clif_spiritball_del() -> clif_spiritball_int()C³ + clif_spiritball_cre() -> clif_spiritball_ext()C³ + map/pc.h + pc_item_steal() -> pc_steal_item()C³ + pc_coin_steal() -> pc_steal_coin()C³ + map/pc.c + pc_item_steal() -> pc_steal_item()C³ + pc_coin_steal() -> pc_steal_coin()C³ + pc_calcstatus()C³ + map/skill.c + skill_check_conditon()C³ + +-------------- +//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 + skill.c + skill_castend_pos2() C³B + skill_additional_effect() C³B + pc.c + pc_move() ’ljÁB + pc_item_steal()Apc_coin_steal() C³B + pc.h + pc_move() ’ljÁB + map.h + struct mob_data C³B + mob.c + mob_spawn() C³B + mob_target() C³B + 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 + 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 + trade.c + trade_traderequest() C³B + 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‚í‚©‚ç‚È‚¢‚Ì‚Å... + + ƒ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ƒ‹)% + +–{Ž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 + +-------------- +//0496 by hoenny + +DWZ‚̃ƒeƒIƒXƒg[ƒ€ŽÀ‘• +DƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ + db/skill_db.txt + ƒƒeƒIƒXƒg[ƒ€C³ + map/pc.c + pc_coin_steal()C³ + map/skill.c + skill_castend_pos2()C³ + +-------------- +//495 by nini + +EAR‚ª•ÐŽè•€A—¼Žè•€‚Å‚µ‚©”­“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí + map/skill.c + skill_check_condition()@C³ + +‘O‰ñC³‚Ì‚Æ‚«“ÝŠí“ü‚ê–Y‚ê‚Ä‚½‚悤‚Å‚·B + +-------------- +//0494 by Ž‚Žqo^.^o + +conf/mpc_warp.txt +Dƒnƒ“ƒ^ˆê“]E’no‚Ä‚¢‚È‚¢C³ + +-------------- +//0493 by ”g˜Q + +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³ + +-------------- +//0492 by Kalen + +EscriptC³+’ljÁ + + 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_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³ + + +-------------- +//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 + skill.c + skill_check_condition()Askill_castend_pos2() C³B + skill_db.txt + Žc‰eC³B +Escript.c + set_posword() C³B +¦ˆêl‚ŃeƒXƒg‚ÍÏ‚ñ‚Å‚¢‚Ü‚·‚ª‘¼‚Ìl‚ɳ‚µ‚­Œ©‚¦‚é‚©‚Ç‚¤‚©‚Í–¢Šm”F‚Å‚·B +•Ï‚È‚Ì‚©‚Ç‚¤‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//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 + +-------------- +//0489 by Ž€_ + +E0483‚̃oƒOC³Bbattle_athena.conf‚Ìquest_skill_learn‚ª³‚µ‚­“K—p‚³‚ê‚é‚悤‚É•ÏX‚Æ–â‘肪‚ ‚Á‚½•”•ª‚ÌC³B(ƒeƒXƒgÏ‚Ý) + pc.c + pc_calc_skilltree()Apc_skill() C³B + 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–¾...Š¾) + pc.c + pc_insert_card() C³B +Epc.h + pc_ishiding() C³B + +-------------- +//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³‚µ‚½.) + db/skill_db.txt + ƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ + map/pc.h + pc_coin_steal()’ljÁ + map/pc.c + pc_coin_steal()’ljÁ + pc_item_steal()C³ + map/skill.c + skill_castend_nodamage_id()C³ + +-------------- +//0487 by hoenny + +E485‚Ì–â‘è“_‚¿‚å‚Á‚ÆC³ + map/pc.c + pc_item_steal()C³ + map/skill.c + skill_castend_nodamage_id()C³ + +-------------- +//0486 by Ž‚Žqo^.^o + +db/class_equip_db.txtC³ +—ô‚¯‚½‘å’n‚Ì‘A”R‚¦‚鑾—z‚Ì‘AŠ£‚¢‚Ä‚é•—‚Ì‘AàÒŽ¦˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢–â‘èC³ + +-------------- +//0485 by hoenny + +E RG‚̃Xƒiƒbƒ`ƒƒ[ŽÀ‘• +E ƒXƒeƒB[ƒ‹C³ +E ˜I“XŠJÝ‚ÌŽž skill_check_condition‚Åó‘Ô‚ðƒ`ƒFƒN‚·‚é‚悤‚ÉC³ + map/pc.h + pc_ishiding()’ljÁ + pc_item_steal()’ljÁ + map/pc.c + pc_item_steal()’ljÁ + map/skill.c + skill_castend_nodamage_id()C³ + skill_additional_effect()C³ + skill_check_condition()C³ + +-------------- +//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Á + skill.c + skill_readdb()‚Åinf2‚ð“ǂނ悤‚ÉC³ + +EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚̃AƒCƒRƒ“‚ªƒƒOƒCƒ“’¼Œã‚É‚Í•\Ž¦‚³‚ê‚È‚¢–â‘èC³ + clif.c + clif_parse_LoadEndAck()C³ + +-------------- +//0483 by Ž€_ + +E0482‚Ì“K—pB + npc_event_skillget.txt C³B + script.c C³B + skill.c C³B + pc.c C³B + +-------------- +//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³ + (conf/) + npc_event_skillget.txt + o—ˆ‚邾‚¯•Ï”‚ðŽg‚í‚È‚¢‚悤‚ÉC³i–¢ƒeƒXƒgj + (map/) + script.c + buildin_getskilllv()C³ + +EƒXƒeƒB[ƒ‹‚ÅŽ¸”sŽž‚̃GƒtƒFƒNƒg•ÏX +E“¯‚¶MOB‚É‚Í‚P‰ñ‚µ‚©ƒXƒeƒB[ƒ‹‚Å‚«‚È‚¢‚悤‚ÉC³ + (map/) + skill.c + skill_castend_nodamage_id()C³ + map.h + struct mob_data‚Ésteal_countƒƒ“ƒo’ljÁ + mob.c + mob_spawn()C³Asteal_count‚ð0‚ɉŠú‰»‚·‚é‚悤‚É + +EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅHP‚ª32767‚ð’´‚¦‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³i–¢ƒeƒXƒgj + (map/) + pc.c + pc_calcstatus()C³ + +-------------- +//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 + skill.c + skill_readdb()C³‚Æ­‚µC³B + skill_get_inf2() ’ljÁB + skill_db.txt C³B + skill_tree.txt C³B(0478‘O‚Ì•¨) + clif.c + clif_skillinfoblock() C³B + char.c C³B(0478‘O‚Ì•¨) +Ebattle_athena.conf‚Équest_skill_learn’ljÁB + battle.h C³B + 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 + 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 + +-------------- +//0480 by Kalen + +EEventskill’ljÁ + conf/npc_event_skillget.txt + +Emap_athena.conf•ÏX + warp.txt‚Ì“Ç‚Ýž‚Ý—Dæ“x‚ð•ÏX + prt_castle“™A‹ŒEP‚̃[ƒv‚ƈقȂéꊂɕÏX‚³‚ê‚½ê‡ + æ‚É“Ç‚Ýž‚ñ‚¾•û‚ª—D悳‚ê‚é‚Ì‚ÅAEP‚Ì‚‚¢‡‚Ì‚ª‚æ‚낵‚¢‚©‚Æ + conf/map_athena.conf + +-------------- +//0478 by ŒÓ’±—– + +*** + Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX!! (Ž©“®“I‚É•ÏŠ·‚³‚ê‚Ü‚·) + ƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚É! + 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 + + (conf/) + npc_test_skill.txt + ƒTƒ“ƒvƒ‹ + (db/) + skill_tree.txt + ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚µ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’èB + (char/) + char.c + ƒtƒ‰ƒO‚àathena.txt‚É•Û‘¶‚·‚é‚悤‚ÉB + ˆÈ‘O‚ÌŒ`Ž®‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚Ü‚·B + (map/) + pc.c/pc.h + pc_skill(),pc_calc_skilltree()‚È‚ÇC³ + script.c + buildin_skill(),buildin_getskillid()‚È‚ÇC³ + +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) + + atcommand.c/atcommand.h + struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’ljÁ + @questskill,@lostskillˆ—’ljÁ + +-------------- +//0477 by nabe + +Eˆê•”•Ï”‚Ì錾ˆÊ’u‚Ì•ÏX‚Ì‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚µ‚â‚·‚¢‚悤‚ÉjB + 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 + +Enpc‚ªƒLƒƒƒ‰–¼‚ð’‚é‚Æ‚«‚̃oƒOC³ + map/script.c + buildin_strcharinfo()‚ŃLƒƒƒ‰–¼—p‚̃ƒ‚ƒŠ‚ð + static‚ÉŠm•Û‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðAmalloc‚ÉC³B + +-------------- +//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 + map/skill.c + skill_castend_nodamage_id()C³B + +-------------- +//0474 by Ž€_ + +E0471‚̸—û‚ÌŽž•\Ž¦‚³‚ê‚镶Žš‚ÌÝ’è‚ðmap_athena.conf‚©‚çscript_athena.conf‚É•ÏXB + script.c + do_init_script() C³‚Æ­‚µC³B + script.h C³B + script_athena.conf ’ljÁB + map_athena.conf C³B + 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(‘¼—Í–{Šè) + 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) + item_db.txt + ŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX C³B +Etrade.c + trade_tradecommit() C³Bpc_delitem()‚ðŽg‚¤‚悤‚É•ÏXB +¦ƒeƒXƒg‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B + +-------------- +//0473 by Kuro + +Eclass_equip_db‚ðˆê•”C³ + db/class_equip_db.txt + +-------------- +//0471 by hoenny + +»˜B‚ÌŽžo‚镶‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½.(map_athena.conf‚Å’²ß‰Â”\) +‹CŒ÷‚Ì”Žš‚ªŽsœD‚ÌŽžŽÀÛ…˜H•\Ž¦}—ÎC³ + conf/map_athena.conf + refine_posword:’ljÁB + map/map.c + map_config_read()C³B + map/script.h + do_set_posword()’ljÁB + map/script.c + do_set_posword()’ljÁB + buildin_getequipname()C³B + map/skill.c + skill_status_change_start()C³B + +-------------- +//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 + skill.c + skill_produce_mix() C³B + +-------------- +//469 by ”g˜Q + +Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚̃‚ƒ“ƒX–¼‚ðC³ +Eitem_db.txt‚̉ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ðƒWƒ…ƒm[Œã‚Ì‚à‚Ì‚ÉC³ + +-------------- +//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³ + map/skill.c + skill_use_id()@C³ + skill_check_condition()@C³ +E2-2EƒXƒLƒ‹‚̃LƒƒƒXƒgEƒfƒBƒŒƒC’ljÁ + 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³ + doc/client_packet.txt + 0x1e1ƒpƒPî•ñ’ljÁ + map/battle.c + battle_calc_weapon_attack()C³ + map/clif.h + clif_spiritball_cre()’ljÁ + clif_spiritball_del()’ljÁ + map/clif.c + packet_len_table[]C³ + clif_spiritball_cre()’ljÁ + clif_spiritball_del()’ljÁ + clif_changemap()C³ + map/skill.c + skill_castend_nodamage_id()C³ + skill_check_condition()C³ + +-------------- +//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‚¿‚å‚Á‚Æ–Ê“|‚Å‚·‚ª... + +-------------- +//464 by ”g˜Q + +Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ì•”•ª‚ɂ‚¢‚ÄC³(–¢ŽÀ‘•ƒXƒŒ‚É‘‚©‚ê‚Ä‚¢‚½‚à‚Ì‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B + skill.c + skill_use_id()C³ + cast_db.txt + ƒ‚ƒ“ƒNƒXƒLƒ‹’ljÁ + +-------------- +//463 by ŒÓ’±—– + +E462‚̃oƒOC³ + ENPC‚ÌSHOP‚Ì•s“s‡C³ + EREADME‚̊ԈႢC³iwarpwaitingpc‚ªwarpwaitingroom‚É‚È‚Á‚Ä‚¢‚½j + + map.h + struct npc_data‚Ìchat_id‚̈ʒu‚ðC³ + +-------------- +//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 + + map.h + struct npc_data‚Æchat_data‚ðC³ + script.c + buildin_waitingroom(),buildin_warpwaitingpc()’ljÁ + chat.c/chat.h + FXC³ + clif.c + clif_getareachar_npc()Aclif_joinchatok()‚È‚ÇC³ + +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.c/npc.h + npc_parse_*()‚ÌC³ + npc_event_do_oninit(),npc_event_do_oninit_sub()‚ȂǒljÁ + map.c/map.h + do_init()‚Ånpc_event_do_oninit()‚ðŒÄ‚Ԃ悤‚É + struct npc_dataC³ + +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 + + script.c + buildin_getmapusers(),buildin_getareausers()C³ + +Epvp‚̃XƒNƒŠƒvƒgC³ + Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðì‚é‚悤‚É‚µ‚½ + + (conf/) + npc_pvproom.txt + ‘S‚Ä‚ÌNPC‚̃GƒNƒXƒ|[ƒg–¼(pvp??r)Ý’è + OnInit:‚Åwaitingroom‚ðŽÀs‚·‚é‚悤‚É + +-------------- +//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³ + +-------------- +//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‚µ‚Ä‚­‚¾‚³‚¢. + conf/npc_event_ice.txt + checkweightC³ + conf/npc_town_geffen.txt + checkweightC³ + db/item_purplebox.txt + Old_Blue_BoxC³ + map/battle.c + battle_calc_weapon_attack()C³ + map/pc.c + pc_spheal()C³ + pc_calcstatus()C³ + map/script.c + buildin_checkweight()C³ + map/skill.h + SC_ EXPLOSIONSPIRITS’ljÁ + map/skill.c + SkillStatusChangeTable[]C³ + skill_castend_nodamage_id()C³ + skill_check_condition()C³ + +-------------- +//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 + +-------------- +//0457 by Kalen + +EPVPŠÖ˜A‚ÌNPC’ljÁ + conf/npc_pvp.txt + conf/npc_pvproom.txt + +-------------- +//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.c + mob_changestate() C³B +EƒAƒCƒeƒ€‚ð“üŽè‚Å‚«‚È‚¢Žž‚»‚Ì——R‚É“–‚½‚郃bƒZ[ƒW‚ªo‚é‚悤‚É•ÏXB + pc.c + pc_additem() C³B +Ejob_db1.txt‚Ì‚Å–â‘è‚É‚È‚Á‚½.‚ð,‚ÉC³B + +-------------- +//455 by Mr.NO NAME +ENPC‚Ƃ̃AƒCƒeƒ€ŒðŠ·‚┃‚¢•¨ŠÖŒW‚ÌScript‚ªo—ˆã‚ª‚Á‚½“–‰‚Ì +@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚Éæ‚ÁŽæ‚èAˆÈ‰º‚ðC³B + conf/npc_event_ice.txt + npc_event_potion.txt + npc_town_geffen.txti454ˆÈ‘O‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj + map/script.c + buildin_checkweight()‚ðC³B + +-------------- +//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‚Ì‚Æ‚±‚ë‚É‘‚¢‚Ä‚­‚¾‚³‚¢) + common/grfio.c + grfio_setadatafile()’ljÁ + /grfio.h + grfio_setadatafile()’ljÁ + 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 + +-------------- +//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³ + map/battle.c + battle_addmastery()C³ + db/mob_db.txt + ƒ{ƒ“ƒSƒ“C³ + +-------------- +//0449 by Ž€_ + +E•Ï‚É‚È‚Á‚½ŠC³B + const.txt + bAtk‚ÆbDef ’ljÁB + battle.c + battle_calc_weapon_attack()‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + map.h + map_session_data‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + pc.c + pc_calcstatus() C³B + pc_bonus() C³B + item_db.txt‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0446‚Ì•¨) + +-------------- +//0448 by hoenny +E‘‘¬C³(pc_walk()‚©‚ç pc_calcstatus()‚Ɉړ®) +Eő劎—ÊC³ + map/pc.c + pc_calcstatus()C³B + +-------------- +//0447 by ‚䂤 +E“ñ“—¬E–î‚Ì‘®«‚𳂵‚­“K‰ž +EATK‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚ð•ŠíƒTƒCƒYC³‚È‚µ‚Ì’êã‚°‚É•ÏX +EATKEDEF‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚Ì“K‰ž‚ÌŽd•û‚ð•ÏX + +map.h + map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’ljÁ + +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Á‚µ‚½ + +battle.c + battle_calc_weapon_attack() + ƒJ[ƒgATK‚ð’êã‚°ƒ_ƒ[ƒW‚Æ‚µ‚ÄŒvŽZ‚·‚é‚悤‚É‚µ‚½ + +item_db.txt + ƒJ[ƒh‚Ì bonus bAtkAbDef ‚ðíœ + ‚©‚í‚è‚ÉA‘•”õ‚Æ“¯—l‚ÉATK‚ÆDEF‚ðÝ’è + i•ÏX‘O‚ðitem_db2.txt‚Æ‚µ‚Ä‚¢‚é‚Ì‚ÅA•s‹ï‡‚ª‚ ‚ê‚Ζ߂µ‚Ä‚­‚¾‚³‚¢j + + +-------------- +//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³ + map/skill.c + skill_check_condition()C³B + skill_castend_pos2()C³B + +Eƒ~ƒXƒgƒŒƒXƒJ[ƒhC³B + db/item_db.txt + +-------------- +//0445 by Aya + +EŠî–{ASPD‚ÆŒvŽZˆ—‚ðC³B + db/job_db1.txt + map/pc.c +ESPŒW”‚ÆŒvŽZˆ—‚ðC³B + db/job_db1.txt + map/pc.c +EƒXƒLƒ‹–¼‚ðenum‚Å錾‚µA‚»‚ê‚ðŽg‚¤‚悤‚É•ÏXB + map/skill.h + map/battle.c + map/pc.c + map/skill.c +EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹ID‚ªƒXƒ[ƒ|ƒCƒYƒ“‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B + 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 + conf/GM_account.txt +EwarningC³B + map/party.c +EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚µ‚È‚¢‚悤‚É•ÏXB + login/login.c +Eobject_def.batˆÈŠO‘Sƒtƒ@ƒCƒ‹‚̉üsƒR[ƒh‚ðLF‚É•ÏXB +E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–¼‘O•ÏXB + +-------------- +//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 + map.c + do_init() C³B + conf/atcommand_athena.cnf ’ljÁB +Eׂ©‚¢C³B + pc.c + pc_setghosttimer()Apc_skill() C³B + script.c + buildin_skill() C³B +Econf_ref.txt C³B +Eitem_db.txt + ”Þ—‚Ì‘z‚¢C³B + +-------------- +//0442 by ŒÓ’±—– + +E‘‘¬ƒ|[ƒVƒ‡ƒ“ŽÀ‘• + ELv‚âE‹Æ”»’è‚Ís‚¢‚Ü‚¹‚ñ + + (db/) + const.txt + SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’ljÁ + item_db.txt + ‘‘¬ƒ|[ƒVƒ‡ƒ“‚̃XƒNƒŠƒvƒg’ljÁ + (map/) + skill.c + skill_status_change_start()C³ + pc.c + pc_calcstatus()C³ + +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 + + (conf/) + npc_pvp.txt + pvpƒtƒ‰ƒO‚ð“ü‚ê‚éƒTƒ“ƒvƒ‹B + nosaveƒtƒ‰ƒO‚âŽó‚¯•t‚¯npc‚È‚Ç‚ð’ljÁ‚·‚é‚Æ‚æ‚¢‚ÆŽv‚í‚ê‚éB + (map/) + clif.c + clif_parse_LoadEndAck()C³ + npc.c + npc_parse_mapflag()C³ + skill.c + skill_castend_nodamage_id()C³ + pc.c + pc_damage()ˆø”C³ + atcommand.c + pc_damage()ˆø”C³‚É”º‚¤C³ + 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‚¤‚悤‚É + + skill.c + skill_castend_id()‚Å“G–¡•û”»’è + atcommand.c + ŠeƒRƒ}ƒ“ƒhC³ + +-------------- +//0440 by ’†‚Ìl + +E–{‰Æ‚ðÄŒ»‚·‚é•ûŒü‚È‚çˆÓ–¡‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª +@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“¾v‚ðŽáŠ±•ÏX‚µ‚Ä + ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆêŽžK“¾‚ÌÛ‚Å‚à1ƒŒƒxƒ‹ˆÈã‚ðÝ’è‚Å‚«‚é‚悤‚É’v‚µ‚Ü‚µ‚½B + +@’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 + map.h + enum‚ÉMF_NOBRANCH ’ljÁB + npc.c + npc_parse_mapflag() C³B + pc.c + pc_useitem() C³B +ƒ\[ƒX‰˜‚­‚µ‚Ä‚µ‚Ü‚Á‚½‚©‚àEEE. +•×‹­•s‘«‚Å‚· + +-------------- +//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³ + +-------------- +//0436 by hoenny +Emorocc •óΤl‚ÌC³ + conf/npc_shop.txt +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽÀ‘•(AlchemistŽƒ\[ƒX‚ðŽQÆ‚ ‚肪‚Æ‚¤I) + map/skill.c +ˆÈ‘O‚É•¶Žš‰»‚¯‚Í’á‚Ì‚¹‚¢! +ŽŸ‚©‚ç‹C‚ð•t‚¯‚Ü‚·. + +-------------- +//0434 by Avethes + +Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚Ös‚­NPCC³ +Eƒ†ƒm[NPCC³ +i‘O‰ñ‚̃oƒO‚Í‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½j + +-------------- +//0433 by Ž€_ + +E»‘¢ƒoƒOC³B + ‰½ŒÌ‚©‚Í‚í‚©‚ç‚È‚¢‚ªskill.c‚Ìskill_readdb()‚ª•Ï‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B(Ž©•ª‚ª‚â‚Á‚½C³‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) + skill.c + skill_readdb() C³B + +-------------- +//0432 by Ž€_ + +E0429‚ňꕔ‚̃AƒCƒeƒ€‚̃XƒLƒ‹‚ªo‚È‚¢–â‘èC³B + 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‚í‚ꂽ‚è‚à‚µ‚Ü‚·‚ª...) + mob.c + mob_changestate() C³B +EŽI‚ÉÚ‘±‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚悤‚É•ÏXB + char.c C³B + conf_ref.txt C³B + char_athena.cnf C³B + +-------------- +//0430 by Avethes + +E‚m‚o‚bŠÖŒWB‚Ù‚Æ‚ñ‚ǃeƒXƒgB +–{‰Æ‰ï˜bî•ñ‚ª‘µ‚¦‚ÎC³B + +-------------- +//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 + pc.c + pc_resetskill() C³B + script.c + buildin_resetstatus()Abuildin_resetskill() ’ljÁB +E0425‚Ì‘±‚«‚Å­‚µC³B + 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.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B +Eƒƒ‚‚Ìő唂ð10ŒÂ‚É•ÏXB(‚ ‚­‚Ü‚Å‚àŠg’£‚ׂ̈̕¨‚Å‚·B‚Ü‚¾‹@”\‚Í‚µ‚Ü‚¹‚ñB) + mmo.h + struct mmo_charstatus‚Ìmemo_point‚ð3‚©‚ç10‚É•ÏXB + 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 + +-------------- +//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 + +-------------- +//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 + + itemdb.c + itemdb_read_itemnametable()’ljÁ + do_init_itemdb()C³ + +Eƒf[ƒ^ƒx[ƒX“Ç‚Ýž‚Ý•”‚Ì•sˆÀ’è«‚ÌC³(Œ‹\’v–½“I‚¾‚Á‚½‚Ý‚½‚¢‚Å‚·) + ‚È‚­‚Ä‚à–â‘è‚È‚¢DBiitem_value_db.txt‚È‚Çj‚̃tƒ@ƒCƒ‹‚ª‚È‚¢ê‡‚É + ŽI‚ª—Ž‚¿‚½‚è‚·‚錻ۂª”­¶‚µ‚Ä‚¢‚½ê‡‚Í‚±‚ê‚Å’¼‚Á‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ. + + skill.c + skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁ + itemdb.c + item_readdb()‚ð•¡”‚É•ª‚¯‚½B + ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ì“Ç‚Ýž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚½B + do_init_itemdb()C³ + +Eׂ©‚¢ƒoƒOC³ + Eƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŠJ‚­‚Ü‚Å‚Ì•b”’²® + + skill.c + skill_unitsetting()C³ + +E‚»‚Ì‘¼C³iby –^MŽj + db/job_db1.txt + ‚¿‚傱‚Á‚ÆC³ + db/job_db2.txt + 2-2ŽŸE‚Ì‘«‚è‚È‚¢Jobƒ{[ƒiƒX‚ð’ljÁ(ŽQl:R.O.M 776) + conf/npc_town_kafra.txt + ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“®ì–¢Šm”F) + conf/npc_shop3.txt + ƒWƒ…[ƒm”Ì”„NPC(E‚¢•¨) + conf/npc_town_yuno.txt + ƒWƒ…[ƒmNPC(E‚¢•¨‚ð‰ü—ÇB“®ì–¢Šm”F) + +-------------- +//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 + pc.c + pc_attack_timer()Apc_damage()Apc_walk() C³B + map.c + map_quit() C³B + mob_db.txt + ƒrƒbƒOƒtƒbƒg‚Ìmode‚ðC³(ƒAƒNƒeƒBƒu‚É‚È‚Á‚Ä‚¢‚½ˆ×) + clif.c + clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A + clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() C³B + mob.c + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A + mob_walk() C³B + pet.c + pet_walk() C³B + +-------------- +//0424 by hoenny + +EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’ljÁ + db/item_db.txt +Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ñ‚Å, ‚¿‚å‚Á‚ÆC³ + conf/npc_warp30.txt +E‘¼‚̃T[ƒo[‚ª—Ž‚¿‚Ä‚à•œ‹Œ‚³‚ê‚é‚悤‚ÉC³ + /startƒNƒŠƒbƒv + +-------------- +//0420 by g—t + +EEP 3.0‚ł̃J[ƒhŒø‰Ê•ÏX‚ɉð‚é”͈͂őΉžB +@‚Ù‚Ú‘S‚Ä‚Ì•ÏX“_‚ɂ‚¢‚ÄAo—ˆ‚éŒÀ‚èC³‚µ‚Ä‚ ‚è‚Ü‚·B +@ATKC³‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚é‚悤‚Ȃ̂ŒljÁ‚µ‚Ä‚ ‚è‚Ü‚·B(ƒAƒ“ƒhƒŒC‚È‚Ç) + +-------------- +//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 + script.c + buildin_getitem() C³B + 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) + itemdb.h + struct random_item_data ’ljÁB + 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 + clif.c + clif_spawnpet() C³B + pet.c + pet_change_name() C³B +E0418‚ð­‚µC³B(if•¶‚ÌðŒ‚ð­‚µC³‚µ‚½‚¾‚¯‚Å‚·B) + +-------------- + +//0418 by hoenny +E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –½—ߌêŽg—p‚̧ŒÀ +clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage C³ + map/clif.c + +-------------- +//0417 by ‚ê‚  + +E0412‚Åitem_db.txt‚ª‚¨‚©‚µ‚­‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ + +-------------- +//0416 by g—t + +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 + +-------------- +//0415 by ’†‚Ìl + +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 + +-------------- +//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 + char/int_guild.c + char/int_party.c + conf/battle_athena.cnf + db/mob_db.txt + doc/conf_ref.txt + login/login.c + map/atcommand.c + map/battle.c + map/battle.h + map/clif.c + map/itemdb.c + map/map.c + map/map.h + map/mob.c + map/npc.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 + +-------------- +//0412 by ‚¢‚Ç + +Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚ÌÄ®— +@ ‹ŒŒfŽ¦”‚Ŏw“E‚Ì‚ ‚Á‚½Ž–€‚ɂ‚¢‚Ä‘å‘͈̂̔͂ÅC³ + snapshot387‚̃o[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ÉC³‚µ‚Ü‚µ‚½B + 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) + @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, + @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 + skill.c + FXC³ + skill.h + enum‚ÌC³‚È‚Ç +-------------- +//0407 by Ž€_ + +Eƒyƒbƒg‚̃oƒOC³B(‚½‚¾Ž©•ª‚ÅÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–â‘è‚É‚È‚è‚»‚¤‚ÈŠ‚¾‚¯C³‚µ‚Ü‚µ‚½B) +Eƒyƒbƒg‚̈ړ®‘¬“x‚ðpet_db‚ɒljÁB + pet.h + struct pet_db‚Éspeed’ljÁB + pet.c + pet_catch_process2()Aread_petdb() C³B + 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 + map.h + MAX_LEVEL’ljÁB + 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 + battle.h + struct Battle_Config‚Éattr_recover ’ljÁB + 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 + + map.h + MAX_STATUSCHANGE‚ð128‚ÉC³ + pc.c + pc_calcstatus()C³ + skill.c/skill.h + enum‚ðC³ + skill_status_change_start()C³ + battle.c + battle_calc_weapon_attack()‚È‚ÇC³ + +-------------- +//0400 by AppleGirl + +Can Someone Help Me. +2-2 Skills added. +All The Mastery Skills. +SpearQuicken,Providence +New Bard Skill Assassin Cross Of Sunset +Providence +Frost Joke +Apple of Idun +Service For You +Meteor Strike (Different Style) +Assassin Cross Of Sunset (not tested) +All Masteries Done +Providence +Musical Strike +Throw Arrow +Frost Weapon << (Problems with elements)? +Flame Launcher << (Problems with elements)? +Seismic Weapon << (Problems with elements)? +Lightning Loader << (Problems with elements)? +Spirit Recovery +Potion Pitcher (Tato) +Axe Mastery (Tato) +Spear Quicken +Not Totally Working: +Combo Finish +Quadruple strike +Triple Attack +(skills in skill.c) (need to be finished.) +CP_ARMOR +CP_HELM +CP_SHIELD +CP_WEAPON +STRIP_HELM +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 +there are many many BUGS in this update(400) !! Be careful !! + +-------------- +//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.c + mob_ai_sub_hard()C³ + mobskill_event()C³ + mobskill_use()C³ + skill.c + skill_attack()C³ + +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ŽÀ‘• + + (db) + skill_db.txt + ƒXƒ‚[ƒLƒ“ƒO‚È‚Ç‚ðC³ + (map/) + skill.c + skill_castend_damage_id(),skill_castend_nodamage_id()C³ + battle.c + battle_calc_misc_damage()C³ + +E–¢ŠÓ’èƒAƒCƒeƒ€‚ª‘•”õ‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ +E–¢ŠÓ’èƒAƒCƒeƒ€‚ɃJ[ƒh‚ª‚³‚¹‚È‚­‚È‚è‚Ü‚µ‚½ + + pc.c + pc_equipitem(),pc_insert_card()C³ + clif.c + clif_use_card()C³ + +Ebattle_athena.cnf‚ÉMOB‚Ì”z’uŠ„‡‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E”z’u”‚ª‚P‚ÌMOB‚ɂ‚¢‚Ä‚Í“K—p‚³‚ê‚Ü‚¹‚ñ + EŒvŽZŒã‚Ì”z’u”‚ª‚P–¢–ž‚ÌꇂP‚ÉC³‚³‚ê‚Ü‚·B + + (conf/) + battle_athena.cnf + mob_count_rate’ljÁ + (doc/) + conf_ref.txt + C³ + (map/) + battle.c/battle.h + struct BattleConfig ‚É mob_count_rate ƒƒ“ƒo’ljÁ + npc.c + npc_parse_mob()‚ÌC³ + +Eƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚ª‘ŠŽè‚ª‚P•C‚Å‚à‚Æ‚è‚ ‚¦‚¸“–‚½‚é‚悤‚É‚È‚Á‚½B + + skill.c + skill_castend_damage_id()C³ + +EŠw¶–X쬃Cƒxƒ“ƒg‚ÌC³ + + (conf/) + npc_event_making.txt + ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ÉB + +EƒpƒPƒbƒgî•ñC³ + + (doc/) + client_packet.txt + 0199ƒpƒPƒbƒgC³ + +-------------- +//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³ + +-------------- +//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.c + mob_ai_sub_hard_mastersearch()C³ + mob_can_move()’ljÁ + mob_ai_sub_hard()C³ + +EMOB‚Ìs“®C³ + EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ + E‰r¥‚Ì‚È‚¢ƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚È‚¢‚悤‚ÉC³(Ž€–SŽžˆ—‘Îô) + + mob.c + mobskill_use(),mobskill_use_id()C³ + +EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽÀ‘• + EƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽí—Þ‚ª‚í‚©‚ç‚È‚¢‚à‚Ì‚Í‘S‚Äu!v‚É‚È‚è‚Ü‚·B + ”²‚¯‚Ä‚¢‚éƒf[ƒ^‚ð–„‚ß‚Ä‚­‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B + + (db/) + mob_skill_db.txt + ‚¢‚­‚‚©‚ÌMOB‚̃Gƒ‚[ƒVƒ‡ƒ“‚Ì€–Ú‚Ì’l1‚ÉŽí—Þ‚ð“ü‚ꂽB + + (map/) + skill.c + skill_castend_nodamage_id()C³ + clif.c/clif.h + clif_emotion()’ljÁ + +EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–¼•C³ + + (doc/) + client_packet.txt + ƒGƒ‚[ƒVƒ‡ƒ“‚Ìà–¾’ljÁ + +E‚Ç‚¤‚â‚çŽæ‚芪‚«MOB‚ÌŽí—ނ͌¢ƒf[ƒ^‚¾‚Á‚½‚Á‚Û‚¢‚Å‚·B + ‚µ‚©‚àMOB¢Š«‚ł͎艺¢Š«‚ƈႤMOB‚𢊫‚·‚é‚Ý‚½‚¢‚Å‚·‚ËB + Ú‚µ‚¢l‚Ímob_skill_db.txt‚𒼂µ‚Ä‚­‚ê‚é‚ÆB + +-------------- +//0393 by ‚¢‚Ç + +EcharŽI‚Å‚ÌloginŽI‚̃|[ƒgÝ’è‚ð6900‚ɌŒ肵A•ÏX‚Å‚«‚È‚¢‚悤‚É‚µ‚½ +@(login‘¤‚Ń|[ƒg6900ŒÅ’è‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Åchar‘¤‚à‚»‚ê‚ɇ‚킹‚Ü‚µ‚½B) + char/char.c + conf/char_athena.cnf + doc/conf_ref.txt + +-------------- +//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³ + + map.h + struct mob_data‚Ì skilldelay‚ð”z—ñ‚É‚µ‚Äunsigned int‚É•ÏX + mob.h + struct mob_skill‚Ìcasttime,delay‚ðint‚É•ÏX + mob.c + mob_ai_sub_hard_mastersearch()’ljÁ + 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 + + (db/) + mob_skill_db.txt + Žè‰º¢Š«‚Ȃǂ̃f[ƒ^C³ + + (map/) + skill.c + skill_castend_nodamage_id()C³ + +-------------- +//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ƒ^[‚ª‚¢‚È‚­‚È‚é‚Æ‚¢‚¢‚Å‚·‚ª...) + 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‚¢‚Ü‚·‚Ì‚Å...) + map.h + MAX_FLOORITEM ’ljÁ(‚±‚ê‚ð•Ï‚¦‚é‚Æ°ƒAƒCƒeƒ€‚Ìő唂ð•Ï‚¦‚é + ‚±‚Æ‚ª‚Å‚«‚Ü‚·B¡‚Í100000‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚½‚¾‚±‚ê‚Í•K‚¸ + 500000ˆÈ‰º‚É‚µ‚Ä‚­‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚Ƴ‚µ‚­“®‚­‚©‚Ç‚¤‚© + •ÛØ‚Å‚«‚Ü‚¹‚ñB) + map.c + map.h‚ɇ‚킹‚Ä­‚µC³B + npc.h + START_NPC_NUM ’ljÁB + npc.c + npc.h‚ɇ‚킹‚Ä­‚µC³B + login.h + START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’ljÁB + login.c + login.h‚ɇ‚킹‚ÄC³BEND_ACCOUNT_NUMˆÈã‚Éaccount‚ð + ì‚ê‚È‚¢‚悤‚É•ÏXB +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒ¤‹†‚ð‚Q‰ñ“K—p‚·‚é‚悤‚É•ÏXB + (Œ‹‹Ç‚ÍŒ³‚É–ß‚·‚±‚Æ‚É‚È‚è‚Ü‚µ‚½...^^;) + battle.c + Damage battle_calc_weapon_attack() C³B +Emob‚̃XƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB + mob.c + mobskill_use() C³B + battle.h + battle.c + struct Battle_Config‚Émob_skill_use’ljÁB + 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‚È‚Ì‚Å...) + +-------------- +//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 + + (common/) + version.h + MODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚ÉB + (tool/) + checkversion + MODƒo[ƒWƒ‡ƒ“‚ð•\Ž¦‚·‚é‚悤‚ÉB + (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 + + (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 ‚¢‚Ç + +E388‚Ì•ÏX + ƒo[ƒWƒ‡ƒ“î•ñ‚ðcommon/version.h“à‚̒蔂ðŽg—p‚·‚é‚悤‚É•ÏX + +-------------- +//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 + + ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚è‚ÍAƒT[ƒo[‚̶‘¶Šm”F—p‚Æ‚¢‚Á‚½‚©‚ñ‚¶‚Å‚· + ƒpƒPƒbƒg7530/7531‚ÌÚׂ̓\[ƒX‚ðŒ©‚Ä‚­‚¾‚³‚¢B + + (tool/) + checkversion + ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg + + (login/) + login.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + (char/) + char.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + (map/) + clif.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + +E384ˆÈ‘O‚Ìathena.txt‚à“Ç‚Ýž‚ß‚é‚悤‚É‚µ‚Ü‚µ‚½ + Econvert‚ª–Ê“|‚ÈlŒü‚¯B + E³‚µ‚­“Ç‚Ýž‚ß‚é•ÛØ–³‚µBƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚ÉB + + (char/) + char.c + 384‚Ì•ûŽ®‚Å“Ç‚Ýž‚ß‚È‚¢ƒf[ƒ^‚Í384ˆÈ‘O‚Ì•ûŽ®‚àŽŽ‚·‚悤‚ÉB + +Econf_ref.txt/help.txt/getaccountC³ + help.txt + petƒRƒ}ƒ“ƒh‚Ìà–¾’ljÁ + (doc/) + conf_ref.txt + petŠÖ˜A‚ÌÝ’è‚Ìà–¾’ljÁ + (tool/) + getlogincount + •\Ž¦‚ÌC³ + +-------------- +//387 by ‚¢‚Ç +EconfƒtƒHƒ‹ƒ_“à‚ÌNPC’è‹`ƒf[ƒ^‚Ì®— + ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ð휂µ‚Ü‚µ‚½ + 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‚É“‡) + + ˆÈ‰º‚̃tƒ@ƒCƒ‹‚Ì–¼‘O‚ð•ÏX‚µ‚Ü‚µ‚½ + npc_monster3.txt -> nop_monster2E.txt + npc_monster3J.txt -> npc_monster25.txt + npc_monster.txt -> npc_monsterE.txt + npc_monsterJ.txt -> npc_monster.txt + npc_sampleJ.txt -> npc_sample.txt + npc_script3j.txt -> npc_script2.txt + npc_script25J.txt -> npc_town_lutie.txt + npc_shop1J.txt -> npc_shop_test.txt + npc_shop2J.txt -> npc_shop_mobtim.txt + npc_shop3J.txt -> npc_shop2.txt + npc_shop.txt -> npc_shopE.txt + npc_shopJ.txt -> npc_shop.txt + npc_testJ.txt -> npc_test.txt + 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 ŒÓ’±—– + +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.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 + @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‚È‚¢‚悤‚É + 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 + battle.c + Damage battle_calc_weapon_attack() C³B + +-------------- +//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.c/mob.h + mob_ai_sub_lazy(),mob_ai_sub_hard()C³ + MSS_LOOT’ljÁ,mob_readskilldb()C³ + +EMOBƒXƒLƒ‹‚Ì‘®«•ÏX‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + + map.h + struct mob_data‚É def_eleƒƒ“ƒo’ljÁ + mob.c + mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚é‚悤‚É•ÏX + battle.c + battle_get_element()‚Ådef_ele‚ð“ǂނ悤‚É•ÏX + skill.c + skill_castend_nodamage_id()C³ + +EƒNƒ@ƒOƒ}ƒCƒA‚ÌŒø‰Ê”͈͂©‚ço‚é‚ÆŒø‰Ê‚ªØ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + skill.c + ƒ†ƒjƒbƒgŒnˆ—C³ + +-------------- +//380 by ‚`‚Ìl + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZŽÀ‘• + battle.c‚ð•ÏXB + +CHRIS‚³‚ñA‚ ‚肪‚Æ‚¤ŒäÀ‚¢‚Ü‚·B +ƒmƒbƒNƒoƒbƒNŽÀ‘•‚Å‚«‚È‚­‚ÄA¢‚Á‚Ä‚Ü‚µ‚½i„ƒG + +-------------- +//379 by CHRIS + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ÌŽÀ‘• + skill.c‚Æbattle.c‚ð•ÏXB + +Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’ljÁB + battle.c‚ð•ÏXB + +iƒ\[ƒX‚ð˜M‚Á‚½‚͉̂‚ß‚Ä‚È‚Ì‚ÅA—L‚Á‚Ä‚é‚©‚Ç‚¤‚©•ª‚©‚è‚Ü‚¹‚ñ‚ªAŽ©•ª‚Å‚Ío—ˆ‚Ü‚µ‚½Bj +iƒvƒƒOƒ‰ƒ€ŠÖŒW‚̑Ђ𔃂Á‚ĕ׋­‚µ‚ĉ‚߂ĘM‚Á‚½‚Ì‚Å‚·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj + +-------------- +//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.c + mob_randomwalk()’ljÁ + mob_ai_sub_lazy(),mob_ai_sub_hard()C³‚È‚Ç + +EƒXƒLƒ‹C³ + EMOB‚ªƒeƒŒƒ|[ƒg‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + 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Œ¸­Œø‰ÊŽÀ‘• + + battle.c + battle_get_*()C³ + battle_calc_weapon_damage()C³ + mob.c + mob_get_speed(),mob_get_adelay()’ljÁ + pc.c + pc_calcstatus()C³ + +Eitem_value_db.txt‚ŃAƒCƒeƒ€‚̉¿Ši‚ðÝ’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E‰¿Šiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B + E‚±‚ê‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB + + (db/) + item_value_db2.txt + item_db2.txt‚̉¿Šiƒf[ƒ^B + item_value_db.txt‚ɃŠƒl[ƒ€‚·‚é‚Æ“Ç‚Ýž‚Ý‚Ü‚·B + (map/) + itemdb.c + itemdb_readdb()C³ + +EŒÃ–Ø‚ÌŽ}‚ðŽg‚¤‚ÆMOB‚Ì–¼‘O‚ª 0 ‚É‚È‚é–â‘è‚ÌC³ + + (db/) + item_db.txt + ŒÃ–Ø‚ÌŽ}‚̃f[ƒ^C³ + +-------------- +//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 + + (db/) + skill_db.txt + MOB—pƒXƒLƒ‹‚̃f[ƒ^‚ðC³ + mob_skill_db.txt + ­‚µ’ljÁ + (map/) + skill.c + skill_castend_damage_id()C³ + skill_status_change_start()C³ + skill_additional_effect()C³ + battle.c + battle_calc_weapon_attack()C³ + +EƒXƒLƒ‹‚ð­‚µC³ + EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ªŽ€‚ñ‚Å‚¢‚Ä‚àŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘èC³ + + skill.c + skill_status_change_timer()C³ + +EMOBƒf[ƒ^‚ª•Ï‚È‚Ì‚Å–^‚v‚̃f[ƒ^ƒx[ƒX‚ð—¬—p‚µ‚Ä‚Ý‚é + Eƒf[ƒ^‚Ì•À‚ч‚Æ‚©‘S‚­“¯‚¶‚È‚ñ‚Å‚·‚Ë + + (db/) + mob_db.txt + –^‚v‚Ìmob_db.txt + +EŠeŽíconf‚̃Šƒtƒ@ƒŒƒ“ƒX‚ð“Y•t + ‚ ‚­‚܂ŃŠƒtƒ@ƒŒƒ“ƒX‚È‚Ì‚ÅAHowTo‚È‚ñ‚©‚Í‘‚¢‚Ä‚Ü‚¹‚ñB + + (doc/) + conf_ref.txt + conf‚̃Šƒtƒ@ƒŒƒ“ƒX{ƒ¿ + + +-------------- +//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 + + (db/) + mob_skill_db.txt + MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–¢Š®¬) + ƒeƒXƒg—p‚̃f[ƒ^‚µ‚©“ü‚Á‚Ä‚Ü‚¹‚ñB + (map/) + mob.c/mob.h + mobskill_*’ljÁA‚»‚Ì‘¼‘½”C³ + map.h + struct mob_data ‚É skill* ’ljÁ + skill.c/skill.h + skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚³‚¹‚½ + battle.c + battle_calc_damage()‚È‚ÇC³ + +EƒMƒ‹ƒh‚̃XƒLƒ‹‚ªG‚ê‚È‚¢–â‘èC³ + E‚¢‚‚̂܂ɂ©pc_skillup‚ªŒÃ‚¢‚à‚Ì‚É•Ï‚í‚Á‚Ä‚¢‚½‚Ì‚ÅC³ + + pc.c + pc_skillup(),pc_checkskill()C³ + +-------------- +//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.c + mob_ai_sub_hard*()C³ + mob_can_reach()’ljÁ + +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³ + + +---------- +//364 by ‚¢‚Ç +EˆÈ‰º‚̃pƒPƒbƒg‚Ìà–¾‚ð•ÏX + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0081 .B + +E363‚Ńrƒ‹ƒhŽž‚Éwarning‚ªo‚é•s‹ï‡‚ðC³ + map/guild.h + +-------------- +//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³ + + (char/) + int_guild.c + guild_calcinfo(),mapif_parse_GuildAddMember()C³ + (map/) + guild.c + guild_member_leaved(),guild_member_added() + guild_recv_info(),guild_break()C³ + +-------------- +//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Á + clif.c/clif.h + clif_guild_broken(),clif_parse_GuildBreak()’ljÁ + intif.c/intif.h + intif_parse_GuildBroken()’ljÁ + +-------------- +//361 by ‚¢‚Ç + +E360‚Å‚Ì@heal‚Ì•ÏXŠÔˆá‚¢‚ð’ù³ + map/atcommand.c + +-------------- +//360 by ‚¢‚Ç + +E353‚ÌC³‚ðíœ +E@heal‚Å•ÏXŒã‚Ì’l‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚ÉC³ + +-------------- +//359 by ‚¢‚Ç + +Eclass_equip_db.txt‚Ì•¶Žš‰»‚¯C³ + +-------------- +//358 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚Ìdelete_timer‚̃Gƒ‰[‚ðo‚È‚¢‚悤‚É‚µ‚½ + pc.c + pc_authok()‚ÌC³ + +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()‚ɉü–¼ + guild.c/intif.c + FXC³ + +E@guildlvupƒRƒ}ƒ“ƒhì¬BƒMƒ‹ƒhƒŒƒxƒ‹‚ª’²®‚Å‚«‚Ü‚·B + + (char/) + int_guild.c + FXC³ + (map/) + atcommand.c + @guildlvupˆ—’ljÁ + +EMakefike‚Ìclean•”•ª‚ðC³ + + (char/ map/ login/) + Makefile + E휂·‚éŽÀsƒtƒ@ƒCƒ‹‚̃pƒX‚ð ../athena/ ‚©‚ç ../ ‚ÉC³ + +-------------- +//357 by ŒÓ’±—– + +Epc.c‚Ì•¶Žš‰»‚¯C³ + •¶Žš‰»‚¯‚µ‚½ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ì‚àA‚»‚ê‚ð‰ü‘¢‚·‚é‚Ì‚à‹ÖŽ~‚µ‚Ü‚¹‚ñ‚©H + ’¼‚·‚Ì–Ê“|‚­‚³‚·‚¬‚Ü‚·B + + pc.c + •¶Žš‰»‚¯‚ÌC³ + +Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠ©—U‚³‚ꂽó‘ԂŃ}ƒbƒvˆÚ“®‚⃃OƒAƒEƒg‚·‚é‚ÆA + Š©—U‚ð‹‘”Û‚·‚é‚悤‚ÉC³ + + pc.c + pc_setpos()C³ + map.c + map_quit()C³ + +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 + + start + mapŽIŽ©“®•œ‹ŒƒVƒXƒeƒ€‚̃VƒFƒ‹ƒXƒNƒŠƒvƒg + + +-------------- +//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) + login.c + int mmo_auth() C³B + login_athena.cnf + new_account ’ljÁB +Echar.cAlogin.cAinter.cAmap.cAbattle.c‚ňꕔ‚Ìstrcmp‚ðstrcmpi‚É•ÏXB + +-------------- +//355 by ‚䂤 + +E¶Žè‘•”õ‚àl—¶‚µ‚½“ñ“—¬‚ÉC³ +@iƒ_ƒ[ƒWŒvŽZ‚Ì‚Ý‚ÅŒ©‚½–Ú“™‚Í•ÏX‚È‚µj + +map.h + map_session_data‚ɶŽè—p‚Ì•Ï”‚ð’ljÁ + +battle.h + battle_get_attack_element2()’ljÁ + +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 + +pc.c + pc_calcstatus()‚ɶŽè—p‚Ì•Ï”‚É’l‚ð“ü‚ê‚鈗‚ð’ljÁ + pc_equipitem()‚Ì“ñ“—¬‘•”õ‚Ìꊂª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ + +-------------- +//353 by ‚¢‚Ç + +EYare-launcher‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚é‚悤‚ÉMakefile‚Æathena.sh‚ð•ÏX + +-------------- +//352 by ŒÓ’±—– + +E‰r¥’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ + skill.c + skill_castend_id(),skill_castend_pos(),skill_castend_map()C³ + map.c + map_quit()C³ + + +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‚ÍŽ‚¿‚Ü‚¹‚ñ + + (tool/) + backup + ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg + +-------------- +//0351 by Ž€_ +skill.c + skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒXƒ^[‚̈—‚ð•ÏXB(UŒ‚ó‘ԈȊO‚Ìê‡ + ‰r¥”½‰ž‚ðÅ—Dæ‚É‚µ‚Ü‚·B) +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 +char.h + CHAR_CONF_NAME ’ljÁB +char.c + do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆCHAR_CONF_NAME‚ð + Žg‚¤‚悤‚É•ÏXB +map.h + MAP_CONF_NAME ’ljÁB +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 + +-------------- +//0345 by Ž€_ +EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽÀ‘•B + 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‚â‚èŽÀ‘• + + 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Ý’èŠÖ” + 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); + int pet_hungry_change( int tid, unsigned int tick, int id,int data ); + int pet_status_int(struct map_session_data *sd); + 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 + map.h + LOOTITEM_SIZE‚ð20‚ÉC³B + struct mob_data‚Éint lootitem_count ’ljÁB + 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 + battle.h + struct Battle_Config‚Éint monster_loot_type ’ljÁB + battle.c + battle_config_read() C³B + 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 + +-------------- +//0340 by Ž€_ +EmvpƒoƒOC³B + 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‚Å‚·‚ª...) + +---------- +//339 by ‚¢‚Ç + +E338‚ð“K—p‚µ‚½ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚ª”­¶‚·‚é•s‹ï‡‚ðC³ + +---------- +//338 by ‰ß‹Ž‚Ìli1 + +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’† + + (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 + + battle.h/battle.c + E@battle_config.pet_rate•Ï”‚ð‘‚₵‚Ü‚µ‚½Bmob‚ɑ΂·‚é—‘‚ÌŠl“¾—¦ + @@‚ðÝ’è‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚· + + 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‚ð“ü‚ê‚éŠÖ”‚Å‚· + + E do_init_pet() + @mapŽI‰Šú‰»‚Å‚æ‚Ñ‚¾‚µpet_db[]‚ðŽg‚¦‚é‚悤‚É‚·‚éˆ×‚Ì + ƒyƒbƒgî•ñ‰Šú‰»ŠÖ”‚Å‚·B + + map.c/map.h + E@BL_PET•Ï”‚ð‰Á‚¦‚Ü‚µ‚½ + E@mapŽI‰Šú‰»‚ÌŽž‚Édo_init_pet()‚ðŒÄ‚Ño‚µ‚Ü‚·B + + mmo.h + E@s_pet\‘¢‘Ì‚É•Ï”’ljÁBƒLƒƒƒ‰ƒNƒ^[‚ªƒyƒbƒg‚̃f[ƒ^‚ð•ÛŽ‚·‚éˆ×‚̃VƒXƒeƒ€ + @‚̈סŒã‚à•Ï”‚Í‚»‚̂‚Ǒ‰Á‚·‚é—\’è + + npc.c + ‰ü‘P‚µ‚Ü‚µ‚½B + + (conf/) + battle_athena.cnf‚É—‘‚ÌŠl“¾Šm—¦pet_rate‚ð‰Á‚¦‚Ü‚µ‚½B + +---------- +//337 by ŒÓ’±—– + +EƒMƒ‹ƒh‚̒ljÁ‚ÆC³ + EƒMƒ‹ƒh‚ÉŒoŒ±’l‚ðã”[‚·‚é‚ÆAã”[‚³‚ê‚éEXP‚ªˆÙí‚È’l‚É‚È‚éƒoƒOC³ + EƒMƒ‹ƒh‚Ì“G‘Ί֌W‚̒ljÁ + + guild.c/guild.h + guild_payexp()‚ÌC³(ã”[EXPˆ—) + guild_opposition()’ljÁ + guild_allianceack(),guild_reqalliance(), + guild_reply_reqalliance()‚ÌC³ + clif.c/clif.h + clif_guild_oppositionack(),clif_parse_GuildOpposition’ljÁ + +EƒfƒBƒŒƒCŽžŠÔ‚ªdex‚̉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚ðbattle_athena.cnf‚É‘‚¯‚é‚悤‚É + + (conf/) + battle_athena.conf + delay_dependon_dex ‚ð’ljÁ + (map/) + skill.c + skill_delay_fix()‚ÌC³ + 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 + +---------- +//334 by C}{RIS + +E‚ ‚Ղ낾‚Ì332.txt‚ðpet_db.txt‚Æ‚µ‚Ä“¯«B + +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 + +---------- +//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 + 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Á + +EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ì•ÏX‚ªƒ}ƒbƒvŽI‚ðÄ‹N“®‚µ‚È‚¢‚Æ—LŒø‚É‚È‚ç‚È‚¢ƒoƒOC³ + + guild.c/guild.h + guild_emblem_changed‚ÌC³ + +---------- +//331 by ‰ß‹Ž‚Ìli1 + +EƒyƒbƒgƒVƒXƒeƒ€C³(Š®¬“x25%) + + 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 + + (common/) + mmo.h + s_pet ƒyƒbƒg\‘¢‘Ì‚Épet_item_id‚ð’ljÁ + + (map/) + clif.c + clif_birthpet()‚ðC³B³‚µ‚­—‘‚ªŒ¸‚éA³‚µ‚¢—‘‚ÌID‚ðŽæ“¾‚·‚é‚悤C³ + ‚±‚ê‚É‚æ‚Á‚ÄA³‚µ‚­npc_petŠÖ”‚ª“®‚«‚Ü‚·B + + clif_spawnnpc()‚ðC³iWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ÆA”’l‚ð26‚©‚ç36‚Ö•ÏX‚µ‚Ü‚µ‚½) + ‚±‚ê‚É‚æ‚Á‚ăyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + + npc.c + npc_pet()‚ðC³B + + pet.c/pet.h + ƒyƒbƒgŠÖ˜A‚Ìׂ©‚ÈŠÖ”‚ð‚±‚¿‚ç‚É‚Ü‚Æ‚ß‚éˆ×A’ljÁ‚µ‚Ü‚µ‚½B + Œ»Ý‚̓yƒbƒg‚Ì”»’èŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä‚ ‚è‚Ü‚·B + + script.c + “Á‚É‘å‚«‚ÈC³‚Í‚ ‚è‚Ü‚¹‚ñB +---------- +//330 by ‰ß‹Ž‚Ìli1 + +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 + + (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‰Â”\‚É‚·‚é) + (common/) + mmo.h + s_pet@ƒyƒbƒg\‘¢‘̒ljÁ + mmo_charstatus@ƒyƒbƒg\‘¢‘Ì錾•Ï”’ljÁ(pet) + (map/) + clif.c/clif.h + + int clif_catchpet(struct map_session_data *sd,int pet_id); + void clif_ruletpet(int fd,struct map_session_data *sd); + int clif_judgepet(struct map_session_data *sd,int target_id); + int clif_sendegg(struct map_session_data *sd); + void clif_listpet(int fd,struct map_session_data *sd); + 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 +---------- +//329 by ŒÓ’±—– + +EƒMƒ‹ƒh‹@”\’ljÁ + EƒMƒ‹ƒh‚Ö‚ÌEXP‚Ìã”[ + EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv + EƒMƒ‹ƒhƒXƒLƒ‹‚ÌŠ„‚èU‚è + + (db/) + exp_guild.txt + ƒMƒ‹ƒhƒŒƒxƒ‹‚ÌŒoŒ±’lƒf[ƒ^ƒx[ƒX + (common/) + mmo.h + GBI_*,GMI_*‚Ì’è‹`‚̒ljÁ‚È‚Ç + (char/) + int_guild.c + EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’ljÁ‚È‚Ç + 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Á + pc.c + pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚ÌꇂÍ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³ + +---------- +//328 by ŒÓ’±—– + +EƒMƒ‹ƒh‹@”\‚̒ljÁ‚È‚Ç + E’Ç•ú‹@”\‰¼ŽÀ‘•i’Ç•ú‚µ‚½ƒLƒƒƒ‰‚àĉÁ“ü‰Â”\•ˆê•”î•ñ‚ªƒ_ƒ~[j + EƒXƒLƒ‹‚Ì•\Ž¦i•\Ž¦‚¾‚¯‚Å‚·Bã‚°‚½‚è‚Ío—ˆ‚Ü‚¹‚ñj + + (common/) + mmo.h + struct guild_explusion‚Ì•ÏX + (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Á + +Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚ªƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚É‚È‚éƒoƒOC³ + Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽ¸”sŽž‚̃_ƒ[ƒW‚ªŽg‚í‚ê‚Ü‚· + + battle.c + battle_calc_magic_damage()‚ÌC³ + +---------- +//327 by ‚¢‚Ç +EŒoŒ±’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚¢‚ª‚ ‚Á‚½‚Ì‚ÅC³ + 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³ + + (login/) + login2.c + parse_login()‚ÌC³ + login.h + struct mmo_char_server‚ÌC³ + (char/) + char2.c + check_connect_login_server(),do_init()‚ÌC³ + (conf/) + char_athena.cnf +@ Echar_maintenance‚ð1‚É‚·‚é‚ƃƒOƒCƒ“l”‚ÌŒã‚ë‚É(“_ŒŸ’†)‚ª‚‚­ +@ Echar_new‚ð1‚É‚·‚é‚ÆŽI–¼‚Ì‘O‚É[V]‚ª‚‚­ + (doc/) + ƒpƒPƒbƒg‰ðÍ.txt + E¡‰ñ‚Ì•ÏX‚É”º‚¤ˆê•”C³ + +---------- +//325 by Mind Twist(224&0293) +E“G(NPC)ƒXƒLƒ‹‚̒ljÁiƒcƒŠ[‚ɒljÁ‚Ì‚Ýj + db/skill_db.txt + EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚炸•s–¾c‚±‚ÌŒ`Ž®‚¶‚á‚È‚¢‚Ì‚©‚ÈH + +---------- +//324 by non + +Emob‚̃^[ƒQƒbƒgŒãˆÚ“®‚ðC³ +Emob‚̈ړ®‘¬“x‚ðDB‚©‚甽‰f‚³‚¹‚é‚悤‚É + + (map/) + mob.c + mob_ai_sub_hard()‚ÌC³ + +EŽÎ‚ß”»’è‚ðC³ + EFW“™‚ł̎΂ߔ͈͂ð–{ŽIŽd—l‚É + + (map/) + map.c + map_calc_dir()‚ÌC³ + +---------- +//322 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚É•K‚¸ƒp[ƒeƒB[‚©‚眖¼‚³‚ê‚éƒoƒOC³ + E0318‚Ìuƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚É`v‚Å‚ÌC³ƒ~ƒX + + (char/) + int_party.c + ƒp[ƒeƒB[‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ + (map/) + party.c + party_check_member()‚ÌC³ + +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Á + intif.c/intif.h + intif_parse_GuildMessage()‚ȂǒljÁ + clif.c/clif.h + clif_guild_message(),clif_parse_GuildMessage()‚ȂǒljÁ + clif_guild_basicinfo()‚̃pƒPƒbƒg‚ð0150‚©‚ç01b6‚É•ÏX + +EƒoƒbƒNƒXƒeƒbƒv‚ª‚à‚Ì‚·‚²‚­‰ö‚µ‚¢‚¯‚lj¼ŽÀ‘• + EŽg‚¤‚ƃ_ƒ[ƒW‚ð‚P‹ò‚ç‚Á‚½‚悤‚ÉŒ©‚¦‚Ü‚·B(ŽÀۂ̓_ƒ[ƒW‚O‚Å‚·) + + skill.c + skill_castend_damage_id()C³ + +------------------ +//321 by@‰ß‹Ž‚Ìli +E‹|–î‘•”õŒø‰Ê‚Ì‚ÝŽÀ‘•(‘½X‚¨‚©‚µ‚¢“_‚Í‘¶Ý‚·‚邪‘•”õ‚ªo—ˆA–î‚ÌŒø‰Ê‚ªo‚é) + map/clif.c map/clif.h + clif_itemlist()’ljÁ + Ž‚¿•¨‚Ì’†‚Å‹|–î‚ÉŠ„‚è“–‚Ä‚éƒpƒPƒbƒg”Ô†‚ð0x8000‚Æ‚·‚鈗’ljÁ + + clif_arrowequip(struct map_session_data *sd,int val); //self + ‚ð’ljÁB‚±‚Ì’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ä‚Ü‚· + map/pc.c + pc_equipitem()@‹|–î‘•”õ’ljÁ + + Žc‚³‚ꂽ–â‘è“_F + E@–Œ¸‚ç‚È‚¢ + E@ƒŠƒƒO‚·‚é‚Ɩ‚P‚É‚È‚é + E@‘•”õ‚µ‚Ä‚¢‚é–•\Ž¦‚³‚ê‚È‚¢(©‘½•ª‘•”õpos‚ÌÝ’è‚ð‚µ‚Ä‚¢‚È‚¢ˆ×‚©‚Æ) + E@–î‚ð‘•”õ‰ðœ‚Å‚«‚È‚¢(‘¼‚Ì–î‚ð‘•”õ‚µ‚È‚¨‚¹‚Α•”õ‚µ‚½–î‚ÌŒø‰Ê‚É‚È‚è‚Ü‚· + +---------- +//320 by ‚¢‚Ç +EˆÈ‰º‚̃pƒPƒbƒg‚̃Gƒ‰[ƒR[ƒh‚Ìà–¾‚ð’ljÁ + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0070 .B + R 0081 .B + +---------- +//319 by mk +ENPC‚Ƃ̉ï˜b’†‚É‘•”õ•ÏXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½ + map/clif.c + ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚µ‚Ä‚Ü‚· + +Eˆê•”‚Ì”í‚蕨‚łธBŒã‚É‘•”õ‰ÓŠ‚ª‚¨‚©‚µ‚­‚È‚éƒoƒO‚ðC³ + map/script.c + buildin_successrefitem ‚̃R[ƒh‚ðC³ + +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‚µ‚Ü‚µ‚½ + 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³ + 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³‚¨Šè‚¢‚µ‚Ü‚· + +EŠ®‘S‰ñ”ð‚ÌŒvŽZ‚ðLuk‚Å‚Í‚È‚­Flee2‚Å”»’f‚·‚é‚悤‚ÉC³ + map/battle.c + battle_calc_weapon_attack() + + (db) + item_db.txtAitem_db2.txt + ‘•”õ•i‚̈ꕔƒ{[ƒiƒXŒø‰Ê‚ð’ljÁ + mob_db.txt + –^Š‚Å‚¤‚‚³‚ê‚Ä‚¢‚½‚à‚Ì‚ð­‚µC³ + ‚Ü‚¾Mode‚âDrop‚É–â‘è“_‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ + +---------- +//0318 by ŒÓ’±—– + +E‚ ‚éŒö•½•ª”zPT‚Æ‚»‚ÌPT‚É‘®‚³‚È‚¢PC‚ª‹¤“¬‚·‚é‚ÆŽI‚ª–\‘–‚·‚éƒoƒOC³ + + mob.c + mob_damage()‚ÌEXP•ª”zˆ—C³ + +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³ + + +---------- +//0317 by nabe + +Eu`‚³‚ñ‚©‚çŽæˆø‚ð—v¿‚³‚ê‚Ü‚µ‚½Bv‚ªŽ©•ª‚Ì–¼‘O‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ + trade.c/clif.c/clif.h + clif_traderequest()‚ÅŽæˆø‘ŠŽè‚̃Lƒƒƒ‰–¼‚ð“n‚·‚悤‚É•ÏX + +---------- +//0316 by nabe + +E—¼Žè•Ší‚ð¸˜B‚·‚é‚Æ•ÐŽè‘•”õ‚É‚È‚éƒoƒO‚ðC³ + script.c + buildin_successrefitem()‚ÅA—¼Žè•Ší‚Ìꇓ™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN + +---------- +//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.c + pc_setpos()‚Åmap_addblock,clif_spawnpc‚̌ĂÑo‚µ‚ðŽ~‚ß‚½B + clif.c + clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ԃ悤‚ÉB + +EinterŽIƒpƒPƒbƒgˆ—‚Ìd‘å‚È–â‘è‚ðC³ + Eˆê“x‚ɃpƒPƒbƒg‚ð‘—M‚Å‚«‚È‚©‚Á‚½ê‡A–³ŒÀƒ‹[ƒv‚Ɋׂé–â‘èC³ + + (char/) + char2.c + parse_frommap()C³ + inter.c + inter_parse_frommap()C³ + (map/) + chrif.c + chrif_parse()C³ + intif.c + intif_parse()C³ + +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 + + (common/) + mmo.h + MAX_GUILD‚ð36‚ÉB + (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Á + guild.c/guild.h + ’E‘ނȂǂ̈—’ljÁ + intif.c/intif.h + ’E‘ނȂǂ̈—’ljÁ‚È‚Ç + + +---------- +//0314 by ‚¢‚Ç + +EcharŽI‚ÆmapŽI‚ÌŽI”ãŒÀ‚ð30‚Ɉø‚«ã‚° + login/login.h + char/char.h + +Emap_athena1.cnf‚ðmap_athena.cnf‚ɃŠƒl[ƒ€ +@‚»‚ê‚É”º‚¢Aathena.sh‚ð•ÏX + +EƒpƒPƒbƒg‰ðÍŽ‘—¿‚ðdoc/‚Ɉړ® + + +---------- +//0313 by ŒÓ’±—– + +EƒMƒ‹ƒh‚Ì‹@”\’ljÁ + EƒMƒ‹ƒhŠ©—U/–ðE“à—e•ÏX/ƒƒ“ƒo[‚Ì–ðE•ÏX‚È‚Ç + Eguild.txt‚Ì‘Ž®‚ª‚Ü‚½•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚·B + + <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> + E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ + EŽ©•ªˆÈŠO‚ÌPC‚ÌŠ‘®ƒMƒ‹ƒhID‚ð’Ê’m‚·‚éƒpƒPƒbƒg + + (common/) + mmo.h + struct guild ‚ð•ÏX + (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 + +E0311‚É‚æ‚镶Žš‰»‚¯‚ðC³ + README + map/pc.c + +---------- +//0312 by ‚¢‚Ç + +E@hƒRƒ}ƒ“ƒh‚ð@help‚É•ÏX +E“Ç‚Ýž‚Þƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`•”•ª‚ð•ÏX + +---------- +//0311 by tk44 +EAssassin “ñ“—¬‘•”õAASPD–â‘èC³ + - map\pc.c + pc_equipitem(), pc_calcstatus(), pc_checkitem() + +E“ñ“—¬ŠQŒvŽZC³‚Ü‚¾ˆ—’† + +---------- +//0310 by ŒÓ’±—– + +EƒƒO‚âƒf[ƒ^‚ÉŽg‚¤‰üsƒR[ƒ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 + (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 + +EƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç•s–¾‚ȃpƒPƒbƒg‚ª—ˆ‚½‚çƒ_ƒ“ƒv‚·‚é‚悤‚É + E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰»‚·‚ê‚΃_ƒ“ƒv‚µ‚Ü‚¹‚ñB + + 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[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚· + + (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 + +---------- +//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 + map.c + do_init()‚ð­‚µC³B + +‘¼‚É•ÏX‚µ‚½ƒtƒ@ƒCƒ‹‚à‚ ‚è‚Ü‚·‚ª‘S•”Šo‚¦‚Ä‚Ü‚¹‚ñ‚Ì‚Å... + +---------- +//0307 by ŒÓ’±—– + +EV‹KPC‚̉ŠúˆÊ’u‚ðchar_athena.cnf‚É‘‚¯‚é‚悤‚É‚µ‚½ + start_point: ƒ}ƒbƒv–¼,x,y ‚̂悤‚ÉŽw’肵‚Ü‚·B + <—á> 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Á + guild.c/guild.h + V‹K’ljÁBƒMƒ‹ƒh‹@”\—p + pc.c + pc_authok()‚ŃMƒ‹ƒhŠ‘®ŽžAguild_request_info()‚ðŒÄ‚Ԃ悤‚ÉB + 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 + + pc.c + pc_authok()‚ÌC³ + +E”͈͎w’蕦‚«‚̈—C³ + E‚Å‚«‚邾‚¯Žw’肵‚½”‚Æ“¯‚¶‚¾‚¯•¦‚­‚悤‚É + (áŠQ•¨‚È‚Ç‚É‚æ‚镦‚«–WŠQ‚̉ñ”ðŽ¸”sŽžA‘O‚̉ñ”ðŒ‹‰Ê‚ðŽg‚¤) + + mob.c + mob_once_spawn_area()‚ÌC³ + +---------- +//0305 by ‚¢‚Ç +EV‹KPC‚̈ʒu‚ð‰SŽÒC—ûê‚É•ÏXB +EmapŽI‚ªcharŽI‚ÉÚ‘±‚Å‚«‚È‚¢•s‹ï‡‚ÌC³B + +---------- +//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 + 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 + job_db1.txt + E‹Æ‚ÌŒv”‚ð•ÏX‚µ‚Ü‚µ‚½B(ƒNƒ‹ƒZƒCƒ_[“™‚̃f[ƒ^‚Í + Š®‘S‚È•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñB) + +Echar2.c‚ð­‚µ‚¾‚¯•ÏXB + 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) + 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 + pc.h + pc.c + pc_percentheal()‚ð’ljÁB + item_db.txtAitem_db2.txt + ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð•ÏXB + +---------- +//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悳‚ê‚Ü‚· + + (common/) + grfio.c/grfio.h + grfio_setdatafile(),grfio_setsdatafile()’ljÁB + data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ȃOƒ[ƒoƒ‹•Ï”‚É•ÏXB + +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 + + atcommand.c + @stpoint,@skpointC³ + @zeny,@str,@agi,@vit,@int,@dex,@luk’ljÁ + +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‚·‚é‚悤‚É‚µ‚½ + + skill.c + skill_check_condition()‚ÌC³ + skill_produce_mix()‚ÌC³ + +E•Ší»‘¢Šm—¦‚ðconfƒtƒ@ƒCƒ‹‚Å”{—¦Žw’è‚Å‚«‚é‚悤‚ÉC³ + + (conf/) + battle_athena.cnf + weapon_produce_rate’ljÁ + (map/) + skill.c + skill_produce_mix()‚ÌC³ + +E•ŠíATKƒTƒCƒY•â³ƒe[ƒuƒ‹‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ +E¸˜B¬Œ÷Šm—¦/¸˜Bƒ{[ƒiƒX‚È‚Ç‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ +E‰ß踘Bƒ{[ƒiƒX‚É‚æ‚é’ljÁƒ_ƒ[ƒWŽÀ‘• + + (db/) + size_fix.txt + ƒTƒCƒY•â³ƒe[ƒuƒ‹ + refine_db.txt + ¸˜BŠÖŒWƒf[ƒ^ + (map/) + pc.c + pc_readdb()‚Å“Ç‚Ýž‚Ý + battle.c + battle_calc_weapon_attack()‚ɉß踘Bƒ{[ƒiƒXˆ—’ljÁ + +EMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňႤ’l‚ÉŒ©‚¦‚éƒoƒOC³ + ƒƒOƒCƒ“’¼Œã‚̃Xƒe[ƒ^ƒXŒvŽZ‚ÌŒ‹‰Ê‚𒼂¿‚É‘—M‚·‚é‚悤‚É‚µ‚½ + + (map/) + pc.c + pc_authok()‚Å‚Ìpc_calcstatus()‚̃tƒ‰ƒO‚ð0‚É‚µ‚½ + ‚±‚ê‚Åpc_calcstatus()‚̃tƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–¢Žg—pH + +Eitem_db‚Ìu”EŽÒƒX|ƒcv‚ðu”EŽÒƒX[ƒcv‚ÉC³ + (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 + + (tool/) + getlogincount + ƒƒOƒCƒ“l”Š“¾PerlƒXƒNƒŠƒvƒg + +---------- +//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 + produce_db.txt + ¯‚Ì‚©‚¯‚ç‚ðƒXƒLƒ‹‘®«Î»‘¢‚ª•K—v‚É•ÏXB +E*.grf“™‚ðÝ’u‚¹‚¸ƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì“Ç‚Ýž‚ނ悤‚ÉC³B(‚±‚ê‚ÍYare‚©‚ç + Ž‚¿ž‚ñ‚¾•¨‚Å‚·‚ª...) + grfio.c + grfio_init()‚ðC³B + grf-file.txt + V‹K’ljÁBgrfƒtƒ@ƒCƒ‹‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’è—pB +E“Ç‚Ýž‚Þƒ}ƒbƒv‚Ìő唂ð512‚ÉC³B + 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 + atcomand.c + C³B + atcomand.h + strcmpi“™‚ðLinux‚Å‚àŽg‚¦‚é‚悤‚ÉC³B + +---------- +//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ŒÉ•Û‘¶ˆ—‚ð‚·‚é‚悤‚É‚µ‚½ + + pc.c + pc_calcstatus()‚ÌC³(HPŒvŽZ) + pc_setpos()‚ÌC³(Žæˆø’†’f‚È‚Ç) + clif.c + clif_set0078(),clif_set007b(),clif_spawnpc()‚ÌC³(Lv99ƒGƒtƒFƒNƒg) + npc.c + npc_parse_mob()‚ÌC³ + +E@h‚Åhelp.txt‚ª“Ç‚ß‚È‚¢‚Æ‚«‚É—Ž‚¿‚éƒoƒOC³ +E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ê‚é‚ÆLvƒ_ƒEƒ“‚ª‰Â”\‚É‚È‚Á‚½ + + atcommand.c + @h,@lvup,@joblvupˆ—‚ÌC³ + +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Á + + (db/) + item_db.txt/item_db2.txt + ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’ljÁ + —ÎPOTA—΃n[ƒu‚Ȃǂ̃XƒNƒŠƒvƒg’ljÁ + (map/) + script.c + buildin_warp()‚ÅÁ–ŃGƒtƒFƒNƒg‚ð•ÏX + buildin_sc_start(),buildin_sc_end()’ljÁ + +---------- +//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 + + (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Á‚·‚é + npc.c/npc.h + npc_event_export()‚ȂǒljÁ + npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é + map.h + struct map_session_data ‚Ìeventqueue‚̃Cƒxƒ“ƒg–¼‚̃TƒCƒY‚ð + 50ƒoƒCƒg‚É‚µ‚½B + +EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ÌÅ‘å’l‚ð180‚©‚ç190‚É•ÏX + pc.c + pc_calcstatus()‚ÌASPDŒvŽZC³ + +Eskill_db.txt/cast_db.txt‚Ì“Ç‚Ýž‚Ý‚ðskill.c‚É•ÏX + + pc.c + pc_readdb()‚ÌC³ + skill.c + skill_readdb()‚̒ljÁ + +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‚ð“ǂނ悤‚É + clif.c/clif.h + clif_skill_produce_mix_list(),clif_parse_ProduceMix()’ljÁ + script.c/script.h + »‘¢—pƒRƒ}ƒ“ƒh[produce]ì¬B + ˆø”‚Í»‘¢—p”’l‚ÅA1-4‚ª•Ší»‘¢(Lv)A16‚ªzÎ + + +---------- +//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/) + 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 + + (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—^ŽÀ‘• + + *’ˆÓ* “Åó‘Ô‚ÍŒ©‚½–Ú‚¾‚¯‚ÅŒø‰Ê‚Í–¢ŽÀ‘• + + (db/) + skill_db.txt + »‚Ü‚«/ΓŠ‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚È‚ÇC³ + (map/) + skill.c/skill.h + FXC³ + mob.c/mob.h + mob_target()’ljÁBMOB‚̃^ƒQ—p + battle.c + battle_get_*()ŒnC³‚È‚Ç + pc.c + pc_calcstatus()C³ + +---------- +//0297 by ŒÓ’±—– + +ELoginŽI‚ªƒpƒXƒ[ƒhˆÃ†‰»‚ɑΉž + ˆÃ†‰»key‚ÍŽI‹N“®Žž‚Ɉê“x‚¾‚¯ì¬‚µ‚Ü‚·B + + **’ˆÓ** + ˆÃ†‰»ƒ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 + + (login/) + login2.c/login.h + ˆÃ†‰»ƒpƒXƒ[ƒh‚̃pƒPƒbƒgˆ—’ljÁ + ˆÃ†‰»key‚̶¬ˆ—’ljÁ + md5calc.c/md5calc.h + V‹K’ljÁBmd5ŒvŽZ—p + + +EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚ª”½‰f‚³‚ê‚È‚¢‚悤‚ÉC³ + skill.c + skill_delay_fix()‚ÌC³ + +EŽ€–SŒã‚àˆê•”‚Ìó‘ÔˆÙí‚ÌŒø‰Ê‚ªŽ‘±‚·‚é–â‘è‚ðC³ + pc.c + pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ԃ悤‚ÉC³ + atcommand.c + Ž€–SŽžˆ—‚ðˆê–{‰»‚·‚邽‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ԃ悤‚ÉC³ + + +---------- +//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Á + skill.c/skill.h + skill_unit_ondamage()’ljÁ + +E–ñ21Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ðNPC‚ňµ‚¤‚Æ‚«OC,DCŒvŽZ‚Å’l’i‚ª‚¨‚©‚µ‚­‚È‚éƒoƒOC³ + DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚µ‚ÄŒvŽZ‚µ‚Ü‚· + + pc.c + pc_modifysellvalue(),pc_modifysellvalue()‚ÌC³ + +---------- +//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–½—ß‚Æ“¯‚¶‚Å‚· + + script.c + buildin_areamonster()’ljÁ + mob.c/mob.h + mob_once_spawn_area()’ljÁ + +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 + + skill.c + ŠY“–ˆ—’ljÁ‚È‚Ç + +---------- +//0293 +E2-2ŽŸE‚̃XƒLƒ‹ƒRƒƒ“ƒg‚ÌC³iˆê•”’ljÁj + (db/) + skill_db.txt + skill_tree.txt + + +---------- +//0292 by ŒÓ’±—– + +ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³Part2 + E”„”ƒ‚Å‚«‚È‚©‚Á‚½–â‘èC³ + + map.h + struct map_session_data ‚Énpc_shopidƒƒ“ƒo’ljÁ + 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 + + script.c + buildin_areawarp(),buildin_getareausers()’ljÁ + +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³ + +---------- +//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 + + 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 + + (conf/) + npc_test_arena.txt + ƒTƒ“ƒvƒ‹‚ÌC³ + (map/) + script.c + buildin_disablenpc(),buildin_enablenpc(), + buildin_mapannounce(),buildin_areaannounce(), + buildin_addtimercount()‚̒ljÁ + npc.c/npc.h + NPC‚Ì—LŒø–³Œøˆ—’ljÁ + map.h + struct npc_data‚Éflagƒƒ“ƒo’ljÁ(1ƒrƒbƒg–Ú‚ª–³Œøƒtƒ‰ƒO) + clif.c + clif_getareachar_npc()‚ÌC³ + pc.c/pc.h + pc_addeventtimercount()’ljÁ + +ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³ + SHOP NPC‚ÆŽæˆø’†‚Å‚àƒCƒxƒ“ƒg‚ª‹N‚±‚é‚悤‚É‚È‚è‚Ü‚·B + ‚±‚ê‚ÍRO‚ÌŽd—lã”ð‚¯‚é‚Ì‚ª“‚¢‚½‚ß‚±‚̂悤‚ÈŒ‹‰Ê‚Å—Ž‚¿’…‚«‚Ü‚µ‚½B + + npc.c + npc_click()“™‚ÌC³ + +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 + +---------- +//0290 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚ÅMAPŽI“à‹¤—L•Ï”‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + •Ï”–¼‚ð$‚ÅŠJŽn‚·‚é‚ÆAMAPŽI“à‚Ì‘Sˆõ‚Å‹¤—L‚·‚é•Ï”‚É‚È‚è‚Ü‚·B + + Œ¾—t‚Ì–â‘è‚Å‚·‚ªAPC‚Ìglobalreg‚Íu‘åˆæ“Iv‚Æ‚¢‚¤‚æ‚èu‰i‘±«‚Ì‚ ‚év + •Ï”‚Å‚ ‚Á‚ÄAMAPŽI“à‹¤—L•Ï”‚Ì‚Ù‚¤‚ª‘åˆæ“I‚Á‚ăCƒ[ƒW‚ª‹­‚¢‚ñ‚Å‚·‚ªc + + script.c + mapval_db’è‹` + buildin_set(),buildin_input()‚ÌC³ + do_init_script()’ljÁ + map.c + do_init()‚Ådo_init_script()‚ðŒÄ‚Ԃ悤‚ÉB + +EƒCƒxƒ“ƒgƒLƒ…[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Ȃ瑂₵‚Ü‚·‚ªB + + ƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]‚ª‚¿‚á‚ñ‚Æ“®‚­‚悤‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B + + map.h + struct map_session_data‚Éeventqueueƒƒ“ƒo’ljÁ + npc.c + npc_event_timer()’ljÁ + script.c + run_script()‚ÅENDˆ—‚ŃLƒ…[‚̈—’ljÁ + +EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ªŽg—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + Žg—p•û–@‚ÍAaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[’ljÁA + deltimer "ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[íœB + + (common/) + timer.c/timer.h + get_timer(),addtick_timer()’ljÁ + (map/) + map.c/map.h + struct map_session_data‚Éeventtimerƒƒ“ƒo’ljÁ + map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ԃ悤‚ÉB + pc.c + pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), + pc_cleaereventtimer()’ljÁ + pc_authok()‚Åeventimer‚̉Šú‰» + script.c + buildin_addtimer(),buildin_deltimer()’ljÁ + +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‚¤ + + mob.c/mob.h + mob_delete()’ljÁ + script.c + buildin_getusers(),buildin_getmapusers(), + buildin_killmonster()’ljÁ + clif.c/clif.h + clif_GMmessage()‚̈ø”•ÏX + +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³ + + npc.c + npc_buylist(),npc_selllist()C³ + +---------- +//0289 by ŒÓ’±—– + +EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ÌC³‚È‚Ç + E‘¼‚ÌNPC‚ɘb‚µŠ|‚¯‚Ä‚¢‚é‚Æ‚«‚̓Cƒxƒ“ƒg‚ª–³Ž‹‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + =>ƒLƒ…[‚É“ü‚ê‚é‚Ȃǂ̈—‚ª‚¢‚é‚ÆŽv‚í‚ê‚éB + + ‚±‚ÌŠÖŒW‚ÅAƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚µ‚Ä‚à + IDƒGƒ‰[‚ªo‚ĉ½‚à‹N‚«‚Ü‚¹‚ñBƒCƒxƒ“ƒgƒLƒ…[‚ðì‚ê‚Î’¼‚é‚Í‚¸B + + npc.c + npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’ljÁ + script.c + I—¹Žž‚Énpc_id‚ðƒNƒŠƒA‚·‚é‚悤‚É + +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 + + script.c + buildin_announce()‚̒ljÁ + clif.c + clif_send()‚ÅSELF‚̈—’ljÁ + clif_GMmessage()‚̈ø”•ÏX + intif.c + intif_GMmessage()‚̈ø”•ÏX + +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 + + Ú‚µ‚­‚Í“¯«‚Ìconf/npc_test_ev.txt‚ðŽQÆB + + (conf/) + npc_test_ev.txt + C³ + (map/) + map.h + struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’ljÁ + npc.c + npc_parse_mapflag()’ljÁ + do_init_npc()‚ÌC³ + pc.c + pc_memo()‚Ńƒ‚‹ÖŽ~‚©‚Ç‚¤‚©‚ðŠm”F + pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚È‚çƒ}ƒbƒv‚ð•ÏX + pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚©‚Ç‚¤‚©Šm”F + skill.c + ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚©Šm”F + + +Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚¿‚é–â‘èC³c‚¾‚Æ‚¢‚¢‚È + + skill.c + ‚³‚ç‚Ƀ`ƒFƒbƒN‚ð’ljÁ + skill_blown()‚É—Ž‚¿‚錴ˆö‚Á‚Û‚¢‚à‚Ì”­Œ©‚µ‚½‚Ì‚ÅC³ + +---------- +//0288 by ŒÓ’±—– + +EŽ©“®‘é”­“®Žž‚ÉuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹©‚΂Ȃ­‚È‚è‚Ü‚µ‚½ + skill.c + skill_attack(),skill_additional_effect(), + skill_castend_damage_id()‚ÌC³ + +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 + + Œ»ó‚Å‚Í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 + + (db/) + item_db.txt/item_db2.txt + monsterƒRƒ}ƒ“ƒh‚Ì•ÏX‚É‚æ‚éC³iŒÃ–Ø‚ÌŽ}jB + (conf/) + npc_test_ev.txt + ƒTƒ“ƒvƒ‹ + (map/) + npc.c + npc_event()’ljÁ + npc_parse_script()C³ + npc_checknear()C³ + clif.c + clif_getareachar_npc()C³ + map.h + struct mob_data‚Énpc_eventƒƒ“ƒo’ljÁ + mob.c/mob.h + mob_once_spawn()‚̈ø”•ÏX + mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·‚悤‚É + atcommand.h + mob_once_spawn()‚̈ø”•ÏX + script.c + buildin_monster()‚ÌC³ + +---------- +//0287 by ŒÓ’±—– + +Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚Å‚g‚o‚ª65535‚ð‰z‚¦‚Ä‚¢‚é‚Ƴí‚È’l‚ªŒ©‚ê‚È‚¢ƒoƒOC³ + + clif.c + clif_skill_estimation()‚ÌC³ + +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 + +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 + + (db/) + item_db.txt/item_db2.txt + ŠY“–•”•ª‚̃XƒNƒŠƒvƒgC³ + (map/) + script.c + buildin_getitem()‚ÌC³ + itemdb.c/itemdb.h + itemdb_searchrandomid(),itemdb_searchrandomid_sub()’ljÁ + +E‰r¥ƒf[ƒ^‚̈ꕔC³ + (db/) + cast_db.txt + ‘¬“x㸂ȂǂÌC³ + +ENPC‚ÌŒü‚«C³‚È‚Ç + (conf/) + npc_*.txt + +---------- +//0286 by ŒÓ’±—– + +Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚éƒoƒOC³ + clif.c + clif_skill_estimation()‚ÌC³ + +E‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ª”½‰ž‚µ‚È‚¢‚±‚Æ‚ª‚ ‚é–â‘è‚ðC³ + skill.c + skill_use_id(),‰r¥”½‰žŽžAÅ’á’ÇÕ‹——£‚ð13‚ÉÝ’è‚·‚é‚悤‚ÉB + +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 + + (db/) + item_db.txt/item_db2.txt + ƒnƒG‚̉HA’±‚̉H‚̃XƒNƒŠƒvƒgC³ + script.c + buildin_warp()‚ÌC³ + +E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚ª•œŠˆ‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚ð”­¶‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + + ƒ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 + + (db/) + item_db.txt/item_db2.txt + ŒÃ–Ø‚ÌŽ}‚̃XƒNƒŠƒvƒgC³ + (map/) + mob.c/mob.h + mob_once_spawn()’ljÁ + mob_setdelayspwan()‚Å•œŠˆ‹ÖŽ~ˆ—’ljÁB + npc.c/npc.h + npc_get_new_npc_id()’ljÁ + script.c + buildin_monster()’ljÁ + atcommand.c + @monster‚ÌC³ + +E@itemƒRƒ}ƒ“ƒh‚ÌC³i‘•”õ•i‚È‚Ç‚Ì–â‘èj + + atcommand.c + @item‚ÌC³ + +---------- +//0284 by ŒÓ’±—– + +EáŠQ•¨‚ª‚ ‚é‚Ɖ“‹——£UŒ‚‚ª‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ +E‘Î’nƒXƒLƒ‹‚ªáŠQ•¨ã‚ÉŽg—p‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ + + path.c + path_search(),can_move()‚ÌC³Acan_place()‚̒ljÁ + battle.c/battle.h + battle_check_range()’ljÁAŽË’ö‚ÆáŠQ•¨”»’èB + battle_weapon_attack()‚Åbattle_check_range()‚ðŒÄ‚ÔB + skill.c + skill_use_id()Askill_use_pos()‚Åbattle_check_range()‚ðŒÄ‚ÔB + mob.c + mob_ai_sub_hard()‚̈—‚ðC³ + +E‰r¥”½‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + skill.c + skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒX‚̈—’ljÁ + mob.c + mob_ai_sub_hard_linksearch()‚̒ljÁ + mob_ai_sub_hard()‚ɃŠƒ“ƒNˆ—‚ðC³ + +---------- +//0283 by ‚ê‚  +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ÌC³ + 0282‚Ŷ‚«‚Ä‚é‚o‚b‚ɃŠƒU‚ª‚©‚¯‚ê‚é‚Ì‚ÉA + Ž€‚ñ‚Å‚é‚o‚b‚ɂ̓ŠƒU‚ª‚©‚©‚ç‚È‚­‚È‚Á‚Ä + ‚¢‚½‚Ì‚ðC³‚µ‚Ü‚µ‚½B + +---------- +//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 + + skill.c + skill_castend_nodamage_id()‚ÌC³ + ƒXƒg[ƒ€ƒKƒXƒg‚̈—’ljÁ + +EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚É‚È‚Á‚ĈÀ‘S«ƒ`ƒFƒbƒN‚ð’ljÁB + i—Ž‚¿‚È‚­‚È‚é“ú‚͉“‚¢HHj + + map.h + MAX_SKILLUNITGROUP‚ð32‚É‘‚₵‚½ + skill.c + skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’ljÁ + battle.c + battle_calc_damage()‚ɶ‘¶ƒ`ƒFƒbƒN’ljÁ + map.c + map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’ljÁ + +E‚»‚Ì‘¼C³ + EPC‚ÌÅ‘åHP‚ª30000‚ɧŒÀ‚³‚ê‚Ü‚µ‚½B + EPC‚̉ñ•œˆ—‚ªC³‚³‚ê‚Ü‚µ‚½ + E‚«”ò‚΂µˆ—‚ÌC³ + E0281‚Ìitem_db.txt‚Ì•ÏX‚ðitem_db2.txt‚É‚à“K—p + + (map/) + pc.c + pc_heal(),pc_calcstatus()‚ÌC³ + path.c + path_blownpos()‚ÌC³ + (db/) + item_db2.txt + 0281‚Ì–¼‘OC³‚È‚Ç‚ð“K—p + +---------- +//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 + + (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 + + ƒ’ˆÓ„ + “¯‚¶ƒAƒJƒEƒ“ƒg‚Ì‘S‚ẴLƒƒƒ‰‚ÍPT‚©‚甲‚¯‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B + ‚Ü‚½A‘qŒÉ‚̃AƒCƒeƒ€‚Í‘S•”ˆø‚«o‚µ‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B + ‚»‚¤‚µ‚È‚¢‚ƃSƒ~ƒf[ƒ^‚ªŽc‚è‚Ü‚·B + + (login/) + login2.c + ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + (char/) + char2.c + ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + (map/) + chrif.c/chrif.h + chrif_changegm(),chrif_changedgm()’ljÁ + +E@pvpoffƒRƒ}ƒ“ƒh•œŠˆ + clif.c/clif.h + clif_pvpoff()’ljÁ + atcommand.c + @pvpoff‚̈—’ljÁ + +E‹ó‚Ì‘qŒÉƒf[ƒ^‚Í•Û‘¶‚³‚ê‚È‚¢‚悤‚É•ÏX + (char/) + int_storage.c + inter_storage_save()Astorage_tostr()‚ðC³ + +E@memoƒRƒ}ƒ“ƒh’ljÁB + ”CˆÓ‚Ì‹L‰¯ˆæ‚Ƀƒ‚‚ðŽæ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + + atcommand.c + @memo‚̈—’ljÁ + + +---------- +//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_unitgrouptickset_search(),skill_unitgrouptickset_delete() + skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁB + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŽÀ‘• + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚¯‚é‚Æ—Ž‚¿‚éƒoƒOC³ + + (db/) + cast_db.txt + ƒ[ƒvƒ|[ƒ^ƒ‹‚̉r¥ŽžŠÔÝ’è + (map/) + map.h + struct skill_unit_group‚Ìvalstr‚ðƒ|ƒCƒ“ƒ^‚É•ÏX + clif.c/clif.h + clif_parse_UseSkillMap(),clif_skill_warppoint()A + clif_parse_Memo(),clif_skill_memo()’ljÁ + skill.c/skill.h + skill_castend_map(),skill_unit_onlimit()‚̒ljÁ + skill_unit_*Œn‚̈—‚¢‚ë‚¢‚ë’ljÁB + skill_status_change_start()‚̃LƒŠƒG‚̈—C³ + pc.c/pc.h + pc_randomwarp(),pc_memo()’ljÁ + +---------- +//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.c + 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Œ‚—͕ⳂðŽÀ‘• + clif.c + clif_parse_CartOff‚ðclif_parse_RemoveOption‚É•ÏX + 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Á + script.c + buildin_setfalcon() ‘é•t‰Á + buildin_setriding() ƒyƒRƒyƒRæ‚è + +---------- +//0276 by nabe + +E¸˜BNPCŽÀ‘• + (conf/) + npc_town_refine.txt + ¸˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’ljÁ + (map/) + pc.c/pc.h + ¸˜B¬Œ÷—¦‚Ì•\percentrefinery[5][10]‚ð’ljÁ + script.c‚©‚çŒÄ‚΂ê‚éŠÖ” + pc_percentrefinery() ¸˜B¬Œ÷—¦ + pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX + ‚ð’ljÁ + 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Á + const.txt + Weight,MaxWeight‚ð’ljÁ + +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 + (map/) + script.c + buildin_strcharinfo()‚ð’ljÁ + +---------- +//0275 by ŒÓ’±—– + +EMVP‚ÌŽÀ‘• + MVP‚Ì”»’è‚É‚Ídmglog‚ðŽg‚Á‚Ä‚Ü‚·B‚·‚È‚í‚¿—^ƒ_ƒ‚¾‚¯‚ªŒvŽZ‘ÎÛ‚Å‚·B + ”íƒ_ƒ‚Íl—¶‚³‚ê‚Ä‚Ü‚¹‚ñB + ŒoŒ±’l‚Í–³ðŒ‚Å“ü‚èAŠm—¦‚Å‚³‚ç‚ɃAƒCƒeƒ€‚ª“ü‚è‚Ü‚·B + ƒAƒCƒeƒ€‚Í•¡”Žè‚É“ü‚邱‚Æ‚à‚ ‚è‚Ü‚·B + + clif.c/clif.h + clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’ljÁ + mob.c + mob_damage()‚ÉMVPˆ—’ljÁ + +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Á + skill.c + skill_castend_damage_id()‚Ɉ—’ljÁ + skill_use_pos()‚ÉUŒ‚’âŽ~ˆ—’ljÁ + +EƒJ[ƒhƒXƒLƒ‹‚ªƒJ[ƒh‚ðŠO‚µ‚Ä‚àŽg—p‰Â”\‚È–â‘è‚ðC³ + pc.c + pc_calc_skilltree()‚ðC³ + +EƒAƒCƒeƒ€ƒhƒƒbƒv—¦AexpŠ“¾”{—¦‚È‚Ç‚Ì’²®‹@”\’ljÁ + battle_athena.cnf‚Å’²®‚Å‚«‚逖ڂª‘‚¦‚Ü‚µ‚½B + Ú‚µ‚­‚Í‚»‚¿‚ç‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B + + (conf/) + battle_athena.cnf + mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rate’ljÁ + (map/) + battle.c/battle.h + ‘‚¦‚½€–Ú‚ð“Ç‚Ýž‚ނ悤‚Ɉ—’ljÁ + mob.c + mob_db.txt“Ç‚Ýž‚ÝŽžAƒf[ƒ^‚ð’²®‚·‚鈗’ljÁ + +---------- +//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Á + clif.c/clif.h + clif_fixpcpos()’ljÁ + clif_parse_WalkToXY()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ + mob.c + mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ + +E‘•”õ‚Ȃǂ̃NƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚ª1/10‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗C³ + +EƒuƒŠƒbƒcƒr[ƒg‚ÌŒvŽZŽ®‚ª‘S‘Rˆá‚¤ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_attack()‚ÌBF_MISC‚̈’u‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ + +ESW‚ƃjƒ…[ƒ}‚ª•ŠíUŒ‚‚È‚ç‚Ç‚ñ‚ȃŒƒ“ƒW‚ÌUŒ‚‚Å‚à–h‚¢‚Å‚¢‚½–â‘è‚ðC³ + battle.c + battle_calc_damage()‚̃Œƒ“ƒW”»’è‚ðC³ + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ªPTƒƒ“ƒo‚É‚à‚©‚©‚é‚悤‚ÉC³B + Œø‰Ê‚ÍŽg—pŽÒ‚ÆPTƒƒ“ƒo‚ňႢ‚Í‚ ‚è‚Ü‚¹‚ñB + + skill.c + skill_castend_nodamage_id()‚ÌC³B + +---------- +//0273 by ŒÓ’±—– + +EƒLƒƒƒ‰ƒNƒ^[‚ªÁŽ¸‚µ‚½‚茶‰e‚ªo‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½ + E‚«”ò‚΂µƒXƒLƒ‹‚ðŽó‚¯‚é‚Æ”­¶‚µ‚Ä‚¢‚½ + EŽÎ‚߈ȊO‚Ì•às‚Å”­¶‚µ‚Ä‚¢‚½ + + map.c + map_foreachinmovearea()‚ÌC³B + skill.c + skill_blown()‚É•\Ž¦”͈ÍXVˆ—‚ð’ljÁB + mob.c + mob_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + pc.c + pc_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + +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³ + mob.c + mob_walk(),mob_attack()‚ÅŒü‚«‚ð•Û‘¶ + pc.c + pc_walk(),pc_attck()‚ÅŒü‚«‚ð•Û‘¶ + map.c + map_calc_dir()’ljÁB‘Š‘ΓI‚È•ûŒü‚ð‹‚ß‚é + + +EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚ªí“¬Žž‚ÉŒvŽZ‚³‚ê‚Ä‚È‚¢ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗’ljÁ + + +E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚ª“G‚ɉe‹¿‚ð‹y‚Ú‚·‚©‚Ç‚¤‚©‚ð + battle_athena.cnf‚ŧŒä‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + ƒfƒtƒHƒ‹ƒg‚Íu‹y‚Ú‚³‚È‚¢v‚Å‚·B + + (conf/) + battle_athena.cnf + €–Údefunit_not_enemy‚ð’ljÁ + (map/) + battle.c/battle.h + struct Battle_Config ‚É defnotenemyƒƒ“ƒo’ljÁB + battle_read_config()‚̈—‚ðC³B + skill.c + skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚̈—‚ðC³ + +EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ñ‚Å‚à‰r¥‚ª‘±‚­ƒoƒO‚ðC³ + i‰r¥I—¹‘O‚É•œŠˆ‚·‚ê‚Ζ‚–@‚ª”­“®‚·‚é–â‘è‚àC³‚É‚È‚è‚Ü‚·j + + pc.c + pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ԃ悤‚ÉC³ + +E“G–¡•û”»’舗‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ðC³ + battle.c + battle_check_target()‚ÌC³ + +---------- +//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 + + (db/) + skill_db.txt + ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ð8‚É•ÏX + (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 + battle.c + battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB + map_foreachinarea()‚È‚ÇC³ + map.c + map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ԃ悤‚ÉB + +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Á + battle.c/battle.h + struct Damage‚Éblewcountƒƒ“ƒo’ljÁ + battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚é‚悤‚ÉB + skill.c/skill.h + skill_blown()’ljÁB‚«”ò‚΂µˆ—B + skill_attack()‚Åskill_blown()‚ðŒÄ‚Ԃ悤‚ÉB + skill_attack()‚Ìflag‚Ì‚«”ò‚΂µƒrƒbƒg‚Í–¢Žg—p‚ÉB + +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³ + +E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«AˆÊ’u‚ª‚¸‚ê‚é–â‘è‚̉ž‹}ˆ’u + i‚Ü‚¾ˆÊ’u‚Í‚¸‚ê‚é‚悤‚Å‚·j + + clif.c/clif.h + clif_fixmobpos()‚ð’ljÁ + mob.c + mob_attack()‚Åclif_fixmobpos()‚ðŒÄ‚Ԃ悤‚ÉB + +E‚»‚Ì‘¼C³ + pc.c + pc_stop_walking()‚Åpath_len‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +---------- +//0271 by ‚ê‚  + +EPT‚ÉŠÖ‚µ‚Ä­‚µ‚¾‚¯C³ + Œö•½‚É‚µ‚Ä‚©‚çƒLƒƒƒ‰‚ð‰Á“ü‚³‚¹‚é‚ÆŒö•½‚ª‰ðœ‚³‚ê‚È‚¢ƒoƒO‚ðC³ + +---------- +//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³ + 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³ + 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 + mob.c + mob_spwan()‚Åskillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB + mob_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB + battle.c/battle.h + battle_calc_magic_attack()C³ + battle_check_target()C³ + map.c + map_foreachobject()‚È‚ÇC³ + +E‚±‚Ü‚©‚¢ƒoƒOC³‚È‚Ç + Emob‚ª‰ñ•œ‚µ‚È‚¢–â‘èC³ + + battle.c + battle_damage()C³ + +---------- +//0266 by ŒÓ’±—– + +E–‚–@ŒvŽZŽ®‚ÌC³ + –‚–@”{—¦‚ðƒ_ƒ[ƒW‚ÉŠ|‚¯‚Ä‚¢‚½‚Ì‚ðMATK‚É‚©‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B + c‚±‚Á‚¿‚ª³‚µ‚¢‚Æ‚µ‚Ä‚¢‚¢‚Ì‚©‚ÈHˆá‚¤‚Ȃ狳‚¦‚Ä‚­‚¾‚³‚¢B + + battle.c + battle_calc_magic_attack()‚ÌC³ + +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 + + (db/) + skill_db.txt + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚̃qƒbƒg”‚ð‚R‚©‚ç10‚É•ÏXB + (map/) + skill.c + skill_status_change_timer_sub()’ljÁB + skill_status_change_*()‚Ɉ—’ljÁB + +Eblock‚̃ƒ‚ƒŠ‰ð•ú‚̈À‘S«‚ÌŒüã + map_foreachinarea,party_foreachsamemap‚ʼnñ‚Á‚Ä‚¢‚é‚Æ‚«‚É + block‚ðƒ`ƒFƒCƒ“‚©‚ç휂·‚é‚ÆA‚¤‚Ü‚­‰ñ‚ç‚È‚¢‰Â”\«‚ª‚ ‚é–â‘èC³B + ‚³‚ç‚ÉAblock‚ðƒƒ‚ƒŠ‚©‚ç‰ð•ú‚·‚é‚Ɗ댯‚È–â‘è‚àC³B + + 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 + + ‚±‚ê‚Í¡Œã‚ðŒ©‰z‚µ‚½‰ü—Ç‚Å‚ ‚Á‚ÄAŒ»Ý‚Ì•sˆÀ’肳‚𒼂·‚à‚Ì‚Å‚Í‚È‚¢B + iŒ»Ý‚Íforeach“à‚Ńƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ä‚¢‚È‚¢c‚Í‚¸‚È‚Ì‚ÅB + ‚½‚¾AƒXƒLƒ‹ƒ†ƒjƒbƒg‚ȂLjꎞƒIƒuƒWƒFƒNƒg‚𑽗p‚µŽn‚ß‚é‚ÆŒø‰Ê‚ª‚ ‚éj + + 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 + party.c + party_foreachsamemap()‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒN + + +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 + map.h + struct skill_unit,skill_unit_group‚ȂǒljÁB + map_session_data‚Ì‘‚«Š·‚¦‚È‚ÇB + +E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë‚ðC³‚µ‚½‚ÆŽv‚¤‚¯‚Ç–Y‚ê‚Ü‚µ‚½B + +---------- +//0264 by nabe + +E$charaname‚ð’‚éNPC‚Ƙb‚µ‚½ŽžAmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B + script.c + replacestr()‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðŽè’¼‚µ‚µ‚Ü‚µ‚½B + +---------- +//0263 by nabe + +E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚µ“ü‚ê‚Å‚«‚È‚¢‚悤C³ + pc.c + pc_putitemtocart(),pc_getitemfromcart()‚ÉA˜I“X”»’è‚ð’ljÁ + +E˜I“XƒAƒCƒeƒ€w“ü‚̃`ƒFƒbƒN‚ð’ljÁ + vending.c + vending_purchasereq()‚Å”X‚ÌðŒ”»’è‚ð’ljÁ + +---------- +//0261 by ŒÓ’±—– + +EŠg‘勾AƒCƒOƒhƒ‰ƒVƒ‹‚Ì—t‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhì¬BˆêŽž“I‚ɃXƒLƒ‹‚ªŽg—p‚Å‚«‚Ü‚·B + + (map/) + script.c + buildin_itemskill()‚̒ljÁ‚È‚ÇB + skill.c + ƒAƒCƒeƒ€ƒXƒLƒ‹‚È‚çSP‚È‚Ç‚ðŒŸ¸•Á”‚È‚¢‚悤‚ÉC³ + clif.c/clif.h + clif_item_skill()‚̒ljÁB + (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³ + party.c + party_foreachsamemap()‚ÌC³ + +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³ + +EƒXƒNƒŠƒvƒg‚̃R[ƒh‚ð®— + get_val()‚Åconst.txt‚Ì’è”‚ðŠ“¾‚Å‚«‚é‚悤‚ÉC³B + + (map/) + script.c + get_val()‚ÌC³iconst.txt‚Ìtype==0‚Ì’l‚ªŠ“¾‰Â”\‚Éj + bonus(),bonus2()‚È‚Ç‚ÌC³B + (db/) + const.txt + type=1‚Å‚ ‚é•K—v‚ª–³‚¢‚à‚Ì‚ð0‚ÉB + item_db.txt/item_db.txt + const.txt‚Ì•ÏX‚É”º‚¤C³B + +---------- +//0260 by ŒÓ’±—– + +E퓬ŠÖŒW‚Ìݒ肪ƒtƒ@ƒCƒ‹‚É‘‚¯‚é‚É‚È‚è‚Ü‚µ‚½ + mapŽI‚Ì‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–¼‚ªÝ’肳‚ê‚Ä‚¢‚é‚ÆA‚»‚ê‚ðŽg‚¢A + ݒ肳‚ê‚Ä‚È‚¢ê‡‚Í "conf/battle_athena.cnf"‚ðŽg‚¢‚Ü‚·B + + ‚ ‚Æ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 + + (conf/) + battle_athena.cnf + ’†‚Éà–¾‘‚¢‚Ä‚é‚Ì‚ÅŠeŽ©D‚«‚Ȃ悤‚É‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B + + (map/) + battle.c/battle.h + struct Battle_Config‚Ì’è‹`B + battle_config_read()‚ȂǒljÁB + skill.c + CASTFIX,DELAYFIX‚Ì”pŽ~‚ÆBattle_Config‚É‚æ‚éC³‚̒ljÁB + atcommand.c + @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚é‚悤‚ÉB + iŽIÝ’è‚Ìí‚ÉPVP‚ªoff‚ÌŽžA—¼l‚ªpvp‚ðon‚É‚µ‚Ä‚½‚ç퓬‰Â”\j + map.c/map.h + struct map_session_data‚Épvp_flag‚ð’ljÁ + do_init()‚Åbattle_config_read()‚ð“ǂނ悤‚ÉB + +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 + skill.c/skill.h + skill_weapon_attack(),~_magic_~(),~_misc_~()‚Ì”pŽ~A + skill_attack()‚Ɉê–{‰»B + pc.c/mob.c + UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉê–{‰»B + +EƒAƒCƒeƒ€ŠÓ’èƒXƒLƒ‹‚ðŽÀ‘• + ¤l‚̃XƒLƒ‹‚Ì•û‚Å‚·B’ŽŠá‹¾‚Í‚Ü‚¾‚Å‚·B + + skill.c + ƒXƒLƒ‹ˆ—’ljÁ + pc.c/pc.h + pc_item_identify()’ljÁ + clif.c/clif.h + clif_item_identify_list(),clif_item_identified()’ljÁ + clif_parse_ItemIdentify()’ljÁ + +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 + +---------- +//0258 by ŒÓ’±—– + +Eƒp[ƒeƒB‚ňê“xŒö•½‚É‚µ‚½‚çŠeŽ©Š“¾‚É–ß‚¹‚È‚¢ƒoƒOC³ + (char/) + int_party.c + mapif_parse_PartyChangeOption()‚Ì”»’èC³ + +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 + clif.c/clif.h + clif_skill_damage(),clif_skill_damage2()‚̈ø”•ÏXB + clif_skill_poseffect()’ljÁB + 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 + battle.c + battle_calc_weapon_damage()C³B + +---------- +//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 + + (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Á + pc.c + pc_calcstatus()Apc_bonus2()‚ÌC³ + pc_attack()‚Åskill_additional_effct()‚ðŒÄ‚Ԃ悤‚ÉB + skill.c/skill.h + skill_additional_effect()‚ŃJ[ƒh‚É‚æ‚é”»’è’ljÁ + skill_status_change_start()‚Å‘Ï«‚ð•t‚¯‚½B + battle.c + battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh + iƒNƒŠƒeƒBƒJƒ‹‘Ï«j‚̈—‚ð’ljÁ + +E‰ñ”ð”»’è‚ÌC³ + UŒ‚ŽÒ‚ªPC‚Ìê‡AÅ‘å–½’†—¦‚X‚T“§ŒÀ‚ð‚È‚µ‚É‚µ‚Ü‚µ‚½B + battle.c + battle_calc_weapon_attack()‚ðC³ + + +EŠ®‘S‰ñ”ð‚ðŽÀ‘• + ‚Ö‚ñ‚Ä‚±‚Ȉ—‚µ‚Ä‚Ü‚·•ŒvŽZŽ®“K“–‚Å‚·B + + battle.c + battle_calc_weapon_attack()‚Ɉ—’ljÁB + +E‘qŒÉ‚ðŠJ‚¢‚½‚܂܃ƒOƒAƒEƒg‚µ‚½‚Æ‚«mapŽI“à‚Å‚ÍŠJ‚«‚Á‚Ï‚È‚µ‚É‚È‚Á‚Ä‚é–â‘è‚ðC³ + storage.c + storage_storage_quitsave()‚ðC³ + +E@item,@monster,@produce‚Å–¼‘OŽw’è‚Å‚«‚é‚悤‚É•ÏX + ‰pŒê–¼A“ú–{Œê–¼‚Ç‚¿‚ç‚Å‚àOKB‰pŒê‚Ìꇂ͑啶Žš¬•¶Žš‹æ•Ê‚µ‚Ü‚¹‚ñB + + atcommand.c + ŠY“–ŒÂŠC³ + itemdb.c/itemdb.h + itemdb_searchname(),itemdb_searchname_sub()’ljÁ + mob.c/mob.h + mobdb_searchname()’ljÁ + +E@refine‚Åã‚°‚é”’l‚ðŽw’è‚Å‚«‚é‚悤‚É•ÏX + atcommand.c + ŠY“–ŒÂŠC³ + +E@produce‚É‚æ‚黑¢Žž‚̃GƒtƒFƒNƒg‚𳂵‚¢‚à‚Ì‚ÉC³ + clif.c/clif.h + clif_produceeffect()’ljÁ + 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 + +Estricmp‚Ì•Ï‚í‚è‚Éstrcasecmp‚ðŽg‚¤‚悤‚É‚µ‚½ + i_WIN32‚©__EMX__‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚Æstricmp‚ðŽg‚¢‚Ü‚·j + + (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³ + pc.c + pc_calcstatus()‚Å•ŠíŒ¤‹†‚É]‚Á‚Ä–½’†C³ + +---------- +//0256 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ + clif.c + clif_vendinglist()‚Å”„‚è؂ꂽƒAƒCƒeƒ€‚Í•\Ž¦‚µ‚È‚¢‚悤‚É + +---------- +//0255 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ + vending.c + vending_purchasereq()‚Åzeny,weight•”•ªC³ + +---------- +//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Á + clif.h/clif.h + ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’ljÁ + map.h + struct map_session_data‚ÉA + int vender_id; + int vend_num; + char message[80]; + struct vending vending[12]; + ‚ð’ljÁ + +---------- +//0253 by ŒÓ’±—– + +Estricmp–¢’è‹`ƒGƒ‰[‚ª‚Å‚éŠÂ‹«—p‚ÌC³ + ƒGƒ‰[‚ªo‚½ê‡Aint_party.c‚Ìʼn‚̃}ƒNƒ’è‹`‚̃Rƒƒ“ƒg‰»‚Ì‚¤‚¿A + ‚Ç‚¿‚ç‚©‚ðŠO‚µ‚Ä‚â‚è’¼‚µ‚Ä‚Ý‚é‚ÆA‚¤‚Ü‚­‚¢‚­‚©‚àB + ň«A‰º‚ð—LŒø‚É‚µ‚½‚炤‚Ü‚­‚¢‚­‚Í‚¸Bi‘啶Žš¬•¶Žš‚ð‹æ•Ê‚·‚é‚悤‚É‚È‚è‚Ü‚·j + + (char/) + int_party.c + ƒRƒƒ“ƒg‰»Ï‚݂̃}ƒNƒ’è‹`’ljÁ + +---------- +//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‚ðŽÀ‘• + + (db/) + const.txt + bonus—p‚̒蔒ljÁAbonus2‚̒蔂à’ljÁ + item_db.txt/item_db2.txt + ƒJ[ƒh‚̃XƒNƒŠƒvƒg’ljÁ + (map/) + map.h + struct map_session_data‚Éhprate‚È‚Ç‘½”ƒƒ“ƒo’ljÁ + script.c + bonus2ƒRƒ}ƒ“ƒh’ljÁ + buildin_bonus2()’ljÁ + 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Á + battle.c + battle_calc_weapon_attack()‚ŃJ[ƒhC³‚ð’ljÁ + battle_calc_magic_attack()‚ŃJ[ƒhC³‚ð’ljÁ + battle_damage()‚ŃtƒFƒ“ƒJ[ƒhC³‚ð’ljÁ + +EƒXƒe[ƒ^ƒXŠ„‚èU‚è‚Ì•\Ž¦ã‚Ì–â‘èC³ + STR‚ðã‚°‚Ä‚àATK‚ª•Ï‚í‚ç‚È‚¢–â‘èAINT‚ðã‚°‚Ä‚àMATK‚ª•Ï‚í‚ç‚È‚¢–â‘èC³ + + map.h + struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’ljÁ + pc.c + pc_calcstatus()‚ÌC³ + clif.c + clif_initialstatus()‚ÌC³ + battle.c + battle_calc_magic_attack()‚ÌC³ + + +---------- +//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 + pc.h/pc.c + pc_iscarton()ƒ}ƒNƒ‚ð’ljÁ + pc_cart_additem(),pc_cart_delitem()‚É‚»‚ꂼ‚ê + sd->cart_num++;‚Æsd->cart_num--;ˆ—‚ð’ljÁ + clif.c + clif_parse_LoadEndAck()‚ÅA + ƒJ[ƒg‚ð•t‚¯‚Ä‚¢‚é‚Æ‚«‚̂݃J[ƒgî•ñ‚ð‘—M‚·‚é‚悤‚É‚µ‚½ + +---------- +//0250 by nabe + +EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽÀ‘•B + (map/) + pc.c/pc.h + pc_setcart()‚ð’ljÁ + script.c + buildin_setcart()‚ð’ljÁ + ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚ª‚‚­ + 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 + (conf/) + npc_town_kafra.txt + ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· + + +---------- +//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Á + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’ljÁ + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg0x3028’ljÁ + (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 + intif.c/intif.h + intif_party_checkconflict()’ljÁ + +Eƒp[ƒeƒB‚ÌÀ•WA‚g‚o’Ê’m‚ðŽÀ‘• + •Ï‰»‚ª‚ ‚ê‚΂P•b‚Ɉê‰ñ‘—MB + + map.h + struct map_session_data‚Éparty_x,~_y,~_hp‚Ì‚Rƒƒ“ƒo’ljÁ + 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 + 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 + pc.c/pc.h + pc_authok()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ªŽ‹ŠE“à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«‚É + party_hp‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +Eƒp[ƒeƒB‚ÌexpŒö•½•ª”z‚ðŽÀ‘• + party.c/party.h + party_share_exp()’ljÁ + mob.c/mob.h + mob_damage()‚ÅŒö•½•ª”zˆ—’ljÁ + +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 + battle.c + battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³ + battle_get_dmotion(),battle_get_attack_element()C³ + clif.c + clif_mob007b(),clif_mob0078‚Åoption‚È‚Ç‚ð‘—‚é‚悤‚ÉC³ + pc.c + pc_attack(),pc_walktoxy()‚Ås“®•s‰Â”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + mob.c + mob_stopattack()C³ + mob_ai_sub_hard()‚Ås“®•s”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + +EUŒ‚ŽË’ö‚Ì”»’è’ljÁ + ‘ŠŽè‚ªˆÚ“®‚µ‚Ä“Í‚©‚È‚¢‚Æ‚«‚ÍAˆÚ“®ƒpƒPƒbƒg‚ð‘—M + + clif.c/clif.h + clif_movetoattack()’ljÁ + pc.c + pc_attack()‚ÅŽË’ö”»’èA“Í‚©‚È‚¢‚È‚çclif_movetoattack()‚ðŒÄ‚ÔB + +---------- +//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Á + +EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ + pc.c + pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ + + +---------- +//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Á + (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()‚ðŒÄ‚Ô + 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‚· + pc.c + pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ԃ悤‚É‚µA + party_sended‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +E‰r¥–WŠQ‚³‚ꂽ‚Æ‚«‰æ–Êã‚ʼnr¥‚ð‚â‚ß‚é‚悤‚ÉC³ + (map/) + skill.c + skill_castcancel()‚ʼnr¥’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ì‚©‚ÈH)‚ð‘—M + +E’´‰“‹——£UŒ‚‚¾‚Æ“G‚ª”½Œ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ + (map/) + map.h + struct mob_data‚Émin_chaseƒƒ“ƒo’ljÁiÅ’á’ÇÕ‹——£j + mob.c + mob_attack()‚Åmin_chase‚ð13‚ɉŠú‰»‚·‚é + mob_walk()‚Åmin_chase‚ª13‚æ‚è‘å‚«‚¢‚È‚ç­‚µ‚¸‚ˆø‚¢‚Ä‚¢‚­ + mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚è’ÇÕ‚ð”»’fA + UŒ‚‚ðŽó‚¯‚½Žž‚Émin_chase‚ð”މ䋗—£+13‚ÉÝ’è + +---------- +//0246 by ŒÓ’±—– + +EƒJ[ƒgŽÀ‘• + map.h + struct map_session_data‚Écart_weight‚È‚Ç‚S‚ƒƒ“ƒo’ljÁ + pc.c/pc.h + pc_cart_additem(),pc_cart_delitem(), + pc_cart_putitemtocart(),pc_cart_getitemfromcart()’ljÁ + pc_calcstatus()‚ŃJ[ƒgd—Ê‚âŒÂ”‚È‚Ç‚Ìî•ñ‚ðŒvŽZ + 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Á + storage.c/storage.h + storage_additem(),storage_delitem()’ljÁ + storage_storageadditemfromcart,~getitemtocart()’ljÁ + storage_storageadd(),storage_storageget()‚ÅA + storage_additem(),storage_delitem()‚ðŒÄ‚Ԃ悤‚É•ÏX + +EƒXƒLƒ‹‰r¥ƒfƒBƒŒƒC‚È‚ÇŽÀ‘• + clif.c + clif_parse_WalkToXY()‚Éskilltimer‚É‚æ‚éˆÚ“®‰Â”Û‚ð’ljÁ + clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()‚É + canmove_tick‚É‚æ‚éUŒ‚‰Â”ےljÁ + skill.c/skill.h + skill_castcancel()‚ð’ljÁ + skill_use_id(),skill_use_pos()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚¨‚æ‚ÑA + canmove_tick‚ÌÝ’è + battle.c + battle_damage()‚Åskill_castcancel()‚̌ĂÑo‚µ’ljÁ + +E0245‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + +---------- +//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³ +---------- +//0244 by ‚ê‚  +Emob_db.txt‚ÌC³ + ‹T“‡ƒ‚ƒ“ƒXƒ^[‚̃f[ƒ^‚ð‚¢‚ê‚Ü‚µ‚½B + ‚½‚¾AŠÔˆá‚Á‚Ä‚é•”•ª‚ª‚©‚È‚è‚ ‚è‚Ü‚·B + Speed,Delay‚Í“K“–‚Å‚·B + ‚Ü‚½A‚í‚©‚ç‚È‚¢‚Ì‚ÍŠØ‘”ł̃f[ƒ^‚È‚Ì‚Å + Mdef‚Æ‚©ˆÙí‚É‚‚¢‹C‚àB +---------- +//0242 by ŒÓ’±—– + +EŽæˆøŠÖ˜A‚Ì•ÏX‚ÆC³ + Žæˆø‚ÉŽg‚¤•Ï”‚ðmmo_charstatus‚©‚çmap_session_data‚Ɉړ®‚µ‚Ü‚µ‚½ + + (common/) + mmo.h + struct mmo_charstatus‚©‚çŽæˆøŠÖŒW‚̃ƒ“ƒoíœ + (map/) + map.h + struct map_session_data‚ÉŽæˆøŠÖŒW‚̃ƒ“ƒo’ljÁ + trade.c + \‘¢‘Ì‚Ì•ÏX‚É‚ ‚킹‚ÄC³ + map.c + map_quit()‚ÅŽæˆø’†‚È‚çƒLƒƒƒ“ƒZƒ‹‚·‚é‚悤‚É‚µ‚½ + +EƒJ[ƒh‚Ì‘g‚݇‚킹ŽÀ‘• + pc.c/pc.h + pc_insert_card()‚ŃJ[ƒh‚ðŽÀÛ‚É‘}“ü‚·‚é + clif.c/clif.h + clif_parse_UseCard(),clif_parse_InsertCard()’ljÁ + clif_use_card(),clif_insert_card()’ljÁ + +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Á + pc.c/pc.h + pc_calcstatus()‚ŃJ[ƒh‚̈—’ljÁ + ‚ ‚éID‚̃J[ƒh‚ª‘•”õÏ‚Ý‚©ŒŸõ‚·‚邽‚ß‚ÌŠÖ”A + pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ + +Ed—ʃI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ì•\Ž¦ + (map/) + pc.c/pc.h + pc_checkweighticon()’ljÁAd—ʂ̃AƒCƒRƒ“ˆ— + clif.c + clif_updatestatus()‚Åd—Ê‘—MŽž‚Épc_checkweighticon()‚ÌŽÀs + clif_changeoption()‚Å‘é‚Æ‹Ræ‚̃AƒCƒRƒ“ˆ— + +E0241‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + + +---------- +//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 + + item_db2.txt + ‹T“‡‚É‚ ‚킹‚Ä’²® + +---------- +//0240 by nabe + +EŽæˆø‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + (common/) + mmo.h + 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 + 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 + + +---------- +//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 + script.c + goto“®ì‚ÌŒã‚ÌRERUNLINE‚ɑΈ‚·‚邽‚ßA + goto,menu‚Å”ò‚ñ‚¾Œã‚É‚ÍAst.state==GOTO‚Årerun_pos‚ðXVB + + +---------- +//0233 by nabe + +EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ì‘•”õ”»’è‚ð’ljÁ‚µ‚Ü‚µ‚½B + pc.c + pc_equipitem()‚É‘•”õ”»’èi«•Ê”»’èA‘•”õLV”»’èAE‹Æ”»’èj’ljÁ + +Ed—Ê”»’èƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’ljÁ‚µ‚Ü‚µ‚½B + if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ê)) + ‚Å‚»‚̃AƒCƒeƒ€~”—Ê‚ðŽæ“¾‚Å‚«‚é‚©‚Ç‚¤‚©”»’è‚Å‚«‚Ü‚·B + script.c + buildin_checkweight()‚ð’ljÁ + +EƒXƒNƒŠƒvƒg‹l‚߇‚킹‚ðathena dev-2.1.1—p‚ɈÚA‚µ‚Ü‚µ‚½B + map_athena1.cnf + npc_event_*.txt ƒCƒxƒ“ƒgNPC + npc_job_*.txt “]ENPC + npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ + npc_town_*.txt ’¬NPC + + +---------- +//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 + + (common/) + mmo.h + struct skill‚Éflagƒƒ“ƒo’ljÁiƒJ[ƒhƒXƒLƒ‹‚©‚Ç‚¤‚©j + (map/) + map.h + struct map_session_data‚Éatk_ele‚Ȃǂ̃ƒ“ƒo’ljÁ + enum‚ÅSP_ATKELEMENT‚ȂǒljÁ + pc.c + pc_bonus()‚ÌŽÀ‘•Apc_skill()’ljÁ + script.c + buildin_skill()‚̒ljÁ + buildin_bonus()‚ÌC³(const.txt‚̒蔂ªŽg‚¦‚é‚悤‚É) + clif.c + clif_skillinfoblock()‚ÌC³(ƒJ[ƒhƒXƒLƒ‹‚Íã‚°‚ç‚ê‚È‚¢) + (db/) + const.txt + bonus‚ÉŽg‚¤‚½‚߂̒蔒ljÁ + item_db.txt + •W€‚̃f[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + item_db2.txt + 0213‚Å‘Šê’²®‚³‚ꂽƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + +E‰r¥ŠÖŒW‚̃oƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + (map/) + skill.c + skill_use_id(),skill_use_pos()‚ðC³ + (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Á + pc.c + pc_calcstatus()‚Å‘®«‰Šú‰» + battle.c + battle_get_element(),battle_get_attack_element()C³ + battle_calc_weapon_damage()‚ÌŠY“–ŒÂŠC³ + +Eñ‘•”õŽž‚ÉMATK+15%‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + battle.c + battle_calc_magic_damage()‚ÌŠY“–ŒÂŠC³ + +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 + + (char/) + char.h + UNKNOWN_CHAR_NAME’è‹`iƒLƒƒƒ‰ƒf[ƒ^‚ª–³‚¢‚Æ‚«‚É•Ô‚³‚ê‚é–¼‘Oj + char2.c + parse_frommap()‚ɃpƒPƒbƒg0x2b08‚̈—‚ð’ljÁ + + (map/) + chrif.c/chif.h + chrif_searchcharid()’ljÁ + chrif_parse()‚Å0x2b09‚̈—’ljÁ + 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Á + clif.c/clif.h + clif_parse_SolveCharName(),clif_solved_charname()’ljÁ + + +---------- +//0231 by nabe + +EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Æ‘‚­‚ƃLƒƒƒ‰‚Ì–¼‘O‚ð‚µ‚á‚ׂé‹@”\‚ð’ljÁB + 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 + 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 + +---------- +//0230 by nabe + +E‰ñ”𗦑‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”½‰fB + pc.c + 0228‚Å‚Ìpc_calcstatus()‚̉ñ”𗦑‰Á•ª‚ðŒ³‚É–ß‚µflee‚ð‘‰ÁB + battle.c + battle_calc_weapon_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦕ÛØ‚ðŒvŽZB +EƒOƒ[ƒoƒ‹•Ï”‚ðŽÀ‘•B +@ '@'‚à‚µ‚­‚Í'l'‚ÅŽn‚Ü‚ç‚È‚¢•Ï”–¼‚ÍA‘S‚ăOƒ[ƒoƒ‹•Ï”‚Æ‚Ý‚È‚³‚ê‚Ü‚·B + mmo.h + 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 + script.c + get_val(),buildin_input(),buildin_set()‚É + ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + char2.c + mmo_char_tostr(),mmo_char_fromstr()‚É + ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + +---------- +//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³ + skill.c + skill_castend_damage_id()‚Ì•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ì•”•ª‚ðC³ + +E“GUŒ‚ŒvŽZ‚ðPC‚Ì‚à‚̂ƈê–{‰» + ‚±‚ê‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚‚̊֔‚ÅŒvŽZ‚Å‚«‚Ü‚· + + battle.c/battle.h + battle_calc_weapon_attack()‚ðC³ + battle_calc_weapon_attack_pc(),~mob()‚ðíœ + mob.c + mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚¤‚悤‚ÉC³ + +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‚·‚é‚Ì‚ðŽ~‚ß‚½ + +E‰“‹——£UŒ‚‚µ‚Ä‚±‚È‚¢ƒoƒOA‚»‚Ì‘¼‚ðC³ + mob.c + mob_attack()‚ÌŽË’ö‚ðC³‚µ–Y‚ê‚Ä‚¢‚½ + mob_ai_sub_hard()‚ÅŽË’ö‹——£ŠO‚ÌŽžA–³ˆÚ“®‚Ì“G‚Í + ƒ^[ƒQƒbƒg‚ðŠO‚·‚悤‚É‚µ‚½ + + +---------- +//0228 by nabe + +Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ÌSkillID‚ðC³B + battle.c + battle_calc_weapon_attack_pc()‚Å + pc_checkskill(sd,49) -> pc_checkskill(sd,48)‚ÉB +E‰ñ”𗦌üã‚ð—z‚É•\‚³‚È‚¢ + pc.c + pc_calcstatus()‚Å‚Ìflee‚̉ñ”𗦌ü㕪‚ð휂µA + mob.c + mob_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦌üã‚ðŒvŽZB +E“å³A“峎“A“å³—Y‚ð³í‰»B + 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 + pc.c + printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg + +---------- +//0227 by ŒÓ’±—– + +Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + HP‰ñ•œŒüãASP‰ñ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA + ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ñ‚¾‚Ó‚èA‰ž‹}Žè“– + + 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‰Â”\‚É‚µ‚½ + skill.c/skill.h + skill_status_change_start(),~timer(),~end()‚Ɉ—’ljÁ + skill_check_cloaking()’ljÁAƒNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚ðŒŸ¸ + battle.c/battle.h + battle_stopattack()’ljÁ + battle_calc_weapon_attack()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + mob.c + mob_ai_sub_hard()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + +E’ÊíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹¤—p‚ÉB + pc.c + pc_attack_mob(),pc_attack_pc()íœ + pc_attack()‚ÉUŒ‚ˆ—’ljÁ + +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 + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ì‘‰Á”{—¦‚ª100”{‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ÅAŠY“–ŒÂŠ‚ðC³ + + +---------- +//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 + + (map/) + map.h + struct map_session_data‚Éwatk2,def2‚ȂǒljÁ + pc.c + pc_calcstatus()‚ɃXƒLƒ‹C³’ljÁ + atk2‚È‚Ç‚à‘—M‚·‚é‚悤‚É•ÏX + 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Á + skill.c/skill.h + skill_use_nodamage_id()‚ÌŠY“–ŒÂŠ’ljÁ + skill_status_change_start()‚ÌŠY“–ŒÂŠ’ljÁ + clif.c + clif_updatestatus()‚Ìatk2‚Ȃǂ̈—’ljÁ + clif_initialstatus()‚Åatk2‚Ȃǂ̈µ‚¢•ÏXAaspd‚È‚Ç‘—M’ljÁ + +E¸˜Bƒ_ƒ[ƒWC³/¸˜B–hŒäC³‚ª“K—p‚³‚ê‚Ü‚µ‚½ + (map/) + pc.c + pc_calcstatus()‚Åwatk2‚Ædef‚̒ljÁŒvŽZ’ljÁ + battle.c + battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚ɒljÁ + +EinterŽI‚̃pƒPƒbƒg‰ðÍ•”‚Ì’v–½“I‚È–â‘肪C³‚³‚ê‚Ü‚µ‚½ + TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚¢‚¯‚È‚¢‚±‚Æ‚ð‚»‚Ì‚Ü‚Ü‚â‚Á‚Ä‚Ü‚µ‚½(Š¾ + interŽI‚̃pƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚悤‚ÉC³‚³‚ê‚Ü‚µ‚½B + + (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 + int_storage.c/int_storage.h + mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX + int_party.c/int_guild.c + Žd—l•ÏX‚ɑΉž‚³‚¹‚½•ÏX + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ + +E‚¿‚å‚Á‚Æ‚µ‚½C³ + (char/) + inter.h + inter_cfgName‚ð"conf/inter_athena.cnf"‚ÉC³ + char2.c + char.exe‘æ‚Qˆø”È—ªŽžAinter_cfgName‚ðŽg‚¤‚悤‚ÉC³ + (db/) + cast_db.txt + ƒz[ƒŠ[ƒ‰ƒCƒg‚̉r¥ŽžŠÔ’ljÁiƒfƒBƒŒƒC‚Í“K“–j + Ú‚µ‚¢l’ljÁ‹‚Þ + +---------- +//0225 by ŒÓ’±—– + +‚È‚ñ‚©‚©‚È‚è˜M‚è‚Ü‚µ‚½‚ª‘Š•Ï‚í‚炸ƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚Ü‚¹‚ñB + +EƒXƒLƒ‹Žg—pŽž‚Ì•Ï”‚ð•ÏX + ‚æ‚­Œ©‚½‚çʼn‚©‚ç—pˆÓ‚³‚ê‚Ä‚Ü‚µ‚½‚ËB + + map.h + struct map_session_data‚Ìcast_*‚ðíœ + skill.c + cast_*‚Ì•Ï”‚ðskill*‚É•ÏXB + +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 + 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 + pc.c + pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B + pc_setoption‚Åclif_changeoption()‚̈ø”•ÏXB + pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + mob.c + mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B + mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + 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 + clif.h/clif.c + clif_status_change()’ljÁBƒXƒe[ƒ^ƒXˆÙíƒAƒCƒRƒ“•\Ž¦—pB + clif_changeoption()‚̈ø”•ÏXB + atcommand.c + clif_changeoption()‚ðŒÄ‚ñ‚Å‚¢‚é‚Qƒ–Š‚ňø”•ÏXB + @die‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + +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 + +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 + +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 + battle.c + battle_calc_damage()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB + battle_damage(),battle_heal()‚̈ø”•ÏX + battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ÏX + clif.c/clif.h + clif_skill_estimation()’ljÁBƒ‚ƒ“ƒXƒ^[î•ñ‘—M—p + pc.c + battle_calc_weapon_damage()ŒÄ‚Ño‚µ‚̈ø”•ÏX + +Estorage.txt‚ª–³‚¢ê‡interŽI‚ª‹­§I—¹‚·‚éŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ + (char/) + int_storage.c + inter_storage_init()‚Ńtƒ@ƒCƒ‹‚ª“Ç‚ß‚È‚¢‚Æexit‚µ‚Ä‚½‚Ì‚ðC³ + + +---------- +//0224 +E2-2ŽŸE‚̃XƒLƒ‹‚ðƒcƒŠ[‚ɒljÁ‚µ‚Ü‚µ‚½iŽÀ‘•‚Í‚Ü‚¾‚Å‚·j + (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 + + ƒJƒvƒ‰‘qŒÉ‚ÌinterŽIŽÀ‘•‚ÌŠT—v + + 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 + + (common/) + mmo.h + struct storage ‚ð map/storage.h ‚©‚çˆÚ“®B + interŽI‚ÆmapŽI—¼•û‚ÅŽg—p‚·‚邽‚ßB + (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 + 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 + int_storage.c/int_storage.h + V‹K’ljÁB‘qŒÉ•”•ª‚ÌinterŽI‹@”\B + 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Á + + (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 + intif.h/intif.c + intif_parse_LoadStorage(),intif_parse_SaveStorage(), + intif_send_storage(),intif_request_storage()’ljÁ + map.c + map_quit()‚Åstorage_storage_quitsave()‚ðŒÄ‚Ԃ悤‚ÉB + + (conf/) + inter_athena.cnf + V‹K’ljÁBinterŽI—p‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ + + +---------- +//0221 by ŒÓ’±—– + +EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ÌID‚ª³‚µ‚­Š“¾‚Å‚«‚È‚¢–â‘èC³ + clif.c + clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚µ‚Ĉµ‚Á‚Ä‚½‚Ì‚ðLONG‚ÉC³ + +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‚ð•Ï‚¦‚邱‚Æ‚Å”{—¦‚ð’²®‚Å‚«‚Ü‚· + + pc.c + pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ì“Ç‚Ýž‚ݒljÁ + skill.c/skill.h + struct skill_db ‚Écast,delay’ljÁA‚»‚ê‚ç‚̃AƒNƒZƒT‚à’ljÁ + ƒXƒLƒ‹‰r¥ŽžŠÔ‚ð 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Á + 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 + 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Á + battle.c + battle_calc_magic_damage()‚Ńq[ƒ‹‚̃_ƒ[ƒWŒvŽZ’ljÁ + + +---------- +//0220 by ‚ê‚  + +0216‚ÌC³ +HIT‚ÌŒvŽZ‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ÅC³‚µ‚Ä‚Ý‚Ü‚µ‚½B +ŠÔˆá‚Á‚Ä‚½‚炲‚ß‚ñ‚È‚³‚¢B + +Ebattle.c + 256s–Ú‚Ì + 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 ŒÓ’±—– + +ŽÀÛ‚É•ªŽ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 + + ‘qŒÉ‚ÌŽÀ‘•‚àinterŽI‚Ɉړ®‚·‚ׂ«‚©‚à‚µ‚ê‚Ü‚¹‚ñB + ‚ǂ̃Lƒƒƒ‰ƒNƒ^[‚ª‚Ç‚ÌmapŽI‚É‚¢‚é‚©ŒŸõ‚·‚é‹@”\‚à‚¢‚é‚©‚àB + + Ž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‚É‘‚¢‚Ä‚­‚¾‚³‚¢ + + ‚±‚Ì‹@”\‚É‚æ‚郃Šƒ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‚Á‚Ä‚¢‚é‚Ƃ‚炢‚©‚à + + (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‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + inter.h/inter.c + V‹K’ljÁBinterŽI‚Ì’†ŠjB + inter_parse_frommap‚ÅMAPŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B + 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 + + (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 + chrif.h/chrif.c + chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + iintif.c‚ÌinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + +E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚É•ÏX + Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· + ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg + + (char/) + inter.c + mapif_GMmessage()’ljÁ + (map/) + intif.h/intif.c + intif_GMmessage()’ljÁ + intif_parse‚ÅGMƒƒbƒZ[ƒW‚̈—‚ð’ljÁ + clif.c/clif.h + clif_GMmessage()‚̈ø”‚ð•ÏX + atcommand.c + @kami•”•ª‚Åintif_GMmessage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + +EWis‚ðinterŽIŒo—R‚É•ÏX + Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· + + ‘—‚èŽåƒ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‚̉ž“š‚ð‘Ò‚Â) + + ‚à‚Ì‚·‚²‚¢•¡ŽG‚É‚È‚Á‚Ä‚Ü‚·‚ËB + + (char/) + inter.c + struct WisList ’è‹`iWisƒf[ƒ^‚̃Šƒ“ƒNƒŠƒXƒgj + add_wislist(),del_wislist(),search_wislist(), + check_ttl_wislist()’ljÁ,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆµ‚¤ŠÖ”ŒQ + mapif_wis_message(),mapif_wis_end()’ljÁ + (map/) + intif.h/intif.c + intif_wis_message(),intif_wis_end()’ljÁ + intif_parse_WisMessage()’ljÁ,intif_parse()‚©‚çŒÄ‚΂ê‚é‚悤‚É + clif.c/clif.h + clif_wis_message(),clif_wis_end()’ljÁ + clif_parse_Wis()‚ð•ÏX,intif_wis_message()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + +EƒXƒLƒ‹Žg—pŽž‚̃qƒbƒg”/Á”ïSPŠ“¾‚̃oƒOC³ + skill.c + skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ñƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚µ‚½ + + +---------- +//0216 by ŒÓ’±—– + +‚¢‚‚à‚Ç‚¨‚èƒeƒXƒg‚Ù‚Æ‚ñ‚Ç‚µ‚Ä‚È‚¢‚Ì‚ÅAƒoƒO‘å—Ê‚©‚àB + +E0213‚ÌC³H‚Ì‚æ‚­‚í‚©‚ç‚È‚¢‚Æ‚±‚ëC³ + itemdb.c + ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢‚Ì‚Åitemdb_equipoint‚̈ø”ƒŠƒXƒg•ÏX + +EAthena dev 2.1.1‚Ì“K—p + dev-2.1.1‚Å“K—p‚³‚ꂽC³‚ð“K—p‚µ‚Ü‚µ‚½ + + timer.c + 2.1.1‚Ì‚à‚Ì‚Æ·‚µ‘Ö‚¦ + script.c + C_NE: ‚ÌC³‚Ì“K—p + README + ÅŒã‚Ì•¶Í‚ð2.1.1‚Ì‚à‚Ì‚É·‚µ‘Ö‚¦ + +EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ÌC³ + ˆê•”‚ÌÁ”ïSP‚âƒqƒbƒg”‚È‚Ç‚ðC³B + + 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 + 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 + skill.c/skill.h + 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½iƒ_ƒ[ƒW”{—¦ŒvŽZ‚ª‚¨‚©‚µ‚¢j + skill_castend_id()‚ÉSP/ZenyŠm”F‚ÆÁ”ï•”•ª‚ð’ljÁA + Ží—ޕʂɈ—‚ð’ljÁB + 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(Š¾) + + +---------- +//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 + + clif.c,clif.h + clif_skill_damage()‚ð’ljÁ‚µ‚Ü‚µ‚½B + + pc.c,pc.h + pc_attack_mob()‚̈ø”‚ðˆê‚’ljÁB + ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚̂ųí‚É“®ì‚·‚é‚悤‚ÉC³B + + skill.c + ˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•‚ð‚µ‚Ä‚Ý‚Ü‚µ‚½B + + +---------- +//0213 by ‚ê‚  +E0208‚Ì—ƒRƒ}ƒ“ƒh‚Å­‚µC³ + atcommand.c + @item‚Ō”Žw’肪–³‚¢ê‡A“üŽèŒÂ”‚ð‚PŒÂ‚É‚·‚é‚悤‚É‚µ‚½B + @item‚ÅID‚ÌŽw’肪–³‚¢ê‡AƒAƒCƒeƒ€‚ð“üŽè‚µ‚Ä‚½‚±‚Æ‚É‚È‚Á‚Ä + ‚¢‚½‚Ì‚ðC³ + itemdb.c + item_db.txt‚ÅSell‚Ì€–Ú‚ð“X”„‚è‚Ì’l’i‚Æ‚µ‚Ä‚Ý‚½B + item_db2.txt + ŽŽ‚µ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ì“X”„‚艿Ši‚ð’l’i‚ð–{ŽI‚Ì‘Šê‚É‚µ + ‚Ä‚Ý‚½‚à‚ÌBŽg—p‚·‚éꇂÍitem_db.txt‚Æ·‚µ‘Ö‚¦‚Ä‚­‚¾‚³‚¢B + + +---------- +//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 + clif.h,clif.c + clif_displaymessage() + clif_GMmessage() + clif_heal() + clif_resurrection() + clif_pvpon() + clif_pvpset() + clif_refine() + ‚ð’ljÁ‚µ‚Ü‚µ‚½B + clif_parse_GlobalMessage()“à‚Åatcommand()‚ðŒÄ‚ñ‚Å‚¢‚Ü‚·B + +E‚¿‚å‚Á‚Æ‚¾‚¯C³B + script.c + {buildin_openstorage,"openstorage","s"}, + ‚©‚ç + {buildin_openstorage,"openstorage",""}, + ‚ÉC³‚µ‚Ü‚µ‚½B + + +---------- +//0206 by ŒÓ’±—– +EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ÌŽÀ‘• + mmo.h + MAX_SKILL‚ð‘‚₵‚½ + char2.c + mmo_char_fromstr() + mmo_charstatus‚Ìskill‚̃Cƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”Ô†‚ðŽg‚¤‚悤‚É‚µ‚½ + =>ƒXƒLƒ‹‚ÌŒŸõ‚‘¬‰»‚Ì‚½‚ßi‚©‚í‚è‚Ƀƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚éj + 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()‚ð + ŒÄ‚Ԃ悤‚É‚µ‚½ + clif.c/clif.h + clif_skillinfoblock(),clif_skillcasting(), + clif_skillup()‚ð’ljÁ + clif_parse_SkillUp(),clif_parse_UseSkillToId(), + clif_parse_UseSkillToPos()‚ðŽÀ‘• + skill.h/skill.c + ƒtƒ@ƒCƒ‹’ljÁ(map/) + map.h + struct map_session_data‚Écast_*‚ð’ljÁ + 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‚É“ü‚ê‚é—\’è + +---------- +//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.h,storage.c + storage_init()‚ðdo_init_storage()‚ɉü–¼B + storage_save()‚ðdo_final_storage()‚ɉü–¼B + fclose‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚ð’ljÁB + map.c + #include "storage.h"‚ð’ljÁB + do_final()‚Édo_final_storage()‚ð’ljÁB + do_init()‚Édo_init_storage()‚ð’ljÁB + +---------- + +//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 + +---------- + +//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 + + ‰ü•Ï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‚¾‚¯ + +---------- + +//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 + + char_athena.cnf‚Ì + stor_txt: + ‚Å‘qŒÉƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚Ä‚¢‚Ü‚·B + + ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B + map/Makefile, + map/storage.c, + map/storage.h, + map/clif.c, + map/clif.h, + 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 + +E‘S‚ẴRƒƒ“ƒg•¶‚ðEUC‚©‚çSJIS‚É•ÏŠ·‚µ‚Ü‚µ‚½B + +---------- + + Athena Dev. v2.1.1 Released: Middle July, 2003 + (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 +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 + /* + ‰ü—ǔłð”z•z‚·‚éꇂ͕K‚¸‚±‚ÌREADME‚ð‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B + ‰½ˆ‚ð‰ü—Ç‚µ‚½‚Ì‚©•ñ(athena@project-yare.de‚Ü‚Å)‚µ‚ĖႦ‚é‚Æ•‚©‚è‚Ü‚·B + ƒoƒCƒiƒŠ‚Ì‚Ý‚Ì”z•z‚ÍGPLˆá”½‚Å‚·‚Ì‚Å"•K‚¸"ƒ\[ƒX‚à“Y•t‚µ‚Ä‚­‚¾‚³‚¢B + */ + “®ì‚ÌŠm”F‚͈ȉº‚Ì’Ê‚è‚Ì‚Ýs‚Á‚Ä‚¢‚Ü‚·B + // ‚½‚¾‚µŠ®àø‚É“®‚­Ž–‚ð•ÛØ‚·‚é‚à‚Ì‚Å‚ ‚è‚Ü‚¹‚ñ + ‘ÎÛCPU: Intel PentiumŒn // PentiumIIˆÈã‚ÅŠm”F. + FreeBSD 4.8R, 4.6.2R + Linux RedHat 7.3 + cygwin + gcc 3.2 20020927 (prerelease) + ŠJ”­Œ³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 + + v‘¬‚ÉUpdate‚ð‹­‚­„§‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªŠeŽ©‚Ì”»’f‚Ås‚Á‚ĉº‚³‚¢B + + +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î•ñ‚È‚Ç + + +4. Žg‚¢•û + > 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 + > ./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 + + +5. Œ»Ý‚ÌŽd—l + –{ŽI‚Æ”ä‚ׂè‚©‚µ‚¢(—Ⴆ‚΃vƒo‚ª•à‚­Aƒ|ƒŠƒ“‚ªƒAƒCƒeƒ€‚ðE‚í‚È‚¢‚È‚Ç)“_‚ÍA + ‘S‚ÄŒ»ÝŠJ”­’†‚Ɉö‚é‚à‚Ì‚Å‚·B + Œ»ó‚Æ‚µ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚у‚ƒ“ƒXƒ^[Œn‚̃oƒO•ñ‚Í–³Ž‹‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B + + ƒ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 + ------------------ END ------------------- + —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚¦‚Ämap.core‚È‚Çcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚µ‚Ä’¸‚­‚±‚Æ‚Å‚·‚ª + –â‘è‚ÌMap‚¾‚¯‚Ìó‘Ô‚É‚µcore‚Ì“f‚­—e—Ê‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + /* + Š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 + */ + + ¡‰ñ‚̃ŠƒŠ[ƒ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 + + +9. English + This release is just fixed some bugs in timer.c, script.c and map_athena1.conf. + + +(c) 2003 Athena Project. diff --git a/Readme2.txt b/Readme2.txt index acbe2703f..cedb7cbb3 100644 --- a/Readme2.txt +++ b/Readme2.txt @@ -1,30 +1,30 @@ - ______ __ __ - /\ _ \/\ \__/\ \ - __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ - /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ -/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ -\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ - \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ - _ _ _ _ _ _ _ _ _ _ _ _ _ - / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ -( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) - \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ - - --------------------------------------------------------------- -eAthena VERSION --------------------------------------------------------------- -Version 1.0.0 DEV-SVN --------------------------------------------------------------- - -Please read new HTML readme at: -./readme.html - --------------------------------------------------------------- --------------------------------------------------------------- -License: --------------------------------------------------------------- -eAthena is licensed under the GPL. Please refer to LICENSE in -your Athena folder for the full GPL License statement. --------------------------------------------------------------- --------------------------------------------------------------- + ______ __ __ + /\ _ \/\ \__/\ \ + __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ + /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ + \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ + _ _ _ _ _ _ _ _ _ _ _ _ _ + / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) + \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ + + +-------------------------------------------------------------- +eAthena VERSION +-------------------------------------------------------------- +Version 1.0.0 DEV-SVN +-------------------------------------------------------------- + +Please read new HTML readme at: +./readme.html + +-------------------------------------------------------------- +-------------------------------------------------------------- +License: +-------------------------------------------------------------- +eAthena is licensed under the GPL. Please refer to LICENSE in +your Athena folder for the full GPL License statement. +-------------------------------------------------------------- +-------------------------------------------------------------- diff --git a/athena-start b/athena-start index f21dccf71..92d49c2ef 100644 --- a/athena-start +++ b/athena-start @@ -1,84 +1,84 @@ -#!/bin/sh -# athena starting script by rowla - -PATH=./:$PATH - -L_SRV=login-server -C_SRV=char-server -M_SRV=map-server -L_SRV_C=./conf/login_athena.conf -C_SRV_C=./conf/char_athena.conf -C_SRV_C2=./conf/inter_athena.conf -M_SRV_C=./conf/map_athena.conf -M_SRV_C2=./conf/battle_athena.conf -M_SRV_C3=./conf/atcommand_athena.conf -M_SRV_C4=./conf/script_athena.conf -M_SRV_C5=./conf/msg_athena.conf -M_SRV_C6=./conf/grf-files.txt - -print_start() { -# more << EOF -echo "Athena Starting..." -echo " (c) 2003 Athena Project." -echo " URL:http://project-yare.de/" -echo "" -echo "Debug informations will appear," -echo "since this is a test release." -echo "" -echo "checking..." -#EOF -} - -check_account() { - if [ ! -f ./save/account.txt ]; then - echo "0 s1 p1 - S 0" > save/account.txt - echo "1 s2 p2 - S 0" >>save/account.txt - echo "2 s3 p3 - S 0" >>save/account.txt - echo "3 s4 p4 - S 0" >>save/account.txt - echo "4 s5 p5 - S 0" >>save/account.txt - fi -} - -check_files() { - - for i in ${L_SRV} ${C_SRV} ${M_SRV} ${L_SRV_C} ${C_SRV_C} ${C_SRV_C2} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6} - do - if [ ! -f ./$i ]; then - echo "$i does not exist, or can't run." - echo "Stoped, Check your compile or configuration file." - exit 1; - fi - done - -# more << EOF -echo "Check done." -echo "Looks good, have a nice athena!" -#EOF -} - - -case $1 in - 'start') - print_start - check_account - check_files - - exec ./${L_SRV} ${L_SRV_C}& -# exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2} > /dev/null& -# exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} > /dev/null& - exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2}& - exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}& - - echo "Now Started Athena." -;; - 'stop') - ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill -9 - ;; - 'restart') - $0 stop - $0 start - ;; - *) - echo "Usage: athena-start { start | stop | restart }" - ;; -esac +#!/bin/sh +# athena starting script by rowla + +PATH=./:$PATH + +L_SRV=login-server +C_SRV=char-server +M_SRV=map-server +L_SRV_C=./conf/login_athena.conf +C_SRV_C=./conf/char_athena.conf +C_SRV_C2=./conf/inter_athena.conf +M_SRV_C=./conf/map_athena.conf +M_SRV_C2=./conf/battle_athena.conf +M_SRV_C3=./conf/atcommand_athena.conf +M_SRV_C4=./conf/script_athena.conf +M_SRV_C5=./conf/msg_athena.conf +M_SRV_C6=./conf/grf-files.txt + +print_start() { +# more << EOF +echo "Athena Starting..." +echo " (c) 2003 Athena Project." +echo " URL:http://project-yare.de/" +echo "" +echo "Debug informations will appear," +echo "since this is a test release." +echo "" +echo "checking..." +#EOF +} + +check_account() { + if [ ! -f ./save/account.txt ]; then + echo "0 s1 p1 - S 0" > save/account.txt + echo "1 s2 p2 - S 0" >>save/account.txt + echo "2 s3 p3 - S 0" >>save/account.txt + echo "3 s4 p4 - S 0" >>save/account.txt + echo "4 s5 p5 - S 0" >>save/account.txt + fi +} + +check_files() { + + for i in ${L_SRV} ${C_SRV} ${M_SRV} ${L_SRV_C} ${C_SRV_C} ${C_SRV_C2} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6} + do + if [ ! -f ./$i ]; then + echo "$i does not exist, or can't run." + echo "Stoped, Check your compile or configuration file." + exit 1; + fi + done + +# more << EOF +echo "Check done." +echo "Looks good, have a nice athena!" +#EOF +} + + +case $1 in + 'start') + print_start + check_account + check_files + + exec ./${L_SRV} ${L_SRV_C}& +# exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2} > /dev/null& +# exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} > /dev/null& + exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2}& + exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}& + + echo "Now Started Athena." +;; + 'stop') + ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill -9 + ;; + 'restart') + $0 stop + $0 start + ;; + *) + echo "Usage: athena-start { start | stop | restart }" + ;; +esac diff --git a/char-server.sh b/char-server.sh index 39c1882ad..6cddf373c 100644 --- a/char-server.sh +++ b/char-server.sh @@ -1,16 +1,16 @@ -#/bin/sh -#Hi my naem is Kirt and I liek anime - -ulimit -Sc unlimited - -while [ 3 ] ; do -if [ -f .stopserver3 ] ; then -echo server marked down >> servlog.txt -else -echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> startlog.txt -./char-server -fi - -sleep 5 - -done +#/bin/sh +#Hi my naem is Kirt and I liek anime + +ulimit -Sc unlimited + +while [ 3 ] ; do +if [ -f .stopserver3 ] ; then +echo server marked down >> servlog.txt +else +echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> startlog.txt +./char-server +fi + +sleep 5 + +done diff --git a/charserv.bat b/charserv.bat index 75b3e7dc5..69900c7ec 100644 --- a/charserv.bat +++ b/charserv.bat @@ -1,4 +1,4 @@ -@echo off -:charserv -start /min /wait char-server.exe conf\char_athena.conf +@echo off +:charserv +start /min /wait char-server.exe conf\char_athena.conf goto charserv \ No newline at end of file diff --git a/conf-tmpl/GM_account.txt b/conf-tmpl/GM_account.txt index 170253c5f..a7acfa038 100644 --- a/conf-tmpl/GM_account.txt +++ b/conf-tmpl/GM_account.txt @@ -1,35 +1,35 @@ -// GM‚Æ‚µ‚Ä”FŽ¯‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’è -// -// -// GM‚̃Œƒxƒ‹‚Í0ˆÈ‰º‚Í–³Ž‹‚ÅÅ‘å‚Í99 -704554 99 -704555 1 -704556 1 -704557 1 -704558 1 -704559 1 -704560 1 -704561 1 -704562 1 -704563 1 -704564 1 -704565 1 -704566 1 -704567 1 -704568 1 -704569 1 -704570 1 -704571 1 -704572 1 -704573 1 -704574 1 -704575 1 -704576 1 -704577 1 -704578 1 -704579 1 -704580 1 -704581 1 -704582 1 -704583 1 -794584 1 +// GM‚Æ‚µ‚Ä”FŽ¯‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’è +// +// +// GM‚̃Œƒxƒ‹‚Í0ˆÈ‰º‚Í–³Ž‹‚ÅÅ‘å‚Í99 +704554 99 +704555 1 +704556 1 +704557 1 +704558 1 +704559 1 +704560 1 +704561 1 +704562 1 +704563 1 +704564 1 +704565 1 +704566 1 +704567 1 +704568 1 +704569 1 +704570 1 +704571 1 +704572 1 +704573 1 +704574 1 +704575 1 +704576 1 +704577 1 +704578 1 +704579 1 +704580 1 +704581 1 +704582 1 +704583 1 +794584 1 diff --git a/conf-tmpl/atcommand_athena.conf b/conf-tmpl/atcommand_athena.conf index a33be2ae9..f0add1f2e 100644 --- a/conf-tmpl/atcommand_athena.conf +++ b/conf-tmpl/atcommand_athena.conf @@ -1,644 +1,644 @@ -// Athena atcommand Configuration file. -// Translated by Peter Kieser - -// Set here the symbol that you want to use for your commands -// Only 1 character is get (default is '@'). You can set any character, -// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) -// With default character, all commands begin by a '@': @revive -command_symbol: @ - - -// Sets the level of the users that can use the GM commands. -// : level -// When battle_athena.conf has atcommand_gm_only set to no, -// normal players (gm level 0) can use GM commands if you set 0 to the command level. -// Max GM level is 99. If you want forbid a command to all people, set it with level 100. - -// Default values are set to define different GM levels like follow: -// 0: normal player -// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) -// 1: Super player -// -> some (very) little advantages: storage, petrename, etc... -// 10: Super player+ -// -> same of Super player with !go (very super player) -// 20: Mediator -// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) -// 40: Sub-GM -// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) -// 50: Sub-GM+ -// -> This GM can change some non-important things on a character -// 60: GM -// -> can do almost anything (excep administration, and mass commands) -// GM is the first level where we can modify a character with important value, create items or create zenys -// 80: GM Chief -// -> can do anything, except administration commands -// 99: Administrator -// -> can do anything! - - -//-------------------------- -// 0: normal player commands - -// Give server time. (6 same commands) -time: 0 -date: 0 -server_date: 0 -serverdate: 0 -server_time: 0 -servertime: 0 - -// Display your ignore list (people from which you ignore wisps) -ignorelist: 0 - -// To change your (own) email (characters protection) -// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) -// if you want be sure of each e-mail disable this option (value: 100) -email: 0 - -// To become GM (need password; password is set in login_athena.conf). -// special!: only a non-GM (player with gm level 0) need to have this command. -// if you change the value, be sure of what you do! -// To be able to create a gm with @gm, you must: -// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) -// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command -// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) -// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) -gm: 100 - - -//------------------------- -// 1: Super player commands - -// Suicide your character. -die: 1 - -// Enables you to rename your pet. -petrename: 1 - -party: 1 - -// Brings up your personal storage wherever you are. -storage: 1 - -// Locate someone on a map, returns your coordinates if the person isn't on. -where: 1 - - -//--------------------------- -// 10: Super player+ commands - -// Spawns you to set points in major cities. -go: 10 - - -//---------------------- -// 20: Mediator commands - -// Displays helpfile in Athena base directory (2 same commands). -help: 20 -h: 20 - -// Warp yourself to a person (3 same commands + /shift). -jumpto: 20 -goto: 20 -warpto: 20 - -// follow a player (including warping to them) -follow: 20 - -// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). -kick: 20 - -// Changes your apperance. -model: 20 - -// To get a peco to (un)ride -mountpeco: 20 - -// Returns list of logged in characters with their position (2 same commands). -who: 20 -whois: 20 - -// Returns list of logged in characters with their job. -who2: 20 - -// Returns list of logged in characters with their party/guild. -who3: 20 - -// Returns list of logged in characters with their position in a specifical map. -whomap: 20 - -// Returns list of logged in characters with their job in a specifical map. -whomap2: 20 - -// Returns list of logged in characters with their party/guild in a specifical map. -whomap3: 20 - -// Like @who+@who2+who3, but only for GM. -whogm: 20 - -// Change your appearence to other players to a mob. -disguise: 20 - -//Restore your normal appearance. -undisguise: 20 - -// Display ignore list of a player (people from which the player ignore wisps) -charignorelist: 20 - -// Enable all wispers for a player -inall: 20 - -// Disable all wispers for a player -exall: 20 - - -//-------------------- -// 40: Sub-GM commands - -// Broadcast to the whole server. Using (1 command + /nb, /b). -broadcast: 40 - -// Broadcast to the map you are on (1 command + /lb, /nlb). -local_broadcast: 40 - -// Broadcast (with or without name). -kami: 40 -kamib: 40 - -// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) -mapmove: 40 - -// Enables you to view other characters stats. -charstats: 40 - -// Shows Stats Of All Characters Online -charstatsall: 40 - -// Enables GVG on a map (2 same commands). -gvgon: 40 -gpvpon: 40 - -// Turns GVG (Guild v. Guild) off on a map (2 same commands). -gvgoff: 40 -gpvpoff: 40 - -// Heals a person to full HP/SP. -heal: 40 - -// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). -hide: 40 - -// Changes your job to one you specify (2 same commands). -job: 40 -jobchange: 40 - -// Enables you to to jump randomly on a map (that you are already on). -jump: 40 - -// Warps you to your last save point (2 same commands). -return: 40 -load: 40 - -// Enables lost skills. -lostskill: 40 - -// Saves a warp point. -memo: 40 - -// Set your character display options. (Visual effects of your character) -option: 40 - -//Makes an egg -makeegg: 40 - -//Hatches an egg -hatch: 40 - -// Sets the level of intemecy of your pet. -petfriendly: 40 - -// Sets hunger level of your pet. -pethungry: 40 - -// Turns PVP (Person v. Person) off on a map. -pvpoff: 40 - -// Enables PVP on a map. -pvpon: 40 - -// Enables platinum skills. -questskill: 40 - -// Sets the speed you can walk/attack at. Default is 150. -speed: 40 - -// Enables spirit sphere balls. -spiritball: 40 - -// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). -rura: 40 -warp: 40 - -// Changes GM clothes color (2 same commands) -dye: 40 -ccolor: 40 - -// Changes GM hair style (2 same commands) -hairstyle: 40 -hstyle: 40 - -// Changes GM hair color (2 same commands) -haircolor: 40 -hcolor: 40 - -// Deletes all your items. -itemreset: 40 - -// Kill all monsters in map (without drops) -killmonster2: 40 - -// Sets your spawn point (aka save point). -save: 40 - -// Do some visual effect on your character -effect: 40 - -// Display all items of a player -charitemlist: 40 - -// Display all items of a player's storage -charstoragelist: 40 - -// Display all items of a player's cart -charcartlist: 40 - -// drop all your items -dropall: 40 - -// store all your items -storeall: 40 - -// allow other players to hit you out of pvp -killable: 40 - -// look up a skill by name -skillid: 40 - -// use a skill by id -useskill: 40 - -// make another player killable -charkillable: 40 - -//--------------------- -// 50: Sub-GM+ commands - -// Changes character's model -charmodel: 50 - -guild: 50 - -// Brings up your guild storage wherever you are. -gstorage: 50 - -// Spawns a monster, and a certain amount (3 same commands + /monster). -spawn: 50 -monster: 50 -summon: 50 - -// Spawns a monster with parameters not in same order of @spawn. -monster2: 50 - -// To get a peco to (un)ride for another player. -charmountpeco: 50 - -// Enables to give possibility to a player to rename his/her pet. -charpetrename: 50 - - -//---------------- -// 60: GM commands - -// Starts Guild Wars -agitstart: 60 - -// Ends Guild Wars -agitend: 60 - -// Resurects yourself. -alive: 60 - -// Levels your character to specified level (adds to your level) (3 same commands). -lvup: 60 -baselvlup: 60 -blevel: 60 - -// Raises your job level (3 same commands). -joblvup: 60 -joblvlup: 60 -jlevel: 60 - -// Sets another persons base level. -charbaselvl: 60 - -// Changes the sex of an online player (all characters on the account) -charchangesex: 60 - -// Remove items from a character -chardelitem: 60 - -// Sets another persons job level. -charjlvl: 60 - -// Sets the job of another character (2 same commands). -charjob: 60 -charjobchange: 60 - -// Set options on another character. -charoption: 60 - -// Gives another character status points -charstpoint: 60 - -// Gives another character skill points -charskpoint: 60 - -// Resets another character's stats -charreset: 60 - -// Resets another character's status, skills -charstreset: 60 -charskreset: 60 - -// Saves the respawn point of another character. -charsave: 60 - -// Changes another character's zenny -charzeny: 60 - -// Levels your guild to specified level (2 same commands). -guildlvup: 60 -guildlvlup: 60 - -idsearch: 60 - -// Creates an item of your choosing, either Item ID or Name (1 command + /item). -item: 60 - -// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. -item2: 60 - -// ?? -itemcheck: 60 - -// Kill another character without hitting them. -kill: 60 - -// Kill all monsters in map (with drops) -killmonster: 60 - -// Creates yourself a pet egg, have to use Pet ID. -makeegg: 60 - -// Instantly kills player whose name is entered and deals insane damage to everything around. -// Disabled for now -//nuke: 60 - -// Enable hitting a player even when not in pvp -killer: 60 - -// Creates weapon of desired element. -produce: 60 - -// Warps a character to you (1 command + /recall). -recall: 60 - -// Refines all weapons in your items list. -refine: 60 - -// Will repair all broken items in inventory. -repairall: 60 - -// Revives a character, and heals them. -revive: 60 - -// Warp another person to a certain map, at (x,y) coordinates (2 same commands). -rura+: 60 -charwarp: 60 - -// Change Status of your character -str: 60 -agi: 60 -vit: 60 -int: 60 -dex: 60 -luk: 60 - -// Gets all skills (4 same commands) -allskill: 60 -allskills: 60 -skillall: 60 -skillsall: 60 - -// sets GM stats to maximum (4 same commands) -statall: 60 -statsall: 60 -allstats: 60 -allstat: 60 - -// Gives you job points. -stpoint: 60 - -// Gives you skill points of desired amount. -skpoint: 60 - -// Warps all online character of a guild to you. (at least one member of that guild must be on.) -guildrecall: 60 - -// Warps all online character of a party to you. (at least one party member must be online.) -partyrecall: 60 - -// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) -guildspy: 60 - -//Allows you to spy on any party's party chat. (at least one party member must be online.) -partyspy: 60 - -// Gives you money (zeny) of desired amount. -zeny: 60 - -// To block definitively a player (only administrator can unblock the account) (2 same commands) -block: 60 -charblock: 60 - -// To unblock a player (2 same commands) -unblock: 60 -charunblock: 60 - -// To ban a player for a limited time (only administrator can unban the account) (4 same commands) -ban: 60 -banish: 60 -charban: 60 -charbanish: 60 - -// To unban a player (4 same commands) -unban: 60 -unbanish: 60 -charunban: 60 -charunbanish: 60 - -// To send specified character in jails -jail: 60 - -// To discharge a prisoner (2 same commands) -unjail: 60 -discharge: 60 - -// To change disguise of another player/GM -chardisguise: 60 -charundisguise: 60 - -// Enables platinum skills of another player. -charquestskill: 60 - -// Enables lost skills of another player. -charlostskill: 60 - -// turn on and off skills on a map -skillon: 60 -skilloff: 60 - -// Create a static warp portal that lasts until the next reboot -addwarp: 60 - -// drop a players possessions on the gruond -chardropall: 60 - -// put a players possessions in storage -charstoreall: 60 - -//---------------------- -// 80: GM Chief commands - -// Set the map you are on to day. -day: 80 - -// Kills everyone on the server. -doom: 80 - -// Kills everyone on the map you are on. -doommap: 80 - -// Set the map you are currently on to night. -night: 80 - -// Recalls Everyone To Your Coordinates -recallall: 80 - -// Revives all players on the map. -raisemap: 80 - -// Revives all players on the server. -raise: 80 - -// Enables a NPC. -enablenpc: 80 - -// Disables a NPC. -disablenpc: 80 - -// Move a NPC -npcmove: 80 - -// turn skills on for a map -skillon: 80 - -// turn skills off for a map -skilloff: 80 - -// Unmute a player -unmute: 60 - -//--------------------------- -// 99: Administrator commands - -// Disconnect all users from the server -kickall: 99 - -// Closes Map-Server -mapexit: 99 - -// Give information about terrain/area (debug function) -gat: 99 - -// Enables debugging -packet: 99 - -// Shows information about the map -mapinfo: 99 - -// Re-load item database (admin command) -reloaditemdb: 99 - -// Re-load monsters database (admin command) -reloadmobdb: 99 - -// Re-load skills database (admin command) -reloadskilldb: 99 - -// Re-load scripts (admin command) -reloadscript: 99 - -// Re-load GM level (admin command) -reloadgmdb: 99 - -// change a battle_config flag without rebooting server -setbattleflag: 99 - -// Refresh only status of players - SQL Only -refreshonline: 99 - -//--------------------------------------------------------------- -// 99: Weather effects - -rain: 99 - -snow: 99 - -fog: 99 - -sakura: 99 - -leaves:99 - -//--------------------------------------------------------------- -// 0: Mail System - SQL Only commands - Must be enabled - -// Check # of messages. -checkmail: 1 - -// List all messages. -listmail: 1 - -// List only new mail. -listnewmail: 1 - -// Read a message. -readmail: 1 - -// Send mail. -sendmail: 1 - -// Send priority mail (tagged with Priority and cannot be deleted until read) -sendprioritymail: 80 - -// Delete a message. -deletemail: 0 - - - -//--------------------- -// OTHER: not a command - -//import: conf/import/atcommand_conf.txt +// Athena atcommand Configuration file. +// Translated by Peter Kieser + +// Set here the symbol that you want to use for your commands +// Only 1 character is get (default is '@'). You can set any character, +// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) +// With default character, all commands begin by a '@': @revive +command_symbol: @ + + +// Sets the level of the users that can use the GM commands. +// : level +// When battle_athena.conf has atcommand_gm_only set to no, +// normal players (gm level 0) can use GM commands if you set 0 to the command level. +// Max GM level is 99. If you want forbid a command to all people, set it with level 100. + +// Default values are set to define different GM levels like follow: +// 0: normal player +// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) +// 1: Super player +// -> some (very) little advantages: storage, petrename, etc... +// 10: Super player+ +// -> same of Super player with !go (very super player) +// 20: Mediator +// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) +// 40: Sub-GM +// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) +// 50: Sub-GM+ +// -> This GM can change some non-important things on a character +// 60: GM +// -> can do almost anything (excep administration, and mass commands) +// GM is the first level where we can modify a character with important value, create items or create zenys +// 80: GM Chief +// -> can do anything, except administration commands +// 99: Administrator +// -> can do anything! + + +//-------------------------- +// 0: normal player commands + +// Give server time. (6 same commands) +time: 0 +date: 0 +server_date: 0 +serverdate: 0 +server_time: 0 +servertime: 0 + +// Display your ignore list (people from which you ignore wisps) +ignorelist: 0 + +// To change your (own) email (characters protection) +// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) +// if you want be sure of each e-mail disable this option (value: 100) +email: 0 + +// To become GM (need password; password is set in login_athena.conf). +// special!: only a non-GM (player with gm level 0) need to have this command. +// if you change the value, be sure of what you do! +// To be able to create a gm with @gm, you must: +// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) +// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command +// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) +// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) +gm: 100 + + +//------------------------- +// 1: Super player commands + +// Suicide your character. +die: 1 + +// Enables you to rename your pet. +petrename: 1 + +party: 1 + +// Brings up your personal storage wherever you are. +storage: 1 + +// Locate someone on a map, returns your coordinates if the person isn't on. +where: 1 + + +//--------------------------- +// 10: Super player+ commands + +// Spawns you to set points in major cities. +go: 10 + + +//---------------------- +// 20: Mediator commands + +// Displays helpfile in Athena base directory (2 same commands). +help: 20 +h: 20 + +// Warp yourself to a person (3 same commands + /shift). +jumpto: 20 +goto: 20 +warpto: 20 + +// follow a player (including warping to them) +follow: 20 + +// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). +kick: 20 + +// Changes your apperance. +model: 20 + +// To get a peco to (un)ride +mountpeco: 20 + +// Returns list of logged in characters with their position (2 same commands). +who: 20 +whois: 20 + +// Returns list of logged in characters with their job. +who2: 20 + +// Returns list of logged in characters with their party/guild. +who3: 20 + +// Returns list of logged in characters with their position in a specifical map. +whomap: 20 + +// Returns list of logged in characters with their job in a specifical map. +whomap2: 20 + +// Returns list of logged in characters with their party/guild in a specifical map. +whomap3: 20 + +// Like @who+@who2+who3, but only for GM. +whogm: 20 + +// Change your appearence to other players to a mob. +disguise: 20 + +//Restore your normal appearance. +undisguise: 20 + +// Display ignore list of a player (people from which the player ignore wisps) +charignorelist: 20 + +// Enable all wispers for a player +inall: 20 + +// Disable all wispers for a player +exall: 20 + + +//-------------------- +// 40: Sub-GM commands + +// Broadcast to the whole server. Using (1 command + /nb, /b). +broadcast: 40 + +// Broadcast to the map you are on (1 command + /lb, /nlb). +local_broadcast: 40 + +// Broadcast (with or without name). +kami: 40 +kamib: 40 + +// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) +mapmove: 40 + +// Enables you to view other characters stats. +charstats: 40 + +// Shows Stats Of All Characters Online +charstatsall: 40 + +// Enables GVG on a map (2 same commands). +gvgon: 40 +gpvpon: 40 + +// Turns GVG (Guild v. Guild) off on a map (2 same commands). +gvgoff: 40 +gpvpoff: 40 + +// Heals a person to full HP/SP. +heal: 40 + +// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). +hide: 40 + +// Changes your job to one you specify (2 same commands). +job: 40 +jobchange: 40 + +// Enables you to to jump randomly on a map (that you are already on). +jump: 40 + +// Warps you to your last save point (2 same commands). +return: 40 +load: 40 + +// Enables lost skills. +lostskill: 40 + +// Saves a warp point. +memo: 40 + +// Set your character display options. (Visual effects of your character) +option: 40 + +//Makes an egg +makeegg: 40 + +//Hatches an egg +hatch: 40 + +// Sets the level of intemecy of your pet. +petfriendly: 40 + +// Sets hunger level of your pet. +pethungry: 40 + +// Turns PVP (Person v. Person) off on a map. +pvpoff: 40 + +// Enables PVP on a map. +pvpon: 40 + +// Enables platinum skills. +questskill: 40 + +// Sets the speed you can walk/attack at. Default is 150. +speed: 40 + +// Enables spirit sphere balls. +spiritball: 40 + +// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). +rura: 40 +warp: 40 + +// Changes GM clothes color (2 same commands) +dye: 40 +ccolor: 40 + +// Changes GM hair style (2 same commands) +hairstyle: 40 +hstyle: 40 + +// Changes GM hair color (2 same commands) +haircolor: 40 +hcolor: 40 + +// Deletes all your items. +itemreset: 40 + +// Kill all monsters in map (without drops) +killmonster2: 40 + +// Sets your spawn point (aka save point). +save: 40 + +// Do some visual effect on your character +effect: 40 + +// Display all items of a player +charitemlist: 40 + +// Display all items of a player's storage +charstoragelist: 40 + +// Display all items of a player's cart +charcartlist: 40 + +// drop all your items +dropall: 40 + +// store all your items +storeall: 40 + +// allow other players to hit you out of pvp +killable: 40 + +// look up a skill by name +skillid: 40 + +// use a skill by id +useskill: 40 + +// make another player killable +charkillable: 40 + +//--------------------- +// 50: Sub-GM+ commands + +// Changes character's model +charmodel: 50 + +guild: 50 + +// Brings up your guild storage wherever you are. +gstorage: 50 + +// Spawns a monster, and a certain amount (3 same commands + /monster). +spawn: 50 +monster: 50 +summon: 50 + +// Spawns a monster with parameters not in same order of @spawn. +monster2: 50 + +// To get a peco to (un)ride for another player. +charmountpeco: 50 + +// Enables to give possibility to a player to rename his/her pet. +charpetrename: 50 + + +//---------------- +// 60: GM commands + +// Starts Guild Wars +agitstart: 60 + +// Ends Guild Wars +agitend: 60 + +// Resurects yourself. +alive: 60 + +// Levels your character to specified level (adds to your level) (3 same commands). +lvup: 60 +baselvlup: 60 +blevel: 60 + +// Raises your job level (3 same commands). +joblvup: 60 +joblvlup: 60 +jlevel: 60 + +// Sets another persons base level. +charbaselvl: 60 + +// Changes the sex of an online player (all characters on the account) +charchangesex: 60 + +// Remove items from a character +chardelitem: 60 + +// Sets another persons job level. +charjlvl: 60 + +// Sets the job of another character (2 same commands). +charjob: 60 +charjobchange: 60 + +// Set options on another character. +charoption: 60 + +// Gives another character status points +charstpoint: 60 + +// Gives another character skill points +charskpoint: 60 + +// Resets another character's stats +charreset: 60 + +// Resets another character's status, skills +charstreset: 60 +charskreset: 60 + +// Saves the respawn point of another character. +charsave: 60 + +// Changes another character's zenny +charzeny: 60 + +// Levels your guild to specified level (2 same commands). +guildlvup: 60 +guildlvlup: 60 + +idsearch: 60 + +// Creates an item of your choosing, either Item ID or Name (1 command + /item). +item: 60 + +// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. +item2: 60 + +// ?? +itemcheck: 60 + +// Kill another character without hitting them. +kill: 60 + +// Kill all monsters in map (with drops) +killmonster: 60 + +// Creates yourself a pet egg, have to use Pet ID. +makeegg: 60 + +// Instantly kills player whose name is entered and deals insane damage to everything around. +// Disabled for now +//nuke: 60 + +// Enable hitting a player even when not in pvp +killer: 60 + +// Creates weapon of desired element. +produce: 60 + +// Warps a character to you (1 command + /recall). +recall: 60 + +// Refines all weapons in your items list. +refine: 60 + +// Will repair all broken items in inventory. +repairall: 60 + +// Revives a character, and heals them. +revive: 60 + +// Warp another person to a certain map, at (x,y) coordinates (2 same commands). +rura+: 60 +charwarp: 60 + +// Change Status of your character +str: 60 +agi: 60 +vit: 60 +int: 60 +dex: 60 +luk: 60 + +// Gets all skills (4 same commands) +allskill: 60 +allskills: 60 +skillall: 60 +skillsall: 60 + +// sets GM stats to maximum (4 same commands) +statall: 60 +statsall: 60 +allstats: 60 +allstat: 60 + +// Gives you job points. +stpoint: 60 + +// Gives you skill points of desired amount. +skpoint: 60 + +// Warps all online character of a guild to you. (at least one member of that guild must be on.) +guildrecall: 60 + +// Warps all online character of a party to you. (at least one party member must be online.) +partyrecall: 60 + +// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) +guildspy: 60 + +//Allows you to spy on any party's party chat. (at least one party member must be online.) +partyspy: 60 + +// Gives you money (zeny) of desired amount. +zeny: 60 + +// To block definitively a player (only administrator can unblock the account) (2 same commands) +block: 60 +charblock: 60 + +// To unblock a player (2 same commands) +unblock: 60 +charunblock: 60 + +// To ban a player for a limited time (only administrator can unban the account) (4 same commands) +ban: 60 +banish: 60 +charban: 60 +charbanish: 60 + +// To unban a player (4 same commands) +unban: 60 +unbanish: 60 +charunban: 60 +charunbanish: 60 + +// To send specified character in jails +jail: 60 + +// To discharge a prisoner (2 same commands) +unjail: 60 +discharge: 60 + +// To change disguise of another player/GM +chardisguise: 60 +charundisguise: 60 + +// Enables platinum skills of another player. +charquestskill: 60 + +// Enables lost skills of another player. +charlostskill: 60 + +// turn on and off skills on a map +skillon: 60 +skilloff: 60 + +// Create a static warp portal that lasts until the next reboot +addwarp: 60 + +// drop a players possessions on the gruond +chardropall: 60 + +// put a players possessions in storage +charstoreall: 60 + +//---------------------- +// 80: GM Chief commands + +// Set the map you are on to day. +day: 80 + +// Kills everyone on the server. +doom: 80 + +// Kills everyone on the map you are on. +doommap: 80 + +// Set the map you are currently on to night. +night: 80 + +// Recalls Everyone To Your Coordinates +recallall: 80 + +// Revives all players on the map. +raisemap: 80 + +// Revives all players on the server. +raise: 80 + +// Enables a NPC. +enablenpc: 80 + +// Disables a NPC. +disablenpc: 80 + +// Move a NPC +npcmove: 80 + +// turn skills on for a map +skillon: 80 + +// turn skills off for a map +skilloff: 80 + +// Unmute a player +unmute: 60 + +//--------------------------- +// 99: Administrator commands + +// Disconnect all users from the server +kickall: 99 + +// Closes Map-Server +mapexit: 99 + +// Give information about terrain/area (debug function) +gat: 99 + +// Enables debugging +packet: 99 + +// Shows information about the map +mapinfo: 99 + +// Re-load item database (admin command) +reloaditemdb: 99 + +// Re-load monsters database (admin command) +reloadmobdb: 99 + +// Re-load skills database (admin command) +reloadskilldb: 99 + +// Re-load scripts (admin command) +reloadscript: 99 + +// Re-load GM level (admin command) +reloadgmdb: 99 + +// change a battle_config flag without rebooting server +setbattleflag: 99 + +// Refresh only status of players - SQL Only +refreshonline: 99 + +//--------------------------------------------------------------- +// 99: Weather effects + +rain: 99 + +snow: 99 + +fog: 99 + +sakura: 99 + +leaves:99 + +//--------------------------------------------------------------- +// 0: Mail System - SQL Only commands - Must be enabled + +// Check # of messages. +checkmail: 1 + +// List all messages. +listmail: 1 + +// List only new mail. +listnewmail: 1 + +// Read a message. +readmail: 1 + +// Send mail. +sendmail: 1 + +// Send priority mail (tagged with Priority and cannot be deleted until read) +sendprioritymail: 80 + +// Delete a message. +deletemail: 0 + + + +//--------------------- +// OTHER: not a command + +//import: conf/import/atcommand_conf.txt diff --git a/conf-tmpl/atcommand_athena.conf.orig b/conf-tmpl/atcommand_athena.conf.orig index 2c9def212..3a3e359ae 100644 --- a/conf-tmpl/atcommand_athena.conf.orig +++ b/conf-tmpl/atcommand_athena.conf.orig @@ -1,569 +1,569 @@ -// Athena atcommand Configuration file. -// Translated by Peter Kieser - -// Set here the symbol that you want to use for your commands -// Only 1 character is get (default is '@'). You can set any character, -// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) -// With default character, all commands begin by a '@': @revive -command_symbol: @ - - -// Sets the level of the users that can use the GM commands. -// : level -// When battle_athena.conf has atcommand_gm_only set to no, -// normal players (gm level 0) can use GM commands if you set 0 to the command level. -// Max GM level is 99. If you want forbid a command to all people, set it with level 100. - -// Default values are set to define different GM levels like follow: -// 0: normal player -// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) -// 1: Super player -// -> some (very) little advantages: storage, petrename, etc... -// 10: Super player+ -// -> same of Super player with !go (very super player) -// 20: Mediator -// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) -// 40: Sub-GM -// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) -// 50: Sub-GM+ -// -> This GM can change some non-important things on a character -// 60: GM -// -> can do almost anything (excep administration, and mass commands) -// GM is the first level where we can modify a character with important value, create items or create zenys -// 80: GM Chief -// -> can do anything, except administration commands -// 99: Administrator -// -> can do anything! - - -//-------------------------- -// 0: normal player commands - -// Give server time. (6 same commands) -time: 0 -date: 0 -server_date: 0 -serverdate: 0 -server_time: 0 -servertime: 0 - -// Display your ignore list (people from which you ignore wisps) -ignorelist: 0 - -// To change your (own) email (characters protection) -// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) -// if you want be sure of each e-mail disable this option (value: 100) -email: 0 - -// To become GM (need password; password is set in login_athena.conf). -// special!: only a non-GM (player with gm level 0) need to have this command. -// if you change the value, be sure of what you do! -// To be able to create a gm with @gm, you must: -// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) -// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command -// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) -// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) -gm: 100 - - -//------------------------- -// 1: Super player commands - -// Suicide your character. -die: 1 - -// Enables you to rename your pet. -petrename: 1 - -party: 1 - -// Brings up your personal storage wherever you are. -storage: 1 - -// Locate someone on a map, returns your coordinates if the person isn't on. -where: 1 - - -//--------------------------- -// 10: Super player+ commands - -// Spawns you to set points in major cities. -go: 10 - - -//---------------------- -// 20: Mediator commands - -// Displays helpfile in Athena base directory (2 same commands). -help: 20 -h: 20 - -// Warp yourself to a person (3 same commands + /shift). -jumpto: 20 -goto: 20 -warpto: 20 - -// follow a player (including warping to them) -follow: 20 - -// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). -kick: 20 - -// Changes your apperance. -model: 20 - -// To get a peco to (un)ride -mountpeco: 20 - -// Returns list of logged in characters with their position (2 same commands). -who: 20 -whois: 20 - -// Returns list of logged in characters with their job. -who2: 20 - -// Returns list of logged in characters with their party/guild. -who3: 20 - -// Returns list of logged in characters with their position in a specifical map. -whomap: 20 - -// Returns list of logged in characters with their job in a specifical map. -whomap2: 20 - -// Returns list of logged in characters with their party/guild in a specifical map. -whomap3: 20 - -// Like @who+@who2+who3, but only for GM. -whogm: 20 - -// Change your appearence to other players to a mob. -disguise: 20 - -//Restore your normal appearance. -undisguise: 20 - -// Display ignore list of a player (people from which the player ignore wisps) -charignorelist: 20 - -// Enable all wispers for a player -inall: 20 - -// Disable all wispers for a player -exall: 20 - - -//-------------------- -// 40: Sub-GM commands - -// Broadcast to the whole server. Using (1 command + /nb, /b). -broadcast: 40 - -// Broadcast to the map you are on (1 command + /lb, /nlb). -local_broadcast: 40 - -// Broadcast (with or without name). -kami: 40 -kamib: 40 - -// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) -mapmove: 40 - -// Enables you to view other characters stats. -charstats: 40 - -// Shows Stats Of All Characters Online -charstatsall: 40 - -// Enables GVG on a map (2 same commands). -gvgon: 40 -gpvpon: 40 - -// Turns GVG (Guild v. Guild) off on a map (2 same commands). -gvgoff: 40 -gpvpoff: 40 - -// Heals a person to full HP/SP. -heal: 40 - -// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). -hide: 40 - -// Changes your job to one you specify (2 same commands). -job: 40 -jobchange: 40 - -// Enables you to to jump randomly on a map (that you are already on). -jump: 40 - -// Warps you to your last save point (2 same commands). -return: 40 -load: 40 - -// Enables lost skills. -lostskill: 40 - -// Saves a warp point. -memo: 40 - -// Set your character display options. (Visual effects of your character) -option: 40 - -//Makes an egg -makeegg: 40 - -//Hatches an egg -hatch: 40 - -// Sets the level of intemecy of your pet. -petfriendly: 40 - -// Sets hunger level of your pet. -pethungry: 40 - -// Turns PVP (Person v. Person) off on a map. -pvpoff: 40 - -// Enables PVP on a map. -pvpon: 40 - -// Enables platinum skills. -questskill: 40 - -// Sets the speed you can walk/attack at. Default is 150. -speed: 40 - -// Enables spirit sphere balls. -spiritball: 40 - -// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). -rura: 40 -warp: 40 - -// Changes GM clothes color (2 same commands) -dye: 40 -ccolor: 40 - -// Changes GM hair style (2 same commands) -hairstyle: 40 -hstyle: 40 - -// Changes GM hair color (2 same commands) -haircolor: 40 -hcolor: 40 - -// Deletes all your items. -itemreset: 40 - -// Kill all monsters in map (without drops) -killmonster2: 40 - -// Sets your spawn point (aka save point). -save: 40 - -// Do some visual effect on your character -effect: 40 - -// Display all items of a player -charitemlist: 40 - -// Display all items of a player's storage -charstoragelist: 40 - -// Display all items of a player's cart -charcartlist: 40 - - -//--------------------- -// 50: Sub-GM+ commands - -// Changes character's model -charmodel: 50 - -guild: 50 - -// Brings up your guild storage wherever you are. -gstorage: 50 - -// Spawns a monster, and a certain amount (3 same commands + /monster). -spawn: 50 -monster: 50 -summon: 50 - -// Spawns a monster with parameters not in same order of @spawn. -monster2: 50 - -// To get a peco to (un)ride for another player. -charmountpeco: 50 - -// Enables to give possibility to a player to rename his/her pet. -charpetrename: 50 - - -//---------------- -// 60: GM commands - -// Starts Guild Wars -agitstart: 60 - -// Ends Guild Wars -agitend: 60 - -// Resurects yourself. -alive: 60 - -// Levels your character to specified level (adds to your level) (3 same commands). -lvup: 60 -baselvlup: 60 -blevel: 60 - -// Raises your job level (3 same commands). -joblvup: 60 -joblvlup: 60 -jlevel: 60 - -// Sets another persons base level. -charbaselvl: 60 - -// Changes the sex of an online player (all characters on the account) -charchangesex: 60 - -// Remove items from a character -chardelitem: 60 - -// Sets another persons job level. -charjlvl: 60 - -// Sets the job of another character (2 same commands). -charjob: 60 -charjobchange: 60 - -// Set options on another character. -charoption: 60 - -// Gives another character status points -charstpoint: 60 - -// Gives another character skill points -charskpoint: 60 - -// Resets another character's stats -charreset: 60 - -// Resets another character's status, skills -charstreset: 60 -charskreset: 60 - -// Saves the respawn point of another character. -charsave: 60 - -// Changes another character's zenny -charzeny: 60 - -// Levels your guild to specified level (2 same commands). -guildlvup: 60 -guildlvlup: 60 - -idsearch: 60 - -// Creates an item of your choosing, either Item ID or Name (1 command + /item). -item: 60 - -// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. -item2: 60 - -// ?? -itemcheck: 60 - -// Kill another character without hitting them. -kill: 60 - -// Kill all monsters in map (with drops) -killmonster: 60 - -// Creates yourself a pet egg, have to use Pet ID. -makeegg: 60 - -// Instantly kills player whose name is entered and deals insane damage to everything around. -nuke: 60 - -// Enable hitting a player even when not in pvp -killer: 60 - -// Creates weapon of desired element. -produce: 60 - -// Warps a character to you (1 command + /recall). -recall: 60 - -// Refines all weapons in your items list. -refine: 60 - -// Will repair all broken items in inventory. -repairall: 60 - -// Revives a character, and heals them. -revive: 60 - -// Warp another person to a certain map, at (x,y) coordinates (2 same commands). -rura+: 60 -charwarp: 60 - -// Change Status of your character -str: 60 -agi: 60 -vit: 60 -int: 60 -dex: 60 -luk: 60 - -// Gets all skills (4 same commands) -allskill: 60 -allskills: 60 -skillall: 60 -skillsall: 60 - -// sets GM stats to maximum (4 same commands) -statall: 60 -statsall: 60 -allstats: 60 -allstat: 60 - -// Gives you job points. -stpoint: 60 - -// Gives you skill points of desired amount. -skpoint: 60 - -// Warps all online character of a guild to you. (at least one member of that guild must be on.) -guildrecall: 60 - -// Warps all online character of a party to you. (at least one party member must be online.) -partyrecall: 60 - -// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) -guildspy: 60 - -//Allows you to spy on any party's party chat. (at least one party member must be online.) -partyspy: 60 - -// Gives you money (zeny) of desired amount. -zeny: 60 - -// To block definitively a player (only administrator can unblock the account) (2 same commands) -block: 60 -charblock: 60 - -// To unblock a player (2 same commands) -unblock: 60 -charunblock: 60 - -// To ban a player for a limited time (only administrator can unban the account) (4 same commands) -ban: 60 -banish: 60 -charban: 60 -charbanish: 60 - -// To unban a player (4 same commands) -unban: 60 -unbanish: 60 -charunban: 60 -charunbanish: 60 - -// To send specified character in jails -jail: 60 - -// To discharge a prisoner (2 same commands) -unjail: 60 -discharge: 60 - -// To change disguise of another player/GM -chardisguise: 60 -charundisguise: 60 - -// Enables platinum skills of another player. -charquestskill: 60 - -// Enables lost skills of another player. -charlostskill: 60 - -// turn on and off skills on a map -skillon: 60 -skilloff: 60 - -// Create a static warp portal that lasts until the next reboot -addwarp: 60 - - -//---------------------- -// 80: GM Chief commands - -// Set the map you are on to day. -day: 80 - -// Kills everyone on the server. -doom: 80 - -// Kills everyone on the map you are on. -doommap: 80 - -// Set the map you are currently on to night. -night: 80 - -// Recalls Everyone To Your Coordinates -recallall: 80 - -// Revives all players on the map. -raisemap: 80 - -// Revives all players on the server. -raise: 80 - -// Enables a NPC. -enablenpc: 80 - -// Disables a NPC. -disablenpc: 80 - -// Move a NPC -npcmove: 80 - - -//--------------------------- -// 99: Administrator commands - -// Disconnect all users from the server -kickall: 99 - -// Closes Map-Server -mapexit: 99 - -// Give information about terrain/area (debug function) -gat: 99 - -// Enables debugging -packet: 99 - -// Shows information about the map -mapinfo: 99 - -// Re-load item database (admin command) -reloaditemdb: 99 - -// Re-load monsters database (admin command) -reloadmobdb: 99 - -// Re-load skills database (admin command) -reloadskilldb: 99 - -// Re-load scripts (admin command) -reloadscript: 99 - -// Re-load GM level (admin command) -reloadgmdb: 99 - - -//--------------------- -// OTHER: not a command - -//import: conf/import/atcommand_conf.txt +// Athena atcommand Configuration file. +// Translated by Peter Kieser + +// Set here the symbol that you want to use for your commands +// Only 1 character is get (default is '@'). You can set any character, +// except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands) +// With default character, all commands begin by a '@': @revive +command_symbol: @ + + +// Sets the level of the users that can use the GM commands. +// : level +// When battle_athena.conf has atcommand_gm_only set to no, +// normal players (gm level 0) can use GM commands if you set 0 to the command level. +// Max GM level is 99. If you want forbid a command to all people, set it with level 100. + +// Default values are set to define different GM levels like follow: +// 0: normal player +// -> no special advantage (only @time to know time and if at_command_gm_only is disabled) +// 1: Super player +// -> some (very) little advantages: storage, petrename, etc... +// 10: Super player+ +// -> same of Super player with !go (very super player) +// 20: Mediator +// -> it's a GM that only need to know people, and move to their to speak with them (they can access to any command about wisps) +// 40: Sub-GM +// -> This GM can help a GM, and can not create item or zeny or modify a character (can have some information commands) +// 50: Sub-GM+ +// -> This GM can change some non-important things on a character +// 60: GM +// -> can do almost anything (excep administration, and mass commands) +// GM is the first level where we can modify a character with important value, create items or create zenys +// 80: GM Chief +// -> can do anything, except administration commands +// 99: Administrator +// -> can do anything! + + +//-------------------------- +// 0: normal player commands + +// Give server time. (6 same commands) +time: 0 +date: 0 +server_date: 0 +serverdate: 0 +server_time: 0 +servertime: 0 + +// Display your ignore list (people from which you ignore wisps) +ignorelist: 0 + +// To change your (own) email (characters protection) +// note: this command doesn't check email itself, but check structure of the email (xxx@xxx) +// if you want be sure of each e-mail disable this option (value: 100) +email: 0 + +// To become GM (need password; password is set in login_athena.conf). +// special!: only a non-GM (player with gm level 0) need to have this command. +// if you change the value, be sure of what you do! +// To be able to create a gm with @gm, you must: +// - give a level to level_new_gm (parameter of login_athena.conf) (not 0) +// - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command +// - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter) +// - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf) +gm: 100 + + +//------------------------- +// 1: Super player commands + +// Suicide your character. +die: 1 + +// Enables you to rename your pet. +petrename: 1 + +party: 1 + +// Brings up your personal storage wherever you are. +storage: 1 + +// Locate someone on a map, returns your coordinates if the person isn't on. +where: 1 + + +//--------------------------- +// 10: Super player+ commands + +// Spawns you to set points in major cities. +go: 10 + + +//---------------------- +// 20: Mediator commands + +// Displays helpfile in Athena base directory (2 same commands). +help: 20 +h: 20 + +// Warp yourself to a person (3 same commands + /shift). +jumpto: 20 +goto: 20 +warpto: 20 + +// follow a player (including warping to them) +follow: 20 + +// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit"). +kick: 20 + +// Changes your apperance. +model: 20 + +// To get a peco to (un)ride +mountpeco: 20 + +// Returns list of logged in characters with their position (2 same commands). +who: 20 +whois: 20 + +// Returns list of logged in characters with their job. +who2: 20 + +// Returns list of logged in characters with their party/guild. +who3: 20 + +// Returns list of logged in characters with their position in a specifical map. +whomap: 20 + +// Returns list of logged in characters with their job in a specifical map. +whomap2: 20 + +// Returns list of logged in characters with their party/guild in a specifical map. +whomap3: 20 + +// Like @who+@who2+who3, but only for GM. +whogm: 20 + +// Change your appearence to other players to a mob. +disguise: 20 + +//Restore your normal appearance. +undisguise: 20 + +// Display ignore list of a player (people from which the player ignore wisps) +charignorelist: 20 + +// Enable all wispers for a player +inall: 20 + +// Disable all wispers for a player +exall: 20 + + +//-------------------- +// 40: Sub-GM commands + +// Broadcast to the whole server. Using (1 command + /nb, /b). +broadcast: 40 + +// Broadcast to the map you are on (1 command + /lb, /nlb). +local_broadcast: 40 + +// Broadcast (with or without name). +kami: 40 +kamib: 40 + +// Enables you to go to a certain map, at (x,y) coordinates. (@mapmove + /mm or /mapmove) +mapmove: 40 + +// Enables you to view other characters stats. +charstats: 40 + +// Shows Stats Of All Characters Online +charstatsall: 40 + +// Enables GVG on a map (2 same commands). +gvgon: 40 +gpvpon: 40 + +// Turns GVG (Guild v. Guild) off on a map (2 same commands). +gvgoff: 40 +gpvpoff: 40 + +// Heals a person to full HP/SP. +heal: 40 + +// GM Hide (enables you to be invisible to characters, and most monsters) (1 command + /hide). +hide: 40 + +// Changes your job to one you specify (2 same commands). +job: 40 +jobchange: 40 + +// Enables you to to jump randomly on a map (that you are already on). +jump: 40 + +// Warps you to your last save point (2 same commands). +return: 40 +load: 40 + +// Enables lost skills. +lostskill: 40 + +// Saves a warp point. +memo: 40 + +// Set your character display options. (Visual effects of your character) +option: 40 + +//Makes an egg +makeegg: 40 + +//Hatches an egg +hatch: 40 + +// Sets the level of intemecy of your pet. +petfriendly: 40 + +// Sets hunger level of your pet. +pethungry: 40 + +// Turns PVP (Person v. Person) off on a map. +pvpoff: 40 + +// Enables PVP on a map. +pvpon: 40 + +// Enables platinum skills. +questskill: 40 + +// Sets the speed you can walk/attack at. Default is 150. +speed: 40 + +// Enables spirit sphere balls. +spiritball: 40 + +// Warp yourself to a certain map, at (x,y) coordinates (2 same commands). +rura: 40 +warp: 40 + +// Changes GM clothes color (2 same commands) +dye: 40 +ccolor: 40 + +// Changes GM hair style (2 same commands) +hairstyle: 40 +hstyle: 40 + +// Changes GM hair color (2 same commands) +haircolor: 40 +hcolor: 40 + +// Deletes all your items. +itemreset: 40 + +// Kill all monsters in map (without drops) +killmonster2: 40 + +// Sets your spawn point (aka save point). +save: 40 + +// Do some visual effect on your character +effect: 40 + +// Display all items of a player +charitemlist: 40 + +// Display all items of a player's storage +charstoragelist: 40 + +// Display all items of a player's cart +charcartlist: 40 + + +//--------------------- +// 50: Sub-GM+ commands + +// Changes character's model +charmodel: 50 + +guild: 50 + +// Brings up your guild storage wherever you are. +gstorage: 50 + +// Spawns a monster, and a certain amount (3 same commands + /monster). +spawn: 50 +monster: 50 +summon: 50 + +// Spawns a monster with parameters not in same order of @spawn. +monster2: 50 + +// To get a peco to (un)ride for another player. +charmountpeco: 50 + +// Enables to give possibility to a player to rename his/her pet. +charpetrename: 50 + + +//---------------- +// 60: GM commands + +// Starts Guild Wars +agitstart: 60 + +// Ends Guild Wars +agitend: 60 + +// Resurects yourself. +alive: 60 + +// Levels your character to specified level (adds to your level) (3 same commands). +lvup: 60 +baselvlup: 60 +blevel: 60 + +// Raises your job level (3 same commands). +joblvup: 60 +joblvlup: 60 +jlevel: 60 + +// Sets another persons base level. +charbaselvl: 60 + +// Changes the sex of an online player (all characters on the account) +charchangesex: 60 + +// Remove items from a character +chardelitem: 60 + +// Sets another persons job level. +charjlvl: 60 + +// Sets the job of another character (2 same commands). +charjob: 60 +charjobchange: 60 + +// Set options on another character. +charoption: 60 + +// Gives another character status points +charstpoint: 60 + +// Gives another character skill points +charskpoint: 60 + +// Resets another character's stats +charreset: 60 + +// Resets another character's status, skills +charstreset: 60 +charskreset: 60 + +// Saves the respawn point of another character. +charsave: 60 + +// Changes another character's zenny +charzeny: 60 + +// Levels your guild to specified level (2 same commands). +guildlvup: 60 +guildlvlup: 60 + +idsearch: 60 + +// Creates an item of your choosing, either Item ID or Name (1 command + /item). +item: 60 + +// Creates a complet item (card, etc...) of your choosing, either Item ID or Name. +item2: 60 + +// ?? +itemcheck: 60 + +// Kill another character without hitting them. +kill: 60 + +// Kill all monsters in map (with drops) +killmonster: 60 + +// Creates yourself a pet egg, have to use Pet ID. +makeegg: 60 + +// Instantly kills player whose name is entered and deals insane damage to everything around. +nuke: 60 + +// Enable hitting a player even when not in pvp +killer: 60 + +// Creates weapon of desired element. +produce: 60 + +// Warps a character to you (1 command + /recall). +recall: 60 + +// Refines all weapons in your items list. +refine: 60 + +// Will repair all broken items in inventory. +repairall: 60 + +// Revives a character, and heals them. +revive: 60 + +// Warp another person to a certain map, at (x,y) coordinates (2 same commands). +rura+: 60 +charwarp: 60 + +// Change Status of your character +str: 60 +agi: 60 +vit: 60 +int: 60 +dex: 60 +luk: 60 + +// Gets all skills (4 same commands) +allskill: 60 +allskills: 60 +skillall: 60 +skillsall: 60 + +// sets GM stats to maximum (4 same commands) +statall: 60 +statsall: 60 +allstats: 60 +allstat: 60 + +// Gives you job points. +stpoint: 60 + +// Gives you skill points of desired amount. +skpoint: 60 + +// Warps all online character of a guild to you. (at least one member of that guild must be on.) +guildrecall: 60 + +// Warps all online character of a party to you. (at least one party member must be online.) +partyrecall: 60 + +// Allows you to spy on any Guilds Guild chat. (at least one member of that guild must be on.) +guildspy: 60 + +//Allows you to spy on any party's party chat. (at least one party member must be online.) +partyspy: 60 + +// Gives you money (zeny) of desired amount. +zeny: 60 + +// To block definitively a player (only administrator can unblock the account) (2 same commands) +block: 60 +charblock: 60 + +// To unblock a player (2 same commands) +unblock: 60 +charunblock: 60 + +// To ban a player for a limited time (only administrator can unban the account) (4 same commands) +ban: 60 +banish: 60 +charban: 60 +charbanish: 60 + +// To unban a player (4 same commands) +unban: 60 +unbanish: 60 +charunban: 60 +charunbanish: 60 + +// To send specified character in jails +jail: 60 + +// To discharge a prisoner (2 same commands) +unjail: 60 +discharge: 60 + +// To change disguise of another player/GM +chardisguise: 60 +charundisguise: 60 + +// Enables platinum skills of another player. +charquestskill: 60 + +// Enables lost skills of another player. +charlostskill: 60 + +// turn on and off skills on a map +skillon: 60 +skilloff: 60 + +// Create a static warp portal that lasts until the next reboot +addwarp: 60 + + +//---------------------- +// 80: GM Chief commands + +// Set the map you are on to day. +day: 80 + +// Kills everyone on the server. +doom: 80 + +// Kills everyone on the map you are on. +doommap: 80 + +// Set the map you are currently on to night. +night: 80 + +// Recalls Everyone To Your Coordinates +recallall: 80 + +// Revives all players on the map. +raisemap: 80 + +// Revives all players on the server. +raise: 80 + +// Enables a NPC. +enablenpc: 80 + +// Disables a NPC. +disablenpc: 80 + +// Move a NPC +npcmove: 80 + + +//--------------------------- +// 99: Administrator commands + +// Disconnect all users from the server +kickall: 99 + +// Closes Map-Server +mapexit: 99 + +// Give information about terrain/area (debug function) +gat: 99 + +// Enables debugging +packet: 99 + +// Shows information about the map +mapinfo: 99 + +// Re-load item database (admin command) +reloaditemdb: 99 + +// Re-load monsters database (admin command) +reloadmobdb: 99 + +// Re-load skills database (admin command) +reloadskilldb: 99 + +// Re-load scripts (admin command) +reloadscript: 99 + +// Re-load GM level (admin command) +reloadgmdb: 99 + + +//--------------------- +// OTHER: not a command + +//import: conf/import/atcommand_conf.txt diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf index 04c5227af..17ef2ca54 100644 --- a/conf-tmpl/battle_athena.conf +++ b/conf-tmpl/battle_athena.conf @@ -1,725 +1,725 @@ -// ______ __ __ -// /\ _ \/\ \__/\ \ -// __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ -// /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ -///\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ -//\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ -// \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ -// _ _ _ _ _ _ _ _ _ _ _ _ _ -// / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ -//( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) -// \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ -// -//-------------------------------------------------------------- -//eAthena Battle Configuration File -// Made in to plainer english by Ancyker -//-------------------------------------------------------------- -//Note 1: Directives can be set using on/off, yes/no or 1/0. -//Note 2: All rates are in percents, 100 would mean 100%, 200 -// would mean 200%, etc -// Other Information: -// 1000 miliseconds is 1 second. -//-------------------------------------------------------------- - -// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1) -warp_point_debug: no - -// When calculating critical, should we take in to account the enimies luck? (Note 1) -enemy_critical: yes - -// Enemy's Critical Rate (Note 2) -enemy_critical_rate: 100 - -// Are enemy attacks effected by their strength? (Note 1) -enemy_str: yes - -// Can enemies have perfect flee? (Note 1) -enemy_perfect_flee: no - -// The rate of time it takes to cast a spell (Note 2, 0 = No casting time) -casting_rate: 100 - -// Delay time after casting (Note 2) -delay_rate: 100 - -// Is the delay time is dependent on the caster's DEX? (Note 1) -delay_dependon_dex: yes - -// At what dex does the cast time become zero (instacast) -castrate_dex_scale: 150 - -// Is 'Skills add a delay before you can attack' enabled? (Note 1) -skill_delay_attack_enable: yes - -// Whether or not cards and attributes in the left hand are enabled (Note 1) -left_cardfix_to_right: yes - -// Increase player's attack range (in cells) -player_skill_add_range: 0 - -// If the target moves out of range while casting, do we take the items and SP for the skill anyway? (Note 1) -skill_out_range_consume: no - -// Increase Monsters attack range -monster_skill_add_range: 0 - -// If a player is attacked, will they have a delay in being able to move? (Note 1) -// (Setting to no will be like always endure) -player_damage_delay: yes - -// Damaged delay rate (Note 2) -player_damage_delay_rate: 100 - -// Is a player's defense NOT dependant on an enemies attack? (Note 1) -defunit_not_enemy: yes - -// Are summoned monsters level greater then your base level? (I think this is for dead branches) (Note 1) -random_monster_checklv: yes - -// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) -atcommand_spawn_quantity_limit: 100 - -// Does HP recover if hit by an attribute that's same as your own? (Note 1) -attribute_recover: yes - -// If an item is droped, does it go stright into the users inventory? (Note 1) -item_auto_get: no - -// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds) -flooritem_lifetime: 60000 - -// How long before the first person who did the most damage to a monster can get the item? (in milliseconds) -item_first_get_time: 3000 - -// How long before the second person who did the second most damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -item_second_get_time: 1000 - -// How long before the third person who did the third most/least damage to a monster can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time And Second Persons Time) -// So, It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -item_third_get_time: 1000 - -// How long before the first person who did the most damage to a MVP can get the item? (in milliseconds) -mvp_item_first_get_time: 10000 - -// How long before the second person who did the second most damage to a MVP can get the item? (in milliseconds) -// (It Adds Time From The First Persons Time) -// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items -mvp_item_second_get_time: 10000 - -// How long before the third person who did the third most/least damage to a MVP can get the item -//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time) -//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items -mvp_item_third_get_time: 2000 - -// Item drop rates (Note 2) - -// The rate the common items are droped (Items that are in the ETC tab, besides card) -item_rate_common: 100 -item_drop_common_min: 1 -item_drop_common_max: 10000 - -// The rate healing items are droped (items that restore HP or SP) -item_rate_heal: 100 -item_drop_heal_min: 1 -item_drop_heal_max: 10000 - -// The rate at which usable items (in the item tab) other then healing items are droped. -item_rate_use: 100 -item_drop_use_min: 1 -item_drop_use_max: 10000 - -// The rate at which equipment is droped. -item_rate_equip: 100 -item_drop_equip_min: 1 -item_drop_equip_max: 10000 - -// The rate at which cards are droped -item_rate_card: 100 -item_drop_card_min: 1 -item_drop_card_max: 10000 - -item_drop_mvp_min: 1 -item_drop_mvp_max: 10000 - -// Can the monster's drop rate become 0? (Note 1) -drop_rate0item: no - -// Rate at which exp. is given. (Note 2) -base_exp_rate: 100 - -// Rate at which job exp. is given. (Note 2) -job_exp_rate: 100 - -// PVP exp. Do players get exp during pvp -pvp_exp: yes - -// When a player dies, how should we penalize them? -// 0 = No penalty. -// 1 = Lose % of current level when killed. -// 2 = Lose % of total experience when killed. -death_penalty_type: 1 - -// Base exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_base: 100 - -// Job exp. penalty rate (Each 100 is 1% of their exp) -death_penalty_job: 100 - -// When a player dies, how much zeny should we penalize them with? -zeny_penalty: 0 - -// The amount of HP a player will respawn with, 0 is default. -// (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.) -restart_hp_rate: 0 - -// The amount of SP a player will respawn with, 0 is default. -// (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.) -restart_sp_rate: 0 - -// [MVP] Summoned monsters HP rate, that is, monsters summoned by an MVP will have this much HP. (Note 2) -mvp_hp_rate: 100 - -// [MVP] Item drop rate, that is, the overall drop rate for items droped by an MVP. (Note 2) -mvp_item_rate: 100 - -// [MVP] Exp. rate. (Note 2) -mvp_exp_rate: 100 - -// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) -monster_hp_rate: 100 - -// The maximum attack speed of a monster -monster_max_aspd: 199 - -// (@) GM Commands available only to GM's? (Note 1) -// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0. -// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0. -atcommand_gm_only: no - -// [GM] Can use all skills? (No or mimimum GM level) -gm_all_skill: no - -// [GM] Can use all abracadabra skills? (No minimum GM level) -gm_all_skill_add_abra: no - -// [GM] Can equip anything? (No or minimum GM level, can cause client errors.) -gm_all_equipment: no - -// [GM] Raise skills unconditionally, that is, put points in to a skill not in thier jobs skill tree? (no or minimum gm level) -gm_skill_unconditional: no - -// Can a normal player by-pass the skill tree? (Note 1) -player_skillfree: no - -// When doing a skill reset, whether the skill's restriction is to be ignored or not. (Note 1) -player_skillup_limit: yes - -// Forging success rate. (Note 2) -weapon_produce_rate: 100 - -// Prepare Potion succsss rate. (Note 2) -potion_produce_rate: 100 - -// Allow monsters to be aggresive and attack first? (Note 1) -monster_active_enable: yes - -// Monster damage delay rate (Note 1) -monster_damage_delay_rate: 100 - -// Looting monster actions. -// 0 = Monster will consume the item. -// 1 = Monster will not consume the item. -monster_loot_type: 0 - -// Enable monster skills? (Note 1) -mob_skill_use: yes - -// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) -mob_count_rate: 100 - -// Quest skills can be learned? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_learn: no - -// When skills are reset, quest skills are reset as well? (Note 1) -// Setting this to yes can open an exploit on your server! -quest_skill_reset: no - -// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) -basic_skill_check: yes - -// When making a guild, an Emperium is consumed? (Note 1) -guild_emperium_check: yes - -// Maximum tax limit on a guild member. -guild_exp_limit: 50 - -// Maximum castles one guild can own (0 - unlimited) -guild_max_castles: 0 - -// When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds) -// That is, when you go to a map and don't move, how long before the monsters will notice you. -// If you attack a monster, it will attack you back regaurdless of this setting. (I think) -player_invincible_time: 5000 - -// [PET] Rate for catching pets (Note 2) -pet_catch_rate: 100 - -// [PET] Can you name a pet more then once? (Note 1) -pet_rename: no - -// [PET] The rate a pet will get friendly by feeding it. (Note 2) -pet_friendly_rate: 100 - -// [PET] The rate at which a pet will become hungry. (Note 2) -pet_hungry_delay_rate: 100 - -// [PET] If your pet is hungry by how much will the friendlyness decrease by. (Default is 5) -// Note: The friendlyness is 0-1000 total, at 0 the pet runs away. -pet_hungry_friendly_decrease: 5 - -// [PET] Does Pet's Attack Damage Based On Str (Note 1) -pet_str: yes - -// [PET] Whether or not the pet's will use skills. (Note 1) -pet_status_support: yes - -// [PET] Does the pet need its equipment before it does its skill? (Note 1) -pet_equip_required: yes - -// [PET] Will all pets attack? (Note 1) -// Do NOT use this with pet skills! -pet_attack_support: no - -// [PET] When the master receives damage from the monster, whether or not the pet attacks back. -pet_damage_support: no - -// [PET] Rate at which a pet will support it's owner in battle. (Note 2) -pet_support_rate: 100 - -// [PET] Does the pets owner receive exp from the pets damage? -pet_attack_exp_to_master: no - -// [PET] The rate exp. is gained from the pet attacking monsters -pet_attack_exp_rate: 100 - -// Will there be a minimum skill dmg even if there is a miss? -skill_min_damage: no - -// Which finger offensive style can be used? -// 0 = Aegis style -// 1 = Athena style -finger_offensive_type: 0 - -// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double. -// The balance of the exp. rate is best used with 5 to 10) -heal_exp: 0 - -// The rate of exp. that is gained by the process of resurrection, a unit is 0.01%. -// Experience calculations for the experience value * level difference of the person revived / 100 * resurrection_exp/10000 which the revived player has can be got. -resurrection_exp: 0 - -// The rate of job exp. when using discount and overcharge on an NPC (100 is normal, 200 is double.) -// The way it is calculated is (money recieved * skill lv) * shop_exp / 100. -shop_exp: 0 - -// The delay rate of monk's combo (Note 2) -combo_delay_rate: 100 - -// Item check? (Note 1) -// When logged in or moving in map if the item the player is holding isn't correct there will be a check. -item_check: no - -// Will tuxedo and wedding dresses be shown when worn? (Note 1) -wedding_modifydisplay: yes - -// The time interval for HP to restore naturally. (in milliseconds) -natural_healhp_interval: 6000 - -// The time interval for SP to restore naturally. (in milliseconds) -natural_healsp_interval: 8000 - -// Automatic healing skill's time interval. (in milliseconds) -natural_heal_skill_interval: 10000 - -// The maximum weight for a character to carry when the character stops healing naturally. (in %) -natural_heal_weight_rate: 50 - -// Override item names from GRF file? (Note 1) -item_name_override_grffile: yes - -// Are arrows are consumed when used on a bow? (Note 1) -arrow_decrement: yes - -// Maximum atk speed. (Default is 190) -max_aspd: 190 - -// Maximum HP. (Default is 32500) -max_hp: 32500 - -// Maximum SP. (Default is 32500) -max_sp: 32500 - -// Maximum user LV to send to client -// (Default is 99.. Never go above 127) -// -// this is only useful if you have adjusted your client -// to expect levels higher then 99 -max_lv: 99 - -// Max limit of char stats. (agi, str, etc.) -max_parameter: 99 - -// Max weight carts can hold. -max_cart_weight: 8000 - -// Display player skill errors in console? (for debug only) (default: off) (Note 1) -player_skill_log: off - -// Display monster skill errors in console? (for debug only) (default: off) (Note 1) -monster_skill_log: off - -// Display battle log? (for debug only) (default: off) (Note 1) -battle_log: off - -// Display save log? (for debug only) (default: off) (Note 1) -save_log: off - -// Display errors? (for debug only) (default: off) (Note 1) -error_log: off - -// Display other stuff? (for debug only) (default: off) (Note 1) -etc_log: off - -// Save Clothes color. (This will degrade performance [in txt?]) (Note 1) -save_clothcolor: yes - -// Undead type differeniate. -// 0 = element undead -// 1 = race undead -// 2 = both -undead_detect_type: 2 - -// Operational mode of automatic counter. -// 0 = disregard DEF and HIT+20 . CRI*2, 1 = 100% critical -// Players -player_auto_counter_type: 0 -// Monsters -monster_auto_counter_type: 0 - -// Type of penalty that is applied to FLEE when more than agi_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = agi_penaly_num is reduced from FLEE as a % -// 2 = agi_penaly_num is reduced from FLEE as an exact amount -agi_penaly_type: 1 - -// Amount of enemies required to be targetting player before FLEE begins to be penalized -agi_penaly_count: 3 - -// Amount of FLEE penalized per each attacking monster more than agi_penaly_count -agi_penaly_num: 10 - -// Type of penalty that is applied to VIT defense when more than vit_penaly_count monsters are targetting player -// 0 = no penalty is applied -// 1 = vit_penaly_num is reduced from FLEE as a % -// 2 = vit_penaly_num is reduced from FLEE as an exact amount -vit_penaly_type: 1 - -// Amount of enemies required to be targetting player before VIT defense begins to be penalized -vit_penaly_count: 3 - -// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count -vit_penaly_num: 5 - -// When the player attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -player_defense_type: 0 - -// When the monster attacks an object, the calculation method of DEF. -// With 0 this will be ignored, at 1 or more def = subtraction of (DEF* value). -monster_defense_type: 0 - -// When the pet attacks an object, the calculation method of DEF. -// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). -pet_defense_type: 0 - -//MDEF‚same as above....(MDEF*value) -magic_defense_type: 0 - -// Whether or not, ground skills of the players' will stack. (Note 1) -player_skill_reiteration: no - -//Whether or not, ground skills of the monsters' will pile up. (Note 1) -monster_skill_reiteration: no - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto other players. (Note 1) -player_skill_nofootset: yes - -//Whether or not ground based skills of a certain type such as traps can be cast straight onto monsters. (Note 1) -monster_skill_nofootset: yes - -// When a player is cloaking, Whether the wall is checked or not. (Note 1) -// Note: Gravity announced that they were changing cloaking so it would -// not need a wall, but this was never implemented. I set to no, for fun. -player_cloak_check_type: no - -// When a monster is cloaking, Whether the wall is checked or not. (Note 1) -monster_cloak_check_type: no - -// Melee damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_short_attack_damage_rate: 100 - -// Ranged damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_long_attack_damage_rate: 100 - -// Magic damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_magic_attack_damage_rate: 100 - -// Misc damage adjustments for WoE battles (Guild Vs Guild) (Note 2) -gvg_misc_attack_damage_rate: 100 - -// When the empelium is broken with WoE mode on, How Long Before The Declaration Of Castle Owner -// and Removal of Monsters/Players from Castle. (in milliseconds) -gvg_eliminate_time: 7000 - -// Whether or not skill is used vis-a-vis the user at the time of MOB skill motion of condition skillused. (Note 1) -// Not sure what this means, something about monsters changing target? -mob_changetarget_byskill: no - -// Player's Direction Changed When Attacking? (Note 1) -player_attack_direction_change: yes - -// Monsters's Direction Changed When Attacking? (Note 1) -monster_attack_direction_change: yes - -// If the player has Undead Elemental Equipment, should they be frozen or not. (Note 1) -player_undead_nofreeze: no - -// Will Player Skills Stay Within Land Limit or not? (Note 1) -player_land_skill_limit: yes - -// Will Monster Skills Stay Within Land Limit or not? (Note 1) -monster_land_skill_limit: yes - -// If a party uses a skill with penalties do they apply? (Note 1) -party_skill_penaly: yes - -// If monster's class is changed will it fully recover HP and SP and Ailments? (Note 1) -monster_class_change_full_recover: no - -// Do produced items have the maker's name on them? (Note 1) -produce_item_name_input: yes - -// Do produced potions have the maker's name on them? (Note 1) -produce_potion_name_input: yes - -// Do crafted arrows have the maker's name on them? (Note 1) -making_arrow_name_input: yes - -// Does created holy water have the maker's name on it? (Note 1) -holywater_name_input: yes - -// Stop logout for 10 seconds after a hit? (Note 1) -prevent_logout: yes - -// If skill fails by delay, should it display or not. (Note 1) -display_delay_skill_fail: yes - -// Can a player in chat room (in-game), be warped by a warp portal? (Note 1) -chat_warpportal: no - -// Can a monster be warped by a warp portal? (Note 1) -mob_warpportal: no - -// Is a monster summoned via dead branch aggresive? (Note 1) -dead_branch_active: yes - -// The highest value at which an item can be sold via the merchant vend skill. (in zeny) -vending_max_value: 10000000 - -// If someone loots, show name in party? (Note 1) -show_steal_in_same_party: no - -// Allow upper class (Advanced 2nd Class)? (Note 1) -// Just leave this at yes -enable_upper_class: yes - -// Is a usual attack of a pet delivered withOUT an attribute? (Note 1) -pet_attack_attr_none: no - -// Is a usual attack of a player delivered withOUT an attribute? (Note 1) -pc_attack_attr_none: no - -// Is a usual attack of a monster delivered withOUT an attribute? (Note 1) -mob_attack_attr_none: no - -// mob attacks againsts players wearing ghostring armor do full damage -mob_ghostring_fix: no - -// Does the Golden Thief Bug card only work during pvp? -// no or 0 - gtb works all the time -// 1 - 100 - percentage of magic damage reduced only during pvp (or gvg) -gtb_pvp_only: no - -// How to count the number of the enemies who do an agi penalty... -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// 4 or more: Except all. -agi_penaly_count_lv: 2 - -// How to count the number of the enemies who do a vit penalty -// 1 or less: It is a count altogether. -// 2: Full evasion exclusion -// 3: Full evasion and evasion exclusion -// Four or more: Except all. -vit_penaly_count_lv: 3 - -// Grandcross Settings (Dont mess with these) -// Even if MOB (PC) has overlapped, it HIT(s) compulsion 3. (Default no) -gx_allhit: no -// The effect of the arms card of a damage %UP system is set also to GX at -L effect. (default no) -gx_cardfix: no -// The attribute affinity of GX is calculated doubly. (Default yes) -gx_dupele: yes -// Grandcross display type (Default 1) -// 0: Yellow character -// 1: White character -gx_disptype: 1 - -// If no than you can use the ensemble skills alone. (Note 1) -player_skill_partner_check: yes - -// Is the character of a GM account set as the object of a display by @ command etc. or not? -hide_GM_session: no - -// ƒ†ƒjƒbƒgˆÚ“®ˆ-•û-@B0‚Å-{ŽIŽd-l(‰ñü•‰‰×¨dAŽIˆ-¨Œy)A1‚ÅAthenaŽd-l(‰ñü•‰‰×¨ŒyAŽIˆ-¨d) -// translation (babelfish): -// Unit portable place - ? @. -// With 0 - {mackerel SI -l (circuit load -> heavily, the mackerel place - the ? ? lightly), -// With 1 - Athena SI -l (circuit load -> lightly, the mackerel place - the ? ? it is heavy) -unit_movement_type: 0 - -// Are other requests accepted during [various things[party,guild]] a request or not? -// It does not accept by no accepted by yes. -invite_request_check: yes - -// ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÌŽd-l 0:-{ŽIŽd-lAã©1ŒÂ 1:AthenaŽd-lAŽg‚Á‚½ƒAƒCƒeƒ€‚ðŽg‚Á‚½ŒÂ” -// translation (babelfish): -// SI of ???????? -l -// 0: - {Mackerel SI -l, trap 1 -// 1:Athena SI -l, the quantity which used the item which was used -skill_removetrap_type: 0 - -// Will display experience gained from killing a monster. (Note 1) -disp_experience: no - -// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1) -alchemist_summon_reward: no - -// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go -// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels. -// @lvup command will not go higher than this value, and therefor will not loop back around 0. -maximum_level: 255 - -// Leave at 0 to use normal drop system. Anything higher than 0 will allow luk to affect drop rates, based on a percentage. -// Example 1: Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. -// Example 2 : Setting 100 with 99 luk would add 99 to the drop rate. -drops_by_luk: 0 - -// Do all monsters ignore GMs unless attacked? (Note 1) -monsters_ignore_gm: no - -// Turn equipment breaking on. (Note 1) -// Turning this one will allow equipment to break in battles, -// as well as some skills that have chance to break equipmen. -equipment_breaking: no - -// Overall rate of which equipment can break. (Note 2) [100 = .01% chance to break equipment before penalties.] -// Critical attacks will double chance to break equipment, and other skills (such as Power Thrust) will increase weapon breaking chance as well. -// This does not effect Sage weapon enchantment failure chance. -equipment_break_rate: 100 - -// PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player. -// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items. -// There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack. -// Normal pvp counter and rank display are disabled as well. -pk_mode: no - -// Turn this on to allow a player to level up more than once from a kill. (Note 1) -multi_level_up: no - -// Does using bow to do a backstab give a 50% damage penalty? (Note 1) -backstab_bow_penalty: yes - -// Choose if server begin with night (yes) or day (no) -night_at_start: no - -// Define duration in msec of the day (default: 7,200,000 = 2 hours) -// Set to 0 to disable day cycle (but not @day GM command). -// Except 0, minimum is 60000 (1 minute). -day_duration: 7200000 - -// Define duration in msec of the night (default: 1,800,000 = 30 min) -// Set to 0 to disable night cycle (but not @night GM command). -// Except 0, minimum is 60000 (1 minute). -night_duration: 1800000 - -// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1) -// Will not display guardian or emperium hp. -// -// Still under testing (works but doesn't update) -show_mob_hp: no - -// Ban people that try to use an other name of its name (spoof name). -// Duration of the ban, in minutes (default: 5). Value from 0 to 32767 -// to disable the ban, set 0 -ban_spoof_namer: 5 - -// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc. -// Values are from 0 to 100. -// 100: disable information -// 0: send to any people, including normal players -// default: 60, according to GM definition in atcommand_athena.conf -hack_info_GM_level: 60 - -// Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags. -// This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags. -// default: 20 (first level after normal player or super'normal' player) -any_warp_GM_min_level: 20 - -// Set here which client version do you accept. Add all values of clients: -// 1: Clients before 2004-07-06 (old clients) -// 2: 2004-07-06 kRO client -// 4: 2004-07-13 kRO client -// 8: 2004-07-26 kRO client -// 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client -// 32: 2004-09-06aSakray client -// 64: 2004-09-21aSakray Client -// 128: 2004-10-18bSakexe Client -// 256: 2004-10-25aSakexe Client -// default value: 511 (all clients) -packet_ver_flag: 511 - -// Allow GMs to mute players or not? -muting_players: no - -// Mail system - Only function in sql version -mail_system: no - -// valid range of dye's and styles on the client -min_hair_style: 0 -max_hair_style: 20 -min_hair_color: 0 -max_hair_color: 9 -min_cloth_color: 0 -max_cloth_color: 4 - -// Visible area size (how many squares away from a player can they see) -area_size: 14 - -import: conf/import/battle_conf.txt - +// ______ __ __ +// /\ _ \/\ \__/\ \ +// __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ +// /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +///\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +//\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ +// \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ +// _ _ _ _ _ _ _ _ _ _ _ _ _ +// / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +//( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) +// \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ +// +//-------------------------------------------------------------- +//eAthena Battle Configuration File +// Made in to plainer english by Ancyker +//-------------------------------------------------------------- +//Note 1: Directives can be set using on/off, yes/no or 1/0. +//Note 2: All rates are in percents, 100 would mean 100%, 200 +// would mean 200%, etc +// Other Information: +// 1000 miliseconds is 1 second. +//-------------------------------------------------------------- + +// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1) +warp_point_debug: no + +// When calculating critical, should we take in to account the enimies luck? (Note 1) +enemy_critical: yes + +// Enemy's Critical Rate (Note 2) +enemy_critical_rate: 100 + +// Are enemy attacks effected by their strength? (Note 1) +enemy_str: yes + +// Can enemies have perfect flee? (Note 1) +enemy_perfect_flee: no + +// The rate of time it takes to cast a spell (Note 2, 0 = No casting time) +casting_rate: 100 + +// Delay time after casting (Note 2) +delay_rate: 100 + +// Is the delay time is dependent on the caster's DEX? (Note 1) +delay_dependon_dex: yes + +// At what dex does the cast time become zero (instacast) +castrate_dex_scale: 150 + +// Is 'Skills add a delay before you can attack' enabled? (Note 1) +skill_delay_attack_enable: yes + +// Whether or not cards and attributes in the left hand are enabled (Note 1) +left_cardfix_to_right: yes + +// Increase player's attack range (in cells) +player_skill_add_range: 0 + +// If the target moves out of range while casting, do we take the items and SP for the skill anyway? (Note 1) +skill_out_range_consume: no + +// Increase Monsters attack range +monster_skill_add_range: 0 + +// If a player is attacked, will they have a delay in being able to move? (Note 1) +// (Setting to no will be like always endure) +player_damage_delay: yes + +// Damaged delay rate (Note 2) +player_damage_delay_rate: 100 + +// Is a player's defense NOT dependant on an enemies attack? (Note 1) +defunit_not_enemy: yes + +// Are summoned monsters level greater then your base level? (I think this is for dead branches) (Note 1) +random_monster_checklv: yes + +// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity) +atcommand_spawn_quantity_limit: 100 + +// Does HP recover if hit by an attribute that's same as your own? (Note 1) +attribute_recover: yes + +// If an item is droped, does it go stright into the users inventory? (Note 1) +item_auto_get: no + +// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds) +flooritem_lifetime: 60000 + +// How long before the first person who did the most damage to a monster can get the item? (in milliseconds) +item_first_get_time: 3000 + +// How long before the second person who did the second most damage to a monster can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time) +// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items +item_second_get_time: 1000 + +// How long before the third person who did the third most/least damage to a monster can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time And Second Persons Time) +// So, It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items +item_third_get_time: 1000 + +// How long before the first person who did the most damage to a MVP can get the item? (in milliseconds) +mvp_item_first_get_time: 10000 + +// How long before the second person who did the second most damage to a MVP can get the item? (in milliseconds) +// (It Adds Time From The First Persons Time) +// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items +mvp_item_second_get_time: 10000 + +// How long before the third person who did the third most/least damage to a MVP can get the item +//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time) +//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items +mvp_item_third_get_time: 2000 + +// Item drop rates (Note 2) + +// The rate the common items are droped (Items that are in the ETC tab, besides card) +item_rate_common: 100 +item_drop_common_min: 1 +item_drop_common_max: 10000 + +// The rate healing items are droped (items that restore HP or SP) +item_rate_heal: 100 +item_drop_heal_min: 1 +item_drop_heal_max: 10000 + +// The rate at which usable items (in the item tab) other then healing items are droped. +item_rate_use: 100 +item_drop_use_min: 1 +item_drop_use_max: 10000 + +// The rate at which equipment is droped. +item_rate_equip: 100 +item_drop_equip_min: 1 +item_drop_equip_max: 10000 + +// The rate at which cards are droped +item_rate_card: 100 +item_drop_card_min: 1 +item_drop_card_max: 10000 + +item_drop_mvp_min: 1 +item_drop_mvp_max: 10000 + +// Can the monster's drop rate become 0? (Note 1) +drop_rate0item: no + +// Rate at which exp. is given. (Note 2) +base_exp_rate: 100 + +// Rate at which job exp. is given. (Note 2) +job_exp_rate: 100 + +// PVP exp. Do players get exp during pvp +pvp_exp: yes + +// When a player dies, how should we penalize them? +// 0 = No penalty. +// 1 = Lose % of current level when killed. +// 2 = Lose % of total experience when killed. +death_penalty_type: 1 + +// Base exp. penalty rate (Each 100 is 1% of their exp) +death_penalty_base: 100 + +// Job exp. penalty rate (Each 100 is 1% of their exp) +death_penalty_job: 100 + +// When a player dies, how much zeny should we penalize them with? +zeny_penalty: 0 + +// The amount of HP a player will respawn with, 0 is default. +// (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.) +restart_hp_rate: 0 + +// The amount of SP a player will respawn with, 0 is default. +// (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.) +restart_sp_rate: 0 + +// [MVP] Summoned monsters HP rate, that is, monsters summoned by an MVP will have this much HP. (Note 2) +mvp_hp_rate: 100 + +// [MVP] Item drop rate, that is, the overall drop rate for items droped by an MVP. (Note 2) +mvp_item_rate: 100 + +// [MVP] Exp. rate. (Note 2) +mvp_exp_rate: 100 + +// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) +monster_hp_rate: 100 + +// The maximum attack speed of a monster +monster_max_aspd: 199 + +// (@) GM Commands available only to GM's? (Note 1) +// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0. +// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0. +atcommand_gm_only: no + +// [GM] Can use all skills? (No or mimimum GM level) +gm_all_skill: no + +// [GM] Can use all abracadabra skills? (No minimum GM level) +gm_all_skill_add_abra: no + +// [GM] Can equip anything? (No or minimum GM level, can cause client errors.) +gm_all_equipment: no + +// [GM] Raise skills unconditionally, that is, put points in to a skill not in thier jobs skill tree? (no or minimum gm level) +gm_skill_unconditional: no + +// Can a normal player by-pass the skill tree? (Note 1) +player_skillfree: no + +// When doing a skill reset, whether the skill's restriction is to be ignored or not. (Note 1) +player_skillup_limit: yes + +// Forging success rate. (Note 2) +weapon_produce_rate: 100 + +// Prepare Potion succsss rate. (Note 2) +potion_produce_rate: 100 + +// Allow monsters to be aggresive and attack first? (Note 1) +monster_active_enable: yes + +// Monster damage delay rate (Note 1) +monster_damage_delay_rate: 100 + +// Looting monster actions. +// 0 = Monster will consume the item. +// 1 = Monster will not consume the item. +monster_loot_type: 0 + +// Enable monster skills? (Note 1) +mob_skill_use: yes + +// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) +mob_count_rate: 100 + +// Quest skills can be learned? (Note 1) +// Setting this to yes can open an exploit on your server! +quest_skill_learn: no + +// When skills are reset, quest skills are reset as well? (Note 1) +// Setting this to yes can open an exploit on your server! +quest_skill_reset: no + +// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1) +basic_skill_check: yes + +// When making a guild, an Emperium is consumed? (Note 1) +guild_emperium_check: yes + +// Maximum tax limit on a guild member. +guild_exp_limit: 50 + +// Maximum castles one guild can own (0 - unlimited) +guild_max_castles: 0 + +// When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds) +// That is, when you go to a map and don't move, how long before the monsters will notice you. +// If you attack a monster, it will attack you back regaurdless of this setting. (I think) +player_invincible_time: 5000 + +// [PET] Rate for catching pets (Note 2) +pet_catch_rate: 100 + +// [PET] Can you name a pet more then once? (Note 1) +pet_rename: no + +// [PET] The rate a pet will get friendly by feeding it. (Note 2) +pet_friendly_rate: 100 + +// [PET] The rate at which a pet will become hungry. (Note 2) +pet_hungry_delay_rate: 100 + +// [PET] If your pet is hungry by how much will the friendlyness decrease by. (Default is 5) +// Note: The friendlyness is 0-1000 total, at 0 the pet runs away. +pet_hungry_friendly_decrease: 5 + +// [PET] Does Pet's Attack Damage Based On Str (Note 1) +pet_str: yes + +// [PET] Whether or not the pet's will use skills. (Note 1) +pet_status_support: yes + +// [PET] Does the pet need its equipment before it does its skill? (Note 1) +pet_equip_required: yes + +// [PET] Will all pets attack? (Note 1) +// Do NOT use this with pet skills! +pet_attack_support: no + +// [PET] When the master receives damage from the monster, whether or not the pet attacks back. +pet_damage_support: no + +// [PET] Rate at which a pet will support it's owner in battle. (Note 2) +pet_support_rate: 100 + +// [PET] Does the pets owner receive exp from the pets damage? +pet_attack_exp_to_master: no + +// [PET] The rate exp. is gained from the pet attacking monsters +pet_attack_exp_rate: 100 + +// Will there be a minimum skill dmg even if there is a miss? +skill_min_damage: no + +// Which finger offensive style can be used? +// 0 = Aegis style +// 1 = Athena style +finger_offensive_type: 0 + +// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double. +// The balance of the exp. rate is best used with 5 to 10) +heal_exp: 0 + +// The rate of exp. that is gained by the process of resurrection, a unit is 0.01%. +// Experience calculations for the experience value * level difference of the person revived / 100 * resurrection_exp/10000 which the revived player has can be got. +resurrection_exp: 0 + +// The rate of job exp. when using discount and overcharge on an NPC (100 is normal, 200 is double.) +// The way it is calculated is (money recieved * skill lv) * shop_exp / 100. +shop_exp: 0 + +// The delay rate of monk's combo (Note 2) +combo_delay_rate: 100 + +// Item check? (Note 1) +// When logged in or moving in map if the item the player is holding isn't correct there will be a check. +item_check: no + +// Will tuxedo and wedding dresses be shown when worn? (Note 1) +wedding_modifydisplay: yes + +// The time interval for HP to restore naturally. (in milliseconds) +natural_healhp_interval: 6000 + +// The time interval for SP to restore naturally. (in milliseconds) +natural_healsp_interval: 8000 + +// Automatic healing skill's time interval. (in milliseconds) +natural_heal_skill_interval: 10000 + +// The maximum weight for a character to carry when the character stops healing naturally. (in %) +natural_heal_weight_rate: 50 + +// Override item names from GRF file? (Note 1) +item_name_override_grffile: yes + +// Are arrows are consumed when used on a bow? (Note 1) +arrow_decrement: yes + +// Maximum atk speed. (Default is 190) +max_aspd: 190 + +// Maximum HP. (Default is 32500) +max_hp: 32500 + +// Maximum SP. (Default is 32500) +max_sp: 32500 + +// Maximum user LV to send to client +// (Default is 99.. Never go above 127) +// +// this is only useful if you have adjusted your client +// to expect levels higher then 99 +max_lv: 99 + +// Max limit of char stats. (agi, str, etc.) +max_parameter: 99 + +// Max weight carts can hold. +max_cart_weight: 8000 + +// Display player skill errors in console? (for debug only) (default: off) (Note 1) +player_skill_log: off + +// Display monster skill errors in console? (for debug only) (default: off) (Note 1) +monster_skill_log: off + +// Display battle log? (for debug only) (default: off) (Note 1) +battle_log: off + +// Display save log? (for debug only) (default: off) (Note 1) +save_log: off + +// Display errors? (for debug only) (default: off) (Note 1) +error_log: off + +// Display other stuff? (for debug only) (default: off) (Note 1) +etc_log: off + +// Save Clothes color. (This will degrade performance [in txt?]) (Note 1) +save_clothcolor: yes + +// Undead type differeniate. +// 0 = element undead +// 1 = race undead +// 2 = both +undead_detect_type: 2 + +// Operational mode of automatic counter. +// 0 = disregard DEF and HIT+20 . CRI*2, 1 = 100% critical +// Players +player_auto_counter_type: 0 +// Monsters +monster_auto_counter_type: 0 + +// Type of penalty that is applied to FLEE when more than agi_penaly_count monsters are targetting player +// 0 = no penalty is applied +// 1 = agi_penaly_num is reduced from FLEE as a % +// 2 = agi_penaly_num is reduced from FLEE as an exact amount +agi_penaly_type: 1 + +// Amount of enemies required to be targetting player before FLEE begins to be penalized +agi_penaly_count: 3 + +// Amount of FLEE penalized per each attacking monster more than agi_penaly_count +agi_penaly_num: 10 + +// Type of penalty that is applied to VIT defense when more than vit_penaly_count monsters are targetting player +// 0 = no penalty is applied +// 1 = vit_penaly_num is reduced from FLEE as a % +// 2 = vit_penaly_num is reduced from FLEE as an exact amount +vit_penaly_type: 1 + +// Amount of enemies required to be targetting player before VIT defense begins to be penalized +vit_penaly_count: 3 + +// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count +vit_penaly_num: 5 + +// When the player attacks an object, the calculation method of DEF. +// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). +player_defense_type: 0 + +// When the monster attacks an object, the calculation method of DEF. +// With 0 this will be ignored, at 1 or more def = subtraction of (DEF* value). +monster_defense_type: 0 + +// When the pet attacks an object, the calculation method of DEF. +// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value). +pet_defense_type: 0 + +//MDEF‚same as above....(MDEF*value) +magic_defense_type: 0 + +// Whether or not, ground skills of the players' will stack. (Note 1) +player_skill_reiteration: no + +//Whether or not, ground skills of the monsters' will pile up. (Note 1) +monster_skill_reiteration: no + +//Whether or not ground based skills of a certain type such as traps can be cast straight onto other players. (Note 1) +player_skill_nofootset: yes + +//Whether or not ground based skills of a certain type such as traps can be cast straight onto monsters. (Note 1) +monster_skill_nofootset: yes + +// When a player is cloaking, Whether the wall is checked or not. (Note 1) +// Note: Gravity announced that they were changing cloaking so it would +// not need a wall, but this was never implemented. I set to no, for fun. +player_cloak_check_type: no + +// When a monster is cloaking, Whether the wall is checked or not. (Note 1) +monster_cloak_check_type: no + +// Melee damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_short_attack_damage_rate: 100 + +// Ranged damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_long_attack_damage_rate: 100 + +// Magic damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_magic_attack_damage_rate: 100 + +// Misc damage adjustments for WoE battles (Guild Vs Guild) (Note 2) +gvg_misc_attack_damage_rate: 100 + +// When the empelium is broken with WoE mode on, How Long Before The Declaration Of Castle Owner +// and Removal of Monsters/Players from Castle. (in milliseconds) +gvg_eliminate_time: 7000 + +// Whether or not skill is used vis-a-vis the user at the time of MOB skill motion of condition skillused. (Note 1) +// Not sure what this means, something about monsters changing target? +mob_changetarget_byskill: no + +// Player's Direction Changed When Attacking? (Note 1) +player_attack_direction_change: yes + +// Monsters's Direction Changed When Attacking? (Note 1) +monster_attack_direction_change: yes + +// If the player has Undead Elemental Equipment, should they be frozen or not. (Note 1) +player_undead_nofreeze: no + +// Will Player Skills Stay Within Land Limit or not? (Note 1) +player_land_skill_limit: yes + +// Will Monster Skills Stay Within Land Limit or not? (Note 1) +monster_land_skill_limit: yes + +// If a party uses a skill with penalties do they apply? (Note 1) +party_skill_penaly: yes + +// If monster's class is changed will it fully recover HP and SP and Ailments? (Note 1) +monster_class_change_full_recover: no + +// Do produced items have the maker's name on them? (Note 1) +produce_item_name_input: yes + +// Do produced potions have the maker's name on them? (Note 1) +produce_potion_name_input: yes + +// Do crafted arrows have the maker's name on them? (Note 1) +making_arrow_name_input: yes + +// Does created holy water have the maker's name on it? (Note 1) +holywater_name_input: yes + +// Stop logout for 10 seconds after a hit? (Note 1) +prevent_logout: yes + +// If skill fails by delay, should it display or not. (Note 1) +display_delay_skill_fail: yes + +// Can a player in chat room (in-game), be warped by a warp portal? (Note 1) +chat_warpportal: no + +// Can a monster be warped by a warp portal? (Note 1) +mob_warpportal: no + +// Is a monster summoned via dead branch aggresive? (Note 1) +dead_branch_active: yes + +// The highest value at which an item can be sold via the merchant vend skill. (in zeny) +vending_max_value: 10000000 + +// If someone loots, show name in party? (Note 1) +show_steal_in_same_party: no + +// Allow upper class (Advanced 2nd Class)? (Note 1) +// Just leave this at yes +enable_upper_class: yes + +// Is a usual attack of a pet delivered withOUT an attribute? (Note 1) +pet_attack_attr_none: no + +// Is a usual attack of a player delivered withOUT an attribute? (Note 1) +pc_attack_attr_none: no + +// Is a usual attack of a monster delivered withOUT an attribute? (Note 1) +mob_attack_attr_none: no + +// mob attacks againsts players wearing ghostring armor do full damage +mob_ghostring_fix: no + +// Does the Golden Thief Bug card only work during pvp? +// no or 0 - gtb works all the time +// 1 - 100 - percentage of magic damage reduced only during pvp (or gvg) +gtb_pvp_only: no + +// How to count the number of the enemies who do an agi penalty... +// 1 or less: It is a count altogether. +// 2: Full evasion exclusion +// 3: Full evasion and evasion exclusion +// 4 or more: Except all. +agi_penaly_count_lv: 2 + +// How to count the number of the enemies who do a vit penalty +// 1 or less: It is a count altogether. +// 2: Full evasion exclusion +// 3: Full evasion and evasion exclusion +// Four or more: Except all. +vit_penaly_count_lv: 3 + +// Grandcross Settings (Dont mess with these) +// Even if MOB (PC) has overlapped, it HIT(s) compulsion 3. (Default no) +gx_allhit: no +// The effect of the arms card of a damage %UP system is set also to GX at -L effect. (default no) +gx_cardfix: no +// The attribute affinity of GX is calculated doubly. (Default yes) +gx_dupele: yes +// Grandcross display type (Default 1) +// 0: Yellow character +// 1: White character +gx_disptype: 1 + +// If no than you can use the ensemble skills alone. (Note 1) +player_skill_partner_check: yes + +// Is the character of a GM account set as the object of a display by @ command etc. or not? +hide_GM_session: no + +// ƒ†ƒjƒbƒgˆÚ“®ˆ-•û-@B0‚Å-{ŽIŽd-l(‰ñü•‰‰×¨dAŽIˆ-¨Œy)A1‚ÅAthenaŽd-l(‰ñü•‰‰×¨ŒyAŽIˆ-¨d) +// translation (babelfish): +// Unit portable place - ? @. +// With 0 - {mackerel SI -l (circuit load -> heavily, the mackerel place - the ? ? lightly), +// With 1 - Athena SI -l (circuit load -> lightly, the mackerel place - the ? ? it is heavy) +unit_movement_type: 0 + +// Are other requests accepted during [various things[party,guild]] a request or not? +// It does not accept by no accepted by yes. +invite_request_check: yes + +// ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÌŽd-l 0:-{ŽIŽd-lAã©1ŒÂ 1:AthenaŽd-lAŽg‚Á‚½ƒAƒCƒeƒ€‚ðŽg‚Á‚½ŒÂ” +// translation (babelfish): +// SI of ???????? -l +// 0: - {Mackerel SI -l, trap 1 +// 1:Athena SI -l, the quantity which used the item which was used +skill_removetrap_type: 0 + +// Will display experience gained from killing a monster. (Note 1) +disp_experience: no + +// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1) +alchemist_summon_reward: no + +// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go +// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels. +// @lvup command will not go higher than this value, and therefor will not loop back around 0. +maximum_level: 255 + +// Leave at 0 to use normal drop system. Anything higher than 0 will allow luk to affect drop rates, based on a percentage. +// Example 1: Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. +// Example 2 : Setting 100 with 99 luk would add 99 to the drop rate. +drops_by_luk: 0 + +// Do all monsters ignore GMs unless attacked? (Note 1) +monsters_ignore_gm: no + +// Turn equipment breaking on. (Note 1) +// Turning this one will allow equipment to break in battles, +// as well as some skills that have chance to break equipmen. +equipment_breaking: no + +// Overall rate of which equipment can break. (Note 2) [100 = .01% chance to break equipment before penalties.] +// Critical attacks will double chance to break equipment, and other skills (such as Power Thrust) will increase weapon breaking chance as well. +// This does not effect Sage weapon enchantment failure chance. +equipment_break_rate: 100 + +// PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player. +// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items. +// There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack. +// Normal pvp counter and rank display are disabled as well. +pk_mode: no + +// Turn this on to allow a player to level up more than once from a kill. (Note 1) +multi_level_up: no + +// Does using bow to do a backstab give a 50% damage penalty? (Note 1) +backstab_bow_penalty: yes + +// Choose if server begin with night (yes) or day (no) +night_at_start: no + +// Define duration in msec of the day (default: 7,200,000 = 2 hours) +// Set to 0 to disable day cycle (but not @day GM command). +// Except 0, minimum is 60000 (1 minute). +day_duration: 7200000 + +// Define duration in msec of the night (default: 1,800,000 = 30 min) +// Set to 0 to disable night cycle (but not @night GM command). +// Except 0, minimum is 60000 (1 minute). +night_duration: 1800000 + +// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1) +// Will not display guardian or emperium hp. +// +// Still under testing (works but doesn't update) +show_mob_hp: no + +// Ban people that try to use an other name of its name (spoof name). +// Duration of the ban, in minutes (default: 5). Value from 0 to 32767 +// to disable the ban, set 0 +ban_spoof_namer: 5 + +// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc. +// Values are from 0 to 100. +// 100: disable information +// 0: send to any people, including normal players +// default: 60, according to GM definition in atcommand_athena.conf +hack_info_GM_level: 60 + +// Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags. +// This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags. +// default: 20 (first level after normal player or super'normal' player) +any_warp_GM_min_level: 20 + +// Set here which client version do you accept. Add all values of clients: +// 1: Clients before 2004-07-06 (old clients) +// 2: 2004-07-06 kRO client +// 4: 2004-07-13 kRO client +// 8: 2004-07-26 kRO client +// 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client +// 32: 2004-09-06aSakray client +// 64: 2004-09-21aSakray Client +// 128: 2004-10-18bSakexe Client +// 256: 2004-10-25aSakexe Client +// default value: 511 (all clients) +packet_ver_flag: 511 + +// Allow GMs to mute players or not? +muting_players: no + +// Mail system - Only function in sql version +mail_system: no + +// valid range of dye's and styles on the client +min_hair_style: 0 +max_hair_style: 20 +min_hair_color: 0 +max_hair_color: 9 +min_cloth_color: 0 +max_cloth_color: 4 + +// Visible area size (how many squares away from a player can they see) +area_size: 14 + +import: conf/import/battle_conf.txt + diff --git a/conf-tmpl/char_athena.conf b/conf-tmpl/char_athena.conf index 7edaa69e3..4783f0446 100644 --- a/conf-tmpl/char_athena.conf +++ b/conf-tmpl/char_athena.conf @@ -1,171 +1,171 @@ -// Athena Character configuration file. - -// Server Communication username and password. -userid: s1 -passwd: p1 - -// Server name, use alternative character such as ASCII 160 for spaces. -server_name: eAthena - -// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) -wisp_server_name: Server - -// Login Server IP -// -// You should only need to set this if you are running behind a -// firewall or on a machine with multiple interfaces. In that case, -// you need to specify the IP address you wish to export to the entire world. -// -// login_ip:127.0.0.1 - -// Login Server Port -login_port: 6900 - -// Character Server IP -// -// You should only need to set this if you are running behind a -// firewall or on a machine with multiple interfaces. In that case, -// you need to specify the IP address you wish to export to the entire world. -// -// char_ip:127.0.0.1 - -// Character Server Port -char_port: 6121 - -// Console Commands -// Allow for console commands to be used on/off -// This prevents usage of >& log.file -console: off - -// Option to force a player to create an e-mail. -// If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow: -// - Create at least 1 character -// - Select 1 character -// - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail') -// - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively). -// - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL. -// - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections. -// Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button, -// the player must click 'DEL' button and register his/her NEW e-mail to enter in the game -// So, default is 0, because administrator must explain to their players before to activate this option. -email_creation: 0 - -// Is Character server in maintainence mode? -char_maintenance: 0 - -// Enable or disable creation of new characters. -char_new: 0 - -// Maximum users able to connect to the server. Set to 0 for unlimited. -max_connect_user: 0 - -// It's to check IP of a player between char-server and other servers (part of anti-hacking system) -// If player doesn't have same IP, connection is refused. -// Set to 0/off/no to not check IP of player. -// Set to 1/on/yes if you want to check (default) -// Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers, -// and that your LAN is correctly configured (!), and that LAN configuration of eathena is right. -check_ip_flag: yes - -// How often should the server save all files? (In seconds) -autosave_time: 15 - -// Character server flatfile database -char_txt: save/athena.txt - -// Choose to create or not backup file (yes/no, 0/1, etc...) -// default is 'no', because backup file take time for nothing. Actually, there is no problem on characters file creation and save. -backup_txt_flag: no - -// Character server flatfile database (backup) -backup_txt: save/athena_backup.txt - -// Friends list flatfile database -friends_txt: save/friends.txt - -// Start point, Map name followed by coordinates (x,y) -start_point: new_1-1.gat,53,111 - -// Starting weapon for new characters -start_weapon: 1201 - -// Starting armor for new characters -start_armor: 2301 - -// Starting zeny for new characters -start_zeny: 500 - -// Name used for unknown characters -unknown_char_name: Unknown - -// Log Filename -char_log_filename: log/char.log - -// Allow or not identical name for characters but with a different case (upper/lower): -// example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed -name_ignoring_case: 0 - -// Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are: -// 0: no restriction (default) -// 1: only letters/symbols in 'char_name_letters' option. -// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. -char_name_option: 0 - -// Set the letters/symbols that you want use with the 'char_name_option' option. -// Note: add 'space' between 2 others letters/symbols. -// default: void. -//char_name_letters: - -// Filename of the file which receives the online players list in text -online_txt_filename: online.txt - -// Filename of the file which receives the online players list, but in html version -online_html_filename: online.html - -// Choose how to display online players. -// (sorting operation with a lot of online players can take time on a slow computer) -// 0: no sorting (default) -// 1: by alphabetical order of their name -// 2: by number of their zenys -// 3: by their base level -// 4: by their job (and job level inside the same job) -// 5: by alphabetical order of their actual map location -online_sorting_option: 0 - -// Choose which columns that you want display in the online files. Do the addition of these values: -// (if value is 0, no file is done) -// 1: name (just the name, no function like 'GM') -// 2: job -// 4: levels -// 8: map name -// 16: mapname and coordonates -// 32: zenys -// 64: name (with 'GM' if the player is a GM) -// default value: 1 (only name) -online_display_option: 1 - -// minimum GM level to display 'GM' when we want to display it (default: 1) -online_gm_display_min_level: 20 - -// refresh time (in sec) of the html file in the explorer (default 20) -online_refresh_html: 20 - -// To log the character server? -log_char: 1 - -// What folder the DB files are in (item_db.txt, etc.) -db_path: db - -// Anti-freeze system enable -anti_freeze_enable: 0 -// Anti-freeze system interval (in seconds) -anti_freeze_interval: 6 - -// If you want use an additional configuration file, uncomment and use this parameter -//import: path/additional_configuration_file - -// Mugendai's GUI Support -imalive_on: 0 -imalive_time: 30 -flush_on: 0 +// Athena Character configuration file. + +// Server Communication username and password. +userid: s1 +passwd: p1 + +// Server name, use alternative character such as ASCII 160 for spaces. +server_name: eAthena + +// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) +wisp_server_name: Server + +// Login Server IP +// +// You should only need to set this if you are running behind a +// firewall or on a machine with multiple interfaces. In that case, +// you need to specify the IP address you wish to export to the entire world. +// +// login_ip:127.0.0.1 + +// Login Server Port +login_port: 6900 + +// Character Server IP +// +// You should only need to set this if you are running behind a +// firewall or on a machine with multiple interfaces. In that case, +// you need to specify the IP address you wish to export to the entire world. +// +// char_ip:127.0.0.1 + +// Character Server Port +char_port: 6121 + +// Console Commands +// Allow for console commands to be used on/off +// This prevents usage of >& log.file +console: off + +// Option to force a player to create an e-mail. +// If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow: +// - Create at least 1 character +// - Select 1 character +// - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail') +// - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively). +// - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL. +// - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections. +// Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button, +// the player must click 'DEL' button and register his/her NEW e-mail to enter in the game +// So, default is 0, because administrator must explain to their players before to activate this option. +email_creation: 0 + +// Is Character server in maintainence mode? +char_maintenance: 0 + +// Enable or disable creation of new characters. +char_new: 0 + +// Maximum users able to connect to the server. Set to 0 for unlimited. +max_connect_user: 0 + +// It's to check IP of a player between char-server and other servers (part of anti-hacking system) +// If player doesn't have same IP, connection is refused. +// Set to 0/off/no to not check IP of player. +// Set to 1/on/yes if you want to check (default) +// Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers, +// and that your LAN is correctly configured (!), and that LAN configuration of eathena is right. +check_ip_flag: yes + +// How often should the server save all files? (In seconds) +autosave_time: 15 + +// Character server flatfile database +char_txt: save/athena.txt + +// Choose to create or not backup file (yes/no, 0/1, etc...) +// default is 'no', because backup file take time for nothing. Actually, there is no problem on characters file creation and save. +backup_txt_flag: no + +// Character server flatfile database (backup) +backup_txt: save/athena_backup.txt + +// Friends list flatfile database +friends_txt: save/friends.txt + +// Start point, Map name followed by coordinates (x,y) +start_point: new_1-1.gat,53,111 + +// Starting weapon for new characters +start_weapon: 1201 + +// Starting armor for new characters +start_armor: 2301 + +// Starting zeny for new characters +start_zeny: 500 + +// Name used for unknown characters +unknown_char_name: Unknown + +// Log Filename +char_log_filename: log/char.log + +// Allow or not identical name for characters but with a different case (upper/lower): +// example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed +name_ignoring_case: 0 + +// Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are: +// 0: no restriction (default) +// 1: only letters/symbols in 'char_name_letters' option. +// 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. +char_name_option: 0 + +// Set the letters/symbols that you want use with the 'char_name_option' option. +// Note: add 'space' between 2 others letters/symbols. +// default: void. +//char_name_letters: + +// Filename of the file which receives the online players list in text +online_txt_filename: online.txt + +// Filename of the file which receives the online players list, but in html version +online_html_filename: online.html + +// Choose how to display online players. +// (sorting operation with a lot of online players can take time on a slow computer) +// 0: no sorting (default) +// 1: by alphabetical order of their name +// 2: by number of their zenys +// 3: by their base level +// 4: by their job (and job level inside the same job) +// 5: by alphabetical order of their actual map location +online_sorting_option: 0 + +// Choose which columns that you want display in the online files. Do the addition of these values: +// (if value is 0, no file is done) +// 1: name (just the name, no function like 'GM') +// 2: job +// 4: levels +// 8: map name +// 16: mapname and coordonates +// 32: zenys +// 64: name (with 'GM' if the player is a GM) +// default value: 1 (only name) +online_display_option: 1 + +// minimum GM level to display 'GM' when we want to display it (default: 1) +online_gm_display_min_level: 20 + +// refresh time (in sec) of the html file in the explorer (default 20) +online_refresh_html: 20 + +// To log the character server? +log_char: 1 + +// What folder the DB files are in (item_db.txt, etc.) +db_path: db + +// Anti-freeze system enable +anti_freeze_enable: 0 +// Anti-freeze system interval (in seconds) +anti_freeze_interval: 6 + +// If you want use an additional configuration file, uncomment and use this parameter +//import: path/additional_configuration_file + +// Mugendai's GUI Support +imalive_on: 0 +imalive_time: 30 +flush_on: 0 flush_time: 30 \ No newline at end of file diff --git a/conf-tmpl/grf-files.txt b/conf-tmpl/grf-files.txt index 186e690cb..3926a63b4 100644 --- a/conf-tmpl/grf-files.txt +++ b/conf-tmpl/grf-files.txt @@ -1,4 +1,4 @@ -data: C:\Program Files\Gravity\RO\data.grf -sdata: C:\Program Files\Gravity\RO\sdata.grf -//adata: C:\Program Files\Gravity\RO\adata.grf +data: C:\Program Files\Gravity\RO\data.grf +sdata: C:\Program Files\Gravity\RO\sdata.grf +//adata: C:\Program Files\Gravity\RO\adata.grf //data_dir: C:\Program Files\Gravity\RO\ \ No newline at end of file diff --git a/conf-tmpl/help.txt b/conf-tmpl/help.txt index 76cc3a922..fa8de1f69 100644 --- a/conf-tmpl/help.txt +++ b/conf-tmpl/help.txt @@ -1,225 +1,225 @@ -// put at first, the minimum level to display the line - 0:To use one command, type it inside the message window where you usually type to chat. - 20:@h/@help - display this help. - 40: - 40:--- MESSAGE CMD --- - 40:/b/@broadcast - Broadcasts a GM message with name of the GM (in yellow) - 40:/nb /@kami - Broadcasts a GM message without name of the GM (in yellow) - 40:@kamib - Broadcasts a GM message without name of the GM (in blue) - 40:/lb/@localbroadcast - Broadcasts a GM message with name of the GM (in yellow) ONLY on your map - 40:/nlb - Broadcasts a GM message without name of the GM (in yellow) ONLY on your map - 0: - 0:--- INFORMATION CMD --- - 20:@who/@whois [match_text] - Display a listing of who is online and where - 20:@who2 [match_text] - Display a listing of who is online and their job - 20:@who3 [match_text] - Display a listing of who is online and their party/guild - 20:@whomap/@whomap2/@whomap3 [map] - like @who/@who2/@who3 but only for specifical map - 20:@whogm [match_text] - Like @who+@who2+who3, but only for GM. - 1:@where [char name] - Tells you the location of a character - 40:@charstatsall - Displays stats of all characters. - 40:@charitemlist - Displays all items of a player. - 40:@charstoragelist - Displays all items of a player's storage. - 40:@charcartlist - Displays all items of a player's cart. - 0:@ignorelist - Displays your ignore list - 99:@mapinfo [<0-3> [map]] - Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat). - 0:@time/@date/@server_date/@serverdate/@server_time/@servertime - Display the date/time of the server - 60: - 60:@guildspy - You will receive all messages of the guild channel - 60:@partyspy - You will receive all messages of the party channel - 1: - 1:--- CHANGE GM STATE CMD --- - 40:/hide/@hide - Makes you character invisible (GM invisibility). Type @hide again become visible. - 40:@save - Sets respawn point to current spot - 40:@load/@return - Warps you to your save point - 40:/mm//mapmove/@warp/@rura/@mapmove - Warps you to the selected position - 40:@jump [x [y]]- Randomly warps you like a flywing. - 20:/shift/@jumpto/@warpto/@goto - Warps you to selected character - 20:@follow - follow a player - 10:@go - Warps you to a city. - 10: -3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim - 10: -2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang - 10: -1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point - 10: 0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail - 10: - 1:@die ---- suicide - 60:@alive - Revives yourself from death - 40:@heal [ ] - Heals the desired amount of HP and SP. No value specified will do a full heal. - 20: - 40:@job/@jobchange - Changes your job - 40: 0 Novice 7 Knight 14 Crusader 22 Formal - 40: 1 Swordman 8 Priest 15 Monk 23 Super Novice - 40: 2 Mage 9 Wizard 16 Sage - 40: 3 Archer 10 Blacksmith 17 Rogue - 40: 4 Acolyte 11 Hunter 18 Alchem - 40: 5 Merchant 12 Assassin 19 Bard - 40: 6 Thief 13 Peco-Knight 20 Dancer 21 Peco-Crusader - 40: 24 Novice High 31 Lord Knight 38 Paladin - 40: 25 Swordman High 32 High Priest 39 Monk - 40: 26 Mage High 33 High Wizard 40 Professor - 40: 27 Archer High 34 Whitesmith 41 Stalker - 40: 28 Acolyte High 35 Sniper 42 Creator - 40: 29 Merchant High 36 Assassin Cross 43 Clown - 40: 30 Thief High 37 Peco Knight 44 Gypsy 45 Peco-Paladin - 60:@lvup/@blevel/@baselvlup - Raises your base level the desired number of levels. The max is 255 (User Defined). - 60:@joblvup/@jlevel/@joblvlup -Raises your job level the desired number of levels. The max is 50 For Basic Classes. For Super Novice and Advanced Classes it is 70. - 60:@allskill/@allskills/@skillall/@skillsall - Give you all skills. - 40:@option - Adds different visual effects on or around your character - 40: (stackable) - 40: 1 Petrified (stackable) 01 Sight 32 Peco Peco riding 2048 Orc Head - 40: 2 Frozen 01 Poison 02 Hide 64 GM Perfect Hide 4096 Wedding Sprites - 40: 3 Stunned 02 Cursed 04 Cloak 128 Level 2 Cart 8192 Ruwach - 40: 4 Sleeping 04 Silenced 08 Level 1 Cart 256 Level 3 Cart - 40: 6 darkness 08 ??? 16 Falcon 512 Level 4 Cart - 40: 16 darkness 1024 Level 5 Cart - 20:@mountpeco - Give/remove you a peco (Class is required, but not skill) - 20:@disguise - Change your appearence to other players to a mob. - 20:@undisguise - Restore your normal appearance. - 20:@model - Changes your characters appearence. - 40:@dye/@ccolor - Changes your characters appearence (only clothes color). - 40:@hairstyle/@hstyle - Changes your characters appearence (only hair style). - 40:@haircolor/@hcolor - Changes your characters appearence (only hair color). - 40:@speed <1-1000> - Changes you walking speed. 1 being the fastest and 1000 the slowest. Default 150. - 40:@effect [flag] - Give an efect to your character. - 40:@dropall - throws all your possession on the ground - 40:@storeall - puts all your possessions in storage - 40:@killable - make your character killable - 60:@stpoint - Gives you the desired number of stat points. - 60:@skpoint - Gives you the desired number of skill points. - 60:@zeny - Gives you desired amount of Zeny. - 60:@str,@agi,@vit,@int,@dex,@luk - Adds desired amount to any stat. For example "@str 10" raises your str by 10 - 60:@statall/@statsall/@allstats/@allstat [value] - Adds value in all stats (maximum if no value). - 40:@memo [memo_position] - set/change a memo location (no position: display memo points). - 40:@spiritball - Gives you "spirit spheres" like from the skill "Call Spirits" - 40: (If the number you use is > 1000, your server may become instable or crash) - 40:@questskill <#> - Gives you the specified quest skill - 40:@lostskill <#> - Takes away the specified quest skill from you - 40:@skillid - look up a skill by name - 40:@useskill - use a skill on target - 40: Novice Swordsman Thief Merchant - 40: 142 = Emergency Care 144 = Moving HP Recovery 149 = Throw Sand 153 = Cart Revolution - 40: 143 = Act dead 145 = Attack Weak Point 150 = Back Sliding 154 = Change Cart - 40: Archer 146 = Auto Berserk 151 = Take Stone 155 = Crazy Uproar/Loud Voice - 40: 147 = Arrow Creation Acolyte 152 = Stone Throw Magician - 40: 148 = Charge Arrows 156 = Holy Light 157 = Energy Coat - 60: @addwarp - 40: - 40:--- MONSTERS CMD --- - 50:/monster - Spawns 1 of the desired monster. - 50:@spawn/@monster/@summon [ [ [ []]]] - 50:@monster2 [ [ []]] - 50:@spawn/@monster/@summon/@monster2 "desired monster name" [ [ []]] - 50:@spawn/@monster/@summon/@monster2 "desired monster name" [ [ []]] - 50: Spawns the desired monster with any desired name. - 60:@killmonster [map] - kill all monsters of the map (they drop) - 40:@killmonster2 - kill all monsters of your map (without drops) - 1: - 1:--- ITEMS CMD --- - 1:@storage - Opens storage - 50:@gstorage - Opens guild storage - 60:/item - Gives you 1 of the desired item. - 60:@item - Gives you the desired item. - 60:@item2 = Gives you the desired item. - 40:@itemreset - Remove all your items. - 60:@itemcheck - Check your items with authorised items. - 60:@idsearch - Search all items that name have part_of_item_name - 60:@refine <+/- amount> - 60:@produce <# of very's> - 60: Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind - 60: It has separately with fragment 3 of the attribute + stars, you can apply. - 60:@repairall - Repair all items of your inventory - 40: - 40:--- PVP CMD --- - 40:@pvpon - Turns pvp on on the current map - 40:@pvpoff - Turns pvp off on the current map - 40:@gvgon/@gpvpon - Turns gvg on on the current map - 40:@gvgoff/@gpvpoff - Turns gvg off on the current map - 60:@agitstart - Starts War of Emperium - 60:@agitend - End War of Emperium - 1: - 1:--- GROUPS CMD --- - 1:@party - Create a party. - 50:@guild - Create a guild. - 60:@guildlvup/@guildlvlup <# of levels> - Raise Guild by desired number of levels - 60:@guildrecall - Warps all online characters of a guild to you. - 60:@partyrecall - Warps all online characters of a party to you. - 1: - 1:--- PETS CMD --- - 60:@hatch - Create a pet from your inventory eggs list. - 60:@makeegg - Gives pet egg for monster number in pet DB - 40:@petfriendly <#> - Set pet friendly amount (0-1000) 1000 = Max - 40:@pethungry <#> - Set pet hungry amount (0-100) 100 = Max - 1:@petrename - Re-enable pet rename - 20: - 20:--- REMOTE CHAR CMD --- - 60:@kill - Kills specified character. - 40:@charkillable - make another character killable - 60:@nuke - Kills specified character (nuclear effect). - 60:@chardropall - throws all a chars possession on the ground - 60:@charstoreall - puts all of anothers charactes possessions in storage - 60:/recall/@recall - Warps target character to you. - 80:@recallall - Warps every character online to you. - 60:@charwarp/@rura+ - Warps character to location of choice - 60:@revive - Revives target character. - 40:@charstats - Displays a characters stats. - 20:@charignorelist - Displays ignore list of the player - 20:@inall - Allows all wispers for the player - 20:@exall - Blocks all wispers for the player - 60:@charoption - Like @option command but only to target character. - 50:@charmountpeco - Give/remove to a player a peco (Class is required, but not skill). - 50:@charpetrename - Re-enable pet rename to a player. - 60:@charsave - Changes the target players respawn point. - 60:@charbaselvl <#> - Change a characters base level. - 60:@charjlvl <#> - Change a characters job level. - 60:@charjob/@charjobchange - Changes target characters job. - 60:@charzeny - Give/take a players Zeny - 60:@charstpoint - Give/take a players stat points - 60:@charskpoint - give/take a players skill points - 60:@charskreset - Reset skills of a character. - 60:@charstreset - Reset stats of a character. - 60:@charreset - Reset stats AND skills of a character. - 60:@charquestskill <#> - Gives to a player the specified quest skill. - 60:@charlostskill <#> - Takes away the specified quest skill from the player. - 60:@chardelitem - Remove items from a character - 50:@charmodel - Changes a player's model - 60:@chardisguise - Changes disguise of a player - 60:@charundisguise - Cancels disguise of a player - 60:@charchangesex - Changes sex of a player (all characters of the account) - 60:@charblock/@block - Blocks definitively a account - 60:@charunblock/@unblock - Unblocks a account - 60:@charban/@ban/@banish/@charbanish