diff options
author | Dennis Friis <peavey@placid.dk> | 2008-04-02 15:09:18 +0000 |
---|---|---|
committer | Dennis Friis <peavey@placid.dk> | 2008-04-02 15:09:18 +0000 |
commit | 97bb21a79949779df76269b087f3bce7ef8179ee (patch) | |
tree | 08b3bdee2f3596581dd8d8f051afd37ee648cee7 /doc | |
parent | dafdbbe9f1db3e6943003a79a6e23c00da2f2fe1 (diff) | |
download | tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.gz tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.bz2 tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.xz tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.zip |
initial checkin
Diffstat (limited to 'doc')
31 files changed, 31433 insertions, 0 deletions
diff --git a/doc/Changelog.txt b/doc/Changelog.txt new file mode 100644 index 0000000..bc4d7df --- /dev/null +++ b/doc/Changelog.txt @@ -0,0 +1,1729 @@ +Date Added +10/15 + * 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 <name> <message> + - @sendprioritymail <name> <message> + - 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 <char_name> 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 <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 <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 <command>) 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 <name/id>. [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/doc/LICENCE b/doc/LICENCE new file mode 100644 index 0000000..45645b4 --- /dev/null +++ b/doc/LICENCE @@ -0,0 +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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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.
+
+ <signature of Ty Coon>, 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/doc/LICENCE_JA b/doc/LICENCE_JA new file mode 100644 index 0000000..0888c67 --- /dev/null +++ b/doc/LICENCE_JA @@ -0,0 +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<mhatta@gnu.org>‚ª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
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+ (–ó:
+
+ YoyodyneŽÐ‚Í‚±‚±‚ÉAJames Hacker‚É‚æ‚Á‚Ä‘‚©‚ꂽƒvƒƒOƒ‰ƒ€
+ uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ê‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆêØ‚Ì’˜ìŒ ‚Ì—˜
+ ‰v‚ð•úŠü‚µ‚Ü‚·B
+
+ <Ty CoonŽ‚Ì–¼>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/doc/Readme-jap b/doc/Readme-jap new file mode 100644 index 0000000..3e2ac86 --- /dev/null +++ b/doc/Readme-jap @@ -0,0 +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 <partner_name>
+@@<partner_name>: Œ‹¥‘ŠŽè‚Ì–¼‘O
+@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0
+@@Œ‹¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚Æ<partner_name>‚̃Lƒƒƒ‰ƒNƒ^[‚ÅA‚Ç‚¿‚ç‚©‚ªŠù¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B
+@@1‰ñ‚ÌmarriageƒXƒNƒŠƒvƒg‚ÅV˜Y¨V•w‚ÆV•w¨V˜Y‚ÌŒ‹¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B
+@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ÅŒ‹¥Žw—Ö‚Í—^‚¦‚ç‚ê‚Ü‚¹‚ñB
+@Edevorce
+@@ˆø”–³‚µ
+@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0
+@@—£¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚ÅA–¢¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B
+@@marriageƒXƒNƒŠƒvƒg‚Æ“¯—l‚Ɍ݂¢‚Ì—£¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B
+@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ª¬Œ÷‚·‚é‚ÆŽ©“®“I‚É‘ÎÛƒLƒƒƒ‰ƒNƒ^[‚ÌŒ‹¥Žw—Ö‚Í”’D‚³‚ê‚Ü‚·B
+
+@‚Ç‚¿‚ç‚̃XƒNƒŠƒvƒg‚̈—‚àA2l‹¤ƒƒOƒCƒ“‚µ‚Ä‚¢‚È‚¢‚ƬŒ÷‚µ‚Ü‚¹‚ñB
+
+ (map/)
+ pc.c
+ pc_ismarried()Apc_marriage()Apc_divorce()Apc_authok()•ÏX
+ pc_get_partner() ’ljÁ
+ 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
+ E<gatname><tab>mapflag<tab>pvp_nocalcrank<tab>dummy
+ @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B
+ E<gatname><tab>mapflag<tab>pvp_nightmaredrop<tab><item>,<type>,<per>
+ @PvP‚É‚ÄŽ€–S‚µ‚½ê‡A<per>‚ÌŠm—¦‚ŃAƒCƒeƒ€‚ðƒhƒƒbƒv‚µ‚Ü‚·B
+ @<item>: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’肵‚Ü‚·Brandom‚Æ‹Lq‚·‚é‚ÆŠŽ•i‚©‚烉ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚µ‚Ü‚·B
+ @<type>: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚̃^ƒCƒv‚ðŽw’肵‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•”
+ @<per>: ƒhƒƒbƒv‚·‚éŠm—¦‚Å‚·B–œ•ª—¦‚ÅŽw’肵‚Ü‚·B
+ (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 <mapname>,<x0>,<y0>,<x1>,<y1>,<item>;
+@@mapnameF‘ÎÛƒ}ƒbƒv–¼(—áFprontera.gat)
+@@x0‚Æx1F‘ÎÛXÀ•W”͈Í
+@@y0‚Æy1F‘ÎÛYÀ•W”͈Í
+@@itemFƒJƒEƒ“ƒg‚·‚é‘ÎÛƒAƒCƒeƒ€
+
+@–ß‚è’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(<n>)’ljÁB
+ @<n>=ƒ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 <mapname>,<eventname>"‚Æ‹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‚Ì<type>‚ð0‚É‚µ‚Ä‚àƒAƒCƒeƒ€‚ðŽg—p‚µ‚½Žž‚Æ“¯‚¶
+ ƒGƒtƒFƒNƒg‚ªo‚Ü‚·B–{ŽI‚̃AƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ª•ª‚©‚ç‚È‚¢‚Ü‚Ü‚¶‚á
+ ‚±‚¤‚·‚邵‚©‚È‚©‚Á‚½‚Ì‚Å‚·‚ª...
+Ebattle_athena.conf‚É€–ڒljÁB
+E‚»‚Ì‘¼ƒXƒLƒ‹‚µC³‚Æׂ©‚¢C³B
+EC³‚µ‚½Š‚ð‘S‚ÄŠo‚¦‚Ä‚Ü‚¹‚ñ‚̂Ńtƒ@ƒCƒ‹‚¾‚¯B
+ (map/)
+ clif.c C³B
+ mob.c C³B
+ mob.h C³B
+ pc.c C³B
+ map.h C³B
+ skill.c C³B
+ skill.h C³B
+ itemdb.c C³B
+ battle.c C³B
+ battle.h C³B
+ (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 <time.h>’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 <error No>.B
+ R 0081 <type>.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 <error No>.B
+ R 0070 <error No>.B
+ R 0081 <type>.B
+
+----------
+//319 by mk
+ENPC‚Ƃ̉ï˜b’†‚É‘•”õ•ÏXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½
+ 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/doc/Readme2.txt b/doc/Readme2.txt new file mode 100644 index 0000000..0f938fa --- /dev/null +++ b/doc/Readme2.txt @@ -0,0 +1,368 @@ + ______ __ __ + /\ _ \/\ \__/\ \ + __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ + /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ + \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ + _ _ _ _ _ _ _ _ _ _ _ _ _ + / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) + \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ + + +-------------------------------------------------------------- +eAthena VERSION +-------------------------------------------------------------- +Version 1.0.0 Release Candidate 3 +-------------------------------------------------------------- +This is a release candidate to iron out any bugs before +official release. +-------------------------------------------------------------- +Caution : Make sure you are giving your users account id's +greater than 2000000, failure to do so can cause a number of +problems. +-------------------------------------------------------------- +eATHENA README +-------------------------------------------------------------- +Thank you for downloading eAthena. +We hope that you'll enjoy using this software. +-------------------------------------------------------------- +-------------------------------------------------------------- +eAthena Features +-------------------------------------------------------------- +> eAthena Completed Features +-------------------------------------------------------------- +- PvP (Player VS Player) +- GvG (Guild VS Guild) +- qPets (Cute Pets) +- Monster skills +- 2-2 Jobs (Alternate 2nd Jobs) +- SuperNovice (Alternate 1st Job) +- WoE (War of Emperium) +- Remote administration of accounts (ladmin softwares) +- Pet-Equipped Mobs +- Management of day/night +-------------------------------------------------------------- +> eAthena Incompleted Features (List) +-------------------------------------------------------------- +- Advanced Classes (Upper Jobs) +- Baby Classes (Baby Jobs) +- Pet Skills +- Equipment Breaking System +- PK Server Mode +-------------------------------------------------------------- +> eAthena Features - Estimated completion rate (Detailed) +-------------------------------------------------------------- +- Guild Wars (War of Emperium) - 100% Complete (4/4) +- Novice Skills - 100% Complete:(3/3) +- 1st Job Skills - 100% + * Swordsman - 100% Complete:(10/10) + * Acolyte - 100% Complete:(16/16) + * Archer - 100% Complete:(7/7) + * Magician - 100% Complete:(14/14) + * Merchant - 100% Complete:(10/10) + * Thief - 100% Complete:(10/10) +- 2-1 Skills (2nd Job Skills) - 100% + * Knight - 100% Complete:(10/10) + * Priest - 100% Complete:(18/18) + * BlackSmith - 100% Complete:(21/21) + * Wizard - 100% Complete:(13/13) + * Assassin - 100% Complete:(10/10) + * Hunter - 100% Complete:(17/17) +- 2-2 Skills (Alternate 2nd Job Skills) - 90.5% + * Crusader - 100% Complete:(18/18) + * Monk - 100% Complete:(15/15) + * Alchemist - 54% Complete:(12/22) Complete:(10/22) (Blame Gravity For The Missing Skills) + * Sage - 100% Complete:(20/20) + * Rogue - 80% Complete:(12/15) Incomplete:(3/15) + * Bard - 100% Complete:(16/16) + * Dancer - 100% Complete:(16/16) +- 2-1-1 Skills (Advanced 2-1 Job Skills) - 80.5% + * Lord Knight - 94% - Complete:(7/8) Incomplete:(1/8) + * High Priest - 66% - Complete:(1/3) Incomplete:(2/3) + * High Wizard - 100% Complete:(4/4) + * Whitesmith - 75% Complete:(3/4) Incomplete:(1/4) + * Sniper - 88% - Complete:(3/4) Incomplete:(1/4) + * Assassin Cross - 60% Complete:(3/5) Incomplete:(2/5) +- 2-2-1 Skills (Advanced 2-2 Job Skills) - 47% + * Paladin - 65% + * Champion - 100% + * Professor - 100% + * Stalker - 65% + * Creator - 0% + * Clown - 0% + * Gypsy - 0% +- Pet Skills - 95% + * Loot Skills - 100% + * Buff Skills - 100% + * Attack Skills - 90% + * Assist Skills - 100% +- Equipment Breaking System - 50% + * Weapon Breaking - 85% + * Armor Breaking - 80% + * Equipment Repair - 80% +- PK Server Mode - ??% + * Need more info on this mode to be called complete. +-------------------------------------------------------------- +> eAthena - What we currently do not have +-------------------------------------------------------------- +- Wedding System (In Progress!) +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +System Requirements +-------------------------------------------------------------- +> Minimum System Requirements +-------------------------------------------------------------- +800Mhz Processor +256MB RAM + +NOTE: For this setup, it's recommended to not load as many maps +and spawn as many monsters as it comes default with eAthena. +To do this, comment off unused maps and control monster spawn +rate using mob_count in battle_athena.conf. + +-------------------------------------------------------------- +> Recommended System Requirements +-------------------------------------------------------------- +1+Ghz Processor +512+MB RAM + +NOTE: For this setup, generally, running the eAthena default +should be fine. If you have alot of extra RAM, you might even +consider raising the mob_count in battle_athena.conf so that +there will be more than normal monsters in your server +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Setting up eAthena +-------------------------------------------------------------- +> Setting up a new eAthena +-------------------------------------------------------------- +1. Run the setupwizard program. This will assist you in + configuring Athena for the first time. Just follow the + instructions in the program. +2. Edit motd.txt, grf-files.txt & .conf files as neccessary +3. If you want to add a user, go to tools and use the AddUser + tool +4. Run the login-server, char-server and map-server in the + main Athena directory +5. You're done! + +-------------------------------------------------------------- +> Upgrading from older eAthena: +-------------------------------------------------------------- +- From a release newer than 953 or 817: +1. Transfer your old /save/ folder contents (Athena.txt, + Account.txt, Storage.txt, etc.) to the new /safe/ folder +2. Transfer/Edit grf-files.txt, gm-account.txt and motd.txt as + neccessary +3. Transfer any extra custom NPCs to the /npc/ folder and + edit if neccessary +4. Edit .conf files to setup your server +5. You're done! + +NOTE: It is not recommended to transfer your DB files +as the DB files are constantly updated by the eAthena/jAthena +team. Just read your changes to the new DB files instead of +replacing the new DB file with your old one. +-------------------------------------------------------------- +- From a release older than 670: +1. Transfer your old data files (Athena.txt, Account.txt, + Storage.txt, Pet.txt, etc) into the /save/ folder +2. Transfer/Edit grf-files.txt, gm-account.txt as neccessary +3. Transfer any extra custom NPCs/DBs to the new /npc/ folder + and edit if neccessary +4. Edit .conf files to setup your server +5. You're done! + +NOTE: It is not recommended to transfer your .conf files from +your old eAthena setup to this new one because there are always +changes and new additions to these .conf files all the time + +NOTE 2: It is also not recommended to transfer your DB files +as the DB files are constantly updated by the eAthena/jAthena +team. Just readd your changes to the new DB files instead of +replacing the new DB file with your old one. +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Playing eAthena +-------------------------------------------------------------- +1. Make sure all the files are setup properly (conf files) +2. Load eAthena + 2a. Run login-server + 2b. Run char-server + 2c. Run map-server +3. Wait for map-server to finish loading. +4. Play using a custom XML. +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Frequently Asked Questions +-------------------------------------------------------------- + +A: You're missing the cygwin dlls. Please get the latest dll at: + http://www.cygwin.com/snapshot. If you're unsure, asking + around in our IRC chatroom will get you around too, but + always remember - use common sense and search before asking. + +Q: My map-server won't load! It appears to be loading things + before it dissapeared suddenly! HELP! +A: Use command line to load map-server. It should tell you the + error. If you're missing a map, update your kRO Sakray or + uncomment the map from map_athena.conf. If you have an + errornous NPC, fix it or comment it off. Anything other than + that, feel free to ask around. + +Q: My map-server failed to load 'adata.grf'! Where do I find + this adata.grf? My map-server won't load without it! +A: The error that caused the map-server to not load is not the + adata.grf. You do NOT need to have adata.grf so that the map + server can load. The error is probably something else. + +Q: All 3 of the servers are loaded, but I am still having + problems accessing it! What do I do? +A: First, check the IPs in map_athena.conf and char_athena.conf. + If that's correct, check the ports to make sure they match. + If that's correct too, you probably cannot handle the server + load. Lower the monster spawning rate using mob_count in + battle_athena.conf and it should be fine. + +Q: You said eAthena has 2-2 skills. Well, I tried it and there + are no 2-2 skills when I use 2-2 characters! You lie! +A: No, I did not. You have an outdated Ragexe/Sakexe that does + not support 2-2 skills. Update it to a later one which does. + +Q: How do I start Guild Wars/War of Emperium??? HELP!!! +A: Read the help.txt for full list of commands that GMs can use. + @agitstart and @agitend is also listed there as commands to + start and end Guild Wars. + +Q: My Ragnarok Online crashed while playing with eAthena! What + do I do now? +A: Well, if your Ragnarok crashes, it's most probably not + anything to do with eAthena. Something is wrong with your + Ragnarok installation. Try reinstalling or updating. + +Q: Is eAthena compatible with mySQL? Can I use mySQL as the DB + instead of using text files? +A: Yes, eAthena is compatible with mySQL. A tutorial on how to + setup this is coming soon. + +Q: Is eAthena compatible with msSQL? Can I use msSQL as the DB + instead of using text files? +A: No, eAthena is not compatible with msSQL. You cannot use + msSQL with eAthena. + +Q: I found a bug! Where do I report it? +A: Drop the developers a line at the IRC chatroom. Or just post + it in the bug report forum. We check them out too. :) + +Q: I know alot of C and I'm able to help improve eAthena and + add new features. How can I join your development team? +A: Try talking to one of the current developers in the eAthena + channel. + +Q: What is this AthenaAdvanced/omniAthena that I keep hearing of? +A: Huh? What's that? + +Q: Why does eAthena crash, and how come you can't prevent this? +A: eAthena is a working in progress we never stated eAthena is + bug free, most likely no software is bugfree, if they state + this they are lying sons of beeps and you should sue them + for false advertisement. +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Support +-------------------------------------------------------------- +For support, first check the Frequent Asked Questions. +If the question doesn't exist, check the forums. Search before +posting to see if the question had been asked and answered. +If not, post and we'll try and help you. +Our forums is located at: http://eathena.deltaanime.net +You can also visit our IRC chatroom and ask your questions +there. +Our IRC chatroom is located at: irc.deltaanime.net #athena +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Development +-------------------------------------------------------------- +eAthena is based on the original Athena, by the Japanese +Development Team. A big thanks to them for working hard on +Athena. + +The eAthena Development Team: +AppleGirl +Akaru +Evera/Lorri +Wizputer +Valaris +Yor +Kalaspuff +Syrus22 +Darkchild +CLOWNISIUS +RichG +Kashy +Lupus + +NOTE: Sorry if I missed anyone while writing this. If you are +in the team but not included in this list, PM me. +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +Special Thanks and Shoutouts! +-------------------------------------------------------------- +The eAthena development team would like to specially thank: +- the Japanese Development Team. A big thanks to them for + working hard on Athena which eAthena is based on. +- RoVeRT, our ex-developer. eAthena wouldn't have this many + features without him! +- sara-chan, who had also contributed alot to the development + of eAthena! Thanks! +- Gravity, for making Ragnarok Online. eAthena wouldn't even + exist if it wasn't for them! +- ASB for hosting our forum section :) +- Deltaanime for hosting our new official forums :) +- And others who gave continuously endless support to eAthena! +- fov and Kinko for their bugfixes. + +NOTE: Sorry if I missed anyone while writing this. If you are +in the team but not included in this list, PM me. +-------------------------------------------------------------- +-------------------------------------------------------------- + + +-------------------------------------------------------------- +-------------------------------------------------------------- +License: +-------------------------------------------------------------- +eAthena is licensed under the GPL. Please refer to LICENSE in +your Athena folder for the full GPL License statement. +-------------------------------------------------------------- +-------------------------------------------------------------- diff --git a/doc/admin_packet.txt b/doc/admin_packet.txt new file mode 100644 index 0000000..670a038 --- /dev/null +++ b/doc/admin_packet.txt @@ -0,0 +1,281 @@ +=========================================================================== +=========================================================================== + DETAIL OF ADMINISTRATION PACKETS +--------------------------------------------------------------------------- +--------------------------------------------------------------------------- + +=========================================================================== + COMMON PACKETS FOR ALL SERVERS +--------------------------------------------------------------------------- +S 7530 (void) + It's a request to obtain the version of the server. + Answer packet: 0x7531. + +R 7531 <major_version>.B <minor_version>.B <revision>.B <release_flag>.B <official_flag>.B <server_type>.B <mod_version>.w + It's the reply to a request about the server version (0x7530). + It gives the information about the version of the server. + release_flag : 0 = release, 1 = debug + official_flag: 0 = official, 1 = mod + server_type: 1 = login, 2 = char, 4 = inter, 8 = map (add all values if the server have more than 1 type) + +S 7532 (void) + End of connection (no reply is sended back) + +=========================================================================== + ADMINISTRATION PACKETS OF THE LOGIN-SERVER +--------------------------------------------------------------------------- + +NB: All information about an account can be obtain by an administration packet, except the password. + The login-server will never send back the password af an account. + If someone sniffs the password from the login-server, he can not obtain it. + But, it exists a packet to check the password. + It's to secure the password. + +CONNECTION SYSTEM IN ADMINSTRATION MODE + +S 7918 <encrypt_flag>.w <administration_password>.24(16)B + It's a request to obtain an (administration) connection on the login-server. + The packet size changes according to the encrypted password or not. + A non-encrypted password is sended with 24 bytes (plain text with NULL terminate), + and an encrypted password is sended with 16 bytes. + Answer packet: 0x7919. + encrypt_flag: 0 = plain text, 1 = md5 (key + password), 2 = md5 (password + key) + +R 7919 <flag>.B + It's the reply to a request for an (administration) connection (0x7918). + Flag: 0 = accepted, 1 = refused + +S 791a (void) + It's a request to obtain the encrypted key. This key is used to create the encrypted password. + This packet must be called before the packet 0x7918 if you want connect you with an encrypted password. + The reply is the packet 0x01dc, as like a player sends a connection request with the packet 0x01db. + +PACKETS OF ADMINISTRATION MODE + +R 791f (void) + Ready signal (no reply is sended back). NOT USED. + +S 7920 <start_id>.l <end_id>.l + It's a request to obtain an accounts list. + start_id: 0 for begining of the list, or presumed start id value of the first account. + end_id: 0 to go until the last id, or the upper id limit value that you want. + If 'end_id' is lower to 'start_id', you give no limit for the last id. + Answer packet: 0x7921. + +R 7921 <length>.w { <account_id>.l <GM_level>.B <account_name>.24B <sex>.B <count>.l <state>.l }.38B* + It's tje reply packet of the packet 0x7920. + It gives an accounts list. + If you receive at least an account, you must do an additional request (packet 0x7920 begining with the last received account id +1) + to be sure that you receive all asked accounts, because this packet is limited in size when it sends information. + if <state> is 7, there are 2 possibilities: banishement or state{Your are Prohibited to log in until %s}. + +S 7930 <account_name>.24B <password>.24B <sex>.B <E-mail>.40B + It's a request to create a new account. + If e-mail is not valid, the e-mail is replaced by the default e-mail (a@a.com). + The default e-mail is like no e-mail to protect your characters against a deletion. + Answer packet: 0x7931. + +R 7931 <account_id>.l <account_name>.24B + It's the reply to an account creation (0x7930). + If the account_id value is -1, the login-server fails to create the new account + (an account already exists with the same name, the request is invalid, etc.). + Otherwise, the account_id is the id of the new account. + +S 7932 <account_name>.24B + It's a request to delete an account. + Answer packet: 0x7933. + +R 7933 <account_id>.l <account_name>.24B + It's the reply to an account deletion (0x7932). + If the account_id value is -1, the login-server fails to delete the account (the account doesn't exist). + Otherwise, the account_id is the id of the deleted account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7934 <account_name>.24B <password>.24B + It's a request to modify the password of an account. + Answer packet: 0x7935. + +R 7935 <account_id>.l <account_name>.24B + It's the reply to an password modification (0x7934). + If the account_id value is -1, the login-server fails to modify the password (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the password. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7936 <account_name>.24B <state>.l <error_message>.20B + It's a request to modify the state of an account. + State: It's the state like the packet 0x006a +1. + Error_message: it's the message of the error code #6 = Your are Prohibited to login until <error_message> (packet 0x006a). + If state is 7 (6+1), the error_message is saved in the account. + For another state, the error_message is deleted (voided) in the account. + Answer packet: 0x7937. + +R 7937 <account_id>.l <account_name>.24B <state>.l + It's the reply to a state modification (0x7936). + If the account_id value is -1, the login-server fails to modify the state (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the state. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7938 (void) + It's a request to obtain information about the servers connected to the login-server (servers list with details) + Answer packet: 0x7939. + +R 7939 <length>.w {<IP>.l <port>.w <server_name>.20B <#_of_users>.w <maintenance>.w <new>.w}.32B* + It's the reply to an request to obtain servers information (0x7938). + It returns all information about the servers connected on the login-server. + +S 793a <account_name>.24B <password>.24B + It's a request to test a password. REMEMBER: Never create a packet to send the password from the login-server. + Answer packet: 0x793b. + +S 793b <account_id>.l <account_name>.24B + It's the reply to a password check (0x793a). + If the account_id value is -1, the login-server doesn't valid the password (the account doesn't exist or the password is not the correct one). + Otherwise, the account_id is the id of the account that the login-server have checked the password. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 793c <account_name>.24B <sex>.B + It's a request to modify the sex of an account. + Answer packet: 0x793d. + +R 793d <account_id>.l <account_name>.24B + It's the reply to a request to modify a sex (0x793c). + If the account_id value is -1, the login-server fails to modify the sex (the account doesn't exist or the sex is already the good sex). + Otherwise, the account_id is the id of the account that the login-server have modified the sex. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 793e <account_name>.24B <GM_level>.B + It's a request to modify the GM level of an account. + Answer packet: 0x793f. + +R 793f <account_id>.l <account_name>.24B + It's the reply to a request to modify a GM level (0x793e). + If the account_id value is -1, the login-server fails to modify the GM level (the account doesn't exist, or GM_account file can not be modified or the GM level is already the good sex). + Otherwise, the account_id is the id of the account that the login-server have modified the GM level. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7940 <account_name>.24B <e-mail>.40B + It's a request to modify the email of an account. + Answer packet: 0x7941. + +R 7941 <account_id>.l <account_name>.24B + It's the reply to a request to modify an email (0x7940). + If the account_id value is -1, the login-server fails to modify the e-mail (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the email. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7942 <account_name>.24B <length_of_memo>.w <memo>.(length_of_memo)B + It's a request to modify the memo of an account. + The length can be 0 to have a void memo. + Answer packet: 0x7943. + +R 7943 <account_id>.l <account_name>.24B + It's the reply to an request to modify a memo (0x7942). + If the account_id value is -1, the login-server fails to modify the memo (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the memo. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7944 <account_name>.24B + It's a request to obtain (by the name) the id of an account. + Answer packet: 0x7945. + +R 7945 <account_id>.l <account_name>.24B + It's the reply to an request (by the name) to obtain an account id (0x7944). + If the account_id value is -1, the login-server fails to obtain the account id (the account doesn't exist). + Otherwise, the account_id is the id of the found account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7946 <account_id>.l + It's a request to obtain (by the id) the name of an account. + Answer packet: 0x7947. + +R 7947 <account_id>.l <account_name>.24B + It's the reply to an request (by the id) to obtain an account name (0x7946). + If the account_name value is "" (void), the login-server fails to obtain the account name (the account id doesn't exist). + Otherwise, the account_name is the name of the found account. + +S 7948 <account_name>.24B <validity>.l + It's a request to set the validity date of an account. + This packet fixes an absolute validity time. + Answer packet: 0x7949. + +R 7949 <account_id>.l <account_name>.24B <validity>.l + It's the reply to an request to set the validity date of an account (0x7948). + If the account_id value is -1, the login-server fails to set the validity date (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have fixed the validity date. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 794a <account_name>.24B <end_date_of_banishment>.l + It's a request to set the final date of a banishment of an account. + This packet fixes an absolute time for the end of the banishment. + Answer packet: 0x794b. + +R 794b <account_id>.l <account_name>.24B <end_date_of_banishment>.l + It's the reply to an request to set the final date of a banishment of an account (0x794a). + If the account_id value is -1, the login-server fails to set the final date of a banishment (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have fixed the final date of a banishment. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 794c <account_name>.24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w + It's a request to adjust the final date of a banishment of an account. + This packet modifies the final date of a banishment by add/sustract of some parameters. + If you adjust a non-banished account, you fix a banishment with actual time + adjustments. + Answer packet: 0x794d. + +R 794d <account_id>.l <account_name>.24B <end_date_of_banishment>.l + It's the reply to an request to adjust the final date of a banishment of an account (0x794c). + If the account_id value is -1, the login-server fails to adjust the final date of a banishment (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have adjusted the final date of a banishment. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + Note: if value is impossible, the returned value is the (unchanged) value of the final date of the banishment. + +S 794e <broadcast_type>.W <length_of_message>.L <message>.(length_of_message)B + It's a request to send a broadcast to all map-servers. + The length can not be 0. + broadcast_type: + 0: normal (yellow) + 0x10: blue + Answer packet: 794f. + +R 794f <answaer>.W + It's the reply to an request to send a broadcast to all map-servers (794e). + If the answer value is -1, the login-server fails to send the message (no char-server are conected). + Otherwise, the answer is 0. + +S 7950 <account_name>.24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w + It's a request to adjust the validity date of an account. + This packet modifies the validity date by add/sustract of some parameters. + You can not adjust an unlimited validity date. + Answer packet: 0x7951. + +R 7951 <account_id>.l <account_name>.24B <validity>.l + It's the reply to an request to adjust the validity date of an account (0x7950). + If the account_id value is -1, the login-server fails to adjust the validity date (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have found to try the adjustement of the validity date. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + If the returned validity date is 0, the login-server haven't modify the validity date (the account have an unlimited validity, + the modification is impossible because the new date is too far in the future, etc...). + If the returned validity date is not 0, it's the new validity date of the account. + +S 7952 <account_name>.24B + It's a request (by name) to obtain complete information about an account. + Answer packet: 0x7953. + +R 7953 <account_id>.l <GM_level>.B <account_name>.24B <sex>.B <count>.l <state>.l <error_message>.20B <last_login_time>.24B <last_authorised_login_ip>.16B <email>.40B <validity_date>.l <until_ban_date>.l <length_of_memo>.w <memo>.(length_of_memo)B + It's the reply to an request to obtain complete information about an account (0x7952 and 0x7954). + It sends all informations about an account. + Reply of 0x7952: + If the account_id value is -1, the login-server fails to found the account (the account doesn't exist). + Otherwise, the account_id is the id of the found account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + Reply of 0x7954: + If the account_name value is "" (void), the login-server fails to found the account (the account id doesn't exist). + Otherwise, the account_name is the name of the found account. + +S 7954 <account_id>.l + It's a request (by id) to obtain complete information about an account. + Answer packet: 0x7953. + +S 7955 + It's a request to re-load GM file definition. + Answer packet: NONE. + diff --git a/doc/agitdb_ref.txt b/doc/agitdb_ref.txt Binary files differnew file mode 100644 index 0000000..5cd9bde --- /dev/null +++ b/doc/agitdb_ref.txt diff --git a/doc/client_packet.txt b/doc/client_packet.txt new file mode 100644 index 0000000..1d1df8c --- /dev/null +++ b/doc/client_packet.txt @@ -0,0 +1,1072 @@ + + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +#0x0040 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 17, 3, 37, 46, -1, 23, -1, 3,108, 3, 2, + 3, 28, 19, 11, 3, -1, 9, 5, 54, 53, 58, 60, 41, 2, 6, 6, +#0x0080 + 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0, + 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6, + 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6, + 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3, +#0x00C0 + 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 6, 2, 27, + 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1, + 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2, + 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10, +#0x0100 + 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1, + 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16, + 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1, + 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26, +#0x0140 + 22, 14, 6, 10, 23, 19, 6, 39, 8, 9, 6, 27, -1, 2, 6, 6, + 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42, + -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14,186,182, + 14, 30, 10, 3, -1, 6,106, -1, 4, 5, 4, -1, 6, 7, -1, -1, +#0x0180 + 6, 3,106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6, + 90, 86, 24, 6, 30,102, 9, 4, 8, 4, 14, 10, 4, 6, 2, 6, + 3, 3, 35, 5, 11, 26, -1, 4, 4, 6, 10, 12, 6, -1, 4, 4, + 11, 7, -1, 67, 12, 18,114, 6, 3, 6, 26, 26, 26, 26, 2, 3, +#0x01C0 + 2, 14, 10, -1, 22, 22, 4, 2, 13, 97, 0, 9, 9, 29, 6, 28, + 8, 14, 10, 35, 6, 8, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6, + 30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1, + -1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10, +#0x200 + 26, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, + +S ƒNƒ‰ƒCƒAƒ“ƒg‚©‚猩‚Ä‘—M +R ƒNƒ‰ƒCƒAƒ“ƒg‚©‚猩‚ÄŽóM + +B ƒoƒCƒg +w ƒ[ƒh=2B +l ƒƒ“ƒOƒ[ƒh=4B +* 0ŒÂˆÈã‚‚è‚©‚¦‚µ + +S 0064 <version>.l <account name>.24B <password>.24B <version2>.B + ƒAƒJƒEƒ“ƒgID&ƒpƒXƒ[ƒh‘—M +S 0065 <account ID>.l <login ID1>.l <login ID2>.l ?.2B <sex>.B + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±—v‹ +S 0066 <charactor number>.B + ƒLƒƒƒ‰ƒNƒ^‘I‘ð—v‹ +S 0067 <charactor name>.24B <param etc>.11B + ƒLƒƒƒ‰ƒNƒ^쬗v‹ +S 0068 <charactor ID>.l <mail address>.40B + ƒLƒƒƒ‰ƒNƒ^휗v‹ +R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.32B <sex>.B {<IP>.l <port>.w <server name>.20B <login users>.w <maintenance>.w <new>.w}.32B* + login¬Œ÷&ŽIî•ñ +R 006a <error No>.B + loginŽ¸”s ‚»‚Ì‚P + err No=00 –¢“o˜^‚ÌID‚Å‚· + err No=01 ƒpƒXƒ[ƒh‚ªˆá‚¢‚Ü‚· + err No=02 Žg—pŠúŠÔ‚ªI—¹‚µ‚Ä‚¢‚Ü‚· + err No=03 ƒT[ƒo[‚©‚çÚ‘±‹‘”Û‚³‚ê‚Ü‚µ‚½ + err No=04 ‰ð–ñ‚³‚ꂽIDA‚Ü‚½‚̓AƒJƒEƒ“ƒgƒuƒƒbƒN‚³‚ê‚Ä‚¢‚éID‚Å‚· + err No=05 ÅV‚̃pƒbƒ`‚Å‚Í‚ ‚è‚Ü‚¹‚ñ + err No=06 ‰ð–ñ‚³‚ꂽIDA‚Ü‚½‚̓AƒJƒEƒ“ƒgƒuƒƒbƒN‚³‚ê‚Ä‚¢‚éID‚Å‚· + err No=07 ƒT[ƒo[‚ª¬ŽG‚µ‚Ä‚¢‚Ü‚· +R 006b <len>.w <charactor select data>.106B* + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±¬Œ÷&ƒLƒƒƒ‰ƒNƒ^ƒf[ƒ^ + <charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l ?.2B <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B +R 006c <error No>.B + ƒLƒƒƒ‰ƒNƒ^‘I‘ðŽ¸”s +R 006d <charactor select data>.106B + ƒLƒƒƒ‰ƒNƒ^쬬Œ÷ +R 006e <error No>.B + ƒLƒƒƒ‰ƒNƒ^쬎¸”s +R 006f + ƒLƒƒƒ‰ƒNƒ^휬Œ÷ +R 0070 <error No>.B + ƒLƒƒƒ‰ƒNƒ^휎¸”s + err No=00 ƒ[ƒ‹ƒAƒhƒŒƒX‚ªˆá‚¤ + err No=01 휂ª‹‘”Û‚³‚ꂽ +R 0071 <charactor ID>.l <map name>.16B <ip>.l <port>.w + ƒLƒƒƒ‰ƒNƒ^‘I‘ð¬Œ÷&ƒ}ƒbƒv–¼&ƒQ[ƒ€ŽIIP/port +S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b + ƒQ[ƒ€ŽIÚ‘±—v‹ +R 0073 <server tick>.l <coordidate>.3B ?.2B + ƒQ[ƒ€ŽIÚ‘±¬Œ÷&ƒT[ƒo‘¤1msŽžŒv&oŒ»ˆÊ’u +R 0078 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B + ƒ}ƒbƒvƒ[ƒhŽž&ˆÚ“®Žž—pAŒü‚«•t‚«—pƒLƒƒƒ‰î•ñ? +R 0079 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B + ƒeƒŒƒ|“™‚Ì•\Ž¦”ÍˆÍ“à•¦‚«ƒLƒƒƒ‰—pAŒü‚«•t‚«–³‚µƒLƒƒƒ‰î•ñ? +R 007b <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B + •\Ž¦”͈͓àƒLƒƒƒ‰ˆÚ“®î•ñ +R 007c <ID>.l <speed>.w ?.6w <class>.w ?.7w <X_Y>.3B ?.2B + NPC—p•\Ž¦”͈͓àƒLƒƒƒ‰î•ñ +S 007d + mapƒ[ƒhI‚è +S 007e <client tick>.l + ƒNƒ‰ƒCƒAƒ“ƒg‘¤1msƒ^ƒCƒ}‘—M +R 007f <server tick>.l + ƒT[ƒo‘¤1msƒ^ƒCƒ}‘—M +R 0080 <ID>.l <type>.B + type=00 ƒLƒƒƒ‰Á–Å (‰æ–ÊŠOˆÚ“®BŽ€‘ÌÁ–Å“™?) + type=01 ƒLƒƒƒ‰Ž€–S + type=02 ƒLƒƒƒ‰Á–Å (logout“™?) + type=03 ƒeƒŒƒ|[ƒg (ƒeƒŒƒ|,”ˆ,’±“™H) +R 0081 <type>.B + loginŽ¸”s ‚»‚Ì‚Q + type=01 ƒT[ƒo[Ú‘±I—¹ + type=02 “¯‚¶ID‚Å‘¼‚ÌŽg—pŽÒ‚ªƒƒOƒCƒ“‚µ‚Ü‚µ‚½ + type=03 ƒT[ƒo[‚Æ‚Ì“¯Šú‚ÉŽ¸”s‚µ‚Ü‚µ‚½ + type=04 ’nˆæ‚ÌŽû—elˆõ’´‰ß‚ÅÚ‘±‚Å‚«‚Ü‚¹‚ñ + type=05 ‚P‚WΈȉº‚ÍÚ‘±‚Å‚«‚Ü‚¹‚ñ + type=06 ŒˆÏ‚³‚ꂽƒAƒJƒEƒ“ƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñ + type=07 ƒT[ƒo[‚ª¬ŽG‚µ‚Ä‚¢‚Ü‚· + type=08 ‘O‚ÌÚ‘±î•ñ‚ªŽc‚Á‚Ä‚¢‚Ü‚· + type=0b ƒAƒJƒEƒ“ƒg‚ª•Û—¯‚³‚ê‚Ü‚µ‚½ + type=0c ‰Û‹àƒVƒXƒeƒ€•ÏX‚Ì‚½‚ßAˆêŽžI—¹‚µ‚Ü‚· + type=0d IP‚ªˆê’v‚µ‚È‚¢‚½‚ßAÚ‘±‚ðI—¹‚µ‚Ü‚· + type=10 —L—¿ƒT[ƒrƒX‚É‚È‚è‚Ü‚µ‚½ + type=11 ƒ`ƒPƒbƒg‚ª”ƒ‚í‚ê‚Ä‚¢‚È‚¢‚©A—LŒøŠúŒÀ‚ªØ‚ê‚Ä‚¢‚Ü‚· +S 0085 <X_Y>.3B + ˆÚ“®—v‹ +R 0087 <server tick>.l <X_Y_X_Y>.5B ?.B + ˆÚ“®‰ž“š +R 0088 <ID>.l <X>.w <Y>.w + ˆÚ“®“r’†’âŽ~ +S 0089 <target ID>.l <type>.B + type=00 target‚ð1‰ñ‰£‚é + type=02 À‚é + type=03 —§‚¿ã‚é + type=07 target‚ð‰£‚è‘±‚¯‚é +R 008a <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <type>.B <param3>.w + type=00 param1=0 miss + type=00 param1:ƒ_ƒ[ƒW(‚̇Œv?) param2:•ªŠ„” param3:ƒAƒTƒVƒ“2“—¬‹tŽèƒ_ƒ[ƒW + NPC‚©‚ç‚ÌUŒ‚‚Ìê‡Aparam2,param3‚̓Sƒ~ƒf[ƒ^ + speed‚ÍPC‚Ìê‡“à•”ASPD‚ƈê’v + type=01 item‚ðE‚¤ ID*2ˆÈŠOƒSƒ~ + type=02 À‚é src IDˆÈŠOƒSƒ~ + type=03 —§‚ src IDˆÈŠOƒSƒ~ + type=08 •¡”UŒ‚ + type=09 ƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ‚Ƀ_ƒ[ƒW‚¾‚¯•\Ž¦‚³‚ê‚镨(ƒCƒ“ƒfƒ…ƒA) + type=0a ƒNƒŠƒeƒBƒJƒ‹ + type=0b Š®‘S‰ñ”ð +S 008c <len>.w <str>.?B + ’Ê플¾‘—MBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é + 擪‚Ì"<nick> : "‚Ì•”•ª‚̓Nƒ‰ƒCƒAƒ“ƒg‘¤‚Å•t‚¯‚鎖 +R 008d <len>.w <ID>.l <str>.?B + ID‚³‚ñ‚Ì”Œ¾ŽóMBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é +R 008e <len>.w <str>.?B + Ž©•ª‚Ì”Œ¾ŽóMBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é +S 0090 <ID>.l <type?>.B + NPC‚ɘb‚µ‚©‚¯‚éBtype‚Í01‚µ‚©Œ©‚½Ž––³‚µ +R 0091 <map name>.16B <X>.w <Y>.w + ŽI“àƒ}ƒbƒvŠÔˆÚ“®AƒeƒŒƒ|,”ˆ“™—p +R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w + ŽIŠÔˆÚ“® +R 0093 + 8ŒŽ’†‚É1‰ñ‚¾‚¯ŠÏ‘ªB“ä +S 0094 <ID>.l + ID‚̃Lƒƒƒ‰–¼“™—v‹B0095‚©0195‚Ì•Ô“š‚ª‚ ‚é‚Í‚¸ +R 0095 <ID>.l <nick>.24B + NPC,ƒMƒ‹ƒh–¢Š‘®PC‚Ì0094‚Ö‚Ì•Ô“š + 0193 <charID>.l ‚Å–â‚¢‡‚킹‚Ä + 0194 <charID>.l <name>.24B ‚̉ž“š‚Å“¾‚Ä‚Ü‚·B + +S 0096 <len>.w <nick>.24B <message>.?B + wis‘—M +R 0097 <len>.w <nick>.24B <message>.?B + wisŽóM +R 0098 <type>.B + type=00 wis‘—M¬Œ÷ + type=01 wis‘ŠŽè‚ªlogin‚µ‚Ä‚È‚¢? + type=02 wis‘ŠŽè‚©‚çignore‚³‚ê‚Ä‚é? +S 0099 + _‚̺‘—M +R 009a <len>.w <message>.?B + GM‚©‚ç‚Ì“V‚̺ +S 009b <head dir>.w <dir>.B + ‘Ì&“ª‚Ì•ûŒü•ÏX—v‹BƒNƒ‰ƒCƒAƒ“ƒg‚ւ̉ž“š‚Í–³‚¢–Í—l + dir‚Í00`07‚Å‘Ì‚ÌŒü‚«B00‚Å–k‚©‚甽ŽžŒv‰ñ‚è‚É45‹’PˆÊ‚Å07‚Ü‚Å + head dir‚Í00,01,02‚Å“ª‚ÌŒü‚«B00‚Å‘Ì‚Æ“¯‚¶A01‚ª‰EA02‚ª¶ +R 009c <ID>.l <head dir>.w <dir>.B + ID‚Ì‘Ì&“ª‚Ì•ûŒü•ÏX +R 009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B + ˆÚ“®“™‚Å°ƒAƒCƒeƒ€‚ª‰æ–Ê“à‚É“ü‚Á‚Ä‚«‚½Žž +R 009e <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w + item dropB‰½ŒÌ‚©009d‚ƃ}ƒX–Ú“àˆÊ’u&ŒÂ”‚ª“ü‚ê•Ï‚Á‚Ä‚¢‚é +S 009f <ID>.l + ID‚Ì°ƒAƒCƒeƒ€‚ðE‚¤ +R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B + fail=02 Žæ“¾Ž¸”s? + fail=06 ƒ‹[ƒgŒ –³‚µBŽæ“¾Ž¸”s +R 00a1 <ID>.l + ID‚Ì°ƒAƒCƒeƒ€Á‹Ž +S 00a2 <index>.w <amount>.w + Š—LƒAƒCƒeƒ€‚ð—Ž‚· +R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + Š—LÁ–Õ•i&ŽûW•iƒŠƒXƒg +R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + Š—L‘•”õƒŠƒXƒg +R 00a5 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚éÁ–Õ•i&ŽûW•iƒŠƒXƒg +R 00a6 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚é‘•”õƒŠƒXƒg +S 00a7 <index>.w <ID>.l + ŠŽƒAƒCƒeƒ€index‚ðŽg—p‚·‚éBID‚ÍŽ©•ª‚Ì‚Ý? +R 00a8 <index>.w <amount>.w <type>.B + ƒAƒCƒeƒ€Žg—p‰ž“šBtype=00‚Ìꇎg—pŽ¸”s? amount‚àƒSƒ~‚Ì–Í—l + type=01‚ÌꇬŒ÷‚ÅAamount‚ÍŽg—pŒã‚ÌŽc‚èŒÂ” +S 00a9 <index>.w <equip type>.w + ƒAƒCƒeƒ€‘•”õ +R 00aa <index>.w <equip point>.w <type>.B + ƒAƒCƒeƒ€‘•”õ‰ž“šBtype=00‚Ìꇑ•”õŽ¸”s? equip point‚àƒSƒ~‚Ì–Í—l +S 00ab <index>.w + ‘•”õ‰ðœ +R 00ac <index>.w <equip point>.w <type>.B + ‘•”õ‰ðœ‰ž“šBtype=00‚Ìꇎ¸”s? equip point‚àƒSƒ~‚Ì–Í—l +R 00af <index>.w <amount>.w + ƒAƒCƒeƒ€”Œ¸BamountŒÂ‚¾‚¯Œ¸‚ç‚· +R 00b0 <type>.w <val>.l + FX‚È”\—Í’l‚ÌXVBˆÈ‰ºtype:‘Ήž‚·‚é”’l‚ð—ñ‹“ + 0000:speed 0003:ˆ«s’l 0004:ƒ}ƒi[ƒ|ƒCƒ“ƒg 0005:HP 0006:MaxHP + 0007:SP 0008:MaxSP 0009:ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg 000b:ƒx[ƒXƒŒƒxƒ‹ + 000c:ƒXƒLƒ‹ƒ|ƒCƒ“ƒg 0018:d—Ê(•\Ž¦‚³‚ê‚Ă锎š‚Ì10”{) + 0019:Å‘åd—Ê(•\Ž¦‚³‚ê‚Ă锎š‚Ì10”{) + 0029:ATK‘O 002a:ATKŒã 002b:MATK‘O 002c:MATKŒã + 002d:DEF‘O 002e:DEFŒã 002f:MDEF‘O 0030:MDEFŒã + 0031:HIT 0032:FLEE‘O 0033:FLEEŒã 0034:ƒNƒŠƒeƒBƒJƒ‹ + 0035:ASPD(2ms’PˆÊ‚ÌŽžŠÔ?) 0037:ƒWƒ‡ƒuƒŒƒxƒ‹ + 0082:“ä ATKŒã‚Æ“¯‚¶”Žš? +R 00b1 <type>.w <val>.l + FX‚È”\—Í’l‚ÌXVBˆÈ‰ºtype:‘Ήž‚·‚é”’l‚ð—ñ‹“ + 0001:ƒx[ƒX‘¤ŒoŒ±’l 0002:ƒWƒ‡ƒu‘¤ŒoŒ±’l 0014:zeny + 0016:ƒx[ƒX‘¤•K—vŒoŒ±’l 0017:ƒWƒ‡ƒu‘¤•K—vŒoŒ±’l + ƒÀ1‚Å‚Í00b0‚Íval‚ªshortA00b1‚Íval‚ªlong‚Æ‚¢‚¤Žg‚¢•ª‚¯‚ª‚ ‚Á‚½‚ñ‚¾‚¯‚Ç + ¡‚Æ‚È‚Á‚Ä‚Í·‚ª–³‚‚È‚Á‚ÄA–Ó’°‚Ý‚½‚¢‚È‚à‚Ì? +S 00b2 <type>.B + type=00 Ž€–SŽžƒŠƒXƒ^[ƒg + type=01 ƒLƒƒƒ‰ƒZƒŒ—v‹ +R 00b3 <type>.B + type=01 ƒLƒƒƒ‰ƒZƒŒ‰ž“š +R 00b4 <len>.w <ID>.l <str>.?B + ID‚ÌNPC‚©‚ç‚̃ƒbƒZ[ƒW +R 00b5 <ID>.l + ID‚ÌNPC‚Ƃ̃ƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚É"NEXT"ƒAƒCƒRƒ“‚ðo‚· +R 00b6 <ID>.l + ID‚ÌNPC‚Ƃ̃ƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚É"CLOSE"ƒAƒCƒRƒ“‚ðo‚· +R 00b7 <len>.w <ID>.l <str>.?B + ID‚ÌNPC‚̉ï˜b‚Å‘I‘ð€–Ú•\Ž¦BŠe€–Ú‚Í':'‚Å‹æØ‚ç‚ê‚é +S 00b8 <ID>.l <select>.B + ID‚ÌNPC‚̉ï˜b‚Ì‘I‘ðBŠe€–ڂɇ‚É1`‚ªU‚ç‚ê‚éBff‚ŃLƒƒƒ“ƒZƒ‹? +S 00b9 <ID>.l + ID‚ÌNPC‚Ƃ̉ï˜bBNEXTƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½ +S 00bb <type>.w <amount>.B + ƒXƒe[ƒ^ƒXup—v‹Btype‚Í000d‚©‚ç0012‚ª‡‚ÉSTR,AGI,VIT,INT,DEX,LUK‚ɑΉž +R 00bc <type>.w <fail>.B <val>.B + ƒXƒe[ƒ^ƒXup‰ž“šBfail=01‚Ȃ笌÷Btype‚Í00bb‚Æ“¯‚¶Bval‚Íã‚Á‚½Œã‚Ì”Žš + Ž¸”s—á‚ÍŒ©‚½Ž––³‚¢‚Ì‚Å“äBƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‘«‚è‚È‚¢ó‘Ô‚Å + 00bb‚ð”s‚Å‚«‚éƒNƒ‰ƒCƒAƒ“ƒg‚ª—L‚ê‚ÎAfail=00‚É‚È‚é‚Ì‚Å‚Í‚È‚¢‚©‚Æ—\‘z +R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w ?.w + ‚܂Ƃ߂ăXƒe[ƒ^ƒXî•ñ‚ð‘—‚éƒpƒPƒbƒg +R 00be <type>.w <val>.B + •K—vƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒgXVƒpƒPƒbƒgBtype‚Í0020`0025‚ª‡‚ÉSTR`LUK‚ɑΉž +S 00bf <type>.B + ƒGƒ‚[ƒVƒ‡ƒ“‚ðo‚·Btype‚Í00-0c(,0d)‚ªALT+1`ALT+9,ALT+0,ƒ`ƒ‡ƒL,ƒO[,ƒp[(,ŠØ‘Šø)‚ɑΉž + 00=! 01=? 02=‚¤‚ꂵ‚¢(ô) 03=ƒn[ƒg 04=Š¾ 05=‚ ‚Í‚Í(“d‹…) + 06=‚¢‚₾‚È(”) 07=“{‚è(‚à‚â‚à‚â)08=‚¨‹à() 09=c 0a=ƒ`ƒ‡ƒL + 0b=ƒO[ 0c=ƒp[ 0d=ŠØ‘Šø 0e=‘å‚«‚¢ƒn[ƒg 0f=‚ ‚肪‚Æ‚¤(thanks) + 10=–³”O 11=‚²‚ß‚ñ(sorry) 12=΂¢ 13=Š¾‚©‚« 14=‚ ‚Ì + 15=Å‚(GoodJob)16=ƒLƒ‡ƒƒLƒ‡ƒ 17=ƒVƒ‡ƒbƒN 18=‚Ü‚é 19=ƒoƒc + 1a=ƒwƒ‹ƒv(help) 1b=go 1c=‚¦[‚ñ 1d=‚‚·‚‚· 1e=‚¿‚ã + 1f=‚¿‚ã‚¿‚ã 20=‚Ó‚ñ 21=‚¤‚ñ‚¤‚ñ +R 00c0 <ID>.l <type>.B + ID‚Ìl‚ªƒGƒ‚[ƒVƒ‡ƒ“‚ðo‚µ‚½Btype‚Í00bf‚Æ“¯‚¶ +S 00c1 + loginl”–â‚¢‡‚킹 +R 00c2 <val>.l + loginl”‰ž“š +R 00c3 <ID>.l <type>.B <val>.B + Œ©‚½–Ú•ÏXBtype‚Í00‚Å–{‘Ì(“]EŽž“™)A02‚ª•ŠíA03‚ª“ª(‰º)A04‚ª“ª(ã)A05‚ª“ª(’†)A08‚ª‚ +R 00c4 <ID>.l + ˜b‚©‚¯‚½NPC‚ª¤l‚¾‚Á‚½‚Ì‚Åbuy/sell‘I‘ð‘‹o +R 00c5 <ID>.l <type>.B + buy/sell‘I‘ðBtype=00‚È‚çbuyBtype=01‚È‚çsell +R 00c6 <len>.w {<value>.l <DCvalue>.l <type>.B <item ID>.w}.11B* + NPC‚Ì‚¨“Xbuy‘I‘ðŽžBDCvalue‚ͤlDCŒã‚Ì’l’i +R 00c7 <len>.w {<index>.w <value>.l <OCvalue>.l}.10B* + NPC‚Ì‚¨“Xsell‘I‘ðŽžBOCvalue‚ͤlOCŒã‚Ì’l’i +S 00c8 <len>.w {<amount>.w <item ID>.w}.4B* + NPC‚Ì‚¨“X‚©‚甃‚¤ +S 00c9 <len>.w {<index>.w <amount>.w}.4B* + NPC‚Ì‚¨“X‚É”„‚é +R 00ca <type>.B + NPC‚©‚çw“üI—¹Btype=00¬Œ÷ +R 00cb <type>.B + NPC‚Ö”„‹pI—¹Btype=00¬Œ÷ +S 00cc <ID>.l + GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽÒ‹§I—¹vŽg—p +R 00cd <IDH>.l + GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽÒ‹§I—¹v‚̉ž“š + <ID>‚ª0‚Ìꇂ͎¸”s‚Æ•\Ž¦B(‚±‚̃pƒPƒbƒg‚Í‚½‚¾‚̉ž“š‚Å‚·BÚ‘±I—¹‚Ì‹@”\‚Í‚ ‚è‚Ü‚¹‚ñB) +S 00cf <nick>.24B <type>.B + type=00 nick‚©‚ç‚Ì”Œ¾Žó‚¯•t‚¯‹‘”Û (/ex nick) + type=01 nick‚©‚ç‚Ì”Œ¾Žó‚¯•t‚¯‹–‰Â (/in nick) +S 00d0 <type>len.B + type=00 ‘S‚Ä‚Ì”Œ¾Žó‚¯•t‚¯‹‘”Û (/exall) + type=01 ‘S‚Ä‚Ì”Œ¾Žó‚¯•t‚¯‹–‰Â (/inall) +R 00d1 <type>.B <fail>.B + fail=00 ”Œ¾Žó‚¯•t‚¯‹‘”Û¬Œ÷ + fail=01 ”Œ¾Žó‚¯•t‚¯‹‘”ÛŽ¸”s +R 00d2 <type>.B <fail>.B + fail=00 ‘S”Œ¾Žó‚¯•t‚¯‹‘”Û¬Œ÷ + fail=01 ‘S”Œ¾Žó‚¯•t‚¯‹‘”ÛŽ¸”s +S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B + ƒ`ƒƒƒbƒg—§‚ÄB‚±‚±‚©‚çƒ`ƒƒƒbƒgŠÖŒW‚ª‘±‚‚¯‚Ç’²‚ׂªŠÃ‚¢‚̂ŕ⊮‚æ‚ë +R 00d6 <fail>.B + ƒ`ƒƒƒbƒg—§‚ĉž“š +R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B + ‰æ–Ê“àƒ`ƒƒƒbƒgî•ñ +R 00d8 <chat ID>.l + ƒ`ƒƒƒbƒgÁ‹Ž +S 00d9 <chat ID>.l <passwd>.8B + ƒ`ƒƒƒbƒgŽQ‰Á—v¿ +R 00da <fail>.B + ƒ`ƒƒƒbƒgŽQ‰ÁŽ¸”s +R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B* + ƒ`ƒƒƒbƒgŽQ‰ÁŽÒƒŠƒXƒg +R 00dc <users>.w <nick>.24B + ƒ`ƒƒƒbƒg‚Ö‚ÌŽQ‰ÁŽÒ’ljÁ(?) +R 00dd <index>.w <nick>.24B <fail>.B + ƒ`ƒƒƒbƒg‚©‚çŽQ‰ÁŽÒ”²‚¯ +S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B + ƒ`ƒƒƒbƒgƒXƒe[ƒ^ƒX•ÏX +R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B + ƒ`ƒƒƒbƒgƒXƒe[ƒ^ƒX•ÏX¬Œ÷ +S 00e0 ?.l <nick>.24B + ƒ`ƒƒƒbƒgƒ‹[ƒ€Š—LŽÒ•ÏX—v‹? +R 00e1 <index>.l <nick>.24B + ƒ`ƒƒƒbƒgŽQ‰ÁŽÒ”Ô†•t‚¯’¼‚µ? +S 00e2 <nick>.24B + ƒ`ƒƒƒbƒgkick +S 00e3 + ƒ`ƒƒƒbƒg”²‚¯ +S 00e4 <ID>.l + Žæ‚èˆø‚«—v‹ +R 00e5 <nick>.24B + Žæ‚èˆø‚«—v¿Žó‚¯ +S 00e6 <type>.B + type=03 Žæ‚èˆø‚«—v¿ok + type=04 Žæ‚èˆø‚«—v¿ƒLƒƒƒ“ƒZƒ‹ +R 00e7 <fail>.B + Žæ‚èˆø‚«—v‹‰ž“š + fail=00 ‹——£‚ª‰“‰ß‚¬ + fail=03 —v¿Žó‚¯‚Ä‚‚ꂽ + fail=04 ƒLƒƒƒ“ƒZƒ‹‚³‚ꂽ? +S 00e8 <index>.w <amount>.l + ƒAƒCƒeƒ€’ljÁBindex=0‚Åzeny’ljÁB³‹KƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Ízeny‚Í00eb‚Ì’¼‘O‚Ì‚Ý +R 00e9 <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ‘ŠŽè•û‚©‚ç‚̃AƒCƒeƒ€’ljÁ +R 00ea <index>.w <fail>.B + fail=00 ƒAƒCƒeƒ€’ljÁ¬Œ÷ + fail=01 ’ljÁŽ¸”sB‘ŠŽè‘¤d—ʃI[ƒo +S 00eb + ƒAƒCƒeƒ€’ljÁŠ®—¹(ok‰Ÿ‚µ) +R 00ec <fail>.B + fail=00 Ž©•ª‚©‚ç‚ÌokŽó—Ì + fail=01 ‘ŠŽè‚©‚ç‚ÌokŽó—Ì +S 00ed + Žæ‚èˆø‚«ƒLƒƒƒ“ƒZƒ‹ +R 00ee + Žæ‚èˆø‚«‚ªƒLƒƒƒ“ƒZƒ‹‚³‚ê‚Ü‚µ‚½ +S 00ef + Žæ‚èˆø‚«‹–‘ø(trade‰Ÿ‚µ) +R 00f0 + Žæ‚èˆø‚«Š®—¹ +R 00f2 <num>.w <limit>.w + ƒJƒvƒ‰‚³‚ñ‹–—eƒAƒCƒeƒ€ŒÂ”&Œ»ó +S 00f3 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚ɃAƒCƒeƒ€•ú‚èž‚Ý +R 00f4 <index>.w <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚̃AƒCƒeƒ€’ljÁ +S 00f5 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚©‚çƒAƒCƒeƒ€Žæ‚èo‚µ—v‹ +R 00f6 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚©‚çƒAƒCƒeƒ€Žæ‚èo‚µ‰ž“š +S 00f7 + ƒJƒvƒ‰‚³‚ñ‘qŒÉ•Â‚¶—v‹ +R 00f8 + ƒJƒvƒ‰‚³‚ñ‘qŒÉ•Â‚¶‰ž“š +S 00f9 <party name>.24B + ƒp[ƒeƒB쬗v‹ +R 00fa <fail>.B + ƒp[ƒeƒB쬉ž“š + fail=00 uƒp[ƒeƒB[‚ðŒ‹¬‚µ‚Ü‚µ‚½Bv + fail=01 u“¯‚¶–¼‘O‚̃p[ƒeƒB[‚ª‚ ‚è‚Ü‚·Bv + fail=02 u‚·‚łɃp[ƒeƒB[‚ɉÁ“ü‚µ‚Ä‚¢‚Ü‚·Bv +R 00fb <len>.w <party name>.24B {<ID>.l <nick>.24B <map name>.16B <leader>.B <offline>.B}.46B* + ƒp[ƒeƒBî•ñ‚Ü‚Æ‚ß‚Ä‘—‚è +S 00fc <ID>.l + ƒp[ƒeƒBŠ©—U‚·‚é +R 00fd <nick>.24B <fail>.B + fail=00 ‘ŠŽè‚ÍŠù‚Ƀp[ƒeƒB‚É“ü‚Á‚Ä‚¢‚½ + fail=01 ‘ŠŽè‚É‹‘”Û‚³‚ꂽ + fail=02 Š©—U¬Œ÷ +R 00fe <ID>.l <party name>.24B + ƒp[ƒeƒB‚É—U‚í‚ꂽ +S 00ff <ID>.l <fail>.l + ƒp[ƒeƒB‚É—U‚í‚ꂽŽž‚Ì•Ô“šBfail=1 ok•Ô“š? +S 0100 + ƒp[ƒeƒB’E‘Þ—v‹ +R 0101 <exp>.w <item?>.w + ƒp[ƒeƒBݒ茻ó? exp=2‚Ìꇂ͌ö•½”z•ªÝ’莸”s? +S 0102 <exp>.w <item?>.w + ƒp[ƒeƒBÝ’è•ÏX +R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B + ƒp[ƒeƒB1l•ªî•ñXV +R 0105 <ID>.l <nick>.24B <fail>.B + nick‚³‚ñ‚ªƒp[ƒeƒB‚©‚ç—£’E +R 0106 <ID>,l <HP>.w <MaxHP>.w + ƒp[ƒeƒBƒƒ“ƒoHPXV +R 0107 <ID>.l <X>.w <Y>.w + ƒp[ƒeƒBƒƒ“ƒoˆÊ’uXV +S 0108 <len>.w <message>.?B + ƒp[ƒeƒB“à”Œ¾ +R 0109 <len>.w <ID>.l <message>.?B + ƒp[ƒeƒB“à”Œ¾ŽóM +R 010a <type ID>.w + MVPƒAƒCƒeƒ€Žæ“¾ +R 010b <exp>.l + MVPŒoŒ±’lŽæ“¾ +R 010c <ID>.l + MVPƒLƒƒƒ‰•\Ž¦ +R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B + ƒXƒLƒ‹î•ñXVBsp‚Í–¢Žg—p? +R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B* + ƒXƒLƒ‹î•ñ‚̉òBskill name‚͈ꕔ—¬‚ê‚Ä—ˆ‚È‚¢•¨‚ª‚ ‚é„AL_PNEUMA,PR_SLOWPOISON“™ + target type‚Í0-ƒpƒbƒVƒuA1-“GA2-êŠA4-‘¦Žž”“®A16-–¡•û + lv=0 up=0‚Ìꇂ̓ŠƒXƒg‚Éo‚µ‚Ä‚È‚¢? +R 0110 <skill ID>.w <basic type>.w ?.w <fail>.B <type>.B + fail=00‚ÌŽž‚ɃXƒLƒ‹—˜—pŽ¸”s? + type 00:basic type‚Ì•û 01:SP•s‘« 02:HP•s‘« 03:memo–³‚µ 04:delay’† + 05:‚¨‹à–³‚µ(‚ß‚Ü[) 06:•Ší‚ª‚æ‚낵‚‚È‚¢ 07:ÔƒWƒFƒ€–³‚µ 08:ƒWƒFƒ€–³‚µ 09:“ä + basic type 00:Žæ‚èˆø‚« 01:emotion 02:À‚è 03:ƒ`ƒƒƒbƒg 04:ƒp[ƒeƒB + 05:shout? 06:PK 07:ƒ}ƒi[ƒ|ƒCƒ“ƒg +R 0111 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B + 010f‚Ì1‚•ªBƒÀ2‚¾‚Æ–¢Žg—p? + 20040415“]EŽž‚ÉŠÏ‘ª +S 0112 <skill ID>.w + ƒXƒLƒ‹lvup—v‹ +S 0113 <level>.w <skill ID>.w <ID>.l + ID‚ðƒ^[ƒQƒbƒg‚Éskill‚ðŽg‚¤ +R 0114 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <param3>.w <type>.B + UŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg@ + type=04 ‰Î•Ç‚ÅŠÏ‘ª type=06‚Æ‚Ù‚Ú“¯‚¶? + type=05 NB/FBl‚Ì•ªŽU‚µ‚½ƒ_ƒ[ƒW—pH + type=06 ’P”‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í1ŒÅ’è‚Æ—\‘z + type=07 ƒ_ƒ[ƒW•\Ž¦–³‚µH + type=08 ˜A‘Å‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=09 ƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ‚Ƀ_ƒ[ƒW‚¾‚¯•\Ž¦‚³‚ê‚镨(ƒCƒ“ƒfƒ…ƒA)‚ÆŽv‚Á‚½‚Ì‚¾‚ªƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚ªo‚镨B(‹@”\‚Í“ä) +R 0115 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <X>.w <Y>.w <param1>.w <param2>.w <param3>.w <type>.B + ’e‚«”ò‚΂µ—L‚èUŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg + type=05 ƒ_ƒ[ƒW&’e‚«”ò‚΂µBparam1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=06 ”šS’n? ‚È‚‚Æ‚àparam1‚̓Sƒ~‚Ì–Í—l + type=09 ƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ‚Ƀ_ƒ[ƒW‚¾‚¯•\Ž¦‚³‚ê‚镨(ƒCƒ“ƒfƒ…ƒA)‚ÆŽv‚Á‚½‚Ì‚¾‚ªƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚ªo‚镨B(‹@”\‚Í“ä) +S 0116 <level>.w <skill ID>.w <X>.w <Y>.w + (X,Y)‚ðƒ^[ƒQƒbƒg‚Éskill‚ðŽg‚¤ +R 0117 <skill ID>.w <src ID>.l <val>.w <X>.w <Y>.w <server tick>.l + ꊑŠŽè‚̃XƒLƒ‹ƒGƒtƒFƒNƒg•\Ž¦Bval‚̓Œƒxƒ‹‚©Aˆê•”ŒÅ‚³?(•X•Ç) +S 0118 + UŒ‚ƒLƒƒƒ“ƒZƒ‹ +R 0119 <ID>.l <param1>.w <param2>.w <param3>.w ?.B + Œ©‚½–Ú•ÏX + param1=02 ƒtƒƒXƒgƒ_ƒCƒo‚Å“€‚è’Ђ¯? + param2=01 “Å? + param2=20 ANGELUSó‘Ô? + param3=01 ƒTƒCƒg‚©ƒ‹ƒƒbƒ`? + param3=0b ƒnƒCƒfƒBƒ“ƒOó‘Ô? + param3=0b ƒNƒ[ƒLƒ“ƒOó‘Ô? + param3=0d ƒJ[ƒg•t‚« + param3=0e ‘é•t‚« + param3=0f ƒyƒRƒyƒRæ‚è + +R 011a <skill ID>.w <val>.w <dst ID>.l <src ID>.l <fail>.B + ”ñƒ_ƒ[ƒWŒnƒXƒLƒ‹•\Ž¦Bƒq[ƒ‹‚Ìê‡val‚͉ñ•œ—Ê + fail=00‚Ìꇎ¸”s‚Û‚¢‚ªAƒXƒ`[ƒ‹ˆÈŠO‚Å‚ÍŒ©‚½Ž––³‚µ +S 011b <skill ID>.w <map name>.16B + 011c‚ւ̉ž“šBŽg‚í‚È‚¢ê‡"cancel"Aƒ}ƒbƒv“àƒ‰ƒ“ƒ_ƒ€‚Ìê‡"Random"‚ð‘—‚é +R 011c <skill ID>.w <map1>.16B <map2>.16B <map3>.16B <map4>.16B + ƒeƒŒƒ|/ƒ|ƒ^‚ÌꊑI‘ðB + ƒeƒŒƒ|‚Ìê‡ARandom/ƒZ[ƒuêŠAƒ|ƒ^‚Ìê‡AƒZ[ƒuêŠ/memo1/memo2/memo3‚Æ‚È‚é + ƒ}ƒbƒv–¼‚Ì‚Ý‘—‚ç‚ê‚é +S 011d + Œ»Ý‹‚éŠ‚ðƒƒ‚—v‹ +R 011e <fail>.B + fail=00 ƒƒ‚¬Œ÷ + fail=01 ƒƒ‚Ž¸”s +R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B + ƒXƒLƒ‹Œø”\’nì¬ + type 7e:SW 7f:‰Î•Ç 80:ƒ|ƒ^”“®’† 81:ƒ|ƒ^”“®‘O 83:ƒTƒ“ƒN 85:ƒtƒjƒ…[ƒ} + 86:ƒo[ƒ~ƒŠƒIƒ“ 8c:ƒg[ƒL[ƒ{ƒbƒNƒX”“®Žž 8d:•X•Ç 8e:‚‚ ‚®‚Ü‚¢‚â[ 91:‚ ‚ñ‚‚é‚·‚Ë‚ + 93:‚ç‚ñ‚Ç‚Ü‚¢‚ñ 97:?? 99:ƒg[ƒL[ƒ{ƒbƒNƒX”“®‘O + ‘¼î•ñ‹‚Þ +R 0120 <ID>.l + ƒXƒLƒ‹Œø”\’nÁ‹Ž +R 0121 <num>.w <num limit>.w <weight>.l <weight limit>l + ƒJ[ƒg‚ÌŽí—Þ&d‚³‚ÌŒ»Ý’l&ãŒÀ +R 0122 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + ƒJ[ƒg“àƒAƒCƒeƒ€B‘•”õ•i +R 0123 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + ƒJ[ƒg“àƒAƒCƒeƒ€BÁ–Õ•i/ŽûW•i +R 0124 <index>.w <amount>.l <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ƒJ[ƒg‚ɃAƒCƒeƒ€’ljÁ +R 0125 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒAƒCƒeƒ€íœ +S 0126 <index>.w <amount>.l + ƒJ[ƒg‚ɃAƒCƒeƒ€‚ð“ü‚ê‚é +S 0127 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒAƒCƒeƒ€‚ðŽæ‚èo‚· +S 0128 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‚©‚çƒJ[ƒg‚ÖƒAƒCƒeƒ€‚ðˆÚ‚· +S 0129 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒJƒvƒ‰‚³‚ñ‚ÖƒAƒCƒeƒ€‚ðˆÚ‚· +R 012c <fail>.B + fail=00 ud—ʃI[ƒo[‚Å‚·Bv + fail=01 uƒAƒCƒeƒ€Å‘åŽí—Þ”‚𒴉߂µ‚Ü‚µ‚½Bv +R 012d <num>.w + ˜I“XŠJÝBƒAƒCƒeƒ€ƒŠƒXƒg—v‹Bnum‚Í’u‚¯‚éÅ‘å” +S 012e + ˜I“X•Â½ +S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B* + ˜I“XŠJÝA˜I“X–¼&ƒAƒCƒeƒ€,’l’iƒŠƒXƒg +S 0130 <ID>.l + ˜I“XƒAƒCƒeƒ€ƒŠƒXƒg—v‹ +R 0131 <ID>.l <message>.80B + ˜I“XŠÅ”•\Ž¦ +R 0132 <ID>.l + ˜I“XŠÅ”ÂÁ‹Ž +R 0133 <len>.w <ID>.l {<value>.l <amount>.w <index>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B + ˜I“XƒAƒCƒeƒ€ƒŠƒXƒg +S 0134 <len>.w <ID>.l {<amount>.w <index>.w}.4B* + ˜I“XƒAƒCƒeƒ€w“ü +R 0135 <index>.w <amount>.w <fail>.B + ˜I“XƒAƒCƒeƒ€w“üŽ¸”sB + fail=1 u‚¨‹à‚ª‘«‚è‚Ü‚¹‚ñBv + fail=2 ud—ʃI[ƒo[‚Å‚·Bv +R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B* + ˜I“XŠJݬŒ÷ +R 0137 <index>.w <amount>.w + ˜I“XƒAƒCƒeƒ€”Ì”„•ñ +R 0139 <ID>.l <X>.w <Y>.w <X2>.w <Y2>.w <range>.w + ID‚Ì“G‚Í(X,Y)‚É‹‚ÄŽ©•ª‚Í(X2,Y2)‚É‹‚é‚Ì‚ÅUŒ‚‚ª“Í‚«‚Ü‚¹‚ñ‚Å‚µ‚½ + UŒ‚‰Â”\‹——£‚Írange‚È‚Ì‚ÅA‹ßŠñ‚Á‚ĉº‚³‚¢? +R 013a <val>.w + UŒ‚ŽË’ö +R 013b <type>.w + ŠeŽíƒƒbƒZ[ƒW•\Ž¦B3=–‘•”õ‚Å‚«‚Ü‚µ‚½ +R 013c <ID>.w + ‘•”õ‚³‚ꂽ–î‚ÌItemIDB0‚ÅA–¢‘•”õó‘ÔB +R 013d <type>.w <val>.w + HP‰ñ•œƒXƒLƒ‹/SP‰ñ•œƒXƒLƒ‹‚É‚æ‚é‰ñ•œ + type=5‚È‚çHP type=7‚È‚çSP +R 013c <index>.w + ‘•”õ‚µ‚Ä‚¢‚é–î + +R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l + ƒXƒLƒ‹‰r¥’†BPC/NPC‚ª‘ŠŽè‚ÌꇂÍ(X,Y)‚Í0Bꊂªƒ^[ƒQƒbƒg‚ÌꇂÍdst ID‚Í0‚É‚È‚é + + 0x013e ‚Ì offset+16(dword) ‚̓XƒLƒ‹‘®«‚Å‚·(’²¸Ï)B + 00:–³ 01:… 02:’n 03:‰Î 04:•— 05:“Å 06:¹ 07:ˆÃ 08:”O 09:Ž€ + «—ˆ“I‚ÉA‰r¥’†‚̃GƒtƒFƒNƒg‚ª‘®«‚Å•Ï‚í‚é‚Ì‚©‚ÆB + + wait‚Íms’PˆÊ‚©‚È? +R 0141 <type>.l <base>.l <bonus>.l + ƒXƒe[ƒ^ƒXî•ñBtype‚Í0d‚©‚ç12‚ª‡‚ÉSTR,AGI,VIT,INT,DEX,LUK‚ɑΉž + base+bonus‚Æ•\Ž¦‚³‚ê‚é +R 0142 <ID>.l + ”’l“ü—Í—p‘‹•\Ž¦ +S 0143 <ID>.l <amount>.l + 0142‚Ì‘‹‚É“ü—Í‚µ‚½”’l‚Ì‘—M +R 0144 <ID>.l <type>.l <X>.l <Y>.l <point ID>.B <color>.3B ?.B + ˆÄ“àˆõ—pAƒ}ƒbƒvãƒAƒCƒRƒ“•\Ž¦ƒpƒPƒbƒg + type=1 ƒAƒCƒRƒ“‚ð•\Ž¦ + type=2 ƒAƒCƒRƒ“‚ðÁ‹Ž +R 0145 <file name>.16B <type>.B + (¡‚ÌŠ)ƒJƒvƒ‰‚³‚ñcutin•\Ž¦ + type=02 •\Ž¦ + type=ff Á‹Ž +S 0146 <ID>.l + ID‚ÌNPC‚Ƃ̉ï˜bBCLOSEƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½Back–³‚µ‚ÉNPCƒƒbƒZ[ƒWƒEƒBƒ“ƒh‚𓯎ž‚ɕ‚¶‚é +R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B + ƒAƒCƒeƒ€—˜—p‚ÌŒ‹‰ÊˆêŽž“I‚É“¾‚ç‚ꂽƒXƒLƒ‹î•ñ +R 0148 <ID>.l + ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Ì‘ŠŽèŒˆ‚ß? @ ƒÀ1 +S 0149 <ID>.l <type>.B <time>.w + ID‚Ƀ`ƒƒƒbƒg‹ÖŽ~ŽžŠÔ‚ð•t‰Á type=0 ƒ}ƒCƒiƒX type=1 ƒvƒ‰ƒX + tyme‚Í•ª’PˆÊ +R 014a <fail>.l + ƒ}ƒi[ƒ|ƒCƒ“ƒg‚ð—^‚¦‚½Œ‹‰ÊBfail=0 ¬Œ÷ fail=1 Ž¸”s +R 014b <type>.B <nick>.24B + ƒ}ƒi[ƒ|ƒCƒ“ƒg‚ð–á‚Á‚½Btype=00 ƒvƒ‰ƒX type=01 ƒ}ƒCƒiƒX +R 014C <len>.w (<type>.l <guildID>.l <guild name>.24B).* + “¯–¿E“G‘΃Mƒ‹ƒh•\Ž¦ + type=0 “¯–¿ + type=1 “G‘Î +S 014D + ƒMƒ‹ƒhî•ñ•\Ž¦ŠJŽnH +R 014E <type?>.l + type=0x57 ˆê”ʃMƒ‹ƒh’cˆõ + type=0xD7 ƒMƒ‹ƒhƒ}ƒXƒ^[ +S 014F <page>.l + ƒMƒ‹ƒh•\Ž¦ƒ^ƒu‘—M +R 0150 <guildID>.l <guildLv>.l <Ú‘±”>.l <’èˆõ>.l <Avl.lvl>.l <ŒoŒ±’l>.l <next_exp>.l <ã”[ƒ|ƒCƒ“ƒg>.l <«Œü¶‰EVW>.l <«Œü㉺RF>.l <l”H>.l <guild name>.24B <guild master>.24B <–{‹’’n>.16B + ƒMƒ‹ƒhî•ñ +S 0151 <guild ID>.l + ƒGƒ“ƒuƒŒƒ€—v‹ +R 0152 <len>.w <guild ID>.l <emblem ID(•ÏX‰ñ”H)>.l <emblem data>.?B + ƒGƒ“ƒuƒŒƒ€ƒCƒ[ƒW‘—•t +S 0153 <len>.w <emblem data>.?B + ƒGƒ“ƒuƒŒƒ€ƒCƒ[ƒW•ÏX +R 0154 <len>.w {<accID>.l <charactorID>.l <”¯Œ^>.w <”¯‚ÌF>.w <«•ÊH>.w <job>.w <lvl?>.w <ã”[ŒoŒ±’l>.l <online>.l <Position>.l <ƒƒ‚H>.50B <nick>.24B}* + ƒMƒ‹ƒhƒƒ“ƒoƒŠƒXƒg +S 0155 <len>.w {<accID>.l <charaID>.l <index>.l}.12B* + –ðE•ÏX +R 0156 <len>.w {<accID>.l <charaID>.l <index>.l}.12B* + –ðE•ÏX’Ê’m +S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B + ƒMƒ‹ƒh’E‘Þ‘—M +R 015A <nic>.24B <mess>.40B + ƒMƒ‹ƒh’E‘Þ(‘Sˆõ)ŽóM +S 015B <guildID>.l <accID>.l <charID>.l <mess>.40B + ƒMƒ‹ƒh’Ç•ú‘—M +R 015C <nick>.24B <mess>.40B <ƒAƒJƒEƒ“ƒg‚h‚c>.24B + ƒMƒ‹ƒh’Ç•úi‘SˆõjŽóM +S 015D <guild name>.24B <?>.16B + ƒMƒ‹ƒh‰ðŽU +R 015E <fail>.l + ƒMƒ‹ƒh‰ðŽU³”Û’Ê’m + 0x00F¬Œ÷ + 0x01FZ–¯“o˜^”Ô†•sˆê’v +R 0160 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l}.16B + EˆÊî•ñ +S 0161 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B* + EˆÊ•ÏX +R 0162 <len>.w <skill_point>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B* + ƒMƒ‹ƒhƒXƒLƒ‹ +R 0163 <len>.w { <nick>.24B <ƒAƒJƒEƒ“ƒg‚h‚c>.24B <’Ç•ú——R>.40B }.88B* + ƒMƒ‹ƒh’Ç•úƒŠƒXƒg +S 0165 <myaccID>.l <guild name>.24B + ƒMƒ‹ƒhì¬ +R 0166 <len>.w {<index>.l <name>.24B }.28B* + EˆÊ–¼ƒŠƒXƒg +R 0167 <type>.b + ƒMƒ‹ƒh쬇”Û + type = 0 ƒMƒ‹ƒh쬬Œ÷ + type = 1 ‚·‚łɃMƒ‹ƒh‚ÉŠ‘®‚µ‚Ä‚¢‚é + type = 2 “¯–¼‚̃Mƒ‹ƒh‚ª‚ ‚é + type = 3 ƒGƒ“ƒyƒŠƒEƒ€–³‚µ +S 0168 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l + ƒMƒ‹ƒhŠ©—U +R 0169 <type>.B + ƒMƒ‹ƒhŠ©—UŒ‹‰Ê + type = 0 ‘¼‚̃Mƒ‹ƒh‚ɉÁ“ü‚µ‚Ä‚¢‚é + type = 1 ‹‘”Û‚³‚ꂽ + type = 2 ‰Á“ü‚µ‚½ + type = 3 ’èˆõ‚ð’´‰ß +R 016A <guild ID>.l <guild name>.24B + ƒMƒ‹ƒhŠ©—U‚³‚ꂽ +S 016B <guild ID>.l <type>.l + ƒMƒ‹ƒhŠ©—U•ÔM + type=0 ‹‘”Û‚·‚é + type=1 ‹–‘ø‚·‚é +R 016c <guild ID>.l <emblem ID>.l <mode>.l ?.5B <guild name>.24B + loginŽžƒMƒ‹ƒhî•ñ + mode=Ž©•ª‚ÌŠ‘®EˆÊ‚Ìmode +R 016d <ID>.l <charactor ID>.l <online>.l + ƒMƒ‹ƒhƒƒ“ƒo‚ªlogin‚µ‚½”²‚¯‚½“™ +S 016E <guildID>.l <mess1>.60B <mess2>.120B + ƒMƒ‹ƒh’mÝ’è +R 016F <mess1>.60B <mess2>.120B + ƒMƒ‹ƒh’m +S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l + “¯–¿—v¿Š©—U +R 0171 <SorceAccID>.l <guild name>.24B + “¯–¿—v¿Š©—U‚³‚ꂽ +S 0172 <SorceAccID>.l <type>.l + “¯–¿—v¿•ÔM + type=0 ‹‘”Û‚·‚é + type=1 ‹–‘ø‚·‚é +R 0173 <type>.B + type = 0 ‚·‚Å‚É“¯–¿ŠÖŒW + type = 1 “¯–¿‹‘”Û‚³‚ꂽ + type = 2 “¯–¿¬Œ÷ + type = 3 ‘ŠŽèƒMƒ‹ƒh‚Ì“¯–¿ƒMƒ‹ƒh”‚ª’´‰ß + type = 4 Ž©•ª‚̃Mƒ‹ƒh‚Ì“¯–¿ƒMƒ‹ƒh”‚ª’´‰ß +R 0174 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B* + EˆÊ•ÏX’Ê’m +R 0177 <len>.w <index>.w* + ŠÓ’è‰Â”\ƒAƒCƒeƒ€ƒŠƒXƒg +S 0178 <index>.w + ƒAƒCƒeƒ€ŠÓ’è +R 0179 <index>.w <fail>.B + ƒAƒCƒeƒ€ŠÓ’茋‰ÊBfail=00‚ŬŒ÷Bfail=01‚Á‚Ä‚ ‚é‚Ì‚©? +S 017A <index>.w + ƒJ[ƒh‚vƒNƒŠƒbƒN +R 017B <len>.w {<index>.w}* + ƒJ[ƒh‘}“ü‚Å‚«‚éƒAƒCƒeƒ€Index”Ô† +S 017C <SrcIndex>.w <DescIndex>.w + Src ‚ðDesc‚É“Ë‚Áž‚Þ +R 017D <DescIndex>.w <SrcIndex>.w <fail>.b + Src ‚ðDesc‚É“Ë‚Áž‚Ý<fail> 0=¬Œ÷ 1=Ž¸”sH +S 017e <len>.w <message>.?B + ƒMƒ‹ƒh“àƒƒbƒZ[ƒW”Œ¾ +R 017f <len>.w <message>.?B + ƒMƒ‹ƒh“àƒƒbƒZ[ƒWŽóM +S 0180 <charactorID>.l + ƒMƒ‹ƒh“G‘Î +R 0181 <flag>.b + ƒMƒ‹ƒh“G‘Î‰Â”Û + flag=0 “G‘άŒ÷ + flag=1 “G‘΃Mƒ‹ƒh”‚ª‘½‚·‚¬‚é + flag=2 ‚·‚Å‚É“G‘Ί֌W +R 0182 <accID>.l <charactorID>.l <”¯Œ^>.w <”¯‚ÌF>.w <«•ÊH>.w <job>.w <lvl?>.w <ã”[ŒoŒ±’l>.l <online>.l <Position>.l ?.50B <nick>.24B + +S 0183 <guild_id>.l <type>.l + ƒMƒ‹ƒhŠÖŒW‰ðÁ +R 0184 <guild_id>.l <type>.l + ƒMƒ‹ƒhŠÖŒW‰ðÁ’Ê’m +R 0185 <flag>.l <guild_id>.l <guild_name>.24B + ƒMƒ‹ƒhŠÖŒW’ljÁ flag=0 “¯–¿/ 1 “G‘Î +R 0187 <account ID>.l + aliveM†? +R 0188 <fail?>.w <index>.w <val>.w + •Ší¸˜BBŒ‹‰Ê+val•Ší‚É +R 0189 <fail?>.w + “äBƒeƒŒƒ|(ƒ[ƒvƒ|[ƒ^ƒ‹memo)Ž¸”s? + 1 memo‹ÖŽ~’nˆæ +S 018a ?.w + ƒQ[ƒ€I—¹ +R 018b <fail>.w + ƒQ[ƒ€I—¹/ƒLƒƒƒ‰ƒZƒŒ‰ž“šBfail=0¬Œ÷Bfail=1Ž¸”s? +R 018C <MonsID>.w <“™‹‰>.w <‘å¬>.w <¶–½’l>.w <?>.w <–hŒä—Í>.w <Ží‘°>.w <–‚–@–hŒä—Í>.w <‘®«>.w <–‚–@‘Š«‘®«>.9b + wiz‚Ì“G‚̃Zƒ“ƒXŒ‹‰Ê + 0 ¬Œ^ + 1 ’†Œ^ + 2 ‘åŒ^ +R 018d <length>.w { <ItemID>,w ?.w <CharID?>.l }.8B* + »‘¢‰Â”\ƒAƒCƒeƒ€ƒŠƒXƒg•\Ž¦(?‚Ì•”•ª‚Í0012ŒÅ’è) +S 018e <MakeItemID>.w <slot1ItemID>.w <slot2ItemID>,w <slot3.ItemID>.w + »‘¢ƒAƒCƒeƒ€‚Ì‘I‘ð +R 018f <flag>.w [00] <MakeItemID>.w + »‘¢Œ‹‰Ê(flag = 00‚Ȃ笌÷ 01‚Ȃ玸”s) +S 0190 <skill lv>.w <skill code>.w <x & y>.l <message>.80b + ƒƒbƒZ[ƒW(ƒg[ƒL[ƒ{ƒbƒNƒXj +R 0191 <ID>.l <message>.80B + ƒg[ƒL[ƒ{ƒbƒNƒX‚̃ƒbƒZ[ƒW +R 0192 <x & y>.l <type>.w <mapname>.16b + ƒAƒCƒXƒEƒH[ƒ‹“™‚É‚æ‚é’nŒ`‘®«•Ï‰» +S 0193 <ID>.l + ƒMƒ‹ƒhƒƒ“ƒo–¼‘Oˆø‚«? +R 0194 <ID>.l <nick>.24B + ƒMƒ‹ƒhƒƒ“ƒo–¼‘Oˆø‚«‰ž“š? +R 0195 <ID>.l <nick>.24B <party name>.24B <guild name>.24B <class name>.24B + ƒMƒ‹ƒhŠ‘®PC‚ÌꇂÌ0094•Ô“š +R 0196 <type>.w <ID>.l + ‘‹ŒnƒXƒLƒ‹Žg—pŽž‚̃ƒbƒZ[ƒWFXBID‚Ítarget‚ÆŽv‚í‚ê‚邪Ž©•ª‘ŠŽè‚Ì‚Ý‚µ‚©—ˆ‚È‚¢? + type=00 2HQ•t—^uUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½Bv + type=01 2HQ‰ðœuUŒ‚‘¬“x‚ªŒ¸‚µ‚Ü‚µ‚½Bv + type=02 IMPOSITIO•t—^u•Ší‚ÌUŒ‚—Í‚ª‘‰Á‚µ‚Ü‚µ‚½Bv + type=03 IMPOSITIO‰ðœu•Ší‚ÌUŒ‚—Í‚ªŒ¸‚µ‚Ü‚µ‚½Bv + type=04 uƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ªŒ¸‚µ‚Ü‚µ‚½Bv + type=05 uƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + type=06 u•Ší‚É“Å‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + type=07 ASPERSIO•t—^u•Ší‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + type=08 ASPERSIO‰ðœu•Ší‚Ì‘®«‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + type=09 u–h‹ï‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + type=0a u–h‹ï‚Ì‘®«‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + type=0b KYRIE•t—^uƒoƒŠƒAó‘Ô‚É‚È‚è‚Ü‚µ‚½Bv + type=0c KYRIE‰ðœuƒoƒŠƒAó‘Ô‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + type=0d uƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + type=0e uƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + type=0f uƒI[ƒo[ƒgƒ‰ƒXƒgƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + type=10 uƒI[ƒo[ƒgƒ‰ƒXƒgƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + type=11 uƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + type=12 uƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv +R 0196 <type>.w <ID>.l <switch>.b iƒRƒ‚ƒhˆÈ~j + switch=0‚ʼnðœ,1‚Å•t‰Á + type=00 ƒvƒƒ{ƒbƒN + type=01 ƒCƒ“ƒfƒ…ƒA + type=02 uUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½Bvi2HQj + type=03 W’†—ÍŒüã + type=04 ƒnƒCƒfƒBƒ“ƒO + type=05 ƒNƒ[ƒLƒ“ƒO + type=06 u•Ší‚É“Å‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½BviƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“j + type=07 u“ł𔽎˂ł«‚éó‘Ô‚É‚È‚è‚Ü‚µ‚½Bviƒ|ƒCƒYƒ“ƒŠƒAƒNƒgj + type=08 uƒNƒ@ƒOƒ}ƒCƒAó‘Ô‚É‚È‚èAEEEv + type=09 uƒGƒ“ƒWƒFƒ‰ƒXó‘Ô‚É‚È‚èAEEEv + type=0a ƒuƒŒƒbƒVƒ“ƒO + type=0b ƒVƒOƒiƒ€ƒNƒ‹ƒVƒX + type=0c u‘¬‚³‚ª‘‰Á‚µ‚Ü‚µ‚½vi‘¬“x‘‰Áj + type=0d u‘¬‚³‚ªŒ¸‚µ‚Ü‚µ‚½vi‘¬“xŒ¸j + type=0e uƒXƒ[ƒ|ƒCƒYƒ“ó‘Ô‚É‚È‚è‚Ü‚µ‚½viƒXƒ[ƒ|ƒCƒYƒ“j + type=0f u•Ší‚ÌUŒ‚—Í‚ª‘‰Á‚µ‚Ü‚µ‚½viƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXj + type=10 uƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ªŒ¸‚µ‚Ü‚µ‚½viƒTƒtƒ‰ƒMƒEƒ€j + type=11 u•Ší‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½viƒAƒXƒyƒ‹ƒVƒIj + type=12 u–h‹ï‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½vi¹‘Ì~—Õj + type=13 uƒoƒŠƒAó‘Ô‚É‚È‚è‚Ü‚µ‚½viƒLƒŠƒGƒGƒŒƒCƒ\ƒ“j + type=14 uƒ}ƒOƒjƒtƒBƒJ[ƒgó‘Ô‚É‚È‚è‚Ü‚µ‚½v + type=15 uƒOƒƒŠƒAó‘Ô‚É‚È‚è‚Ü‚µ‚½v + type=16 uƒŒƒbƒNƒXƒG[ƒeƒ‹ƒió‘Ô‚É‚È‚è‚Ü‚µ‚½v + type=17 uƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…ó‘Ô‚É‚È‚è‚Ü‚µ‚½v + type=18 uƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½v + type=19 uƒI[ƒo[ƒgƒ‰ƒXƒgƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½v + type=1a uƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½v + type=1b ƒyƒRƒyƒR‹Ræ + type=1c ‘é + type=1d Ž€‚ñ‚¾‚Ó‚è + type=1e u‹©‚Ñ‚Ü‚µ‚½viƒ‰ƒEƒhƒ{ƒCƒXj + type=1f uƒGƒiƒW[ƒR[ƒgó‘Ô‚É‚È‚è‚Ü‚µ‚½v + type=20 u–h‹ï‚ª‰ó‚ê‚Ü‚µ‚½v + type=21 u•Ší‚ª‰ó‚ê‚Ü‚µ‚½v + type=22 “äi–ڂ̃Aƒbƒv‚Æ‚¢‚¤ƒAƒCƒRƒ“F–Ó–ÚHHj + type=23 d—Ê50“’´‚¦ + type=24 d—Ê90“’´‚¦ + type=25 “äuUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½vi‚˜‚QƒAƒCƒRƒ“F‘¬“xŒnƒ|[ƒVƒ‡ƒ“Hj + type=26 “äuUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½vi‚˜‚QƒAƒCƒRƒ“F‘¬“xŒnƒ|[ƒVƒ‡ƒ“Hj + type=27 “äuUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½vi‚˜‚QƒAƒCƒRƒ“F‘¬“xŒnƒ|[ƒVƒ‡ƒ“Hj + type=28 (–¢Žg—p‚Á‚Û‚¢HF•s‰Â‚Ɖðœ‚ÅŒø‰Ê‚ªˆá‚¤) + type=29 “äu‘¬‚³‚ª‘‰Á‚µ‚Ü‚µ‚½vi”’‚¢ƒAƒCƒRƒ“j + type=32 ƒXƒgƒŠƒbƒvƒEƒGƒ|ƒ“ + type=33 ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒh + type=34 ƒXƒgƒŠƒbƒvƒA[ƒ}[ + type=35 ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€ + type=36 ƒPƒ~ƒJƒ‹ƒEƒFƒ|ƒ“ƒ`ƒƒ[ƒW + type=37 ƒPƒ~ƒJƒ‹ƒV[ƒ‹ƒhƒ`ƒƒ[ƒW + type=38 ƒPƒ~ƒJƒ‹ƒA[ƒ}[ƒ`ƒƒ[ƒW + type=39 ƒPƒ~ƒJƒ‹ƒwƒ‹ƒ€ƒ`ƒƒ[ƒW + type=3a ƒI[ƒgƒK[ƒh + type=3b ƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒh + type=3d ƒvƒƒ”ƒBƒfƒ“ƒX + type=3e ƒfƒBƒtƒFƒ“ƒ_[ + type=41 ƒI[ƒgƒXƒyƒ‹ + type=44 ƒXƒsƒAƒNƒBƒbƒPƒ“ + type=56 ”š—ô”g“®(ƒAƒCƒRƒ“‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñB) + type=57 ‹à„(•\Ž¦‚Í‚³‚ê‚È‚¢‚ª‹à„‚̉ðœ‚Í‚³‚ê‚é‚悤‚Å‚·B) + type=59 ƒRƒ“ƒ{ƒfƒBƒŒƒC + type=5a ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[ + type=5b ƒtƒƒXƒgƒEƒFƒ|ƒ“ + type=5c ƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[ + type=5d ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ + +S 0197 <type>.w + type=0 /resetstate + type=1 /resetskill + Œø”\‚Í–³‚µ? +R 0199 <type>.w + type=1 pvpƒ‚[ƒhŠJŽn? + type=3 gvgƒ‚[ƒhŠJŽn? +R 019a <ID>.l <rank>.l <num>.l + pvp‡ˆÊ rank/num +R 019b <ID>.l <type>.l + ‘¼l‚Ìlvup‚â•Ší¸˜B“™‚Ì•\Ž¦? + type=0 base lvup? + type=1 job lvup? + type=2 •Ší¸˜BŽ¸”s + type=3 •Ší¸˜B¬Œ÷ + +R 019d <?>.4B + GMƒRƒ}ƒ“ƒh/hide + +S 0149 <ID>.l <type>.B <time>.w + GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uƒ`ƒƒƒbƒg‹ÖŽ~ŽžŠÔ‚ð‰º‚°‚éi‰ð‚¯‚éjvŽg—p ¨ type=00 + GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uƒ`ƒƒƒbƒg‹ÖŽ~ŽžŠÔ‚ðã‚°‚éiŠ|‚¯‚éjvŽg—p ¨ type=01 + time‚Í•ª’PˆÊ‚Å‚·iŠm‚© + +R 019e + •ßŠlƒ‚ƒ“ƒXƒ^[Œˆ‚ß +S 019f <ID>.l + •ßŠlƒ‚ƒ“ƒXƒ^[Žw’è +R 01a0 <fail>.B + •ßŠl”»’è + fail=01‚ŬŒ÷A00‚ÅŽ¸”s +S 01a1 <param>.1B + <param> + 0x00Fƒyƒbƒgó‘Ô•\Ž¦ + 0x01F‰a‚ð—^‚¦‚é + 0x02FƒpƒtƒH[ƒ}ƒ“ƒX + 0x03F—‘‚É–ß‚· + 0x04FƒAƒNƒZƒTƒŠ‰ðœ +R 01a2 <pet name>.24B <name flag>.B <lv>.w <hungry>.w <friendly>.w <accessory>.w + ƒyƒbƒg‚Ìó‘Ô + name flag:00=–¼‘O–¢Ý’è 01=–¼‘OÝ’èÏ‚Ý(•ÏX•s‰Â) + lv=ƒyƒbƒg‚̃Œƒxƒ‹Ahungry=–ž• “x(0~100)Afriendly=e–§“x(‰Šú’l250?)Aaccessory=ƒAƒNƒZƒTƒŠ‚ÌItemID +R 01a3 <fail>.B <itemID>.w + <fail> + 0x00F‰a‚â‚莸”s + 0x01F‰a‚â‚謌÷ +R 01a4 <type>.B <ID>.l <val>.l + ƒyƒbƒgŠÖ˜A’Ê’m + type=00,val=00 ƒyƒbƒg›z‰»Žž‚É‘—‚ç‚ê‚Ä‚‚éBƒyƒbƒg”FŽ¯—pH + type=01 e–§“x•Ï‰» + type=02 –ž• “x•Ï‰» + type=03 ƒAƒNƒZƒTƒŠ•Ï‰»(0‚Å–¢‘•”õ) + type=04 ƒpƒtƒH[ƒ}ƒ“ƒX Šm”F‚³‚ꂽval=1~3 + (4‚̓XƒyƒVƒƒƒ‹ƒpƒtƒH[ƒ}ƒ“ƒXH) + type=05 HŠm”F‚³‚ꂽval=0x14 +S 01a5 <pet name>.24B + ƒyƒbƒg‚Ì–¼‘OŒˆ‚ß +R 01a6 <len>.w <index>.w* + ƒyƒbƒg‚Ì—‘ƒŠƒXƒg +S 01a7 <index>.w + ƒyƒbƒg‚Ì—‘ƒŠƒXƒg‚ª‘I‘ð‚³‚ê‚½ +S 01a9 <emotion>.l + ƒyƒbƒgƒGƒ‚[ƒVƒ‡ƒ“‘—M +R 01aa <ID>.l <emotion>.l + ƒyƒbƒgƒGƒ‚[ƒVƒ‡ƒ“ŽóM + <emotion> + 33ˆÈ‰º‚Ì‚Æ‚«FƒGƒ‚[ƒVƒ‡ƒ“ + 34ˆÈã‚Ì‚Æ‚«F”Œ¾ƒe[ƒuƒ‹H +R 01ac <object id>.l + ƒAƒ“ƒNƒ‹‚Ì”“®(‚Ý’u)Žž‚Ì‚Ý–ˆ‰ñoŒ»(‹@”\‚Í“ä) +R 01ad <len>.l <item>.w + –îì‚è‚Ì쬉”\ITEM•\ŽóM +S 01ae <itemID>.w + –îì‚è‚ÅŽg‚¤Þ—¿‘—M +S 01af <type>.w + ƒ`ƒFƒ“ƒWƒJ[ƒgiƒJ[ƒg‘I‘ðj + type=1 ƒm[ƒ}ƒ‹ƒJ[ƒg +R 01b0 <monster id>.l <?>.b <new monster code>.l + –û‚̃Nƒ‰ƒXƒ`ƒFƒ“ƒW + <new monster code>‚̓`ƒFƒ“ƒWŒã‚̃R[ƒh(1001`)‚ðdword‚Å +S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B* + ˜I“XŠJÝ + flag F 0=ƒLƒƒƒ“ƒZƒ‹ , 1=ƒI[ƒvƒ“ +R 01b3 <filename>.64B <type>.B + R 0145‚ÌãˆÊŒÝŠ· +R 01B6 <guildID>.l <guildLv>.l <connum>.l <’èˆõ>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <ã”[ƒ|ƒCƒ“ƒg>.l <«ŒüF-V>.l <«ŒüR-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B + ƒMƒ‹ƒhî•ñ +R 01b9 <ID>.I + ”íƒ_ƒ“™‚É‚æ‚éID‚̉r¥’†’f +R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B + ƒJƒvƒ‰‘qŒÉƒAƒCƒeƒ€ +R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B + ƒAƒCƒeƒ€Žg—p‰ž“šB(00a8‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type=00‚Ìꇎg—pŽ¸”s? amount‚àƒSƒ~‚Ì–Í—l + type=01‚ÌꇬŒ÷‚ÅAamount‚ÍŽg—pŒã‚ÌŽc‚èŒÂ” +R 01c9 <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B ?.81b + ƒXƒLƒ‹Œø”\’nì¬(011f‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type 0x7e:SWA0x7f:‰Î•ÇA0x80 ƒ|ƒ^ŠJ‚«’†A0x81 ƒ|ƒ^ŠJ‚«’¼‘O + 0x82 ¹‘ÌA0x83 ƒTƒ“ƒNA0x84 ƒ}ƒOƒkƒXA0x85 ƒjƒ…[ƒ} + 0x86 0x86 ‘å–‚–@(SG/MS/LoV/GX)A0x87 ƒtƒ@ƒCƒ„[ƒsƒ‰‘Ò‹@ + 0x88 ƒtƒ@ƒCƒ„[ƒsƒ‰”š”A0x87`0x8B •\Ž¦–³‚µA + 0x8c ƒg[ƒL[ƒ{ƒbƒNƒX(”“®’†)A0x8D ƒAƒCƒXƒEƒH[ƒ‹ + 0x8E ƒNƒƒOƒ}ƒCƒAA0x8f ƒuƒ‰ƒXƒgƒ}ƒCƒ“A0x90 ƒXƒLƒbƒh + 0x91 ƒAƒ“ƒNƒ‹A0x92 ƒxƒmƒ€ƒ_ƒXƒgA0x93 ƒ‰ƒ“ƒhƒ}ƒCƒ“ + 0x94 ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒvA0x95 ƒTƒ“ƒhƒ}ƒ“ + 0x96 ƒtƒ‰ƒbƒVƒƒ[A0x97 ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv + 0x98 ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA0x99 ƒg[ƒL[ƒ{ƒbƒNƒX + 0x9A ƒ{ƒ‹ƒP[ƒmA0x9B ƒfƒŠƒ…[ƒWA0x9C ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ + 0x9D ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[A0x9E Zenyƒ}[ƒNA0x9F Zeny‘Ü + 0xA0 ‰ñ‚é—΂̗ÖA0xA1 ƒsƒ“ƒN‚̉¹•„ (“ñ˜A•„—L‚è + 0xA2 ^‚ñ’†‚É“_‚Ì‚ ‚éŒõ‚Ì‹ÊA0xA3 ƒsƒ“ƒN‚̃XƒvƒŠƒ“ƒO + 0xA4 [•£‚Ì’†‚ÉA0xA5 ‰ñ‚é‚¢—ÖA0xA6 •s‹¦˜a‰¹ + 0xA7 Œû“JA0xA8 —[—z‚̃AƒTƒVƒ“ƒNƒƒXA0xA9 ƒuƒ‰ƒM‚ÌŽ + 0xAA ƒCƒhƒDƒ“‚Ì—ÑŒçA0xAB Ž©•ªŸŽè‚ȃ_ƒ“ƒXA0xAC ƒnƒ~ƒ“ƒO + 0xAD Ž„‚ð–Y‚ê‚È‚¢‚ÅcA0xAE ƒT[ƒrƒXƒtƒH[ƒ†[ + 0xAF ƒsƒ“ƒN‚̃XƒvƒŠƒ“ƒOA0xB0 •\Ž¦–³‚µ + 0xB0 ƒOƒ‰ƒtƒBƒeƒB, + 0xB1 ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“A0xB2`0xBF •\Ž¦–³‚µ + 0xB2 ƒsƒ“ƒN‚̃[ƒvƒ|[ƒ^ƒ‹•— + 0xB3 ¬‚³‚È\Žš‰Ë‚ª‚Ó‚æ‚Ó‚æ + 0xB4 ƒoƒWƒŠƒJA0xB5 ƒGƒtƒFƒNƒg‚È‚µH + 0xB6 •‚¢~‚ª—§‘Ì“I‚É•‚‚©‚Ñオ‚é + 0xB7 ƒNƒ‚‚Ì‘ƒA0xB8` ƒGƒtƒFƒNƒg‚È‚µH + + ‘¼î•ñ‹‚Þ + ?.81b‚Í“äB +R 01cd (<sid>.l)x7 + ƒI[ƒgƒXƒyƒ‹‘I‘ðŽˆŽóM + <sid>x7 ‚É‚Í NB,CB,FB,LB,SS,FBL,FD ‚̇‚ŃXƒLƒ‹ƒR[ƒh‚ªdword‚Å“ü‚é + ‚Ü‚¾‘I‘ð‚Å‚«‚È‚¢ƒXƒLƒ‹‚Ì•”•ª‚Í <sid> = 0x00000000 ‚ª“ü‚é +S 01ce <sid>.l + ƒI[ƒgƒXƒyƒ‹‘I‘ðŽˆ‘—M +R 01cf <crusader id>.l <target id>.l <?>.18b + Œ£gó‘Ôƒ^[ƒQƒbƒgON/OFFBŒ£g‚ªØ‚ê‚é‚Æ <target id> ‚ª 0x00000000 ‚É‚È‚é + +R 01d0 <ID>.l <num>.w + <num> : ‹CŒ÷‚Ì”(”ñLv) +R 01d1 <monk id>.l <target monster id>.l <bool>.l + ”’‰HŽæ‚èó‘ÔON/OFFB<bool> ‚Í”’nŽæ‚謗§Žž‚É 0x00000001 ‰ðœŽž‚É 0x00000000 ‚ª—ˆ‚é +R 01d2 <id>.l <delay>.l + ƒ‚ƒ“ƒN‚̃Rƒ“ƒ{ƒfƒBƒŒƒC(msec) + ŽO’iE˜A‘Å‚ÍŠî–{ƒfƒBƒŒƒC1000(+300)A–Ò—´‚ÍŠî–{ƒfƒBƒŒƒC700(+300) +R 01d4 <ID>.l + •¶Žš—ñ“ü—Í‘‹•\Ž¦(ID‚ÍNPC‚ÌID‚ª“ü‚é) +S 01d5 <len>.w <ID>.l <input>.?B 00 + •¶Žš—ñ“ü—Í“à—e‘—M(ID‚ÍNPC‚ÌID‚ª“ü‚é) +R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w + ‘•”õƒOƒ‰ƒtƒBƒbƒN <equip point> ‚Í 02Žè‚Æ09‘«‚Ì‚ÝŠm”FBid2‚ͶŽè +R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B + ƒ}ƒbƒvƒ[ƒhŽž&ˆÚ“®Žž—pAŒü‚«•t‚«—pƒLƒƒƒ‰î•ñ?(0078‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +R 01d9 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w.<head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B ?.B + ƒeƒŒƒ|“™‚Ì•\Ž¦”ÍˆÍ“à•¦‚«ƒLƒƒƒ‰—pAŒü‚«•t‚«–³‚µƒLƒƒƒ‰î•ñ?(0079‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +R 01da <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.<item id1>.w <item id2>.w <head option bottom>.w <server tick>.l <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B ?.B + •\Ž¦”͈͓àƒLƒƒƒ‰ˆÚ“®î•ñ(007b‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +S 01db + ˆÃ†‰»key—v‹ +R 01dc <len>.w <key>.?B + ˆÃ†‰»key‘—•t +S 01dd <version>.l <account name>.24B <md5 binary>.16B <version2>.1B + id&ˆÃ†‰»Ï‚Ýpass‘—M + ‡‚ɃNƒ‰ƒCƒAƒ“ƒg‚ª01db‚ð‘—‚éA + ŽI‚ª01dc‚Åkey‚ð•Ô‚·A + ƒNƒ‰ƒCƒAƒ“ƒg‚ª"<key><password>"‚ɂ‚¢‚Ämd5ŒvŽZ‚µ + <md5 binary>‚ÌŠ‚ð–„‚ß‚Ä01dd‚ð‘—‚éB + <passwordencrypt2>‚ÌŽž‚Í + "<key><password>"‚ɑ΂µ‚Ämd5ŒvŽZ‚Æ‚µ‚Ä‚¢‚銂ð + "<password><key>"‚Æ•ÏX‚·‚é +R 01de <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.l <param2>.w <param3>.w <type>.B + UŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg@(0114‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type=04 ‰Î•Ç‚ÅŠÏ‘ª type=06‚Æ‚Ù‚Ú“¯‚¶? + type=05 NB/FBl‚Ì•ªŽU‚µ‚½ƒ_ƒ[ƒW—pH + type=06 ’P”‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í1ŒÅ’è‚Æ—\‘z + type=07 ƒ_ƒ[ƒW•\Ž¦–³‚µH + type=08 ˜A‘Å‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=09 ƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ‚Ƀ_ƒ[ƒW‚¾‚¯•\Ž¦‚³‚ê‚镨(ƒCƒ“ƒfƒ…ƒA)‚ÆŽv‚Á‚½‚Ì‚¾‚ªƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚ªo‚镨B(‹@”\‚Í“ä) +S 01df <ID>.| + GM‰EƒNƒŠƒbƒN‚É‚æ‚éID‚̃`ƒƒƒbƒg‹ÖŽ~‰ñ”ŽQÆH +R 01e1 <ID>.l <num>.w + <num> : ‹CŒ÷‚Ì”(”ñLv) ˆê“x•\Ž¦‚µ‚½‚çŒã‚Ç‚ñ‚Ènum‚ª—ˆ‚Ä‚à–³Ž‹‚³‚ê‚éB +R 01e6 <partner name>.24B + Œ‹¥ƒXƒLƒ‹‚ ‚È‚½‚Ɉ§‚¢‚½‚¢Žg—pŽž‚Ì‹©‚Ѻ +S 01e7 + ƒXƒpƒmƒr‚Å/doridori‚µ‚½‚ç”ò‚ñ‚Å‚‚éBSPR‰ñ•œ—Ê2”{ƒtƒ‰ƒO‚𗧂ĂéƒpƒPƒbƒg +S 01e8 <party name>.24B <item1>B <item2>B + <item1>ƒAƒCƒeƒ€ŽûW•û–@B0‚ÅŒÂl•ÊA1‚Ńp[ƒeƒBŒö—L + <item2>ƒAƒCƒeƒ€•ª”z•û–@B0‚ÅŒÂl•ÊA1‚Ńp[ƒeƒB‚É‹Ï“™•ª”z + (00f9‚ÌãˆÊƒo[ƒVƒ‡ƒ“) +R 01ea <ID>.l + Œ‹¥ƒGƒtƒFƒNƒg(‰¹ŠyAŽ†á) + ID‚ÍV•w‚Ì‚à‚Ì‚ª“ü‚éH +S 01ed + ƒXƒpƒmƒr‚ª”š—ô”g“®‚É‚È‚éƒtƒ‰ƒO‚𗧂ĂéƒpƒPƒbƒg +R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + Š—LÁ–Õ•i&ŽûW•iƒŠƒXƒg + –î‚ÌꇂÍ?.2B‚ª0x8000‚É‚È‚é + 00a3‚©‚ç•ÏX +R 01ef <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + ƒJ[ƒg“àƒAƒCƒeƒ€BÁ–Õ•i/ŽûW•i + 0123‚©‚ç•ÏX +R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚éÁ–Õ•i&ŽûW•iƒŠƒXƒg + 00a5‚©‚ç•ÏX +R 01f4 <name>.24B <trade id?>.L <LV>.w + æ•û‚©‚çŽæˆø—v¿ + 00e5‚©‚ç•ÏX +R 01f5 <result>.B <trade id?>.L <LV>.w + ‚±‚¿‚ç‚©‚ç‚ÌŽæˆø—v¿‚ɑ΂·‚锽‰ž + 00e7‚©‚ç•ÏX +S 0200 <login name>.24B + ragexe‚É/accountƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚Ä‹N“®‚·‚é‚ƃƒOƒCƒ“—v‹‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒg +S 0204 <?>.16B + ƒƒOƒCƒ“—v‹‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒgB16ƒoƒCƒg‚͌ŒèH +S 020B <?>.17B + ƒLƒƒƒ‰ƒNƒ^ƒT[ƒoÚ‘±—v‹0065‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒgB1+0204‚Ì16ƒoƒCƒg‚Å17ƒoƒCƒgH diff --git a/doc/command.txt b/doc/command.txt new file mode 100644 index 0000000..c53035c --- /dev/null +++ b/doc/command.txt @@ -0,0 +1,40 @@ +This file has explained some special commands. +It begins to explain the declared commands in this file. +Furthermore, many of the special command which is not stated in this file are not mounted. + + +Index + 1. mapmove + 2. b and nb + + +1. MapMove + MapMove command is a warping command which a GM can use on the server. + There is no restriction such, that presently you can use, just have GM enabled. The usage where it is possible + to use as /mm or /mapmove is as follows. + /mm <fieldname>* X Y + /mm <fieldname.gat>* X Y + /mapmove <fieldname>* X Y + /mapmove <fieldname.gat>* X Y + * means for field name type /where, please input the map name which appears in the execution time. gat is not always a necessary. + (X Y) X coordinate and the Y-coordinate of the place where you would like to go, exact coordinates. However it does + if no X or Y, it will jump randomly. + Example: + /mm payon + /mapmove prontera.gat 167 158 + +2. Broadcast + BroadcastƒRƒ}ƒ“ƒh‚Æ‚ÍŽÀۂ̃T[ƒo‚ÅGM‚ªŽg‚¦‚éGMƒƒbƒZ[ƒW‚Æ“¯—l‚Ì“‚«‚ð‚µ‚Ü‚·B + /b‚à‚µ‚‚Í/nb‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·Žg—p•û–@‚͈ȉº‚Ì’Ê‚è‚Å‚·B + /b <message> + /nb <message> + + /b + ŽÀs‚µ‚½ƒ†[ƒU–¼•t‚«‚ŃƒbƒZ[ƒW‚ð•\Ž¦‚µ‚Ü‚·B + /nb + ŽÀs‚µ‚½ƒ†[ƒU–¼‚ð•\Ž¦‚¹‚¸ƒƒbƒZ[ƒW‚ð•\Ž¦‚µ‚Ü‚·B + + —á: + /b ƒeƒXƒg + /nb ƒeƒXƒg +$Id: command.txt,v 1.1 2004/05/28 03:55:43 wizputer Exp $ diff --git a/doc/conf_ref.txt b/doc/conf_ref.txt new file mode 100644 index 0000000..7f3fbcd --- /dev/null +++ b/doc/conf_ref.txt @@ -0,0 +1,1981 @@ +========================================================================== +eAthena dev 1.0.0 mod1004 Reference +alpha of the present conf +-------------------------------------------------------------------------- + +< What this file is. > + + It is the reference of the setting method of an Athena setting file. +although it is not a HowTo, it not Those who cannot use Athena even if they see this + To give up obediently is safer. + + +< The list of conf > + + login_athena.conf A setup of login-server + char_athena.conf A setup of char-server + inter_athena.conf A setup of inter-server + map_athena.conf A setup of map-server + battle_athena.conf A setup of map-server (setup of a special rule etc.) + atcommand_athena.conf A setup of map-server (setup of the GM command or @ command) + ladmin_athena.conf A setup of ladmin ('c' version) + + +< The fundamental setting method > + +One line "key: Enter as a value." +<Example> +key: value + +Head of the sentence It will become a comment if it begins by //. +<Example> +//Since this line is a comment, it is not processed. + +< Two or more same items > + +Priority is given to what was written later unless it is written especially clearly that two or more same items are written. +login_athena.conf allow and deny -- and -- map_athena.conf map, npc, etc. +Another processing will be carried out if two or more lines are written. + +========================================================================== +1. conf/login_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + A setup of login-server (server which manages account) is described. + It mainly becomes a setup of an administrator. + + +< Explanation of a key > + +If you change one of these parameters, you must restart login-server to update. +If you repeat one parameter (except 'allow', 'deny' or 'ladminallowip') in the configuration file, only the latest will be validated. + 'Allow', 'deny' and 'ladminallowip' parameters are list parameters. Add as many 'allow', 'deny' or 'ladminallowip' as you need. + +login_port + Port to bind login-server to (always binds to all IP addresses) + It is the port used by login-server. It can be omitted and a default is 6900. + Default value: 6900. + +admin_pass + It is the administrator password used to administrate the login-server through a remote connection. + You will found some tools in the tool directory, and specially the tool + ./tool/ladmin (for Login ADMINistration), a perl software, which manages all accounts. + Void password will not work. + NOTICE: You must change this or attackers can exploit your server. + Default value: admin. CHANGES this default value to avoid hack. + +ladminallowip + It's a list parameter. To add an item in this list, just add a new line. Each line can only have 1 parameter. + This list indicates the IP that the server accepts for a remote administration. + This parameter accepts IP descriptions, like: + IP or the begining of IP: it's a characters match. Write an IP (123.456.789.012) or the begining of the IP (123.456.). + Because it's a characters match, the IP 123.4 matches with 123.4.xxx.yyy and 123.4z.xxx.yyy. So, add a final '.' to be sure of the IP. + Example: + allow: 127.0.0.1 + allow: 192.168.10. + IP with number of bits for a network: it's a logical match. Write the network like this: 123.456.789.012/<#_of_mask_bits> + Don't use the final '.', but use all four values. + Example: + allow: 127.0.0.1/32 (match only 1 IP, because 32 bits match all bits). + allow: 192.168.10/24 (matches the network begining by 192.168.10). + IP with mask of a network: it's a logical match. Write the network like this: 123.456.789.012/345.678.901.234 + Don't use the final '.', but use all four values for the IP and the mask. + Example: + allow: 127.0.0.1/255.255.255.255 (match only 1 IP). + allow: 192.168.10.0/255.255.255.0 (matches the network begining by 192.168.10). + all: matches any IP. + Example: + allow: all. + clear: clears the list at this point. Really useful for 'import' parameter, in the new configuration file. + Example: + allow: clear. + Add as many IP's as you wish. + Default value: all. + +gm_pass + It is the required password when a player wants to change its (normal) account to a GM (Game Master) account. + It is used by the @gm command. + Level of gm is set with level_new_gm parameter. + NOTICE: You should also change this one. + Default value: gm. CHANGES this default value to avoid player hack. + +level_new_gm + Level of new GM created with @gm command. (default: 60) + If you set to 0, you disable creation of new GM with @gm. + To be able to create a gm with @gm, you must: + - give a level to this value (not 0) + - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) + - 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 + Possible value: 0 to 99 + Default value: 60 + +new_account + It is whether to permit new account creation. + When allowed, the player must add _F or _M at the end of its login account to create a new account. + This extension of the account gives the sex of the new created account. + Without the _F/M, the account must have at least 4 characters. + The account will not have e-mail to protect characters against deletion. + The given password at first connection (when the account is created) is the account password. + The value can be: 1 (to allow creation) or 0 (to forbid creation). + Default value: 1. + +account_filename + It specifies the accounts save file. + Gives the accounts txt database name and path to stores accounts information. + Look into the file to have a short description of the database structure. + Can be omited, a default is save/account.txt. + Default value: save/account.txt. + +gm_account_filename + It specifies which account IDs have GM privileges, and what level they have. + We recommand to use only ID value lower than first normal player ID (2000000). + Levels ranges from 0 (no privilege/normal player) to 99 (highest privilege). + If you change a value inside this file, you must restart login-server to use the new value + or use reloadgm ladmin command. + Can be omited, a default is conf/GM_account.txt. + Default value: conf/GM_account.txt + +gm_account_filename_check_timer + Timer to check if GM_account file has been changed and reload GM account automaticaly + (in seconds) + Value: 0 (disabled), or 2 or more. + Default: 15 + +login_log_filename + Gives the log file name and path to stores logs information. + All operations done by the login-server are written in this file with a time stamp. + Default value: log/login.log + +login_log_unknown_packets_filename + Gives the file name and path of the file that logs the received unknown packets. + It's used for debug or hack check. + All information are displayed with the time stamp, the ip of the source, the packet number, + the number of received bytes and the detail of the packet with hex and text values. Example: + 01-06-2004 21:25:21.579: receiving of an unknown packet -> disconnection + parse_login: connection #5 (ip: 82.64.111.96), packet: 0x4e92 (with being read: 28). + Detail (in hex): + 92 4e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ’N.............. + 00 00 00 00 00 00 00 00 00 00 00 00 ............ + Default value: log/login_unknown_packets.log + +save_unknown_packets + It indicates if the unknown packets are saved or not. + The unknown packets received from the char-server or remote administration does not relate to this parameter, + because they are always saved. + The value can be: 1 (to save unknown packets) or 0 (to not save them). + Be careful: if you receive an attack, your hard disk can cause lag... + So, active this option with a speed hard disk or for debug only. + Default value: 0 + +display_parse_login + It indicates if you want display the parse of the packets received in a normal connection. + At all received packets in normal connection, the server display a message about the size and the value. + It's useful for debug. Possible values: 0: no (default), 1: yes. + Default value: 0 + +display_parse_admin + It's same of 'display_parse_login' parameter, but only for remote administration received packets. + It's useful for debug. Possible values: 0: no (default), 1: yes. + Default value: 0 + +display_parse_fromchar + It's same of 'display_parse_login' parameter, but only for char-server received packets. + It's useful for debug. Possible values: 0: no (default), 1: yes (without packet 0x2714), 2: all packets. + Default value: 0 + +date_format: + indicate how to display date in logs, to players, etc. + 0: 31-12-2004 23:59:59 + 1: 12-31-2004 23:59:59 + 2: 2004-31-12 23:59:59 + 3: 2004-12-31 23:59:59 + Default value: 3 + +min_level_to_connect + Indicate the minimum GM level of player that the server accepts to connection. + 0: all players (normal player are 0. it's default), or + 1-99: GM level at least with level x + Default value: 0 (any player or GM) + +add_to_unlimited_account + Give possibility to adjust (ladmin command: timeadd) the time of an unlimited account. + If set to on/1/yes..., the adjustment is be done from actual time to set the final time of the account. + If set to no/0/no..., the adjustment can not be done on an unlimited account. + You must set (ladmin command: timeset) a final time before to adjust (ladmin command: timeadd) + Default value: no + +start_limited_time + Starting additional sec from now for the limited time at creation of account + -1: new account are created with UNlimited time (default value) + 0 or more: new accounts was created by addition of the value (in sec) to the actual time (to set first limited time) + Default value: -1 + +check_ip_flag + It's to check IP of a player between login-server and char-server (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. + if not correct, you can read list of char-servers, but not look slots of characters (rejected by server). + Default value: yes + +order + This parameter controls how the login-server must use the 'allow' and 'deny' lists. + 'Allow' and 'deny' are used to do IP lists. + 3 possibilities: + 'deny,allow': to sum it up, it's like 'allow if not deny'. The login-server only checks the 'deny' list. + If the connected IP is in the 'deny' list, the login-server refuses the connection, otherwise it accepts it. + 'allow,deny': to sum it up, it's like 'deny if not allow'. The login-server only checks the 'allow' list. + If the connected IP is in the 'allow' list, the login-server accepts the connection, otherwise it refuses it. + 'mutual-failture': to sum it up, it's like 'allow if in allow list and not in the deny list'. + The login-server checks the 'allow' list. If the connected IP is in the 'allow' list, + the login-server checks it in the 'deny' list. If the connectec IP is not in the 'deny' list, + the login-server accepts the conection, otherwise it refuses it. + In this case, a non 'allow' IP or a 'deny' IP will be never accepted. + If you don't use allow AND deny, all ip are authorised. + Default value: deny,allow. + +allow + It's a list parameter. To add an item in this list, just add a new line. Each line can only have 1 parameter. + This list depends on the 'order' parameter (read 'order' parameter to known what the login-server do with this list). + This parameter accepts IP descriptions, like: + IP or the begining of IP: it's a characters match. Write an IP (123.456.789.012) or the begining of the IP (123.456.). + Because it's a characters match, the IP 123.4 matches with 123.4.xxx.yyy and 123.4z.xxx.yyy. So, add a final '.' to be sure of the IP. + Example: + allow: 127.0.0.1 + allow: 192.168.10. + IP with number of bits for a network: it's a logical match. Write the network like this: 123.456.789.012/<#_of_mask_bits> + Don't use the final '.', but use all four values. + Example: + allow: 127.0.0.1/32 (match only 1 IP, because 32 bits match all bits). + allow: 192.168.10/24 (matches the network begining by 192.168.10). + IP with mask of a network: it's a logical match. Write the network like this: 123.456.789.012/345.678.901.234 + Don't use the final '.', but use all four values for the IP and the mask. + Example: + allow: 127.0.0.1/255.255.255.255 (match only 1 IP). + allow: 192.168.10.0/255.255.255.0 (matches the network begining by 192.168.10). + all: matches any IP. + Example: + allow: all. + clear: clears the list at this point. Really useful for 'import' parameter, in the new configuration file. + Example: + allow: clear. + It does not support the backward match of host name. + Default value: <no list>. + +deny + This list works exactly like the 'allow' list, but for the 'deny' list. + +import + Gives an other configuration file to include in. + You must write the additionnal configuration file name and path. + The mentionned file can include any parameter of the login configuration. + You can create a chain or configuration files if necessary. + Default value: <no_additional_configuration_file>. + +<Example> +login_port: 6900 +admin_pass: admin +ladminallowip: all +gm_pass: gm +level_new_gm: 60 +new_account: 1 +account_filename: save/account.txt +gm_account_filename: conf/GM_account.txt +gm_account_filename_check_timer: 15 +login_log_filename: log/login.log +login_log_unknown_packets_filename: log/login_unknown_packets.log +save_unknown_packets: 0 +display_parse_login: 0 +display_parse_admin: 0 +display_parse_fromchar: 0 +date_format: 3 +min_level_to_connect: 0 +add_to_unlimited_account: off +start_limited_time: -1 +check_ip_flag: yes +order: deny,allow +//deny: all +//allow: 127.0.0.1 +//allow: 10.0. +//allow: 172.16.0.0/16 +//allow: 192.168.0.0/255.255.255.0 +//import: import/new_login.conf + +========================================================================== +2. conf/char_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + A setup of char-server (server which manages the character data in one world) + It ???. The name of a world, the password of a world, a server's IP, + A data file name etc. is described. + + +<Explanation of a key> + +userid + It is ID which this world uses. It registers with login-server. + ID of account is specified. + And also [ it uses it for connecting to map-server used in this world ] + It is used also for discernment of the world within login-server. + It is each when registering two or more worlds into the same login-server. + It is necessary to use another ID by char-server. + +passwd + It is a password corresponding to ID which this world uses. + It is used for the time of the registration to login-server, and connecting to map-server. + +server_name + It is the name of this world. It is displayed when logged in by the client. + +wisp_server_name + Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) + Default: Server + +login_ip + It is the IP address of login-server which registers a world seen from char-server. + +login_port + It is the port used by login-server. It can omit and a default is 6900. + +char_ip + It is the IP address of char-server seen from the client. + +char_port + It is the port used by char-server. It can omit and a default is 6121. + +email_creation + 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. + +char_txt + It is the data file name which stores character data. + It is not omissible. + +char_maintenance + If it is made 1, it will be in a maintenance state. + It can omit and a default is 0. + +char_new + If it is made 1, the time (new) of being displayed on a client will stick. + It can omit and a default is 0. + +max_connect_user + It is the maximum number of the user linked to a Char-server. + If it is made 0, the maximum number restrictions will be lost. + Please use to apply restriction of the connection number. + It can omit and a default is 0. + +check_ip_flag + 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. + default: yes + +autosave_time + It is time to save data automatically at a file. A unit is a second. + It can omit and a default is 300 (5 minutes). + +start_point + When a new character is created, it is the place where they start. + It describes like "a map file name, X coordinates, and Y coordinates." + It can omit and is a default. It is new_1-1.gat and 53,111. + +start_weapon: + Starting weapon for new characters + default value: 1201 (Knife) + +start_armor: + Starting armor for new characters + default value: 2301 (Cotton Shirt) + +start_zeny + When new character is made, the quantity of ZENY which it has from the start is set up. + Being able to omit, a default is 500. + +unknown_char_name + The name returned when the name request of character which does not exist in a character server is carried out + It sets up. Being able to omit, a default is Unknown. + +char_log_filename + A character server's log file is specified. + Being able to omit, a default is log/char.log. + +name_ignoring_case + Allow or not identical name for characters but with a different case (upper/lower): example: Test-test-TEST-TesT + 0 (default): no character can have same name, instead of the case (no Test-TEST...) + 1: more than 1 of character can have same name if names are not using same case (one with Test, another with TEST, etc...) + +char_name_option + 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. + default: 0. + +char_name_letters + Set the letters/symbols that you want use with the 'char_name_option' option. + Note: add 'space' between 2 others letters/symbols. + default: void. + +online_txt_filename + It sets the filename of the file which receives the online players list in text + default: online.txt + +online_html_filename + It sets the filename of the file which receives the online players list, but in html version + default: online.html + +online_sorting_option + It sets how to display online players in the txt/html files. + 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 + Note: sorting operation with a lot of online players can take time on a slow computer. + +online_display_option + It sets 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_gm_display_min_level + minimum GM level to display 'GM' when we want to display it. + default value: 1 (any GM) + +online_refresh_html + refresh time (in sec) of the html file in the explorer + default: 20 + +import + The line is replaced with the contents of another file. + + +< Example > +userid: s1 +passwd: p1 +server_name: eAthena +wisp_server_name: Server +login_ip: 127.0.0.1 +login_port: 6900 +char_ip: 127.0.0.1 +char_port: 6121 +email_creation: 0 +char_txt: save/athena.txt +char_maintenance: 0 +char_new: 0 +max_connect_user: 0 +check_ip_flag: yes +autosave_time: 15 +start_point: new_1-1.gat,53,111 +start_weapon: 1201 +start_armor: 2301 +start_zeny: 500 +unknown_char_name: Unknown +char_log_filename: log/char.log +name_ignoring_case: 0 +char_name_option: 0 +//char_name_letters: +online_txt_filename: online.txt +online_html_filename: online.html +online_sorting_option: 0 +online_display_option: 1 +online_gm_display_min_level: 1 +online_refresh_html: 20 +//import: import/new_char.conf + + +========================================================================== +3. conf/inter_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + A setup of inter-server (server which manages the global data in one world) + It ???. A data file name etc. is described. + (It is operating as a part of char-server in program now.) + +< Explanation of a key > + +storage_txt + It is the file name which stores warehouse data. + It can omit and is a default. It is save/storage.txt. + +party_txt + It is the file name which stores party data. + It can omit and is a default. It is save/party.txt. + +guild_txt + It is the file name which stores guild data. + It can omit and is a default. It is save/guild.txt. + +pet_txt + It is the file name which stores pet data. + It can omit and is a default. It is save/pet.txt. + +castle_txt + It is the file name which stores the castle data of a guild. + It can omit and is a default. It is save/castle.txt. + +guild_storage_txt + It is the file name which stores guild warehouse data. + Being able to omit, a default is save/g_storage.txt. + +accreg_txt + It is the file name which stores the account share variable data in a world. + It can omit and is a default. It is save/accreg.txt. + +party_share_level + The restriction level of a fair distribution party is set up. + Being able to omit, a default is 10. + +inter_log_filename + An interchange server's log file is specified. + Being able to omit, a default is log/inter.log. + +import + The line is replaced with the contents of another file. + + +< Example > +storage_txt: save/storage.txt +party_txt: save/party.txt +guild_txt: save/guild.txt +pet_txt: save/pet.txt +castle_txt: save/castle.txt +guild_storage_txt: save/g_storage.txt +accreg_txt: save/accreg.txt +party_share_level: 10 +inter_log_file: log/inter.log + + +========================================================================== +4. conf/map_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + A fundamental setup of map-server (server which manages game advance on the map in his duty) + It ???. + + +< Explanation of a key > + +userid + It is ID which this world uses. It is used for the connecting to char-server. + +passwd + It is a password corresponding to ID which this world uses. + +char_ip + map-server‚©‚ç‚Ý‚½A‚±‚̃T[ƒo[‚ª’S“–‚·‚éƒ}ƒbƒv‚̃[ƒ‹ƒh‚ðŠÇ—‚·‚é + char-server‚ÌIP‚Å‚·B + +char_port + ƒ}ƒbƒv‚ð“o˜^‚·‚échar-server‚̃|[ƒg‚Å‚·BÈ—ª‰Â”\‚ŃfƒtƒHƒ‹ƒg‚Í6121‚Å‚·B + +map_ip + ƒNƒ‰ƒCƒAƒ“ƒg‚©‚猩‚½‚±‚Ìmap-server‚ÌIP‚Å‚·B + +map_port + map-server‚ÅŽg—p‚·‚éƒ|[ƒg‚Å‚·BÈ—ª‰Â”\‚ŃfƒtƒHƒ‹ƒg‚Í5121‚Å‚·B + +autosave_time + ƒf[ƒ^‚ðŽ©“®“I‚ɃLƒƒƒ‰ŽI‚É‘—‚鎞ŠÔ‚Å‚·B’PˆÊ‚Í•b‚Å‚·B + È—ª‰Â”\‚ŃfƒtƒHƒ‹ƒg‚Í60(1•ª)‚Å‚·B + +water_height + …ê‚Ì‚‚³‚ðŽw’è‚·‚éƒtƒ@ƒCƒ‹‚ðŒˆ‚ß‚Ü‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Íconf/water_height.txt‚Å‚·B + +motd_txt + Message of the Dayƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Íconf/motd.txt‚Å‚·B + +help_txt + @help‚Å•\Ž¦‚·‚éƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Íconf/help.txt‚Å‚·B + +mapreg_txt + MAPƒT[ƒo[“àƒLƒƒƒ‰ƒNƒ^[‹¤—L•Ï”‚ð•Û‘¶‚·‚éƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Ísave/mapreg_txt‚Å‚·B + +data_grf + ROƒf[ƒ^ƒtƒ@ƒCƒ‹ data.grf ‚ւ̃pƒX‚Å‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Í ./data.grf ‚Å‚·B + grf-files.txt‚ª‚ ‚éꇂ»‚¿‚ç‚Ìݒ肪—D悳‚ê‚Ü‚·B + +sdata_grf + ƒTƒNƒ‰ƒCƒf[ƒ^ƒtƒ@ƒCƒ‹ sdata.grf ‚ւ̃pƒX‚Å‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Í ./sdata.grf ‚Å‚·B + grf-files.txt‚ª‚ ‚éꇂ»‚¿‚ç‚Ìݒ肪—D悳‚ê‚Ü‚·B + +adata_grf + ƒ¿ƒf[ƒ^ƒtƒ@ƒCƒ‹ adata.grf ‚ւ̃pƒX‚Å‚·B + È—ª‰Â”\‚ÅAƒfƒtƒHƒ‹ƒg‚Í ./adata.grf ‚Å‚·B + grf-files.txt‚ª‚ ‚éꇂ»‚¿‚ç‚Ìݒ肪—D悳‚ê‚Ü‚·B + +npc + “Ç‚Ýž‚Þnpcƒf[ƒ^ƒtƒ@ƒCƒ‹‚ւ̃pƒX‚Å‚·B + •¡”Žw’è‰Â”\‚ÅAŽw’肵‚½‡‚Ƀ[ƒh‚µ‚Ü‚·B + clear ‚ðŽw’è‚·‚é‚Æ‚»‚ê‚Ü‚Å‚É“o˜^‚µ‚½ƒpƒX‚ð‘S‚Ä휂µ‚Ü‚·B + +delnpc + “Ç‚Ýž‚Ü‚È‚¢npcƒtƒ@ƒCƒ‹‚ւ̃pƒX‚Å‚·B + Žw’肵‚½ƒpƒX‚Ínpc‚ÅŽw’肳‚ꂽƒf[ƒ^ƒtƒ@ƒCƒ‹ƒŠƒXƒg‚©‚ç휂³‚ê‚Ü‚·B + all ‚ðŽw’è‚·‚é‚Æ‘S‚Ä휂µ‚Ü‚·( npc: clear ‚Æ“¯‹`)B + +map + ‚±‚̃}ƒbƒv‚ª’S“–‚·‚éƒ}ƒbƒvƒtƒ@ƒCƒ‹–¼‚Å‚·B + •¡”Žw’è‰Â”\‚ÅAŽw’肵‚½‡‚Ƀ[ƒh‚µ‚Ü‚·B + ‘¶Ý‚µ‚È‚¢ƒ}ƒbƒv‚ðŽw’肵‚½ê‡ƒGƒ‰[‚É‚È‚è‚Ü‚·B + clear ‚ðŽw’è‚·‚é‚Æ‚»‚ê‚Ü‚Å‚É“o˜^‚µ‚½ƒtƒ@ƒCƒ‹–¼‚ð‘S‚Ä휂µ‚Ü‚·B + +delmap + “Ç‚Ýž‚Ü‚È‚¢ƒ}ƒbƒvƒtƒ@ƒCƒ‹‚ւ̃pƒX‚Å‚·B + Žw’肵‚½ƒtƒ@ƒCƒ‹‚Ímap‚ÅŽw’肳‚ꂽƒŠƒXƒg‚©‚ç휂³‚ê‚Ü‚·B + all ‚ðŽw’è‚·‚é‚Æ‘S‚Ä휂µ‚Ü‚·( map: clear ‚Æ“¯‹`)B + +import + ‚»‚Ìs‚ð•Êƒtƒ@ƒCƒ‹‚Ì’†g‚Æ’u‚«Š·‚¦‚Ü‚·B + +< Example > + +userid: s1 +passwd: p1 +char_ip: 127.0.0.1 +char_port: 6121 +map_ip: 127.0.0.1 +map_port: 5121 +autosave_time: 60 +nullpo_check: 1 +water_height: conf/water_height.txt +data_grf: ./data.grf +sdata_grf: ./sdata.grf +npc: conf/warp/npc_warp.txt +npc: conf/warp/npc_warp25.txt +npc: conf/warp/npc_warp3.txt +npc: conf/mob/npc_monster3J.txt +map: prontera.gat +map: prt_castle.gat +inpcAmap‚Í‘½‚¢‚Ì‚ÅÈ—ªj +delnpc: conf/sample/npc_test.txt +npc: clear +delmap: prontera.gat +delmap: all + +========================================================================== +5. conf/battle_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + Battle relation of map-server (server which manages game advance on the map in his duty), + Other setup is described. + All setup can be omitted and a default value is used at the time of an abbreviation. + +< The special character sequence which can be specified to be a value > + + yes on It is processed as 1. (Effective meaning) + no off It is processed as 0. (Invalid meaning) + + +< Explanation of a key > + +warp_point_debug + ƒ[ƒvƒ|ƒCƒ“ƒg‚ð•’Ê‚É•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚Æ + ƒ[ƒvƒ|ƒCƒ“ƒg‚Ì‚©‚í‚è‚ɃMƒ‹ƒhƒtƒ‰ƒO‚ª‚»‚ÌꊂÉo‚ă[ƒv + ƒ|ƒCƒ“ƒg‚Ì–¼‘O‚ðŠm”F‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +enemy_critical + ƒvƒŒƒCƒ„[‚Æ“¯‚¶LUK‚É‚æ‚éƒNƒŠƒeƒBƒJƒ‹”»’è‚ðMOB‚ƃyƒbƒg‚É—LŒø‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚̃NƒŠƒeƒBƒJƒ‹‚Í‚à‚¿‚ë‚ñ•K’†‚È‚Ì‚ÅAon‚É‚·‚é‚Æ‚Flee‚Å‚àA + LUK‚Ì‚‚¢“G‚ÌUŒ‚‚ª”ð‚¯‚Ã‚ç‚‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +enemy_critical_rate + ƒ‚ƒ“ƒXƒ^[‚ƃyƒbƒg‚̃NƒŠƒeƒBƒJƒ‹•p“x‚Ì•S•ª—¦‚Å‚·Benemy_critical‚ªyes‚¶‚á‚È‚¢‚Æݒ肵‚Ä‚à‰½‚̈Ӗ¡‚à‚ ‚è‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +enemy_str + ƒ‚ƒ“ƒXƒ^[‚Ì‚ªUŒ‚‚·‚é‚Æ‚«‚ÌATKŒvŽZ‚ÉSTR‚ðŽg—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +enemy_perfect_flee + “G‚ªŠ®‘S‰ñ”ð‚ð‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚Æ“G‚àŠ®‘S‰ñ”ð‚ð + ‚·‚é‚悤‚É‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +casting_rate + ƒXƒLƒ‹‚̉r¥ŽžŠÔ‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 200‚É‚·‚é‚Ɖr¥ŽžŠÔ‚ª”{‚É‚È‚èA0‚É‚·‚é‚Ɖr¥‚ª‚È‚‚È‚è‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +delay_rate + ƒXƒLƒ‹Žg—pŒãƒfƒBƒŒƒC‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 200‚É‚·‚é‚ƃfƒBƒŒƒC‚ª”{‚É‚È‚èA0‚É‚·‚é‚ƃfƒBƒŒƒC‚ª‚È‚‚È‚è‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +delay_dependon_dex + ƒXƒLƒ‹Žg—pŒãƒfƒBƒŒƒC‚ª‰r¥ŽžŠÔ‚Æ“¯‚¶‚悤‚ÉDEX‚ʼne‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚ð + Žw’肵‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +skill_delay_attack_enable + ƒXƒLƒ‹ƒfƒBƒŒƒC‚ÌŠÔUŒ‚‚Å‚«‚é‚©‚Ç‚¤‚©‚Å‚·Byes‚É‚·‚ê‚΃XƒLƒ‹ƒfƒBƒŒƒC‚ÌŠÔƒXƒLƒ‹‚ÍŽg‚¦‚È‚¢‚¯‚ÇUŒ‚‚Í‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +left_cardfix_to_right + “ñ“—¬‚̶Žè•Ší‚ÌŽí‘°A‘®«ASize‚̃_ƒ[ƒW•â³‚ð‰EŽè•Ší‚É“K—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚ƶŽè•Ší‚É‚ÍŽí‘°A‘®«ASize‚̃_ƒ[ƒW•â³‚ªŠ|‚©‚ç‚È‚‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +player_skill_add_range + ƒvƒŒƒCƒ„[‚̃XƒLƒ‹ŽË’ö‚©‚ç“G‚ª—£‚ꂽŽž‚Ç‚ê‚®‚ç‚¢‚Ì‹——£‚܂ŃXƒLƒ‹‚ðŽg—p‰Â”\‚É‚·‚é‚©‚ðŒˆ‚ß‚Ü‚·BƒXƒLƒ‹‚ÌŽË’ö+player_skill_add_range‚܂ŃXƒLƒ‹‚ª“Í‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·‚ª‚µ‚Í“ü‚ꂽ•û‚ª‚¢‚¢‚Å‚·B + +skill_out_range_consume + ƒXƒLƒ‹‚ÌŽË’ö‚©‚ç“G‚ª—£‚ê‚ăXƒLƒ‹‚ªŽ¸”s‚µ‚½ŽžSP‚âƒAƒCƒeƒ€‚ðÁ–Õ‚·‚é‚©‚Ç‚¤‚©‚Å‚·BƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +monster_skill_add_range + ƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹ŽË’ö‚©‚ç“G‚ª—£‚ꂽŽž‚Ç‚ê‚®‚ç‚¢‚Ì‹——£‚܂ŃXƒLƒ‹‚ðŽg—p‰Â”\‚É‚·‚é‚©‚ðŒˆ‚ß‚Ü‚·BƒXƒLƒ‹‚ÌŽË’ö+monster_skill_add_range‚܂ŃXƒLƒ‹‚ª“Í‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +player_damage_delay + ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚ªƒ_ƒ[ƒW‚ðŽó‚¯‚½ŽžˆÚ“®‚Å‚«‚È‚¢ƒfƒBƒŒƒC‚ð“ü‚ê‚é‚©‚Ç‚¤‚©‚Å‚·B + yes‚É‚·‚é‚ƃCƒ“ƒfƒ…ƒA‚Å‚àŽg‚í‚È‚¢ŒÀ‚èƒ_ƒ[ƒW‚ðŽó‚¯‚½Žž + ‚µ‚΂炂͓®‚«‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +player_damage_delay_rate + ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚ªƒ_ƒ[ƒW‚ðŽó‚¯‚½ŽžˆÚ“®‚Å‚«‚È‚¢ƒfƒBƒŒƒC‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 200‚É‚·‚é‚ƃfƒBƒŒƒC‚ª”{‚É‚È‚èA0‚É‚·‚é‚ƃfƒBƒŒƒC‚ª‚È‚‚È‚è‚Ü‚·B + player_damage_delay‚ªyes‚É‚µ‚Ä‚È‚¢‚ƈӖ¡‚ª‚ ‚è‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +defunit_not_enemy + –hŒäƒ†ƒjƒbƒgiƒZƒCƒtƒeƒBƒEƒH[ƒ‹/ƒjƒ…[ƒ}‚È‚Çj‚ªMOB‚ÉŒø‰Ê‚ð + ‹y‚Ú‚³‚È‚¢‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·BƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +random_monster_checklv + ƒ‚ƒ“ƒXƒ^[¢ŠÒƒAƒCƒeƒ€‚ðŽg‚Á‚½‚Æ‚«‚ÉŽ©•ª‚æ‚èLV‚Ì‚‚¢ƒ‚ƒ“ƒXƒ^[‚ð¢ŠÒ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + yes‚É‚·‚é‚ÆAŽ©•ª‚æ‚èLV‚Ì‚‚¢ƒ‚ƒ“ƒXƒ^[‚ð¢ŠÒ‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +attribute_recover + ‘®«‚É‚æ‚Á‚ÄUŒ‚‚³‚ê‚Ä‚à‰ñ•œ‚·‚é‚©‚Ç‚¤‚©‚Å‚·Bno‚ÌꇂÍ-‘®«‚ð + 0‚É‚µ‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +item_auto_get + ƒAƒCƒeƒ€Ž©“®Žæ“¾‹@”\‚ðŽg—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + yes‚É‚·‚é‚ƃAƒCƒeƒ€ƒhƒƒbƒv‚ðƒ‚ƒ“ƒXƒ^[‚Ɉê”Ô‘½‚ƒ_ƒ[ƒW‚ð—^‚¦‚½ƒLƒƒƒ‰‚ª + Ž©“®‚ŃAƒCƒeƒ€‚ðŽæ“¾‚·‚é‚悤‚É‚È‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +flooritem_lifetime + °‚É—Ž‚¿‚½ƒAƒCƒeƒ€‚ªÁ‚¦‚é‚Ü‚Å‚©‚©‚鎞ŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í60000(60•b)‚ÅŬ‚Í1000(1•b)‚Å‚·B1000–¢–ž‚È‚çƒfƒtƒHƒ‹ƒg‚ɃZƒbƒg‚³‚ê‚Ü‚·B + +item_first_get_time + ƒ‚ƒ“ƒXƒ^[‚Ɉê”Ôƒ_ƒ[ƒW‚𑽂—^‚¦‚½ƒLƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚Ì + ƒhƒƒbƒvƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚ÌŽžŠÔ‚Å‚·B + ’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í10000(10•b)‚Å‚·B + +item_second_get_time + item_first_get_time‚̌ヂƒ“ƒXƒ^[‚É“ñ”ԖڂɃ_ƒ[ƒW‚𑽂—^‚¦‚½ + ƒLƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚̃hƒƒbƒvƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚Ì + ŽžŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í7000(7•b)‚Å‚·B + +item_third_get_time + item_second_get_time‚̌ヂƒ“ƒXƒ^[‚ÉŽO”ԖڂɃ_ƒ[ƒW‚𑽂—^‚¦‚½ + ƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚̃hƒƒbƒvƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚Ì + ŽžŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í5000(5•b)‚Å‚·B + +mvp_item_first_get_time + ƒ‚ƒ“ƒXƒ^[‚Ɉê”Ôƒ_ƒ[ƒW‚𑽂—^‚¦‚½ƒLƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚Ì + MVPƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚ÌŽžŠÔ‚Å‚·B + ’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í10000(10•b)‚Å‚·B + +mvp_item_second_get_time + mvp_item_first_get_time‚̌ヂƒ“ƒXƒ^[‚É“ñ”ԖڂɃ_ƒ[ƒW‚𑽂—^‚¦‚½ + ƒLƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚ÌMVPƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚Ì + ŽžŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í10000(10•b)‚Å‚·B + +mvp_item_third_get_time + mvp_item_second_get_time‚̌ヂƒ“ƒXƒ^[‚ÉŽO”ԖڂɃ_ƒ[ƒW‚𑽂—^‚¦‚½ + ƒLƒƒƒ‰ˆÈŠO‚ª‚»‚̃‚ƒ“ƒXƒ^[‚ÌMVPƒAƒCƒeƒ€‚ðŽæ‚ê‚é‚悤‚É‚È‚é‚Ü‚Å‚Ì + ŽžŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í2000(2•b)‚Å‚·B + +item_rate + ƒAƒCƒeƒ€ƒhƒƒbƒv—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +drop_rate0item + —Ž‰ºŠm—¦0‚̃AƒCƒeƒ€(ˆê•”ƒ‚ƒ“ƒXƒ^[‚É‚¨‚¯‚郊ƒ“ƒS)‚𗎉º‚·‚é‚©‚Ç‚¤‚©‚ÌÝ’è‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +base_exp_rate + BaseEXP‚ÌŠ“¾”{—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +job_exp_rate + JobEXP‚ÌŠ“¾”{—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +death_penalty_type + ƒfƒXƒyƒiƒ‹ƒeƒB‚̃^ƒCƒv‚ðŒˆ’è‚µ‚Ü‚·B + 0‚ÅŽ€‚ñ‚¾ŒãƒŠƒXƒ^[ƒg‚·‚鎞‚É“K—p‚ÅŽ‚Á‚Ä‚¢‚éEXP‚Ì—Ê‚©‚ç”ä—¦‚Ì•ª‚ðŒ¸‚ç‚·Žd—lA1‚ÅŽ€‚ñ‚¾’¼Œã‚É“K—p‚ÅŽ‚Á‚Ä‚¢‚éEXP‚Ì—Ê‚©‚ç”ä—¦‚Ì•ª‚ðŒ¸‚ç‚·Žd—l‚Å‚·B + 2‚ÅŽ€‚ñ‚¾ŒãƒŠƒXƒ^[ƒg‚·‚鎞‚É“K—p‚ÅŽŸ‚̃Œƒxƒ‹ƒAƒbƒv‚Ü‚Å‚ÌEXP‚©‚ç”ä—¦‚Ì•ª‚ðŒ¸‚ç‚·Žd—lA3‚ÅŽ€‚ñ‚¾’¼Œã‚É“K—p‚ÅŽŸ‚̃Œƒxƒ‹ƒAƒbƒv‚Ü‚Å‚ÌEXP‚©‚ç”ä—¦‚Ì•ª‚ðŒ¸‚ç‚·Žd—l‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +death_penalty_base + ƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éBASEŒoŒ±’lŒ¸—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + ‚ ‚Ü‚è’á‚·‚¬‚é’l‚ðŽg‚¤‚ÆŒ¸‚è‚Ü‚¹‚ñB’PˆÊ‚Í0.01%‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +death_penalty_job + ƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éJOBŒoŒ±’lŒ¸—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + ‚ ‚Ü‚è’á‚·‚¬‚é’l‚ðŽg‚¤‚ÆŒ¸‚è‚Ü‚¹‚ñB’PˆÊ‚Í0.01%‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +zeny_penalty + Ž€‚ñ‚¾Žž–³‚‚È‚éƒ[ƒj—ʂ̔䗦‚Å‚·B’PˆÊ‚Í0.01%‚Å‚·BŽ€‚ñ‚¾Žž + Œ¸‚é‚킯‚Å‚Í‚È‚Ž€‚ñ‚¾ŒãƒZ[ƒ”ƒ|ƒCƒ“ƒg‚ɖ߂鎞“K—p‚³‚ê‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +restart_hp_rate + ƒŠƒXƒ^[ƒg‚·‚鎞‚ɉñ•œ‚·‚éHP”ä—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B’PˆÊ‚Í%‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B0‚Ìê‡1‰ñ•œ‚É‚È‚è‚Ü‚·B + +restart_sp_rate + ƒŠƒXƒ^[ƒg‚·‚鎞‚ɉñ•œ‚·‚éSP”ä—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B’PˆÊ‚Í%‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B0‚Ìꇂ͉ñ•œ‚µ‚Ü‚¹‚ñB + ‚»‚µ‚ÄSP‚ª”ä—¦‚æ‚è‚‚¢ê‡‚à‰ñ•œ‚µ‚Ü‚¹‚ñB + +mvp_hp_rate + MVP ƒ‚ƒ“ƒXƒ^[‚ÌHP‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +mvp_item_rate + MVPƒAƒCƒeƒ€‚ÌŠ“¾”{—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +mvp_exp_rate + MVP EXP‚ÌŠ“¾”{—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +monster_hp_rate + MVP ˆÈŠO‚̃‚ƒ“ƒXƒ^[‚ÌHP‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +monster_max_aspd + ƒ‚ƒ“ƒXƒ^[‚ÌÅ‘åUŒ‚‘¬“x‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í199‚Å‚·BÅ‘å‚Í199‚ÅŬ‚Í100‚Å‚·B + +atcommand_gm_only + —ƒRƒ}ƒ“ƒh‚ðGMê—p‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +gm_all_skill + ‘S‚ẴXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚é‚悤‚É‚·‚éGM‚̃Œƒxƒ‹‚ðݒ肵‚Ü‚·B + ‚±‚ê‚ð0ˆÈŠO‚É‚·‚é‚ÆA‚»‚ÌGMƒŒƒxƒ‹ˆÈã‚ÌGM‚ÍJOB‚âƒXƒLƒ‹Š“¾ðŒ‚ÉŠÖŒW‚È‚‘SƒXƒLƒ‹‚ªŠo‚¦‚ç‚ê‚Ü‚·B(ƒNƒFƒXƒgƒXƒLƒ‹‚àŠÜ‚ß‚Ä) + ƒfƒtƒHƒ‹ƒg‚Í 0 ‚Å‚·B0‚ÌꇂÍGM‚Å‚Í‚È‚¢‘S‚ẴLƒƒƒ‰‚̈Ӗ¡‚Å‚Í‚È‚‘S‚Ä‚ÌGM‚ª‘S‚ẴXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚È‚¢‚ÆŒ¾‚¤‚±‚Æ‚Å‚·B + +gm_all_equipment + ‘S‚Ä‚Ì‘•”õ•i‚ð‘•”õ‚Å‚«‚é‚悤‚É‚·‚éGM‚̃Œƒxƒ‹‚ðݒ肵‚Ü‚·B + ‚±‚ê‚ð0ˆÈŠO‚É‚·‚é‚ÆA‚»‚ÌGMƒŒƒxƒ‹ˆÈã‚ÌGM‚ÍJOB‚⃌ƒxƒ‹A«•Ê‚ÉŠÖŒW‚È‚ + ‘S‘•”õ•i‚ð‘•”õ‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B‚½‚¾‚µAƒNƒ‰ƒCƒAƒ“ƒg‘¤‚ŃGƒ‰[‚ð + ‹N‚±‚·‘g‚݇‚킹‚à‚ ‚é‚ÆŽv‚¢‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Í 0 ‚Å‚·B + 0‚Ìꇂ͑S‚Ä‚ÌGM‚Í’ÊíƒvƒŒƒCƒ„[‚Æ“¯‚¶”»’肪s‚í‚ê‚Ü‚·B + +gm_skill_unconditional + –³ðŒ‚ɃXƒLƒ‹‚ðŽg—p‚Å‚«‚é‚悤‚É‚·‚éGM‚̃Œƒxƒ‹‚ðݒ肵‚Ü‚·B + ‚±‚ê‚ð0ˆÈŠO‚É‚·‚é‚ÆA‚»‚ÌGMƒŒƒxƒ‹ˆÈã‚ÌGM‚Í‘•”õ•Ší‚âÁ”ïƒAƒCƒeƒ€‚Ì—L–³ + ‚È‚Ç‚ÉŠÖŒW‚È‚A‚»‚µ‚ĉ½‚àÁ”ï‚·‚邱‚Æ‚È‚ƒXƒLƒ‹‚ðŽg—p‚Å‚«‚é‚悤‚É + ‚È‚è‚Ü‚·B”»’舗‚𖳎‹‚·‚é‚Ì‚Å“®ì‚É•s“s‡‚ª‚Å‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í 0 ‚Å‚·B 0‚Ìꇂ͑S‚Ä‚ÌGM‚Í’ÊíƒvƒŒƒCƒ„[‚Æ“¯‚¶”»’肪 + s‚í‚ê‚Ü‚·B + +player_skillfree + ƒXƒLƒ‹ƒcƒŠ[‚ÉŠÖŒW‚È‚ƒXƒLƒ‹‚ðã‚°‚邱‚Æ‚ª‚Å‚«‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚ê‚΃vƒŒƒCƒ„[‚ÌE‹Æ‚ÅK‚¤‚±‚Æ‚ª‚Å‚«‚éƒXƒLƒ‹‘S‚Ä‚ð + ƒXƒLƒ‹ƒcƒŠ[‚ÉŠÖŒW‚È‚ã‚°‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +player_skillup_limit + ƒXƒLƒ‹ƒŠƒZƒbƒg“™‚ð‚µ‚½ŽžƒXƒLƒ‹‚ð§ŒÀ‚È‚µ‚Éã‚°‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚ê‚ÎŽn‚߂̃XƒLƒ‹ƒ|ƒCƒ“ƒg9‚‚̓m[ƒrƒX‚ÅK‚¤ƒXƒLƒ‹‚É‚µ‚© + Žg‚¦‚Ü‚¹‚ñB‚»‚µ‚Ä‚»‚ÌŒã‚Ì39‚Í1ŽŸE‹Æ‚ÅK‚¤•¨‚É‚¾‚¯Žg‚¦‚Ä‚»‚ÌŒã‚Ì + ƒ|ƒCƒ“ƒg‚ÍŽ©—R‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +weapon_produce_rate + •Ší»‘¢ƒXƒLƒ‹‚Å‚Ì»‘¢¬Œ÷—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +potion_produce_rate + ƒ|[ƒVƒ‡ƒ“»‘¢ƒXƒLƒ‹‚Å‚Ì»‘¢¬Œ÷—¦‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +monster_active_enable + æUƒ‚ƒ“ƒXƒ^[‚ðæU‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðno‚É‚·‚é‚Æ + æUƒ‚ƒ“ƒXƒ^[‚ª”ñæU‚É‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +monster_damage_delay_rate + ƒ‚ƒ“ƒXƒ^[‚ªƒ_ƒ[ƒW‚ðŽó‚¯‚½ŽžˆÚ“®‚Å‚«‚È‚¢ƒfƒBƒŒƒC‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + 200‚É‚·‚é‚ƃfƒBƒŒƒC‚ª”{‚É‚È‚èA0‚É‚·‚é‚ƃfƒBƒŒƒC‚ª‚È‚‚È‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +monster_loot_type + ƒ‹[ƒgƒ‚ƒ“ƒXƒ^[‚Ìs“®‚ÌŽd•û‚ðŽw’肵‚Ü‚·B + 0‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂĂà‚Ü‚½ƒAƒCƒeƒ€‚ðH‚ׂÄA + ‘O‚̃AƒCƒeƒ€‚ªÁ‚¦‚éŽd—lB1‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂé‚Æ + ‚à‚¤ƒAƒCƒeƒ€‚ðH‚ׂȂ‚È‚éŽd—lBƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +mob_skill_use + MOB‚ªƒXƒLƒ‹‚ðŽg‚Á‚Ä‚‚é‚©‚Ç‚¤‚©‚Å‚·BƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +mob_count_rate + map_athena.conf‚ÅŽw’肳‚ꂽnpcƒf[ƒ^‚ð“Ç‚Ýž‚ÞÛA + monster‚Å’è‹`‚³‚ꂽ”z’uMOB‚Ì”‚ð•S•ª—¦‚Å’²®‚µ‚Ü‚·B + —áŠO‚Æ‚µ‚ÄA”z’u”1‚Æ‚µ‚Ä’è‹`‚³‚ꂽMOB‚Ì”‚Í•Ï‚í‚è‚Ü‚¹‚ñB(BOSS‘Îô) + ‚Ü‚½A”z’u”‚ð‰º•ûC³‚µ‚½‚Æ‚«A1–¢–ž‚É‚È‚Á‚½ê‡‚Í1‚Æ‚µ‚Ĉ—‚µ‚Ü‚·B + 0-1000’ö“x‚ÅŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +quest_skill_learn + ƒNƒFƒXƒgƒXƒLƒ‹‚ð•’Ê‚ÉK“¾‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚é‚ƃNƒFƒXƒgƒXƒLƒ‹‚ª•’Ê‚É•\Ž¦‚³‚ê‚ăXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽg‚Á‚ÄK“¾‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í no‚Å‚·B + +quest_skill_reset + ƒXƒLƒ‹‚ðƒŠƒZƒbƒg‚·‚鎞ƒNƒFƒXƒgƒXƒLƒ‹‚ðƒŠƒZƒbƒg‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + no‚É‚µ‚Ä‚àquest_skill_learn‚ðyes‚É‚·‚ê‚΃ŠƒZƒbƒg‚³‚ê‚Ü‚·B + +basic_skill_check + À‚èAŒðŠ·Aƒp[ƒeƒBŒ‹¬Aƒ`ƒƒƒbƒgƒ‹[ƒ€ì‚è“™‚ÌŽžŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðno‚É‚·‚ê‚ÎÀ‚èAŒðŠ·“™‚ÌŠî–{ƒXƒLƒ‹‚ª•K—v‚Ès“®‚ðŠî–{ƒXƒLƒ‹‚ÉŠÖŒW‚È‚Žg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í yes‚Å‚·B + +guild_emperium_check + ƒMƒ‹ƒh‚ðì‚鎞ƒGƒ“ƒyƒŠƒEƒ€‚ðÁ”ï‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðno‚É‚·‚ê‚Î + ƒGƒ“ƒyƒŠƒEƒ€‚È‚µ‚Å‚àƒMƒ‹ƒh‚ªì‚ê‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í yes‚Å‚·B + +guild_exp_limit + ƒMƒ‹ƒh‚Ì–ðE‚ÉÝ’è‚Å‚«‚éã”[ŒoŒ±’l‚ÌŠ„‡‚ÌãŒÀ‚ðÝ’è‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í50(%)‚Å‚·B + +player_invincible_time + ƒ}ƒbƒvˆÚ“®‚âƒeƒŒƒ|[ƒgA•œŠˆ‚µ‚½Žž‚Ì–³“GŽžŠÔ‚ðݒ肵‚Ü‚·B’PˆÍ‚Í + ms(ƒ~ƒŠ•b)BˆÚ“®AUŒ‚s“®AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚ð‚·‚é‚Æ‚±‚Ì + ŽžŠÔ‚Í‚È‚‚È‚éB(ƒV[ƒYƒ‚[ƒh‚Å‚ÍŽžŠÔ‚ð2”{‚É‚µ‚Ä“K—p) + ƒfƒtƒHƒ‹ƒg‚Í5000(5•b)‚Å‚·B + +pet_catch_rate + ƒyƒbƒg‚̕ߊl”{—¦‚ð•S•ª—¦‚Åݒ肵‚Ü‚·B + 0-1000’ö“x‚Ì”’l‚ðŽw’肵‚Ä‚‚¾‚³‚¢BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B +pet_rename + ƒyƒbƒg‚Ì–¼‘O‚ð•ÏX‚·‚é‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + yes‚͉½“x‚Å‚à–¼‘O‚Ì•ÏX‚ª‰Â”\Bno‚͈ê“x•ÏX‚·‚é‚Æ‚à‚¤•ÏX•s‰Â”\‚É‚È‚éB + +pet_friendly_rate + ƒyƒbƒg‚ɉa‚ð‚ ‚°‚½Žžã‚ª‚ée–§“x‚Ì”{—¦‚Å‚·B + e–§“x‚ªŒ¸‚éꇂ͓K—p‚³‚ê‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +pet_hungry_delay_rate + ƒyƒbƒg‚Ì• ‚ªŒ¸‚鎞ŠÔ‚Ì”{—¦‚Å‚·B + ”{—¦‚ª‚‚¢‚Æ• ‚ªŒ¸‚è“ï‚‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +pet_hungry_friendly_decrease + ƒyƒbƒg‚Ì• ‚ªŠ®‘S‚ÉŒ¸‚Á‚½ŽžŒ¸‚ée–§“x‚Ì—Ê‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í5‚Å‚·B + +pet_str + ƒyƒbƒg‚ÌATKŒvŽZ‚ÉSTR‚ð“K—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +pet_status_support + ƒyƒbƒg‚É‚æ‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚ð“K—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·Byes‚É‚·‚é‚Æ + ƒyƒbƒg‚ðŽ‚Á‚Ă鎞ƒyƒbƒg–ˆ‚Éݒ肳‚ê‚Ä‚¢‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚ª + •t‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +pet_attack_support +pet_damage_support + Žål‚ªƒ‚ƒ“ƒXƒ^[‚Ƀ_ƒ[ƒW‚ð—^‚¦‚½‚Æ‚«AŽó‚¯‚½‚Æ‚«‚É + ƒyƒbƒg‚ªŽx‰‡UŒ‚‚ð‚·‚é‚©‚Ç‚¤‚©‚Å‚·Byes‚É‚·‚é‚ƃyƒbƒg‚Ìe–§“x‚ª + ‚«‚í‚ß‚Äe‚µ‚¢‚ÌŽž‚¾‚¯Žx‰‡UŒ‚‚ð‚µ‚Ä‚‚ê‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +pet_support_rate + ƒyƒbƒg‚ÌŽx‰‡UŒ‚Šm—¦‚Ì”{—¦‚Å‚·Bi100‚Å’ÊíA200‚Å”{‚Å‚·) + ”{—¦‚ª‚‚¢‚ÆŽx‰‡UŒ‚‚æ‚‚µ‚Ä‚‚ê‚é‚悤‚É‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +pet_attack_exp_to_master + ƒyƒbƒg‚ª—^‚¦‚½ƒ_ƒ[ƒW‚Ì•ª‚ÌŒoŒ±’l‚ðŽål‚ªŽû“¾‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚é‚ƃyƒbƒg‚ÌUŒ‚‚É‚æ‚éƒ_ƒ[ƒW‚àŽål‚ª—^‚¦‚½•¨‚É‚È‚è + Žål‚ªŒoŒ±’l‚ðŽû“¾‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +pet_attack_exp_rate + ƒyƒbƒg‚ª—^‚¦‚½ƒ_ƒ[ƒW‚Ì•ª‚ÌŒoŒ±’l‚ðŽål‚ªŽû“¾‚·‚鎞‚Ì”{—¦‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B +pet_lootitem + ƒyƒbƒg‚ªƒAƒCƒeƒ€‚ðƒ‹[ƒg‚·‚é‚©‚Ç‚¤‚©‚ÌÝ’è‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +pet_weight + ƒyƒbƒg‚Ƀ‹[ƒg‚³‚¹‚é‚Æ‚«‚Ìd—ʧŒÀ‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í1000‚Å‚·B + +skill_min_damage + ƒXƒLƒ‹‚ðŽg‚Á‚½Žžƒ_ƒ[ƒW‚ª˜A‘Å”‚æ‚è–¢–ž‚ÌꇑS‚ă~ƒX‚É‚È‚é‚©1ƒ_ƒ[ƒW‚É‚È‚é‚©‚ðŒˆ’è‚µ‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +finger_offensive_type + ƒXƒLƒ‹Žw’e‚Ì•\Ž¦ƒ^ƒCƒv‚ðŒˆ’è‚µ‚Ü‚·B + 0‚Í–{ƒT[ƒo[Žd—l‚Å1‚̓AƒeƒiŽd—l‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +heal_exp + ƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg‚Á‚½Û‚É‚à‚炦‚éƒWƒ‡ƒuŒoŒ±’l—Ê‚ÌÝ’è‚Å‚·B + 100‚ʼnñ•œ‚µ‚½—Ê‚Æ“¯—Ê‚É‚È‚è‚Ü‚·B + ƒ‚ƒ“ƒXƒ^[‚ÌŒoŒ±’l‚ð•ÏX‚µ‚Ä‚È‚¢ê‡‚Í5`10’ö“x‚ª“K“–‚¾‚ÆŽv‚í‚ê‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +resurrection_exp + ƒXƒLƒ‹uƒŠƒUƒŒƒNƒVƒ‡ƒ“v‚ðŽg‚Á‚½Û‚É‚à‚炦‚éŒoŒ±’l—Ê‚ÌÝ’è‚Å‚·B + ’PˆÊ‚Í0.01%‚Å‚·B•œŠˆ‚µ‚½ƒvƒŒƒCƒ„[‚ªŽ‚Á‚Ä‚¢‚éŒoŒ±’l * ƒŒƒxƒ‹·/100 * resurrection_exp/10000 •ª‚ÌŒoŒ±‚ª–Ⴆ‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +shop_exp + ƒXƒLƒ‹ƒfƒBƒXƒJƒEƒ“ƒg‚ƃI[ƒo[ƒ`ƒƒ[ƒW‚ðK“¾‚µ‚Ä‚éê‡NPC—˜—p‹àŠz‚ɉž‚¶‚½JOBŒoŒ±’lŠl“¾”{—¦‚Å‚·Bi100‚Å’ÊíA200‚Å”{‚É‚È‚è‚Ü‚·j + ŒvŽZŽ®‚Íln(‘ã‹à*ƒXƒLƒ‹ƒŒƒxƒ‹) * shop_exp / 100 ‚Å”ƒ‚¤ê‡‚̓fƒBƒXƒJƒEƒ“ƒg‚ª‚ ‚鎞‚Ì‚Ý“K—p‚Å”„‚éꇃI[ƒo[ƒ`ƒƒ[ƒW‚ª‚ ‚鎞‚Ì‚Ý“K—p‚³‚ê‚Ü‚·B + ŒvŽZŽ®‚Í“K“x‚Éì‚Á‚½•¨‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +combo_delay_rate + ƒ‚ƒ“ƒN‚̃Rƒ“ƒ{ƒfƒBƒŒƒC‚ÌŽžŠÔ‚Ì”{—¦‚Å‚·Bi100‚Å’ÊíA200‚Å”{‚É‚È‚è‚Ü‚·Bj + ‚½‚¾’ˆÓ‚·‚é‚ׂ«‚È‚Ì‚Í‚‚Ý’è‚·‚é‚Ì‚ª‚¢‚¢‚±‚Æ‚Å‚Í‚È‚¢‚±‚Æ‚Å‚·B + ƒRƒ“ƒ{ƒfƒBƒŒƒC‚ª’·‚¢‚ƃRƒ“ƒ{‚ÌŒq‚¬‚Í‚æ‚‚È‚è‚Ü‚·‚ª‚»‚Ì’·‚‚È‚Á‚½ + ŽžŠÔ‚ÌŠÔ‚Ís“®‚Å‚«‚È‚¢‚©‚ç‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +item_check + ƒAƒCƒeƒ€‚̃`ƒFƒbƒN‚ðs‚¤‚©‚Ç‚¤‚©‚Å‚·B + ƒƒOƒCƒ“Žž‚ƃ}ƒbƒvˆÚ“®Žž‚ÉŠŽƒAƒCƒeƒ€‚É•s³ƒAƒCƒeƒ€‚ª‚È‚¢‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B + ‚Ü‚½@item‚Å•s³ƒAƒCƒeƒ€‚ðŠ“¾‚Å‚«‚È‚‚µ‚Ü‚·B + ƒfƒoƒO‚âƒAƒCƒeƒ€‚ÌŠm”F‚ðs‚¤‚Æ‚«‚È‚Ç‚Íoff‚É‚µ‚Ä‚‚¾‚³‚¢B + ƒfƒtƒHƒ‹ƒg‚Íon‚Å‚·B + +wedding_modifydisplay + ƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + Œ‹¥ƒLƒƒƒ‰‚ð•\Ž¦‚µ‚½‚¢ê‡‚Í‚±‚ê‚ðyes‚É‚µ‚Ä‚‚¾‚³‚¢B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +natural_healhp_interval + HP‚ªŽ©“®‰ñ•œ‚·‚é‚Ü‚ÅŠ|‚©‚鎞ŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í6000‚ÅNATURAL_HEAL_INTERVAL–¢–ž‚É‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB + +natural_healsp_interval + SP‚ªŽ©“®‰ñ•œ‚·‚é‚Ü‚ÅŠ|‚©‚鎞ŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í8000‚ÅNATURAL_HEAL_INTERVAL–¢–ž‚É‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB + +natural_heal_skill_interval + ƒXƒLƒ‹‚É‚æ‚Á‚ÄŽ©“®‰ñ•œ‚·‚éꇊ|‚©‚鎞ŠÔ‚Å‚·B’PˆÊ‚Íms(ƒ~ƒŠ•b)‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í10000‚ÅNATURAL_HEAL_INTERVAL–¢–ž‚É‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB + +natural_heal_weight_rate + Ž©“®‰ñ•œ‚ª‚Å‚«‚È‚‚È‚éd—Ê‚ðݒ肵‚Ü‚·B’PˆÊ‚Í%‚Å‚·B + Ŭ‚Í50‚ÅÅ‘å‚Í101‚Å‚·Bő傪101‚È‚Ì‚Íd—Ê‚ª + natural_heal_weight_rate–¢–ž‚ÌŽž‚ÉŽ©“®‰ñ•œ‚·‚é‚©‚ç‚Å‚·B(‚‚܂è101‚È‚ç + ‚¢‚Â‚Å‚àŽ©“®‰ñ•œ‚Å‚«‚Ü‚·B) + ƒfƒtƒHƒ‹ƒg‚Í50‚Å‚·B + +item_name_override_grffile + ƒAƒCƒeƒ€‚Ì–¼‘O(‰pŒêˆÈŠO‚Ì–¼‘O‚Å‚·B)‚ð.grfƒtƒ@ƒCƒ‹‚©‚ç“Ç‚Þ‚©‚Ç‚¤‚©‚Å‚·B + no‚É‚·‚é‚Æitem_db.txt‚Ì–¼‘O‚ðŽg‚¢‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +arrow_decrement + ‹|‚ðŽg‚¤Žž–î‚ðÁ–Õ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðno‚É‚·‚é‚Æ + –Á–Õ‚³‚ê‚Ü‚¹‚ñB(–î‚ð‘•”õ‚·‚é•K—v‚Í‚ ‚è‚Ü‚·B) + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +max_aspd + ƒvƒŒƒCƒ„[‚ÌÅ‘åUŒ‚‘¬“x‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í199‚Å‚·BÅ‘å‚Í199‚ÅŬ‚Í100‚Å‚·B + +max_hp + Å‘åHP‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í32500‚Å‚·BÅ‘å‚Í1000000‚ÅŬ‚Í100‚Å‚·B + +max_sp + Å‘åSP‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í32500‚Å‚·BÅ‘å‚Í1000000‚ÅŬ‚Í100‚Å‚·B + +max_parameter + ƒvƒŒƒCƒ„[‚ÌŠî–{ƒpƒ‰ƒ[ƒ^‚ÌÅ‘å’l‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í99‚Å‚·BÅ‘å‚Í10000‚ÅŬ‚Í10‚Å‚·B + Šî–{ƒpƒ‰ƒ[ƒ^‘å‚«‚¢‰ß‚¬‚é‚ƃNƒ‰ƒCƒAƒ“ƒg—Ž‚¿‚ª‹N‚±‚é‚Ì‚Å + “K“–‚È’l‚ðÝ’è‚·‚é•û‚ª—Ç‚¢‚Å‚·B + +max_cart_weight + ƒJ[ƒg‚ÌÅ‘åd—Ê‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í8000‚Å‚·BÅ‘å‚Í1000000‚ÅŬ‚Í100‚Å‚·B + +player_skill_log + ƒvƒŒƒCƒ„[‚̃XƒLƒ‹Žg—pƒƒO‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +monster_skill_log + ƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹Žg—pƒƒO‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +battle_log + 퓬ŠÖŒW‚̃ƒO‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +save_log + ƒLƒƒƒ‰‚Ì•Û‘¶‚ÉŠÖ‚·‚郃O‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚© + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +error_log + ƒGƒ‰[ƒƒO‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +etc_log + ƒXƒLƒ‹A퓬AƒLƒƒƒ‰•Û‘¶AƒGƒ‰[ˆÈŠO‚̃ƒO‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚© + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +save_clothcolor + •ž‚ÌF‚ð•Û‘¶‚·‚é‚©‚Ç‚¤‚©A—LŒø‚É‚·‚é‚Æ–â‘肪‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +undead_detect_type + ƒAƒ“ƒfƒbƒh‚ð”FŽ¯‚·‚é•û–@‚ðݒ肵‚Ü‚·B0‚Å‘®«‚Ì‚ÝA1‚ÅŽí‘°‚Ì‚ÝA + 2‚Å‘®«‚ÆŽí‘°‚Ì—¼•û‚Ì‚Ç‚¿‚ç‚Å‚à‚ ‚Á‚Ä‚éꇂɂȂè‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +player_auto_counter_type + ƒvƒŒƒCƒ„[‚̃I[ƒgƒJƒEƒ“ƒ^[‚ÌŽd—l‚ðݒ肵‚Ü‚·B0‚Å100%ƒNƒŠƒeƒBƒJƒ‹ + ‚ŃXƒLƒ‹”½Œ‚–³‚µA1‚Å–hŒä–³Ž‹AHit+20AƒNƒŠƒeƒBƒJƒ‹—¦2”{‚ŃXƒLƒ‹”½Œ‚ + –³‚µA2‚Å100%ƒNƒŠƒeƒBƒJƒ‹‚ŃXƒLƒ‹”½Œ‚—L‚èA3‚Å–hŒä–³Ž‹AHit+20A + ƒNƒŠƒeƒBƒJƒ‹—¦2”{‚ŃXƒLƒ‹”½Œ‚—L‚è‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í1‚Å‚·B + +monster_auto_counter_type + ƒ‚ƒ“ƒXƒ^[‚̃I[ƒgƒJƒEƒ“ƒ^[‚ÌŽd—l‚ðݒ肵‚Ü‚·B0‚Å100%ƒNƒŠƒeƒBƒJƒ‹ + ‚ŃXƒLƒ‹”½Œ‚–³‚µA1‚Å–hŒä–³Ž‹AHit+20AƒNƒŠƒeƒBƒJƒ‹—¦2”{‚ŃXƒLƒ‹”½Œ‚ + –³‚µA2‚Å100%ƒNƒŠƒeƒBƒJƒ‹‚ŃXƒLƒ‹”½Œ‚—L‚èA3‚Å–hŒä–³Ž‹AHit+20A + ƒNƒŠƒeƒBƒJƒ‹—¦2”{‚ŃXƒLƒ‹”½Œ‚—L‚è‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í1‚Å‚·B + +agi_penaly_type + agi_penaly_countˆÈã‚Ì“G‚ÉUŒ‚‚³‚ꂽŽž‚Ìagiƒyƒiƒ‹ƒeƒB‚ÌŽd—l‚ðݒ肵‚Ü‚·B + 0‚Å‚È‚µA1‚Åagi_penaly_num%‚¸‚ÂŒ¸‚Á‚ÄA2‚Åagi_penaly_num‚¾‚¯Œ¸‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +agi_penaly_count + agiƒyƒiƒ‹ƒeƒB‚ð“K—p‚·‚é“G‚Ì”‚ðݒ肵‚Ü‚·B + 2–¢–ž‚ÉÝ’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚Í3‚Å‚·B + +agi_penaly_num + agiƒyƒiƒ‹ƒeƒB‚É‚æ‚Á‚ÄŒ¸‚é‰ñ”ð‚Ì—Ê‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +vit_penaly_type + vit_penaly_countˆÈã‚Ì“G‚ÉUŒ‚‚³‚ꂽŽž‚Ìvitƒyƒiƒ‹ƒeƒB‚ÌŽd—l‚ðݒ肵‚Ü‚·B + 0‚Å‚È‚µA1‚Åvit_penaly_num%‚¸‚ÂŒ¸‚Á‚ÄA2‚Åvit_penaly_num‚¾‚¯Œ¸‚è‚Ü‚·B + (Œ¸‚é‚Ì‚Ívit‚É‚æ‚é–hŒä‚Ì‚Ý) + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +vit_penaly_count + vitƒyƒiƒ‹ƒeƒB‚ð“K—p‚·‚é“G‚Ì”‚ðݒ肵‚Ü‚·B + 2–¢–ž‚ÉÝ’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚Í3‚Å‚·B + +vit_penaly_num + vitƒyƒiƒ‹ƒeƒB‚É‚æ‚Á‚ÄŒ¸‚é‰ñ”ð‚Ì—Ê‚ðݒ肵‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +player_defense_type + ƒvƒŒƒCƒ„[‚ª‘ÎÛ‚ÉUŒ‚‚·‚鎞‚ÌDEF‚ÌŒvŽZ•û–@B0‚Å–{ŽIŽd—lA1ˆÈã‚ÅŒ¸ŽZ(DEF*’l)B + +monster_defense_type + ƒ‚ƒ“ƒXƒ^[‚ª‘ÎÛ‚ÉUŒ‚‚·‚鎞‚ÌDEF‚ÌŒvŽZ•û–@B0‚Å–{ŽIŽd—lA1ˆÈã‚ÅŒ¸ŽZ(DEF*’l)B + +pet_defense_type + ƒyƒbƒg‚ª‘ÎÛ‚ÉUŒ‚‚·‚鎞‚ÌDEF‚ÌŒvŽZ•û–@B0‚Å–{ŽIŽd—lA1ˆÈã‚ÅŒ¸ŽZ(DEF*’l)B + +magic_defense_type + MDEF‚ÌŒvŽZ•û–@B0‚Å–{ŽIŽd—lA1ˆÈã‚ÅŒ¸ŽZ(MDEF*’l) + +player_skill_reiteration + ƒvƒŒƒCƒ„[‚ªŽg‚¤ˆê•”‚Ì’n–ʃXƒLƒ‹‚Ìd‚Ë’u‚«‚ð‹–‰Â‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚é‚ÆSW‚âƒjƒ…[ƒ}Aƒgƒ‰ƒbƒv‚ðd‚Ë‚Ä’u‚‚±‚Æ‚ª‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +monster_skill_reiteration + ƒ‚ƒ“ƒXƒ^[‚ªŽg‚¤ˆê•”‚Ì’n–ʃXƒLƒ‹‚Ìd‚Ë’u‚«‚ð‹–‰Â‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ‚±‚ê‚ðyes‚É‚·‚é‚ÆSW‚âƒjƒ…[ƒ}Aƒgƒ‰ƒbƒv‚ðd‚Ë‚Ä’u‚‚±‚Æ‚ª‚Å‚«‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +player_skill_nofootset + ƒvƒŒƒCƒ„[‚ªŽg‚¤ˆê•”‚Ì’n–ʃXƒLƒ‹‚ðƒvƒŒƒCƒ„[‚⃂ƒ“ƒXƒ^[‚Ì‘«Œ³‚É + ’u‚‚Ì‚ð‹ÖŽ~‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚ƃXƒLƒ‹‚ðÝ’u‚·‚鎞‚»‚Ì + Œø‰Ê”͈͂ɃvƒŒƒCƒ„[‚⃂ƒ“ƒXƒ^[‚ª‚¢‚é‚ƃXƒLƒ‹‚ð’u‚‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +monster_skill_nofootset + ƒ‚ƒ“ƒXƒ^[‚ªŽg‚¤ˆê•”‚Ì’n–ʃXƒLƒ‹‚ðƒvƒŒƒCƒ„[‚⃂ƒ“ƒXƒ^[‚Ì‘«Œ³‚É + ’u‚‚Ì‚ð‹ÖŽ~‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚ƃXƒLƒ‹‚ðÝ’u‚·‚鎞‚»‚Ì + Œø‰Ê”͈͂ɃvƒŒƒCƒ„[‚⃂ƒ“ƒXƒ^[‚ª‚¢‚é‚ƃXƒLƒ‹‚ð’u‚‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +player_cloak_check_type + ƒvƒŒƒCƒ„[ƒNƒ[ƒLƒ“ƒO‚ÌŽd—l‚ðݒ肵‚Ü‚·B + 0‚͕ǃ`ƒFƒbƒN—L‚èAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚éB + 1‚͕ǃ`ƒFƒbƒN–³‚µAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚éB + 2‚͕͂ǃ`ƒFƒbƒN—L‚èAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚È‚¢B + 2‚͕͂ǃ`ƒFƒbƒN–³‚µAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚È‚¢B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +monster_cloak_check_type + ƒ‚ƒ“ƒXƒ^[ƒNƒ[ƒLƒ“ƒO‚ÌŽd—l‚ðݒ肵‚Ü‚·B + 0‚͕ǃ`ƒFƒbƒN—L‚èAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚éB + 1‚͕ǃ`ƒFƒbƒN–³‚µAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚éB + 2‚͕͂ǃ`ƒFƒbƒN—L‚èAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚È‚¢B + 2‚͕͂ǃ`ƒFƒbƒN–³‚µAƒXƒLƒ‹Žg—p‚ÆUŒ‚‚ʼn𜂳‚ê‚È‚¢B + ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B + +gvg_short_attack_damage_rate + ƒV[ƒYƒ‚[ƒh‚Å‹ß‹——£•¨—UŒ‚‚̃_ƒ[ƒW”{—¦‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +gvg_long_attack_damage_rate + ƒV[ƒYƒ‚[ƒh‚ʼn“‹——£•¨—UŒ‚‚̃_ƒ[ƒW”{—¦‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +gvg_magic_attack_damage_rate + ƒV[ƒYƒ‚[ƒh‚Å–‚–@UŒ‚‚̃_ƒ[ƒW”{—¦‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +gvg_misc_attack_damage_rate + ƒV[ƒYƒ‚[ƒh‚Å•¨—UŒ‚‚Æ–‚–@UŒ‚ˆÈŠO‚ÌUŒ‚(‘é‚âƒgƒ‰ƒbƒv“™)‚Ì + ƒ_ƒ[ƒW”{—¦‚Å‚·BƒfƒtƒHƒ‹ƒg‚Í100‚Å‚·B + +mob_changetarget_byskill: no + ðŒ‚ªskillused‚̃XƒLƒ‹‚ðMOB‚ªPC‚ÉŽg—p‚·‚é‚Æ‚«A‚»‚Ì‘ÎÛ‚ðƒXƒLƒ‹Žg—pŽÒ‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + MOBƒXƒLƒ‹Žg—pŒã‚Ƀ^ƒQ‚Í–ß‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +player_attack_direction_change + ƒvƒŒƒCƒ„[‚ªUŒ‚‚µ‚½Žž•ûŒü‚ð•ÏX‚·‚é‚©‚Ç‚¤‚©‚Å‚·B–{ŽI‚Å‚Í“®‚¯‚È‚¢ŒÀ‚è•ûŒü‚ª•Ï‚¦‚ç‚È‚¢‚Ì‚Å‚·‚ªƒoƒO‚Û‚¢Žd—l‚Ȃ̂ŃfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + no‚É‚·‚ê‚Γ®‚‚±‚Æ‚¾‚¯‚Å•ûŒü‚ª•Ï‚¦‚é‚悤‚É‚È‚è‚Ü‚·B + +monster_attack_direction_change + ƒ‚ƒ“ƒXƒ^[‚ªUŒ‚‚µ‚½Žž•ûŒü‚ð•ÏX‚·‚é‚©‚Ç‚¤‚©‚Å‚·B–{ŽI‚Å‚Í“®‚¯‚È‚¢ŒÀ‚è•ûŒü‚ª•Ï‚¦‚ç‚È‚¢‚Ì‚Å‚·‚ªƒoƒO‚Û‚¢Žd—l‚Ȃ̂ŃfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + no‚É‚·‚ê‚Γ®‚‚±‚Æ‚¾‚¯‚Å•ûŒü‚ª•Ï‚¦‚é‚悤‚É‚È‚è‚Ü‚·B + +player_land_skill_limit + skill_db.txt‚Åݒ肳‚ê‚Ä‚¢‚é’n–ʃXƒLƒ‹‚Ì”§ŒÀ‚ðƒvƒŒƒCƒ„[‚É + “K—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚ê‚Îݒ肳‚ê‚Ä‚¢‚锈Èã‚Í + ’n–Ê‚ÉÝ’u‚·‚邱‚Æ‚ª‚Å‚«‚È‚‚È‚è‚Ü‚·‚ª”§ŒÀ‚ð‚Ç‚¤•Ï‚¦‚Ä‚à + MAX_SKILLUNITGROUP‚ð‰z‚¦‚锂ÌÝ’u‚Í‚Å‚«‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +monster_land_skill_limit + skill_db.txt‚Åݒ肳‚ê‚Ä‚¢‚é’n–ʃXƒLƒ‹‚Ì”§ŒÀ‚ðƒ‚ƒ“ƒXƒ^[‚É + “K—p‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚ê‚Îݒ肳‚ê‚Ä‚¢‚锈Èã‚Í + ’n–Ê‚ÉÝ’u‚·‚邱‚Æ‚ª‚Å‚«‚È‚‚È‚è‚Ü‚·‚ª”§ŒÀ‚ð‚Ç‚¤•Ï‚¦‚Ä‚à + MAX_MOBSKILLUNITGROUP‚ð‰z‚¦‚锂ÌÝ’u‚Í‚Å‚«‚Ü‚¹‚ñB + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +party_skill_penaly + ˆê•”‚̃p[ƒeƒBƒXƒLƒ‹‚ðŽg—pŽÒ‚ƃp[ƒeƒB‚ŃXƒLƒ‹Œø‰Ê‚ªˆá‚¤‚悤‚É + ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B‚±‚ê‚̉e‹¿‚ðŽó‚¯‚éƒXƒLƒ‹‚Í¡‚ÌŠ + ƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒEƒGƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“AƒI[ƒo[ƒgƒ‰ƒXƒg‚Ì‚Ý‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +monster_class_change_full_recover + ƒ‚ƒ“ƒXƒ^[‚ªƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚ƃgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ““™‚É‚æ‚Á‚Ä + ‘¼‚̃‚ƒ“ƒXƒ^[‚É•Ï‚í‚Á‚½Žž‚»‚̃‚ƒ“ƒXƒ^[‚ÌHP‚ðÅ‘å‚Ȃʼnñ•œ‚³‚¹‚é‚© + ‚Ç‚¤‚©‚Å‚·B‚±‚ê‚ðyes‚É‚·‚é‚Æ•Ï‚í‚Á‚½ƒ‚ƒ“ƒXƒ^[‚ÌÅ‘åHP‚Ü‚Å + ‰ñ•œ‚µ‚Ü‚·Bno‚È‚ç•Ï‚í‚é‘O‚ÌHP‚ÆÅ‘åHP‚̔䗦‚Ì•ª‚ÌHP‚É‚È‚è‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +produce_item_name_input + »‘¢‚Åì‚ç‚ꂽ“S‚â‘®«Î‚É»‘¢ŽÒ‚Ì–¼‘O‚ð•t‚¯‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +produce_potion_name_input + »‘¢‚Åì‚ç‚ꂽƒ|[ƒVƒ‡ƒ“‚É»‘¢ŽÒ‚Ì–¼‘O‚ð•t‚¯‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +making_arrow_name_input + –î쬂Åì‚ç‚ꂽ–î‚É»‘¢ŽÒ‚Ì–¼‘O‚ð•t‚¯‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +holywater_name_input + ƒAƒNƒAƒxƒlƒfƒBƒNƒ^‚Åì‚ç‚ꂽ¹…‚É»‘¢ŽÒ‚Ì–¼‘O‚ð•t‚¯‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +display_delay_skill_fail + ƒXƒLƒ‹Žg—p‚̃fƒBƒŒƒC’†‚ÉuƒXƒLƒ‹Žg—p‚ÌŒã‚ÍA‚µ‚΂炂¨‘Ò‚¿‚‚¾‚³‚¢v‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚·B + +chat_warpportal + ƒ`ƒƒƒbƒg’†‚ÌPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂¹‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +mob_warpportal + MOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂¹‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +dead_branch_active + ŒÃ–Ø‚ÌŽ}‚È‚Çmonster–½—ß‚Åmobid‚𕉔‚ÉŽw’肵‚½ê‡‚É¢Š«‚³‚ê‚郂ƒ“ƒXƒ^[‚ðƒAƒNƒeƒBƒu‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +vending_max_value + ˜I“X‚Å’u‚¯‚éƒAƒCƒeƒ€‰¿Ši‚ÌÅ‚’l‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Í10000000‚Å‚·B + +show_steal_in_same_party + ƒXƒeƒB[ƒ‹¬Œ÷ŽžA‰æ–Ê“à‚ÌPTƒƒ“ƒo[(Ž©•ªŠÜ‚Þ)‚É + ƒXƒeƒB[ƒ‹‚µ‚½ƒAƒCƒeƒ€‚Ìî•ñ‚ðŒöŠJ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +enable_upper_class + “]¶A—{ŽqE‚ð—LŒø‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +pet_atack_attr_none + ƒyƒbƒg‚É‚æ‚é–³‘®«’ÊíUŒ‚‚ð + ‘®«–³‚µ(‘®«‚É‚æ‚é•â³–³‚µ)‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚· + +pc_atack_attr_none + ƒvƒŒƒCƒ„[‚É‚æ‚é–³‘®«’ÊíUŒ‚‚ð + ‘®«–³‚µ(‘®«‚É‚æ‚é•â³–³‚µ)‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚· + +mob_atack_attr_none + ƒ‚ƒ“ƒXƒ^[‚É‚æ‚é–³‘®«’ÊíUŒ‚‚ð + ‘®«–³‚µ(‘®«‚É‚æ‚é•â³–³‚µ)‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes‚Å‚· + +player_skill_partner_check + ¹‘Ì~•Ÿ‚⇑tƒXƒLƒ‹‚ðs‚¤Û‚Ƀp[ƒgƒi[‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íyes(ƒ`ƒFƒbƒN‚·‚é)‚Å‚·B + +hide_GM_session + GMƒAƒJƒEƒ“ƒg‚̃Lƒƒƒ‰ƒNƒ^[‚ð@ƒRƒ}ƒ“ƒh“™‚Å•\Ž¦‚Ì‘ÎÛ‚É‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚· +unit_movement_type + ƒ†ƒjƒbƒgˆÚ“®ˆ—•û–@‚ð‘I‘ð‚µ‚Ü‚·B + 0‚Å–{ŽIŽd—l(‰ñü•‰‰×¨dAŽIˆ—¨Œy)A1‚ÅAthenaŽd—l(‰ñü•‰‰×¨ŒyAŽIˆ—¨d) + ƒfƒtƒHƒ‹ƒg‚Í0(–{ŽIŽd—l)‚Å‚· +invite_request_check + ƒvƒŒƒCƒ„[‚ªŠeŽí—v¿’†(PT‰Á“üAGuild‰Á“üAŽæˆø)‚É‘¼‚Ì—v¿‚ðŽó‚¯“ü‚ê‚é‚©‚Ç‚¤‚©‚Å‚·B + yes‚Å–{ŽIŽd—lAno‚ÅAthenaŽd—l(Žó‚¯“ü‚ê‚È‚¢) + ƒfƒtƒHƒ‹ƒg‚Íyes(Žó‚¯“ü‚ê‚é)‚Å‚·B +skill_removetrap_type + ƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚ÌŽd—l‚ð‘I‘ð‚µ‚Ü‚·B + 0:–{ŽIŽd—l‚Åã©1ŒÂ‚ðŽæ“¾‚·‚é + 1:AthenaŽd—l‚ÅŽg‚Á‚½ƒAƒCƒeƒ€‚ðŽg‚Á‚½ŒÂ”‚ðŽæ“¾‚·‚é +disp_experience + ŒoŒ±’l‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Å‚·B + yes‚É‚·‚é‚ÆA“G‚ð“|‚µ‚½Žž‚È‚ÇŒoŒ±’l‚ª“ü‚Á‚½Žž‚É–{l‚É‚Ì‚Ý•\Ž¦‚³‚ê‚Ü‚·B + ƒfƒtƒHƒ‹ƒg‚Íno‚Å‚·B + +night_at_start + Choose if server begin with night (yes) or day (no) + Default: No + +day_duration + Define duration in msec of the day. + Set to 0 to disable day cycle (but not @day command). + Except 0, minimum is 60000 (1 minute). + Default: 7,200,000 = 2 hours + +night_duration + Define duration in msec of the night. + Set to 0 to disable night cycle (but not @night command). + Except 0, minimum is 60000 (1 minute). + Default: 1,800,000 = 30 min + +ban_spoof_namer + Ban people that try to use an other name of its name (spoof name). + Duration of the ban, in minutes. + Value from 0 to 32767. Set to 0 to do no ban. + Default: 5 (minutes) + +hack_info_GM_level + 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 + +any_warp_GM_min_level + 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) + +packet_ver_flag + 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 + default value: 63 (all clients) + +import + ‚»‚Ìs‚ð•Êƒtƒ@ƒCƒ‹‚Ì’†g‚Æ’u‚«Š·‚¦‚Ü‚·B + +< Example > + +warp_point_debug: no +enemy_critical: yes +enemy_critical_rate: 100 +enemy_perfect_flee: no +casting_rate: 100 +delay_rate: 100 +delay_dependon_dex: no +skill_delay_attack_enable: no +left_cardfix_to_right: no +player_skill_add_range: 0 +skill_out_range_consume: yes +monster_skill_add_range: 0 +player_damage_delay: yes +player_damage_delay_rate: 100 +defunit_not_enemy: yes +random_monster_checklv: yes +attribute_recover: yes +item_auto_get: no +flooritem_lifetime: 60000 +item_first_get_time: 10000 +item_second_get_time: 7000 +item_third_get_time: 5000 +mvp_item_first_get_time: 10000 +mvp_item_second_get_time: 10000 +mvp_item_third_get_time: 2000 +item_rate: 100 +drop_rate0item: no +base_exp_rate: 100 +job_exp_rate: 100 +death_penalty_type: 0 +death_penalty_base: 100 +death_penalty_job: 100 +zeny_penalty: 0 +restart_hp_rate: 0 +restart_sp_rate: 0 +mvp_hp_rate: 100 +mvp_item_rate: 100 +mvp_exp_rate: 100 +monster_hp_rate: 100 +monster_max_aspd: 199 +atcommand_gm_only: Yes +gm_all_skill: 0 +gm_all_equipment: 0 +gm_skill_unconditional: 0 +player_skillfree: no +player_skillup_limit: no +weapon_produce_rate: 100 +potion_produce_rate: 100 +monster_active_enable: yes +monster_damage_delay_rate: 100 +monster_loot_type: 0 +mob_skill_use: yes +mob_count_rate: 100 +quest_skill_learn: no +quest_skill_reset: yes +basic_skill_check: yes +guild_emperium_check: yes +player_invincible_time: 5000 +pet_catch_rate: 100 +pet_rename: no +pet_friendly_rate: 100 +pet_hungry_delay_rate: 100 +pet_hungry_friendly_decrease: 5 +pet_str: yes +pet_status_support: no +pet_support: no +pet_support_rate: 100 +pet_attack_exp_to_master: no +pet_attack_exp_rate: no +pet_lootitem: no +pet_weight: 1000 +skill_min_damage: no +finger_offensive_type: 0 +heal_exp: 0 +resurrection_exp: 0 +hop_exp: 0 +combo_delay_rate: 100 +item_check: on +wedding_modifydisplay: no +natural_healhp_interval:4000 +natural_healsp_interval:8000 +natural_heal_skill_interval:10000 +natural_heal_weight_rate: 50 +item_name_override_grffile: yes +arrow_decrement: yes +max_aspd: 199 +max_hp: 32500 +max_sp: 32500 +max_parameter: 99 +max_cart_weight: 8000 +player_skill_log: off +monster_skill_log: off +battle_log: off +save_log: off +error_log: on +etc_log: on +save_clothcolor: no +undead_detect_type: 2 +player_auto_counter_type: 1 +monster_auto_counter_type: 0 +agi_penaly_type: 0 +agi_penaly_count: 3 +agi_penaly_num: 0 +vit_penaly_type: 0 +vit_penaly_count: 3 +vit_penaly_num: 0 +player_defense_type: 0 +monster_defense_type: 0 +pet_defense_type: 0 +magic_defense_type: 0 +player_skill_reiteration: no +monster_skill_reiteration: no +player_skill_nofootset: no +monster_skill_nofootset: no +player_cloak_check_type: 0 +monster_cloak_check_type: 0 +gvg_short_attack_damage_rate: 100 +gvg_long_attack_damage_rate: 100 +gvg_magic_attack_damage_rate: 100 +gvg_misc_attack_damage_rate: 100 +mob_changetarget_byskill: no +player_attack_direction_change:yes +monster_attack_direction_change:yes +player_land_skill_limit: yes +monster_land_skill_limit: yes +party_skill_penaly: yes +monster_class_change_full_recover: no +produce_item_name_input: yes +produce_potion_name_input: yes +making_arrow_name_input: yes +holywater_name_input: yes +display_delay_skill_fail: yes +chat_warpportal: no +mob_warpportal: no +dead_branch_active: no +vending_max_value: 10000000 +show_steal_in_same_party: no +enable_upper_class: no +pet_atack_attr_none: no +pc_atack_attr_none: no +mob_atack_attr_none: yes +player_skill_partner_check: yes +hide_GM_session: no +invite_request_check: yes +unit_movement_type: 0 +disp_experience: no +night_at_start: No +day_duration: 7200000 +night_duration: 1800000 +ban_spoof_namer: 5 +hack_info_GM_level: 60 +any_warp_GM_min_level: 20 +packet_ver_flag: 63 + + +========================================================================== +6. atcommand_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + GMƒRƒ}ƒ“ƒh(/mmA/nb“™)‚â@ƒRƒ}ƒ“ƒh‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚éGM‚̃Œƒxƒ‹‚ðÝ’è‚·‚镨‚Å‚·B + Ý’è‚Í‘S‚ÄÈ—ª‰Â”\‚ÅAÈ—ªŽž‚̓fƒtƒHƒ‹ƒg’l‚ª—˜—p‚³‚ê‚Ü‚·B(ƒfƒtƒHƒ‹ƒg‚Í0‚Å‚·B) + +command_symbol + 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 '@': <example> @revive + default: @ + +Sets the level of the users that can use the GM commands. +<command name>: 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. + +broadcast + GMƒRƒ}ƒ“ƒh /nbA/bA/bb +local_broadcast + GMƒRƒ}ƒ“ƒh /lb +mapmove + GMƒRƒ}ƒ“ƒh /mm +resetstate + GMƒRƒ}ƒ“ƒh /resetstateA/resetskill +rura+ + @ƒRƒ}ƒ“ƒh @rura+ +rura + @ƒRƒ}ƒ“ƒh @rura +where + @ƒRƒ}ƒ“ƒh @where +jumpto + @ƒRƒ}ƒ“ƒh @jumpto +jump + @ƒRƒ}ƒ“ƒh @jump +who + @ƒRƒ}ƒ“ƒh @who +save + @ƒRƒ}ƒ“ƒh @save +load + @ƒRƒ}ƒ“ƒh @load +speed + @ƒRƒ}ƒ“ƒh @speed +storage + @ƒRƒ}ƒ“ƒh @storage +gstorage + @ƒRƒ}ƒ“ƒh @gstorage +option + @ƒRƒ}ƒ“ƒh @option +hide + GMƒRƒ}ƒ“ƒh /hide‚Æ@ƒRƒ}ƒ“ƒh @hide +jobchange + @ƒRƒ}ƒ“ƒh @jobchange +die + @ƒRƒ}ƒ“ƒh @die +kill + @ƒRƒ}ƒ“ƒh @kill +alive + @ƒRƒ}ƒ“ƒh @alive +kami + @ƒRƒ}ƒ“ƒh @kamiA@kamib +heal + @ƒRƒ}ƒ“ƒh @heal +item + @ƒRƒ}ƒ“ƒh @itemA@item2 +itemreset + @ƒRƒ}ƒ“ƒh @itemreset +itemcheck + @ƒRƒ}ƒ“ƒh @itemcheck +lvup + @ƒRƒ}ƒ“ƒh @lvup +joblvup + @ƒRƒ}ƒ“ƒh @joblvup +help + @ƒRƒ}ƒ“ƒh @helpA@h +gm + 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) +pvpoff + @ƒRƒ}ƒ“ƒh @pvpoff +pvpon + @ƒRƒ}ƒ“ƒh @pvpon +gvgoff + @ƒRƒ}ƒ“ƒh @gvgoff +gvgon + @ƒRƒ}ƒ“ƒh @gvgon +model + @ƒRƒ}ƒ“ƒh @model +go + @ƒRƒ}ƒ“ƒh @go +monster + @ƒRƒ}ƒ“ƒh @monster +killmonster + @ƒRƒ}ƒ“ƒh @killmonsterA@killmonster2 +refine + @ƒRƒ}ƒ“ƒh @refine +produce + @ƒRƒ}ƒ“ƒh @produce +memo + @ƒRƒ}ƒ“ƒh @memo +gat + @ƒRƒ}ƒ“ƒh @gat +packet + @ƒRƒ}ƒ“ƒh @packet +stpoint + @ƒRƒ}ƒ“ƒh @stpoint +skpoint + @ƒRƒ}ƒ“ƒh @skpoint +zeny + @ƒRƒ}ƒ“ƒh @zeny +param + @ƒRƒ}ƒ“ƒh @strA@agiA@vitA@intA@dexA@luk +guildlvup + @ƒRƒ}ƒ“ƒh @guildlvup +makeegg + @ƒRƒ}ƒ“ƒh @makeegg +petfriendly + @ƒRƒ}ƒ“ƒh @petfriendly +pethungry + @ƒRƒ}ƒ“ƒh @pethungry +petrename + @ƒRƒ}ƒ“ƒh @petrename +recall + @ƒRƒ}ƒ“ƒh @recall +charjob + @ƒRƒ}ƒ“ƒh @charjob +revive + @ƒRƒ}ƒ“ƒh @revive +charstats + @ƒRƒ}ƒ“ƒh @charstats +charoption + @ƒRƒ}ƒ“ƒh @charoption +charsave + @ƒRƒ}ƒ“ƒh @charsave +charload + @ƒRƒ}ƒ“ƒh @charload +night + @ƒRƒ}ƒ“ƒh @night +day + @ƒRƒ}ƒ“ƒh @day +doom + @ƒRƒ}ƒ“ƒh @doom +doommap + @ƒRƒ}ƒ“ƒh @doommap +raise + @ƒRƒ}ƒ“ƒh @raise +raisemap + @ƒRƒ}ƒ“ƒh @raisemap +charbaselvl + @ƒRƒ}ƒ“ƒh @charbaselvl +charjlvl + @ƒRƒ}ƒ“ƒh @charjlvl +kick + @ƒRƒ}ƒ“ƒh @kick‚ÆGM‰EƒNƒŠƒbƒN–½—ßuŽg—pŽÒ‹§I—¹v +allskill + @ƒRƒ}ƒ“ƒh @allskill +questskill + @ƒRƒ}ƒ“ƒh @questskill +lostskill + @ƒRƒ}ƒ“ƒh @lostskill +spiritball + @ƒRƒ}ƒ“ƒh @spiritball +party + @ƒRƒ}ƒ“ƒh @party +guild + @ƒRƒ}ƒ“ƒh @guild +agitstart + @ƒRƒ}ƒ“ƒh @agitstart +agitend + @ƒRƒ}ƒ“ƒh @agitend +mapexit + @ƒRƒ}ƒ“ƒh @mapexit +idsearch + @ƒRƒ}ƒ“ƒh @idsearch +charchangesex + Changes the sex of an online player (all characters on the account) +ignorelist + Displays your ignore list +charignorelist + Displays ignore list of a player +inall + Allows all wispers for the player +exall + Blocks all wispers for the player +chardisguise + Changes disguise of a player +charundisguise + Cancels disguise of a player +email + 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) + + +import + ‚»‚Ìs‚ð•Êƒtƒ@ƒCƒ‹‚Ì’†g‚Æ’u‚«Š·‚¦‚Ü‚·B + + +< Example > +command_symbol: @ + +broadcast: 1 +local_broadcast: 1 +mapmove: 1 +resetstate: 1 +rura+: 1 +rura: 1 +where: 1 +jumpto: 1 +jump: 1 +who: 1 +save: 1 +load: 1 +speed: 1 +storage: 1 +gstorage: 1 +option: 1 +hide: 1 +jobchange: 1 +die: 1 +kill: 1 +alive: 1 +kami: 1 +heal: 1 +item: 1 +itemreset: 1 +itemcheck: 1 +lvup: 1 +joblvup: 1 +help: 1 +gm: 100 +pvpoff: 1 +pvpon: 1 +gvgoff: 1 +gvgon: 1 +model: 1 +go: 1 +monster: 1 +killmonster: 1 +refine: 1 +produce: 1 +memo: 1 +gat: 1 +packet: 1 +stpoint : 1 +skpoint : 1 +zeny: 1 +param: 1 +guildlvup: 1 +makeegg: 60 +petfriendly: 1 +pethungry: 1 +petrename: 1 +recall: 1 +charjob: 1 +revive: 1 +charstats: 1 +charoption: 1 +charsave: 1 +charload: 1 +night: 1 +day: 1 +doom: 1 +doommap: 1 +raise: 1 +raisemap: 1 +charbaselvl: 1 +charjlvl: 1 +kick: 1 +allskill: 1 +questskill: 1 +lostskill: 1 +spiritball: 1 +party: 1 +guild: 1 +agitstart: 1 +agitend: 1 +mapexit: 1 +idsearch: 1 +charchangesex: 1 +ignorelist: 0 +charignorelist: 20 +inall: 20 +exall: 20 +chardisguise: 60 +charundisguise: 60 +email: 0 + +========================================================================== +7. conf/ladmin_athena.conf +-------------------------------------------------------------------------- + +< What this file is. > + + A setup of ladmin (remote administration of the login-server) is described. + It mainly becomes a setup of an administrator. + Only 'c' version of the ladmin is concerned by this configuration file. + 'Perl' ladmin doesn't use it. + + +< Explanation of a key > + +If you change one of these parameters, you must restart ladmin to update. +If you repeat one parameter in the configuration file, only the latest will be validated. + +login_ip + IP adress to contact login-server. + It is the IP adress of the login-server. + Default value: 127.0.0.1 (same computer). + +login_port + Port to contact login-server. + It is the port used by login-server. + Default value: 6900. + +admin_pass + It is the administrator password used to administrate the login-server. + You define it in login-athena.conf. + Void password will not work. + NOTICE: You must change this or attackers can exploit your server. + Default value: admin. CHANGES this default value to avoid hack. + +passenc: + You specify here how ladmin send password to login-server. 3 values are possible: + 0: plain text + 1: use md5 key (format: key + password) + 2: use md5 key (format: password + key) (default) + default: 2 + +defaultlanguage + You can specified a language to display information and for logs. + There are 2 values: + F: Français + E: English (default) + If a displayed information isn't translated, English is used. + Default value: E + +ladmin_log_filename + Gives the log file name and path to stores logs information. + All operations done by the ladmin are written in this file with a time stamp. + Default value: log/ladmin.log + +date_format: + Indicate how to display date in logs, to players, etc. + 0: 31-12-2004 23:59:59 + 1: 12-31-2004 23:59:59 + 2: 2004-31-12 23:59:59 + 3: 2004-12-31 23:59:59 + Default value: 3 + +import + Gives an other configuration file to include in. + You must write the additionnal configuration file name and path. + The mentionned file can include any parameter of the login configuration. + You can create a chain or configuration files if necessary. + Default value: <no_additional_configuration_file>. + +<Example> +login_ip:127.0.0.1 +login_port: 6900 +admin_pass: admin +passenc: 2 +defaultlanguage: E +ladmin_log_filename: log/ladmin.log +date_format: 3 +//import: path/additional_configuration_file + + +========================================================================== +EOF +-------------------------------------------------------------------------- diff --git a/doc/coredump_report.txt b/doc/coredump_report.txt new file mode 100644 index 0000000..670472f --- /dev/null +++ b/doc/coredump_report.txt @@ -0,0 +1,109 @@ +========================================================================== + ƒT[ƒo[‚ª‹§I—¹‚·‚éꇂÌcoredump‚É‚æ‚éÚׂȃoƒO•ñ•û–@ +-------------------------------------------------------------------------- + +< ‚±‚̃tƒ@ƒCƒ‹‚͉½H > + + AthenaŽg—p’†‚Émap-server.exe‚È‚Ç‚ª“Ë‘R—Ž‚¿‚½ê‡‚ÉA—Ž‚¿‚½‚Æ‚«‚̃Xƒ^ƒbƒN‚Ì + ƒoƒbƒNƒgƒŒ[ƒX‚ð‚ðŠJ”ŽÒ‚É“`‚¦‚é•û–@‚ð‰ðà‚·‚éB + ƒoƒO•ñ‚ÌŽž‚É•¹—p‚·‚é‚ÆŠJ”ŽÒ‚ªŠì‚Ô‚©‚à‚µ‚ê‚È‚¢B + + ‚±‚±‚Å‚Ìu—Ž‚¿‚év‚Í‚ ‚‚܂ŃT[ƒo[‚Å‚ ‚èAƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Í‚È‚¢B + ‚Ü‚½ƒvƒƒZƒX‚ªcorei‚Ü‚½‚Ístackdumpj‚ð“f‚Œ»Û‚Ì‚±‚Æ‚Å‚ ‚èA + –³ŒÀƒ‹[ƒv‚Ȃǂ̃vƒƒZƒX‚Ͷ‚«‚Ä‚¢‚邪ƒT[ƒo[‚Ì‹@”\‚Í’ñ‹Ÿ‚³‚ê‚È‚¢ó‘Ô‚Ì + ‚±‚Æ‚Å‚Í‚È‚¢B + + +-------------------------------------------------------------------------- +< –ÚŽŸ > + + * Cygwin‚Å‚Ìstackdump‚Æcore + Cygwinã‚Åcoreƒtƒ@ƒCƒ‹‚ð“f‚•û–@‚ðЉ‚éB + + * coreƒtƒ@ƒCƒ‹‚©‚çƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚𓾂é + ƒvƒƒOƒ‰ƒ€‚ª“f‚¢‚½core‚©‚çƒoƒbƒNƒgƒŒ[ƒX‚𓾂é•û–@‚ðЉ‚éB + + * —á + ŽÀÛ‚É‚Æ‚Á‚½ƒƒO‚Ì—á‚ðŽ¦‚·B + + +-------------------------------------------------------------------------- +< Cygwin‚Å‚Ìstackdump‚Æcore > + + Cygwin‚ŃvƒƒOƒ‰ƒ€‚ª‹§I—¹‚·‚éiƒAƒNƒZƒXˆá”½‚È‚Ç‚É‚æ‚é‚à‚Ìjê‡A•W€‚Å‚Í + core‚Å‚Í‚È‚stackdump‚ð“f‚B‚±‚ê‚Í‘S‚‚Æ‚¢‚Á‚Ä—Ç‚¢‚Ù‚Ç–ð‚É—§‚½‚È‚¢‚½‚ßA + stackdump‚ðƒRƒsƒy‚³‚ê‚Ä‚àŠJ”ŽÒ‚Í‚¨‚»‚ç‚Œ©‚È‚¢‚¾‚낤B + + ‚æ‚Á‚ÄŽŸ‚Ì•û–@‚ÅAstackdump‚Å‚Í‚È‚core‚ð“f‚‚悤‚É‚·‚éB + ** ŠÂ‹«•Ï”‚Éuerror_start=dumper.exev‚ð’ljÁ‚·‚é ** + + ‚æ‚‚í‚©‚ç‚È‚¢ê‡AŽŸ‚̂悤‚Éì‹Æ‚·‚é‚Æ‚¢‚¢BiWin2000‚Å‚Ì‚ÝŠm”Fj + * ƒfƒXƒNƒgƒbƒv‚Ìuƒ}ƒCƒRƒ“ƒsƒ…[ƒ^v‚ð‰EƒNƒŠƒbƒN‚µ‚ÄuƒvƒƒpƒeƒBv‚ðo‚·B + * [Ú×]ƒ^ƒu‚ðŠJ‚«A[ŠÂ‹«•Ï”]ƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚·‚éB + * ƒ†[ƒU[ŠÂ‹«•Ï”AƒVƒXƒeƒ€ŠÂ‹«•Ï”‚Ì‚Ç‚¿‚ç‚©uCYGWINv‚Æ‚¢‚¤•Ï”‚ª‚È‚¢‚©’T‚· + * ‚ ‚éꇂÍA‘I‘ð‚µ‚Ä[•ÒW]ƒ{ƒ^ƒ“‚ð‰Ÿ‚µA[•Ï”’l]‚Éuerror_start=dumper.exev + ‚ð’ljÁ‚·‚éBŠù‚ɉ½‚©‚Ì’PŒê‚ª‚ ‚éꇂÍA’PŒê‚ð‹æ؂邽‚ßA + ’ljÁ‚·‚é•”•ª‚Ìʼn‚É”¼ŠpƒXƒy[ƒX‚ð“ü‚ê‚邱‚Æ‚ð–Y‚ê‚È‚¢‚±‚ÆB + * ‚È‚¢ê‡‚ÍAƒVƒXƒeƒ€ŠÂ‹«•Ï”‚É(AdministratorŒ ŒÀ‚ª‚È‚¢‚Ȃ烆[ƒU[ŠÂ‹«•Ï”) + ‚Ì[V‹K]ƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚ÄA[•Ï”–¼]‚ÉuCYGWINvA•Ó”’l‚É + uerror_start=dumper.exev‚ð“ü—Í‚·‚éB + * OK‚ð‰Ÿ‚µ‚ăEƒBƒ“ƒhƒE‚ð•Â‚¶ACygwin‚ð‹N“®‚µ‚È‚¨‚¹‚΂悢 + + ‚±‚¤‚µ‚Ä‚¨‚‚ÆAstackdump‚Ì•Ï‚í‚è‚Écore‚ð“f‚‚悤‚É‚È‚éB + ƒTƒCƒY‚ª‘å‚«‚¢ê‡Acore‚ð“f‚‚Ì‚É‚Í‘½ŽžŠÔ‚ª‚©‚©‚éB + ‚Ü‚½core‚ð“f‚¢‚Ä‚¢‚éŠÔAdumper.exe‚Æ‚¢‚¤ƒvƒƒOƒ‰ƒ€‚̃EƒBƒ“ƒhƒE‚ª•\Ž¦‚³‚ê‚éB + + +-------------------------------------------------------------------------- +< coreƒtƒ@ƒCƒ‹‚©‚çƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚𓾂é > + + core‚ð“f‚ê‡A‚Ü‚¸ŠJ”ŽÒ‚̓Xƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚ð—~‚µ‚ª‚éBƒGƒ‰[ŒÂŠ‚ð + ”»’f‚µ‚â‚·‚¢‚©‚炾B‚æ‚Á‚ÄAgdb‚ŃoƒbƒNƒgƒŒ[ƒX‚ðŽæ‚èo‚»‚¤B + ‚Ü‚¸AŽŸ‚̂悤‚É‚µ‚Ägdb‚ð‹N“®‚·‚éB‚±‚±‚Å‚Ímap-server.exe‚ð—á‚Éo‚·B + UNIXŒnOS‚ł̓RƒAƒtƒ@ƒCƒ‹–¼‚ðC³‚·‚é•K—v‚ª‚ ‚邾‚낤Biucorev‚È‚Çj + + $ gdb -c map-server.exe.core + + ‚È‚É‚â‚çFX‰p•¶‚ª•\Ž¦‚³‚êAÅŒã‚É (gdb) ‚Æ‚¢‚¤ƒvƒƒ“ƒvƒg‚ªo‚½‚Í‚¸‚¾B + ‚±‚Ì’¼‘O‚ɃGƒ‰[‚Ì‹N‚±‚Á‚½ŠÖ”‚âƒtƒ@ƒCƒ‹–¼‚È‚Ç‚ÆA‚»‚Ì“à—e‚ª•\Ž¦‚³‚ê‚Ä‚¢‚é + ‚Í‚¸‚È‚Ì‚ÅA‚±‚ê‚̓Rƒsƒy‚·‚ׂ«‚¾B + + ‚Ü‚½A‚±‚±‚Åubtv‚Æ“ü—Í‚·‚é‚ÆAƒXƒ^ƒbƒN‚̃oƒbƒNƒgƒŒ[ƒX‚ª•\Ž¦‚³‚ê‚éB + ‚±‚ê‚àƒRƒsƒy‚·‚é‚Æ‚æ‚¢B‚½‚¾‚µA‚ ‚Ü‚è‚É‚à’·‚¢ê‡‚Íʼn‚Ì\”s’ö“x‚Å + \•ª‚¾‚낤B + + ‚¿‚È‚Ý‚ÉAup •Ï”–¼v‚̂悤‚É“ü—Í‚·‚é‚Æ•Ï”‚ðŒ©‚½‚è‚ào—ˆ‚éB + ŠÖ˜A‚µ‚»‚¤‚È•Ï”‚Ì’l‚ðFX•\Ž¦‚µ‚Ĉê‚ɃRƒsƒy‚·‚é‚ÆŠJ”ŽÒ‚ªŠì‚Ô‚©‚à‚µ‚ê‚È‚¢B + + gdb‚ðI—¹‚·‚éꇂÍAuqv‚Æ‘Å‚¿ž‚ÞB + + +-------------------------------------------------------------------------- +< —á > + + ˆÈ‰º‚Ímob.c‚Ìmob_warp()ŠÖ”‚Å‚í‚´‚ƃAƒNƒZƒXˆá”½‚ð‹N‚±‚µ‚Ä‚Æ‚Á‚½ƒƒO‚Å‚ ‚éB + ƒGƒ‰[‚ÌêŠA‚Ç‚¤‚¢‚¤‡‚ŌĂÑo‚³‚ꂽ‚©‚ª‚í‚©‚邾‚낤B + + ‚à‚¿‚ë‚ñAAthena‚̃pƒbƒ`”Ô†‚Ì•ñ‚ð–Y‚ê‚È‚¢‚±‚ÆB + ƒpƒbƒ`‚ªˆá‚¤‚ÆAƒ\[ƒXƒtƒ@ƒCƒ‹‚ª•Ï‚í‚é‚Ì‚ÅAs”Ô†‚ª–ð‚É—§‚½‚È‚‚Ȃ邽‚ß‚¾B + + ‚È‚¨ˆÈ‰º‚Ì—á‚Å‚ÍAƒoƒbƒNƒgƒŒ[ƒXˆÈŠO‚ÉA + pƒRƒ}ƒ“ƒh‚ðŽg‚Á‚ÄŠY“–‚ÌMOB‚Ì–¼‘Oi‰pŒêj‚ÆAƒ}ƒbƒv‚Ì–¼‘O‚ð•\Ž¦‚µ‚Ä‚¢‚éB + (FAKE_ANGEL, gef_dun03.gat) + +#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845 +1845 memset(NULL,0,1); +(gdb) bt +#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845 +#1 0x0042609d in mob_ai_sub_lazy (key=0x68e77f5, data=0x10119c88, + app=0x22fe88 "¤þ\"") at mob.c:1412 +#2 0x00455b54 in db_foreach (table=0x22fe88, func=0x610691f2 <select+242>) + at db.c:414 +#3 0x10119c88 in ?? () +#4 0x0022fe88 in ?? () +#5 0x610691f2 in select () +(gdb) p mob_db[md->class].name +$1 = "FAKE_ANGEL\000\203t\203F\203C\203N\203G\203\223\203" +(gdb) p map[md->bl.m].name +$2 = "gef_dun03.gat\000\000r" + diff --git a/doc/db_ref.txt b/doc/db_ref.txt new file mode 100644 index 0000000..b4fd904 --- /dev/null +++ b/doc/db_ref.txt @@ -0,0 +1,147 @@ +========================================================================== + Athena dev 2.1.1 mod0659 Œ»Ý‚Ìdb‚̃Šƒtƒ@ƒŒƒ“ƒX{ƒ¿ +-------------------------------------------------------------------------- + +< ‚±‚̃tƒ@ƒCƒ‹‚͉½H > + + Athena‚Ìdbƒtƒ@ƒCƒ‹‚ÌÝ’è•û–@‚̃Šƒtƒ@ƒŒƒ“ƒX‚Å‚·B + + +< db‚̃ŠƒXƒg > + +cast_db.txt ƒXƒLƒ‹‚̃LƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ƃfƒBƒŒƒCAˆÛŽŽžŠÔ“™‚ðÝ’èB +skill_db.txt ƒXƒLƒ‹‚̃f[ƒ^‚ðÝ’èB +skill_require_db.txt ƒXƒLƒ‹Žg—pðŒ‚ðÝ’èB +pet_db.txt ƒyƒbƒg‚̃f[ƒ^‚ðÝ’èB + + +========================================================================== +1. db/cast_db.txt +-------------------------------------------------------------------------- + +id,cast_list,delay_list,upkeep_time,upkeep_time2 + +id: ƒXƒLƒ‹‚ÌID‚Å‚·B +cast_list: ƒXƒLƒ‹‚̃LƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ðݒ肵‚Ü‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +delay_list: ƒXƒLƒ‹‚̃fƒBƒŒƒCŽžŠÔ‚ðݒ肵‚Ü‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +upkeep_time:ƒXƒLƒ‹‚̈ێŽžŠÔ‚ðݒ肵‚Ü‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +upkeep_time2:ƒXƒLƒ‹‚É‚æ‚Á‚Ä‹N‚±‚éó‘ÔˆÙí‚̈ێŽžŠÔ‚ðݒ肵‚Ü‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B(‚½‚¾‘¬“xŒ¸‚Íupkeep_time‚ðŽg‚¢‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B) + +¦•Ší‚̒ljÁŒø‰Ê‚É‚æ‚éó‘ÔˆÙí‚ÍMG_STONECURSE(Ή»)AMG_FROSTDIVER(“€Œ‹)ANPC_STUNATTACK(ƒXƒ^ƒ“)ANPC_SLEEPATTACK(‡–°)ATF_POISON(“Å)ANPC_CURSEATTACK(Žô‚¢)ANPC_SILENCEATTACK(’¾–Ù)ANPC_BLINDATTACK(ˆÃ•)‚Ìupkeep_time2‚ðŽg‚¢‚Ü‚·B(ƒŒƒxƒ‹‚Í7‚Å“K—p) +¦‹}ŠUŒ‚‚Ìê‡Å‘僌ƒxƒ‹‚Í1‚Å‚·‚ªƒoƒbƒVƒ…‚̃Œƒxƒ‹‚É‚æ‚Á‚ĈÙ펞ŠÔ‚ð•ÏX‚Å‚«‚é‚Ì‚Å•¡”Ý’è‚à‰Â”\‚Å‚·B +¦ƒ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ƃNƒ[ƒLƒ“ƒO‚Ìupkeep_time‚͈ێŽžŠÔ‚Å‚Í‚È‚SP‚ª1Œ¸‚鎞ŠÔ‚Å‚·B + + +========================================================================== +2. db/skill_db.txt +-------------------------------------------------------------------------- + +id,range,hit,inf,pl,nk,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count + +id: ƒXƒLƒ‹‚ÌID‚Å‚·B +range: ƒXƒLƒ‹‚ÌŽË’ö‹——£‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B-1‚̓Lƒƒƒ‰‚Ì•ŠíŽË’ö‚Æ“¯‚¶‚ÆŒ¾‚¤ˆÓ–¡‚Å-2‚È‚çƒLƒƒƒ‰‚Ì•ŠíŽË’ö+1A-3‚È‚çƒLƒƒƒ‰‚Ì•ŠíŽË’ö+2‚É‚È‚è‚Ü‚·B +hit: ˜A‘Å‚È‚ç8A’P”‚È‚ç6(ƒXƒLƒ‹‚̃qƒbƒg”‚¶‚á‚ ‚è‚Ü‚¹‚ñB) +inf: ƒXƒLƒ‹î•ñ‚Å‚·B + 0-ƒpƒbƒVƒuA1-“GA2-êŠA4-‘¦Žž”“®A16-–¡•ûA32-ã© + •¡”‚Ì•¨‚ð“ü‚ê‚é‚Æ(”’l‚ð‘«‚µ‚Ä)³‚µ‚“®ì‚µ‚Ü‚¹‚ñB +pl: ƒXƒLƒ‹‚Ì‘®«‚Å‚·B + 0-–³ 1-… 2-’n 3-‰Î 4-•— 5-“Å 6-¹ 7-ˆÃ 8-”O 9-•sŽ€ +nk: •t‰Á@1Œø‰Ê@2‚«”ò‚΂µ +MaxLv: ƒXƒLƒ‹‚Ìő僌ƒxƒ‹‚Å‚·B +list_num: Hit‰ñ”‚̃ŠƒXƒg‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +castcancel: ƒXƒLƒ‹‚ªƒLƒƒƒ“ƒZƒ‹‚³‚ê‚é‚©‚Ç‚¤‚©‚ðݒ肵‚Ü‚·Byes‚̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚镨‚Åno‚̓Lƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢•¨‚Å‚·B +cast_defence_rate: ƒLƒƒƒXƒeƒBƒ“ƒO’†‚ɒቺ‚·‚é–hŒä—͂̔䗦‚Å‚·Bƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚âƒNƒ‰ƒ“ƒhƒNƒƒX‚̂悤‚ɃXƒLƒ‹ƒLƒƒƒXƒeƒBƒ“ƒO’†‚É–hŒä‚ªŒ¸‚éƒXƒLƒ‹‚ÌÝ’è‚ÉŽg‚¢‚Ü‚·B +inf2: ƒXƒLƒ‹î•ñ2‚Å‚·B1 - ƒNƒFƒXƒgƒXƒLƒ‹A2 - npc ƒXƒLƒ‹A4-“GA8-êŠA16-‘¦Žž”“®A32-–¡•ûA64-ã©A128-PVPƒ‚[ƒh‚ÅŽ©•ª‚ðŠÜ‚Þ‘S‚Ä‚Ì•¨‚Ƀ_ƒ[ƒW‚ª“ü‚éƒXƒLƒ‹(’n–ʃXƒLƒ‹‚Ì‚Ý)A256-•’Ê‚ÌŽg—p‚ÅŽ©•ª‚É•K‚¸ƒ_ƒ[ƒW‚ª“ü‚éƒXƒLƒ‹(’n–ʃXƒLƒ‹‚Ì‚Ý)A512-Ž©•ª‚É‚ÍŽg‚¤‚±‚Æ‚ª‚Å‚«‚È‚¢ƒXƒLƒ‹A1024 - Ž©•ª‚©Ž©•ª‚̃p[ƒeƒB‚É‚µ‚©Žg‚¦‚È‚¢ƒXƒLƒ‹B2048 - Ž©•ª‚©Ž©•ª‚̃Mƒ‹ƒh‚É‚µ‚©Žg‚¦‚È‚¢ƒXƒLƒ‹A“¯–¿ƒMƒ‹ƒhƒ`ƒFƒbƒN‚Í–³‚µB(4A8A16A32A64‚͈ꕔ‚̃AƒNƒeƒBƒuƒXƒLƒ‹‚ªŽg—pB¡‚͈¢C—…”e–PŒ‚Ì‚ÝŽg—pB) +maxcount: ’n–ʃXƒLƒ‹‚Ì‚Ý‚É“K—p‚³‚ê‚镨‚ŃXƒLƒ‹‚ð’u‚¯‚éő唂ł·B0‚Í’u‚¯‚È‚¢‚ÆŒ¾‚¤ˆÓ–¡‚Å‚Í‚È‚§ŒÀ‚ª‚È‚¢•¨‚ÆŒ¾‚¤ˆÓ–¡‚Å‚·B +skill_type: ƒXƒLƒ‹‚ÌŽí—Þ‚ðݒ肵‚Ü‚·Bweapon‚Í•ŠíƒXƒLƒ‹‚Åmagic‚Í–‚–@ƒXƒLƒ‹Amisc‚Í•Ší‚Å‚à–‚–@‚Å‚à‚È‚¢ƒXƒLƒ‹‚Å‚·Bnone‚ÍŒˆ‚ߓ‚¢•¨“™‚Éݒ肵‚Ü‚·B‚½‚¾‚±‚ê‚ð•Ï‚¦‚½‚Æ‚µ‚Ä‚àƒXƒLƒ‹‚̃_ƒ[ƒWŒvŽZ‚ª‚±‚ê‚ɇ‚킹‚Ä•Ï‚í‚é‚킯‚Å‚Í‚È‚ƒ_ƒ[ƒW‚ÌŒvŽZ‚̓vƒƒOƒ‰ƒ€ƒŒƒxƒ‹‚Ås‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚̓Xƒyƒ‹ƒuƒŒƒCƒJ[‚ʼnr¥’†Ž~‚³‚ê‚é‚©‚Ç‚¤‚©‚ðÝ’è‚·‚éˆ×‚Ì•¨‚Å‚·B(‘¼‚̃XƒLƒ‹‚Å‚±‚ÌÝ’è‚ðŽg—p‚·‚é‰Â”\«‚à‚ ‚è‚Ü‚·‚ª¡‚ÌŠƒXƒyƒ‹ƒuƒŒƒCƒJ[‚Ì‚Ý‚Å‚·B) magic‚ÉÝ’è‚·‚é‚ƃXƒyƒ‹ƒuƒŒƒCƒJ[‚ʼnr¥’†Ž~‚³‚ê‚Ü‚·B +blow_count: ƒXƒLƒ‹‚æ‚éƒmƒbƒNƒoƒbƒN‹——£‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B + + +========================================================================== +3. db/skill_require_db.txt +-------------------------------------------------------------------------- + +id,list_hp,list_sp,list_hp_rate,list_sp_rate,list_zeny,list_weapon,state,spiritball,itemid1,amount1,itemid2,amount2,itemid3,amount3,itemid4,amount4,itemid5,amount5,itemid6,amount6,itemid7,amount7,itemid8,amount8,itemid9,amount9,itemid10,amount10 + +id: ƒXƒLƒ‹‚ÌID‚Å‚·B +list_hp: ƒXƒLƒ‹Žg—p‚ÅŒ¸‚éHP‚Ì—Ê‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +list_sp: ƒXƒLƒ‹Žg—p‚ÅŒ¸‚éSP‚Ì—Ê‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +list_hp_rate: ƒXƒLƒ‹Žg—p‚ÅŒ¸‚éHP‚̔䗦‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B(Å‘åHP‚̔䗦‚Å‚Í‚È‚Œ»ÝHP‚̔䗦‚Å‚·B) +list_sp_rate: ƒXƒLƒ‹Žg—p‚ÅŒ¸‚éSP‚̔䗦‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B(Å‘åSP‚̔䗦‚Å‚Í‚È‚Œ»ÝSP‚̔䗦‚Å‚·B) +list_zeny: ƒXƒLƒ‹Žg—p‚ÅŒ¸‚éƒ[ƒj‚Ì—Ê‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +list_weapon: ƒXƒLƒ‹‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚é•Ší‚ðݒ肵‚Ü‚·B + 99 - ‘S‚Ä‚Ì•ŠíA0 - ‘fŽèA1 - ’ZŒ•A2 - •ÐŽèŒ•A3 - —¼ŽèŒ•A4 - •ÐŽè‘„A + 5 - —¼Žè‘„A6 - •ÐŽè•€A7 - —¼Žè•€A8 - •ÐŽè“ÝŠíA9 - —¼Žè“ÝŠíA10 - ƒƒbƒhA + 11 - ‹|A12 - ƒiƒbƒNƒ‹A13 - ŠyŠíA14 - •ÚA15 - –{A16 - ƒJƒ^[ƒ‹A + 17~22: “ñ“—¬ + •¡”‚ðÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +state:ƒXƒLƒ‹‚ðŽg—p‚·‚éˆ×‚ÌðŒ‚ðݒ肵‚Ü‚·B•¡”‚ÌÝ’è‚Í‚Å‚«‚Ü‚¹‚ñB + none - ðŒ–³‚µ + hiding - ƒnƒCƒfƒBƒ“ƒOó‘Ô + cloacking - ƒNƒ[ƒLƒ“ƒOó‘ÔB + hidden: ƒnƒCƒfƒBƒ“ƒO‚âƒNƒƒbƒLƒ“ƒOó‘Ô + riding: ƒyƒRƒyƒR‚Éæ‚Á‚Ä‚¢‚é + falcon: ‘é‚ð˜A‚ê‚Ä‚¢‚é + cart: ƒJ[ƒg‚ð’…‚¯‚Ä‚¢‚é + shield: ƒV[ƒ‹ƒh‚ðŽ‚Á‚Ä‚¢‚é + sight: ƒTƒCƒgó‘Ô + explosionspirits: ”š—ô”g“®ó‘Ô + recover_weight_rate: Ž©‘R‰ñ•œ‚Å‚«‚éd—Ê + move_enable: ƒXƒLƒ‹Žg—pˆÊ’u‚ªˆÚ“®‰Â”\‚ÈêŠ + water: ‘«Œ³‚ª… +spiritball: ƒXƒLƒ‹Žg—p‚É•K—v‚È‹C’e‚Ì”‚Å‚·BƒŒƒxƒ‹•Ê‚ÉÝ’è‚·‚éꇂÍu:v‚ðŽg‚¢‚Ü‚·B +itemid1: ƒXƒLƒ‹Žg—p‚É•K—v‚ȃAƒCƒeƒ€‚ÌIDAƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÌꇃŒƒxƒ‹•Ê‚ÉŽg‚¤‚±‚Æ‚É‚È‚éƒAƒCƒeƒ€ID +amount1: ƒXƒLƒ‹Žg—p‚É•K—v‚ȃAƒCƒeƒ€‚Ì”(”‚ª0‚ÌꇃAƒCƒeƒ€‚ÌID‚ª‚ ‚é‚ƃAƒCƒeƒ€‚ÍŒ¸‚ç‚È‚¢‚¯‚ÇG”}‚Æ‚µ‚Ä‚»‚̃AƒCƒeƒ€‚ðŽ‚Á‚Ä‚¢‚é•K—v‚ª‚ ‚é‚悤‚É‚È‚è‚Ü‚·B) ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÌꇃŒƒxƒ‹•Ê‚ÉŽg‚¤‚±‚Æ‚É‚È‚éƒAƒCƒeƒ€” +itemid2: 㓯 +amount2: 㓯 +itemid3: 㓯 +amount3: 㓯 +itemid4: 㓯 +amount4: 㓯 +itemid5: 㓯 +amount5: 㓯 +itemid6: 㓯 +amount6: 㓯 +itemid7: 㓯 +amount7: 㓯 +itemid8: 㓯 +amount8: 㓯 +itemid9: 㓯 +amount9: 㓯 +itemid10: 㓯 +amount10: 㓯 + + +========================================================================== +4. db/pet_db.txt +-------------------------------------------------------------------------- + + MobID,Name,JName,ItemID,EggID,AcceID,FoodID,Fullness,HungryDelay ,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script + +MobID: ƒ‚ƒ“ƒXƒ^[ID‚Å‚·B +Name: ‰pŒê–¼‘O(ƒ_ƒ~[) +JName: –¼‘O +ItemID: •ßŠl—p‚̃AƒCƒeƒ€ID +EggID: —‘‚̃AƒCƒeƒ€ID +AcceID: ‘•”õƒAƒNƒZƒTƒŠ[‚̃AƒCƒeƒ€ID +FoodID: ‰a‚̃AƒCƒeƒ€ID +Fullness: 1‰ñ‚̉a‚Å‚Ì–ž• “x‘‰Á—¦% +HungryDelay: –ž• “x‚ª1%Œ¸‚éˆ×‚É‚©‚©‚鎞ŠÔ(•b) +R_Hungry: ‹ó• Žž‰a‚â‚èe–§“x‘‰Á—Ê +R_Full: ‚Æ‚Ä‚à–ž• Žž‰a‚â‚èe–§“xŒ¸—Ê +Intimate: •ßŠlŽže–§“x +Die: Ž€–SŽže–§“xŒ¸—Ê +Capture: •ßŠl—¦(–œ•ª—¦) +Speed: ˆÚ“®‘¬“x +S_Performance: ƒXƒyƒVƒƒƒ‹ƒpƒtƒHƒ}ƒ“ƒX‚ª‚ ‚é‚©‚Ç‚¤‚©(1‚Å‚ ‚è0‚Å‚È‚µ) +talk_convert_class: ‘䎌‚𑼂̃yƒbƒg‚Ì•¨‚É•ÏXB•ÏX‚µ‚½‚¢ƒyƒbƒg‚̃‚ƒ“ƒXƒ^[ID‚ð“ü‚ê‚Ü‚·B0‚ÌꇕÏX‚È‚µ‚Ń}ƒCƒiƒX‚ð“ü‚ê‚é‚ƃGƒ‚[ƒVƒ‡ƒ“ˆÈŠO‚Ì•¨(‘䎌)‚Í‘S‚Ä–³Ž‹‚³‚ê‚Ü‚·B +attack_rate: Žx‰‡UŒ‚Šm—¦B(–œ•ª—¦) Žål‚ªUŒ‚‚ð‚µ‚©‚¯‚½ê‡B +defence_attack_rate: Žx‰‡UŒ‚Šm—¦B(–œ•ª—¦) Žål‚ªUŒ‚‚ðŽó‚¯‚½ê‡B +change_target_rate: UŒ‚–Ú•W‚ð•ÏX‚·‚éŠm—¦B(–œ•ª—¦) +pet_script: ƒyƒbƒg‚ðŽ‚Á‚Ä‚¢‚鎞“K—p‚³‚ê‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚ðÝ’èB + + + +========================================================================== +EOF +-------------------------------------------------------------------------- diff --git a/doc/help.txt b/doc/help.txt new file mode 100644 index 0000000..7b83258 --- /dev/null +++ b/doc/help.txt @@ -0,0 +1,453 @@ +GM Commands Help File +By Akaru +----------------------- +To use these commands, type them inside the message window where you usually type to chat. + +<ANNOUNCEMENT COMMANDS> + +/nb <message> +@kami <message> +Lets you make a GM global announcement without a name (in yellow) + +@kamib <message> +Lets you make a GM global announcement without a name (in blue) + +/b/@broadcast <message> +Lets you make a GM global announcement with your name + +/lb/@localbroadcast <message> +Broadcasts a GM message with name of the GM (in yellow) ONLY on your map + +/nlb <message> +Broadcasts a GM message without name of the GM (in yellow) ONLY on your map + +<INFORMATION COMMANDS> + +@who [match_text] +Lists who is currently online in your server and their location +@who2 [match_text] +Lists who is currently online in your server and their job +@who3 [match_text] +Lists who is currently online in your server and their party/guild + +@whomap [map] +Display a listing of who is online and where in a specifical map +@whomap2 [map] +Display a listing of who is online and their job in a specifical map +@whomap3 [map] +Display a listing of who is online and their party/guild in a specifical map + +@whogm [match_text] +Like @who+@who2+who3, but only for GM. + +@where <char name> +Tells you the location of a character + +@charstatsall +Displays stats of all characters. + +@charitemlist <char name> +Displays all items of a player. + +@charstoragelist <char name> +Displays all items of a player's storage. + +@charcartlist <char name> +Displays all items of a player's cart. + +@time/@date/@server_date/@serverdate/@server_time/@servertime +Display the date/time of the server + +@idsearch <part_of_item_name> +Search all items that name have part_of_item_name + +@ignorelist +Displays your ignore list + +@mapinfo [<1-3> [map]] +Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat). + +<CONTROL COMMANDS> + +@die +Kill yourself :) + +@alive +Revive yourself from death + +@kill <char name> +Kills specified character name +Example: +@kill TestChar -> The character named TestChar is dead + +@nuke <char name> +Kills specified character (nuclear effect). + +@save +Sets save point as current location + +@load +Warps you to your save point (a.k.a. butterfly wing) + +@warp <map name> <x> <y> +@rura <map name> <x> <y> +@mapmove <map name> <x> <y> +/mm <map name> <x> <y> +/mapmove <map name> <x> <y> +Warps you to the selected position +Example: +@warp morocc 150 160 -> Warps you to Morroc (X:150, Y:160) +@rura prontera 50 80 -> Warps you to Prontera (X:50, Y:80) + +@jump [x [y]] +Teleports you randomly in the map (a.k.a. fly wing) + +/shift/@jumpto/@warpto/@goto <char name> +Warps you to selected character +Example: +@jumpto TestChar -> You are warped to TestChar's current location + +@go <number/city_name> +Warps you to a set city: + -3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim + -2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang + -1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point + 0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail + +/hide/@hide +GM Hide. Perfect hide that's totally invinsible. + +@heal [<HP> <SP>] - Heals the desired amount of HP and SP. No value specified will do a full heal. +@storage - Opens storage + +/recall/@recall <char name> - Warps target character to you. +@recallall - Recalls everyone on the server to you. +@guildrecall <guild_name/id> - Warps all online character of a guild to you. +@partyrecall <party_name/id> - Warps all online character of a party to you. +@revive <char name> - Revives target character. + +<SPAWNING COMMANDS> + +/item <item_name> - Gives you 1 of the desired item. +@item <item name or ID> <quantity> - Gives you the desired item. + +/monster <monster_name> - Spawns 1 of the desired monster. +@spawn/@monster/@summon <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]] +@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]] +@spawn/@monster/@summon/@monster2 "desired monster name" <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]] +@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> "desired monster name" [<number to spawn> [<x coord> [<y coord>]]] + Spawns the desired monster with any desired name. + +<MAP OPTIONS COMMANDS> + +@pvpon - Turns pvp on on the current map +@pvpoff - Turns pvp off on the current map +@gvgon - Turns gvg on on the current map +@gvgoff - Turns gvg off on the current map + +<CHARACTER CONTROL COMMANDS> +@baselvlup <number of levels> - Raises your base level the desired number of levels. The max is 99 +@joblvlup <number of levels> - Raises your job level the desired number of levels. The max is 50 + +@job/@jobchange <job ID> +Changes your job to the job assigned to the ID + 0 Novice 7 Knight 14 Crusader 22 Formal + 1 Swordman 8 Priest 15 Monk 23 Super Novice + 2 Mage 9 Wizard 16 Sage + 3 Archer 10 Blacksmith 17 Rogue + 4 Acolyte 11 Hunter 18 Alchem + 5 Merchant 12 Assassin 19 Bard + 6 Thief 13 Knight2 20 Dancer + 21 Crusader2 + 24 Novice High 31 Lord Knight 38 Paladin + 25 Swordman High 32 High Priest 39 Monk + 26 Mage High 33 High Wizard 40 Professor + 27 Archer High 34 Whitesmith 41 Stalker + 28 Acolyte High 35 Sniper 42 Creator + 29 Merchant High 36 Assassin Cross 43 Clown + 30 Thief High 37 Peko Knight 44 Gypsy + 45 Paladin2 + +@option <param1> <param2> <param3> +Changes options for your character + <param1> <param2> (Stackable) <param3> (Stackable) + 01 Petrified 01 Poison 01 Sight + 02 Frozen 02 Cursed 02 Hide + 03 Stunned 04 Silenced 04 Cloak + 04 Sleeping 08 ??? 08 Level 1 Cart + 06 darkness 16 darkness 16 Falcon + 32 Peco Peco riding + 64 GM Perfect Hide + 128 Level 2 Cart + 256 Level 3 Cart + 512 Level 4 Cart + 1024 Level 5 Cart + 2048 Orc Head + 4096 Wedding Sprites + 8192 Ruwach + +@speed <1-1000> +Changes you walking speed. +1(Fastest)<---140(Default)----------------->1000(Slowest) + +@disguise <monster_name_or_monster_ID> +Change your appearence to other players to a mob. + +@undisguise +Restore your normal appearance. + +@model <hair ID> <hair color> <clothes color> +Changes your characters appearance (Hair type, Hair Colour and/or Clothes Colour) + + Hair ID (0-17) Hair Colour (0-8) Clothes Colour (0-4) + 0 Default 0 Default + 1 Blonde 1 Red + 2 Purple 2 Green + 3 Brown 3 White + 4 Green 4 Brown + 5 Blue + 6 White + 7 Black + 8 Red + +@effect <effect_id> [flag] +Give an efect to your character. + +@stpoint <number of points> +Gives you the desired number of stat points. + +@skpoint <number of points> +Gives you the desired number of skill points. + +@zeny <amount> +Gives you desired amount of Zeny. + +@str <amount> +@agi <amount> +@vit <amount> +@int <amount> +@dex <amount> +@luk <amount> +Adds desired amount to any stat. For example "@str 10" raises your str by 10 + +@spiritball <number> +Number = 1-1000 +Gives you monk "spirit spheres" like from the skill "Call Spirits" +(If the number you use is > 1000, your server may become instable or crash) + +@memo [memo_position] +set/change a memo location (no position: display memo points). + +@questskill <id> +Gives you the specified quest skill + +@lostskill <id> +Takes away the specified quest skill from you + +Quest Skill ID: + Novice + 142 = Emergency Care + 143 = Act dead + Swordsman + 144 = Moving HP Recovery + 145 = Attack Weak Point + 146 = Auto Berserk + Magician + 157 = Energy Coat + Archer + 147 = Arrow Creation + 148 = Charge Arrows + Acolyte + 156 = Holy Light + Merchant + 153 = Cart Revolution + 154 = Change Cart + 155 = Crazy Uproar/Loud Voice + Thief + 149 = Throw Sand + 150 = Back Sliding + 151 = Take Stone + 152 = Stone Throw + +<GUILD CONTROL COMMANDS> + +@guildlvup/@guildlvlup <# of levels> - Raise Guild by desired number of levels + +<EQUIPMENT COMMANDS> + +@refine <position> <+/-amount> +Upgrades equipment at the position specified (Stackable) +0 - All +1 - Lower Head +2 - Right Hand +4 - Robe/Garment +8 - Left Accessory +16 - Body/Armor +32 - Left Hand +64 - Feet +128 - Right Accessory +256 - Top Head +512 - Mid Head + +Example: +@refine 34 10 - Refines a 2 handed weapon to +10 +@refine 16 4 - Refines the body/armor to +4 + +@produce <equip name or equip ID> <element> <# of very's> +Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind +# of very's: 0=None 1=Very Strong 2=Very Very Strong 3=Very Very Very Strong + +Example: @produce 1163 3 3 - Produces a Very Very Very Strong (Your Nick)'s Fire Claymore + +<Q-PET/cutePET COMMANDS> +@hatch - Create a pet from your inventory eggs list. +@makeegg <ID> - Gives pet egg for monster ID in pet DB +@petfriendly <#> - Set pet friendly amount (0-1000) 0 = Min, 1000 = Max +@pethungry <#> - Set pet hungry amount (0-100) 0 = Min, 100 = Max +@petrename - Re-enable pet rename + +<REMOTE CHAR COMMANDS> +@charwarp <map name> <x> <y> <char name> +Warps character to location of choice +Example: +@charwarp morocc 150 160 TestChar -> Warps TestChar to Morroc (X:150, Y:160) + +@charstats <char name> +Displays the character's stats. + +@charignorelist <char name> +Displays ignore list of the player + +@inall <char name> +Allows all wispers for the player + +@exall <char name> +Blocks all wispers for the player + +@charoption <param1> <param2> <param3> <char name> +Does the same as the @option command only to target character. + +@charmountpeco <charname> +Give/remove to a player a peco (Class is required, but not skill). + +@charpetrename <charname> +Re-enable pet rename to a player. + +@charsave <map> <x> <y> <char name> +Changes the target player's respawn point. + +@charbaselvl <#> <char name> +Change a character's base level. + +@charjlvl <#> <char name> +Change a character's job level. + +@charjob/@charjobchange <job ID> <char name> +Changes target character's job. + +@charzeny <amount> <char name> +Give/take a player's Zeny + +@charstpoint <amount> <char name> +Give/take a player's stat points + +@charskpoint <amount> <char name> +give/take a player's skill points + +@charquestskill <#> <charname> +Gives to a player the specified quest skill. + +@charlostskill <#> <charname> +Takes away the specified quest skill from the player. + +@chardelitem <item_name_or_ID> <quantity> <player> +Remove items from a character + +@charmodel <hair type> <hair color> <clothes color> <char name> +Changes a player's model + +@chardisguise <monster_name_or_monster_ID> <char name> +Changes disguise of a player + +@charundisguise <char name> +Cancels disguise of a player + +@charchangesex <name> +Changes sex of a player (all characters of the account) + +@charblock/@block <name> +Blocks definitively a account + +@charunblock/@unblock <name> +Unblocks a account + +@charban/@ban/@banish/@charbanish <time> <name> +Ban temporarily a account + time usage: adjustement (+/- value) and element (y/a, m, d/j, h, mn, s) + Example: @ban +1m-2mn1s-6y testplayer + +@charunban/@unban/@unbanish/@uncharbanish <name> +Unban a account + +@jail <char_name> +Sends specified character in jails + +@unjail/@discharge <char_name> +Discharges specified character/prisoner + +<MASS CONTROL COMMANDS> +@night +All characters are in darkness + +@day +@option 00 00 00 are used on all characters + +@doom +Kills all NON GM chars on the server. + +@doommap +Kills all non GM characters on the map. + +@raise +Resurrects all characters on the server. + +@raisemap +Resurrects all characters on the map. + +@kick <charname> +Kicks specified character off the server + +@kickall +Kick all characters off the server + +<OTHER COMMANDS> + +@gat ---- ƒfƒoƒbƒO—p(Žü•Ógat‚𒲂ׂé) +@packet ---- ƒfƒoƒbƒO—p(ƒpƒPƒbƒgFX) + +@mapexit +Kick all players and shut down map-server. + +@reloaditemdb +Reload item database (admin command) + +@reloadmobdb +Reload monster database (admin command) + +@reloadskilldb +Reload skills definition database (admin command) + +@reloadscript +Reload all scripts (admin command) + +@reloadgmdb +Reload GM levels (admin command) + +@enablenpc <NPC_name> +Enable a NPC (admin command) + +@disablenpc <NPC_name> +Disable a NPC (admin command) + +@email <actual@email> <new@email> +to change your e-mail (characters protection) diff --git a/doc/help1.txt b/doc/help1.txt new file mode 100644 index 0000000..865738d --- /dev/null +++ b/doc/help1.txt @@ -0,0 +1,398 @@ + ______ __ __ + /\ _ \/\ \__/\ \ + __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ + /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ +/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ +\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ + \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ + _ _ _ _ _ _ _ _ _ _ _ _ _ + / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ +( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) + \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ + +-------------------------------------------------------------- +GM COMMANDS +--------------------------------------------------------------------------------- +Note: + To use these commands, type them inside the message window where you usually + type to chat. +--------------------------------------------------------------------------------- +<> = type of parameter that the command need to have +[] = optionnal parameter +--------------------------------------------------------------------------------- + +@h/@help = display commands help inside the game. + +================================================================================= +ANNOUNCEMENT COMMANDS +================================================================================= +/b/@broadcast <message> = Broadcasts a GM message with name of the GM + (in yellow) +/nb/@kami <message> = Broadcasts a GM message without name of the GM + (in yellow) +@kamib <message> = Broadcasts a GM message without name of the GM + (in blue) +/lb/@localbroadcast <message> = Broadcasts a GM message with name of the GM + (in yellow) ONLY on your map +/nlb <message> = Broadcasts a GM message without name of the GM + (in yellow) ONLY on your map + +================================================================================= +INFORMATION COMMANDS +================================================================================= +@who [match_text] = Lists which characters are currently online in your + server and their location. [match_text] is a parameter + to search only characters that have this text in their + name. +@who2 [match_text] = Lists which characters are currently online in your + server and their job. [match_text] is a parameter to + search only characters that have this text in their + name. +@who3 [match_text] = Lists which characters are currently online in your + server and their party/guild. [match_text] is a + parameter to search only characters that have this text + in their name. +@whomap [map] = Displays a listing of which characters are online and + where they are in a specifical map. If [map] isn't + specified, you display characters on your map. +@whomap2 [map] = Displays a listing of which characters are online and + their job in a specifical map. If [map] isn't specified, + you display characters on your map. +@whomap3 [map] = Displays a listing of which characters are online and + their party/guild in a specifical map. If [map] isn't + specified, you display characters on your actual map. +@whogm [match_text] = Like @who+@who2+who3, but only for GM. +@where [char name] = Tells you the location of a character. If [char name] + isn't specified, you display your own location. +@charstatsall = Displays stats of all characters. +@charitemlist <char name> = Displays all items of a player. +@charstoragelist <char name> = Displays all items of a player's storage. +@charcartlist <char name> = Displays all items of a player's cart. +@ignorelist = Displays your ignore list +@mapinfo [<0-3> [map]] = Give information about a map (general info +: + 0: no more, 1: players, 2: NPC, 3: shops/chat). + +@time/@date/@server_date/@serverdate/@server_time/@servertime = Display the date/ + time of the server + +@guildspy <guild_name/id> = You will receive all messages of the specified guild + channel +@partyspy <party_name/id> = You will receive all messages of the specified party + channel + +================================================================================= +(YOURSELF-)CONTROL COMMANDS +================================================================================= +MOVE COMMANDS +------------- +/hide/@hide = GM Hide. Perfect hide that's totally + invisible. Type @hide again become + visible. +@save = Sets save point as current location +@load/@return = Warps you to your save point (like + butterfly wing) +/mm <mapname> <xpos> <ypos> = Warps you to the selected position +/mapmove <map_name> <x> <y> = Warps you to the selected position +@warp/@rura/@mapmove <mapname> <x> <y> = Warps you to the selected position + Example: @warp morocc 150 160 -> Warps + you to Morroc (X:150, Y:160) +@jump [x [y]] = Teleports you randomly in the map (like + fly wing) +/shift/@jumpto/@warpto/@goto <charname> = Warps you to selected character + Example: @jumpto TestChar -> You are + warped to TestChar's current + location +@go <number/city_name> = Warps you to a set city: + -3=(Memo point 2) 4=Alberta 11=Gon Ryun + -2=(Memo point 1) 5=Izlude 12=Umbala + -1=(Memo point 0) 6=Al de Baran 13=Niflheim + 0=Prontera 7=Lutie 14=Lou Yang + 1=Morroc 8=Comodo 15=Start point + 2=Geffen 9=Yuno 16=Prison + 3=Payon 10=Amatsu + +HEALTH COMMANDS +--------------- +@die = Kill yourself :) (suicide) +@alive = Revives yourself from death +@heal [<HP> <SP>] = Heals the desired amount of HP and SP. No value specified + will do a full heal. + +OTHER COMMANDS +--------------- +/resetstatus = Resets all status points for you to reuse. +/resetskill = Resets all skill points for you to reuse. +@job/@jobchange <job> = Changes your job to the job assigned to the ID: + 0 Novice 7 Knight 14 Crusader 22 Formal + 1 Swordman 8 Priest 15 Monk 23 Super Novice + 2 Mage 9 Wizard 16 Sage + 3 Archer 10 Blacksmith 17 Rogue + 4 Acolyte 11 Hunter 18 Alchem + 5 Merchant 12 Assassin 19 Bard + 6 Thief 13 Knight2 20 Dancer + 21 Crusader2 + 24 Novice High 31 Lord Knight 38 Paladin + 25 Swordman High 32 High Priest 39 Monk + 26 Mage High 33 High Wizard 40 Professor + 27 Archer High 34 Whitesmith 41 Stalker + 28 Acolyte High 35 Sniper 42 Creator + 29 Merchant High 36 Assassin Cross 43 Clown + 30 Thief High 37 Peko Knight 44 Gypsy + 45 Paladin2 +@lvup/@blevel/@baselvlup <number of levels> = Raises your base level the + desired number of levels. The max + is 99/255 (User Defined). +@joblvup/@jlevel/@joblvlup <number of levels> = 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. +@allskill/@allskills/@skillall/@skillsall = Give you all skills. +@option <param1> <param2> <param3> = Changes options of your character + Example: @option 0 0 16 - would give falcon + <param1> <param2> <param3> <param3> + 01 Petrified 01 Poison 01 Sight 128 Level 2 Cart + 02 Frozen 02 Cursed 02 Hide 256 Level 3 Cart + 03 Stunned 04 Silenced 04 Cloak 512 Level 4 Cart + 04 Sleeping 08 ??? 08 Level 1 Cart 1024 Level 5 Cart + 06 darkness 16 darkness 16 Falcon 2048 Orc Head + 32 Peco Peco riding 4096 Wedding Sprites + 64 GM Perfect Hide 8192 Ruwach +@mountpeco = Give/remove you a peco. (Class is required, but not skill) +@disguise <monster_name/monster_ID/NPC_ID> = Change your appearence to a mob or npc. + If using NPC ID 104 Will become an effect. + Speed of player will determine effect, be very careful with this ID + it can create client crashes with improper ids and can easily lag players + off of the server. +@undisguise = Restore your normal appearance. +@model <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4> + = Changes your characters appearance + (Hair type/colour and/or Clothes colour) + Hair ID (0-17) Hair Colour (0-8) Clothes Colour (0-4) + 0 Default 0 Default + 1 Blonde 1 Red + 2 Purple 2 Green + 3 Brown 3 White + 4 Green 4 Brown + 5 Blue + 6 White + 7 Black + 8 Red +@dye/@ccolor <clothes color: 0-4> = Changes your characters appearence + (only clothes color). +@hairstyle/@hstyle <hair ID: 0-17> = Changes your characters appearence + (only hair style). +@haircolor/@hcolor <hair color: 0-8> = Changes your characters appearence + (only hair color). +@speed <1-1000> = Changes you walking speed (1 being the + fastest & 1000 the slowest. Default 150. +@effect <effect_id> [flag] = Give an efect to your character. +@stpoint <number of points> = Gives you the desired number of stat + points. +@skpoint <number of points> = Gives you the desired number of skill + points. +@zeny <amount> = Gives you desired amount of Zeny. +@str,@agi,@vit,@int,@dex,@luk <amount> = Adds desired amount to any stat. For + example "@str 10" raises your str by 10. +@statall/@statsall/@allstats/@allstat [value] = Adds value in all stats (maximum + if no value). +@memo [memo_position] = set/change a memo location. + (no position: display memo points). +@spiritball <number: 1-1000> = Gives you monk "spirit spheres" like + from the skill "Call Spirits" (If the + number you use is > 1000, your server + may become instable or crash) +@questskill <id> = Gives you the specified quest skill +@lostskill <id> = Takes away the specified quest skill + from you + Novice Archer Swordsman + 142 = Emergency Care 147 = Arrow Creation 144 = Moving HP Recovery + 143 = Act dead 148 = Charge Arrows 145 = Attack Weak Point + Thief 146 = Auto Berserk + 149 = Throw Sand Merchant + 150 = Back Sliding 153 = Cart Revolution + 151 = Take Stone 154 = Change Cart + 152 = Stone Throw 155 = Crazy Uproar/Loud Voice + Acolyte Magician + 156 = Holy Light 157 = Energy Coat + +================================================================================= +MONSTERS COMMANDS +================================================================================= +/monster <monster_name> = Spawns 1 of the desired monster. +@spawn/@monster/@summon <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]] + = Spawns the desired monster with any desired name, + quantity and x and y location (if specified). +@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]] + = Spawns the desired monster with any desired name. +@spawn/@monster/@summon/@monster2 "desired monster name" <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]] +@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> "desired monster name" [<number to spawn> [<x coord> [<y coord>]]] + = There 2 last forms can use spaces for desired names. +@killmonster [map] = kill all monsters of the map (they drop items) +@killmonster2 = kill all monsters of your map (without drops) + +================================================================================= +ITEMS COMMANDS +================================================================================= +@storage = Opens storage +@gstorage = Opens guild storage +/item <item_name> = Gives you 1 of the desired item. +@item <item name or ID> [quantity] = Gives you the desired item. +@item2 <item name or ID> <quantity> <Identify_flag> <refine> <attribut> <Card1> <Card2> <Card3> <Card4> + = Gives you the desired item. +@itemreset = Remove all your items. +@itemcheck = Check your items with authorised items. +@idsearch <part_of_item_name> = search all items that name have + part_of_item_name +@refine <equip position> <+/- amount> = Upgrades equipment at the position + specified (Stackable) + 0 - All + 1 - Lower Head + 2 - Right Hand + 4 - Robe/Garment + 8 - Left Accessory + 16 - Body/Armor + 32 - Left Hand + 64 - Foot Gear + 128 - Right Accessory + 256 - Top Head + 512 - Mid Head + Example: @refine 34 10 - Refines a 2 handed weapon to +10 + @refine 16 4 - Refines the body/armor to +4 +@produce <equip name or equip ID> <element> <# of very's> + Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind + It has separately with fragment 3 of the attribute + stars, you can apply. + # of very's: 0=None 1=Very Strong 2=Very Very Strong 3=Very Very Very Strong + Example: @produce 1163 3 3 - Produces a Very Very Very Strong (Your Nick)'s + Fire Claymore +@repairall = Repair all items of your inventory + +================================================================================= +PVP COMMANDS +================================================================================= +@pvpon = Turns pvp on on the current map +@pvpoff = Turns pvp off on the current map +@gvgon/@gpvpon = Turns gvg on on the current map +@gvgoff/@gpvpoff = Turns gvg off on the current map +@agitstart = Starts Guild Wars (War of Emperium) +@agitend = End Guild Wars (War of Emperium) + +================================================================================= +GROUPS COMMANDS +================================================================================= +@party <party_name> = Create a party +@guild <guild_name> = Create a guild. +@guildlvup/@guildlvlup <# of levels> = Raise Guild by desired number of levels +@guildrecall <guild_name/id> = Warps all online character of a guild to you. +@partyrecall <party_name/id> = Warps all online character of a party to you. + +================================================================================= +PETS COMMANDS +================================================================================= +@hatch = Create a pet from your inventory eggs list. +@makeegg <ID> = Gives pet egg for monster ID in pet DB +@petfriendly <#> = Set pet friendly amount (0-1000) 0 = Min, 1000 = Max +@pethungry <#> = Set pet hungry amount (0-100) 0 = Min, 100 = Max +@petrename = Re-enable pet rename + +================================================================================= +REMOTE CHARACTERS COMMANDS +================================================================================= +@kill <char name> = Kills specified character name + Example: @kill TestChar -> The character named + TestChar is dead +@jail <char_name> = Sends specified character in jails +/recall/@recall <char name> = Warps target character to you. +@recallall = Warps every character online to you. +@unjail/@discharge <char_name> = Discharges specified character + or prisoner +@charwarp/@rura+ <mapname> <x> <y> <char name> = Warps character to location of + choice: Example: + @charwarp morocc 150 160 testet +@revive <char name> = Revives target character. +@charstats <char name> = Displays the character's stats. +@charignorelist <char name> = Displays ignore list of the player +@inall <char name> = Allows all wispers for the player +@exall <char name> = Blocks all wispers for the player +@charoption <param1> <param2> <param3> <char name> = Does the same as the @option + command only to target + character. +@charmountpeco <charname> = Give/remove to a player a peco (Class is + required, but not skill). +@charpetrename <charname> = Re-enable pet rename to a player. +@charsave <map> <x> <y> <char name> = Changes the target player's respawn point. +@charbaselvl <#> <char name> = Change a character's base level. +@charjlvl <#> <char name> = Change a character's job level. +@charjob/@charjobchange <job ID> <char name> = Changes target character's job. +@charzeny <amount> <char name> = Give/take a player's Zeny +@charstpoint <amount> <char name> = Give/take a player's stat points +@charskpoint <amount> <char name> = Give/take a player's skill points +@charskreset <charname> = Reset skills of a character. +@charstreset <charname> = Reset stats of a character. +@charreset <charname> = Reset stats AND skills of a character. +@charquestskill <#> <charname> = Gives to a player the specified quest skill. +@charlostskill <#> <charname> = Takes away the specified quest skill from + the player. +@chardelitem <item_name_or_ID> <quantity> <player> = Remove items from a character +@charmodel <hair type> <hair color> <clothes color> <char name> = Changes a + player's model +@chardisguise <monster_name/ID> <char name> = Changes disguise of a player +@charundisguise <char name> = Cancels disguise of a player +@charchangesex <name> = Changes sex of a player (all characters of + the account) +@charblock/@block <name> = Blocks definitively a account +@charunblock/@unblock <name> = Unblocks a account +@charban/@ban/@banish/@charbanish <time> <name> = Ban temporarily a account + Time usage: adjustement + (+/- value) and element + (y/a, m, d/j, h, mn, s) + Example: + @ban +1m-2mn1s-6y testplayer +@charunban/@unban/@unbanish/@uncharbanish <name> = Unban a account +@kick <charname> = Kicks specified character off the server +@kickall = Kick all characters off the server +@mapexit = Kick all players and shut down map-server. +@doom = Kills all NON GM chars on the server. +@doommap = Kills all non GM characters on the map. +@raise = Resurrects all characters on the server. +@raisemap = Resurrects all characters on the map. + +================================================================================= +ENVIRONMENT COMMANDS +================================================================================= +@night = Uses @option 00 16 00 on all characters. All characters are in darkness +@day = Uses @option 00 00 00 on all characters. + +================================================================================= +MAIL SYSTEM (SQL Only) +================================================================================= +@checkmail = Checks # of messages in your mailbox. +@listmail = Lists all the messages in your mailbox. +@listnewmail = Lists all new messages in your mailbox. +@readmail <#> = Reads a message in your mailbox. +@deletemail <#> = Deletes a message in your mailbox. + +@sendmail <name> <message> = Sends a message to another player. Use quotes if + the player has spaces in their name. + +@sendprioritymail <name> <message> = Send priority mail to a player. + +Use * for name to send to all players. +================================================================================= +ADMINISTRATION COMMANDS +================================================================================= +@reloaditemdb = Reload item database (admin command) +@reloadmobdb = Reload monster database (admin command) +@reloadskilldb = Reload skills definition database (admin command) +@reloadscript = Reload all scripts (admin command) +@reloadgmdb = Reload GM levels (admin command) +@enablenpc <NPC_name> - Enable a NPC (admin command) +@disablenpc <NPC_name> - Disable a NPC (admin command) + +@gat = For debugging (you inspect around gat) +@packet = For debugging (packet variety) + +@GM <password> = it becomes GM! +@email <actual@email> <new@email> = to change your e-mail (characters protection) + +@refreshonline = Rechecks to make sure online column is correct (SQL Only)
\ No newline at end of file diff --git a/doc/history.txt b/doc/history.txt new file mode 100644 index 0000000..f0d33b4 --- /dev/null +++ b/doc/history.txt @@ -0,0 +1,173 @@ +Version 1.4.4
+===========================================================
+- Fixed a bug that caused the drop chance for all MVP drops
+ to become 0 when the "View Mob" option was used in the
+ Mob Drop List. (This was forgotten in the previous
+ update.)
+- Finally updated the "item_descriptions.txt" file.
+
+Version 1.4.3
+===========================================================
+- Fixed a bug that caused the drop chance for all drops to
+ become 0 when the "View Mob" option was used in the Mob
+ Drop List.
+- Fixed a bug that caused other mob entries to show up when
+ searching for a specific mob with an ID that can be found
+ as a string subset within the other mob's entry.
+- Fixed a bug that caused all new entries to go into the
+ "item_db2.txt" or "mob_db2.txt" files.
+- Tweaked some of the code for the Mob Skill Editor's
+ interface to better help with editing/creating skill
+ entries.
+
+Version 1.4.2
+===========================================================
+- Corrected the labels on the Mob Location Editor window.
+ Thanks to ShadowLady for pointing this out.
+
+Version 1.4.1
+===========================================================
+- Added functionality to the "Locations" button in the Mob
+ View. It will now open up the Mob Location Editor window.
+- Added a list of map names with a brief description to the
+ "ID Helper.txt" file to be used with the Map Helper.
+- Added a new option in the "ADE.ini" file that points to
+ the location of the files with the mobs' spawn points.
+- Fixed a bug with the Drop List feature that would keep
+ the window open till it was closed by the cancel button
+ or the window's close button.
+- Fixed a bug that caused the selected entry to not
+ properly update when saved. Thanks to Taike for reporting
+ this bug.
+- Redid the code for handling backups. So now when you
+ restore the backup files, it won't reload both the item
+ and mob related files, it only restores the backups for
+ item related files while using the Item View and mob
+ related files for the Mob View, and it will no longer
+ rename files as a backup file if they have no backup to
+ replace them with.
+
+Version 1.4.0
+===========================================================
+- Added the Mob Skill Editor feature to ADE. It is
+ available through the Skills button in the Mob View.
+ This adds handling of the "mob_skill_db.txt" file.
+- Fixed a bug with the Mob's Mode ID Helper that caused
+ the value to keep increasing everytime it was opened
+ beyond the first time. Thanks to Lupus for pointing this
+ out.
+- Changed the font to Microsoft Sans Serif from MS Sans
+ Serif to better support the garbled text some items,
+ mobs, or other things may have.
+
+Version 1.3.2
+===========================================================
+- Edited the print functions related to the the following
+ DB files: "item_bluebox.txt", "item_cardalbum.txt",
+ "item_giftbox.txt", "item_violetbox.txt", and
+ "mob_branch.txt". Thanks to ShadowLady for pointing out
+ this problem, as well as mentioning the label change
+ mentioned below.
+- Edited a label for Mob Modes in ID Helper from
+ "Detects Hidden (Sensor)" to "Detects Hidden".
+- Redid some of the code in the data processing subroutine
+ for the Item and Mob DB files. This should prevent any
+ overflow/invalid index errors. Thanks to Cheex for
+ pointing this out.
+- Fixed a bug that caused ADE to crash if any of the files
+ it would normally create backups of weren't there. This
+ is more common among eAthena 1.0 RCx Text installs, due
+ to their lack of an "item_db2.txt" file. (This occured
+ while trying to save changes.)
+
+Version 1.3.1
+===========================================================
+- Added an ID Helper for the Mob Mode ID section.
+- You can now see a list of all mobs that drop the selected
+ item in ADE's Item View by clicking on the button in the
+ upper right corner that's labeled "Mob Drop List".
+
+Version 1.3.0
+===========================================================
+- Added support for handling five more of the server's DB
+ files. ADE now handles: "item_bluebox.txt",
+ "item_cardalbum.txt", "item_giftbox.txt",
+ "item_violetbox.txt", and "mob_branch.txt".
+- Added a "Restore Backup Files" option in the File menu.
+- Changed "Revert" to "Revert to Last Save".
+- ADE now inserts a blank comment line after the initial
+ header line and the last line for most of the server
+ files.
+- ADE will automatically set the compatability mode to
+ support higher jobs, if it reads in a job ID for any such
+ jobs while set for low jobs only.
+- Fixed a couple of minor bugs and tweaked some of the code.
+
+Version 1.2.0
+===========================================================
+- Added support for generating the item files related to
+ card labels. The files are "cardpostfixnametable.txt" and
+ "cardprefixnametable.txt". The file "card_labels.txt" is
+ used to hold the card labels. (To create it, just copy
+ any "cardprefixnametable.txt" file to the DB folder being
+ used and rename it to "card_labels.txt".)
+- Fixed a bug found by Solid that caused the program to end
+ when a Mob's entry had an invalid Race ID or Element ID.
+ Also applied this same fix to some of the other IDs that
+ were vunerable.
+- Resized the maximum entries allowed for both Items and
+ Mobs. Items now have a current max of 15,000 entries and
+ Mobs have a max of 1,000. Both used to have 10,000.
+- Included a minimum ID and max ID allowed when dealing
+ with either Items or Mobs. The new Item ID range is 501
+ to 15000, and the new Mob ID range is 1001 to 2000. Any
+ entries with IDs out of the range won't be kept.
+- Slightly redid some of the code with printing the headers
+ of all files made with the program.
+
+Version 1.1.1
+===========================================================
+- Fixed a bug that caused the duplicate scan process to be
+ used again during adding and removing entries.
+- Replaced the text box for the Item's Sex ID with a combo
+ box. (The Item's Sex ID is used to determine if the item
+ is limited to a character's sex or can be used by all.)
+- Added the ID Helper for the Item View ID text box, and
+ included a file called "Item Helper.txt" that contains
+ the data for it.
+- Fixed a bug that caused the "Allow High Jobs" option for
+ compatibility to be turned on when even with it set to
+ being off by default.
+- Added a small bit of code to print "All Low Jobs" for
+ the description files for any items that only allow
+ characters with low jobs only to use the item.
+- Added a temp fix for any forms that can get stuck behind
+ the main window by allowing them to show up in the
+ taskbar.
+
+Version 1.1.0
+===========================================================
+- Added support for higher jobs like Knight Lord, Assassin
+ Cross, High Priest, etc.
+- Added duplication scanning for the DB entries. This will
+ remove duplicates found. (An entry is considered a
+ duplicate if the ID or DBName is the same.)
+- Fixed a bug that would cause the program to keep loading
+ if you closed the progress bar during startup.
+
+Version 1.0.1
+===========================================================
+- Fixed a bug that caused a null mob DB entry.
+- Added some code to let the program load even if it didn't
+ find the files used for loading.
+- Redid small portions of the code to increase performance.
+
+Version 1.0.0
+===========================================================
+- Merged the previous programs.
+- Added a mob DB file editor.
+
+Version 0.X
+===========================================================
+- Created Stand-alone Item Database Editor.
+- Created Stand-alone Item File Generator.
diff --git a/doc/inter_server_packet.txt b/doc/inter_server_packet.txt new file mode 100644 index 0000000..2532803 --- /dev/null +++ b/doc/inter_server_packet.txt @@ -0,0 +1,204 @@ +S mapŽI=>interŽI +R interŽI=>mapŽI + +ƒpƒPƒbƒg’·ƒŠƒXƒg +R 3800-388f + -1,-1,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 35,-1,11,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, + 10,-1,15, 0, 79,17, 7,-1, 0,-1,-1,-1, 14,67,186,-1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +S 3000-308f + -1,-1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 6,52,14, 10,29, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0, + -1, 6,-1, 0, 55,17, 6,-1, 14,-1,-1,-1, 14,19,186,-1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + + +S 3000 <len>.w <message>.?B + GMƒƒbƒZ[ƒW‘—M—v‹ +R 3800 <len>.w <message>.?B + GMƒƒbƒZ[ƒW +S 3001 <len>.w <src-nick>.24B <dst-nick>.24B <message>.?B + Wis‘—M—v‹ +R 3801 <len>.w <wis-id>.l <src-nick>.24B <dst-nick>.24B <message>.?B + Wisƒf[ƒ^ŽóM + wis-id=interŽI“à•”‚ÌWis-idFmapŽI‚Å‚Í3002‚Å‘—M‚·‚邽‚ß‚¾‚¯‚ÉŽg‚¤ +S 3002 <wis-id>.l <flag>.B + ‚±‚ÌmapŽI‚Å‚ÌWis‚Ì‘—MŒ‹‰Ê + flag=0 ‘—MŠ®—¹(‚±‚ÌmapŽI‚É‚¢‚½‚Ì‚ÅA‘—M‚µ‚½) + flag=1 ‘—MŽ¸”s(‚±‚ÌmapŽI‚É‚Í‚»‚ñ‚Èl‚¢‚Ü‚¹‚ñ) + flag=2 ‘—MI—¹(‚±‚ÌmapŽI‚É‚¢‚邪Aignore‚³‚ê‚Ä‚¢‚é) +R 3802 <src-nick>.24B <flag>.B + ‘SmapŽI‚Å‚ÌWis‘—MŒ‹‰Ê + flag=0 ‘—MŠ®—¹ + flag=1 ‘—MŽ¸”s(‚Ç‚ÌmapŽI‚É‚à‚»‚ñ‚Èl‚¢‚Ü‚¹‚ñ) + flag=2 ‘—MŽ¸”s(ignore‚³‚ꂽ) +S 3010 <account_id>.l + ‘qŒÉƒf[ƒ^—v‹ +R 3810 <len>.w <account_id>.l <storage>.?B + ‘qŒÉƒf[ƒ^ŽóM +S 3011 <len>.w <account_id>.l <storage>.?B + ‘qŒÉƒf[ƒ^‘—M••Û‘¶—v‹ +R 3811 <account_id>.l <flag>.b + ‘qŒÉƒf[ƒ^•Û‘¶I—¹ + flag=0 ¬Œ÷iŒ»Ý‚ÌŽd—l‚Å‚Í•K‚¸0‚È‚Ì‚ÅA•ÔM‚ð‘Ò‚½‚È‚‚Ä‚à‚¢‚¢j + +S 3020 <account_id>.l <party_name>.24B <nick_name>.24B <map_name>.16B <level>.w + ƒp[ƒeƒB쬗v‹ +R 3820 <account_id>.l <fail>.B <party_id>.l <party_name>.24B + ƒp[ƒeƒB¬Œ÷‰Â”ÛiŽ©•ª‚̃}ƒbƒvŽI‚Ì‚Ýj + fail=00 ƒp[ƒeƒB쬬Œ÷ + fail=01 Ž¸”siparty_id,pary_name‚̓Sƒ~j +S 3021 <party_id>.l + ƒp[ƒeƒBî•ñ—v‹ +R 3821 <len>.w <struct party>.?B + (struct party‚Ìʼn‚SƒoƒCƒg‚Íparty_id) + len=8 ƒp[ƒeƒB‚Í‘¶Ý‚µ‚È‚¢iŽóM‚µ‚½‚çŠY“–ƒLƒƒƒ‰‚𖢊‘®‚É•ÏX‚·‚éj + len>8 ƒp[ƒeƒBî•ñiŽóM‚µ‚½‚çƒNƒ‰ƒCƒAƒ“ƒg‚É‘—‚邱‚Æj + i—v‹‚µ‚Ä‚«‚½ƒ}ƒbƒvŽI‚Öj +S 3022 <party_id>.l <account_id>.l <nick>.24B <map_name>.16B <level>.w + ƒp[ƒeƒB’ljÁ—v‹ +R 3822 <party_id>.l <account_id>.l <fail>.B + ƒp[ƒeƒB’ljÁ’Ê’mi—v‹‚µ‚Ä‚«‚½ƒ}ƒbƒvŽI‚Öj + fail=00‚ŬŒ÷Afail=01‚ÅŽ¸”s + i¬Œ÷Žž‚Í‚±‚Ì’¼Œã‚É‘SŽI‚Ƀp[ƒeƒBî•ñ‚ª‘—‚ç‚ê‚éj +S 3023 <party_id>.l <account_id>.l <exp>.w <item>.w + ƒp[ƒeƒBÝ’è•ÏX—v‹ +R 3823 <party_id>.l <account_id>.l <exp>.w <item>.w <fail>.B + ƒp[ƒeƒBÝ’è•ÏX’Ê’mi¬Œ÷‚ÌꇑSƒ}ƒbƒvŽI‚Ö’Ê’mj + fail=0x00 ƒp[ƒeƒBÝ’è•ÏXŠ®—¹ + fail=0x01 exp‚Ì•ÏXŽ¸”s + fail=0x10 item‚Ì•ÏXŽ¸”s +S 3024 <party_id>.l <account_id>.l + ƒp[ƒeƒB’E‘Þ—v‹ +R 3824 <party_id>.l <account_id>.l <nick>.24B + ƒp[ƒeƒB’E‘Þ’Ê’mi‘Sƒ}ƒbƒvŽI‚Öj +S 3025 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w + ƒp[ƒeƒBƒ}ƒbƒvXV/ƒIƒ“ƒ‰ƒCƒ“—v‹ +R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w + ƒp[ƒeƒBƒ}ƒbƒvXV’Ê’mi‘Sƒ}ƒbƒvŽI‚Öj +S 3026 <party_id>.l + ƒp[ƒeƒB‰ðŽU—v‹i‘—‚ç‚ê‚邱‚Æ‚Í‚È‚¢‚ÆŽv‚í‚ê‚éj +R 3026 <party_id>.l <fail>.B + ƒp[ƒeƒB‰ðŽU + fail=00 ƒp[ƒeƒB‚͉ðŽU‚³‚ꂽi¡‚Ì‚Æ‚±‚ë•K‚¸00j + imapŽI“à‚Ì•s—vƒf[ƒ^휂̂½‚ß‚¾‚¯‚ÉŽg‚í‚ê‚éj +S 3027 <len>.w <party_id>.l <account_id>.l <message>.?B + ƒp[ƒeƒB“à”Œ¾—v‹ +R 3827 <len>.w <party_id>.l <account_id>.l <message>.?B + ƒp[ƒeƒB“à”Œ¾’Ê’mi‘Sƒ}ƒbƒvŽI‚Öj +S 3028 <party_id>.l <account_id>.l <nick>.24B + •Êƒp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚¢‚È‚¢‚©ƒ`ƒFƒbƒN<party_id>‚Í–{—ˆ‚ÌŠ‘® + + +S 3030 <len>.w <account_id>.l <guild_name>.24B <struct guild_member>.?B + ƒMƒ‹ƒh쬗v‹ +R 3830 <account_id>.l <guild_id>.l + ƒMƒ‹ƒh쬉”Û(guild_id=0‚ÅŽ¸”s) +S 3031 <guild_id>.l + ƒMƒ‹ƒhî•ñ—v‹ +R 3831 <len>.w <struct guild>.?B + ƒMƒ‹ƒhî•ñ + len=8 ƒMƒ‹ƒh‚Í‘¶Ý‚µ‚È‚¢ + len>8 ƒMƒ‹ƒhî•ñ +S 3032 <len>.w <guild_id>.l <struct guild_member>.?B + ƒMƒ‹ƒhƒƒ“ƒo’ljÁ—v‹ +R 3832 <guild_id>.l <account_id>.l <charactor_id>.l <fail>.B + ƒMƒ‹ƒh’ljÁƒƒ“ƒo’Ê’m + fail=0‚ŬŒ÷,1‚ÅŽ¸”s +S 3034 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B + ƒMƒ‹ƒh’E‘Þ/’Ç•ú—v‹ + flag=0 ’E‘Þ / 1 ’Ç•ú +R 3834 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B <nick>.24B + ƒMƒ‹ƒh’E‘Þ/’Ç•ú’Ê’m +S 3035 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w + ƒMƒ‹ƒhƒƒ“ƒoî•ñXV—v‹ +R 3835 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w + ƒMƒ‹ƒhƒƒ“ƒoî•ñXV’Ê’m +S 3036 <guild_id>.l + ƒMƒ‹ƒh‰ðŽU—v‹ +R 3836 <guild_id>.l <fail>.B + ƒMƒ‹ƒh‰ðŽU’Ê’m + flag=00 ‰ðŽU¬Œ÷ / 01 Ž¸”s +S 3037 <len>.w <guild_id>.l <account_id>.l <message>.?B + ƒMƒ‹ƒh”Œ¾—v‹ +R 3837 <len>.w <guild_id>.l <account_id>.l <message>.?B + ƒMƒ‹ƒh”Œ¾’Ê’m +S 3038 <guild_id>.l <account_id>.l <charactor_id>.l + •ÊƒMƒ‹ƒh‚ÉŠ‘®‚µ‚Ä‚¢‚È‚¢‚©ƒ`ƒFƒbƒN +S 3039 <len>.w <guild_id>.l <type>.w <data>.?B + ŠeŽíŠî–{î•ñXV—v‹ +R 3839 <len>.w <guild_id>.l <type>.w <data>.?B + ŠeŽíŠî–{î•ñXV’Ê’m +S 303A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B + ŠeŽíƒMƒ‹ƒhƒƒ“ƒoî•ñXV—v‹ +R 383A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B + ŠeŽíƒMƒ‹ƒhƒƒ“ƒoî•ñXV’Ê’m +S 303B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B + ƒMƒ‹ƒh–ðE•ÏX—v‹ +R 383B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B + ƒMƒ‹ƒh–ðE•ÏX’Ê’m +S 303C <guild_id>.l <skill_num>.l <account_id>.l + ƒMƒ‹ƒhƒXƒLƒ‹Š„‚èU‚è +R 383C <guild_id>.l <skill_num>.l <account_id>.l + ƒMƒ‹ƒhƒXƒLƒ‹Š„‚èU‚è(skill_num==0‚ÅŽ¸”s) +S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B + ƒMƒ‹ƒh“¯–¿/“G‘Ηv‹ + flag=0 “¯–¿ / 1 “G‘Î / 8 “¯–¿‰ðœ / 9 “G‘Ήðœ +R 383D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B <name1>.24B <name2>.24B + ƒMƒ‹ƒh“¯–¿/“G‘Î’Ê’m + flag=0 “¯–¿ / 1 “G‘Î + flag=0x10 “¯–¿Ž¸”s / 0x11 “G‘ÎŽ¸”s +S 303E <guild_id>.l <message1>.60B <message2>.120B + ƒMƒ‹ƒh’mÝ’è—v‹ +R 383E <guild_id>.l <message1>.60B <message2>.120B + ƒMƒ‹ƒh’mÝ’è’Ê’m +S 303F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B + ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX—v‹ dummy‚Í0ŒÅ’è +R 383F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B + ƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€•ÏX’Ê’m +iˆÈ‰ºAƒMƒ‹ƒhŒn’ljÁ—\’èj + +S 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w + <pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incuvate>.B + <pet_name>.24B + ƒyƒbƒg¶¬—v‹ +R 3880 <account_id>.l <fail>.B <pet_id>.l + ƒyƒbƒg¶¬¬Œ÷‰Â”Û + fail=00 ƒyƒbƒg¶¬¬Œ÷ + fail=01 Ž¸”sipet_id‚̓Sƒ~j +S 3081 <account_id>.l <char_id>.I <pet_id>.l + ƒyƒbƒgƒf[ƒ^—v‹ +R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B + ƒyƒbƒgƒf[ƒ^ŽóM + fail=00 ƒyƒbƒgƒf[ƒ^“]‘— + fail=01 ƒyƒbƒg‚̃f[ƒ^‚ª‚È‚¢‚©‚à‚µ‚‚Íaccount_id‚©char_id‚ª‡‚í‚È‚¢‚Ì‚Å + Ž¸”sis_pet‚̓Sƒ~j +S 3082 <len>.w <account_id>.l <struct s_pet>.?B + ƒyƒbƒgƒf[ƒ^‘—M••Û‘¶—v‹ +R 3882 <account_id>.l <flag>.b + ƒyƒbƒgƒf[ƒ^•Û‘¶I—¹ + flag=0 ¬Œ÷iŒ»Ý‚ÌŽd—l‚ł̓ƒ‚ƒŠ•s‘«ˆÈŠO‚É‚Í•K‚¸0‚È‚Ì‚ÅA•ÔM‚ð + ‘Ò‚½‚È‚‚Ä‚à‚¢‚¢j + flag=1 Ž¸”s +S 3083 <pet_id>.l + ƒyƒbƒgƒf[ƒ^휗v‹ +R 3883 <flag>.b + ƒyƒbƒgƒf[ƒ^íœI—¹ + flag=0 ¬Œ÷iŒ»Ý‚ÌŽd—l‚Å‚ÍŠù‚Ƀf[ƒ^‚ª‚¢‚È‚¢ê‡ˆÈŠO‚Í•K‚¸0‚È‚Ì‚ÅA + •ÔM‚ð‘Ò‚½‚È‚‚Ä‚à‚¢‚¢j + flag=1 Ž¸”sipet_id‚É“–‚½‚éƒf[ƒ^‚ª‚È‚¢ê‡‚Ì•¨‚Å‚·‚ªŠù‚Ƀf[ƒ^‚ª + ‚¢‚È‚¢‚ÆŒ¾‚¤‚±‚Æ‚Í휂·‚é•K—v‚ª‚È‚¢‚±‚Æ‚É‚à‚È‚è‚Ü‚·‚Ì‚Å + ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñj + diff --git a/doc/item.txt b/doc/item.txt new file mode 100644 index 0000000..0629364 --- /dev/null +++ b/doc/item.txt @@ -0,0 +1,1451 @@ +ID Ename + +0 Default +501 Red Potion +502 Orange Potion +503 Yellow Potion +504 White Potion +505 Blue Potion +506 Green Potion +507 Red Herb +508 Yellow Herb +509 White Herb +510 Blue Herb +511 Green Herb +512 Apple +513 Banana +514 Grape +515 Carrot +516 Sweet Potato +517 Meat +518 Honey +519 Milk +520 Hinalle Leaflet +521 Aloe Leaflet +522 Mastela Fruit +523 Holy Water +525 Panacea +526 Royal Jelly +528 Monster's Feed +529 Candy +530 Candy Cane +531 Apple Juice +532 Banana Juice +533 Grape Juice +534 Carrot Juice +535 Pumpkin +536 Ice Cream +537 Pet Food +538 Well-baked Cookie +539 Piece of Cake +540 Falcon food +541 Pecopeco food +542 Festive Cookie +543 Festive Rainbow Cake +544 Raw Fish +545 Red Potion Bottle +546 Yellow Potion Bottle +547 White Potion Bottle +548 Cheese +549 Hot Potato +550 Rice Popper +551 Sushi +552 Ketupat +553 Dumpling +554 Mochi +555 ?? +556 ?????? +557 ??????_???_?????? +558 Chocolate +559 Hand-made Chocolate +601 Fly Wing +602 Butterfly Wing +603 Old Blue Box +604 Branch of Dead tree +605 Anodyne +606 Aloevera +607 Yggdrasilberry +608 Yggdrasil Seed +609 Amulet +610 Yggdrasil Leaf +611 Magnifier +612 Mini Furnace +613 Iron Hammer +614 Golden Hammer +615 Oridecon Hammer +616 Old Card Album +617 Old Violet Box +618 Worn Out Scroll +619 Unripe Apple +620 Orange Juice +621 Bitter Herb +622 Rainbow Carrot +623 Earthworm the Dude +624 Rotten Fish +625 Rusty Iron +626 Monster Juice +627 Sweet Milk +628 Well Dried Bone +629 Singing Flower +630 Dew Laden Moss +631 Deadly Noxious Herb +632 Fatty Chubby Earthworm +633 Baked Yam +634 Tropical Banana +635 Horror of Tribe +636 No Recipient +637 Old Broom +638 Silver Knife of Chastity +639 Armlet of Obedience +640 Shining Stone +641 Contracts in Shadow +642 Book of Devil +643 Pet Incubator +644 Gift Box +645 Concentration Potion +656 Awakening Potion +657 Berserk Potion +658 Tribal Solidarity +659 Her Heart +660 Red Candle +661 Sky Apron +663 Rice Cake +664 Gift Box +665 Gift Box +666 Gift Box +667 Gift Box +668 Angpow +669 ??????_??????_???? +670 ???? +671 ?? +672 ???? +673 ?? +674 ????? +675 ?? +676 ???? +677 ??? +678 ?? +679 ??? +701 Ora Ora +702 Animal Gore +703 Hinalle +704 Aloe +705 Clover +706 Four-Leaf Clover +707 Singing Plant +708 Ment +709 Izidor +710 Illusion Flower +711 Shoot +712 Flower +713 Empty Bottle +714 Emperium +715 Yellow Gemstone +716 Red Gemstone +717 Blue Gemstone +718 Garnet +719 Amethyst +720 Aquamarine +721 Emerald +722 Pearl +723 Ruby +724 Cursed Ruby +725 Sardonyx +726 Sapphire +727 Opal +728 Topaz +729 Zircon +730 1 Carat Diamond +731 2 Carat Diamond +732 3 Carat Diamond +733 Cracked Diamond +734 Red Frame +735 Chung Jah +736 China +737 Black Ladle +738 Pencil Case +739 Rouge +740 Puppet +741 Poring Doll +742 Chonchon Doll +743 Spore Doll +744 Bouquet +745 Wedding Bouquet +746 Glass Bead +747 Crystal Mirror +748 Witherless Rose +749 Frozen Rose +750 Baphomet Doll +751 Osiris Doll +752 Grasshopper Doll +753 Yoyo Doll +754 Raccoon Doll +756 Rough Oridecon +757 Rough Elunium +901 Danggie +902 Tree Root +903 Reptile Tongue +904 Scorpion Tail +905 Stem +906 Pointed Scale +907 Resin +908 Spawn +909 Jellopy +910 Garlet +911 Scell +912 Zargon +913 Tooth of Bat +914 Fluff +915 Chrysalis +916 Feather of Birds +917 Talon +918 Sticky Webfoot +919 Animal Skin +920 Wolf Claw +921 Mushroom Spore +922 Orc's Fang +923 Evil Horn +924 Powder of Butterfly +925 Bill of Birds +926 Snake Scale +928 Insect Feeler +929 Immortal Heart +930 Rotten Bandage +931 Orcish Voucher +932 Skel-Bone +934 Memento +935 Shell +936 Scale Shell +937 Venom Canine +938 Sticky Mucus +939 Bee Sting +940 Grasshopper's Leg +941 Nose Ring +942 Yoyo Tail +943 Solid Shell +944 Horseshoe +945 Raccoon Leaf +946 Snail's Shell +947 Horn +948 Bear's Footskin +949 Feather +950 Heart of Mermaid +951 Fin +952 Cactus Needle +953 Stone Heart +954 Shining Scale +955 Worm Peeling +956 Gill +957 Decayed Nail +958 Horrendous Mouth +959 Stinky Scale +960 Nipper +961 Conch +962 Tentacle +963 Sharp scale +964 Crap Shell +965 Clam Shell +966 Clam Flesh +967 Turtle Shell +968 Heroic Emblem +969 Gold +970 Alchol +971 Detrimindexta +972 Karvodailnirol +973 Counteragent +974 Mixture +975 Scarlet Dyestuffs +976 Lemon Dyestuffs +978 Cobaltblue Dyestuffs +979 Darkgreen Dyestuffs +980 Orange Dyestuffs +981 Violet Dyestuffs +982 White Dyestuffs +983 Black Dyestuffs +984 Oridecon +985 Elunium +986 Anvil +987 Oridecon Anvil +988 Golden Anvil +989 Emperium Anvil +990 Red Blood +991 Crystal Blue +992 Wind of Verdure +993 Green Live +994 Flame Heart +995 Mystic Frozen +996 Rough Wind +997 Great Nature +998 Iron +999 Steel +1000 Star Crumb +1001 Star Dust +1002 Iron Ore +1003 Coal +1004 Chivalry Emblem +1005 Hammer of Blacksmith +1006 Old Magic Book +1007 Necklace of Wisdom +1008 Necklace of Oblivion +1009 Hand of God +1010 Phracon +1011 Emveretarcon +1012 Frill +1013 Rainbow Shell +1014 Ant Jaw +1015 Tongue +1016 Rat Tail +1017 Mole Whiskers +1018 Mole Claw +1019 Trunk +1020 Black Hair +1021 Dokkaebi Horn +1022 Nine Tails +1023 Fish Tail +1024 Squid ink +1025 Cobweb +1026 Acorn +1027 Porcupine Quill +1028 Mane +1029 Tiger Skin +1030 Tiger's Footskin +1031 Mantis Scythe +1032 Maneater Blossom +1033 Maneater Root +1034 Blue Hair +1035 Dragon Canine +1036 Dragon Scale +1037 Dragon Tail +1038 Little Evil Horn +1039 Little Evil Wing +1040 Elder Pixie's Moustache +1041 Lantern +1042 Bug Leg +1043 Orc Claw +1044 Zenorc's Fang +1045 Cultish Masque +1046 Scorpion Nipper +1047 Dead Medusa +1048 Horrendous Hair +1049 Skirt of Virgin +1050 Tendon +1051 Detonator +1052 Single Cell +1053 Ancient Tooth +1054 Ancient Lips +1055 Earthworm Peeling +1056 Grit +1057 Moth Dust +1058 Moth Wings +1059 Fabric +1060 Golden Hair +1061 Witched Starsand +1062 Jack o' Pumpkin +1063 Fang +1064 Reins +1065 Trap +1066 Fine-grained Trunk +1067 Solid Trunk +1068 Barren Trunk +1069 Orange Net Mushroom +1070 Orange Gooey Mushroom +1071 Unknown Testtube +1072 DEL Message +1073 Voucher +1074 Voucher +1075 Voucher +1076 Voucher +1077 Voucher +1078 Voucher +1079 Voucher +1080 Voucher +1081 DEL Box +1082 DEL Box +1083 DEL Box +1084 Kapra Pass +1085 Unknown Testtube +1086 Unknown Testtube +1087 Unknown Testtube +1088 Morocc Solution +1089 Payon Solution +1090 Unknown Testtube +1091 DEL Box +1092 Empty Testtube +1093 Empty Potion Bottle +1094 Short Daenggie +1095 Needle of Alarm +1096 Round Shell +1097 Worn Out Page +1098 Manacles +1099 Worn-out Prison Uniform +1101 Sword +1102 Sword +1103 Sword +1104 Falchion +1105 Falchion +1106 Falchion +1107 Blade +1108 Blade +1109 Blade +1110 Rapier +1111 Rapier +1112 Rapier +1113 Scimiter +1114 Scimiter +1115 Scimiter +1116 Katana +1117 Katana +1118 Katana +1119 Tsurugi +1120 Tsurugi +1121 Tsurugi +1122 Ring Pommel Saber +1123 Haedonggum +1124 Orcish sword +1125 Ring Pommel Saber +1126 Saber +1127 Saber +1128 Haedonggum +1129 Flamberge +1130 Nagan +1131 Ice Falchon +1132 Edge +1133 Fire Brand +1134 Caesar's Sword +1135 Cutlas +1136 Solar Sword +1137 Excalibur +1138 Mysteltainn +1139 Talefing +1140 Byeollungum +1141 Immaterial Sword +1142 Crystal Sword +1143 Gaia Sword +1144 Sashimi +1145 Holy Avenger +1151 Slayer +1152 Slayer +1153 Slayer +1154 Bastard Sword +1155 Bastard Sword +1156 Bastard Sword +1157 Two-handed Sword +1158 Two-handed Sword +1159 Two-handed Sword +1160 Broad Sword +1161 Balmung +1162 Broad Sword +1163 Claymore +1164 Muramasa +1165 Masamune +bonus bStr +bonus bAspd +bonus bDefRate +bonus bDef2Rate + } +1166 Dragon Slayer +1167 Schweizersabel +1168 Zweihander +1169 Executioner +1170 Katzbalger +1201 Knife +1202 Knife +1203 Knife +1204 Cutter +1205 Cutter +1206 Cutter +1207 Main Gauche +1208 Main Gauche +1209 Main Gauche +1210 Dirk +1211 Dirk +1212 Dirk +1213 Dagger +1214 Dagger +1215 Dagger +1216 Stiletto +1217 Stiletto +1218 Stiletto +1219 Gladius +1220 Gladius +1221 Gladius +1222 Damascus +1223 Fortune Sword +1224 Swordbreaker +1225 Mailbreaker +1226 Damascus +1227 Weeder Knife +1228 Combat Knife +1229 Mama's Knife +1230 House Auger +1231 Bazerald +1232 Assasin Dagger +1233 Excorcise +1234 Walgwanggum +1235 Azoth +1236 Sucsamad +1237 Grimtooth +1238 Zeny Knife +1239 Poison Knife +1240 Princess Knife +1241 Cursed Knife +1242 Counter Knife +1243 Novice's Main Gauche +1250 Jur +1251 Jur +1252 Katar +1253 Katar +1254 Jamadhar +1255 Jamadhar +1256 Katar of Cold Icicle +1257 Katar of Dusty Thornbush +1258 Katar of Raging Blaze +1259 Katar of Piercing Wind +1260 Sharppened Legbone of Gh +1261 Infiltrator +1301 Axe +1302 Axe +1303 Axe +1304 Orcish Axe +1305 Cleaver +1306 War Axe +1351 Battle Axe +1352 Battle Axe +1353 Battle Axe +1354 Hammer +1355 Hammer +1356 Hammer +1357 Buster +1358 Buster +1359 Buster +1360 Two-handed Axe +1361 Two-handed Axe +1362 Two-handed Axe +1363 Bloody Axe +1364 Great Axe +1365 Sabbath +1366 Light Epsilon +1367 Slaughter +1368 Tomahawk +1369 Guillotine +1401 Javelin +1402 Javelin +1403 Javelin +1404 Spear +1405 Spear +1406 Spear +1407 Pike +1408 Pike +1409 Pike +1410 Lance +1411 Lance +1412 Lance +1413 Gungnir +1414 Gelerdria +1415 Brocca +1416 Tjungkuletti +1417 Pole Axe +1451 Guisarme +1452 Guisarme +1453 Guisarme +1454 Glaive +1455 Glaive +1456 Glaive +1457 Partizan +1458 Partizan +1459 Partizan +1460 Trident +1461 Trident +1462 Trident +1463 Halberd +1464 Halberd +1465 Halberd +1466 Crescent Scythe +1467 Bill Guisarme +1468 Zephyrus +1469 Longinus's Spear +1470 Brionac +1471 Hellfire +1472 Soul Staff +1473 Wizardy staff +1501 Club +1502 Club +1503 Club +1504 Mace +1505 Mace +1506 Mace +1507 Smasher +1508 Smasher +1509 Smasher +1510 Flail +1511 Flail +1512 Flail +1513 Morning Star +1514 Morning Star +1515 Morning Star +1516 Sword Mace +1517 Sword Mace +1518 Sword Mace +1519 Chain +1520 Chain +1521 Chain +1522 Stunner +1523 Spike +1524 Golden Mace +1525 Long Mace +1526 Slash +1527 Quadrille +1528 Grand Cross +1529 Iron Driver +1530 Mjollnir +1531 Spanner +1550 Book +1551 Bible +1552 Tablet +1553 Book of Billows +1554 Book of Mother Earth +1555 Book of Blazing Sun +1556 Book of Gust of Wind +1557 Book of the Apocalypse +1558 Girl's Diary +1599 Angra Manyu +1601 Rod +1602 Rod +1603 Rod +1604 Wand +1605 Wand +1606 Wand +1607 Staff +1608 Staff +1609 Staff +1610 Arc Wand +1611 Arc Wand +1612 Arc Wand +1613 Mighty Staff +1614 Wand of Occult +1615 Bone Wand +1701 Bow +1702 Bow +1703 Bow +1704 Composite Bow +1705 Composite Bow +1706 Composite Bow +1707 Great Bow +1708 Great Bow +1709 Great Bow +1710 Cross Bow +1711 Cross Bow +1712 Cross Bow +1713 Arbalest +1714 Gakkung +1715 Arbalest +1716 Gakkung +1718 Hunter Bow +1719 Roguemaster's Bow +1720 Rudra's Bow +1721 Repeating Crossbow +1722 Ballista +1750 Arrow +1751 Silver Arrow +1752 Fire Arrow +1753 Steel Arrow +1754 Crystal Arrow +1755 Arrow of Wind +1756 Stone Arrow +1757 Immaterial Arrow +1758 Stun Arrow +1759 Freeze Arrow +1760 Flash Arrow +1761 Curse Arrow +1762 Rusted Arrow +1763 Poison Arrow +1764 Sharp Arrow +1765 Oridecon Arrow +1766 Arrow of Counter Evil +1767 Shadow Arrow +1768 Sleep Arrow +1769 Mute Arrow +1770 Iron Arrow +1801 Waghnakh +1802 Waghnakh +1803 Knuckle Duster +1804 Knuckle Duster +1805 Hora +1806 Hora +1807 Fist +1808 Fist +1809 Claw +1810 Claw +1811 Finger +1812 Finger +1813 Kaiser Knuckle +1814 Berserk +1901 Violin +1902 Violin +1903 Mandolin +1904 Mandolin +1905 Lute +1906 Lute +1907 Guitar +1908 Guitar +1909 Harp +1910 Harp +1911 Guhmoongoh +1912 Guhmoongoh +1950 Rope +1951 Rope +1952 Line +1953 Line +1954 Wire +1955 Wire +1956 Rante +1957 Rante +1958 Tail +1959 Tail +1960 Whip +1961 Whip +1962 Lariat +1963 Rapture Rose +1964 Chemeti +2101 Guard +2102 Guard +2103 Buckler +2104 Buckler +2105 Shield +2106 Shield +2107 Mirror Shield +2108 Mirror Shield +2109 Book of Summoning +2110 Holy Guard +2111 Evangelist +2112 Novice Guard +2199 Ahura Mazda +2201 Sunglasses +2202 Sunglasses +2203 Glasses +2204 Glasses +2205 Diver's Goggles +2206 Wedding Veil +2207 Fancy Flower +2208 Ribbon +2209 Ribbon +2210 Hair Band +2211 Bandana +2212 Eye Patch +2213 Kitty Band +2214 Bunny Band +2215 Flower Band +2216 Biretta +2217 Biretta +2218 Flu Mask +2219 Flu Mask +2220 Hat +2221 Hat +2222 Turban +2223 Turban +2224 Goggle +2225 Goggle +2226 Cap +2227 Cap +2228 Helm +2229 Helm +2230 Gemmed Sallet +2231 Gemmed Sallet +2232 Circlet +2233 Circlet +2234 Tiara +2235 Crown +2236 Santa's Hat +2237 Bandit Beard +2238 Moustache +2239 Single Glass +2240 Beard +2241 Granpa Beard +2242 Purple Glasses +2243 Geek Glasses +2244 Big Ribbon +2245 Sweet Gent +2246 Golden Gear +2247 Romantic Gent +2248 Western Grace +2249 Coronet +2250 Cute Ribbon +2251 Monk Hat +2252 Wizard Hat +2253 Sunflower +2254 Angel Wing +2255 Evil Wing +2256 Majestic Goat +2257 Snow Horn +2258 Spiky Band +2259 Mini Propeller +2260 Mini Glasses +2261 Army Cap +2262 Pierrot Nose +2263 Zoro Masque +2264 Munak Hat +2265 Ganster Mask +2266 Iron Cane +2267 Cigar +2268 Pipe +2269 Romantic Flower +2270 Romantic Leaf +2271 Jack a Dandy +2272 Stop Post +2273 Doctor Band +2274 Ghost Bandana +2275 Red Bandana +2276 Eagle Eyes +2277 Nurse Cap +2278 Mr. Smile +2279 Bomb Wick +2280 Sakkat +2281 Opera Masque +2282 Heaven Ring +2283 Ear Mufs +2284 Antler +2285 Apple o' Archer +2286 Elven Ears +2287 Pirate Bandana +2288 Mr. Scream +2289 Poo Poo Hat +2290 Funeral Hat +2291 Masquerade +2292 Welding Mask +2293 Pretend Murdered +2294 Stellar +2295 Blinker +2296 Binoculars +2297 Goblini Mask +2298 Green Feeler +2299 Orc Helm +2301 Cotton Shirt +2302 Cotton Shirt +2303 Leather Jacket +2304 Leather Jacket +2305 Adventurer's Suit +2306 Adventurer's Suit +2307 Mantle +2308 Mantle +2309 Coat +2310 Coat +2311 Mink Coat +2312 Padded Armor +2313 Padded Armor +2314 Chain Mail +2315 Chain Mail +2316 Full Plate +2317 Full Plate +2318 Lord's Clothes +2319 Glittering Jacket +2320 Formal Suit +2321 Silk Robe +2322 Silk Robe +2323 Scapulare +2324 Scapulare +2325 Saint's Robe +2326 Saint's Robe +2327 Holy Robe +2328 Wooden Mail +2329 Wooden Mail +2330 Tights +2331 Tights +2332 Silver Robe +2333 Silver Robe +2334 Mage Coat +2335 Thief Clothes +2336 Thief Clothes +2337 Ninja Suit +2338 Wedding Dress +2339 Pantie +2340 Novice Breastplate +2341 Full Plate Armor +2342 Full Plate Armor +2343 Casting Robe +2344 Fire Armor +2345 Fire Armor +2346 Water Armor +2347 Water Armor +2348 Wind Armor +2349 Wind Armor +2350 Earth Armor +2351 Earth Armor +2352 Novice Armor +2401 Sandals +2402 Sandals +2403 Shoes +2404 Shoes +2405 Boots +2406 Boots +2407 Crystal Pumps +2408 Ball'n'Chain +2409 Highheals +2410 Sleipnir +2411 Greaves +2412 Greaves +2413 Safety Shoes +2414 Novice Sandal +2501 Hood +2502 Hood +2503 Muffler +2504 Muffler +2505 Manteau +2506 Manteau +2507 Cape of Old Marquess +2508 Ragamuffin Manteau +2509 Manteau of Life +2510 Novice Hood +2601 Ring +2602 Earring +2603 Necklace +2604 Glove +2605 Brooch +2607 Clip +2608 Rosary +2609 Skull Ring +2610 Gold Ring +2611 Silver Ring +2612 Flower Ring +2613 Diamond Ring +2614 Eye of Dullahan +2615 Safety Ring +2616 Critical Ring +2617 Celebrant's Mitten +2618 Matyr's Leash +2619 Bow Thimble +2620 Rogue's Treasure +2621 Ancient Ring +2622 Ancient Earring +2623 Ancient Necklace +2624 Ancient Glove +2625 Ancient Brooch +2626 Ancient Rosary +2627 Ancient Belt +2628 Novice Armlet +2629 Magingiorde +2630 Brysinggamen +2631 Pebble Ring +2634 Wedding Ring +2635 Wedding Ring +2636 Gold Christmas Ring +2637 Silver Christmas Ring +4001 Poring Card +4002 Fabre Card +4003 Pupa Card +4004 Drops Card +4005 Poring Card +4006 Lunatic Card +4007 Pecopeco Egg Card +4008 Picky Card +4009 Chonchon Card +4010 Wilow Card +4011 Picky Card +4012 Thief Bug Egg Card +4013 Andre Egg Card +4014 Roda Frog Card +4015 Condor Card +4016 Thief Bug Card +4017 Savage Babe Card +4018 Andre Larva Card +4019 Hornet Card +4020 Farmiliar Card +4021 Rocker Card +4022 Spore Card +4023 Desert Wolf Babe Card +4024 Plankton Card +4025 Skeleton Card +4026 Thief bug Female Card +4027 Kukre Card +4028 Tarou Card +4029 Wolf Card +4030 Mandragora Card +4031 Pecopeco Card +4032 Ambernite Card +4033 Poporing Card +4034 Worm Tail Card +4035 Hydra Card +4036 Muka Card +4037 Snake Card +4038 Zombie Card +4039 Stainer Card +4040 Creamy Card +4041 Coco Card +4042 Steel Chonchon Card +4043 Andre Card +4044 Smokie Card +4045 Horn Card +4046 Martin Card +4047 Ghostring Card +4048 Poison Spore Card +4049 Vadon Card +4050 Thief bug Male Card +4051 Yoyo Card +4052 Elder Wilow Card +4053 Vitata Card +4054 Angeling Card +4055 Marina Card +4056 Dustiness Card +4057 Metaller Card +4058 Thara Frog Card +4059 Soldier Andre Card +4060 Goblin Card +4061 Cornutus Card +4062 Anacondaq Card +4063 Caramel Card +4064 Zerom Card +4065 Kaho Card +4066 Orc Warrior Card +4067 Megalodon Card +4068 Scorpion Card +4069 Drainliar Card +4070 Eggyra Card +4071 Orc Zombie Card +4072 Golem Card +4073 Pirate Skeleton Card +4074 BigFoot Card +4075 Argos Card +4076 Magnolia Card +4077 Phen Card +4078 Savage Card +4079 Mantis Card +4080 Flora Card +4081 Hode Card +4082 Desert Wolf Card +4083 Rafflesia Card +4084 Marine Sphere Card +4085 Orc Skeleton Card +4086 Soldier Skeleton Card +4087 Giearth Card +4088 Frilldora Card +4089 Swordfish Card +4090 Munak Card +4091 Kobold Card +4092 Skel Worker Card +4093 Obeaune Card +4094 Archer Skeleton Card +4095 Marse Card +4096 Zenorc Card +4097 Matyr Card +4098 Dokebi Card +4099 Pasana Card +4100 Sohee Card +4101 Sandman Card +4102 Whisper Card +4103 Horong Card +4104 Requiem Card +4105 Marc Card +4106 Mummy Card +4107 Verit Card +4108 Myst Card +4109 Jakk Card +4110 Ghoul Card +4111 Strouf Card +4112 Marduk Card +4113 Marionette Card +4114 Argiope Card +4115 Hunter Fly Card +4116 Isis Card +4117 Sidewinder Card +4118 Petit Card +4119 Bathory Card +4120 Petit Card +4121 Phreeoni Card +4122 Deviruchi Card +4123 Eddga Card +4124 Medusa Card +4125 Deviace Card +4126 Minorous Card +4127 Nightmare Card +4128 Golden Bug Card +4129 Baphomet Card +4130 Scorpion King Card +4131 Moonlight Flower Card +4132 Mistress Card +4133 Raydric Card +4134 Dracula Card +4135 Orc Lord Card +4136 Khalitzburg Card +4137 Drake Card +4138 Anubis Card +4139 Joker Card +4140 Knight Of Abyss Card +4141 Evil Druid Card +4142 Doppelganger Card +4143 Orc Hero Card +4144 Osiris Card +4145 Berzebub Card +4146 Maya Card +4147 Baphomet Card +4148 Pharaoh Card +4149 Bon Gun Card +4150 Orc Archer Card +4151 Mimic Card +4152 Wraith Card +4153 Alarm Card +4154 Arclouse Card +4155 Rideword Card +4156 Skel Prisoner Card +4157 Zombie Prisoner Card +4158 Dark Priest Card +4159 Punk Card +4160 Zherlthsh Card +4161 Mysteltainn Card +4162 Tirfing Card +4163 Executioner Card +4164 Anolian Card +4165 Sting Card +4166 Wander Man Card +4167 Cramp Card +4168 Filamentous Card +4169 Brilight Card +4170 Iron Fist Card +4171 High Orc Card +4172 Choco Card +4173 Stem Worm Card +4174 Penomena Card +4175 Marin Card +4176 Sasquatch Card +4177 Antonio Card +4178 Cruiser Card +4179 Mystcase Card +4180 Chepet Card +4181 Knight Of Windstorm Card +4182 Garm Card +4183 Gargoyle Card +4184 Raggler Card +4185 Neraid Card +4186 Pest Card +4187 Injustice Card +4188 Goblin Archer Card +4189 Gryphon Card +4190 Dark Frame Card +4191 Wind Ghost Card +4192 Merman Card +4193 Cookie Card +4194 Aster Card +4195 Carat Card +4196 Bloody Knight Card +4197 Clock Card +4198 C Tower Manager Card +4199 Alligator Card +4200 Dark Lord Card +4201 Orc Lady Card +4202 Megalith Card +4203 Alice Card +4204 Raydric Archer Card +4205 Greatest General Card +4206 Stalactic Golem Card +4207 Tri Joint Card +4208 Steam Goblin Card +4209 Sage Worm Card +4210 Kobold archer Card +4211 Chimera Card +5001 Headset +5002 Jewel Crown +5003 Joker Jester +5004 Oxygen Mask +5005 Gas Mask +5006 Machoman's Glasses +5007 Grand Circlet +5008 Puppy Love +5009 Safety Helmet +5010 Indian Fillet +5011 Aerial +5012 Ph.D Hat +5013 Lord Kaho's Horn +5014 Fin Helm +5015 Egg Shell +5016 Boys Cap +5017 Bone Helm +5018 Feather Bonnet +5019 Corsair +5020 Kafra Band +5021 Money Loser's Grief +5022 Solar God Helm +5023 Parcel Hat +5024 Cake Hat +5025 Angel Helm +5026 Chef's Hat +5027 Magic Instructor's Hat +5028 Candle +5029 Spore Hat +5030 Panda Cap +5031 Miner's Helmet +5032 Sunday Hat +5033 Smokie Hat +5034 Lightbulb Hairband +5035 Poring hat +5036 Cross Hairband +5037 Apple Hat +5038 Deviruchi Hat +5039 Spotted Eggshell +5040 Innocence of Maiden +5041 Heart Hairpin +5042 Dumpling Decoration +5043 Opera Ghost Mask +5044 Wing's of Demon +5045 Magic Hat +5046 Bongun hat +5047 Fashion Sunglasses +5048 Cresent Hairpin +5049 Striped Bandana +5050 Mysterious Apple Hat +5051 Bell of Pussycat +5052 Blue Bandana +5053 Sphinx Hat +5054 Assassin Mask +5055 Novice Eggshell +5056 ??? +7001 Mould Powder +7002 Ogre Tooth +7003 Anolian Skin +7004 Mud Lump +7005 Skull +7006 Wing of Red Bat +7007 Claw of Rat +7008 Stiff Horn +7009 Glitter Shell +7010 Tail of Steel Scorpion +7011 Claw of Monkey +7012 Tough Scalelike Stem +7013 Coral Reef +7014 Old Portrait +7015 Bookclip in Memory +7016 Spoon Stub +7017 Executioner's Mitten +7018 Young Twig +7019 Loki's Whispers +7020 Mother's Nightmare +7021 Foolishness of the Blind +7022 Old Hilt +7023 Blade Lost in Darkness +7024 Bloody Edge +7025 Lucifer's Lament +7026 Key of Clock Tower +7027 Key of Underground +7028 Invite for Duel +7029 Admission for Duel +7030 Claw of Desert Wolf +7031 Old Frying Fan +7032 Piece of Egg Shell +7033 Poison Spore +7034 Red Socks with Holes +7035 Matchstick +7036 Fang of Garm +7037 Coupon +7038 Yarn +7039 Novice Nametag +7040 Megaphone +7041 Fine Grit +7042 Leather Bag of Infinity +7043 Fine Sand +7044 Vigorgra +7045 Magic Paint +7046 Cart Parts +7047 Alice's Apron +7048 Talon of Griffon +7049 Stone +7050 Cotton Mat +7051 Silk Mat +7052 Wasted Magazine +7053 Cyfar +7054 Brigan +7055 Animal Poop +7056 Payment Statement for Ka +7057 Gallar Horn +7058 Gullraifnir +7059 Free Ticket for Kafra St +7060 Free Ticket for Kafra Tr +7061 Free Ticket for the Cart +7062 Broken Turtle Shell +7063 Soft Feather +7064 Wing of Dragonfly +7065 Sea Otter Fur +7066 Ice Cubes +7067 Piece of Rock +7068 Half Burnt Log +7069 Broken Armor Piece +7070 Broken Shell +7071 Tattered Clothes +7072 Old Shuriken +7073 Freyja's Jewel +7074 Thor's Guntlet +7075 Iron Maiden +7076 Wheel of the Unknown +7077 Silver Ornament +7078 Wrath of Valkyrie +7079 Feather of Angel Wing +7080 Footprints of Cat +7081 Woman's Moustache +7082 Root of Stone +7083 Spirit of Fish +7084 Saliva of Bird +7085 Tendon of Bear +7086 Solar Bead +7087 Breath of Soul +7088 Snow Crystal +7089 Omen of Tempest +7090 Ripple +7091 Billow +7092 Drifting Air +7093 Metal Wheel +7094 Cabinet Chip +7095 Tooth Fragment +7096 Hardened Lava +7097 Burning Heart +7098 Fire Seed +7099 Old Magical Circle +7100 Sharpened Leaf +7101 Peco's Feather +7102 Nightmare +7103 Yellwo Liquid Bottle +7104 Imitation Angel's Wing +7105 Imitation Soul's Band +7106 Horn of Goat +7107 Fur of Goat +7108 Broken Shield +7109 Shiny Spear Tip +7110 Sharp Sword +7111 String Paper +7112 Transparent Paper +7113 Onion Wand +7114 Sphinx Mask +7115 Blood Feather +7116 Tooth of Lowblood +7117 Torn Spell Book +7118 Torn Scroll +7119 Hypha Body +7120 Burning Horseshoe +7121 Honey Jar +7122 Hot Feather +7123 Dragon's Skin +7124 Sand Lump +7125 Crab Shot +7126 Large Jellopy +7127 Alcohol Making Book +7128 Fire Bottle Making Book +7129 Acid Bottle Making Book +7130 Plant Bottle Making Book +7131 Mine Bottle Making Book +7132 Coating Wax Making Book +7133 Slim Potion Making Book +7134 Medicine Bowl +7135 Fire Bottle +7136 Hydrobolic Acid Bottle +7137 Water Bottle +7138 Mine Bottle +7139 Coating Wax +7140 Seed of Life +7141 Water Flow +7142 Ancient Life +7143 Seperation Tubes +7144 Potion Making Book +7145 Ragnarok T-Shirt +7146 Vacation Ticket +7147 Jasmine +7148 Mother's Letter +7149 Yellow Plate +7150 Bamboo Trunk +7151 Oiled Paper +7152 Glossy Hair +7153 Old Kimono +7154 Poison Powder +7155 Poisonous Toad's Skin +7156 Broken Shuriken +7157 Black Mask +7158 Broken Liquor Bottle +7159 Demon's Nose +7160 Passport From King +7161 Skin of the Black Bear +7162 Piece of Cloud +7163 Hard Antennae +7164 Very Hard Peach +7165 Etherial Winged Clothing +7166 Soft Silk Fabric +7167 Strange Piece of Iron +7168 Big Wing of Butterfly +7169 Tae Guk Tablet +7170 Tuxedo +7171 Skin of Panther +7172 Claw of Panther +7173 Bun Buster Bag +7174 Wrapping Thread +7175 Wrapper +7176 King's Proof Document +7177 ?????_?????_???? +7178 ?????_????? +7179 ????_??????? +7180 0 +7181 0 +7182 Cacao +7183 ???? +7184 ?????? +7185 ?????? +7186 ??? +7187 ????? +7188 ???? +7189 ???? +7190 ???? +7191 ? +7192 ???? +7193 ????? +7194 ???????? +7195 ???? +7196 ???? +7197 ???????? +7198 ?????? +7199 20 +7200 ??? +7201 ?? +7202 ???????? +7203 ????? +7204 ?? +9001 Poring Egg +9002 Drops Egg +9003 Poporing Egg +9004 Lunatic Egg +9005 Picky Egg +9006 Chonchon Egg +9007 Steel Chonchon Egg +9008 Hunter Fly Egg +9009 Savage Babe Egg +9010 Baby Desert Wolf Egg +9011 Rocker Egg +9012 Spore Egg +9013 Poison Spore Egg +9014 PecoPeco Egg +9015 Smokie Egg +9016 Yoyo Egg +9017 Orc Warrior Egg +9018 Munak Egg +9019 Dokkaebi Egg +9020 Sohee Egg +9021 Isis Egg +9022 Green Petite Egg +9023 Deviruchi Egg +9024 Bapho Jr. Egg +9025 Bongun Egg +9026 Alice Egg +9027 Zherlthsh Egg +9028 Test Egg +9029 Test Egg +10001 Skull Helm +10002 Monster Oxygen Mask +10003 Transparent Headgear +10004 Pacifier +10005 Wig +10006 Queen's Hair Ornament +10007 Silk Ribbon +10008 Punisher +10009 Wild Flower +10010 Battered Pot +10011 Stellar Hairpin +10012 Tiny Egg Shell +10013 Backpack +10014 Rocker Glasses +10015 Green Lace +10016 Golden Bell +10017 Bark Shorts +10018 Monkey Circlet +10019 Red Muffler +10020 Sword of Chinese Exorcis diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt new file mode 100644 index 0000000..30202ee --- /dev/null +++ b/doc/item_bonus.txt @@ -0,0 +1,137 @@ +skill n,x; skill n of level x + +bonus bStr,n; STR + n +bonus bAgi,n; AGI + n +bonus bVit,n; VIT + n +bonus bInt,n; INT + n +bonus bDex,n; DEX + n +bonus bLuk,n; LUK + n + +bonus bMaxHP,n; MAXHP + n +bonus bMaxSP,n; MAXSP + n +bonus bMaxHPrate,n; MAXHP + n% +bonus bMaxSPrate,n; MAXSP + n% +bonus bAtk,n; ATK + n +bonus bAtk2,n; ATK2 + n +bonus bAtkRate attack power + n% +bonus bBaseAtk,n; Basic attack power + n +bonus bMatk,n; Magical attack power 1 + n and magical attack power 2 + n +bonus bMatk1,n; Magical attack power 1 + n +bonus bMatk2,n; Magical attack power 2 + n +bonus bMatkRate,n; Magical attack power + n% +bonus bMdef,n; Magical defensive power + n +bonus bDef,n; DEF + n +bonus bHit,n; On-target hit power + n +bonus bCritical,n; Critical + n +bonus bCriticalRate,n; Critical ratio + n% +bonus bFlee,n; Evasion power + n +bonus bFlee2,n; Perfection evasion + n +bonus bSpeed,n; Drift speed + n +bonus bAspd,n; Attack speed + n +bonus bSpeedRate,n; Drift speed + n% (just high ones application) +bonus bAspdRate,n; Attack speed + n% (just high ones application) +bonus bSpeedAddRate drift speed + n% +bonus bAspdAddRate attack speed + n% +bonus bAtkRange,n; Attack Range + n +bonus bCastrate,n; Cast rate + n% +bonus bUseSPrate,n; SP consumption + n% +bonus bHPrecovRate,n; HP automatic recovery ratio + n% (you exclude the recovery with skill) +bonus bSPrecovRate,n; SP automatic recovery ratio + n% (you exclude the recovery with skill) +bonus bDoubleRate,n; attack probability n% (with weapon disregard just high ones application) +bonus bDoubleAddRate,n; Double attack probability + n% (weapon disregard) +bonus bPerfectHitRate,n; On-target impact attack probability n% (just high ones application) +bonus bPerfectHitAddRate,n; On-target impact attack probability +n% +bonus bGetZenyNum,n; When pushing down the monster with physical attack, rand () ゼニ of %n+1 is obtained, (as for n just high ones application) +bonus bAddGetZenyNum,n; When pushing down the monster with physical attack, rand () ゼニ of %n+1 is obtained, (n is done +) +bonus bCriticalDef,n; Critical å–° and others the trap it is, probability + n% +bonus bNearAtkDef,n; The damage of short-range attack n% reduction (magic and the trap, the é·¹ is excluded) +bonus bLongAtkDef,n; damage of stand off attack n% reduction (magic and the trap, the é·¹ is excluded) +bonus bMagicAtkDef the damage of magical attack n% reduction +bonus bMiscAtkDef MISC attack (the trap and ?) the damage n% reduction + +bonus bIgnoreDefRace,n Defense disregard of enemy of n race + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than (normal monster) boss monster +bonus bIgnoreDefEle,n; Defense disregard of enemy of n attribute + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus bIgnoreMDefRace n race the magical defensive power disregard damage + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus bIgnoreMDefEle n attribute the magical defensive power disregard damage + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus bDefRatioAtkRace,n; n race if defensive power is high the high extent big damage is given, (defense disregard) + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus bDefRatioAtkEle,n; n attribute if defensive power is high the high extent big damage is given, (defense disregard) + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus bAtkEle,n; Attack with element n + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus bDefEle,n; Guard against element n + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus bHitRate,n; on-target hit ratio +n% +bonus bFleeRate,n; evasion ratio +n% +bonus bFlee2Rate,n; complete evasion ratio +n% +bonus bDefRate,n; earned-run average +n% (equipment) +bonus bDef2Rate,n; earned-run average +n% (those due to vit) +bonus bMdefRate,n; magical earned-run average +n% (equipment) +bonus bMdef2Rate,n; magical earned-run average +n% (those due to int) +bonus bSplashRange n; damage is given to the peripheral n cell of the target with usual weapon attack, if (as for n just high ones application, 1 if the 3*3, 2 the 5*5) +bonus bSplashAddRange n; damage is given to the peripheral n cell of the target with usual weapon attack, (range + n) + +bonus bInfiniteEndure,n; Unlimited Endure (n is meaningless) +bonus bRestartFullRecover,n; When reviving, HP and SP all recoveries (non mind there is no n) +bonus bNoCastCancel,n; The casting is not cancelled (non mind there is no n) +bonus bNoCastCancel2,n; The casting is not cancelled (is not cancelled even with GVG, n is meaningless) +bonus bNoSizeFix,n; The attack revision with the size of the monster is not received, (non mind there is no n) +bonus bNoWeaponDamage,n; The damage is not received to physical attack, (non mind there is no n) +bonus bNoMagicDamage,n; The damage is not received to magic, (including also the heel, non mind there is no n) +bonus bNoGemStone,n; When using skill, the gemstone is not consumed (non mind there is no n) + + +bonus2 bAddEff,Eff_Blind,n; With the establishment of n% dark grant +bonus2 bAddEff,Eff_Sleep,n; With the establishment of n% sleep grant +bonus2 bAddEff,Eff_Poison,n; With the establishment of n% poison grant +bonus2 bAddEff,Eff_Freeze,n; With the establishment of n% freezing grant +bonus2 bAddEff,Eff_Silence,n; With the establishment of n% silence grant +bonus2 bAddEff,Eff_Stan,n; With the establishment of n% stun grant +bonus2 bAddEff,Eff_Curse,n; You curse with the establishment of n%, grant +bonus2 bAddEff,Eff_Confusion,n; With the establishment of n% confusion grant +bonus2 bAddEff,Eff_Stone,n; With the establishment of n% petrochemical grant + +bonus2 bResEff,Eff_Blind,n; Dark tolerance + n% +bonus2 bResEff,Eff_Sleep,n; Sleep tolerance + n% +bonus2 bResEff,Eff_Poison,n; Poison tolerance + n% +bonus2 bResEff,Eff_Freeze,n; Freezing tolerance + n% +bonus2 bResEff,Eff_Silence,n; Silence tolerance + n% +bonus2 bResEff,Eff_Stan,n; Stun tolerance + n% +bonus2 bResEff,Eff_Curse,n; Cursing tolerance + n% +bonus2 bResEff,Eff_Confusion,n; Confusion tolerance + n% +bonus2 bResEff,Eff_Stone,n; Petrochemical tolerance + n% + +bonus2 bAddSize,n,x; In n size the damage addition of x% + 0,Small size 1,Medium size 2,Large size +bonus2 bAddRace,n,x; In n race the damage addition of x% + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus2 bSubRace,n,x; Damage x% reduction from n race + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus2 bMagicAddRace,n,x; In n race the damage addition of x% (only magical attack) + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus2 bMagicSubRace,n,x; Magical damage x% reduction from n race + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus2 bAddEle,n,x; In n attribute the damage addition of x% + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus2 bMagicAddEle,n,x; In n attribute the damage addition of x% (only magical attack) + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus2 bSubEle,n,x; Damage x% reduction from n attribute + 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality +bonus2 bAddDamageClass,n,x; In monster of class n the damage addition of x% (only physical attack), in case of prayer in n occupation the damage addition of x% +bonus2 bAddMagicDamageClass,n,x; In monster of class n in case of the magical damage addition and prayer of x% in n occupation the magical damage addition of x% +bonus2 bAddDefClass,n,x; In monster of class n the damage reduction of x% (only physical attack), in case of prayer in n occupation the damage reduction of x% +bonus2 bAddMDefClass,n,x; In monster of class n in case of the magical damage reduction and prayer of x% in n occupation the magical damage reduction of x% +bonus2 bHPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- HP -- absorption (+ n and x are carried out) +bonus2 bSPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- SP -- absorption (+ n and x are carried out) + + +bonus3 bAddMonsterDropItem,n,x; When pushing down the monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones) + 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster) +bonus3 bAutoSpell,n,x,y; Auto Spell casting of spell n at level x with y% chance + +// bAddDamageClass, bAddMagicDamageClass and bAddMonsterDropItem it is setting possible up to 10. Those which exceed 10 are ignored. +// those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other things are ignored. diff --git a/doc/packet_table_en.txt b/doc/packet_table_en.txt new file mode 100644 index 0000000..5a44a66 --- /dev/null +++ b/doc/packet_table_en.txt @@ -0,0 +1,1324 @@ +here is a translation for "packet_table.txt". +i leave original japanese sentenses and write translation below that. + + +Ú‚µ‚‚Í’m‚è‚Ü‚¹‚ñ‚ªAGM‚̓AƒJƒEƒ“ƒgID704554•t‹ß‚ðŽw’è‚·‚é‚Æ +ƒNƒ‰ƒCƒAƒ“ƒg‚ªGM‚¾‚Æ”FŽ¯‚µ‚Ä•\Ž¦‚·‚é‚Ý‚½‚¢‚Å‚·B +”Žš‚ª”¼’[‚È‚Ì‚Í‹C‚É‚µ‚È‚¢‚ÅEEE + +i don't know for sure, but if you set account id around 704554, +the ro client recognizes you as GM ( i don't know about other client like +iro or something. this is talking about jro.) + + +ƒpƒPƒbƒg’·ƒŠƒXƒgB-1‚̓pƒPƒbƒgŽí•Ê‚Ì’¼Œã‚É’·‚³‚ª‚ ‚éƒpƒPƒbƒg + +list of packet length. "-1" means a packet that have its packet length +just after the packet number. + + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 17, 3, 37, 46, -1, 23, -1, 3,108, 3, 2, + 3, 28, 19, 11, 3, -1, 9, 5, 52, 51, 56, 58, 41, 2, 6, 6, + + 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0, + 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6, + 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6, + 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3, + + 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 3, 2, 27, + 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1, + 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2, + 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10, + + + 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1, + 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16, + 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1, + 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26, + + 22, 14, 6, 10, 23, 19, 6, 39, 6, 7, 6, 27, -1, 2, 6, 6, + 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42, + -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14,186,182, + 14, 30, 10, 3, -1, 6,106, -1, 4, 5, 4, -1, 6, 7, -1, -1, + + 6, 3,106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6, + 90, 86, 24, 6, 30,102, 8, 4, 8, 4, 14, 10 + +S ƒNƒ‰ƒCƒAƒ“ƒg‚©‚猩‚Ä‘—M +S means a packet that will be sent from client. + +R ƒNƒ‰ƒCƒAƒ“ƒg‚©‚猩‚ÄŽóM +R means a packet that will be received by client. + +B ƒoƒCƒg +B means a byte. + +w ƒ[ƒh=2B +w means word( 2 bytes) + +l ƒƒ“ƒOƒ[ƒh=4B +l means long word(4bytes) + +* 0ŒÂˆÈã‚‚è‚©‚¦‚µ +* means repeat + + +S 0064 <version>.l <account name>.24B <password>.24B <version2>.B + ƒAƒJƒEƒ“ƒgID&ƒpƒXƒ[ƒh‘—M + send account id & password +S 0065 <account ID>.l <login ID1>.l <login ID2>.l ?.2B <sex>.B + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±—v‹ + request connection to character select server +S 0066 <charactor number>.B + ƒLƒƒƒ‰ƒNƒ^‘I‘ð—v‹ + request to select character +S 0067 <charactor name>.24B <param etc>.11B + ƒLƒƒƒ‰ƒNƒ^쬗v‹ + request to create new character +S 0068 <charactor ID>.l <mail address>.40B + ƒLƒƒƒ‰ƒNƒ^휗v‹ + request to delete character +R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.32B <sex>.B {<IP>.l <port>.w <server name>.20B <login users>.l ?.2B}.32B* + login¬Œ÷&ŽIî•ñ + information about a success of login to login server +R 006a <error No>.B + loginŽ¸”s + fail to login to login server +R 006b <len>.w <charactor select data>.106B* + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±¬Œ÷&ƒLƒƒƒ‰ƒNƒ^ƒf[ƒ^ + information about a success of connection to character select server & character server + <charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l ?.2B <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B +R 006c <error No>.B + ƒLƒƒƒ‰ƒNƒ^‘I‘ðŽ¸”s + fail to select character +R 006d <charactor select data>.106B + ƒLƒƒƒ‰ƒNƒ^쬬Œ÷ + success to create new character +R 006e <error No>.B + ƒLƒƒƒ‰ƒNƒ^쬎¸”s + fail to create new character +R 006f + ƒLƒƒƒ‰ƒNƒ^휬Œ÷ + success to delete character +R 0070 <error No>.B + ƒLƒƒƒ‰ƒNƒ^휎¸”s + fail to delete character +R 0071 <charactor ID>.l <map name>.16B <ip>.l <port>.w + ƒLƒƒƒ‰ƒNƒ^‘I‘ð¬Œ÷&ƒ}ƒbƒv–¼&ƒQ[ƒ€ŽIIP/port + success to select character & map name and ip/port number for game server +S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b + ƒQ[ƒ€ŽIÚ‘±—v‹ + request connection to game server +R 0073 <server tick>.l <coordidate>.3B ?.2B + ƒQ[ƒ€ŽIÚ‘±¬Œ÷&ƒT[ƒo‘¤1msŽžŒv&oŒ»ˆÊ’u + success to connect to game server & server time & spawn point +R 0078 <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B + ƒ}ƒbƒvƒ[ƒhŽž&ˆÚ“®Žž—pAŒü‚«•t‚«—pƒLƒƒƒ‰î•ñ? + a packet for map load or moving, infermation about a direction for character? +R 0079 <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_dir>.3B ?.B ?.B + ƒeƒŒƒ|“™‚Ì•\Ž¦”ÍˆÍ“à•¦‚«ƒLƒƒƒ‰—pAŒü‚«•t‚«–³‚µƒLƒƒƒ‰î•ñ? + information about characters in a range of a skill like teleport, no infor about direction for character? +R 007b <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B + •\Ž¦”͈͓àƒLƒƒƒ‰ˆÚ“®î•ñ + character information about walking in a range of the character can see +R 007c <ID>.l <speed>.w ?.6w <class>.w ?.7w <X_Y>.3B ?.2B + NPC—p•\Ž¦”͈͓àƒLƒƒƒ‰î•ñ + character information for npc in a range the character can see +S 007d + mapƒ[ƒhI‚è + end of load +S 007e <client tick>.l + ƒNƒ‰ƒCƒAƒ“ƒg‘¤1msƒ^ƒCƒ}‘—M + send 1ms timer at client +R 007f <server tick>.l + ƒT[ƒo‘¤1msƒ^ƒCƒ}‘—M + send 1ms timer at server +R 0080 <ID>.l <type>.B + type=00 ƒLƒƒƒ‰Á–Å (‰æ–ÊŠOˆÚ“®BŽ€‘ÌÁ–Å“™?) + character disappear( walk out of screen. died and disappear?) + type=01 ƒLƒƒƒ‰Ž€–S + character died + type=02 ƒLƒƒƒ‰Á–Å (ƒeƒŒƒ|,”ˆ,’±,logout“™?) + character disappear( teleport, fly's wing, butterfly's wing, logout?) +R 0081 <type>.B + type=03 speed hack + speed hack + type=08 2dƒƒOƒCƒ“ + duplicated login +S 0085 <X_Y>.3B + ˆÚ“®—v‹ + request to walk +R 0087 <server tick>.l <X_Y_X_Y>.5B ?.B + ˆÚ“®‰ž“š + response to the request to walk +R 0088 <ID>.l <X>.w <Y>.w + ˆÚ“®“r’†’âŽ~ + stop walking +S 0089 <target ID>.l <type>.B + type=00 target‚ð1‰ñ‰£‚é + hit target once + type=02 À‚é + sit down + type=03 —§‚¿ã‚é + stand up + type=07 target‚ð‰£‚è‘±‚¯‚é + continue to hit target +R 008a <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <type>.B <param3>.w + type=00 param1=0 miss + param1=0 miss + type=00 param1:ƒ_ƒ[ƒW(‚̇Œv?) param2:•ªŠ„” param3:ƒAƒTƒVƒ“2“—¬‹tŽèƒ_ƒ[ƒW + param1:damage(of total?) param2:number of division param3:damage of assasin's left hand + NPC‚©‚ç‚ÌUŒ‚‚Ìê‡Aparam2,param3‚̓Sƒ~ƒf[ƒ^ + if the attack was by npc, param2 and param3 are not used + speed‚ÍPC‚Ìê‡“à•”ASPD‚ƈê’v + speed match the aspd if it's player character + type=01 item‚ðE‚¤ ID*2ˆÈŠOƒSƒ~ + pick up item, unused data except ID*2 + type=02 À‚é src IDˆÈŠOƒSƒ~ + sit down, unused data except src ID + type=03 —§‚ src IDˆÈŠOƒSƒ~ + stand up, unused data except src ID + type=08 •¡”UŒ‚ + multiple attack + type=0a ƒNƒŠƒeƒBƒJƒ‹ + critical attack + type=0b Š®‘S‰ñ”ð + perfect evade +R 008c <len>.w <str>.?B + ’Ê플¾‘—MBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é + send normal speech. it become a speech for chat during a chat + 擪‚Ì"<nick> : "‚Ì•”•ª‚̓Nƒ‰ƒCƒAƒ“ƒg‘¤‚Å•t‚¯‚鎖 + client adds "<nick> : " part. +R 008d <len>.w <ID>.l <str>.?B + ID‚³‚ñ‚Ì”Œ¾ŽóMBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é + receive a speech by ID. it become speech for chat during a chat +R 008e <len>.w <str>.?B + Ž©•ª‚Ì”Œ¾ŽóMBƒ`ƒƒƒbƒg’†‚̓`ƒƒƒbƒg“à”Œ¾—p‚É‚È‚é + receive my character's speech. it become speech for chat during a chat +S 0090 <ID>.l <type?>.B + NPC‚ɘb‚µ‚©‚¯‚éBtype‚Í01‚µ‚©Œ©‚½Ž––³‚µ + talk to npc. i havent seen type setted to 01. +R 0091 <map name>.16B <X>.w <Y>.w + ŽI“àƒ}ƒbƒvŠÔˆÚ“®AƒeƒŒƒ|,”ˆ“™—p + map change in the same server, for instance, teleport, fly's wing... +R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w + ŽIŠÔˆÚ“® + map change to the other server +R 0093 + 8ŒŽ’†‚É1‰ñ‚¾‚¯ŠÏ‘ªB“ä + this packet observed in august once. i dont know what it is. +S 0094 <ID>.l + ID‚̃Lƒƒƒ‰–¼“™—v‹B0095‚©0195‚Ì•Ô“š‚ª‚ ‚é‚Í‚¸ + request a character name for ID. 0095 or 0195 response is expected. +R 0095 <ID>.l <nick>.24B + NPC,ƒMƒ‹ƒh–¢Š‘®PC‚Ì0094‚Ö‚Ì•Ô“š + response for 0094 request from npc or player character without guild. + 0193 <charID>.l ‚Å–â‚¢‡‚킹‚Ä + request by <charID>.l + 0194 <charID>.l <name>.24B ‚̉ž“š‚Å“¾‚Ä‚Ü‚·B + get response by <charID>.l <name>.24B + +S 0096 <len>.w <nick>.24B <message>.?B + wis‘—M + send wisper +R 0097 <len>.w <nick>.24B <message>.?B + wisŽóM + receive wisper +R 0098 <type>.B + type=00 wis‘—M¬Œ÷ + success to send wisper + type=01 wis‘ŠŽè‚ªlogin‚µ‚Ä‚È‚¢? + target character is not loged in? + type=02 wis‘ŠŽè‚©‚çignore‚³‚ê‚Ä‚é? + ignored by target +R 009a <len>.w <message>.?B + GM‚©‚ç‚Ì“V‚̺ + GM announce +S 009b <head dir>.w <dir>.B + ‘Ì&“ª‚Ì•ûŒü•ÏX—v‹BƒNƒ‰ƒCƒAƒ“ƒg‚ւ̉ž“š‚Í–³‚¢–Í—l + request a change of head and body direction. no response to client. + dir‚Í00`07‚Å‘Ì‚ÌŒü‚«B00‚Å–k‚©‚甽ŽžŒv‰ñ‚è‚É45‹’PˆÊ‚Å07‚Ü‚Å + dir can be 00-07 and it's for body direction. 00 means north and go counter-clockwise upto 07 by 45 degrees. + head dir‚Í00,01,02‚Å“ª‚ÌŒü‚«B00‚Å‘Ì‚Æ“¯‚¶A01‚ª‰EA02‚ª¶ + head dir can be 00,01,02. 00 means the same direction of body, 01 means right, 02 menas left. +R 009c <ID>.l <head dir>.w <dir>.B + ID‚Ì‘Ì&“ª‚Ì•ûŒü•ÏX + change body and head direction for ID. +R 009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B + ˆÚ“®“™‚Å°ƒAƒCƒeƒ€‚ª‰æ–Ê“à‚É“ü‚Á‚Ä‚«‚½Žž + when the item on the floor will appear on the screen by walking etc. +R 009e <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w + item dropB‰½ŒÌ‚©009d‚ƃ}ƒX–Ú“àˆÊ’u&ŒÂ”‚ª“ü‚ê•Ï‚Á‚Ä‚¢‚é + item drop. coordinate and amount is different from 009d. +S 009f <ID>.l + ID‚Ì°ƒAƒCƒeƒ€‚ðE‚¤ + pick up item on the floor. +R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B + fail=02 Žæ“¾Ž¸”s? + fail to pick up? + fail=06 ƒ‹[ƒgŒ –³‚µBŽæ“¾Ž¸”s + no right to pick up. fail to pick up. +R 00a1 <ID>.l + ID‚Ì°ƒAƒCƒeƒ€Á‹Ž + disappear the floor item +S 00a2 <index>.w <amount>.w + Š—LƒAƒCƒeƒ€‚ð—Ž‚· + drop inventory item. +R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + Š—LÁ–Õ•i&ŽûW•iƒŠƒXƒg + list of consumptive item and collecter item that you have +R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + Š—L‘•”õƒŠƒXƒg + list of equipments that you have +R 00a5 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚éÁ–Õ•i&ŽûW•iƒŠƒXƒg + list of consumptive item and collecter item that you leave with capra. +R 00a6 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚é‘•”õƒŠƒXƒg + list of equipments that you leave with capra. +S 00a7 <index>.w <ID>.l + ŠŽƒAƒCƒeƒ€index‚ðŽg—p‚·‚éBID‚ÍŽ©•ª‚Ì‚Ý? + use index item. ID can be only myself? +R 00a8 <index>.w <amount>.w <type>.B + ƒAƒCƒeƒ€Žg—p‰ž“šBtype=00‚Ìꇎg—pŽ¸”s? amount‚àƒSƒ~‚Ì–Í—l + response to use item. type=00 means failed. amount is unused. + type=01‚ÌꇬŒ÷‚ÅAamount‚ÍŽg—pŒã‚ÌŽc‚èŒÂ” + type=01 means success to use item, amount is a number of rest of the item. +S 00a9 <index>.w <equip type>.w + ƒAƒCƒeƒ€‘•”õ + equip item. +R 00aa <index>.w <equip point>.w <type>.B + ƒAƒCƒeƒ€‘•”õ‰ž“šBtype=00‚Ìꇑ•”õŽ¸”s? equip point‚àƒSƒ~‚Ì–Í—l + response to equip item. type=00 means fail. equip point is unused. +S 00ab <index>.w + ‘•”õ‰ðœ + take off equipment. +R 00ac <index>.w <equip point>.w <type>.B + ‘•”õ‰ðœ‰ž“šBtype=00‚Ìꇎ¸”s? equip point‚àƒSƒ~‚Ì–Í—l + response to take off equipment. type=00 means fail? equip point is unused. +R 00af <index>.w <amount>.w + ƒAƒCƒeƒ€”Œ¸BamountŒÂ‚¾‚¯Œ¸‚ç‚· + decrease number of item by amount. +R 00b0 <type>.w <val>.l + FX‚È”\—Í’l‚ÌXVBˆÈ‰ºtype:‘Ήž‚·‚é”’l‚ð—ñ‹“ + update values of various status. + 0000:speed 0003:ˆ«s’l 0004:ƒ}ƒi[ƒ|ƒCƒ“ƒg 0005:HP 0006:MaxHP + 0000:speed 0003:carma 0004:manner point 0005:HP 0006: MaxHP + 0007:SP 0008:MaxSP 0009:ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg 000b:ƒx[ƒXƒŒƒxƒ‹ + 0007:SP 0008:MaxSP 0009:status point 000b: base level + 000c:ƒXƒLƒ‹ƒ|ƒCƒ“ƒg 0018:d—Ê(•\Ž¦‚³‚ê‚Ă锎š‚Ì10”{) + 000c:skil point 0018:weight(this number must be 10 times greater than it's been diplayed.) + 0019:Å‘åd—Ê(•\Ž¦‚³‚ê‚Ă锎š‚Ì10”{) + 0019:max weight(this number must be 10 times greater than it's been diplayed.) + 0029:ATK‘O 002a:ATKŒã 002b:MATK‘O 002c:MATKŒã + 0029:attack in front 002a:attack in back 002b:matk in front 002c:matk in back + 002d:DEF‘O 002e:DEFŒã 002f:MDEF‘O 0030:MDEFŒã + 002d:deffence in front 002e:deffence in back 002f:mdef in front 0030:mdef in back + 0031:HIT 0032:FLEE‘O 0033:FLEEŒã 0034:ƒNƒŠƒeƒBƒJƒ‹ + 0031:hit 0032:flee in front 0033:flee in back 0034: critical + 0035:ASPD(2ms’PˆÊ‚ÌŽžŠÔ?) 0037:ƒWƒ‡ƒuƒŒƒxƒ‹ + 0035:aspd(time by 2ms?) 0037:job level + 0082:“ä ATKŒã‚Æ“¯‚¶”Žš? + 0082:unknown. is it the same number as atk in back? +R 00b1 <type>.w <val>.l + FX‚È”\—Í’l‚ÌXVBˆÈ‰ºtype:‘Ήž‚·‚é”’l‚ð—ñ‹“ + update valies of various status. below is the list of corresponding type and value. + 0001:ƒx[ƒX‘¤ŒoŒ±’l 0002:ƒWƒ‡ƒu‘¤ŒoŒ±’l 0014:zeny + 0001:base experience 0002:job experience 0014:zeny + 0016:ƒx[ƒX‘¤•K—vŒoŒ±’l 0017:ƒWƒ‡ƒu‘¤•K—vŒoŒ±’l + 0016:base experience that needed to level up 0017:job experience that needed to level up + ƒÀ1‚Å‚Í00b0‚Íval‚ªshortA00b1‚Íval‚ªlong‚Æ‚¢‚¤Žg‚¢•ª‚¯‚ª‚ ‚Á‚½‚ñ‚¾‚¯‚Ç + ¡‚Æ‚È‚Á‚Ä‚Í·‚ª–³‚‚È‚Á‚ÄA–Ó’°‚Ý‚½‚¢‚È‚à‚Ì? + in beta1, value of 00b0 was short and value of 00b1 was long, + but not there are no difference. +S 00b2 <type>.B + type=00 Ž€–SŽžƒŠƒXƒ^[ƒg + restart game when character died + type=01 ƒLƒƒƒ‰ƒZƒŒ—v‹ + request character select +R 00b3 <type>.B + type=01 ƒLƒƒƒ‰ƒZƒŒ‰ž“š + response to character select +R 00b4 <len>.w <ID>.l <str>.?B + ID‚ÌNPC‚©‚ç‚̃ƒbƒZ[ƒW + message from npc id +R 00b5 <ID>.l + ID‚ÌNPC‚Ƃ̃ƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚É"NEXT"ƒAƒCƒRƒ“‚ðo‚· + display the "NEXT" icon to npc message window +R 00b6 <ID>.l + ID‚ÌNPC‚Ƃ̃ƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚É"CLOSE"ƒAƒCƒRƒ“‚ðo‚· + display the "CLOSE" icon to npc message window +R 00b7 <len>.w <ID>.l <str>.?B + ID‚ÌNPC‚̉ï˜b‚Å‘I‘ð€–Ú•\Ž¦BŠe€–Ú‚Í':'‚Å‹æØ‚ç‚ê‚é + display select options in npc message window. each options devided by ":". +S 00b8 <ID>.l <select>.B + ID‚ÌNPC‚̉ï˜b‚Ì‘I‘ðBŠe€–ڂɇ‚É1`‚ªU‚ç‚ê‚éBff‚ŃLƒƒƒ“ƒZƒ‹? + select options in ncp message window. number starts from 1 for each options. cancel for ff? +S 00b9 <ID>.l + ID‚ÌNPC‚Ƃ̉ï˜bBNEXTƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½ + "NEXT" button clicked in ncp message window. +S 00bb <type>.w <amount>.B + ƒXƒe[ƒ^ƒXup—v‹Btype‚Í000d‚©‚ç0012‚ª‡‚ÉSTR,AGI,VIT,INT,DEX,LUK‚ɑΉž + request update status. type can be 000d for STR, 000e for AGI, 000f for VIT, 0010 for INT, 0011 for DEX, 0012 for LUK. +R 00bc <type>.w <fail>.B <val>.B + ƒXƒe[ƒ^ƒXup‰ž“šBfail=01‚Ȃ笌÷Btype‚Í00bb‚Æ“¯‚¶Bval‚Íã‚Á‚½Œã‚Ì”Žš + respnse to update status. it's successeeded if fail=01. type is the same value as packet number 00bb. val is a value of increase. + Ž¸”s—á‚ÍŒ©‚½Ž––³‚¢‚Ì‚Å“äBƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‘«‚è‚È‚¢ó‘Ô‚Å + 00bb‚ð”s‚Å‚«‚éƒNƒ‰ƒCƒAƒ“ƒg‚ª—L‚ê‚ÎAfail=00‚É‚È‚é‚Ì‚Å‚Í‚È‚¢‚©‚Æ—\‘z + it's unknown when it's failed because i havent ever seen. i think it will be fail=00 when it's failed. +R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w ?.w + ‚܂Ƃ߂ăXƒe[ƒ^ƒXî•ñ‚ð‘—‚éƒpƒPƒbƒg + packet of information for various status. +R 00be <type>.w <val>.B + •K—vƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒgXVƒpƒPƒbƒgBtype‚Í0020`0025‚ª‡‚ÉSTR`LUK‚ɑΉž + packet to update required status point. type can be 0020-0025 for STR-LUK.( see packet number 00bb for detals.) +S 00bf <type>.B + ƒGƒ‚[ƒVƒ‡ƒ“‚ðo‚·Btype‚Í00-0c(,0d)‚ªALT+1`ALT+9,ALT+0,ƒ`ƒ‡ƒL,ƒO[,ƒp[(,ŠØ‘Šø)‚ɑΉž + display emotion. type can be 00-0c(,0d) for ALT+1-ALT+9,ALT+0,CTRL+-,CTRL++,CTRL+\(,korean flag). +R 00c0 <ID>.l <type>.B + ID‚Ìl‚ªƒGƒ‚[ƒVƒ‡ƒ“‚ðo‚µ‚½Btype‚Í00bf‚Æ“¯‚¶ + emotion by ID. type is the same as 00bf. +S 00c1 + loginl”–â‚¢‡‚킹 + request to ask loged in people. +R 00c2 <val>.l + loginl”‰ž“š + response to asking loged in people. +R 00c3 <ID>.l <type>.B <val>.B + Œ©‚½–Ú•ÏXBtype‚Í00‚Å–{‘Ì(“]EŽž“™)A02‚ª•ŠíA03‚ª“ª(‰º)A04‚ª“ª(ã)A05‚ª“ª(’†)A08‚ª‚ + change looks. type=00 means body(by jobs), 02 is weapon, 03 is head(lower), 04 is head(upper), 05 is head(middle), 08 is shield. +R 00c4 <ID>.l + ˜b‚©‚¯‚½NPC‚ª¤l‚¾‚Á‚½‚Ì‚Åbuy/sell‘I‘ð‘‹o + display "BUY" or "SELL" window by npc ID +R 00c5 <ID>.l <type>.B + buy/sell‘I‘ðBtype=00‚È‚çbuyBtype=01‚È‚çsell + select "BUY" or "SELL". type=00 is buy, type=01 is sell. +R 00c6 <len>.w {<value>.l <DCvalue>.l <type>.B <item ID>.w}.11B* + NPC‚Ì‚¨“Xbuy‘I‘ðŽžBDCvalue‚ͤlDCŒã‚Ì’l’i + list of marchandizes when clicked "BUY". DCvalue is a value of Discount Skill applied. +R 00c7 <len>.w {<index>.w <value>.l <OCvalue>.l}.10B* + NPC‚Ì‚¨“Xsey‘I‘ðŽžBOCvalue‚ͤlOCŒã‚Ì’l’i + list of items when clicked "SELL". OCvalue is a value of Over Charge Skill applied. +S 00c8 <len>.w {<amount>.w <item ID>.w}.4B* + NPC‚Ì‚¨“X‚©‚甃‚¤ + buy item from npc shop. +S 00c9 <>.w {<index>.w <amount>.w}.4B* + NPC‚Ì‚¨“X‚É”„‚é + sell item to npc shop. +R 00ca <type>.B + NPC‚©‚çw“üI—¹Btype=00¬Œ÷ + response for buying item. type=00 meanse successetion. +R 00cb <type>.B + NPC‚Ö”„‹pI—¹Btype=00¬Œ÷ + response for selling item. type=00 means success. +S 00cf <nick>.24B <type>.B + type=00 nick‚©‚ç‚Ì”Œ¾Žó‚¯•t‚¯‹‘”Û (/ex nick) + deny speech from nick(/ex nick). + type=01 nick‚©‚ç‚Ì”Œ¾Žó‚¯•t‚¯‹–‰Â (/in nick) + allow speech from nick(/in nick) +S 00d0 <type>len.B + type=00 ‘S‚Ä‚Ì”Œ¾Žó‚¯•t‚¯‹‘”Û (/exall) + deny all speech(/exall) + type=01 ‘S‚Ä‚Ì”Œ¾Žó‚¯•t‚¯‹–‰Â (/inall) + allow all speech(/inall) +R 00d1 <type>.B <fail>.B + fail=00 ”Œ¾Žó‚¯•t‚¯‹‘”Û¬Œ÷ + success to deny speech + fail=01 ”Œ¾Žó‚¯•t‚¯‹‘”ÛŽ¸”s + fail to deny speech +R 00d2 <type>.B <fail>.B + fail=00 ‘S”Œ¾Žó‚¯•t‚¯‹‘”Û¬Œ÷ + seccess to allow speech + fail=01 ‘S”Œ¾Žó‚¯•t‚¯‹‘”ÛŽ¸”s + fail to alloe speech +S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B + ƒ`ƒƒƒbƒg—§‚ÄB‚±‚±‚©‚çƒ`ƒƒƒbƒgŠÖŒW‚ª‘±‚‚¯‚Ç’²‚ׂªŠÃ‚¢‚̂ŕ⊮‚æ‚ë + create chat room.(from now on, im not sure for packets about chat.) +R 00d6 <fail>.B + ƒ`ƒƒƒbƒg—§‚ĉž“š + response to create chat room. +R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B + ‰æ–Ê“àƒ`ƒƒƒbƒgî•ñ + information for chat room in the screen. +R 00d8 <chat ID>.l + ƒ`ƒƒƒbƒgÁ‹Ž + delete chat room. +S 00d9 <chat ID>.l <passwd>.8B + ƒ`ƒƒƒbƒgŽQ‰Á—v¿ + request to join the chat. +R 00da <fail>.B + ƒ`ƒƒƒbƒgŽQ‰ÁŽ¸”s + fail to join the chat. +R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B* + ƒ`ƒƒƒbƒgŽQ‰ÁŽÒƒŠƒXƒg + list of people in the chat room. +R 00dc <users>.w <nick>.24B + ƒ`ƒƒƒbƒg‚Ö‚ÌŽQ‰ÁŽÒ’ljÁ(?) + add person to the chat room. +R 00dd <index>.w <nick>.24B <fail>.B + ƒ`ƒƒƒbƒg‚©‚çŽQ‰ÁŽÒ”²‚¯ + leave the chat room. +S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B + ƒ`ƒƒƒbƒgƒXƒe[ƒ^ƒX•ÏX + change chat room status. +R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B + ƒ`ƒƒƒbƒgƒXƒe[ƒ^ƒX•ÏX¬Œ÷ + success to change chat room status. +S 00e0 ?.l <nick>.24B + ƒ`ƒƒƒbƒgƒ‹[ƒ€Š—LŽÒ•ÏX—v‹? + request to change owner of the chat room? +R 00e1 <index>.l <nick>.24B + ƒ`ƒƒƒbƒgŽQ‰ÁŽÒ”Ô†•t‚¯’¼‚µ? + re-number people in the chat room? +S 00e2 <nick>.24B + ƒ`ƒƒƒbƒgkick + kick nick from chat room. +S 00e3 + ƒ`ƒƒƒbƒg”²‚¯ + leave chat room. +S 00e4 <ID>.l + Žæ‚èˆø‚«—v‹ + request trade. +R 00e5 <nick>.24B + Žæ‚èˆø‚«—v¿Žó‚¯ + recieve a request to trade. +S 00e6 <type>.B + type=03 Žæ‚èˆø‚«—v¿ok + trade ok. + type=04 Žæ‚èˆø‚«—v¿ƒLƒƒƒ“ƒZƒ‹ + trade canceled. +R 00e7 <fail>.B + Žæ‚èˆø‚«—v‹‰ž“š + response to requesting trade. + fail=00 ‹——£‚ª‰“‰ß‚¬ + too far. + fail=03 —v¿Žó‚¯‚Ä‚‚ꂽ + allowed the trade. + fail=04 ƒLƒƒƒ“ƒZƒ‹‚³‚ꂽ? + trade canceled? +S 00e8 <index>.w <amount>.l + ƒAƒCƒeƒ€’ljÁBindex=0‚Åzeny’ljÁB³‹KƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Ízeny‚Í00eb‚Ì’¼‘O‚Ì‚Ý + add item. index=0 means adding zeny. for official client, zeny can be added only in packet number 00eb. +R 00e9 <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ‘ŠŽè•û‚©‚ç‚̃AƒCƒeƒ€’ljÁ + added item from other character. +R 00ea <index>.w <fail>.B + fail=00 ƒAƒCƒeƒ€’ljÁ¬Œ÷ + success to add item. + fail=01 ’ljÁŽ¸”sB‘ŠŽè‘¤d—ʃI[ƒo + fail to add item. the player was over weighted. +S 00eb + ƒAƒCƒeƒ€’ljÁŠ®—¹(ok‰Ÿ‚µ) + completed adding item.(cliecked OK) +R 00ec <fail>.B + fail=00 Ž©•ª‚©‚ç‚ÌokŽó—Ì + recieved "OK" from myself + fail=01 ‘ŠŽè‚©‚ç‚ÌokŽó—Ì + recieved "OK" from the other. +S 00ed + Žæ‚èˆø‚«ƒLƒƒƒ“ƒZƒ‹ + trade canceled. +R 00ee + Žæ‚èˆø‚«‚ªƒLƒƒƒ“ƒZƒ‹‚³‚ê‚Ü‚µ‚½ + message of "trade canceled" +S 00ef + Žæ‚èˆø‚«‹–‘ø(trade‰Ÿ‚µ) + trade OKed. (cliecked Trade) +R 00f0 + Žæ‚èˆø‚«Š®—¹ + trade completed. +R 00f2 <num>.w <limit>.w + ƒJƒvƒ‰‚³‚ñ‹–—eƒAƒCƒeƒ€ŒÂ”&Œ»ó + number of item that capra can stock and number of item that capra stocks now. +S 00f3 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚ɃAƒCƒeƒ€•ú‚èž‚Ý + put item to capra's warehouse. +R 00f4 <index>.w <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚̃AƒCƒeƒ€’ljÁ + add item to capra's warehouse. +S 00f5 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚©‚çƒAƒCƒeƒ€Žæ‚èo‚µ + take out item from capra's warehouse. +R 00f6 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‘qŒÉ‚̃AƒCƒeƒ€íœ + delete item in the capra's warehouse. +S 00f7 + ƒJƒvƒ‰‚³‚ñ‘qŒÉ•Â‚¶ + request to close capra's warehouse. +R 00f8 + ƒJƒvƒ‰‚³‚ñ‘qŒÉ•Â‚¶‰ž“š + response to close capra's warehouse. +S 00f9 <party name>.24B + ƒp[ƒeƒBì¬ + create party. +R 00fa <fail>.B + fail=00 쬬Œ÷ + success to create party. +R 00fb <len>.w <party name>.24B {<ID>.l <nick>.24B <map name>.16B <leader>.B <offline>.B}.46B* + ƒp[ƒeƒBî•ñ‚Ü‚Æ‚ß‚Ä‘—‚è + packet for various information about party. +S 00fc <ID>.l + ƒp[ƒeƒBŠ©—U‚·‚é + invate player to the party. +R 00fd <nick>.24B <fail>.B + fail=00 ‘ŠŽè‚ÍŠù‚Ƀp[ƒeƒB‚É“ü‚Á‚Ä‚¢‚½ + the player is already in other party. + fail=01 ‘ŠŽè‚É‹‘”Û‚³‚ꂽ + invitaion was denied. + fail=02 Š©—U¬Œ÷ + success to invite, +R 00fe <ID>.l <party name>.24B + ƒp[ƒeƒB‚É—U‚í‚ꂽ + invited to party. +S 00ff <ID>.l <fail>.l + ƒp[ƒeƒB‚É—U‚í‚ꂽŽž‚Ì•Ô“šBfail=1 ok•Ô“š? + response when player was invited to party. fail=1 means OK? +R 0100 + ? ƒp[ƒeƒBŠÖ˜A? + unknown. related to party? +S 0101 <exp>.w <item?>.w + ƒp[ƒeƒBÝ’è•ÏX + change party setting. +R 0102 <exp>.w <item?>.w + ƒp[ƒeƒBݒ茻ó? exp=2‚Ìꇂ͌ö•½”z•ªÝ’莸”s? + party setting status. when exp=2, fail to set "equality for experience"? +R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B + ƒp[ƒeƒB1l•ªî•ñXV + information about a one player in th party. +R 0105 <ID>.l <nick>.24B <fail>.B + nick‚³‚ñ‚ªƒp[ƒeƒB‚©‚ç—£’E + nick leaves the party. +R 0106 <ID>,l <HP>.w <MaxHP>.w + ƒp[ƒeƒBƒƒ“ƒoHPXV + update HP of party members. +R 0107 <ID>.l <X>.w <Y>.w + ƒp[ƒeƒBƒƒ“ƒoˆÊ’uXV + update coordinates of party members. +S 0108 <len>.w <message>.?B + ƒp[ƒeƒB“à”Œ¾ + send speech for party memebers. +R 0109 <len>.w <ID>.l <message>.?B + ƒp[ƒeƒB“à”Œ¾ŽóM + receive speech for party memebers. +R 010a <type ID>.w + MVPƒAƒCƒeƒ€Žæ“¾ + get MVP item. +R 010b <exp>.l + MVPŒoŒ±’lŽæ“¾ + get MVP experience. +R 010c <ID>.l + MVPƒLƒƒƒ‰•\Ž¦ + display MVP character. +R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B + ƒXƒLƒ‹î•ñXVBsp‚Í–¢Žg—p? + update skill sinformation. sp is unused? +R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B* + ƒXƒLƒ‹î•ñ‚̉òBskill name‚͈ꕔ—¬‚ê‚Ä—ˆ‚È‚¢•¨‚ª‚ ‚é„AL_PNEUMA,PR_SLOWPOISON“™ + bunch of information about skill. some of skill name is not send (AL_PNEUMA, PR_SLOWPOISON etc). + target type‚Í0-ƒpƒbƒVƒuA1-“GA2-êŠA4-‘¦Žž”“®A16-–¡•û + target type is 0 for novice skill, 1 for enemy, 2 for place, 4 for immediate invoke, 16 for party member + lv=0 up=0‚Ìꇂ̓ŠƒXƒg‚Éo‚µ‚Ä‚È‚¢? + it will not be on list when lv=0 up=0? +R 0110 <skill ID>.w <basic type>.w ?.w <fail>.B <type>.B + fail=00‚ÌŽž‚ɃXƒLƒ‹—˜—pŽ¸”s? + fail to use skill when fail=00? + type 00:basic type‚Ì•û 01:SP•s‘« 02:HP•s‘« 03:memo–³‚µ 04:delay’† + type 00:basic type 01:lack of SP, 02:lack of HP, 03:no memo, 04:in delay + 05:‚¨‹à–³‚µ(‚ß‚Ü[) 06:•Ší‚ª‚æ‚낵‚‚È‚¢ 07:ÔƒWƒFƒ€–³‚µ 08:ƒWƒFƒ€–³‚µ 09:“ä + 05:lack of money, 06:weapon does not satisfy, 07:no red jewel, 08:no blue jewel, 09:unkown + basic type 00:Žæ‚èˆø‚« 01:emotion 02:À‚è 03:ƒ`ƒƒƒbƒg 04:ƒp[ƒeƒB + basic type 00:trade 01:emotion 02:sit down, 03:chat, 04:party + 05:shout? 06:PK 07:ƒ}ƒi[ƒ|ƒCƒ“ƒg + 05:shout? 06:PK, 07:manner point +R 0111 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B + 010f‚Ì1‚•ªBƒÀ2‚¾‚Æ–¢Žg—p? + just one skill information. not used in beta2? +S 0112 <skill ID>.w + ƒXƒLƒ‹lvup—v‹ + request to skill level up. +S 0113 <level>.w <skill ID>.w <ID>.l + ID‚ðƒ^[ƒQƒbƒg‚Éskill‚ðŽg‚¤ + use skill to the target. +R 0114 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <param3>.w <type>.B + UŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg@ + skill effect for attack. + type=04 ‰Î•Ç‚ÅŠÏ‘ª type=06‚Æ‚Ù‚Ú“¯‚¶? + rtpe=04 observed when firewall was used. is that the almost same as type=06? + type=06 ’P”‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í1ŒÅ’è‚Æ—\‘z + type=06 skill for just one hit? param1 is total damage, param2 is level, param3 will always stay 1. + type=08 ˜A‘Å‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=08 skill for multiple hits? param1 is totak damage, param2 is level, param3 will be a number of hit. +R 0115 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <X>.w <Y>.w <param1>.w <param2>.w <param3>.w <type>.B + ’e‚«”ò‚΂µ—L‚èUŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg + blow up type skill effect. + type=05 ƒ_ƒ[ƒW&’e‚«”ò‚΂µBparam1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=05 damage and blow up. param1 is total damage, param2 is level, param3 will be a number of hit. + type=06 ”šS’n? ‚È‚‚Æ‚àparam1‚̓Sƒ~‚Ì–Í—l + type=06 a point of explorsion? param1 is unused at least. +S 0116 <level>.w <skill ID>.w <X>.w <Y>.w + (X,Y)‚ðƒ^[ƒQƒbƒg‚Éskill‚ðŽg‚¤ + use skill at (X,Y). +R 0117 <skill ID>.w <src ID>.l <val>.w <X>.w <Y>.w <server tick>.l + ꊑŠŽè‚̃XƒLƒ‹ƒGƒtƒFƒNƒg•\Ž¦Bval‚̓Œƒxƒ‹‚©Aˆê•”ŒÅ‚³?(•X•Ç) + display skill effect at (X,Y). is val level? or how hard it is (like ice wall)? +S 0118 + UŒ‚ƒLƒƒƒ“ƒZƒ‹ + cancel to attack +R 0119 <ID>.l <param1>.w <param2>.w <param3>.w ?.B + Œ©‚½–Ú•ÏX + change looks. + param1=02 ƒtƒƒXƒgƒ_ƒCƒo‚Å“€‚è’Ђ¯? + param1=02 flozen diva? + param2=01 “Å? + param2=01 poison? + param2=20 ANGELUSó‘Ô? + param2=20 ANGELUS? + param3=01 ƒTƒCƒg‚©ƒ‹ƒƒbƒ`? + param3-01 site or ruwatch? (i dont know skill names in english :() + param3=0b ƒnƒCƒfƒBƒ“ƒOó‘Ô? + param3=0b hiding? + param3=0b ƒNƒ[ƒLƒ“ƒOó‘Ô? + param3-0b cloking? + param3=0d ƒJ[ƒg•t‚« + param3=0d with cart + param3=0e ‘é•t‚« + param3-0e with hawk + param3=0f ƒyƒRƒyƒRæ‚è + param3=0f with pekopeko + +R 011a <skill ID>.w <val>.w <dst ID>.l <src ID>.l <fail>.B + ”ñƒ_ƒ[ƒWŒnƒXƒLƒ‹•\Ž¦Bƒq[ƒ‹‚Ìê‡val‚͉ñ•œ—Ê + display no-damage skill effect. val is an amount of HP cured when it's heal. + fail=00‚Ìꇎ¸”s‚Û‚¢‚ªAƒXƒ`[ƒ‹ˆÈŠO‚Å‚ÍŒ©‚½Ž––³‚µ + fail=00 must mean fail, but i havent seend it except steal. +S 011b <skill ID>.w <map name>.16B + 011c‚ւ̉ž“šBŽg‚í‚È‚¢ê‡"cancel"‚ð‘—‚é + response to packet number 011c. send "cancel" for no-use. +R 011c <skill ID>.w <map1>.16B <map2>.16B <map3>.16B <map4>.16B + ƒeƒŒƒ|/ƒ|ƒ^‚ÌꊑI‘ðB + select place for teleport or portal warp. + ƒeƒŒƒ|‚Ìê‡ARandom/ƒZ[ƒuêŠAƒ|ƒ^‚Ìê‡AƒZ[ƒuêŠ/memo1/memo2/memo3‚Æ‚È‚é + ƒ}ƒbƒv–¼‚Ì‚Ý‘—‚ç‚ê‚é + in case of teleport, Ramdom/save point will be sent, + in case of portal warp, save point/memo1/memo2/memo3 will be sent. + only map name wil be sent. +S 011d + Œ»Ý‹‚éŠ‚ðƒƒ‚—v‹ + request to take a memo at this point. +R 011e <fail>.B + fail=00 ƒƒ‚¬Œ÷ + success to take memo. + fail=01 ƒƒ‚Ž¸”s + fail to take memo. +R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B + ƒXƒLƒ‹Œø”\’nì¬ + create ground effect for skills like firewall. + type 7e:SW 7f:‰Î•Ç 80:ƒ|ƒ^”“®’† 81:ƒ|ƒ^”“®‘O 83:ƒTƒ“ƒN 85:ƒtƒjƒ…[ƒ} + type 7e:SW, 7f:firewall, 80:portal warp(invoking), 81:portal warp(before invoking), 83:sank, 85:funewma( i really don know skill names :() + 86:ƒo[ƒ~ƒŠƒIƒ“ 8c:ƒg[ƒL[ƒ{ƒbƒNƒX”“®Žž 8d:•X•Ç 8e:‚‚ ‚®‚Ü‚¢‚â[ 91:‚ ‚ñ‚‚é‚·‚Ë‚ + 86: bermillion, 8c:talky box(invoked), 8d:frost diva, 8e:kuagumire, 91:uncle snear + 93:‚ç‚ñ‚Ç‚Ü‚¢‚ñ 97:?? 99:ƒg[ƒL[ƒ{ƒbƒNƒX”“®‘O + 93:land mine, 97:??, 99:talky box(befor invoked) + ‘¼î•ñ‹‚Þ +R 0120 <ID>.l + ƒXƒLƒ‹Œø”\’nÁ‹Ž + delete ground effect. +R 0121 <num>.w <num limit>.w <weight>.l <weight limit>l + ƒJ[ƒg‚ÌŽí—Þ&d‚³‚ÌŒ»Ý’l&ãŒÀ + kind of cart, weight and max weight. +R 0122 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* + ƒJ[ƒg“àƒAƒCƒeƒ€B‘•”õ•i + equipments in cart. +R 0123 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* + ƒJ[ƒg“àƒAƒCƒeƒ€BÁ–Õ•i/ŽûW•i + cunsumptive and collector items in cart. +R 0124 <index>.w <amount>.l <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w + ƒJ[ƒg‚ɃAƒCƒeƒ€’ljÁ + add item to cart. +R 0125 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒAƒCƒeƒ€íœ + delete item in cart. +S 0126 <index>.w <amount>.l + ƒJ[ƒg‚ɃAƒCƒeƒ€‚ð“ü‚ê‚é + put item to cart. +S 0127 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒAƒCƒeƒ€‚ðŽæ‚èo‚· + take out item from cart. +S 0128 <index>.w <amount>.l + ƒJƒvƒ‰‚³‚ñ‚©‚çƒJ[ƒg‚ÖƒAƒCƒeƒ€‚ðˆÚ‚· + move item from capra's warehouse to cart. +S 0129 <index>.w <amount>.l + ƒJ[ƒg‚©‚çƒJƒvƒ‰‚³‚ñ‚ÖƒAƒCƒeƒ€‚ðˆÚ‚· + move item from cart to capra's warehouse. +R 012c <fail>.B + fail=00 d—ʧŒÀ‚ð‰z‚¦‚ăJ[ƒg‚ɃAƒCƒeƒ€‚ð“ü‚ê‚ç‚ê‚Ü‚¹‚ñ‚Å‚µ‚½? + fail=00 over the weight and could not add item to cart. +R 012d <num>.w + ˜I“XŠJÝBƒAƒCƒeƒ€ƒŠƒXƒg—v‹Bnum‚Í’u‚¯‚éÅ‘å” + create shop (marchant skill). request item list. num is a number of kind of item that can be sell. +S 012e + ˜I“X•Â½ + close shop. +S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B* + ˜I“XŠJÝA˜I“X–¼&ƒAƒCƒeƒ€,’l’iƒŠƒXƒg + create shop, shop name, item, price list. +S 0130 <ID>.l + ˜I“XƒAƒCƒeƒ€ƒŠƒXƒg—v‹ + request item list for shop( not npc shop). +R 0131 <ID>.l <message>.80B + ˜I“XŠÅ”•\Ž¦ + display shop name tag. +R 0132 <ID>.l + ˜I“XŠÅ”ÂÁ‹Ž + delete shop name tag. +R 0133 <len>.w <ID>.l {<value>.l <amount>.w <index>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B + ˜I“XƒAƒCƒeƒ€ƒŠƒXƒg + item list for shop(not npc shop). +S 0134 <len>.w <ID>.l {<amount>.w <index>.w}.4B* + ˜I“XƒAƒCƒeƒ€w“ü + buy item from shop (not npc). +R 0135 <index>.w <amount>.w <fail>.B + ˜I“XƒAƒCƒeƒ€w“üŽ¸”sBfail‚ÍŒ´ˆö + fail to buy item from non npc shop. fail tells you reasons. +R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B* + ˜I“XŠJݬŒ÷ + success to create non-npc-shop. +R 0137 <index>.w <amount>.w + ˜I“XƒAƒCƒeƒ€”Ì”„•ñ + report of selling item. +R 0139 <ID>.l <X>.w <Y>.w <X2>.w <Y2>.w <range>.w + ID‚Ì“G‚Í(X,Y)‚É‹‚ÄŽ©•ª‚Í(X2,Y2)‚É‹‚é‚Ì‚ÅUŒ‚‚ª“Í‚«‚Ü‚¹‚ñ‚Å‚µ‚½ + the enemy at(X,Y) was too far to attack from my coordinate (X2,Y2). + UŒ‚‰Â”\‹——£‚Írange‚È‚Ì‚ÅA‹ßŠñ‚Á‚ĉº‚³‚¢? + possible range to attack enemy is "range", so be closer? +R 013a <val>.w + UŒ‚ŽË’ö + attack range. +R 013b <type>.w + ŠeŽíƒƒbƒZ[ƒW•\Ž¦B3=–‘•”õ‚Å‚«‚Ü‚µ‚½ + various message. 3="arrow has been equiped" +R 013c <ID>.w + ‘•”õ‚³‚ꂽ–î‚ÌItemIDB0‚ÅA–¢‘•”õó‘ÔB + item id of equiped arrow. 0 means no arrow is equiped. +R 013d <type>.w <val>.w + HP‰ñ•œƒXƒLƒ‹/SP‰ñ•œƒXƒLƒ‹‚É‚æ‚é‰ñ•œ + recovery of HP/SP by HP/SP recovery skill. + type=5‚È‚çHP type=7‚È‚çSP + type=5 is HP, type=7 is SP. +R 013c <index>.w +@@ ‘•”õ‚µ‚Ä‚¢‚é–î + id of equiped arrow. + +R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l + ƒXƒLƒ‹‰r¥’†BPC/NPC‚ª‘ŠŽè‚ÌꇂÍ(X,Y)‚Í0Bꊂªƒ^[ƒQƒbƒg‚ÌꇂÍdst ID‚Í0‚É‚È‚é + skill has been casting. (X,Y) will be 0 when target is player character or NPC. dst ID will be 0 when target is place. + + 0x013e ‚Ì offset+16(dword) ‚̓XƒLƒ‹‘®«‚Å‚·(’²¸Ï)B + offset+16(dword) in packet number 0x013e is skill attribute. + + 00:–³ 01:… 02:’n 03:‰Î 04:•— 05:“Å 06:¹ 07:ˆÃ 08:”O 09:Ž€ + 00:none, 01:water, 02:ground, 03:fire, 04:wind, 05:poinson, 06:holly, 07:dark, 08:spirit(i don know how to translate.), 09:death + «—ˆ“I‚ÉA‰r¥’†‚̃GƒtƒFƒNƒg‚ª‘®«‚Å•Ï‚í‚é‚Ì‚©‚ÆB + casting effect might differ by skill attribute in the future. + + wait‚Íms’PˆÊ‚©‚È? + wait in mili second? +R 0141 <type>.l <base>.l <bonus>.l + ƒXƒe[ƒ^ƒXî•ñBtype‚Í0d‚©‚ç12‚ª‡‚ÉSTR,AGI,VIT,INT,DEX,LUK‚ɑΉž + information for status. type is 0d-12 for STR,AGI,VIT,INT,DEX,LUK. + base+bonus‚Æ•\Ž¦‚³‚ê‚é + base+bonus will be displayed. +R 0144 <ID>.l <type>.l <X>.l <Y>.l <point ID>.B <color>.3B ?.B + ˆÄ“àˆõ—pAƒ}ƒbƒvãƒAƒCƒRƒ“•\Ž¦ƒpƒPƒbƒg + for guid npc, packet for display icon on map. + type=1 ƒAƒCƒRƒ“‚ð•\Ž¦ + display icon. + type=2 ƒAƒCƒRƒ“‚ðÁ‹Ž + delete icon. +R 0145 <file name>.16B <type>.B + (¡‚ÌŠ)ƒJƒvƒ‰‚³‚ñcutin•\Ž¦ + display capra picture(at this time). + type=02 •\Ž¦ + display. + type=ff Á‹Ž + delete. +S 0146 <ID>.l + ID‚ÌNPC‚Ƃ̉ï˜bBCLOSEƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½Back–³‚µ‚ÉNPCƒƒbƒZ[ƒWƒEƒBƒ“ƒh‚𓯎ž‚ɕ‚¶‚é + talk to npc with ID. Clicked CLOSE button. +R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B + ƒAƒCƒeƒ€—˜—p‚ÌŒ‹‰ÊˆêŽž“I‚É“¾‚ç‚ꂽƒXƒLƒ‹î•ñ + effect for skill by using item. +S 0148 <ID>.l + ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Ì‘ŠŽèŒˆ‚ß? @ ƒÀ1 + decide target of a skill rezarection? in beta1. +S 0149 <ID>.l <type>.B + ID‚Ƀ}ƒi[ƒ|ƒCƒ“ƒg‚ð—^‚¦‚éBtype=00 ƒvƒ‰ƒX type=01 ƒ}ƒCƒiƒX + give manner point to ID. type=00 is plus, type=01 is minus. +R 014a <fail>.l + ƒ}ƒi[ƒ|ƒCƒ“ƒg‚ð—^‚¦‚½Œ‹‰ÊBfail=0 ¬Œ÷ fail=1 Ž¸”s + result of giving manner point. fail=0 is success, fail=1 is fail. +R 014b <type>.B <nick>.24B + ƒ}ƒi[ƒ|ƒCƒ“ƒg‚ð–á‚Á‚½Btype=00 ƒvƒ‰ƒX type=01 ƒ}ƒCƒiƒX + get manner point. type=00 is plus, type-01 is minus. +R 014C <len>.w (<type>.l <guildID>.l <guild name>.24B).* + “¯–¿¥“G‘΃Mƒ‹ƒh•\Ž¦ + display alliance and opposition guild. + type=0 “¯–¿ + alliance. + type=1 “G‘Î + opposition. +S 014D +@@ ƒMƒ‹ƒhî•ñ•\Ž¦ŠJŽnH + start of guild information? +R 014E <type?>.l +@@ type=0x57 ˆê”ʃMƒ‹ƒh’cˆõ + normal guild member. +@@ type=0xD7 ƒMƒ‹ƒhƒ}ƒXƒ^[ + guild master. +S 014F <page>.l +@@ ƒMƒ‹ƒh•\Ž¦ƒ^ƒu‘—M + send packet for guild "DISPLAY" tab. +R 0150 <guildID>.l <guildLv>.l <connum>.l <’èˆõ>.l <Avl.lvl>.l ?.l <next_exp>.l ?.16B <guild name>.24B <guild master>.24B ?.16B +@@ ƒMƒ‹ƒhî•ñ + guild info. +S 0151 <guild ID>.l + ƒGƒ“ƒuƒŒƒ€—v‹ + request for guild emblem. +R 0152 <len>.w <guild ID>.l <emblem ID?>.l <emblem data>.?B + ƒGƒ“ƒuƒŒƒ€ƒCƒ[ƒW‘—•t + return emblem image. +R 0154 <len>.w {<accID>.l <charactorID>.l <”¯Œ^>.w <”¯‚ÌF>.w <«•ÊH>.w <job>.w <lvl?>.w <ã”[ŒoŒ±’l>.l <online>.l <Position>.l ?.50B <nick>.24B}* + ƒMƒ‹ƒhƒƒ“ƒoƒŠƒXƒg? + guild member list? +S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B +@@ ƒMƒ‹ƒh’E‘Þ‘—M + send packet for leaving guild. +R 015A <nic>.24B <mess>.40B +@@ ƒMƒ‹ƒh’E‘Þ(‘Sˆõ)ŽóM + receive packet for leaving guild(all members). +S 015B <guildID>.l <accID>.l <charID>.l <mess>.40B +@@ ƒMƒ‹ƒh’Ç•ú‘—M + send packet for kicking member out of the guild. +R 015C <nick>.24B <mess>.40B <ƒAƒJƒEƒ“ƒg‚h‚c>.24B +@@ ƒMƒ‹ƒh’Ç•úi‘SˆõjŽóM + receive packet for kicking member out of the guild.(all member) +R 0163 <len>.w <nick>.24B <accountID>.24B <kicking reason>.40B + +S 0165 <myaccID>.l <guild name>.24B +@@ ƒMƒ‹ƒhì¬ + create guild +R 0166 <len>.w ?.28B* + –ðE–¼ƒŠƒXƒg? + list for roll of members? +R 0167 <type>.b + ƒMƒ‹ƒh쬇”Û + response to vreating guild. + type = 0 ƒMƒ‹ƒh쬬Œ÷ + success. + type = 2 “¯–¼‚̃Mƒ‹ƒh‚ª‚ ‚é + there is a guild with the same name. +S 0168 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l +@@ ƒMƒ‹ƒhŠ©—U + invite to the guild. +R 0169 <type>.B +@@ ƒMƒ‹ƒhŠ©—U‹‘”Û‚³‚ꂽ + invitation denied. +R 016A <guild ID>.l <guild name>.24B +@@ ƒMƒ‹ƒhŠ©—U‚³‚ꂽ + invited to the guild. +S 016B <guild ID>.l <type>.l +@@ ƒMƒ‹ƒhŠ©—U•ÔM + response to invitaion for joining to guild. +@@ type=0 ‹‘”Û‚·‚é + deny. +@@ type=1 ‹–‘ø‚·‚é + OK. +R 016c <guild ID>.l ?.13B <guild name>.24B + loginŽžƒMƒ‹ƒhî•ñ + guild information when loged in. +R 016d <ID>.l <charactor ID>.l <online>.l + ƒMƒ‹ƒhƒƒ“ƒo‚ªlogin‚µ‚½”²‚¯‚½“™ + information about guild member loged in or loged out etc. +R 016f <message>.180B + ƒMƒ‹ƒh‚¨‘è–Ú? + guild message? +S 016E <guildID>.l <mess1>.60B <mess2>.120B +@@ ƒMƒ‹ƒh’mÝ’è + set guild announcement. +R 016F <mess1>.60B <mess2>.120B +@@ ƒMƒ‹ƒh’m + guild announcement. +S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l +@@ “¯–¿—v¿Š©—U + invite the guild to be alliance. +R 0171 <SorceAccID>.l <guild name>.24B +@@ “¯–¿—v¿Š©—U‚³‚ꂽ + invited to be a alliance. +S 0172 <SorceAccID>.l <type>.l +@@ “¯–¿—v¿•ÔM + response for invitiation to be alliance. +@@ type=0 ‹‘”Û‚·‚é + deny. +@@ type=1 ‹–‘ø‚·‚é + OK. +R 0173 <type>.B + type = 0 ‚·‚Å‚É“¯–¿ŠÖŒW + the guild is already alliance. +@@ type = 1 “¯–¿‹‘”Û‚³‚ꂽ + denied to be alliance. +@@ type = 2 “¯–¿¬Œ÷ + success to invite to be alliance. +R 0177 <len>.w <index>.w* + ŠÓ’è‰Â”\ƒAƒCƒeƒ€ƒŠƒXƒg + list of items that need to be judge( i mean unkown items.) +S 0178 <index>.w + ƒAƒCƒeƒ€ŠÓ’è + judge item. +R 0179 <index>.w <fail>.B + ƒAƒCƒeƒ€ŠÓ’茋‰ÊBfail=00‚ŬŒ÷Bfail=01‚Á‚Ä‚ ‚é‚Ì‚©? + response to judging item. fail=00 is success. is there fail=01? +S 017A <index>.w +@@ ƒJ[ƒh‚vƒNƒŠƒbƒN + card is double clicked. +R 017B <len>.w {<index>.w}* +@@ ƒJ[ƒh‘}“ü‚Å‚«‚éƒAƒCƒeƒ€Index”Ô† + item index number for items that can be inserted card. +S 017C <SrcIndex>.w <DescIndex>.w +@@ Src ‚ðDesc‚É“Ë‚Áž‚Þ + insert Src to Desc. +R 017D <DescIndex>.w <SrcIndex>.w <fail>.b +@@ Src ‚ðDesc‚É“Ë‚Áž‚Ý<fail> 0=¬Œ÷ 1=Ž¸”sH + response to insert Src to Desc. fail=0 is success, fail=01 is fail? +S 017e <len>.w <message>.?B + ƒMƒ‹ƒh“àƒƒbƒZ[ƒW”Œ¾ + send speach for guild members. +R 017f <len>.w <message>.?B + ƒMƒ‹ƒh“àƒƒbƒZ[ƒWŽóM + receive guild message. +R 0182 <accID>.l <charactorID>.l <hair type>.w <hair color>.w <sex?>.w <job>.w <lvl?>.w <experience?>.l <online>.l <Position>.l ?.50B <nick>.24B + +R 0187 <account ID>.l + aliveM†? + alive signal? +R 0188 <fail?>.w <index>.w <val>.w + •Ší¸˜BBŒ‹‰Ê+val•Ší‚É + weapon refiling. result+val to weapon +R 0189 ?.w + “äBƒeƒŒƒ|Ž¸”s? + unknown. fail to teleport? +S 018a ?.w + ƒQ[ƒ€I—¹ + game quited. +R 018b <fail>.w + ƒQ[ƒ€I—¹/ƒLƒƒƒ‰ƒZƒŒ‰ž“šBfail=0¬Œ÷Bfail=1Ž¸”s? + game quited/character select sever response. fail=0 is success, fail=1 is fail? +R 018C <MonsID>.w <class>.w <size>.w <HP>.w <?>.w <deffence>.w <kind of monster>.w <magic deffence>.w <attribute>.w <anti-attribute?>.9b + wiz‚Ì“G‚̃Zƒ“ƒXŒ‹‰Ê + response to sense skill by wizard. + 0 ¬Œ^ + small + 1 ’†Œ^ + middle + 2 ‘åŒ^ + big +R 0191 <ID>.l <message>.80B + ƒg[ƒL[ƒ{ƒbƒNƒX‚̃ƒbƒZ[ƒW + message of talky box. +S 0193 <ID>.l + ƒMƒ‹ƒhƒƒ“ƒo–¼‘Oˆø‚«? + name search for guild member? +R 0194 <ID>.l <nick>.24B + ƒMƒ‹ƒhƒƒ“ƒo–¼‘Oˆø‚«‰ž“š? + response to name search for guild member? +R 0195 <ID>.l <nick>.24B <party name>.24B <guild name>.24B <class name>.24B + ƒMƒ‹ƒhŠ‘®PC‚ÌꇂÌ0094•Ô“š + response to packet number 0094 that if the player joined guild. +R 0196 <type>.w <ID>.l + ‘‹ŒnƒXƒLƒ‹Žg—pŽž‚̃ƒbƒZ[ƒWFXBID‚Ítarget‚ÆŽv‚í‚ê‚邪Ž©•ª‘ŠŽè‚Ì‚Ý‚µ‚©—ˆ‚È‚¢? + various message of skill that effect status. ID must be target, but only m ID and other's ID are sent? + type=00 2HQ•t—^uUŒ‚‘¬“x‚ª‘‰Á‚µ‚Ü‚µ‚½Bv + 2HQ casted. "attack speed insreased." + type=01 2HQ‰ðœuUŒ‚‘¬“x‚ªŒ¸‚µ‚Ü‚µ‚½Bv + 2HQ ended. "attack speed decreased." + type=02 IMPOSITIO•t—^u•Ší‚ÌUŒ‚—Í‚ª‘‰Á‚µ‚Ü‚µ‚½Bv + IMPOSITIO casted. "power of the weapon increased." + type=03 IMPOSITIO‰ðœu•Ší‚ÌUŒ‚—Í‚ªŒ¸‚µ‚Ü‚µ‚½Bv + IMPOSITIO ened. "power of the weapon decreased." + type=04 uƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ªŒ¸‚µ‚Ü‚µ‚½Bv + "casting delay become short" + type=05 uƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + "casting delay return to defailt" + type=06 u•Ší‚É“Å‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + "attribute of poison is given to the weapon" + type=07 ASPERSIO•t—^u•Ší‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + ASPERSIO casted. "attribute of holly is given to the weapon" + type=08 ASPERSIO‰ðœu•Ší‚Ì‘®«‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + ASPERSIO ended. "attribute of weapon return to default" + type=09 u–h‹ï‚ɹ‘®«‚ª•t—^‚³‚ê‚Ü‚µ‚½Bv + "armor got holly attribute" + type=0a u–h‹ï‚Ì‘®«‚ªŒ³‚É–ß‚è‚Ü‚µ‚½Bv + "armor's attribute return to default" + type=0b KYRIE•t—^uƒoƒŠƒAó‘Ô‚É‚È‚è‚Ü‚µ‚½Bv + KYRIE casted. "barrier" + type=0c KYRIE‰ðœuƒoƒŠƒAó‘Ô‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + KYRIE ended. "barrier end" + type=0d uƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + "became weapon ferfection mode" + type=0e uƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“ƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + "end weapon perfection mode" + type=0f uƒI[ƒo[ƒgƒ‰ƒXƒgƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + "became over trust mode" + type=10 uƒI[ƒo[ƒgƒ‰ƒXƒgƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + "end over trust mode" + type=11 uƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ƒ‚[ƒh‚É‚È‚è‚Ü‚µ‚½Bv + "became maximize power mode" + type=12 uƒ}ƒLƒVƒ}ƒCƒYƒpƒ[ƒ‚[ƒh‚ª‰ðœ‚³‚ê‚Ü‚µ‚½Bv + "end maximize power mode" +S 0197 <type>.w + type=0 /resetstate + type=1 /resetskill + Œø”\‚Í–³‚µ? + no effect? +R 019b <ID>.l <type>.l + ‘¼l‚Ìlvup‚â•Ší¸˜B“™‚Ì•\Ž¦? + display other's level up effect or weapon refiling? + type=0 base lvup? + type=1 job lvup? + type=3 •Ší¸˜B + weapon refiling +R 0199 <type>.w +@@ type=1 pvpƒ‚[ƒhŠJŽn? + start pvp mode? +R 019a <ID>.l <rank>.l <num>.l +@@ pvp‡ˆÊ rank/num + pvp rank rank/num +R 019b <ID>.l <type>.l + ‘¼l‚Ìlvup‚â•Ší¸˜B“™‚Ì•\Ž¦? + type=0 base lvup? + type=1 job lvup? + type=2 •Ší¸˜BŽ¸”s + type=3 •Ší¸˜B¬Œ÷ + +R 019d <?>.4B + GMƒRƒ}ƒ“ƒh/hide + +S 00CC <ID>.l +@ GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽÒ‹§I—¹vŽg—p + use special right click menu for GM "(name) force to quit" + +S 0149 <ID>.l <type>.B <time>.w +@ GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uƒ`ƒƒƒbƒg‹ÖŽ~ŽžŠÔ‚ð‰º‚°‚éi‰ð‚¯‚éjvŽg—p ¨ type=00 + use special right click menu for GM "decrease prohibited time to create chat room". type=00 +@ GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uƒ`ƒƒƒbƒg‹ÖŽ~ŽžŠÔ‚ðã‚°‚éiŠ|‚¯‚éjvŽg—p ¨ type=01 + use special right click menu for GM "increase prohibited time to create chat room". type=01 + @time‚Í•ª’PˆÊ‚Å‚·iŠm‚© + unit is minute (maybe + +R 019e + •ßŠlƒ‚ƒ“ƒXƒ^[Œˆ‚ß +S 019f <ID>.l + •ßŠlƒ‚ƒ“ƒXƒ^[Žw’è +R 01a0 <fail>.B + •ßŠl”»’è + fail=01‚ŬŒ÷A00‚ÅŽ¸”s +S 01a1 <param>.1B + <param> + 0x00Fƒyƒbƒgó‘Ô•\Ž¦ + 0x01F‰a‚ð—^‚¦‚é + 0x02FƒpƒtƒH[ƒ}ƒ“ƒX + 0x03F—‘‚É–ß‚· + 0x04FƒAƒNƒZƒTƒŠ‰ðœ +R 01a2 <pet name>.24B <name flag>.B <lv>.w <hungry>.w <friendly>.w <accessory>.w + ƒyƒbƒg‚Ìó‘Ô + name flag:00=–¼‘O–¢Ý’è 01=–¼‘OÝ’èÏ‚Ý(•ÏX•s‰Â) + lv=ƒyƒbƒg‚̃Œƒxƒ‹Ahungry=–ž• “x(0~100)Afriendly=e–§“x(‰Šú’l250?)Aaccessory=ƒAƒNƒZƒTƒŠ‚ÌItemID +R 01a3 <fail>.B <itemID>.w + <fail> + 0x00F‰a‚â‚莸”s + 0x01F‰a‚â‚謌÷ +R 01a4 <type>.B <ID>.l <val>.l + ƒyƒbƒgŠÖ˜A’Ê’m + type=00,val=00 ƒyƒbƒg›z‰»Žž‚É‘—‚ç‚ê‚Ä‚‚éBƒyƒbƒg”FŽ¯—pH + type=01 e–§“x•Ï‰» + type=02 –ž• “x•Ï‰» + type=03 ƒAƒNƒZƒTƒŠ•Ï‰»(0‚Å–¢‘•”õ) + type=04 ƒpƒtƒH[ƒ}ƒ“ƒX Šm”F‚³‚ꂽval=1~3 + (4‚̓XƒyƒVƒƒƒ‹ƒpƒtƒH[ƒ}ƒ“ƒXH) + type=05 HŠm”F‚³‚ꂽval=0x14 +S 01a5 <pet name>.24B + ƒyƒbƒg‚Ì–¼‘OŒˆ‚ß +R 01a6 <len>.w <index>.w* + ƒyƒbƒg‚Ì—‘ƒŠƒXƒg +S 01a7 <index>.w + ƒyƒbƒg‚Ì—‘ƒŠƒXƒg‚ª‘I‘ð‚³‚ê‚½ +S 01a9 <emotion>.l + ƒyƒbƒgƒGƒ‚[ƒVƒ‡ƒ“‘—M +R 01aa <ID>.l <emotion>.l + ƒyƒbƒgƒGƒ‚[ƒVƒ‡ƒ“ŽóM + <emotion> + 33ˆÈ‰º‚Ì‚Æ‚«FƒGƒ‚[ƒVƒ‡ƒ“ + 34ˆÈã‚Ì‚Æ‚«F”Œ¾ƒe[ƒuƒ‹H +R 01ac <object id>.l + ƒAƒ“ƒNƒ‹‚Ì”“®(‚Ý’u)Žž‚Ì‚Ý–ˆ‰ñoŒ»(‹@”\‚Í“ä) +R 01ad <len>.l <item>.w + –îì‚è‚Ì쬉”\ITEM•\ŽóM +S 01ae <itemID>.w + –îì‚è‚ÅŽg‚¤Þ—¿‘—M +S 01af <type>.w + ƒ`ƒFƒ“ƒWƒJ[ƒgiƒJ[ƒg‘I‘ðj + type=1 ƒm[ƒ}ƒ‹ƒJ[ƒg +R 01b0 <monster id>.l <?>.b <new monster code>.l + –û‚̃Nƒ‰ƒXƒ`ƒFƒ“ƒW + <new monster code>‚̓`ƒFƒ“ƒWŒã‚̃R[ƒh(1001`)‚ðdword‚Å +S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B* + ˜I“XŠJÝ + flag F 0=ƒLƒƒƒ“ƒZƒ‹ , 1=ƒI[ƒvƒ“ +R 01b3 <filename>.64B <type>.B + R 0145‚ÌãˆÊŒÝŠ· +R 01B6 <guildID>.l <guildLv>.l <connum>.l <’èˆõ>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <ã”[ƒ|ƒCƒ“ƒg>.l <«ŒüF-V>.l <«ŒüR-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B + ƒMƒ‹ƒhî•ñ +R 01b9 <ID>.I + ”íƒ_ƒ“™‚É‚æ‚éID‚̉r¥’†’f +R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B + ƒJƒvƒ‰‘qŒÉƒAƒCƒeƒ€ +R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B + ƒAƒCƒeƒ€Žg—p‰ž“šB(00a8‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type=00‚Ìꇎg—pŽ¸”s? amount‚àƒSƒ~‚Ì–Í—l + type=01‚ÌꇬŒ÷‚ÅAamount‚ÍŽg—pŒã‚ÌŽc‚èŒÂ” +R 01c9 <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B ?.81b + ƒXƒLƒ‹Œø”\’nì¬(011f‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type 0x7e:SWA0x7f:‰Î•ÇA0x80 ƒ|ƒ^ŠJ‚«’†A0x81 ƒ|ƒ^ŠJ‚«’¼‘O + 0x82 ¹‘ÌA0x83 ƒTƒ“ƒNA0x84 ƒ}ƒOƒkƒXA0x85 ƒjƒ…[ƒ} + 0x86 0x86 ‘å–‚–@(SG/MS/LoV/GX)A0x87 ƒtƒ@ƒCƒ„[ƒsƒ‰‘Ò‹@ + 0x88 ƒtƒ@ƒCƒ„[ƒsƒ‰”š”A0x87`0x8B •\Ž¦–³‚µA + 0x8c ƒg[ƒL[ƒ{ƒbƒNƒX(”“®’†)A0x8D ƒAƒCƒXƒEƒH[ƒ‹ + 0x8E ƒNƒƒOƒ}ƒCƒAA0x8f ƒuƒ‰ƒXƒgƒ}ƒCƒ“A0x90 ƒXƒLƒbƒh + 0x91 ƒAƒ“ƒNƒ‹A0x92 ƒxƒmƒ€ƒ_ƒXƒgA0x93 ƒ‰ƒ“ƒhƒ}ƒCƒ“ + 0x94 ƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒvA0x95 ƒTƒ“ƒhƒ}ƒ“ + 0x96 ƒtƒ‰ƒbƒVƒƒ[A0x97 ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒv + 0x98 ƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA0x99 ƒg[ƒL[ƒ{ƒbƒNƒX + 0x9A ƒ{ƒ‹ƒP[ƒmA0x9B ƒfƒŠƒ…[ƒWA0x9C ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ + 0x9D ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[A0x9E Zenyƒ}[ƒNA0x9F Zeny‘Ü + 0xA0 ‰ñ‚é—΂̗ÖA0xA1 ƒsƒ“ƒN‚̉¹•„ (“ñ˜A•„—L‚è + 0xA2 ^‚ñ’†‚É“_‚Ì‚ ‚éŒõ‚Ì‹ÊA0xA3 ƒsƒ“ƒN‚̃XƒvƒŠƒ“ƒO + 0xA4 [•£‚Ì’†‚ÉA0xA5 ‰ñ‚é‚¢—ÖA0xA6 •s‹¦˜a‰¹ + 0xA7 Œû“JA0xA8 —[—z‚̃AƒTƒVƒ“ƒNƒƒXA0xA9 ƒuƒ‰ƒM‚ÌŽ + 0xAA ƒCƒhƒDƒ“‚Ì—ÑŒçA0xAB Ž©•ªŸŽè‚ȃ_ƒ“ƒXA0xAC ƒnƒ~ƒ“ƒO + 0xAD Ž„‚ð–Y‚ê‚È‚¢‚ÅcA0xAE ƒT[ƒrƒXƒtƒH[ƒ†[ + 0xAF ƒsƒ“ƒN‚̃XƒvƒŠƒ“ƒOA0xB0 •\Ž¦–³‚µ + 0xB0 ƒOƒ‰ƒtƒBƒeƒB, + 0xB1 ƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“A0xB2`0xBF •\Ž¦–³‚µ + 0xB2 ƒsƒ“ƒN‚̃[ƒvƒ|[ƒ^ƒ‹•— + 0xB3 ¬‚³‚È\Žš‰Ë‚ª‚Ó‚æ‚Ó‚æ + 0xB4 ƒoƒWƒŠƒJA0xB5 ƒGƒtƒFƒNƒg‚È‚µH + 0xB6 •‚¢~‚ª—§‘Ì“I‚É•‚‚©‚Ñオ‚é + 0xB7 ƒNƒ‚‚Ì‘ƒA0xB8` ƒGƒtƒFƒNƒg‚È‚µH + + ‘¼î•ñ‹‚Þ + ?.81b‚Í“äB +R 01cd (<sid>.l)x7 + ƒI[ƒgƒXƒyƒ‹‘I‘ðŽˆŽóM + <sid>x7 ‚É‚Í NB,CB,FB,LB,SS,FBL,FD ‚̇‚ŃXƒLƒ‹ƒR[ƒh‚ªdword‚Å“ü‚é + ‚Ü‚¾‘I‘ð‚Å‚«‚È‚¢ƒXƒLƒ‹‚Ì•”•ª‚Í <sid> = 0x00000000 ‚ª“ü‚é +S 01ce <sid>.l + ƒI[ƒgƒXƒyƒ‹‘I‘ðŽˆ‘—M +R 01cf <crusader id>.l <target id>.l <?>.18b + Œ£gó‘Ôƒ^[ƒQƒbƒgON/OFFBŒ£g‚ªØ‚ê‚é‚Æ <target id> ‚ª 0x00000000 ‚É‚È‚é + +R 01d0 <ID>.l <num>.w + <num> : ‹CŒ÷‚Ì”(”ñLv) +R 01d1 <monk id>.l <target monster id>.l <bool>.l + ”’‰HŽæ‚èó‘ÔON/OFFB<bool> ‚Í”’nŽæ‚謗§Žž‚É 0x00000001 ‰ðœŽž‚É 0x00000000 ‚ª—ˆ‚é +R 01d2 <id>.l <delay>.l + ƒ‚ƒ“ƒN‚̃Rƒ“ƒ{ƒfƒBƒŒƒC(msec) + ŽO’iE˜A‘Å‚ÍŠî–{ƒfƒBƒŒƒC1000(+300)A–Ò—´‚ÍŠî–{ƒfƒBƒŒƒC700(+300) +R 01d4 <ID>.l + •¶Žš—ñ“ü—Í‘‹•\Ž¦(ID‚ÍNPC‚ÌID‚ª“ü‚é) +S 01d5 <len>.w <ID>.l <input>.?B 00 + •¶Žš—ñ“ü—Í“à—e‘—M(ID‚ÍNPC‚ÌID‚ª“ü‚é) +R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w + ‘•”õƒOƒ‰ƒtƒBƒbƒN <equip point> ‚Í 02Žè‚Æ09‘«‚Ì‚ÝŠm”FBid2‚ͶŽè +R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B + ƒ}ƒbƒvƒ[ƒhŽž&ˆÚ“®Žž—pAŒü‚«•t‚«—pƒLƒƒƒ‰î•ñ?(0078‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +R 01d9 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w.<head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B ?.B + ƒeƒŒƒ|“™‚Ì•\Ž¦”ÍˆÍ“à•¦‚«ƒLƒƒƒ‰—pAŒü‚«•t‚«–³‚µƒLƒƒƒ‰î•ñ?(0079‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +R 01da <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.<item id1>.w <item id2>.w <head option bottom>.w <server tick>.l <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B ?.B + •\Ž¦”͈͓àƒLƒƒƒ‰ˆÚ“®î•ñ(007b‚ÌãˆÊƒo[ƒWƒ‡ƒ“) +S 01db + ˆÃ†‰»key—v‹ +R 01dc <len>.w <key>.?B + ˆÃ†‰»key‘—•t +S 01dd <version>.l <account name>.24B <md5 binary>.16B <version2>.1B + id&ˆÃ†‰»Ï‚Ýpass‘—M + ‡‚ɃNƒ‰ƒCƒAƒ“ƒg‚ª01db‚ð‘—‚éA + ŽI‚ª01dc‚Åkey‚ð•Ô‚·A + ƒNƒ‰ƒCƒAƒ“ƒg‚ª"<key><password>"‚ɂ‚¢‚Ämd5ŒvŽZ‚µ + <md5 binary>‚ÌŠ‚ð–„‚ß‚Ä01dd‚ð‘—‚éB + <passwordencrypt2>‚ÌŽž‚Í + "<key><password>"‚ɑ΂µ‚Ämd5ŒvŽZ‚Æ‚µ‚Ä‚¢‚銂ð + "<password><key>"‚Æ•ÏX‚·‚é +R 01de <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.l <param2>.w <param3>.w <type>.B + UŒ‚ŒnƒXƒLƒ‹ƒGƒtƒFƒNƒg@(0114‚ÌãˆÊƒo[ƒVƒ‡ƒ“H) + type=04 ‰Î•Ç‚ÅŠÏ‘ª type=06‚Æ‚Ù‚Ú“¯‚¶? + type=05 NB/FBl‚Ì•ªŽU‚µ‚½ƒ_ƒ[ƒW—pH + type=06 ’P”‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í1ŒÅ’è‚Æ—\‘z + type=07 ƒ_ƒ[ƒW•\Ž¦–³‚µH + type=08 ˜A‘Å‚à‚Ì? param1‚̓_ƒ[ƒW‡ŒvAparam2‚ÍlevelAparam3‚Í•ªŠ„”‚Æ—\‘z + type=09 ƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚È‚µ‚Ƀ_ƒ[ƒW‚¾‚¯•\Ž¦‚³‚ê‚镨(ƒCƒ“ƒfƒ…ƒA)‚ÆŽv‚Á‚½‚Ì‚¾‚ªƒ_ƒ[ƒWƒ‚[ƒVƒ‡ƒ“‚ªo‚镨B(‹@”\‚Í“ä) +S 01df <ID>.| + GM‰EƒNƒŠƒbƒN‚É‚æ‚éID‚̃`ƒƒƒbƒg‹ÖŽ~‰ñ”ŽQÆH +R 01e1 <ID>.l <num>.w + <num> : ‹CŒ÷‚Ì”(”ñLv) ˆê“x•\Ž¦‚µ‚½‚çŒã‚Ç‚ñ‚Ènum‚ª—ˆ‚Ä‚à–³Ž‹‚³‚ê‚éB +R 01e6 <partner name>.24B + Œ‹¥ƒXƒLƒ‹‚ ‚È‚½‚Ɉ§‚¢‚½‚¢Žg—pŽž‚Ì‹©‚Ѻ +S 01e7 + ƒXƒpƒmƒr‚Å/doridori‚µ‚½‚ç”ò‚ñ‚Å‚‚éBSPR‰ñ•œ—Ê2”{ƒtƒ‰ƒO‚𗧂ĂéƒpƒPƒbƒg +S 01e8 <party name>.24B <item1>B <item2>B + <item1>ƒAƒCƒeƒ€ŽûW•û–@B0‚ÅŒÂl•ÊA1‚Ńp[ƒeƒBŒö—L + <item2>ƒAƒCƒeƒ€•ª”z•û–@B0‚ÅŒÂl•ÊA1‚Ńp[ƒeƒB‚É‹Ï“™•ª”z + (00f9‚ÌãˆÊƒo[ƒVƒ‡ƒ“) +R 01ea <ID>.l + Œ‹¥ƒGƒtƒFƒNƒg(‰¹ŠyAŽ†á) + ID‚ÍV•w‚Ì‚à‚Ì‚ª“ü‚éH +S 01ed + ƒXƒpƒmƒr‚ª”š—ô”g“®‚É‚È‚éƒtƒ‰ƒO‚𗧂ĂéƒpƒPƒbƒg +R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + Š—LÁ–Õ•i&ŽûW•iƒŠƒXƒg + –î‚ÌꇂÍ?.2B‚ª0x8000‚É‚È‚é + 00a3‚©‚ç•ÏX +R 01ef <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + ƒJ[ƒg“àƒAƒCƒeƒ€BÁ–Õ•i/ŽûW•i + 0123‚©‚ç•ÏX +R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* + ƒJƒvƒ‰‚³‚ñ‚É—a‚¯‚Ä‚ ‚éÁ–Õ•i&ŽûW•iƒŠƒXƒg + 00a5‚©‚ç•ÏX +R 01f4 <name>.24B <trade id?>.L <LV>.w + æ•û‚©‚çŽæˆø—v¿ + 00e5‚©‚ç•ÏX +R 01f5 <result>.B <trade id?>.L <LV>.w + ‚±‚¿‚ç‚©‚ç‚ÌŽæˆø—v¿‚ɑ΂·‚锽‰ž + 00e7‚©‚ç•ÏX +S 0200 <login name>.24B + ragexe‚É/accountƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚Ä‹N“®‚·‚é‚ƃƒOƒCƒ“—v‹‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒg +R 0201 ?.1B<Flag?>.1B (?.8B <Character Name>.24B)x20 + Flag seems to need to be 1 to function. + 8 unknown bytes and 24 bytes for name need to be repeated for each friend. +S 0202 <Character name>.24B + Character name to add to friend list (for server-side friend list enabled clients) +S 0204 <?>.16B + ƒƒOƒCƒ“—v‹‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒgB16ƒoƒCƒg‚͌ŒèH +S 020B <?>.17B + ƒLƒƒƒ‰ƒNƒ^ƒT[ƒoÚ‘±—v‹0065‚É•t‰Á‚³‚ê‚éƒpƒPƒbƒgB1+0204‚Ì16ƒoƒCƒg‚Å17ƒoƒCƒgH + + +ƒpƒPƒbƒg’·‚̒ljÁB019e`01aa‚ª‘‚¦‚Ä‚é‚Ì‚ÅA0190`‚ð؂蔲‚« +added packet lenth. 019e-01aa is a new, so here is a packet length table from 0190. + +@ 90, 86, 24,@6, 30,102,@8,@4,@ 8,@4, 14, 10, -1,@6,@2,@6, +@@3,@3, 35,@5, 11, 26, -1,@4,@ 4,@6, 10 diff --git a/doc/readme.html b/doc/readme.html new file mode 100644 index 0000000..3f87c20 --- /dev/null +++ b/doc/readme.html @@ -0,0 +1,163 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>eAthena 1.0 RC5 Readme</title> + <meta http-equiv="expires" content="-1"> + <meta http-equiv="pragma" content="no-cache"> + <meta name="author" content="eAthena Development Team"> + <meta name="description" content="eAthena, ro server emulator"> + <meta name="keywords" + content="eathena, ro, ragnarok online, server emulator, server software"> + <link href="./readme/rc5.css" media="screen" rel="stylesheet" + type="text/css"> +</head> +<body> +<table class="wrapper"> + <tbody> + <tr class="topbanner"> + <td class="topnav"><b><a href="./readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./readme/changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./readme/features.html">Features</a></b></td> + <td class="topnav"><b><a href="./readme/Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./readme/settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./readme/gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./readme/faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./readme/support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./readme/midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"><br> + </td> + </tr> + <tr> + <td colspan="8" align="center"> + <table class="content"> + <tbody> + <tr> + <td class="contenttitle"><b>Thank you for downloading +eAthena 1.0.0 RC5</b></td> + </tr> + <tr> + <td class="contentbg">eAthena is an emulator for Ragnarok +Online servers. +It's written in C, and is +cross-platform. The officially supported platforms are Win32 and Linux. + <p>We hope you enjoy using it!</p> + <p>eAthena is licensed under the GPL, meaning it's open +source :) There +is no public CVS provided, however.</p> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"><br> + </td> + </tr> + <tr> + <td colspan="8" align="center"> + <table class="content"> + <tbody> + <tr> + <td class="contenttitle"><b>The eAthena Development Team</b></td> + </tr> + <tr> + <td class="contentbg">eAthena is based on the original +Athena, by the +Japanese Development Team.<br> +A big thanks to them for working hard on Athena.<br> + <br> +Valaris<br> +Mugendai<br> +fritz<br> +Wizputer<br> +Evera<br> +Nana<br> +Shinigami<br> +Darkchild<br> +Lupus<br> +moonsoul<br> +MouseJstr<br> +kobra_k88<br> +Codemaster<br> +Davidsiaw<br> +Mass Zero<br> +MC_Cameri<br> +Spira<br> +Lord<br> + <p></p> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"><br> + </td> + </tr> + <tr> + <td colspan="8" align="center"> + <table class="content"> + <tbody> + <tr> + <td class="contenttitle"><b>Special Thanks</b></td> + </tr> + <tr> + <td class="contentbg">The eAthena development team would +like to specially +thank:<br> + <br> +The Japanese Development Team. A big thanks to them for +working hard on Athena which eAthena is based on.<br> + <br> +RoVeRT, our ex-developer. eAthena wouldn't have this many +features without him!<br> + <br> +sara-chan, who had also contributed alot to the development +of eAthena! Thanks!<br> + <br> +AppleGirl, who lead the team and contributed alot of work.<br> + <br> +yor, for his work he did on login and char servers, not to mention +ladmin.<br> + <br> +Gravity, for making Ragnarok Online. eAthena wouldn't even +exist if it wasn't for them!<br> + <br> +ASB for hosting our forum section :)<br> + <br> +DeltaAnime for hosting our official forums among other things :)<br> + <br> +Ketonom for putting together a nice Win32 installer for the noobs and +converting mob and item databases to sql.<br> + <br> + <br> + <br> + <br> + <br> +And others who gave continuously endless support to eAthena!<br> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"><br> + </td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena +Development Team<br>Design © Copyright 2004 Evera</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/doc/readme.txt b/doc/readme.txt new file mode 100644 index 0000000..59c7eb7 --- /dev/null +++ b/doc/readme.txt @@ -0,0 +1,122 @@ +*************************** NOTICE ***************************
+**************************************************************
+
+This program is free to use for any non-commercial private RO
+server running an Athena based server, and is povided as-is.
+The author of this program is only responsible for errors
+that occur only to this program while it is in operation,
+provided the program has not been modified in any way. If you
+come across any errors or would like to leave comments and/or
+suggestions about this program, please feel free to notify the
+author of this program at spamrat42@gmail.com.
+
+Please make sure to create a backup of your current database
+files and your data folder prior to using this program.
+
+==============================================================
+
+This package contains the following files...
+
+ADE.ini
+Athena Database Editor.exe
+history.txt
+ID Helper.txt
+readme.txt
+
+sample data (empty folder)
+
+sample db (folder)
+ card_labels.txt
+ item_descriptions.txt
+
+sample mobs (empty folder)
+
+==============================================================
+= NOTE: All packages from 1.4.1 and newer will not include the
+= files from the latest eAthena server distribution. So
+= make sure to copy your current files from your server
+= into the appropriate folders listed above, or set the
+= correct paths in the ADE.ini file.
+==============================================================
+
+Thank you for downloading this tool I wrote for the eAthena
+817 Text based server, but it should work even with the more
+recent versions like eAthena 1.0 RC5. I hope you find this
+tool to be useful.
+
+The files in the db folder that come with this program are
+custom files that are to be used with ADE. To change the
+directory that this program looks in when opening or saving
+files, open the ADE.ini file and enter the full or relative
+path. The ADE.ini when first installed will already be
+pointing to the relative folders listed above. You can also
+simply copy your current db files to those folders, allowing
+you to edit them without editing the db files you're
+currently using.
+
+All entries that have been commented out will not be read,
+and won't be carried over into the new DB files. So please
+make sure to back them up before using this program for the
+first time. I will eventually add support for handling
+commented lines in future versions.
+
+One of the main features of this program will let you create
+updated files for the client's data folder as well as update
+the other relative db files for the server. When using this
+feature, the following files will be created...
+
+DB Folder - Server Files
+================================
+class_equip_db.txt
+item_value_db.txt
+
+Data Folder - Client Files
+================================
+cardpostfixnametable.txt
+cardprefixnametable.txt
+idnum2itemdesctable.txt
+idnum2itemdisplaynametable.txt
+itemslotcounttable.txt
+num2itemdesctable.txt
+num2itemdisplaynametable.txt
+
+Note: There is a checkbox that will say to click it if the
+ descriptions are garbled. Please only check after
+ trying the default description files it produces.
+
+If there are any files you think that were left out
+that should have been updated as well for the client's
+data folder, please let me know at the email address
+provided above.
+
+The item_descriptions.txt file is where all of the
+descriptions are stored. Please note if you're manually
+changing something in it, that you should the » character
+for a new line. (Use ALT + 175 to type it.) It should
+currently have the majority of the basic descriptions.
+You won't need to add how much defense or the attack
+power of equipment, as it will automatically be added
+when the files are created. (It gets the values directly
+from the item db files.)
+
+The card_labels.txt file is where all the card labels are
+stored. If you already have a custom set of card labels,
+just copy the cardprefixnametable.txt file from your data
+folder into the db folder and rename it to card_labels.txt.
+Any missing labels will or blank labels will result in the
+default label of "Carded" as a prefix.
+
+I will eventually try to update this program to try
+including other db files as well as to help make sure
+it works with all versions of the eAthena text based
+server from 817 to the current version. I'll also try
+to add more support for other files that are also needed
+to be generated for the client's data folder.
+
+==============================================================
+= NOTE 2: The item_descriptions.txt file that comes with this
+= package has incorrect and blank entries. Please make
+= sure to go over all the descriptions if you plan on
+= using it to generate description files for your
+= server's data folder.
+==============================================================
diff --git a/doc/readme/changelog.html b/doc/readme/changelog.html new file mode 100644 index 0000000..4cae56a --- /dev/null +++ b/doc/readme/changelog.html @@ -0,0 +1,115 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena Changelog</b></td> + </tr> + <tr> + <td class="contentbg"> +This is what has changed from eAthena 1.0.0 RC1 -> +eAthena 1.0.0 RC5 +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>Detailed Changelog</td> + </tr> + <tr> + <td class="contentbg"> +<font face="Courier New" size="2"> +<pre> .ZWBBBBBBBBBBBBBBBB0WWWWWWWWW@@@WW@WWWWW@M00Wi + 2MMMWBBBBBBBBWWWWWWWM@@WBBB808Z8ZZZ8Z88Z88Z800WMM; + MMMWBBBWBWWWW@BBW0088088aZZ888W00B0B0888ZZ8Z80800@MX + WMMWWWWWW@@WB08aZZZ80WM0ZMMM@WWW@@M@WW@W@@W@@WW088880MW + :MMM@@@WB08Zaa80BW@M@W@M0riSMMWBWBBM;MMW0WWB@B0WW@@WMMW0@M + 7MMWB0ZZZZZ8BW@WWWBW0WBM0SZ; 2MM@BBBM@ @MW0B0WMB0BW0W0MMMMM@ + 7M@Z888Z80BWMWWBBB@WWWB@M.M7 ;@M@WBWM0 BM@BB0MMW8BBW0@@WWMM0 + M@800Z0W@WWBWBWWB@M7MW@Mr:M . WMMWWWM MMMB0WM@@0WB0B@@WW@Mr + MM880W@WWBBBW@0BBBM2;MBMBX.W ,, .MMWBMZ :ZMMB@8@M@BMB8B@WWWMM. + 2M80BWWWWWBB@ZWBBB@M ;MWMra M .,,,. MMMMM X8MM@@2MMWWMB0@W@WWMM + MMW@WBWWBBBBMiM0WBMB 7MM0r M .,,,.,.; rMMM; XMMM;MMW@@@BBW@WW@M2 + MMWBBB@BWWW@8:M@WMMr iMMWr M .,,,,,. ;MM0 2MMi MMW@WW@WWWWWMM. + M@BWBB@0WBBMZZM0WM7 MMi M, ,..,,,., MMMMMMMMMX rM@WWWW@WW@WWMM + MBBBBBWBBBMM. MBMZ MM . 7S ,,,,,,,, MMMMMMMMa,MMM 2MWWWW@WWWWWWMM + SMBBBBBWBWBMS MWM0MMMMMM ,.:W ,,:,,,,: M@BBBB@M8 MMMiMM@MWWW@WWWWWMB + MMWBBWBWBW@M, MMZWMMWMMW ,. . :.,,,,., .M0WWWBBWMS aM;MZM@WW@WW@WWMMi + M@BBWB0MBBMB MMMaMWB0BWM ,,,.,.,,,,,,: BM0@@@WWBMM aMM;MM@W@W@WWWWMM. + MBWBWB0MWWM ;M2 MMBBWWBBMM .,,,,,,,.,,,i BM0W@@MWWBM@ MZ ZMWWWWWWWWWWMM + M0WBBB0M8WM.MZ MWWWM@MWBM :,.,,.:,,,.: iM0W@W@@BWMM M2 ZM@WWW@WWW@WWMM + M0WBBB0MB0MMM MBBWMBBW0MM ::,,:.,.,,,, MM@MM@@BWMM MX.a@M@WWWWBWWWW@Mi + M0BBWB0@M MMZ MWWWMWW@0MM :,..,.,,,,,,, MMMMMM@a8MM M2:ZiMMWWWWWWWWWWMM + MBWBWBBBM MZ MMMMMM@M0@M i:,,,.,,,.,,: M88MMi M 7MrWMWWWWWWWWWWWW + MWBBB0BBM, MM MM,,:MMW8MM :.,,,.,,,,,,.: 2;.SM0@M8 20ZrMMWWWWWWWWW@W + M@BBWBW0MM MM .@8aMB ,,..,.,,,..,,,. XMMMMMM. i:, .2BM.MMWWWWWWWWWWW + MMBBW0B0@M MM :MMMMMMMMr ,,,,,. .,,..,. .,, a@7:rMW@WWWWWWWWW + WMBB0BWB0Mi X ZMMMM2 .,,.. aS: .,,..,..,...,.,,,, 2@r;.M0MWWWWWWWWW + ,MBBBBBB0MM ,:, i ..,,,,, B78r..:,.,,.,,,,,...,...aMi,0Ma@WWWWWWWWW + MWBBBBBB@M .,,,.. .....,,,,,. ..,,.,,.,.,,,,::,, .Z@ ZMM8B@WWWWWWWW + M@BBB000BMB ,,.,.....,,.,.,,,....,..,,....,..,,,.,,.,:. :a28MM@W0@@WWWWWWW + MMWBBBWB8MM ..,.,:,...,:..,,,,,..,,...;:.,,,.,:.,,.., iWMM@W@@0B@WWWWWWW + 0M0BBBBBBBM; .,,.,,.,,,,,..,,,. eAthena .,,,,,,,,,.,. iaMMWWW@MB8@@WWWWWW + MWBBBBBB0MM .,.,,.,,,,,.,,.,,. 1.0.0 ..,.,,,,.,:, iBMMWWWWW@WBBMWWWWWW + MM0WBBBBBBM@ .,,,,,..,,,.,,,,, RC5,.,.:,,,,:,., 8MMMWWWWW@WW00@WWWWWW + ZM0WBBBBBZMMM ...,,,,.,,,,,..,.,,,.:,.,:. ZMMMWBW@WWWWWMW8W@@WWWW + M@WBWBBB0WMMMMM, ,..,.,,,,,,,,,,,,,,,. .MMMM@W@@WW@@W@BW@0B@@WWWW + 8MBWBBWBB0@W@MMMMMB: ..,,i.,,:,,,... rMMMMWWWWW@@WWWWMBMMB8W@@@WW + MMBBWBBWBW@WWWW@MMMMMW; .,.,.. WMM,MWWW@WWWMWWM@@@@W@W0BMBWWW + 8MB0@B0WB0@@@W@B@W@@MMMMMMM2. BMMZ7r,MWW@@W@BWMXMM@@WWW@B0MW@WW + MM0WM00W8W@@B@WWWWWWWWMM SWMMMMWBW0MM877XSSiMW@WWWWWWM2 MMWWWW@00WWWWW + 2@B0MWBWB0WWWWWWWWWWWWWMS77rrXX222SX7XXSSSX;MB@WW@WWWMM MWWWW@WBB@WWW</pre> +</font> +<br> +<br> +<iframe src="../Changelog.txt" name="Changelog" + title="eAthena Changelog" marginwidth="10" marginheight="10" border="0" + allowtransparency="true" frameborder="0" height="500" width="100%"></iframe></font> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/readme/faq.html b/doc/readme/faq.html new file mode 100644 index 0000000..2cc1a2c --- /dev/null +++ b/doc/readme/faq.html @@ -0,0 +1,146 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>eAthena 1.0 RC5 Readme</title> + <meta http-equiv="expires" content="-1"> + <meta http-equiv="pragma" content="no-cache"> + <meta name="author" content="eAthena Development Team"> + <meta name="description" content="eAthena, ro server emulator"> + <meta name="keywords" + content="eathena, ro, ragnarok online, server emulator, server software"> + <link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tbody> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"><br> + </td> + </tr> + <tr> + <td colspan="8" align="center"> + <table class="content"> + <tbody> + <tr> + <td class="contenttitle"><b>Frequently Asked Questions</b></td> + </tr> + <tr> + <td class="contentbg"><span style="font-weight: bold;">Q</span>: +I get the error message +"This application has failed to start because cygwin1.dll was not +found. Re-installing the application may fix this problem."<br> + <span style="font-weight: bold;">A</span>: You're missing +the cygwin +dlls. Please get the latest dll at: http://www.cygwin.com/snapshot. If +you're unsure, asking around in our IRC chatroom will get you around +too, but always remember - use common sense and search before asking.<br> + <br> + <span style="font-weight: bold;">Q</span>: My map-server +won't load! It +appears to be loading things before it dissapeared suddenly! HELP!<br> + <span style="font-weight: bold;">A</span>: Use command line +to load +map-server. It should tell you the error. If you're missing a map, +update your kRO Sakray or comment the map from map_athena.conf. If you +have an errornous NPC, fix it or comment it off. Anything other than +that, feel free to ask around.<br> + <br> + <span style="font-weight: bold;">Q</span>: My map-server +failed to load +'adata.grf'! Where do I find this adata.grf? My map-server won't load +without it!<br> + <span style="font-weight: bold;">A</span>: The error that +caused the +map-server to not load is not the adata.grf. adata.grf is NOT a +requirement for the map-server to load. The error is probably related +to something else.<br> + <br> + <span style="font-weight: bold;">Q</span>: All 3 of the +servers are +loaded, but I am still having problems accessing it! What do I do?<br> + <span style="font-weight: bold;">A</span>: First, check the +IPs in +map_athena.conf and char_athena.conf. If those are correct, check the +ports to make sure they match. If that's correct too, you probably +cannot handle the server load. Lower the monster spawning rate using +mob_count in battle_athena.conf and it should be fine.<br> + <br> + <span style="font-weight: bold;">Q</span>: How do I start +Guild +Wars/War of Emperium??? HELP!!!<br> + <span style="font-weight: bold;">A</span>: Read the GM +Command page for +full list of commands that GMs can use, including the command for this.<br> + <br> + <span style="font-weight: bold;">Q</span>: My Ragnarok +Online crashed +while playing with eAthena! What do I do now?<br> + <span style="font-weight: bold;">A</span>: Well, if your +Ragnarok +crashes, it's most probably not anything to do with eAthena. Something +is wrong with your Ragnarok installation. Try reinstalling or updating.<br> + <br> + <span style="font-weight: bold;">Q</span>: Is eAthena +compatible with +mySQL? Can I use mySQL as the DB instead of using text files?<br> + <span style="font-weight: bold;">A</span>: Yes, eAthena is +compatible +with mySQL. A tutorial on how to setup this is coming soon.<br> + <br> + <span style="font-weight: bold;">Q</span>: Is eAthena +compatible with +msSQL? Can I use msSQL as the DB instead of using text files?<br> + <span style="font-weight: bold;">A</span>: No, eAthena is +not +compatible with msSQL. You cannot use msSQL with eAthena.<br> + <br> + <span style="font-weight: bold;">Q</span>: I found a bug! +Where do I +report it?<br> + <span style="font-weight: bold;">A</span>: Drop the +developers a line +at the IRC chatroom. Or just post it in the bug report forum. We check +them out too. :)<br> + <br> + <span style="font-weight: bold;">Q</span>: I know alot of C +and I'm +able to help improve eAthena and add new features. How can I join your +development team?<br> + <span style="font-weight: bold;">A</span>: Try talking to +one of the +current developers in the eAthena channel.<span + style="font-weight: bold;"></span><span style="font-weight: bold;"></span><br> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"><br> + </td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena +Development Team<br> +Design © Copyright 2004 Evera</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/doc/readme/features.html b/doc/readme/features.html new file mode 100644 index 0000000..8a448bd --- /dev/null +++ b/doc/readme/features.html @@ -0,0 +1,239 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena Completed Features</b></td> + </tr> + <tr> + <td class="contentbg"> +<ul> + <li> PvP (Player VS Player)</li> + <li> GvG (Guild VS Guild)</li> + <li> qPets (Cute Pets)</li> + <li> Monster skills</li> + <li> 2-2 Jobs (Alternate 2nd Jobs)</li> + <li> SuperNovice (Alternate 1st Job)</li> + <li> WoE (War of Emperium)</li> + <li> Remote administration of accounts (ladmin softwares)</li> + <li> Weddings</li> + <li> Pet equipped mobs.<br> + </li> + <li> Management of day/night.</li> + <li> Mob Disguises</li> + <li> Weather and other special effects.<br> + </li> +</ul> +eAthena 1.0.0 RC5 +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena Features - Estimated completion rate (Detailed) </b></td> + </tr> + <tr> + <td class="contentbg"> +<ul> + <li>Novice Skills - 100% (3/3)</li> + <li>1st Job Skills - 100%</li> + <ul> + <li> Swordsman - 100% (10/10)</li> + </ul> + <ul> + <li> Acolyte - 100% (16/16)</li> + </ul> + <ul> + <li> Archer - 100% (7/7)</li> + </ul> + <ul> + <li> Magician - 100% (14/14)</li> + </ul> + <ul> + <li> Merchant - 100% (10/10)</li> + </ul> + <ul> + <li> Thief - 100% (10/10)</li> + </ul> + <li>2-1 Skills (2nd Job Skills) - 100%</li> + <ul> + <li> Knight - 100% (10/10)</li> + </ul> + <ul> + <li> Priest - 100% (18/18)</li> + </ul> + <ul> + <li> BlackSmith - 100% (21/21)</li> + </ul> + <ul> + <li> Wizard - 100% (13/13)</li> + </ul> + <ul> + <li> Assassin - 100% (10/10)</li> + </ul> + <ul> + <li> Hunter - 100% (17/17)</li> + </ul> + <li>2-2 Skills (Alternate 2nd Job Skills) - 91%</li> + <ul> + <li> Crusader - 100% (18/18)</li> + </ul> + <ul> + <li> Monk - 100% (15/15)</li> + </ul> + <ul> + <li> Alchemist - 63% (14/22)</li> + </ul> + <ul> + <li> Sage - 100% (20/20)</li> + </ul> + <ul> + <li> Rogue - 80% Complete:(12/15) Incomplete:(3/15)</li> + </ul> + <ul> + <li> Bard - 100% (16/16)</li> + </ul> + <ul> + <li> Dancer - 100% (16/16)</li> + </ul> + <li>2-1-1 Skills (Advanced 2-1 Job Skills) - 80.5%</li> + <ul> + <li> Lord Knight - 94% - Complete:(7/8) +Incomplete:(1/8)</li> + </ul> + <ul> + <li> High Priest - 66% - Complete:(1/3) +Incomplete:(2/3)</li> + </ul> + <ul> + <li> High Wizard - 100% (4/4)</li> + </ul> + <ul> + <li> Whitesmith - 75% (3/4)</li> + </ul> + <ul> + <li> Sniper - 88% - Complete:(3/4) Incomplete:(1/4)</li> + </ul> + <ul> + <li> Assassin Cross - 60% (3/5)</li> + </ul> + <li>2-2-1 Skills (Advanced 2-2 Job Skills) - 47%</li> + <ul> + <li> Paladin - 65%</li> + </ul> + <ul> + <li> Champion - 100%</li> + </ul> + <ul> + <li> Professor - 100%</li> + </ul> + <ul> + <li> Stalker - 65%</li> + </ul> + <ul> + <li> Creator - 0%</li> + </ul> + <ul> + <li> Clown - 0%</li> + </ul> + <ul> + <li> Gypsy - 0%</li> + </ul> + <li>Pet Skills - 95%</li> + <ul> + <li> Loot Skills - 100%</li> + </ul> + <ul> + <li> Buff Skills - 100%</li> + </ul> + <ul> + <li> Attack Skills - 90%</li> + </ul> + <ul> + <li> Assist Skills - 100%</li> + </ul> + <li>Equipment Breaking System - 80%</li> + <ul> + <li> Weapon Breaking - 95%</li> + </ul> + <ul> + <li> Armor Breaking - 95%</li> + </ul> + <ul> + <li> Equipment Repair - 50%</li> + </ul> + <li>PK Server Mode - ??%</li> + <ul> + <li> Need more info on this mode to be called complete.</li> + </ul> +</ul> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena Incomplete Features</b></td> + </tr> + <tr> + <td class="contentbg"> +<ul> + <li>Advanced Classes (Upper Jobs)</li> + <li>Baby Classes (Baby Jobs)</li> + <li>PK Server Mode<font face="Courier New" size="2"></font></li> +</ul> +eAthena 1.0.0 RC5 +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/readme/gmcommands.html b/doc/readme/gmcommands.html new file mode 100644 index 0000000..80a938c --- /dev/null +++ b/doc/readme/gmcommands.html @@ -0,0 +1,692 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena GM Commands</b></td> + </tr> + <tr> + <td class="contentbg"> +The following is a list of all GM Commands in eAthena. +To use them, just type @ in front of the command into the message +window where you usually type to chat. +<p> The @ can be changed by the server admin to another character. +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>GM Command List</b></td> + </tr> + <tr> + <td class="contentbg"> +<font face="Verdana"><span class="GMCommandTitle">ANNOUNCEMENT COMMANDS</span> +<span class="GMCommand">/b <message><br>@broadcast <message></span> +Lets you make a GM global announcement with your name + +<span class="GMCommand">/nb <message><br>@kamu <message></span> +Lets you make a GM global announcement withouth your name + +<span class="GMCommand">@kamib <message><br>/bb <message></span> +Lets you make a GM global announcement withouth your name in blue + +<span class="GMCommandTitle">INFORMATION COMMANDS</span> +<span class="GMCommand">@who [match_text]</span> <br>Lists who is currently online in your server and their location. [match_text] is optional <br><br><span + class="GMCommand">@who2 [match_text] </span> +Lists who is currently online in your server and their job. [match_text] is optional + +<span class="GMCommand">@who3 [match_text]</span> <br>Lists who is currently online in your server and their party/guild. [match_text] is optional<br><br><span + class="GMCommand">@whomap [map]</span> <br>Display a listing of who is online and where in a specifical map<br><br><span + class="GMCommand">@whomap2 [map]</span> <br>Display a listing of who is online and their job in a specifical map<br><br><span + class="GMCommand">@whomap3 [map]</span> <br>Display a listing of who is online and their party/guild in a specifical map<br><br><span + class="GMCommand">@whogm [match_text]</span> <br>Like @who+@who2+who3, but only for GM. [match_text] is optional <br><br><span + class="GMCommand">@where <char name></span> +Tells you the location of a character + +<span class="GMCommand">@charstatsall</span> + Displays stats of all characters. + +<span class="GMCommand">@charitemlist <char name></span> + Displays all items of a player. + +<span class="GMCommand">@charstoragelist <char name></span> + Displays all items of a player's storage. + +<span class="GMCommand">@charcartlist <char name></span> + Displays all items of a player's cart. + +<span class="GMCommand">@time<br>@date<br>@server_date<br>@serverdate<br>@server_time<br>@servertime</span> +Display the date/time of the server + +<span class="GMCommand">@idsearch <part_of_item_name></span> +Search all items that name have part_of_item_name + +<span class="GMCommand">@ignorelist</span> +Displays your ignore list + +<span class="GMCommand">@mapinfo [<1-3> [map]]</span> +Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat). + +<span class="GMCommandTitle">CONTROL COMMANDS</span> +<span class="GMCommand">@die</span> +Kill yourself :) + +<span class="GMCommand">@alive</span> +Revive yourself from death + +<span class="GMCommand">@kill <char name></span> +Kills specified character name + +<span class="GMCommand"></span><span class="GMCommand">@save</span> +Sets save point as current location + +<span class="GMCommand">@load</span> +Warps you to your save point (a.k.a. butterfly wing) + +<span class="GMCommand">@warp <map name> <x> <y><br>@rura <map name> <x> <y><br>@mapmove <map name> <x> <y><br>/mm <map name> <x> <y><br>/mapmove <map name> <x> <y></span> +Warps you to the selected position +Example: +@warp morocc 150 160 -> Warps you to Morroc (X:150, Y:160) +@rura prontera 50 80 -> Warps you to Prontera (X:50, Y:80) + + +<span class="GMCommand">@rura+ <map name> <x> <y> <char name><br>@charwarp <map name> <x> <y> <char name><br>#banish <map name> <x> <y> <char name></span> +Warps the selected character to the selected position +Example: +@charwarp morocc 150 160 Sora -> Warps the character 'Sora' to Morroc (X:150, Y:160) +@rura+ prontera 50 80 Haley -> Warps the character 'Haley' to Prontera (X:50, Y:80) + +<span class="GMCommand">@jump [x [y]]</span> +Teleports you randomly in the map (a.k.a. fly wing). Or to the specified location with x and y. + +<span class="GMCommand">/shift <char name><br>@jumpto <char name><br>@warpto <char name><br>@goto <char name></span> +Warps you to selected character + +<span class="GMCommand">@go <number/city_name></span> +Warps you to a set city:</font></pre> +<table id="table1" border="1" width="90%"> + <tbody> + <tr> + <td width="25%"><font face="Verdana" size="2">-3: (Memo Point 2)</font></td> + <td width="25%"><font face="Verdana" size="2">2: Geffen</font></td> + <td width="25%"><font face="Verdana" size="2">7: Lutie</font></td> + <td width="25%"><font face="Verdana" size="2">12: Umbala</font></td> + </tr> + <tr> + <td width="25%"><font face="Verdana" size="2">-2: (Memo Point 1)</font></td> + <td width="25%"><font face="Verdana" size="2">3: Payon </font> </td> + <td width="25%"><font face="Verdana" size="2">8: Comodo</font></td> + <td width="25%"><font face="Verdana" size="2">13: Niflheim</font></td> + </tr> + <tr> + <td width="25%"><font face="Verdana" size="2">-1: (Memo Point 0)</font></td> + <td width="25%"><font face="Verdana" size="2">4: Alberta</font></td> + <td width="25%"><font face="Verdana" size="2">9: Yuno</font></td> + <td width="25%"><font face="Verdana" size="2">14: Louyang</font></td> + </tr> + <tr> + <td width="25%"><font face="Verdana" size="2">0: Prontera</font></td> + <td width="25%"><font face="Verdana" size="2">5: Izlude</font></td> + <td width="25%"><font face="Verdana" size="2">10: Amatsu</font></td> + <td width="25%"><font face="Verdana" size="2">15: Start Point</font></td> + </tr> + <tr> + <td width="25%"><font face="Verdana" size="2">1: Morroc</font></td> + <td width="25%"><font face="Verdana" size="2">6: Al de Baran</font></td> + <td width="25%"><font face="Verdana" size="2">11: Gon Ryun</font></td> + <td width="25%"><font face="Verdana" size="2">16: Prison/Jail</font></td> + </tr> + </tbody> +</table> +<pre class="style1"><font face="Verdana"><span class="GMCommand">/hide<br>@hide</span> +GM Hide. Perfect hide that's totally invisible. + +<span class="GMCommand">@heal [<HP> <HP>]</span> +Heals the desired amount of HP and SP. No value specified will do a full heal. + +<span class="GMCommand">@storage </span> +Opens storage + +<span class="GMCommand">/recall <char name><br>@recall <char name></span> +Recalls target character to you. + +<span class="GMCommand">@recallall</span> +Recalls everyone on the server to you. + +<span class="GMCommand">@guildrecall <guild_name/id></span> +Warps all online character of a guild to you. + +<span class="GMCommand">@partyrecall <party_name/id></span> +Warps all online character of a party to you. + +<span class="GMCommand">@revive <char name></span> +Revives target character. + +<span class="GMCommand">@killmonster</span> +Kills all spawned monsters on maps + +<span class="GMCommandTitle">SPAWNING COMMANDS</span> +<span class="GMCommand">/item <item_name><br></span>Gives you 1 of the desired monster<span + class="GMCommand"> + +@item <item name or ID> <quantity></span> +Gives you the desired item with the desired quantity + +<span class="GMCommand">/monster <monster_name></span><span + class="faqlist"> +Spawns 1 of the desired monster + +</span><span class="GMCommand"><font size="2">@spawn <monster_name_or_monster_ID> [<quantity> [<desired_monster_name> [<x coord> [<y coord>]]]]<br>@monster <monster_name_or_monster_ID> [<quantity> [<desired_monster_name> [<x coord> [<y coord>]]]]<br>@summon <monster_name_or_monster_ID> [<quantity> [<desired_monster_name> [<x coord> [<y coord>]]]]</font></span><font + size="2"><span class="faqlist"> +</span><span class="GMCommand">@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<quantity> [<x coord> [<y coord>]]]<br>OR<br>@spawn "desired monster name" <monster_name_or_monster_ID> [<quantity> [<x coord> [<y coord>]]]<br>@monster "desired monster name" <monster_name_or_monster_ID> [<quantity> [<x coord> [<y coord>]]]<br>@summon "desired monster name" <monster_name_or_monster_ID> [<quantity> [<x coord> [<y coord>]]]<br>@monster2 "desired monster name" <monster_name_or_monster_ID> [<quantity> [<x coord> [<y coord>]]]<br>OR<br>@spawn <monster_name_or_monster_ID> "desired monster name" [<quantity> [<x coord> [<y coord>]]]<br>@monster <monster_name_or_monster_ID> "desired monster name" [<quantity> [<x coord> [<y coord>]]]<br>@summon <monster_name_or_monster_ID> "desired monster name" [<quantity> [<x coord> [<y coord>]]]<br>@monster2 <monster_name_or_monster_ID> "desired monster name" [<quantity> [<x coord> [<y coord>]]]</span> +</font> +Spawns the desired monster with any desired name, quantity and x and y location (if specified). +There 2 last forms can use spaces for desired names (between the ""). + +<span class="GMCommandTitle">MAP OPTIONS COMMANDS</span> + +<span class="GMCommand">@pvpon</span> +Turns pvp on on the current map +<span class="GMCommand">@pvpoff</span> +Turns pvp off on the current map +<span class="GMCommand">@gvgon</span> +Turns gvg on on the current map. This does NOT enable War of Emperium. +<span class="GMCommand">@gvgoff </span> +Turns gvg off on the current map. This does NOT disable War of Emperium. + +<span class="GMCommandTitle">CHARACTER CONTROL COMMANDS</span> +<span class="GMCommand">@baselvlup <number of levels></span> +<span class="GMCommand">@lvup <number of levels><br>@blevel <number of levels></span> +Raises your base level the desired number of levels. The max is 99 (unless you change it in battle_athena.conf). + +<span class="GMCommand">@joblvlup <number of levels></span> +<span class="GMCommand">@joblvup <number of levels><br>@jlevel <number of levels></span> +Raises your job level the desired number of levels. The max is 50 for 1st and 2nd class, and 70 for advanced classes. + +<span class="GMCommand">@job <job ID><br>@jobchange <job ID></span> +Changes your job to the job assigned to the ID</font></pre> +<table id="table2" border="1" width="90%"> + <tbody> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">0: +Novice</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">6: +Thief</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">12: +Assassin</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">18: +Alchemist</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">1: +Swordsman</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">7: +Knight</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">13: +Knight w/ Peco</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">19: +Bard</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">2: +Mage</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">8: +Priest</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">14: +Crusader</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">20: +Dancer</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">3: +Archer</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">9: +Wizard</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">15: +Monk</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">21: +Crusader w/ Peco</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">4: +Acolyte</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">10: +Blacksmith</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">16: +Sage</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">22: +Wedding</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">5: +Merchant</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">11: +Hunter</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">17: +Rogue</font></td> + <td width="25%"><font style="font-size: 11pt;" face="Verdana">23: +Super Novice</font></td> + </tr> + </tbody> +</table> +<table id="table3" border="1" width="90%"> + <tbody> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">24/4001: +Novice High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">31/4007: +Thief High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">40/4013: +Assassin Cross</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">46/4019: +Creator</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">25/4002: +Swordsman High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">35/4008: +Lord Knight</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">41/4014: +Lord Knight w/ Peco</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">47/4020: +Clown</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">26/4003: +Mage High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">36/4009: +High Priest</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">42/4015: +Paladin</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">48/4021: +Gypsy</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">28/4004: +Archer High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">37/4010: +High Wizard</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">43/4016: +Champion</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">49/4022: +Paladin w/ Peco</font></td> + </tr> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">29/4005: +Acolyte High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">38/4011: +Whitesmith</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">44/4017: +Professor</font></td> + <td width="25%"> </td> + </tr> + <tr> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">30/4006: +Merchant High</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">39/4012: +Sniper</font></td> + <td width="25%"><font style="font-size: 9pt;" face="Verdana">45/4018: +Stalker</font></td> + <td width="25%"> </td> + </tr> + </tbody> +</table> +<pre class="style1"><font face="Verdana"><span class="GMCommand">@option <param1> <param2> <param3></span> +Changes options for your character + <param1> <param2> (Stackable) <param3> (Stackable) + 01 Petrified 01 Poison 01 Sight + 02 Frozen 02 Cursed 02 Hide + 03 Stunned 04 Silenced 04 Cloak + 04 Sleeping 08 ??? 08 Level 1 Cart + 06 ??? 16 Darkness 16 Falcon + 32 (Depreciated) + 64 GM Perfect Hide + 128 Level 2 Cart + 256 Level 3 Cart + 512 Level 4 Cart + 1024 Level 5 Cart + 2048 Orc Head + 4096 Wedding Sprites + 8192 Ruwach + +<span class="GMCommand">@mountpeco</span> +Will (un)mount on a peco. (Class is required, but not skill) + +<span class="GMCommand">@speed <1-1000></span> +Changes you walking speed. +1(Fastest)<---140(Default)----------------->1000(Slowest) + +<span class="GMCommand">@disguise <monster_name_or_monster_ID></span> +Change your appearence to other players to a mob. + +<span class="GMCommand">@undisguise</span> +Restore your normal appearance. + +<span class="GMCommand">@model <hair ID> <hair color> <clothes color></span> +Changes your characters appearance (Hair type, Hair Colour and/or Clothes Colour) + Hair ID (0-17) Hair Colour (0-8) Clothes Colour (0-4) + 0 Default 0 Default + 1 Blonde 1 Red + 2 Purple 2 Green + 3 Brown 3 White + 4 Green 4 Brown + 5 Blue + 6 White + 7 Black + 8 Red + +<span class="GMCommand">@effect <effect_id> [flag]</span> + Give an efect to your character. + +<span class="GMCommand">@stpoint <number of points></span> +Gives you the desired number of stat points. + +<span class="GMCommand">@skpoint <number of points></span> +Gives you the desired number of skill points. + +<span class="GMCommand">@zeny <amount></span> +Gives you desired amount of Zeny. + +<span class="GMCommand">@str <amount><br>@agi <amount><br>@vit <amount><br>@int <amount><br>@dex <amount><br>@luk <amount></span> +Adds desired amount to any stat. For example "@str 10" raises your str by 10 + +<span class="GMCommand">@spiritball <number></span> +Number 1-1000 +Gives you monk "spirit spheres" like from the skill "Call Spirits" +(If the number you use is > 1000, your server may become instable or crash). 1000 Lags Your Client + +<span class="GMCommand">@memo [memo_position]</span> +set/change a memo location (no position: display memo points). + +<span class="GMCommand">@questskill <id></span> +Gives you the specified quest skill + +<span class="GMCommand">@lostskill <id></span> +Takes away the specified quest skill from you + +Quest Skill ID: + Novice + 142 Emergency Care + 143 Act dead + Swordsman + 144 Moving HP Recovery + 145 Attack Weak Point + 146 Auto Berserk + Archer + 147 Arrow Creation + 148 Charge Arrows + Thief + 149 Throw Sand + 150 Back Sliding + 151 Take Stone + 152 Stone Throw + Merchant + 153 Cart Revolution + 154 Change Cart + 155 Crazy Uproar/Loud Voice + Acolyte + 156 Holy Light + Magician + 157 Energy Coat + +<span class="GMCommand">@email <actual@email> <new@email></span> +to change your e-mail (characters protection) + +<span class="GMCommandTitle">GUILD/WoE CONTROL COMMANDS</span> +<span class="GMCommand">@guildlvup/@guildlvlup <# of levels></span> +Raise Guild by desired number of levels + +<span class="GMCommand">@guild <Desired Guild Name></span> +Creates a guild with the disered name (Spaces are allow, no need to use "") + +<span class="GMCommand">@agitstart</span> +Starts Guild Wars (War of Emperium) + +<span class="GMCommand">@agitend</span> +Ends Guild Wars (War of Emperium) + +<span class="GMCommandTitle">EQUIPMENT COMMANDS</span> +<span class="GMCommand">@refine <position> <+/-amount></span> +Upgrades equipment at the position specified (Stackable) +0 - All +1 - Lower Head +2 - Right Hand +4 - Robe/Garment +8 - Left Accessory +16 - Body/Armor +32 - Left Hand +64 - Feet +128 - Right Accessory +256 - Top Head +512 - Mid Head + +Example: +@refine 34 10 - Refines a 2 handed weapon to +10 +@refine 16 4 - Refines the body/armor to +4 + +<span class="GMCommand">@produce <equip name or equip ID> <element> <# of very's></span> +Element: 0 None 1 Ice 2 Earth 3 Fire 4 Wind +# of very's: 0 None 1 Very Strong 2 Very Very Strong 3 Very Very Very Strong + +Example: @produce 1163 3 3 - Produces a Very Very Very Strong (Your Nick)'s Fire Claymore + +<span class="GMCommandTitle">PET COMMANDS</span> +<span class="GMCommand">@makeegg <ID></span> +Gives pet egg for monster ID in pet DB + +<span class="GMCommand">@petfriendly <#></span> +Set pet friendly amount (0-1000) 0 Min, 1000 Max + +<span class="GMCommand">@pethungry <#></span> +Set pet hungry amount (0-100) 0 Min, 100 Max + +<span class="GMCommand">@petrename</span> +Re-enable pet rename + +<span class="GMCommand">@hatch</span> +Brings up the hatch pet menu + +<span class="GMCommandTitle">REMOTE CHAR COMMANDS</span> +<span class="GMCommand">@charwarp <map name> <x> <y> <char name></span> +Warps character to location of choice +Example: +@charwarp morocc 150 160 TestChar -> Warps TestChar to Morroc (X:150, Y:160) + +<span class="GMCommand">@charstats <char name></span> +Displays the character's stats. + +<span class="GMCommand">@charignorelist <char name></span> +Displays ignore list of the player + +<span class="GMCommand">@inall <char name></span> +Allows all wispers for the player + +<span class="GMCommand">@exall <char name></span> +Blocks all wispers for the player + +<span class="GMCommand">@charoption <param1> <param2> <param3> <char name></span> +Does the same as the @option command only to target character. + +<span class="GMCommand">@charmountpeco <charname></span> +Give/remove to a player a peco (Class is required, but not skill). + +<span class="GMCommand">@charpetrename <charname></span> +Re-enable pet rename to a player. + +<span class="GMCommand">@charsave <map> <x> <y> <char name></span> +Changes the target player's respawn point. + +<span class="GMCommand">@charbaselvl <#> <char name></span> +Change a character's base level. + +<span class="GMCommand">@charjlvl <#> <char name></span> +Change a character's job level. + +<span class="GMCommand">@charjob <job ID> <char name><br>@charjobchange <job ID> <char name></span> +Changes target character's job. + +<span class="GMCommand">@charzeny <amount> <char name></span> +Give/take a player's Zeny + +<span class="GMCommand">@charstpoint <amount> <char name></span> +Give/take a player's stat points + +<span class="GMCommand">@charskpoint <amount> <char name></span> +give/take a player's skill points + +<span class="GMCommand">@charquestskill <#> <char name></span> +Gives to a player the specified quest skill. + +<span class="GMCommand">@charlostskill <#> <char name></span> +Takes away the specified quest skill from the player. + +<span class="GMCommand">@chardelitem <item_name_or_ID> <quantity> <char name></span> +Remove items from a character + +<span class="GMCommand">@charmodel <hair type> <hair color> <clothes color> <char name></span> +Changes a player's model + +<span class="GMCommand">@chardisguise <monster_name_or_monster_ID> <char name></span> +Changes disguise of a player + +<span class="GMCommand">@charundisguise <char name></span> +Cancels disguise of a player + +<span class="GMCommand">@charreset <char name></span> +Resets the character + +<span class="GMCommand">@chardyeclothes <#> <char name></span> +Changes a player's clothes colour + +<span class="GMCommand">@chardyehair <#> <char name></span> +Changes a player's hair colour + +<span class="GMCommand">@charstylehair <#> <char name></span> +Changes a player's hair style + +<span class="GMCommand">@charchangesex <name></span> +Changes sex of a player (all characters of the account) + +<span class="GMCommand">@charblock <name></span> +Blocks definitively a account + +<span class="GMCommand">@charunblock <name></span> +<span class="GMCommand">@unblock <name></span> +Unblocks a account + +<span class="GMCommand">@charban <time> <name></span> +Ban temporarily a account + time usage: adjustement (+/- value) and element (y/a, m, d/j, h, mn, s) + Example: @ban +1m-2mn1s-6y testplayer + +<span class="GMCommand">@charunban <name><br>@unban <name><br>@unbanish <name><br>@uncharbanish <name></span> +Unban a account + +<span class="GMCommand">@jail <char_name></span> +Sends specified character in jails + +<span class="GMCommand">@unjail <charname><br>@discharge <char_name></span> +Discharges specified character/prisoner + +<span class="GMCommandTitle">MASS CONTROL COMMANDS</span> +<span class="GMCommand">@night</span> +All characters are in darkness + +<span class="GMCommand">@day</span> +@option 00 00 00 are used on all characters + +<span class="GMCommand">@doom</span> +Kills all NON GM chars on the server. + +<span class="GMCommand">@doommap</span> +Kills all non GM characters on the map. + +<span class="GMCommand">@raise</span> +Resurrects all characters on the server. + +<span class="GMCommand">@raisemap</span> +Resurrects all characters on the map. + +<span class="GMCommand">@kick <charname></span> +Kicks specified character off the server + +<span class="GMCommand">@kickall</span> +Kick all characters off the server + +<span class="GMCommandTitle">OTHER COMMANDS</span> +<span class="GMCommand">@gat<br>@packet</span> +Unknown + +<span class="GMCommandTitle">Server Control Commands</span> +<span class="GMCommand">@reloadscript<br></span>Reloads all the scripts for the server<span + class="GMCommand"> + +@reloaditemdb</span> +Reloads the itemdb + +<span class="GMCommand">@reloadgmdb</span> +Reload GM levels + +<span class="GMCommand">@mapexit</span> +Kick all players and shut down map-server. + +<span class="GMCommand">@reloadmobdb</span> +Reload monster database + +<span class="GMCommand">@reloadskilldb</span> +Reload skills definition database + +<span class="GMCommand">@enablenpc <NPC_name></span> +Enable a NPC + +<span class="GMCommand">@disablenpc <NPC_name></span> +Disable a NPC</font> +</pre> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/readme/midbanner.jpg b/doc/readme/midbanner.jpg Binary files differnew file mode 100644 index 0000000..d928dfc --- /dev/null +++ b/doc/readme/midbanner.jpg diff --git a/doc/readme/npcfeatures.html b/doc/readme/npcfeatures.html new file mode 100644 index 0000000..a2e52ec --- /dev/null +++ b/doc/readme/npcfeatures.html @@ -0,0 +1,143 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>eAthena Npc Scripts</b></td> + </tr> + <tr> + <td class="contentbg"> +<ul> +<li>Town Npcs (11/13)</li> +<ul><li> Prontera - 100%</li></ul> +<ul><li> Morocc - 100%</li></ul> +<ul><li> Geffen - 100%</li></ul> +<ul><li> Izlude - 100%</li></ul> +<ul><li> Alberta - 100%</li></ul> +<ul><li> Al de Baran - 100%</li></ul> +<ul><li> Lutie - 100%</li></ul> +<ul><li> Amatsu - 100%</li></ul> +<ul><li> Comodo - 100%</li></ul> +<ul><li> Niflheim - 100%</li></ul> +<ul><li> Umbala - 100%</li></ul> +<ul><li> Gonryun - 60%</li></ul> +<ul><li> Payon(New Maps) - 50%</li></ul> +<li>Job Quests (16/33)</li> +<ul><li> Novice Class (2/2)</li></ul> +<ul><ul><li> Novice - 100%</li></ul></ul> +<ul><ul><li> Super Novice - 100%</li></ul></ul> +<ul><li> 1-1 Class (6/6)</li></ul> +<ul><ul><li> Swordman - 100%</li></ul></ul> +<ul><ul><li> Mage - 100%</li></ul></ul> +<ul><ul><li> Archer - 100%</li></ul></ul> +<ul><ul><li> Acolyte - 100%</li></ul></ul> +<ul><ul><li> Merchant - 100%</li></ul></ul> +<ul><ul><li> Thief - 100%</li></ul></ul> +<ul><li> 2-1 Class (6/6)</li></ul> +<ul><ul><li> Knight - 100%</li></ul></ul> +<ul><ul><li> Priest - 100%</li></ul></ul> +<ul><ul><li> Wizard - 100%</li></ul></ul> +<ul><ul><li> Blacksmith - 100%</li></ul></ul> +<ul><ul><li> Hunter - 100%</li></ul></ul> +<ul><ul><li> Assassin - 100%</li></ul></ul> +<ul><li> 2-2 Class (2/7)</li></ul> +<ul><ul><li> Crusader - 0%</li></ul></ul> +<ul><ul><li> Monk - 0% (Soon)</li></ul></ul> +<ul><ul><li> Sage - 0% (Soon)</li></ul></ul> +<ul><ul><li> Rogue - 100%</li></ul></ul> +<ul><ul><li> Alchemist - 100%</li></ul></ul> +<ul><ul><li> Bard - 0%</li></ul></ul> +<ul><ul><li> Dancer - 100%</li></ul></ul> +<ul><li> 2-1-1 Class (0/6)</li></ul> +<ul><li> 2-2-1 Class (0/6)</li></ul> +<li>Kafras - 100%</li> +<li>Guides - 100%</li> +<li> War Of Emperium (4/5)</li> +<ul><li> Prontera - 100%</li></ul> +<ul><li> Geffen - 100%</li></ul> +<ul><li> Payon - 100%</li></ul> +<ul><li> Al De Baran - 100%</li></ul> +<ul><li> Novice - 0%</li></ul> +<li>Quests (24/25)</li> +<ul><li> Skill Quests (7/7)</li></ul> +<ul><ul><li> Novice - 100%</li></ul></ul> +<ul><ul><li> Swordman - 100%</li></ul></ul> +<ul><ul><li> Mage - 100%</li></ul></ul> +<ul><ul><li> Archer - 100%</li></ul></ul> +<ul><ul><li> Acolyte - 100%</li></ul></ul> +<ul><ul><li> Merchant - 100%</li></ul></ul> +<ul><ul><li> Thief - 100%</li></ul></ul> +<ul><li>Town Quests (9/10)</li></ul> +<ul><ul><li> Prontera - 100%</li></ul></ul> +<ul><ul><li> Morocc - 100%</li></ul></ul> +<ul><ul><li> Geffen - 100%</li></ul></ul> +<ul><ul><li> Izlude - 100%</li></ul></ul> +<ul><ul><li> Alberta - 100%</li></ul></ul> +<ul><ul><li> Al De Baran - 100%</li></ul></ul> +<ul><ul><li> Yuno - 100%</li></ul></ul> +<ul><ul><li> Lutie - 100%</li></ul></ul> +<ul><ul><li> Comodo - 100%</li></ul></ul> +<ul><ul><li> Payon - 20%</li></ul></ul> +<ul><li>Other Quests (8/8)</li></ul> +<ul><ul><li> Dye - 100%</li></ul></ul> +<ul><ul><li> MrSmile - 100%</li></ul></ul> +<ul><ul><li> Juice Making - 100%</li></ul></ul> +<ul><ul><li> Doomed Swords - 100%</li></ul></ul> +<ul><ul><li> Bongun Taming - 100%</li></ul></ul> +<ul><ul><li> Munak Taming - 100%</li></ul></ul> +<ul><ul><li> Tamking - 100%</li></ul></ul> +<ul><ul><li> Bongun Sword - 100%</li></ul></ul> +<ul><li>Other (7/10)</li></ul> +<ul><ul><li> Card Remover - 100%</li></ul></ul> +<ul><ul><li> PvP (old) - 100%</li></ul></ul> +<ul><ul><li> Time Arena - 100%</li></ul></ul> +<ul><ul><li> Bank - 100%</li></ul></ul> +<ul><ul><li> Wedding - 80%</li></ul></ul> +<ul><ul><li> Valkyrie - 10%</li></ul></ul> +<ul><ul><li> Gefenia - 10%</li></ul></ul> +<ul><ul><li> Heal Npc - 100%</li></ul></ul> +<ul><ul><li> Warp Npc - 100%</li></ul></ul> +<ul><ul><li> Jobchange - 100%</li></ul></ul> + </li> +</ul> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/readme/rc5.css b/doc/readme/rc5.css new file mode 100644 index 0000000..e6c0809 --- /dev/null +++ b/doc/readme/rc5.css @@ -0,0 +1,68 @@ + A {color: #000; text-decoration: none; background-color : inherit;} + A:link {color: #000; text-decoration: none; background-color : inherit;} + A:visited { color: #000; text-decoration: none; background-color : inherit;} + A:active { color: #000; text-decoration: none; background-color : inherit;} + A:hover { color: #8282AE; text-decoration: underline; background-color : inherit;} + +body { + margin: 0px; + font-size: 11px; + font-family: Lucila, Arial, Helvetica; + background: #E1E1F4; + color: #9999CD; +} + +.wrapper { + width: 100%; + padding: 0px; + margin: 0px; +} + +.topbanner { + background: #FFF; + height: 25px; +} + +.topnav { + border-top: 1px solid #ADADD8; + border-left: 1px dotted #ADADD8; + border-right: 1px dotted #ADADD8; + width: 12.5%; +} + +.banner { + border-bottom: 1px solid #000; + border-top: 1px solid #000; + background: #9999CD; + height: 136px; +} + +.omgspacer { + height: 10px; +} + +.content { + width: 75%; + padding: 3px; + border: 1px dashed #ADADD8; +} + +.contenttitle { + font-size: 20px; + background: #D3D3EB; + color: #8282AE; +} + +.contentbg { + font-size: 15px; + background: #F1F1FA; +} + +.spaceromg { + height: 20px; +} + +.copyright { + background: #BDBDE0; + height: 10px; + color: #000;
\ No newline at end of file diff --git a/doc/readme/settingup.html b/doc/readme/settingup.html new file mode 100644 index 0000000..b35f4d8 --- /dev/null +++ b/doc/readme/settingup.html @@ -0,0 +1,126 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>How to setup eAthena</b></td> + </tr> + <tr> + <td class="contentbg"> +<ol> + <li>Edit motd.txt, grf-files.txt & .conf files as neccessary.</li> + <li>If you want to add a user, run adduser.exe in the main eAthena +directory before starting the +server.<br> + </li> + <li>Run the login-server.exe, char-server.exe and map-server.exe in +the main eAthena directory.</li> + <li>You're done!<br> + </li> +</ol> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>Upgrading eAthena</b></td> + </tr> + <tr> + <td class="contentbg"> + <span style="font-weight: bold;"> +<br> +From a release newer than 953 or 817:</span><br> +<ol> + <li>Transfer your old /save/ folder contents (Athena.txt, +Account.txt, Storage.txt, etc.) to the new /save/ folder.</li> + <li>Transfer/Edit grf-files.txt, gm-account.txt and motd.txt as +neccessary.</li> + <li>Transfer any extra custom NPCs to the /npc/ folder and edit if +neccessary.</li> + <li>Edit .conf files to setup your server.</li> + <li>You're done!</li> +</ol> + <span style="font-style: italic;">NOTE</span>: +It is not recommended to transfer your DB files<br> + as the DB files are constantly +updated by the eAthena/jAthena<br> + team. Just readd your changes to +the new DB files instead of<br> + replacing the new DB file with +your old one.<br> +<br> +<span style="font-weight: bold;"><br> +From a release older than 670:</span><br> +<ol> + <li>Transfer your old /save/ folder contents (Athena.txt, +Account.txt, Storage.txt, etc.) to the new /save/ folder.</li> + <li>Transfer/Edit grf-files.txt, gm-account.txt and motd.txt as +neccessary.</li> + <li>Transfer any extra custom NPCs to the /npc/ folder and edit if +neccessary.</li> + <li>Edit .conf files to setup your server.</li> + <li>You're done!</li> +</ol> + <span style="font-style: italic;">NOTE</span>: +It is not recommended to transfer your .conf files from<br> + your old eAthena setup to this +new one because there are always<br> + changes and new additions to +these .conf files all the time<br> +<br> + <span style="font-style: italic;">NOTE +2</span>: It is also not recommended to transfer your DB files<br> + as the DB files are constantly +updated by the eAthena/jAthena<br> + team. Just readd your changes to +the new DB files instead of<br> + replacing the new DB file with +your old one.<br> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/readme/support.html b/doc/readme/support.html new file mode 100644 index 0000000..b0cb6a9 --- /dev/null +++ b/doc/readme/support.html @@ -0,0 +1,65 @@ +<html> +<head><title>eAthena 1.0 RC5 Readme</title> +<meta http-equiv="expires" content="-1" /> +<meta http-equiv="pragma" content="no-cache" /> +<meta name="author" content="eAthena Development Team" / +<meta name="description" content="eAthena, ro server emulator" /> +<meta name="keywords" content="eathena, ro, ragnarok online, server emulator, server software" /> +<link href="./rc5.css" media="screen" rel="stylesheet" type="text/css"> +</head> +<body> +<table class="wrapper"> + <tr class="topbanner"> + <td class="topnav"><b><a href="../readme.html">Intro</a></b></td> + <td class="topnav"><b><a href="./changelog.html">Changelog</a></b></td> + <td class="topnav"><b><a href="./features.html">Features</a></b></td> + <td class="topnav"><b><a href="./Npcfeatures.html">Npc Features</a></b></td> + <td class="topnav"><b><a href="./settingup.html">Setting Up</a></b></td> + <td class="topnav"><b><a href="./gmcommands.html">GM Commands</a></b></td> + <td class="topnav"><b><a href="./faq.html">FAQ</a></b></td> + <td class="topnav"><b><a href="./support.html"> Support</a></b></td> + </tr> + <tr> + <td class="banner" colspan="8"> + <div align="right"><img src="./midbanner.jpg" border="0"></div> + </td> + </tr> + <tr> + <td class="omgspacer"></td> + </tr> + <tr> + <td align="middle" colspan="8"> + <table class="content"> + <tr> + <td class="contenttitle"><b>Forums:</b></td> + </tr> + <tr> + <td class="contentbg"> +<a + href="http://eathena.deltaanime.net">http://eathena.deltaanime.net</a> +Our Official Webpage.<br> +<a href="http://forum.asb-sakray.net">http://forum.asb-sakray.net</a> Aegis +Support Board.<br> +<a href="http://www.evera-aura.net">http://www.evera-aura.net</a> Evera's Site<br> +<a href="http://eathena.systeminplace.net">eathena.systeminplace.net</a> Valaris's Site<br> +<br> +<span style="font-weight: bold;">IRC Channel:<br> +<span style="font-weight: bold;"></span></span>irc.deltaanime.net +#athena (Please make sure to check both forums before coming into the +channel to ask questions, or else you may not be answered and possibly +ridiculed.)<span style="font-weight: bold;"><span + style="font-weight: bold;"><span style="font-weight: bold;"></span></span><br> +</span><br> +</td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="spaceromg"></td> + </tr> + <tr> + <td class="copyright" colspan="8">© Copyright 2004 eAthena Development Team<br>Design © Copyright 2004 Evera</td> + </tr> +</table> +</body>
\ No newline at end of file diff --git a/doc/script_ref.txt b/doc/script_ref.txt new file mode 100644 index 0000000..06df8f4 --- /dev/null +++ b/doc/script_ref.txt @@ -0,0 +1,1424 @@ +AthenaNPCScript + +- Table of contents + 0. Introduction + 1. Definition of NPC + 2. Explanation of Script, and Fundamental Rule + 3. Imperative Sentence, Function, and Constant Label + 4. Error Message + 5. Postscript + +0. Introduction + The function and form which are contained in this text refer to npc_sample.txt contained in the newest snapshot, and are described. + The convenience of the editor which shows this text is considered, <tab> is written and <n> etc. is written. [ a tab character ] [ arbitrary values ]. + Although it is a coordinate system, please make a lower figure reference. + The increase in ?Y + ( 0,200)--(200,200) + | | + | | + | | + | | + | | + ( 0, 0)--(200, 0)-> the increase in X + +1. Definition of NPC + if it is below an athena directory -- anywhere -- being good (if it being able to do below athena/npc) -- please create txt for the time being + The NPC describes first what is shown (a way of speaking called NPC depending on the case is unsuitable). + + * Warp point : perform movement between MAP. + <gatname>,<x>,<y><tab>warp<tab><displayname><tab><dx>,<dy>,<destination_gatname>,<destination_x>,<destination_y> + + gatname The MAP file name on which a warp point is put is specified. Please do not forget gat. + x The horizontal coordinates on which a warp point is put are specified. + y The vertical coordinates on which a warp point is put are specified. + displayname It is a warp point discernment child. You may overlap. It uses by debugging. + dx It is the horizontal effect range of a warp point. + dy It is the vertical effect range of a warp point. Probably I do not write a circle but think that it is a region. + Example of dx and dy (- is x and y) : + 0,0 1,0 2,2 + *@*– *–*–*–*–*– *–*–*–*–*–*–*– + *–*œ*– *–*–*œ*–*– *–*–*–*–*–*–*– + *@*– *–*–*–*–*– *–*–*–*–*–*–*– + *@ *–*–*–*œ*–*–*– + *@ *–*–*–*–*–*–*– + *@ *–*–*–*–*–*–*– + *@ *–*–*–*–*–*–*– + *@ + * I hear that and it will leap if the cell of - is stepped on. + *@ + destination_gatname It is a warp place. . Even if there is gat and there is not, don't care about it. + destination_x They are warp place horizontal coordinates. + destination_y They are warp place vertical coordinates. + + Notes : + A warp point displays only that plurality is described to be at the end when located on this position. + When the coordinates of a warp place are move prohibition cells, it leaps to somewhere in the MAP. + + * Monster : manage the spawning(aka apperance in japanese.) of a monster. + <gatname>,<x>,<y>,<xs>,<ys><tab>monster<tab><displayname><tab><npcid>,<number>,<spawn_delay1>,<spawn_delay2>[,<event>] + + gatname The appearing MAP file name is specified. + x The appearing horizontal coordinates are specified. Random at 0. + y The appearing vertical coordinates are specified. Random at 0. + xs The appearing horizontal range is specified. + ys The appearing vertical range is specified. + Example of xs and ys (- is x and y) : + 0,0 2,1 + *@*œ *–*–*–*–*– + *@ *–*–*œ*–*– + *@ *–*–*–*–*– + *@ + * And a monster appears from the cell of -. + + displayname It is the display name of the appearing monster. + npcid Please refer to mob_db.txt. id of the monster made to appear is specified. + number It is the number of the maximum appearances in the MAP and the appearance range. + spawn_delay1 After appearing, if specified the amount of time in milliseconds before it re-appears. + spawn_delay2 After dying, if specified the amount of time in milliseconds before it re-appears. + event The specified event is generated. An abbreviation is possible. + + Notes: + spawn_delay1 and spawn_delay2 judge and give priority to whether it re-appears having been based the latest [ direction ] on which as a result. + + * Store : sell an item. + <gatname>,<x>,<y>,<direction><tab>shop<tab><displayname><tab><npcid>,<item_id>:<price>,<item_id>:<price>,<item_id>:<price> + + gatname The MAP file name to arrange is specified. + x The horizontal coordinates to arrange are specified. + y The vertical coordinates to arrange are specified. + direction Direction is specified. + Details of direction : + 7 0 1 + 6 2 + 5 4 3 + + displayname The display name of the store to arrange is specified. + npcid The display sprite ID of the store to arrange is specified. + item_id The item ID put on the store to arrange is specified. Please refer to item_db. + price The price of the item specified by item_id is set up. + each <item_id>:<price> is divided by a comma (,), and more than one can be specified. + example: + item_id:price,item_id2,price2 + + * Script : create NPC. + <gatname>,<x>,<y>,<direction><tab>script<tab><displayname><tab><npcid>,<xs>,<ys>,{ <script> ... } + + gatname The MAP file name to arrange is specified. + x The horizontal coordinates to arrange are specified. + y The vertical coordinates to arrange are specified. + direction Direction is specified. + displayname The display name of NPC to arrange is specified. It becomes an event name when npcid is -1. + When making said display name another operation event, it can be described as a display name::discernment child. + npcid The display sprite ID of NPC to arrange is specified. If -1 is specified, it will become an event in map. + xs The horizontal range which performs a script automatically is specified. + ys The vertical range which performs a script automatically is specified. It is the same as a warp. + + Explanation about the inside of {} (inside parenthesis). + Collecting by the party cannot recommend you. If it can do + gatname etc, + { + //comment + script; + label: + script; + } + Let's write by the said touch. Comment out is //and comment area is /* and */. + The ? which does not leave; (semicolon) in the script ending. + + u<gatname>,<x>,<y>,<direction><tab>v‚Ì•”•ª‚ðAu-<tab>v‚Æ‚·‚邱‚Æ‚ÅA + ƒ}ƒbƒvƒT[ƒo[“à‚É‚Í‘¶Ý‚µ‚Ä‚¢‚Ä‚àAŽÀۂ̃}ƒbƒv‚É‚Í”z’u‚³‚ê‚È‚¢NPC‚ð쬂ł«‚Ü‚·B + ‚±‚ê‚ÍŒãq‚̃fƒ…ƒvƒŠƒP[ƒgƒXƒNƒŠƒvƒg‚ŃRƒs[Œ³‚Æ‚µ‚ÄŽg—p‚µ‚Ü‚·B + + –ƒfƒ…ƒvƒŠƒP[ƒgƒXƒNƒŠƒvƒgFŠù‘¶‚ÌNPCi‚̃XƒNƒŠƒvƒgj‚ðƒRƒs[‚µ‚Ü‚·B + <gatname>,<x>,<y>,<direction><tab>duplicate(<source>)<tab><displayname><tab><npcid>,<xs><ys> + + sourceˆÈŠO‚̃pƒ‰ƒ[ƒ^‚Í’Êí‚̃XƒNƒŠƒvƒg‚Æ“¯‚¶‚Å‚·B + source‚ɂ̓Rƒs[Œ³‚Æ‚È‚éNPC‚ÌŽ¯•Ê–¼‚ð“ü—Í‚µ‚Ü‚·B + + ƒRƒs[Œ³‚ÌNPC‚ªƒ}ƒbƒvã‚É”z’u‚³‚ê‚Ä‚¢‚éê‡A“¯‚¶ƒ}ƒbƒv‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B + ƒ}ƒbƒvã‚É”z’u‚³‚ê‚Ä‚¢‚È‚¢ê‡‚ÍA‚ǂ̃}ƒbƒv‚Ö‚àƒRƒs[‰Â”\‚Å‚·B + + –ƒ†[ƒU[’è‹`ŠÖ”ƒXƒNƒŠƒvƒgFƒXƒNƒŠƒvƒg‚©‚çŒÄ‚Ño‚³‚ê‚郆[ƒU[’è‹`ŠÖ”‚ð쬂µ‚Ü‚·B + function<tab>script<tab><name><tab>{ <script> ... } + + callfunc–½—߂ŌĂÑo‚·‚±‚Æ‚Ìo—ˆ‚éŠÖ”‚ð쬂µ‚Ü‚·B + ŠÖ”‚ÌÅŒã‚É‚Í•K‚¸return–½—ß‚ð“ü‚ê‚Ä‚‚¾‚³‚¢B + + –ƒ}ƒbƒvƒtƒ‰ƒOFMAP‚̃‹[ƒ‹‚ðŠÇ—‚µ‚Ü‚·B + <gatname><tab>mapflag<tab><const> + + gatname ƒ‹[ƒ‹‚ðÝ’è‚·‚éMAPƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚Ü‚·B + const ƒ‹[ƒ‹‚Ì“à—e‚ðŽw’肵‚Ü‚·B + + const‚̈ꗗB + nosave<tab><gatname>,<x>,<y> + ƒŠƒƒOƒCƒ“‚µ‚½Û<gatname>‚ÌÀ•W<x>,<y>‚Ɉړ®‚µ‚Ü‚·B + nomemo<tab>dummy + ƒƒ‚‚ðŽæ‚邱‚Æ‚ð‹ÖŽ~‚µ‚Ü‚·B + notereport<tab>dummy + SavePoint‚Ü‚½‚ÍRandom‚ðŽw’肵‚½warp•¶Aƒ[ƒvƒ|[ƒ^ƒ‹AƒeƒŒƒ|[ƒg‚ð‹ÖŽ~‚µ‚Ü‚·B + nobranch<tab>dummy + ŒÃ–Ø‚ÌŽ}‚ÌŽg—p‚ð‹ÖŽ~‚µ‚Ü‚·B + pvp<tab>dummy + PVP‰Â”\MAP‚É‚È‚è‚Ü‚·B + nopenalty<tab>dummy + ƒfƒXƒyƒiƒ‹ƒeƒB–³‚µ‚É‚È‚è‚Ü‚·B + pvp_noparty<tab>dummy + PVP‚É‚¨‚¢‚ÄA“¯ƒp[ƒeƒB[UŒ‚•s‰Â‚É‚È‚è‚Ü‚·B + pvp_noguild<tab>dummy + PVP‚É‚¨‚¢‚ÄA“¯ƒMƒ‹ƒhUŒ‚•s‰Â‚É‚È‚è‚Ü‚·B + gvg<tab>dummy + ƒV[ƒYƒ‚[ƒh‚É‚È‚è‚Ü‚·B + gvg_noparty<tab>dummy + ƒV[ƒYƒ‚[ƒh‚É‚¨‚¢‚ÄA“¯ƒp[ƒeƒB[UŒ‚•s‰Â‚É‚È‚è‚Ü‚·B + +‚QDƒXƒNƒŠƒvƒg‚Ìà–¾‚ÆŠî–{“I‚È‹K‘¥ + –”Žš + •„†•t‚Ì®”‚Æ‚P‚Ui”•\‹L®”‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + •„‡•t®”‚Í”¼Šp”Žš‚Å123456“™‚Æ‹Lq‚µ‚Ü‚·B + ‚P‚Ui”•\‹L®”‚Í0x12“™0x‚ð•t‚¯‚Ä‹Lq‚µ‚Ü‚·B + + –•¶Žš—ñ + "iƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“j‚ň͂ñ‚¾•¶Žš‚Í•¶Žš—ñ‚Æ‚µ‚Ä•]‰¿‚³‚ê‚Ü‚·B + "iƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“j‹L†‚ðˆµ‚¢‚½‚¢ê‡‚Í\"‚Æ‹Lq‚µ‚Ü‚·B + \‹L†‚ðˆµ‚¢‚½‚¢ê‡‚Í\\‚Æ‹Lq‚µ‚Ü‚·B + ‚È‚¨•\Ž¦ŠÖŒW‚Ì•¨‚ÉŠÖ‚µ‚Ä‚Í^000000“™‚ÌF•ÏX‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B + •Ï” + "•¶Žš—ñ"‚Æ‚¢‚Á‚½•¶Žš—ñŒ‹‡‚à‚Å‚«‚Ü‚·B + + –’P€‰‰ŽZŽq + ˆÈ‰º‚Ì”’lê—p‚Ì’P€‰‰ŽZŽq‚ª—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B + - •„†‹t“]i‚Q‚Ì•â”j + ~ ƒrƒbƒg˜_—”Û’èi‚P‚Ì•â”j + ! ˜_—”Û’è + + –‚Q€‰‰ŽZŽq + ˆÈ‰º‚Q€‰‰ŽZŽq‚Í”’l‚Æ•¶Žš—ñ‚Å“®ì‚ªˆÙ‚È‚è‚Ü‚·B + + ‰ÁŽZ/Œ‹‡ + ”’l‚Ç‚¤‚µ‚Ìꇂ͉ÁŽZ‚µ‚Ü‚·B + ‚»‚êˆÈŠO‚Ìꇂ͕¶Žš—ñ‚Æ‚Ý‚È‚µ‚ÄŒ‹‡‚µ‚Ü‚·B + + ˆÈ‰º‚Ì‚Q€‰‰ŽZŽq‚Í”’lê—p‚Å‚·B + - Œ¸ŽZ + * æŽZ + / œŽZ + % è—] + & ƒrƒbƒg˜_—Ï + | ƒrƒbƒg˜_—˜a + ^ ƒrƒbƒg”r‘¼“I˜_—˜a + && ˜_—Ï + || ˜_—˜a + + ˆÈ‰º‚Ì‚Q€‰‰ŽZŽq‚Í”’l‚Ç‚¤‚µA‚Ü‚½‚Í•¶Žš—ñ‚Ç‚¤‚µ‚Ì”äŠr‚ðs‚¢‚Ü‚·B + ‚±‚ê‚ç‚ÌŠÖŒW‰‰ŽZŽq‚ÍŠÖŒW‚ª¬‚è—§‚‚Æ1A¬‚è—§‚½‚È‚¢‚Æ0‚ð•Ô‚µ‚Ü‚·B + == “™‚µ‚¢ + != “™‚µ‚‚È‚¢ + > ‚æ‚è‘å‚«‚¢ + >= ‚æ‚è‘å‚«‚¢‚©“™‚µ‚¢iˆÈãj + < ‚æ‚謂³‚¢i–¢–žj + <= ‚æ‚謂³‚¢‚©“™‚µ‚¢iˆÈ‰ºj + + –•Ï” + ”¼Šp‰p”Žš‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + •Ï”‚̃XƒR[ƒv‚ƃ‰ƒCƒtƒ^ƒCƒ€‚̓vƒŒƒtƒBƒbƒNƒX‚É‚æ‚èŽw’肵‚Ü‚·B + ¬•¶Žš‚̃Gƒ‹‚̓vƒŒƒtƒBƒbƒNƒX‚Æ‚µ‚Ĉµ‚í‚ê‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B + (¬•¶Žš‚̃Gƒ‹‚Í¡Œã‚Ì“®ì‚ð•ÛႳ‚ê‚È‚¢‚Ì‚ÅŽg—p‚µ‚È‚¢‚ʼnº‚³‚¢) + + ƒvƒŒƒtƒBƒbƒNƒX ƒXƒR[ƒv ƒ‰ƒCƒtƒ^ƒCƒ€ + (‚È‚µ) ƒLƒƒƒ‰ƒNƒ^[ ‰i‘±“I + @ ƒLƒƒƒ‰ƒNƒ^[ ˆêŽž“I + l “¯ã “¯ãi„§‚³‚ê‚È‚¢j + $ ƒ}ƒbƒvƒT[ƒo[ ‰i‘±“I + $@ ƒ}ƒbƒvƒT[ƒo[ ˆêŽž“I + # ƒAƒJƒEƒ“ƒg ‰i‘±“I + ## ƒAƒJƒEƒ“ƒg(‘Sƒ[ƒ‹ƒh) ‰i‘±“I + + ‚‚܂èA•’ʂ̈ꎞ“I‚È•Ï”‚Í@, •Û‘¶‚·‚é•K—v‚Ì‚ ‚é•Ï”‚Í + ƒvƒŒƒtƒBƒbƒNƒX‚È‚µA‘S‚ẴLƒƒƒ‰ƒNƒ^[‚Å‹¤—L‚·‚ׂ«•Ï”‚Í $A + “¯ˆêƒAƒJƒEƒ“ƒg‚Å‹¤—L‚·‚ׂ«•Ï”‚Í # ‚â ## ‚ðŽg—p‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B + + ‚Ü‚½A•Ï”‚ÌŒ^‚̓|ƒXƒgƒtƒBƒbƒNƒX‚É‚æ‚èŽw’肵‚Ü‚·B + ‚½‚¾‚µA•¶Žš—ñŒ^‚̓Lƒƒƒ‰ƒNƒ^[ˆêŽž•Ï”A‚¨‚æ‚ÑA + ‰i‘±“I/ˆêŽž“Iƒ}ƒbƒvƒT[ƒo[•Ï”‚Å‚Ì‚ÝŽg—p‚Å‚«‚Ü‚·B + iƒvƒŒƒtƒBƒbƒNƒX @A$A$@ j + + ƒ|ƒXƒgƒtƒBƒbƒNƒX Œ^ + (‚È‚µ) ®” + $ •¶Žš—ñ + + <—á> @hoge$ •¶Žš—ñŒ^ˆêŽž“IƒLƒƒƒ‰ƒNƒ^[•Ï” + hoge ”’lŒ^‰i‘±“IƒLƒƒƒ‰ƒNƒ^[•Ï” + $hoge ”’lŒ^‰i‘±“I‘SƒLƒƒƒ‰ƒNƒ^[‹¤—L•Ï” + + ˆêŽž“I‚Å‚È‚¢•Ï”‚Í‘½—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + •Û‘¶‚·‚é•K—v‚Ì‚È‚¢‚à‚̂͋ɗ͈ꎞ•Ï”‚ÅÏ‚Ü‚¹‚é‚ׂ«‚Å‚·B + •Û‘¶‚·‚é•K—v‚ª‚ ‚é‚Ì‚©‚È‚¢‚Ì‚©‚Í‚æ‚l—¶‚µ‚Ä‚‚¾‚³‚¢B + “Á‚ɉi‘±“I‚ȃLƒƒƒ‰ƒNƒ^[/ƒAƒJƒEƒ“ƒg•Ï”‚ÍA”‚ɧŒÀ‚ª‚ ‚è‚Ü‚·B + Žg—p‚ªI‚í‚Á‚Ä“ñ“x‚ÆŽg—p‚·‚邱‚Æ‚ª‚È‚¢‚Æ‚í‚©‚Á‚Ä‚¢‚é•Ï”‚Í + ’l‚ð0‚ÉÝ’è‚·‚邱‚Æ‚Å휂·‚邱‚Æ‚ªo—ˆ‚Ü‚·B + + –”z—ñ•Ï” + •Ï”–¼‚ÌŒã‚ÉŠ‡ŒÊ [ ] ‚ÅŠ‡‚Á‚½Ž®‚ðŽw’è‚·‚邱‚Æ‚Å”z—ñ•Ï”‚É‚È‚è‚Ü‚·B + •Ï”–¼‚Æ"["‚ÌŠÔ‚É‹ó”’•¶Žš‚ð“ü‚ê‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB + + <—á> hoge[10] fuga[ @temp ] + + ”z—ñ‚Ì—v‘f”Ô†‚Í0`127‚ªŽw’è‚Å‚«‚Ü‚·‚ªA”Ô†0‚Í“¯–¼‚Ì•Ï”‚Æ + ’l‚ð‹¤—L‚µ‚Ü‚·B‚½‚Æ‚¦‚ÎAhoge[0] ‚Æ hoge ‚Í“¯‚¶•Ï”‚Å‚·B + + ”z—ñ•Ï”‚͈ꎞ“IƒLƒƒƒ‰ƒNƒ^[•Ï”AˆêŽž“I/‰i‘±“Iƒ}ƒbƒvƒT[ƒo[•Ï”‚ÅŽg—p‚Å‚«‚Ü‚·B + •Ï”‚ÌŒ^‚Í”’lA•¶Žš—ñ—¼•û‚Æ‚à—˜—p‚Å‚«‚Ü‚·B + + –ƒ‰ƒxƒ‹ + ”¼Šp‰p”‚¨‚æ‚уAƒ“ƒ_[ƒo[‚ªŽg—p‚Å‚«‚Ü‚·B + •Ï”‚â–½—ß‚È‚Ç‚Æ‹æ•Ê‚·‚邽‚ß L_ ‚ð擪‚ɂ‚¯‚邱‚Æ‚ª„§‚³‚ê‚Ü‚·B + L_hoge: ‚Æ‚¢‚Á‚½•—‚ÉŽg—p‚µ‚Ü‚·B + if•¶‚âmenu•¶‚̃Wƒƒƒ“ƒvæ‚ÉŽw’肳‚ê‚Ü‚·B + + –’è” + athena‚Ídb/const.txt‚É€‹’‚µ‚½’蔂ð’ñ‹Ÿ‚µ‚Ü‚·B + ƒXƒNƒŠƒvƒg“à‚Å‚Ì‚ÝŽg—p‰Â”\‚Å‚·B + + ––„‚ßž‚Ý•Ï” + ˜b‚©‚¯‚½ƒvƒŒƒCƒ„[‚̃Xƒe[ƒ^ƒX‚È‚Ç‚ðŽQÆ‚Å‚«‚Ü‚·B + db/const.txt‚É‹Lq‚³‚ê‚Ä‚¢‚Ü‚·B + ƒXƒNƒŠƒvƒg“à‚Å‚Ì‚ÝŽg—p‰Â”\‚Å‚·B + ‚È‚¨Aˆê•”‚𜂢‚Ä’l‚Ì‘ã“ü‚Í‚Å‚«‚Ü‚¹‚ñB + + –Ž® + –½—ß•¶‚̈ø”‚ª”’l‚¾‚Á‚½ê‡A‚»‚±‚Å—˜—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + ƒXƒy[ƒX‚Í—v‚ç‚È‚¢‚悤‚Å‚·‚ª‚ ‚Á‚½•û‚ªŒ©ˆÕ‚¢‚Å‚·B + ”äŠr‰‰ŽZŽq‹y‚ј_—‰‰ŽZŽq‚Í’l‚ª^‚Å‚ ‚Á‚½‚Æ‚«”’l‚Ì1A‹U‚Å‚ ‚Á‚½‚Æ‚«0‚ð•Ô‚µ‚Ü‚·B + + –ƒCƒxƒ“ƒg + Œ`‚ðŽ‚½‚È‚¢ƒXƒNƒŠƒvƒg‚Å‚·B + ƒ^ƒCƒ€ƒAƒ^ƒbƒN‚È‚Ç‚Ì쬂Ɏg‚¢‚Ü‚·B + ƒCƒxƒ“ƒg–¼‚ð‹Lq‚·‚é•”•ª‚Å‚ÍAƒCƒxƒ“ƒg–¼::ƒ‰ƒxƒ‹–¼‚Æ‚·‚邱‚Æ‚Å‚»‚̃Cƒxƒ“ƒg‚ÌŽw’肵‚½ƒ‰ƒxƒ‹‚©‚ç + ƒXƒNƒŠƒvƒg‚ðŠJŽn‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + + ––½—ß\•¶ + ˆø”‚Í”¼ŠpƒXƒy[ƒX‚ð‹ó‚¯‚Ä‹Lq‚µ‚Ä‚‚¾‚³‚¢B + +‚RD–½—ß•¶‹y‚ÑŠÖ”‹y‚ђ蔃‰ƒxƒ‹ + ––½—ß•¶ + mes–½—ß + mes <string>; + + string •¶Žš—ñ + + <string>‚É‹Lq‚³‚ꂽ•¶Žš—ñ‚ðƒƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚Éo—Í‚µ‚Ü‚·B + + next–½—ß + next; + + ƒƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚Énextƒ{ƒ^ƒ“‚ð•\Ž¦‚µA‘Ò‹@‚µ‚Ü‚·B + + close–½—ß + close; + + ƒƒbƒZ[ƒWƒEƒBƒ“ƒhƒE‚Écloseƒ{ƒ^ƒ“‚ð•\Ž¦‚µAƒXƒNƒŠƒvƒg‚ðI—¹‚µ‚Ü‚·B + + menu–½—ß + menu <string1>,<label1>[,<stringN>,<labelN>...]; + + stringN •¶Žš—ñ + labelN ƒ‰ƒxƒ‹ + + ƒƒjƒ…[‚ð•\Ž¦‚µ‚Ü‚·B<stringN>‚É‹Lq‚³‚ꂽ•¶Žš—ñ‚ð‘I‘ð‚·‚é‚Æ<labelN>‚©‚çƒXƒNƒŠƒvƒg‚ðŠJŽn‚µ‚Ü‚·B + ‚Ü‚½A‘I‚΂ꂽƒ‰ƒxƒ‹‚̔Ԇ‚Í•Ï”@menu‚É‘ã“ü‚³‚ê‚Ü‚·B + (l15‚É‚à‘ã“ü‚³‚ê‚Ü‚·‚ªA‚±‚¿‚ç‚Í¡Œã“®ì‚ª•ÛႳ‚ê‚È‚¢‚Ì‚Ål15‚ÍŽg—p‚µ‚È‚¢‚ʼnº‚³‚¢j + + goto–½—ß + goto <label>; + + label ƒ‰ƒxƒ‹ + + <label>‚©‚çƒXƒNƒŠƒvƒg‚ðŠJŽn‚µ‚Ü‚·B + + cutin–½—ß + cutin <filename>,<position>; + + filename •¶Žš—ñ + position ”’l + + ƒJƒvƒ‰Eˆõ‚Ȃǂ̃JƒbƒgƒCƒ“‚ð•\Ž¦‚µ‚Ü‚·B<filename>‚Í•\Ž¦‚µ‚½‚¢ƒtƒ@ƒCƒ‹–¼A<position>‚Í•\Ž¦ˆÊ’u‚ðŽw’肵‚Ü‚·B + positionF0,¶‰ºA1,’†‰›‰ºA2,‰E‰ºA255,ƒJƒbƒgƒCƒ“Á‹Ž + + jobchange–½—ß + jobchange <job>[, <upper>]; + + job ”’l + upper ”’l + + E‹Æ‚ð•ÏX‚µ‚Ü‚·B<job>‚Ídb/const.txt‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B + <upper>‚Í0=’Êí,1=“]¶,2=—{Žq,-1 or –³‚µ=Œ»Ý‚Ì<upper>‚É‚È‚è‚Ü‚·B + jobLv‚ÍŽ©“®‚Å‚P‚É‚È‚è‚Ü‚·B + ƒo[ƒh‚ƃ_ƒ“ƒT[‚É‚Í’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B + + input–½—ß + input [<variable>]; + + variable •Ï”AÈ—ª‰Â + + “ü—̓EƒBƒ“ƒhƒE‚ðŠJ‚«A“ü—̓f[ƒ^‚ð<variable>‚É‘ã“ü‚µ‚Ü‚·B + •Ï”‚ÌŒ^‚ª•¶Žš—ñŒ^‚Ì‚Æ‚«‚Í•¶Žš—ñ“ü—̓EƒBƒ“ƒhƒEA®”Œ^‚Ì‚Æ‚«‚Í”’l“ü—̓EƒBƒ“ƒhƒE‚É‚È‚è‚Ü‚·B + <variable>‚ðÈ—ª‚µ‚½ê‡‚É‚Í”’l“ü—̓EƒBƒ“ƒhƒE‚ðo‚µAƒf[ƒ^‚Í•Ï”l14 (¬•¶Žš‚̃Gƒ‹+14)‚É‘ã“ü‚³‚ê‚Ü‚·B + il14‚Í¡Œã‚Ì“®ì‚ª•ÛႳ‚ê‚È‚¢‚Ì‚ÅAˆø”‚ÍÈ—ª‚µ‚È‚¢‚ʼnº‚³‚¢j + + warp–½—ß + warp <gatname>,<x>,<y>; + + gatname •¶Žš—ñ + x,y ”’l + + <gatname>‚ÉŽw’肳‚ꂽMAP‚ÌÀ•W<x>,<y>‚Ƀ[ƒv‚µ‚Ü‚·B + <gatname>‚ðSavePoint‚É‚µ‚½ê‡AƒZ[ƒuƒ|ƒCƒ“ƒg‚Ɉړ®‚µ‚Ü‚·B + Random‚É‚µ‚½ê‡A‚»‚ÌMAP“à‚Ì‚Ç‚±‚©‚Ɉړ®‚µ‚Ü‚·B‘¦‚¿<x><y>‚Í–³Ž‹B + + setlook–½—ß + setlook <n1>,<n2>; + + n1,n2 ”’l + + ŠOŒ©‚ð•ÏX‚µ‚Ü‚·B<n1>‚Í•”•i‚ðA<n2>‚ÍŽí—Þ‚ðŽw’肵‚Ü‚·B + n1F1,”¯Œ^A2,•ŠíA3,“ªã’iA4,“ª’†’iA5,“ª‰º’iA6,”¯FA7,•žFA8,‚ + ‘•”õ•i‚Í•ÏX‚³‚ê‚Ü‚¹‚ñBƒAƒTƒVƒ“’j‚ƃ[ƒO’j‚ÉŠÖ‚µ‚Ä‚Í•ž‚ÌF‚ª‚ ‚è‚Ü‚¹‚ñB + + + set–½—ß + set <variable>,<n>; + + variable •Ï” + n ”’l/•¶Žš—ñ + + <variable>‚É<n>‚ð‘ã“ü‚µ‚Ü‚·B + •¶Žš—ñŒ^‚ðŽg—p‚·‚é‚Æ‚«‚Í•Ï”–¼‚Ƀ|ƒXƒgƒtƒBƒbƒNƒX‚ð–Y‚ê‚È‚¢‚ʼnº‚³‚¢B + + setarray–½—ß + setarray <variable>[,<n0>[,<n1>c]]; + + variable •Ï” + nx ”’l/•¶Žš—ñ + + ”z—ñ<variable>‚É’l<n0>,<n1>,c‚̃ŠƒXƒg‚ð‘ã“ü‚µ‚Ü‚·B + <variable>‚Í”z—ñ–¼‚ðŽw’è‚·‚é‚Æʼn‚©‚çA—v‘f”Ô†‚àŽw’è‚·‚ê‚Γr’†‚©‚ç‘ã“ü‚Å‚«‚Ü‚·B + <—á> setarray @hoge[2],16,24,32; @hoge‚Ì—v‘f2‚©‚ç4‚Ü‚Å‚ð16,24,32‚É‚·‚éB + + cleararray–½—ß + cleararray <variable>,<n>,<count>; + + variable •Ï” + n ”’l/•¶Žš—ñ + count ”’l + + ”z—ñ<variable>‚É’l<n>‚ð<count>ŒÂ•ª‘ã“ü‚µ‚Ü‚·B + <variable>‚Í”z—ñ–¼‚ðŽw’è‚·‚é‚Æʼn‚©‚çA—v‘f”Ô†‚àŽw’è‚·‚ê‚Γr’†‚©‚ç‘ã“ü‚Å‚«‚Ü‚·B + <—á> cleararray @hoge[3],0,6; @hoge‚Ì—v‘f3‚©‚ç8‚Ü‚Å‚ð0‚ɃZƒbƒg‚·‚é + + copyarray–½—ß + copyarray <var1>,<var2>,<n>; + + <var1>,<var2> •Ï” + n ŒÂ” + + ”z—ñ<var1>‚É”z—ñ<var2>‚Ì—v‘f<n>ŒÂ‚ðƒRƒs[‚µ‚Ü‚·B + <var1>,<var2>‚Í”z—ñ–¼‚ðŽw’è‚·‚é‚Æʼn‚©‚çA—v‘f”Ô†‚àŽw’è‚·‚ê‚Γr’†‚©‚çƒRƒs[‚Å‚«‚Ü‚·B + + deletearray–½—ß + + deletearray <variable>,<n>; + + variable •Ï” + n ”’l + + ”z—ñ<variable>‚©‚ç<n>ŒÂ‚Ì—v‘f‚ð휂µAŒã‚ë‚Ì—v‘f‚ð‘O‚É‹l‚ß‚é + <variable>‚Í”z—ñ–¼‚ðŽw’è‚·‚é‚Æʼn‚©‚çA—v‘f”Ô†‚àŽw’è‚·‚ê‚Γr’†‚©‚ç휂ł«‚Ü‚·B + + if–½—ß + if (<cond>) goto <label>; + + cond ”’l + label ƒ‰ƒxƒ‹ + + <cond>‚ª0ˆÈŠO‚Ìê‡A<label>‚©‚çƒXƒNƒŠƒvƒg‚ðŠJŽn‚µ‚Ü‚·B + + getitem–½—ß + getitem <itemid>,<num>; + + itemid ”’l‚Ü‚½‚Í•¶Žš—ñ + num ”’l + + <itemid>‚ÉŽw’肳‚ꂽƒAƒCƒeƒ€ID‚ðŽ‚ƒAƒCƒeƒ€‚ð<num>ŒÂ•ª“üŽè‚µ‚Ü‚·B + <itemid>‚ª•¶Žš—ñ‚Ìê‡A‚»‚Ì–¼‘O(name,jname)‚ðŽ‚ƒAƒCƒeƒ€‚ÌID‚ðŽg—p‚µ‚Ü‚·B + ‚½‚¾‚µAƒAƒCƒeƒ€–¼‚Íitem_db.txt‚ȂǂɈˑ¶‚·‚邽‚ßAƒeƒXƒg–Ú“IˆÈŠO‚Å‚ÍŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + getitem2–½—ß + getitem <itemid>,<num>,<identify>,<refine>,<attribute>,<card1>, + <card2>,<card3>,<card4> + + itemid ”’l‚Ü‚½‚Í•¶Žš—ñ + num,identify,refine,attribute,card1,card2,card3,card4 ”’l + + <itemid>‚ÉŽw’肳‚ꂽƒAƒCƒeƒ€ID‚ðŽ‚ƒAƒCƒeƒ€‚ð<num>ŒÂ•ª“üŽè‚µ‚Ü‚·B + <identify> ŠÓ’èó‘Ô(0‚Å–¢ŠÓ’èA1‚ÅŠÓ’è) + <refine> ¸˜B’l + <attribute> ƒAƒCƒeƒ€‚Ìó‘Ô + <card1> ·‚³‚Ä‚¢‚éƒJ[ƒhA»‘¢•Ší‚È‚ç255‚Å‘•”õˆÈŠO‚̃AƒCƒeƒ€‚ŃLƒƒƒ‰‚Ì–¼‘O‚ð“ü‚ꂽ‚¢Žž‚Í254 + <card2> ·‚³‚Ä‚¢‚éƒJ[ƒhA»‘¢•Ší‚È‚ç‘®«‚Ư‚Ì‚©‚¯‚ç‚Ì”‚ðÝ’èB¯‚Ì‚©‚¯‚ç‚Ì”(”͈Í:0~3)*5*256 + ‘®«(–³:0A‰Î:3A…:1A•—:4A“y:2) + <card3> ·‚³‚Ä‚¢‚éƒJ[ƒhA»‘¢•Ší‚âƒLƒƒƒ‰‚Ì–¼‘O‚ª“ü‚éƒAƒCƒeƒ€‚̓Lƒƒƒ‰ID‚̉º‚Ì2ƒoƒCƒg + <card4> ·‚³‚Ä‚¢‚éƒJ[ƒhA»‘¢•Ší‚âƒLƒƒƒ‰‚Ì–¼‘O‚ª“ü‚éƒAƒCƒeƒ€‚̓Lƒƒƒ‰ID‚Ìã‚Ì2ƒoƒCƒg + + <itemid>‚ª•¶Žš—ñ‚Ìê‡A‚»‚Ì–¼‘O(name,jname)‚ðŽ‚ƒAƒCƒeƒ€‚ÌID‚ðŽg—p‚µ‚Ü‚·B + ‚½‚¾‚µAƒAƒCƒeƒ€–¼‚Íitem_db.txt‚ȂǂɈˑ¶‚·‚邽‚ßAƒeƒXƒg–Ú“IˆÈŠO‚Å‚ÍŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + delitem–½—ß + delitem <itemid>,<num>; + + itemid_num ”’l + + <itemid>‚ÉŽw’肳‚ꂽƒAƒCƒeƒ€ID‚ðŽ‚ƒAƒCƒeƒ€‚ð<num>ŒÂ•ªŽ¸‚¢‚Ü‚·B + + getexp–½—ß + getexp <base_exp>,<job_exp>; + + base_exp ”’l + job_exp ”’l + + <base_exp>‚ÉŽw’肳‚ꂽ”‚¾‚¯Base‚ÉŒoŒ±’l‚ª“ü‚è‚Ü‚·B + <job_exp>‚ÉŽw’肳‚ꂽ”‚¾‚¯Job‚ÉŒoŒ±’l‚ª“ü‚è‚Ü‚·B + ƒ}ƒCƒiƒX‚Ì”Žš‚Í“K‰ž‚³‚ê‚Ü‚¹‚ñB + + makepet–½—ß + makepet <petid>; + + petid ”’l + + <petid>‚ÉŽw’肳‚ꂽƒAƒCƒeƒ€ID‚ðŽ‚ƒyƒbƒg‚Ì—‘‚ð쬂µ‚Ü‚·B + + viewpoint–½—ß + viewpoint <type>,<x>,<y>,<id>,<color>; + + type,x,y,id ”’l + color •s–¾ + + Ž‘—¿•s‘«‚È‚Ì‚ÅÚ‚µ‚¢à–¾‚Í‚Å‚«‚Ü‚¹‚ñ‚ªAƒ~ƒjMAP‚É“_–Å‚·‚é“_‚ð•\Ž¦A휂µ‚Ü‚·B + type:1,•\Ž¦A2,íœ + + heal–½—ß + heal <hp>,<sp>; + + hp,sp ”’l + + <hp>•ªHP‚ðA<sp>•ªSP‚ð‰ñ•œ‚µ‚Ü‚·B + + itemheal–½—ß + itemheal <hp>,<sp>; + + hp,sp ”’l + + <hp>•ªHP‚ðA<sp>•ªSP‚ð‰ñ•œ‚µ‚Ü‚·Bheal‚Ƃ͈Ⴂ‰ñ•œ‚·‚éHP‚ÆSP‚Ì—Ê‚ÉVIT(SP‚Ìê‡INT)‚ƃXƒLƒ‹‚É‚æ‚é•â³‚ª•t‚«‚Ü‚·B + + end–½—ß + end; + + ƒXƒNƒŠƒvƒg‚ÌŽÀs‚ðI—¹‚µ‚Ü‚·B + + setoption–½—ß + setoption <string>; + + string •¶Žš—ñ + + ˆø—pF + PC‚Ɉȉº‚ÅŽ¦‚·•t‘®•i(?)‚ð•t‚¯‚Ü‚·B + 0x0000 - •t‘®•iíœ + 0x0001 - ? + 0x0002 - ƒnƒCƒh(‰e•t‚«) + 0x0004 - ?? + 0x0008 - ƒJ[ƒg + 0x0010 - ‘é + 0x0020 - ƒyƒRƒyƒR(ƒiƒCƒg,ƒNƒ‹ƒZƒCƒ_[‚ÌŽž‚Ì‚Ý—LŒø) + 0x0040 - ƒnƒCƒh(‰e–³‚µ) + 0x0080 - ƒJ[ƒg2 + 0x0100 - ƒJ[ƒg3 + 0x0200 - ƒJ[ƒg4 + 0x0400 - ƒJ[ƒg5 + 0x0800 - “ª‚ªƒI[ƒN(Sage‚̃XƒLƒ‹AƒŠƒo[ƒXƒI[ƒLƒbƒVƒ…‚ª‚©‚©‚Á‚½ó‘Ô‚É‚È‚é) + + ˆê’[‚·‚ׂÄÁ‚³‚ê‚Ä‚©‚ç•t‚¯’¼‚·‚Ì‚ÅA•¡”Žw’肵‚½‚¢ê‡‚ɂ͇Œv‚ðŽw’肵‚Ä‚‚¾‚³‚¢B + + savepoint–½—ß + savepoint <gatname>,<x>,<y>; + + gatname •¶Žš—ñ + x,y ”’l + + <gatname>‚ÌÀ•W<x>,<y>‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚Éݒ肵‚Ü‚·B + + openstorage–½—ß + openstorage; + + ‘qŒÉ‚ðŠJ‚«‚Ü‚·B + + setcart–½—ß + setcart; + + ƒJ[ƒg‚ð•t‚¯‚Ü‚·B + + successrefitem–½—ß + successrefitem <n>; + + n ”’l + + ¸˜B¬Œ÷ƒGƒtƒFƒNƒg‚ð•\Ž¦‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + failedrefitem–½—ß + failedrefitem <n>; + + n ”’l + + ¸˜BŽ¸”sƒGƒtƒFƒNƒg‚ð•\Ž¦‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + setfalcon–½—ß + setfalcon; + + ‘é‚ð•t‚¯‚Ü‚·B + + setriding–½—ß + setriding; + + ƒyƒRƒyƒR‚Éæ‚è‚Ü‚·B + + monster–½—ß + monster <gatname>,<x>,<y>,<mobname>,<mobid>,<num>[,<event>]; + + gatname,mobname •¶Žš—ñ + x,y,mobid,num ”’l + event •¶Žš—ñAÈ—ª‰Â + + <gatname>‚ÌÀ•W<x>,<y>‚É<mobname>‚ðŽ‚Â<mobid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð<num>‘ÌoŒ»‚³‚¹‚Ü‚·B + <gatname>‚ªthis‚ÌꇃXƒNƒŠƒvƒg‚ðŽÀs‚µ‚½ƒvƒŒƒCƒ„[‚ª‚¢‚éMAPA + <x><y>‚ª-1‚Ìê‡AƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚½ƒvƒŒƒCƒ„[‚ÌÀ•WA + <mobname>‚ª--en--‚ÌꇉpŒê–¼A--ja--‚Ìꇓú–{Œê–¼A<mobid>‚ª-1‚Ìꇃ‰ƒ“ƒ_ƒ€B + ‚»‚̃‚ƒ“ƒXƒ^[‚ð“|‚µ‚½‚Æ‚«<event>‚ðŠJŽn‚µ‚Ü‚·B + + announce–½—ß + announce <string>,<flag>; + + string •¶Žš—ñ + flag ”’l + + <string>‚ð‚f‚lƒAƒiƒEƒ“ƒX‚Å•\Ž¦‚µ‚Ü‚·B + <flag>‚͈ȉº‚ÉŽ¦‚·’Ê‚è‚Å‚·B + ƒGƒŠƒAƒtƒ‰ƒO + 0x00 ‚·‚ׂĂ̂l‚`‚o‚É‘—M + 0x01 “¯‚¶‚l‚`‚o + 0x02 ‰æ–Ê“à + 0x03 Ž©•ª‚Ì‚Ý + 0x04 “¯‚¶‚l‚`‚oŽI + Fƒtƒ‰ƒO + 0x00 ‰©F + 0x10 ÂF + “ÁŽêƒtƒ‰ƒO + 0x00 “Á‚É–³‚µ + 0x08 ƒCƒxƒ“ƒg—p + + ƒGƒŠƒAƒtƒ‰ƒO‚ÆFƒtƒ‰ƒO‚Æ“ÁŽêƒtƒ‰ƒO‚̇Œv‚ðŽw’肵‚Ä‚‚¾‚³‚¢B + + killmonster–½—ß + killmonster <gatname>[,<event>]; + + gatname •¶Žš—ñ + event •¶Žš—ñAÈ—ª‰Â + + <gatname>‚É‘¶Ý‚·‚郂ƒ“ƒXƒ^[‚ð‚·‚×‚ÄŽE‚µ‚Ü‚·B + <event>‚É‚æ‚Á‚ČĂÑo‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚Ì‚ÝŽE‚·‚±‚Æ‚à‰Â”\‚Å‚·B<event>‚ðAll‚É‚·‚é‚Æ‚»‚̃}ƒbƒv‚É‚ ‚éˆêŽž“I‚É¢Š«‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚ð‘S‚ÄŽE‚µ‚Ü‚·B + + killmonsterall–½—ß + killmonsterall <gatname> + + gatname •¶Žš—ñ + + <gatname>‚É‘¶Ý‚·‚郂ƒ“ƒXƒ^[‚ð‚·‚×‚ÄŽE‚µ‚Ü‚·Bkillmonster‚Ƃ͈á‚Á‚Ä‚»‚̃}ƒbƒv‚ÉŽn‚ß‚©‚ç”z’u‚³‚ê‚Ä‚¢‚½ƒ‚ƒ“ƒXƒ^[‚Ü‚Å‘S‚ÄŽE‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B + + + addtimer–½—ß + addtimer <ms>,<event>; + + ms ”’l + event •¶Žš—ñ + + Œ»Ý‚̃vƒŒƒCƒ„[‚ÉA<ms>ƒ~ƒŠ•bŒo‰ß‚µ‚½Œã<event>‚ðŠJŽn‚·‚éƒ^ƒCƒ}[‚ð쬂µ‚Ü‚·B + ‚±‚̃^ƒCƒ}[‚É‚æ‚Á‚ÄŽÀs‚³‚ê‚éƒCƒxƒ“ƒg‚ÍA‚±‚̃vƒŒƒCƒ„[‚Ìî•ñ‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B + ƒvƒŒƒCƒ„[‚ªƒƒOƒAƒEƒg‚·‚é‚ƃ^ƒCƒ}[‚Í–³Œø‚ɂȂ邽‚ß’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B + ƒAƒŠ[ƒiƒ}ƒbƒv‚È‚Ç‚ÅŽg—p‚·‚éꇂ͂±‚ê‚Å‚Í‚È‚NPCƒ^ƒCƒ}[‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B + + deltimer–½—ß + deltimer <event>; + + event •¶Žš—ñ + + Œ»Ý‚̃vƒŒƒCƒ„[‚Ì<event>‚ðŠJŽn‚·‚éƒ^ƒCƒ}[‚ðÁ‹Ž‚µ‚Ü‚·B + + addtimercount–½—ß + addtimercount <event>,<ms>; + + event •¶Žš—ñ + ms ”’l + + Œ»Ý‚̃vƒŒƒCƒ„[‚Ì<event>‚ðŠJŽn‚·‚éƒ^ƒCƒ}[‚ÌŠJŽn‚Ü‚Å‚ÌŽžŠÔ‚ð<ms>ƒ~ƒŠ•b’ljÁ‚µ‚Ü‚·B + + initnpctimer–½—ß + initnpctimer [<name>]; + + <name>‚ÅŽw’肳‚ꂽNPC‚ªŽ‚ÂNPCƒ^ƒCƒ}[‚Ì’l‚ð‚O‚É‚µAƒJƒEƒ“ƒg‚ðŠJŽn‚µ‚Ü‚·B + name‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + + ‚±‚ÌNPCƒ^ƒCƒ}[‚̓~ƒŠ•b’PˆÊ‚ÅOnTimerXXXX‚Æ‚¢‚¤ƒ‰ƒxƒ‹ƒCƒxƒ“ƒg‚ðŽÀs‚µ‚Ü‚·B + <—á> OnTimer1000: <= 1•bŒã, OnTimer30000: <= 30•bŒã + + stopnpctimer–½—ß + stopnpctimer [<name>]; + + <name>‚ÅŽw’肳‚ꂽNPC‚ªŽ‚ÂNPCƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ð’âŽ~‚µ‚Ü‚·B + name‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + + startnpctimer–½—ß + stopnpctimer [<name>]; + + <name>‚ÅŽw’肳‚ꂽNPC‚ªŽ‚ÂNPCƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ðÄŠJ‚µ‚Ü‚·B + name‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + ‚±‚¿‚ç‚Íinitnpctimer‚ƈႢAƒJƒEƒ“ƒg‚ð0‚ɃŠƒZƒbƒg‚µ‚Ü‚¹‚ñB + stopnpctimer‚ƃZƒbƒg‚ÅŽg—p‚µ‚Ü‚·B + + setnpctimer–½—ß + setnpctimer <tick>[,<name>] + + <name>‚ÅŽw’肳‚ꂽNPC‚ªŽ‚ÂNPCƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ð•ÏX‚µ‚Ü‚·B + name‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + getnpctimer‚ð—˜—p‚·‚ê‚ÎAƒJƒEƒ“ƒg‚𑌸‚Å‚«‚Ü‚·B + + disablenpc–½—ß + disablenpc <npcname>; + + npcname •¶Žš—ñ + + <npcname>‚𖳌ø‚É‚µ‚Ü‚·B + + enablenpc–½—ß + enablenpc <npcname>; + + npcname •¶Žš—ñ + + <npcname>‚ð—LŒø‚É‚µ‚Ü‚·B + + mapannounce–½—ß + mapannounce <gatname>,<string>,<flag>; + + gatname,string •¶Žš—ñ + flag ”’l + + <gatname>‘S‘Ì‚É<string>‚ð‚f‚lƒAƒiƒEƒ“ƒX‚Å•\Ž¦‚µ‚Ü‚·B + flag:0,‰©F•¶ŽšA16,•¶Žš + + areaannounce–½—ß + areannounce <gatname>,<x0>,<y0>,<x1>,<y1>,<string>,<flag>; + + gatname,string •¶Žš—ñ + x0,y0,x1,y1,flag ”’l + + <gatname>‚Ì<x0>,<y0>‚©‚ç<x1>,<y1>‚͈͓̔à‚ɑ΂µ<string>‚ð‚f‚lƒAƒiƒEƒ“ƒX‚Å•\Ž¦‚µ‚Ü‚·B + flag:0,‰©F•¶ŽšA16,•¶Žš + + areawarp–½—ß + areawarp <gatname>,<x0>,<y0>,<x1>,<y1>,<gatname2>,<x>,<y>; + + gatname,gatname2 •¶Žš—ñ + x0,y0,x1,y1,x,y ”’l + + <gatname>‚Ì<x0>,<y0>‚©‚ç<x1>,<y1>‚͈͓̔à‚É‚¢‚éPC‚ð<gatname2>‚ÌÀ•W<x>,<y>‚Ɉړ®‚³‚¹‚Ü‚·B + + areamonster–½—ß + areamonster <gatname>,<x0>,<y0>,<x1>,<y1>,<mobname>,<mobid>,<num>[,<event>]; + + gatname,mobname •¶Žš—ñ + x0,y0,x1,y1,mobid,num ”’l + event •¶Žš—ñAÈ—ª‰Â + + <gatname>‚Ì<x0>,<y0>‚©‚ç<x1>,<y1>‚͈͓̔à‚É<mobname>‚ðŽ‚Â<mobid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð<num>‘ÌoŒ»‚³‚¹‚Ü‚·B + <gatname>‚ªthis‚ÌꇃXƒNƒŠƒvƒgŽÀsMAPA<x><y>‚ª-1‚Ìꇃ‰ƒ“ƒ_ƒ€À•WA + <mobname>‚ª--en--‚ÌꇉpŒê–¼A--ja--‚Ìꇓú–{Œê–¼A<mobid>‚ª-1‚Ìꇃ‰ƒ“ƒ_ƒ€B + ‚»‚̃‚ƒ“ƒXƒ^[‚ð“|‚µ‚½‚Æ‚«<event>‚ðŠJŽn‚µ‚Ü‚·B + + percentheal–½—ß + percentheal <hp>,<sp>; + + hp,sp ”’l + + HP‚ÆSP‚ð<hp>%A<sp>%•ª‰ñ•œ‚µ‚Ü‚·B + + resetstatus–½—ß + resetstatus; + + ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B + + resetskill–½—ß + resetskill; + + ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B + + statusup–½—ß + statusup <st>; + + st ”’l + + <st>‚ÅŽw’肳‚ꂽŠî–{ƒXƒe[ƒ^ƒX’l‚ðAƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðÁ”‚Ä1ã‚°‚éB + <st>‚Í bStr, bVit, bInt, bAgi, bDex, bLuk ‚ÅŽw’è‚·‚éB + + statusup2–½—ß + statusup2 <st>,<n>; + + st,n ”’l + + <st>‚ÅŽw’肳‚ꂽŠî–{ƒXƒe[ƒ^ƒX’l‚ðAƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðÁ”‚¸‚É<n>ã‚°‚éB + <st>‚Í bStr, bVit, bInt, bAgi, bDex, bLuk ‚ÅŽw’è‚·‚éB + + skill–½—ß + skill <skillid>,<skilllv>,<flag>; + + skillid,skilllv,flag ”’l + + <skillid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ÂLV<skilllv>ƒXƒLƒ‹‚ðK“¾‚µ‚Ü‚·B + flag:0,P‹v“I‚ȃXƒLƒ‹Žæ“¾(ƒXƒLƒ‹ƒcƒŠ[‚É‚È‚¢•¨‚Í–³Œø)A1,ˆêŽž“I(”͈͕͂s–¾)‚Ȏ擾A + <skilllv>‚ð0‚É‚·‚é‚Æ‚±‚Å‚»‚̃XƒLƒ‹‚ð–Y‚ꂳ‚¹‚邱‚Æ‚à‰Â”\‚Å‚·B + + waitingroom–½—ß + waitingroom <title>,<limit>[,<event>[,<trigger>]]; + + title •¶Žš—ñ + limit ”’l + event •¶Žš—ñAÈ—ª‰Â + trigger ”’lAÈ—ª‰Â + + <title>‚ðƒ^ƒCƒgƒ‹‚Æ‚µ‚ă`ƒƒƒbƒgƒ‹[ƒ€‚ð•\Ž¦‚³‚¹‚Ü‚·B + <trigger>‚ð–ž‚½‚µ‚½‚Æ‚«A<event>‚ð“®ì‚³‚¹‚邱‚Æ‚ª‰Â”\‚Å‚·B + <trigger>‚ðÈ—ª‚·‚é‚Æ<limit>‚Ì”’l‚ªŽg—p‚³‚ê‚Ü‚·B + + delwaitingroom–½—ß + delewaitingroom [<name>] + + name •¶Žš—ñAÈ—ª‰Â + + Žw’肵‚½NPC‚̃`ƒƒƒbƒgƒ‹[ƒ€‚ð•Â‚¶‚Ü‚·B + <name>‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + + disablewaitingroomevent–½—ß + disablewaitingroomevent [<name>] + + name •¶Žš—ñAÈ—ª‰Â + + <name>‚ÅŽw’肵‚½NPC‚̃`ƒƒƒbƒgƒ‹[ƒ€‚̃Cƒxƒ“ƒg‚𖳌ø‚É‚µ‚Ü‚·B + <name>‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + + enablewaitingroomevent–½—ß + enablewaitingroomevent [<name>] + + name •¶Žš—ñAÈ—ª‰Â + + <name>‚ÅŽw’肵‚½NPC‚̃`ƒƒƒbƒgƒ‹[ƒ€‚̃Cƒxƒ“ƒg‚ð—LŒø‚É‚µ‚Ü‚·B + <name>‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + ‚Ü‚½AŠù‚ɃCƒxƒ“ƒg‚ª‹N‚±‚él”‚É’B‚µ‚Ä‚¢‚éê‡A + ‘¦À‚ɃCƒxƒ“ƒg‚ðŽÀs‚µ‚Ü‚·B + + warpwaitingnpc–½—ß + warpwaitingnpc <gatname>,<x>,<y>[,<num>]; + + gatname •¶Žš—ñ + x,y,num ”’l + + –½—ß‚ðŽÀs‚µ‚½NPC‚̃`ƒƒƒbƒgƒ‹[ƒ€‚É“ü‚Á‚Ä‚¢‚éPC‚Ì‚¤‚¿A + <num>‚ÅŽw’肵‚½l”‚ðA<gatname>‚ÌÀ•W<x>,<y>‚Ɉړ®‚³‚¹‚Ü‚·B + <num>‚ðÈ—ª‚·‚é‚Æ waitingroom‚Ì<trigger>‚ÅŽw’肵‚½l”‚ðŽg—p‚µ‚Ü‚·B + + ƒ[ƒv‚³‚¹‚½l”‚ð $@warpwaitingpcnum ‚ÉAƒ[ƒv‚³‚¹‚½l‚̃AƒJƒEƒ“ƒgID‚ð + ”z—ñ $@warpwaitingpc ‚ɃZƒbƒg‚µ‚Ü‚·(擪‚©‚çl”•ª)B + + + emotion–½—ß + emotion <n>; + + n ”’l + + <n>ƒGƒ‚[ƒVƒ‡ƒ“‚ðo‚µ‚Ü‚·B + + setmapflag–½—ß + setmapflag <gatname>,<flag>; + + gatname •¶Žš—ñ + flag ”’l + + <gatname>‚Ìmapflag‚ð’ljÁ‚µ‚Ü‚·B + <flag>‚Ídb/const.txt‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B + + removemapflag–½—ß + removemapflag <gatname>,<flag>; + + gatname •¶Žš—ñ + flag ”’l + + <gatname>‚Ìmapflag‚ðÁ‹Ž‚µ‚Ü‚·B + <flag>‚Ídb/const.txt‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B + + pvpon–½—ß + pvpon <gatname>; + + gatname •¶Žš—ñ + + <gatname>‚ðPVP‰Â”\MAP‚É‚µ‚Ü‚·B + + pvpoff–½—ß + pvpoff <gatname>; + + gatname •¶Žš—ñ + + <gatname>‚ðPVP•s‰ÂMAP‚É‚µ‚Ü‚·B + + gvgon–½—ß + gvgon <gatname>; + + gatname •¶Žš—ñ + + <gatname>‚ðƒV[ƒYƒ‚[ƒh‚É‚µ‚Ü‚·B + + gvgoff–½—ß + gvgoff <gatname>; + + gatname •¶Žš—ñ + + <gatname>‚ð”ñƒV[ƒYƒ‚[ƒh‚É‚µ‚Ü‚·B + + setmapflagnosave–½—ß + setmapflagnosave <gatname>,<savegatname>,<x>,<y>; + + gatname,nosavegat •¶Žš—ñ + x,y ”’l + + <gatname>‚Ìmapflag‚ÉnosaveAˆø”‚Æ‚µ‚Ä<savegatname>,<x>,<y>‚ðݒ肵‚Ü‚·B + + detachrid–½—ß + detachrid; + + NPC‚ɃAƒ^ƒbƒ`‚³‚ê‚Ä‚¢‚éID‚ðƒNƒŠƒA‚µ‚Ü‚·B + ˆÈŒãAƒLƒƒƒ‰ƒNƒ^[î•ñ‚ð•K—v‚Æ‚·‚é–½—ß‚ªŽÀs‚Å‚«‚È‚‚È‚è‚Ü‚·B + + doevent–½—ß + doevent <name>; + + name •¶Žš—ñ + + ƒvƒŒƒCƒ„[Žå‘̂̃Cƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B<name>‚ɂ̓Cƒxƒ“ƒg–¼‚ðŽw’肵‚Ü‚·B + ƒvƒŒƒCƒ„[‚ª‘¼‚ÌNPC‚Ɖï˜b’†‚È‚Ç‚ÅŽÀs‚Å‚«‚È‚¢ê‡AƒLƒ…[‚É“ü‚èAŽÀs‰Â”\‚É‚È‚é‚Ü‚Å‘Ò‚Á‚ÄŽÀs‚³‚ê‚Ü‚·B + ƒLƒ…[‚̃TƒCƒY‚͂ƂĂଂ³‚¢‚Ì‚ÅA˜A‘±‚Å‹N‚±‚é‚ƃCƒxƒ“ƒg‚ª–³Ž‹‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + ƒ‰ƒxƒ‹•t‚«ƒCƒxƒ“ƒg‚àŽw’è‚Å‚«‚Ü‚·‚ªANPC–¼‚ðÈ—ª‚Å‚«‚È‚¢‚Ì‚Å’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B + + donpcevent–½—ß + donpcevent <name>; + + name •¶Žš—ñ + + ƒvƒŒƒCƒ„[‚ªƒAƒ^ƒbƒ`‚³‚ê‚Ä‚¢‚È‚¢(NPCŽå‘Ì‚Ì)ƒCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B + <name>‚ɂ̓Cƒxƒ“ƒg–¼‚ðŽw’肵‚Ü‚·BƒCƒxƒ“ƒg‚Í‘¦À‚ÉŽÀs‚³‚ê‚Ü‚·B + ƒ‰ƒxƒ‹•t‚«ƒCƒxƒ“ƒg‚àŽw’è‚Å‚«ANPC–¼‚ðÈ—ª‚·‚邱‚Æ‚ÅAƒCƒxƒ“ƒg‚ðƒuƒ[ƒhƒLƒƒƒXƒg‚Å‚«‚Ü‚·B + i•¡”‚ÌNPC‚Ì“¯‚¶–¼‘O‚̃‰ƒxƒ‹‚ðŽÀs‚Å‚«‚éB —á„"::OnEvent"j + + callsub–½—ß + callsub <label> + + label ƒ‰ƒxƒ‹ + + “¯ˆêƒXƒNƒŠƒvƒg“à‚̃‰ƒxƒ‹<label>‚ðƒTƒuƒ‹[ƒeƒBƒ“‚Æ‚µ‚ÄŽÀs‚µ‚Ü‚·B + ƒTƒuƒ‹[ƒeƒBƒ“‚©‚ç•œ‹A‚·‚é‚Æ‚«‚Íreturn–½—ß‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B + ‚±‚Ì–½—ß‚Íreturn–½—ß‚ÌŽÀs󋵂ɂæ‚Á‚Ä‚ÍŠÖ”‚Æ‚µ‚ÄŽg—p‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B + + callfunc–½—ß + callfunc <func> + + func •¶Žš—ñ + + <func>‚Å’è‹`‚³‚ꂽƒ†[ƒU[’è‹`ŠÖ”‚ðŽÀs‚µ‚Ü‚·B + ƒ†[ƒU[’è‹`ŠÖ”‚©‚ç•œ‹A‚·‚é‚Æ‚«‚Íreturn–½—ß‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B + ‚±‚Ì–½—ß‚Íreturn–½—ß‚ÌŽÀs󋵂ɂæ‚Á‚Ä‚ÍŠÖ”‚Æ‚µ‚ÄŽg—p‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B + + return–½—ß + return <retval> + + retval ”’l‚Ü‚½‚Í•¶Žš—ñAÈ—ª‰Â + + ’¼‚¿‚ɃTƒuƒ‹[ƒeƒBƒ“‚à‚µ‚‚̓†[ƒU[’è‹`ŠÖ”‚𔲂¯AŒÄ‚Ño‚µŒ³‚É–ß‚è‚Ü‚·B + <retval>‚Í–ß‚è’l‚ÅAcallsub‚Ü‚½‚Ícallfunc‚ªŠÖ”‚Æ‚µ‚ČĂÑo‚³‚ê‚Ä‚¢‚é‚Æ‚«A‚±‚Ì–ß‚è’l‚ªŽg—p‚³‚ê‚Ü‚·B + callsub‚Ü‚½‚Ífunc‚ª–½—ß‚Æ‚µ‚ČĂ΂ê‚Ä‚¢‚é‚Æ‚«‚ÍA<retval>‚ÍÈ—ª‚µ‚Ä‚‚¾‚³‚¢B + + –ŠÖ” + randŠÖ” + rand(<n1>[,<n2>]) + + n1 ”’l + n2 ”’lAÈ—ª‰Â + + <n1>‚Ì‚ÝŽw’肳‚ê‚Ä‚¢‚½ê‡A0‚©‚ç<n1>-1‚Ü‚Å‚Ì”’l‚ðƒ‰ƒ“ƒ_ƒ€‚É‘I‚ñ‚Å•Ô‚µ‚Ü‚·B + <n2>‚ðŽw’肵‚½ê‡A<n1>‚©‚ç<n2>‚Ü‚Å‚Ì”ƒ`‚ðƒ‰ƒ“ƒ_ƒ€‚É‘I‚ñ‚Å•Ô‚µ‚Ü‚·B + + getitemnameŠÖ” + getitemname(<itemid>) + + itemid ”’l + + <itemid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ƒAƒCƒeƒ€‚Ìjname‚𕶎š—ñ‚Å•Ô‚µ‚Ü‚·B + ‚È‚¨AƒAƒCƒeƒ€–¼‚Íitem_db.txt‚ðŽQÆ‚µ‚Ü‚· + + countitemŠÖ” + countitem(<itemid>) + + itemid ”’l‚Ü‚½‚Í•¶Žš—ñ + + <itemid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ƒAƒCƒeƒ€‚ÌŠŽ”‚ð•Ô‚µ‚Ü‚·B + <itemid>‚ª•¶Žš—ñ‚Ìê‡A‚»‚Ì–¼‘O(name,jname)‚ðŽ‚ƒAƒCƒeƒ€‚ÌID‚ðŽg—p‚µ‚Ü‚·B + ‚½‚¾‚µAƒAƒCƒeƒ€–¼‚Íitem_db.txt‚ȂǂɈˑ¶‚·‚邽‚ßAƒeƒXƒg–Ú“IˆÈŠO‚Å‚ÍŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + checkweightŠÖ” + checkweight(<itemid>,<num>) + + itemid ”’l‚Ü‚½‚Í•¶Žš—ñ + num ”’l + + <itemid>‚ÉŽw’肳‚ꂽID‚ðŽ‚ƒAƒCƒeƒ€‚ð<num>ŒÂŽ‚‚±‚Æ‚ª‚Å‚«‚é‚Ì‚È‚ç‚Î1‚ðA + ‚Å‚«‚È‚¯‚ê‚Î0‚ð•Ô‚µ‚Ü‚·B + <itemid>‚ª•¶Žš—ñ‚Ìê‡A‚»‚Ì–¼‘O(name,jname)‚ðŽ‚ƒAƒCƒeƒ€‚ÌID‚ðŽg—p‚µ‚Ü‚·B + ‚½‚¾‚µAƒAƒCƒeƒ€–¼‚Íitem_db.txt‚ȂǂɈˑ¶‚·‚邽‚ßAƒeƒXƒg–Ú“IˆÈŠO‚Å‚ÍŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + strcharinfoŠÖ” + strcharinfo(<n>) + + n ”’l + + ƒLƒƒƒ‰î•ñ‚ð•Ô‚µ‚Ü‚·B + n:0,ƒLƒƒƒ‰–¼A1,ƒp[ƒeƒB[–¼A2,ƒMƒ‹ƒh–¼ + + getequipnameŠÖ” + strcharinfo(<n>) + + n ”’l + + ‘•”õ•i–¼‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequipisequipedŠÖ” + getequipisequiped(<n>) + + n ”’l + + ‘•”õ‚µ‚Ä‚¢‚½‚ç1A‚µ‚Ä‚¢‚È‚©‚Á‚½‚ç0‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequipisenablerefŠÖ” + getequipisenableref(<n>) + + n ”’l + + ¸˜B‚Å‚«‚éꇂÍ1A‚Å‚«‚È‚¢ê‡‚Í0‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequipisidentifyŠÖ” + getequipisidentify(<n>) + + n ”’l + + ŠÓ’èÏ‚Ý‚Ìê‡1A–¢ŠÓ’è‚Ìê‡0‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequiprefinerycntŠÖ” + getequiprefinerycnt(<n>) + + n ”’l + + ¸˜B‚Ì“x‡‚¢‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequipweaponlvŠÖ” + getequipweaponlv(<n>) + + n ”’l + + •ŠíLV‚ð•Ô‚µ‚Ü‚·B–h‹ï‚ÌꇂɂÍ0A‚ ‚Æ‚Í•ŠíLV‚ɑΉž‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getequippercentrefineryŠÖ” + getequippercentrefinery(<n>) + + n ”’l + + ¸˜B¬Œ÷—¦‚ð•Ô‚µ‚Ü‚·B + n:1,“ª‘•”õA2,ŠZA3,¶ŽèA4,‰EŽèA5,‚©‚¯‚é‚à‚ÌA6,ŒCA7,ƒAƒNƒZ‚PA8,ƒAƒNƒZ‚QA9,“ª’†’iA10,“ª‰º’i + + getusersŠÖ” + getusers(<n>) + + n ”’l + + l”‚ð•Ô‚µ‚Ü‚·B + n:0,PC‚Ì‚¢‚éMAP‚Ì‘l”A1,‘SMAP‚Ì‘l”i‘¦‚¿ƒƒOƒCƒ“l”jA8,NPC‚Ì‘¶Ý‚·‚éMAP‚Ì‘l” + + getmapusersŠÖ” + getmapusers(<gatname>) + + gatname •¶Žš—ñ + + <gatname>‚É‘¶Ý‚·‚é‘l”‚ð•Ô‚µ‚Ü‚·B + + getareausersŠÖ” + getareausers(<gatname>,<x0>,<y0>,<x1>,<y1>) + + gatname •¶Žš—ñ + x0,y0,x1,y1 ”’l + + <gatname>‚Ì<x0>,<y0>‚©‚ç<x1>,<y1>‚͈͓̔à‚É‚¢‚él”‚ð•Ô‚µ‚Ü‚·B + + getskilllvŠÖ” + getskilllv(<skillid>) + + skillid ”’l + + <skillid>‚ÅŽw’肵‚½ID‚ðŽ‚ƒXƒLƒ‹‚ÌLV‚ð•Ô‚µ‚Ü‚·BK“¾‚µ‚Ä‚¢‚È‚¢ê‡‚Í0‚ð•Ô‚µ‚Ü‚·B + + getcharidŠÖ” + getcharid(<n>) + + n ”’l + + ƒLƒƒƒ‰î•ñ‚ðID‚Å•Ô‚µ‚Ü‚·B + n=0 ƒLƒƒƒ‰ID + n=1 ƒp[ƒeƒB[ + n=2 ƒMƒ‹ƒh + n=3 ƒAƒJƒEƒ“ƒgID + + getpartynameŠÖ” + getpartyname(<n>) + + n ”’l + + <n>‚ÅŽw’肵‚½ID‚ðŽ‚ƒp[ƒeƒB[–¼‚ð•Ô‚µ‚Ü‚·B + + getguildnameŠÖ” + getguildname(<n>) + + n ”’l + + <n>‚ÅŽw’肵‚½ID‚ðŽ‚ƒMƒ‹ƒh–¼‚ð•Ô‚µ‚Ü‚·B + + getguildmasterŠÖ” + getguildname(<n>) + + n ”’l + + <n>‚ÅŽw’肵‚½ID‚ðŽ‚ƒMƒ‹ƒh‚̃}ƒXƒ^[‚Ì–¼‘O‚ð•Ô‚µ‚Ü‚·B + + getguildmasteridŠÖ” + getguildmasterid(<n>) + + n ”’l + + <n>‚ÅŽw’肵‚½ID‚ðŽ‚ƒMƒ‹ƒh‚̃}ƒXƒ^[‚̃Lƒƒƒ‰ƒNƒ^[ID‚ð•Ô‚µ‚Ü‚·B + + basicskillcheckŠÖ” + basicskillcheck(0); + + battle_athena.conf‚Ìbasic_skill_check‚ÌÝ’è’l‚ð•Ô‚µ‚Ü‚·B0‚͈Ӗ¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ª‰½‚à“ü‚ê‚È‚©‚Á‚½ê‡ƒGƒ‰[‚É‚È‚è‚Ü‚·B + basic_skill_check‚ƃJƒvƒ‰‚Ì‘qŒÉ—˜—p‚ð‡‚킹‚éˆ×‚Éì‚Á‚½•¨‚Å‚»‚êˆÈŠO‚Ì‹@”\‚Í‚ ‚è‚Ü‚¹‚ñB–ß‚Á‚½”’l‚ª0‚È‚çbasic_skill_check‚ªnoA1‚È‚çyes‚Å‚·B + + getgmlevelŠÖ” + getgmlevel(0); + + ƒvƒŒƒCƒ„[‚ÌGMƒŒƒxƒ‹‚ð•Ô‚µ‚Ü‚·B + + guildopenstorageŠÖ” + guildopenstorage(0); + + ƒMƒ‹ƒh‘qŒÉ‚ðŠJ‚«‚Ü‚·B + •Ô‚½”’l‚ª2‚È‚çƒMƒ‹ƒh‚ÉŠ‘®‚µ‚Ä‚È‚¢ƒLƒƒƒ‰‚ÆŒ¾‚¤ˆÓ–¡‚Å + 1‚Ȃ瑼‚̃Mƒ‹ƒhƒƒ“ƒo[‚ª‘qŒÉ‚ðŽg—p’†‚̈Ӗ¡‚Å‚·B + 0‚Ȃ笌÷“I‚ɃMƒ‹ƒh‘qŒÉ‚ªŠJ‚¢‚½‚Æ‚Ì‚±‚Æ‚Å‚·B + + getwaitingroomstateŠÖ” + getwaitingroomstate(<num>,[<name>]) + + num ”’l + name •¶Žš—ñAÈ—ª‰Â + + <name>‚ÅŽw’肵‚½NPC‚̃`ƒƒƒbƒgƒ‹[ƒ€‚Ìó‘Ô‚ð•Ô‚µ‚Ü‚·B + <name>‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + <num>‚Å“¾‚½‚¢î•ñ‚ðŽw’肵‚Ü‚·B + + num=0 Œ»Ýƒ`ƒƒƒbƒgƒ‹[ƒ€‚É“ü‚Á‚Ä‚¢‚él”i”’lj + num=1 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚ÌŒÀŠEl”i”’lj + num=2 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚̃Cƒxƒ“ƒg‚ð‹N‚±‚·l”i”’lj + num=3 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚̃Cƒxƒ“ƒg‚ª—LŒø‚©‚Ç‚¤‚©i”’lj + num=4 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚̃^ƒCƒgƒ‹i•¶Žš—ñj + num=5 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚̃pƒXƒ[ƒhi•¶Žš—ñj + num=16 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚̃Cƒxƒ“ƒg–¼i•¶Žš—ñj + num=32 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚ª–žˆõ‚©‚Ç‚¤‚©i”’lj + num=33 ƒ`ƒƒƒbƒgƒ‹[ƒ€‚ŃCƒxƒ“ƒg‚ª‹N‚±‚él”‚©‚Ç‚¤‚©i”’lj + + getnpctimerŠÖ” + getnpctimer(<num>[,<name>]) + + num ”’l + + <name>‚ÅŽw’肳‚ꂽNPC‚ªŽ‚ÂNPCƒ^ƒCƒ}[‚Ìî•ñ‚𓾂܂·B + name‚ðÈ—ª‚·‚é‚ÆA–½—ß‚ðŽÀs‚µ‚½NPC‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + <num>‚Å“¾‚½‚¢î•ñ‚ðŽw’肵‚Ü‚·B + + num=0 Œ»Ý‚ÌNPCƒ^ƒCƒ}[‚̃JƒEƒ“ƒg’l + num=1 Œ»ÝNPCƒ^ƒCƒ}[‚ª“®ì‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚© + num=2 Žw’èNPC‚̃^ƒCƒ}[ƒCƒxƒ“ƒgƒ‰ƒxƒ‹‚Ì‘” + + attachridŠÖ” + attachrid(<num>) + + num ”’l + + <num>‚ÅŽw’肳‚ꂽID‚̃Lƒƒƒ‰ƒNƒ^[‚ðŽÀs‚µ‚½ƒXƒNƒŠƒvƒg‚ɃAƒ^ƒbƒ`‚µ‚Ü‚·B + ˆÈŒãAƒLƒƒƒ‰ƒNƒ^[‚ÉŠÖ‚·‚é–½—ß‚âŠÖ”/•Ï”‚È‚Ç‚Í‘S‚ÄV‚µ‚¢ƒLƒƒƒ‰ƒNƒ^[‚ª‘ÎÛ‚É‚È‚è‚Ü‚·B + ‚±‚ê‚̓XƒNƒŠƒvƒg‚ªI—¹/’†’f‚·‚é(close,end,menu,next,input‚È‚Ç‚ÌŽÀs)‚Ü‚Å—LŒø‚Å‚·B + Žå‚ɃCƒxƒ“ƒg‚Å‹N“®‚³‚ꂽƒXƒNƒŠƒvƒg“à‚Ń}ƒbƒv•Ï”‚ðŽg‚Á‚ĕʃLƒƒƒ‰ƒNƒ^[‚ð + ƒAƒ^ƒbƒ`‚·‚é‚Ì‚ÉŽg—p‚µ‚Ü‚·Bgetcharid(3)‚ÅŠ“¾‚µ‚½ƒAƒJƒEƒ“ƒgID‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B + ‚È‚¨Aƒfƒ^ƒbƒ`‚É‚Ídetachrid–½—ß‚ðŽg‚¢‚Ü‚·B + + ’ˆÓ‚·‚ׂ«“_‚Æ‚µ‚Ä‚ÍA‚±‚Ì–½—ß‚ÅPC‚ðƒAƒ^ƒbƒ`‚µ‚½ê‡Ames,menu,next‚È‚Ç‚Ì + ƒEƒBƒ“ƒhƒE(‚âƒ{ƒ^ƒ“)‚ªo‚é–½—ß‚ðŽÀs‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB + ‘ŠŽè‚ª‘¼‚ÌNPC‚Ɖï˜b’†‚Ìê‡A‚±‚ê‚ç‚Ì–½—߂ͳ‚µ‚“®ì‚µ‚Ü‚¹‚ñB + î•ñŠ“¾–½—ß‚È‚Ç‚¾‚¯‚ÅÏ‚Ü‚¹‚é‚ׂ«‚Å‚·B + + ‚±‚ÌŠÖ”‚̓Aƒ^ƒbƒ`‚ɬŒ÷‚µ‚½‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B + ‹U(0)‚ª•Ô‚Á‚Ä—ˆ‚½ê‡‚ÍAŠY“–ƒLƒƒƒ‰ƒNƒ^[‚ª‘¶Ý‚µ‚Ä‚¢‚Ü‚¹‚ñB + + isloggedinŠÖ” + isloggedin(<num>) + + num ”’l + + <num>‚ÅŽw’肳‚ꂽID‚̃Lƒƒƒ‰ƒNƒ^[‚ª‚±‚̃}ƒbƒvƒT[ƒo[‚É + ƒƒOƒCƒ“‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©’²‚ׂ܂·B + + getarraysizeŠÖ” + getarraysize(<variable>) + + variable •Ï” + + ”z—ñ<variable>‚Ì—LŒø‚ȃTƒCƒY‚𒲂ׂ܂·B + ‚±‚±‚ł̃TƒCƒY‚Í—v‘f‚ª0i•¶Žš—ñ•Ï”‚Å‚Í"")‚Å‚È‚¢A + Å‘å‚Ì—v‘f”Ô†+1 ‚É‚È‚è‚Ü‚·B + ”z—ñ–¼‚Å‚Í‚È‚—v‘f”Ô†•t‚«‚ÅŽw’è‚·‚é‚ÆA + ‚È‚‚Æ‚à‚»‚Ì—v‘f‚Ü‚Å‚Í‘S‚Ä—LŒø‚Å‚ ‚é‚Ɖ¼’肵‚Ü‚·B + <—á> ”z—ñ@hoge‚ª 1,2,3,4,5 ‚¾‚Æ‚·‚é‚ÆA + getarraysize(@hoge)=5, getarraysize(@hoge[10])=10; + + callsubŠÖ” + callsub <label> + + callsub–½—ß‚ðŠÖ”‚Æ‚µ‚ÄŽÀs‚µ‚Ü‚·BÚ‚µ‚‚Ícallsub–½—ß‚ðŒ©‚Ä‚‚¾‚³‚¢B + + callfuncŠÖ” + callfunc <func> + + callfunc–½—ß‚ðŠÖ”‚Æ‚µ‚ÄŽÀs‚µ‚Ü‚·BÚ‚µ‚‚Ícallfunc–½—ß‚ðŒ©‚Ä‚‚¾‚³‚¢B + + –’蔃‰ƒxƒ‹ + -ƒ‰ƒxƒ‹ + if•¶‚âmenu•¶‚ÅŽg—p‚µ‚Ü‚·BŽŸ‚Ìs‚©‚çƒXƒNƒŠƒvƒg‚ðŠJŽn‚µ‚Ü‚·B + + OnInitƒ‰ƒxƒ‹ + MAP‚ªƒ[ƒh‚³‚ꂽ‚Æ‚«ƒXƒNƒŠƒvƒg‚ðŠJŽn‚µ‚Ü‚·B + + OnInterIfInitƒ‰ƒxƒ‹ + MAPƒT[ƒo[‚ªInterƒT[ƒo[‚ÉÚ‘±‚µ‚½‚Æ‚«‚ÉŽÀs‚µ‚Ü‚·B + + OnCharIfInitƒ‰ƒxƒ‹ + MAPƒT[ƒo[‚ªCharƒT[ƒo[‚ÉÚ‘±‚µ‚½‚Æ‚«‚ÉŽÀs‚µ‚Ü‚·B + + OnMinuteXXƒ‰ƒxƒ‹ + –ˆŽžXX•ª‚ÉŽÀs‚µ‚Ü‚·B”’l‚Í\i”‚QŒ…‚Å‚·B + + OnClockXXXXƒ‰ƒxƒ‹ + –ˆ“úXXŽžXX•ª‚ÉŽÀs‚µ‚Ü‚·B”’l‚Í\i”‚SŒ…‚Å‚·B + + OnHourXXƒ‰ƒxƒ‹ + –ˆ“úXXŽž00•ª‚ÉŽÀs‚µ‚Ü‚·B”’l‚Í\i”‚QŒ…‚Å‚·B + + OnDayXXƒ‰ƒxƒ‹ + –ˆŒŽXX“ú00Žž00•ª‚ÉŽÀs‚µ‚Ü‚·B”’l‚Í\i”‚QŒ…‚Å‚·B + + OnTimerXƒ‰ƒxƒ‹ + NPCƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ªX‚É‚È‚Á‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + ‚±‚ÌX‚̓~ƒŠ•b’PˆÊ‚Å‚·BŒ…”‚ÍŠÖŒW‚ ‚è‚Ü‚¹‚ñB + + OnAgitInitƒ‰ƒxƒ‹ + ƒMƒ‹ƒhéƒf[ƒ^‚Æè‹’ƒMƒ‹ƒhî•ñ‚ªƒ}ƒbƒvƒT[ƒo[“à‚É + Š“¾‚³‚ꂽ‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + ƒMƒ‹ƒhéŠÖŒW‚ÌNPC‚̉Šú‰»‚ÉŽg—p‚µ‚Ü‚·B + + OnAgitStartƒ‰ƒxƒ‹ + ƒMƒ‹ƒhUé킪Žn‚Ü‚Á‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + + OnAgitEndƒ‰ƒxƒ‹ + ƒMƒ‹ƒhUé킪I‚í‚Á‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + + OnAgitBreakƒ‰ƒxƒ‹ + ƒGƒ“ƒyƒŠƒEƒ€‚ð”j‰ó‚µ‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + ‚±‚̃‰ƒxƒ‹‚Í”j‰ó‚µ‚½ƒvƒŒƒCƒ„[‚ðŽå‘Ì‚É‚µ‚ÄŽÀs‚³‚ê‚Ü‚·B + + OnAgitEliminateƒ‰ƒxƒ‹ + ƒGƒ“ƒyƒŠƒEƒ€”j‰óŒãAƒMƒ‹ƒh‚ÌŠ—LŽÒ‚ª‘‚«Š·‚í‚é‚Æ‚«‚É + ŒÄ‚΂ê‚Ü‚·B + + –’ˆÓŽ–€ + •¶Žš—ñ‚Æà–¾‚³‚ê‚Ä‚¢‚éˆø”‚Í""‚ň͂Á‚Ä‚‚¾‚³‚¢B + +4. Error Message + + * Make an error at the time of compile (it is a thing at the time of map server starting). + A place is displayed for the line number of an error. + + unexpected expr end + It is the end of an unexpected formula. + ', ', and';' are in the beginning of a formula. + + unmatch ')' + ')' does not match. + Correspondence of parenthesis'('')' is amusing. + + unexpected newline @ string + It is the new-line which is not expected in a character sequence. + There is a new-line in the middle of a character sequence (surrounded by '"'). + Probably it is a failure of '"' to close. + + unexpected eof @ string + It is the file terminus which is not expected in a character sequence. + The file finished in the middle of the character sequence. + Probably it is a failure of '"' to close. + + unexpected character + unexpected char + It is an unexpected character. + It is thought that the variable etc. is not following a naming rule. + + l14 and l15 is DEPRECATED. use @menu instead of l15. + l14 and l15 are not recommended. Please use @menu instead of l15. + + prefix 'l' is DEPRECATED. use prefix '@' instead. + Prefix'l' is not recommended. Please use '@' instead. + + unmatch ']' + ']' does not carry out an interval. + Correspondence of parenthesis']' is missing. + + expect function + ŠÖ”‚ðŠú‘Ò‚µ‚Ä‚¢‚Ü‚µ‚½ + ŠÖ”ŒÄ‚Ño‚µ‰‰ŽZŽq'('‚Ì‘O‚ÉŠÖ”ˆÈŠO‚̃Vƒ“ƒ{ƒ‹‚ª‚ ‚è‚Ü‚·B + ‚¨‚»‚ç‚ŠÖ”–¼‚ðŠÔˆá‚¦‚Ä‚¢‚Ü‚·B + + expect ',' or ')' at func params + ŠÖ”‚̈ø”‚É‚¨‚¢‚Ä','‚©')'‚ðŠú‘Ò‚µ‚Ä‚¢‚Ü‚µ‚½ + ‚¨‚»‚炈ø”‹æØ‚è‚Ì','‚©')'‚ð–Y‚ê‚Ä‚¢‚Ü‚·B + + func request '(' ')' + ŠÖ”ŒÄ‚Ño‚µ‚ÌŠ‡ŒÊ‘Ήž–â‘è + ‚¨‚»‚炈ø”‚Ì”‚ª128‚ð’´‚¦‚Ü‚µ‚½B + + illeagal number of parameters + ƒpƒ‰ƒ[ƒ^‚Ì”‚ª•s³‚Å‚· + ŠÖ”/–½—߃pƒ‰ƒ[ƒ^‚̌”‚ªˆÙ‚È‚è‚Ü‚·B + ˆø”‚̌”‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢B + ƒGƒ‰[ˆÊ’u‚Í‘S‚Ă̈ø”‚ÌŒã‚É‚È‚è‚Ü‚·B + + expect command + –½—ß‚ðŠú‘Ò‚µ‚Ä‚¢‚Ü‚µ‚½ + –½—߈ȊO‚̃Vƒ“ƒ{ƒ‹‚ª“Ë‘RoŒ»‚µ‚Ä‚¢‚Ü‚·B + ‚¨‚»‚ç‚–½—ß–¼‚ðŠÔˆá‚¦‚Ä‚¢‚Ü‚·B + + expect ',' or ';' at cmd params + –½—߂̈ø”‚É‚¨‚¢‚Ä','‚©';'‚ðŠú‘Ò‚µ‚Ä‚¢‚Ü‚µ‚½ + ‚¨‚»‚炈ø”‹æØ‚è‚Ì','‚©';'‚ð–Y‚ê‚Ä‚¢‚Ü‚·B + + need ';' + ';'‚ª•K—v‚Å‚· + ‚¨‚»‚炈ø”‚Ì”‚ª128‚ð’´‚¦‚Ü‚µ‚½B + + ŽÀsŽž‚̃Gƒ‰[ + fatal error ! player not attached! + ’v–½“IƒGƒ‰[IƒvƒŒƒCƒ„[‚ªƒAƒ^ƒbƒ`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñI + + ƒLƒƒƒ‰ƒNƒ^[‚ð“Á’è‚Å‚«‚È‚¢ƒCƒxƒ“ƒg‚ÅŽÀs‚³‚ê‚Ä‚¢‚é + ƒXƒNƒŠƒvƒg‚Ì’†‚ŃLƒƒƒ‰ƒNƒ^[î•ñ‚ª•K—v‚È–½—ß‚âŠÖ”A + •Ï”‚ÖƒAƒNƒZƒX‚µ‚Ü‚µ‚½BattachridŠÖ”‚ðŽg‚¤‚©A + ƒLƒƒƒ‰ƒNƒ^[î•ñ‚ª•s—v‚È–½—ß‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B + ‚à‚µ‚‚ÍAattachridŠÖ”‚Åݒ肳‚ꂽî•ñ‚ª•s³‚Å‚·B + ‚È‚¨A‚±‚̃Gƒ‰[‚ª‹N‚±‚é‚Æ’¼Œã‚ɃRƒA‚ð“f‚‚ÆŽv‚í‚ê‚Ü‚·B + + NPCŽå‘̃Cƒxƒ“ƒg‚Åannounce‚µ‚½‚Æ‚«‚Ƀtƒ‰ƒO0x08‚ðŽw’肵‚Ä‚¢‚È‚¢ + ê‡‚à‚±‚̃Gƒ‰[‚ª‚Å‚Ü‚·B + + + illeagal scope string variable. + •¶Žš—ñ•Ï”‚̃XƒR[ƒv‚ª•s³‚Å‚·B + –¢‘Ήž‚̃vƒŒƒtƒBƒbƒNƒX‚Å•¶Žš—ñ•Ï”‚ªŽg—p‚³‚ê‚Ü‚µ‚½B + ƒvƒŒƒtƒBƒbƒNƒX‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢B + + illeagal scope + ƒXƒR[ƒv‚ª•s³‚Å‚·B”z—ñ•Ï”–¢‘Ήž‚̃vƒŒƒtƒBƒbƒNƒX‚ð + Ž‚•ϔ‚É”z—ñ•Ï”Œn‚Ì–½—ß‚ðŽÀs‚µ‚½ê‡‚È‚ÇB + + not label ! + goto/menu–½—߂щƒxƒ‹‚ªŽw’肳‚ê‚é‚ׂ«‚Æ‚±‚ë‚É + ƒ‰ƒxƒ‹ˆÈŠO‚̃Vƒ“ƒ{ƒ‹‚ªŽw’肳‚ê‚Ä‚¢‚Ü‚·B + ‚à‚µ‚‚ÍAƒ‰ƒxƒ‹–¼‚Æ•Ï”–¼‚ªƒoƒbƒeƒBƒ“ƒO‚µ‚Ä‚¢‚Ü‚·B + + buildin_set: not name + set–½—ß‚Å‘æˆêˆø”‚ª•Ï”–¼‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + getelementofarray (operator[]): param2 illeagal number + ”z—ñ•Ï”‚Å[]“à‚Ì’l‚ª•s³‚Å‚· + []“à‚Ì’l‚ª0–¢–ž‚©128ˆÈã‚É‚È‚è‚Ü‚µ‚½ + + getelementofarray (operator[]): param1 not name + ”z—ñ•Ï”‚Å[]‚Ì‘O‚̃Vƒ“ƒ{ƒ‹‚ª•Ï”–¼‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + op_2: int&str, str&int not allow. + ŠÖŒW‰‰ŽZŽqi”äŠr‰‰ŽZŽqj‚ÅA”’l‚Æ•¶Žš—ñA‚à‚µ‚‚Í + •¶Žš—ñ‚Æ”’l‚ªŽw’肳‚ê‚Ü‚µ‚½B + + infinity loop ! + ƒXƒNƒŠƒvƒg‚ÌŽÀs–½—ß”‚©Agoto/menu–½—ߎÀs‰ñ”‚ª + ‘½‚·‚¬‚é‚Ì‚ÅA–³ŒÀƒ‹[ƒv‚Æ”»’f‚µ‚Ü‚µ‚½B + ƒXƒNƒŠƒvƒg‚ÌŽÀs‚Í‹§“I‚É’†’f‚³‚ê‚Ü‚µ‚½B + + not function and command ! + ŠÖ”ŽÀs/–½—ߎÀs•”•ª‚ÅAŠÖ”‚Å‚à–½—ß‚Å‚à‚È‚¢ + ƒVƒ“ƒ{ƒ‹‚ª‚ ‚è‚Ü‚µ‚½B + if•¶‚Ì‚È‚©‚Å‚ ‚é‰Â”\«‚ª‚‚¢‚Å‚·B + + return without callfunc or callsub ! + callfunc‚âcallsub‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚Éreturn–½—ß‚ðŽÀs‚µ‚Ü‚µ‚½B + + stack.sp(?) != default(?) + ƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚ªŠî€ƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚ƈقȂÁ‚Ä‚¢‚Ü‚·B + –½—ß‚ðŽÀs‚µ‚½Œ‹‰ÊAƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚ª‹¶‚¢‚Ü‚µ‚½B + ŠÖ”‚ð–½—ß‚Æ‚µ‚ÄŽÀs‚µ‚½‰Â”\«‚ª‚ ‚è‚Ü‚·B + + +5. Postscript + NPC contained in snapshot was made reference in creating this text. + I appreciate people which created NPC. + +It corrects based on text by asong (2004/3/1). + + |