From 97bb21a79949779df76269b087f3bce7ef8179ee Mon Sep 17 00:00:00 2001 From: Dennis Friis Date: Wed, 2 Apr 2008 15:09:18 +0000 Subject: initial checkin --- doc/Changelog.txt | 1729 +++++ doc/LICENCE | 340 + doc/LICENCE_JA | 416 + doc/Readme-jap | 17507 ++++++++++++++++++++++++++++++++++++++++++ doc/Readme2.txt | 368 + doc/admin_packet.txt | 281 + doc/agitdb_ref.txt | Bin 0 -> 2322 bytes doc/client_packet.txt | 1072 +++ doc/command.txt | 40 + doc/conf_ref.txt | 1981 +++++ doc/coredump_report.txt | 109 + doc/db_ref.txt | 147 + doc/help.txt | 453 ++ doc/help1.txt | 398 + doc/history.txt | 173 + doc/inter_server_packet.txt | 204 + doc/item.txt | 1451 ++++ doc/item_bonus.txt | 137 + doc/packet_table_en.txt | 1324 ++++ doc/readme.html | 163 + doc/readme.txt | 122 + doc/readme/changelog.html | 115 + doc/readme/faq.html | 146 + doc/readme/features.html | 239 + doc/readme/gmcommands.html | 692 ++ doc/readme/midbanner.jpg | Bin 0 -> 75914 bytes doc/readme/npcfeatures.html | 143 + doc/readme/rc5.css | 68 + doc/readme/settingup.html | 126 + doc/readme/support.html | 65 + doc/script_ref.txt | 1424 ++++ 31 files changed, 31433 insertions(+) create mode 100644 doc/Changelog.txt create mode 100644 doc/LICENCE create mode 100644 doc/LICENCE_JA create mode 100644 doc/Readme-jap create mode 100644 doc/Readme2.txt create mode 100644 doc/admin_packet.txt create mode 100644 doc/agitdb_ref.txt create mode 100644 doc/client_packet.txt create mode 100644 doc/command.txt create mode 100644 doc/conf_ref.txt create mode 100644 doc/coredump_report.txt create mode 100644 doc/db_ref.txt create mode 100644 doc/help.txt create mode 100644 doc/help1.txt create mode 100644 doc/history.txt create mode 100644 doc/inter_server_packet.txt create mode 100644 doc/item.txt create mode 100644 doc/item_bonus.txt create mode 100644 doc/packet_table_en.txt create mode 100644 doc/readme.html create mode 100644 doc/readme.txt create mode 100644 doc/readme/changelog.html create mode 100644 doc/readme/faq.html create mode 100644 doc/readme/features.html create mode 100644 doc/readme/gmcommands.html create mode 100644 doc/readme/midbanner.jpg create mode 100644 doc/readme/npcfeatures.html create mode 100644 doc/readme/rc5.css create mode 100644 doc/readme/settingup.html create mode 100644 doc/readme/support.html create mode 100644 doc/script_ref.txt (limited to 'doc') 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 + - @sendprioritymail + - Added battle_athena.conf option to enable/disable mail system. + - Added mail.sql for sql mail system. + - Use "*" for name to send to all players. Level must be >= to @sendprioritymail level. + + * Added @refreshonline to refresh player online status in SQL version. [Valaris] + +10/10 + * Modified ja blacksmith repair code to function with our broken equipment system. [Valaris] + * Removed ja repair script commands, they aren't compatible with our broken equipment. [Valaris] + * Fixed error in Morroc jewel dealer. [Valaris] + * Added so supernovices will get flee from improve dodge. [Valaris] + * Fixed assassin and rogue flee bonus, was giving +50 instead of +40. [Valaris] + * Fixed bug with using remove trap on a snared monsters and the monster would stay stuck. [Valaris] + * Added a check for row return in an sql statement in login. [Valaris] + * Added some pointer initializations in map.c. [Valaris] + * Calculate pc status when equipping or unequipping pet items. [Valaris] + * Fixed crash in looting pet skills if loot size was greater than 10. [Valaris] + +10/05 + * Fixed all mob spawn names (typos, errors, wrong names) according to the mob_db.txt [Lupus] + * Added YggdrasilKid's fixed exp.txt. [valaris] + +10/04 + * Added missed close file functions in pc.c [Lupus] + * Added some new items, fixed some item names and translated all grabled items in item_db.txt [Lupus] + * Fixed bug in MOB_DB and in MOB_BRANCH DB related to wrong "Elder" ID number [Lupus] + * Fixed toggle for using sql item db in char-server. [Valaris] + * Added interval settings for anti-freeze system. [Valaris] + * Added enable/disable options in char_athena.conf and login_athena.conf for anti-freeze system. [Valaris] + * Re-added anti-freeze system. [Valaris] + * Cleaned up warning in src/common/db.c. [MouseJstr] + * Removed afm map checking from char. [Valaris] + * npc.c - Re-enabled new "OnTouch" function. Added a missing line to npc_event in npc.c(line 667). + pc.c - Added 2 missing "else" statements on (line 3702 and 3842). Now ontouch works correctly and activates + everytime instead of only once like in RC4. [kobra_k88] + * clif.c - Added: npc_scriptcont(sd,RFIFOL(fd,2)); to "void cliff_parse_NpcCloseClicked" function. + Now "close2" script command works properly. Previously, it would freeze the server.[kobra_k88] + +10/03 + * added oA to eA database conversion .sql [MouseJstr] + * renamed sql to sql-files to eliminate a problem with make [MouseJstr] + * Fixed Assassin Quest where "Nameless One" NPC would freeze after clicking "next". [Shinigami] + * charkillable now returns status on target [MouseJstr] + * skill names now have descriptions pulled from the client [Mousejstr] + * Mapflag "petals" has been changed to "sakura". [Valaris] + * The weather @commands will now set that particular mapflag on until server is restarted, and will send weather effect + to everyone on that map. It also will not allow the occurance of the command more than once. This method means + everyone coming onto the map after the command has been used will see the effect. [Valaris] + * Added yor's latest ladmin.c. [Valaris] + * Fixed bug in delitem script command that caused it to delete all of an item. [Valaris] + * Modified Makefile's to work better in non-sql environment [MouseJstr] + * A lot of work on source tree making it more ANSI C compliant [MouseJstr] + * Finalized the timers on shutdown + turned off malloc debugging on db's. [MouseJstr] + * Added release hook's into db's [MouseJstr] + * Added runflag to core to allow cleaner shutdown [MouseJstr] + * Work on LCCWIN32 for building under Windows natively [MouseJstr] + * modified @mapexit to use runflag for cleaner shutdown [MouseJstr] + * Improve cleanup on exit of map server of all objects [MouseJstr] + * statpoint reader can now be larger then 1432 bytes [MouseJstr] + * Fixed so dancing effect is cleared when warping. [Valaris] + +10/02 + * Modified battle config muting players option to work more effectively. [Valaris] + * Fixed mute from showing red bubble to players. [Valaris] + * Fixed disguise sprite staying when teleporting. [Valaris] + * Added a special mob ai check in mob.c. [Valaris] + * Fixed petit pet skill's damage from ever increasing. [Valaris] + * Removed pet weight and pet loot options, someone re-added them, and this conflicts with pet skills. [Valaris] + * Added new skills to mob_skill_db (skills for Alchemist summon marine sphere among others) [Valaris] + * Updated skill_cast_db and skill_require_db for summon marine sphere and biocanniablize skills. [Valaris] + * Fix for drops by luck crashing. [Valaris] + * Removed @nuke for now. [Valaris] + * Added japanese ankle snare code. [Valaris] + * Using better code for alchemist marine sphere. [Valaris] + * Reverted back to old method of OnTouch for now for compatibility with older scripts. [Valaris] + * Fixed an infinite loop with preventing multi level up and high novices. [Valaris] + * Storage saving in SQL was based on MAX_INVENTORY. Switched to MAX_STORAGE and MAX_GUILD_STORAGE. [Valaris] + Should resolve items disappearing. Thanks to fov for pointing this out. + * Updated skill_db entries for biocannibalize and summon marine sphere. [Valaris] + * Changed sql item name row sizes to 24, and changed memory allocation to 25 bytes instead of 29. [Valaris] + * Added upgrade_1.0.0-rc5_database.sql (will set name columns of item db to varchar(24). [Valaris] + * Removed anti-freeze system. [Valaris] + * Began removing AFM, unless someone wants to complete this. [Valaris] + * Added an online status timer. Will check online status of players every hour (for sql version). [Valaris] + * Added malloc to map.c. [Valaris] + * Added some variables for new mob exclusion. [Valaris] + * Using malloc in pc.c. [Valaris] + * Added skill reset checks to high/advanced/baby classes. [Valaris] + +10/01 + * Fixed up const.db. [Valaris] + - Added + bBreakWeaponRate 1068 + bBreakArmorRate 1069 + bAddStealRate 1070 + + - Fixed + bMagicDamageReturn 1071 + bRandomAttackIncrease 1072 + bAllStats 1073 + bAgiVit 1074 + bAgiDexStr 1075 + bPerfectHide 1076 + bDisguise 1077 + + * Rewrote mute disable option in clif.c, it did not need to end status. [Valaris] + * Added a missing check for SC_NOCHAT in clif.c. [Valaris] + * Changed comments on max_lv in battle_config to be less + confusing [MouseJstr] + * Fixed Gypsy Job Quest, added Crusader Job Quest [Lupus] + * Adding missing noquests from previous tree [MouseJstr] + * merged conf files between txt and sql [MouseJstr] + * According to item_db.txt and mob_db.txt fixed some name differences, wrong item names in + pet_db.txt,mob_branch.txt,item_violetbox.txt,item_giftbox.txt,item_cardalbum.txt [Lupus] + * Added specialeffect2 script command. Works the same as specialeffect, but the effect will be applied + to the player interacting with the npc instead of being applied on the npc. [Valaris] + * Added hasitems script command. If a player has any items it will return 1 in an if statement. [Valaris] + * Added npctalk script command. Syntax : npctalk "These are my words"; [Valaris] + * Removed script::say in favor of Valaris's version. [MouseJstr] + * Fixed a bug in guild alliances where it was treating a friend as a foe. [MouseJstr] + * Fixed crash in weapon breaking. Was not doing a block type check on the source. [Valaris] + + +09/29 + * Fixed small, almost non-existing memoryleak, in grfio.c that could + cause some systems to exit the application [Kalaspuff] + +09/26 + (Dated On Aegis Website) + *--Released 1.0.0 RC4--* +09/25 + * Reorganized Npc folder for release + * Updated map_athena.conf + * Remove certain statuses when warping (Cloaking, Sitting, Gangster's Paradise) that would allow the effect to + continue and a player to walk normally. [Valaris] + * Remove speed increase of theif and high thief from improve dodge (only assassins and assassin cross's are + supposed to get this bonus) [Valaris] + * removed more #ifdef's between TXT and SQL [MouseJstr] +09/24 + + * Added @charkillable (to make players killable) [MouseJstr] + * Added @dropall (throws all items on ground) [MouseJstr] + * Added @chardropall (throws all players items on ground) [MouseJstr] + * Added @storeall (put all items in store) [MouseJstr] + * Added @charstoreall (put all players items in storage) [MouseJstr] + * Added @skillid (look up a skill by name) [MouseJstr] + * Added @useskill (use a skill by id) [MouseJstr] + +09/23 + * Update Some Npc Stuff In Payon [Darkchild] + * Added Sage Quest [Darkchild] + * added @killable - all players can hit you, even out of pvp [MouseJstr] + * Changed Basilica to prevent the priest from walking [MouseJstr] + * Restore base files in save directory [Yor] + * Castle spawn/conquering fix: [Akaru] + - Spawns monster when the guild is not owned when the server starts + - Spawns emperium with the monsters when guild is not owned yet + - If AgitStart and AgitEnd occurs while castle had not been owned, it is just ignored so that the monsters that are guarding the castle and the emperium would not be killed. + - Prevent spawn of emperium/monsters after castle is owned + - In short, you can clear and conquer the castle any time even when it's not agitstart'ed if the castle is unowned, like in official servers + +09/22 + * added @killer to let GM's hit players outside of pvp [MouseJstr] + * added @skilloff to turn off skills on a map [MouseJstr] + * added @skillon to turn on skills on a map [MouseJstr] + * added @follow to follow players (including warping after them) [MouseJstr] + * added battle_config option to control the max number of castles a guild can have [MouseJstr] + * upgraded the guild alliance checker [MouseJstr] + * added battle_config to control if ghosty armor works for mobs [MouseJstr] + * Fixed battle_config to control how much GTB actually helps [MouseJstr] + * Fixed battle_config to control if pvp battles give exp or drops [MouseJstr] + * Added map aliasing [MouseJstr] + * changed the map_nick2sd to be able to handle sub-strings for refering to players [MouseJstr] + * made turning of skills on a map actually work [MouseJstr] + * Updated Makefiles/GNUMakefiles to include the compilation of /common/malloc.o [PoW] + +09/19 + * Corrected @charstoragelist: [Yor] + - because account2storage function create a void storage if it's not exist, somethimes a player could lost its storage. + -> creation of account2storage2 to just ask pointer of storage if exist and use it in @charstoragelist. + * Improved range system of @monster/@spawn (nearest of GM when less monsters) [Yor] + * Client until 2004-09-06 (included) is now completely recognized [Yor] + * Fixed kafra storage request for all new clients [Yor] + +09/18 + * Changed to Yor's code that doesn't try and read when it's already not found [Akaru] + * Removed check for resnametable in data folder exit -> the resnametable isn't even used if present and it should be optional and not compulsory to have a resnametable in the data folder! [Akaru] + * Added an option to choose which clients are accepted on the server (2nd part and finish: Check accepted versions) [Yor] + * Added an option to choose which clients are accepted on the server (1st part: reading of the option) [Yor] + * Fixed action request (sit, attack, etc..) for all new clients [Yor] + * Fixed solve char name for all new clients [Yor] + * Fixed get char name for all new clients [Yor] + * Fixed an error about packet number on char name function [Yor] + * Added items drop packet for all new clients [Yor] + * Fixed: in clif_send (global send, not individual send) don't send a packet that client doesn't recognize [Yor] + +09/17 + * Added check to make sure mob is already moving before initiating random walk + when the item they are going to loot disappears. [Valaris] + * Client of 2004-07-13 is now completely recognized [Yor] + * Fixed items take packet for all new clients [Yor] + * Corrected packet sizes for each client version (not set packet size if packet doesn't exist) [Yor] + * Fixed direction position for all new clients [Yor] + +09/16 + * Client of 2004-07-06 is now completely recognized [Yor] + * Fixed skills to position with all new clients [Yor] + * Fixed incomplete packet of authentification [Yor] + * Fixed size of packets for all clients [Yor] + * Improved detection of client version at authentification [Yor] + * Improved packet parsing of client (search packet version before to parse) [Yor] + * Added packets size of 0x20d and 0x20e [Yor] + +09/15 + * Added "nude" script command, will strip player of all equipment. Syntax : nude; [Valaris] + * Removed sandstorm flag, since it does not work as intended (is not a constant effect like believed) [Valaris] + * Added specialeffect script command. Syntax: specialeffect #; [Valaris] + * Moved noicewall flag to a better position. [Valaris] + * Added mob type check to skill_castfix to prevent crashing. [Valaris] + * corrected error: skill to id (RFIFOW->RFIFOL) [Yor] + * Added packets size of 0x204 and 0x20b [Yor] + * Fixed skill_to_id with all new clients [Yor] + * Fixed tick sending with all new clients [Yor] + * Fixed items use with all new clients [Yor] + * Fixed move with all new clients [Yor] + * Speedup WantToConnect function [Yor] + * Call correct function with any clients packet - size is not correctly set actually [Yor] + +09/14 + * Resetlvl will unequip items that require more than level 1. [Valaris] + * Added message about new clients (not actually supported) [Yor] + * Added correct call of clif_parse_WantToConnection function for all client types [Yor] + * Added size of packet 0x0214 [Yor] + * Fixed calls of 'clif_send' function [Yor] + +09/13 + * Modified item_db to have more name consistency, added more translations for items [Akaru] + * Fixed in clif_sitting usage of a buffer [Yor] + * Fixed in clif_movechar usage of a buffer for clif_set007b [Yor] + * Fixed in clif_spawnpc usage of a buffer for clif_set0078 [Yor] + * Corrected a commented printf in packet 0x2b0e for debug [Yor] + +09/12 + * Put (commented) parse printf in char.c at the right place (to have all informations) [Yor] + * Added Alchemist JobQuest [Darkchild] + * Added Inn Npcs [Darkchild] + +09/11 + * Added @charitemlist/@charstoragelist/@charcartlist GM commands to display items of a player [Yor] + +09/10 + * Added a better id control of monster id in @spawn/@monster... GM commands [Yor] + * Correction of an error at reading of 'wisp_server_name' option (char.c) [Yor] + +09/09 + * Change @spawn/@monster2... GM commands to spawn in close area [Yor] + * commented some printf in char.c to reduce (a little) lag [Yor] + * Put @timer messages in msg_athena.conf [Yor] + * Add a file for SQL developpers [Yor] + * Changed name of newpacket variable of session (packet_ver) and add a message for nex client version [Yor] + * Added new client packet sizes and expanded packet acception. [Valaris] + * Added snow, fog, rain, leaves, petals, and sandstorm map flags. [Valaris] + +09/08 + * added clif_specialeffect to clif.c, for displaying a wide variety of effects (information from rofx) [Valaris] + * Corrected in map: creation of new session before to delete previous session_data [Yor] + * Corrected in login/char/ladmin: creation of new session before to delete previous session_data [Yor] + * Prevented redeal dupe. Checks to make sure inventory index has not already been added (client prevents + the possibility of stacking items, but server did not.) [Valaris] + +09/07 + * Added an option to determinate at which GM level nowarp and nowarpto flags are not more used [Yor] + - new option in battle.conf: any_warp_GM_min_level + - new checks and message about 'from' (nowarp) and 'to' (nowarpto) in GM commands + * Third part of new authentification method (clif_parse_CloseKafra): ignore new 0xF7 [Yor] + * Change name of new0x0072 variable by new_auth (because now, auth packet is 0x72 or 0x7E) [Yor] + * Second part of new authentification method (clif_parse_WantToConnection): Auth by char-server of new packets resolved [Yor] + * Improved check of new packet 0x7E to enter in WantToConnect Function [Yor] + +09/06 + * First part of new authentification method (clif_parse_WantToConnection) [Yor] + - accepted new 0x7E for wantto connect + - begin to found first authentificaiton and answer to client, but not found + * Improved Char-server: [Yor] + - Fixed a possible error on multi-map servers (no lastpoint) + - Added log about character with same name of wisp server name. + - Added a sub function to disconnect a player (used 3 times) + * Improved. In global message, use buffer to send to other (avoid possible overwriting). [Yor] + * Added Super Novice Job Quest [Darkchild] + +09/05 + * Fixed noskill flag to actually stop all usable skills when used. [AppleGirl] + * Removed last lag on char-server causing by too much savings (on accreg) [Yor] + * Removed a lag on char-server with a lot of players (for party, like guild) [Yor] + * Removed a big lag on char-server with a lot of players: [Yor] + - guilds was saved every time a player is online and a lot of other time (removed). + - guilds are save only when characters are saved (no more bring forward with characters file, and less savings) + * Added GM message that informs when a player blocks wisps of the server (against some bots that auto ignore wisps from a player) [Yor] + * Added perfect GM hide in @where GM command [Yor on suggestion of PoW] + * Correct NEW shops.txt with error displayed AT START of map-server! [Yor] + * Correct NEW payon.txt that crash map-server AT START! [Yor] + * More changes and official locations for new payon, things in correct place: + - Guild Flags + - Kafra + - Shops/Refiners (except Pet Shop!) + - Most Normal Npcs (not all!) + All Based On ScreenShots From kRO!! [Darkchild] + * Payon Warps about 80% finished, others were no screens taken from! [Darkchild] + * Removed nowarp mapflag and new internal check about gmlevel [Yor] + - gmlevel are checked before to call the function (of the GM comand). If you give gmlevel, people can use the function, including if you give level 0. + if you want refuse some GM commands to normal players, set the level of the command with a value upper than 0 (of set GM_only_command option to yes). + Not add new tests for nothing and use more cpu. + - mapflag: no limit for GM commands: what'is the interest to have gm commands limited like player? (it's rule for all GM commands) + A gm can have the possibility to go anywhere, specialy to check/control player ==> no mapflag! + * Stopped client crashes when jobchanging into another class that doesn't support the weapon you are holding. [Valaris] + +09/04 + * Added nowarp mapflag [PoW] + * Fixed nowarpto mapflag in atcommand.c [PoW] + * Improved: On hack about name in global message, GM of ALL map-server received hack messages. [Yor] + * Moved some GM messages of GM command from at_command.c to msg_athena.txt. [Yor] + * Added @whogm GM command. [Yor] + * Added a warning when a character has same name than wisp server name. [Yor] + +09/03 + * Added gm level display in all @who(map) GM command. [Yor] + * Correction: [Yor] - Thanks to [EvilEden] + - Soul Strike mistake (according to http://iro.ragnarokonline.com/game/jobmagskill.asp) - corrected cast time + - npc/quests/monstertamers.txt: The Monster Tamer Shogo gives the Deviruchi 'Contracts in Shadow' (641) -> the Bapho Jr. Tamming Item 'Book_of_theDevil' (642). + * Added monster/egg name to create egg in @makeegg GM command. [Yor] + * Added an option to fix started limited time of a new account. [Yor] + * Added @hatch in help.txt. [Yor] + * Fixed ChaseWalk so now you can't use skills while in chase walk mode. [AppleGirl] + * Fixed Looping of Broken Weapon if you continued to use it even after its broken [AppleGirl] + * Updated Weapon Breaking So Now Icon Will Disappear when you unequip the broken item [AppleGirl] + * Re-Added @hatch and added makepet to atcommand_athena.conf [Darkchild] + * Moved job monsters to their respected files [Darkchild] + * Fixed a bug in sence (showing wrong info!) [Darkchild] + * Changed the npc/jobs/ folders heavily! [Darkchild] + * Added COMPLETE Umbala NPC script [Darkchild] + * Added New Payon maps @ bottom of the map_athena.conf [Darkchild] + * Added New Payon NPCs and Warps [Darkchild] + * Fixed typo and made layout a litle bit better of the readme files [Darkchild] + * Added Items Ability to be unbreakable (using bonus bUnbreakable,100;) it will totally unbreakable + any lower than a 100 it still has a chance of breaking but call it more durable ;p[AppleGirl] + * Added Start_Weapon and Start_Armor to all the other starts in char_athena.conf [AppleGirl] + * Updated skill_require_db and skill_cast_db.txt [AppleGirl] + * Finish to add a (reserved) wisp name for server - part 3: in map-server replace name where server name is used for wisp [Yor] + * Continue to add a (reserved) wisp name for server - part 2: in map-server, reception of the name [Yor] + * Begin to add a (reserved) wisp name for server - part 1: in char-server [Yor] + +09/02 + * Added Meltdown's weapon breaking ability [AppleGirl] + * Added GM level in front of each line to display only enable GM command of the help.txt. [Yor] + * Removed message about limited time if your have unlimited account (that was for tests. sorry). [Yor] + * Set day/night messages in msg_athena.conf (for foreign people). [Yor] + * Added a function to return a string of msg_table outside of at_command. [Yor] + * Fixed clean database at disconnect when session is not auth. [Yor] + * Fixed a bug (but not solve the bug - need more research to found where solve it) in map_id2sd function. [Yor] + * Set initialisation of ignore list after authentification (not need to be done before) [Yor] + * Reduced size of packet 0x2afe (removed not used value) [Yor] + * Improve first auth part (wanttoconnect) [Yor] + * Added TODO 35 [Yor] + * Made a few adjustments to Archer based class skills making more like normal classes instead of Uber Classes. [AppleGirl] + * Updated the weapon and armor breaking to be more like official RO adding status icons and so on. [AppleGirl] + * Updated a few skills based off a few sites, also fixed other skills that were coded incorrectly. [AppleGirl] + * Fixed double connection with same account [Yor] + - disconnect immediatly + - no enter in database (block or others) + - no creation of session + - no more need to have 'new_fd' + -> less memory usage, less tests + * Removed 'other_fd' not used [Yor] + +09/01 + * Fixed Rainbow Egg quest in quests_lutie NPC [PoW] + * Added packet length for client server-side friend list, if they choose add the client will not disconnect. [Valaris] + Need to figure out the rest of the packets, then can implement. + * Added server-side friend list 'add' send packet info to packet documentation. [Valaris] + * Fixed: in chrif_authreq, don't send a request to char server if session is not found [Yor] + * Fixed: amatsu.txt, when Carter Moores say: remove 10000 zeny, he removes them now! [Yor] + * Removed an unknown item in shops.txt [Yor] + * Fixed 3 goto in father - acolyte.txt [Yor] + * Fixed bug with colors of 5 numbers/digits (warp to city instead of display with color) - wizard.txt [Yor] + * Reduce size of mage.txt and fix a text in mes (no bug) [Yor] + * Fixed thief.txt script (error on a goto) [Yor] + * Fixed account length (WFIFOL(fd,2) instead of WFIFOW(fd,2)) when char-srv doesn't auth an account for map-srv (0x2afe packet) [Yor] + * Added @job and @charjobchange to be similar with @charjob and @jobchange [Yor] + +08/31 + * Fixed messages of @(char)jobchange GM commands. [Yor] + * Fixed a return value of jobchange function (pc.c). [Yor] + * Added coredumps by system when crash. [Yor] - thanks MagicalTux + +08/30 + * Added some comments on gravity commands. [Yor] + * Improved /mm, /monster and /item to have some answers. [Yor] + * Modified skill_cast_db and skill.c to allow for status effect chance of wizard skills + (stun for WZ_METEOR and blind for WZ_VERMILLION) [moonsoul] + * Modified skill_cast_db and skill_db to properly reflect cast params and delay times for assassin cross + skills Create Deadly Poison(407) and Soul Breaker(379) [moonsoul] + * Added damage calcs to battle.c for Assassin Cross skill Soul Breaker(379) [moonsoul] + +08/29 + * Modified skill_require_db to reflect item requirements for assassin cross skills Create Deadly Poison(407) + and Enchant Deadly Poison(378) [moonsoul] + * Added @charmountpeco/@charpetrename/@charquestskill/@charlostskill GM commands. [Yor] + * Added noicewall.txt to map_athena.conf (commented out), noicewall flag [Valaris] + will not function when pvp is enabled on map. + * Added noicewall flag, noicewall.txt. [Valaris] + * Added wiz's temp fix for higher skill ids and skillnodex db. [Valaris] + * Added: Usage of At command when failed (100%). + * Modified: try to have samme presentation for all at-command code (100%). + * Improved/fixed some GM commands [Yor] + * Added some 'usages' in some GM commands [Yor] + * Added baby classes to equipment codes, they will equip the same as their normal and advanced counter-parts. [Valaris] + * Improved some GM commands [Yor] + - Added in @(char)baselvlup/@(char)joblevelup GM command: + When there are some status/skill points available and we reduce level -> remove points. + - Added counter in @statsall GM command. + - Fixed in @charsave GM command when map doesn't exist. + - Fixed @charbaselvl GM command overflow + - Fixed skill value (and crash) in @questskill/@lostskill GM command + - Fixed number of spiritballs (@spiritball GM command) + * Fixed random PvP crash bug [Lupus] + +08/28 + * Improved some GM commands [Yor] + - Added memo points in @go GM commmand. + - Added negativ value for @heal GM command. + - Fixed @(6stat-adjustement) GM commands overflow. + - Simplified @Statall GM commands. + - Fixed @guildlvup GM commands. + +08/27 + * Fixed @(char)zeny/stpoint/skpoint GM commands (no more overflow, etc...) [Yor] + * Improved @memo GM command: [Yor] + You can memo anywhere (it's GM command, not /memo command like for any player). + Without value, display actual memo points. + * Improved @refine GM command: you can reduce refinement. [Yor] + * Fixed @broadcast GM command send broadcast to all Map-servers. [Yor] + * Fixed @(char)base/joblevelup command (any adjustement can be entered). [Yor] + +08/26 + * In at_command.c: [Yor] + Fixed: initialisation of all strings. + Added: Usage of At command when failed (75%). + Modified: try to have samme presentation for all at-command code (75%). + * Made it so that the pvp_nightmaredrop mapflag would work even without pvp being enabled, now works any time it is set. [Ancyker] + * Added level check on /item and /monster. GM level must be >= both @monster and @item [Valaris] + level specifications (both since they share the same packet) + * Added my own extream mode map flags (disabled by default), makes players drop items at random everywhere (except towns). Full details in map_athena.conf. [Ancyker] + +08/25 + * Added: display usage when GM command failed (some GM commands) [Yor] + * Added @email GM command to change your account e-mail [Yor] + +08/24 + * Modified changesex script command use same function as @charchangesex now [Yor] + * Added @charchangesex GM command can be used on offline players [Yor] + * Added gm ladmin command to change GM level of an account [Yor] + +08/23 + * Fixed some at_command messages: [yor] + - remove all unused messages + - create commented line of all messages in msg_athena.conf to have english, and under, translation if necessary + - add some (arround 80, but not all) messages in msg_athena.conf + +08/22 + * Fixed: In GM commands, add a 'standard' message when GM level is too low [Yor] + * Changed in battle_athena.conf [Yor] + - atcommand_spawn_quantity_limit: 100 (20 is too short for mass spawnings.) + - unknow: give translation of babelfish to help on the explanation (not writing: 'unknow' to not lost the information!) + - day_duration: 7200000 & night_duration: 1800000 (set default to 30 min night, 2 hours day to show improvement of eathena by DEFAULT) + +08/21 + * Updated battle_athena.conf to be in English (not Engrish) [Ancyker] + * Updated WZ_FIREPILLAR according 8-10 patch [AppleGirl] + * Updated skill_cast_db and skill_require_db according to 8-10 kRO patch [AppleGirl] + * Added how to use skill_castnodex_db.txt [AppleGirl] + * Added skill_castnodex_db.txt, allowing some skills to be casted with out dex's effect on them + Midas' idea [AppleGirl] + * Improved answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added answer messages of char-server on @(un)ban/@(un)block GM commands [Yor] + * Added block command (ladmin c) [Yor] + * Added block command (ladmin perl) [Yor] + * Fixed job_db1.txt comments to be in english, also spaced the columns to make it easier to read. [Ancyker] + * Added: possibility to use "" or '' to give an account name in ladmin (Perl) (no more problem with account name which have spaces). [Yor] + * Changed: atcommand_gm_only is set to 'no' by default, because: [Yor] + - GM commands level now works correctly + - GM commands levels are now set by default with diffrent types of GM + * Added @inall/@exall GM command to block/unblock ALL wispers of a player [Yor] + +08/20 + * Added unblock command (ladmin C) [Yor] + * Added unblock command (ladmin perl) [Yor] + * Fixed: when limited time is in past, add new duration starts from actual time [Yor] + * Added chardisguise/charundisguise [Kalaspuff] + * Added default time [23:59:59] for timeset/banset ladmin (C) commands [Yor] + * Fixed sage rebirth ability at professor job change NPC. [PoW] + * Fixed pecopeco knight/crusader rebirth ability at LordKnight and Paladin job change NPCs. [PoW] + * Added default time [23:59:59] for timeset/banset ladmin (perl) commands [Yor] + * Added a check_ip_flag option in char-server [Yor] + * Added a check_ip_flag option in login-server [Yor] + * Added a display at start of login-server about IP checking configuration. [Yor] + +08/19 + * Added unban/unbanish command (ladmin c) [Yor] + * Added unban/unbanish command (ladmin perl) [Yor] + * Added parameter to choose how works timeadd (ladmin command) with unlimited time accounts [Yor] + * Fixed @option/@charoption when player is disguised. [Yor] + * Added: some information about TODO 19. [Yor] + * Added: possibility to use "" or '' to give an account name in ladmin (C) (no more problem with account name which have spaces). [Yor] + +08/18 + * Guardians were immune to skills/spells, fixed. [Valaris] + * Added custom draculax.txt script to display npcskilleffect command. [Valaris] + * Added npc/events/custom folder. [Valaris] + * Fixed Umbala Language Quest NPC bug [PoW] + * Added temporary prevention of crash caused by peco + disguise, will look into a better solution. [Valaris] + * Changed working of putting disguise on (much like Yor's setpos with undisguise) [Valaris] + * Changed disguise id check to > 23 instead of max_pc_class. [Valaris] + * Added bDisguise script command for items. [Valaris] + Syntax : bonus bDisguise,npc_id/mob_id; Example bonus bDisguise,1002; for poring disguise + * Added flag so @disguise command will override any disguise scripts. [Valaris] + * Updated @disguise description in help.txt. [Valaris] + * Added: @ignorelist/@charignorelist to know from which people a player ignore wisps [Yor] + * Renamed: @makepet -> @makeegg (@makepet will be created later to create pet, not a egg) [Yor] + * Fixed Phantom of Opera quest, fixed quests_aldebaren requirements [PoW] + * Changed: anti-freeze disconnection in char-server set from 1mn 15s to 30s [Yor] + * Fixed: free block memory on NULL pointer in char-server do_final [Yor] + * Fixed: reset server information when map-server disconnected from char-server [Yor] + * Changed: anti-freeze disconnection in login-server set from 1mn 15s to 30s [Yor] + * Improved pecopeco checks in @option/@charoption/@jobchange/@charjob [Yor] + +08/17 + * Fixed pecopeco displayings in @option/@charoption/@jobchange/@charjob [Yor] + * Correction of @rura, @where, @rurap and some other things in GM commands. [Yor] + * Correction of a parameters' errors in GM commands. [Yor] + * Correction of @charzeny Gm command (+ @zeny/@charzeny can add and remove zeny without problem). [Yor] + * Acolyte Job Quest: Fixed Marthilda, Yosuke NPC bugs. [Lupus] + * Added some comments in .conf about @gm [Yor] + * Fixed max value of level_new_gm parameter (not 100, but 99) [Yor] + * Added level_new_gm parameter in login-server to disable or set level of all GM created by @gm [Yor] + * Fixed @GM GM command [Yor] + +08/16 + * Translation of final message of @gm [Yor] + * Fixed on @GM: When login server is offline, char server sends impossible to create GM [Yor] + * Fixed: refuse @gm GM command to ... a GM :) [Yor] + * Added complete answers of /in /ex /inall /exall. [Yor] + * Added option to send information to online GM when there is a hack, a spoof name, etc. [Yor] + * Added individual ignore management, and wisp checks [Yor] + * Added TODO 33 [Yor] + * Fixed possible overflow with @ban GM command [Yor] + * Speed up a little @ban GM command [Yor] + * Added ignore all for wisps (to same map-server). Sorry, before, I was added only for not same map-server [Yor] + +08/15 + * Added a resume for 'email_creation' parameter [Yor] + * Fixed double messages when a player wisp/page itself [Yor] + * Added ignore all for wisps [Yor] + * Added better explanation for the new 'email_creation' parameter [Yor] + * Fixed: now, GM accounts are sended to all servers when auto-detect change of GM file is actived [Yor] + * Fixed: at auto-creation of e-mail, don't ask the player if login-server is offline (we need login-server to save e-mail) [Yor] + * Used config_switch instead of atoi for email_creation parameter [Yor] + * Added an option to create e-mail at connection with client [Yor] + * Added authentification with login_id2 (1040) - activated by default [Yor] + * Added partial part of authentification with login_id2 (1040) [Yor] + * Added some missing GM commands in help.txt [Yor] + * Improved search of map-server when map is not found [Yor] + * Added banish in ladmin (c) to be like of GM commands [Yor] + * Fixed Angel Helm quest, fixed Spore Doll quest exploit, Fixed Morgenstein quest bug [Lupus] + +08/14 + * Added banish in ladmin (perl) to be like of GM commands [Yor] + * Fixed some possible errors with maps management in char-server [Yor] + * Fixed bug of map searching when to few maps on map-servers [Yor] + * Changed some console displayings in char-server [Yor] + * By default, activation of player ip check [Yor] + * Added some of 1040: check of player ip between each server [Yor] + * Fixed dupes in warp scripts, reorganized, thanks to midas fro GH warp [kobra_k88] + * Added possibility to disable automatic reload of GM accounts file [Yor] + * Added log when GM accounts file can not be readed [Yor] + * Changed default of GM accounts file check for 120 sec to 15 sec [Yor] + * Added automatic reload of GM accounts file if it was modified [Yor] + * Added @mapmove, @broadcast, and @localbroadcast in help.txt [Yor] + * Fixed possible error of monster id (GM command) if monster begins by a number. [Yor] + * Added jobname in @charstats command. [Yor] + * Fixed: If a GM command uses NULL pointer as command function, there is no more crash. [Yor] + * Fixed Niflheim&Umbala guides. Fixed Niflheim city. removed 2 NPC clones. [Lupus] + * Added Archer Skills quests, fixed Thief Skill Quest [kobra_k88] + +08/13 + * Add an option to fix a ban for hacker that spoof name (to set minutes of ban) [Yor] + * Fixed incorrect mob IDs with Valaris's mob_db [Ancyker] + * Added possibility to execute GM commands when you wisp someone [Yor] + * Added a console message when a player try to spoof his name in Global message [Yor] + * Added size of packet in packet send by map-srvr to char-srvr about online players [Yor] + * Added check on individual stat at creation of a character [Yor] + * Added npcskilleffect script command. Will allow npc to show effects of certain skills on specified XY coordinate. + Syntax : npcskilleffect 21,10,148,150; skillid, skilllv, x, y. [Valaris] + * Increase maximum weight can be used with an item now, thanks to orn. [Valaris] + * Fixed mob names in Gonryun , thanks to unsul and Filougarou. [Valaris] + * Fixed muramasa curse rate, thanks to OxiMoron. [Valaris] + * Fixed Aldeabran&Comodo towns. Added Cheese quest to Comodo. Fixed Thief Job Quest [kobra_k88] + +08/12 + * Begin to add 1040 in login/char/chrif about authentification. not finished [Yor] + * @mapmove, @broadcast, and @localbroadcast can now be used. [Valaris] + * Looting mobs will not continue to item if it disappears, instead will walk away. [Valaris] + * Unitinalized nameid in script.c [Valaris] + * Added position in log when unknown packets are saved (login-server). [Yor] + * Corrected possible error to contact not good player when a wisp concerns player on an other map-server. [Yor] + * Added a function to obtain character name with index in auth structure (char.c). [Yor] + * Corrected check/test error in mapif_send. [Yor] + +08/11 + * itemdb_searchname fixed (now firstly looks for item aliases 'name', if not found looks for item name 'jname'). [Lupus] + * Optimized getitem, delitem. getweight, fixed there possible scripts exploits [Lupus] + * Thief bug's long name in mob_db.txt was Thief Bug Larva, fixed. [Valaris] + * Thief bug names were mixed around in monster.txt, fixed. [Valaris] + * Fixed incorrect parse of usable item rate. [Valaris] + * Added ban command in ladmin (C), like GM command [Yor] + * Terminated some translations about wisp/page, and control/improvement/correction of wisp/page. All 'found' bugs are corrected [Yor] + * Added translations in inter.c about wisp/page. [Yor] + * Corrected printf datas in intif_parse_WisMessage when map-srv receives wisp message from inter-srv. [Yor] + * Sended an answer when a wisp/page is supressed because of a timeout. [Yor] + * Improved: if inter-srv is asked for a wisp, verify first if the character exists. Don't ask all map-server if it not exists. [Yor] + * Changed Printf in intif_wis_message to have better information. [Yor] + * Improved: Don't ask inter-server for a whisp/page if player is on the same map-server. [Yor] + * Completed some printf and comments in char.c [Yor] + +08/10 + * Improved map_nick2sd function. Now, sensitiv case is removed when it's possible [Yor] + * Corrected split of broadcast messages in char-server [Yor] + * Message to Valaris from Yor (special file) + * Improved accounts file saving: [Yor] + - be sure that accounts file is save at least every minute. + - save accounts file at end of login-server + * Reduce displaying size on some errors about accounts file reading. [Yor] + * Created log when change sex packet give an invalid value (login-server) [Yor] + * Correction of unknow_packet displaying (in log). Separate is done after 8th char [Yor] + * Give possibility to use account name with spaces in prompt commands finished by account name in ladmin (perl). [Yor] + +08/09 + * Fixed char-server lag. 3 tests from 3 people appeared to function properly again. [Valaris] + * Basic Implementation of Basilica [AppleGirl] + * Added ban command (ladmin perl) [Yor] + * Correction of bug about auth_fifo when we block a player. Invalid value in array (login.c) [Yor] + * Correction of some tests on server_fd array in login.c [Yor] + * Improved Item_searching in all GM commands [Yor] + * Created @undisguise GM command [Yor] + * Added Umbala town&quests&guide. Some fixes in Yuno warps&shops&guides. Kafra fix. Added Valhallen quest. [kobra_k88],[Lupus] + * Corrected char_divorce (char-server) to remove ring to both partner [Yor] + * Eventual crashfix for clif_authfail_fd [Kalaspuff] + * Corrected @jump GM command. [Yor] + * Reduced size of conf/help.txt (max 200 lines in chat window). [Yor] + +08/08 + * Added NPCs to @disguise. [Valaris] + * Mob disguises will now show up to player using it as well. Attack animation and sitting do show up to them yet. [Valaris] + * Added @disguise GM command in help files [Yor] + * Added @go 16 to visit prisoners [Yor] + * Reduced number of accounts file saving when informations are not important: [Yor] + - save immediatly any modification/creation/deletion of account (like before) + - use counter before saving if only ip/time of last connection is changed (normal authentification) + because these values are already save in log file. + * Speed up account searching in login-server. [Yor] + * Speed up character searching for @(un)block/@(un)ban. [Yor] + * Created @unjail/@discharge GM command. [Yor] + * According to GM definition level in at_command.conf, set level 20 to online_gm_display_min_level for online files. [Yor] + * Speed up some sortings of online creation (strings based sortings) [Yor] + * Fixed nullpointer crash with disguise in clif_changelook [Kalaspuff] + +08/07 + * Fixed so spells will still be cast if target walks out of range. (please don't overwrite this again) [Valaris] + * Corrected a little error in online files creation (only 1 player was visible) [Yor] + * Optimized memory management of online list [Yor] + - less memory usage + - less tests and loops (more speed) + - more efficient (use directly char_dat position instead of search it) + * Added Official Assassin Job Quest. Now eAthena contains all 2-1 Job Quests! [kobra_k88] + * Fixed scripts: 32hats, warper2, platinum_skills, added/changed some mapflags and other misc script changes [Lupus] + * Added @disguise command (enter a mob_id or name, and you will appear to others as that mob/npc!) + * Fixed code for mob disguises, should not crash clients now. + * Improved online management code when we receive char_id. [Yor] + * Added code for mob disguises. Can not set yet. Atcommand needs created. [Valaris] + * Improved mmo_char_send006b function [Yor] + * Corrected: when save file of character can not be created, try backup file if flag is set to create it. [Yor] + * Added an option to create backup of characters file [Yor] + The backup_txt file was created because char deletion bug existed. + Now this bug is corrected and no character disappear. + But, create a file with a lot of characters can use CPU usage and decrease hard disk speed. + So, I create an option with default value: no create backup. + * Improved online management code and some others little codes (char.c). [Yor] + * Respawn points of prisoners set to the jail rooms. Jail.txt mapflag addeed. So imprisoned players can't escape. [Lupus] + +08/06 + * Improved/Optimized some little code (char.c/login.c). [Yor] + * Improved 0x2afa and 0x2afb (map transmissions between char and map). [Yor] + * Optimized global message nick spoof fix. [Valaris] + * Fixed crash in attacking guardians in a null guild. [Valaris] + * Capped earned exp at 1000000000. [Valaris] + * Set area size back to 20 for now, some things in path.c need to be fixed. [Valaris] + * Fixed crash in guardian search. [Valaris] + +08/05 + * Added @jail GM command [Yor] + * Added explanation of @idsearch and @mapinfo in help.txt [Yor] + * Improved @idsearch GM command [Yor] + * Improved a little 3 loops in ladmin.c [Yor] + * Improve some codes in char.c: [Yor] + - less tests in online creation + - mmo_char_send006b: remove duplicated memset, create a char_dat structure pointer + - server_fd[] not seted/modified/checked correctly + * Set max_walk_path back to 48. [Valaris] + * Added translated Gonryun town. Fixed map names of Louyang shops. Added missing Blacksmith, + added extra Rapairmen into refine.txt. In Inns added 4 different prices based on Base Lvl.[kobra_k88] + +---------eAthena 1.0.0 RC3 TXT--------- +08/04 + * Set battle_athena.conf to more accurate settings. [Valaris] + * Decreased default damage delay (stun after being hit) by 75%. [Valaris] + * Max walk path is now correct (17). [Valaris] + * Area size is now correct (14). [Valaris] + * Improved some very little codes in char.c. [Yor] + * Remove displayings of logs on console of map-server [Yor] + use it for DEBUG, not by default, that decrease a lot the performance + * Added (commented) printf in freeze function for debug if necessary [Yor] + * Fixed melee ctrl-attack targetting. [Valaris] + * Reset attack target when equipping arrows. [Valaris] + * Improved (log and remove_control_chars functions). [Yor] + * Added 'available free bytes' in displaying when size is expanded. [Yor] + * Fixed incorrect returns in clif_authok. [Valaris] + * Added pointer checks to chrif.c [Valaris] + * Added some pointer checks to the mob ai. [Valaris] + * New (lag-free) fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + +08/03 + * Made so if exp given is less than 0, 0 is given instead of 1 (plants were giving exp) [Valaris] + * Added console displaying to have complete informations when we expand Wdata session. [Yor] + * IMPORTANT: Add a TODO 31 for Guilds' coders. [Yor] + * Old packet 0x2b16 use packet number 0x2b0e. [Yor] + * remove packets 0x2b0e and 0x2b0f. [Yor] + * on character_name ask packet: add account_id of asker. [Yor] + * Improved script code in novice.txt. [Yor] + * Fixed error in alberta.txt. [Valaris] + * Allow player placement on afm-type maps. [Valaris] + * Added afm loading. [Valaris] + * Removed useless code for mob equipment. [Valaris] + * Initial packet setup for possible playable mobs. [Valaris] + * Added check for save_clothcolor for the dyefix, and added another check to make sure player is dyed before using the fix. [Valaris] + * Improvement: Character asking of map-server to char-server is not more case sensitive. [Yor] + * Added TODO 29 & 30. [Yor] + +08/02 + * Re-added "player not attached" error reporting. [Valaris] + * Fixed errors in 32 hat quest that was causing player not attached errors. [Valaris] + * Fixed input number function: commented out negative input check by Valaris in script.c (all scripts have been revised and fixed), + made actual bug fix of buildin_input func (wrong variable type conversion (int)->(unsigned int) in clif.c + Due to the fixed bug Merchant Job Quest works fine now [Lupus] + * Fixed number input bugs/possible exploits: mage.txt IceCream.txt event_valentine.txt refine.txt + milk_trader.txt grandpa_pharmacist.txt aldebaran.txt alberta.txt juice_maker.txt [Lupus] + * Finished: offline player can be @ban/@block/@unban/@unblock by their character name. [Yor] + * Added packet between map to char to work on offline players (@ban/@block/@unban/@unblock) [Yor] + * Added check on character name with less than 4 characters [Yor] + * Added @chardelitem GM command [Yor] + * Fixed Kafras (no more buttonless msg bugs, Kafra Pass works fine) [Lupus] + * Changed input exploit, only checks for negative now instead of having an input cap. Fixed up vending exploit. [Valaris] + * Added check for src with High Wizard's soul drain. [Valaris] + * Fixed up npc_suicide and npc_selfdestruction, should fix up crashes caused by them. [Valaris] + * Added more pointer checks in the clif_authok function. [Valaris] + * Added some pointer checks to clif.c, should prevent crashes. [Valaris] + * Added some checks about writing errors of item names in GM commands (check cases). [Yor] + * Fixed Hunter Job Quest 1.6 [Lupus] + * Removed Kalaspuff's fix for mob/npc data not always being recieved. It was causing + excessive amounts of lag. [Valaris] + +08/01 + * Added ability to spawn character pets. [Valaris] + * Added show_mob_hp. [Valaris] + * @item/@item2 GM commands now work correctly with name begining by a number. [Yor] + * @spawn/@monster2 GM commands authorise spawn of guardians. [Yor] + * Fixed so guardians may be spawned outside of castles. [Valaris] + * Fixed/Improved @spawn/@monster2 GM command. [Yor] + @spawn/@monster2 GM command: you can use space in the desired name now (use "") [Yor] + * Added TODO 26 and 27. [Yor] + * Guardians if owned by a guild will display guild name and castle on name request. [Valaris] + * Added checks for null blocks in mapforeachin functions. [Valaris] + * Addition of a GM level 99 account for test of GM commands. [Yor] + * Creation of a default structure for GM levels (sub-gm, gm, admin, etc.). [Yor] + * Improved @time GM command (better code and display more informations). [Yor] + * Added informations about game time in @time command [Yor] + * Added @time command to have server time [Yor] + * Fix night at start if administrator want night and there is no duration for night and day [Yor] + * Fix for NPCs / mobs not showing up when chars walk around [Kalaspuff] + * Begin @unban/@unblock GM command (structure done). [Yor] + * It's now possible to disable Night or Day (set to 0 in battle.conf). [Yor] + * @day/@night: when already the desired cycle, display a message. [Yor] + * Fixed overlapping Ice-Cream Maker NPC, duplicated NPCs, restored duplicated Akaru's MrSmile [Lupus] + +07/31 + * Terminated: night/day cycles. [Yor] + * When a state comes back to normal, player stay in night if it's night. [Yor] + * Started to add management of day/night: [Yor] + creation of 3 parameters in battle.conf + TODO: usage of these parameters (later). + * added line '// $Id: Changelog.txt,v 1.65 2004/09/29 17:31:42 kalaspuff Exp $' in all code source files to avoid overwrite in CVS. [Yor] + * Fixed number/quantity in @item command. [Yor] + * Fixed when night and disconnect/reconnect, it's night. [Yor] + * Removed extension to check a map in char.c (less tests). [Yor] + * Added savepoint coordonates (x,y) if player is set to a new map (char.c). [Yor] + * Added izlude to check major cities. [Yor] + * Began adding developer mobs. [Valaris] + * Added dyes and fixed client crashes with player mobs. [Valaris] + +07/30 + * Added temp fix for "nullpo player not attached" error message (script.c script_rid2sd) [Lupus] + * Added checks for major cities in afm format. [Valaris] + * Added preliminary AFM(Advanced Fusion Map) support. Actual map-reading works, but rest of server needs to recognize them. + Thanks to alexkreuz [Valaris] + * Changed Map and NPC loading display. [Valaris] + * Removed unneeded 'End' and duplicate 'end' script commands. [Valaris] + * Added 'language ' command in ladmin (perl) to change language of displaying. [Yor] + * Fixed atcommand_gm_only parameter: [Yor] + 0: you can define level command '0' for normal players (gm level 0) + 1: even you define a level 0 for a command, normal player can not use it. Only GM level 1 or more can use command (if command level is possible for this GM) + Note: This parameter is not like atcommand_for_all (this parameter doesn't exist actually) . + * Fixed Kafras (Cart Service for Super Novice), some warps in Morroc, Aldebaran. [Lupus] + Added official shop into St.Abbey. [Lupus] + Added quests: Lutie Town Hat Quest by TonyMan, 23 new hats custom quest. [Lupus] + Fixed jobchange.txt. [Lupus] + Improved pvp.txt. [Lupus] + Rearranged and updated! (now in 2 variants) mapflags. [Lupus] + Updated map_athena.conf [Lupus] + * Fixed: battle_athena config's atcommand_gm_only; yes was no and vice versa [Kalaspuff] + +07/29 + * Added 'language ' command in ladmin.c to change language of displaying. [Yor] + * Re-added guardians don't attack guild members, someone must have removed it by accident. [Valaris] + * Restore correct displaying (LAN/WAN) previous was good :) (sorry... prabably tiredness). [Yor] + * Fixed some errors in novice.txt script. [Yor] + * Kashy's script fixes. [Valaris] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Creation of a char_unblocked directory (char directory is blocked) [Yor] + - modification of makefile + * Added a note in TODO 14: encrypted password - problem with client versions [Yor] + +---------eAthena 1.0.0 RC2 TXT--------- +07/28 + * Added metaller to equipped mobs. [Valaris] + * Added a note in TODO 19 [Yor] + * REMOVED last changelog: cvs server: [14:29:29] waiting for cvs's lock in /usr/cvsroot/athena/src/char [Yor] + * Displaying of correct information in LAN/WAN test (displaying was reversed) in char.c [Yor] + * Added "OMG" emotion to weapon/armor breaking. [Valaris] + * Removed space in a pointer in mob.c. [Valaris] + * Restored previous version of lan management in login.c, because: [Yor] + - check test was incorrect (no mask for controled ip). + - in check test, we recalculate every time the subnetwork (loss of time). + - impossible to have a name definition for the sub-network (some network administrator use a name to define the sub-network). + - no more default configuration of sub-network. + - possible errors in the reading function of the lan file. + - no more logs about sub-network. + - BUT, conserved: - new default name for lan file + - color for displaying of LAN/WAN + * Removed some memsets from chrif.c that caused segfaults. [Valaris] + * Added fix for anklesnare and spiderweb. [Valaris] + * Added Kashy's Lan Support code. [Valaris] + * Removed variables and assignment used by prevent_multi_login. [Valaris] + * Removed prevent_multi_login. (many problems reported with it) [Valaris] + * Fixed armor breaking. Was being broken when pc was attacking instead of when being attacked. [Valaris] + * Fixed checkcart, checkfalcon, checkriding (they didn't return any value) in script.c [Lupus] + * Fixed breeder.txt renter.npc, kafras NPC (added correct class check, added correct checkcart, checkfalcon, checkriding) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (added correct checkcart, fixed cmall cart giving bug) [Lupus] + * Fixed Kafra functions_kafras.txt NPC (fixed Kafra Pass exploit) [Kobra_k88] + * Fixed Hunter.txt coords of the Guild entrance warp [Lupus] + +07/27 + * Improved check command in ladmin.c [Yor] + * Added map_id check in map_foreachinarea, to prevent eventual crashes [Kalaspuff] + * Added @enablenpc and @disablenpc in help files [Yor] + * Fixed Thunder Storm range (thanks midas) [Kalaspuff] + * Added Anthell NPC trigger in Morroc.txt warps/town [Lupus] + * Added missing Warps for Job Quests of Swordman, Hunter and Thief in jobquests.txt [Lupus] + * Updated atcommand_conf, missing GM-level for @enablenpc and @disablenpc [Yor] + * Removed possible overflow error in @enablenpc and @disablenpc [Yor] + * Updated atcommand_conf, missing GM-level for haircolor [Kalaspuff] + * Improved best job test in novice.txt [Yor] + * Improved @go command: [Yor] + - give list of cities if no value + - added start point (to welcome newbies) + - give possibilities to use city names (@go geffen): at least 3 characters, and some writing errors are tested + * Replaced every Job Quest Script (excluding Assassin, 2-2 and 2-2-X ). Now all 2-1 Jobs have big quests. [Kobra_k88] + * Replaced all Skill Quests (Added Sand Attack Skill Quest). [Kobra_k88] + * Added Legendary Swords quest. [Kobra_k88] + * Replaced 6 towns with new scripts: Izlude, Prontera, Morocc, Geffen, Alberta, Al De Baran. Splitted all towns quests into files. [Kobra_k88] + * Splitted and optimized Kafras & Guides. [Kobra_k88] + * Implemented Kafra Pass! [Kobra_k88] + * Removed free Breeders (replaced by the correct ones). [Kobra_k88] + * Placed all Sign Posts/Signs into a single file. [Lupus] + * Files arrangement, additional warps/scripts correction. Fixed several scripts (NPC overlapping, bad sprites, etc). [Lupus] + +07/26 + * More accurate pvp point system. It skips ranks, needs more work. [Valaris] + * Fixed crash in executioner card code. [Valaris] + * Fixed mob respawn after death bug. [Valaris] + * Fixed exp problem caused by bounds checking. [Valaris] + * Fixed pvp rank so only one person may be rank 1. [Valaris] + * Any time a person is on a pvp map, the rank will calculate, preventing bad rank packets from being sent. [Valaris] + * Added Job Agencies for Training Ground (novice.txt). [Yor] + * PVP respawn client crash fix. [Valaris] + * Fixed small error in kafra.txt [Syrus22] + * Finished adding special equipped mobs. [Valaris] + * Added 2 living statues behind the NPC 'Monster Master'. [Yor] + * Removed infinite possibilities to have items from helper (novice.txt, new_1-4.gat,60,149). [Yor] + * Added 2 living statues behind the NPC 'Monster Expert'. [Yor] + * Improved a little 1st course of novice training. [Yor] + +07/25 + * Allow mobs to be equipped with pet armor. mob_avail and clone mobs need to be created. [Valaris] + * Removed [AppleGirl]'s armor breaking code. [Valaris] + * Commented out data_dir. [Valaris] + * Finished exp bounds checking. [valaris] + * Added negative value checks to clif_updatestatus. [Valaris] + * Added exp bounds checking for those rediculously high rate servers. [Valaris] + * Added bounds checking to the @zeny and @charzeny commands. [Valaris] + * Improved and corrected some errors 1st course of novice training. [Yor] + * Removed no guild check for Guardians. Guardians SHOULD attack people with no guild. [Syrus22] + * Fixed Alliance check in mob.c [Syrus22] + * Added armor breaking to normal battle (crits will double the chance) [Valaris] + * Fixed mistake in map.c causing compile errors. [Syrus22] + * Fixed backstab bow penalty option. [Syrus22] + * Fixed Alliance check in battle.c for emp/guardian damage. [Syrus22] + +07/24 + * Added backstab bow penalty option [Akaru] + * Fixed OnGuardianDied events on prontera castles 3 to 5. [Valaris] + * Another vending fix. [Valaris] + * Fixed bugs in npc headers caused by someone using spaces and not tabs. (kafra.txt, guide.txt, yuno.txt) [Valaris] + * Fixed a vending bug. [Valaris] + +---------eAthena 1.0.0 RC1 TXT--------- +07/22 + * Fixed numerous startup errors in aldebaron castles and one geffen castle. [Valaris] + * Full Guild Wars Script Complete!!! [Akaru] + * Fixed rice ball item. [Valaris] + * Fixed problems with options and peco riding. [Valaris] + * Updated item_db with fix for Sleipnir and more translations. [Akaru] + * Translated item_violetbox, mob_poring, mob_branch, mob_boss. Fixed wizard.txt (wrong item id), headgeatquest.txt(added Zeny check) [Lupus] + +07/21 + * Updated refine.txt. Added optional features and optimized the file. [Syrus22] + * Evened out the # of columns in mob_db, filled in some blanks. [Valaris] + * Undid compilation errors caused by Akaru's removal of nullpo.o from map-server compile [Valaris] + +07/20 + * Removed Ghostring from gef_fild13.gat [rg] + +07/19 + * Fixed Graffiti [Valaris] + * Zeny Bug In Vending Fixed [Darkchild] + +07/18 + * Added a check about level of at_command when reading the file [Yor] + * Updated /help and conf/help.txt [Yor] + * Added @nuke command in conf/help.txt [Yor] + * More WoE Castles Done [Hikaru] + * Changed: inter.txt->inter.log in log directory [Yor] + * Added some char_log when character can not be created (invalid value, invalid name, etc...) [Yor] + * Changed: char.txt->char.log in log directory [Yor] + * Update features.html/changlog.html [Yor] + * Fixed compilationissue on FreeBSD [Kalaspuff] + +07/16 + * Remove limit for kami/kamib ladmin command. [Yor] + * Fixed crash in weddingtxt.txt where it was checking an invalid equip index. [Valaris] + * Added some TODO for next version. [Yor] + +07/15 + * Changed: login.txt->login.log in log directory [Yor] + * added system to choice authorised ip for remote administration [Yor] + * Added listBan/listOk commands in ladmin's. [Yor] + * Speed up a little search_mapserver function. [Yor] + * Init map strings of each servers when map-server send informations. [Yor] + * Added some TODO for next version. [Yor] + +07/14 + * Fixed another lockup with multi_level_up [Valaris] + * Added kami(yellow)/kamib(blue) commands in ladmin (terminated). [Yor] + * Fixed name of ladmin_athena.conf. [Yor] + * Fixed mvp item reading. [Valaris/Syrus22] + * Added new move packet in map (ver.13jully04) [Yor] + * Added new auth packet in map (ver.13jully04) [Yor] + * Added kami/kamib commands in ladmin. not terminated: to do: login->char [Yor] + * Updated Some Npcs [Darkchild] + * Added Gefenia Warps [Darkchild] + * Added Berzebub Quest [Darkchild] + * Removed random alchemist marine sphere code, until some other system is worked out. [Valaris] + * Fixed infinite loop caused by turning multi level off. [Valaris] + * Added display id the char-server is freezed. [Yor] + * Added debug printf about the max_connect_user in char-server. [Yor] + * Added banadd command in ladmin.c [Yor] + * Removed duplicate check in chrif.c. [Yor] + +07/13 + * Fixed GM_level code in map-server. [Yor] + problem is in the hash system of the db -> use simple db until we found solution. + note: for this db, it's not necessary to use a db system (little db, 2 values: key, value) + * Improved GM_level code in map-srv, but not solve the problem. [Yor] + * Fixed error of 'return' without value in chrif_parse (chrif.c). [Yor] + * Added character name, account id and gm level on console in map-server when auth is accepted. [Yor] + * Added gm_level of the account on console in char-server when auth is accepted. [Yor] + * Added gm_level of the account on console in login-server when auth is accepted. [Yor] + * Added timeadd command in ladmin.c [Yor] + * Added help for each command (help ) in ladmin (perl and c). [Yor] + * Fixed global message (normal speak) name spoof exploit. [Valaris] + * Added timeset command in ladmin.c [Yor] + * Added banset command in ladmin.c [Yor] + * Added vending and trading dupe fixes, thanks to Kinko and Kazzy [AppleGirl] + * Added multi_level_up command to battle_athena and commandline. [Valaris] + Turning it off will allow a player to only level up once from a monster. + * Added: explanations of ladmin_athena.conf keys in conf_ref.txt. [Yor] + * Fixed: init mmo_map_server structure (to 0) in char-server. [Yor] + * Added Gefenia Maps [Darkchild] + * Added @nuke command do to user request. [Valaris] + * Removed nick spoof fix code for now, it broke chat. [Valaris] + * Added some code for @nuke command. [Valaris] + * Finished adding battle_athena options to command line. Every option in battle_athena.conf + can now be passed directly through the command prompt. [Valaris] + +07/12 + * Added many battle_athena options to command line arguments. [Valaris] + * Allow battle_config_switch to be used globally in map-server. [Valaris] + * Rewrote map-server command-line code. Will now begin implemented nice commands for map-server. [Valaris] + * Added BETA version of ladmin in C. [Yor] + * Added new packet structure of authentification and move - automatic detection. [Yor] + * Added /item command. It is same as /monster. Both commands will search for mobid first, if not found will give item. [Valaris] + * Fixed a displaying error in state command (perl ladmin). [Yor] + * Added /monster command. Syntax is /monster . [Valaris] + * Fixed chat spoofing in global messages. [Valaris] + * Prevent nick spoofing in whispers. [Valaris] + * Added check about lenght of packet 0x72 for new client version [Yor] + * Added Pet Equip Items Quest Npc + * Added Pet Taming Items Quest Npc + * Added Slotted Sunglasses Quest Npc + * Added pet_equip_required option for pet skills. [Valaris] + * Changed: create a sub-function for help command in ladmin (perl). [Yor] + +07/11 + * Added Petit pet skill. [Valaris] + * Added some code for Petite Heaven Drive, still does not work, but doesn't crash. [Valaris] + * Fixed dokebi and baby desert wolf pet skills. [Valaris] + * Added Orc Warrior, Hunter Fly, Poison Spore, Baby Desert Wolf, Baphomet Jr, and Dokebi pet skills. [Valaris] + * Added script command petskillattack.[Valaris] + * Fixed search command in ldamin (perl) ignore sensitive case now. [Yor] + * Fixed default to 0 for save_unknown_packets configuration in login. [Yor] + * Fixed the warnings about implicit declarations. [Kalaspuff] + * Added @guildrecall/@partyrecall commands. [Yor] + * Added Isis pet skill. [Valaris] + * Added petmag script command for magnificat. [Valaris] + +07/10 + * Added Banker NPC because alot of users wanted one. [Syrus22] + +07/09 + * Added Sohee pet skill. [Valaris] + * Added petheal command. [Valaris] + * Added Smokie pet skill. [Valaris] + * Added bonus bPerfectHide for Smokie pet skill. [Valaris] + * Added Spore pet skill. [Valaris] + * Created petrecovery script command. [Valaris] + * Added Poring, Drops, Poporing, and Yoyo loot skills. [Valaris] + * Added petloot script command for pet looting. [Valaris] + * Removed pet_loot config settings. [Valaris] + * If pk_mode is on, a message will show up in map-server. [Valaris] + * Fixed pk_mode extra experience and drops so will occur if monsters is 20 levels or higher than player. [Valaris] + * Fixed @killmonster crash caused by implementation of pk_mode. [Valaris] + * Finished setting up pk_mode, should be 100% complete now. [Valaris] + * Added nopvp.txt for pk_mode. [Valaris] + * Prevent novice engagement in pk_mode. [Valaris] + * Fixed up and changed the exp penalty system. [Valaris] + * Pk_mode will now give double exp loss if killed by player. [Valaris] + * Updated conf/help with new commands [Yor] + * Removed more pvp timer stuff from pk_mode [Valaris] + * Increase drop rates +25% if over level 20 on pk_mode. [Valaris] + * Changed +25% exp increase on pk_mode to 15%. [Valaris] + +07/08 + * Disabled pvp rank and timer if pk_mode is on. [Valaris] + * All maps made pvp if pk_mode is on. [Valaris] + * pk_mode additional 25% exp given over level 20 [Valaris] + * Disable @pvpon and @pvpoff commands if pk_mode is on. [Valaris] + * Added pk_mode option in battle_athena.conf (not yet implemented) [Valaris] + * Reworked prevent_multi_login, should work perfectly now. [Valaris] + * Removed need for eof=2 for prevent multilogin, will now just delete the blocks containing both sessions. [Valaris] + * Added map-servers anti-freezed connection in char-server. [Yor] + * Added char-servers anti-freezed connection in login-server. [Yor] + * Fixed spy commands so that inputting the same id/name turns off the command. [Syrus22] + * Created @partyspy command. [Syrus22] + * Renamed search_guildname function to conform with normal naming standards in guild.c. [Syrus22] + * Created @whomap/@whomap2/@whomap3 commands to show online players on a specifical map. [Yor] + * Updated and Shrunk the Kafra Script. [Syrus22] + * Create @reloadgmdb gm command. [Yor] + +07/07 + (Dated On Aegis Website) + *--Released 1.0.0 RC3--* + * Fixed crashed with prevent_multi_login. [Valaris] + * Allow infinited local logins if prevent multi_login is on. [Valaris] + * If prevent_multi_login is on, it will disconnect both clients on the same ip. [Valaris] + * Prevent_multi_login will now list the character names of both accounts when logged out, and give a message. [Valaris] + * added updated const.txt and pet_db.txt [Valaris] + * GM accounts/level updating without restarting completed (by reloadgm ladmin command). [Yor] + * Removed gm_account_filename definition from map.conf. [Yor] + * Updated GM level by reloadGM ladmin command. [Yor] + * Added a packet between char and map to send GM accounts and their level. [Yor] + * Added a GM minimum level option to display 'GM' in online files. [Yor] + * Added a warning when a GM account is defined twice in the file. [Yor] + * Check for castle before guardian searches for emblem. [Valaris] + * Prevent stealing from treasure boxes. [Valaris] + * Enable mounted classes to use pedestrian counterpart's items. [Valaris] + * Change so petskillbonus will only update stats(client-side) if need be to prevent errors. [Valaris] + * Fixed crash with putting pets with skills back into egg. [Valaris] + * Added Steel ChonChon, Rocker, and Deviruchi pet skills. [Valaris] + * Added bAllStats(SP_ALL_STATS), bAgiVit(SP_AGI_VIT), bAgiDexStr(SP_AGI_DEX_STR) bonuses for pet skills. [Valaris] + * Added ChonChon, Lunatic, Picky, and Savage Babe pet skills to pet_db.txt. [Valaris] + * Added petskillbonus command for pet skills. Added pet_skill_bonus functions in pet.c. Made pointers for pet skills. [Valaris] + * Added 'GM' display option for online files [Yor] + * Improved GM accounts file reading in login-server [Yor] + +07/06 + * Changed heal dog in prontera to a poring. [Valaris] + * NPCs with mob sprites can now be used in scripts. [Valaris] + * Removed sd->brokencounter. Made getbrokenid more scripter friendly. Updated refine.txt getbrokenid commands. [Valaris] + * Mounted classes will now use equipment of their pedestrian counterpart. [Valaris] + * Improved management of GM account structure in char-server. [Yor] + * Added packet betwen login to char to send GM accounts value. [Yor] + * Added reloadGM command in ladmin to reload GM accounts file without stop the login-server. [Yor] + * Added listGM/lsGM command in ladmin to list only GM. [Yor] + * Correct an error in loop of char_divorce function (incorrect variable). [Yor] + * Added some comments. [Yor] + * Added a check on start_point.map when configuration is readed. [Yor] + * Modified final message of login log at end of login-server. [Yor] + +07/05 + * Flamelauncher,frostweapon,lightningloader,seismicweapon, and enchant poison now check to make sure target's weapon is not already enchanted. [Valaris] + * If sage breaks another person's weapon due to enchant failure, it will tell caster. [Valaris] + * Modified venom splasher to hopefully stop crashes caused by spamming. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now check to make sure target is holding a weapon. [Valaris] + * SA_FLAMELAUNCHER,SA_FROSTWEAPON,SA_LIGHTNINGLOADER,SA_SEISMICWEAPON now will break target's weapon on failure (if one + is being held and caster met requirements) [Valaris] + * Prevent unidentified and broken items from being sold. [Valaris] + * Added buildin_repair for equipment repair npc. [Valaris] + * Added repair npc to forgery in prontera. (refine.txt) [Valaris] + * Added sd->brokencounter and buildin_getbrokenid for item repair npc. [Valaris] + * Corrected some item names [rg] + * Fixed so @repairall success message and effect will only display once. [Valaris] + * Added "No items needed to be repaired" message and added forge success effect to @repairall. [Valaris] + * Added @repairall command. [Valaris] + * Added equipment_breaking option, changed weapon_break_chance to weapon_break_rate (changed to %) [Valaris] + * Crit's will now double weapon breaking chance if turned on. [Valaris] + * Added missing commands in atcommand_athena.conf. [Yor] + * Added @warpto command (same @jumpto). [Yor] + * Added increase in chance to break weapon if using powerthrust. [Valaris] + * Added weapon_break_chance to battle_athena.conf. [Valaris] + * Modified multiple login from one ip prevention(and remove gm bypass). [Valaris] + * Broken weapons will now have their description names in red. [Valaris] + * Speed up characters saving [Yor] + * Improved logs when a character isn't readed [Yor] + +07/04 + * Completed Prontera guild castles [Akaru] + * break_weapon_chance now works, but broken weapon will not be displayed any differently than a normal weapon. + Also does not yet affect a dual dagger assassin's 2nd weapon. No way to repair yet, and no skills/stats affect breaking chances. [Valaris] + * Update int_storage to include broken column on all items (updates from old version) [Valaris] + * Added @guildspy command. [Syrus22] + * Added weapon_break_chance. (Not implemented yet) [Valaris] + * Added break column for items in athena.txt (will upgrade older versions automatically) [Valaris] + * Changed default required GM levels for GM commands (effective if corresponding directive(s) in /conf/atcommand_athena.conf is/are missing) to 1 [rg] + * Added packet_table_en.txt in doc folder. Has some translations of the client_packet.txt. [Valaris] + * Prevent @monster and @spawn of guardians/emperium. [Valaris] + * Changed killmonster so it will not destroy guardians. [Valaris] + * Added prevent_multi_login in battle_athena.conf to disable multiple logins from same ip (ignores gms, and will + display ip of offending ip if turned on) [Valaris] + * Added checks on player trading to prevent possible exploits. [Valaris] + * Make sure cart is on before vending. [Valaris] + * Cleaned up vending exploit fixes. Now checks to make sure not vending more than max items per skill level. [Valaris] + +07/03 + * Prevent use of potion pitcher on oneself, fixed potion pitcher so can be used on other targets. [Valaris] + * Fixed the damage code for Falcon Assault, so its not totally useless. [?] + * Update peco riders for people upgrading athena, fixed bug in unmounting pecos. [Valaris] + * Removed option 32 from @option, added @mountpeco command. [?] + * Removing peco will revert to proper job level, fixed so jobchanging from peco status to peco user without peco status, + will update job to peco status. (ie going from Mounted crusader to Unmounted knight, will jobchange to mounted knight) [Valaris] + * Fixed so Peco mounting will not reset job level. Set to remove peco status if jobchanging to a class that does not use them. [Valaris] + * Peco mounting will now jobchange accordingly. [Valaris] + * Added checkfalcon and checkriding script commands. [Valaris] + * Added checkcart script command (since was already being used in scripts) [Valaris] + * Re-added unix fd_setsize definitions, makefile will now pass -DFD_SETSIZE=4096 only for windows compiles. + Tested new implementation of using -DFD_SETSIZE=4096 in makefile on windows box, and got past 64 connections even. [Valaris] + * Improved messages between servers about connections. [Yor] + * Improved pc_resetlvl, fixed the bug about options being left. [?] + +07/02 + * Added optional match_test in @who/who2/who3 commands (no sensitive case) [Yor] + * If there is no map-server, send right message to client (char-server) [Yor] + * Improved counter of users (char-server) [Yor] + * Improved save of characters (char-server) [Yor] + * Improved sorting of account before save (login-server) [Yor] + * Improved map search at selection of a character (char-server) [Yor] + +07/01 + * Removed FD_SETSIZE definitions from socket.h, added -DFD_SETSIZE=4096 argument to makefiles. [Valaris] + * Changed exploit fix in chrif.c [Valaris] + * Added assassin mask view_id in item_db [Valaris] + * Added a parameter to authorise minimum GM level at connection (login) [Yor] + * Fixed crash caused by making raw connection to map-server. [Valaris] + * Corrected a possible error at check of online players [Yor] + * Improved characters names control/check [Yor] + * Improved save/load of REG2 strings and values (login) [Yor] + * When there is no char-server, login-server sends proper message instead of a void list of servers [Yor] + +06/30 + * Fixed a crash when used @charmodel,@charstpoint,@charskpoint and + @charzeny with the wrong name [Kalaspuff] + * Added possibilities for switchs in battle.conf (add some foreign language) [Yor] + * Protected char-server again disconnection of login-server [Yor] + * Added possible protection against packet exploits in chrif.c. [Valaris] + * Login-server: Added an option for the format of the date (log, etc...) [Yor] + Improved some little code. + Added log for char-server packets. + * Correction of prtg_cas03.txt that crash server AT START! [Yor] + * Added functions of mapflag noskill [Kalaspuff] + +06/29 + (Dated On Aegis Website) + *--Released 1.0.0 RC2--* + +06/28 + * Added monsters_ignore_gm option. Monster won't attack GMs if turned on unless attacked and within 1 cell. [Valaris] + * Added drops_by_luk option in battle_athena.conf. Anything higher than 0 will turn this option on, and act as a mutiplier. + Example : Setting of 10 with 50 luk would add 5 to the drop rate. So say a card has a drop rate of 2, it would become 7. [Valaris] + * Fixed range and removed skill failed message from Venom Splasher, also moved some of it's code around. [Valaris] + * When a player arrive on map-server, time limit of its account is displayed if not unlimited [Yor] + * Fixed problem where warp portals broke in npc.c [Valaris] + * Updated atcommand_heal so it works like it should [Kalaspuff] + +06/27 + * Changed Venom Splasher so it will increase damage based on level of Poison React (had it set so the player had to be + using it, but it turns out it doesn't need to be) [Valaris] + * Venom Splasher now works except for the counter part. Damage is instantly dealt if skill is successful. [Valaris] + * Improved @item command to make correctly pet eggs [Yor] + * Updated Chase Walk so you can't attack while you have it casted [?] + * Removed un-needed code for graffiti from clif.c [Valaris] + * Added @ban command (to ban a player for a limited time) [Yor] + * Added @charblock command (you have been blocked by GM team) [Yor] + * Added the mapflag nowarpto [Kalaspuff] + * Updated the function of nowarp [Kalaspuff] + +06/26 + * When a player is banned (or with a state != 0), he is disconnected [Yor] + * When sex is changed, skills of other sex are reseted (and skill points increased of the same number) [Yor] + * To avoid problem with change sex and equipement, changed sex character is unequipped of all equipment [Yor] + +06/25 + * Added @charchangesex GM command [Yor] + * Changed: Changesex is now done after that the login-server has confirmed the change [Yor]. + becuase sex is saved in account file. + +06/24 + * Added new classes in change sex script command (buildin_changesex). [Yor] + * Translated pet_db.txt again [Valaris] + * Initial implementation of Venom Splasher. Runs checks on target poison status and whether or not hp is less then 2/3. + Will display skill failed if checks do not pass. Shows effect when successful. [Valaris] + * Added administration system to change final date of a banishment. [Yor] + * Added information about banishment in admin packets about an account. [Yor] + * Updated Chase Walk so it cancels when recasted to fix it. [?] + * Initial implementation for Chase Walk skill for Stalker Class [?] + * When an account is banned, message_error_7 is not more modified [Yor]. + +06/23 + (Dated On Aegis Website) + *--Released 1.0.0 RC1--* + * Added bRandomAttackIncrease for Executioner card. Chance stacks, attack does not. [Valaris] + * Fixed magic_damage_return so it will actually work (for Maya card). [Valaris] + * Add a ban timestamp in the structure of the accounts. Management not yet make [Yor] + +06/22 + * Don't send a message when it's void (packet 0x8e) - client doesn't display it [Yor]. + * Add a refresh time parameter for the html online file (refresh time in the explorer) [Yor]. + * Create a job_name function in atcommand to have the name of the job (suppress repeated code) [Yor]. + * Added New City: Jawaii + * Fix free memory of online structure at end of char-server [Yor]. + * Remove possible duplicated online players (multiple map-servers) [Yor]. + * Add examples in state command (ladmin) [Yor]. + * Use a function to display warnings in login-server to avoid duplicated messages with import option [Yor]. + * Iinitial implementation for magicdamagereturn for Maya Card [?] + * skill_out_range_consume - If it is set 'no' the skill will still be cast (like real servers). + If it is set to yes, skill will fail and sp and items required will be lost. [Valaris] + +06/21 + * Updated Sacrifice skill code to be more flexible for user usage [?] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION to SC_ATKPOT and SC_MATKPOT, also added it in item_db.txt [?] + * Guild Territory will now display the # of castles owned or "None Taken". [Valaris] + * Changed SC_ATTACKPOTION and SC_MATTACKPOTION so the increase can be specified in itemdb.txt. + Example : sc_start SC_AtkPot,18,30; (+30 atk for 30 seconds) [Valaris] + * Added SC_ATTACKPOTION and SC_MATTACKPOTION for +30 atk for specified time period (need to get the correct id's yet, + right now giving wrong icons and wrong message). Added entries in const.txt, need more info to complete these. [Valaris] + * Fixed so players will always spawn with guild emblem if one is needed. [Valaris] + * Reduce number of tests in atcommand_character_stats_all (@charstatsall). [Yor] + * Fix memory management for online players list. [Yor] + * Party HP now updates instantly on change. [Valaris] + * Fixed crash when non-guild members are in the area of guardians in attack mode.(Will ignore them) [Valaris] + * A higher level GM is not displayed by who/who2/who3 if he uses HIDEGM. [Yor] + * When a GM with HIDEGM relogs, he is always HIDEGM (only GM). [Yor] + * Improve presentation of online.txt file. [Yor] + * In /npc/quests/magicalhatquest, corrected checking for and deletion of Mage Hat instead of Wizard Hat. [rg] + +06/20 + * Fixed problem with guardian emblems disappearing [Valaris] + * If a GM use GM HIDE, he is not counted in the number of players [Yor] + * Setup prtg_cas01 to load guardians on server startup and to spawn them when purchased. Also switched from GuardianDied + to OnGuardianDied (other way wasn't working). Changed so guardians won't be killed on agitend. [Valaris] + * Guardians cannot attack and cannot be hurt during non woe time. [Valaris] + * Switched checking of castle.txt format so it won't wipe guardian hp everytime it loads. [Valaris] + * Made it so if guardians were installed in old db, that it will set guardians to full hp based on defense and class. [Valaris] + * Autosave will save guardian HP data. [Valaris] + * Castle.txt visibleG flags will be set when guardians are killed. [Valaris] + * Moved emperium defense upgrade to mob.c. [Valaris] + * Removed guardian hp saving from agitend. [Valaris] + * Added option to choose which columns are displayed in the online files [Yor] + * Added option to choose how to sort online players in the online files [Yor] + * Correction of a new error on guild (from [Valaris]). Old castle.txt files couldn't be readed. [Yor] + * Kafra Points And Rewards fixed [Darkchild] + * Kafra file made a lot smaller with DoEvents [Darkchild] + * Fixed lotsa bugs in Kafra's [Darkchild] + * Initial implementation for paladin's skill sacrifice [?] + * Loading/Saving of guardian hp (loads on agitstart, saves on agitend) [Valaris] + * Added so guardian hp will change accordingly. Moved the guardian defense increase to mob.c [Valaris] + * Implemented guardian and guardianinfo script commands [Valaris] + +06/19 + * Added Ghp0-7 into castle database [Valaris] + * Added configuration parameters to choose online files filename [Yor] + * Added online files (txt and html) [Yor] + * Added choose of authorised letters/symbols for characters names [Yor] + * Added 3 new Dragon Boat Festival monsters with temporary stats to mob_db [Akaru] + * Translated more of item_db [Akaru] + * Added correct effects for Dragon Boat Festival items [Akaru] + * Solve problem about the change of MAX_GUILDPOSITION by [Valaris] when we load an old guild.txt file. [Yor] + * Improve allow/deny configuration. Write warnings if necessary. [Yor] + +06/18 + * Add heal_payment.txt as an alternative to heal.txt. [Yor] + * Sex change (char.C): Correct error in jobchange. Disconnect player if connected. [Yor] + * Sex change/account deletion: Change authentification to avoid that player comes back on char-server within the 5 secondes before disconnection. [Yor] + * Save configuration of login-server in log file at start. [Yor] + +06/17 + * Added fritz's vending exploit fixes. [Valaris] + * Increased max guild castle size to accomodate for novice guild castles. [Valaris] + * Fixed investment in prontera castle 1. [Valaris] + * Implemented of showing guardian hp on guardian investment in prontera castle 1 (factors in defense investment) [Valaris] + * Added strmobinfo script command. Syntax is strmobinfo(x,y). 'y' is the mob's id. x will show different values. + 1=english name, 2=jap name, 3=level, 4=max_hp, 5=max_sp,6=base_exp,7=job_exp. [Valaris] + * Disable % and / for 1st symbol of commands (party chat symbol and standard ragnarok GM commands) [Yor] + +06/16 + * Added fully functional economy for Prontera Castle 2 Guild Wars script [Akaru] + * added fix for cross-class ensemble skills. [?] + * Increased max guild member limit to accomodate for +2 member increase per extension level + and increased max position to 56 to accomodate for all members. [Valaris] + * More of fov's fixes for atcommand.c, chrif.c, and clif.c. [Valaris] + * added fixes for class checking skills like bard & dancer skills and a priest skill. [?] + * updated skill_cast_db and skill_require_db.txt [?] + * changed int_guild.c added +4 for extension skill to match kRO [?] + * remote administration: add a command/packet to change sex of an account [Yor] + * Log detailled reason of refused connection in remote administration [Yor] + * Create a mmo_auth_tostr for accounts [Yor] + * Add a message when char-server is terminated [Yor] + * Save deleted accounts (administration deletion) in log file [Yor] + * Add a message when login-server is terminated [Yor] + +06/15 + * Added in fov's fixes for socket.c, atcommand.c, npc.c and skill.c [Valaris] + * Added a char_log function. Save unreadable characters in log instead of a specific file [Yor] + * Save invalid account lines in log file. Account will be never lost [Yor] + * Sort characters of same player with the slot number in the characters file [Yor] + +06/14 + * Fix errors in prtg_cas01, prtg_cas05 and MrSmile scripts [Akaru] + * Added fully functional economy for Prontera Castle 1 Guild Wars script [Akaru] + +06/13 + * If player is on map-server when the account is deleted, player is now disconnected [Yor] + * Correction of char deletion bug when account is deleted [Yor] + * Added Prontera Castle 5 guild wars script [Akaru] + * Added Prontera Castle 4 guild wars script [Akaru] + * Add checks about duplicated character ids and names [Yor] + * Don't save a reg of a character if its string is void [Yor] + * Read a character even if a reg string is void (don't suppress the char for that) [Yor] + * Save characters in account_id order [Yor] + * Save not readed characters in a file (char file name + "not_readed.txt") [Yor] + * Display line number when a character can not be readed [Yor] + * Initialise char_num! Display number of readed characters [Yor] + * Do right initialization of char_dat [Yor] + * Add red color for ERROR displays in char.c [Yor] + +06/12 + * Change 0 to '\0' for char in login.c. Add red color for ERROR displays [Yor] + * Optimised Mr. Smile NPC script [Akaru] + * Add a configuration in atcommand.conf to set the 1st character of ALL commands (Now, you can choose @, #, !..., any char that is not control character) [Yor] + * Optimised Prontera Castle 1 and 2 guild wars scripts [Akaru] + * Added Prontera Castle 3 guild wars script [Akaru] + * Changed Graffiti placement, will allow placement of one painting at a time (old one will be replaced). [Valaris] + * Graffiti displays to other plays and remains on map for set time period. [Valaris] + +06/11 + * Initial implementation of graffiti (does not change directions yet (vertical/upsidedown) and doesn't dissappear [Valaris] + * Add config_switch (0/1, yes/no, ...) for char-server configuration [Yor] + * Add a display when a player does a connection [Yor] + * Add a display when a remote administration does a connection [Yor] + +06/10 + * Improve compiling instructions for cygwin (socket.h) (depends of the cygwin version). [Yor] with help of [Lostsoul] + * Add parameters in login.conf to display or not parse information [Yor] + * Remove some repeated codes in ladmin / add example when error of command [Yor] + * Remove delete_session error in login.c (sorry) [Yor] + * Display correct message for char-server disconnection [Yor] + * Finish translation of ladmin [Yor] + * Fixed Various Npc Bugs [Darkchild] + * Added green colour for READY displays in char-server, login-server and map-server [Akaru] + +06/09 + * Add some comments in ladmin [Yor] + * Remove displaying of packet 0x2714 from login-server [Yor] + * Correct length of password send to login-server in char-server [Yor] + * Char-server/login-server: put default lan to 127.0.0.1 instead of any hasardous value [Yor] + * Change displaying of the title [Yor] + * Optimised twin towers script to use duplicate [Akaru] + * Edited to a more user friendly error message for invalid server communication password [Akaru] + * Updated the item_db for more item name consistencies [Akaru] + * Reverted training grounds back to new_1-?.gat maps. [Valaris] + * Added added more variety to sending packets to guild members (same map, same map w/out self, ect) [Valaris] + +06/08 + * Put a HOWTO in lan_support.conf. [Yor] + * Removed extra semicolons in char.c, map.c, and pc.c. [Valaris] + * Added missing } to clif_storageitemlist in clif.c and found a couple lines ending with 2 semicolons, removed them. [Valaris] + +06/07 + * Translated refine_db.txt. [Valaris] + * Negative vending fix. [Fritz] + * Correction of mktime parameters in ladmin + some translations [Yor]. + * Add some checks on login-server configuration parameters [Yor]. + +06/06 + * Fixed error in skill_tree.txt that would crash some people's servers when changing to Professor. [Valaris] + * Added admin_state directive for enabling and disabling remote administration, instead of testing whether admin_pass == "" [rg] + * Add title to the servers. [Yor] + * Add warnings about default password usage (administration and gm passwords). [Yor] + * Modify adduser.c for the default configuration. [Yor] + * Write the complete admin_packet.txt. [Yor] + * Champion NPC was looking for a priest instead of monk, changed to correct value. [Valaris] + * Small fixes in guide.txt, kafra.txt, and swordsman.txt pointed out by StiNKy. [Valaris] + * Begin splitting monsters.txt [Akaru] + * Removed obselete monster spawn files [Akaru] + * Complete Guild Wars for Prontera Castle 2 script done [Akaru] + * Fixed prevent_logout option. [Valaris] + +06/05 + * Implemented guild castle regen.(Stackable 2x for castle owners) [Valaris] + * Fixed player logout display on map-server console. [Valaris] + * Added atcommand_spawn_quantity_limit directive to /conf/battle_athena.conf [rg] + * Fixed noskill map flag [?] + * Complete information about login configuration in conf_ref.txt [Yor] + * Add possible configuration values on/off or yes/no in login-server [Yor] + * Guardians and emp will now get +2000 hp for every defense investment within a castle [Valaris] + * Changed the login server to reject all remote administration authentication if the admin_pass directive isn't set, and commented-out the admin_pass directive in /conf/login_athena.conf [rg] + * Changed /src/common/grfio.c so it doesn't try to read GRF files with no respective directive in /conf/grf-files.txt [rg] + * Changed so no one can spawn inside castles. [Valaris] + * Updated item_db with more consistant names, fixed some unknown_items [Akaru] + * Complete Guild Wars for Prontera Castle 1 script done [Akaru] + * Disabled guild breaking, alliance breaking, and alliance making during WoE. [Valaris] + * Will not default to prontera.gat if map-server is not connected. [Valaris] + * Warp players who are not in guild out of castles when WoE starts. [Valaris] + +06/04 + * Allies now do no damage to guardians or emperium. [Valaris] + * Prevent allies from being attacked by guardians. [Valaris] + * Optimized guardian emblem code. [Valaris] + * Fixed map-server crashing with spawning guardians in untaken castles. [Valaris] + * Guardian emblems will change if castle is taken, but client needs to refresh map. [Valaris] + * Fixed problem where guild emblem would vanish from guild info screen. [Valaris] + +06/03 + * Improve e-mails checks and LAN/WAN checks on char-server. [Yor]. + * Add some explanations in front of accounts file. [Yor] + * Set a non LAN configuration for basic configuration in lan_support.conf. Explain parameters. [Yor] + * add missing parameters of char_athena.conf, and explain them. [Yor] + * Restore default admin pass and gm pass of login_athena.conf, and add missing parameters. [Yor] + * fix missing include in char.c. [Yor] + * Translation of checkversion. Add some explanations in front of file. [Yor] + * Translation of getlogincount [Yor] + * Finish translation of new login.c [Yor] + * Implemented Guardian Emblems [Valaris] + +06/02 + * Added maximum_level option in battle_athena.conf [Valaris] + * Added maximum level cap to all the level up commands. [Valaris] + * Added "Deal has been cancelled" message to Fritz's input exploit fix. [Valaris] + +06/01 + * Fixed training ground npcs and warps, removed depreceated maps, using new ones. [Valaris] + +05/30 + * Small map-server crashing fix with Leo and Guide npcs in training ground [Valaris] + +05/29 + * Removed item_value_db.txt and all references to it [Valaris] + * Removed unused class_equip_db.txt [Valaris] + * Fixed stat and level reset bug where needed status points wouldnt reset unless relogged [Valaris] + * @monster will summon monster without an amount specified [Valaris] + +05/28 + * Added heal and usable item rate modifier [Valaris] + * Added pet equipment to equipment rate modifier [Valaris] + * Added option to turn alchemist summon experience and drops on and off [Valaris] + * Alchemist Marine Spheres now randomly explode [Valaris] + * Fixed bug where if certain items lowered max hp (4 mysteltain, and 1 eddga) below 0 + would loop to server max hp value. [Valaris] + +05/26 + * Added New Hats [Darkchild] + * Added New Monsters [Darkchild] +05/23 + * Added @charstatsall, views all characters (easy for money bug scaning etc! [Fritz] + * Max to input npc command, 0 is lowest, 99999999 is max, this to prevent money bugs! [Fritz] + +05/21 + (Dated On Aegis Website) + *--Released 0.5.2--* + +05/20 + (Dated On Aegis Website) + *--Released 0.5.1--* + * got dye working again [Darkchild/fritz] + +05/19 + (Dated On Aegis Website) + *--Released 0.5.0--* + +05/09 + * added Prontera Guild Castle 3 test guild wars test script [Akaru] + * modified Prontera Guild Castle 1 and 2 guild wars test script [Akaru] + * fixed several valkyrie jobchangers [Akaru] +05/08 + (Dated On Aegis Website) + *--Released 0.4.2--* + *--Released 0.4.1--* + * added Prontera Guild Castle 2 test guild wars test script [Akaru] + +05/07 (Dated On Aegis Website) + *--Released 0.4.0--* + +05/06 + * added Prontera Guild Castle 1 test guild wars test script [Akaru] +05/04 + * removed parses and added ENGLISH! [?] + +04/29 (Dated On Aegis Website) + *--Released 953 Delta--* + +04/28 (Dated On Aegis Website) (Whose Ideas Were These?) + *--Released 953 Gamma--* +04/27 + *--Released 951 Beta--* + * fixed @jobchange crash [credits to Mugendai, commited by Akaru] + +04/25 (Dated On Aegis Website) + *--Released 947 Alpha--* +04/23 + * added more Professor Skills and added checks [?] +04/10 + * added more upper skills from moonsoul's works [?] +02/12-04/10 + * CVS Down - Not Many changes could be made...* + +02/22 (Dated On Aegis Website) + *--Released 817--* + +02/12 + * added more mob skill conditions (friendstatuseq, mysyatuseq, friendhpltmaxrate) [RoVeRT] +02/06 + * dumped @skillall for @allskill [?] +02/05 + * fixed provoke so it doesnt work on undead [RoVeRT] + * added TyrNemesis^ card removal code and min/max settings [RoVeRT] +02/04 + * added start_zeny and party_level_range to char_athena.conf [RoVeRT] +02/03 + * Improved the prontera.gat map fallback. [Sara-chan] + * Improved the way guild emblems act when logging in. [Sara-chan] + * Undead-class armor, and Undead monster themselves will never be frozen [RoVeRT] + * fixed negative values for NPC to always be 0 +01/26 + * mob_warpslave correction [RoVeRT] +01/25 + * added poison hp reduction [AppleGirl] +01/20 + * added intimidate [RoVeRT] + * added mvp checks for some skills +01/17 + * added skill check for empelium attack and removed drops from NULL kills [RoVeRT] +01/16 + * added secondary effects for when characters with appropriate elemental armor + are within area of effect of sage spells SA_VOLCANO(atk up), SA_DELUGE(max hp up), + SA_VIOLENTGALE(flee up) [moonsoul] + * removeal of @randmon as it isnt needed [RoVeRT] +01/15 + * fixed auto spell so it works the prober way [RoVeRT] +01/12 + * added mob_warpslave [RoVeRT] + * added mob_warp to check noteleport mapflag +01/07 + * added OnCommand for NPC [RoVeRT] + * added new on death method for NPC spawned mobs [RoVeRT] + * added mobcount [RoVeRT] +01/06 + * fixed icon status for spear quicken [AppleGirl] + * added quoted name support for @monster [RoVeRT] +01/05 + * added indivudal support for card and equip drop rates [RoVeRT] +01/04 + * added TF_PICKSTONE and skill check condition for TF_THROWSTONE [AppleGirl] + * added updated cast_db.txt and fixed SA_VOLCANO, SA_DELUGE, + SA_VIOLENTGALE, and SA_LANDPROTECTOR GRAPHICS [AppleGirl] + * Fixed Effects of a few bard Skills. [AppleGirl] + * added option to stop logout for 10 seconds after taking a hit [RoVeRT] +01/03 + * added inet_ip support to char and map [RoVeRT] + * added checkcart, checkfalcon and checkriding npc commands +01/02 + * added new npc timer support that is independant of a player [RoVeRT] +12/31 + * Added @refineall [Mark] +12/30 + * added support for custom_item-db.txt with battle_athena.conf option [RoVeRT] + * fixed @charzeny bug + * translated help.txt to english anong with a few other files [RoVeRT] +12/29 + * added umbala maps to map_athena.conf [RoVeRT] +12/26 + * added Skill_range based on level, and partially working AutoGuard [Moonsoul] + * added Correction of Whip and Instrument Damage Again [Sara-Chan] +12/25 + * Spear Quicken Correct Graphics,Fixed Magnum Break (Which Fixes All Other + Splash skills), and Fixed Brandish Spear [AppleGirl] + * Updated Command For @SkillAll Added Atcommand_athena.conf [RoVeRT] +12/24 + * Added Side Effects for multiple skills for 2-2 classes [AppleGirl] +12/23 + * Added GM Command Called @Skillall [RoVeRT] + * @skillall to skill-up all your current skills [RoVeRT] + * @hide does hide you from all monsters [RoVeRT] + * fire wall limited to 5 per map [RoVeRT] + * to turn on PVP without @pvpon and to disable flywing search for mapflag [RoVeRT] + * no luck with @morph at this time yet [RoVeRT] + * splash attack added but still kinda buggy [RoVeRT] + * Added in Dancing and Song Playing for Bard and Dancer [AppleGirl] + * Added Skill Arrow Check For Archer Skills [AppleGirl] + * Added Skill Status Recovery [AppleGirl] + * Added Skill Bard and Dancer Skills Last Longer [AppleGirl] + * Added Skill Grimtooth does splash damage [AppleGirl] + * Added Skill Steal Fixed and Snatcher [AppleGirl] + * Added Skill SonicBlow only works with Katars Now [AppleGirl] +12/22 + * Added Skills Shield Boomerang, Shield Charge, and Defender [AppleGirl] diff --git a/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. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/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‚ªs‚Á‚½BŒ´•¶‚Í + http://www.gnu.org/licenses/gpl.txt‚Å‚ ‚éBŒë–ó‚ÌŽw“E‚â‰ü‘PˆÄ‚ðŠ½Œ}‚· + ‚éB + ‚Í‚¶‚ß‚É + +ƒ\ƒtƒgƒEƒFƒAŒü‚¯ƒ‰ƒCƒZƒ“ƒX‚̑唼‚ÍA‚ ‚È‚½‚ª‚»‚̃\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½ +‚è•ÏX‚µ‚½‚è‚·‚鎩—R‚ð’D‚¤‚悤‚ÉÝŒv‚³‚ê‚Ä‚¢‚Ü‚·B‘ÎÆ“I‚ÉAGNU ˆê”ÊŒö +O—˜—p‹–‘øŒ_–ñ‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ð‹¤—L‚µ‚½‚è•ÏX‚µ‚½‚è‚· +‚鎩—R‚ð•ÛØ‚·‚é--‚·‚È‚í‚¿Aƒ\ƒtƒgƒEƒFƒA‚ª‚»‚̃†[ƒU‚·‚ׂĂɂƂÁ‚ătƒŠ[ +‚Å‚ ‚邱‚Æ‚ð•ÛØ‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚Ü‚·B‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ +‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒFƒA‚Ì‚Ù‚Æ‚ñ‚Ç‚É“K—p‚³‚ê‚Ä‚¨‚èA‚Ü‚½ +GNU GPL‚ð“K—p‚·‚é‚ÆŒˆ‚ß‚½ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’cˆÈŠO‚ÌìŽÒ‚É‚æ‚éƒvƒƒO +ƒ‰ƒ€‚É‚à“K—p‚³‚ê‚Ä‚¢‚Ü‚·(‚¢‚­‚‚©‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚̃\ƒtƒgƒEƒF +ƒA‚É‚ÍAGNU GPL‚Å‚Í‚È‚­GNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ª“K—p‚³‚ê +‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·)B‚ ‚È‚½‚à‚Ü‚½A‚²Ž©•ª‚̃vƒƒOƒ‰ƒ€‚ÉGNU GPL‚ð“K—p +‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B + +Ž„‚½‚¿‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚ÆŒ¾‚¤‚Æ‚«A‚»‚ê‚Í—˜—p‚ÌŽ©—R‚ɂ‚¢‚ÄŒ¾‹y‚µ‚Ä +‚¢‚é‚Ì‚Å‚ ‚Á‚ÄA‰¿Ši‚Í–â‘è‚É‚µ‚Ä‚¢‚Ü‚¹‚ñBŽ„‚½‚¿‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ +‘‚ÍA‚ ‚È‚½‚ªƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚·‚鎩—R‚ð•ÛØ‚·‚é‚æ‚¤Ý +Œv‚³‚ê‚Ä‚¢‚Ü‚·(Šó–]‚ɉž‚¶‚Ä‚»‚ÌŽí‚̃T[ƒrƒX‚ÉŽè”—¿‚ð‰Û‚·Ž©—R‚à•ÛØ‚³ +‚ê‚Ü‚·)B‚Ü‚½A‚ ‚È‚½‚ªƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©A‚ ‚é‚¢‚Í–]‚߂΂»‚ê‚ð +“üŽè‚·‚邱‚Æ‚ª‰Â”\‚Å‚ ‚é‚Æ‚¢‚¤‚±‚ÆA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚ð•ÏX‚µA‚»‚Ì +ˆê•”‚ðV‚½‚ȃtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Å—˜—p‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄAˆÈã‚Åq +‚ׂ½‚悤‚È‚±‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚È‚½‚É’m‚炳‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚à•ÛØ‚³ +‚ê‚Ü‚·B + +‚ ‚È‚½‚ÌŒ —˜‚ðŽç‚邽‚ßAŽ„‚½‚¿‚Í’N‚©‚ª‚ ‚È‚½‚Ì—L‚·‚邱‚ê‚ç‚ÌŒ —˜‚ð”Û’è +‚·‚邱‚Æ‚âA‚±‚ê‚ç‚ÌŒ —˜‚ð•úŠü‚·‚é‚悤—v‹‚·‚邱‚Æ‚ð‹ÖŽ~‚·‚é‚Æ‚¢‚¤§ŒÀ +‚ð‰Á‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B‚æ‚Á‚ÄA‚ ‚È‚½‚ªƒ\ƒtƒgƒEƒFƒA‚Ì•¡»•¨‚ð”Еz‚µ‚½ +‚è‚»‚ê‚ð•ÏX‚µ‚½‚è‚·‚éꇂɂÍA‚±‚ê‚ç‚̧ŒÀ‚Ì‚½‚ß‚É‚ ‚È‚½‚É‚ ‚éŽí‚ÌÓ +”C‚ª”­¶‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B + +—Ⴆ‚ÎA‚ ‚È‚½‚ªƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Ì•¡»•¨‚ð”Еz‚·‚éê‡A—L—¿‚©–³—¿‚É +ŠÖ‚í‚炸A‚ ‚È‚½‚ÍŽ©•ª‚ª—L‚·‚錠—˜‚ð‘S‚ÄŽó—ÌŽÒ‚É—^‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB +‚Ü‚½A‚ ‚È‚½‚͔ނç‚àƒ\[ƒXƒR[ƒh‚ðŽó‚¯Žæ‚é‚©Žè‚É“ü‚ê‚邱‚Æ‚ª‚Å‚«‚é‚悤 +•ÛØ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚»‚µ‚ÄA‚ ‚È‚½‚͔ނç‚ɑ΂µ‚Ĉȉº‚Åq‚ׂéðŒ +‚ðŽ¦‚µA”Þ‚ç‚ÉŽ©‚ç‚ÌŽ‚ÂŒ —˜‚ɂ‚¢‚Ä’m‚炵‚ß‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹ +‚ñB + +Ž„‚½‚¿‚Í‚ ‚È‚½‚ÌŒ —˜‚ð“ñ’iŠK‚̎臂𓥂ñ‚ŕی삵‚Ü‚·B(1) ‚Ü‚¸ƒ\ƒtƒgƒEƒF +ƒA‚ɑ΂µ‚Ä’˜ìŒ ‚ðŽå’£‚µA‚»‚µ‚Ä (2) ‚ ‚È‚½‚ɑ΂µ‚ÄAƒ\ƒtƒgƒEƒFƒA‚Ì•¡ +»‚â”Еz‚Ü‚½‚͉ü•Ï‚ɂ‚¢‚Ä‚Ì–@“I‚È‹–‰Â‚ð—^‚¦‚邱‚ÌŒ_–ñ‘‚ð’ñŽ¦‚µ‚Ü‚·B + +‚Ü‚½AŠeìŽÒ‚⎄‚½‚¿‚ð•ÛŒì‚·‚邽‚ßAŽ„‚½‚¿‚Í‚±‚̃tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚Í +‰½‚Ì•ÛØ‚à–³‚¢‚Æ‚¢‚¤‚±‚Æ‚ð’N‚à‚ªŠmŽÀ‚É—‰ð‚·‚é‚悤‚É‚µA‚Ü‚½ƒ\ƒtƒgƒEƒF +ƒA‚ª’N‚©‘¼l‚É‚æ‚Á‚ĉü•Ï‚³‚êA‚»‚ꂪŽŸX‚ƔЕz‚³‚ê‚Ä‚¢‚Á‚½‚Æ‚µ‚Ä‚àA‚» +‚ÌŽó—̎҂͔ނ炪Žè‚É“ü‚ꂽƒ\ƒtƒgƒEƒFƒA‚ªƒIƒŠƒWƒiƒ‹‚̃o[ƒWƒ‡ƒ“‚Å‚Í–³‚¢ +‚±‚ÆA‚»‚µ‚ÄŒ´ìŽÒ‚Ì–¼º‚Í‘¼l‚É‚æ‚Á‚ÄŽ‚¿ž‚܂ꂽ‰Â”\«‚Ì‚ ‚é–â‘è‚É‚æ‚Á +‚ĉe‹¿‚³‚ê‚邱‚Æ‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚ðŽü’m‚³‚¹‚½‚¢‚ÆŽv‚¢‚Ü‚·B + +ÅŒã‚ÉAƒ\ƒtƒgƒEƒFƒA“Á‹–‚ª‚¢‚©‚È‚éƒtƒŠ[‚̃vƒƒOƒ‰ƒ€‚Ì‘¶Ý‚É‚à•s’f‚Ì‹º +ˆÐ‚ð“Š‚°‚©‚¯‚Ä‚¢‚Ü‚·‚ªAŽ„‚½‚¿‚ÍAƒtƒŠ[‚ȃvƒƒOƒ‰ƒ€‚ÌĔЕzŽÒ‚ªŒÂX‚É +“Á‹–ƒ‰ƒCƒZƒ“ƒX‚ðŽæ“¾‚·‚邱‚Æ‚É‚æ‚Á‚ÄAŽ–ŽÀãƒvƒƒOƒ‰ƒ€‚ð“Æè“I‚É‚µ‚Ä‚µ +‚Ü‚¤‚Æ‚¢‚¤ŠëŒ¯‚ð”ð‚¯‚½‚¢‚ÆŽv‚¢‚Ü‚·B‚±‚¤‚¢‚Á‚½Ž–‘Ô‚ð—\–h‚·‚邽‚ßAŽ„‚½ +‚¿‚Í‚¢‚©‚È‚é“Á‹–‚à’N‚à‚ªŽ©—R‚É—˜—p‚Å‚«‚é‚悤ƒ‰ƒCƒZƒ“ƒX‚³‚ê‚é‚©A‘S‚­ƒ‰ +ƒCƒZƒ“ƒX‚³‚ê‚È‚¢‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Ƃ𖾊m‚É‚µ‚Ü‚µ‚½B + +(–ó’: –{Œ_–ñ‘‚Åu“Æè“I(proprietary)v‚Æ‚ÍAƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚âĔР+•zA‰ü•Ï‚ª‹ÖŽ~‚³‚ê‚Ä‚¢‚é‚©A‹–‰Â‚𓾂邱‚Æ‚ª•K—v‚Æ‚³‚ê‚Ä‚¢‚é‚©A‚ ‚é‚¢ +‚ÍŒµ‚µ‚¢§ŒÀ‚ª‰Û‚¹‚ç‚ê‚Ä‚¢‚ÄŽ©—R‚É‚»‚¤‚·‚邱‚Æ‚ªŽ–ŽÀã‚Å‚«‚È‚­‚È‚Á‚Ä‚¢ +‚éó‘Ô‚Ì‚±‚Æ‚ðŽw‚·BÚ‚µ‚­‚Í +http://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftware‚ð +ŽQÆ‚¹‚æB) + +•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ă̳Šm‚ÈðŒ‚Ƨ–ñ‚ðˆÈ‰º‚Åq‚ׂĂ¢‚«‚Ü‚·B + + GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ + •¡»A”ЕzA‰ü•Ï‚ÉŠÖ‚·‚éðŒ‚Ƨ–ñ + +0. ‚±‚Ì—˜—p‹–‘øŒ_–ñ‘‚ÍA‚»‚̃vƒƒOƒ‰ƒ€(‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨)‚ð‚±‚Ìˆê +”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì’è‚ß‚éðŒ‚̉º‚ŔЕz‚Å‚«‚é‚Æ‚¢‚¤’m‚ª’˜ìŒ ŽÒ‚É +‚æ‚Á‚Ä‹LÚ‚³‚ꂽƒvƒƒOƒ‰ƒ€‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’˜ì•¨‘S”Ê‚É“K—p‚³‚ê‚éBˆÈ‰º‚Å +‚ÍAuwƒvƒƒOƒ‰ƒ€xv‚Æ‚Í‚»‚̂悤‚É‚µ‚Ä‚±‚ÌŒ_–ñ‘‚ª“K—p‚³‚ꂽƒvƒƒOƒ‰ +ƒ€‚⒘앨‘S”Ê‚ðˆÓ–¡‚µA‚Ü‚½uwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨v‚Æ‚Íwƒv +ƒƒOƒ‰ƒ€x‚â‚»‚Ì‘¼’˜ìŒ –@‚̉º‚Å”h¶•¨‚ÆŒ©‚È‚³‚ê‚é‚à‚Ì‘S”Ê‚ðŽw‚·B‚·‚È +‚í‚¿AwƒvƒƒOƒ‰ƒ€x‚©‚»‚̈ꕔ‚ðA‘S‚­“¯ˆê‚Ì‚Ü‚Ü‚©A‰ü•Ï‚ð‰Á‚¦‚½‚©A‚  +‚é‚¢‚Í‘¼‚ÌŒ¾Œê‚É–|–󂳂ꂽŒ`‚ÅŠÜ‚Þ’˜ì•¨‚Ì‚±‚Æ‚Å‚ ‚é(u‰ü•Ïv‚Æ‚¢‚¤Œê +‚Ì–{—ˆ‚̈Ӗ¡‚©‚ç‚Í‚¸‚ê‚邪AˆÈ‰º‚Å‚Í–|–ó‚à‰ü•Ï‚̈êŽí‚ÆŒ©‚È‚·)B‚»‚ꂼ +‚ê‚ÌŒ_–ñŽÒ‚Íu‚ ‚È‚½v‚Æ•\Œ»‚³‚ê‚éB + +•¡»‚â”ЕzA‰ü•ÏˆÈŠO‚ÌŠˆ“®‚Í‚±‚ÌŒ_–ñ‘‚ł̓Jƒo[‚³‚ê‚È‚¢B‚»‚ê‚ç‚Í‚±‚Ì +Œ_–ñ‘‚Ì‘ÎÛŠO‚Å‚ ‚éBwƒvƒƒOƒ‰ƒ€x‚ðŽÀs‚·‚ésˆ×Ž©‘̂ɧŒÀ‚Í‚È‚¢B‚Ü +‚½A‚»‚̂悤‚ÈwƒvƒƒOƒ‰ƒ€x‚Ìo—ÍŒ‹‰Ê‚ÍA‚»‚Ì“à—e‚ªwƒvƒƒOƒ‰ƒ€x‚ðŠî +‚É‚µ‚½’˜ì•¨‚ð\¬‚·‚éꇂ݂̂±‚ÌŒ_–ñ‘‚É‚æ‚Á‚ĕی삳‚ê‚é(wƒvƒƒOƒ‰ +ƒ€x‚ðŽÀs‚µ‚½‚±‚Æ‚É‚æ‚Á‚Ä쬂³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚Æ‚Í–³ŠÖŒW‚Å‚ ‚é)B‚±‚Ì +‚悤‚Èüˆø‚«‚̑Ó–«‚ÍAwƒvƒƒOƒ‰ƒ€x‚ª‰½‚ð‚·‚é‚Ì‚©‚Ɉˑ¶‚·‚éB + +1. ‚»‚ꂼ‚ê‚Ì•¡»•¨‚É‚¨‚¢‚Ä“KØ‚È’˜ìŒ •\Ž¦‚Æ•Û؂̔۔Fº–¾(disclaimer +of warranty)‚ð–Ú—§‚‚悤“KØ‚ÉŒfÚ‚µA‚Ü‚½‚±‚ÌŒ_–ñ‘‚¨‚æ‚шêØ‚Ì•ÛØ‚Ì +•sÝ‚ÉG‚ꂽ’m‚·‚×‚Ä‚ð‚»‚Ì‚Ü‚ÜŽc‚µA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ðwƒvƒ +ƒOƒ‰ƒ€x‚Ì‚¢‚©‚È‚éŽó—ÌŽÒ‚É‚àwƒvƒƒOƒ‰ƒ€x‚Æ‹¤‚ɔЕz‚·‚éŒÀ‚èA‚ ‚È‚½‚Í +wƒvƒƒOƒ‰ƒ€x‚̃\[ƒXƒR[ƒh‚Ì•¡»•¨‚ðA‚ ‚È‚½‚ªŽó‚¯Žæ‚Á‚½’Ê‚è‚ÌŒ`‚Å•¡ +»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB”}‘Ì‚Í–â‚í‚È‚¢B + +‚ ‚È‚½‚ÍA•¨—“I‚É•¡»•¨‚ð÷“n‚·‚é‚Æ‚¢‚¤sˆ×‚ÉŠÖ‚µ‚ÄŽè”—¿‚ð‰Û‚µ‚Ä‚à—Ç +‚¢‚µAŠó–]‚É‚æ‚Á‚Ä‚ÍŽè”—¿‚ðŽæ‚Á‚ÄŒðŠ·‚É‚¨‚¯‚é•ÛŒì‚Ì•ÛØ‚ð’ñ‹Ÿ‚µ‚Ä‚à—Ç +‚¢B + +2. ‚ ‚È‚½‚ÍŽ©•ª‚ÌwƒvƒƒOƒ‰ƒ€x‚Ì•¡»•¨‚©‚»‚̈ꕔ‚ð‰ü•Ï‚µ‚ÄwƒvƒƒOƒ‰ +ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‚ðŒ`¬‚µA‚»‚̂悤‚ȉü•Ï“_‚⒘앨‚ðã‹L‘æ1ß‚Ì’è +‚ß‚éðŒ‚̉º‚Å•¡»‚Ü‚½‚͔Еz‚·‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ì‚½‚߂ɂ͈ȉº +‚ÌðŒ‚·‚ׂĂ𖞂½‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢: + + a) ‚ ‚È‚½‚ª‚»‚ê‚ç‚̃tƒ@ƒCƒ‹‚ð•ÏX‚µ‚½‚Æ‚¢‚¤‚±‚Æ‚Æ•ÏX‚µ‚½“úŽž‚ª—Ç + ‚­•ª‚©‚é‚悤A‰ü•Ï‚³‚ꂽƒtƒ@ƒCƒ‹‚ÉŽ¦‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B + + b) wƒvƒƒOƒ‰ƒ€x‚Ü‚½‚Í‚»‚̈ꕔ‚ðŠÜ‚Þ’˜ì•¨A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x + ‚©‚»‚̈ꕔ‚©‚ç”h¶‚µ‚½’˜ì•¨‚ð”Еz‚ ‚é‚¢‚Í”­•\‚·‚éꇂɂÍA‚»‚Ì‘S + ‘Ì‚ð‚±‚ÌŒ_–ñ‘‚ÌðŒ‚É]‚Á‚Ä‘æŽOŽÒ‚Ö–³ž‚Å—˜—p‹–‘ø‚µ‚È‚¯‚ê‚΂Ȃç‚È + ‚¢B + + c) ‰ü•Ï‚³‚ꂽƒvƒƒOƒ‰ƒ€‚ªA’ÊíŽÀs‚·‚éۂɑΘb“I‚ɃRƒ}ƒ“ƒh‚ð“Ç‚Þ + ‚悤‚É‚È‚Á‚Ä‚¢‚é‚È‚ç‚ÎA‚»‚̃vƒƒOƒ‰ƒ€‚ðÅ‚àˆê”Ê“I‚È•û–@‚őΘb“I‚É + ŽÀs‚·‚éÛA“KØ‚È’˜ìŒ •\Ž¦A–³•ÛØ‚Å‚ ‚邱‚Æ(‚ ‚é‚¢‚Í‚ ‚È‚½‚ª•Û + Ø‚ð’ñ‹Ÿ‚·‚é‚Æ‚¢‚¤‚±‚Æ)Aƒ†[ƒU‚ªƒvƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Åq‚ׂ½ð + Œ‚̉º‚ŔЕz‚·‚邱‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚Ä‚±‚ÌŒ_–ñ‘‚Ì•¡»•¨‚ð + ‰{——‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚©‚Æ‚¢‚¤ƒ†[ƒU‚Ö‚Ìà–¾‚ðŠÜ‚Þ’m‚ªˆóü‚³ + ‚ê‚é‚©A‚ ‚é‚¢‚͉æ–Ê‚É•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢(—áŠO‚Æ‚µ + ‚ÄAwƒvƒƒOƒ‰ƒ€x‚»‚Ì‚à‚̂͑Θb“I‚Å‚ ‚Á‚Ä‚à’Êí‚»‚̂悤‚È’m‚ðˆó + ü‚µ‚È‚¢ê‡‚É‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½‚ ‚È‚½‚Ì’˜ì•¨‚É‚»‚̂悤 + ‚È’m‚ðˆóü‚³‚¹‚é•K—v‚Í‚È‚¢)B + +ˆÈã‚Ì•K—vðŒ‚Í‘S‘Ì‚Æ‚µ‚Ẳü•Ï‚³‚ꂽ’˜ì•¨‚É“K—p‚³‚ê‚éB’˜ì•¨‚̈ꕔ +‚ªwƒvƒƒOƒ‰ƒ€x‚©‚ç”h¶‚µ‚½‚à‚Ì‚Å‚Í‚È‚¢‚ÆŠm”F‚Å‚«A‚»‚ê‚玩g•Ê‚Ì“Æ—§ +‚µ‚½’˜ì•¨‚Å‚ ‚é‚Ƈ—“I‚Él‚¦‚ç‚ê‚é‚È‚ç‚ÎA‚ ‚È‚½‚ª‚»‚ê‚ç‚ð•Ê‚Ì’˜ì•¨ +‚Æ‚µ‚Ä•ª‚¯‚ĔЕz‚·‚éê‡A‚»‚¤‚¢‚Á‚½•”•ª‚É‚Í‚±‚ÌŒ_–ñ‘‚Æ‚»‚ÌðŒ‚Í +“K—p‚³‚ê‚È‚¢B‚µ‚©‚µA‚ ‚È‚½‚ª“¯‚¶•”•ª‚ðwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨ +‘S‘̂̈ꕔ‚Æ‚µ‚ĔЕz‚·‚é‚È‚ç‚ÎA‘S‘Ì‚Æ‚µ‚Ă̔Еz•¨‚ÍA‚±‚ÌŒ_–ñ‘‚ª +‰Û‚·ðŒ‚É]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚±‚ÌŒ_–ñ‘‚ª‘¼‚ÌŒ_–ñŽÒ +‚É—^‚¦‚é‹–‰Â‚ÍwƒvƒƒOƒ‰ƒ€xŠÛ‚²‚Æ‘S‘Ì‚É‹y‚ÑA’N‚ª‘‚¢‚½‚©‚ÍŠÖŒW‚È‚­Še +•”•ª‚Ì‚·‚ׂĂð•ÛŒì‚·‚é‚©‚ç‚Å‚ ‚éB + +‚æ‚Á‚ÄA‚·‚ׂĂ ‚È‚½‚É‚æ‚Á‚Ä‘‚©‚ꂽ’˜ì•¨‚ɑ΂µAŒ —˜‚ðŽå’£‚µ‚½‚è‚ ‚È +‚½‚ÌŒ —˜‚Ɉًc‚ð\‚µ—§‚Ă邱‚Æ‚Í‚±‚Ì߂̈Ó}‚·‚é‚Æ‚±‚ë‚Å‚Í‚È‚¢B‚Þ‚µ‚ëA +‚»‚ÌŽïŽ|‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½”h¶•¨‚È‚¢‚µW‡’˜ì•¨‚̔Еz‚ðŠÇ—‚· +‚錠—˜‚ðsŽg‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É‚ ‚éB + +‚Ü‚½AwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚Ä‚¢‚È‚¢‚»‚Ì‘¼‚Ì’˜ì•¨‚ðwƒvƒƒOƒ‰ƒ€x(‚  +‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨)‚ƈê‚ÉW‚ß‚½‚¾‚¯‚Ì‚à‚Ì‚ðˆêŠª‚Ì +•ÛŠÇ‘•’u‚È‚¢‚µ”Еz”}‘Ì‚ÉŽû‚ß‚Ä‚àA‚»‚Ì‘¼‚Ì’˜ì•¨‚Ü‚Å‚±‚ÌŒ_–ñ‘‚ª•Û +Œì‚·‚é‘ÎÛ‚É‚È‚é‚Æ‚¢‚¤‚±‚Æ‚É‚Í‚È‚ç‚È‚¢B + +3. ‚ ‚È‚½‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢AwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚Í‘æ2 +ß‚É‚¨‚¯‚é”h¶•¨)‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh‚È‚¢‚µŽÀsŒ`Ž®‚Å•¡»‚Ü‚½‚͔Еz‚· +‚邱‚Æ‚ª‚Å‚«‚éB‚½‚¾‚µA‚»‚Ìꇂ ‚È‚½‚͈ȉº‚Ì‚¤‚¿‚Ç‚ê‚©ˆê‚‚ðŽÀŽ{‚µ‚È +‚¯‚ê‚΂Ȃç‚È‚¢: + + a) ’˜ì•¨‚ÉAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š®‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚È + ƒ\[ƒXƒR[ƒh‚ð“Y•t‚·‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ1ß‚¨‚æ‚Ñ2ß‚Ì + ðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘̂ŔЕz‚µ‚È‚¯‚ê‚Î + ‚È‚ç‚È‚¢B‚ ‚é‚¢‚ÍA + + b) ’˜ì•¨‚ÉA‚¢‚©‚È‚é‘æŽOŽÒ‚ɑ΂µ‚Ä‚àAwƒvƒƒOƒ‰ƒ€x‚ɑΉž‚µ‚½Š® + ‘S‚©‚‹@ŠB‚Å“Ç‚ÝŽæ‚è‰Â”\‚ȃ\[ƒXƒR[ƒh‚ðA”Еz‚É—v‚·‚镨—“IƒRƒXƒg + ‚ðã‰ñ‚ç‚È‚¢’ö“x‚ÌŽè”—¿‚ƈø‚«Š·‚¦‚É’ñ‹Ÿ‚·‚éŽ|q‚ׂ½­‚È‚­‚Æ‚à3”N + ŠÔ‚Í—LŒø‚È‘–Ê‚É‚È‚Á‚½\‚µo‚ð“Y‚¦‚éB‚½‚¾‚µAƒ\[ƒXƒR[ƒh‚Íã‹L‘æ + 1ß‚¨‚æ‚Ñ2ß‚ÌðŒ‚É]‚¢ƒ\ƒtƒgƒEƒFƒA‚ÌŒðŠ·‚ÅKŠµ“I‚ÉŽg‚í‚ê‚é”}‘Ì‚Å + ”Еz‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢B‚ ‚é‚¢‚ÍA + + c) ‘Ήž‚·‚éƒ\[ƒXƒR[ƒh”Еz‚Ì\‚µo‚ÉÛ‚µ‚ÄA‚ ‚È‚½‚ª“¾‚½î•ñ‚ðˆê + ‚Ɉø‚«“n‚·(‚±‚Ì‘I‘ðŽˆ‚ÍA‰c—˜‚ð–Ú“I‚Æ‚µ‚È‚¢”Еz‚Å‚ ‚Á‚ÄA‚©‚‚  + ‚È‚½‚ªã‹L¬ßb‚ÅŽw’肳‚ê‚Ä‚¢‚é‚悤‚È\‚µo‚Æ‹¤‚ɃIƒuƒWƒFƒNƒgƒR[ + ƒh‚ ‚é‚¢‚ÍŽÀsŒ`Ž®‚̃vƒƒOƒ‰ƒ€‚µ‚©“üŽè‚µ‚Ä‚¢‚È‚¢ê‡‚ÉŒÀ‚è‹–‰Â‚³‚ê + ‚é)B + +’˜ì•¨‚̃\[ƒXƒR[ƒh‚Æ‚ÍA‚»‚ê‚ɑ΂µ‚ĉü•Ï‚ð‰Á‚¦‚éã‚ÅD‚Ü‚µ‚¢‚Æ‚³‚ê‚é +’˜ì•¨‚ÌŒ`Ž®‚ðˆÓ–¡‚·‚éB‚ ‚éŽÀsŒ`Ž®‚Ì’˜ì•¨‚É‚Æ‚Á‚ÄŠ®‘S‚ȃ\[ƒXƒR[ƒh +‚Æ‚ÍA‚»‚ꂪŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚·‚ׂẴ\[ƒXƒR[ƒh‘S•”‚ɉÁ‚¦AŠÖ˜A‚·‚éƒCƒ“ +ƒ^[ƒtƒF[ƒX’è‹`ƒtƒ@ƒCƒ‹‚Ì‚·‚ׂĂƃ‰ƒCƒuƒ‰ƒŠ‚̃Rƒ“ƒpƒCƒ‹‚âƒCƒ“ƒXƒg[ƒ‹ +‚ð§Œä‚·‚邽‚ß‚ÉŽg‚í‚ê‚éƒXƒNƒŠƒvƒg‚ð‚à‰Á‚¦‚½‚à‚Ì‚ðˆÓ–¡‚·‚éB‚µ‚©‚µ“Á•Ê +‚È—áŠO‚Æ‚µ‚ÄA‚»‚̃Rƒ“ƒ|[ƒlƒ“ƒgŽ©‘Ì‚ªŽÀsŒ`Ž®‚É•t‚·‚é‚Ì‚Å‚Í–³‚¢ŒÀ‚èA +”Еz‚³‚ê‚é‚à‚Ì‚Ì’†‚ÉAŽÀsŒ`Ž®‚ªŽÀs‚³‚ê‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ÌŽå +—v‚ȃRƒ“ƒ|[ƒlƒ“ƒg(ƒRƒ“ƒpƒCƒ‰‚âƒJ[ƒlƒ‹“™)‚Æ’Êíˆê‚É(ƒ\[ƒX‚©ƒoƒCƒi +ƒŠŒ`Ž®‚Ì‚Ç‚¿‚ç‚©‚Å)”Еz‚³‚ê‚é‚à‚Ì‚ðŠÜ‚ñ‚Å‚¢‚é•K—v‚Í‚È‚¢‚Æ‚·‚éB + +ŽÀsŒ`Ž®‚Ü‚½‚̓IƒuƒWƒFƒNƒgƒR[ƒh‚̔Еz‚ªAŽw’肳‚ꂽꊂ©‚çƒRƒs[‚·‚é +‚½‚߂̃AƒNƒZƒXŽè’i‚ð’ñ‹Ÿ‚·‚邱‚Ƃňׂ³‚ê‚é‚Æ‚µ‚ÄA‚»‚Ìã‚Ń\[ƒXƒR[ƒh +‚à“¯“™‚̃AƒNƒZƒXŽè’i‚É‚æ‚Á‚Ä“¯‚¶êŠ‚©‚çƒRƒs[‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚é‚È +‚ç‚ÎA‘æŽOŽÒ‚ªƒIƒuƒWƒFƒNƒgƒR[ƒh‚ƈê‚Ƀ\[ƒX‚à‹­§“I‚ɃRƒs[‚³‚¹‚ç‚ê +‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚­‚Ä‚àƒ\[ƒXƒR[ƒh”Еz‚ÌðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚à‚Ì‚Æ‚·‚éB + +4. ‚ ‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðA‚±‚ÌŒ_–ñ‘‚É‚¨‚¢‚Ä–¾Šm‚É’ñŽ¦‚³‚ꂽs +ˆ×‚𜂫•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚µ‚Ä‚Í‚È‚ç‚È‚¢B‘¼‚É +wƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â‰ü•ÏAƒTƒuƒ‰ƒCƒZƒ“ƒXA‚ ‚é‚¢‚͔Еz‚·‚éŠé‚Ä‚Í‚·‚× +‚Ä–³Œø‚Å‚ ‚èA‚±‚ÌŒ_–ñ‘‚̉º‚Å‚Ì‚ ‚È‚½‚ÌŒ —˜‚ðŽ©“®“I‚ÉIŒ‹‚³‚¹‚邱 +‚ƂɂȂ낤B‚µ‚©‚µA•¡»•¨‚⌠—˜‚ð‚±‚ÌŒ_–ñ‘‚É]‚Á‚Ä‚ ‚È‚½‚©‚瓾‚½ +lX‚ÉŠÖ‚µ‚Ä‚ÍA‚»‚̂悤‚ÈlX‚ª‚±‚ÌŒ_–ñ‘‚ÉŠ®‘S‚É]‚Á‚Ä‚¢‚éŒÀ‚è”Þ +‚ç‚̃‰ƒCƒZƒ“ƒX‚Ü‚ÅIŒ‹‚·‚邱‚Æ‚Í‚È‚¢B + +5. ‚ ‚È‚½‚Í‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚·‚é•K—v‚Í–³‚¢B‚Æ‚¢‚¤‚Ì‚ÍA‚ ‚È‚½‚Í‚± +‚ê‚É–¼‚µ‚Ä‚¢‚È‚¢‚©‚ç‚Å‚ ‚éB‚µ‚©‚µA‚±‚ÌŒ_–ñ‘ˆÈŠO‚É‚ ‚È‚½‚ɑ΂µ +‚ÄwƒvƒƒOƒ‰ƒ€x‚â‚»‚Ì”h¶•¨‚ð•ÏXA”Еz‚·‚é‹–‰Â‚ð—^‚¦‚é‚à‚Ì‚Í‘¶Ý‚µ‚È +‚¢B‚±‚ê‚ç‚Ìsˆ×‚ÍA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ðŽó‚¯“ü‚ê‚È‚¢ŒÀ‚è–@‚É‚æ‚Á‚Ä +‹Ö‚¶‚ç‚ê‚Ä‚¢‚éB‚»‚±‚ÅAwƒvƒƒOƒ‰ƒ€x(‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ +‚½’˜ì•¨‚Ì‚·‚ׂÄ)‚ð‰ü•Ï‚È‚¢‚µ”Еz‚·‚邱‚Æ‚É‚æ‚èA‚ ‚È‚½‚ÍŽ©•ª‚ª‚»‚Ì‚æ +‚¤‚Èsˆ×‚ðs‚¤‚½‚ß‚É‚±‚ÌŒ_–ñ‘‚ðŽó‘ø‚µ‚½‚Æ‚¢‚¤‚±‚ÆA‚»‚µ‚ÄwƒvƒƒO +ƒ‰ƒ€x‚Æ‚»‚ê‚ÉŠî‚­’˜ì•¨‚Ì•¡»‚â”ЕzA‰ü•Ï‚ɂ‚¢‚Ä‚±‚ÌŒ_–ñ‘‚ª‰Û +‚·§–ñ‚ÆðŒ‚ð‚·‚×‚ÄŽó‚¯“ü‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚ðŽ¦‚µ‚½‚à‚Ì‚ÆŒ©‚È‚·B + +6. ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x(‚Ü‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ðŠî‚É‚µ‚½’˜ì•¨‘S”Ê)‚ð +ĔЕz‚·‚邽‚Ñ‚ÉA‚»‚ÌŽó—ÌŽÒ‚ÍŒ³X‚̃‰ƒCƒZƒ“ƒX‹–‰ÂŽÒ‚©‚çA‚±‚ÌŒ_–ñ‘‚Å +Žw’肳‚ꂽðŒ‚Ƨ–ñ‚̉º‚ÅwƒvƒƒOƒ‰ƒ€x‚ð•¡»‚â”ЕzA‚ ‚é‚¢‚͉ü•Ï‚·‚é +‹–‰Â‚ðŽ©“®“I‚É“¾‚é‚à‚Ì‚Æ‚·‚éB‚ ‚È‚½‚ÍAŽó—ÌŽÒ‚ª‚±‚±‚Å”F‚ß‚ç‚ꂽŒ —˜‚ð +sŽg‚·‚邱‚Æ‚ÉŠÖ‚µ‚Ä‚±‚êˆÈ㑼‚Ì‚¢‚©‚Ȃ駌À‚à‰Û‚·‚±‚Æ‚ª‚Å‚«‚È‚¢B‚ ‚È +‚½‚É‚ÍA‘æŽOŽÒ‚ª‚±‚ÌŒ_–ñ‘‚É]‚¤‚±‚Æ‚ð‹­§‚·‚éÓ”C‚Í‚È‚¢B + +7. “Á‹–NŠQ‚ ‚é‚¢‚Í‚»‚Ì‘¼‚Ì——R(“Á‹–ŠÖŒW‚ÉŒÀ‚ç‚È‚¢)‚©‚çAÙ”»Š‚Ì”»Œˆ +‚ ‚é‚¢‚Í\‚µ—§‚Ä‚ÌŒ‹‰Ê‚Æ‚µ‚Ä‚ ‚È‚½‚É(Ù”»Š–½—ß‚âŒ_–ñ‚È‚Ç‚É‚æ‚è)‚±‚ÌŒ_ +–ñ‘‚ÌðŒ‚Æ–µ‚‚·‚駖ñ‚ª‰Û‚³‚ꂽꇂłàA‚ ‚È‚½‚ª‚±‚ÌŒ_–ñ‘‚ÌðŒ‚ð +–Æœ‚³‚ê‚é‚킯‚Å‚Í‚È‚¢B‚à‚µ‚±‚ÌŒ_–ñ‘‚̉º‚Å‚ ‚È‚½‚ɉۂ¹‚ç‚ꂽӔC‚Æ‘¼ +‚ÌŠÖ˜A‚·‚éÓ”C‚𓯎ž‚É–ž‚½‚·‚悤‚ÈŒ`‚ŔЕz‚Å‚«‚È‚¢‚È‚ç‚ÎAŒ‹‰Ê‚Æ‚µ‚Ä‚  +‚È‚½‚ÍwƒvƒƒOƒ‰ƒ€x‚ð”Еz‚·‚邱‚Æ‚ª‘S‚­‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚ ‚éB—Ⴆ +‚ΓÁ‹–ƒ‰ƒCƒZƒ“ƒX‚ªA‚ ‚È‚½‚©‚ç’¼ÚŠÔÚ‚ð–â‚킸ƒRƒs[‚ðŽó‚¯Žæ‚Á‚½l‚ª’N +‚Å‚àwƒvƒƒOƒ‰ƒ€x‚ðŽg—p—¿–³—¿‚ÅĔЕz‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚È‚¢ê‡A‚ ‚È +‚½‚ª‚»‚̧–ñ‚Æ‚±‚ÌŒ_–ñ‘‚𗼕û‚Æ‚à–ž‚½‚·‚É‚ÍwƒvƒƒOƒ‰ƒ€x‚̔Еz‚ðŠ®‘S +‚É’†Ž~‚·‚邵‚©‚È‚¢‚¾‚낤B + +‚±‚Ì߂̈ꕔ•ª‚ª“Á’è‚Ì󋵂̉º‚Å–³Œø‚È‚¢‚µŽÀŽ{•s‰Â”\‚ÈꇂłàAß‚ÌŽc +‚è‚Ì•”•ª‚Í“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB‚»‚Ì‘¼‚Ì󋵂łÍß‚ª‘S‘Ì‚Æ‚µ‚Ä +“K—p‚³‚ê‚é‚悤ˆÓ}‚³‚ê‚Ä‚¢‚éB + +“Á‹–‚â‚»‚Ì‘¼‚ÌàŽYŒ ‚ðNŠQ‚µ‚½‚èA‚»‚̂悤‚ÈŒ —˜‚ÌŽå’£‚ÌŒø—͂Ɉًc‚ð¥ +‚¦‚½‚è‚·‚é‚悤‚ ‚È‚½‚ð—U˜f‚·‚邱‚Æ‚ª‚±‚Ìß‚Ì–Ú“I‚Å‚Í‚È‚¢B‚±‚Ìß‚É‚ÍA +lX‚É‚æ‚Á‚ă‰ƒCƒZƒ“ƒXŠµs‚Æ‚µ‚ÄŽÀŒ»‚³‚ê‚Ä‚«‚½AƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA”Еz +‚̃VƒXƒeƒ€‚ÌŠ®‘S«‚ðŒì‚é‚Æ‚¢‚¤–Ú“I‚µ‚©‚È‚¢B‘½‚­‚ÌlX‚ªAƒtƒŠ[ƒ\ƒtƒg +ƒEƒFƒA‚̔ЕzƒVƒXƒeƒ€‚ªŽñ”öˆêŠÑ‚µ‚Ä“K—p‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤M—Š‚ÉŠî‚«A‚± +‚̃VƒXƒeƒ€‚ð’Ê‚¶‚ĔЕz‚³‚ê‚鑽—l‚ȃ\ƒtƒgƒEƒFƒA‚ÉŠ°‘å‚ÈvŒ£‚ð‚µ‚Ä‚«‚½‚Ì +‚ÍŽ–ŽÀ‚Å‚ ‚邪Al‚ª‚ǂ̂悤‚ȃVƒXƒeƒ€‚ð’Ê‚¶‚ă\ƒtƒgƒEƒFƒA‚ð”Еz‚µ‚½‚¢ +‚ÆŽv‚¤‚©‚Í‚ ‚­‚Ü‚Å‚àìŽÒ/Šñ—^ŽÒŽŸ‘æ‚Å‚ ‚èA‚ ‚È‚½‚ª‘I‘ð‚ð‰Ÿ‚µ‚‚¯‚邱 +‚Æ‚Í‚Å‚«‚È‚¢B + +‚±‚Ìß‚ÍA‚±‚ÌŒ_–ñ‘‚Ì‚±‚Ì߈ȊO‚Ì•”•ª‚̈ê‹AŒ‹‚É‚È‚é‚Æl‚¦‚ç‚ê‚éƒP[ +ƒX‚ð“O’ê“I‚É–¾‚ç‚©‚É‚·‚邱‚Æ‚ð–Ú“I‚Æ‚µ‚Ä‚¢‚éB + +8. wƒvƒƒOƒ‰ƒ€x‚̔Еz‚â—˜—p‚ªA‚ ‚é‘‚É‚¨‚¢‚Ä‚Í“Á‹–‚Ü‚½‚Í’˜ìŒ ‚ªŽå +’£‚³‚ꂽƒCƒ“ƒ^[ƒtƒF[ƒX‚Ì‚¢‚¸‚ê‚©‚É‚æ‚Á‚ħŒÀ‚³‚ê‚Ä‚¢‚éê‡AwƒvƒƒO +ƒ‰ƒ€x‚É‚±‚ÌŒ_–ñ‘‚ð“K—p‚µ‚½Œ³‚Ì’˜ìŒ ŽÒ‚ÍA‚»‚¤‚¢‚Á‚½‘X‚ð”rœ‚µ +‚½–¾Šm‚È’n—“I”Еz§ŒÀ‚ð‰Á‚¦A‚»‚±‚Å”rœ‚³‚ê‚Ä‚¢‚È‚¢‘‚Ì’†‚â‚»‚ê‚ç‚Ì‘X +‚̊Ԃł̂ݔЕz‚ª‹–‰Â‚³‚ê‚é‚悤‚É‚µ‚Ä‚à\‚í‚È‚¢B‚»‚Ìê‡A‚»‚̂悤‚ȧ +ŒÀ‚Í‚±‚ÌŒ_–ñ‘–{•¶‚Å‘‚©‚ê‚Ä‚¢‚é‚Ì‚Æ“¯—l‚ÉŒ©‚È‚³‚ê‚éB + +9. ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ÍAŽž‚É‚æ‚Á‚ĉü’ù‚Ü‚½‚ÍV”ł̈ê”ÊŒöO—˜—p‹– +‘ø‘‚ð”­•\‚·‚邱‚Æ‚ª‚Å‚«‚éB‚»‚̂悤‚ÈV”Å‚ÍŒ»Ý‚̃o[ƒWƒ‡ƒ“‚Æ‚»‚̸_ +‚É‚¨‚¢‚Ä‚ÍŽ—‚½‚à‚̂ɂȂ邾‚낤‚ªAV‚½‚È–â‘è‚⌜”O‚ð‰ðŒˆ‚·‚邽‚ßו”‚Å +‚͈قȂé‰Â”\«‚ª‚ ‚éB + +‚»‚ꂼ‚ê‚̃o[ƒWƒ‡ƒ“‚É‚ÍAŒ©•ª‚¯‚ª•t‚­‚悤‚Ƀo[ƒWƒ‡ƒ“”Ô†‚ªU‚ç‚ê‚Ä‚¢ +‚éBwƒvƒƒOƒ‰ƒ€x‚É‚¨‚¢‚Ä‚»‚ê‚É“K—p‚³‚ê‚邱‚ÌŒ_–ñ‘‚̃o[ƒWƒ‡ƒ“”Ô†‚ª +Žw’肳‚ê‚Ä‚¢‚ÄAX‚Éu‚»‚êˆÈ~‚Ì‚¢‚©‚È‚éƒo[ƒWƒ‡ƒ“v‚à“K—p‚µ‚Ä—Ç‚¢‚Æ‚È‚Á +‚Ä‚¢‚½ê‡A‚ ‚È‚½‚Í]‚¤ðŒ‚Ƨ–ñ‚Æ‚µ‚ÄAŽw’è‚̃o[ƒWƒ‡ƒ“‚©AƒtƒŠ[ƒ\ +ƒtƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽŽw’è‚̃o[ƒWƒ‡ƒ“ˆÈ~‚̔ł̂ǂꂩˆê‚Â‚Ì +‚Ç‚¿‚ç‚©‚ð‘I‚Ô‚±‚Æ‚ªo—ˆ‚éBwƒvƒƒOƒ‰ƒ€x‚щƒCƒZƒ“ƒX‚̃o[ƒWƒ‡ƒ“”Ô† +‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢‚È‚ç‚ÎA‚ ‚È‚½‚Í¡‚܂łɃtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚©‚ç”­ +s‚³‚ꂽƒo[ƒWƒ‡ƒ“‚Ì’†‚©‚çD‚«‚É‘I‚ñ‚Å\‚í‚È‚¢B + +10. ‚à‚µ‚ ‚È‚½‚ªwƒvƒƒOƒ‰ƒ€x‚̈ꕔ‚ðA‚»‚̔ЕzðŒ‚ª‚±‚ÌŒ_–ñ‘‚Æ +ˆÙ‚Ȃ鑼‚̃tƒŠ[‚ȃvƒƒOƒ‰ƒ€‚Æ“‡‚µ‚½‚¢‚È‚ç‚ÎAìŽÒ‚ɘA—‚µ‚Ä‹–‰Â‚ð‹ +‚ß‚æBƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ª’˜ìŒ ‚ð•Û—L‚·‚éƒ\ƒtƒgƒEƒFƒA‚ɂ‚¢‚Ä‚ÍA +ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAà’c‚ɘA—‚¹‚æBŽ„‚½‚¿‚ÍA‚±‚̂悤‚Èꇂ̂½‚ß‚É“Á•Ê +‚È—áŠO‚ðÝ‚¯‚邱‚Æ‚à‚ ‚éBŽ„‚½‚¿‚ªŒˆ’è‚ð‰º‚·‚É‚ ‚½‚Á‚Ä‚ÍAŽ„‚½‚¿‚̃tƒŠ[ +ƒ\ƒtƒgƒEƒFƒA‚Ì”h¶•¨‚·‚ׂĂªƒtƒŠ[‚Èó‘Ô‚É•Û‚½‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚ÆAˆê”Ê“I +‚Ƀ\ƒtƒgƒEƒFƒA‚Ì‹¤—L‚ÆÄ—˜—p‚ð‘£i‚·‚é‚Æ‚¢‚¤“ñ‚‚̖ڕW‚ð‹K€‚ÉŒŸ“¢‚³‚ê +‚é‚Å‚ ‚낤B + –³•Û؂ɂ‚¢‚Ä + +11. wƒvƒƒOƒ‰ƒ€x‚͑㉿–³‚µ‚É—˜—p‚ª‹–‰Â‚³‚ê‚é‚Ì‚ÅA“KØ‚È–@‚ª”F‚ß‚éŒÀ +‚è‚É‚¨‚¢‚ÄAwƒvƒƒOƒ‰ƒ€x‚ÉŠÖ‚·‚é‚¢‚©‚È‚é•ÛØ‚à‘¶Ý‚µ‚È‚¢B‘–Ê‚Å•Ê‚É +q‚ׂéꇂ𜂢‚ÄA’˜ìŒ ŽÒA‚Ü‚½‚Í‚»‚Ì‘¼‚Ì’c‘Ì‚ÍAwƒvƒƒOƒ‰ƒ€x‚ðA +•\–¾‚³‚ꂽ‚©Œ¾ŠO‚É‚©‚Í–â‚킸A¤‹Æ“I“K«‚ð•ÛØ‚·‚é‚Ù‚Ì‚ß‚©‚µ‚â‚ ‚é“Á’è +‚Ì–Ú“I‚Ö‚Ì“K‡«(‚ÉŒÀ‚ç‚ê‚È‚¢)‚ðŠÜ‚ÞˆêØ‚Ì•ÛØ–³‚µ‚Éu‚ ‚邪‚Ü‚Üv‚Å’ñ +‹Ÿ‚·‚éBwƒvƒƒOƒ‰ƒ€x‚ÌŽ¿‚Æ«”\‚ÉŠÖ‚·‚郊ƒXƒN‚Ì‚·‚ׂĂ͂ ‚È‚½‚É‹A‘®‚· +‚éBwƒvƒƒOƒ‰ƒ€x‚ÉŒ‡Š×‚ª‚ ‚é‚Æ”»–¾‚µ‚½ê‡A‚ ‚È‚½‚Í•K—v‚È•ÛŽç“_ŒŸ‚â +•âCAC³‚É—v‚·‚éƒRƒXƒg‚Ì‚·‚ׂĂðˆø‚«Žó‚¯‚邱‚Æ‚É‚È‚éB + +12. “KØ‚È–@‚©‘–Ê‚Å‚Ì“¯ˆÓ‚É‚æ‚Á‚Ä–½‚º‚ç‚ê‚È‚¢ŒÀ‚èA’˜ìŒ ŽÒA‚Ü‚½‚Íã +‹L‚Å‹–‰Â‚³‚ê‚Ä‚¢‚é’Ê‚è‚ÉwƒvƒƒOƒ‰ƒ€x‚ð‰ü•Ï‚Ü‚½‚ÍĔЕz‚µ‚½‚»‚Ì‘¼‚Ì’c +‘Ì‚ÍA‚ ‚È‚½‚ɑ΂µ‚ÄwƒvƒƒOƒ‰ƒ€x‚Ì—˜—p‚È‚¢‚µ—˜—p•s”\‚Ŷ‚¶‚½ˆê”Ê“IA +“Á•Ê“IA‹ô‘R“IA•K‘R“I‚È‘¹ŠQ(ƒf[ƒ^‚ÌÁŽ¸‚â•s³Šm‚Ȉ—A‚ ‚È‚½‚©‘æŽO +ŽÒ‚ª”í‚Á‚½‘¹Ž¸A‚ ‚é‚¢‚ÍwƒvƒƒOƒ‰ƒ€x‚ª‘¼‚̃\ƒtƒgƒEƒFƒA‚ƈê‚É“®ì‚µ +‚È‚¢‚Æ‚¢‚¤•s‹ï‡‚È‚Ç‚ðŠÜ‚Þ‚ª‚»‚ê‚ç‚ÉŒÀ‚ç‚È‚¢)‚ɈêØ‚ÌÓ”C‚𕉂í‚È‚¢B +‚»‚̂悤‚È‘¹ŠQ‚ª¶‚¸‚é‰Â”\«‚ɂ‚¢‚Ĕނ炪’‰‚³‚ê‚Ä‚¢‚½‚Æ‚µ‚Ä‚à“¯—l‚Å +‚ ‚éB + + ðŒ‚Ƨ–ñI‚í‚è + + ˆÈã‚Ìð€‚ð‚ ‚È‚½‚ÌV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚É“K—p‚·‚é•û–@ + +‚ ‚È‚½‚ªV‚µ‚¢ƒvƒƒOƒ‰ƒ€‚ðŠJ”­‚µ‚½‚Æ‚µ‚ÄAŒöO‚É‚æ‚Á‚Ä‚»‚ꂪ—˜—p‚³‚ê‚é +‰Â”\«‚ðÅ‘å‚É‚µ‚½‚¢‚È‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ð‚±‚ÌŒ_–ñ‘‚Ìð€‚É]‚Á‚Ä +’N‚Å‚àĔЕz‚ ‚é‚¢‚Í•ÏX‚Å‚«‚é‚悤ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒA‚É‚·‚é‚Ì‚ªÅ‘P‚Å‚·B + +‚»‚Ì‚½‚ß‚É‚ÍAƒvƒƒOƒ‰ƒ€‚Ɉȉº‚̂悤‚È•\Ž¦‚ð“Y•t‚µ‚Ä‚­‚¾‚³‚¢B‚»‚Ìê‡A +•ÛØ‚ª”rœ‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚ðÅ‚àŒø‰Ê“I‚É“`‚¦‚邽‚ß‚ÉA‚»‚ꂼ‚ê‚̃\[ +ƒXƒtƒ@ƒCƒ‹‚Ì–`“ª‚É•\Ž¦‚ð“Y•t‚·‚ê‚ÎÅ‚àˆÀ‘S‚Å‚·B­‚È‚­‚Æ‚àAu’˜ìŒ •\ +Ž¦v‚Æ‚¢‚¤s‚Æ‘S•¶‚ª‚ ‚éꊂւ̃|ƒCƒ“ƒ^‚¾‚¯‚ÍŠeƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚Ä’u‚¢‚Ä +‚­‚¾‚³‚¢B + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + (–ó: + + <ƒvƒƒOƒ‰ƒ€‚Ì–¼‘O‚ÆA‚»‚ꂪ‰½‚ð‚·‚é‚©‚ɂ‚¢‚Ä‚ÌŠÈ’P‚Èà–¾B> + Copyright (C) <¼—ï”N> <ìŽÒ‚Ì–¼‘O> + + ‚±‚̃vƒƒOƒ‰ƒ€‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚·B‚ ‚È‚½‚Í‚±‚ê‚ðAƒtƒŠ[ƒ\ƒt + ƒgƒEƒFƒAà’c‚É‚æ‚Á‚Ä”­s‚³‚ꂽ GNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘(ƒo[ƒWƒ‡ + ƒ“2‚©AŠó–]‚É‚æ‚Á‚Ä‚Í‚»‚êˆÈ~‚̃o[ƒWƒ‡ƒ“‚Ì‚¤‚¿‚Ç‚ê‚©)‚Ì’è‚ß‚éðŒ + ‚̉º‚ÅĔЕz‚Ü‚½‚͉ü•Ï‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + + ‚±‚̃vƒƒOƒ‰ƒ€‚Í—L—p‚Å‚ ‚邱‚Æ‚ðŠè‚Á‚ĔЕz‚³‚ê‚Ü‚·‚ªA*‘S‚­‚Ì–³•Û + Ø* ‚Å‚·B¤‹Æ‰Â”\«‚Ì•ÛØ‚â“Á’è‚Ì–Ú“I‚Ö‚Ì“K‡«‚ÍAŒ¾ŠO‚ÉŽ¦‚³‚ꂽ + ‚à‚Ì‚àŠÜ‚ß‘S‚­‘¶Ý‚µ‚Ü‚¹‚ñBÚ‚µ‚­‚ÍGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚ð‚² + ——‚­‚¾‚³‚¢B + + ‚ ‚È‚½‚Í‚±‚̃vƒƒOƒ‰ƒ€‚Æ‹¤‚ÉAGNU ˆê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Ì•¡»•¨‚ð + ˆê•”Žó‚¯Žæ‚Á‚½‚Í‚¸‚Å‚·B‚à‚µŽó‚¯Žæ‚Á‚Ä‚¢‚È‚¯‚ê‚ÎAƒtƒŠ[ƒ\ƒtƒgƒEƒF + ƒAà’c‚Ü‚Å¿‹‚µ‚Ä‚­‚¾‚³‚¢(ˆ¶æ‚Í the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)B + + ) + +“dŽq‚È‚¢‚µŽ†‚̃[ƒ‹‚Å‚ ‚È‚½‚É–â‚¢‡‚킹‚é•û–@‚ɂ‚¢‚Ä‚Ìî•ñ‚à‘‚«‰Á‚¦ +‚Ü‚µ‚傤B + +ƒvƒƒOƒ‰ƒ€‚ª‘Θb“I‚È‚à‚Ì‚È‚ç‚ÎA‘Θbƒ‚[ƒh‚Å‹N“®‚µ‚½Û‚Éo—Í‚Æ‚µ‚Ĉȉº +‚̂悤‚È’Z‚¢’m‚ª•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + (–ó: + + Gnomovision ƒo[ƒWƒ‡ƒ“ 69, Copyright (C) ”N ìŽÒ‚Ì–¼‘O + Gnomovision ‚Í*‘S‚­‚Ì–³•ÛØ*‚Å’ñ‹Ÿ‚³‚ê‚Ü‚·BÚ‚µ‚­‚Íushow wv + ‚ƃ^ƒCƒv‚µ‚ĉº‚³‚¢B‚±‚ê‚̓tƒŠ[ƒ\ƒtƒgƒEƒFƒA‚Å‚ ‚èA‚ ‚éðŒ‚̉º‚Å + ĔЕz‚·‚邱‚Æ‚ª§—コ‚ê‚Ä‚¢‚Ü‚·BÚ‚µ‚­‚Íushow cv‚ƃ^ƒCƒv‚µ‚ĉº + ‚³‚¢B + + ) + +‚±‚±‚ÅA‰¼‘z“I‚ȃRƒ}ƒ“ƒhushow wv‚Æushow cv‚͈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘ +‚Ì“KØ‚È•”•ª‚ð•\Ž¦‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚à‚¿‚ë‚ñA‚ ‚È +‚½‚ªŽg‚¤ƒRƒ}ƒ“ƒh‚ðushow wv‚âushow cv‚ƌĂԕK‘R«‚Í‚ ‚è‚Ü‚¹‚ñ‚Ì‚ÅA +‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ɇ‚킹‚ă}ƒEƒX‚̃NƒŠƒbƒN‚⃃jƒ…[‚̃AƒCƒeƒ€‚É‚µ‚Ä +‚àŒ‹\‚Å‚·B + +‚Ü‚½‚ ‚È‚½‚ÍA•K—v‚È‚ç‚Î(ƒvƒƒOƒ‰ƒ}[‚Æ‚µ‚Ä“­‚¢‚Ä‚¢‚½‚ç)‚ ‚È‚½‚̌ٗpŽåA +‚ ‚é‚¢‚Íꇂɂæ‚Á‚Ä‚ÍŠwZ‚©‚çA‚»‚̃vƒƒOƒ‰ƒ€‚ÉŠÖ‚·‚éu’˜ìŒ •úŠüº–¾ +(copyright disclaimer)v‚É–¼‚µ‚Ä‚à‚炤‚ׂ«‚Å‚·BˆÈ‰º‚Í—á‚Å‚·‚Ì‚ÅA–¼ +‘O‚ð•Ï‚¦‚Ä‚­‚¾‚³‚¢: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + + (–ó: + + YoyodyneŽÐ‚Í‚±‚±‚ÉAJames Hacker‚É‚æ‚Á‚Ä‘‚©‚ꂽƒvƒƒOƒ‰ƒ€ + uGnomovisionv(ƒRƒ“ƒpƒCƒ‰‚Ö’Ê‚·ƒvƒƒOƒ‰ƒ€)‚ÉŠÖ‚·‚éˆêØ‚Ì’˜ìŒ ‚Ì—˜ + ‰v‚ð•úŠü‚µ‚Ü‚·B + + A1989”N4ŒŽ1“ú + Ty CoonA•›ŽÐ’· + + ) + +‚±‚̈ê”ÊŒöO—˜—p‹–‘øŒ_–ñ‘‚Å‚ÍA‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ð“Æè“I‚ȃvƒƒOƒ‰ƒ€ +‚É“‡‚·‚邱‚Æ‚ð”F‚ß‚Ä‚¢‚Ü‚¹‚ñB‚ ‚È‚½‚̃vƒƒOƒ‰ƒ€‚ªƒTƒuƒ‹[ƒ`ƒ“ƒ‰ƒCƒu +ƒ‰ƒŠ‚È‚ç‚ÎA“Æè“I‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚ ‚È‚½‚̃‰ƒCƒuƒ‰ƒŠ‚ðƒŠƒ“ƒN‚·‚邱 +‚Æ‚ð‹–‰Â‚µ‚½‚Ù‚¤‚ª‚æ‚è•Ö—˜‚Å‚ ‚é‚Æl‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚à‚µ‚±‚ꂪ‚ ‚È +‚½‚Ì–]‚Þ‚±‚Æ‚È‚ç‚ÎA‚±‚ÌŒ_–ñ‘‚Ì‘ã‚í‚è‚ÉGNU ƒ‰ƒCƒuƒ‰ƒŠˆê”ÊŒöO—˜—p‹–‘ø +Œ_–ñ‘‚ð“K—p‚µ‚Ä‚­‚¾‚³‚¢B diff --git a/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 +@@: Œ‹¥‘ŠŽè‚Ì–¼‘O +@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 +@@Œ‹¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚Ƃ̃Lƒƒƒ‰ƒNƒ^[‚ÅA‚Ç‚¿‚ç‚©‚ªŠù¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B +@@1‰ñ‚ÌmarriageƒXƒNƒŠƒvƒg‚ÅV˜Y¨V•w‚ÆV•w¨V˜Y‚ÌŒ‹¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B +@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ÅŒ‹¥Žw—Ö‚Í—^‚¦‚ç‚ê‚Ü‚¹‚ñB +@Edevorce +@@ˆø”–³‚µ +@@–ß‚è’l: ¬Œ÷:1@Ž¸”s:0 +@@—£¥ˆ—‚ðs‚¢‚Ü‚·B‘Îۂ͘b‚µŠ|‚¯‚½ƒvƒŒƒCƒ„[‚ÅA–¢¥‚Ìꇂ͎¸”s‚µ‚Ü‚·B +@@marriageƒXƒNƒŠƒvƒg‚Æ“¯—l‚Ɍ݂¢‚Ì—£¥ˆ—‚𓯎ž‚És‚¢‚Ü‚·B +@@‚Ü‚½A‚±‚̃XƒNƒŠƒvƒg‚ª¬Œ÷‚·‚é‚ÆŽ©“®“I‚É‘ÎÛƒLƒƒƒ‰ƒNƒ^[‚ÌŒ‹¥Žw—Ö‚Í”’D‚³‚ê‚Ü‚·B + +@‚Ç‚¿‚ç‚̃XƒNƒŠƒvƒg‚̈—‚àA2l‹¤ƒƒOƒCƒ“‚µ‚Ä‚¢‚È‚¢‚ƬŒ÷‚µ‚Ü‚¹‚ñB + + (map/) + pc.c + pc_ismarried()Apc_marriage()Apc_divorce()Apc_authok()•ÏX + pc_get_partner() ’ljÁ + map.c + map_quit() •ÏX + skill.c + skill_use_id()Askill_castend_nodamage_id() •ÏX + skill_unitsetting()Askill_unit_onlimit() •ÏX + script.c + buildin_marriage()Abuildin_devorce() ’ljÁ + pc.h •ÏX + battle.h •ÏX + +-------------------- +//1008 by ‚Ò‚´‚Ü‚ñ +EGMƒZƒbƒVƒ‡ƒ“‰B‚µŽÀ‘•(–¢ƒeƒXƒg) +@GMƒAƒJƒEƒ“ƒg‚̃Lƒƒƒ‰ƒNƒ^[‚ð@who“™‚Å•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚Ü‚·B +@Ú‚µ‚­‚Íconf_ref.txt‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B +EŒ‹¥ƒVƒXƒeƒ€‰¼ŽÀ‘• +@char-mapŠÔ’ÊM‚Ì‚ÝŽÀ‘•‚Å‚·B‚Ü‚¾Œ‹¥‚·‚邱‚Æ‚Ío—ˆ‚Ü‚¹‚ñB +@®A‚±‚̃pƒbƒ`‚©‚çathena.txt‚̃o[ƒWƒ‡ƒ“‚ª•Ï‚í‚è‚Ü‚·B +@ƒf[ƒ^‚̌݊·«‚Í•Û‚Á‚½‚‚à‚è‚Å‚·‚ªA”O‚̈׃oƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ä‚¨‚­Ž–‚ð‹­‚­„§‚µ‚Ü‚·B + + (map/) + clif.c + clif_countusers() •ÏX + battle.c + battle_config_read() •ÏX + atcommand.c + atcommand_who() •ÏX + pc.c + pc_ismarried()Apc_marriage()Apc_divorce() ’ljÁ + chrif.c + chrif_divorce() ’ljÁ + chrif_parse() •ÏX + (char/) + char.c + char_divorce() ’ljÁ + char_delete()Ammo_char_fromstr()Ammo_char_tostr() •ÏX + +-------------------- +//1007 by (“Ê) +ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ + + (map/) + clif.c + clif_send() •ÏX + skill.c + skill_delunit() •ÏX + +-------------------- +//1006 by (ruhu) +¥@go‚É—Œ—z‚ƃjƒtƒ‹ƒwƒCƒ€’ljÁ + + (conf/) + help.txt ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ + (map/) + atcommand.c + atcommand go() ƒjƒtƒ‹ƒwƒCƒ€A—Œ—z’ljÁ +-------------------- +//1005 by (“Ê) +ENULLƒ`ƒFƒbƒN‚ÌŒ©’¼‚µ‚ƒljÁA‘å—Ê‚É•ÏX‚µ‚½‚Ì‚Å–â‘肪o‚é‰Â”\«‚ª‘å‚Å‚· +EƒEƒ“ƒoƒ‰•ªŠ„ƒpƒbƒ`‚ª”z•z‚³‚ꂽ‚Ì‚Å@go 12‚ɃEƒ“ƒoƒ‰‚ð’ljÁ +Eƒ[ƒhƒiƒCƒg ƒo[ƒT[ƒN‚ð‚¿‚å‚Á‚Æ‚»‚ê‚Á‚Û‚­(ASPD‘‰Á‚È‚Ç‚Í–¢ŽÀ‘•) +EƒNƒ‰ƒEƒ“¥ƒWƒvƒV[ ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç‚ÌŽg—pðŒ‚ð‡‘t‚Æ“¯‚¶‚É•ÏX(Œø‰Ê“™‚Í–¢ŽÀ‘•) +EƒuƒŒƒbƒVƒ“ƒO‚ª–{ŽI‚ł̓Xƒe[ƒ^ƒXƒAƒbƒv¨ƒGƒtƒFƒNƒg‚¾‚Á‚½‚Ì‚Å‚»‚̂悤‚É•ÏX +E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>145 zzz‚³‚ñ‚Ì•ñ‚𔽉f +E“¯ƒXƒŒ >>143 plala‚³‚ñ‚Ì•ñ‚𔽉f + + (db/) + skill_require_db.txt •ÏX + (conf/) + help.txt ƒEƒ“ƒoƒ‰’ljÁ + map_athena.conf ƒEƒ“ƒoƒ‰ŠÖ˜A‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ + (map/) + atcommand.c NULLƒ`ƒFƒbƒN‹­‰» + atcommand() @mapmove‚È‚Ç‚Å—Ž‚¿‚é–â‘è‚ðC³ + atcommand_go() ƒEƒ“ƒoƒ‰’ljÁ + battle.c NULLƒ`ƒFƒbƒN‹­‰» + battle_calc_mob_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% + battle_calc_pc_weapon_attack() ƒo[ƒT[ƒNŽžƒ_ƒ[ƒW150% + chat.c NULLƒ`ƒFƒbƒN‹­‰» + chrif.c NULLƒ`ƒFƒbƒN‹­‰» + clif.c NULLƒ`ƒFƒbƒN‹­‰» + clif_parse_ActionRequest() ƒ_ƒ“ƒXŽž‚̈—‚ðŽáŠ±•ÏX + clif_parse_GlobalMessage() ƒo[ƒT[ƒNŽž‚͉ï˜b‚ªo—ˆ‚È‚¢‚悤‚É•ÏX + clif_parse_Wis() ƒo[ƒT[ƒNŽž‚͉ï˜b‚ªo—ˆ‚È‚¢‚悤‚É•ÏX + clif_parse_PartyMessage() “¯ã + clif_parse_GuildMessage() “¯ã + clif_parse_TakeItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽæ‚ê‚È‚¢‚悤‚É•ÏX + clif_parse_DropItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ð—Ž‚Æ‚¹‚È‚¢‚悤‚É•ÏX + clif_parse_UseItem() ƒo[ƒT[ƒNŽž‚̓AƒCƒeƒ€‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX + clif_parse_EquipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‚Å‚«‚È‚¢‚悤‚É•ÏX + clif_parse_UnequipItem() ƒo[ƒT[ƒNŽž‚Í‘•”õ‰ðœ‚Å‚«‚È‚¢‚悤‚É•ÏX + clif_parse_UseSkillToId() ƒo[ƒT[ƒNŽž‚̓XƒLƒ‹Žg—p‚ª‚Å‚«‚È‚¢‚悤‚É•ÏX + clif_parse_UseSkillToPos() “¯ã + clif_parse_UseSkillMap() “¯ã + guild.c NULLƒ`ƒFƒbƒN‹­‰» + intif.c NULLƒ`ƒFƒbƒN‹­‰» + itemdb.c NULLƒ`ƒFƒbƒN‹­‰» + map.c NULLƒ`ƒFƒbƒN‹­‰» + map_quit() ƒo[ƒT[ƒNŽž‚ɃƒOƒAƒEƒg‚·‚é‚ÆHP 100/SP 0‚É‚È‚é‚悤‚É•ÏX + mob.c + mob_attack() clif_fixmobpos()‚ð‘—M‚µ‚È‚¢‚悤‚É•ÏX + mob_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏX + mobskill_castend_id() “¯ãAƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX + mobskill_castend_pos() ƒo[ƒT[ƒNŽžƒXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX + mobskill_use_id() “¯ã + mobskill_use_pos() “¯ã + npc.c NULLƒ`ƒFƒbƒN‹­‰» + party.c NULLƒ`ƒFƒbƒN‹­‰» + path.c NULLƒ`ƒFƒbƒN‹­‰» + pc.c NULLƒ`ƒFƒbƒN‹­‰» + pc_calcstatus() ƒo[ƒT[ƒNŽž‚Í‘¬“xUP•MHP3”{AƒƒfƒBƒeƒCƒeƒBƒI‚ÌSP‰ñ•œ‘‰Á‚ðSPR‚Å‚Í‚È‚­’Êí‰ñ•œ‚É‚©‚©‚é‚悤‚É‚µ‚½ + pc_heal() ƒo[ƒT[ƒNŽž‚͉ñ•œ‚µ‚È‚¢ + pc_jobchange() “]E’¼Œã1•à“®‚©‚È‚¢‚Æ•ž‚ÌF‚ª”½‰f‚³‚ê‚È‚©‚Á‚½‚Ì‚ðC³ + pc_natural_heal_sub() ƒo[ƒT[ƒN’†‚ÍSP‚ªŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX(HP‚Í—Ç‚­•ª‚©‚ç‚È‚©‚Á‚½‚̂ʼnñ•œ‚·‚é‚悤‚É‚µ‚Ä‚ ‚é) + pet.c NULLƒ`ƒFƒbƒN‹­‰» + skill.c + skill_castend_nodamage_id() ƒuƒŒƒbƒVƒ“ƒO“™‚̃pƒPƒbƒg‡‚ð•ÏXAƒXƒg[ƒ“ƒJ[ƒX‚ð•sŽ€‚É‚Í–³Œø‚É‚µ‚½ + skill_castend_map() ‚µ‚‚±‚¢‚­‚ç‚¢‚Ƀo[ƒT[ƒNŽž‚ɃXƒLƒ‹‚ðŽg‚¦‚È‚¢‚悤‚É•ÏX + skill_check_condition() “¯ã + skill_use_pos() “¯ã + skill_use_id() “¯ã•ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç’ljÁ + skill_status_change_end() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ðÁ‹Ž‚·‚é‚悤‚É•ÏX + skill_status_change_timer() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏXAŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚т玞SPÁ”ïAƒo[ƒT[ƒNŽžHP100ˆÈã‚È‚ç10•b‚ ‚½‚è1%Œ¸‚ç‚·‚悤‚É•ÏX + skill_status_change_start() ƒo[ƒT[ƒNŽž‚É‚ÍIAƒAƒCƒRƒ“‚ð•\Ž¦‚·‚é‚悤‚É•ÏX + skill_delunit() NULLƒ`ƒFƒbƒNðŒ‚ð•ÏX + skill_check_condition_char_sub() ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç’ljÁ + skill_check_condition_use_sub() “¯ã + skill_is_danceskill() “¯ã + skill_initunitgroup() “¯ã + trade.c NULLƒ`ƒFƒbƒN‹­‰» + vending.c NULLƒ`ƒFƒbƒN‹­‰» + +-------------------- +//1004 by (“Ê) +ENULLƒ`ƒFƒbƒN‚ŃGƒ“ƒoƒO‚µ‚Ä‚¢‚½‚Æ‚±‚ë‚ð‚¢‚­‚‚©C³‚Æ‘¼‚ÌNULLƒ`ƒFƒbƒN‹­‰» +Eskill.c‚Å‚ànullpo‚ð•\Ž¦‚·‚é‚悤‚É•ÏX + + (map/) + battle.c + battle_damage() NULLƒ`ƒFƒbƒN‹­‰» + battle_heal() “¯ã + clif.c + clif_damage() “¯ã + map.c + map_addflooritem() NULLƒ`ƒFƒbƒN‹­‰» + mob.c + mob_once_spawn() —]Œv‚ÈNULLƒ`ƒFƒbƒN‚ðíœ + mob_once_spawn_area() “¯ã + mob_damage() “¯ã + mob_counttargeted() “¯ã + mobskill_castend_id() “¯ã + mob_summonslave() ƒƒbƒZ[ƒWŠÔˆá‚¢‚ðC³ + pc.c + pc_damage() NULLƒ`ƒFƒbƒN‹­‰» + skill.c ‚Ù‚Ú‘S•” NULLŠÖ˜AC³ + +-------------------- +//1003 by (“Ê) +EjROƒNƒ‰ƒCƒAƒ“ƒg‚Å/accountŽg—pŽž‚ÉŒq‚ª‚ç‚È‚¢Œ´ˆö‚Ì0x200ƒpƒPƒbƒg–â‘è‚ðC³ +E0x1c9ƒpƒPƒbƒg‚ÌŒŠ–„‚ß‚ðˆø‚«‘±‚«Œp‘±’† +Eˆêl‚Ź‘̂⇑t‚ðŽg—p‚Å‚«‚éÝ’è(player_skill_partner_check)‚ð’ljÁ + ˆêl‚Ň‘t‚ðŽÀs‚µ‚½ê‡‚É‚Í’Êí‚̃_ƒ“ƒX‚Æ‹““®‚ª“¯‚¶‚É‚È‚è‚Ü‚· +Eƒvƒƒ{ƒbƒN‚Í•sŽ€‚ɑ΂µ‚Ä”­“®‚µ‚È‚¢‚悤‚É•ÏX +EFW‚Ì‚«”ò‚΂µ”»’è‚ð•ÏX +EƒfƒŠƒ…[ƒW‚É…ê”»’è‚ð’ljÁA¹…‚ðì‚ê‚é‚Ì‚ðŠm”F +EƒnƒCƒfƒBƒ“ƒO‚Ì—LŒøŽžŠÔ‚ª³‚µ‚­‹@”\‚·‚é‚悤‚ÉC³ +EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€‚ÉŽg—p‚µ‚½ê‡A¹‘®«‚Ì40ƒ_ƒ[ƒW‚ð—^‚¦‚é‚悤‚É•ÏX +EƒAƒXƒyƒ‹ƒVƒI‚ð•sŽ€ˆÈŠO‚ÌMOB‚ÉŽg—p‚µ‚Ä‚àŒø‰Ê‚ª–³‚¢‚悤‚É•ÏX +E‡‘tAƒ_ƒ“ƒXA‰‰‘t’†‚ÌŒo‰ßŽžŠÔ‚É‚æ‚éSPÁ”ï‚ðŽÀ‘• +E•ñ‚Ì‚ ‚Á‚½ƒK[ƒfƒBƒAƒ“‚ªƒMƒ‹ƒh–¢‰Á“üPC‚ðƒ^[ƒQƒbƒg‚µ‚½‚çmap‚ª—Ž‚¿‚é–â‘è‚ÌC³(ƒK[ƒfƒBƒAƒ“ŽÀ‘•“–Žž‚©‚炸‚Á‚Æ—Ž‚¿‚Ä‚½H) +Emob.cAstorage.c‚Ìnullƒ`ƒFƒbƒN‚ð‹­‰» + ƒGƒ‰[‚Å—Ž‚¿‚é‚ׂ«‚Æ‚±‚ë‚ð–³—‚â‚è’Ê툗‚É–ß‚µ‚Ä‚¢‚é‚Ì‚Å‘¼‚Å–â‘肪‚Å‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ + ‚»‚Ìê‡AƒRƒ“ƒ\[ƒ‹‚ÉuŠÖ”–¼ nullpov‚Æ•\Ž¦‚³‚ê‚é‚Ì‚Å•\Ž¦‚³‚ꂽꇂ͕ñ‚ð‚¨Šè‚¢‚µ‚Ü‚· + ‚à‚µ‚©‚µ‚½‚ç³í‚Ȉ—‚Å‚à•\Ž¦‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA‚»‚ÌÛ‚à•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚· + –{—ˆƒGƒ‰[AŽÀ‚ͳíA‚Ç‚¿‚ç‚É‚µ‚Ä‚à‚±‚ꂪ•\Ž¦‚³‚ê‚é‚̂̓oƒO‚Å‚· + + (conf/) + battle_athena.conf player_skill_partner_check’ljÁ + (db/) + skill_db.txt ƒAƒXƒyƒ‹ƒVƒI‚Ì‘®«‚ð¹‚É•ÏX + (doc/) + conf_ref.txt player_skill_partner_checkà–¾’ljÁ + (login/) + login.c + parse_login() 0x200ƒpƒPƒbƒg‘Ήž + (map/) + mob.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” + storage.c NULLƒ`ƒFƒbƒN‚Å‚Ù‚Ú‘S•” + battle.h •ÏX + battle.c + battle_calc_magic_attack() ƒAƒXƒyƒ‹ƒVƒI‚ð’ljÁAFW‚ð•ÏX + battle_config_read() Ý’è’ljÁ + clif.c + clif_getareachar_skillunit() ’²¸Œ‹‰Ê‚Ì”½‰f + clif_skill_setunit() “¯ã + [1001‚Æ1002‚ÌŠÔ‚Ì•ÏX“_] + skill.c NULLƒ`ƒFƒbƒN‚ð‘òŽR + skill_castend_damage_id() ƒAƒXƒyƒ‹ƒVƒI’ljÁ + skill_castend_nodamage_id() ƒAƒXƒyƒ‹ƒVƒIAƒvƒƒ{ƒbƒNˆ—•ÏX + skill_castend_id() ƒAƒXƒyƒ‹ƒVƒIˆ—•ÏX + skill_check_condition_char_sub() player_skill_partner_check‚ɑΉž + skill_check_condition_use_sub() “¯ã + skill_use_id() “¯ã + skill_check_condition() “¯ã•ƒfƒŠƒ…[ƒW‘Ήž + skill_status_change_timer() ƒnƒCƒfƒBƒ“ƒOC³Aƒ_ƒ“ƒX‰‰‘t‡‘t’†‚ÌSPÁ”ïŽÀ‘• + skill_initunitgroup() ƒ_ƒ“ƒXSPÁ”ï—p•ÏX + skill_status_change_start() “¯ã•ƒvƒƒ{ƒbƒN‚ðƒ{ƒX‚ÉŒø‚©‚È‚¢‚悤‚É(‚Å‚àbattle.c‚ÅŽ~‚ß‚Ä‚é‚©‚ç’Ê킱‚±‚Ü‚Å—ˆ‚È‚¢) + +-------------------- +//1002 by ‚Ò‚´‚Ü‚ñ +Eƒ|[ƒ^ƒ‹ƒoƒOC³ +EƒXƒLƒ‹ŠÖŒW‚ÌNullƒ`ƒFƒbƒN‹­‰»(by(“Ê)) + (map/) + skill.c + skill_castend_map() C³ + +-------------------- +//1001 by (“Ê) +E0x1c9‚Å‚¢‚­‚‚©ƒpƒPƒbƒg‚ðŒ©”ä‚ׂĕω»‚Ì‚È‚¢‚Æ‚±‚ë‚ðŒÅ’è’l‚Å–„‚ßž‚Ý(¡Œãî•ñ‚ªW‚Ü‚é‚Æ•Ï‚í‚é‰Â”\«‘å) +Eƒ_ƒ“ƒX’†‚ÍSP‚¾‚¯‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX +E¹‘Ì‚Å‘Š•û‚ÌSP‚ª10ˆÈ‰º‚¾‚ÆŽg—pŽ¸”s‚É‚µ‚ÄŽg—p‚µ‚½‚çSP‚ð10Œ¸‚炵‚Ä‚Ý‚é(–¢Šm”F) +E‡‘t‚̃XƒLƒ‹Žg—pƒpƒPƒbƒg‚ðŽáŠ±•ÏX + + (map/) + clif.c + clif_getareachar_skillunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn + clif_skill_setunit() 0x1c9‚ÌŒŠ–„‚ߊJŽn + pc.c + pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É•ÏX + skill.c + skill_check_condition() •ÏX + skill_check_condition_char_sub() ¹‘Ì‚Í‘Š•û‚ÌSPƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏX + skill_check_condition_use_sub() ¹‘Ì‚Í‘Š•û‚ÌSP‚ðŒ¸‚ç‚·‚悤‚É•ÏX + +-------------------- +//1000 by ‚Ò‚´‚Ü‚ñ +E0999‚Ì•ÏXŽæ‚è–ß‚µ +Eƒgƒ‰ƒbƒv‚ÌŠª‚«ž‚ÝŽÀ‘• +EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅNPC‚܂ʼnñ•œ‚µ‚½(‚悤‚ÉŒ©‚¦‚é)–â‘èC³(–¢ƒeƒXƒg) +Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃GƒtƒFƒNƒg•ÏX(‚±‚¿‚ç‚É–¾‹L) + (map/) + skill.c + skill_count_target() ’ljÁ + skill_unit_onplace()Askill_trap_splash() •ÏX +-------------------- +//0999 by eAthena Dev Team (Yor's Fixes) +(login/) + added email for accounts +(char/) + added email for character deletion +-------------------- +//0998 by (“Ê) +Ebattle.c‚ňø”‚Ì‘¶Ý‚ðŠm”F‚¹‚¸‚É’l‚ðŒ©‚És‚Á‚Ä‚éŠÖ”‚ð‚¢‚­‚‚©C³ +Eƒ_ƒ“ƒX’†‚ÍÀ‚ê‚È‚¢‚悤‚É‚µ‚½(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>114 DoT‚³‚ñ) +Eƒ_ƒ“ƒX’†‚ÍHPASP‚ª‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏX(“¯ã) +Eƒ_ƒ“ƒX’†‚Í’ÊíUŒ‚‚Å‚«‚È‚¢‚悤‚É‚µ‚½(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>116 EEE‚³‚ñ) +E‡‘t’†•Ð•û‚ª—Ž‚¿‚½ê‡AŽc‚Á‚½‚Ù‚¤‚ʼn‰‘t‚ðŒp‘±‚·‚é‚悤‚É‚µ‚½(“¯ã) +E‡‘t’†‚̓AƒhƒŠƒuˆÈŠO‚Å‚«‚È‚¢‚悤‚É•ÏX(“¯ã) +E‡‘t”­“®ðŒ‚Ƀ_ƒ“ƒX’†‚¶‚á‚È‚¢•À‚Á‚Ä‚¢‚È‚¢‚ð’ljÁ(–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>118 ‚ë‚낳‚ñ) +Eˆ¢C—…Žg—pŒã‚ÉHP‚à‰ñ•œ‚µ‚È‚©‚Á‚½‚Ì‚ðC³ + + (map/) + battle.c + battle_counttargeted() C³ + battle_getŒn ‚½‚Ô‚ñ‘S•”C³ + clif.c + clif_parse_WalkToXY() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX + clif_parse_ActionRequest() ƒ_ƒ“ƒX’†‚͉£‚ç‚È‚¢À‚ç‚È‚¢‚悤‚É•ÏX + map.c + map_quit() ƒ_ƒ“ƒX’†’f’ljÁ + mob.c + mob_damage() skill_stop_dancing‚̈ø”‘‰Á‚É‚æ‚é•ÏX + pc.c + pc_setpos() “¯ã + pc_damage() “¯ã + pc_equipitem() “¯ã + pc_natural_heal_sub() ƒ_ƒ“ƒX’†‚ÍŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ˆ¢C—…Žž‚ÍSP‚̂݉ñ•œ‚µ‚È‚¢‚悤‚É + skill.c + skill_castend_nodamage_id() skill_stop_dancing‚̈ø”‘‰Á‚É‚æ‚é•ÏX + skill_status_change_start() “¯ã + skill_check_condition_char_sub() ‘ŠŽè‚ªƒ_ƒ“ƒX’†‚âÀ‚Á‚Ä‚¢‚Ä‚à‡‘t‚Å‚«‚È‚¢‚悤‚É•ÏX + skill_check_condition_use_sub() “¯ã + skill_use_id() ‡‘t‚Ì”»’f•û–@‚Ì•ÏX•‡‘t’†‚̓AƒhƒŠƒuˆÈŠO‹ÖŽ~‚É + skill_status_change_end() ‡‘t‚̃_ƒ“ƒXó‘Ô‰ðœ‚Í‘ŠŽè‚Ìval4‚ð0‚É‚·‚é‚悤‚É‚µ‚½ + skill_is_danceskill() –ß‚è’l•ÏX + skill_stop_dancing() ˆø”‘‰ÁA‡‘t‚ŕЕû‚¾‚¯—Ž‚¿‚½‚Æ‚«‚̈—’ljÁ + skill_delunitgroup() ‡‘tŽž‚̃Xƒe[ƒ^ƒX•ÏXˆ—‚ðª‚Ɉڂµ‚½ + skill_clear_unitgroup() Ž©•ª‚Ìbl->id‚ƃ†ƒjƒbƒgƒOƒ‹[ƒv‚Ìgroup->src_id‚ªˆá‚¤‚Æ‚«‚Í휂µ‚È‚¢‚悤‚É•ÏX + skill.h •ÏX + +-------------------- +//0997 by (“Ê) +E“ñl‚Ň‘tAŽOl‚Ź‘Ì‚ðŽÀ‘• + ‡‘t ƒo[ƒhEƒ_ƒ“ƒT[‚ª—×Ú‚µ‚½ƒZƒ‹‚É‚¢‚Ä“¯‚¶ƒXƒLƒ‹‚ðŽ‚Á‚Ä‚¢‚鎞‚É”­“® + ƒXƒLƒ‹ƒŒƒxƒ‹‚Í—¼ŽÒ‚̃XƒLƒ‹ƒŒƒxƒ‹‚Ì’†ŠÔ + –{ŽIŽd—l‚ª•ª‚©‚ç‚È‚¢‚¯‚ǎ΂ߗ×Ú‚àOK + ¹‘Ì Žg—pŽÒ‚ÌXŽ²‚Å-1‚Æ+1‚ÌꊂɈêl‚¸‚ƒAƒRƒ‰ƒCƒg‚©ƒvƒŠ[ƒXƒg‚ª‚¢‚鎞‚É”­“®‚·‚é‚ÆŽv‚¤(–¢ƒeƒXƒg) + Žg—pŽÒ › ƒAƒRƒvƒŠ œ + OK œ›œ + + NG œ + ›œ +Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽg‚Á‚ÄÝ’uŽž‚ÉÀ‚Á‚Ä‚¢‚½Žž‚̓XƒLƒ‹Žg—pŽ¸”s‚É‚µ‚Ä‚Ý‚½ + + (db/) + item_db.txt ‘º³‚ÌŽô‚¢—¦‚ð5%‚É(by e2‚³‚ñ) + (map/) + skill.c + skill_check_condition_char_sub() ’ljÁ + skill_check_condition_use_sub() ’ljÁ + skill_check_condition() •ÏX + skill_use_id() •ÏX + skill_initunitgroup() •ÏX + skill_delunitgroup() •ÏX + clif.c + clif_parse_UseSkillToPos() •ÏX + +-------------------- +//0996 by (“Ê) +EƒAƒhƒŠƒu‚Ì5•b§ŒÀ‚ðcast_db.txt‚Ìupkeep_time2‚ŧŒä‚Å‚«‚é‚悤‚É•ÏX +E‘º³‚ÅŽ©•ª‚ðŽô‚킹‚邽‚ß‚Ébonus2 bAddEff2‚ð’ljÁ +EŽô‚í‚ê‚Ä‚¢‚ÄI—¹‚Å‚«‚È‚¢Žž‚É‚àu¡‚ÍI—¹‚Å‚«‚Ü‚¹‚ñv‚ª•\Ž¦‚³‚ê‚é‚悤‚É‚µ‚½ +Eƒ_ƒ“ƒXƒGƒtƒFƒNƒg“™ˆÚ“®Žž‚ÉŒø‰Ê‚Ì“K—p”»’f‚ªˆÚ“®‘O‚És‚í‚ê‚Ä‚¢‚½‚Ì‚ðˆÚ“®Œã‚É•ÏX•Žg‚í‚È‚­‚Ä‚¢‚¢•Ï”‚ð”pŽ~ + + (db/) + cast_db.txt + const.txt + item_db.txt + (doc/) + item_bonus.txt + (src/) + clif.c + clif_parse_QuitGame() •ÏX + map.h addeff2,arrow_addeff2 ’ljÁ + pc.c + pc_calcstatus() •ÏX + pc_bonus2() •ÏX + skill.c + skill_additional_effect() •ÏX + skill_check_condition() •ÏX + skill_unit_move_unit_group() •ÏX + +-------------------- +//0995 by (“Ê) +Ebattle.pet_lootitem‚̃fƒtƒHƒ‹ƒg‚ªyes‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ +Ebattle.pet_lootitem‚Ì“K—p‚ðforeach‘O‚Å‚â‚é‚悤‚ÉC³ +Eƒyƒbƒg‚̉Šú‰»‚Åpd->lootitem‚ª‚ ‚鎞‚µ‚©‰Šú‰»‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³ +E—̈悪ˆÚ“®‚µ‚Ä‘ÎÛ‚ª—̈悩‚甲‚¯‚Ä‚àŒø‰Ê‚ª‰ðœ‚³‚ê‚È‚¢–â‘è‚ðC³ +EƒAƒhƒŠƒu‚̓_ƒ“ƒX”­“®‚©‚ç5•bˆÈãŒo‚½‚È‚¢‚ÆŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚½ + + (map/) + pet.c + pet_data_init() C³ + pet_ai_sub_hard() C³ + pet_ai_sub_hard_lootsearch() C³ + skill.c + skill_blown() •ÏX + skill_unit_onlimit() ƒGƒ‰[ƒƒbƒZ[ƒWC³ + skill_check_condition() •ÏX + skill_initunitgroup() sd_data[SC_DANCING].val3‚Égettick() + skill_unit_move_unit_group_sub() ’ljÁ + skill_unit_move_unit_group() •ÏX + skill.h skill_unit_move_unit_group() ˆø”•ÏX + battle.c + battle_config_read() pet_lootitem=0‚ÉC³ + pc.c + pc_walk() •ÏX + +-------------------- +//0994 by huge +Ebattle.pet_lootitem‚ª“K‰ž‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +Eƒyƒbƒg‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚³‚¹‚½ŒãA10•bŠÔ‚­‚ç‚¢‚ÍE‚킹‚È‚¢‚悤‚ÉB + + (map/) + map.h pet_data‚Élootitem_timer’ljÁB + pet.c + pet_ai_sub_hard_lootsearch() C³B + pet_lootitem_drop() C³B + +-------------------- +//0993 by (“Ê) +Eˆêl‚Ň‘t‚¾‚¯‚LJ‘tƒXƒLƒ‹’†‚Í“®‚¯‚È‚¢‚悤‚É +EƒAƒ“ƒR[ƒ‹ŽÀ‘•B’¼‘O‚ÉŽg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚𔼕ª‚ÌSP‚ÅŽg‚¦‚Ü‚· +Eƒ_ƒ“ƒX’†‚Ɉړ®‚·‚é‚ƃGƒtƒFƒNƒg‚àˆÚ“®‚·‚é‚悤‚É‚µ‚½ +E–¢ŽÀ‘•‚̃XƒLƒ‹‚ªŽg‚í‚ê‚é‚ÆUnknown skill‚Æ•\Ž¦‚³‚ê‚邱‚Æ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ +ESage‚̃LƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚ÅŽÀ‚Í‘O‚̃XƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ÌC³ + + (map/) + clif.c + clif_parse_WalkToXY() •ÏX + map.h ƒAƒ“ƒR[ƒ‹—p•Ï”‚̒ljÁ + pc.c + pc_walk() + skill.c + skill_blown + skill_castend_nodamage_id + skill_unitsetting() •ÏX + skill_unit_onplace() ã©‚Å“¯‚¶ˆ—‚ð‚µ‚Ä‚¢‚écase‚ð‚Ü‚Æ‚ß‚½ + skill_unit_onout() Žg‚í‚ê‚Ä‚È‚¢unit2‚ðíœ + skill_check_condition() •ÏX + skill_use_id + skill_initunitgroup() Žg‚Á‚½ƒ_ƒ“ƒXƒXƒLƒ‹‚ð•Ï”‚É“ü‚ê‚é‚悤‚É‚µ‚½ + skill_unit_move_unit_group() ’ljÁ + skill.h •ÏX + +-------------------- +//0992 by nokia + +map_quit‚ðC³‚µ‚ăƒ‚ƒŠ‚ðŽß•ú‚·‚鎞‰½“x‚à‚ðŽß•ú‚·‚邽‚߃ƒ‚ƒŠ‚̊ԈႢ‚ª‹N‚±‚é–â‘è‚𵂭 + + (map/) + map.c + map_quit() + +-------------------- +//0991 by (“Ê) +Eƒg[ƒL[ƒ{ƒbƒNƒX‚ðŽ©•ª‚ª“¥‚ñ‚Å‚à”­“®‚µ‚È‚¢–{ŽIŽd—l‚É•ÏX +EƒXƒLƒ‹‰r¥’†‚ƃfƒBƒŒƒC’†‚̓Nƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚Å‚«‚È‚¢‚悤‚É‚µ‚½‚¯‚ÇA“G‚ÉUŒ‚‚³‚ê‚Ä‚¢‚é‚Æ‚«‚ÍI—¹‚Å‚«‚Ü‚·(‚²‚ß‚ñ‚È‚³‚¢‚ÁII) + + (map/) + clif.c + clif_parse_QuitGame() •ÏX + skill.c + skill_unitsetting() •ÏX + +-------------------- +//0990 by ‚Ò‚´‚Ü‚ñ +Eˆê•”‚̃gƒ‰ƒbƒv‚ð”͈ÍUŒ‚‚É•ÏXiŠª‚«ž‚Ý‚Í–¢ŽÀ‘•jB +Emapflag‚Épvp_nocalcrank‚Æpvp_nightmaredrop’ljÁB + Emapflagpvp_nocalcrankdummy + @PvP‚É‚æ‚郉ƒ“ƒLƒ“ƒOŒvŽZ‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B + Emapflagpvp_nightmaredrop,, + @PvP‚É‚ÄŽ€–S‚µ‚½ê‡A‚ÌŠm—¦‚ŃAƒCƒeƒ€‚ðƒhƒƒbƒv‚µ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€ID‚ðŽw’肵‚Ü‚·Brandom‚Æ‹Lq‚·‚é‚ÆŠŽ•i‚©‚烉ƒ“ƒ_ƒ€‚Ƀhƒƒbƒv‚µ‚Ü‚·B + @: ƒhƒƒbƒv‚·‚éƒAƒCƒeƒ€‚̃^ƒCƒv‚ðŽw’肵‚Ü‚·Binventory:ŠŽ•i equip:‘•”õ•i all:‘S•” + @: ƒhƒƒbƒv‚·‚éŠm—¦‚Å‚·B–œ•ª—¦‚ÅŽw’肵‚Ü‚·B + (map/) + skill.c + skill_unit_onplace() •ÏX + skill_trap_splash() ’ljÁ + pc.c + pc_damage() •ÏX + npc.c + npc_parse_mapflag() •ÏX + map.h + map_data‚Ƀƒ“ƒo’ljÁ + (conf/) + mapflag.txt + ƒiƒCƒgƒƒAƒ‚[ƒh‚ɃhƒƒbƒvÝ’è’ljÁ + +-------------------- +//0989 by (“Ê) +EƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒv‚ð–^Š‚ÅŒ©‚½SS‚ðŒ³‚ÉŽÀ‘•‚µ‚Ä‚Ý‚½Bˆá‚Á‚½‚ç‘ŠˆáƒXƒŒ‚Ö +EƒfƒBƒeƒNƒeƒBƒ“ƒO‚ð–^Š‚ÅŒ©‚½‰ðà•¶‚ðŒ³‚ÉŽÀ‘•‚µ‚Ä‚Ý‚½Bˆá‚Á‚½‚ç‘ŠˆáƒXƒŒ‚Ö +EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹Žž‚Ìdelete_timerƒGƒ‰[‚ɒljÁ‚ŃXƒLƒ‹ID‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚½B‚ ‚킹‚Ä•ñ‚·‚é‚ƃGƒ‰[‚ÌŒ´ˆö‚ª•ª‚©‚é‚©‚à + + (map/) + skill.c + skill_castend_nodamage_id() •ÏX + skill_castend_pos2() •ÏX + skill_castcancel() •ÏX + +-------------------- +//0988 by (“Ê) +Eƒg[ƒL[ƒ{ƒbƒNƒX‚Íí‚É‘«Œ³‚É’u‚¯‚é‚悤‚É•ÏX‚ÆKalen‚³‚ñ‚É–á‚Á‚½î•ñ“™‚ðŒ³‚ÉƒpƒPƒbƒg‚ð–{ŽI‚É‚ ‚킹‚Ä‚Ý‚½ +EƒVƒ‡ƒbƒNƒEƒF[ƒuƒgƒ‰ƒbƒv‚ÉŒø‰Ê‚ð’ljÁ‚µ‚½‚‚à‚è(–¢Šm”F) +Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ƃNƒŒƒCƒ‚ƒAƒgƒ‰ƒbƒv‚ð‰£‚é‚Æ‚«”ò‚Ԃ悤‚É‚µ‚½ +EƒŠƒ€[ƒuƒgƒ‰ƒbƒv‚Åã©(skill_require_db‚ÅŽw’肵‚½ƒAƒCƒeƒ€)‚ð‰ñŽû‚Å‚«‚é‚悤‚É‚µ‚½ +Eª‚ÌŽÀ‘•‚É‚æ‚èã©‚ÌŽžŠÔØ‚ê‚Åã©‚ªo‚éƒIƒŠƒWƒiƒ‹Žd—l‚̓Rƒƒ“ƒgƒAƒEƒg +Eƒuƒ‰ƒXƒgƒ}ƒCƒ“‚ÌŒø‰ÊŽžŠÔ‚ª’·‚¢‚Ì‚ðC³ + + (db/) + cast_db.txt + (map/) + battle.c + battle_check_target() •ÏX + mob.c + mobskill_castend_pos() •ÏX + skill.c + skill_additional_effect() •ÏX + skill_blown() •ÏX + skill_castend_nodamage_id() •ÏX + skill_castend_pos2() •ÏX + skill_unitsetting() •ÏX + skill_unit_onplace() •ÏX + skill_unit_ondamaged() •ÏX + skill_castend_pos() •ÏX + skill_unit_timer_sub() •ÏX + +-------------------- +//0987 by ŒÓ’±—– + +Eƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚Ɉø”‚ðŽw’è‰Â”\‚É + Ú‚µ‚­‚Í script_ref.txt ‚ðŽQÆ + + (map/) + scirpt.c + buildin_getarg()’ljÁ + buildin_callsub(),buildin_callfunc(),run_func()C³ + (doc/) + script_ref.txt + ˆø”‚ɂ‚¢‚Ä‚Ìà–¾’ljÁ + +Egetguildname,getpartyname,getcastlename,strcharinfoC³ + C_STR‚Œ蔕¶Žš—ñ(C_CONSTSTR)‚ð•Ô‚µ‚Ä‚¢‚½–â‘èC³ + strcharinfo‚ŃMƒ‹ƒh–¼‚È‚Ç‚ðŠ“¾‚·‚éÛA–¢Š‘®‚¾‚Á‚½‚Æ‚«‚Ì–â‘è + + (map/) + script.c + buildin_getguildname(),buildin_getpartyname() + buildin_getcastlename(),buildin_strcharinfo() + +-------------------- +//0986 by (“Ê) +Eclient_packet‚Ì‹Lq‚©‚ç„Ž@‚µ‚ăg[ƒL[ƒ{ƒbƒNƒX‚ðŽÀ‘•‚µ‚Ä‚Ý‚½‚‚à‚è + + (db/) + skill_db.txt + (map/) + clif.c + clif_talkiebox() ’ljÁ + clif_parse_UseSkillToPos() •ÏX + clif_parse() •ÏX + clif.h •ÏX + map.h •ÏX + skill.c + skill_castend_pos2() •ÏX + skill_unitsetting() •ÏX + skill_unit_onplace() •ÏX + +-------------------- +//0985 by (“Ê) +EƒT[ƒo[snapshot +E/script/extension‚ÉŒê‚è•”‚ð’ljÁ‚µ‚½‚è +E0984‚ÅAthenaŽG’kƒXƒŒƒbƒh part3>>92 Michael‚³‚ñ‚ÌC³‚ðŽæ‚èž‚ñ‚Å‚½ +EƒoƒO•ñƒXƒŒƒbƒh part5 >>45‚É“]Ú‚³‚ê‚Ä‚½ ‚ ‚â‚Ë‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý +EƒoƒO•ñƒXƒŒƒbƒh part5 >>54 rari‚³‚ñ‚Ì‚½‚Ê‚«–XC³‚ðŽæ‚èž‚Ý + + (script/extension/) + npc_event_kataribe6.txt ’ljÁ + npc_event_kataribe7.txt ’ljÁ + (script/npc/) + quest/npc_event_hat.txt C³ + job/npc_job_magician.txt C³ + +-------------------- +//0984 by (“Ê) +EƒZ[ƒW‚̃tƒŠ[ƒLƒƒƒXƒg‚Æ‚¢‚¤ƒXƒLƒ‹‚Ì‘¶Ý‚ð’m‚ç‚È‚©‚Á‚½‚Ì‚Å0983‚Ì•ÏX‚ðˆê•”–ß‚µ +EƒAƒCƒeƒ€XV‚µ‚½‚¯‚Ç‚‚ê”L‚ƃCƒ“ƒfƒBƒAƒ“ƒoƒ“ƒ_ƒi‚ª‘•”õ‚Å‚«‚È‚¢H +Eƒ}ƒbƒvƒtƒ‰ƒO‚ƃ‚ƒ“ƒXƒ^[”z’u‚ðÅV”Å‚É + + (db/) + item_db.txt + (conf/) + mapflag.txt + (script/mob/) + npc_monster.txt + (map/) + clif.c + clif_parse_WalkToXY() C³ + +-------------------- +//0983 by (“Ê) +E’·‚¢‰r¥’†‚É•à‚«‚Ü‚í‚ꂽ‹C‚ª‚·‚é‚Ì‚ÅC³ +Eƒyƒbƒgƒ‹[ƒŒƒbƒg‰ñ“]’†‚É‘ÎÛ‚ª’@‚«ŽE‚³‚ꂽ‚çmap-server‚ª¢‚é‚Ì‚ðC³ +EƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚«Š·‚¦‚̎蔲‚«ˆ—‚ð‚¿‚å‚Á‚ƃ}ƒV‚É‚µ‚½ + + (map/) + clif.c + clif_parse_WalkToXY() C³ + pet.c + pet_catch_process2() C³ + skill.c + skill_castend_nodamage_id() C³ + +-------------------- +//0982 by (“Ê) +E“]¶ƒXƒLƒ‹‚Ì` + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ‘ŠŽè‚ªPC‚Ìꇂ͌•‚¶‚á‚È‚¯‚ê‚Î’µ‚Ë•Ô‚³‚È‚¢—\’è + ƒvƒƒtƒFƒbƒT[ ƒƒ‚ƒ‰ƒCƒY 12•b‚̌ŒèƒLƒƒƒXƒgƒ^ƒCƒ€A‚»‚ÌŒãƒXƒLƒ‹Žg—p‚̃LƒƒƒXƒgƒ^ƒCƒ€‚ª3‰ñ‚¾‚¯1/3‚É‚È‚é + ƒvƒƒtƒFƒbƒT[ ƒ‰ƒCƒt’u‚«Š·‚¦ HP‚ð10%Œ¸‚炵‚ÄSP‚ð‘‚â‚·BŒ¸‚Á‚½HP‚̃GƒtƒFƒNƒg‚Í–³‚µ‚É‚µ‚Ä‚Ý‚½ +EŒ©Ø‚è‚Ɖñ”𗦑‰Á‚ÌFlee㸂ªƒXƒe[ƒ^ƒX•Ï‰»Žž‚É‚µ‚©”½‰f‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³ +E0981‚ÅŽ©•ªˆÈŠO‚Í•à‚¢‚½‚ç•ž‚ÌF‚ª–ß‚Á‚Ä‚µ‚Ü‚¤‚Ì‚ð‚È‚ñ‚Æ‚©‚µ‚½‚‚à‚è + + (db/) + skill_require_db.txt + (map/) + battle.c + battle_calc_damage() C³ + clif.c + clif_movechar() C³ + clif_getareachar_pc() C³ + pc.c + pc_calcstatus() C³ + skill.c + SkillStatusChangeTable •ÏX + skill_castend_nodamage_id() •ÏX + skill_use_id() •ÏX + skill_use_pos() •ÏX + skill_status_change_timer() •ÏX + skill_status_change_start() •ÏX + skill.h •ÏX + +-------------------- +//0981 by (“Ê) +E“]¶ƒXƒLƒ‹‚Ì` + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ˆê’èŠm—¦‚Ń_ƒ[ƒW‚𔼕ª‚É‚µ‚ÄŒ¸‚炵‚½•ª‚ð‘ŠŽè‚É’µ‚Ë•Ô‚·‚悤‚É‚µ‚½c‚ªA’µ‚Ë•Ô‚µ‚½ƒ_ƒ[ƒW‚̃GƒtƒFƒNƒgo‚Ü‚¹‚ñ +E•ž‚ÌF‚ð•ÏX••Û‘¶‚µ‚Ä‚¢‚éꇂɃŠƒƒO‚·‚é‚ÆŒ³‚ÌF‚É–ß‚Á‚Ä‚é‚悤‚ÉŒ©‚¦‚é–â‘è‚ÌC³ + + (db/) + skill_db.txt + (map/) + clif.c + clif_parse_LoadEndAck() C³ + battle.c + battle_calc_damage() C³ + skill.c + skill_status_change_timer() C³ + skill_status_change_start() C³ + +-------------------- +//0980 by (“Ê) +E—á‚É‚æ‚Á‚Ä“]¶ƒXƒLƒ‹‚ƃ‚ƒ“ƒNŠÖ˜A + ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒNƒŠƒeƒBƒJƒ‹—¦’²®H + ƒnƒCƒEƒBƒU[ƒh ƒ\ƒEƒ‹ƒhƒŒƒCƒ“ MSP‘—Ê‚ÆMob‚ð“|‚µ‚½‚Æ‚«‚ÉSP(mobLv*(65+15*SkillLv)/100)‰ñ•œB‚Å‚à–{“–‚͔͈ÍUŒ‚‚Ìꇂ͉ñ•œ‚µ‚È‚¢‚炵‚¢H + ƒnƒCƒEƒBƒU[ƒh –‚–@—Í‘• Žg‚Á‚½‚çMATK‚ªSkillLv%‘—ÊBŽŸ‚̃XƒLƒ‹Žg—pŽž‚ÉŒ³‚É–ß‚é + ƒ‚ƒ“ƒN ‹C’D ‚¿‚å‚Á‚ÆæŽæ‚肵‚Ä20%‚ÌŠm—¦‚Å“G‚ÌLv*2‚ÌSP‚ð‹zŽûB¬Œ÷‚µ‚½‚Æ‚«‚̓^[ƒQƒbƒg‚ðŽæ“¾‚·‚é‚悤‚É‚µ‚Ä‚Ý‚½ +EƒAƒCƒeƒ€–¼‚ðjROƒEƒ“ƒoƒ‰‚É€‹’‚³‚¹‚Ä‚Ý‚½‚‚à‚è + + (db/) + cast_db.txt + item_db.txt + (map/) + battle.c + battle_calc_pc_weapon_attack() •ÏX + mob.c + mob_damage() •ÏX + pc.c + pc_calcstatus() •ÏX + skill.c + skill_castend_nodamage_id() •ÏX + skill_use_id() •ÏX + skill_use_pos() •ÏX + skill_status_change_end() •ÏX + skill_status_change_timer() •ÏX + skill_status_change_start() •ÏX + +-------------------- +//0979 by (“Ê) +E“]¶ƒXƒLƒ‹‚ð‚¿‚å‚Á‚Æ’²® + ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ •ŠíUŒ‚‚ÅBaseATKŒvŽZ‚ðMATK2‚Å‚µ‚Ä‚Ý‚é +E‘§‚ð–{ŽIŽd—l•—‚ÉHP‚ÆSP‚̉ñ•œƒ^ƒCƒ}[‚𕪂¯‚ÄÀ‚Á‚Ä‚¢‚È‚­‚Ä‚à“®‚©‚È‚¯‚ê‚΃^ƒCƒ}[‚ªi‚ނ悤‚É‚µ‚½ +Eˆ¢C—…Žg—pŒã‚ÉHP‚ÆSP‚ª5•ªŠÔŽ©‘R‰ñ•œ‚µ‚È‚¢–{ŽIŽg—p•—‚É‚µ‚½(csat_db.txt‚Ìupkeep_time2‚Å’²®‰Â”\) +EŒÃ‚¢gcc‚Åskill_unit_timer_sub_onplace()‚ ‚½‚è‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚É‚È‚Á‚½‚Ì‚ðC³ + + (db/) + cast_db.txt + (map/) + battle.c + battle_calc_pet_weapon_attack() •ÏX + battle_calc_mob_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() •ÏX + map.h + pc.c + pc_authok() •ÏX + pc_walk() •ÏX + pc_spirit_heal() íœ + pc_spirit_heal_hp() ’ljÁ + pc_spirit_heal_sp() ’ljÁ + pc_natural_heal_sub() •ÏX + skill.c + skill_additional_effect() •ÏX + skill_castend_damage_id() •ÏX + skill_status_change_start() •ÏX + skill_unit_timer_sub_onplace() C³ + +-------------------- +//0978 by (“Ê) +E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX + ƒXƒiƒCƒp[ ƒtƒ@ƒ‹ƒRƒ“ƒAƒTƒ‹ƒg ‚Æ‚è‚ ‚¦‚¸”ò‚Ô‚¾‚¯‚¾‚ÆŽv‚Á‚Ä‚­‚¾‚³‚¢ + ƒXƒiƒCƒp[ ƒVƒƒ[ƒvƒVƒ…[ƒeƒBƒ“ƒO ƒ_ƒ[ƒW‘‰Á‚¾‚¯‚Ç1‘Ì‚¾‚¯ + ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒAƒ[ƒoƒ‹ƒJƒ“ ƒ_ƒ[ƒW‘‰Á‚Æ9‰ñUŒ‚ + ƒnƒCƒEƒBƒU[ƒh ƒ}ƒWƒbƒNƒNƒ‰ƒbƒVƒƒ[ ƒGƒtƒFƒNƒg‚¾‚¯ + +EƒAƒCƒeƒ€ŒðŠ·‚Åd—Ê‚ÌŒvŽZ‚ªˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ + (doc/) + client_packet.txt ƒpƒPƒbƒg’·ƒe[ƒuƒ‹XV + (map/) + battle.c + battle_calc_misc_attack() •ÏX + battle_calc_pet_weapon_attack() •ÏX + battle_calc_mob_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() •ÏX + clif.c ƒpƒPƒbƒg’·‚Ì’è‹`‚ðXV + skill.c + skill_castend_damage_id() •ÏX + trade.c + trade_tradeadditem() C³ + +-------------------- +//0977 by (“Ê) +E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX + ƒAƒTƒVƒ“ƒNƒƒX ƒƒeƒIƒAƒTƒ‹ƒg ƒGƒtƒFƒNƒg‚ªˆá‚¤H + ƒ[ƒhƒiƒCƒg ƒvƒŒƒbƒVƒƒ[ •K’†ƒ_ƒ[ƒW‚É‚µ‚Ä‚Ý‚½ + ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh‚Ì•K’†damage2‚ª‘¼‚Å‚à“K—p‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³ + ƒ[ƒhƒiƒCƒg ƒSƒXƒyƒ‹ ƒGƒtƒFƒNƒgoŒ»ˆÊ’u‚Ì’²® + ƒnƒCƒvƒŠ[ƒXƒg ƒAƒVƒƒƒ“ƒvƒeƒBƒI Œø‰ÊŽÀ‘• + ƒnƒCƒvƒŠ[ƒXƒg ƒƒfƒBƒeƒCƒeƒBƒI Œø‰ÊŽÀ‘• + ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ SG‚Ý‚½‚¢‚ÉMob‚ªN“ü‚µ‚悤‚Æ‚·‚é‚Æ‚«”ò‚΂³‚ê‚é‚悤‚É‚µ‚½ + ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg Œø‰ÊŽÀ‘• + ƒzƒƒCƒgƒXƒ~ƒX ƒƒ‹ƒgƒ_ƒEƒ“ ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) + ƒzƒƒCƒgƒXƒ~ƒX ƒNƒŠƒGƒCƒgƒRƒCƒ“ –¼‘O“ü‚è‚Ì‹à‰Ý‚Æ‚©ì‚ê‚邾‚¯ + ƒXƒg[ƒJ[ ƒŠƒWƒFƒNƒgƒ\[ƒh ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) + ƒNƒ‰ƒEƒ“EƒWƒvƒV[ ƒ}ƒŠƒIƒlƒbƒgƒRƒ“ƒgƒ[ƒ‹ ƒGƒtƒFƒNƒg‚Æó‘ÔˆÙ펞ŠÔ‚¾‚¯(ŽÀÛ‚Ìó‘ԕω»‚Í–³‚µ) + ƒvƒƒtƒFƒbƒT[ ƒtƒHƒOƒEƒH[ƒ‹ ƒGƒtƒFƒNƒg‚Æ—LŒøŽžŠÔ‚¾‚¯ + ƒXƒiƒCƒp[ ƒEƒCƒ“ƒhƒEƒH[ƒN ‘¬“x㸂ÆQMAŽ„‚ð–Y‚ê‚È‚¢‚Å‚ª‚©‚©‚é‚Ɖ𜂳‚ê‚é‚悤‚É‚µ‚½ + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg QMAŽ„‚ð–Y‚ê‚È‚¢‚łʼn𜂳‚ê‚é‚悤‚É‚µ‚Ä‚Ý‚½ +EƒgƒDƒ‹[ƒTƒCƒg‚Ì’Ô‚èŠÔˆá‚¢‚ðC³ +Estorage.c‚ŃRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚É‚µ‚½‚‚à‚è + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + produce_db.txt + (map/) + battle.c + battle_get_str() C³ + battle_get_agi() C³ + battle_get_vit() C³ + battle_get_int() C³ + battle_get_dex() C³ + battle_get_luk() C³ + battle_get_flee() C³ + battle_get_hit() C³ + battle_get_critical() C³ + battle_get_baseatk() C³ + battle_get_atk() C³ + battle_get_atk2() C³ + battle_get_def() C³ + battle_get_def2() C³ + battle_get_speed() C³ + battle_calc_damage() C³ + battle_calc_pet_weapon_attack() •ÏX + battle_calc_mob_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() •ÏX + pc.c + pc_calcstatus() C³ + skill.c + skill_get_unit_id() C³ + skill_additional_effect() C³ + skill_castend_nodamage_id() C³ + skill_castend_pos2() C³ + skill_unit_group() C³ + skill_unit_onplace() C³ + skill_unit_onout() C³ + skill_castend_pos() C³ + skill_check_condition() C³ + skill_status_change_end() C³ + skill_status_change_start() C³ + skill_can_produce_mix() C³ + skill_produce_mix() C³ + skill.h C³ + storage.c + storage_comp_item() C³ + storage.h C³ + +-------------------- +//0976 by (“Ê) +E“]¶ƒXƒLƒ‹‚ðC³‚µ‚½‚èFX +E€”õ‚¾‚¯‚µ‚ÄŽÀ‘•‚Å‚«‚Ä‚È‚¢ƒXƒLƒ‹‚à‚ ‚è‚Ü‚· + ƒ[ƒhƒiƒCƒg ƒI[ƒ‰ƒuƒŒ[ƒh ‘½•ª‚±‚ñ‚ÈŠ´‚¶H + ƒ[ƒhƒiƒCƒg ƒpƒŠƒCƒ“ƒO ’µ‚Ë•Ô‚·‚¯‚ÇUŒ‚‚ð1‰ñŽ~‚ß‚é‚Ì‚Í–¢ŽÀ‘• + ƒ[ƒhƒiƒCƒg ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ ƒCƒ“ƒfƒ…ƒA`‚Í—Ç‚­•ª‚©‚ç‚È‚¢‚Ì‚Å•ú’u + ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX ’Êíƒ_ƒ[ƒW‘‰Á‚Æd—ʃ_ƒ[ƒW‘‰Á‚ƈꉞ5‰ñUŒ‚(‚È‚ñ‚©ˆá‚¤‹C‚ª‚·‚é) + ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ… ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ÏXH + ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg ƒ_ƒ[ƒW‘‰Á‚ƃXƒe[ƒ^ƒX•ÏXH + ƒAƒTƒVƒ“ƒNƒƒX ƒAƒhƒoƒ“ƒXƒhƒJƒ^[ƒ‹Œ¤‹† ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H + ƒXƒiƒCƒp[ ƒEƒBƒ“ƒhƒEƒH[ƒN ‚½‚Ô‚ñ‚±‚ñ‚ÈŠ´‚¶H‚Å‚à‘¬“x㸂Ƃ©‚Æ‹£‡‚µ‚½Žž‚̈—‚Í–¢ŽÀ‘• + ƒXƒpƒCƒ_[ƒEƒFƒbƒu ‚Æ‚è‚ ‚¦‚¸ƒAƒ“ƒNƒ‹ƒXƒlƒA‚Æ“¯‚¶‚悤‚ÈŠ´‚¶•‰ñ”𗦔¼Œ¸ + ƒ`ƒƒƒ“ƒsƒIƒ“ ‹¶‹CŒ÷ “K“–‚É‘‚₵‚Ä‚¢‚½‚Ì‚ð‚¿‚á‚ñ‚Æ‘‚â‚·‚悤‚É‚µ‚½ +EoŒŒó‘Ô‚ÆœÜó‘Ô‚ÌŽæ‚舵‚¢‚ª‚æ‚­‚í‚©‚è‚Ü‚¹‚ñ‚ÁII + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + (doc/) + db_ref.txt + (map/) + battle.c + battle_get_str() C³ + battle_get_agi() C³ + battle_get_vit() C³ + battle_get_int() C³ + battle_get_dex() C³ + battle_get_luk() C³ + battle_get_flee() C³ + battle_get_hit() C³ + battle_get_critical() C³ + battle_get_baseatk() C³ + battle_get_atk() C³ + battle_get_atk2() C³ + battle_get_def() C³ + battle_get_def2() C³ + battle_get_speed() C³ + battle_calc_damage() C³ + clif.c + clif_parse_WalkToXY() C³ + mob.c + mob_can_move() C³ + mobskill_castend_pos() C³ + pc.c + pc_calcstatus() C³ + pc_checkallowskill() C³ + skill.c + skill_get_unit_id() C³ + skill_additional_effect() C³ + skill_castend_nodamage_id() C³ + skill_castend_pos2() C³ + skill_unit_group() C³ + skill_unit_onplace() C³ + skill_unit_onout() C³ + skill_castend_pos() C³ + skill_check_condition() C³ + skill_status_change_end() C³ + skill_status_change_start() C³ + skill_readdb() C³ + skill.h C³ +-------------------- +//0975 by Sin +E0973‚ÅŽÀ‘•‚³‚ꂽƒXƒNƒŠƒvƒg‚É‚æ‚éBaseLv, JobLv‚Ì•ÏXŽž‚ÉA +@ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚âƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽæ“¾‚Å‚«‚é‚悤‚ÉC³B +@¦Ž¿–âƒXƒŒpart5 >>115 ”Y‚ß‚él ‚³‚ñ‚Ìpc.c‚ðŽQl‚É‚³‚¹‚Ä’¸‚«‚Ü‚µ‚½B‘½ŽÓB + + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: C³ + case SP_JOBLEVEL: C³ +-------------------- +//0974 by latte +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð–{ŽI‚ÉŠî‚«C³ + ƒAƒ“ƒfƒbƒhˆ«–‚‹­§ˆÃˆÅ•t—^ + ”½“®ƒ_ƒ[ƒW”¼Œ¸Aƒ‚[ƒVƒ‡ƒ“‚È‚µ + MOB(PC)‚ªd‚È‚Á‚½‚Æ‚«‚ÌHIT” + %UPŒn•ŠíƒJ[ƒhŒø‰Ê‚È‚µ + ‘®«‘Š«“ñdŒvŽZ + MOBƒ_ƒ[ƒW•\Ž¦”’ + + Œã”¼4€–Ú‚ÍÝ’è‰Â + +E퓬Šî–{ŒvŽZ‚ð–{ŽI‚ÉŠî‚«”÷C³iDEXƒTƒCƒY•â³A‹|Å’áƒ_ƒAPCƒTƒCƒY•â³j + +EŠ®‘S‰ñ”ð + ƒXƒ^ƒ““™‚ÅŠ®‘S‰ñ”ð‚ª”­¶‚µ‚È‚©‚Á‚½‚Ì‚ðC³ + AGIVITƒyƒiƒ‹ƒeƒB‚ªŠ®‘S‰ñ”ð‚Ì“G‚àƒJƒEƒ“ƒg‚µ‚ÄŒvŽZ‚³‚ê‚Ä‚¢‚½‚Ì‚ðC³@Ý’è‰Â + ƒI[ƒgƒJƒEƒ“ƒ^[‚Í–¢C³ + +E‘qŒÉ‚ð•Â‚¶‚é‚Æ‚«AƒAƒCƒeƒ€ID‚Ń\[ƒg‚·‚é‚悤‚É‚µ‚½ + +Ekalen‚³‚ñ‚̃vƒ‚PŽ·Ž–NPCƒXƒNƒŠƒvƒg‚ð‰ü‘¢‚µ‚Ä + ¤‹Æ–h‰q’lA“ŠŽ‘‹àŠzA•ó” ‚Ì”‚ð–{ŽI‚É€‹’(¤‹Æ’l‚Í1~100) + ‘SÔ‚ÉÝ’u + + (/script/npc) + aldeg_cas01.txt ... prtg_cas05.txt C³ + (/script/npc/gvg) + aldeg_cas01.txt ... prtg_cas05.txt ’ljÁ + tbox.txt ’ljÁ + + (/conf) + battle_athena.conf + 6€–ڒljÁ + + (/map) + mob.c/mob.h + mob_attack() C³ + mob_counttargeted_sub(),mob_counttargeted() C³ + mobskill_use() C³iª‚̈ø”‚¾‚¯j + pc.c/pc.h + pc_counttargeted_sub(),pc_counttargeted() C³ + pc_attack_timer() C³ + pet.c + pet_attack() C³ + + map.h + pc_data, mob_data, map_data •Ï”‚P‚’ljÁ + enum1‚’ljÁ + map.c/map.h + map_count_oncell() ’ljÁ skill.c‚Å‚æ‚©‚Á‚½‚©‚àEEE + + skill.c + GXŠÖ˜AC³(skill_additional_effect(), skill_attack(), skill_castend_damage_id(), skill_unit_onplace()) + + battle.c C³ + battle.h C³ + + storage.c/storage.h + storage_comp_item() ’ljÁ + sortage_sortitem(), sortage_gsortitem() ’ljÁ + storage_storageclose(), storage_guild_storageclose() C³ +-------------------- +//0973 by Ž‚Žqo^.^o +EƒXƒNƒŠƒvƒg‚ÌBASELEVEL,JOBLEVEL–½—ߒljÁ + —á: set BASELEVEL,1; + —á: set JOBLEVEL,1; + (map/) + pc.c + pc_setparam() + case SP_BASELEVEL: €–ڒljÁ + case SP_JOBLEVEL: €–ڒljÁ + +-------------------- +//0972 by (“Ê) +E“]¶ƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚¾‚¯‚¢‚­‚‚©’ljÁ‚µ‚½‚è +Eó‘ԕω»‚Í‚»‚Ì‚¤‚¿’N‚©‚ª + ƒGƒtƒFƒNƒg(ƒXƒe[ƒ^ƒX•Ï‰»ƒAƒCƒRƒ“ŠÜ‚Þ)‚Ì‚Ý + SC_AURABLADE: /* ƒI[ƒ‰ƒuƒŒ[ƒh */ + SC_PARRYING: /* ƒpƒŠƒCƒ“ƒO */ + SC_CONCENTRATION: /* ƒRƒ“ƒZƒ“ƒgƒŒ[ƒVƒ‡ƒ“ */ + SC_TENSIONRELAX: /* ƒeƒ“ƒVƒ‡ƒ“ƒŠƒ‰ƒbƒNƒX */ + SC_BERSERK: /* ƒo[ƒT[ƒN */ + SC_ASSUMPTIO: /* */ + SC_TURESIGHT: /* ƒgƒDƒ‹[ƒTƒCƒg */ + SC_CARTBOOST: /* ƒJ[ƒgƒu[ƒXƒg */ + SC_WINDWALK: /* ƒEƒCƒ“ƒhƒEƒH[ƒN */ + + (db/) + cast_db.txt + (map/) + skill.h + skill.c + SkillStatusChangeTable[] €–ڒljÁ + skill_castend_nodamage_id() €–ڒljÁ + skill_status_change_end() €–ڒljÁ + skill_status_change_start() €–ڒljÁ + +-------------------- +//0971 by (“Ê) +Eatcommand.h‚ÉŽc‚Á‚Ä‚¢‚½jobchange2‚Æ‚©‚ÌŽcŠ[‚ðíœ +E“]¶ƒXƒLƒ‹‚ðƒGƒtƒFƒNƒg‚¾‚¯‚¢‚­‚‚©’ljÁ‚µ‚½‚èƒ`ƒƒƒ“ƒsƒIƒ“‚Í‚»‚ê‚È‚è‚ɒljÁ‚µ‚½‚è + ƒGƒtƒFƒNƒg‚Ì‚Ý + ƒnƒCƒvƒŠ[ƒXƒg ƒoƒWƒŠƒJ(HP_BASILICA) + ƒzƒƒCƒgƒXƒ~ƒX ƒJ[ƒgƒu[ƒXƒg(WS_CARTBOOST) + ƒXƒiƒCƒp[ ƒgƒDƒ‹[ƒTƒCƒg(SN_SIGHT) + ƒWƒvƒV[ ŒŽ–¾‚è‚Ìò‚É—Ž‚¿‚é‰Ô‚Ñ‚ç(CG_MOONLIT) + ƒpƒ‰ƒfƒBƒ“ ƒSƒXƒyƒ‹(PA_GOSPEL) + ’ljÁƒ_ƒ[ƒW“™‚È‚µ + ƒ[ƒhƒiƒCƒg ƒwƒbƒhƒNƒ‰ƒbƒVƒ…(LK_HEADCRUSH) + ƒ[ƒhƒiƒCƒg ƒWƒ‡ƒCƒ“ƒgƒr[ƒg(LK_JOINTBEAT) + ƒ[ƒhƒiƒCƒg ƒXƒpƒCƒ‰ƒ‹ƒsƒA[ƒX(LK_SPIRALPIERCE) + ƒpƒ‰ƒfƒBƒ“ ƒvƒŒƒbƒVƒƒ[(PA_PRESSURE) + ƒpƒ‰ƒfƒBƒ“ ƒTƒNƒŠƒtƒ@ƒCƒX(PA_SACRIFICE) + ‚»‚ê‚È‚è(ƒRƒ“ƒ{‚ÍŒq‚ª‚è‚Ü‚·‚ªƒfƒBƒŒƒC‚Í“K“–Aƒ_ƒ[ƒW’ljÁ‚Í‚ ‚邯‚Ç‚»‚êˆÈŠO‚̒ljÁŒø‰Ê‚Í–³‚µ) + ƒ`ƒƒƒ“ƒsƒIƒ“ –ÒŒÕd”hŽR(CH_PALMSTRIKE) + ƒ`ƒƒƒ“ƒsƒIƒ“ •šŒÕŒ(CH_TIGERFIST) + ƒ`ƒƒƒ“ƒsƒIƒ“ ˜A’Œ•öŒ‚(CH_CHAINCRUSH) + ƒ`ƒƒƒ“ƒsƒIƒ“ ‹¶‹CŒ÷(CH_SOULCOLLECT) + + (db/) + cast_db.txt + skill_db.txt + skill_require_db.txt + (map/) + atcommand.h ƒSƒ~íœ + battle.c + battle_calc_pet_weapon_attack() •ÏX + battle_calc_mob_weapon_attack() •ÏX + battle_calc_pc_weapon_attack() •ÏX + clif.c + clif_parse_UseSkillToId() •ÏX + skill.c + skill_get_unit_id() €–ڒljÁ + skill_attack() ƒ`ƒƒƒ“ƒsƒIƒ“ƒRƒ“ƒ{ˆ—’ljÁ + skill_castend_damage_id() •ÏX + skill_castend_nodamage_id() •ÏX + skill_castend_id() •ÏX + skill_unitsetting() •ÏX + skill_check_condition() •ÏX + skill_use_id() •ÏX + +-------------------- +//0970 by (“Ê) +EƒhƒŒƒCƒN‚̃EƒH[ƒ^[ƒ{[ƒ‹‚ªˆÙí‚É’É‚¢(121”­H‚炤)‚Ì‚ÅLv5ˆÈã‚ÌꇂÍ25”­‚ɧŒÀ +EƒVƒOƒiƒ€ƒNƒ‹ƒVƒX‚ÌŒvŽZŽ®‚ð14+SkillLv‚©‚ç10+SkillLv*2•ÏX +Eƒ\[ƒX‚Ì‹C‚ªŒü‚¢‚½‚Æ‚±‚ë‚É—Ž‘‚« +EDBŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä“¯« + + (map/) + battle.c ƒRƒƒ“ƒgQY(BB)¶·¶· + skill.c skill_status_change_start() + (db/) + cast_db.txt + item_db.txt + mob_skill_db.txt + skill_db.txt + skill_require_db.txt + skill_tree.txt + +-------------------- +//0969 by ‚Ò‚´‚Ü‚ñ + +E”’nŽæ‚èó‘ԂŕЕû‚ªŽ€–S‚µ‚½ê‡A•Ð•û‚Ì”’nŽæ‚肪‰ðœ‚³‚ê‚È‚¢–â‘èC³ +Ebattle_athena.conf‚É€–ڒljÁ +@ƒyƒbƒgEƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚Ì–³‘®«’ÊíUŒ‚‚ð‘®«–³‚µ‚É‚·‚é‚©”Û‚©‚ðÝ’è‚Å‚«‚Ü‚· +@Ú‚µ‚­‚Íconf_ref‚ðB +E—ƒRƒ}ƒ“ƒh@idsearchŽÀ‘• +@ƒ[ƒh‚µ‚½item_db‚©‚猟õŒê‹å‚Ƀ}ƒbƒ`‚·‚éƒAƒCƒeƒ€‚ÆID‚ð—…—ñ‚·‚éƒRƒ}ƒ“ƒh‚Å‚· +@—Ⴆ‚Îu@idsearch ƒŒƒCv‚Æ“ü—Í‚µ‚½ê‡AƒuƒŒƒCƒh‚⃌ƒCƒhƒŠƒbƒNƒJ[ƒh“™‚ªˆø‚Á‚©‚©‚è‚Ü‚· +EƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“ŽÀ‘• +@‘•”õ”j‰ó‚Í–¢ŽÀ‘•‚Å‚· +EƒCƒhƒDƒ“‚Ì—ÑŒç‚̉ñ•œŽd—l‚ðŠÛ‚²‚Æ•ÏXB + (map/) + battle.c + battle.h + ‘®«•â³‚ÌC³‚âƒAƒVƒbƒhƒeƒ‰[Eƒfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŽZoŽ®’ljÁ“™B + battle_config‚É€–ڒljÁ + skill.c + skill_idun_heal()’ljÁBforeachinarea‚ň—‚·‚é‚悤‚É•ÏX + ƒAƒVƒbƒhƒeƒ‰[‚ƃfƒ‚ƒ“ƒXƒgƒŒ[ƒVƒ‡ƒ“‚̈—’ljÁB + atcommand.c + atcommand.h + @idsearch’ljÁB + +-------------------- +//0968 by ŒÓ’±—– + +EƒLƒƒƒ‰ƒNƒ^[ID‚ªŽg‚¢‚܂킳‚ê‚È‚¢‚悤‚ÉC³ +EƒLƒƒƒ‰ƒNƒ^[휎žAƒp[ƒeƒB[AƒMƒ‹ƒh‚ð’E‘Þ‚·‚é‚悤‚ÉC³ +EƒAƒJƒEƒ“ƒg휎žAƒLƒƒƒ‰ƒNƒ^[‚Æ‘qŒÉ‚ð휂·‚é‚悤‚ÉC³ +E‘qŒÉ/ƒMƒ‹ƒh‘qŒÉ휎žA‘qŒÉ“à‚̃yƒbƒg‚ð휂·‚é‚悤‚ÉC³ + E’ˆÓFƒƒOƒCƒ“‚µ‚Ä‚¢‚éƒAƒJƒEƒ“ƒg‚ð휂µ‚½ê‡‚Ì“®ì‚Í•s–¾ + + (char/) + char.c + ƒpƒPƒbƒg2730‚̈—Achar_delete()’ljÁA휈—C³‚È‚Ç + int_storage.c/int_party.c/int_guild.c/int_party.h/int_guild.h + inter_party_leave(),inter_guild_leave()’ljÁA + inter_storage_delete(),inter_guild_storage_delete()C³‚È‚Ç + (login/) + login.c + parse_admin()‚ðƒAƒJƒEƒ“ƒg휎ž‚ɃpƒPƒbƒg2730‚ð‘—‚é‚悤‚ÉC³ + +Eathena-start stop ‚Å’âŽ~‚³‚¹‚½ê‡Aƒf[ƒ^‚ª•Û‘¶‚³‚ê‚È‚¢–â‘è‚ðC³ + kill‚Å‘—‚éƒVƒOƒiƒ‹‚ðSIGKILL‚©‚çSIGTERM‚É•ÏXB + ‚Ç‚¤‚µ‚Ä‚àSIGKILL‚𑗂肽‚¢ê‡‚Í athena-start kill ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B + + athena-start + stopC³Akill’ljÁ + +-------------------- +//0967 by Asong +Eƒ‚ƒ“ƒXƒ^[‚ÌŽc‰e‚ðŽÀ‘•B +@’Ê탂ƒ“ƒXƒ^[‚̓XƒLƒ‹‚É‚æ‚éƒtƒBƒ‹ƒ^[‚ª‚©‚©‚ç‚È‚¢‚Ì‚ÅŽc‘œ‚ªo‚Ü‚¹‚ñB +@‚o‚bŒ^ƒ‚ƒ“ƒXƒ^[‚É‚ÍŽc‘œ‚ªo‚Ü‚·B +Eƒ‚ƒ“ƒXƒ^[ƒXƒLƒ‹Žg—p‘ÎÛ‚ð’ljÁB +@around5`around8‚̓^[ƒQƒbƒg‚ÌŽü•ÓƒZƒ‹‚ð‘ÎÛ‚É‚µ‚Ü‚·B +@ +@ (map) +@ mob.c +@ mobskill_use() C³ +@ mob_readskill() C³ +@ mob.h C³ +@ skill.c +@ skill_castend_pos2() C³ + +-------------------- +//0966 by (“Ê) +EƒT[ƒo[snapshot +EƒfƒBƒŒƒNƒgƒŠ\‘¢‚ð•ÏX(common,login,char,map‚Í/srcˆÈ‰º‚Ɉړ]) +@‚»‚ê‚É”º‚¤Makefile“™‚̃pƒX‘‚«Š·‚¦ +Enpc_turtle.txt‚ðnpc_town_alberta.txt‚É“‡ +Eƒ‚ƒ“ƒN‚̃Rƒ“ƒ{‚ÉŠÖ‚·‚éƒfƒBƒŒƒC‚ð•ÏX +Ebattle_config.enemy_critical‚̃fƒtƒHƒ‹ƒg‚ðno‚É•ÏX +E“]¶E“™‚𖳌ø‚É‚·‚éenable_upper_class‚̒ljÁ +E@joblvup,@charjlvl‚ÅJobƒŒƒxƒ‹‚ªÅ‚‚Ì‚Æ‚«‚É•‰”‚ðŽw’肵‚Ä‚àƒŒƒxƒ‹‚ð‰º‚°‚ç‚ê‚È‚©‚Á‚½–â‘è‚ðC³ + + (conf) + battle_athena.conf C³ + (doc) + conf_ref.txt C³ + (map) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + battle.c + battle_calc_attack() C³ + battle_config_read() C³ + battle.h C³ + pc.c + pc_calc_skilltree() C³ + pc_calc_base_job() C³ + pc_jobchange() C³ + pc_readdb() C³ + skill.c + skill_attack() C³ +-------------------- +//0965 by ‚Ò‚´‚Ü‚ñ +E@mapexitŽÀsŽž‘SƒZƒbƒVƒ‡ƒ“‚ðkick‚·‚é‚悤‚É•ÏXB +E”’nŽæ‚莞‚ɕЕû‚ª“|‚ê‚Ä‚àA‚à‚¤•Ð•û‚Ì”’n‚ª‰ðœ‚³‚ê‚È‚¢–â‘èC³B(–¢ƒeƒXƒg) +EƒXƒeƒB[ƒ‹î•ñŒöŠJ‹@”\ŽÀ‘•B(–¢ƒeƒXƒg) +@ƒXƒeƒB[ƒ‹‚ɬŒ÷‚·‚é‚ÆA‰½‚ðƒXƒeƒB[ƒ‹‚µ‚½‚Ì‚© +@‰æ–Ê“à‚ÌPTƒƒ“ƒo[‘Sˆõ‚É’m‚点‚é‹@”\‚Å‚·B +@battle_athena.conf‚Ìshow_steal_in_same_party‚ÅÝ’è‚Å‚«‚Ü‚·B +@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚̈×AƒfƒtƒHƒ‹ƒg‚Íno‚É‚µ‚Ä‚¢‚Ü‚·B +EƒCƒhƒDƒ“‚Ì—ÑŒç‚̉ñ•œŒø‰ÊŽÀ‘•B + + (conf/) + battle_athena.conf‚É€–ڒljÁB + (map/) + atcommand.c + atcommand_mapexit() C³B + pc.c + pc_steal_item() C³B + pc_show_steal() ’ljÁB + skill.c + skill_unitsetting()Askill_unit_onplace() C³B + battle.c + battle_config_read() C³B + battle.h C³B + (doc/) + conf_ref.txt ”²‚¯‚Ä‚½‚Ì‚ðFX’ljÁB + +-------------------- +//0964 by (“Ê) + +E‚±‚Ì‘O’ljÁ‚µ‚½skill_tree2.txt‚ð”pŽ~‚µ‚½‚Ì‚Å휂µ‚Ä‚­‚¾‚³‚¢ +Eskill_tree.txt‚̃tƒH[ƒ}ƒbƒg‚ð•ÏX•Kalen‚³‚ñ‚È‚Ç‚Ìî•ñ‚ðŒ³‚É“]¶ƒcƒŠ[‚ÌŒ©’¼‚µ +E‚»‚ê‚É‚Æ‚à‚È‚Á‚Äpc.c‚̃tƒ@ƒCƒ‹“Ç‚Ýo‚µ•”•ª‚È‚Ç‚ð•ÏX +EAthenaŽG’kƒXƒŒƒbƒh part3 >>14 miya‚³‚ñ‚ÌŽw“E‚ª‚ ‚é‚Ü‚Å‚·‚Á‚©‚è–Y‚ê‚Ä‚¢‚½atcommand_athena.conf‚ÌC³‚𓯫 + + (conf/) + atcommand_athena.conf C³ + (db/) + skill_tree.txt C³ + skill_tree2.txt ”pŽ~ + (map/) + map.h PC_CLASS_BASE“™’ljÁ + pc.c + pc_calc_skilltree() C³ + pc_allskillup() C³ + pc_readdb() C³ + +-------------------- +//0963 by (“Ê) + +E@jobchange2, @jobchange3”pŽ~ @jobchange‚Ɉø”’ljÁ @helpŽQÆ + —á: @jobchange2 10 ¨ @jobchange 10 1 +E“¯—l‚É@charjob2, @charjob3”pŽ~ @charjob‚Ɉø”’ljÁ @helpŽQÆ + —á: @charjob2 10 ‚Ù‚°‚Ù‚° ¨ @charjob 10 1 ‚Ù‚°‚Ù‚° +E“¯—l‚ɃXƒNƒŠƒvƒg‚Ìjobchange2, jobchange3–½—ß”pŽ~ jobchange‚Ɉø”’ljÁ script_ref.txtŽQÆ + —á: jobchange2 10; ¨ jobchange 10,1; +Eª‚Ç‚ê‚à’ljÁ‚³‚ꂽˆø”‚ÍÈ—ª‰Â”\‚Å‚·B‚È‚Ì‚ÅA“]¶ƒm[ƒrƒX‚ÍŒ»ó‚̃XƒNƒŠƒvƒg‚Å“]¶ˆêŽŸE‚É“]E‚Å‚«‚Ü‚·B + —á: Novice High ¨ @jobchange 10 ¨ Whitesmith + Novice ¨ @jobchange 10 ¨ Blacksmith +EƒXƒNƒŠƒvƒg‚©‚ç“]¶‚µ‚Ä‚¢‚é‚©”»’è‚·‚邽‚ß‚ÉUpper‚ð’ljÁ‚µ‚Ü‚µ‚½BUpper 0=’Êí, 1=“]¶, 2=—{Žq + Upper=0‚ÌŽž‚ÉBaseLevel=99‚È‚ç“]¶‚³‚¹‚é`‚Æ‚©‚»‚¤‚¢‚¤ƒXƒNƒŠƒvƒg’N‚©‘‚¢‚Ä‚­‚¾‚³‚¢ + ‚»‚ÌŽž‚ÉŒ³‚ÌE‹Æ‚Í‹L‰¯‚µ‚Ä‚¢‚È‚¢‚̂ʼni‘±•Ï”‚Æ‚©‚ÅŠo‚¦‚³‚¹‚Ä”»’肳‚¹‚È‚¢‚Æ“]¶Œã‰½‚É‚Å‚à“]E‚Å‚«‚¿‚ႤH +EƒoƒCƒIƒvƒ‰ƒ“ƒg‚ƃXƒtƒBƒAƒ}ƒCƒ“‚ŌĂÑo‚³‚ê‚éMob‚Ì–¼‘O‚ð--ja--‚É‚µ‚Ämob_db.txt‚©‚ç“ǂނ悤‚É‚µ‚½ + + (conf/) + help.txt C³ + (db/) + const.txt + (doc/) + help.txt C³ + script_ref.txt C³ + (map/) + atcommand.c + atcommand_jobchange() C³ + atcommand_jobchange2() íœ + atcommand_jobchange3() íœ + atcommand_character_job() C³ + atcommand_character_job2() íœ + atcommand_character_job3() íœ + map.h C³ + pc.c + pc_readparam() C³ + pc_jobchange() C³ + pc.h C³ + script.c + buildin_jobchange() C³ + buildin_jobchange2() íœ + buildin_jobchange3() íœ + skill.c + skill_castend_pos2() C³ + +-------------------- +//0962 by (“Ê) + +EE‹Æ‚Í0`23‚ň—‚µ‚½‚¢‚Ì‚Å“]¶E—p‚̃XƒLƒ‹ƒcƒŠ[’ljÁAeAthena‚ðŽQl‚ÉŠg’£ + ‚Á‚Ä‚¢‚¤‚©ŠØ‘–{ƒT[ƒo‚Å‚ÌŽÀ‘•‚ÌŽ‘—¿‚ªŒ©“–‚½‚ç‚È‚¢‚Ì‚Å“K“– +Esakexe.exe‚ð‰ðÍ‚µ‚Äskill_db.txt•ÏXA‚±‚ê‚àeAthena‚ðŽQl‚ÉŠg’£ + ‚ǂꂪ–{ƒT[ƒo‚ÅŽÀ‘•‚³‚ê‚Ä‚¢‚éƒXƒLƒ‹‚©•ª‚©‚è‚Ü‚¹‚ñ‚ÁII +¦ƒXƒLƒ‹ƒcƒŠ[‚ª•\Ž¦‚³‚ꂽ‚©‚ç‚Æ‚¢‚Á‚ÄŽg‚¦‚é‚킯‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ÁII + + (common/) + mmo.h ’è”C³ + (db/) + skill_db.txt •ÏX + skill_require_db.txt •ÏX + skill_tree2.txt ’ljÁ + (map/) + skill.h ’è”C³ + pc.c + pc_calcstatus() C³ + pc_allskillup() C³ + pc_calc_skilltree() C³ + pc_readdb() C³ + +-------------------- +//0961 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚ɃTƒuƒ‹[ƒ`ƒ“/ƒ†[ƒU[’è‹`ŠÖ”‹@”\’ljÁ + Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚Æscript_ref.txt‚ð“Ç‚ñ‚Å‚­‚¾‚³‚¢B + ’n–¡‚É‘å‰ü‘¢‚È‚Ì‚ÅAƒXƒNƒŠƒvƒgŠÖŒW‚ŃoƒO‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + (map/) + map.h/map.c + struct map_session_data ‚ɃXƒNƒŠƒvƒgî•ñ‘Þ”ð—p‚̃ƒ“ƒo’ljÁ + map_quit()C³ + script.h/script.c + FXC³(run_script(),run_func()‚ªŽå) + npc.c + npc_parse_function()’ljÁ‘¼ + (conf/sample) + npc_test_func.txt + ƒ†[ƒU[’è‹`ŠÖ”/ƒTƒuƒ‹[ƒeƒBƒ“‚̃eƒXƒgƒXƒNƒŠƒvƒg + (doc/) + script_ref.txt + ƒTƒuƒ‹[ƒeƒBƒ“‚È‚Ç‚Ìà–¾’ljÁ + +-------------------- +//0960 by (“Ê) +E–{ŽI‘ŠˆáƒXƒŒƒbƒh part2 >>62 KK‚³‚ñ‚̃Aƒ“ƒNƒ‹ƒXƒlƒAC³‚𓯫 +EƒoƒO•ñƒXƒŒƒbƒh part5 >>14-16 rb‚³‚ñ‚̃oƒOC³‚𓯫 +EFor English User Forum >>15 Mugendai‚³‚ñ‚ÌŽw“E‚Å0x1d7‚ðŽg‚¤‚Ì‚ÍVal>255‚ÉC³(0xc3‚ÌVal‚Í1ƒoƒCƒg‚¾‚©‚ç0x1d7‚ðŽg‚¤‚Ì‚©‚Æ”[“¾) +Epc_calc_base_job()‚ð•ÏX‚µ‚ÄŒ³job‚¾‚¯‚Å‚È‚­ƒmƒr‚©ˆêŽŸE‚©“ñŽŸE(type)A’Êí‚©“]¶‚©—{Žq(upper)‚ð•Ô‚·‚悤‚É‚µ‚½ + + (map/) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + clif.c + clif_changelook() C³ + pc.h C³ + pc.c + pc_setrestartvalue() C³ + pc_equippoint() C³ + pc_isequip() C³ + pc_calc_skilltree() C³ + pc_calcstatus() C³ + pc_isUseitem() C³ + pc_calc_base_job() C³ + pc_allskillup() C³ + pc_damage() C³ + pc_jobchange() C³ + pc_equipitem() C³ + script.c + buildin_changesex() C³ + skill.c + skill_castend_nodamage_id() C³ + skill_unit_onplace() C³ + +-------------------- +//0959 by (“Ê) +Ehelp.txt‚ªdoc‚¶‚á‚È‚­‚Äconf‚Ì‚ª“Ç‚Ýo‚³‚ê‚Ä‚½Q|P|› +Egamejoke‚ðŽQl‚É“]¶“ñŽŸE‚̃Xƒe[ƒ^ƒX‰Ád’l‚ðjob_db2-2.txt‚É‹Lq +EƒXƒNƒŠƒvƒg‚Éjobchange2‚Æjobchange3‚ð’ljÁ‚»‚ꂼ‚ê“]¶E‚Æ—{ŽqE‚Ö“]E‚³‚¹‚é–½—ß‚Å‚· + + (conf/) + help.txt C³ + (db/) + job_db2.txt C³ + job_db2-2.txt ’ljÁ + (doc/) + help.txt C³ + script_ref.txt C³ + (map/) + pc.c + pc_calcstatus() C³ + pc_readdb() C³ + script.c + buildin_jobchange() C³ + buildin_jobchange2() ’ljÁ + buildin_jobchange3() ’ljÁ + +-------------------- +//0958 by (“Ê) +E“]¶E•û–Ê‚ÌŽÀ‘•‚ðFX +Ed—ʧŒÀ‚Í—Ç‚­•ª‚©‚ç‚È‚¢‚Ì‚ÅŒ³‚ÌE‹Æ‚Ì’l‚ð‚»‚Ì‚Ü‚ÜŽg‚Á‚Ä‚¢‚Ü‚·(ƒ‚ƒ“ƒNƒ`ƒƒƒ“ƒsƒIƒ““™) +E‘•”õ•i‚à“¯ãAHP‚âSP‚̃e[ƒuƒ‹‚à“¯ã‚È‚Ì‚ÅA“]¶‚µ‚Ä‚àHP‚È‚Ç‚ª‘‚¦‚È‚¢ƒKƒbƒJƒŠŽd—l‚Å‚· + + (map/) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + pc.c + pc_setrestartvalue() C³ + pc_equippoint() C³ + pc_isequip() C³ + pc_calcstatus() C³ + pc_isUseitem() C³ + pc_calc_base_job() ’ljÁ + pc_damage() C³ + pc_jobchange() C³ + pc_equipitem() C³ + pc.h C³ + script.c + buildin_changesex() C³ + skill.c + skill_castend_nodamage_id() C³ + +-------------------- +//0957 by (“Ê) +E@charjob2‚Æ@charjob3‚ð’ljÁAŠÖŒW‚Æ‚µ‚Ä‚Í@charjobÌ@jobchangeA@charjob2Ì@jobchange2A(ry +E@mapexit‚ð’ljÁAmap-server‚ð—Ž‚Æ‚·ƒRƒ}ƒ“ƒh‚Å‚·atcommand_athena.conf‚Å‚Í99Ý’è‚É‚³‚ê‚Ä‚Ü‚·‚Ì‚ÅŽg—p‚É‚Í\•ª’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + + (map/) + atcommand.c + atcommand_character_job2() ’ljÁ + atcommand_character_job3() ’ljÁ + atcommand.h C³ + (conf/) + atcommand_athena.conf C³ + (doc/) + help.txt C³ + +-------------------- +//0956 by (“Ê) +E“]¶E‰¼ŽÀ‘•(@jobchange2)AŒ©‚½–Ú‚ÆŒoŒ±’lƒe[ƒuƒ‹‚¾‚¯‚Å‚· +E—{ŽqE‰¼ŽÀ‘•(@jobchange3)AŒ©‚½–Ú‚¾‚¯‚Å‚·Œ»ó‚Å‚ÍŒoŒ±’l‚Í“]¶“ñŽŸE‚Æ“¯‚¶‚Æ‚¢‚¤ƒ}ƒ]Žd—l +¦ã‹L2“_‚Í“]¶E‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚éƒNƒ‰ƒCƒAƒ“ƒg‚Å‚È‚¯‚ê‚ÎŽÀs‚·‚é‚ƃGƒ‰[—Ž‚¿‚·‚é‚Ì‚Å’ˆÓII +@‚»‚̌㒼ڃZ[ƒuƒf[ƒ^‚ð˜M‚ç‚È‚¢‚ƃLƒƒƒ‰ƒZƒŒ‚É‚às‚¯‚È‚­‚È‚è‚Ü‚·II +EAthenaŽG’kƒXƒŒƒbƒh part2 >>149 ‹HŽ}‚³‚ñ‚Ì•ñ‚ðŒ³‚ÉƒK[ƒfƒBƒAƒ“‚ðC³ +EԈȊO‚ŃK[ƒfƒBƒAƒ“‚Æ‚©ƒGƒ“ƒyƒŠƒEƒ€‚ð‰£‚é‚Æmap-server‚ª—Ž‚¿‚Ä‚¢‚½‚Ì‚àC³(–¢Šm”F) +EƒXƒpƒmƒr‚ÌJobƒe[ƒuƒ‹‚ÍFor English User Forum >>13 kingbo‚³‚ñ‚̃f[ƒ^‚ðŒ³‚ÉC³ +E“]¶E‚ÌŒoŒ±’lƒe[ƒuƒ‹‚ÍOWN‚ðŽQÆ‚µ‚ÄBase99‚ÌŒoŒ±’l‚Í•s–¾‚¾‚Á‚½‚Ì‚Å“K“–‚ÉÝ’è + + (map/) + atcommand.c + atcommand_jobchange() C³ + atcommand_jobchange2() ’ljÁ + atcommand_jobchange3() ’ljÁ + atcommand.h C³ + clif.c + clif_changelook() C³ + pc.c + pc_nextbaseexp() C³ + pc_nextjobexp() C³ + pc_jobchange() C³ + pc_readdb() C³ + battle.c + battle_calc_damage() C³ + mob_can_reach() C³ + +-------------------- +//0955 by huge +Eƒyƒbƒg‚̃‹[ƒg‹@”\B + EŽd—l‚Ímob‚̃‹[ƒg‚É‹ß‚¢Š´‚¶‚Å‚·‚ªAŽË’ö‚ð’Z‚­‚µ‚Ä‚Ü‚·B + EE‚Á‚½ƒAƒCƒeƒ€‚ÍAƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚Æ°‚É—Ž‚Æ‚µ‚Ü‚·B + E—‘‚É–ß‚µ‚½‚èAƒƒOƒIƒt‚µ‚½‚Æ‚«‚ÍPC‚̎茳‚É“ü‚é‚悤‚É‚µ‚Ü‚µ‚½B(d—Ê’´‰ß‚̓hƒƒbƒv) + EE‚¦‚éŒÂ”‚̓‹[ƒgmob“¯—l‚Ì10ŒÂ‚Å‚·‚ªA11ŒÂ–Ú‚ÍE‚¢‚És‚«‚Ü‚¹‚ñB + Eƒ‹[ƒgŒ ‚Ì–â‘è‚©‚çAƒAƒCƒeƒ€‚Éfirst_id‚ª“ü‚Á‚Ä‚¢‚ÄA‚»‚ꂪŽ”‚¢ŽåˆÈŠO‚¾‚Á‚½‚çA‰½•bŒo‚Æ‚¤‚ÆE‚¢‚Ü‚¹‚ñB(–¢Šm”F) + E‚»‚ê‚ÆA‰×•¨Ž‚¿‚É‚³‚ê‚é‚Ɖˆ£‘z‚È‚Ì‚ÅAd—ʧŒÀ‚à‚‚¯‚Ü‚µ‚½B‚±‚ê‚Íconf‚ÅÝ’è‰Â”\‚Å‚·B +Eatcommand‚ÅA@where‚ª‚¤‚Ü‚­“­‚¢‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³(‚Ü‚½ƒEƒ`‚¾‚¯‚©‚È‚Ÿ¥¥¥j +E@memo‚Åmemo‚·‚鎞‚ÍAmapflag‚𖳎‹‚·‚é‚悤‚ÉB +EƒXƒtƒBƒAƒ}ƒCƒ“‚Ì–¼‘O‚¾‚¯C³B + + (conf/) + battle_athena.conf + pet_lootitem,pet_weight ’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + atcommand.c + atcommand_memo() C³ + atcommand_where() C³ + battle.c + battle_config_read() C³ + battle.h C³ + map.c + map_quit() C³ + map.h + pet_data{} C³ + pc.c + pc_memo() C³ + pet.c + pet_performance() C³ + pet_return_egg() C³ + pet_data_init() C³ + pet_ai_sub_hard() C³ + pet_lootitem_drop() ’ljÁ + pet_delay_item_drop2() ’ljÁ + pet_ai_sub_hard_lootsearch() ’ljÁ + pet.h C³ + skill.c + skill_castend_pos2() C³ + +-------------------- +//0954 by (“Ê) +Eobject_del.bat‚ÅŠeserver.exe‚à휂·‚é‚悤‚É‚µ‚½ +EFor English User Forum >>11 kingbo‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý +EƒoƒO•ñƒXƒŒƒbƒh part5 >>10 Sin‚³‚ñ‚ÌC³‚ðŽæ‚èž‚Ý +E‚‚¢‚Å‚ÉŒ©‚©‚¯‚½atcommand_character_joblevel‚Ì•s‹ï‡‚ðC³ +E@ƒRƒ}ƒ“ƒh‚ŃWƒ‡ƒuƒŒƒxƒ‹‚ðã‚°‚é‚Æ‚«‚ɃXƒpƒmƒr‚ÍJob70‚܂őΉž(–¢Šm”F) + + (/) + object_del.bat C³ + (map/) + atcommand.c + atcommand_joblevelup() C³ + atcommand_character_joblevel() C³ + atcommand_character_baselevel() C³ + + code by kingbo 2004/4/29 PM 06:15 + base on 0953 + now i sure it works well + (map/) + mob.c + mob_can_reach() fix + +-------------------- +//0953 by (“Ê) +Emob_skill_db.txt‚ÌðŒ’l‚É0ˆÈŠO“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ð’ù³ +Egcc 2.95‚ŃRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É’ù³(by ƒoƒOƒXƒŒpart5 >>2 ˆ©‚³‚ñ) +Eª‚âLinux‚È‚Ç‚ðl—¶‚µ‚Ästart‚âMakefile‚Ȃǂ̉üs‚ðLF‚É•ÏX +E0952‚Åo‚½ƒRƒ“ƒpƒCƒ‹Œx‚ðo‚È‚¢‚悤‚ÉC³ +E0952‚ÅXV‚³‚ê‚È‚©‚Á‚½conf_ref.txt‚ðC³ + + (/) + start ‰üsƒR[ƒh•ÏX + athena-start ‰üsƒR[ƒh•ÏX + (db/) + mob_skill_db.txt C³ + (doc/) + conf_ref.txt C³ + (login/) + Makefile ‰üsƒR[ƒh•ÏX + (map/) + Makefile ‰üsƒR[ƒh•ÏX + atcommand.c + atcommand() 錾ˆÊ’uC³ + atcommand_where() 錾ˆÊ’uC³ + battle.c + battle_calc_pet_weapon_attack() C³ + battle_calc_mob_weapon_attack() C³ + battle_calc_pc_weapon_attack() C³ + battle_calc_magic_attack() C³ + clif.c + clif_skill_fail() 錾ˆÊ’uC³ + guild.c + guild_gvg_eliminate_timer() 錾ˆÊ’uC³ + mob.c + mob_damage() 錾ˆÊ’uC³ + script.c + buildin_deletearray() 錾ˆÊ’uC³ + buildin_getequipcardcnt() 錾ˆÊ’uC³ + buildin_successremovecards() 錾ˆÊ’uC³ + +-------------------- +//0952 by CG +Econf‚ÅDEF‚ÆMDEF‚ÌŒvŽZ•û–@‚ð‘I‘ð‚Å‚«‚é‚悤‚ÉB + + (conf/) + battle_athena.conf •ÏX + (map/) + battle.c + battle_calc_pet_weapon_attack() C³ + battle_calc_mob_weapon_attack() C³ + battle_calc_pc_weapon_attack() C³ + battle_calc_magic_attack() C³ + battle.h C³ + +-------------------- +//0951 by (“Ê) +EƒT[ƒo[snapshot +EƒoƒO•ñƒXƒŒƒbƒh part4 >>95 KAJIKEN‚³‚ñ‚ÌC³‚𓯫 +E“¯ >>138 ƒoƒO‚©‚ÈH‚³‚ñ‚ÌC³‚𓯫 +EAthenaŽG’kƒXƒŒƒbƒh part2 >>112 –¼–³‚µ‚³‚ñ‚ÌPVPƒiƒCƒgƒƒAƒ‚[ƒh‚̃Aƒ“ƒ_[ƒNƒƒXƒ}ƒbƒvƒ[ƒvƒ|ƒCƒ“ƒg‚𓯫 +E“¯ >>96 ‹HŽ}‚³‚ñ‚Ìnpc_gldcheck.txt‚𓯫 +EƒXƒiƒbƒvƒVƒ‡ƒbƒg‚Ésave/‚ð“ü‚ê‚é‚Ì‚ð‚â‚ß‚Ü‚µ‚½B–³‚¢ê‡‚Íathena-start‚ªì‚Á‚Ä‚­‚ê‚Ü‚· +Eathena-start‚Ålog/‚ª–³‚¢ê‡‚Éì‚é‚悤‚É•ÏX +E‚»‚Ì‘¼H + + (/) + athena-start •ÏX + (db/) + mob_db.txt •ÏX + (conf/) + map_athena.conf •ÏX + (conf/extension/) + npc_gldcheck.txt ’ljÁ + (conf/npc/) + npc_event_ice.txt •ÏX + npc_job_alchemist.txt •ÏX + npc_event_valentine.txt •ÏX + npc_town_geffen.txt •ÏX + npc_event_whiteday.txt •ÏX + npc_event_potion.txt •ÏX + npc_town_comodo.txt •ÏX + (conf/warp/) + npc_warp_pvp.txt ’ljÁ + +-------------------- +//0950 by (“Ê) +Emob_db‚ÌModeƒtƒ‰ƒO‚Ɉȉº‚Ì•¨‚ð’ljÁ + 0x40(64) ƒ_ƒ[ƒW‚ð1‚ɌŒè(‘‚âƒNƒŠƒXƒ^ƒ‹‚È‚Ç) + 0x80(128) UŒ‚‚ðŽó‚¯‚½‚Æ‚«‚É”½Œ‚‚ð‚·‚é +Eã‹L‚Ì•ÏX‚Ì‚½‚ßmob_db.txt‚Ù‚Ú‘S•”•ÏXAmob_db2.txt‚ðì‚Á‚Ä‚¢‚él‚Í + ‘‚È‚Ç1ƒ_ƒŒÅ’è‚É‚ÍMode‚É64‚ð‘«‚³‚È‚¢‚Æ•’ʂɃ_ƒ[ƒW + ‚»‚Ì‘¼Mob‚ÍMode‚É128‚ð‘«‚³‚È‚¢‚Æ”½Œ‚‚µ‚Ä‚±‚È‚­‚È‚é‚Ì‚Å’ˆÓ + + (db/) + mob_db.txt C³ + (map/) + battle.c + battle_calc_pet_weapon_attack() + battle_calc_mob_weapon_attack() + battle_calc_pc_weapon_attack() + battle_calc_magic_attack() + mob.c + mob_once_spawn() + mob_attack() + mob_target() + mob_ai_sub_hard() + +-------------------- +//0949 by ‚Ò‚´‚Ü‚ñ + +EƒXƒe[ƒ^ƒXˆÙí‘Ï«‘S–ÊC³B +@‘Ï«ŽZoŽ®‘S–ÊC³B +@ƒXƒe[ƒ^ƒXˆÙí‘Ï«100%‚̃Lƒƒƒ‰ƒNƒ^[‚É‚Íó‘ÔˆÙí‚ðs‚í‚È‚¢‚悤‚ÉC³B +EƒfƒBƒXƒyƒ‹‚ÌŽd—l•ÏXB +@‰ðœ‚µ‚½‚çƒVƒXƒeƒ€ã–â‘è‚Ì‚ ‚éƒXƒe[ƒ^ƒX•Ï‰»ˆÈŠO•Ð‚Á’[‚©‚ç‰ðœ‚·‚é‚悤‚ÉC³B +EƒtƒƒXƒgƒ_ƒCƒo[‚ÌŽd—l•ÏXB +@“€Œ‹—¦C³(ƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’)B +EƒŠƒJƒoƒŠ[‚ÌŽd—l•ÏXB +@ƒmƒ“ƒAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÉŽg—p‚·‚é‚ƃ^[ƒQƒbƒg‚ªƒŠƒZƒbƒg‚³‚ê‚é‚悤‚ÉC³B +EƒNƒ@ƒOƒ}ƒCƒA‚ÌŽd—l‚ªƒAƒŒ‚¾‚Á‚½‚Ì‚ÅC³B +@‰‰‘t‚â‘®«ê‚Æ“¯—l‚Érange‚ň—‚·‚é‚悤‚ÉC³B +@DEX/AGI”¼Œ¸‚̉e‹¿‚ª‰r¥ˆÈŠO‚É‚à‹y‚Ô—l‚ÉC³B +EƒXƒLƒ‹ƒ^[ƒQƒbƒg’†‚ÉŽ€‚ñ‚¾U‚è‚ðŽg—p‚µ‚Ä‚àƒXƒLƒ‹‚ª‰ñ”ð‚Å‚«‚È‚¢–â‘èC³B +E”’nŽæ‚肪“®ì‚µ‚È‚¢–â‘èC³(cast_db‚ª”²‚¯‚Ä‚Ü‚µ‚½)B + (map/) + pc.c + pc_calcstatus()C³ + skill.c + skill_additional_effect()Askill_attack() C³ + skill_status_change_start()Askill_unitsetting() C³ + (db/) + cast_db.txt C³B + +-------------------- +//0948 by ŒÓ’±—– + +Ewarpwaitingpc‚ª³‚µ‚­PC‚ð“]‘—‚Å‚«‚È‚¢–â‘è‚ðC³ +EƒXƒNƒŠƒvƒg‚Ì“Ç‚Ýž‚ÝŽž‚ɃGƒ‰[‚Ü‚½‚ÍŒx‚ªo‚éê‡AŒx‰¹‚ð–‚炷‚悤‚ÉB + i—¬‚ꂽƒƒO‚ðŒ©‚È‚¢l‘Îô‚Å‚·j + + (map/) + script.c + buildin_warpwaitingpc()C³ + disp_error_message()C³ + +Eatcommand.cC³ + Eatcommand_athena.conf‚Ìmapmove‚ð“ǂނ悤‚É + E@str‚È‚Ç‚ÌÈ—ªŽž‚Ì•K{ƒŒƒxƒ‹‚ð0‚ÉB + E@param‚ÍŽg‚í‚È‚¢‚̂ŃRƒƒ“ƒg‰» + + (map/) + atcommand.c + ŠY“–ŒÂŠC³ + +Emob‚ªÅ‘å15•b‚قLjړ®‚µ‚È‚¢ê‡‚ª‚ ‚é–â‘èC³ + EŽè”²‚«‚Å‚È‚¢mobˆ—‚ÅAˆÚ“®‚µ‚È‚¢ŽžŠÔ‚ª7•bˆÈ㑱‚©‚È‚¢‚悤‚ÉC³ + + (map/) + mob.c + mob_ai_sub_hard()C³ + +E‰õ‘¬‘Dˆõ‚̈ɓ¤`s‚«‚Ì”»•ÊŽ®C³ (by ID:F8nKKuY) + (conf/npc/) + npc_town_comodo.txt + +-------------------- +//0947 by (“Ê) +EŽæ‚芪‚«‚ÍŽæ‚芪‚«‚𢊫‚µ‚È‚¢‚悤‚ÉC³ +E˜I“V‚̔̔„‰¿Ši‚ÌãŒÀ‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³ + + (conf/) + battle_athena.conf + vending_max_value’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + skill.c + skill_castend_nodamage_id() C³ + battle.c + battle_config_read() C³ + battle.h C³B + vending.c + vending_openvending() C³B + +-------------------- +//0946 by Kalen +Eƒvƒ–kWarpŒ©’¼‚µ +ŽQlF–{ŽI(1F,2F)‚ç‚®‚Ȃ̉½‚©(3F) + (conf/warp/) + npc_warp.txt + +EŒê‚è•”‚Ì2T3T’ljÁ(‚Ç‚¤‚¹Œ©‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ªc) + (conf/npc/) + npc_event_kataribe.txt + +-------------------- +//0945 by ŒÓ’±—– + +ENPCƒ^ƒCƒ}[ƒ‰ƒxƒ‹ƒf[ƒ^‚ª³‚µ‚­ƒCƒ“ƒ|[ƒg‚³‚ê‚È‚¢–â‘è‚ðC³ +ENPCƒ^ƒCƒ}[‰Šú’l‚âƒ^ƒCƒ}[ID‚ª³‚µ‚­‰Šú‰»‚³‚ê‚È‚¢–â‘è‚ðC³ +ENPC‚Ìduplicate‚ðs‚¤‚ƃAƒNƒZƒXˆá”½‚ª‹N‚±‚éꇂª‚ ‚é–â‘è‚ðC³ + + (map/) + npc.c + npc_parse_scriptC³ + +Eƒpƒbƒ`ƒAƒbƒvƒXƒŒ‚S‚Ì87‚Ìpc.c‚Ƃ肱‚Ý + (map/) + pc.c + ƒJ[ƒhd—ʧŒÀ‚ðŒ³‚É–ß‚µ‚½‚à‚Ì + +-------------------- +//0944 by huge +EƒMƒ‹ƒh‚Ìã”[ŒoŒ±’l‚ÌãŒÀ‚ðAconf‚ŧŒÀ‚Å‚«‚é‚悤‚ÉB +E˜I“X‚̔̔„‰¿Ši‚ð10M‚܂łɧŒÀB +EƒJ[ƒg‚Ìd—ʧŒÀ‚ªˆêŒ…‰º‚ª‚Á‚Ä‚½‚ñ‚Å‚·‚ªAƒEƒ`‚¾‚¯‚Å‚·‚©HC³‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªB + + (conf/) + battle_athena.conf + guild_exp_limit’ljÁ + (doc/) + conf_ref.txt C³ + (map/) + atcommand.c + ‘h¶Žž‚ÌSP‰ñ•œ‚ÅAׂ©‚¢C³B + battle.c + battle_config_read() C³ + battle.h C³B + guild.c + guild_change_position() C³B + pc.c + pc_calcstatus() C³B + vending.c + vending_openvending() C³B + +-------------------- +//0943 by (“Ê) +Ebattle_athena.conf‚Ådead_branch_active‚ðyes‚É‚·‚é‚ƌÖ؂̎}‚Å¢Š«‚³‚ê‚郂ƒ“ƒXƒ^[‚ªƒAƒNƒeƒBƒu‚É‚È‚é‚悤‚É•ÏX +E”÷–­‚É•ÏX‚µ‚½client_packet.txt‚𓯫 + + (conf/) + battle_athena.conf + dead_branch_active’ljÁ + (doc/) + client_packet.txt C³ + conf_ref.txt C³ + (map/) + battle.c + battle_config_read() C³ + battle.h C³ + map.h C³ + mob.c + mob_once_spawn() C³ + mob_attack() C³ + mob_target() C³ + mob_ai_sub_hard_lootsearch() C³ + mob_ai_sub_hard() C³ + +E‰pŒêƒXƒŒ‚Ìkingbo‚³‚ñ‚Ì•ÏX‚𓯫 + code by kingbo 2004/4/16 PM 09:47 + + support guildcastle guardian + maybe still have problems..need to try + Good Luck Q^^Q + P.S: sorry my poor english ^^a + + (map/) + mob.c + mob_can_reach() fix + battle.c + battle_calc_damage() fix + + (conf/gvg/) + prtg_cas01_guardian.txt + +-------------------- +//0942 by ŒÓ’±—– + +EƒAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚Å•s³‚ȃƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éꇂª‚ ‚éƒoƒO‚ðC³ + (login/) + login.c + check_ipmask()C³ + +EƒXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX­‚µ’ljÁ‚ÆC³ + (doc/) + script_ref.txt + C³ + +-------------------- +//0941 by (“Ê) + +Ee2‚³‚ñ‚Ì•ñ‚ðŒ³‚É¢Š«‚³‚ꂽŽè‰º‚̃Xƒs[ƒh‚𢊫Žå‚Æ“¯‚¶‚É‚µ‚Ä‚Ý‚é + + (map/) + battle.c + battle_get_speed() C³ + mob.c + mob_spawn() C³ + mob_summonslave() C³ + +-------------------- +//0940 by End_of_exam + +Eƒq[ƒ‹‚âƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ðŽg—p‚µ‚Ä‚à‰ñ•œ‚µ‚È‚¢ƒoƒO‚ðC³(0938`)B + +@Thanks for Pepermint, reporting the bug that using PotionPitcher with +@BluePotion was no effective. +@iƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[{‚o‚ÅŒø‰Ê‚ª‚È‚¢Ž–‚ð•ñ‚µ‚Ä‚­‚ꂽPepermintŽ‚ÉŠ´ŽÓj + + (map/) + battle.c + battle_heal() C³ + +-------------------- +//0939 by (“Ê) +EcutinƒpƒPƒbƒg‚ð0x145(ƒtƒ@ƒCƒ‹–¼16•¶Žš)‚©‚ç0x1b3(64•¶Žš)‚É•ÏX +E‚‚¢‚Å‚ÉŽG’kƒXƒŒ‚Éã‚°‚½athena-start‚𓯫 + + (/) + athena-start saveƒtƒ@ƒCƒ‹‚ª–³‚¢‚Æ‚«‚Éì‚é‚悤‚É + (map/) + clif.c + clif_cutin() –{ŽIƒpƒPƒbƒg€‹’‚É•ÏX + (doc/) + client_packet.txt C³ + +-------------------- +//0938 by ‚Ò‚´‚Ü‚ñ + +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Ń|‚ð“Š‚°‚Ä‚àƒGƒtƒFƒNƒg‚¾‚¯‚¾‚Á‚½ƒoƒOC³B +E˜I“XŠJÝ‚ª“Á’è‚̃AƒCƒeƒ€”z’u‚ÅŽ¸”s‚·‚éƒoƒOC³B +EƒXƒNƒŠƒvƒgŠÖ”getareadropitemŽÀ‘•B +@Žw’èƒGƒŠƒA“à‚̃hƒƒbƒvƒAƒCƒeƒ€‚ðƒJƒEƒ“ƒg‚·‚éŠÖ”‚Å‚· + +@‘Ž®Fgetareadropitem ,,,,,; +@@mapnameF‘ÎÛƒ}ƒbƒv–¼(—áFprontera.gat) +@@x0‚Æx1F‘ÎÛXÀ•W”ÍˆÍ +@@y0‚Æy1F‘ÎÛYÀ•W”ÍˆÍ +@@itemFƒJƒEƒ“ƒg‚·‚é‘ÎÛƒAƒCƒeƒ€ + +@–ß‚è’lFmapname“àÀ•W(x0,y0)-(x1,y1)‚͈͓̔à‚É—Ž‚¿‚Ä‚¢‚éitem‚Ì‘ŒÂ” +@@@@@Žæ“¾Ž¸”sŽž‚É‚Í-1‚ð•Ô‚µ‚Ü‚·B +@Eitem‚Ì’l‚ÍID‚Å‚àƒAƒCƒeƒ€–¼("Red_Jemstone"‚Æ‚©)‚Å‚à‚¢‚¢‚Å‚·B + + (map/) + battle.c + battle_heal() C³B + vending.c + vending_openvending() C³B + script.c + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B + struct buildin_func[] C³B + buildin_getareadropitem()Abuildin_getareadropitem_sub() ’ljÁB + +-------------------- +//0937 by netwarrior + +- Fix Japanese remarks problem in 0936 +- Fix minor problem in battle_heal() + +-------------------- +//0936 by Pepermint + +Retouch about problem of increase in quantity at the CART, +when enter the an minus quantity in the CLIENT. + +Retouch about problem of not recovery,use POTIONPITCHER skill. + + (map/) + battle.c + battle_heal() + + vending.c + vending_purchasereq() + +-------------------- +//0935 by ŒÓ’±—– + +E“à—e‚Ì“¯‚¶ƒXƒNƒŠƒvƒgNPC‚ð‰½“x‚à‹Lq‚µ‚È‚­‚Ä‚àŒ¾‚¢‚悤‚ÉC³ + ENPC’è‹`‚Ì"script"‚Æ‘‚­•”•ª‚ð"duplicate(NPC–¼)"‚Æ‚·‚é‚ÆA + ŠY“–‚ÌNPC‚ƃXƒNƒŠƒvƒg‚ð‹¤—L‚·‚é‚悤‚ÉBNPC–¼‚Í•\Ž¦–¼‚Å‚Í‚È‚­ + ƒGƒNƒXƒ|[ƒg‚³‚ê‚é–¼‘O‚ðŽw’肵‚Ü‚·B + <—á> +prontera.gat,165,195,1 duplicate(ƒJƒvƒ‰Eˆõ) ƒJƒvƒ‰Eˆõ2 112 + + E‹¤—LŒ³‚ÌNPC‚Í“¯‚¶ƒ}ƒbƒvƒT[ƒo[‚É‘¶Ý‚·‚é•K—v‚ª‚ ‚邽‚ßA + “¯‚¶ƒ}ƒbƒv‚Å‚È‚¢ê‡‚Íduplicate‚·‚ׂ«‚Å‚Í‚È‚¢B + ‚½‚¾‚µANPC‚̈ʒu‚ð"-"‚É‚·‚邱‚Æ‚ÅAƒ}ƒbƒvã‚É‚Í‘¶Ý‚µ‚È‚¢‚ªA + ƒ}ƒbƒvƒT[ƒo[“à‚É‚Í‘¶Ý‚·‚éNPC‚ð쬂ł«‚é‚Ì‚ÅA + ‚»‚ÌNPC‚ð‹¤—LŒ³‚É‚·‚é‚Ì‚Å‚ ‚ê‚΂ǂ̃}ƒbƒv‚Ö‚à‹¤—L‚Å‚«‚éB + <—á> + +- script ƒeƒXƒg::test1 112,{ // ‚±‚ÌNPCƒOƒ‰ƒtƒBƒbƒNID‚ÍŽg—p‚µ‚È‚¢ +// (—ª) +} +prontera.gat,165,195,1 duplicate(test1) ƒeƒXƒg2 112 +geffen.gat,99,99,1 duplicate(test1) ƒeƒXƒg3 112 + + Eã‚̃}ƒbƒv‚É‘¶Ý‚µ‚È‚¢NPC‚̓Cƒxƒ“ƒg‚É‚à‚·‚邱‚Æ‚ª‚Å‚«‚éB + i‚ǂ̃}ƒbƒvƒT[ƒo[‚©‚ç‚Å‚à•K‚¸ŒÄ‚Ño‚¹‚éƒCƒxƒ“ƒg‚É‚È‚éj + + (map/) + map.h + struct npc_label_list’ljÁ,struct npc_dataC³ + npc.c + npc_parse_script()C³ + •s—v‚É‚È‚Á‚½ƒ‰ƒxƒ‹ƒf[ƒ^ƒx[ƒXŠÖ˜A‚ÌŠÖ”‚ðíœ + +-------------------- +//0934 by ‚Ò‚´‚Ü‚ñ + +EMOB‚Ìó‘ÔˆÙí‘Ï«‚ª‚₽‚ç‚‚©‚Á‚½‚Ì‚ðC³B +E‘¬“xŒ¸­‚ÌŽd—l•ÏX(¬Œ÷—¦ŒvŽZŽ®•ÏXEŽ¸”sŽž‚ɂ̓GƒtƒFƒNƒg–³‚µ)B +E‰½Žž‚ÌŠÔ‚É‚©ó‘ÔˆÙí‚ÌŒp‚¬‘«‚µ‹ÖŽ~‚ªƒRƒƒ“ƒgƒAƒEƒg‚³‚ê‚Ä‚¢‚½‚Ì‚Å–ß‚µB +Eƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚̃AƒCƒRƒ“•\Ž¦‚ª–³‚­‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³(‚Å‚ào‚邾‚¯c) +E”’nŽæ‚èŽÀ‘•B + + (map/) + battle.c + battle_weapon_attack() C³B + clif.c + clif_parse_WalkToXY()Aclif_parse_ActionRequest() C³B + clif_parse_TakeItem()Aclif_parse_UseItem() C³B + clif_parse_DropItem()Aclif_parse_EquipItem() C³B + clif_parse_UnequipItem() C³B + mob.c + mob_can_move()Amob_attack()Amob_ai_sub_hard() C³B + mobskill_use_id()Amobskill_use_pos() C³B + mobskill_castend_id()Amobskill_castend_pos() C³B + pc.c + pc_attack_timer()Apc_setpos() C³B + skill.c + SkillStatusChangeTable[] C³B + skill_additional_effect()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_check_condition() C³B + skill_status_change_start()Askill_status_change_end() C³B + skill_use_id() C³B + skill.h C³B + (db/) + cast_db.txt C³B + +-------------------- +//0933 by ŒÓ’±—– + +EƒEƒBƒU[ƒh“]EŠNPC‰¼ŽÀ‘• + Eeathena‚̃f[ƒ^‚Ì–|–óA‚¨‚æ‚Ñ–^Š‚Ì̂̃f[ƒ^‚ðŒ³‚Éì‚Á‚½‚Ì‚Å + ŠàŽI‚Æ‚Í”÷–­‚ɈقȂÁ‚Ä‚é‚ÆŽv‚¢‚Ü‚·B + uŒÃ‚¢Šª•¨v‚Æ‚©Žg‚¦‚Ü‚¹‚ñ‚µB + EŒ»s‚Ìjob_2nd.txt‚ƈê‚É“Ç‚Ýž‚Þ‚ÆANPC‚ªd‚È‚é‚Ì‚ÅA + job_2nd.txt‚ÌŠY“–ƒXƒNƒŠƒvƒg‚ðƒRƒƒ“ƒg‰»‚µ‚Ä‚­‚¾‚³‚¢B + ‚½‚¾‚µA‚»‚Ìꇂ̓Z[ƒW‚É“]E‚³‚¹‚Ä‚à‚炦‚È‚¢‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + + (conf/npc/) + npc_job_wizard.txt + ’ljÁ + (conf/warp/) + npc_warp_job.txt + ƒEƒBƒU[ƒh“]EŠ‚̃[ƒv‚ðƒRƒƒ“ƒg‰» + +EƒoƒOC³ + Egoto‚âmenu‚щƒxƒ‹‚ªŒ©‚‚©‚ç‚È‚¢‚Æ‚«ƒXƒNƒŠƒvƒg‚ÌŽÀs‚ð’†’f‚·‚é‚悤‚É. + E‚P‰ñ‚̃XƒNƒŠƒvƒg‚ÌŽÀs‚É‚¨‚¢‚ÄAŽÀs–½—ß”‚ª–ñ8000‚ð’´‚¦‚é‚©A + goto‚âmenu‚ÌŽÀs‰ñ”‚ª–ñ500‰ñ‚ð’´‚¦‚é‚ÆŽÀs‚ð’†’f‚·‚é‚悤‚ÉB + EŠÖ”/–½—ߎÀsŽž‚É‚àƒGƒ‰[ƒ`ƒFƒbƒN‚ð“ü‚ꂽ + EƒMƒ‹ƒh/ƒp[ƒeƒB/ƒyƒbƒg‚Ì–¼‘O‚É“ú–{Œê‚ªŽg‚¦‚È‚¢–â‘èC³ + + + (char/) + int_guild.c/int_party.c + –¼‘O–â‘èC³ + (map/) + pet.c + –¼‘O–â‘èC³ + script.c + C³ + +-------------------- +//0932 by End_of_exam + +E0930‚ŃMƒ‹ƒh‘qŒÉ‚Ì’†g‚ªÁ‚¦‚éƒoƒO‚ðC³B + + (char/) + int_storage.c guild_storage_tostr() C³B + +-------------------- +//0931 by (“Ê) +EƒT[ƒo[snapshot +EAthenaDBŒv‰æ‚©‚çXV‚Ì‚ ‚Á‚½•¨‚𔽉f +Eatcommand_athena.conf‚Éstr“™‚ð’ljÁ +Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ì–{ŽI‘Šˆá“_‚ðC³ +E–¶‚³‚ñ‚Ìaldeg_cas03`05‚𓯫 +Ep‚³‚ñ‚Ìnpc_event_kataribe.txt“¯« +EKAJIKEN‚³‚ñ‚Ìnpc_warp_louyang.txt“¯« + + (db/) + item_db.txt •ÏX + (conf/) + atcommand_athena.conf •ÏX + map_athena.conf •ÏX + (conf/gvg/) + aldeg_cas03.txt •ÏX + aldeg_cas04.txt •ÏX + aldeg_cas05.txt •ÏX + (conf/mob/) + npc_monster.txt •ÏX + (conf/npc/) + npc_event_kataribe.txt ’ljÁ + (conf/warp/) + npc_warp_louyang.txt ’ljÁ + (map/) + pc.c pc_memo() •ÏX + +-------------------- +//0930 by ŒÓ’±—– + + Šù‘¶‚Ì char/ ‚É‚ ‚élock.c‚Ælock.h‚Í휂µ‚Ä‚­‚¾‚³‚¢B + ‚±‚ê‚ç‚Í common/ ‚Ɉړ®‚³‚ê‚Ü‚·B + +EƒXƒNƒŠƒvƒg’ljÁC³ + Esetarrayi”z—ñ‚ÖƒŠƒXƒg‘ã“üj’ljÁ + Ecleararrayi”z—ñ‚ðŽw’è’l‚ŃNƒŠƒAj’ljÁ + Ecopyarrayi”z—ñ‚ðƒRƒs[j’ljÁ + Egetarraysizei”z—ñ‚Ì—LŒø‚È—v‘f”‚ð‹‚ß‚éj’ljÁ + Edeletearrayi”z—ñ‚Ì—v‘f‚ð휂µ‚Â߂éj’ljÁ + EwarpwaitingpcFl”‚âƒAƒJƒEƒ“ƒgID‚ðƒ}ƒbƒv•Ï”‚ɃZƒbƒg‚·‚é‚悤‚ÉC³ + + (map/) + script.c + FX + (doc/) + script_ref.txt + –½—ߒljÁ‚È‚Ç + (npc/sample/) + npc_test_array.txt + ”z—ñŒnƒeƒXƒg—pNPCƒXƒNƒŠƒvƒg + +EƒoƒOC³‚È‚Ç + EƒLƒƒƒ‰ƒNƒ^[–¼/ƒAƒJƒEƒ“ƒg–¼/ƒp[ƒeƒB–¼/ƒMƒ‹ƒh–¼/ƒyƒbƒg–¼‚É + ƒRƒ“ƒgƒ[ƒ‹ƒR[ƒh‚ðŽg‚¦‚È‚¢‚悤‚ÉC³B + Echar.c‚È‚Ç‚Ì•Û‘¶‚ÌŒø—¦‚ðX‚ɃAƒbƒvB + E‘qŒÉƒtƒ@ƒCƒ‹/ƒMƒ‹ƒh‘qŒÉƒtƒ@ƒCƒ‹‚É‹ós‚ªŽc‚ç‚È‚¢‚悤‚ÉC³ + Elock.*‚ðcommon/‚Ɉړ®Aƒtƒ@ƒCƒ‹‚ª•Û‘¶‚Å‚«‚È‚­‚È‚éƒoƒOC³A + ƒAƒJƒEƒ“ƒg‚ƃ}ƒbƒv•Ï”‚Ì•Û‘¶‚É‚àlock_fopen‚ðŽg‚¤‚悤‚ÉB + + (common/) + lock.c/lock.h + ƒtƒHƒ‹ƒ_ˆÚ“®Alock_fopenC³ + (login/) + login.c + mmo_auth_new()C³ + (char/) + char.c + mmo_char_tostr(),make_new_char()C³ + int_storage.c + storage_tostr(),guild_storage_tostr(), + inter_storage_save_sub(),inter_guild_storage_save_sub()C³ + int_party.c + int_guild.c + –¼‘O–â‘èC³ + (map/) + pet.c + –¼‘O–â‘èC³ + +-------------------- +//0929 by ‚Ò‚´‚Ü‚ñ + +Eƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[Š®‘SŽÀ‘•B +Eƒvƒƒ{ƒbƒN‚̃XƒLƒ‹Žd—l•ÏX(‰r¥–WŠQE“€Œ‹AΉ»A‡–°‰ðœ)B +EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹Žd—l•ÏX(ƒAƒ“ƒfƒbƒh‚ÉŽg—p‚·‚é‚ƈê’èŠm—¦‚ňÈŌø‰Ê)B +Eó‘ÔˆÙí’†‚Å‚à‘•”õ‚ÌØ‚è‘Ö‚¦‚ªo—ˆ‚é‚悤‚É•ÏXB +EƒAƒCƒeƒ€Ž©“®Žæ“¾’†‚É@killmonster‚ðŽg—p‚·‚é‚Æ—Ž‚¿‚éƒoƒOC³B +EŒÓ’±—–‚³‚ñ‚ªã‚°‚Ä‚¢‚½npc.c‚𓯫‚µ‚Ü‚µ‚½B +Eskill_db‚Å‹C‚É‚È‚Á‚Ä‚½‚Æ‚±‚ð‚¿‚å‚±‚Á‚ÆC³B + + (map/) + clif.c + clif_parse_EquipItem() C³B + skill.c + skill_castend_nodamage_id() C³B + skill_unitsetting()Askill_unit_onplace() C³B + skill_landprotector() ’ljÁB + mob.c + mob_delay_item_drop()Amob_delay_item_drop2() C³B + npc.c C³ + + (db/) + skill_db.txt C³B + +-------------------- +//0928 by End_of_exam + +EƒLƒƒƒ‰‚â‘qŒÉ“àƒAƒCƒeƒ€‚ªÁ‚¦‚é–â‘è‚ÉŽb’è‘ΈiƒLƒƒƒ‰ŽI‚̉ü—ÇjB + +@1.ƒLƒƒƒ‰ƒf[ƒ^E‘qŒÉƒf[ƒ^‚̃f[ƒ^•ÏŠ·ˆ—‚ð‰ü—ÇB +@@(char/char.c , char/int_storage.c) + +@2.ƒtƒ@ƒCƒ‹‘‚«o‚µ‚ªI‚í‚é‚Ü‚ÅA‹Œƒtƒ@ƒCƒ‹‚ðŽc‚·‚悤‚ÉC³B +@ichar/lock.c, char/lock.h ‚̒ljÁBƒƒCƒNƒtƒ@ƒCƒ‹‚ÌC³B +@@char/int_storage.c,int_guild.c,int_party.c,int_pet.c,char.c,inter.c +@@“à‚É‚ ‚éAƒf[ƒ^‘‚«o‚µˆ—‚ð•ÏXBj + +-------------------- +//0927 by ‚Ò‚´‚Ü‚ñ + +E•ŠíUŒ‚ˆÈŠO‚ÉŽí‘°•â³‚ª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +E‰‰‘t’†‚ÉŠyŠíE•ÚˆÈŠO‚Ì•Ší‚ÉŽ‚¿•Ï‚¦‚é‚Ɖ‰‘t‚ªŽ~‚Ü‚é—l‚ÉC³B +E‰‰‘t‚ÌŒø‰Ê‚ª‰‰‘tŽÒŽ©g‚É‚Í‚©‚©‚ç‚È‚¢‚悤‚ÉC³B +EƒAƒCƒeƒ€Ž©“®Žæ“¾‹@”\ŽÀ‘• +@“G‚ð“|‚µ‚½Žž‚ÉAƒAƒCƒeƒ€‚ªƒhƒƒbƒv‚³‚ê‚é‚Ì‚Å‚Í‚È‚­A‚»‚Ì“G‚Ɉê”Ô‘½‚­‚̃_ƒ[ƒW‚ð +@—^‚¦‚½l(ƒ‹[ƒgŒ 1ˆÊ‚Ìl)‚ɃhƒƒbƒvƒAƒCƒeƒ€‚ªŽ©“®‚Å—^‚¦‚ç‚ê‚é‹@”\‚Å‚·B +@battle_athena.conf‚Ìitem_auto_get‚ÅÝ’è‚Å‚«‚Ü‚·B +@ƒIƒŠƒWƒiƒ‹ƒAƒbƒvƒf[ƒg‚̈×Abattle_athena.conf‚ł̃fƒtƒHƒ‹ƒg‚Å‚Íno‚É‚µ‚Ä‚¢‚Ü‚·B +E‘®«ê(ƒfƒŠƒ…[ƒWEƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Eƒ{ƒ‹ƒP[ƒmEƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[)‰¼ŽÀ‘• +@ˆê•”‚Ì‹@”\‚ª–¢ŽÀ‘•‚Å‚· +@@ƒfƒŠƒ…[ƒWF…ê‚ð—p‚¢‚½ƒEƒH[ƒ^[ƒ{[ƒ‹ +@@ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹Fƒtƒ@ƒCƒA[ƒEƒH[ƒ‹‚ÌŽ‘±ŽžŠÔ•â³ +@@ƒ{ƒ‹ƒP[ƒmFƒAƒCƒXƒEƒH[ƒ‹‹ÖŽ~ +@@ƒ‰ƒ“ƒhƒvƒƒeƒNƒ^[FƒIƒuƒWƒFƒNƒgÝ’uŒnƒXƒLƒ‹‹ÖŽ~(‚‚܂èo‚邾‚¯‚ÌLP‚Å‚·) + + (map/) + battle.c + battle_calc_damage()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack()Abattle_config_read() C³B + mob.c + mob_delay_item_drop()Amob_delay_item_drop2() C³B + pc.c + pc_calcstatus()Apc_equipitem() C³B + skill.c + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾C³B + SkillStatusChangeTable[] C³B + skill_castend_nodamage_id()Askill_castend_pos2() C³B + skill_unitsetting()Askill_unit_onplace() C³B + skill_unit_onout()Askill_unit_ondelete() C³B + skill_status_change_start()Askill_status_change_end() C³B + skill_clear_element_field() ’ljÁB + battle.h C³B + skill.h C³B + (conf/) + battle_athena.conf + item_auto_get€–Ú‚ð’ljÁB + (db/) + cast_db.txt C³B + +-------------------- +//0926 by ŒÓ’±—– + +EƒMƒ‹ƒhé‚̉Šú‰»•û–@•ÏX + E‘S‚ẴMƒ‹ƒhéi{è‹’ƒMƒ‹ƒhî•ñj‚ðŠ“¾‚µ‚½‚Æ‚«‚ÉOnAgitInit‚ª + ‚æ‚΂ê‚é‚悤‚ÉBGetCastleData‚âRequestGuildInfo‚Ì•K—v‚ª‚È‚­‚È‚è‚Ü‚·B + ]‚Á‚ÄAŒ»Ý‚ÌgvgƒXƒNƒŠƒvƒg‚ÌOnInterIfInit‚âOnRecvCastleXXX‚Í + •K—v‚È‚­‚È‚è‚Ü‚·Bi‚¨‚»‚ç‚­Œ»s‚̃XƒNƒŠƒvƒg‚à“®ì‚͉”\‚Å‚·j + ‰Šú‰»‚ª•K—v‚ÈNPC‚Í•Ï‚í‚è‚ÉOnAgitInit‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B + ‚È‚¨A•s—v‚É‚È‚Á‚½–½—ß‚È‚Ç‚ð휂·‚é—\’è‚Í‚ ‚è‚Ü‚¹‚ñB + + (char/) + inter.c/inter.h/char.c/int_guild.c/int_guild.h + ƒ}ƒbƒvƒT[ƒo[Ú‘±Žž‚Ɉ—‚ðs‚¦‚é‚悤‚ÉC³ + Ú‘±Žž‚ɃMƒ‹ƒhéƒf[ƒ^‚ð‘—M‚·‚é‚悤‚É + (map/) + intif.c/guild.c/guild.h + Ú‘±Žž‚̃Mƒ‹ƒhéƒf[ƒ^ˆêŠ‡ŽóMˆ—•ƒMƒ‹ƒhî•ñ—v‹A + OnAgitInit‚̌ĂÑo‚µ‚È‚Ç + chrif.c + ‹ŒOnAgitInit‚̌ĂÑo‚µíœ + (doc/) + inter_server_packet.txt + ƒMƒ‹ƒhéƒf[ƒ^ˆêŠ‡‘—MƒpƒPƒbƒg0x3842’ljÁ + +EƒXƒNƒŠƒvƒg‚ÉNPCŽå‘̃Cƒxƒ“ƒgŽÀs–½—ߒljÁ + Edonpcevent(NPCŽå‘̃Cƒxƒ“ƒgŽÀs)’ljÁ + ‚±‚¿‚ç‚Ídoevent‚ƈႢƒuƒ[ƒhƒLƒƒƒXƒg‰Â”\‚Å‚·BÚׂÍscript_refB + Eisloggedin‚̃Rƒ“ƒpƒCƒ‹Œx‚ª‚Å‚È‚¢‚悤‚ÉC³ + (map/) + script.c + buildin_donpcevent()’ljÁ‚È‚Ç + (doc/) + script_ref.txt + doevent,donpcevent,OnAgitInit’ljÁ‚È‚Ç + +E‚»‚Ì‘¼C³ + (map/) + clif.c + clif_parse_GMReqNoChat()’ljÁ + + +-------------------- +//0925 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚̃oƒOC³ + Emonster,areamonster‚Ì–â‘èC³ + ‚±‚ê‚ç‚Íscript_rid2sd‚ðŽg—p‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B + sd‚ªNULL‚Ì‚Æ‚«AƒŒƒxƒ‹ƒ`ƒFƒbƒN‚ðs‚í‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B + + (map/) + script.c/mob.c + buildin_monster(),buildin_areamonster(),mob_once_spawn()‘¼ + +EƒXƒNƒŠƒvƒg‚Ì‹@”\’ljÁ + Edetachrid–½—ßiƒvƒŒƒCƒ„[‚̃fƒ^ƒbƒ`j’ljÁ + EisloggedinŠÖ”iƒvƒŒƒCƒ„[‚̃ƒOƒCƒ“ƒ`ƒFƒbƒNj’ljÁ + Egetitem,getitem2–½—ß,countitem,checkweightŠÖ”‚Å + nameid‚ɃAƒCƒeƒ€‚Ì–¼‘O‚ðŽw’è‰Â”\‚ÉB + (item_db‚ȂǂɈˑ¶‚·‚邽‚ßAŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªAˆê‰ž) + + (map/) + script.c + FX + (doc/) + script_ref.txt + •ÏX•”•ª‚ƃGƒ‰[à–¾C³ + +Eathena-start‚Æstart‚ðC³ + Eathena-start stop‚ŃvƒƒZƒX‚ªI—¹‚·‚é‚܂ő҂‚悤‚É + Estart‚ÅÄ‹N“®‚³‚¹‚é‚Æ‚«athena-start restart‚ðŒÄ‚Ԃ悤‚ÉB + +-------------------- +//0924 by (“Ê) + +EƒoƒO•ñƒXƒŒƒbƒh part4 >>66‚Ìnpc‚ðŽæ‚èž‚Ý +E“¯ >>51‚Ìguild.c‚𔽉f +E“¯ >>38‚Ìatcommand_athena.conf‚Ö‚Ì•ÏX‚ðŽæ‚èž‚Ý +E‚È‚º‚©npcƒtƒHƒ‹ƒ_‚É‚ ‚Á‚Ämap_athena.conf‚È‚¢ƒtƒ@ƒCƒ‹‚ðˆê——‚ɒljÁB‚‚¢‚łɃMƒ‹ƒhƒtƒ‰ƒbƒO‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ +Econf/npc/npc_job_1st.txt npc_script2.txt npc_shop3.txt‚̓XƒiƒbƒvƒVƒ‡ƒbƒg‚©‚ç휂µ‚Ä‚­‚¾‚³‚¢ + + (map/) + guild.c C³ + (conf/) + map_athena.conf C³ + atcommand_athena.conf C³ + (conf/npc/) + npc_event_hat.txt C³ + npc_event_oni.txt C³ + npc_job_1st.txt íœ + npc_script2.txt íœ + npc_shop3.txt íœ + +-------------------- +//0923 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚̃oƒOC³ +Escript_rid2sd‚ªŽ¸”s‚µ‚Ä‚àƒT[ƒo[‚ðI—¹‚µ‚È‚¢‚悤‚É•ÏX + Emonster,areamonster‚È‚Ç‚ªŽÀs‚Å‚«‚È‚¢–â‘èC³ + + (map/) + script.c/mob.c + buildin_monster()‚È‚ÇC³ + + (doc/) + script_ref.txt + ƒ‰ƒxƒ‹‚ƃGƒ‰[‚Ìà–¾C³ + +-------------------- +//0922 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒgƒGƒ‰[‚Ìs”Ô†‚ª³‚µ‚­•\Ž¦‚³‚ê‚é‚悤‚É + + (map/) + itemdb.c / npc.c + itemdb_readdb(),npc_parse_script()C³ + +EƒLƒƒƒ‰ƒNƒ^[î•ñ‚ɃAƒNƒZƒX‚Å‚«‚È‚¢ó‘ԂŃAƒNƒZƒX‚·‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉC³ +Egoto/menu‚щƒxƒ‹‚ªŽw’肳‚ê‚éꊂɃ‰ƒxƒ‹ˆÈŠO‚ªŽw’肳‚ê‚é‚ÆŒx‚ðo‚·‚悤‚É +Escript_ref‚ɃGƒ‰[ƒƒbƒZ[ƒW‚Ìà–¾’ljÁ +EƒCƒxƒ“ƒg‹N“®‚³‚ꂽƒXƒNƒŠƒvƒg‚ŃLƒƒƒ‰ƒNƒ^[‚ðŽg—p‚Å‚«‚é‚悤‚É‚·‚éŠÖ”’ljÁ + EattachridiŽw’肵‚½ID‚Ìî•ñ‚ðŽg—p‚Å‚«‚é‚悤‚É‚·‚éj’ljÁ + Egetcharidi3‚ŃAƒJƒEƒ“ƒgID‚ðŠ“¾‚Å‚«‚é‚悤‚ÉjC³ + (map/) + script.c + script_rid2sd(),buildin_attachrid()’ljÁ + ‘½XC³B + (doc/) + script_ref.txt + ƒGƒ‰[ƒƒbƒZ[ƒW‚Ìà–¾’ljÁA•Ï”/ƒ‰ƒxƒ‹‚Ìà–¾C³ + ‘¼C³ + +-------------------- +//0921 by RR +EƒXƒNƒŠƒvƒgƒoƒOC³(‚²–À˜f‚ð‚¨‚©‚¯‚µ‚Ü‚µ‚½) + (conf/npc/) + npc_event_tougijou.txt + +Esteal—¦C³(Ž©DEX - “GDEX + SLv*3 +10‚Ì•”•ª‚ňê“x”»’è‚ð‚µ‚Ä‚¢‚½‚Ì‚Å) +E0918‚Å0914ˆÈ‘O‚ÉŠª‚«–ß‚Á‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½•”•ª‚ðŒ³‚É–ß‚µ‚½ + (map/) + pc.c + pc_steal_item() C³ + itemdb.c + pet.c + skill.c C³ + +-------------------- +//0920 by Ž‚Žqo^.^o +E Steal—¦ = Drop—¦ * (Ž©DEX - “GDEX + SLv*3 +10) /100 + (map/) + pc.c + int pc_steal_item()C³ + +-------------------- +//0919 by RR +Eatcommand‚Ìlvup‚ðŽg‚¤‚Ǝ擾ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ª‚¨‚©‚µ‚¢–â‘è‚ÌC³ +EƒoƒOC³(ƒoƒO•ñƒXƒŒ‚ÅC³‚Ìo‚½‚à‚Ì‚ÌŽæ‚èž‚Ý@ŒÓ’±—–‚³‚ñAp‚³‚ñA‹¤‚É‚¨”æ‚ê—l‚Å‚·) + (map/) + atcommand.c + atcommand_baselevelup()C³ + guild.c + guild_gvg_eliminate_timer()C³ + pc.c + pc_setreg(),pc_setregstr()C³ + (login/) + login.c + parse_login()C³ +-------------------- +//0918 by ¹ +Eitem_dbŽ©‘Ì‚ªƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚É‚È‚Á‚½‚Ì‚ÅAclass_equip_db.txt‚Ì”pŽ~B +Epet_db.txtAproduce_db.txt‚àƒI[ƒo[ƒ‰ƒCƒh‰Â”\‚ÉC³B + (map/) + itemdb.c + do_init_itemdb() C³B + pet.c + read_petdb() C³B + skill.c + skill_readdb() C³B + +-------------------- +//0917 by RR +EƒXƒNƒŠƒvƒgC³ + “‘¾˜YƒCƒxƒ“ƒg‚Æ“¬‹ZêƒCƒxƒ“ƒg‚ðNPCƒ^ƒCƒ}[‚É•ÏX + (conf/npc/) + npc_event_momotarou.txt + npc_event_tougijou.txt C³ +EƒXƒLƒ‹ƒcƒŠ[C³(ƒoƒO•ñƒXƒŒ25‚æ‚è) + (db/) + skill_db.txt C³ + +-------------------- +//0916 by (“Ê) +Enpc_monster‚Énpc_mob_job‚ð“‡Bnpc_mob_job.txt‚Í휂µ‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñ + + (conf/) + map_athena.conf npc_mob_job‚ðíœ + (conf/mob/) + npc_monster.txt XV + +-------------------- +//0915 by ŒÓ’±—– + +ENPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ߒljÁ•C³‘¼ + EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—¹jˆø”‚ðŒ©‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³ + EinitnpctimeriNPCƒ^ƒCƒ}[‰Šú‰»j’ljÁ + EstopnpctimeriNPCƒ^ƒCƒ}[’âŽ~j’ljÁ + EstartnpctimeriNPCƒ^ƒCƒ}[ŠJŽnj’ljÁ + EgetnpctimeriNPCƒ^ƒCƒ}[î•ñŠ“¾j’ljÁ + EsetnpctimeriNPCƒ^ƒCƒ}[’lÝ’èj’ljÁ + + Šù‘¶‚Ìaddtimer‚Ȃǂ̓vƒŒƒCƒ„[’PˆÊ‚Ì‚½‚ßANPC’PˆÊ‚̃^ƒCƒ}[‚ðì‚è‚Ü‚µ‚½B + ‚±‚¿‚ç‚ÍAaddtimer‚ȂǂƂ͈ႢAOnTimerXXX‚Æ‚¢‚¤•—‚Ƀ‰ƒxƒ‹‚ðŽw’肵‚Ü‚·B + Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚Æscrit_ref.txt‚ðŽQÆB + + (map/) + map.h + struct npc_data C³Astruct npc_timerevent_list’ljÁ + npc.c / npc.h + npc_timerevent(),npc_timerevent_start(),npc_timerevent_stop(), + npc_gettimerevent_tick(),npc_settimerevent_tick()’ljÁ + npc_parse_script()C³ + script.c + buildin_*npctimer()’ljÁ‚È‚Ç + (conf/sample/) + npc_test_npctimer.txt + NPCƒ^ƒCƒ}[Žg—pƒTƒ“ƒvƒ‹ + (doc/) + script_ref.txt + NPCƒ^ƒCƒ}[ŠÖŒW‚Ì–½—ß/ŠÖ”’ljÁA’蔃‰ƒxƒ‹‚Ìà–¾C³ + +ESage‚̃A[ƒXƒXƒpƒCƒN‚ÌŠ“¾ðŒC³ + (db/) + skill_tree.txt + ƒA[ƒXƒXƒpƒCƒN‚ÌsiƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“‚ðLv1‚Éj + +-------------------- +//0914 by p +E”͈̓XƒLƒ‹Žg—pŽž‚ɉð•úς݃ƒ‚ƒŠ‚ðŽQÆ‚µ‚Ä‚¢‚½–â‘è‚ɑΉž +Eƒƒ‚ƒŠ‚ð‰Šú‰»‚¹‚¸‚ÉŽg—p‚µ‚Ä‚¢‚½—̈æ‚ðA‰Šú‰»‚µ‚Ä‚©‚çŽg—p‚·‚é‚悤‚É•ÏX + (common/) + db.c + grfio.c + socket.c + timer.c + (char/) + char.c + int_guild.c + int_party.c + int_pet.c + int_storage.c + inter.c + (login/) + login.c + (map/) + ‚Ù‚Æ‚ñ‚Ç.c + +-------------------- +//0913 by Kalen + +EGVGScript‚ÌC³ +@911‘Ήž +@ƒtƒ‰ƒO‚©‚çƒAƒWƒg‚Ö–ß‚é‹@”\’ljÁ +@–ß‚é‚Æ‚«‚É•·‚©‚ê‚é‚悤‚ÉC³(TESTscript) +@Ԏ擾Žž::OnRecvCastleXXX‚ð”­“®‚·‚é‚悤‚ÉC³ + (conf/gvg/) + ‚Ù‚Æ‚ñ‚Ç.txt + +-------------------- +//0912 by (“Ê) +E‚±‚̃tƒ@ƒCƒ‹‚Ì•¶Žš‰»‚¯‚ÆTEST_prtg_cas01_AbraiJ‚Ì•¶Žš‰»‚¯‚ðC³ +EƒoƒO•ñƒXƒŒ‚Ì>>19-20‚ðŽæ‚èž‚Ý +EÌ‚â‚Á‚¿‚Ü‚Á‚½battle_athena.conf‚̌뎚‚Ì’ù³ + + (common) + mmo.h + #define MAX_STAR 3‚ÉC³ + (conf) + battle_athena.conf + (conf/gvg/) + TEST_prtg_cas01_AbraiJ.txt + (map) + atcommand.c + get_atcommandinfo_byname() C³ + + +-------------------- +//0911 by Michael_Huang + + Mounting Emblem of the Flag-NPC. + (Added Script Command: FlagEmblem). + +(conf/gvg/) + TEST_prtg_cas01_AbraiJ.txt (FlagEmblem Test) + + (map/) + map.h struct npc_data{} + clif.c clif_npc0078() + script.c buildin_flagemblem() + +-------------------- +//0910 by RR +EƒXƒNƒŠƒvƒg‚̊ԈႢ‚ðC³ +(conf/gvg/) + ev_agit_payg.txt + ev_agit_gefg.txt + +E‚ЂÈÕ‚è‚Ɉê“x“ü‚Á‚½‚çƒ}ƒbƒv•Ï”‚ªŽc‚Á‚½‚Ü‚Ü‚É‚È‚é‚Ì‚ÅAƒ}ƒbƒv•Ï”‚ðŽg‚í‚È‚¢‚悤•ÏX +(ˆêŽž“Iƒ}ƒbƒv•Ï”‚É‚·‚ê‚Ζâ‘è‚È‚¢‚Æ‚àŒ¾‚¦‚Ü‚·‚ªA +town_guide‚Ætown_kafra‚ÉŽžŠúŒÀ’è‚Ì•¨‚ªí’“‚µ‚Ä‚µ‚Ü‚¤‚Ì‚ª‹C‚É‚È‚Á‚½‚Ì‚ÅA +‚»‚ê‚ç‚ðevent_hinamatsuri‚ÖˆÚ“®‚µA•’i‚Ì‚ðdisable‚µ‚Ä‚¢‚Ü‚·) + (conf/npc/) + npc_event_hinamatsuri + npc_town_guide + npc_town_kafra + +EƒXƒLƒ‹ƒŠƒZƒbƒgŽž‚̃XƒLƒ‹Žæ“¾§ŒÀ”»’è‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg48ˆÈãÁ”ï‚©‚çA + ƒXƒLƒ‹ƒ|ƒCƒ“ƒg58ˆÈãÁ”ï‚©Žc‚èƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ªJOBLEVEL‚æ‚謂³‚­‚È‚Á‚½‚Æ‚«‚É•ÏX +E@modelŽž‚Ì•žFõF§ŒÀ‚ðŠÉ˜a(’jƒAƒTAƒ[ƒO‚Ì‚Ý‚Ö) + (map/) + pc.c pc_calc_skilltree() + atcommand.c atcommand_model() + + +-------------------- +//0909 by ŒÓ’±—– + +ENPCƒ`ƒƒƒbƒgŠÖŒW‚Ì–½—ߒljÁ + EwaitingroomiNPCƒ`ƒƒƒbƒgì¬jC³iƒCƒxƒ“ƒg‚ð‹N‚±‚·l”‚ðŽw’è‰Â”\j + EdelwaitingroomiNPCƒ`ƒƒƒbƒgI—¹j’ljÁ + EenablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg—LŒø‰»j’ljÁ + EdisablewaitingroomeventiNPCƒ`ƒƒƒbƒgƒCƒxƒ“ƒg–³Œø‰»j’ljÁ + EgetwaitingroomstateiNPCƒ`ƒƒƒbƒgó‘ÔŠ“¾j’ljÁ + EwarpwaitingpciNPCƒ`ƒƒƒbƒgƒƒ“ƒo[ƒ[ƒvjC³ + Ú‚µ‚­‚Íscript_ref.txt‚ðŽQÆ + + (map/) + script.c/npc.c/npc.h/chat.c/chat.h/clif.c + ‘½XC³ + (doc/) + script_ref.txt + C³ + (conf/sample/) + npc_test_chat.txt + ’ljÁ–½—߂̃eƒXƒgƒXƒNƒŠƒvƒg + +EƒXƒNƒŠƒvƒg‚̊ԈႢ‚ðC³ + (conf/npc/) + npc_event_skillget.txt + npc_event_yuno.txt + npc_town_lutie.txt + npc_turtle.txt + “ä–½—ßadditem‚ðgetitem‚É’uŠ· + npc_town_guide.txt + “ä–½—ßscriptlabel‚ðƒRƒƒ“ƒg‰» + npc_event_momotaro.txt + npc_job_swordman.txt + npc_job_magician.txt + ';'•t‚¯–Y‚êC³ + (conf/gvg/) + ev_agit_aldeg.txt + @GID4‚ð@GIDa4‚É’uŠ· + ev_agit_gefg.txt + ev_agit_payg.txt + Annouce‚ÉFŽw’è‚Æ';'‚Ì•t‚¯–Y‚ê‚ðK« + + +EAthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚ÝA‚»‚Ì‘¼C³ + ˆÀ’肵‚Ä‚¢‚éƒf[ƒ^‚©‚Ç‚¤‚©‚í‚©‚è‚Ü‚¹‚ñ‚ªB + + (db/) + item_db.txt/mob_db.txt/mob_skill_db.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + mob_skill_db.txt.orig + ˆÈ‘O‚̃f[ƒ^iƒRƒƒ“ƒg•”•ª‚È‚Ç‚ÌŽQl‚Éj + (conf/) + water_height.txt/mapflag.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + map_athena.conf + npc_monster3*.txt‚ðíœ + ’ljÁƒ}ƒbƒvƒf[ƒ^ (by ID:UVsq5AE) + (conf/mob/) + npc_monster.txt + AthenaDBŒv‰æ‚̃f[ƒ^‚Ƃ肱‚Ý + +-------------------- +//0908 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚̃Gƒ‰[ƒ`ƒFƒbƒNˆ—‚ð‘‚₵‚½ + E•¶Žš—ñ‚Ì“r’†‚ʼnüs‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB + EŠÖ”ŒÄ‚Ño‚µ‰‰ŽZŽq'('‚Ì’¼‘O‚ÉŠÖ”–¼ˆÈŠO‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB + E–½—ß‚ª‚ ‚é‚ׂ«‚Æ‚±‚ë‚ÉŠÖ”–¼ˆÈŠO‚ª‚ ‚é‚ƃGƒ‰[‚ðo‚·‚悤‚ÉB + E–½—ß‚¨‚æ‚ÑŠÖ”‚̈ø”‹æØ‚è‚Ì','‚ðÈ—ª‚·‚é‚ÆŒx‚ðo‚·‚悤‚ÉB + E–½—ß‚¨‚æ‚ÑŠÖ”‚̈ø”‚Ì”‚ªˆÙ‚È‚é‚ÆŒx‚ðo‚·‚悤‚ÉB + + (map/) + script.c + FXC³ + +ENPCƒXƒNƒŠƒvƒgC³ + (conf/npc/) + npc_town_guide.txt + ‚Ss–Ú‚Í‚¢‚ç‚È‚¢‚悤‚Ȃ̂ŃGƒ‰[‚ªo‚È‚¢‚悤‚ɃRƒƒ“ƒg‰» + npc_event_hat.txt + ƒRƒ‚ƒh‚̉¼–ÊEl‚ƃtƒFƒCƒˆƒ“‚Ì”N (by ID:dS8kRnc) + (conf/sample/) + npc_card_remover.txt + @menu‚ðŽg‚Á‚Ä’Z‚­‚µ‚½••¶Í­‚µC³ + +E‚»‚Ì‘¼ + (db/) + skill_tree.txt + Sage‰ž‹}Žè“– + +-------------------- +//0907 by p +Eatcommand() ‚Ì”ì‘剻‚ª‚Ђǂ¢‚̂ŃŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO + @ ƒRƒ}ƒ“ƒh‚ð’ljÁ‚·‚éꇂÍAatcommand.h “à‚Œ蔂ðAatcommand.c “à‚Å + ŠÖ”’è‹`ƒ}ƒNƒ‚ƃ}ƒbƒsƒ“ƒOƒe[ƒuƒ‹Aˆ——p‚ÌŠÖ”‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B +Eglobal •Ï”‚Ì atcommand_config ‚ðÁ‹ŽB + @ ƒRƒ}ƒ“ƒh–ˆ‚̃Œƒxƒ‹‚Í get_atcommand_level() ‚Ŏ擾‚µ‚Ä‚­‚¾‚³‚¢B +Eˆê•”‚̃Lƒƒƒ‰–¼‚ðŽæ‚é @ ƒRƒ}ƒ“ƒh‚ÅA”¼ŠpƒXƒy[ƒX‚ðŠÜ‚Þ–¼‘O‚̃Lƒƒƒ‰‚ð + ³í‚Ɉ—‚Å‚«‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B + ‚±‚̉e‹¿‚É‚æ‚èA@rura+ ‚È‚ÇAƒLƒƒƒ‰–¼‚ªƒpƒ‰ƒ[ƒ^‚Ì“r’†‚É‚ ‚Á‚½‚à‚Ì‚Í + ‘S‚ÄÅŒã‚ɉñ‚³‚ê‚Ä‚¢‚Ü‚·B +E@ ƒRƒ}ƒ“ƒh‚Ì•¶Žš—ñ‚ð³í‚Ɏ擾‚Å‚«‚È‚©‚Á‚½ê‡‚ÉAƒoƒbƒtƒ@‚Ì“à—e‚ð + ƒ`ƒFƒbƒN‚¹‚¸‚Ɉ—‚ðs‚¨‚¤‚Æ‚µ‚Ä‚¢‚½•”•ª‚ðC³‚µ‚Ü‚µ‚½B + + (common/) + mmo.h + (map/) + atcommand.h + atcommand.c + clif.h + clif.c + +-------------------- +//0906 by Selena +EŒÓ’±—–‚³‚ñ‚ÌC³‚É‚ ‚킹‚ÄAƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚PˆÈŠO‚̃XƒNƒŠƒvƒg‚ÌC³B +E@ƒRƒ}ƒ“ƒh“ü—̓~ƒX‚ÌۂɃGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦B + (conf/gvg/) + ev_agit_aldeg.txt + ev_agit_gefg.txt + ev_agit_payg.txt + ev_agit_prtg.txt + aldeg_cas01`05.txt + gefg_cas01`05.txt + payg_cas01`05.txt + prtg_cas02`05.txt + (map/) + atcommand.c + +-------------------- +//0905 by ŠÇ—l + +EƒT[ƒo[snapshot +E‘OƒXƒŒ‚̃tƒ@ƒCƒ‹Žæ‚è–Y‚ꂽl‚ª‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚Ì‚Å + +-------------------- +//0904 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒgˆ—C³ + Echar/interƒT[ƒo[‚ÉÚ‘±‚µ‚½Žž‚ÉOnCharIfInit/OnInterIfInitƒCƒxƒ“ƒg‚ª + ŒÄ‚΂ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + OnAgitInit‚ÍOnInterIfInit‚É•ÏX‚·‚ׂ«‚Å‚·B + Egetcastledata–½—ß‚Å‘æ‚Qƒpƒ‰ƒ[ƒ^‚ª0‚Ì‚Æ‚«A‘æ‚Rƒpƒ‰ƒ[ƒ^‚É + ƒCƒxƒ“ƒg–¼‚ðÝ’è‚Å‚«‚Ü‚·B‚±‚̃Cƒxƒ“ƒg‚̓Mƒ‹ƒhé‚̃f[ƒ^‚ð + InterƒT[ƒo[‚©‚犓¾Š®—¹‚µ‚½‚Æ‚«‚ÉŽÀs‚³‚ê‚Ü‚·B + E‹N‚±‚·NPCƒCƒxƒ“ƒg–¼‚ð"::"‚ÅŽn‚ß‚é‚ÆA“¯–¼ƒ‰ƒxƒ‹‚ðŽ‚‘SNPC‚̃Cƒxƒ“ƒg + ‚ðŽÀs‚Å‚«‚Ü‚·B + ‚½‚Æ‚¦‚ÎAgetcastledata "prtg_cas01.gat",0,"::OnRecvCastleP01"; + ‚Æ‚·‚é‚Æ‘S‚Ä‚ÌNPC‚Ì OnRecvCastleP01ƒ‰ƒxƒ‹‚ªŽÀs‚³‚ê‚Ü‚·B + Erequestguildinfo–½—ߒljÁB“Á’èƒMƒ‹ƒh‚Ìî•ñ‚ðInterƒT[ƒo[‚É + —v‹‚Å‚«‚Ü‚·B‘æ‚Pƒpƒ‰ƒ[ƒ^‚̓Mƒ‹ƒhIDA‘æ‚Qƒpƒ‰ƒ[ƒ^‚̓Cƒxƒ“ƒg–¼‚Å + ‚±‚̃Cƒxƒ“ƒg‚̓Mƒ‹ƒhî•ñ‚ðInterƒT[ƒo[‚©‚犓¾Š®—¹‚µ‚½‚Æ‚«‚É + ŽÀs‚³‚ê‚Ü‚·B + + (map/) + guild.c/guild.h/npc.c/npc.h/script.c/intif.c/chrif.c + FXC³ + +EƒMƒ‹ƒhéŠÖ˜ANPCC³ + iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚ÝC³B‘¼‚Ìé‚̃XƒNƒŠƒvƒg‚ÍŠeŽ©‚ŘM‚Á‚Ä‚­‚¾‚³‚¢B + ‚Æ‚¢‚¤‚©A‚Þ‚µ‚ë˜M‚Á‚½‚ç‚ ‚Á‚Õ‚µ‚Ü‚µ‚傤j + E‰Šú‰»ˆ—‚ðOnAgitInit‚Å‚È‚­OnInterIfInit‚É•ÏXB + Eéƒf[ƒ^Š“¾Š®—¹ˆ—‚Æ‚µ‚ÄOnRecvCastleP01‚ð’ljÁB + EŽIÄ‹N“®ŽžAƒMƒ‹ƒhê‘®ƒJƒvƒ‰‚ª³‚µ‚­•\Ž¦‚³‚ê‚é‚悤‚ÉB + EƒMƒ‹ƒhê‘®ƒJƒvƒ‰‚Ì–¼‘O‚ð"ƒJƒvƒ‰Eˆõ::kapra_prtg01"‚É•ÏXB + i"::"ˆÈ~‚̓GƒNƒXƒ|[ƒg‚³‚ê‚é–¼‘O‚ÅA"::"ˆÈ‘O‚ª•\Ž¦–¼j + "ƒJƒvƒ‰Eˆõ#prt"‚æ‚è–¼‘O‚ð’·‚­‚µ‚Ä‹£‡‚µ‚É‚­‚­‚·‚邽‚ß‚Å‚·B + ‚±‚ÌŠÖŒW‚ÅAdisablenpc‚Ȃǂ̃pƒ‰ƒ[ƒ^‚ð"kapra_prtg01"‚ÉC³B + (conf/gvg/) + prtg_cas01.txt + ƒMƒ‹ƒhê‘®ƒJƒvƒ‰C³ + ev_agit_prtg.txt + ‰Šú‰»ˆ—C³iƒoƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚P‚Ì‚Ýj + TEST_prtg_cas01_AbraiJ.txt + ƒMƒ‹ƒhê‘®ƒJƒvƒ‰ŒÙ—p/é”jŠüC³ + +ENPC‚ÌC³ + (conf/npc/) + npc_job_swordman.txt + npc_event_hat.txt + C³ + +EƒAƒJƒEƒ“ƒg‚ð휂µ‚Ä‚àƒAƒJƒEƒ“ƒgID‚ðÄ—˜—p‚µ‚È‚¢‚悤‚ÉC³ +EƒMƒ‹ƒh/ƒp[ƒeƒB‚ɂ‚¢‚Ä‚àˆê‰ž“¯“™‚̈—’ljÁiƒRƒƒ“ƒg‰»‚³‚ê‚Ä‚¢‚Ü‚·B + ƒMƒ‹ƒh‚âƒp[ƒeƒB‚ÍID‚ðÄ—˜—p‚µ‚Ä‚à‚¨‚»‚ç‚­–â‘è‚È‚¢‚½‚ßj + + (login/) + login.c + “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + (char/) + int_guild.c/int_party.c + “Ç‚Ýž‚Ý/•Û‘¶ˆ—C³ + +-------------------- +//0903 by ŒÓ’±—– + +El14/l15‚¨‚æ‚уvƒŒƒtƒBƒbƒNƒXl‚ð"„§‚³‚ê‚È‚¢(deprecated)"‹@”\‚Æ‚µ‚Ü‚µ‚½B + E‚Ü‚¾Žg—p‚Å‚«‚Ü‚·‚ªA¡Œã‚Ì“®ì‚ª•ÛႳ‚ê‚È‚¢‚Ì‚ÅA‘¬‚â‚©‚É‘ã‘Ö‹@”\‚ð + Žg—p‚·‚é‚悤‚ɈÚs‚µ‚Ä‚­‚¾‚³‚¢B + EƒvƒŒƒtƒBƒbƒNƒX'l'‚Í‘ã‘Ö‹@”\‚̃vƒŒƒtƒBƒbƒNƒX'@'‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B + El15‚Í‘ã‘Ö‹@”\‚Ì@menu‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B + El14‚Í‘ã‘Ö‹@”\‚Í‚ ‚è‚Ü‚¹‚ñBinput–½—߂̈ø”‚ðÈ—ª‚µ‚È‚¢‚ʼnº‚³‚¢B + E‚±‚ê‚ç‚Ì„§‚³‚ê‚È‚¢‹@”\‚ðŽg—p‚·‚é‚ÆŒxƒƒbƒZ[ƒW‚ª‚Å‚Ü‚·B + + (map/) + script.c + parse_simpleexpr()C³ + (conf/warp/) + npc_warp.txt/npc_warp25.txt/npc_warp30.txt + •Ï”–¼l0‚ð@warp0‚ÉC³ + (conf/npc/) + npc_event_hat.txt + •Ï”–¼l15‚ð@menu‚ÉC³ + (doc/) + script_ref.txt + ”z—ñ•Ï”‚Ìà–¾’ljÁ + •Ï”‚̃vƒŒƒtƒBƒbƒNƒX'l'Ainput–½—ß‚Ìl14Amenu–½—ß‚Ìl15‚Ì + à–¾‚ðC³ + +-------------------- +//0902 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚ª”z—ñ•Ï”‚ɑΉžB + Earray[number]‚̂悤‚ÉŽg‚¢‚Ü‚·B”’lŒ^A•¶Žš—ñŒ^—¼•ûŽg‚¦‚Ü‚·B + EŽg‚¦‚éƒvƒŒƒtƒBƒbƒNƒX‚Í @, $, $@ ‚Å‚·B + iˆêŽž“IƒLƒƒƒ‰ƒNƒ^[•Ï”AˆêŽž“I/‰i‘±“Iƒ}ƒbƒvƒT[ƒo[•Ï”j + Enumber==0‚Í”z—ñ‚¶‚á‚È‚¢•Ï”‚Æ’l‚ð‹¤—L‚µ‚Ü‚·B + i@hoge[0]‚Æ@hoge‚Í“¯‚¶•Ï”‚ð•\‚·j + E‚Ü‚¾‰¼ŽÀ‘•’iŠK‚Ȃ̂ŃoƒO•ñ‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B +Eƒ}ƒbƒvƒT[ƒo[•Ï”‚Ì“Çž’†‚ÉCtrl+C‚ð‚·‚é‚ƃf[ƒ^”j‘¹‚̉”\«‚ª‚ ‚é–â‘è‚ðC³. +Eƒ}ƒbƒvƒtƒ@ƒCƒ‹“Ç‚Ýž‚݉æ–Ê‚ª‚³‚Ñ‚µ‚¢‚Ì‚Å‚¹‚߂ătƒ@ƒCƒ‹–¼‚ð•\Ž¦‚·‚é‚悤‚ÉB + + (conf/sample/) + npc_test_array.txt + ”z—ñ•Ï”ƒeƒXƒgƒXƒNƒŠƒvƒg + (map/) + script.c + buildin_set(),buildin_input(),get_val(), + parse_simpleexpr()C³ + buildin_getelementofarray()’ljÁ + do_final_script()C³‚È‚Ç + map.c + map_readmap(),map_readallmap()C³ + +-------------------- +//0901 by ‚Ò‚´‚Ü‚ñ + +E˜I“XƒoƒO‚ÌC³ + + (map/) + pc.c + pc_cartitem_amount() ’ljÁB + vending.c + vending_openvending() C³B + clif.c + clif_parse_NpcClicked() C³B + pc.h C³B + +-------------------- +//0900 by ‚Ò‚´‚Ü‚ñ + +EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‚̃‰ƒ“ƒ_ƒ€ƒXƒLƒ‹”­“®—¦‚ðabra_db.txt‚ÅÝ’è‚Å‚«‚é‚悤‚ÉB +EƒXƒtƒBƒA[ƒ}ƒCƒ“‚ƃoƒCƒIƒvƒ‰ƒ“ƒg‚Ì”÷C³B +ENoreturnƒ}ƒbƒv‚Å’±‚ªÁ”‚¯‚³‚ê‚éƒoƒOC³B +Eˆê•”‚̃Aƒuƒ‰ŒÅ—LƒXƒLƒ‹‚ª³‚µ‚­“®ì‚µ‚È‚©‚Á‚½ƒoƒOC³B + (map/) + mob.c + mob_damage()Amobskill_use() C³B + mob_skillid2skillidx() ’ljÁB + skill.c + skill_readdb()Askill_abra_dataset() C³B + skill_castend_nodamage_id()Askill_castend_pos2() C³B + script.c + buildin_warp() C³B + + skill.h C³B + map.h C³B + (db/) + abra_db.txt ’ljÁB + skill_db.txt C³B + +-------------------- +//0899 by ŒÓ’±—– + +EŽæ‚芪‚«MOB‚̈—C³ + EŽæ‚芪‚«¢Š«‚ŃRƒA‚ð“f‚­ƒoƒOC³ + EŽå‚ª•Êƒ}ƒbƒv‚É”ò‚Ô‚ÆAƒeƒŒƒ|[ƒg‚Å’Ç‚¢‚©‚¯‚é‚悤‚ÉC³ + EŽæ‚芪‚«ˆ—‚ð‚æ‚èŒy‚­•ÏX + + (map/) + mob.c + mob_ai_sub_hard_mastersearch()‚ðmob_ai_sub_hard_slavemob() + ‚É–¼‘O‚ð•Ï‚¦‚Ĉ—C³B + mob_summonslave()C³ + +-------------------- +//0898 by ŒÓ’±—– + +Eeathena‚©‚çCardRemoverNPC‚ÌŽæ‚èž‚Ý + NPCƒf[ƒ^‚à“ú–{Œê–󂵂Ă܂·‚ªA‚©‚È‚è“K“–‚Å‚·B + + (map/) + script.c + buildin_getequipcardcnt(),buildin_successremovecards() + buildin_failedremovecards()’ljÁ + (conf/sample/) + npc_card_remover.txt + ƒJ[ƒhŽæ‚èŠO‚µNPC‚Ì“ú–{Œê–ó + ƒvƒƒ“ƒeƒ‰‚̸˜BŠ‚Ì’†‚̶‰º‚Ì•”‰®‚É‚¢‚Ü‚· + +Eƒ|[ƒ^ƒ‹‚ŕʃ}ƒbƒv‚É”ò‚΂µ‚½MOB‚ª‚»‚̃}ƒbƒv‚É•¦‚«’¼‚·ƒoƒOC³ + (map/) + map.h + struct mob_data‚Émƒƒ“ƒo’ljÁ + mob.c + mob_spawn(),mob_once_spawn()C³ + npc.c + npc_parse_mob()C³ + + +-------------------- +//0897 by ‚Ò‚´‚Ü‚ñ + +Eׂ©‚¢’²® +EƒXƒgƒŠƒbƒvŒn‚ƃPƒ~ƒJƒ‹ƒvƒƒeƒNƒVƒ‡ƒ“ŒnƒXƒLƒ‹‚Ì‘SŽÀ‘• +@–{ŽI‚Å‚Ìׂ©‚¢Žd—l‚ª•ª‚Á‚½‚Ì‚ÅŽÀ‘•‚µ‚Ü‚µ‚½B +@Šm—¦‚ÍŽb’è‚Å‚·B + + (map/) + pc.c + pc_isequip() C³ + skill.c + skill_status_change_start()Askill_castend_nodamage_id() C³B + skill_abra_dataset() C³B + battle.c + battle_get_def()Abattle_get_atk2() C³B + battle_get_vit()Abattle_get_int() C³B + (db/) + const.txt C³B + skill_db.txt C³B + cast_db.txt C³B + +-------------------- +//0896 by ŒÓ’±—– + +E‰i‘±“Iƒ}ƒbƒv•Ï”‹@”\’ljÁ +Eƒ}ƒbƒv•Ï”‚𕶎š—ñŒ^•Ï”‚Æ‚µ‚Ä‚àŽg—p‚Å‚«‚é‚悤‚É‚µ‚½ + E¡‚܂ł̃vƒŒƒtƒBƒbƒNƒX $ ‚͉i‘±“I‚É‚È‚è‚Ü‚·B + ˆêŽž“Iƒ}ƒbƒv•Ï”‚ðŽg—p‚·‚éꇂ̓vƒŒƒtƒBƒbƒNƒX $@ ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢. + + E‰i‘±“I/ˆêŽž“I‚Æ‚à‚É•¶Žš—ñŒ^‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B + •¶Žš—ñŒ^‚̃|ƒXƒgƒtƒBƒbƒNƒX‚Í$‚Å‚·B + + <—á> $@hoge ”’lŒ^ˆêŽžƒ}ƒbƒv•Ï”A$hoge$ •¶Žš—ñŒ^‰i‘±ƒ}ƒbƒv•Ï” + E‰i‘±ƒ}ƒbƒv•Ï”‚̓fƒtƒHƒ‹ƒg‚Å‚Í save/mapreg.txt ‚É•Û‘¶‚³‚ê‚Ü‚·B + ‚±‚ê‚Ímap_athena.conf‚Ìmapreg_txt‚ÅÝ’è‚Å‚«‚Ü‚·B + +Estr_data‚ªÄŠ„‚è“–‚Ä‚³‚ê‚é‚ƃ}ƒbƒv•Ï”‚ª³í‚ÉŽg—p‚Å‚«‚È‚¢ƒoƒOC³ + Estrdb‚©‚çnumdb‚É‚µ‚ÄA•Ï”–¼‚Ístr_buf‚É“ü‚ê‚é‚悤‚ÉB + +Emap_athena.conf‚Ìdelnpc,npc:clear‚ª³‚µ‚­“­‚©‚È‚¢ƒoƒOC³ + + (map/) + npc.c + npc_delsrcfile(),npc_clearsrcfile()C³ + script.c / script.h + ƒ}ƒbƒv•Ï”Œn‚©‚È‚èC³ + map.c + map_read_config()C³‚È‚Ç + (conf/) + map_athena.conf + mapreg_txt’ljÁ + (doc/) + conf_ref.txt + mapreg_txt,help_txt,motd_txt’ljÁ + script_ref.txt + •¶Žš—ñŒ^•Ï”‚Ìà–¾C³ + +-------------------- +//0895 by Selena + +Emapflag‚Énozenypenalty‚ð’ljÁB +@GVG‚âŠX’†‚̃eƒ‚È‚Ç‚ÅŽ€–S‚µ‚½Û‚ÉAZenyƒyƒiƒ‹ƒeƒB[”­¶‚ðŠO‚·—pB + + (map/) + pc.c + pc_setrestartvalue() C³ + script.c + buildin_setmapflag()Abuildin_removemapflag() C³ + npc.c + npc_parse_mapflag() C³ + map.h + map_data() C³ + (db/) + const.txt C³B + +-------------------- +//0894 by ‚Ò‚´‚Ü‚ñ + +EƒR[ƒ}ˆÈŠO‚̃Aƒuƒ‰ƒJƒ_ƒuƒ‰ŒÅ—LƒXƒLƒ‹‘SŽÀ‘•B +@ƒI[ƒgƒXƒyƒ‹‚ɂ̓Œƒxƒ‹ƒAƒbƒvˆÈŠO‘½•ª‘S•”悹‚ê‚Ü‚·B(ƒI[ƒgƒXƒyƒ‹ƒŒƒxƒ‹ƒAƒbƒv‚Í–¢ƒeƒXƒg) +EƒAƒuƒ‰ƒJƒ_ƒuƒ‰‰¼ŽÀ‘• +@”­“®ƒXƒLƒ‹‚ªƒŒƒxƒ‹ˆË‘¶‚¶‚á‚ ‚è‚Ü‚¹‚ñB +@‘S‚Ä‚Ì”­“®—¦‚ª—˜_ã‹Ïˆê‚Å‚·B +@ƒAƒCƒeƒ€ƒXƒLƒ‹‚ðŽg‚Á‚ÄŽÀ‘•‚µ‚Ä‚¢‚é‚̂ňꕔ‚ÌŽg—pðŒ‚𖳎‹‚µ‚Ü‚·iƒWƒFƒ€ã©‹C‹…“™j +EƒAƒCƒeƒ€ƒXƒLƒ‹‚ªƒLƒƒƒXƒgEƒfƒBƒŒƒC–³‚µ‚¾‚Á‚½‚Ì‚ðC³B + + (map/) + skill.c + skill_castend_nodamage_id()Askill_use_id()Askill_use_pos() C³B + skill_abra_dataset() ’ljÁB + (db/) + skill_db.txt C³B + +-------------------- +//0893 by ŒÓ’±—– + +E‘¼ƒ}ƒbƒv‚©‚çƒ|[ƒ^ƒ‹‚Ìã‚Ƀ[ƒv‚µ‚Ä‚«‚½PC‚ªƒ[ƒv‚µ‚È‚¢–â‘è‚ðC³ +Eƒ`ƒƒƒbƒg’†‚ÌPC‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É +EMOB‚ðƒ[ƒvƒ|[ƒ^ƒ‹‚Å”ò‚΂·‚©‚Ç‚¤‚©Ý’è‰Â”\‚É + MOB‚̃[ƒvƒ|[ƒ^ƒ‹‚ð‹–‰Â‚·‚é‚ÆAƒeƒ‚ªŠÈ’P‚É‚Å‚«‚é‚Ì‚Å’ˆÓB + +EƒAƒJƒEƒ“ƒg•Ï”•ÏX‚Æ“¯Žž‚Ƀtƒ@ƒCƒ‹‚É‘‚«o‚·‚悤‚ÉC³ +Eƒ}ƒbƒvƒf[ƒ^‚̃[ƒh•”•ª‚̃ƒO•\Ž¦‚Í‚ ‚Ü‚èd—v‚¶‚á‚È‚¢‚ÆŽv‚¤‚Ì‚Å•ÏXB + + (char/) + inter.c + mapif_parse_AccReg()‚Åinter_accreg_save()‚ðŒÄ‚Ԃ悤‚ÉC³ + (map/) + mob.c/mob.h + mob_warp()‚̈ø”•ÏX‚ÆC³ + battle.c/battle.h + mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ + battle_configŠÖ˜A + map.c + map_readallmap(),map_readmap()C³ + pc.c + pc_setpos()C³ + skill.c + mob_warp()ŒÄ‚Ño‚µ‚̈ø”C³ + skill_unit_onplace()C³ + (conf/) + battle_athena.conf + chat_warpportal,mob_warpportal‚̒ljÁ + (doc/) + conf_ref.txt + chat_warpportal,mob_warpportal‚̒ljÁ + +-------------------- +//0892 by ŒÓ’±—– + +EŠeŽíconfƒtƒ@ƒCƒ‹‚ŕʃtƒ@ƒCƒ‹‚ðƒCƒ“ƒ|[ƒg‚Å‚«‚é‚悤‚É‚µ‚½ + EŽ©•ª‚̃T[ƒo[—p‚ÌÝ’è‚ð•Êƒtƒ@ƒCƒ‹‚É‹Lq‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B + E‘S‚Äuimport: ƒtƒ@ƒCƒ‹–¼vŒ`Ž®‚Å‹Lq‚µ‚Ü‚·B + EŠeŽíconfƒtƒ@ƒCƒ‹ilogin,char,map,inter,atcommand,battlej‚ÌÅŒã‚É + conf/import/*_conf ‚ð“ǂނ悤‚ÉŽw’肵‚½‚Ì‚ÅA‚»‚±‚ÉŽ©•ª—p‚ÌÝ’è‚ð + ‘‚¢‚Ä‚¨‚¯‚ÎA•ÏX•”•ª‚̂݃I[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B + msg,script‚Ìconf‚ɂ‚¢‚Ä‚ÍA‚±‚ÌŒÀ‚è‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªAimport–½—ß‚Ì + ˆ—‚͒ljÁ‚³‚ê‚Ä‚¢‚é‚Ì‚ÅAŽ©•ª‚Åimport–½—߂𑂯‚Γ®‚«‚Ü‚·B + EV‚µ‚¢ƒXƒiƒbƒvƒVƒ‡ƒbƒg‚ªo‚½ê‡‚È‚Ç‚ÉA‚±‚Ìconf/importƒtƒHƒ‹ƒ_‚ð + Ì‚ÌAthena‚©‚çƒRƒs[‚·‚邾‚¯‚ÅŽ©•ª—p‚ÌÝ’è‚ð“K—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·. + +Emap_athena.conf‚Ìmap‚Ænpc‚ŒljÁ‚µ‚½ƒtƒ@ƒCƒ‹‚ð휂ł«‚é‚悤‚É‚µ‚½ + Eã‚ÉŠÖ˜A‚·‚é•ÏX‚Å‚·B + Edelmap,delnpc–½—ß‚ðŽg—p‚·‚ê‚ÎAmap,npc–½—߂ŒljÁ‚µ‚½ƒtƒ@ƒCƒ‹‚ð + “Ç‚Ýž‚Ü‚È‚¢‚悤‚ÉŽw’è‚Å‚«‚Ü‚·B‚±‚±‚Ńtƒ@ƒCƒ‹–¼‚Å‚Í‚È‚­A + all ‚ÆŽw’è‚·‚é‚Æ‚»‚ê‚Ü‚Å‚ÉŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚ð‘S‚Ä“Ç‚Ýž‚Ü‚È‚­‚µ‚Ü‚·. + Emap,npc–½—ß‚ÅAƒtƒ@ƒCƒ‹–¼‚Éclear‚ðŽw’è‚·‚é‚ÆA + delmap,delnpc‚Ìall‚Æ“¯“™‚Ì“®ì‚ð‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + +Elogin_athena.conf‚Ìallow‚Ædeny‚ðƒNƒŠƒA‚Å‚«‚é‚悤‚É‚“‚½ + Eallow‚¨‚æ‚Ñdeny–½—ß‚Åclear‚ðŽw’è‚·‚é‚ƈȑO‚̃zƒXƒgî•ñ‚ð‘S휂µ‚Ü‚·. + + (conf/) + ŠeŽíconfƒtƒ@ƒCƒ‹‚ÌÅŒã‚Éimport–½—ߒljÁ + (conf/import) + *.txt + ƒCƒ“ƒ|[ƒg‚³‚ê‚éƒtƒ@ƒCƒ‹B‚±‚ê‚ç‚ÉŽ©•ª—p‚ÌÝ’è‚ð‘‚­‚Æ‚æ‚¢B + (login/) + login.c + login_read_config()C³ + (char/) + char.c/inter.c + char_read_config(),inter_read_config()C³ + (map/) + map.c + map_read_config(),map_addmap()C³Amap_delmap()’ljÁ + npc.c + npc_addsrcfile()C³,npc_delsrcfile(),npc_clearsrcfile()’ljÁ + battle.c/atcommand.c/script.c + battle_read_config(),atcommand_read_config(), + msg_read_config(),script_read_config()C³ + (doc/) + conf_ref.txt + C³ + +-------------------- +//0891 by (“Ê) + +EuƒXƒLƒ‹Žg—p‚ÌŒã‚ÍA‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢v‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B + E–{ŽI‘ŠˆáƒXƒŒƒbƒh@‘´‚̇U>>5‚³‚ñ‚̃R[ƒh‚ðƒpƒNƒŠ‚Ü‚µ‚½B + (doc/) + conf_ref.txt C³B + (conf/) + battle_athena.conf C³B + (map/) + battle.h C³B + battle.c + battle_config_read() C³B + clif.c + clif_skill_fail() C³B + +-------------------- +//0890 by Ž€_ + +EƒMƒ‹ƒh‘qŒÉ‚ðˆê“x‚Ɉêl‚¾‚¯‚ªŽg—p‚·‚é‚悤‚É•ÏXB(–¢ƒeƒXƒg) +Ebattle_athena.conf‚©‚çplayer_undead_nofreeze íœB +E@ƒRƒ}ƒ“ƒh@gstorage ’ljÁB +EƒXƒNƒŠƒvƒgguildstorage‚ðguildopenstorage‚É•ÏXB +E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B + (doc/) + conf_ref.txt C³B + script_ref.txt C³B + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + help.txt C³B + (conf/sample/) + gstorage_test.txt ’ljÁB + (char/) + makefile C³B + int_storage.h C³B + int_storage.c + inter_storage_delete()Ainter_guild_storage_delete() ’ljÁB + int_guild.c + guild_check_empty()Amapif_parse_BreakGuild() C³B + (map/) + makefile C³B + battle.h C³B + battle.c + battle_config_read() C³B + guild.c + guild_broken() C³B + storage.h C³B + storage.c + storage_guild_storageopen() C³B + storage_delete()Aguild_storage_delete() ’ljÁB + script.c + buildin_guildstorage() ‚ð buildin_guildopenstorage()‚É•ÏXB + intif.c + intif_parse_LoadGuildStorage() C³B + mob.c + mob_summonslave()Amob_damage()Amob_delete() C³B + mob_catch_delete()Amob_readdb() C³B + skill.c + skill_castend_nodamage_id()Askill_status_change_start() C³B + clif.c + clif_parse_ActionRequest() C³B + atcommand.h C³B + atcommand.c + atcommand() C³B + +-------------------- +//0889 by ŒÓ’±—– + +E•¶Žš—ñŒ^ˆêŽž“IƒLƒƒƒ‰ƒNƒ^[•Ï”‹@”\’ljÁB + EƒvƒŒƒtƒBƒbƒNƒX@,ƒ|ƒXƒgƒtƒBƒbƒNƒX$‚ðŽg—p‚µ‚Ü‚·Bi@hoge$‚È‚Çj + Einput‚Å•¶Žš—ñ•Ï”‚ðŽw’è‚·‚é‚Æ•¶Žš—ñ“ü—Í‚É‚È‚è‚Ü‚·B + EŠÖŒW‰‰ŽZŽqi”äŠr‰‰ŽZŽqj‚Å•¶Žš—ñ‚Ç‚¤‚µ‚ðŽw’è‚·‚é‚Æ•¶Žš—ñ‚Ì”äŠr‚ª + ‚Å‚«‚Ü‚·B”’l‚Æ•¶Žš—ñ‚𬂺‚Ä”äŠr‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB + E‚Æ‚è‚ ‚¦‚¸ƒTƒ“ƒvƒ‹•t‚¯‚Ä‚Ü‚·B + + (map/) + map.h + struct map_session_data‚Énpc_str,regstr,regstr_numƒƒ“ƒo’ljÁ + script.c + buildin_set(),get_val(),buildin_input(),op_2num()‚È‚ÇC³ + op_2str(),op_2()’ljÁ + clif.c / clif.h + 01d5ƒpƒPƒbƒg’·C³ + clif_parse_NpcStringInput(),clif_scriptinputstr()’ljÁ + pc.c / pc.h + pc_readregstr(),pc_setregstr()’ljÁ + (doc/) + script_ref.txt + ‰‰ŽZŽq‚Ìà–¾’ljÁA•Ï”‚Ìà–¾C³Ainput,menuC³ + (conf/sample/) + npc_test_str.txt + •¶Žš—ñ•Ï”‚ðŽg—p‚µ‚½ƒXƒNƒŠƒvƒg‚Ì—áB + •¶Žš—ñ‚Ì‘ã“üAŒ‹‡A”äŠrA“ü—͂Ȃǂ̃eƒXƒg‚ðs‚¤‚à‚ÌB + +-------------------- +//0888 by Ž€_ + +EÝŒv‚©‚çŠÔˆá‚Á‚Ä‚¢‚½ƒMƒ‹ƒh‘qŒÉC³B(‚½‚¾•¡”l‚ÌŽg—p‚É‚æ‚éƒoƒO‚ª‚ ‚é‰Â”\«‚Í‚Ü‚¾‚ ‚è‚Ü‚·B) +Eׂ©‚¢ƒoƒOC³B + (doc/) + inter_server_packet.txt C³B + conf_ref.txt C³B + (conf/) + inter_athena.conf C³B + help.txt C³B + (common/) + mmo.h C³B + (char/) + makefile C³B + int_storage.h C³B + int_storage.c + account2storage()Ainter_storage_init()Astorage_fromstr() C³B + inter_storage_save()Amapif_load_storage() C³B + mapif_parse_SaveStorage() C³B + guild_storage_fromstr()Aguild_storage_tostr() ’ljÁB + inter_storage_save_sub()Ainter_guild_storage_save_sub() ’ljÁB + inter_guild_storage_save()Amapif_parse_LoadGuildStorage() ’ljÁB + mapif_parse_SaveGuildStorage()Amapif_load_guild_storage() ’ljÁB + mapif_save_guild_storage_ack()Aguild2storage() ’ljÁB + int_party.c + inter_party_init() C³B + int_guild.h C³B + int_guild.c + inter_guild_init() C³B + inter_guild_search() ’ljÁB + int_pet.c + inter_pet_init() C³B + inter.c + inter_init()Ainter_save()Ainter_config_read() C³B + (map/) + makefile C³B + map.h C³B + map.c + map_quit()Ado_init() C³B + pc.c + pc_setpos() C³B + storage.h C³B + storage.c + do_init_storage()Ado_final_storage()Aaccount2storage() C³B + storage_storageopen()Astorage_storageadd()Astorage_storageget() C³B + storage_storageaddfromcart()Astorage_storagegettocart() C³B + storage_storageclose()Astorage_storage_quit() C³B + storage_storage_save() C³B + guild2storage()Astorage_guild_storageopen() ’ljÁB + guild_storage_additem() Aguild_storage_delitem() ’ljÁB + storage_guild_storageadd()Astorage_guild_storageget() ’ljÁB + storage_guild_storageaddfromcart()Astorage_guild_storagegettocart() ’ljÁB + storage_guild_storageclose()Astorage_guild_storage_quit() ’ljÁB + intif.h C³B + intif.c + intif_send_storage()Aintif_parse_LoadStorage()Aintif_parse() C³B + intif_request_guild_storage()Aintif_send_guild_storage() ’ljÁB + intif_parse_SaveGuildStorage()Aintif_parse_LoadGuildStorage() ’ljÁB + clif.h C³B + clif.c + clif_additem()Aclif_parse_MoveToKafra() C³B + clif_parse_MoveFromKafra()Aclif_parse_MoveToKafraFromCart() C³B + clif_parse_MoveFromKafraToCart()Aclif_parse_CloseKafra() C³B + clif_parse_LoadEndAck() C³B + clif_guildstorageitemlist()Aclif_guildstorageequiplist() ’ljÁB + clif_updateguildstorageamount()Aclif_guildstorageitemadded() ’ljÁB + guild.c + guild_broken() C³B + script.c + buildin_openstorage()Abuildin_guildstorage() C³B + skill.c + skill_castend_nodamage_id() C³B + mob.c + mob_summonslave()Amob_damage() C³B + atcommand.c + atkillmonster_sub()Aatcommand() C³B + +-------------------- +//0887 by Ž‚Žqo^.^o + +E(db/) + skill_tree.txt C³ + +-------------------- +//0886 by ‚Ò‚´‚Ü‚ñ + +EƒT[ƒo[snapshot +Eƒtƒ@ƒCƒ‹’²® + +-------------------- +//0885 by huge + +EƒMƒ‹ƒh‹¤—L‘qŒÉ‚ÌŽÀ‘•Bguildstorage‚ÅŠJ‚¯‚Ü‚·B + Ž©•ª‚ÌŽI‚ÅŽÀŒ±‚Í‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªA‰ß‘a’n‚È‚Ì‚Å‘½l”ƒMƒ‹ƒh‚É‚È‚é‚Æ‚Ç‚¤“®‚­‚©•ª‚©‚è‚Ü‚¹‚ñB + (”O‚Ì‚½‚߃oƒbƒNƒAƒbƒv‚Í•K‚¸Žæ‚Á‚Ä‚¨‚¢‚ĉº‚³‚¢) +Eareawarp‚ÅA‘ÎÛƒ}ƒbƒv–¼‚ð"Random"‚É‚·‚é‚ÆA“¯ƒ}ƒbƒv“à‚щƒ“ƒ_ƒ€‚É”ò‚Ԃ悤‚ÉC³B +EGMƒRƒ}ƒ“ƒh‚Ŷ‚«•Ô‚µ‚½‚Æ‚«‚ÉSP‚à‘S‰ñ•œ‚·‚é‚悤‚ÉC³B +EƒfƒBƒ{[ƒVƒ‡ƒ“‚ÌðŒ‚ð‚¿‚å‚Á‚ÆC³B + + (char/) + int_storage.c + mapif_load_storage() C³B + mapif_parse_SaveStorage() C³B + inter.c + inter_send_packet_length[] C³B + inter_recv_packet_length[] C³B + (map/) + atcommand.c + @alive,@raise,@raisemap C³B + intif.c + packet_len_table[] C³B + intif_request_storage() C³B + intif_send_storage() C³B + intif_parse_LoadStorage() C³B + + map.h + map_session_data state‚Éstorage_flag ’ljÁB + script.c + buildin_areawarp_sub() C³B + buildin_openstorage() C³B + buildin_guildstorage() ’ljÁB + skill.c + skill_castend_nodamage_id() C³B + storage.c + account2storage() C³B + storage_storageopen() C³B + storage_storage_save() C³B + +-------------------- +//0884 by Ž€_ + +Eׂ©‚¢ƒoƒOC³B +Ebattle_athena.conf‚Épet_strAzeny_penaltyAresurrection_exp ’ljÁB +E0878‚Ì‹âsŠÖŒW‚̃R[ƒh‚Í‚à‚¤‚¢‚ç‚È‚¢‚Ì‚Å‘S‚ÄíœB +Ezeny_penalty‚ðݒ肵‚ÄŽg‚¤ê‡‚ÍŽè”—¿‚Í‚È‚­‚µ‚½•û‚ª‚¢‚¢‚©‚àB +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚Åpercentheal‚É‚àPP‚ÆLP‚É‚æ‚é‰ñ•œƒ{[ƒiƒX‚ª•t‚­‚悤‚É•ÏXB(‚½‚¾vit‚âintAHPRAMPR‚É‚æ‚é‰ñ•œƒ{[ƒiƒX‚ª•t‚«‚Ü‚¹‚ñB) +E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒgB + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + map.c + do_init()Ado_final() C³B + script.c + buildin_openbank() íœB + buildin_failedrefitem() C³B + storage.h C³B + storage.c + do_init_bank()Ado_final_bank()Aaccount2bank() íœB + storage_bank()Astorage_readbank() íœB + skill.c + skill_castend_nodamage_id()Askill_attack() C³B + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_config_read() C³B + pc.c + pc_setrestartvalue() C³B + clif.c + clif_skill_nodamage()Aclif_refine() C³B + itemdb.c + itemdb_isequip3() C³B + atcommand.c + atcommand() C³B + +-------------------- +//0883 by Kalen + +EWarpFXC³ + EƒAƒTƒVƒ“ƒMƒ‹ƒhŽü‚èC³(̂̂܂܂̃Šƒ“ƒN‚¾‚Á‚½‚Ì‚ÅŒ»Ý‚Ìó‘Ô‚ÉC³B) + EYuno‚ÌWarp‘S–ÊŒ©’¼‚µ(YumilLoopC³ASageCastleRandomWarp’ljÁA—ˆã‚³‚ñ‚̉ƒljÁ) + Eƒ‚ƒ“ƒNƒMƒ‹ƒhŽü‚è’ljÁ +ENPCFXC³ + E–XŽqì¬NPC‚ð•Êƒtƒ@ƒCƒ‹‚ÖBˆê•”’ljÁ(ep2.5’ljÁ•ª) + @ŽQlData(R.O.M776): ttp://green.sakura.ne.jp/~youc/ro/data/itemmaking.html#04 + EƒAƒTƒVƒ“ƒMƒ‹ƒhC³ + E“ñŽŸE“]EŠÖŒWNPCˆê•”’ljÁ(‚±‚ê‚ŃRƒ‚ƒh¬Œ€ê‚Ös‚¯‚Ü‚·) + Eƒ}ƒXƒ^[ƒAƒ‹ƒPƒ~ƒXƒg‚̑䎌C³ + EƒAƒ‹ƒfƒoƒ‰ƒ“‚̈ēà—vˆõ‚ðˆÚ“®&‘䎌C³&ƒCƒ[ƒW’ljÁ + EBBS‚É‚ ‚ª‚Á‚Ä‚¢‚½ƒRƒ‚ƒhƒXƒNƒŠƒvƒg’ljÁ(event_hat“™‚Ö•ªŽU) + EƒRƒ“ƒƒ“ƒNƒGƒXƒgŠÖŒWNPCˆê•”’ljÁ(—ˆã[yuno]Aƒlƒ‹[prontera]) + (conf/warp/) + npc_warp.txt + npc_warp30.txt + npc_warp_job.txt + (conf/npc/) + npc_event_hat.txt(V‹K) + npc_job_2nd.txt + npc_job_alchemist.txt + npc_town_aldebaran.txt + npc_town_comodo.txt + npc_town_gonryun.txt + npc_town_guide.txt + npc_town_yuno.txt + npc_town_lutie.txt + +-------------------- +//0882 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚É0881‘Š“–‚̃AƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\‚̃vƒŒƒtƒBƒbƒNƒX•ÏX + E0881‚̃AƒJƒEƒ“ƒg•Ï”‚̓vƒŒƒtƒBƒbƒNƒX##‚É‚È‚è‚Ü‚µ‚½B + E0881‚̃AƒJƒEƒ“ƒg•Ï”‚Í‘Sƒ[ƒ‹ƒh‚Å‹¤—L‚³‚ê‚Ü‚·B + E•Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG2_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·(16)B +Eƒ[ƒ‹ƒh“à‚̃AƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\’ljÁ + E•Ï”–¼‚̃vƒŒƒtƒBƒbƒNƒX‚Í#‚Å‚·B + E•Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·(16)B + E0881‚Ì‹âsƒXƒNƒŠƒvƒg‚Í‚±‚¿‚ç‚ðŽg—p‚·‚é‚悤‚É‚È‚è‚Ü‚·B + ‚æ‚Á‚ĈȑO‚̃f[ƒ^‚ª‚‚©‚¦‚È‚¢‚Ì‚Å‚ ‚ç‚©‚¶‚߈ø‚«o‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢. + E•Ï”ƒf[ƒ^‚Í save/accreg.txt ‚É•Û‘¶‚³‚ê‚Ü‚·B + ‚±‚̃tƒ@ƒCƒ‹–¼‚Í inter_athena.conf ‚Å•ÏX‰Â”\‚Å‚·Bconf_ref.txtŽQÆB + + (common/) + mmo.h + ACCOUNT_REG_NUM‚ð16‚ÉAACCOUNT_REG_NUM2’ljÁ + struct mmo_charstatus‚Éaccount_reg2_num,account_reg2ƒƒ“ƒo’ljÁ + (login/) + login.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + (char/) + char.c + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + inter.c + ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB + inter_accreg*()’ljÁAaccreg_db’ljÁ‚È‚ÇB + (map/) + chrif.c/chrif.h + account_reg‚ð‘S‚Äaccount_reg2‚É’u‚«Š·‚¦ + 0881‚ł̃oƒO‚ðC³ + intif.c/intif.h + ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”‹@”\’ljÁB + pc.c/pc.h + pc_*accountreg()=>pc_*accountreg2()‚ÉB + pc_setaccountreg(),pc_readaccountreg()’ljÁB + script.c + buildin_set(),buildin_get_val(),buildin_input()C³ + (doc/) + inter_server_packet.txt + ƒ[ƒ‹ƒh“àƒAƒJƒEƒ“ƒg•Ï”ŠÖŒW + conf_ref.txt + accreg_txt’ljÁ + +-------------------- +//0881 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚ɃAƒJƒEƒ“ƒg‹¤—L•Ï”‹@”\’ljÁ + E•Ï”–¼‚ɃvƒŒƒtƒBƒbƒNƒX#‚ð•t‚¯‚邱‚ƂŃAƒJƒEƒ“ƒg‹¤—L•Ï”‚É‚È‚è‚Ü‚·B + EƒAƒJƒEƒ“ƒg•Ï”‚Í•ÏX‚µ‚½Žž“_‚Å‘SƒT[ƒo[‚Ƀ|ƒXƒg‚³‚ê‚é‚Ì‚Å + •p”É‚É‘‚«Š·‚¦‚é‚ƃT[ƒo[ŠÔ’ÊM‚ª”ì‘剻‚µ‚Ü‚·B + EƒAƒJƒEƒ“ƒg•Ï”‚Í•ÏX‚µ‚½Žž“_i‚»‚µ‚Ä‚»‚ꂪloginŽI‚É“Í‚¢‚½Žž“_j‚Å + account.txt‚É‘‚«o‚³‚ê‚Ü‚·B + EƒOƒ[ƒoƒ‹•Ï”i‰i‘±•Ï”j‚̌”‚ð96‚ÉŒ¸‚炵AŒ¸‚Á‚½32ŒÂ•ª‚ð + ƒAƒJƒEƒ“ƒg•Ï”‚É‚µ‚Ä‚¢‚Ü‚·‚ªAmmo_charstatus‚̃TƒCƒY‚ª + 16000byte‚ð’´‚¦‚È‚¢ŒÀ‚è‘‚â‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·Bƒ0879‚Ì•ÏX‚ðŽQÆ + •Ï”‚̌”‚Ímmo.h‚ÌACCOUNT_REG_NUM‚Å’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B + E0878‚Ì‹âs‚ðƒAƒJƒEƒ“ƒg•Ï”‚ðŽg—p‚·‚é‚悤‚ÉC³ + bank.txt‚̃f[ƒ^‚ªŽg‚¦‚È‚­‚È‚é‚Ì‚Å‚ ‚ç‚©‚¶‚߈ø‚«o‚µ‚Ä‚¨‚¢‚ĉº‚³‚¢B + + (common/) + mmo.h + GLOBAL_REG_NUM‚ð96‚ÉAACCOUNT_REG_NUM‚ð’ljÁ + struct mmo_charstatus‚Éaccount_reg_num,account_regƒƒ“ƒo’ljÁ + (login/) + login.c + ƒpƒPƒbƒg2728ˆ—’ljÁ + (char/) + char.c + ƒpƒPƒbƒg2729,2b10ˆ—’ljÁ + (map/) + chrif.c + chrif_saveaccountreg(),chrif_accountreg() + (ƒpƒPƒbƒg2b10,2b11ˆ—)’ljÁB + pc.c/pc.h + pc_readaccountreg(),pc_setaccountreg()’ljÁ + script.c + buildin_set(),buildin_get_val(),buildin_input()C³ + (conf/sample/) + bank_test.txt + ƒAƒJƒEƒ“ƒg•Ï”Žg—p”Å‚Ì‹âsƒXƒNƒŠƒvƒg + +-------------------- +//0880 by Ž€_ + +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚𳂵‚­ŽÀ‘•‚Æ‚¿‚å‚Á‚Æ‹@”\Šg’£B +Eƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ŃŒƒxƒ‹•Ê‚ÉŽg‚¦‚éƒAƒCƒeƒ€‚ðskill_require_db.txt‚ÉÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B‚½‚¾ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚ÅŽg‚¦‚éƒAƒCƒeƒ€‚ÍitemhealApercenthealAsc_startAsc_endˆÈŠO‚Ì•¨‚ª“ü‚Á‚Ä‚¢‚é‚Ƴ‚µ‚­“®ì‚µ‚Ü‚¹‚ñB +ƒŒƒxƒ‹5‚Ü‚Å‚Í–{ŽI‚ɇ‚킹‚Ä‚¢‚Ü‚·‚ªÅ‘僌ƒxƒ‹‚ð10‚Ü‚ÅŠg’£‚·‚é‚ƃŒƒxƒ‹6 - ƒ}ƒXƒeƒ‰‚ÌŽÀA7 - ƒ[ƒ„ƒ‹ƒ[ƒŠ[A8 - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽíA9 - ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀA10 - ƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚Éݒ肵‚Ä‚¢‚Ü‚·Bskill_db.txt‚ðC³‚·‚ê‚΂±‚ꂪ—LŒø‚É‚È‚è‚Ü‚·B(‚Ç‚±‚ðC³‚·‚é‚©‚à‚í‚©‚ç‚È‚¢l‚Í’ú‚߂邱‚Æ‚Å‚·B) ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[‚É‚æ‚éƒAƒCƒeƒ€Žg—p‚ÍŽg—pðŒ‚𖳎‹‚µ‚Ü‚·B­‚µ‚̓Aƒ‹ƒPƒ~ƒXƒg‚ÉŠó–]‚ª‚Å‚«‚½‚©‚à...(‘½•ª–³—...) +Ebattle_athane.conf‚Éproduce_item_name_inputAproduce_potion_name_inputAmaking_arrow_name_inputAholywater_name_input ’ljÁB +Eƒp[ƒeƒBˆõ‚É‚¾‚¯Žg‚¤ƒXƒLƒ‹‚ƃMƒ‹ƒhˆõ‚É‚¾‚¯Žg‚¤ƒXƒLƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B +E‚»‚Ì‘¼×‚©‚¢C³B + (conf/) + battle_athane.conf C³B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (db/) + skill_db.txt C³B + skill_require_db.txt C³B + (map/) + map.h C³B + skill.h C³B + skill.c + skill_status_change_timer()Askill_attack()Askill_use_id() C³B + skill_castend_nodamage_id()Askill_castend_damage_id() C³B + skill_castend_id()Askill_castend_pos()Askill_produce_mix() C³B + skill_arrow_create()Askill_check_condition() C³B + skill_status_change_clear()Askill_readdb() C³B + mob.c + mobskill_use_id()Amob_changestate() C³B + pc.c + pc_itemheal()Apc_percentheal()Apc_calcstatus() C³B + battle.h C³B + battle.c + battle_delay_damage()Abattle_damage()Abattle_heal() C³B + battle_get_adelay()Abattle_get_amotion() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack()Abattle_config_read() C³B + clif.c + clif_skill_fail() C³B + script.c + buildin_sc_start()Abuildin_sc_end() C³B + makefile C³B + +-------------------- +//0879 by ŒÓ’±—– + +E‘—MFIFO‚̃oƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚ÌÆŽã«‚ÌC³ + E2048ƒoƒCƒgˆÈã‚̃pƒPƒbƒg‚ð‘—‚é‚Æ‚«AFIFO‚ª–ž”t‚É‹ß‚¯‚ê‚Î + ƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[‚É‚æ‚é•s³ƒAƒNƒZƒX‚ª‹N‚±‚Á‚Ä‚¢‚½–â‘èC³B + EFIFO‚ª–ž”t‚É‹ß‚¢‚Æ‚«WFIFOSET‚³‚ꂽƒpƒPƒbƒg‚ªŽÌ‚Ä‚ç‚ê‚Ä‚¢‚½–â‘èC³B + EFIFO‚ªƒI[ƒo[ƒtƒ[‚·‚éê‡AŽ©“®“I‚ÉFIFO‚ðŠg’£‚·‚é‚悤‚É‚µ‚½B + i‚½‚¾‚µAˆê“x‚ÉWFIFOSET‚·‚éƒpƒPƒbƒg‚ª16384ƒoƒCƒgˆÈ‰º‚Ɖ¼’肵‚Ä‚¢‚éj + Eusocket: ? wdata expanded to ???? bytesv‚ÍFIFO‚ªŠg’£‚³‚ꂽ‚Æ‚«‚É + ‚ł郃O‚¾‚ªAƒGƒ‰[‚Å‚Í‚È‚­AƒpƒPƒbƒg‚ͳ‚µ‚­‘—M‚³‚ê‚éB + Eusocket: ? wdata lost !!v‚̓pƒPƒbƒg‚ª‘rŽ¸‚µ‚½‚±‚Æ‚ð•\‚·ƒƒO‚ÅA + ƒGƒ‰[‚Å‚ ‚邪64KB‚ð’´‚¦‚é’´‹‘å‚ȃpƒPƒbƒg‚ðWFIFOSET‚µ‚È‚¢‚Æo‚È‚¢B + E16384ƒoƒCƒg‚ð’´‚¦‚éƒpƒPƒbƒg‚ðWFIFOSET‚·‚é‚ƃGƒ‰[ƒƒbƒZ[ƒW‚È‚µ‚ÉA + •s³ƒAƒNƒZƒX‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚é‚Ì‚ÅA’´‚¦‚È‚¢‚悤‚É‚·‚邱‚ÆB + + (common/) + socket.c /socket.h + WFIFOSET()‚ðƒ}ƒNƒ‚©‚çŠÖ”‚É•ÏX + realloc_fifo()’ljÁ + +EƒT[ƒo[ŠÔ’ÊMFIFO‚̃oƒbƒtƒ@ƒTƒCƒY‚ð‘å‚«‚­‚µ‚½ + E‘å—ʂ̃f[ƒ^‚ª’ÊM‚³‚ꂽ‚Æ‚«‚Ƀf[ƒ^ˆ—’x‰„‚ª‹N‚«‚É‚­‚­‚·‚邽‚ßB + Eƒƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚½B(‚¬‚肬‚è‚Ìl‚Í65536‚ÉÝ’è‚·‚é‚ÆŒ³’Ê‚è‚É‚È‚é) + EƒT[ƒo[ŠÔ’ÊM‚ÌFIFOƒTƒCƒY‚Í mmo.h ‚Å’è‹`‚³‚ê‚Ä‚¢‚éB + •ÏX‚·‚éꇂÍ64KB(65536)ˆÈã‚Ì’l‚É‚·‚邱‚ÆB + ‘å‚«‚­‚·‚é‚Æ‹‘åƒf[ƒ^ŽóMŽž‚Ì’x‰„‚ªŒ¸‚邪ƒƒ‚ƒŠ‚𑽂­Žg‚¤B + E@kickallŽž‚ȂǂɃf[ƒ^‘—M‚ªŒƒ‚µ‚­‚È‚é‚Ì‚Å•ÏX‚µ‚½‚ªA + “¯ŽžƒƒOƒCƒ“l”‚ª­‚È‚¢‚Æ‘‚₵‚Ä‚àˆÓ–¡‚Í–³‚¢B + + (common/) + mmo.h + FIFOSIZE_SERVERLINKƒ}ƒNƒ’ljÁB + (login/) + login.c + 2710ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + (char/) + char.c + 2af8ƒpƒPƒbƒg‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + check_connect_login_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + (map/) + chrif.c + check_connect_char_server()‚Årealloc_fifo()‚ðŒÄ‚Ԃ悤‚É + +-------------------- +//0878 by huge + +EƒJƒvƒ‰‹âsƒT[ƒrƒXB + Ž©•ª‚ÌŽI‚ÅŽÀ‘•‚µ‚Ä‚½‚ñ‚Å‚·‚ªAˆÓŠO‚ÆDŠ´G‚¾‚Á‚½‚Ì‚Åo‚µ‚Ä‚Ý‚Ü‚·B + NPCscript‚ÅAopenbank(0);‚Å—a‹àŠz‚ð•Ô‚µ‚ÄA’†‚É”Žš‚ð“ü‚ê‚é‚Æo‚µ“ü‚ꂵ‚Ü‚·B + Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚𓯕•‚µ‚½‚Ì‚ÅA‚»‚ê‚ðŽQÆB + + (common/) + mmo.h + struct bank ’ljÁB + (map/) + map.c + do_final(),do_init() C³B + script.c + buildin_openbank() ’ljÁB + storage.c + storage.h + ƒOƒ[ƒoƒ‹•Ï”’ljÁB + do_init_bank(),do_final_bank(),account2bank() ’ljÁB + storage_bank(),storage_readbank() ’ljÁB + +-------------------- +//0877 by ŒÓ’±—– + +EloginŽI‚̃AƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‚ªƒlƒbƒgƒ}ƒXƒN•\‹L‚ɑΉž + 192.168.0.0/24 ‚â 192.168.0.0/255.255.0.0 ‚Æ‚¢‚Á‚½•\‹L‚ɑΉžB +Ebattle_athena.conf‚ÉGM‚ª–³ðŒ‚Å‘•”õ•i‚ð‘•”õ‚Å‚«‚é• + –³ðŒ‚ŃXƒLƒ‹‚ðŽg—p‚Å‚«‚éÝ’è’ljÁ + ‚±‚ê‚ç‚̓fƒoƒO—p‚È‚Ì‚Å“®ì‚É•s“s‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + (login/) + login.c + check_ip()C³,check_ipmask()’ljÁ + (map/) + battle.c/battle.h + battle_config‚Égm_allequip,gm_skilluncond’ljÁ + battle_config_read()C³X + skill.c + skill_check_conditio()C³ + pc.c + pc_isequp()C³ + (doc/) + conf_ref.txt + allow•ÏXAgm_all_equipmentAgm_skill_unconditional’ljÁ + +-------------------- +//0876 by Ž€_ + +Eׂ©‚¢ƒoƒOC³B +E@ƒRƒ}ƒ“ƒh‚ɃeƒXƒg‚ׂ̈ɓü‚ê‚Ä‚¢‚½•¨‚ª“ü‚Á‚Ä‚¢‚½‚Ì‚ÅC³B +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽË’ö‚ð5‚©‚ç4‚ÉC³(–{ŽIŽË’ö‚Í•s–¾)‚ƃŠƒUƒŒƒNƒVƒ‡ƒ“‚ª–³‘®«‚¾‚Á‚½‚̂𹑮«‚ÉC³B + (db/) + skill_db.txt C³B + (map/) + mob.c + mob_catch_delete()Amob_stop_walking() C³B + storage.c + storage_additem() C³B + pc.c + pc_damage()Apc_stop_walking() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + battle.c + battle_calc_magic_attack() C³B + skill.c + skill_check_condition() C³B + atcommand.c C³B + +-------------------- +//0875 by ŒÓ’±—– + +Eparty_share_level‚ðinter_athena.conf‚Ɉڂµ‚½ + (ƒp[ƒeƒBŠÖ˜A‚̈—‚ÌŠÇŠ‚ªinterŽI‚Ì‚½‚ß) +Einter_athena.conf‚Éinter_log_file€–ڒljÁ +EƒMƒ‹ƒhì¬/‰ðŽU/éè—Ì/é”jŠü‚ªƒƒO‚ÉŽc‚é‚悤‚É +EƒMƒ‹ƒh‰ðŽUŽž‚Ƀƒ‚ƒŠƒŠ[ƒN‚µ‚Ä‚¢‚½–â‘è‚ðC³ + (char/) + char.c/char.h + party_share_levelŠÖ˜A + (inter/) + inter.c/inter.h + party_share_level / inter_log_file ŠÖ˜A + ƒƒOo—Í—p‚Éinter_log()’ljÁ + int_guild.c + ì¬/‰ðŽU/éè—Ì/é”jŠü‚ðƒƒO‚Éo—Í + ƒƒ‚ƒŠƒŠ[ƒNC³ + (doc/) + conf_ref.txt + C³ + +EƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg“Y•t‚È‚Ç + EŽ©ŒÈÓ”C•Úׂȉðà–³‚µAŽ¿–₳‚ê‚Ä‚àƒXƒ‹[‚·‚é‰Â”\«—L‚è + EƒGƒfƒBƒ^‚ÅŠJ‚¢‚½‚ç­‚µà–¾—L‚è + ECGIÝ’u‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ + + (tool/cgi/) + serverstatus.cgi + ƒT[ƒo[ó‘ÔŠm”F—pCGIƒXƒNƒŠƒvƒg + addaccount.cgi + à–¾C³ + +-------------------- +//0874 by Kalen +EWhiteDayƒCƒxƒ“ƒg’ljÁ + conf/npc/npc_event_whiteday.txt(V‹K) + ‚½‚¾A‚¨‰ÙŽq”„‚Á‚Ă邾‚¯‚Ý‚½‚¢cGM‚ª‚È‚É‚â‚é‚Ì‚©‚Í’m‚è‚Ü‚¹‚ñ‚ªB + sakRO‚Ì‚Ù‚¤‚ł̓zƒƒCƒgƒ`ƒ‡ƒR‚炵‚«‚à‚Ì‚ª’ljÁ‚³‚ꂽ‚Ì‚É + jRO‚ŒljÁ‚³‚ꂽ‚Ì‚Í—’d“P‹Žƒpƒbƒ`‚Ì‚Ý(*L„t`;)c + +EAlchemistƒMƒ‹ƒh‚Å“û”«A»‘¢‘‚ð•Ï‚¦‚é‚悤‚É + conf/npc/npc_job_alchemist.txt(V‹K) + “]EƒNƒGƒXƒg‚ª•ª‚©‚ç‚È‚©‚Á‚½‚̂ʼn·‚ß‚Ä‚¢‚Ü‚µ‚½‚ª + ”ƒ‚¦‚È‚¢‚Æ•s•Ö‚Æ•·‚¢‚½‚Ì‚ÅA’ljÁ + +EõFNPCŽÀ‘• + conf/npc/npc_event_dye.txt(XV) + ”¯Œ^•ÏX‚ªsakRO‚É—ˆ‚½‚炵‚¢‚Ì‚Å + ‚È‚ñ‚Æ‚È[‚­XV + +-------------------- +//0873 by Ž€_ + +E@ƒRƒ}ƒ“ƒhitem2‚Ækillmonster ’ljÁB +EƒXƒNƒŠƒvƒggetitem2‚Ækillmonsterall ’ljÁB +E–î쬂Åì‚ç‚ꂽ–î‚໑¢ŽÒ‚Ì–¼‘O‚ª•t‚­‚悤‚ÉC³B +Ebattle_athena.conf‚Émonster_class_change_full_recover’ljÁB +E‘•”õƒXƒNƒŠƒvƒg‚ÉbWeaponComaEle‚ÆbWeaponComaRace ’ljÁB +E­‚µŠÔˆá‚¢‚ª‚ ‚Á‚½ƒ_ƒ[ƒWŒvŽZŽ®C³B +EbInfiniteEndure‚̈—‚ðƒCƒ“ƒfƒ…ƒA•\Ž¦‚È‚µ‚Å“à•”ˆ—‚·‚é‚悤‚É•ÏXB +EƒI[ƒgƒXƒyƒ‹‚Åcastend_nodamage_id()‚ðŒÄ‚ÔƒXƒLƒ‹‚àŽg—p‚Å‚«‚é‚悤‚ÉC³B +E‚»‚Ì‘¼×‚©‚¢C³‚ƃoƒOC³B +E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒg‚Ȃ̂ŃoƒO‚ª‚ ‚Á‚½‚ç•ñ‚¨Šè‚¢‚µ‚Ü‚·B + (conf/) + help.txt C³B + atcommand_athena.conf C³B + battle_athena.conf C³B + char_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + item_bonus.txt C³B + script_ref.txt C³B + conf_ref.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + skill.h C³B + skill.c + skill_castend_nodamage_id()Askill_status_change_clear() C³B + skill_castend_id()Askill_castend_pos()Askill_arrow_create() C³B + skill_status_change_timer() C³B + pc.c + pc_calcstatus()Apc_bonus2()Apc_equipitem() C³B + pc_unequipitem()Apc_damage() C³B + battle.h C³B + battle.c + battle_get_dmotion()Abattle_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_magic_attack()Abattle_config_read() C³B + clif.c + clif_parse_LoadEndAck()Aclif_damage()Aclif_skill_damage() C³B + clif_skill_damage2() C³B + itemdb.h C³B + itemdb.c + itemdb_isequip3() ’ljÁB + mob.h C³B + mob.c + mob_delay_item_drop()Amob_damage()Amob_changestate() C³B + mob_class_change()Amob_delete()Amob_catch_delete() C³B + script.c + buildin_getitem() C³B + buildin_killmonsterall_sub()Abuildin_killmonsterall() ’ljÁB + atcommand.h C³B + atcommand.c + atcommand() C³B + atkillmonster_sub() ’ljÁB + +-------------------- +//0872 by ElFinLazz + +EƒXƒLƒ‹ƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[C³ +EƒXƒLƒ‹ƒMƒ€ƒ\ƒoƒ“ƒOƒhƒ“ƒ{ƒ‹ƒIƒbƒl‹ïŒ» +EƒXƒLƒ‹ƒAƒuƒ‰ƒJƒ_ƒu‚È‚ç‹`ƒR[ƒ}‹ïŒ» +EƒR[ƒ}‚Ì•ŠíƒIƒvƒVƒ‡ƒ“’ljÁ(Ží‘°, 番—¦) +EƒIƒvƒVƒ‡ƒ“à–¾’ljÁ + (db/) + const.txt C³. + (doc/) + item_bonus.txt C³. + (map/) + map.h C³. + skill.c + skill_castend_nodamage_id(), skill_unit_group(), skill_status_change_start() C³. + pc.c + pc_calcstatus(), pc_bonus2(), pc_gainexp() C³. + battle.c + battle_weapon_attack() C³. + +-------------------- +//0871 by Ž€_ + +E0869‚̃oƒOC³B +Echar_athena.conf‚Ælogin_athena.conf‚É€–ڒljÁB(ƒLƒƒƒ‰ŽI‚ƃƒOƒCƒ“ŽI‚̃ƒOƒtƒ@ƒCƒ‹‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½BƒfƒtƒHƒ‹ƒg‚Ålog/ƒtƒHƒ‹ƒ_[‚É“ü‚é‚Ì‚ÅlogƒtƒHƒ‹ƒ_[‚ðì‚é•K—v‚ª‚ ‚è‚Ü‚·B) +EƒGƒiƒW[ƒR[ƒg‚̈—‚ð­‚µC³Bƒ‚ƒ“ƒXƒ^[‚ªŽg‚Á‚½ê‡‚̓XƒLƒ‹ƒŒƒxƒ‹*6%‚Ì•¨—ƒ_ƒ[ƒW‚ðŒ¸‚ç‚·‚悤‚É•ÏXB +E•ŠíˆÈŠO‚Ì•¨‚ł໑¢ŽÒ‚Ì–¼‘O‚ð•\Ž¦‚·‚é‚悤‚É•ÏXB(–{ŽI‚ł̓vƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX‚ÆŽèì‚èƒ`ƒ‡ƒRƒŒƒbƒgˆÈŠO‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñ‚ªƒpƒPƒbƒg‚Í‚ ‚邱‚Æ‚¾‚µ“ü‚ê‚Ä‚Ý‚Ü‚µ‚½B) +E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B +E@ƒRƒ}ƒ“ƒhˆê‚‚ƃXƒNƒŠƒvƒgˆê‚‚ð’ljÁ‚µ‚Ü‚µ‚½‚ªà–¾‚ÍŒã‚̃pƒbƒ`‚Å‘‚«‚Ü‚·B + (conf/) + char_athena.conf C³B + login_athena.conf C³B + (doc/) + conf_ref.txt C³B + (login/) + login.c + parse_login()Alogin_config_read()Alogin_log() C³B + (char/) + char.h C³B + char.c + char_config_read()Amake_new_char()Aparse_char() C³B + int_party.c C³B + int_storage.c C³B + int_guild.c C³B + int_pet.c C³B + (map/) + map.h C³B + skill.c + skill_status_change_start()Askill_additional_effect() C³B + skill_castend_nodamage_id()Askill_check_condition() C³B + skill_status_change_clear()Askill_produce_mix() C³B + skill_status_change_timer() C³B + pc.c + pc_calcstatus()Apc_insert_card()Apc_additem()Apc_cart_additem() C³B + storage.c + storage_additem() C³B + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B + clif.c + clif_additem()Aclif_equiplist()Aclif_storageequiplist() C³B + clif_tradeadditem()Aclif_storageitemadded()Aclif_use_card() C³B + clif_cart_additem()Aclif_cart_equiplist()Aclif_vendinglist() C³B + clif_openvending()Aclif_arrow_create_list() C³B + clif_skill_produce_mix_list()Aclif_parse_SelectArrow() C³B + clif_parse_ProduceMix() C³B + script.c + buildin_produce() C³B + buildin_getitem2() ’ljÁB + atcommand.c + atcommand() C³B + +-------------------- +//0870 by shuto + +Emapflag‚ÌUéíMAP‚Énomemo’ljÁ +EƒMƒ‹ƒh•ó” ‚ÅA•ó” oŒ»‚Æ“¯Žž‚ÉMAPŽI‚ª—Ž‚¿‚é–â‘èC³(by ‚Ò‚´‚Ü‚ñ) + +-------------------- +//0869 by Ž€_ + +Ebattle_athena.conf‚Éplayer_land_skill_limitAmonster_land_skill_limitAparty_skill_penaly ’ljÁB +Echar_athena.conf‚Éparty_share_level ’ljÁB +E‚»‚Ì‘¼×‚©‚¢C³B + (conf/) + char_athena.conf C³B + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (char/) + char.h C³B + char.c + char_config_read() C³B + int_party.c + party_check_exp_share() C³B + (map/) + map.h C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_status_change_start() C³B + skill_castend_pos() C³B + pc.c + pc_calcstatus() C³B + mob.c + mobskill_castend_pos() C³B + battle.h + battle.c + battle_get_adelay()Abattle_get_amotion()Abattle_calc_damage() C³B + battle_config_read() C³B + pet.c + pet_data_init() C³B + +-------------------- +//0868 by Ž€_ + +Eƒ}ƒWƒbƒNƒƒbƒhŽÀ‘•‚ƃXƒyƒ‹ƒuƒŒƒCƒJ[C³B +Eƒ}ƒWƒbƒNƒƒbƒh‚Ìꇖ{ŽI‚ÅŽg‚Á‚Ä‚à‚È‚ñ‚Ì•\Ž¦‚à‚È‚­”­“®‚Ì‘O‚É‚ÍŽg‚Á‚½‚©‚Ç‚¤‚©‚ÌŠm”F‚ª‚Å‚«‚È‚¢‚̂ŃXƒLƒ‹‰r¥ƒpƒPƒbƒg(0x13e)‚ð—˜—p‚µ‚ÄŽg—p‚·‚鎞ƒXƒLƒ‹–¼‚ªo‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B(–{ŽI‚ƈႤ‚¼‚Æ‚©‚Å•¶‹å‚ª‚±‚È‚¢‚悤‚É) +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‰r¥ƒLƒƒƒ“ƒZƒ‹‚ÉŠÖŒW‚È‚­skill_db.txt‚Éݒ肳‚ê‚Ä‚éskill_type‚ªmagic‚̃XƒLƒ‹‚Ì‚Ý”j‚邱‚Æ‚ª‚Å‚«‚Ü‚·B(ƒ‰ƒOƒiƒQ[ƒg‚Ìà–¾‚ð“K—p) +Eskill_db.txt‚Ì‘Ž®‚ª•Ï‚í‚Á‚½‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢BƒmƒbƒNƒoƒbƒN‹——£‚ÌÝ’è‚à‚Å‚«‚Ü‚·‚ª”O‚ׂ̈ɂ¢‚Á‚Ä‚¨‚«‚Ü‚·‚ªAŽI‚ł̃eƒXƒg‚ÅFW‚̃mƒbƒNƒoƒbƒN‹——£‚Í2‚ŃTƒ“ƒN‚à2‚Å‚ ‚邱‚Æ‚ðŠm”F‚µ‚Ä‚¢‚Ü‚·BŠØ‘‚Ì2003”N11ŒŽ19“úƒpƒbƒ`‘O‚ÌŽI‚Å‚Í‚ ‚è‚Ü‚·‚ª2-2‚Í“K—p‚³‚ê‚Ä‚¢‚銂Ȃ̂Ŗ{ŽI‚̈Ⴂ‚Í‚È‚¢‚ÆŽv‚¢‚Ü‚·B +E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B +E0867‚Å‘‚«–Y‚êBƒ‚ƒ“ƒXƒ^[‚̃q[ƒ‹‚ŃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚ªUŒ‚‚³‚ê‚ÄŽ©–Å‚·‚é‚̂Ńq[ƒ‹‚⃊ƒU‚Ìê‡mob_skill_db.txt‚Ìval1(’l1)‚É1‚ð“ü‚ê‚é‚ƃAƒ“ƒfƒbƒhƒ‚ƒ“ƒXƒ^[‚àUŒ‚‚ðŽó‚¯‚¸‰ñ•œ‚·‚é‚悤‚É‚È‚è‚Ü‚·B–{ŽI‚ł̓‚ƒ“ƒXƒ^[‚̃q[ƒ‹‚̓Aƒ“ƒfƒbƒh‚ÉŠÖŒW‚È‚­‰ñ•œ‚·‚é‚悤‚Å‚·B‚½‚¾ŒÂl“I‚ɂ̓]ƒ“ƒr‚ªƒq[ƒ‹‚µ‚ÄŽ©–Å‚·‚é•û‚ª³‚µ‚¢‚ÆŽv‚¤‚Ì‚Åmob_skill_db.txt‚ÅÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ä‚¨‚è‚Ü‚·B + (doc/) + db_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + skill.h C³B + skill.c + skill_status_change_start()Askill_status_change_end() C³B + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + skill_attack()Askill_status_change_timer()Askill_castcancel() C³B + skill_unit_onplace()Askill_use_id()Askill_castend_id() C³B + skill_readdb() C³B + skill_get_blewcount() ’ljÁB + mob.c + mobskill_use_id()Amob_spawn()Amob_attack() C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack()Abattle_weapon_attack() C³B + clif.c + clif_damage() C³B + pet.c + pet_attack() C³B + pc.c + pc_attack_timer()Apc_authok() C³B + pc_spirit_heal()Apc_natural_heal_sub() C³B + +-------------------- +//0867 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B +Ebattle_athena.conf‚Éplayer_undead_nofreeze’ljÁB +EV‚µ‚¢ƒAƒCƒeƒ€ƒpƒPƒbƒg‚ɑΉžB(PACKETVER‚ð5ˆÈã‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B) +Emob_avail.txt‚ŃvƒŒƒCƒ„[‚ÌŽp‚ðŽw’肵‚½ŽžƒyƒRƒyƒR‚â‘é‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É•ÏXB“ª‰º’iŽŸ‚ɃIƒvƒVƒ‡ƒ“‚ðÝ’è‚Å‚«‚Ü‚·B(‚½‚¾ƒnƒCƒfƒBƒ“ƒO‚ƃNƒ[ƒLƒ“ƒO‚ÍŽw’è‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) + makefile C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + client_packet.txt C³B + (map/) + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_config_read() C³B + clif.c + clif_mob_class_change()Aclif_spawnmob()Aclif_spawnpet() C³B + clif_damage()Aclif_skill_damage()Aclif_skill_damage2() C³B + clif_itemlist()Aclif_cart_itemlist()Aclif_storageitemlist() C³B + clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() C³B + pc.c + pc_attack_timer() C³B + skill.c + skill_castend_nodamage_id()Askill_additional_effect() C³B + skill_status_change_start() C³B + mob.h C³B + mob.c + mobskill_castend_id()Amob_getfriendstatus_sub() C³B + mob_readdb_mobavail() C³B + +-------------------- +//0866 by ‚Ò‚´‚Ü‚ñ + +EMOTD‚̃ƒbƒZ[ƒW‚ð‘S‚Ä•ÒW‚Å‚«‚é‚悤‚É•ÏXB +EƒNƒ[ƒ“ƒXƒLƒ‹ŽÀ‘•B +@ƒhƒ‹•ž‚̃q[ƒ‹ƒAƒ^ƒbƒN‚É‚æ‚éƒq[ƒ‹K“¾‚Í–¢ƒeƒXƒg‚Å‚·B +EƒMƒ‹ƒh•ó” ‰¼ŽÀ‘•B +@ƒ”ƒ@ƒ‹ƒLƒŠ[‚P‚Ì‚Ý‚Å‚·B +@¤‹Æ“ŠŽ‘‚É‚æ‚é•ó” ŒÂ”‚ÌŽZoŽ®‚Í“K“–‚Å‚·(‰ŠúŒÂ”4ŒÂ‚Æ‚µ‚©’m‚ç‚È‚¢‚Ì‚Å)B +@OnclockƒCƒxƒ“ƒg‚Å“®ì‚³‚¹‚Ä‚¢‚Ü‚·B”CˆÓ‚ÌŽž‚É•ÏX‚µ‚Ä‚­‚¾‚³‚¢B +EAthenaDBŒv‰æ‚Ìmob_db.txt‚Æmapflag.txt‚ð“ü‚ê‚Ä‚¨‚«‚Ü‚µ‚½B + + (map/) + pc.c + pc_makesavestatus()Apc_calc_skilltree() C³B + pc_allskillup()Apc_calc_skillpoint() C³B + pc_resetskill()Apc_authok() C³B + skill.c + skill_attack() C³B + map.h C³B + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt C³B + motd.txt C³B + mapflag.txt C³B + (db/) + mob_db.txt C³B + +-------------------- +//0865 by ‚Ò‚´‚Ü‚ñ + +EŽ©•ª‚ªè—Ì‚µ‚Ä‚¢‚éƒAƒWƒg‚̃Gƒ“ƒyƒŠƒEƒ€‚ðUŒ‚‚Å‚«‚½ƒoƒOC³B +EƒAƒuƒ‰ƒC‚ªè—̃Mƒ‹ƒhƒƒ“ƒo[‘Sˆõ‚ðƒ}ƒXƒ^[‚Æ‚Ý‚È‚µ‚Ä‚¢‚½ƒoƒOC³B +@‚±‚ÌC³‚É”º‚Á‚ăXƒNƒŠƒvƒgƒŠƒtƒ@ƒŒƒ“ƒX‚ɉü•Ï‚ª‚ ‚è‚Ü‚·B + Egetcharid(0)‚ÅAŽ©•ª‚ÌcharID‚ð•Ô‚·‚悤‚ÉB + Egetguildmasterid()’ljÁB + @=ƒMƒ‹ƒhID + @ŠY“–ƒMƒ‹ƒh‚̃}ƒXƒ^[‚ÌcharID‚ð•Ô‚µ‚Ü‚·B + + (map/) + guild.c + guild_mapname2gc() ’ljÁB + battle.c + battle_calc_damage() C³B + script.c + buildin_getcharid() C³B + buildin_getguildmasterid() ’ljÁB + ƒ[ƒJƒ‹ƒvƒƒgƒ^ƒCƒv錾‚̈ꕔ‚ðC³A’ljÁB + guild.h C³B + +-------------------- +//0864 by ŒÓ’±—– + +EinterŽI‚Ìwis‚̈—•ÏX + EŽ©‘OƒŠƒ“ƒNƒŠƒXƒg‚©‚çdb.h‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ðŽg—p‚·‚é‚悤‚É + EWIS‚ÌID‚ð16ƒrƒbƒg‚©‚ç32ƒrƒbƒg‚É‘‚₵‚½iƒpƒPƒbƒg‚àC³j + EƒƒbƒZ[ƒW‚̃TƒCƒYƒ`ƒFƒbƒN‚ð“ü‚ꂽ + EƒpƒPƒbƒgƒXƒLƒbƒv‚ª“ñ‰ñs‚í‚ê‚é‰Â”\«‚ª‚ ‚éƒoƒOC³ + + (char/) + inter.c + wisŠÖŒW‘å••ÏX + (map/) + intif.c + wisŠÖŒW‚ÌC³BŽå‚ɃpƒPƒbƒgˆ—B + (doc/) + inter_server_packet.txt + ƒpƒPƒbƒg3002,3801‚ð•ÏX + +-------------------- +//0863 by Ž€_ + +Eׂ©‚¢C³B +Ebattle_athena.conf‚Éplayer_attack_direction_change’ljÁB +Emob_skill_db.txt‚ðC³‚·‚鎞’§”­‚ÌC³‚ðŠÔˆá‚Á‚ÄC³B +Eƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹Ž©”š–â‘èC³B(–¢ƒeƒXƒg) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + mob_skill_db.txt C³B + (map/) + mob.c + mobskill_use_id()Amobskill_use()Amobskill_castend_id() C³B + pc.c + pc_skill()Apc_attack_timer() C³B + skill.c + skill_castend_damage_id() C³B + battle.h C³B + battle.c + battle_weapon_attack()Abattle_config_read() C³B + +-------------------- +//0862 by ŒÓ’±—– + +EmobƒXƒLƒ‹Žg—pðŒ’ljÁ + Efriendhpltmaxrate : –¡•û‚ÌHP‚ªŽw’è“–¢–ž‚Ì‚Æ‚«(ƒeƒXƒgÏ‚Ý) + Efriendstatuson : –¡•û‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚é‚Æ‚« + Efriendstatusoff : –¡•û‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚È‚¢‚Æ‚« + Emystatuson : Ž©•ª‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚é‚Æ‚« + Emystatusoff : Ž©•ª‚ªŽw’肵‚½ƒXƒe[ƒ^ƒXˆÙí‚É‚È‚Á‚Ä‚¢‚È‚¢‚Æ‚« + ƒXƒe[ƒ^ƒXŒn‚Í–¢ƒeƒXƒg‚Å‚·Bmob_skill_db.txt‚ÉŽw’è•û–@‚ð‘‚¢‚Ä‚¢‚Ü‚·B + ‚½‚Æ‚¦‚ÎŽ©•ª‚ª“Å‚©‚Ç‚¤‚©‚Í mystatus,poison ‚ÅA + ƒnƒCƒfƒBƒ“ƒO’†‚©‚Ç‚¤‚©‚Í mystatuson,hiding ‚ÅŽw’肵‚Ü‚·B +EmobƒXƒLƒ‹Žg—pƒ^[ƒQƒbƒg’ljÁ + Efriend : –¡•û + Earound : Ž©•ª‚ÌŽüˆÍiŒ»Ý‚ÌŽd—l‚Å‚ÍŽüˆÍ81ƒ}ƒXj‚Ì‚Ç‚ê‚© + Earound1`around4 : Ž©•ª‚ÌŽüˆÍ‚X,25,49,81ƒ}ƒX‚Ì‚Ç‚ê‚©(”͈͂𖾎¦) + friend‚ÍðŒ‚ªfriendŒn(friendhpltmaxrate‚È‚Ç)‚Ì‚Æ‚«‚ÉŽg—p‰Â”\B + aroundŒn‚Íꊎw’èƒXƒLƒ‹‚ÅŽg—p‰Â”\B + + (map/) + mob.c / mob.h + mob_getfriend*()’ljÁAmobskill_use()C³‚È‚Ç + (db/) + mob_skill_db.txt + ʼn‚Ìà–¾‚Ì‚ÝC³Bƒf[ƒ^‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB + +-------------------- +//0861 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------------- +//0860 by J + +EŽ€_‚³‚ñ‚̎艺¢Š«‚ÌC³‚ɇ‚킹‚ÄMOBƒXƒLƒ‹DB‚ðC³ +(/conf) + mob_skill_db.txt C³B + +-------------------- +//0859 by Ž‚Žqo^.^o +Alchemist warp C³(AegisŽQl) +(/conf) + (/warp) + npc_warp_job.txt C³ + +-------------------- +//0858 by Ž€_ + +Eׂ©‚¢C³B +EMAX_MOBSKILL‚ð24‚©‚ç32‚É•ÏXB(‚½‚¾­‚µ‚Å‚·‚ª‚Ü‚½ƒƒ‚ƒŠ[Žg—p—Ê‚ª‘‚¦‚Ü‚·B) +Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚ÅŽæ‚és“®‚ðmob_skill_db.txt‚Ìval1(’l1)‚ÅÝ’è‚Å‚«‚é‚悤‚ÉC³B +EŽè‰º¢Š«‚Å•¡”‚ÌŽí—Þ‚ðÝ’èoØ‚é‚悤‚ÉC³B(Å‘å5‚‚܂Å) +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚ƃgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚à•¡”‚ÌŽí—Þ‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B + (db/) + skill_db.txt C³B + mob_skill_db.txt C³B + (map/) + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + map.h C³B + mob.h C³B + mob.c + mob_readskilldb()Amob_summonslave()Amob_class_change() C³B + +-------------------- +//0857 by J + +EOWN Ragnarok‚É‚Ì‚Á‚Ä‚¢‚½î•ñ‚ðŒ³‚ÉMOBƒXƒLƒ‹‚ðC³B +Echase(“ËŒ‚)‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚é‚Æ‚Ì‚±‚Æ‚È‚Ì‚Å“ËŒ‚(?)‚ðchase‚É‚©‚¦‚Ä +ƒRƒƒ“ƒgƒAƒEƒg‚ð‚Í‚¸‚µ‚Ü‚µ‚½B +EŽ€_‚³‚ñ‚ªŽÀ‘•‚µ‚½MOBƒXƒLƒ‹‚ðŽg—p‚·‚郂ƒ“ƒXƒ^[‚ðŽëêî•ñ‚ÉÚ‚Á‚Ä‚éî•ñ‚ðŒ³‚ÉŽÀ‘•B + (/conf) + mob_skill_db.txt + +-------------------- +//0856 by Ž€_ + +EƒoƒOC³‚Æׂ©‚¢C³B +Ebattle_athena.conf‚Émonster_attack_direction_change’ljÁB +Ebattle_athena.conf‚Ìbasic_skill_check‚ƃJƒvƒ‰‚Ì‘qŒÉ—˜—p‚ð‡‚킹‚Ä‚¢‚Ü‚µ‚½‚ª‚¢‚‚̂܂ɂ©‚È‚­‚È‚Á‚½‚Ì‚ÅŽæ‚è–ß‚µB(basic_skill_check‚ªno‚È‚çŠî–{‹@”\ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚È‚­‘qŒÉ‚ðŽg‚¦‚Ü‚·B) +EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚ÌŽË’ö‚ð3ƒZƒ‹‚É•ÏX‚µ‚Ä‹ßÚUŒ‚‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚ÉC³B +EAŽI‚ł̃eƒXƒg‚ŃAƒ“ƒfƒbƒh‚Ì”FŽ¯‚ð‘®«‚É‚æ‚Á‚Ä‚·‚邱‚Æ‚ª‚í‚©‚Á‚½‚Ì‚Åundead_detect_type‚̃fƒtƒHƒ‹ƒg‚ð0‚É•ÏXB +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚âƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“‚ÅŒ©‚½–Ú‚ªƒvƒŒƒCƒ„[‚È‚ç0x1b0ƒpƒPƒbƒg‚ð‘—‚ç‚È‚¢‚悤‚É•ÏXB +Eƒjƒ…[ƒ}ƒoƒO‚ÍC³‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªƒXƒLƒ‹ƒ†ƒjƒbƒg‚ÌŽžŠÔ‚É‚æ‚éì“®Žd—l‚Í‚Ü‚¾•ªÍ‚ªŠ®‘S‚¶‚á‚È‚¢‚Ì‚Å‘¼‚Ì•s‹ï‡‚ªo‚Ä‚­‚é‚©‚à... + (conf/) + battle_athena.conf C³B + mapflag.txt C³B(•’ʂ̃_ƒ“ƒWƒ‡ƒ“‚ªƒV[ƒYƒ‚[ƒh‚Å‚ ‚é‚Í‚¸‚ª‚È‚¢‚Ì‚Å) + (conf/npc/) + npc_town_kafra.txt C³B + (db/) + skill_db.txt C³B + (doc/) + conf_ref.txt C³B + script_ref.txt C³B + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() C³B + battle.h + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B + battle_config_read() C³B + skill.c + skill_unitsetting()Askill_castend_damage_id() C³B + skill_castend_nodamage_id() C³B + mob.c + mob_attack() C³B + pet.c + pet_attack() C³B + clif.c + mob_class_change() C³B + +-------------------- +//0855 by asong + +Eƒƒ^ƒ‚ƒ‹ƒtƒH[ƒVƒX‚Å‚o‚b‚Æ‚µ‚Ä•\Ž¦‚·‚é‚l‚n‚a‚ðŽw’肵‚½ê‡‘q—Ž‚¿‚·‚éƒoƒO‚ðuŽb’èvC³B +E0x1b0ƒpƒP‚Å‚Í–³‚­0x7b‚ðŽg‚¤‚±‚Ƃʼn½‚Æ‚©‚µ‚Ä‚¢‚Ü‚·B +EŽg‚¢•ª‚¯‚ð‚µ‚½‚¢‚Æ‚±‚ë‚Å‚·‚ª“–•û‚b‚Ì’mŽ¯‚ª–³‚­ðŒ•ªŠò‚ªãŽè‚­‚¢‚«‚Ü‚¹‚ñ‚Å‚µ‚½B +E‚à‚µ‚©‚µ‚½‚çƒvƒp‚Ì›z‰»i‰H‰»Hj‚ª‚¨‚©‚µ‚­‚È‚Á‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + (/map) + clif.c + mob_class_change() C³B + +-------------------- +//0854 by Kalen + +E•s‘«‚µ‚Ä‚¢‚½ˆêŽŸE“]EƒNƒGƒXƒg’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤WarpAMobC³) + (/conf) + (/npc) + npc_job_archer.txt + npc_job_swordman.txt + npc_job_thief.txt(‘䎌C³A“_”ˆ—•ÏX) + npc_job_magician.txt + (/warp) + npc_warp25.txt(ˆê•”ˆÚ“®) + npc_warp.txt(ˆê•”ˆÚ“®) + npc_warp_job.txt(VÝ) + (/mob) + npc_mob_job.txt +E—Õ‚èQuest’ljÁ‹y‚ÑA‚»‚ê‚É”º‚¤NPCC³BƒAƒ}ƒcs‚«‘D‚Å—¿‹à‚ðŽæ‚ç‚È‚©‚Á‚½–â‘èC³ + (/conf) + npc_event_hinamatsuri.txt + npc_town_amatsu.txt + npc_town_guide.txt + npc_town_kafra.txt + —Õ‚è‚ð—LŒø‚É‚·‚é‚ƃAƒ}ƒcƒJƒvƒ‰‚ðW‚ÉA + ƒAƒ‹ƒxƒ‹ƒ^“ìƒJƒvƒ‰‚ð휂ɂ·‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B + +-------------------- +//0853 by Ž€_ + +EƒoƒOC³‚ÆNPCƒXƒLƒ‹ŠÖŒW‚ÌC³B +Eƒ_[ƒNƒuƒŒƒX‚ðMISCUŒ‚‚É•ÏXB(‚½‚¾–½’†”»’è—L‚è) +EƒNƒŠƒeƒBƒJƒ‹ƒXƒ‰ƒbƒVƒ…AƒRƒ“ƒ{ƒAƒ^ƒbƒNAƒKƒCƒfƒbƒhƒAƒ^ƒbƒNAƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒNAƒuƒ‰ƒCƒ“ƒhƒAƒ^ƒbƒNAƒJ[ƒXƒAƒ^ƒbƒNAƒyƒgƒŠƒtƒ@ƒCƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒTƒCƒŒƒ“ƒXƒAƒ^ƒbƒNAƒXƒŠ[ƒvƒAƒ^ƒbƒNAƒXƒ^ƒ“ƒAƒ^ƒbƒNAƒ‰ƒ“ƒ_ƒ€ƒAƒ^ƒbƒNAƒ_[ƒNƒlƒXƒAƒ^ƒbƒNAƒtƒ@ƒCƒAƒAƒ^ƒbƒNAƒOƒ‰ƒEƒ“ƒhƒAƒ^ƒbƒNAƒz[ƒŠ[ƒAƒ^ƒbƒNAƒ|ƒCƒYƒ“ƒAƒ^ƒbƒNAƒeƒŒƒLƒlƒXƒAƒ^ƒbƒNAƒEƒH[ƒ^[ƒAƒ^ƒbƒNAƒEƒBƒ“ƒhƒAƒ^ƒbƒNAƒ}ƒWƒJƒ‹ƒAƒ^ƒbƒNAƒuƒ‰ƒbƒhƒhƒŒƒCƒ“Aƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚̓‚ƒ“ƒXƒ^[‚Ì•ŠíŽË’ö‚É•ÏXB‚»‚µ‚Ä‚±‚ê‚ç‚̃XƒLƒ‹‚ðƒ‚ƒ“ƒXƒ^[‚ÌUŒ‚ŽË’ö‚É‚æ‚Á‚ĉ“‹——£UŒ‚‚Æ‹ß‹——£UŒ‚‚É‚È‚é‚悤‚É•ÏXB +EƒsƒA[ƒVƒ“ƒOƒAƒ^ƒbƒN‚Í•ŠíŽË’ö+2‚É•ÏXB +EƒGƒiƒW[ƒhƒŒƒCƒ“Aƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“‚Í–‚–@ŽË’ö‚É•ÏXB +Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚ÌŽË’ö‚ð4‚É•ÏX‚Æ‚©‚©‚éŠm—¦‚ð50+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚É•ÏXB(ˆê‰ž‚±‚ê‚à–‚–@‚È‚Ì‚Å­‚µŽË’ö‚ðL‚­‚µ‚Ü‚µ‚½BŠî–{–‚–@ŽË’ö‚Å‚ ‚é8‚É•Ï‚¦‚é‚ׂ«‚È‚Ì‚©‚Ç‚¤‚©‚Í”÷–­...) +EƒKƒCƒfƒbƒhƒAƒ^ƒbƒN‚̓ZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚𖳌ø‚É‚·‚é•ñ‚ª‚ ‚è‚Ü‚µ‚½‚̂ŃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚ªŒø‚©‚È‚¢‚悤‚ÉC³B +EƒfƒBƒtƒFƒ“ƒ_[‚̓GƒtƒFƒNƒg‚¾‚¯o‚é‚悤‚ÉC³B(ƒXƒLƒ‹‚ÌŽd—l“™‚ð‚í‚©‚é•û‚Íî•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) +Eƒgƒ‰ƒ“ƒXƒtƒH[ƒ[ƒVƒ‡ƒ“ŽÀ‘•B(ƒƒ^ƒ‚[ƒtƒHƒVƒX‚Æ“¯‚¶•¨‚¾‚»‚¤‚Å‚·B‚½‚¾‚±‚ê‚Í‘S‘RŠÖŒW‚È‚¢•Ê‚̃‚ƒ“ƒXƒ^[‚ɂȂ镨‚炵‚¢‚Å‚·Bƒjƒtƒ‹ƒwƒCƒ€‚ÉŽg‚¤‚â‚‚ª‚¢‚é‚Ý‚½‚¢‚Å‚·B) +EAthenaŽG’kƒXƒŒƒbƒh ‘´‚Ì“ó‚Ì80‚ðscript_ref.txt‚Æ‚µ‚ĒljÁ‚Æ‚¿‚å‚Á‚ÆC³B + (db/) + skill_db.txt C³B + (doc/) + script_ref.txt ’ljÁB + (map/) + battle.c + battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + skill.c + castend_damage_id()Acastend_nodamage_id()Askill_use_pos() C³B + clif.c + clif_spawnnpc()Aclif_parse_Restart()Aclif_parse_QuitGame() C³B + mob.c + mobskill_castend_id()Amobskill_castend_pos() C³B + mobskill_use_id()Amobskill_use_pos() C³B + +-------------------- +//0852 by ‚Ò‚´‚Ü‚ñ + +E‹T“‡4FE‹aD2FEƒAƒ}ƒcD1F‚ðƒeƒŒƒ|•s‰ÂAƒV[ƒYƒ‚[ƒh‚É•ÏXB +Enosave‚̈ø”‚ÉSavePoint‚ªŽw’è‚Å‚«‚Ä‚È‚©‚Á‚½‚̂ŒljÁB +EPVP‚Ìmapflag‚ðmapflag.txt‚É“‡B + (map/) + npc.c + npc_parse_mapflag() C³B + (conf/) + mapflag.txt C³B + npc/npc_pvp.txt C³B + +-------------------- +//0851 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚̈Ɖ»key‚ªí‚É“¯‚¶‚Æ‚¢‚¤‘å‚«‚È–â‘肪‚ ‚Á‚½‚Ì‚ÅC³ +EƒƒOƒCƒ“ŠÇ—ŽÒƒƒOƒCƒ“(ladmin‚ÅŽg—p)‚ŃpƒXƒ[ƒh‚̈Ɖ»‚ɑΉž + (login/) + login.c + login_session_dataì¬AˆÃ†‰»key‚ðƒNƒ‰ƒCƒAƒ“ƒg‚²‚Æ‚Éì¬‚È‚Ç + (tool/) + ladmin + ver.1.05‚ÉBƒfƒtƒHƒ‹ƒg‚ŃpƒXƒ[ƒh‚ðˆÃ†‰»‚·‚é‚悤‚ÉB + ˆÃ†‰»‚Ì‚½‚ß‚ÉDigest::MD5ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚µ‚Ü‚·B + Digest::MD5‚ª–³‚¢ê‡‚̓pƒXƒ[ƒh‚̈Ɖ»‚ðs‚¢‚Ü‚¹‚ñB + (doc/) + admin_packet.txt + ƒƒOƒCƒ“ƒT[ƒo[ŠÇ—ƒƒOƒCƒ“•”•ª•ÏX + +-------------------- +//0850 by Ž€_ + +ENPCƒXƒLƒ‹ŽÀ‘•B(ƒnƒ‹ƒVƒl[ƒVƒ‡ƒ“AƒL[ƒsƒ“ƒOAƒŠƒbƒNAƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[Aƒvƒƒ{ƒP[ƒVƒ‡ƒ“AƒoƒŠƒ„[Aƒ_[ƒNƒuƒŒƒbƒVƒ“ƒOAƒ_[ƒNƒuƒŒƒX) +EƒXƒLƒ‹Ž©”š‚̧ŒÀ‚Ímob_skill_db.txt‚Å‚â‚ê‚΂¢‚¢‚à‚Ì‚È‚Ì‚ÅŽæ‚è–ß‚µB +Ebattle_athena.conf‚Épet_hungry_friendly_decrease’ljÁB +Eƒyƒbƒg‚Ì• ‚ªŠ®‘S‚ÉŒ¸‚é‚ÆŽx‰‡UŒ‚‚𒆎~‚·‚é‚悤‚É•ÏXB +E‘®«•ÏXƒXƒLƒ‹‚ªì“®‚µ‚È‚©‚Á‚½–â‘èC³B +Eƒƒ“ƒ^ƒ‹ƒuƒŒƒCƒJ[‚Í10+ƒXƒLƒ‹ƒŒƒxƒ‹*5%‚ÌSP‚ðŒ¸‚ç‚·B(UŒ‚‚Í’Êí•ŠíƒXƒLƒ‹UŒ‚) +EƒŠƒbƒN‚Í•K’†‚ÅSP-100AƒXƒ^ƒ“Šm—¦ƒXƒLƒ‹ƒŒƒxƒ‹*5%B(ƒ_ƒ[ƒW‚Í–³‚µAbNoWeaponDamage‚Å–³Œø) +Eƒvƒƒ{ƒP[ƒVƒ‡ƒ“‚̓‚[ƒVƒ‡ƒ“‚ª€”õ‚³‚ê‚Ä‚È‚¢ƒ‚ƒ“ƒXƒ^[‚Í“ü‚ê‚Ä‚à‚È‚ñ‚ÌŒø‰Ê‚à‚È‚µB +Eƒ_[ƒNƒuƒŒƒbƒVƒ“ƒO‚Í‚©‚©‚é‚ÆHP‚ª1‚É‚È‚éB‘Ï«‚Í–‚–@–hŒä‚Å“K—pB +Eƒ_[ƒNƒuƒŒƒX‚Í500+(ƒXƒLƒ‹ƒŒƒxƒ‹-1)*1000+rand(0,1000)‚̃_ƒ[ƒWB‰ñ”ð‚Å‚«‚邪–hŒä–³Ž‹‚Å‹ß‹——£•¨—UŒ‚‚¾‚ªƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚Í–³Ž‹‚µ‚Ĉő®«UŒ‚B(–{ŽI‚ÌŒvŽZŽ®‚É‚ ‚Á‚Ä‚¢‚é‰Â”\«‚Í‚È‚¢‚©‚àB‚½‚¾ƒ_ƒ[ƒW—Ê‚Æ–½’†•â³ˆÈŠO‚Í–{ŽI‡‚킹) +ENPCƒXƒLƒ‹‚̈ێŽžŠÔ‚Í“K“x‚ÉÝ’èB +Eƒ‚ƒ“ƒXƒ^[‚Ì‘®«UŒ‚‚ƃKƒCƒfƒbƒhƒAƒ^ƒbƒN‚ªƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚𖳎‹‚·‚é‚Æ‚Ì•ñ‚ðŽó‚¯‚½‚Ì‚Å‚·‚ªC³‚·‚é‚©‚Ç‚¤‚©‚Í‚¿‚å‚Á‚Æ”÷–­B(ƒXƒvƒ‰ƒbƒVƒ…ƒAƒ^ƒbƒN‚àƒZƒCƒtƒeƒBƒEƒH[ƒ‹–³Ž‹‚©‚à) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + mob.c + mob_damage() C³B + clif.h C³B + clif.c + clif_skill_estimation()Aclif_damage()Aclif_skill_damage() C³B + clif_skill_damage2()Aclif_pet_performance() C³B + pet.c + pet_performance()Apet_target_check()Apet_hungry() C³B + skill.h C³B + skill.c + skill_additional_effect()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_status_change_start() C³B + battle.h C³B + battle.c + battle_get_def()Abattle_get_mdef()Abattle_calc_damage() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_config_read() C³B + +-------------------- +//0849 by lapis + +EŠX’†‚̃eƒXƒgƒMƒ‹ƒhƒtƒ‰ƒO‚Ì•\Ž¦‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³B +EƒMƒ‹ƒhƒƒ“ƒo[‚ÍŠø‚©‚çƒAƒWƒg‚É”ò‚ׂé‚悤‚ÉC³B + (conf/gvg) + TEST_prtg_cas01_AbraiJ.txt C³B + +-------------------- +//0848 by huge + +EƒXƒLƒ‹Ž©”š‚ðAHP‚ª‘S‰ñ•œ‚µ‚Ä‚¢‚鎞‚ÍŽg‚¦‚È‚¢‚悤C³B +EƒXƒtƒBƒAƒ}ƒCƒ“EƒoƒCƒIƒvƒ‰ƒ“ƒgEEEƒ^[ƒQƒbƒg•ÏX‚Å‚«‚È‚¢...B +Emob‚Ƀ^[ƒQƒbƒg–³Ž‹ID‚ðÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B(Gv—pmob‚ÉŽg‚¦‚éH) + (map/) + map.h C³B + mob_data‚É int exclusion_src,exclusion_party,exclusion_guild ’ljÁB + mob.h C³B + mob.c + mob_exclusion_add() ’ljÁB + mob_exclusion_check() ’ljÁB + mob_timer_delete() ’ljÁB + mob_attack() C³B + mob_target() C³B + mob_ai_sub_hard_activesearch() C³B + mob_ai_sub_hard_mastersearch() C³B + mob_ai_sub_hard() C³B + skill.c + skill_castend_damage_id() C³B + skill_castend_pos2() C³B + +-------------------- +//0847 by Ž€_ + +E˜I“XƒoƒOC³B + (map/) + clif.c + clif_vendinglist()Aclif_openvending() C³B + vending.c + vending_openvending() C³B + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//0846 by Ž€_ + +EƒoƒOC³‚Æׂ©‚¢C³B +Ebattle_athena.conf‚Ìenemy_str‚ªƒyƒbƒg‚É‚à“K—p‚·‚é‚悤‚É•ÏXB +EbHPDrainRate‚ÆbSPDrainRate‚Åx‚ªƒ}ƒCƒiƒX‚Å‚àì“®‚·‚é‚悤‚É•ÏXB +EPC‚âNPC‚ÌŽp‚ð‚µ‚½ƒ‚ƒ“ƒXƒ^[‚àŽ€‚Ê‚Æ5•bŒãƒ}ƒbƒv‚©‚çÁ‚¦‚é‚悤‚É•ÏXB + (map/) + battle.c + battle_calc_pet_weapon_attack()Abattle_weapon_attack() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + pc.c + pc_allskillup() C³B + clif.h C³B + clif.c + clif_openvending()Ado_init_clif() C³B + clif_clearchar_delay()Aclif_clearchar_delay_sub() ’ljÁB + mob.c + mob_damage() C³B + +-------------------- +//0845 by ‚Û‚Û‚Û + +Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’肵‚½ƒyƒbƒg‚ªoŒ»‚µ‚½‚Æ‚«ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ª‚Å‚é‚Ì‚ðŽb’èC³B +Emob_avail.txt‚Ńyƒbƒg‚É‚àPCƒLƒƒƒ‰‚Ì«•ÊE”¯Œ^&FE•ŠíE‚E“ª‘•”õ‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B +EMOB‚ÌATKŒvŽZ‚ÉSTR‚ð“K—p‚·‚é‚©‚Ç‚¤‚©Ý’è‰Â”\‚É‚µ‚½B + (map/) + clif.c + clif_pet0078()Aclif_pet007b()Aclif_spawnpet()C³B + battle.hC³B + battle.c + battle_config_read()Abattle_calc_mob_weapon_attack()C³B + +-------------------- +//0844 by ‚Û‚Û‚Û + +Emob_avail.txt‚ÅPCƒOƒ‰ƒtƒBƒbƒN(0`23)‚ðŽw’肵‚½MOB‚ªoŒ»‚µ‚½‚Æ‚«ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ª‚Å‚é‚Ì‚ðŽb’èC³B +Emob_avail.txt‚ÅPCƒLƒƒƒ‰‚Ì«•ÊE”¯Œ^&FE•ŠíE‚E“ª‘•”õ‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B +@ƒOƒ‰ƒtƒBƒbƒN‚·‚è‘Ö‚¦æID‚ª0`23‚ÌŽž‚¾‚¯—LŒø‚ÅAŽw’è•û–@‚Í + MOB-ID,ƒOƒ‰ƒtƒBƒbƒN‚·‚è‘Ö‚¦æID,«•Ê(0=female,1=male),”¯Œ^,”¯F,•Ší,‚,ã’i“ª‘•”õ,’†’i“ª‘•”õ,‰º’i“ª‘•”õ +@‚Æ‚È‚è‚Ü‚·B‘•”õ‚Íitem_db‚ÌView—“ŽQÆ‚Ì‚±‚ÆB + (map/) + clif.c + clif_mob_0078()Aclif_mob007b()Aclif_spawnmob()C³B + mob.hC³B + mob.c + mob_get_sex()Amob_get_hair()Amob_get_hair_color()Aob_get_weapon()A + mob_get_shield()Amob_get_head_top()Amob_get_head_mid()Amob_get_head_buttom()’ljÁB + mob_readdb()Amob_readdb_mobavail()C³B + +-------------------- +//0843 by Ž€_ + +EƒŠƒtƒŒƒNƒgƒV[ƒ‹ƒhŽÀ‘•B +EƒAƒCƒeƒ€ƒXƒNƒŠƒvƒg‚ÉbShortWeaponDamageReturn‚Æ +bLongWeaponDamageReturn ’ljÁB +E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚⑼‚ÌŠC³B + (db/) + item_db.txt C³B + skill_db.txt C³B + cast_db.txt C³B + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + battle.c + battle_get_def()Abattle_get_def2()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack()Abattle_calc_magic_attack() C³B + pc.c + pc_calcstatus()Apc_bonus()Apc_bonus2()Apc_equipitem() C³B + pc_unequipitem()Apc_checkallowskill() C³B + skill.c + skill_attack()Askill_unit_onplace()Askill_status_change_start() C³B + skill_status_change_end()Askill_status_change_timer() C³B + skill_castend_nodamage_id() C³B + clif.c + clif_additem()Aclif_equiplist()Aclif_storageequiplist() C³B + clif_tradeadditem()Aclif_storageitemadded()Aclif_cart_additem() C³B + clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() C³B + clif_damage()Aclif_skill_damage()Aclif_parse_LoadEndAck() C³B + +-------------------- +//0842 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚ÌC³‚Æׂ©‚¢C³B +EaegisŽI‚ÅFX‚ÆŒŸØ‚µ‚½•¨‚ð“K—pB +EƒƒeƒI‚͈̔͂ð7*7ALoV13*13ASG11*11AFN5*5‚ÉC³B +EƒVƒOƒiƒ€ŽÀ‘•B(‚½‚¾PVP‚ŃvƒŒƒCƒ„[‚É‚©‚©‚é‚©‚Ç‚¤‚©‚ª‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å +‚©‚©‚é•ûŒü‚ÅŽÀ‘•B)‚±‚ê‚Å1ŽŸE‹Æ‚̃XƒLƒ‹‚̓NƒŠƒA‚©‚à... +E‘•”õƒXƒNƒŠƒvƒg‚ÉbHPDrainRate‚ÆbSPDrainRate’ljÁB +E‚»‚Ì‘¼×‚©‚¢C³­‚µB + (doc/) + item_bonus.txt C³B + (db/) + cast_db.txt C³B + item_db.txt C³B + const.txt C³B + (map/) + map.h C³B + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + skill_unitsetting()Askill_castend_pos2()Askill_castend_id() C³B + skill_status_change_start()Askill_status_change_timer() C³B + skill_status_change_end()Askill_unit_onplace() C³B + skill_frostjoke_scream()Askill_attack() C³B + skill_attack_area() ’ljÁB + battle.c + battle_calc_magic_attack()Abattle_get_element()Abattle_get_def() C³B + battle_get_def2()Abattle_get_mdef()Abattle_damage() C³B + battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack() C³B + mob.c + mobskill_castend_id() C³B + pc.c + pc_calcstatus()Apc_bonus2()Apc_attack_timer() C³B + clif.c + clif_spawnmob()Aclif_spawnpet()Aclif_spawnnpc() C³B + clif_parse_ActionRequest() C³B + +-------------------- +//0841 by Kalen + +E…—n‰t‚ªì‚ê‚È‚©‚Á‚½‚̂ŒljÁ + conf/npc/npc_job_magician.txt + +-------------------- +//0840 by Kalen + +E‹SƒCƒxƒ“ƒg’ljÁ + conf/npc/npc_event_oni.txt + +Emap_athena.confC³(ƒoƒŒƒ“ƒ^ƒCƒ“ƒRƒƒ“ƒgƒAƒEƒgB‹S’ljÁ) + conf/map_athena.conf + +-------------------- +//0839 by shuto + +EƒRƒ“ƒƒ“NPC’ljÁ(ƒJƒ“ ƒ\ƒ“ƒ\ƒ“‚ª”²‚¯‚Ä‚½) + +-------------------- +//0838 by Ž€_ + +EƒXƒLƒ‹ƒTƒCƒgƒ‰ƒbƒVƒƒ[ŽÀ‘•B +Eƒ‚ƒ“ƒXƒ^[‚̃Nƒ[ƒLƒ“ƒO‚ƃ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ÍŽ‘±ŽžŠÔ‚ðƒŒƒxƒ‹*5•b‚É•ÏXB +E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B + (db/) + skill_db.txt C³B + (map/) + skill.c + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + skill_castend_pos2()Askill_unitsetting()Askill_get_unit_id() C³B + skill_status_change_start() C³B + battle.c + battle_calc_magic_attack() C³B + +-------------------- +//0837 by Ž€_ + +EƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B +EƒtƒƒXƒgƒmƒ”ƒ@‚ðƒ†ƒjƒbƒgÝ’uŽ®‚É•ÏXB +Eƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“‚͈̔͂ð11*11‚ÉC³‚Æ40ƒqƒbƒg‚·‚é‚悤‚É•ÏXB(ƒ‰ƒOƒiƒQ[ƒg‚Ìî•ñB +13*13à‚à‚ ‚è‚Ü‚·‚ª...) +Eƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[‚̃mƒbƒNƒoƒbƒN‚ð2~7‚É•ÏXB +EƒXƒg[ƒ€ƒKƒXƒg‚ÌUŒ‚‰ñ”‚ðƒŒƒxƒ‹ˆË‘¶‚©‚ç10‰ñ‚ɌŒèB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚̃mƒbƒNƒoƒbƒN‚ð3‚©‚ç2‚É•ÏXB(aegisŽI‚ŃmƒbƒNƒoƒbƒN‚ª‚ ‚邱‚Æ‚ÍŠm”F‚µ‚Ü‚µ‚½‚ª‚Ç‚ê‚®‚ç‚¢‚È‚Ì‚©‚ª•s–¾‚¾‚Á‚½‚Ì‚Å­‚µŒ¸‚炵‚Ä‚Ý‚Ü‚µ‚½B) +Eƒ‚ƒ“ƒXƒ^[‚̉r¥ŽžŠÔ‚ª‘‚­‚È‚Á‚Ä‚¢‚½–â‘èC³B(dex•â³‚ª“ü‚Á‚Ä‚µ‚Ü‚Á‚½‚¹‚¢‚Å‚·B) +E‚»‚Ì‘¼ƒI[ƒgƒXƒyƒ‹“–‚½‚è‚Ìׂ©‚¢C³B + (db/) + skill_db.txt C³B + (map/) + skill.c + skill_castfix()Askill_delayfix()Askill_timerskill() C³B + skill_castend_pos2()Askill_unitsetting()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_get_unit_id()Askill_attack() C³B + battle.c + battle_calc_magic_attack()Abattle_weapon_attack() C³B + +-------------------- +//0836 by Žß‘¸ + +Eƒ‚ƒ“ƒXƒ^[‚ÌŽæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚𒆃{ƒXˆÈŠOŠ®‘SC³B + (db/) + mob_skill_db.txt C³B + +-------------------- +//0835 by (“Ê) + +E”’nŽæ‚è‚Ń|[ƒY‚ð‚Æ‚é‚悤‚É‚µ‚½B +(ƒ|[ƒY‚¾‚¯‚È‚Ì‚ÅAŽÀÛ‚ÉUŒ‚‚ðŽó‚¯Ž~‚ß‚½‚è‚Í‚Å‚«‚Ü‚¹‚ñ) +clif_bladestop()‚ðŒÄ‚Ô‚±‚Æ‚Å”’nŽæ‚èó‘Ô‚ÌONAOFF‚̃pƒPƒbƒg‚ª‘—‚ê‚Ü‚·B + + (map/) + clif.h C³B + clif,c + clif_bladestop() ’ljÁ + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//0834 by Žß‘¸ + +Eƒ‚ƒ“ƒXƒ^[Žæ‚芪‚«¢ŠÒ‚ÌŠÔŠu‚ª’Z‚·‚¬‚é‚Æ‚ÌŽ–‚ʼnž‹}ˆ’uB(¡‰ñ‚͉©‹à峂̂Ý) + (db/) + mob_skill_db.txt C³B + +-------------------- +//0833 by (“Ê) + +Ememo‹ÖŽ~’nˆæ‚Å/memoŽž‚ÌC³B +E‚‚¢‚Å‚Éitem_db‚ðXVB + + (doc/) + client_packet.txt + R 0189 XVB + (db/) + item_db.txt ÅV”Å‚ÖXVB + (map/) + pc.c + pc_memo() C³B + +-------------------- +//0832 by Ž€_ + +EƒR[ƒhÅ“K‰»‚Æׂ©‚¢C³B +EƒI[ƒgƒXƒyƒ‹‚ð’n–Ê–‚–@‚ɑΉžB +EƒTƒ“ƒ_[ƒXƒg[ƒ€‚ƃwƒ”ƒ“ƒYƒhƒ‰ƒCƒu‚ðƒ†ƒjƒbƒgÝ’uŽ®‚É•ÏXB +EƒfƒBƒtƒFƒ“ƒ_[‚ÌUŒ‚‘¬“x’ቺ‚ð–{ŽI‚É‚ ‚킹B +E‚»‚Ì‘¼×‚©‚¢C³B + (doc/) + item_bonus.txt C³B + (db/) + skill_require_db.txt C³B + cast_db.txt C³B + (map/) + map.h C³B + path.c + calc_index()Apath_search() C³B + skill.c + skill_unitsetting()Askill_castend_pos2()Askill_get_unit_id() C³B + skill_status_change_timer_sub()Askill_castend_nodamage_id() C³B + skill_additional_effect()Askill_frostjoke_scream() C³B + pc.c + pc_calcstatus()Apc_skill()Apc_allskillup() C³B + battle.c + battle_get_speed()Abattle_get_adelay()Abattle_get_amotion() C³B + battle_weapon_attack() C³B + +-------------------- +//0831 by Ž€_ + +E­‚µC³B +EƒI[ƒgƒXƒyƒ‹C³B‘•”õ‚É‚æ‚镨‚ƃXƒLƒ‹‚É‚æ‚镨‚ð•ÊX‚É“K—pA”­“®Šm—¦C³B +E‘•”õ‚É‚æ‚éƒI[ƒgƒXƒyƒ‹‚ÍŽw’肵‚½ƒŒƒxƒ‹‚æ‚è2‚‰º‚Ü‚Å”»’è‚ð‚µ‚Ü‚·B‚‚܂背ƒxƒ‹5‚ðÝ’è‚·‚é‚ƃŒƒxƒ‹3‚©‚ç5‚Ü‚Å”­“®‚µ‚Ü‚·B +Ebattle_athana.conf‚Ìplayer_cloak_check_wallAmonster_cloak_check_wall‚ðplayer_cloak_check_typeAmonster_cloak_check_type‚É•ÏXB +EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒÀŽžŠÔ‚ð–{ŽI‚ɇ‚킹‚ÄC³B +E‚»‚Ì‘¼ƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + item_bonus.txt C³B + (conf/) + battle_athana.conf C³B + (db/) + item_db.txt C³B + (map/) + map.h + map.c + block_free_maxABL_LIST_MAX C³B + skill.h C³B + skill.c + skill_additional_effect()Askill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_unit_onplace() C³B + skill_status_change_end()Askill_status_change_start() C³B + skill_initunitgroup()Askill_unitsetting()Askill_castfix() C³B + skill_delayfix()Askill_autospell()Askill_use_id()Askill_use_pos() C³B + skill_check_cloaking()Askill_unit_timer_sub()Askill_check_condition() C³B + battle.h C³B + battle.c + battle_damage()Abattle_get_agi()Abattle_get_speed() C³B + battle_get_adelay()Abattle_get_amotion()Abattle_get_flee() C³B + battle_weapon_attack()Abattle_calc_magic_attack() C³B + battle_config_read() C³B + mob.c + mob_attack()Amob_damage()Amobskill_use_id() C³B + mobskill_use_pos()Amob_spawn()Amob_class_change() C³B + mob_can_move() C³B + pc.c + pc_attack_timer()Apc_checkweighticon()Apc_calcstatus() C³B + pc_damage()Apc_equipitem()Apc_unequipitem() C³B + pc_bonus2()Apc_bonus3()Apc_memo()Apc_authok() C³B + pc_isUseitem() C³B + clif.h C³B + clif.c + clif_changeoption()Aclif_parse_LoadEndAck()Aclif_autospell() C³B + clif_skill_memo() C³B + clif_skill_teleportmessage() ’ljÁB + script.c + buildin_sc_start() C³B + atcommnad.c + atcommand() C³B + +-------------------- +//0830 by huge + +EƒI[ƒgƒXƒyƒ‹‚ÅAŽ©•ª‚ÌK“¾‚µ‚Ă郌ƒxƒ‹‚æ‚è‚à‚‚¢ƒŒƒxƒ‹‚Å + –‚–@‚ª”­“®‚µ‚Ä‚¢‚½‚Å‚ ‚낤–â‘è‚ðC³B +EƒI[ƒgƒXƒyƒ‹‚Å‚àA‚¿‚á‚ñ‚ÆSP‚ªŒ¸‚é‚悤‚ÉC³(‚Ç–Y‚ê) + (map/) + battle.c + battle_weapon_attack() C³B + skill.c + skill_autospell() C³B + +-------------------- +//0829 by Kalen + +Emob_dbC³ + Ž©ŽI—p‚Ì‚ÆŠÔˆá‚Á‚ÄUP‚µ‚Ä‚µ‚Ü‚Á‚½‚悤‚Å‚·B + –{—ˆ‚Ì‚à‚Ì‚É’¼‚µ‚Ü‚µ‚½B + +-------------------- +//0828 by ¹ + +EƒT[ƒo‚ÌSnapshot +EMVPƒ{ƒXŒn‚©‚çƒoƒJƒ“ƒXƒ`ƒPƒbƒg‚ª‘å—Ê‚Éo‚Ä‚¢‚½–â‘è‚ðC³B + (common/) + version.h C³B + (db/) + mob_db.txt C³B + +-------------------- +//0827 by J + +EŒÅ’èMOB‚Ì‚Í‚¸‚̃ƒKƒŠƒX‚Æl–Ê“Ž÷‚ª•à‚¢‚Ä‚¢‚½‚Ì‚ðC³B +E“¬‹Zê‚ÌMOB‚ɃXƒLƒ‹‚ðŽÀ‘•B +EƒpƒTƒi‚ƃtƒ@ƒ‰ƒI‚ªƒXƒLƒ‹‚ªÝ’肳‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðŽÀ‘•B + (db/) + mob_db.txt C³B + mob_skill_db.txt C³B + +-------------------- +//0826 by ‚Ò‚´‚Ü‚ñ + +Eˆê•”‚̉‰‘tƒXƒLƒ‹‚ðŽg‚¤‚ÆŽI‚ª—Ž‚¿‚éƒoƒOC³B +EƒNƒ[ƒLƒ“ƒO’†‚ɃXƒLƒ‹‚ðŽg—p‚Å‚«A +@Žg—p‚·‚é‚ƃNƒ[ƒLƒ“ƒO‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B +EKalen‚³‚ñ‚Ìmob_db.txt‚ð‚Ü‚Æ‚ß‚Ü‚µ‚½B + (map/) + skill.c + skill_unit_onplace()Askill_unit_onout() C³B + skill_status_change_start()Askill_status_change_timer() C³B + skill_use_id()Askill_use_pos() C³B + (db/) + mob_db.txt C³B + +-------------------- +//0825 by Ž€_ + +Eׂ©‚¢C³B(ׂ©‚¢‚±‚Æ‚Ì‚í‚è‚É‚ÍC³‚µ‚½Š‚ª‘½‚¢‚¯‚Ç...) +Eƒ[ƒvƒ|[ƒ^ƒ‹‚Ì’†‚ÉŽ~‚Ü‚Á‚½ŽžˆÈŠO‚̓[ƒv‚µ‚È‚¢‚悤‚ÉC³B +Ebattle_athena.conf‚Éplayer_skill_nofootsetAmonster_skill_nofootset ’ljÁB +ENPC‚ðƒNƒŠƒbƒN‚µ‚½Œã˜I“X‚ðƒNƒŠƒbƒN‚µ‚ĘI“X‚ð•Â‚¶‚é‚Æ“®‚¯‚È‚­‚È‚éƒoƒOC³B +‚½‚¾˜I“X‚ð•Â‚¶‚鎞‰½‚̃pƒPƒbƒg‚à“]‘—‚µ‚Ä‚±‚È‚¢‚̂ŘI“X‚ðƒNƒŠƒbƒN‚·‚é‚ÆNPC‚̈—‚©‚甲‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B(–{ŽI‚Å‚ÍNPC‚̈—‚ª”²‚¯‚È‚¢‚炵‚¢‚Å‚·‚ª‚»‚êˆÈŠO•û–@‚ª‚È‚©‚Á‚½‚Ì‚Á‚ÅB) +Ekillmonster‚ÌAll‚Å¢Š«‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚¾‚¯Á‚·‚悤‚É•ÏXB +Eƒ\[ƒXÅ“K‰»‚âƒXƒLƒ‹ŠÖŒW‚Ìׂ©‚¢C³‘½”B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (conf/) + battle_athana.conf C³B + atcommnad_athena.conf C³B + (db/) + item_db.txt C³B + skill_db.txt C³B + (login/) + parse_fromchar() C³B + (map/) + map.h C³B + clif.c + clif_closevendingboard()Aclif_parse_VendingListReq() C³B + clif_mob0078()Aclif_mob007b()Aclif_pet0078()Aclif_pet007b() C³B + skill.h C³B + skill.c + skill_check_condition()Askill_castend_pos2() C³B + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + skill_castend_id()Askill_status_change_start()Askill_castfix() C³B + skill_delayfix()Askill_check_unit_range_sub() C³B + skill_check_unit_range()Askill_castend_pos()Askill_stop_dancing() C³B + skill_unit_onplace()Askill_readdb()Askill_timerskill()Askill_blown() C³B + skill_check_unit_range2_sub()Askill_check_unit_range2() ’ljÁB + skill_get_maxcount() ’ljÁB + mob.c + mobskill_castend_id()Amobskill_castend_pos()Amob_deleteslave() C³B + mob_stop_walking()Amob_walk()Amob_damage() C³B + pc.c + pc_calcstatus()Apc_checkskill()Apc_stop_walking() C³B + pc_walk()Apc_damage() C³B + npc.c + npc_touch_areanpc() C³B + pet.c + pet_stop_walking() C³B + script.c + buildin_killmonster()Abuildin_killmonster_sub() C³B + battle.h + battle.c + battle_calc_magic_attack()Abattle_get_flee()Abattle_get_flee2() C³B + battle_get_adelay()Abattle_get_amotion()Abattle_get_max_hp() C³B + battle_get_hit()Abattle_get_critical()Abattle_get_atk2() C³B + battle_damage()Abattle_config_read() C³B + atcommand.h C³B + atcommand.c C³B + +-------------------- +//0824 by ‚Ò‚´‚Ü‚ñ + +EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Eƒjƒ…[ƒ}‚Ì‘«Œ³’u‚«‚ª‚Å‚«‚È‚©‚Á‚½–â‘èC³B +EƒGƒ“ƒyƒŠƒEƒ€‚Ƀq[ƒ‹“™‚ÌŽx‰‡ƒXƒLƒ‹‚ªŒø‚¢‚Ä‚¢‚½–â‘èC³B +E“¬‹Zê‚Ń‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ª‚Å‚«‚È‚©‚Á‚½–â‘èC³B +@killmonster‚Í"killmonster ,"‚Æ‹Lq‚µ‚Ä +@ŠY“–eventname‚ðŽ‚ƒ‚ƒ“ƒXƒ^[‚ð휂µ‚Ü‚·‚ª +@eventname‚ÉAll‚Æ“ü‚ê‚é‚ÆŠY“–MAP‚Ì‘Sƒ‚ƒ“ƒXƒ^[‚ðÁ‹Ž‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + + (map/) + skill.c + skill_check_unit_range_sub()Askill_castend_nodamage_id() C³B + script.c + buildin_killmonster()Abuildin_killmonster_sub() C³B + (conf/npc/) + npc_event_tougijou.txt C³B + +-------------------- +//0823 by Kalen + +E“¬‹Zêƒf[ƒ^‘µ‚Á‚½‚Ì‚ÅAŠ®¬ + conf/npc/npc_event_tougijou.txt + ‚½‚¾‚µA‚±‚¿‚ç‚Ń`ƒFƒbƒN‚µ‚½‚Æ‚±‚ëkillmonster‚ª‚¤‚Ü‚­‚¢‚©‚¸A + Ž¸”sAŽžŠÔ؂ꂵ‚½ê‡ƒ‚ƒ“ƒXƒ^[ƒŠƒZƒbƒg‚ªo—ˆ‚Ü‚¹‚ñB + ƒCƒxƒ“ƒg‚ªÝ’肳‚ê‚Ä‚¢‚郂ƒ“ƒXƒ^[‚͈—‚Å‚«‚È‚¢‚Ì‚©‚ÆŽv‚¢‚Ü‚µ‚½‚ª + Agit‚Ì‚Ù‚¤‚̃Gƒ“ƒy‚ÌKillmonster‚Í‚¿‚á‚ñ‚Æ“®‚¢‚Ä‚Ü‚·‚µc + Œ´ˆö•ª‚©‚é•û‚¨Šè‚¢‚µ‚Ü‚·<(_ _)> + +Egon_test‚Ìmapflag’ljÁ + conf/mapflag.txt + +Emob_dbXV + 1419`1491‚ªŠù‘¶‚ÌMob‚Ì’è‹`‚΂©‚è‚Ȃ̂ŒljÁ‚µ‚Ü‚¹‚ñ‚Å‚µ‚½‚ªA + ’²‚ׂ½Š“¬‹Zê‚ÌMob‚̃f[ƒ^‚Å‚ ‚邱‚Æ‚ª•ª‚©‚è‚Ü‚µ‚½(Drop‚ð˜M‚Á‚½‚à‚Ì) + –{ŽI‚ł͈łè‚ñ‚²‚ª•ñ‚³‚ê‚Ä‚¢‚Ü‚·B‚ªA‚±‚¿‚ç‚ÍDrop‹ó”’‚ň—‚µ‚Ü‚µ‚½B + ƒNƒ‰ƒCƒAƒ“ƒgã‚Å‚Í“¯–¼‚Å‚µ‚½‚ªA‹æ•Ê‚Ì‚½‚ßÚ“ª‚ÉG_‚ð‚‚¯‚Ä‹æ•Ê‚µ‚Ä‚Ü‚·B + mob_skill_db‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½« + +-------------------- +//0822 by ‚Ò‚´‚Ü‚ñ + +E‰‰‘tƒXƒLƒ‹‚ł̕Ⳃðƒ_ƒ“ƒT[‚É‚à“K—pB +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠƒoƒOC³B +EKalen‚³‚ñ‚ÌMOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ð‚Ü‚Æ‚ß‚Æ‚«‚Ü‚µ‚½B + + (map/) + skill.c + skill_status_change_start()Askill_unit_onplace() C³B + battle.c + battle_get_critical()Abattle_get_hit() C³B + pc.c + pc_calcstatus() C³B + +-------------------- +//0821 by huge + +EƒI[ƒgƒXƒyƒ‹‰¼ŽÀ‘•B +Etimer‚Å”»’肵‚悤‚©‚Æ‚àŽv‚¢‚Ü‚µ‚½‚ªA‘•”õ‚Ì–³ŒÀƒI[ƒgƒXƒyƒ‹‚ׂ̈Ésc_[].val1‚ÅŒ©‚ă}ƒXB +Ebonus2 bAutoSpell’ljÁBˆê‰ž‚Ç‚ñ‚ȃXƒLƒ‹‚Å‚àŽw’è‚Å‚«‚é‚悤‚É‚µ‚Ä‚Ü‚·‚ª(”Ô†‚Ískill_treeŽQÆ) + skill_castend_damage_id‚̃^ƒCƒvˆÈŠO‚̃XƒLƒ‹‚ðŽw’肵‚È‚¢‚Å‚­‚¾‚³‚¢B + ”­“®Šm—¦‚ÍALv1:50%ALv2:35%ALv3:15%A‚»‚êˆÈã‚Í 5%ŒÅ’è‚Å‚·B + ‚ ‚ÆAƒXƒLƒ‹ƒŒƒxƒ‹‚àŽw’è‚Å‚«‚Ü‚·‚ªAŒÀŠE‚ð’´‚¦‚½”Žš‚ð“ü‚ê‚é‚Æ’Ä‚¿‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +¡‘‚«•û—áFiƒtƒ@ƒCƒAƒ{ƒ‹ƒgLv3‚ÌŽžjbonus2 bAutoSpell 19,3; + + (db/) + const.txt C³B + (map/) + battle.c + battle_weapon_attack() C³B + clif.h + clif.c + packet_len_table C³B + clif_autospell() ’ljÁB + clif_parse_AutoSpell() ’ljÁB + map.h C³B + pc.c + pc_bonus2() C³B + pc_equipitem() C³B + pc_unequipitem() C³B + skill.h + skill.c + skill_castend_nodamage_id() C³B + skill_autospell() ’ljÁB + skill_status_change_end() C³B + skill_status_change_start() C³B + status_change‚̔Ԇƒe[ƒuƒ‹C³B + +-------------------- +//0820 by ‚Ò‚´‚Ü‚ñ + +EƒAƒhƒŠƒu‚̃ƒbƒZ[ƒW‚ª“ü‚Á‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³ +Eƒo[ƒh‚̉‰‘tƒXƒLƒ‹‚ÅŠyŠí‚Ì—ûK‚⎩ƒXƒe[ƒ^ƒX‚̕Ⳃª“ü‚Á‚Ä‚È‚©‚Á‚½‚Ì‚ðC³B +@struct status_change‚Ìval‚ª3‚•K—v‚¾‚Á‚½‚Ì‚Å(val4‚Í—\–ñ‚³‚ê‚Ä‚½‚Á‚Û‚¢‚Ì‚Å)val5‚ð’ljÁ‚µ‚Ü‚µ‚½ + (map/) + map.h C³B + skill.c + skill_status_change_start()Askill_castend_nodamage_id() C³B + skill_castfix()Askill_delayfix() C³B + battle.c + battle_get_flee()Abattle_get_max_hp() C³B + battle_get_adelay()Abattle_get_amotion() C³B + battle_calc_misc_attack() C³B + pc.c + pc_calcstatus() C³B + +-------------------- +//0819 by Kalen + +EƒRƒ“ƒƒ“(NPCAWarp)C³ + conf/npc/npc_town_gonryun.txt(ˆÄ“àˆõ•â[) + conf/npc/npc_event_tougijou.txt + conf/warp/npc_warp_gonryun.txt(h2F‚ÆD2F‚È‚Ç) + +EMOBC³ + conf/mob/npc_monster30.txt(ˆê”½–Ø–È•s‘«’ljÁ) + conf/mob/npc_monster35.txt(ƒRƒ“ƒƒ“Mob’ljÁ) + +EDBC³ + db/mob_db.txt(ƒRƒ“ƒƒ“[‘S‚Ä]+ƒEƒ“ƒoƒ‰[’è‹`]’ljÁBAspeed“™“K“–‚Å‚·B‚Ü‚Ÿ–³‚¢‚æ‚è‚Ü‚µ‚Æ‚¢‚¤‚±‚Æ‚Å) + db/mob_skill_db.txt(î•ñ‚ðŒ³‚ÉƒRƒ“ƒƒ“‚ÌMob•ª’ljÁ) + db/item_db.txt(Athena DB Project 2/19 21:10DL•ª) + +-------------------- +//0818 by ‚ ‚ä‚Ý + +EƒeƒŒƒ|[ƒgƒXƒLƒ‹Lv1‚ÅA‘I‘ðƒEƒCƒ“ƒhƒE‚ªo‚Ä‚±‚È‚¢ƒoƒO‚ðC³B +Ed—Ê‚ª90“ˆÈã‚ÌꇂłàAˆê•”‚̃XƒLƒ‹‚ªŽg—p‰Â”\‚¾‚Á‚½ƒoƒO‚ðC³B +E@allskillƒRƒ}ƒ“ƒh‚ÌC³‚Æ‚©B + + (conf/) + msg_athena.conf C³B + (map/) + atcommand.c + atcommand() C³B + pc.c + pc_allskillup() C³B + skill.c + skill_castend_nodamage_id() C³B + skill_check_condition() C³B + +-------------------- +//0817 by huge + +EƒfƒBƒ{[ƒVƒ‡ƒ“‚̈—C³ + EŽ…‚Ìo‚µ•û‚̓pƒP‚ð–á‚Á‚½‚Ì‚Å‚Å‚«‚Ü‚µ‚½‚ªAƒAƒCƒRƒ“‚Ì•û‚Í‚Ü‚¾•ª‚©‚ç‚È‚¢‚Å‚·B + E‚ ‚ÆAŽ©•ª‚̊‹«‚Å2lˆÈã‚É“¯Žž‚ÉŠ|‚¯‚ê‚È‚©‚Á‚½‚Ì‚ÅA•¡”l‚É‚©‚¯‚½ê‡ + ‘½•ª0‚Ì—…—ñ‚ÌŠ‚É2l–ÚA3l–ÚEEE‚ÌID‚ª“ü‚é‚ñ‚¶‚á‚È‚¢‚©‚È‚Ÿ‚Æ‚¢‚¤—\‘ª‚Å‚â‚Á‚Ä‚Ü‚·B +EƒnƒCƒfƒBƒ“ƒO’†A‹y‚уNƒ[ƒLƒ“ƒO’†‚Ƀ_ƒ[ƒW‚ðŽó‚¯‚é‚Æ‰ð‚¯‚é‚悤C³B + + (map/) + battle.c + battle_damage() C³B + clif.c + clif_devotion() C³B + pc.c + pc_walk() C³B + skill.c + skill.h + skill_castend_nodamage_id() C³B + skill_devotion() skill_devotion2() C³B + skill_devotion3()skill_devotion_end() C³B + +-------------------- +//0816 by ‚Ò‚´‚Ü‚ñ +Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹3–‡§ŒÀŽÀ‘•B +Ed‚Ë’u‚«‹ÖŽ~‚ðƒvƒŒƒCƒ„[Eƒ‚ƒ“ƒXƒ^[‚É‚à“K—p‚·‚é‚悤‚ÉC³B +EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€‚ÌPvPEGvG‚ÅAŒø‰Ê‚ªŽ©•ª‚É‚à‹y‚ÔƒoƒOC³B +@‚‚¢‚Å‚ÉPTƒƒ“ƒo[‚É‚Í’áŠm—¦‚Å‚©‚©‚é‚Ì‚àŽÀ‘•B +EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€EƒXƒsƒAƒu[ƒƒ‰ƒ“‚̃fƒBƒŒƒCC³B +@ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNE–‚¿‚̉r¥ŽžŠÔC³B + (map/) + skill.c + skill_check_condition()Askill_check_unit_range_sub() C³B + skill_check_unit_range()Askill_delunitgroup() C³B + skill_castend_pos2()Askill_frostjoke_scream() C³B + map.h C³B + (db/) + cast_db.txt C³B + +-------------------- +//0815 by Ž€_ + +E0814‚̃oƒOC³‚Æׂ©‚¢C³B +Emapflag monster_noteleportAnoreturn’ljÁ‚Ænoteleport‚ÌŽd—l•ÏXB +noteleport‚̓vƒŒƒCƒ„[‚̃nƒG‚ƃeƒŒƒ|[ƒgAƒ[ƒvƒXƒLƒ‹‚̧ŒÀ‚ð‚·‚é‚ª’±‚ͧŒÀ‚µ‚È‚¢‚悤‚É•ÏXAmonster_noteleport‚̓‚ƒ“ƒXƒ^[‚̃eƒŒƒ|[ƒg‚ð§ŒÀ‚·‚镨‚Ånoreturn‚Í’±‚ÌŽg—p‚ð§ŒÀ‚·‚镨‚Å‚·B‚½‚¾mapflag.txt‚ÍC³‚µ‚Ä‚¢‚Ü‚¹‚ñB(noreturn‚ðÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B) +Ebattle_athena.conf‚Ìplayer_auto_counter_type‚Æmonster_auto_counter_type‚ªà–¾’Ê‚è‚É‹@”\‚µ‚È‚©‚Á‚½–â‘èC³B +Ebattle_athena.conf‚Éplayer_cloak_check_wall ‚Æmonster_cloak_check_wall ’ljÁB +Eƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Ì”FŽ¯‚ðMVPŒoŒ±‚Æmode‚Ì0x20‚Ås‚È‚Á‚Ä‚¢‚½•¨‚ðmode‚¾‚¯‚É‚·‚é‚悤‚É•ÏXB(–{ŽI‚̃Cƒxƒ“ƒgƒ‚ƒ“ƒXƒ^[‚ÅMVPŒoŒ±‚ð‚­‚ê‚邪ó‘ÔˆÙí‚ÉŠ|‚©‚é‚â‚‚ª‚ ‚Á‚½‚炵‚­C³BHP‚ª1‰­‚à‚ ‚Á‚Ä“Å‚¶‚á‚È‚¢‚Æ“|‚¹‚È‚©‚Á‚½‚炵‚¢‚Ì‚Å...) ‚‚܂èMVPŒoŒ±‚ª‚ ‚Á‚Ä‚àƒ{ƒXˆµ‚¢‚Å‚Í‚È‚¢ƒ‚ƒ“ƒXƒ^[‚ðì‚邱‚Æ‚à‰Â”\‚Å‚·B +Eó‘ÔˆÙí‚ÉŠ|‚©‚Á‚½ó‘Ô‚ÅÚ‘±Ø’f‚ª‚Å‚«‚È‚¢‚悤‚ÉC³B(‚½‚¾ƒ^ƒCƒ}[ƒ`ƒFƒbƒN‚Å‚Í‚È‚­opt1‚Æopt2‚ðƒ`ƒFƒbƒN‚·‚邾‚¯‚È‚Ì‚ÅŒ©‚½–Ú‚ª•Ï‚í‚éó‘ÔˆÙ킾‚¯‚É“K—p‚³‚ê‚Ü‚·B) +E¡‚³‚ç‚Å‚·‚ªÌ‚ÌyareCVS(2003”N9ŒŽƒo[ƒWƒ‡ƒ“)‚Å“K—p‚³‚ê‚Ä‚¢‚½ƒ‰ƒO‚ðŒ¸‚ç‚·ˆ×‚̈—‚ð“ü‚ê‚Ä‚Ý‚Ü‚µ‚½B‚Ç‚ñ‚ÈŒø‰Ê‚ª‚ ‚é‚©‚ÍŽ©•ª‚Å‚à‚í‚©‚è‚Ü‚¹‚ñB(‚½‚¾“ü‚ê‚Ä‚Ý‚½‚¾‚¯...) +EƒV[ƒYƒ‚[ƒh‚ÆPVP‚Å‹ÖŽ~‘•”õ‚ªŠO‚³‚ê‚Ä‚àŒø‰Ê‚ªÁ‚¦‚È‚¢ƒoƒOC³B +E‚»‚Ì‘¼×‚©‚¢C³B +E–¢ƒeƒXƒg‚Ì•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·B + (common/) + socket.c + connect_client()Amake_listen_port()Amake_connection() C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_magic_attack()Abattle_config_read() C³B + skill.c + skill_unit_onplace()Askill_status_change_timer() C³B + skill_castend_nodamage_id()Askill_use_id() C³B + skill_check_unit_range_sub()Askill_timerskill() C³B + skill_additional_effect()Askill_attack()Askill_status_change_start() C³B + skill_check_cloaking() C³B + clif.c + clif_item_identify_list()Aclif_parse_QuitGame()Aclif_GM_kick() C³B + pc.c + pc_attack_timer()Apc_isUseitem()Apc_checkitem C³B + mob.c + mob_warp()Amob_walk()Amob_attack()Amob_target() C³B + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch() C³B + mob_ai_sub_lazy()Amob_damage() C³B + npc.c + npc_parse_mapflag() C³B + map.h C³B + +-------------------- +//0814 by Ž€_ + +EƒoƒOC³‚Æׂ©‚¢C³B +Ebattle_athena.conf‚Ìplayer_auto_counter_type‚Æmonster_auto_counter_type‚ÌŽd—l‚ð•ÏXB(–{ŽI‚ł̓XƒLƒ‹”½Œ‚‚Í‚Å‚«‚È‚¢‚Ý‚½‚¢‚È‚Ì‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB) +E“Å‚ÆΉ»‚É‚æ‚éHPŒ¸­‚ð–{ŽI‚ɇ‚킹‚ÄC³‚ÆŠ®‘SΉ»‚Ì‘O‚Å‚Í“®‚¯‚é‚悤‚É•ÏXB(“Å‚Í1•b‚É3+Å‘åHP‚Ì1.5%(ƒ‚ƒ“ƒXƒ^[‚Í0.5%)AΉ»‚Í5•b‚É1%) –¢ƒeƒXƒg +EMVPŒoŒ±’l‚Í–{ŽI‚Å‚¢‚‚à“ü‚é‚悤‚É‚È‚Á‚½‚Ì‚ÅC³B +EƒXƒeƒB[ƒ‹‚ÌŠm—¦‚ð­‚µ‰º‚°B +Eƒ‚ƒ“ƒXƒ^[‚̃nƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAƒ}ƒLƒVƒ}ƒCƒYƒpƒ[‚ª‚·‚®‚ɉ𜂳‚ê‚é–â‘èC³B(ƒ‚ƒ“ƒXƒ^[‚É‚ÍSP‚ª‚È‚¢‚¹‚¢‚Å‚·BŽæ‚芸‚¦‚¸ƒNƒ[ƒLƒ“ƒO‚̓nƒCƒfƒBƒ“ƒO‚ÌŽžŠÔ‚ð“K—p‚µ‚ă}ƒLƒVƒ}ƒCƒYƒpƒ[‚̓EƒGƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ÌŽžŠÔ‚ð“K—p‚µ‚Ü‚·B) –¢ƒeƒXƒg +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ðl”‚©‚ç‰ñ”‚É•ÏXB +EPVP‚ÅŽ©•ª‚̃gƒ‰ƒbƒv‚ÉUŒ‚‘ÎÛ‚É‚È‚é‚悤‚É•ÏXB +Evitƒyƒiƒ‹ƒeƒB‚Ì“K—p‚ÅæŽZ–hŒä‚àŒ¸‚é‚悤‚É•ÏXB(–¢ƒeƒXƒg) +E‚»‚Ì‘¼×‚©‚¢ƒoƒOC³B + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (db/) + skill_db.txt + (map/) + map.h C³B + script.c + buildin_itemskill() C³B + mob.c + mob_can_move()Amob_ai_sub_hard()Amob_damage() C³B + skill.c + skill_unitsetting()Askill_unit_onplace()Askill_castend_nodamage_id() C³B + skill_attack()Askill_status_change_start() C³B + skill_status_change_timer()Askill_status_change_timer_sub() C³B + skill_addtimerskill()Askill_cleartimerskill() C³B + skill_check_unit_range_sub() C³B + battle.c + battle_calc_damage()Abattle_check_target() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack() C³B + pc.c + pc_steal_item() C³B + clif.c + clif_parse_WalkToXY()Aclif_closevendingboard() C³B + +-------------------- +//0813 by Kalen +EƒRƒ“ƒƒ“NPC’ljÁ + conf/npc/npc_town_gonryun.txt(ƒNƒGƒXƒg‚Í•s–¾ + conf/npc/npc_town_kafra.txt + conf/npc/npc_town_guide.txt + (conf/npc/npc_event_tougijou.txt)ƒf[ƒ^•s‘« + +E‘SGvGMAP‚ÌMobƒf[ƒ^’ljÁ + conf/mob/npc_monster_gvg.txt + +ETESTmob‚©‚çƒeƒXƒgƒMƒ‹ƒhƒtƒ‰ƒOˆÚ“® + conf/gvg/TEST_prtg_cas01_AbraiJ.txt + +-------------------- +//0812 by huge + +EƒfƒBƒ{[ƒVƒ‡ƒ“‚̉¼ŽÀ‘• + EƒpƒPƒbƒg‚ª‘S‘R•ª‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½‚Ì‚ÅA + ‚¢Ž…‚ào‚È‚¢‚µAƒAƒCƒRƒ“‚·‚ç•\Ž¦‚Å‚«‚Ü‚¹‚ñB + Eƒ_ƒˆÚ“®‚¾‚¯‚ÅAƒmƒbƒNƒoƒbƒNEƒI[ƒgƒK[ƒh‚Í“K‰ž‚³‚ê‚Ü‚¹‚ñB + + (map/) + clif.c + clif.h + clif_devotion() ’ljÁB + skill.c + skill_castend_nodamage_id() C³B + skill_devotion() skill_devotion2() ’ljÁB + skill_devotion3() skill_devotion_end() ’ljÁB + skill_status_change_end() C³B + skill_status_change_start() C³B + skill_brandishspear_first() C³B + skill_brandishspear_dir() C³B + pc.c + pc_authok() C³B + pc_walk() C³B + pc_damage() C³B + battle.c + battle_damage() C³B + map.h + map_session_data{} + struct square dev ’ljÁB + skill.h ‚Ìbrandish‚ðsquare‚ɉü–¼‚µA + (common/) mmo.h ‚Ɉړ® + +-------------------- +//0811 by ‚Ò‚´‚Ü‚ñ + +EUé’†‚Í’±‚ªŽg‚¦‚é‚悤‚ÉC³ +EŠ¦‚¢ƒWƒ‡[ƒNEƒXƒNƒŠ[ƒ€ŽÀ‘•(PTƒƒ“ƒo[‚É’áŠm—¦‚ʼn]X‚Í–¢ŽÀ‘•‚Å‚·) +EGVGƒXƒNƒŠƒvƒg‚ðC³(ŽŽsöŒë‚µ‚·‚¬‚Ä‚Ç‚±‚ð‚Ç‚¤‚µ‚½‚©Šo‚¦‚Ä‚Ü‚¹‚ñc) +@GVGƒXƒNƒŠƒvƒg‚ÉŠÖ‚µ‚Ä‚Å‚·‚ªAŠù’m‚̃oƒO‚ª‚ ‚è‚Ü‚· +@‚»‚ê‚ÍAè—̃Mƒ‹ƒhƒ}ƒXƒ^[ˆÈŠO‚ÌPC‚ªAè—̃Mƒ‹ƒhƒ}ƒXƒ^[‚æ‚èæ‚ÉNPC‚ɘb‚µŠ|‚¯‚é‚Æ +@ƒ}ƒbƒvƒT[ƒo‚ª—Ž‚¿‚é‚Æ‚¢‚¤‚à‚Ì‚Å‚·B +@‚±‚ê‚ÍAgetguildmasterEgetguildname‚ðŽg—p‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚·‚ׂĂɋN‚±‚蓾‚邱‚Æ‚Å‚ ‚è +@æ‚Éè—̃Mƒ‹ƒhƒ}ƒXƒ^[ˆÈŠO‚Řb‚µŠ|‚¯‚é‚ÆAguild_search‚ª‰½ŒÌ‚©(ŠY“–ID‚̃Mƒ‹ƒh‚ª‚ ‚é‚É‚àŠÖ‚í‚炸) +@NULL‚ð•Ô‚·Ž–‚É‹Nˆö‚µ‚Ü‚·B +@³’¼ƒXƒNƒŠƒvƒgŠÖŒW‚Í‚æ‚­‚í‚©‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA‚±‚ê‚ÍŽ„‚Ì‹Zp‚Å‚ÍC³‚Ì‚µ‚悤‚ª‚ ‚è‚Ü‚¹‚ñB +@Žb’è“I‚ȑΈ‚Æ‚µ‚ÄNULL‚ð•Ô‚µ‚ÄMAPŽI‚ª—Ž‚¿‚é‚­‚ç‚¢‚Ȃ當Žš—ñunullv‚ð•Ô‚·‚悤‚É‚µ‚Ü‚µ‚½B + + (map/) + skill.c + skill_frostjoke_scream() ’ljÁB + skill_additional_effect()Askill_timerskill() C³B + skill_castend_nodamage_id() C³B + pc.c + pc_isUseitem() C³B + script.c + buildin_getpartyname()Abuildin_getguildname() C³B + buildin_getguildmaster() C³B + (db/) + cast_db.txt C³B + (conf/gvg/) + ev_*.txtˆÈŠO‚Ìtxt‘S‚Ä‚ðC³B + +-------------------- +//0810 by ¹ + +EMVP‚̈—‚ð•ÏXB(Šm—¦‚Å10000‚ª‚ ‚Á‚Ä‚àA‘¼‚̃AƒCƒeƒ€‚ào‚é‚悤‚É‚µ‚Ü‚µ‚½) +EMVP‚Å‘•”õ‚ð“üŽè‚µ‚½ê‡AŠÓ’èÏ‚Ý‚Å“üŽè‚µ‚Ä‚¢‚½–â‘è‚ðC³B +EƒXƒLƒ‹‰r¥’†‚ɃCƒO—t‚âŠg‘勾‚ðŽg‚¤‚ƃvƒŒ[ƒ„[‚ÌŽg—p‰Â”\‚È +@‘SƒXƒLƒ‹‚ÌLV‚ª1‚ɌŒ肳‚ê‚Ä‚µ‚Ü‚¤–â‘è‚ðC³B +EƒI[ƒNƒA[ƒ`ƒƒ[“™Aƒ‚ƒ“ƒXƒ^[‚É‚æ‚é㩃XƒLƒ‹‚Ì—LŒøŠúŒÀ‚ªØ‚ꂽ‚Æ‚«‚ÉA +@Ý’u—pƒgƒ‰ƒbƒv‚ªo‚é–â‘è‚ðC³B +EƒƒOƒCƒ“ƒGƒ‰[(ƒpƒXƒ[ƒh“ü—̓~ƒX‚âBAN“™)‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ª +@³‚µ‚­ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ê’m‚³‚ê‚È‚¢–â‘è‚ðC³B +E‚»‚Ì‘¼×‚©‚ÈC³B + (common/) + version.h C³B + (login/) + login.c + parse_login() C³B + parse_fromchar() C³B + (char/) + int_guild.c + mapif_parse_GuildLeave() C³B + (map/) + itemdb.c + itemdb_read_itemnametable() C³B + atcommand.c + atcommand() C³B + skill.c + skill_unit_timer_sub() C³B + script.c + buildin_itemskill() C³B + mob.c + mob_damage() C³B + +-------------------- +//0809 by Kalen + +E“ŒŒÎéƒ[ƒvƒ|ƒCƒ“ƒgC³ +EƒAƒ}ƒcŽõŽi‰®C³ +EƒoƒOƒXƒŒ129‚Ì–â‘èC³H + + +-------------------- +//0808 by ‚Ò‚´‚Ü‚ñ + +E‘•”õ§ŒÀ‚ªãŽè‚­“®ì‚µ‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒh‚ÍGvGŠJŽnŽž‚Éì‚ç‚ê‚é‚悤‚É•ÏXB +EGvGŠJŽnŽž‚ÉŠY“–ƒ}ƒbƒv‚É‚¢‚é‘SPC(è—̃Mƒ‹ƒhˆõˆÈŠO)‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚悤‚ÉC³B +Eƒ‚ƒ“ƒnƒEƒMƒ‹ƒhƒAƒWƒg‚ŃGƒ“ƒy‚ð‰ó‚·‚ÆAƒ‚ƒ“ƒnƒE‚ªÁ‚¦‚é‚悤‚ÉC³B +@‚±‚ÌC³‚É”º‚Á‚Ämaprespawnguildid‚̈ø”‚Ìflag‚ÌŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ +@flag‚̓rƒbƒgƒtƒ‰ƒO‚É‚È‚èA +@@1ƒrƒbƒg–ÚFè—̃Mƒ‹ƒhˆõ‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚© +@@2ƒrƒbƒg–ÚFè—̃Mƒ‹ƒhˆõˆÈŠO‚ðƒZ[ƒuƒ|ƒCƒ“ƒg‚É–ß‚·‚© +@@3ƒrƒbƒg–ÚFƒGƒ“ƒyEƒK[ƒfƒBƒAƒ“ˆÈŠO‚ÌMOB‚ðÁ‚·‚© +@‚¢‚¸‚ê‚àA0=NOA1=YES‚É‚È‚è‚Ü‚· + + (conf/gvg/) + ev_agit_aldeg.txt C³B + ev_agit_gefg.txt C³B + ev_agit_payg.txt C³B + ev_agit_prtg.txt C³B + TEST_prtg_cas01_AbraiJ.txt C³B + TEST_prtg_cas01_mob.txt C³B + (map/) + pc.c + pc_checkitem() C³B + script.c + buildin_maprespawnguildid_sub() C³B + buildin_maprespawnguildid() C³B + +-------------------- +//0807 by Ž€_ + +E0805‚ÅFD_SETSIZE‚ðC³‚·‚銂ðŠÔˆá‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B56–¼Ž~‚܂肪Ž¡‚é‚ÆŒ¾‚¤•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñ‚ª... +Eˆê“x‚É“]‘—‚·‚éƒpƒPƒbƒg‚Ì’·‚³‚ð32768bytes‚©‚ç65536bytes‚É•ÏXB + (common/) + mmo.h C³B + socket.h C³B + socket.c C³B + +-------------------- +//0806 by Kalen + +EagitƒtƒHƒ‹ƒ_¨gvgƒtƒHƒ‹ƒ_‚ÖˆÚs + ”ˆÓŒ©‚ ‚é‚ÆŽv‚¢‚Ü‚·‚ªAjRO‚Å‚ÍUéí‚ðgvg‚ƌĂԂ±‚Æ‚ªˆê”Ê“I‚È‚Ì‚Å‚±‚¿‚ç‚É“‡‚µ‚Ü‚·B + conf/gvg/ + ###agitƒtƒHƒ‹ƒ_‚ð휂µ‚Ä‚­‚¾‚³‚¢###@(Please delete the "agit" folder.) + getmaster‘Ήž + +EƒAƒ}ƒc‚ÌŽõŽi‰®ƒoƒOC³‚Æ€–ڒljÁ(thx 114 + conf/npc/npc_town_amatsu.txt + +Emap_flagÄC³ + conf/map_flag.txt + [GVGMAP]Šm‚©‚Éí‚ɃV[ƒYƒ‚[ƒh‚È‚ç–â‘è‚È‚¢‚Å‚·‚ªA휂³‚ê‚Ü‚µ‚½‚Ì‚Å + í‚ɃV[ƒYƒ‚[ƒh‚Å‚Í‚ ‚è‚Ü‚¹‚ñB]‚Á‚ĉ𜎞(ŽžŠÔŠO)‚É‚ÍŽ}AƒeƒŒƒ|‚ªŽg‚¦‚Ü‚· + ŽžŠÔ‘O‚ÉŽ}ŽT‚«A‚Ü‚¾ŽÀ‘•‚µ‚Ä‚Ü‚¹‚ñ‚ª•ó” ’DŽæ‚à‰Â”\‚É‚È‚é‚Ì‚ÅŽ}AƒeƒŒƒ|‚Íí‚ÉŽg—p•s‰Â‚Å–â‘è‚È‚¢‚ÆŽv‚¢‚Ü‚·B + +Œã‘O‰ñ‘‚«–Y‚ê‚Ü‚µ‚½‚ªAmomotaroƒCƒxƒ“ƒg‚Å‚·‚ªA‚¿‚å‚Á‚Æ•sˆÀ’è‚ȉ”\«‚ª‚ ‚è‚Ü‚·B +Œ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªAƒ‹[ƒv‚µ‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBˆê‰žƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚· + +-------------------- +//0805 by Ž€_ + +E•¶Žš‰»‚¯C³B +EƒV[ƒYƒ‚[ƒh‚ł̃eƒŒƒ|[ƒg‹ÖŽ~‚âŒÃ–Ø‚ÌŽ}Žg—p‹ÖŽ~‚̓\[ƒXƒŒƒxƒ‹‚Å +ˆ—‚µ‚Ä‚¢‚é‚Ì‚Åmapflag.txt‚©‚çíœB(ˆö‚Ý‚Énopenalty‚àƒ\[ƒXƒŒƒxƒ‹‚Å +ˆ—‚µ‚Ä‚¢‚Ü‚·B) +Ebattle_athena.conf‚Ìagit_eliminate_time‚ðgvg_eliminate_time‚É•ÏXB +E@ƒRƒ}ƒ“ƒh@GMíœB +EFD_SETSIZE‚©cygwin‚Å64‚Éݒ肳‚ê‚Ä‚¢‚½‚Ì‚¹‚¢‚ÅÅ‘åÚ‘±l”‚ª56–¼‚ð +‰z‚¦‚é‚ƃ}ƒbƒvŽI‚ª–³ŒÀƒ‹[ƒv‚·‚é–â‘èC³B(‚½‚¾ƒeƒXƒg‚ª‚Å‚«‚È‚©‚Á‚½•¨‚È‚Ì‚Å–{“–‚É‘åä•v‚É‚È‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·B‚ ‚­‚Ü‚Å‚àŽ©•ª‚Ì—\‘ª‚É‚·‚¬‚È‚¢•¨‚Å‚·‚ª...) +E•¶Žš‰»‚¯‚Ì‚¹‚¢‚Å‚Ç‚±‚ð‚Ç‚¤C³‚µ‚½‚©Šo‚¦‚Ä‚È‚¢‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯B + (conf/) + atcommand_athena.conf + battle_athena.conf + mapflag.txt + (db/) + castle_db.txt + (doc/) + conf_ref.txt + (common/) + mmo.h + (login/) + login.c + (char/) + inter.c + int_guild.c + (map/) + atcommand.h + atcommand.c + battle.h + battle.c + chrif.c + guild.h + guild.c + intif.h + intif.c + map.h + map.c + mob.c + npc.c + npc.h + script.c + skill.c + pc.c + makefile + +-------------------- +//0804 by Žß‘¸ + +EƒAƒ‹ƒxƒ‹ƒ^‚Ì‚Ê‚¢‚®‚é‚݃Cƒxƒ“ƒg‚Å‚¤‚³‚¬‚Ì‚Ê‚¢‚®‚é‚Ý‚ð‚ ‚°‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ + + (conf/npc/) + npc_event_doll.txt C³B + +-------------------- +//0803 by ‚Ò‚´‚Ü‚ñ + + GvG‚ŃGƒ“ƒyƒŠƒEƒ€•ö‰óŽžgvg_eliminate_time‚Ì’l‚ÉŠÖ‚í‚炸‘¦À‚É‘Þ‹Ž‚³‚¹‚ç‚ê‚Ä‚¢‚½ƒoƒOC³ + GvG‚̃ZƒŠƒt‚ðˆê•”C³ + interŽI‚Åcastle.txt‚ª‚È‚¢‚Æ‹N‚±‚éFX‚ȃGƒ‰[‚ðC³ + help.txt‚ðC³(@gvgstart¨@agitstart‰]X) + + (conf/) + gvg/TEST_prtg_cas01_AbraiJ.txt C³B + agit/ev_agit_prtgJ.txt C³B + help.txt C³B + (map/) + int_guild.c + inter_guild_init() C³B + +-------------------- +//0802 by Michael_Huang + + Added NPC Script - 'GetGuildMaster' Command. + (common/) + version.h + Mod_Version 0802 + (map/) + script.c + buildin_getguildmaster_sub() buildin_getguildmaster() + +-------------------- +//0801 by Kalen +EƒAƒ}ƒcC³ +@@ŽÀ‘•‘O‚̃f[ƒ^A”²‚¯‚Ä‚éƒf[ƒ^‚Ȃǂ𒲸‚µC³ + conf/npc/npc_town_guide.txt + conf/npc/npc_town_amatsu.txt + conf/npc/npc_event_momotaro.txt + conf/npc/npc_event_alchemist.txt + conf/mob/npc_monster35.txt + conf/warp/npc_warp_amatsu.txt +Emap_flagC³ + [GVGMAP]Ž}AƒeƒŒƒ|‚Íí‚ÉŽg—p•s‰Â +EGVGŠÖŒW + 0800‚̃Rƒ}ƒ“ƒh‚ɑΉž + +-------------------- +//0800 by Michael_Huang + + Added Agit NPC Script & Command. + Fix FreeBSD GCC compatibility. + Attachment Agit Demo NPCs. + + (char/) + int_guild.c + mapif_guild_castle_dataload() mapif_guild_castle_datasave() + int mapif_parse_GuildCastleDataLoad() int mapif_parse_GuildCastleDataSave() + inter_guild_parse_frommap() inter_guildcastle_tostr() inter_guildcastle_fromstr() + inter.c + inter_send_packet_length[] inter_recv_packet_length[] + (common/) + mmo.h + GLOBAL_REG_NUM, struct global_reg {} + version.h + Mod_Version 0799. + (conf/) + atcommand_athena.conf + agitstart: 1,agitend: 1 + battle_athena.conf + agit_eliminate_time: 7000 + map_athena.conf + conf/agit/ev_agit_*.txt + (doc/) + conf_ref.txt + battle_athena.cnf + agitdb_ref.txt + (login/) + login.c + parse_login() + (map/) + atcommand.h + agitster, agitend + + atcommand.c + @agitstart, @agitend + battle.h + battle_config.agit_eliminate_time + battle.c + battle_config_read() + chrif.c + chrif_changedsex() chrif_connectack() + guild.h + guild_agit_start() guild_agit_end() guild_agit_break() + guild.c + guild_read_castledb() do_init_guild() + guild_agit_start() guild_agit_end() guild_agit_eliminate_timer() guild_agit_break() + intif.h + intif_guild_castle_dataload() intif_guild_castle_datasave() + intif.c + packet_len_table[] intif_guild_castle_dataload() intif_guild_castle_datasave() + intif_parse_GuildCastleDataLoad() intif_parse_GuildCastleDataSave() intif_parse() + map.h + agit_flag + map.c + agit_flag + npc.h + npc_event_doall() npc_event_do() + npc.c + npc_event_do_sub() npc_event_do() + script.c + buildin_maprespawnguildid() buildin_agitstart() buildin_agitend() + buildin_getcastlename() buildin_getcastledata() buildin_setcastledata() + skill.c + skill_unit_onplace() + skill_gangster_count() + +-------------------- +//0799 by ‚Ò‚´‚Ü‚ñ + +EGvGŽÀ‘•‚ׂ̈Éinter-mapŠÔ‚Ì’ÊMŽd—l•ÏX +E0798‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[C³(byƒoƒO•ñƒXƒŒ82Ž) + (login/) + login.c + parse_login() C³B + (map/) + intif.c + packet_len_table[] C³B + intif_parse_GuildCastleInfo() C³B + intif_parse_GuildCastleChange()‚ðintif_parse_GuildCastleChangeErr()‚ɉü–¼EC³B + intif_parse() C³B + guild.c + guild_read_castledb() C³B + + (char/) + inter.c + inter_send_packet_length[] C³B + int_guild.c + inter_guildcastle_tostr() C³B + inter_guildcastle_fromstr() C³B + mapif_parse_GuildChangeCastle() C³B + mapif_parse_GuildCastleInfo() C³B + mapif_guild_castle_info() C³B + mapif_guild_change_castle()‚ðmapif_guild_change_castle_err()‚ɉü–¼EC³B + (common/) + mmo.h C³B + version.h C³B + +-------------------- +//0798 by ŒÓ’±—– + +Elogin-server‚̃ƒOƒCƒ“Ž¸”sƒpƒPƒbƒg‚Ì’·‚³‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ +Elogin-server‚ɃAƒNƒZƒXƒRƒ“ƒgƒ[ƒ‹‹@”\’ljÁ + Elogin_athena.cnf‚Éorder,allow,deny‚ð‹Lq‚·‚邱‚Æ‚ÅA + IP’PˆÊ(‘O•ûˆê’v)‚ŃAƒNƒZƒX‚ð‹ÖŽ~‚·‚é‹@”\B + EŽw’è•û–@‚Í doc/conf_ref.txt ‚ðŽQÆ + + (doc/) + conf_ref.txt + login_athena.cnf‚Ì•”•ªC³ + (login/) + login.c + ƒOƒ[ƒoƒ‹•Ï” access_* ’ljÁ + parse_login()C³,check_ip()’ljÁ + +EƒAƒJƒEƒ“ƒg쬗pCGIƒXƒNƒŠƒvƒg’ljÁ + EŽ©ŒÈÓ”C•Úׂȉðà–³‚µAŽ¿–₳‚ê‚Ä‚àƒXƒ‹[‚·‚é‰Â”\«—L‚è + EƒGƒfƒBƒ^‚ÅŠJ‚¢‚½‚ç­‚µà–¾—L‚è + ECGIÝ’u‚ÌŠî–{‚³‚¦‚í‚©‚ê‚Ζâ‘è‚È‚¢‚Í‚¸ + EƒƒbƒZ[ƒW‚͉pŒêA“ú–{Œê—¼‘Ήž + iAccept-Language‚ªja‚È‚ç“ú–{Œê‚É•ÏŠ·‚µ‚Ü‚·j + EŠÇ—ŽÒƒpƒXƒ[ƒh‚È‚µ‚Å“®‚­‚̂ŃZƒLƒ…ƒŠƒeƒB‚É‚Í’ˆÓ(.htaccess‚È‚Ç„§) + + (tool/cgi/) + addaccount.cgi + ƒAƒJƒEƒ“ƒg쬗pCGIB + +E‚»‚Ì‘¼ + (tool/) + backup + castle.txt‚àƒoƒbƒNƒAƒbƒv‚·‚é‚悤‚É + +-------------------- +//0797 by Ž€_ + +E­‚µC³B +Ebattle_athena.conf‚Ì€–Ú•ÏXB(lootitem_time íœAitem_first_get_timeA +item_second_get_timeAitem_third_get_timeAmvp_item_first_get_timeA +mvp_item_second_get_timeAmvp_item_third_get_time ’ljÁB) +EƒAƒCƒeƒ€ƒ‹[ƒgŒ ŒÀ‚𳂵‚­ŽÀ‘•BʼnUŒ‚‚Å‚Í‚È‚­—^‚¦‚½ƒ_ƒ[ƒW‚Ì +—Ê‚É‚æ‚Á‚ÄŽû“¾Œ ŒÀ‚ð—^‚¦‚é‚悤‚É•ÏXB(ʼnŽû“¾Œ ŒÀ‚̂݃eƒXƒg) +ƒp[ƒeƒB‚Ìꇃp[ƒeƒB‚ÌÝ’è‚ɇ‚킹‚é•K—v‚ª‚ ‚è‚Ü‚·‚ª‚Ü‚¾ƒpƒPƒbƒg‚ª +•s–¾‚ÈŠ‚ª‚ ‚éˆ×“¯‚¶ƒp[ƒeƒB‚È‚çŽû“¾‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚̃oƒOC³B(‘½•ªC³‚³‚ꂽ‚Í‚¸...) +E‘•”õƒXƒNƒŠƒvƒgbonus‚ÉbSplashRange‚ÆbSplashAddRange’ljÁB +bSplashRange‚ÆbSplashAddRange‚Í•Ší‚Ń_ƒ[ƒW‚ð—^‚¦‚½Žž‚Ì‚Ý”­“®A’Êí‚Ì•ŠíUŒ‚ˆµ‚¢‚È‚Ì‚Å”ð‚¯‚ç‚ê‚邪(Flee2‚É‚æ‚銮‘S‰ñ”ð‚Í•s‰Â”\)ƒNƒŠ‚Ío‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ä•Ší‚É‚æ‚éó‘ÔˆÙí‚Í”­¶‚µ‚Ü‚¹‚ñB–{ŽIŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñB +EƒXƒLƒ‹‚Ìd‚Ë’u‚«ˆ—‚ð–{ŽI‚ɇ‚킹‚ÄC³B +Emapflag‚Ìgvg‚Í‚¢‚‚à‚È‚Á‚Ä‚¢‚é‚킯‚¶‚á‚È‚¢‚Ì‚ÅíœB +E‚»‚Ì‘¼×‚©‚¢C³B + athena-start C³B + (common/) + mmo.h C³B + (conf/) + mapflag.txt C³B + battle_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (map/) + mob.c + mob_spawn()Amob_damage()Amob_class_change()Amob_warp() C³B + mob_delay_item_drop()Amob_delay_item_drop2() C³B + mobskill_castend_pos() C³B + pc.c + pc_takeitem()Apc_dropitem()Apc_equipitem() C³B + pc_calcstatus()Apc_bonus() C³B + skill.c + skill_attack()Askill_additional_effect()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_produce_mix() C³B + skill_arrow_create()Askill_unit_timer_sub()Askill_castend_pos() C³B + map.h C³B + map.c + map_addflooritem() C³B + script.c + buildin_getitem() C³B + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack() C³B + battle_weapon_attack()Abattle_config_read() C³B + +-------------------- +//0796 by huge + +Eׂ©‚¢C³ + (conf/npc/) + npc_event_valentine.txt C³B + + (map/) + pc.c + pc_takeitem() C³B + skill.c + skill_unit_timer_sub() C³B + +-------------------- +//0795 by Kalen + +EŽG’k341‚Ìnpc_warp_niflheim.txt’ljÁ + conf/warp/npc_warp_niflheim.txt + +Emapflag.txtC³(GVGMAPÝ’è) + @nosave‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñ + +Emap_athena.conf‚ÌC³ + @umbala niflheim“™‚̒ljÁ + @ƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚ ‚è‚Ü‚·B + +EƒoƒŒƒ“ƒ^ƒCƒ“ƒXƒNƒŠƒvƒg’ljÁ + conf/npc/npc_event_valentine.txt + @ƒ`ƒ‡ƒR’B‚ÌDrop‚͘M‚Á‚Ä‚¢‚Ü‚¹‚ñB‚¨D‚Ý‚Å‚Ç‚¤‚¼ + @®AŽèì‚èƒ`ƒ‡ƒR‚ðH‚ׂ½‚Æ‚«‚̃GƒtƒFƒNƒg‚Í + @ÅVƒNƒ‰ƒCƒAƒ“ƒg‚É‚·‚ê‚ÎŒ©‚¦‚Ü‚·B + +EGVGScript’ljÁ + conf/gvg/ˆÈ‰º + @WeissŽž‘ã‚É쬂µ‚½‚à‚Ì‚ðAthena—p‚ɃRƒ“ƒo[ƒg&‘䎌C³ + @prtg_cas01ˆÈŠO‚ÍŠø‚Ì‚Ý‚Å‚·B + @GVGDATA‚ÍŽIÄ‹N“®‚ÅÁ–Å‚µ‚Ü‚·B + @ƒGƒ‰[‚ªo‚é‚悤‚È‚çƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚­‚¾‚³‚¢B + @MobDataAŽ·Ž–Script‚àprtg_cas01‚Ì‚Ý‚Å‚·B(TestScript) + @‚ ‚­‚܂ŃeƒXƒgƒXƒNƒŠƒvƒg‚Å‚·BGVGŽÀ‘•‚ÌŽQl‚É‚Ç‚¤‚¼ + +-------------------- +//0794 by DRG + +Eskillused‚ÅŽw’肵‚½IW,QM‚È‚Ç‚É‚Ì‚Á‚Ä‚éŠÔMOBƒXƒLƒ‹‚ðŽg—p‚·‚é‚悤‚É•ÏX +EƒAƒbƒvƒXƒŒ‚R‚Ì7‚Ìathena-start‚ðˆê‰žŠÜ‚ß‚Æ‚«‚Ü‚µ‚½ + + athena-start + (map/) + skill.c + skill_unit_onplace() C³B + +-------------------- +//0793 by huge + +EƒT[ƒo[snapshot +EƒT[ƒo[‚ªƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒO‚ðC³ +E”­“®‚¹‚¸‚Éã©‚ªÁ‚¦‚½‚çAÝ’u—pƒgƒ‰ƒbƒv‚ª•Ô‚Á‚Ä‚­‚é‚悤‚ÉC³B +Eƒ‹[ƒgŒ ŒÀ‚ÅA“¯‚¶ƒp[ƒeƒB[‚̃Lƒƒƒ‰‚Í‚·‚®E‚¦‚é‚悤‚ÉC³B +EƒoƒO•ñƒXƒŒ‚R >>54 ‚̃oƒOC³B +EƒƒOƒCƒ“Žž‚ɃT[ƒo[‘¤‚ÉID‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + (login/) + login.c + parse_login() C³B + (conf/npc/) + npc_event_doll.txt C³B + (map/) + skill.c + skill_unit_timer_sub() C³B + mob.c + mob_spawn_dataset() C³B + mob_damage() C³B + pc.c + pc_additem() C³B + +-------------------- +//0791 by ¹ + +Eƒ}ƒbƒvƒT[ƒo‚ªƒNƒ‰ƒbƒVƒ…‚·‚éƒoƒOC³B +EƒCƒO—t‚ðŽg‚Á‚Ä‚àƒWƒFƒ€‚ª•K—v‚É‚È‚é–â‘è‚ðC³B +EPvP‹­§‘—ŠÒŽÀ‘•B +EPvP‚ŃŠƒUƒŒƒNƒVƒ‡ƒ“‚ªo—ˆ‚È‚©‚Á‚½–â‘è‚ðC³B +E‚»‚Ì‘¼×‚©‚ÈC³B + (map/) + guild.c + mob.c + pc.c + skill.c + +-------------------- +//0790 by Ž€_ + +EƒoƒOC³B + (conf/) + battle_athena.conf ŒëŽšC³B + (doc/) + conf_ref.txt ŒëŽšC³B + (common/) + mmo.h C³B + (map/) + itemdb.h C³B + map.h C³B + skill.c + skill_check_condition()Askill_use_pos()Askill_unit_onplace() C³B + +-------------------- +//0789 by huge + +EƒhƒƒbƒvƒAƒCƒeƒ€‚Ƀ‹[ƒgŒ ŒÀ‚ðŽÀ‘•B +Eʼn‚ÉUŒ‚‚µ‚½lˆÈŠO‚ªƒhƒƒbƒvƒAƒCƒeƒ€‚ðE‚¦‚é‚Ü‚Å‚ÌŽžŠÔ‚ðÝ’è‚Å‚«‚é‚悤‚ÉB + (/conf) + battle_athena.conf €–ڒljÁB + + (/doc) + conf_doc.txt à–¾’ljÁB + + (/map) + battle.h + Battle_Config{} C³B + battle.c + battle_config_read() C³B + itemdb.h + item_data {} C³B + map.h + flooritem_data {} C³B + mob_data {} C³B + map.c + map_addflooritem() C³B + mob.c + delay_item_drop{} C³B + mob_spawn() C³B + mob_damage() C³B + mob_delay_item_drop() C³B + mob_warp() C³B + pc.c + pc_takeitem() C³B + +-------------------- +//0788 by ‚ ‚ä‚Ý + +EcardƒXƒLƒ‹‚̈—H‚ðC³B +E@allskillƒRƒ}ƒ“ƒh‚ÌÄC³B + + (map/) + pc.c + pc_skill() C³B + pc_allskillup() C³B + +-------------------- +//0787 by ‚Û‚Û‚Û + +Eƒyƒbƒg‚É‚àmob_avail.txt‚ÌÝ’è‚ð“K—p‚·‚é‚悤‚É‚µ‚½B +EMOBƒXƒLƒ‹‚Ìskillused‚Åval1‚É0‚ð“ü‚ê‚é‚Æ‚ ‚ç‚ä‚éƒXƒLƒ‹‚ɑ΂µ‚Ä”­“®‚·‚é‚悤‚É‚µ‚½B +Eskillused‚Å”­“®‚µ‚½ƒXƒLƒ‹‚Ì‘ÎÛ‚ðA”­“®‚³‚¹‚½PC‚É‚·‚é‚©‚Ç‚¤‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½(‘ÎIWƒnƒ‚È‚ÇH)B + (/map) + clif.c + clif_pet0078()Aclif_pet007b()C³B + mob.c + mobskill_use()C³B + skill.c + skill_attack() Askill_castend_damage_id()C³B + battle.h + battle.c + battle_config_read()C³B + +-------------------- +//0786 by huge + +EBDSC³ + ‘O‚©‚ç‚«”ò‚΂µ‚Äs‚­‚Æ—Ç‚­‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚Ì‚ÅAŒã‚ë‚©‚爗 + —LŒø”͈͂ÌC³ + + (/map) + + skill.h + skill.c + skill_castend_damage_id() C³B + skill_castend_nodamage_id() C³B + skill_brandishspear_first() C³B + skill_brandishspear_dir() C³B + +-------------------- +//0785 by Ž€_ + +E–{ŽI‚ɇ‚킹‚ÄC³B(ŠØ‘ˆÆ‚̃pƒbƒ`notice‚ðŽQl‚µ‚ÄC³‚µ‚Ü‚µ‚½B) +EBB‚ÆBS‚̃LƒƒƒXƒeƒBƒ“ƒOŽžŠÔ‚ð0.7•b‚É‚µ‚ăfƒBƒŒƒC‚Í0‚É•ÏXB +Eghost‚Ì•Ï‚í‚è‚Ƀ}ƒbƒvˆÚ“®Œã‚Ì–³“GŽžŠÔ‚ðÝ’èB‚±‚ÌŽžŠÔ‚ÌŠÔ‚Í‚Ç‚ñ‚ÈUŒ‚‚àŽó‚¯‚È‚¢‚ªˆÚ“®‚âUŒ‚AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚Å‚±‚ÌŽžŠÔ‚Í‚È‚­‚È‚è‚Ü‚·BƒV[ƒYƒ‚[ƒh‚Å‚Í‚±‚Ì–³“GŽžŠÔ‚ð2”{‚Æ‚µ‚Ä“K—pB +EƒV[ƒYƒ‚[ƒh‚ÅŽ€‚ñ‚Å‚àŒoŒ±‚ªŒ¸‚ç‚È‚¢‚悤‚ÉC³B(mapflag‚Ìnopenalty‚ðÝ’è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB) +EƒXƒLƒbƒh‚ÅŠŠ‚ׂ鋗—£‘‰ÁB +EŠù‚É’¾–Ù‚É‚©‚©‚Á‚Ä‚é‘ÎۂɃŒƒbƒNƒXƒfƒBƒr[ƒi‚ðŽg‚¤‚Æ’¾–Ù‚ª‰ðœ‚³‚ê‚é‚悤‚É•ÏXB +EŽô‚¢‚É‚©‚©‚é‚ƈړ®‘¬“x‚àŒ¸‚é‚悤‚ÉC³B +Ebattle_athena.conf‚É€–Ú•ÏXB +EƒXƒLƒ‹‚Ìd‚Ë’u‚«‚ð”»’fˆ—‚ð­‚µ•ÏXB +EHP‚ÌŽ©‘R‰ñ•œŽžŠÔ‚ª4•b‚Å‚Í‚È‚­6•b‚¾‚Æ‚í‚©‚Á‚½‚̂ŃfƒtƒHƒ‹ƒgC³‚Æbattle_athena.confC³B +E‚»‚Ì‘¼×‚©‚¢C³‚âƒoƒOC³B +E–w‚ǃeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + cast_db.txt C³B + (map/) + atcommand.c C³B + clif.c + clif_mob0078()Aclif_mob007b()Aclif_skill_estimation() C³B + clif_mob_class_change()Aclif_parse_WalkToXY() C³B + clif_parse_ActionRequest()Aclif_parse_LoadEndAck() C³B + clif_parse_UseItem()Aclif_parse_UseSkillToId() C³B + clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() C³B + mob.h C³B + mob.c + mob_get_viewclass()Amob_attack()Amob_target() C³B + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard() C³B + mobskill_castend_id()Amobskill_castend_pos() C³B + skill.h C³B + skill.c + skill_can_produce_mix()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_castend_id() C³B + skill_castend_pos()Askill_use_id()Askill_readdb() C³B + skill_check_condition()Askill_unit_onplace()Askill_unitsetting() C³B + skill_additional_effect()Askill_check_unit_range() C³B + skill_check_unit_range_sub()Askill_status_change_end() C³B + skill_status_change_start() C³B + pc.h + pc.c + pc_ghost_timer()Apc_setghosttimer()Apc_delghosttimer() íœB + pc_gvg_invincible_timer() -> pc_invincible_timer()‚É•ÏXB + pc_setgvginvincibletimer() -> pc_setinvincibletimer()‚É•ÏXB + pc_delgvginvincibletimer() -> pc_delinvincibletimer()‚É•ÏXB + pc_authok()Apc_attack_timer()Apc_calcstatus() C³B + pc_setrestartvalue()Apc_damage()Apc_allskillup() C³B + do_init_pc() C³B + battle.h C³B + battle.c + battle_config_read()Abattle_weapon_attack()Abattle_check_target() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_get_speed() C³B + map.h C³B + map.c + map_quit() C³B + +-------------------- +//0784 by ‚ ‚ä‚Ý + +EƒJ[ƒhƒXƒLƒ‹‚ðŠo‚¦‚Ä‚¢‚éó‘Ô‚Å@allskillƒRƒ}ƒ“ƒh‚ðŽg—p‚·‚é‚Æmap-server‚ª–\‘–‚·‚é–â‘è‚ðC³B + + (map/) + pc.c + pc_allskillup() C³B + +-------------------- +//0783 by huge + +Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA‚ÌC³ + ”͈͎w’èAŽÎ‚ß‚ÌÛ‚ÌŠiŽq”͈ÍAUŒ‚—ÍŒvŽZ + ‘½•ª‡‚Á‚Ä‚é‚ÆŽv‚¤‚ñ‚Å‚·‚¯‚ÇAƒCƒ}ƒCƒ`Ž©M‚ªŽ‚Ä‚È‚¢EEE + (ŽQl)‚Ý‚·‚Ƃꑃ -ƒXƒLƒ‹ŠÖ˜A“¤î•ñ +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ð‚¿‚å‚Á‚ÆC³ +Eƒvƒƒ{ƒbƒN‚ðMVPmob‚ÉŒø‚©‚È‚¢‚悤C³ +EƒoƒO•ñƒXƒŒ‚R >>8 ‚Å•ñ‚³‚ꂽ‚à‚Ì‚ÌŽæ‚èž‚Ý + + (/db) + create_arrow.txt C³B + skill_db.txt C³B + + (/map) + battle.c + battle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack() C³B + + skill.h + skill.c + skill_brandishspear_first() ’ljÁB + skill_brandishspear_dir() ’ljÁB + skill_castend_nodamage_id() C³B + skill_castend_damage_id() C³B + skill_unit_group() C³B + +-------------------- +//0782 by ‚Ò‚´‚Ü‚ñ +E@allskillƒRƒ}ƒ“ƒh‚ÌŽg—pðŒ‚ªŽQÆ‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ƒoƒOC³ + (/map) + atcommand.c + atcommand() C³B + +-------------------- +//0781 by Chunglyeng +Eƒoƒh, ƒ_ƒ“ƒT[‰¹Šy‹ïŒ» + (/map) + skill.c C³B + +-------------------- +//0780 by reia +EƒyƒRƒyƒR‚Ì—‘‚È‚Ç‚ª›z‰»‚·‚é‚ƃmƒr‚É‚È‚Á‚Ä‚µ‚Ü‚¤–â‘èC³B +EGMƒRƒ}ƒ“ƒhu@kickallv‚ª‰½Žž‚ÌŠÔ‚É‚©–³Œø‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B + + (/conf) + atcommand_athena.conf C³B + (db/) + mob_skill_db.txt C³B + (map/) + atcommand.c + atcommand_config_read() C³B + +-------------------- +//0779 by ‚ ‚ä‚Ý + +E‘SƒXƒLƒ‹Žæ“¾ƒRƒ}ƒ“ƒh‚̒ljÁB + EGM‚Å‘SƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚é‚悤‚É‚µ‚Ä‚¢‚éꇂâAƒXƒLƒ‹‚Ì”‚ª‘½‚¢E‹Æ‚͈ꕔ‚̃XƒLƒ‹•\Ž¦‚ª‚¨‚©‚µ‚­‚È‚è‚Ü‚·B‚»‚Ìꇂ̓ŠƒƒO‚µ‚ĉº‚³‚¢B + @allskill : Œ»Ý‚ÌE‹Æ‚Ŏ擾‰Â”\‚È‘SƒXƒLƒ‹‚ðŽæ“¾‚·‚éB(ƒNƒGƒXƒgƒXƒLƒ‹ŠÜ‚Þ) + + (conf/) + battle_athena.conf C³B + help.txt C³B + (map/) + atcommand.h C³B + atcommand.c + atcommand() C³B + pc.h C³B + pc.c + pc_allskillup() ’ljÁB + (doc/) + conf_ref.txt C³B + help.txt C³B + +-------------------- +//0778 by huge + +EƒXƒyƒ‹ƒuƒŒƒCƒJ[‚ÌC³ + EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚Ì–³‚¢ƒXƒLƒ‹‚É‚ÍŒø‚©‚È‚¢‚悤‚ÉC³B + EŽg—p‚³‚ꂽ‘ŠŽè‚ÌÁ”ïSP‚ÌC³B + + (map/) + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//0777 by ‚Ò‚´‚Ü‚ñ + +EƒMƒ‹ƒhUé퉼ŽÀ‘• +@EŠî–{“I‚È•”•ª‚¾‚¯‚µ‚©ŽÀ‘•‚µ‚Ä‚È‚¢ãA‚¢‚­‚‚©‚Ì“_‚Å–{ŽI‚Æ‘Šˆá‚ª‚ ‚è‚Ü‚·B +@EUéíŠJŽn‚ÆI—¹‚Í@ƒRƒ}ƒ“ƒh‚Ås‚¢‚Ü‚· + @gvgstart : UéíŠJŽn + @gvgend : UéíI—¹ +@Ebattle_athena.conf‚É€–ڒljÁB + (char/) + int_guild.c + inter_guild_init()Ainter_guild_readdb()Ainter_guild_save() C³B + inter_castle_save_sub()Amapif_guild_castle_info() ’ljÁB + mapif_guild_change_castle()Amapif_parse_GuildCastleInfo() ’ljÁB + mapif_parse_GuildChangeCastle() ’ljÁB + inter.c + inter_config_read() C³B + inter_send_packet_length[]Ainter_recv_packet_length[] C³B + int_guild.h C³B + (map/) + atcommand.c + atcommand()Aatcommand_config_read() C³B + battle.c + battle_config_read() C³B + guild.c + guild_castle_search()Aguild_read_castledb()’ljÁB + do_init_guild() C³B + guild_gvg_init()Aguild_gvg_final()Aguild_gvg_final_sub() ’ljÁB + guild_gvg_eliminate()Aguild_gvg_eliminate_sub() ’ljÁB + guild_gvg_eliminate_timer()Aguild_gvg_empelium_pos() ’ljÁB + guild_gvg_break_empelium() ’ljÁB + intif.c + intif_parse()Apacket_len_table[] C³B + intif_parse_GuildCastleInfo()Aintif_parse_GuildCastleChange() ’ljÁB + intif_guild_castle_info()Aintif_guild_castle_change() ’ljÁB + mob.c + mob_damage() C³B + atcommand.h C³B + battle.h C³B + guild.h C³B + intif.h C³B + mob.h C³B + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + inter_athena.conf C³B + msg_athena.conf C³B + atcommand_athena.conf C³B + (db/) + castle_db.txt ’ljÁB +-------------------- +//0776 by Ž€_ + +ENPCƒXƒLƒ‹›z‰»ŽÀ‘•B(mob_skill_db.txt‚Ìval1‚ðŽg‚¢‚Ü‚·B) +Emob_skill_db.txt‚ÌŠm—¦‚ð番—¦‚©‚ç–œ•ª—¦‚É•ÏXB(‚½‚¾mob_skill_db.txt‚ÌC³‚Í‚µ‚Ä‚Ü‚¹‚ñB) +Eƒ‚ƒ“ƒXƒ^[‚ªƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚·‚é–â‘èC³B(C³‚³‚ꂽ‚©‚Ç‚¤‚©‚ÌŽ©M‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) +E‚»‚Ì‘¼×‚©‚¢C³B + (db/) + mob_skill_db.txt C³B + skill_db.txt C³B + (map/) + map.h C³B + mob.h C³B + mob.c + mob_spawn_dataset()Amob_spawn() C³B + mob_changestate()Amobskill_use() C³B + mob_class_change() ’ljÁB + npc.c + npc_parse_mob() C³B + battle.c + battle_check_target() C³B + clif.h C³B + clif.c + clif_mob_class_change() ’ljÁB + skill.c + skill_castend_nodamage_id() C³B + +-------------------- +//0775 by Ž€_ + +EƒV[ƒYƒ‚[ƒh‚̈—C³B +EƒV[ƒYƒ‚[ƒh‚Ì–³“GŽžŠÔ‚ÌŠÔ‚Í‚Ç‚ñ‚ÈUŒ‚‚àŽó‚¯‚È‚¢‚悤‚ÉC³B +EƒV[ƒYƒ‚[ƒh‚Ì–³“GŽžŠÔ‚ªŽžŠÔØ‚ê‚É‚È‚é‘O‚ɂ͉𜂳‚ê‚È‚¢‚悤‚ÉC³B +Ebattle_athena.conf‚É€–ڒljÁB +E@hide‚â/hide‚É‚æ‚éGMƒnƒCƒfƒBƒ“ƒO’†‚ÍŽ©•ª‚ÉŽ©“®Žg—p‚³‚ê‚éƒXƒLƒ‹ˆÈŠO‚̃XƒLƒ‹Žg—p‚âUŒ‚‚ðŽó‚¯‚È‚¢‚悤‚ÉC³B +EƒnƒCƒfƒBƒ“ƒO’†’n‘®«ƒXƒLƒ‹ˆÈŠO‚ÌUŒ‚‚ðŽó‚¯‚È‚¢‚悤‚ÉC³B(ƒgƒ‰ƒbƒv‚âƒNƒ@ƒOƒ}ƒCƒA“™‚̃XƒLƒ‹‚͉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©•s–¾‚È‚Ì‚Å¡‚Ü‚Å‚Æ“¯‚¶‚悤‚ɉe‹¿‚ðŽó‚¯‚é‚悤‚Ɉ—B) +Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒu‚̈ړ®‘¬“x‚ð–{ŽI‚ɇ‚킹‚Ü‚µ‚½B +E‚»‚Ì‘¼ƒoƒOC³‚âׂ©‚¢C³B(–w‚Ç–¢ƒeƒXƒg) + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + battle.c + battle_check_target()Abattle_calc_damage() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack() C³B + battle_config_read()Abattle_weapon_attack() C³B + pc.h C³B + pc.c + do_init_pc()Apc_authok() C³B + pc_attack()Apc_attack_timer() C³B + pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer()‚ð + pc_setgvginvincibletimer()Apc_delgvginvincibletimer()‚ÉC³B + pc_gvg_invincible_timer() ’ljÁB + pc_attack_timer()Apc_steal_item()Apc_calcstatus() C³B + clif.c + clif_parse_ActionRequest()Aclif_parse_UseItem() C³B + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + clif_parse_UseSkillMap()Aclif_parse_WalkToXY() C³B + map.h C³B + map.c + map_quit() C³B + mob.c + mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() C³B + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B + mob_damage()Amobskill_castend_id()Amobskill_castend_pos() C³B + skill.c + skill_castend_damage_id()Askill_attack() C³B + skill_castend_id()Askill_castend_pos()Askill_castend_map() C³B + +-------------------- +//0774 by Ž‚Žqo^.^o +EMonk job bouns C³ +EƒhƒPƒr C³ +(db/) + job_db2.txt C³ + pet_db.txt C³ + +-------------------- +//0773 by ¹ + +Eׂ©‚¢ƒoƒOC³ + (map/) + skill.c C³B + battle.c C³B + +-------------------- +//0772 by ‚Ò‚´‚Ü‚ñ + +EƒV[ƒYƒ‚[ƒh‰º‚ňȉº‚Ì“_‚ðC³ +@E˜A‘±‚µ‚ÄUŒ‚‚Å‚«‚È‚­‚È‚Á‚Ä‚¢‚½ƒoƒOC³ +@Eƒ_ƒ[ƒWŒyŒ¸—¦‚ª³‚µ‚­Ý’è‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ +@E–³“GŽžŠÔŽÀ‘•Bbattle_athena.conf‚Ìgvg_ghost_time‚ÅÝ’è‚Å‚«‚Ü‚· + +EƒnƒCƒfƒBƒ“ƒO‚Å–‚–@UŒ‚“™‚ð‰ñ”ð‚Å‚«‚È‚©‚Á‚½ƒoƒOC³ + + (map/) + skill.c + skill_attack()Askill_unit_onplace()Askill_check_condition() C³B + clif.c + clif_parse_ActionRequest()Aclif_parse_UseItem() C³B + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + clif_parse_UseSkillMap()Aclif_parse_WalkToXY() C³B + pc.c + do_init_pc()Apc_authok() C³B + pc_attack()Apc_attack_timer() C³B + pc_setgvg_ghosttimer()Apc_delgvg_ghosttimer() ’ljÁB + pc_gvg_ghost_timer() ’ljÁB + map.c + map_quit() C³ + battle.c + battle_config_read()Abattle_weapon_attack() C³B + battle.h C³B + pc.h C³B + +-------------------- +//0771 by huge + +EƒXƒyƒ‹ƒuƒŒƒCƒJ[ŽÀ‘• + (map/) + skill.c + skill_castend_nodamage_id() C³B + (db/) + skill_db.txt C³B + +-------------------- +//0770 by ¹ + +E” Œn‚̈—•ÏX +E‚»‚Ì‘¼ƒoƒOC³ + (map/) + battle.c C³B + itemdb.c C³B + mob.c C³B + script.c C³B + +-------------------- +//0769 by Ž€_ + +EƒV[ƒYƒ‚[ƒhC³B +E–³“GŽžŠÔ‚Ì•û‚Íghost_timerˆÈŠO‚Ì•û–@‚ÅŽÀ‘•‚·‚é‚‚à‚è‚È‚Ì‚Å¡‚Í휂µ‚Ä‚¢‚Ü‚·B +EƒXƒNƒŠƒvƒgviewpoint‚ª³‚µ‚­“®ì‚µ‚È‚¢–â‘èC³B +Eproduce_db.txt‚ðC³B(“û”«‚Ískill_require_db.txt‚ň—‚µ‚Ä‚¢‚Ü‚·B‚»‚µ‚ăAƒCƒeƒ€‚Ì”‚ð0‚É‚·‚ê‚ÎÁ–Õ‚Í‚³‚ê‚È‚¢‚¯‚Çì‚鎞•K—v‚ȃAƒCƒeƒ€‚É‚È‚è‚Ü‚·B) +E‚»‚Ì‘¼×‚©‚¢C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + produce_db.txt C³B + (map/) + battle.h C³B + battle.c + battle_calc_damage()Abattle_calc_weapon_attack() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack()Abattle_check_target()Abattle_config_read() C³B + skill.c + skill_unit_onplace()Askill_castend_damage_id()Askill_castend_id() C³B + skill_use_id()Askill_use_pos()Askill_check_condition() C³B + skill_can_produce_mix() C³B + pc.c + pc_attack_timer()Apc_attack()Apc_isUseitem()Apc_delitem() C³B + pc_damage() C³B + mob.c + mob_damage()Amobskill_use_id()Amobskill_use_pos() C³B + script.c + buildin_viewpoint()Abuildin_emotion() C³B + makefile C³B + +-------------------- +//0768 by ‚Ò‚´‚Ü‚ñ + +EƒV[ƒYƒ‚[ƒh‰º‚ÅAˆÈ‰º‚Ì“_‚ðC³ +@EŽ€–S‚µ‚½‚çƒZ[ƒuƒ|ƒCƒ“ƒg‚É‹­§‘—ŠÒ‚·‚é‚悤‚ÉC³ +@E“Á’è‚̃AƒCƒeƒ€‚ªŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³(ƒAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒgEƒnƒG‚̉H) +@E“Á’è‚̃XƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³(ƒ[ƒvƒ|[ƒ^ƒ‹EƒoƒbƒNƒXƒeƒbƒvEƒCƒ“ƒeƒBƒ~ƒfƒCƒgEƒeƒŒƒ|[ƒgEƒCƒ“ƒfƒ…ƒA) +@E“¯–¿ƒMƒ‹ƒh‚É‚Í–³ðŒ‚ÅUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³ +@E“G‘΃Mƒ‹ƒh‚É‚Í–³ðŒ‚ÅUŒ‚‚Å‚«‚é‚悤‚ÉC³ +@E–³“GŽžŠÔ’†‚Í—¼ŽÒ‚Æ‚àUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³ + +ƒ\[ƒXƒŒƒxƒ‹‚ŃeƒŒƒ|AƒnƒG‚ÌŽg—p‚ð‹Ö‚¶‚Ä‚¢‚邽‚ßUéíMAP‚Ìmapflag‚Énoteleport‚Í•K—v‚ ‚è‚Ü‚¹‚ñ +‚Ü‚½A–³“GŽžŠÔ‚Íghost_timerˆË‘¶‚Å‚·B‚‚܂èbattle_athena.conf“à‚Ìghost_time‚ª–³“GŽžŠÔ‚É‚È‚è‚Ü‚· + + (map/) + skill.c + skill_castend_damage_id()Askill_castend_id() C³ + skill_check_condition() C³ + pc.c + pc_damage() C³ + battle.c + battle_weapon_attack() C³ + +-------------------- +//0767 by huge + +Eƒtƒ@[ƒ}ƒV[‚ÅA»‘¢‚Ì‘‚ªŒ¸‚é–â‘è‚ðC³ +E•Ší»‘¢DB‚ÅA‚¢‚­‚‚©”²‚¯‚Ä‚¢‚½‚Ì‚ðC³ + + (map/) + skill.c C³B + (db/) + produce_db.txt C³B + +-------------------- +//0766 by ‚Ò‚´‚Ü‚ñ + +EƒV[ƒYƒ‚[ƒh‰º‚ÅAˆÈ‰º‚Ì“_‚ðC³ +@E³‹KƒMƒ‹ƒh³”F‚ª‚È‚¢‚ƃGƒ“ƒyƒŠƒEƒ€‚ÉUŒ‚‚ªŒø‚©‚È‚¢‚悤‚ÉC³ +@EƒGƒ“ƒyƒŠƒEƒ€‚ɑ΂·‚éƒXƒLƒ‹UŒ‚‚ªŒø‚©‚È‚¢‚悤‚ÉC³ +@E–‚–@UŒ‚A‰“‹——£UŒ‚A㩂̃_ƒ[ƒW•â³‚ðŽÀ‘• +@@–‚–@UŒ‚F50%@‰“‹——£UŒ‚F75%@ã©F60% +@@‚±‚ê‚Íl‚É‚àƒGƒ“ƒyƒŠƒEƒ€‚É‚à“K—p‚³‚ê‚Ü‚· + (map/) + battle.c + #include "guild.h" ’ljÁ + battle_calc_damage()Abattle_calc_weapon_attack() C³ + +-------------------- +//0765 by ‚Ò‚´‚Ü‚ñ + +E‘•”õ§ŒÀŽÀ‘• +E‘•”õ§ŒÀ‚ª‚©‚©‚Á‚½‘•”õ•i‚ÍŠY“–ƒ}ƒbƒv‚Ɉړ®‚µ‚½Û‚ÉŽ©“®“I‚É‘•”õ‚ªŠO‚êA +@Ä‘•”õ‚à‚Å‚«‚È‚­‚È‚è‚Ü‚· +E§ŒÀ‚Å‚«‚é‚Ì‚Í‘•”õ•i‚Ì‚Ý‚Å‚·BƒJ[ƒh—ނͧŒÀ‚Å‚«‚Ü‚¹‚ñ + (db/) + item_noequip.txt ’ljÁ + (map/) + itemdb.h C³ + itemdb.c + do_init_itemdb()Aitemdb_search() C³ + itemdb_read_noequip ’ljÁ + pc.c + pc_checkitem()Apc_isequip() C³ + +-------------------- +//0764 by Ž€_ + +E‘S‚Ẵ_ƒ[ƒW‚ª1‚É‚È‚é–hŒä‚ð10000‚©‚ç1000000‚É•ÏXB +Ebattle_athena.conf‚É€–ڒljÁB +Eƒ‚ƒ“ƒXƒ^[‚©‚çŒoŒ±’l‚ð–Ⴄˆ—‚ð–{ŽI‚̂悤‚ÉC³B +EƒXƒLƒ‹ƒXƒ[ƒ|ƒCƒYƒ“ŽÀ‘•B +EŒðŠ·ƒoƒOC³B +E‚»‚Ì‘¼×‚©‚¢C³B +EƒeƒXƒg‚Í–w‚Ç‚µ‚Ä‚Ü‚¹‚ñB + (db/) + mob_db.txt C³B + skill_db.txt C³B + (doc/) + conf_ref.txt C³B + db_ref.txt C³B + (conf/) + battle_athena.conf C³B + (map/) + makefile C³B + battle.h C³B + battle.c + battle_get_def()Abattle_get_mdef() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_calc_magic_attack() C³B + battle_calc_misc_attack()Abattle_config_read() C³B + skill.h C³B + skill.c + skill_castend_nodamage_id()Askill_castend_damage_id() C³B + skill_check_condition()Askill_status_change_timer() C³B + skill_status_change_end()Askill_status_change_start() C³B + skill_additional_effect()Askill_produce_mix()Askill_unit_timer_sub() C³B + skill_check_unit_sub()‚ð skill_check_unit_range_sub()‚É•ÏXB + skill_check_unit_range() ’ljÁB + skill_castend_pos()Askill_area_sub_count() C³B + mob.c + mobskill_castend_pos()Amob_damage() C³B + clif.c + clif_parse_TradeRequest()Aclif_parse_TradeAck() C³B + clif_parse_TradeAddItem()Aclif_parse_TradeOk() C³B + clif_parse_TradeCansel()Aclif_parse_TradeCommit() C³B + map.h C³B + map.c + do_init() C³B + pc.c + pc_calc_skilltree()Apc_calcstatus() C³B + tarde.c + trade_tradeack() C³B + +-------------------- +//0763 by ŒÓ’±—– + +EƒT[ƒo[snapshot + ƒtƒHƒ‹ƒ_‚ð®—‚µ‚½‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + ˆÈ‘O‚̃Z[ƒuƒf[ƒ^(account.txt‚È‚Ç)‚ÍsaveƒtƒHƒ‹ƒ_‚É’u‚¢‚Ä‚­‚¾‚³‚¢ + cnfƒtƒ@ƒCƒ‹‚ÍŠeŽíƒtƒ@ƒCƒ‹‚̃pƒX‚ª•Ï‚í‚Á‚Ä‚é‚Ì‚ÅA + ‚±‚̌¢‚à‚Ì‚ðƒRƒs[‚Å‚Í‚È‚­AV‚µ‚­‘‚«Š·‚¦‚È‚¨‚µ‚Ä‚­‚¾‚³‚¢B + +EƒtƒHƒ‹ƒ_®— + confƒtƒHƒ‹ƒ_ + NPCŠÖ˜A‚ðconf/npc/AMOB”z’uŠÖ˜A‚ðconf/mob/AWARPŠÖ˜A‚ðconf/warp/ + ƒeƒXƒg‚âƒTƒ“ƒvƒ‹‚ðconf/sample/‚Ɉړ®‚µ‚Ü‚µ‚½B + dbƒtƒHƒ‹ƒ_ + sampleƒtƒHƒ‹ƒ_‚Ì‚¤‚¿dbŠÖŒW‚ð db/sample‚Ɉړ®‚µ‚Ü‚µ‚½B + help.txt/motd.txt + confƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + account.txt/athena.txt/guild.txt/party.txt/pet.txt/storage.txt + saveƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚µ‚½ + tool/backup + ƒpƒXC³ + +Emotd.txt/help.txt‚̃pƒX‚ðmap_athena.cnf‚ÅŽw’è‚Å‚«‚é‚悤‚É + map.h/map.c/atcommand.c/atcommand.hC³ + +Eathena-start‚ÉrestartƒIƒvƒVƒ‡ƒ“’ljÁ + ./athena-start restart‚ÅAthena‚ðÄ‹N“®‚µ‚Ü‚· + +-------------- +//0761 by ‚Û‚Û‚Û + +EMOB‚ÌMDEF‚É10000ˆÈãŽw’肵‚Ä‚àƒtƒ@ƒCƒAƒsƒ‰[‚Å•’ʂɃ_ƒ[ƒW‚ð—^‚¦‚Ä‚µ‚Ü‚¤‚Ì‚ðC³B + (map/) + battle.c + +-------------- +//0760 by ll3y + +E•¶Žš‰»‚¯C³ + (map/) + script.c + +-------------- +//0759 by Ž‚Žqo^.^o +EƒXƒsƒAƒNƒCƒbƒPƒ“ C³ +EDancer skill tree C³ +(db/) + cast_db.txt C³ + skill_tree.txt C³ + +-------------- +//0758 by hack +EPut GM messages into msg_table which is loaded from msg_athena.conf. +(Easy to translate into other language) + (map/) + atcommand.h + atcommand.c + msg_conf_read() Read conf/msg_athena.conf + Put messages into msg_table which is loaded from msg_athena.conf. + map.c + do_init() + (conf/) + msg_athena.conf Store the message of atcommand, easy to translate into other language. + +-------------- +//0757 by Michael + (map/) + script.c + buildin_viewpoint() + Fix packet sequence of viewpoint command. + +-------------- +//0756 by ll3y + +EInterix(Windows Services for Unix 3.5)‚ŃRƒ“ƒpƒCƒ‹‚ª’Ê‚é‚悤‚ÉC³ + Interop Systems(http://www.interopsystems.com/)‚æ‚ègmake‚Æzlib‚ðŽæ‚Á‚Ä‚­‚é‚©A + Ž©‘O‚ÅInterix—p‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B + (common/) + socket.h C³B + +-------------- +//0755 by Ž€_ + +EƒoƒOC³‚Æà–¾’ljÁB(•ñ‚³‚ꂽ‚Ì‚Í‘½•ª‘S‚ÄC³‚³‚ꂽ‚Ì‚©‚Æ...) +E0751‚ŃXƒLƒ‹‚Ìő僌ƒxƒ‹‚ð100‚Ü‚ÅÝ’è‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B +Ecast_db.txt‚É“ü‚Á‚Ä‚¢‚éó‘ÔˆÙí‚̈ێŽžŠÔ‚ÍŽ©•ª‚ª“K“x‚É“ü‚ꂽ•¨‚Å‚·B–{ŽI‚ÌŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñ‚Ì‚ÅB + (doc/) + db_ref.txt C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + skill.h C³B + skill.c + skill_check_unit_sub()Askill_castend_id()Askill_use_id() C³B + skill_status_change_end()Askill_status_change_start() C³B + skill_castend_map() C³B + mob.c + mobskill_castend_id()Amobskill_castend_pos() C³B + pc.c + pc_calcstatus() C³B + battle.c + battle_calc_pc_weapon_attack() + battle_calc_mob_weapon_attack() + battle_calc_magic_attack() + +-------------- +//0754 by Ž‚Žqo^.^o +(db/) + cast_db.txt C³ + +-------------- +//0753 by ¹ + +EIW‚Ì”­¶ƒ|ƒCƒ“ƒg‚ðŽw’è‚·‚é‚ƃƒeƒI‚̃GƒtƒFƒNƒg‚ªˆêØo‚È‚­‚È‚é +@–â‘肪•œŠˆ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B +Ewarning‚ðo‚È‚¢‚悤‚ɃR[ƒhC³B + (map/) + skill.c + skill_castend_pos2() C³B + chrif.h + +-------------- +//0752 by ‚Ò‚´‚Ü‚ñ + +EchangesexƒXƒNƒŠƒvƒgŽÀ‘•B«•Ê‚𔽓]‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚· +@«•Ê”½“]¬Œ÷Œã‚ÍA‚»‚̃vƒŒƒCƒ„[‚Í‹­§“I‚ÉÚ‘±‚ðØ’f‚³‚ê‚Ü‚· +@‚Ü‚½Aƒ_ƒ“ƒT[Eƒo[ƒh‚̌݊·«‚Í‚©‚È‚è‰ö‚µ‚¢‚Å‚· +@ƒ_ƒ“ƒT[Eƒo[ƒh‚ªƒXƒƒbƒg“à‚Ç‚±‚©‚É‹‚éƒAƒJƒEƒ“ƒg‚Å‚Ì”½“]‚ÍAˆÈ‰º‚Ì“_‚É’ˆÓ‚µ‚ĉº‚³‚¢ +@E•K‚¸”½“]‚³‚¹‚é‘O‚É‚»‚̃Lƒƒƒ‰ƒNƒ^[‚ðƒXƒLƒ‹ƒŠƒZƒbƒg‚µ‚Ä‚­‚¾‚³‚¢ +@@‚»‚Ì‚Ü‚Ü”½“]‚³‚¹‚é‚ÆA‹¤’Ê‚·‚éƒXƒLƒ‹(ŠyŠí‚Ì—ûK“™)‚µ‚©Žc‚ç‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚· +@Eƒ_ƒ“ƒT[Eƒo[ƒhê—p•Ší‚ð‘•”õ‚µ‚Ä‚¢‚éꇂÍAŠO‚µ‚Ä‚©‚甽“]‚³‚¹‚Ä‚­‚¾‚³‚¢ +@@‚»‚Ì‚Ü‚Ü”½“]‚³‚¹‚é‚ÆA‚»‚̃Lƒƒƒ‰ƒNƒ^[‚ÌŠJŽnŽž‚É +@@ƒNƒ‰ƒCƒAƒ“ƒgƒGƒ‰[‚ªo‚Ü‚·io‚邾‚¯‚ÅA—Ž‚¿‚邱‚Æ‚Í‚È‚¢‚Ì‚Å‚·‚ªcj +Eƒf[ƒ^ƒx[ƒXC³ by Ž‚Žqo^.^o + (map/) + chrif.c + packet_len_table[]Achrif_parse()C³ + chrif_changesex()Achrif_changedsex()’ljÁ + chrif.h C³ + (char/) + char.c + parse_frommap()Aparse_tologin()C³ + (login/) + login.c + parse_fromchar()C³ + (db/) + cast_db.txt C³ + skill_require_db.txt C³ + +-------------- +//0751 by Ž€_ + +Eskill_db.txt‚Æcast_db.txt‚Ì•ÏX‚Æskill_require_db.txt‚̒ljÁB +E“Å‚É‚©‚©‚é‚ÆHP‚ªŒ¸‚é‚悤‚É•ÏXBHP‚Í1•b‚ÉÅ‘åHP‚Ì1%Œ¸‚è‚Ü‚·B(–¢ƒeƒXƒg) +EΉ»‚ðis’†‚Ì•¨‚ÆŠ®‘S‚È•¨‚É•ª‚¯‚ÄHP‚ªŒ¸‚é‚悤‚É•ÏXB(1•b‚ÉÅ‘åHP‚Ì1%)ƒuƒŒƒbƒVƒ“ƒO‚ÅŠ®‘SΉ»‚¾‚¯Ž¡‚¹‚é‚悤‚ÉC³B(–¢ƒeƒXƒg) +Eƒnƒ“ƒ^[‚̃gƒ‰ƒbƒv‚ɃGƒtƒFƒNƒgŽÀ‘•B‚½‚¾ƒ‰ƒ“ƒhƒ}ƒCƒ“‚ƃVƒ‡ƒbƒNƒEƒF[ƒu‚Í”š”­ƒGƒtƒFƒNƒg‚ªo‚È‚¢‚悤‚Å‚·Bƒ‰ƒ“ƒhƒ}ƒCƒ“‚̓tƒ@ƒCƒAƒsƒ‰[‚Ì”š”­ƒGƒtƒFƒNƒg‚ªo‚é‚悤‚É•Ï‚¦‚Ä‚¢‚Ü‚·B +EƒI[ƒgƒJƒEƒ“ƒ^[‚Ì•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚É•ÏX‚Æ–{ŽIŽd—l‚ɇ‚킹‚Ü‚µ‚½B +EƒoƒbƒNƒXƒ^ƒu‚à•ûŒüƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚É•ÏXB +EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚̈—•ÏXB +EƒfƒBƒtƒFƒ“ƒ_[‚̈ړ®‘¬“xŒ¸­‚ð–{ŽI‚ɇ‚킹‚Ü‚µ‚½BASPD‚ÍŸŽè‚È‚ª‚ç +(30 - (skilllv*5))%‚ªŒ¸‚é‚悤‚É‚µ‚Ü‚µ‚½‚ª–{ŽI‚Å‚¢‚­‚ç’öŒ¸‚é‚Ì‚©‚Ìî•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +Eƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuLV1‚ňړ®‘¬“x‚ª150‚©‚ç312‚É‚È‚é‚Ì‚ªŠm”F‚³‚ê‚ÄŒvŽZ‚ð•ÏX‚µ‚Ü‚µ‚½‚ªƒŒƒxƒ‹‚É‚æ‚Á‚Ä‚Ç‚ê‚®‚ç‚¢‘‰Á‚·‚é‚©‚Í•s–¾‚Å‚·Bî•ñ‚ð‹‚ß‚Ü‚·B(¡‚ÌŒvŽZŽ®‚Í“K“x‚Éì‚Á‚½•¨‚Å‚·B) +Eƒ|[ƒVƒ‡ƒ“»‘¢‚ÌŒvŽZŽ®•ÏX‚Æ‚¿‚å‚Á‚ÆC³B +Eˆê•”’n–ʃXƒLƒ‹‚Ìd‚Ë’u‚«‚ð‹ÖŽ~B +EbNoMagicDamage‚Å–‚–@‚É‚æ‚éˆÙí‚âƒXƒe[ƒ^ƒXƒAƒbƒvŒø‰Ê‚ªo‚È‚¢‚悤‚ÉC³B(ƒŠƒUƒŒƒNƒVƒ‡ƒ“ˆÈŠO‚Ì–‚–@‚Í–³Œø‚É‚È‚è‚Ü‚·B) +Ebattle_athena.conf‚É€–ڒljÁB +E‚»‚Ì‘¼FX‚ÆC³B +E•ÏX‚³‚ꂽskill_db.txtAcastdb.txt‚ƒljÁ‚³‚ꂽskill_require_db.txt‚Ì\‘¢‚Í¡‚ÌŠŽ©•ª‚µ‚©’m‚ç‚È‚¢‚Ì‚Ådb_ref.txt‚Éà–¾‚ð’ljÁ‚·‚é—\’è‚È‚Ì‚Å‚»‚ê‚Ü‚Å‚Í‚±‚ê‚ç‚Ì•ÏX‚ÍT‚¦‚Ä‚­‚¾‚³‚¢B + (char/) + int_guild.c C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + skill_db.txt C³B + skill_require_db.txt C³B + cast_db.txt C³B + (map/) + battle.h C³B + battle.c + battle_counttargeted()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack()Abattle_config_read() C³B + skill.h C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_status_change_start() C³B + skill_check_condition()Askill_castend_pos() C³B + skill_use_id()Askill_use_pos() C³B + skill_status_change_timer()Askill_status_change_start() C³B + skill_check_unit_sub() ’ljÁB + pc.h C³B + pc.c + pc_damage()Apc_counttargeted()Apc_counttargeted_sub() C³B + mob.h C³B + mob.c + mob_countslave()Amob_counttargeted()Amob_counttargeted_sub() C³B + mobskill_use()Amob_can_move()Amob_damage() C³B + mobskill_use_id()Amobskill_use_pos()Amobskill_castend_id() C³B + mobskill_castend_pos() C³B + map.c + map_quit() C³B + +-------------- +//0750 by CHRIS + +EƒXƒLƒ‹ŠÖŒW‚ÌDB‚ð’²® + (db/) + skill_db.txt + cast_db.txt + skill_require_db.txt + +-------------- +//0749 by Ž€_ + +EFX‚Æ•ÏX‚ÆC³B +EƒXƒLƒ‹‚ÌŽd—l•ÏX‚âŽÀ‘•Aó‘ÔˆÙí‚ÌŽd—l•ÏX‚âŽÀ‘•B +EƒXƒLƒ‹‚ÌŽg—pðŒ‚ðdb‚ÉÝ’è‚Å‚«‚é‚悤‚É•ÏXB +Eskill_db.txt‚Æcast_db.txt‚ÌŽd—l•ÏXB +Eƒ}ƒbƒvŽI‚Ì–³ŒÀƒ‹[ƒv‰Â”\«‚ª‚ ‚é•”•ª‚ðC³B(‚ ‚­‚Ü‚Å‚à‰Â”\«‚ª +‚ ‚Á‚½‚¾‚¯‚Ì•¨‚Å‚·B–³ŒÀƒ‹[ƒv‚ÌŒ´ˆö‚Æ‚Í’fŒ¾‚Å‚«‚Ü‚¹‚ñB) +Eƒgƒ‰ƒbƒv‚Ì”­“®ŽÀ‘•B(‚½‚¾ŽÀÛ‚É“®ì‚Í‚Ü‚¾C³‚µ‚Ä‚¢‚Ü‚¹‚ñB +Œ©‚½–Ú‚ª•Ï‚í‚Á‚½‚¾‚¯‚Å‚·B) +Ebattle_athena.conf‚É€–ڒljÁ‚ðíœB +E0748‚ÌC³íœ‚Æ•¶Žš‰»‚¯C³B +Eskill_db.txtAcast_db.txtAskill_require_db.txt‚Ì•û‚ª‚Ü‚¾Š®¬‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚Å +‚©‚È‚è‚̗ʂ̃XƒLƒ‹‚ª³‚µ‚­“®ì‚µ‚Ü‚¹‚ñB(db_ref.txt‚ÉÝ’è•û–@‚ð“ü‚ê‚È‚¢‚Æ + ‚¯‚È‚¢‚Ì‚Å‚·‚ªŽžŠÔ‚ª‚È‚©‚Á‚½‚Ì‚Å...) ‚»‚µ‚ÄC³‚Í‚µ‚Ü‚µ‚½‚ªƒeƒXƒg‚Í +–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + (char/) + char.c C³B + int_party.h C³B + int_party.c C³B + int_guild.h C³B + int_guild.c C³B + int_pet.h C³B + int_pet.c C³B + int_storage.h C³B + int_storage.c C³B + char‚Ì•û‚͑債‚½C³‚Í‚µ‚Ä‚Ü‚¹‚ñB + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (db/) + skill_db.txt C³B + cast_db.txt C³B + skill_require_db.txt ’ljÁB + produce_db.txt C³B + (map/) + map.h C³B + map.c + map_check_dir() ’ljÁB + map_readmap()Amap_addblock()Amap_delblock() C³B + map_foreachinarea()Amap_foreachinmovearea() C³B + map_addflooritem() C³B + pc.h C³B + pc.c + pc_spiritball_timer()Apc_addspiritball()Apc_delspiritball() C³B + pc_steal_item()Apc_steal_coin()Apc_calcstatus() C³B + pc_checkallowskill()Apc_jobchange()Apc_checkweighticon() C³B + pc_damage()Apc_equipitem()Apc_walk()Apc_stop_walking() C³B + pc_authok()Apc_counttargeted()Apc_counttargeted_sub() C³B + pc_damage()Apc_setpos() C³B + skill.h C³B + skill.c + skill_get_range()Askill_get_sp()Askill_get_num() C³B + skill_get_cast()Askill_get_delay() C³B + skill_get_hp()Askill_get_zeny()Askill_get_time() ’ljÁB + skill_get_time2()Askill_get_weapontype() ’ljÁB + skill_get_unit_id()Askill_blown()Askill_additional_effect() C³B + skill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id()Askill_castend_id() C³B + skill_castend_pos()Askill_unit_onplace() C³B + skill_unit_timer_sub_onplace()Askill_unitsetting() C³B + skill_use_id()Askill_use_pos()Askill_check_condition() C³B + skill_status_change_end()Askill_status_change_timer() C³B + skill_status_change_start()Askill_can_produce_mix() C³B + skill_produce_mix()Askill_gangsterparadise() C³B + skill_gangster_out()Askill_gangster_in() C³B + skill_gangster_count() ’ljÁB + skill_readdb() C³B + battle.h C³B + battle.c + distance()Abattle_counttargeted()Abattle_get_range() ’ljÁB + battle_get_dir() ’ljÁB + battle_get_maxhp()Abattle_get_str()Abattle_get_agi() C³B + battle_get_vit()Abattle_get_dex()Abattle_get_int() C³B + battle_get_luk()Abattle_get_flee()Abattle_get_hit() C³B + battle_get_flee2()Abattle_get_critical()Abattle_get_baseatk() C³B + battle_get_atk()Abattle_get_atk2()Abattle_get_def() C³B + battle_get_def2()Abattle_get_mdef()Abattle_get_speed() C³B + battle_get_adelay()Abattle_get_amotion()Abattle_get_party_id() C³B + battle_get_guild_id()Abattle_get_size() C³B + battle_check_undead() ’ljÁB + battle_check_target()Abattle_addmastery() C³B + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B + clif.h C³B + clif.c + clif_skillinfo()Aclif_skillinfoblock()Aclif_skillup() C³B + clif_item_skill()Aclif_changeoption()Aclif_parse_LoadEndAck() C³B + clif_01ac() ’ljÁB + clif_parse_WalkToXY()Aclif_parse_ActionRequest() C³B + clif_parse_TakeItem()Aclif_parse_DropItem() C³B + mob.h C³B + mob.c + mobskill_castend_id()Amobskill_castend_pos() C³B + mobskill_use_id()Amobskill_use_pos()Amob_heal() C³B + mob_spawn()Amob_damage()Amob_walk() C³B + mob_stop_walking()Amob_warp()Amob_counttargeted() C³B + mob_counttargeted_sub()Amob_countslave() C³B + mob_attack()Amob_target()Amob_ai_sub_hard_activesearch() C³B + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B + script.c + buildin_sc_start() C³B + path.c + can_move() C³B + pet.c + pet_data_init()Apet_stop_walking() C³B + npc.c + npc_parse_warp()Anpc_parse_shop()Anpc_parse_script() C³B + +-------------- +//0748 by Michael + (map/) + pc.c + pc_walk(); + Fix Player cannot move in ICEWALL but have Path. + mob.c + mob_walk(); + Fix Monster cannot move in ICEWALL but have Path. + path.c + can_move(); + Fix Player&Monster cannot move in ICEWALL. + +-------------- +//0747 by ¹ +Eƒyƒbƒg‚ªƒGƒ‚‚ðo‚·‚Æmap-server‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½–â‘è‚ðC³B + (map/) + clif_parse_SendEmotion() C³B + +-------------- +//0746 by Michael + (map/) + script.c + Add Script command - checkoption(type); + Attach a npc_testchkoption.txt npc script! + +-------------- +//0745 by ‚Ò‚´‚Ü‚ñ +EƒMƒƒƒ“ƒOƒXƒ^[ƒpƒ‰ƒ_ƒCƒXŽÀ‘• +EPvPƒGƒŠƒA‚Ìmapflag‚ðC³(“¯Žm“¢‚¿‚ª–³‚­‚È‚Á‚½‚©‚ÆŽv‚¢‚Ü‚·) +EƒV[ƒYƒ‚[ƒh‚ŃmƒbƒNƒoƒbƒN‚ª‚ ‚Á‚½ƒoƒO‚ðC³ +EƒCƒ“ƒeƒBƒ~‚Ì’x‰„ŽžŠÔ‚ð­‚µ’²® + (map/) + skill.c + skill_attack()Askill_additional_effect()C³ + skill_gangsterparadise()Askill_gangster_in()Askill_gangster_out()’ljÁ + clif.c + clif_parse_ActionRequest()C³ + mob.c + mob_target()Amob_attack()C³ + mob_ai_sub_hard()Amob_ai_sub_hard_mastersearch()C³ + mob_ai_sub_hard_activesearch()C³ + map.h C³ + skill.h C³ + (conf/) + npc_pvp.txt C³ + +-------------- +//0744 by ¹ + +EƒAƒCƒXƒEƒH[ƒ‹AƒƒeƒIƒXƒg[ƒ€‚̃Rƒ“ƒ{‚ŃƒeƒIƒXƒg[ƒ€‚̃GƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚È‚­‚È‚é–â‘è‚ðC³B +EHP‹zŽûƒXƒLƒ‹‚̃GƒtƒFƒNƒgC³B +Ebattle_athena.conf‚É€–ڒljÁB +EƒpƒPŽü‚è‚Ìׂ©‚¢C³B + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (map/) + battle.c + battle.h + clif.c + pc.c + pet.c + skill.c + +-------------- +//0743 by J + +EŽæ‚芪‚«¢Š«‚È‚Ç‚ð–{ŽI‚ÉŽ—‚¹‚éˆ×‚ÌC³B +@‚ ‚Æ–{ŽI‘ŠˆáƒXƒŒ‚É‚ ‚Á‚½ƒSƒXƒŠƒ“‚ÌŽæ‚芪‚«‚ðC³B +@ƒfƒŠ[ƒ^[‚Ì‹ó‚Æ’n‚̃XƒLƒ‹‚ª‹t‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B + (db/) + mob_skill_db.txt C³ + +-------------- +//0742 by ‚Ò‚´‚Ü‚ñ + +EƒCƒ“ƒeƒBƒ~ƒfƒCƒg‚ðŽÀ‘• +@UŒ‚‚ƃ[ƒv‚Ì•ª•Ê‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½‚Ì‚Å +@SC_INTIMIDATE‚ðŽg‚Á‚Ä’x‰„ˆ—‚ð‚µ‚Ü‚µ‚½ +Eskill_db‚̌뎚“™‚ðC³ + (map/) + skill.c + skill_additional_effect()Askill_castend_map()C³ + skill_castend_nodamage_id()AC³ + skill_status_change_start()Askill_status_change_end()C³ + map.h C³ + skill.h C³ + (db/) + skill_db.txt C³ + +-------------------- +//0741 by whitedog + +snapshot + +-------------- +//0740 by ‚Û‚Û‚Û +EPC‚ªMOB‚Ƀ^ƒQ‚ç‚ꂽ‚Æ‚«3•C–Ú‚©‚ç–hŒä‚Ɖñ”ð‚ªŒ¸‚é‚悤‚É‚µ‚½B +@1•C‚ɂ‚«‰ñ”ð‚Í10%A–hŒä‚Í5%Œ¸‚è‚Ü‚·B + (map/) + pc.h + pc.c + pc_counttargeted()Apc_counttargeted_sub()’ljÁ + battle.c + battle_get_flee()Abattle_get_def()Abattle_get_def2()C³B + +-------------- +//0739 by ¹ +Eƒtƒ@ƒCƒA[ƒEƒH[ƒ‹“™‚ÌÝ’uŒnƒXƒLƒ‹‚ª³‚µ‚­•\Ž¦‚³‚ê‚È‚¢–â‘è‚ðC³B +Eƒ}ƒŠƒ“ƒXƒtƒBƒA‚ªŽ©”š‚·‚é‚ƃTƒ“ƒ_[ƒXƒg[ƒ€“™‚̃_ƒ[ƒW‚ª•\Ž¦‚³‚ê‚È‚­‚È‚é–â‘è‚ðC³B +EHP‹zŽûŒnƒXƒLƒ‹‚Å“G‚ª‰ñ•œ‚µ‚Ä‚éƒGƒtƒFƒNƒg‚ªo‚é‚悤C³B + (map/) + skill.c + skill_castend_damage_id() C³B + battle.c + battle_calc_misc_attack() C³B + clif.c + clif_getareachar_skillunit() C³B + clif_skill_setunit() C³B + +-------------- +//0738 by ‚Ò‚´‚Ü‚ñ +EƒXƒg[ƒ€ƒKƒXƒg‚ðŠ®‘S‚É–{ŽIŽd—l‚ÉC³(3‰ñ‚Åâ‘Γ€Œ‹•“€Œ‹ó‘Ô‚Ì“G‚ÍSG‚ð‚­‚ç‚í‚È‚¢) +EƒTƒtƒ‰ƒMƒEƒ€‚ªŽ©•ª‚É‚©‚¯‚ç‚ê‚éƒoƒOC³ + (map/) + skill.c + skill_additional_effect()Askill_attack()C³ + skill_castend_nodamage_id()C³ + map.h C³ + +-------------- +//0737 by ‚Û‚Û‚Û +EƒAƒ“ƒNƒ‹‚ª•à‚¢‚Ä‚¢‚é“G‚ÉŒø‚©‚È‚¢&•¡”‚Ì“G‚ÉŒø‚­‚Ì‚ðC³B + (map/) + skill.c + skill_unit_onplace()Askill_unit_onout()C³ + mob.c + mob_stop_walking()C³ + +-------------- +//0736 by ‚Ò‚´‚Ü‚ñ +Eó‘ÔˆÙí‘Ï«‚ªŒø‰ÊŽžŠÔ‚É‚à‹y‚Ô—l‚ÉC³B”­“®—¦‚Æ“¯—¦‚ÅŒø‰ÊŽžŠÔ‚ªŠ„‚èˆø‚©‚ê‚Ü‚· +EƒXƒg[ƒ“ƒJ[ƒX‚ÌŒø‰ÊŽžŠÔ‚ð‰i‹v‚©‚çƒ}ƒWƒXƒŒƒeƒ“ƒvƒŒ€‹’‚É +EUŒ‚‚ðŽó‚¯‚½Žž‚Ƀyƒbƒg‚ÌŽx‰‡UŒ‚‚ðŽó‚¯‚ç‚ê‚È‚¢‚悤C³(ƒRƒƒ“ƒgƒAƒEƒg‚µ‚½‚¾‚¯) +@‚±‚ê‚ÍVITŒ^‚Ƀyƒbƒg‚ð•t‚¯‚Ä•ú’u‚·‚邾‚¯‚ÅŽ©“®‚ŃŒƒxƒ‹ã‚°‚ª‚Å‚«‚é‚Ì‚ð +@–h‚®‚½‚ß‚ÌŽb’è“I‚Ȉ’u‚Å‚· + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()C³ + skill_status_change_start()C³ + pc.c + pc_damage() C³ + +-------------- +//0735 by ‚Û‚Û‚Û + +E“G‚ð“|‚µ‚ăŒƒxƒ‹‚ªã‚ª‚Á‚½‚Æ‚«PTŒö•½”͈͂̃`ƒFƒbƒN‚ð‚·‚é‚悤‚É‚µ‚½B +EƒI[ƒgƒJƒEƒ“ƒ^[‰¼ŽÀ‘•B +@Œü‚«‚âŽË’öƒ`ƒFƒbƒN‚Í‚µ‚Ä‚¢‚Ü‚¹‚ñB‚Ü‚½ƒ^ƒCƒ~ƒ“ƒO‚ª‚¨‚©‚µ‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB +@MOBƒXƒLƒ‹‚Æ‚µ‚ÄŽg‚¤‚Æ‚«‚̓^[ƒQƒbƒg‚ðself‚É‚µ‚Ä‚­‚¾‚³‚¢B + (conf/) + battle_athena.conf€–ڒljÁ + (doc/) + conf_refC³ + (map/) + battle.h + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() + battle_config_read()C³ + pc.c + pc_checkbaselevelup()Apc_attack_timer()C³ + skill.c + skill_castend_nodamage_id()Askill_status_change_start()C³ + clif.c + clif_parse_WalkToXY()C³ + mob.c + mob_attack()C³ + +-------------- +//0734 by Ž€_ + +Eplayer_skillup_limit‚̈—C³‚Æׂ©‚¢C³B +Eplayer_skillup_limit‚ªyes‚Ìê‡skill_tree.txt‚Åݒ肳‚ê‚Ä‚é‚»‚̉ºˆÊE‹Æ‚Ì +ƒXƒLƒ‹ƒcƒŠ[‚ðŽg‚¢‚Ü‚·‚Ì‚Å‚»‚ÌE‹Æ‚Å‚Í–³‚­‚È‚é‚Í‚¸‚̃XƒLƒ‹‚ªo‚邱‚Æ‚ª +‚ ‚è‚Ü‚·‚ª‚±‚ê‚ÍŽd—l‚Å‚ ‚èƒoƒO‚Å‚Í‚ ‚è‚Ü‚¹‚ñBƒoƒO•ñ‚³‚ê‚Ä‚à–³Ž‹‚µ‚Ü‚·B + (doc/) + conf_ref.txt C³B + (char/) + char.c + mmo_char_sync_timer()Ado_init() C³B + inter.c + inter_init() C³B + inter_save_timer() íœB + (map/) + pc.c + pc_calc_skilltree() C³B + pc_resetskill() C³B + +-------------- +//0733 by Ž€_ + +EƒoƒOC³‚Æׂ©‚¢C³B +EŽ€‚ñ‚¾Œã‚É‚·‚®‚ɃZ[ƒuƒ|ƒCƒ“ƒg‚ɖ߂炸‚É‚µ‚΂炭•ú’u‚µ‚Ä‚é‚ÆA +•ú’u‚µ‚Ă鎞ŠÔ‚É‚æ‚Á‚ÄŒoŒ±’l‚ªŒ¸­‚·‚éƒoƒOC³B(–¢ƒeƒXƒg) +Emob_availe.txt‚Åݒ肵‚½ƒ‚ƒ“ƒXƒ^[‚Ƀ‚ƒ“ƒXƒ^[î•ñ‚ðŽg‚¤‚¿ˆÆ—Ž‚¿‚·‚é–â‘èC³B +Ebattle_athena.conf‚É€–ڒljÁB +E‚»‚Ì‘¼×‚©‚¢C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + clif.c + clif_skill_estimation()Aclif_parse_Restart() C³B + pc.c + pc_setrestartvalue()Apc_makesavestatus() C³B + pc_read_gm_account()Apc_calc_skilltree() C³B + pc_calc_skillpoint() ’ljÁB + map.c + map_quit() C³B + mob.c + mob_damage() C³B + skill.c + skill_unit_timer_sub()Askill_unit_timer() C³B + battle.h C³B + battle.c + battle_config_read() C³B + +-------------- +//0732 by Kalen + +Enpc_town_kafra.txt‚Ì‘S–ÊŒ©’¼‚µ + ƒJƒvƒ‰—˜—pŒ”‚Ì”pŽ~ + ‘qŒÉ—˜—p—¿‚ð–{ŽI(jRO)‚Æ“¯ˆê‰¿Ši‚É’²® + ƒJ[ƒgŽg—p—¿‚ð–{ŽI(jRO)‚Æ“¯ˆê‰¿Ši‚É’²® + ƒ|ƒCƒ“ƒgŽQÆ•ÏX + ƒWƒ…ƒm[‚̃Z[ƒuƒ|ƒCƒ“ƒgC³ + ƒAƒ}ƒc‚̃Z[ƒuƒ|ƒCƒ“ƒgC³ + +-------------- +//0731 by ‚Û‚Û‚Û + +E•ž‚ÌF‚ð•Û‘¶‚·‚é‚©battle_athena.conf‚Å‘I‘ð‚Å‚«‚é‚悤‚ÉB +@•¾ŠQ‚ª‚ ‚é‚Ì‚Å•Û‘¶‚µ‚È‚¢‚悤‚É‚Æ‘‚¢‚Ä‚ ‚Á‚½‚̂ŃfƒtƒHƒ‹ƒg‚Å‚Í•Û‘¶‚µ‚Ü‚¹‚ñB +EƒXƒNƒŠƒvƒg’ljÁ +@strcharinfo(1) Ž©•ª‚̃p[ƒeƒB[–¼‚ðŽæ“¾‚µ‚Ü‚·B +@strcharinfo(2) Ž©•ª‚̃Mƒ‹ƒh–¼‚ðŽæ“¾‚µ‚Ü‚·B +@getcharid(1) Ž©•ª‚̃p[ƒeƒB[ID‚ðŽæ“¾‚µ‚Ü‚·B +@getcharid(2) Ž©•ª‚̃Mƒ‹ƒhID‚ðŽæ“¾‚µ‚Ü‚·B +@getpartyname(ID) ID‚ÅŽw’肵‚½ƒp[ƒeƒB[‚Ì–¼‘O‚ðŽæ“¾‚µ‚Ü‚·B +@getguildname(ID) ID‚ÅŽw’肵‚½ƒMƒ‹ƒh‚Ì–¼‘O‚ðŽæ“¾‚µ‚Ü‚·B + (map/) + battle.h + battle.c + battle_config_read()C³ + pc.c + pc_makesavestatus()C³ + script.c + buildin_strcharinfo()C³ + buildin_getcharid()Abuildin_getpartyname()Abuildin_getpartyname_sub() + buildin_getguildname()Abuildin_getguildname_sub()’ljÁ + +-------------- +//0730 by ‚Ò‚´‚Ü‚ñ + +EƒXƒg[ƒ€ƒKƒXƒg‚Ì“€Œ‹ŽžŠÔ‚ð–{ŽI‚É‚ ‚킹‚ÄC³(ƒXƒLƒ‹ƒŒƒxƒ‹‚ÉŠÖŒW‚È‚­ˆê’è‚Ì“€Œ‹ŽžŠÔ(10•b)‚É‚È‚è‚Ü‚·) +EƒXƒ^ƒ“AˆÃˆÅA’¾–ÙA“Å‚Ìó‘ÔˆÙ펞ŠÔ‚ÌuŒp‚¬‘«‚µv‚ª‚Å‚«‚È‚¢‚悤‚ÉC³ +Eó‘ÔˆÙ킪Š|‚©‚è‚É‚­‚·‚¬‚Ä‚½‚Ì‚ÅMOB‚Ìó‘ÔˆÙí‘Ï«‚ðŠÉ˜a(‚Ü‚½’²®‚·‚é‚©‚à) + (map/) + skill.c + skill_castend_nodamage_id()Askill_addisional_effect()C³ + skill_status_change_start()C³ + +-------------- +//0729 by DRG + +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªƒJ[ƒg‚È‚µ‚ÅŽg‚¦‚½•s‹ï‡‚ÌC³ +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚ªJOBLV30‚ÅŠo‚¦‚ꂽ‚Ì‚ðC³ + (conf/) + npc_event_skillget.txt + ƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“€C³ + (map/) + skill.c + skill_check_condition()C³ + +-------------- +//0728 by ‚Û‚Û‚Û + +EE‚ª•Ï‚í‚Á‚Ä‚àƒMƒ‹ƒh‚ÌE‹Æ—“‚ªXV‚³‚ê‚È‚¢•s‹ï‡‚ÌC³B + + (char/) + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒgC³B + int_guild.c + mapif_guild_memberinfoshort()Amapif_parse_GuildChangeMemberInfoShort()A + inter_guild_parse_frommap()C³ + (map/) + intif.h + intif.c + intif_guild_memberinfoshort()Aintif_parse_GuildMemberInfoShort() + intif_parse()C³ + guild.h + guild_send_memberinfoshort()Aguild_recv_memberinfoshort()C³ + + +-------------- +//0727 by ¹ + +E•ŠíŒ¤‹†ƒXƒLƒ‹‚É‚æ‚Á‚ăzƒ‹ƒOƒŒƒ“‚Ȃǂ̸˜BNPC‚ª +@³í‚É“®ì‚µ‚È‚¢–â‘è‚ðC³B + + (map/) + pc.c + pc_percentrefinery() C³B + +-------------- +//0726 by ŒÓ’±—– + +Emob_skill_db2.txt‚ª‚ ‚ê‚Îmob_skill_db.txt‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚ÉC³ + ƒIƒŠƒWƒiƒ‹‚ÌMOBŽg—pŽž‚âAŒ»sMOB‚ÌŽg—pƒXƒLƒ‹‚ð•ÏX‚µ‚½‚¢ê‡‚ÉB + +Emob_skill_db.txt‚Åmob_id‚ÌŽŸ‚̃_ƒ~[•¶Žš—ñ‚ª"clear"‚¾‚Á‚½ê‡A + ‚»‚ÌMOB‚̃XƒLƒ‹‚ð‰Šú‰»‚·‚é‹@”\’ljÁB + Emob_skill_db2.txt‚Å‚ ‚éMOB‚̃XƒLƒ‹‚ðŠ®‘S‚É‘‚«Š·‚¦‚é‚Æ‚«‚ÉŽg—p‚µ‚Ä + ‚­‚¾‚³‚¢B + Eclear‚µ‚È‚©‚Á‚½ê‡‚Ímob_skill_db.txt‚Ì‚à‚̂ɒljÁ‚³‚ê‚Ü‚·B + + mob.c + mob_readskilldb()C³ + + +EƒAƒCƒeƒ€–¼/MOB–¼‚ª‘SŠp12•¶Žši24ƒoƒCƒgj‚ ‚éƒAƒCƒeƒ€/MOB‚ªA + @ƒRƒ}ƒ“ƒh‚ÅŽæ‚èŠñ‚¹/¢Š«‚Å‚«‚È‚¢–â‘èC³B + mob.c + mobdb_searchname()C³ + itemdb.c + itemdb_searchname_sub()C³ + +EŒ»ÝŽž‚ŃCƒxƒ“ƒg‚ð‹N‚±‚·uŽžŒvƒCƒxƒ“ƒgv‹@”\‚ð’ljÁ + EOnInit‚Æ“¯‚¶‚悤‚É‚»‚ꂼ‚ê‚ÌNPC‚ÅAOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’è‹`‚µ‚Ü‚·B + OnMinute?? F–ˆŽžA??•ª‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B(0-59) + OnHour?? F–ˆ“úA??Žž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B(0-23) + OnClock???? F–ˆ“úA??Žž??•ª‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B + OnDate???? F–ˆ”NA??ŒŽ??“ú‚ɃCƒxƒ“ƒg‚ð‹N‚±‚µ‚Ü‚·B + EÚ‚µ‚­‚Í npc_test_ev.txt ‚ðŽQÆ + + (conf/) + npc_test_ev.txt + “à—e’ljÁ + (map/) + npc.c + FXC³ + +E‚»‚Ì‘¼ + clif.c + ƒRƒ“ƒpƒCƒ‹Œx‚ªo‚È‚¢‚悤‚ÉC³ + +-------------- +//0725 by Ž€_ + +EŽI—Ž‚¿ƒoƒOC³B +Eƒ‚ƒ“ƒXƒ^[‚ɃCƒxƒ“ƒg‚ªÝ’肳‚ê‚Ä‚¢‚ÄŽ©ŽE‚â‚È‚É‚©‚Ń_ƒ[ƒW‚ð—^‚¦‚½ +•¨‚ª‚È‚¢ê‡ŽI—Ž‚¿Šm’è‚È‚Ì‚Å‚»‚̃}ƒbƒv‚É‚ ‚éƒvƒŒƒCƒ„[‚ð—˜—p‚µ‚Ä +ƒCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚é‚悤‚É•ÏXB + (map/) + makefile C³B + mob.c + mob_timer()Amob_damage() C³B + +-------------- +//0724 by Ž€_ + +EƒoƒOC³‚ƈÀ’艻‚ׂ̈ÌC³B +Eƒyƒbƒg‚ÌUŒ‚‚ŃCƒxƒ“ƒg‚ªˆ—‚³‚ꂸŽI—Ž‚¿‚É‚È‚é–â‘èC³B(–¢ƒeƒXƒg) +Eƒ‚ƒ“ƒXƒ^[‚Ì‘å—Ê”­¶‚ÅŽI‚ª—Ž‚¿‚é–â‘èC³B(ƒ‚ƒ“ƒXƒ^[‚ð10000•C‚ðŒÄ‚ñ‚Å +–‚–@‚Å“|‚·‚±‚Æ‚ð5‰ñ’öƒeƒXƒgB‚½‚¾“®‚©‚È‚¢‚â‚‚̂ÝB) +EŽæ‚芪‚«‚ªƒ{ƒX‚ƈê‚ÉŽ€‚ÊŽžƒAƒCƒeƒ€‚ð—Ž‚Æ‚³‚È‚¢‚悤‚É•ÏXB(–¢ƒeƒXƒg) +Ebattle_athena.conf‚Ìpc_skillflee‚ðplayer_skillfree‚É•ÏX‚µ‚Ĉ—‚ð•ÏXB +EƒAƒCƒXƒEƒH[ƒ‹‚Éskill_unit_setting‚ðŽg‚¤ƒXƒLƒ‹‚ÅUŒ‚‚Å‚«‚È‚¢‚悤‚ÉC³B +E‚»‚Ì‘¼×‚©‚¢C³­‚µBˆÀ’艻‚³‚ꂽ‚©‚Ç‚¤‚©‚Í‚Ü‚¾‚í‚©‚è‚Ü‚¹‚ñ‚ªXP1800+A512MAƒ‚ƒ“ƒXƒ^[”z’u50%‚Å10000•C¢Š«‚µ‚ĈÙí‚È‚©‚Á‚½‚Ì‚Å‘åä•v‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B‘åä•v‚¶‚á‚È‚­‚Ä‚àÓ”C‚Í‚Æ‚ê‚Ü‚¹‚ñ‚ª... + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + mob.h C³B + mob.c + mob_timer()Amob_deleteslave_sub()Amob_damage() C³B + npc.c + npc_event() C³B + skill.c + skill_area_sub()Askill_unit_onplace()Askill_castend_nodamage_id() C³B + clif.c + clif_parse_GMKick() C³B + battle.h + battle.c + battle_damage()Abattle_check_target()Abattle_config_read() C³B + pc.c + pc_calc_skilltree()Apc_checkskill() C³B + map.h C³B + map.c + map_foreachinarea()Amap_foreachinmovearea() C³B + map_foreachobject() C³B + +-------------- +//0723 by DRG + +E0719‚ÌC³ + (map/) + pc.c pc_calc_skilltree()C³ + +-------------- +//0722 by ƒpƒCƒ“ + +Egcc 2.29Œn—ñ‚Å‚àƒRƒ“ƒpƒCƒ‹‚ª’Ê‚é‚悤‚ÉC³B +@‚±‚ê‚͈ȑO‚É‚à’¼‚µ‚½‚Í‚¸‚È‚Ì‚Å‚·‚ªA‚È‚º‚©Œ³‚É–ß‚Á‚Ä‚¢‚Ü‚µ‚½‚Ì‚Å +@ŠF‚³‚ñ’ˆÓ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +@‚ ‚ÆAgcc3Œn—ñ‚È‚ç’蔂͂ǂ±‚É‘‚¢‚Ä‚à–â‘è‚È‚¢‚Ì‚Å‚·‚ªA +@gcc2.29Œn—ñ‚Å‚Íu•K‚¸ƒuƒƒbƒN—v‘f‚̈ê”Ôʼnv‚É‘‚©‚È‚¢‚ƃRƒ“ƒpƒCƒ‹‚ª +@’Ê‚è‚Ü‚¹‚ñ‚Ì‚Å‚±‚¿‚ç‚à‚²’ˆÓŠè‚¢‚Ü‚·B + +ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚é—á +void hoge() { + const char booboo = 1; + c + +ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢—á +void hoge() { + c + const char booboo = 1; + c + + (map/) + skill.h ƒ}ƒNƒ‚ðC³ + skill.c skill_addisional_effect()C³ + +-------------- +//0721 by ¹ + +Eƒ{ƒX‚ɃŒƒbƒNƒXƒfƒr[ƒi‚ªŒø‚¢‚½–â‘è‚ðC³B +Eƒ{ƒX‚ɃJ[ƒh‚É‚æ‚éó‘ÔˆÙ킪Œø‚©‚È‚©‚Á‚½–â‘è‚ðC³B +@–{ŽI‚ł̓}ƒŠƒiƒJ[ƒh“™‚ŃI[ƒNƒq[ƒ[‚È‚Ç‚ð‰£‚é‚ÆŽžX“€Œ‹‚µ‚Ü‚·B +@(Œ‹\”÷–­‚ÈŽÀ‘••û–@‚È‚Ì‚ÅA‰½‚©–â‘肪‚ ‚Á‚½ê‡ +@ ‚»‚Ì•ÓÚ‚µ‚¢•û‚¨‚è‚Ü‚µ‚½‚çC³‚µ‚Ä‚â‚Á‚Ä‚­‚¾‚³‚¢(^^; )) + +-------------- +//0720 by ŒÓ’±—– + +EPC‚ÉIW‚ðd‚Ë‚é‚ÆMOB‚ªUŒ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ + EIW‚Éd‚È‚Á‚Ä‚¢‚Ä‚àA—×ډ”\‚È‚çMOB‚ª‹ßŠñ‚Á‚Ä‚«‚Ü‚· + E‚Ç‚ñ‚È’nŒ`‚É‚¢‚Ä‚àA—×Ú‚µ‚Ä‚¢‚é‚È‚çUŒ‚‰Â”\‚É‚È‚è‚Ü‚· + E‚½‚¾‚µAMOB‚ª‰“‹——£UŒ‚‰Â”\‚ÅAUŒ‚”͈͓à‚ÉPC‚ª‚¢‚Ä‚àA + —×Ú•s‰Â”\‚È‚çUŒ‚‚µ‚Ä‚«‚Ü‚¹‚ñB‚±‚ê‚Ì‰ðŒˆ‚Í‚©‚È‚è–Ê“|‚È‚Ì‚ÅB + + mob.c + mob_can_reach()C³ + battle.c + battle_check_range()C³ + +-------------- +//0719 by DRG + +E‰ºˆÊƒXƒLƒ‹‚ª‚È‚¢ê‡‚ÍãˆÊƒXƒLƒ‹‚ª‚Ó‚ê‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B +@battle_athena.conf‚Ìskillflee‚ÅÝ’è‰Â”\‚Å‚·B +@‰ºˆÊƒXƒLƒ‹‚ª‚È‚¢‚Ü‚ÜãˆÊƒXƒLƒ‹‚ð‚Ó‚Á‚½ó‘Ô‚ÅA‚±‚̃IƒvƒVƒ‡ƒ“‚ðŽg‚¤ê‡‚̓XƒLƒ‹ƒŠƒZƒbƒg‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +@ˆê”ʃAƒJ‚ɃXƒLƒ‹ƒŠƒZƒbƒg‚ð‰ð•ú‚µ‚½‚¢‚Æ‚«‚ÉŽg‚Á‚Ä‚â‚Á‚ĉº‚³‚¢B + (conf/) + battle_athena.conf + (map/) + battle.c + battle.h + pc.c pc_calc_skilltree(),pc_checkskill()C³ + +-------------- +//0718 by Ž€_ + +EFX‚ÆC³B +E“Å‚É‚æ‚Á‚Ä–hŒä‚ªŒ¸‚é‚悤‚É•ÏXB(HP‚Í‚Ü‚¾Œ¸‚è‚Ü‚¹‚ñB) +EƒAƒCƒXƒEƒH[ƒ‹‚ÉUŒ‚‚Å‚«‚é‚悤‚É•ÏXB(¡‚Í‘S‚Ä‚ÌUŒ‚‚É“–‚½‚è‚Ü‚·B) +‚½‚¾ˆÆ‚̃oƒO‚炵‚­ƒAƒCƒXƒEƒH[ƒ‹‚ðƒNƒŠƒbƒN‚·‚é‚ƈƂ©‚ç0x89ƒpƒPƒbƒg‚ª30‰ñˆÈã˜A‘±‚Å‘—‚Á‚Ä‚­‚邱‚Æ‚ª‹N‚±‚è‚Ü‚·‚ªŒ´ˆö‚Í•s–¾‚Å‚·B‘½•ªˆÆ‚̃oƒO‚¾‚ÆŽv‚¢‚Ü‚·‚ª...) +E퓬‚ÉŠÖ‚í‚éŒvŽZ“™‚ðC³B +Eƒ[ƒj‚ª‘‚¦‚éƒoƒOC³B(‘½•ª‚±‚ê‚Å‚±‚̃oƒO‚Í‚È‚­‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª‚Ç‚¤‚È‚Ì‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) +E“ñ“—¬‚̶Žè•Ší‚ÌŽí‘°A‘®«ASize‚̃_ƒ[ƒW•â³‚ð‰EŽè•Ší‚É“K—p‚·‚é‚©‚Ç‚¤‚©‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB +E‚»‚Ì‘¼C³‚Í‚µ‚½‚Í‚¸‚Å‚·‚ªŠo‚¦‚Ä‚Ü‚¹‚ñB(C³‚µ‚Ä‚È‚¢•¨‚à‚ ‚è‚Ü‚·‚ªdiff“–‚Ä‚Ì“r’†‚Å‚Ç‚ê‚ðì‹Æ‚µ‚½‚Ì‚©‚ð–Y‚ꂽ‚Ì‚Å...) + (common/) + mmo.h C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h C³B + battle.c + battle_get_baseatk()Abattle_get_speed()Abattle_get_adelay() ’ljÁB + battle_get_amotion() Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_get_atk()Abattle_get_atk_()Abattle_get_atk2() C³B + battle_get_attack_element()Abattle_get_attack_element2() C³B + battle_get_str()Abattle_get_agi()Abattle_get_vit()Abattle_get_int() C³B + battle_get_dex()Abattle_get_luk()Abattle_get_flee() C³B + battle_get_flee2()Abattle_get_hit()Abattle_get_critical() C³B + battle_get_def()Abattle_get_def2()Abattle_get_mdef() C³B + battle_get_element()Abattle_check_target()Abattle_check_range() C³B + battle_weapon_attack()Abattle_config_read() C³B + clif.c + clif_skill_estimation()Aclif_mob0078()Aclif_mob007b() C³B + pc.c + pc_attack_timer()Apc_attack()Apc_calcstatus()Apc_payzeny() C³B + pc_getzeny() C³B + npc.c + npc_buylist()Anpc_selllist() C³B + pet.c + pet_attack()Apet_randomwalk()Apet_ai_sub_hard() C³B + mob.h C³B + mob.c + calc_next_walk_step()Amob_attack()Amobskill_castend_id() C³B + mobskill_use_id()Amobskill_use_pos()Amob_ai_sub_hard() C³B + mob_damage()Amob_changestate() C³B + mob_get_adelay()Amob_get_speed() íœB + skill.h C³B + skill.c + skill_unitsetting()Askill_unit_ondamaged()Askill_unit_timer_sub() C³B + skill_unit_timer()Askill_area_sub()Askill_unit_onplace() C³B + skill_status_change_start() C³B + chat.c C³B + makefile C³B + chrif.c C³B + guild.c C³B + itemdb.c C³B + map.c C³B + party.c C³B + script.c C³B + path.c C³B + +-------------- +//0717 by ¹ + +E‘å—ʂɃ‚ƒ“ƒXƒ^[‚ð¢ŠÒ‚µ‚Ĉê“x‚É“|‚·‚Æmap-server‚ª—Ž‚¿‚é–â‘è‚ðC³B +@(ƒJƒz‚ð100‘Ì‚¸‚¢ŠÒ‚µ‚Ä50‰ñƒeƒXƒg‚ð‚µ‚½‚Ì‚Å‹°‚ç‚­‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B) +E‚»‚Ì‘¼Œ‹\ׂ©‚¢C³ + (common/) + mmo.h + (map/) + chat.c + chrif.c + clif.c + guild.c + itemdb.c + map.c + mob.c + npc.c + party.c + path.c + pc.c + pet.c + script.c + skill.c + skill.h + +-------------- +//0716 by ¹ + +E¸˜B¬Œ÷—¦‚ɑ΂µ‚ÄBS‚Ì•ŠíŒ¤‹†‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚È‚©‚Á‚½–â‘è‚ðC³B + (map/) + pc.c + pc_percentrefinery() C³B + +-------------- +//0715 by Ž€_ + +Eƒ}ƒbƒvƒT[ƒo[‚©‚ç•\Ž¦‚³‚ê‚镨‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚Ìݒ肪‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½BƒXƒLƒ‹•\Ž¦‚¾‚¯‚Å‚à‚È‚­‚µ‚Ä‚â‚é‚ƃT[ƒo[‚ª‚©‚È‚èŠy‚É‚È‚Á‚½‚è‚à‚µ‚Ü‚·B +ŠJ”­‚âƒoƒOƒgƒŒ[ƒX‚ÌŽž‚Í•\Ž¦‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B +E‚»‚Ì‘¼×‚©‚¢C³B +EC³‚µ‚½Š‚ð‘S‚Ä‘‚¯‚È‚¢‚̂Ńtƒ@ƒCƒ‹‚¾‚¯B + (doc/) + conf_ref.txt + (conf/) + battle_athena.conf + (map/) + makefile + skill.c + script.c + pet.c + pc.c + path.c + party.c + npc.c + itemdb.c + intif.c + guild.c + chat.c + battle.h + battle.c + chrif.c + atcommand.c + clif.c + mob.c + map.c + +-------------- +//0714 by Ž€_ + +Eׂ©‚¢C³B +EƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“‚Å‚‚Ìd—ʂƸ˜B‚É‚æ‚Á‚ă_ƒ[ƒW‚ª‘‚¦‚é‚悤‚ÉC³B¸˜Bƒ_ƒ[ƒW‚ð‘«‚·Žž“K—p‚Ń_ƒ[ƒW+d—Ê+‚¸˜B*4(‚±‚Ì4‚Írefine_db.txt‚Ì–h‹ï‚̉ß踘Bƒ{[ƒiƒX‚ðŽg‚Á‚Ä‚é‚Ì‚Å•ÏX‰Â”\‚Å‚·B)‚É‚È‚è‚Ü‚·B +EƒXƒLƒ‹‚É‚æ‚é‚«”ò‚΂µˆ—‚Å0x88ƒpƒPƒbƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½‚ª‚»‚̃pƒPƒbƒg‚Ì—D懈ʂª‚©‚È‚è’á‚¢‚炵‚­Œã‚Å—ˆ‚éƒpƒPƒbƒg‚É‚æ‚Á‚Ä–³Ž‹‚³‚ê‚邱‚Æ‚à‚ ‚é‚悤‚Ȃ̂ŃvƒŒƒCƒ„[‚¾‚¯‚É“K—p‚µ‚ă‚ƒ“ƒXƒ^[‚É‚Í0x78‚ðŽg‚¤‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +‚Å‚àˆÊ’u‚¸‚ê‚ÍŠ®‘S‚É‚È‚­‚È‚ç‚È‚¢‚悤‚Å‚·B(‹°‚ç‚­ˆÆ‚̃oƒO‚¾‚ÆŽv‚¢‚Ü‚·BŽI‚Ì +À•W‚ðŠm”F‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªŽI‚Ì•û‚Í–â‘肪‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B) +ƒvƒŒƒCƒ„[‚Ìê‡0x78(PACKETVER‚ª4ˆÈã‚È‚ç0x1d8)‚ªŽg‚¦‚Ü‚¹‚ñB•ªg‚ðì‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Å... +EƒoƒO•ñƒXƒŒƒbƒh2 ‚Ì47‚ðŽæ‚èž‚Ý‚Ü‚µ‚½B +E‚»‚Ì‘¼C³‚µ‚½Š­‚µ‚ ‚èB + (db/) + refine_db.txt C³B + item_db.txt C³B + (map/) + battle.c + battle_stopattack()Abattle_stopwalking() C³B + battle_get_attack_element2()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack() C³B + path.c + path_blownpos() C³B + pc.h C³B + pc.c + pc_stop_walking()Apc_damage() C³B + pc_getrefinebonus() ’ljÁB + mob.c + mob_damage() C³B + pet.c + pet_target_check()Apet_stop_walking()Apet_performance() C³B + skill.c + skill_attack()Askill_blown()Askill_status_change_start() C³B + skill_castend_damage_id() C³B + makefile C³B + +-------------- +//0713 by ‚Û‚Û‚Û + +Emob_avail.txt’ljÁBitem_avail.txt‚Æ“¯—l‚ÌŽw’è‚Ń‚ƒ“ƒXƒ^[‚ÌŒ©‚½–ڂ𑼂ÌID‚Ì‚à‚Ì‚É•ÏX‚µ‚Ü‚·B +@ƒ‚ƒ“ƒXƒ^[‚ÌIDˆÈŠO‚ðŽw’肵‚½‚è‚·‚é‚ÆPC‚âNPC‚ÌŽp‚ð‚µ‚½MOB‚Ɉê•û“I‚ÉUŒ‚‚³‚ê‚éꇂª‚ ‚é‚Ì‚Å’ˆÓB + (db/) + mob_avail.txt ’ljÁB + (map/) + clif.c + clif_mob0078()Aclif_mob007b() C³B + mob.h C³B + mob.c + mob_readdb_mobavail()Amob_get_viewclass()’ljÁB + do_init_mob()Amob_readdb() C³B + +-------------- +//0712 by Ž€_ + +EƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒV[ƒ‹ƒhƒu[ƒƒ‰ƒ“ŽÀ‘•B +EƒI[ƒgƒK[ƒh‚Í‚Æ‚è‚ ‚¦‚¸ƒGƒtƒFƒNƒg‚ªo‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +E0708‚Å‘‚«–Y‚êBƒfƒBƒtƒFƒ“ƒ_[‚ðŽg‚Á‚½ŽžASPD‚ƈړ®‘¬“x‚Í20%’ቺ‚µ‚Ü‚·B +–{ŽI‚Œቺ‚·‚é‚Ì‚ÍŠm‚©‚̂悤‚Å‚·‚ª‚Ç‚ê‚®‚ç‚¢‰º‚ª‚é‚Ì‚©‚Í‚³‚Á‚Ï‚è‚í‚©‚è‚Ü‚ñ‚Ì‚Å... +E‚»‚Ì‘¼×‚©‚¢C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + (map/) + battle.h C³B + battle.c + battle_calc_damage()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + skill.c + skill_additional_effect()Askill_attack()Askill_castend_nodamage_id() C³B + skill_check_condition()Askill_status_change_start() C³B + skill_castend_damage_id() C³B + pc.h C³B + pc.c + pc_calcstatus()Apc_checkallowskill()Apc_unequipitem() C³B + +-------------- +//0711 by npc + +Ezλ‘¢ƒGƒtƒFƒNƒg‚ÌC³ +EƒXƒNƒŠƒvƒg–„‚ßž‚Ý•Ï”‚ÉHp,MaxHp,Sp,MaxSp‚ð’ljÁ(“Ç‚Ýž‚Ý‚Ì‚Ý) + (map/) + skill.c + skill_produce_mix()C³B + pc.c + pc_readparam()C³B + (db/) + const.txt C³B + +-------------- +//0710 by ŒÓ’±—– + +E–¼‘O‚É”¼ŠpƒXƒy[ƒX‚ª“ü‚Á‚½ƒp[ƒeƒB[‚ð쬂µ‚½‚Æ‚«A‚¨‚æ‚ÑA + ”¼ŠpƒXƒy[ƒX‚ª“ü‚Á‚½–¼‘O‚ÌPC‚ðƒp[ƒeƒBƒƒ“ƒo‚É‚µ‚½‚Æ‚«A + party.txt‚ª³‚µ‚­“Ç‚Ýž‚ß‚È‚­‚È‚é–â‘è‚ðC³ + + (char/) + int_party.c + inter_party_fromstr()C³ + +EMessage of the Day ‹@”\’ljÁ + EƒƒOƒCƒ“‚µ‚½ƒ†[ƒU[‚ÉMOTD‚ð•\Ž¦‚³‚¹‚邱‚Æ‚ªo—ˆ‚Ü‚·B + Emap-server.exeŽÀsŽž‚̃JƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠihelp.txt‚Æ“¯‚¶ + ƒfƒBƒŒƒNƒgƒŠj‚Émotd.txt‚ðì‚é‚Æ•\Ž¦‚µ‚Ü‚·B + EMOTD‚ª•\Ž¦‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ÍA + uƒ}ƒbƒvƒT[ƒo[‚ɃƒOƒCƒ“‚µ‚½’¼Œã‚ÌAƒ}ƒbƒvƒ[ƒhŠ®—¹Žžv‚Å‚·B + ‚‚܂èAƒƒOƒCƒ“’¼ŒãAƒLƒƒƒ‰ƒZƒŒ’¼Œã‚¨‚æ‚ÑA + ƒ}ƒbƒvƒT[ƒo[ŠÔˆÚ“®‚ÌŽž(ƒ}ƒbƒvƒT[ƒo[‚Ì•ªŽU‚ðs‚Á‚Ä‚¢‚éꇂ̂Ý) + ‚̃}ƒbƒvƒ[ƒh‚ªI‚í‚Á‚½Žž‚É•\Ž¦‚³‚ê‚Ü‚·B + E•\Ž¦•û–@‚Íhelp.txt‚Æ“¯‚¶‚Å•’ʂ̃ƒbƒZ[ƒW‚Æ‚µ‚Ä‘—M‚µ‚Ü‚·B + iƒMƒ‹ƒh’mƒƒbƒZ[ƒW‚Í•¶Žš”§ŒÀ‚ª‚ ‚èAGMƒAƒiƒEƒ“ƒX‚Í’·ŽžŠÔ + ‰æ–Ê‚Ìã•”‚É•\Ž¦‚³‚ê‚Ä‚µ‚Ü‚¤‚½‚ßj + E‰ï˜b‚Æ‹æ•Ê‚ª‚‚­‚悤‚ÉA"< Message of the Day >"A"< End of MOTD >" + ‚Ì•¶‚Å㉺‚ðˆÍ‚¢‚Ü‚·B + + (map/) + pc.c + pc_authok()C³ + + +-------------- +//0709 by ‚Û‚Û‚Û + +EƒXƒNƒŠƒvƒg‚Éemotion’ljÁ +@emotion n;‚ÆŽg‚¤‚ÆNPC‚ªƒGƒ‚‚ðo‚µ‚Ü‚·Bn‚Í0`33‚ªŽg—p‰Â”\B +E¸˜B‚ÆŠXƒKƒCƒh‚ÌNPC‚ð–{ŽI‚̑䎌‚ɇ‚킹‚ÄC³B + (conf/) + npc_town_refine.txtAnpc_town_guide.txt C³B + (map/) + script.c + buildin_emotion() ’ljÁB + +-------------- +//0708 by Ž€_ + +EƒXƒLƒ‹ƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹AƒfƒBƒtƒFƒ“ƒ_[AƒI[ƒgƒK[ƒhŽÀ‘•B +EƒI[ƒgƒK[ƒh‚ÌꇃK[ƒh‚µ‚Ä‚àƒGƒtƒFƒNƒg‚Ío‚Ü‚¹‚ñBƒ~ƒX‚ɂȂ邾‚¯‚Å‚·B–{ŽI‚Ì•û‚Í•\Ž¦‚³‚ê‚é‚©‚Ç‚¤‚©‚à‚í‚©‚ç‚È‚¢‚µƒpƒPƒbƒgî•ñ‚à‚È‚¢‚Ì‚Å... +EƒfƒBƒtƒFƒ“ƒ_[‚Í–¢ƒeƒXƒgBbLongAtkDef‚ðŽg‚Á‚Ä‚é‚̂Ńzƒ‹ƒ“ƒJ[ƒh‚̂悤‚ÉbLongAtkDef‚ðã‚°‚镨‚ð‘•”õ‚µ‚ÄŽg‚¤‚Ɖ“‹——£•¨—UŒ‚‚ð‘S‚Ä–³Œø‚É‚Å‚«‚Ü‚·B(‚±‚ê‚à–{ŽI‚ÌŽd—l‚ª‚Ç‚¤‚È‚Ì‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB) +E‚»‚Ì‘¼×‚©‚¢C³B + (db/) + cast_db.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + skill.h C³B + skill.c + skill_castend_nodamage_id()Askill_use_id()Askill_check_condition() C³B + skill_castend_id()Askill_castend_nodamage_id()Askill_castcancel() C³B + pc.c + pc_calcstatus()Apc_setpos()Apc_damage() C³B + battle.c + battle_calc_damage()Abattle_damage() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B + mob.c + mob_damage() C³B + itemdb.c + itemdb_searchrandomid() C³B + +-------------- +//0707 by Ž€_ + +E0705‚̈¢C—…”e–PŒ‚̃oƒOC³B + (db/) + skill_db.txt + (map/) + skill.c + skill_castend_id() + skill_castend_pos() + battle.c + battle_calc_pc_weapon_attack() + clif.c + clif_parse_UseSkillToId() + +-------------- +//0706 by kalen +EC³ + conf/npc_warp_umbala.txt + +-------------- +//0705 by Ž€_ + +EFX‚ÆC³B +EƒvƒŒƒCƒ„[‚̃NƒŠƒeƒBƒJƒ‹ŒvŽZ‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ÅC³B +E”š—ô”g“®‚̈—C³B +Eƒ‚ƒ“ƒN‚̃Rƒ“ƒ{‚ðC³B +Eˆ¢C—…”e–PŒ‚ÌŽg—p‚É‚æ‚Á‚ă}ƒbƒvŽI‚Ì–³ŒÀƒ‹[ƒvƒoƒOC³B(‚±‚ê‚©‚È‚è’v–½“I‚È•¨‚¾‚Á‚½‚悤‚Å‚·B) +EƒRƒ“ƒ{‚ÅŽg‚¤ˆ¢C—…”e–PŒ‚Í“G‚ðƒNƒŠƒbƒN‚·‚é•K—v‚ª‚È‚¢‚悤‚ÉC³B +E–Ò—´Œ‚Å“G‚ð‚«”ò‚΂·‹——£‚ð5ƒZƒ‹‚É•ÏXB‚æ‚Á‚ăRƒ“ƒ{‚ÅŽg‚¤ˆ¢C—…”e–PŒ‚Í‹——£ƒ`ƒFƒbƒN‚ð‚µ‚Ü‚¹‚ñB5ƒZƒ‹”ò‚΂³‚ꂽ“G‚͈¢C—…”e–PŒ‚ÌŽË’ö‚©‚ç—£‚ꂽ‚킯‚È‚Ì‚Å‹——£ƒ`ƒFƒbƒN‚È‚µ‚Å”­“®‚µ‚Ü‚·B(–{ŽI‚ÌŽd—l‚È‚ñ‚Ä’m‚è‚Ü‚¹‚ñB) +Eƒ}ƒbƒv‚Ì–¼‘O‚ð16byte‚©‚ç24bytes‚É•ÏXB(‘債‚½ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ªˆÀ‘S‚ׂ̈̕¨‚Å‚·B) +EƒEƒFƒfƒBƒ“ƒOƒLƒƒƒ‰‚É‚æ‚éˆÆ—Ž‚¿‚ð–h‚®ˆ×‚ÉC³B +E‚»‚Ì‘¼­‚µC³B(ƒeƒXƒg‚Í–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñB) + (conf/) + battle_athena.conf C³B + (db/) + skill_db.txt C³B + (common/) + mmo.h C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (map/) + battle.h C³B + battle.c + battle_get_flee2()Abattle_calc_pet_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_weapon_attack()Abattle_calc_magic_attack() C³B + battle_config_read() C³B + skill.h C³B + skill.c + skill_status_change_start()Askill_castend_damage_id() C³B + skill_check_condition()Askill_use_id()Askill_blown() C³B + skill_castend_map()Askill_unit_onlimit()Askill_attack() C³B + pc.c + pc_attack_timer()Apc_setpos()Apc_setsavepoint() C³B + pc_movepos()Apc_calcstatus()Apc_bonus() C³B + clif.h C³B + clif.c + clif_set0078()Aclif_set007b() C³B + clif_updatestatus()Aclif_initialstatus()Aclif_parse_UseSkillToId() C³B + clif_skillinfo() ’ljÁB + map.h C³B + map.c + map_setipport()Amap_addmap() C³B + ‚»‚Ì‘¼”²‚¯‚½Š­‚µ‚ ‚èB + +-------------------- +//0704 by kalen + +EUmbala Warp’ljÁ + conf/npc_warp_umbala.txt + +-------------------- +//0703 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------- +//0702 by ‚Û‚Û‚Û + +Eƒtƒ@[ƒ}ƒV[‚̃GƒtƒFƒNƒg‚ð–{—ˆ‚Ì‚à‚Ì‚É•ÏX +EƒXƒNƒŠƒvƒg‚Å‚Ì–„‚ßž‚Ý•Ï”‚ÉBaseExp,JobExp,NextBaseExp,NextJobExp’ljÁ + (map/) + skill.c + skill_produce_mix() C³B + pc.c + pc_readparam()Apc_setparam() C³B + (db/) + const.txt C³B + +-------------- +//0701 by ‚Ò‚´‚Ü‚ñ + +EƒXƒe[ƒ^ƒXˆÙí”»•ÊŽ®“±“üBŠeƒXƒe[ƒ^ƒXˆÙí‚Ì”­“®—¦‚ªVIT/INT/MDEF‚ɉe‹¿‚·‚é‚悤‚É‚È‚è‚Ü‚·BŽ‘±ŽžŠÔ’Zk‚Í‚Ü‚½¡“x‚Å_|P|› +E•sŽ€‚É“€Œ‹‚ªŒø‚¢‚½ƒoƒOC³B + (map/) + skill.c + skill_additional_effect()Askill_castend_nodamage_id() C³B + +-------------- +//0700 by “ì + +E697‚̃oƒOC³B +@@@@(db/) + mob_db.txt + +-------------- +//0699 by Ž€_ + +E‘•”õ‚̃{[ƒiƒXƒNƒŠƒeƒBƒJƒ‹‚ÍŽ©•ª‚̊ԈႢ‚¾‚Á‚½‚Ì‚ÅbCriticalRate‚ðbCritical‚É•ÏXB‚»‚ê‚Æ0695‚Å‘‚«–Y‚ê‚Å‚·‚ªASPD‚ðã‚°‚éƒJ[ƒh‚â‘•”õ‚̈ꕔ‚ðbAspdAddRate‚©‚çbAspdRate‚É•ÏX‚µ‚Ü‚µ‚½B‚Ý‚·‚Ƃꑃ‚̃Vƒ~ƒ…ƒŒ[ƒ^[‚É‚æ‚é‚ƃhƒbƒyƒ‹ƒJ[ƒh‚Í•¡”‚Å‚àˆê‚‚µ‚©“K—p‚³‚ê‚È‚¢‚Ý‚½‚¢‚¾‚Á‚½‚Ì‚ÅB + (db/) + item_db.txt + +-------------- +//0698 by Ž€_ + +Eˆê•”‚̃Lƒƒƒ‰‚Éd—Ê‚ª‚O‚É‚È‚Á‚ăJƒvƒ‰‚Ȃlj½‚à‚o‚bC‚m‚b‚o‚ª•\Ž¦‚³‚ê‚È‚­‚È‚éƒoƒOC³B(‚»‚ꂾ‚¯) + (common/) + mmo.h C³B + (map/) + clif.c + clif_updatestatus() C³B + pc.c + pc_calcstatus() C³B + +-------------- +//0697 by “ì + +Emob_dbC³ +@ƒhƒƒbƒv‚ð’†S‚ÉC³B +@@@@(db/) + mob_db.txt + +-------------- +//0696 by Ž€_ + +EƒoƒOC³B +EƒeƒŒƒ|[ƒg‚âƒ[ƒv“™‚ÌŽžƒXƒLƒ‹ƒ†ƒjƒbƒg‚©‚甲‚¯‚鈗‚ª“ü‚Á‚Ä +‚È‚©‚Á‚½‚Ì‚ÅSAFETYWALL“™‚É‚æ‚Á‚ÄŽI—Ž‚¿‚ª‹N‚±‚Á‚½‚悤‚Å‚·B(Šm‚©•ñ‚à +‚ ‚Á‚½‚ÆŽv‚¢‚Ü‚·‚ª...) ‚æ‚Á‚ÄC³‚Í‚µ‚Ü‚µ‚½‚ªŠm”F‚Í‚µ‚Ä‚Ü‚¹‚ñB•ñ‚ð +‚¨Šè‚¢‚µ‚Ü‚·B +EƒXƒLƒ‹‚É‚æ‚é‚«”ò‚΂µˆ—‚ð‚¿‚å‚Á‚ÆC³‚ƃ‚ƒ“ƒXƒ^[‚̃R[ƒh‚ð­‚µC³B +‘½•ª•Ï‚É‚È‚Á‚½‚±‚Æ‚Í‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ª•Ï‚¾‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B +E‚»‚Ì‘¼×‚©‚¢C³B + (map/) + skill.h C³B + skill.c + skill_blown()Askill_attack()Askill_unit_move() C³B + skill_castend_nodamage_id()Askill_castend_damage_id() C³B + skill_unit_out_all()Askill_unit_out_all_sub() ’ljÁB + mob.c + mob_stop_walking()Amob_spawn()Amob_warp() C³B + mob_can_move()Amob_changestate() C³B + map.h C³B + pc.c + pc_setpos() C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack() C³B + +-------------- +//0695 by Ž€_ + +E­‚µC³B +EƒvƒŒƒCƒ„[‚ÌŠî–{ƒpƒ‰ƒ[ƒ^‚ð2byte‚ÉŠg’£B +Eitem_db.txt‚ðƒ‰ƒOƒiƒQ[ƒg‚Ìà–¾‚ɇ‚킹‚ÄC³B +EbAddEff‚ÆbResEff‚ÌŠm—¦‚ð•S•ª—¦‚©‚ç–œ•ª—¦‚É•ÏXB +EƒXƒNƒŠƒvƒgstatusup‚Æstatusup2’ljÁB +statusup bStr; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚µ‚Ä +Šî–{ƒpƒ‰ƒ[ƒ^‚ð1ã‚°‚éB +statusup2 bInt,n; ‚̂悤‚ÉŽg‚Á‚Ä‹@”\‚̓Xƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðŒ¸‚ç‚³‚¸‚É +Šî–{ƒpƒ‰ƒ[ƒ^‚ðnã‚°‚éB +E‚»‚Ì‘¼×‚©‚¢C³B + (conf/) + battle_athena.conf C³B + (db/) + item_db.txt C³B + const.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + (common/) + mmo.h C³B + (char/) + char.c + mmo_char_send006b()Aparse_char() C³B + (map/) + map.h C³B + clif.h C³B + clif.c + clif_initialstatus()Aclif_updatestatus() C³B + pc.h C³B + pc.c + pc_bonus()Apc_calcstatus()Apc_equippoint()Apc_equipitem() C³B + pc_jobchange()Apc_checkbaselevelup()Apc_statusup() C³B + pc_statusup2() ’ljÁB + battle.h C³B + battle.c + battle_calc_pet_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pc_weapon_attack()Abattle_config_read() C³B + skill.c + skill_additional_effect()Askill_status_change_start() C³B + script.c + buildin_statusup()Abuildin_statusup2() ’ljÁB + atcommnad.c C³B + +-------------- +//0694 by Ž€_ + +EƒoƒOC³‚Æׂ©‚¢C³B +EbCriticalRate‚ª³‚µ‚­“K—p‚³‚ê‚È‚©‚Á‚½–â‘èC³B +Eƒyƒbƒg‚É‚æ‚éƒXƒe[ƒ^ƒXƒ{[ƒiƒX’ljÁBƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚Í‘•”õ‚Ì +ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Äݒ肵‚Ü‚·B‚½‚¾ƒyƒbƒg‚É‚æ‚éƒ{[ƒiƒX‚̓J[ƒh‚É‚æ‚镨‚Æ“¯‚¶ˆµ‚¢‚ð‚µ‚Ü‚·B‚»‚µ‚Ä‘®«‚Ì“K—p‚͈ê”Ô—D懈ʒႢ‚Å‚·B¡‚͉½‚à“ü‚Á‚Ä‚Ü‚¹‚ñ‚ª... + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + pet_db.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + db_ref.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + battle.h C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_weapon_attack() C³B + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + battle_config_read() C³B + pc.c + pc_calcstatus()Apc_bonus()Apc_setpos()Apc_authok() C³B + pc_damage()Apc_autosave_sub() C³B + pet.h C³B + pet.c + pet_hungry()Apet_birth_process()Apet_recv_petdata()Apet_food() C³B + pet_return_egg()Apet_ai_sub_hard()Aread_petdb() C³B + clif.c + clif_sendegg()Aclif_parse_LoadEndAck() C³B + atcommand.c C³B + makefile C³B + +-------------- +//0693 by ŒÓ’±—– + +ESC_*‚Ì—ñ‹“•\‚ðƒŠƒiƒ“ƒoƒŠƒ“ƒO + ƒNƒ‰ƒCƒAƒ“ƒg‚É’Ê’m‚·‚é‚Ì‚ð64–¢–ž‚©‚ç128–¢–ž‚É‘‚₵‚½ + ƒpƒPƒbƒgî•ñ‚ɇ‚¤‚悤‚ɃŠƒiƒ“ƒo[ + StatusChange‚Ì”z—ñ‚ð128‚©‚ç192‚É‘‚₵‚½‚̂Ńƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚Ü‚·B + + (db/) + const.txt + SC_* ‚Ì”’l‚ð•ÏX + (map/) + skill.h + SC_* ‚Ì—ñ‹“‚Ì”’l‚ð•ÏX + map.h + MAX_STATUSCHANGE‚ð128‚©‚ç192‚É‘‚₵‚½ + skill.c + skill_status_change_start(),skill_status_change_end(), + skill_status_change_clear()‚Ì’Ê’mˆ—‚ð•ÏX + +E‰‰‘t/ƒ_ƒ“ƒX‚̈—‚ð•ÏX + ‰‰‘t/ƒ_ƒ“ƒX’†‚©‚Ç‚¤‚©‚ðSC_DANCING‚Å”»’è‚·‚é‚悤‚É•ÏX + i”»’舗‚ª‘½­‚‘¬‰»‚³‚ꂽ‚Í‚¸j + ƒ[ƒv(ƒ}ƒbƒvˆÚ“®‚┈‚È‚Ç)‚·‚é‚Ɖ‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚·‚é‚悤‚É•ÏX + + skill.h/skill.c + skill_check_dancing()íœAskill_stop_dancing()’ljÁ + skill_delunitgroup(),skill_initunitgroup()•ÏX + skill_status_change_start()•ÏX + skill_castend_nodamage_id()•ÏX + ‘‚«‘¹‚¶‚ª‚ ‚é‚©‚àEE + pc.c + pc_calcstatus(),pc_setpos(),pc_damage()•ÏX + +E•s‹¦˜a‰¹ƒXƒLƒ‹‚ÌC³ + (db/) + skill_db.txt + •s‹¦˜a‰¹ƒXƒLƒ‹‚ÌHIT”C³ + (map/) + skill.c + skill_status_change_timer()•ÏX + battle.c + battle_calc_misc_attack()C³ + +-------------- +//0692 by ŒÓ’±—– + +EƒAƒhƒŠƒuƒXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢–â‘èC³iskill_db‚Ì“Y•t‚µ–Y‚êj + (db/) + skill_db.txt + ƒAƒhƒŠƒu‚ÌÁ”ïSP‚ð1‚ÉC³ + +Emob_db2.txt‚ª‚ ‚ê‚Îmob_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É + ƒIƒŠƒWƒiƒ‹mob‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + mob.c + mob_readdb() + +EŽI—Ž‚¿ƒoƒO•ñŽž‚Ì‚½‚߂̃Xƒ^ƒbƒNƒoƒbƒNƒgƒŒ[ƒXƒƒOŠ“¾•û–@‚ðЉî + ŽI—Ž‚¿ƒoƒO‚Ì•ñŽž‚ÉA‚±‚Ìî•ñ‚ðƒRƒsƒy‚·‚é‚ÆŠJ”­ŽÒ‚ªŠì‚Ñ‚Ü‚·B + Cygwin‚Åcore‚Ì“f‚©‚¹‚é•û–@‚àЉ‚Ä‚Ü‚·B + + (doc/) + coredump_report.txt + +-------------- +//0691 by ŒÓ’±—– + +Eitem_db2.txt‚ª‚ ‚ê‚Îitem_db.txt‚ɃI[ƒo[ƒ‰ƒCƒh‚·‚é‚悤‚É + ƒIƒŠƒWƒiƒ‹ƒAƒCƒeƒ€‚ðì‚Á‚Ä‚él‚ÍŽg‚¤‚Æ•Ö—˜‚©‚à‚µ‚ê‚Ü‚¹‚ñB + + itemdb.c + itemdb_readdb()C³ + +E‰‰‘t/ƒ_ƒ“ƒXŒnƒXƒLƒ‹‰¼ŽÀ‘• + E‰‰‘t/ƒ_ƒ“ƒX’†‚͈ړ®‚ª’x‚­AƒXƒLƒ‹‚àŽg‚¦‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ + EƒAƒhƒŠƒuƒXƒLƒ‹‚ʼn‰‘t/ƒ_ƒ“ƒX‚ð’†’f‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E‰‰‘t/ƒ_ƒ“ƒX‚ÍΉ»‚Ȃǂ̈ÙíAMHP‚Ì1/4ˆÈã‚̃_ƒ[ƒW‚Å’†’f‚µ‚Ü‚· + EƒLƒƒƒ‰ƒNƒ^[ƒOƒ‰ƒtƒBƒbƒN‚͉‰‘t/ƒ_ƒ“ƒX‚µ‚Ü‚¹‚ñ + E‰‰‘t/ƒ_ƒ“ƒX’†‚ÌSPÁ”ï‚Í–¢ŽÀ‘•‚Å‚· + EˆÚ“®‚µ‚Ä‚àŒø‰Ê”͈͂͂‚¢‚Ä‚«‚Ü‚¹‚ñ + Ed•¡‚µ‚Ä‚à•s‹¦˜a‰¹‚Ȃǂɕω»‚µ‚Ü‚¹‚ñ + EƒGƒtƒFƒNƒg‚ªo‚Ä‚àŒø‰Ê‚Í–¢ŽÀ‘•‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚· + E‚Ù‚Æ‚ñ‚Ç–¢ƒeƒXƒg‚È‚Ì‚Å‘½”‚Ì•s“s‡‚ª‚ ‚é‚ÆŽv‚¢‚Ü‚· + + skill.h + SC_* ‚Ì—ñ‹“•\‚ðC³ + skill.c + skill_check_dancing()’ljÁ + SkillStatusChangeTable[]C³ + skill_unit_onout(), skill_status_change_start(), + skill_status_change_timer(),skill_unitsetting(), + skill_castend_id(),skill_castend_pos(),skill_castend_map(), + skill_castend_nodamage_id()C³ + ‚»‚Ì‘¼‚Í–Y‚ê‚Ü‚µ‚½ + pc.c + pc_calcstatus(),pc_damage()C³ + +-------------- +//0690 by ”g˜Q + +Eׂ©‚¢C³ + (db/) + item_db.txt ‚ƃƒMƒ“ƒMƒ‡ƒ‹ƒh‚Ìbonus‚ðC³B + (doc/) + item_bonus.txt C³B + +-------------- +//0689 by Ž€_ + +E‘qŒÉƒoƒOC³‚Æׂ©‚¢C³B + (map/) + pc.c + pc_modifybuyvalue()Apc_modifysellvalue() C³B + storage.c + storage_storageopen() C³B + storage_storage_quit()Astorage_storage_save() C³B + +-------------- +//0688 by ¹ + +EƒfƒBƒXƒJƒEƒ“ƒgAƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ª“K—p‚³‚ê‚È‚©‚Á‚½–â‘è‚ðC³B + (map/) + pc.c + pc_modifybuyvalue() C³B + pc_modifysellvalue() C³B + +-------------- +//0687 by Ž€_ + +E­‚µC³B +Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) +Eitem_avail.txt‚̈—‚ð•ÏXBƒAƒCƒeƒ€ID‚ÌŒã‚É0‚ð“ü‚ê‚é‚Æ¡‚Ü‚Å’Ê‚è‚ÉŽg—p•s‰Â”\‚ɂȂ邪0ˆÈŠO‚Ì”’l‚ð“ü‚ê‚é‚ÆŽg—p•s‰Â”\‚Å‚Í‚È‚­‚»‚Ì”’l‚ðƒAƒCƒeƒ€‚ÌID‚Æ‚µ‚ÄŒ©‚½–Ú‚¾‚¯‚ð‚»‚ê‚É•ÏX‚µ‚Ü‚·B‚æ‚Á‚ĈƗŽ‚¿ƒAƒCƒeƒ€‚ð•Ê‚Ì•¨‚É•\Ž¦‚µ‚ĈƗŽ‚¿‚ð–h‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B(•\Ž¦‚¾‚¯•Ï‚¦‚ÄŽI‚̈—‚Í–{“–‚̃AƒCƒeƒ€ID‚Ì•¨‚Æ‚µ‚Ä”FŽ¯‚µ‚Ü‚·BC³‚Í‘S‚Ä‚µ‚½‚ÆŽv‚¢‚Ü‚·‚ª”²‚¯‚½Š‚ª‚ ‚é‚©‚à’m‚è‚Ü‚¹‚Ì‚ÅŒ©‚½–Ú•ÏX‚µ‚½ƒAƒCƒeƒ€‚ňƗŽ‚¿‚ª‹N‚±‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B) ŽI‚̈—‚Í‚±‚ꂪŒÀŠE‚Å‚·B(­‚È‚­‚Æ‚àŽ©•ª‚É‚Í) ƒAƒCƒeƒ€‚ª“¯‚¶•¨‚ª“ñ‚•\Ž¦‚³‚ê‚ĊԈႢˆÀ‚¢‚Æ‚©‚Ç‚¤‚±‚¤‚Æ‚©‚Ì•¶‹å‚ðŒ¾‚¢‚½‚¢l‚͈Æì‚ê‚æBˆÈãB +EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚̃Rƒ}ƒ“ƒgƒAƒEƒg‰ðœBitem_avail.txt‚Å—‘‚ðƒ‹ƒr[‚ƃAƒNƒAƒ}ƒŠƒ“‚Å•\Ž¦‚µ‚ĕߊlƒAƒCƒeƒ€‚à‘¼‚Ì•¨‚É•\Ž¦‚·‚é‚悤‚É•ÏX‚µ‚Ä‚¢‚Ü‚·B +Eƒ_ƒ[ƒWŒvŽZ‚̃oƒOC³B(‘債‚½•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª‹|‚¾‚¯‚¿‚å‚Á‚Æ–â‘肪‚ ‚Á‚½‚悤‚Å‚·B) +E” “™‚̃AƒCƒeƒ€‚Å“¾‚½‘•”õ•i‚Í–¢ŠÓ’è‚É‚È‚é‚悤‚É•ÏXB +E‘•”õƒ{[ƒiƒX‚Ì“à•”ˆ—C³‚Æ­‚µ•ÏXB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) +EƒLƒƒƒ‰ŽI‚Ƀe[ƒ^‚𑗂鎞ƒLƒƒƒ‰A‘qŒÉAƒyƒbƒg‚̃e[ƒ^‚𓯎ž‚É‘—‚é‚悤‚É•ÏXB(ƒLƒƒƒ‰ŽI‚ƃ}ƒbƒvŽI‚ÌŠÔ‚Ì“]‘——Ê‚ª‘‚¦‚é‚©‚à’m‚è‚ê‚Ü‚¹‚ñ‚ªƒf[ƒ^‚𓯊ú‰»‚ׂ̈ł·B) +EFW‚Ì“®ìŠÔŠu‚ð0.25•b‚©‚ç0.1•b‚É•ÏXB(‚±‚ê‚Å ‚蔲‚Í­‚µŒ¸‚é‚Í‚¸‚Å‚·B) +EƒJ[ƒgƒŒƒ{ƒŠƒ…ƒVƒ‡ƒ“‚Å‚Ç‚ñ‚Èó‘ÔˆÙí‚à‚©‚©‚ç‚È‚¢‚悤‚É•ÏXB + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + item_avail.txt C³B + pet_db.txt C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (map/) + map.h C³B + map.c + map_quit() C³B + battle.h C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() C³B + battle_get_dmotion()Abattle_config_read() C³B + pc.c + pc_calcstatus()Apc_bonus()Apc_bonus3()Apc_setpos() C³B + pc_makesavestatus()Apc_autosave_sub()Apc_modifybuyvalue() C³B + pc_modifysellvalue()Apc_stop_walking() C³B + skill.c + skill_additional_effect()Askill_unitsetting() C³B + clif.c + clif_buylist()Aclif_selllist()Aclif_set009e()Aclif_set0078() C³B + clif_set007b()Aclif_additem()Aclif_itemlist()Aclif_equiplist() C³B + clif_storageitemlist()Aclif_storageequiplist()Aclif_changelook() C³B + clif_arrow_create_list()Aclif_useitemack()Aclif_tradeadditem() C³B + clif_storageitemadded()Aclif_getareachar_item() C³B + clif_skill_produce_mix_list()Aclif_cart_additem()Aclif_cart_itemlist() C³B + clif_cart_equiplist()Aclif_vendinglist()Aclif_openvending() C³B + clif_produceeffect()Aclif_sendegg()Aclif_pet_equip()Aclif_mvp_item() C³B + clif_pet0078()Aclif_pet007b() C³B + itemdb.h C³B + itemdb.c + itemdb_searchrandomid()Aitemdb_search()Aitemdb_readdb() C³B + itemdb_read_itemavail()Aitemdb_read_itemvaluedb() C³B + itemdb_equippoint() íœB + storage.h C³B + storage.c + storage_storage_quitsave() ->storage_storage_quit()‚É•ÏX‚ÆC³B + storage_storageclose() C³B + atcommand.c C³B + pet.c + pet_change_name()Apet_equipitem()Apet_unequipitem() C³B + pet_birth_process()Apet_return_egg() C³B + script.c + buildin_getitem() C³B + mob.c + mob_stop_walking() C³B + makefile C³B + +-------------- +//0686 by ¹ + +Eׂ©‚¢C³B + (map/) + pc.h C³B + +-------------- +//0685 by ”g˜Q + +E0683A0684‚Å‚Ìbonus‚̒ljÁ‚É‚Æ‚à‚È‚Á‚Äitem_db.txt‚ðC³ +E‘¼FXC³ + (db/) + item_db.txt C³B + (doc/) + item_bonus.txt C³B + +-------------- +//0684 by Ž€_ + +Eׂ©‚¢C³B +EŽ€‚ñ‚¾‚Ó‚è‚ÌŽžƒXƒLƒ‹‚ƃAƒCƒeƒ€‚ªŽg‚¦‚È‚¢‚悤‚É•ÏXB +EbInfiniteEndure’ljÁB‹@”\‚Í–³ŒÀƒCƒ“ƒfƒ…ƒAB +Eƒ_ƒ[ƒW•\Ž¦‚̈—­‚µ•ÏXB + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + pc.c + pc_calcstatus() C³B + pc_equipitem()Apc_unequipitem() C³B + clif.c + clif_parse_UseItem()Aclif_parse_UseSkillToId() C³B + clif_parse_UseSkillToPos()Aclif_parse_UseSkillMap() C³B + clif_damage()Aclif_skill_damage()Aclif_skill_damage2() C³B + clif_parse_LoadEndAck() C³B + skill.c + skill_status_change_timer() C³B + +-------------- +//0683 by Ž€_ + +EƒoƒOC³‚Æbonus’ljÁB +E‘qŒÉƒoƒOA‘®«ƒoƒOC³‚Æ‚»‚Ì‘¼‚̃oƒOC³B +EƒXƒNƒŠƒvƒgbonus3’ljÁB¡‚ÍbAddMonsterDropItem‚¾‚¯‚ª‘Ήž‚É‚È‚Á‚Ä‚¢‚Ü‚·B +Ebonus bRestartFullRecover;n;“™‚Ån‚Í–³ˆÓ–¡‚¾‚¯‚ÇÁ‚·‚Ì‚Í‚¿‚å‚Á‚Æ‚Ü‚¸‚¢‚Å‚·‚Ì‚Å0‚É‚µ‚Ä“ü‚ꂽ•û‚ª‚¢‚¢‚Å‚·Bbonus‚Í2‚‚̔’l‚ª•K—v‚ȃXƒNƒŠƒvƒg‚È‚Ì‚ÅB +EbDefRatioAtk‚ð–hŒä–³Ž‹‚É•ÏXB +E0677‚Å‘‚«–Y‚êB +E•Ší‚Ì‘®«“K—p—D懈ʂ𻑢>ƒJ[ƒh>•Ší‚É•ÏXB»‘¢‚ªÅ—Dæ‚Å‚·B(‘®«‚ª‚ ‚鎞‚ɘb‚Å‚·B‘®«‚ª‚È‚¢ê‡‘®«‚ ‚镨‚Éã‘‚«‚³‚ꂽ‚è‚Í‚µ‚Ü‚¹‚ñB) +E‘•”õ‚Å“K—p‚³‚ê‚éŒø‰Ê‚Ì—D懈ʂð‰EŽè>¶Žè>‘Ì>“ªã>“ª’†>“ª‰º>ƒ[ƒu>ŒC>ƒAƒNƒZƒTƒŠ[1>ƒAƒNƒZƒTƒŠ[2>–î‚ÉÝ’èB(–{ŽIŽd—l‚ª‚Ç‚¤‚È‚Ì‚©•ª‚©‚邱‚Æ‚ª‚Å‚«‚»‚¤‚È•¨‚Å‚à‚È‚¢‚̂ŃAƒeƒi‚ÌŽd—l‚ÆŒ¾‚¤‚±‚Æ‚ÅB) ‰EŽè‚ªÅ—Dæ‚Å‚·B +E•Ší‚ÌŽË’ö‚ð‰EŽè‚ƶŽè‚Ì•Ší‚Ì’†‚Å’·‚¢•¨‚ð“K—p‚·‚é‚悤‚É•ÏXB + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + (map/) + map.h C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_calc_pet_weapon_attack()Abattle_calc_magic_attack() C³B + battle_damage() C³B + pc.c + pc_autosave_sub()Apc_calcstatus() C³B + pc_bonus()Apc_bonus2() C³B + pc_bonus3() ’ljÁB + script.c + buildin_bonus3() ’ljÁB + mob.c + mob_once_spawn()Amob_damage() C³B + storage.h C³B + storage.c + storage_storage_save() ’ljÁ + atcommand.c C³B + +-------------- +//0682 by ¹ + +EƒXƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“Œn‚̃oƒOC³ + (map/) + pc.c + pc_calcstatus() C³B + +-------------- +//0681 by Ž€_ + +E‘•”õƒoƒOC³B + (map/) + pc.c + pc_equipitem() C³B + +-------------- +//0680 by ¹ + +Eׂ©‚¢C³B +Eu@monstervƒRƒ}ƒ“ƒh‚Ń‚ƒ“ƒXƒ^[ID‚ÌŽw’è‚Éu-1vAu-2v“™‚ðŽw’è‚·‚é‚Æ +@ƒ‚ƒ“ƒXƒ^[‚ðƒ‰ƒ“ƒ_ƒ€‚Å¢ŠÒ‚Å‚«‚é‹@”\‚ð’ljÁB + (map/) + mob.c + atcommand.c + +-------------- +//0679 by ”g˜Q + +E0676‚ÅV‚µ‚¢ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅAitem_db.txt‚ðC³(bonus bAddMonsterDropItem,n,x; ‚ÍAŽí‘°”»’肪‚Å‚«‚È‚¢‚Ì‚Å‚Æ‚è‚ ‚¦‚¸•Û—¯‚µ‚Ü‚µ‚½B) +E‘¼FXC³ + (db/) + item_db.txt + job_db1.txt + (doc/) + item_bonus.txt + +-------------- +//0678 by ¹ + +E¢ŠÒŠÖ˜A‚Ìׂ©‚¢C³B + (map/) + mob.c + mob_once_spawn_area() C³B + +-------------- +//0677 by Ž€_ + +Eׂ©‚¢C³B +EƒAƒCƒeƒ€”„”ƒ‚É‚æ‚Á‚Ä“¾‚ç‚ê‚éŒoŒ±’l‚ðƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹‚Å‚Í“¾‚ç‚ê‚È‚¢‚悤‚ÉC³B +E“Å‚ÉŠ|‚©‚é‚ÆŽ©‘R‰ñ•œ‚Å‚«‚È‚¢‚悤‚ÉC³B +E0676‚Å‘‚«–Y‚êB»‘¢•Ší‚Ìꇻ‘¢‚É‚æ‚Á‚Ä—^‚¦‚½‘®«‚ª•Ší‚Ì‘®«‚æ‚è—D悵‚Ä“K—p‚³‚ê‚é‚悤‚É•ÏXB(»‘¢•Ší‚ª–³‘®«‚Ìꇂ͓K—p‚³‚ê‚Ü‚¹‚ñB) + (doc/) + item_bonus.txt ŒëŽšC³B + (map/) + npc.c + npc_buylist()Anpc_selllist() C³B + pc.c + pc_calcstatus()Apc_natural_heal_sub() C³B + +-------------- +//0676 by Ž€_ + +EFX‚ÆC³B +Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) +E‚Ý‚·‚Ƃꑃ‚ðŽQl‚µ‚ă_ƒ[ƒWŒvŽZ‚ð­‚µC³B +E‘•”õbonus‚ÉFX‚ƒljÁB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) +EŽ©“®ƒZ[ƒu‚·‚鎞(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞)‘qŒÉ‚̃f[ƒ^‚à‘—‚é‚悤‚É•ÏXB +E0667‚ÅŒ¾‚¢–Y‚êBƒJ[ƒg‚ðŠO‚µ‚Ä‚àƒAƒCƒeƒ€‚ªÁ‚¦‚È‚¢‚悤‚É•ÏXB(–{ŽI‚ÅÁ‚¦‚é‚Ì‚ªŽd—l‚¾‚ÆŽv‚Á‚Ä‚¢‚½‚¯‚ÇC³‚³‚ꂽ‚Ý‚½‚¢‚È‚Ì‚ÅB) +EŽæˆø—v¿‚ðŽó‚¯‚鑤‚ÍŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚µ‚È‚¢‚悤‚ÉC³B(Žó‚¯‚鑤‚ÌŠî–{ƒXƒLƒ‹ƒ`ƒFƒbƒN‚ÍŽ©•ª‚ª“ü‚ꂽ•¨‚Å‚Í‚È‚¢‚Å‚·B‚¢‚‚̊Ԃɂ©“ü‚Á‚Ä‚¢‚½‚Ì‚Å휂µ‚Ü‚µ‚½B) +E–h‹ï‚̸˜Bƒ{[ƒiƒX‚ð’[”–³Ž‹‚É•ÏXB(‚±‚ꂪ–{ŽI‚ÌŽd—l‚Ý‚½‚¢‚È‚Ì‚Å) +EƒAƒ“ƒNƒ‹‚̈—­‚µ•ÏXB(‚©‚©‚ç‚È‚¢‚ÆŒ¾‚¤•ñ‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚Å...) +EƒvƒŒƒCƒ„[‚̃Xƒe[ƒ^ƒXŒvŽZ‚Å–â‘è‚ ‚è‚»‚¤‚ÈŠC³B +EƒJ[ƒh‚ÌID‚Å‹@”\‚ªŒˆ‚Ü‚Á‚Ä‚¢‚½ƒJ[ƒh‚àƒXƒNƒŠƒvƒg‚É‚æ‚Á‚Ä•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É•ÏXB(Ú‚µ‚¢‚±‚Æ‚Íitem_bonus.txt‚Å) +EaspdŒvŽZ•û–@­‚µ•ÏXB +E–î‚ÉbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ð“K—p‚Å‚«‚é‚悤‚É•ÏXB–î‚ðŽg‚¤ƒXƒLƒ‹‚â‹|‚É‚æ‚éUŒ‚‚¾‚¯‚É–î‚ÌbCriticalAbAtkEleAbHitAbAddEleAbAddRaceAbAddSizeAbAddEff‚ª“K—p‚³‚ê‚é‚悤‚ÉC³B +EƒLƒŠ‚ÌŽÀ‘•‚ɈׂÉC³‚Í‚µ‚Ü‚µ‚½‚ªƒLƒŠ‚ª–hŒä–³Ž‹‚È‚Ì‚©‚Ç‚¤‚©‚ª‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å–hŒä–³Ž‹‚Í‚µ‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B +EƒeƒXƒg‚µ‚½•¨‚ÍbAddMonsterDropItem‚ÆbGetZenyNum‚¾‚¯‚Ȃ̂ųí‚É“®ì‚·‚é‚©‚Ç‚¤‚©‚Ì•ñ‚ª—~‚µ‚¢Š‚Å‚·B(‚‚¢‚Å‚Éitem_db‚ÌC³‚à...‚±‚ê‚Å‹zŽûŒn‚ƃI[ƒgƒXƒyƒ‹ŒnˆÈŠO‚Í–w‚ÇŽÀ‘•‚Å‚«‚é‚Í‚¸‚Å‚·B‘½•ª...) +E‚»‚Ì‘¼‚ÍŠo‚¦‚Ä‚È‚¢‚¯‚ÇC³‚µ‚½Š‚ª­‚µ‚ ‚é‚©‚à... + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (db/) + const.txt C³B + (char/) + inter.c + inter_init() C³B + int_storage.c + mapif_parse_SaveStorage() C³B + (map/) + trade.c + trade_traderequest() C³B + pc.h C³B + pc.c + pc_autosave_sub()Apc_calcstatus() C³B + pc_bonus()Apc_bonus2() C³B + pc_setrestartvalue()Apc_setequipindex() C³B + pc_check_equip_wcard()Apc_check_equip_dcard()Apc_check_equip_card() íœ + ‚»‚Ì‘¼C³B + skill.h C³B + skill.c C³B + skill_castend_nodamage_id()Askill_unit_onplace() C³B + skill_check_condition()Askill_additional_effect() C³B + skill_attack()Askill_status_change_start() C³B + map.h C³B + battle.h C³B + battle.c + battle_get_def()Abattle_get_mdef2() C³B + battle_weapon_attack()Abattle_damage() C³B + battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pet_weapon_attack() C³B + battle_calc_misc_attack()Abattle_config_read() C³B + mob.c + mob_damage() C³B + pet.c + pet_target_check() C³B + clif.c + clif_set0078()Aclif_set007b()Aclif_changelook() C³B + atcommand.c C³B + +-------------- +//0675 by ”g˜Q + +EŠØŽI‚Å‘º³‚ÌŒø‰Ê‚ª•ÏX‚³‚ꂽ‚Ì‚Å•ñ‚ðŒ³‚Éitem_db.txt‚ðC³ +Ejob_db1.txt‚ðC³ + (db/) + item_db.txt + job_db1.txt + +-------------- +//0674 by npc + +Eƒtƒ@[ƒ}ƒV[‚̉¼ŽÀ‘•B + (db/) + produce_db.txt + (map/) + skill.c + +-------------- +//0673 by “ì + +EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by “ì + +EW’†—ÍŒüã‚É‘•”õ•i‚̕Ⳃª“ü‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ðC³B +@@@@@(map/)@@@ +@@@@@ pc.c + +-------------- +//0672 by ¹ + +Eƒ‚ƒ“ƒXƒ^[Œn‚̃oƒOC³(‚·‚Ý‚Ü‚¹‚ñA‚Ü‚¾Žc‚Á‚Ä‚Ü‚µ‚½(^^; ) + (map/) + mob.c + +-------------- +//0671 by ¹ + +EIDƒ`ƒFƒbƒN”͈͂ÌC³‘¼B +E@monster‚Å”‚ðŽw’肵‚È‚­‚Ăࢊ҂ł«‚é‚悤‚ÉC³B + (map/) + atcommand.c + battle.c + battle.h + mob.c + pet.c + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + +-------------- +//0670 by RR + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv—¦‚ðC³(–{ŽI€‹’ADB‚Å‚ÌÝ’è+1/10000)B +E—Ž‰º—¦‚O‚Éݒ肵‚½ƒAƒCƒeƒ€‚ð—Ž‚Æ‚·‚©‚Ç‚¤‚©‚ðbattle_athena.conf‚ÅÝ’è‰Â”\‚ÉB + (map/) + mob.c + mob_damage() C³B + battle.c + battle.h + (conf/) + battle_athena.conf + +-------------- +//0669 by ¹ + +Eƒ‚ƒ“ƒXƒ^[ƒhƒƒbƒv‚ÌC³B + (map/) + mob.c + mob_damage() C³B + +-------------- +//0668 by ¹ + +Eƒ‚ƒ“ƒXƒ^[ID‚͈̔̓`ƒFƒbƒN‚ðC³B + (map/) + mob.c + mob_dbAmob_once_spawn()Amob_once_spawn_area()A + mob_summonslave()Amob_read_randommonster()Amob_readdb() C³B + +-------------- +//0667 by Ž€_ + +EÅ‘åHPŒvŽZŽ®‚ðƒ~ƒXƒgƒŒ‘ƒ‚ðŽQl‚µ‚ÄC³B(‘½•ª‚±‚ê‚Å–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·B) +E–h‹ï‚̸˜Bƒ{[ƒiƒX‚ð0.7‚É•ÏXB(¡‚Í’[”‚ðŽlŽÌŒÜ“ü‚µ‚Ä‚¢‚Ü‚·‚ª–{ŽI‚ª’[”–³Ž‹‚È‚çC³‚µ‚Ä‚¨‚«‚Ü‚·B) +E@refineƒRƒ}ƒ“ƒh‚Å‘•”õêŠID‚É0‚ð“ü‚ê‚é‚Æ‘•”õ‚µ‚Ä‚¢‚é‘S‚Ä‚Ì‘•”õ‚ð¸˜B‚·‚é‚悤‚É•ÏXB +E‚»‚Ì‘¼×‚©‚¢C³B + (db/) + item_db.txt + 7140A7142‚ðŒ³‚É–ß‚µ‚Ä0666‚Ì•¨‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B + job_db1.txt C³B + refine_db.txt C³B + (map/) + mob.c + mob_once_spawn() C³B + itemdb.c + itemdb_read_randomitem() C³B + pet.c + pet_food() C³B + pc.c + pc_readdb()Ado_init_pc()Apc_calcstatus()Apc_setoption() C³B + pc_calc_sigma() ’ljÁB + ‚»‚Ì‘¼C³B + map.h C³B + battle.c + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + atcommand.c C³B + +-------------- +//0666 by ¹ + +Eƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€‚Ìׂ©‚¢C³B +Ebattle_athena.conf‚Ì€–ڒljÁB +EŒÃ–Ø‚ÌŽ}‚Å¢ŠÒ‚·‚郂ƒ“ƒXƒ^[‚ÌŠm—¦‚ðÝ’èo—ˆ‚é‚悤‚É‚µ‚Ü‚µ‚½B +Eƒ‚ƒ“ƒXƒ^[¢ŠÒƒAƒCƒeƒ€‚ð•¡”ì‚鎖‚ªo—ˆ‚é‚悤‚É‚µ‚Ü‚µ‚½B +E¢ŠÒƒAƒCƒeƒ€‚̃Tƒ“ƒvƒ‹‚Æ‚µ‚Ä +@¶–½‚ÌŽíŽq‚ðƒ|ƒŠƒ“Œn¢ŠÒA +@ƒGƒ“ƒuƒŠƒI‚ðMVPƒ{ƒXŒn¢ŠÒ‚É‚µ‚Ä‚Ý‚Ü‚µ‚½B +@‚ ‚Ü‚è‚¢‚¢ƒTƒ“ƒvƒ‹‚ðŽv‚¢‚‚©‚È‚©‚Á‚½‚Ì‚ÅA +@‰½‚©‚¢‚¢ˆÄ‚ðŽv‚¢‚‚¢‚½l‚Í‘‚«Š·‚¦‚Ä‚â‚Á‚Ä‚­‚¾‚³‚¢(^^; + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + (map/) + mob.h + mob_db C³B + mob.c + mob_once_spawn()Amob_makedummymobdb()Amob_readdb() C³B + mob_readbranch() -> mob_read_randommonster()‚É•ÏXB + battle.h + battle_config C³B + battle.c + battle_config_read() C³B + itemdb.c + itemdb_read_randomitem() C³B + (db/) + item_db.txt + item_bluebox.txt + item_cardalbum.txt + item_giftbox.txt + item_scroll.txt + item_violetbox.txt + mob_branch.txt + mob_poring.txt ’ljÁB + mob_boss.txt ’ljÁB + +-------------- +//0665 by J + +E‰…—ì•Žm‚ÌŽæ‚芪‚«‚ªƒJƒuƒL”EŽÒ‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðŽð“V‹ç‚ÉC³B +EƒIƒbƒg[‚ɃtƒFƒCƒNƒGƒ“ƒWƒFƒ‹‚ªo‚·‚Í‚¸‚ÌŽæ‚芪‚«‚ª‚‚¢‚Ä‚½‚Ì‚ðC³B + (db/) + mob_skill_db.txt + +-------------- +//0664 by ¹ + +E¸˜BŽ¸”sŽž‘¼‚̃vƒŒ[ƒ„[‚É‚àƒGƒtƒFƒNƒg‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³B + (map/) + script.c + buildin_failedrefitem() C³B + +-------------- +//0663 by lide + +Eƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒAC³ + (map/) + battle.c + skill.c + +-------------- +//0662 by Ž€_ + +Eׂ©‚¢C³‚ƃoƒOC³B +Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ă‚ƒ“ƒXƒ^[‚ÍæŽZ–hŒä‚ÆŒ¸ŽZ–hŒä‚ªŒ¸‚é‚悤‚ÉC³‚µ‚ăvƒŒƒCƒ„[‚ÍŒ¸ŽZ–hŒä‚¾‚¯Œ¸‚é‚悤‚ÉC³B +EƒXƒNƒŠƒvƒggetgmlevel’ljÁB‹@”\‚Í‚»‚ÌNPC‚Ƙb‚µ‚Ä‚¢‚éƒvƒŒƒCƒ„[‚ÌGMƒŒƒxƒ‹‚ð•Ô‚µ‚Ü‚·B +E0659‚Ì‘‚«–Y‚ê‚Å‚·‚ªƒyƒbƒg‚̃pƒtƒHƒ}ƒ“ƒX‚ÌŽí—Þ‚ªe–§“x‚É‚æ‚Á‚Ä‘‚¦‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B + (map/) + clif.c + pc.c + script.c + +-------------- +//0661 by Ž€_ + +Eׂ©‚¢C³B +EÚ‘±‚µ‚½Žž‚̃yƒbƒg‚̃ƒbƒZ[ƒW‚ðe–§“x‚ª‚«‚í‚ß‚Äe‚µ‚¢‚ÌŽž‚Ì‚Ý‚Éo‚é‚悤‚É•ÏXB +E0659‚Å‘‚«–Y‚ê‚Å‚·‚ªƒyƒbƒg‚ÌŽx‰‡UŒ‚‚Íe–§“x‚ª‚«‚í‚ß‚Äe‚µ‚¢‚ÌŽž‚Ì‚Ý‚É”­¶‚µ‚Ü‚·B(‚»‚ê‚Æe–§“x‚É‚æ‚Á‚ÄŽx‰‡UŒ‚Šm—¦‚ª­‚µ•Ï‰»‚µ‚Ü‚·B) +EƒWƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Ì—‘‚ÌID‚ðitem_db.txt‚ɇ‚킹‚Ü‚µ‚½B(Ž©•ª‚ªì‚Á‚½pet_db.txt‚Ì•û‚ªŽ©•ªŸŽè‚Éݒ肵‚Ä‚¢‚½•¨‚Å‚µ‚½‚Ì‚ÅB‚ÄŒ¾‚¤‚©–¢ŽÀ‘•ƒAƒCƒeƒ€‚¾‚©‚ç”Ô†‚ª‚í‚©‚ç‚È‚©‚Á‚½‚¾‚¯‚Å‚·‚ª...) +Epet_db.txt‚Ìattack_rate‚ª³‚µ‚­“K—p‚³‚ê‚È‚©‚Á‚½ƒoƒOC³B + (db/) + pet_db.txt + (map/) + clif.c + clif_parse_LoadEndAck() C³B + pc.c + pc_attack_timer() C³B + +-------------------- +//0660 by ‚¢‚Ç + +EƒT[ƒo[snapshot + +-------------- +//0659 by Ž€_ + +Eƒyƒbƒg‚ðFX‚ÆC³B(ƒyƒbƒg‚̃R[ƒh‚ð‚Ù‚Æ‚ñ‚Ç•Ï‚¦‚Ü‚µ‚½B) +EŽè“®“I‚¾‚Á‚½ƒyƒbƒg‚Ì“®‚«‚ðƒ‚ƒ“ƒXƒ^[‚̂悤‚ÉAI‚Æ‚µ‚Ĉ—B +EÚ‘±‚µ‚½Žž‚̃yƒbƒg‚̃ƒbƒZ[ƒWŽÀ‘•B(–{ŽI‚Í‚Ç‚¤‚È‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñ‚ª +Athena‚ÍÚ‘±‚·‚é‚Æ100%˜b‚·‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B) +Eƒyƒbƒg‚̃XƒyƒVƒƒƒ‹ƒpƒtƒHƒ}ƒ“ƒXŽÀ‘•B(‚½‚¾‘䎌‚ª‚¿‚å‚Á‚Æ•Ï‚Å‚·B‚¢‚­‚ç’T‚µ‚Ä‚àŠY“–‚·‚éƒpƒPƒbƒg‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅB) +Eƒyƒbƒg‚̑䎌‚𑼂̃yƒbƒg‚Ì•¨‚É•ÏX‚·‚é‹@”\’ljÁB(Ú‚µ‚¢‚±‚Æ‚Ídb_ref.txt‚Æpet_db.txt‚ÅB) +Eƒyƒbƒg‚É‚æ‚éŽx‰‡UŒ‚•ÏXBpet_db.txt‚ÅUŒ‚‚·‚鎞‚ÆUŒ‚‚ðŽó‚¯‚½Žž‚ÌŽx‰‡UŒ‚ +Šm—¦‚ð•ÊX‚ÉÝ’è‚Å‚«‚Ü‚·BUŒ‚‚·‚鎞‚Ìê‡UŒ‚‚·‚é“x‚Ƀ`ƒFƒbƒN‚ð‚µ‚Ü‚·‚Ì‚Å +UŒ‚‘¬“x‚ª‘¬‚¢‚ÆŽx‰‡UŒ‚‚ðŽó‚¯‚â‚·‚­‚È‚è‚Ü‚·BUŒ‚‚ðŽó‚¯‚½Žž‚à“¯‚¶‚Å‚·B(‚±‚¿‚ç‚̓_ƒ[ƒW‚ð‹ò‚炤“x‚É‚È‚è‚Ü‚·‚ªB) Žx‰‡UŒ‚Šm—¦‚̓\ƒq[AƒWƒ‹ƒ^ƒXAƒAƒŠƒX‚¾‚¯Ž©•ªŸŽè‚Éݒ肵‚Ä‚¢‚Ü‚·B(‘¼‚Ì‚Í‘S•”1%‚ÉBƒyƒbƒg‚ÌŽx‰‡UŒ‚‚Í“¯‚¶ƒ‚ƒ“ƒXƒ^[‚É‚Í‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚»‚µ‚ăyƒbƒg‚Ì퓬”\—͂̓‚ƒ“ƒXƒ^[‚Æ“¯‚¶‚Å‚·B) +E/hideƒRƒ}ƒ“ƒhŽÀ‘•B +Eƒvƒƒ{ƒbƒN‚É‚æ‚Á‚ÄæŽZ–hŒä‚àŒ¸‚é‚悤‚ÉC³B +EƒtƒŠ[ƒLƒƒƒXƒg‚̃oƒOC³B +Eƒm[ƒrƒX‚̃Xƒe[ƒ^ƒXƒ{[ƒiƒXíœB +Ebattle_athena.conf‚Ì€–ڒljÁ‚ÆíœB +EC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯B–¢ƒeƒXƒg‚µ‚½•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + (conf/) + battle_athena.conf + (doc/) + conf_ref.txt + db_ref.txt ’ljÁB(¡à–¾‚ª“ü‚Á‚Ä‚¢‚é‚Ì‚Ípet_db.txt‚Ì‚Ý‚Å‚·B ) + client_packet.txt + (db/) + pet_db.txt + job_db2.txt + (map) + clif.h + clif.c + map.h + map.c + pet.h + pet.c + pc.c + mob.h + mob.c + npc.c + atcommand.c + skill.c + battle.h + battle.c + +-------------- +//0658 by huge + +Eƒyƒbƒg‚ª‚Æ‚Ç‚ß‚ð‚³‚·‚ÆAŽ”‚¢Žå‚ÉŒoŒ±’l‚ª“ü‚é‚悤‚É‚µ‚Ü‚µ‚½B +EŒÅ’è’lƒ_ƒ[ƒW‚¶‚á–¡‚ª–³‚¢‚Ì‚ÅATK1`ATK2‚ÌŠÔ‚Å—”‚ðŽæ‚é‚悤‚É‚µ‚Ü‚µ‚½B +E‚ ‚ÆAƒyƒbƒg‚ª‚Æ‚Ç‚ß‚ð‚³‚·‚©‚Ç‚¤‚©‚ÌÝ’è‚ðAbattle_athena.conf‚ɉÁ‚¦‚Ü‚µ‚½B + + (conf/) + battle_athena.conf pet_finish’ljÁB + (map/) + battle.c + battle_config_read() C³B + battle.h C³B + pet.c + pet_attack() C³B + (doc/) + conf_ref.txt à–¾’Ç‹LB + +-------------- +//0657 by huge + +Eƒyƒbƒg‚É‚æ‚éUŒ‚‚ðŽÀ‘•B +Eƒyƒbƒg‚ðŽ‚Á‚Ä‚¢‚ÄAƒyƒbƒg‚ª‘•”õ•i‚ð‚‚¯‚Ä‚ÄA‚³‚ç‚Ƀ‰ƒ“ƒ_ƒ€‚É‚æ‚é”»’è‚Å”­“®‚µ‚Ü‚·B +E‚½‚¾‚Ì—V‚ÑS‚Å‚·‚— +Ebattle_athena.conf‚Å•p“x‚ðÝ’è‚Å‚«‚Ü‚·BÚׂÍdoc‚ÅB + + (conf/) + battle_athena.conf pet_attack’ljÁB + + (map/) + battle.c + battle_config_read() C³B + battle.h C³B + pc.c + pc_attack_timer() C³B + pet.c + pet.h + pet_attack() ’ljÁB + (doc/) + conf_ref.txt à–¾’Ç‹LB + + ‚Æ‚è‚ ‚¦‚¸Aƒyƒbƒg‚ª“®‚¢‚Ä‚é‚È‚Ÿ‚Á‚ÄŠ´‚¶‚ÆAƒ_ƒ‰ñ”‚ð‘‚₵‚½’ö“x‚Å‚·B + +-------------- +//0656 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³B(‚¨‚¢‚¨‚¢‰½“x–Ú‚¾...) +EƒOƒ‰ƒ“ƒhƒNƒƒXŒvŽZŽ®ŠÔˆá‚¢‚ÅC³B(€3‚ª‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B) +‚Å‚à‚Ü‚¾”½ŽËƒ_ƒ[ƒW‚ª‚Ý‚·‚Ƃꑃ‚æ‚è‚¿‚å‚Á‚Æ‚‚¢‚Å‚·B(10‚®‚ç‚¢‚¾‚©‚ç +ŠÖŒW‚È‚¢‚©‚à) +Eƒ‚ƒ“ƒN‚Ì‹C‹…‚ð•K’†‚ÉC³B(Ž©•ª‚̊ԈႢ‚̂悤‚Å‚·‚Ì‚Å...) + (map/) + skill.c C³B + battle.c C³B + +-------------- +//0655 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³B +EŽ©•ª‚È‚è‚Éî•ñ‚ðŽûW‚µ‚Ä‚Ý‚½Œ‹‰ÊƒOƒ‰ƒ“ƒhƒNƒƒX”½ŽËƒ_ƒ[ƒW‚Í +ƒvƒŒƒCƒ„[ƒLƒƒƒ‰‚ª‚»‚̃Lƒƒƒ‰Ž©g‚ɃOƒ‰ƒ“ƒhƒNƒƒX‚ðŽg‚Á‚½Žž‚Ì +ƒ_ƒ[ƒW‚¾‚»‚¤‚È‚Ì‚ÅC³‚µ‚Ü‚µ‚½B(‚Ý‚·‚Ƃꑃ‚ÌŒvŽZ‚Æ‚Í‚©‚È‚èˆá‚¤‚悤‚È +‹C‚à‚µ‚Ü‚·‚ª...) +E–‚–@‚ƃgƒ‰ƒbƒvA‘é‚ÌUŒ‚‚É‚à‘®«‘Ï«‚ÆŽí‘°‘Ï«‚ð“K—p‚·‚é‚悤‚ÉC³B +(–{ŽI‚ÌŽd—l‚É‚ ‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·‚ª“K—p‚µ‚½•û‚ª³‚µ‚¢‚ÆŽv‚Á‚½‚Ì‚Å +C³‚µ‚Ü‚µ‚½B) + (map/) + skill.c C³B + map.h C³B + battle.c C³B + +-------------- +//0654 by Ž€_ + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌC³‚Æׂ©‚¢C³B(ŒvŽZŽ®ŠÔˆá‚¢‚ÅC³B) +E0653‚Å‘‚«–Y‚êB‹CŒ÷‚É‚æ‚é’ljÁƒ_ƒ[ƒW‚Í•K’†‚Å‚Í‚È‚¢‚炵‚¢‚Ì‚Å +C—û‚̉ÁŽZ‚Æ“¯‚¶Š‚ÉŒvŽZ‚·‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +EƒJ[ƒg‚ɃoƒO‚ª‚ ‚è‚»‚¤‚¾‚Á‚½‚Ì‚Å‚¿‚å‚Á‚ÆC³B +Eƒ_ƒ[ƒWŒvŽZ‚ð‚Ù‚ñ‚Ì­‚µC³B(ƒ_ƒ[ƒW—Ê‚ª•Ï‚í‚Á‚½‚è‚Í‚µ‚Ü‚¹‚ñB) + (map/) + battle.c + battle_calc_magic_attack() C³B + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + skill.c + pc_damage_feedback() -> skill_damage_feedback()‚É•ÏXB + skill_unit_timer() C³B + pc.c + pc_setoption() C³B + atcommand.c C³B + +-------------- +//0653 by Ž€_ + +E0652‚ÌC³‚Æׂ©‚¢C³B¡‚Ü‚Å’Ê‚è–¢ƒeƒXƒg‚à‘½‚¢‚Å‚·B +EƒOƒ‰ƒ“ƒhƒNƒƒX‚̈—C³B(–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ÌŽ©g‚Í‚ ‚è‚Ü‚¹‚ñB) +ƒ‰ƒOƒi[ƒQ[ƒg‚Ìà–¾‚É‚æ‚é‚ÆŽn‚ß‚ÉŒ»ÝHP‚Ì20%‚ªÁ–Õ‚³‚ê‚Ä‚»‚ÌŒã“G‚É—^‚¦‚½ +ƒ_ƒ[ƒW‚Ì’†‚ňê”Ô‚‚¢•¨‚ª–ß‚Á‚Ä‚­‚é‚悤‚Å‚·B‚»‚µ‚Ä‚»‚Ì–ß‚Á‚Ä‚«‚½ +ƒ_ƒ[ƒW‚͹‚Ì‘®«‚ðŽ‚¿ƒgƒ‰ƒXƒg‚É‚æ‚Á‚Ĺ‚Ì‘Ï«‚ª50%‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Å +”¼•ª‚ð‹ò‚炤‚±‚Æ‚É‚È‚é‚悤‚Å‚·B(¹‚̑ϫオ‚é‘•”õ‚ð‚µ‚Ä‚¢‚ê‚Ζ߂Á‚Ä‚­‚é +ƒ_ƒ[ƒW‚͎󂯂Ȃ¢‚悤‚Å‚·B) +–â‘è‚Ȃ̂̓vƒŒƒCƒ„[‚Ì–hŒä‘®«‚ðŒvŽZ‚·‚é‚©‚Ç‚¤‚©‚Å‚·B¡‚Í–hŒä‘®«ŒvŽZ‚Ì +Œã‚Ź‚Ì‘®«‚ðŒvŽZ‚µ‚Ä‚¢‚Ü‚·B‚»‚µ‚Ä–ß‚Á‚Ä‚­‚éƒ_ƒ[ƒW‚ÍHPƒo[‚ÍŒ¸‚邯‚Ç +•\Ž¦‚Í‚³‚ê‚Ü‚¹‚ñB–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚©•s–¾‚È‚Ì‚Å... +‚»‚ê‚ƈꉞƒ‚ƒ“ƒXƒ^[‚àƒOƒ‰ƒ“ƒhƒNƒƒX‚ÌŽg—p‚ª‰Â”\‚Å‚·B‚½‚¾ƒ‚ƒ“ƒXƒ^[‚Ìê‡ +Œ»ÝHP‚Ì20%Á–Õ‚ÌŒã‚̃_ƒ[ƒW‚͎󂯂܂¹‚ñB(ƒ‚ƒ“ƒXƒ^[‚ªŽg‚¤ +ƒOƒ‰ƒ“ƒhƒNƒƒX‚̃eƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB) +Eƒ_ƒ[ƒW‚É‚æ‚éƒfƒBƒŒƒC’†‚É‚Ü‚½ƒfƒBƒŒƒC‚ª‚©‚©‚ç‚È‚¢‚悤‚ÉC³B(‘債‚½ˆÓ–¡‚Í‚È‚¢‚©‚à...) +E’l’i‚ªƒ[ƒ‚̃AƒCƒeƒ€‚à”„‚ê‚é‚悤‚É•ÏXB +E@ƒRƒ}ƒ“ƒhheal‚̈—­‚µC³B +EˆÚ“®ƒR[ƒh­‚µC³B + (map/) + clif.c + clif_selllist() C³B + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_magic_attack()Abattle_calc_misc_attack() C³B + skill.c + skill_additional_effect()Askill_unit_onplace() C³B + skill_status_change_start()Askill_unit_onplace() C³B + skill_castend_damage_id()Askill_castend_id()Askill_attack() C³B + skill_unitsetting()Askill_check_condition() C³B + skill_use_id()Askill_use_pos() C³B + npc.c + npc_parse_script() C³B + pc.h C³B + pc.c + pc_walk()Apc_walktoxy_sub()Apc_stop_walking() C³B + map.h C³B + mob.h C³B + mob.c + mob_stop_walking()Amob_changestate()Amob_walk() C³B + pet.c + pet_changestate() C³B + atcommand.c C³B + (db/) + skill_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B + cast_db.txt ƒOƒ‰ƒ“ƒhƒNƒƒXC³B + +-------------- +//0652 by ŒŽ‰r‚Ý + +EƒOƒ‰ƒ“ƒhƒNƒƒX‚ð‰¼ŽÀ‘• + (db/) + skill_db.txt + cast_db.txt + (map/) + battle.c + Damage battle_calc_misc_attack + Damage battle_calc_magic_attack + skill.c + skill_additional_effect + skill_castend_damage_id + skill_castend_pos2 + skill_unit_group *skill_unitsetting + skill_unit_onplace + skill_check_condition + +-------------- +//0651 by ”g˜Q + +Eitem_db.txt‚ðC³ + (db/) + item_db.txt + ‘•”õ•i‚̃AƒCƒeƒ€Œø‰Ê‚ðC³ + +-------------- +//0650 by Ž€_ + +EŽO’i¶‚Ì”­“®ðŒ‚ð‹|‚Æ“ñ“—¬ˆÈŠO‚É•ÏXB +E•\Ž¦‚ð‚¹‚¸‚É“à•”‚ň—‚¾‚¯‚·‚éNPC‚ÌCLASS‚ð111‚©‚ç32767‚É•ÏXB +Eׂ©‚¢C³B + (map/) + clif.c + clif_getareachar_npc()Aclif_spawnnpc()Aclif_pcoutsight() C³B + npc.h C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + +-------------- +//0649 by ”g˜Q + +EDB‚ÆDOCC³ + (db/) + item_db.txt + ƒOƒ“ƒOƒj[ƒ‹‚ÍLV4•Ší‚È‚Ì‚ÅAŠØ‘‚̃f[ƒ^‚É‚ ‚킹‚Ä•—‘®«‚Å‚Í‚È‚­‚µ‚Ü‚·B + mob_db.txt + size_fix.txt + ŠyŠí‚Í‘åŒ^‚ɑ΂µ‚Ä75%‚¾‚»‚¤‚Å‚·B + (doc/) + item_bonus.txt + +-------------- +//0648 by Ž€_ + +EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚ÆŽI‚ª—Ž‚¿‚é–â‘èC³B(itemdb‚̉Šú‰»‚ðnpc‚æ‚è +æ‚É‚·‚é‚悤‚É•ÏXB) ‚»‚ꂾ‚¯‚Å‚·B + (map/) + map.c + do_init() + +-------------- +//0647 by nini + +Eitem_dbC³ +EƒXƒiƒbƒ`ƒƒ[Žd—l•ÏXB‹|ˆÈŠO‚Ì‚·‚ׂĂ̕Ší‚Åo‚é‚悤‚É‚È‚Á‚Ä‚Ü‚·B + (/map/) + battle.c + ŽO’i¶‚Ì”­“®ðŒ’ljÁ + skill.c + ƒXƒiƒbƒ`ƒƒ[‚Ì”­“®ðŒ’ljÁ + (/db/) + item_db.txt + ƒVƒ‹ƒNƒnƒbƒg‚ÉSP㸒ljÁ + +-------------- +//0646 by last + +Eitem_db.txt‚ÌC³(‘®«ŠÖ˜A) + (/db/) + item_db.txt + +-------------- +//0645 by ‚é‚é‚éi•ree_ronj + +Eitem_value_db.txt‚ɃfƒBƒXƒJƒEƒ“ƒg•ƒI[ƒo[ƒ`ƒƒ[ƒW“™‚̃XƒLƒ‹‚É‚æ‚鉿Ši•Ï“®‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚̃tƒ‰ƒOƒƒ“ƒg‚ð’ljÁB +@ŽÀÛ‚ÌŒ`Ž®‚̓Tƒ“ƒvƒ‹‚Æ‚µ‚Ä—pˆÓ‚µ‚½item_value_db.sample.txt‚ðŒ©‚Ä‚­‚¾‚³‚¢Biݒ艿Ši‚ÍŠ®‘S‚É“Æ’f‚Æ•ÎŒ©‚Å‚·j +@“¯—l‚̃Tƒ“ƒvƒ‹‚Æ‚µ‚Ä‚m‚o‚bÝ’uƒXƒNƒŠƒvƒg‚à“Y•t‚µ‚Ä‚¨‚«‚Ü‚·B +Eitem_value_db.txt‚̃AƒCƒeƒ€‰¿ŠiÝ’è‚ÅA”„’l‚Æ”ƒ’l‚ÌÝ’è‚ð“Æ—§Biitem_db.txt‚Í]—ˆ‚Ç‚¨‚蔃’l‚Í”„’l‚Ì”¼Šz‚Æ‚µ‚ÄŽ©“®ˆ—j +E‚m‚o‚bƒVƒ‡ƒbƒv‚É‚ÄA‚P‚m‚o‚b‚ňµ‚¦‚éƒAƒCƒeƒ€”‚ðÅ‘å64‚©‚çÅ‘å100‚É•ÏXBiƒNƒ‰Ž©‘Ì‚Í120‚®‚ç‚¢‚܂ʼn”\‚Å‚·‚ªj + (/db) + item_value_db.txt + ƒJƒ‰ƒ€”‚ð®—‚µ‚½‚¾‚¯‚Å‚·B“à—e‚Í‚Ü‚Á‚½‚­•ÏX‚µ‚Ä‚¢‚Ü‚¹‚ñB + (/map/) + clif.c + clif_buylist() clif_selllist() •ÏX + itemdb.h + item_data \‘¢‘Ì•ÏX + itemdb_value_buy() itemdb_value_sell() itemdb_value_notdc() itemdb_value_notoc() ƒ}ƒNƒ’ljÁ + itemdb.c + itemdb_search() itemdb_readdb() itemdb_read_itemvaluedb() •ÏX + itemdb_sellvalue() íœ + npc.c + npc_buylist() npc_selllist() npc_parse_shop() •ÏX + (/sample/) + ƒIƒ}ƒP‚Å‚·BŽŸ‰ñSnapShot‚É‚ÍŠÜ‚Ü‚È‚¢‚Å‹X‚µ‚¢‚Å‚·B + +ƒRƒƒ“ƒg +Œ´Œ^‚ÍŽ„‚Ì—Flree_ron‚ªs‚¢AŽ„‚ªX‚Éׂ©‚¢ƒ~ƒX‚𒼂µ‚½‚¾‚¯‚Å‚·‚ªAƒeƒXƒg‚Í‚µ‚Ü‚µ‚½‚Ì‚Å‘åä•v‚Å‚µ‚傤B +Œ³X‚±‚̈—‚𓱓ü‚·‚é——R‚Æ‚µ‚ÄA“Á’èƒAƒCƒeƒ€‚Ì”„’l‚ª1zŒÅ’è‚É‚Å‚«‚È‚¢‚à‚Ì‚©A‚Æ‚¢‚¤“_‚¾‚Á‚½‚©‚ç‚Å‚·B +‚»‚µ‚Ä‚â‚Á‚Ä‚¢‚­‚¤‚¿‚ÉA‚m‚o‚bƒVƒ‡ƒbƒv‚ð—˜—p‚µ‚½ƒŒƒAƒAƒCƒeƒ€‚̔̔„‚Æ‚©‚Å–{ŽI˜I“X‚É‹ß‚¢‚±‚Æ‚ªo—ˆ‚é‚Ì‚Å‚Í‚È‚¢‚©A +‚Æ‚¢‚¤‚±‚Æ‚ª”»‚Á‚Ä‚«‚½‚킯‚Å‚·B +‚»‚ê‚ňꉞ‚̓f[ƒ^‚ð—pˆÓ‚µ‚Ü‚µ‚½‚ªA‚ ‚­‚Ü‚Å‚àƒTƒ“ƒvƒ‹‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚­‚¾‚³‚¢B‚à‚µ‰Â”\‚È‚ç‚ÎA +‚³‚ç‚ÉC³‚ð‰Á‚¦‚ăAƒeƒi“ÆŽ©‚Æ‚µ‚Ä–{Ì—p‚Æ‚µ‚½ƒf[ƒ^‚ðƒpƒbƒ`ƒAƒbƒv‚µ‚Ä‚­‚ê‚ê‚΂ƂàŽv‚¢‚Ü‚·‚ª‚— + + +-------------- +//0644 by nini + +EDB‚̊ԈႢA643‚ŒljÁ‚³‚ꂽƒXƒNƒŠƒvƒg’ljÁB + (/db/) + item_db.txt + cast_db.txt + ƒ`ƒƒ[ƒWƒAƒ[‚̃LƒƒƒXƒg’ljÁB + exp_guild.txt + 46-50‚Ü‚Å‚Ìexp”²‚¯‚ɒljÁB + size_fix.txt + ŠyŠíA•ÚAƒiƒbƒNƒ‹‚̃TƒCƒY•â³C³B + +-------------- +//0643 by Ž€_ + +EFX‚ÆC³B +EbMVPaddAtkRateíœBbAddRace‚ň—‚·‚é‚悤‚É•ÏXB +EbIgnoreDefEle‚ÆbIgnoreDefRace’ljÁB +bonus bIgnoreDefEle,n; n‘®«‚Ì“G‚Ì–hŒä–³Ž‹ +bonus bIgnoreDefRace,n; nŽí‘°‚Ì“G‚Ì–hŒä–³Ž‹ +EbMatkRate’ljÁB–‚–@UŒ‚—Í‚ð+n%ã‚°‚Ü‚·B‚æ‚Á‚Äbattle.c‚ÅŒvŽZ‚µ‚Ä‚¢‚½ƒƒbƒh‚É‚æ‚é–‚–@UŒ‚—Í‘•‚ÌŒvŽZ‚Í‚È‚­‚µ‚Ü‚µ‚½BƒXƒe[ƒ^ƒX‰æ–Ê‚Éオ‚Á‚½”’l‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñBƒ_ƒ[ƒWŒvŽZ‚ÌŽž‚É“K—p‚µ‚Ä‚¢‚Ü‚·B +EbCriticalDef‚É-‚ð“ü‚ê‚é‚ƃNƒŠƒeƒBƒJƒ‹‚ð‹ò‚炤Šm—¦‚ªã‚ª‚é‚悤‚É•ÏXB +ENPC”Ô†111‚Í“§–¾NPC‚Å‚·‚ª—Ž‚Æ‚µŒŠ“™‚Ì‚±‚Æ‚ðl‚¦‚Ä•\Ž¦‚ðˆêØ‚¹‚¸‚É +“à•”‚ň—‚¾‚¯‚·‚é‚悤‚É•ÏXB(flag‚ðŽg‚¤‚Ɖ½‚Æ‚©‚È‚è‚»‚¤‚Å‚·‚ª‚»‚Ì +ˆ—‚ª‘S‘R‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“§–¾NPC‚ɃNƒŠƒbƒN‚â–¼‘O‚Ì•\Ž¦‚à‚Å‚«‚È‚¢‚悤‚É•ÏX‚µ‚Ü‚µ‚½B) +EƒVƒ‡ƒbƒv‚Ì’l’i‚É-‚ð“ü‚ê‚é‚Æitem_db.txt‚à‚µ‚­‚Íitem_value_db.txt‚Ì•¨‚ðŽg‚¤‚悤‚É•ÏXB +EƒXƒLƒ‹ƒ‹ƒAƒt‚̃GƒtƒFƒNƒg‚ªƒTƒCƒg‚Æ“¯‚¶‚¾‚Á‚½‚Ì‚ÅC³B‚‚¢‚łɃ‹ƒAƒt‚Ì +ƒ_ƒ[ƒW‚àC³B +E‚Ý‚·‚Ƃꑃ‚É‚æ‚é‚ƃ‚ƒ“ƒXƒ^[î•ñ‚Å•\Ž¦‚³‚ê‚é–hŒä‚Æ–‚–@–hŒä‚ÍæŽZ‚Å‚Í‚È‚­Œ¸ŽZ‚Ý‚½‚¢‚È‚Ì‚ÅC³B +E‘¼—Í–{Šè‚Å‚·‚ªitem_db.txt‚ÌC³‚ð‚¨Šè‚¢‚µ‚Ü‚·B(‘S‚Ẵƒbƒh‚Ébonus bMatkRate,15; ‚ð“ü‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·B‚»‚Ì‘¼‚ÌC³‚à•K—v‚Å‚·B) +EƒeƒXƒg‚µ‚Ä‚¢‚È‚¢•¨‚à‚©‚È‚è‚ ‚è‚Ü‚·‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B + (map/) + map.h C³B + map.c + map_quit() C³B + pc.h C³B + pc.c + pc_walk()Apc_stop_walking()Apc_setpos()Apc_authok() C³B + pc_calcstatus()Apc_bonus()Apc_natural_heal_sub() C³B + npc.h C³B + npc.c + npc_touch_areanpc()Anpc_parse_shop() C³B + clif.c + clif_quitsave()Aclif_getareachar_npc()Aclif_spawnnpc() C³B + clif_skill_estimation() C³B + battle.c + battle_calc_magic_attack()Abattle_calc_pc_weapon_attack() C³B + battle_calc_mob_weapon_attack() C³B + mob.c + mobskill_use() C³B + skill.c + skill_status_change_end()Askill_status_change_timer() C³B + skill_status_change_start() C³B + (db/) + const.txt C³B + (doc/) + item_bonus.txt C³B + +-------------- +//0642 by Ž€_ + +E‘•”õƒoƒOC³B(‚»‚ꂾ‚¯) + (map/) + pc.c + pc_authok()Apc_checkitem() C³B + +-------------- +//0641 by Ž€_ + +EbAspdRate‚ÆbSpeedRate‚̃oƒOC³B(‚»‚ꂾ‚¯)0640‚ÅŒvŽZ‚ð‚¿‚å‚Á‚Æ•Ï‚¦‚ÄŒ©‚Ü‚µ‚½‚ª‚»‚ꂪ‚Ü‚¸‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B¡“x‚àŒvŽZŽ®‚ð•Ï‚¦‚Ü‚µ‚½‚ª‚à‚¤‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·B(‘½•ª) + (map/) + pc.c + pc_calcstatus()Apc_bonus()Apc_delitem() + +-------------- +//0640 by Ž€_ + +EƒoƒOC³‚Æ­‚µC³B +E‚Ý‚·‚Ƃꑃ‚ðŽQl‚µ‚ă_ƒ[ƒWŒvŽZ‚ð­‚µC³B +Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚Å) +EƒLƒƒƒ‰‚ÌHP‚ÆSP‚ð2byte‚©‚ç4byte‚É•ÏXB(ƒeƒXƒg‚Í‚µ‚Ä‚¢‚Ü‚·‚ªƒoƒO‚ªo‚é +‰Â”\«‚à‚©‚È‚è‚ ‚è‚Ü‚·B‚½‚¾ƒLƒƒƒ‰ƒZƒŒƒNƒg‰æ–Ê‚ÅHP‚âSP‚ª32768‚ð‰z‚¦‚鎞 +•\Ž¦‚Í32768‚ɂȂ邯‚Ç“à•”‚̈—‚ͳí‚É“®‚«‚Ü‚·‚Ì‚Å‚»‚ê‚̓oƒO‚Å‚Í‚ ‚è‚Ü‚¹‚ñB +ƒpƒPƒbƒg‚Ì’·‚³‚Ì‚¹‚¢‚Å‚»‚êˆÈŠOŽè’i‚ª‚È‚©‚Á‚½‚Ì‚Å...) +EbCriticalDef(ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢Šm—¦+n%)‚̈—•ÏXB100‚É‚·‚ê‚Î +ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢‚悤‚É‚È‚è‚Ü‚·B) +EbInnerAtk‚ðbBaseAtk‚É•ÏXB‚Ý‚·‚Ƃꑃ‚ŃJ[ƒh‚ÌUŒ‚‚ÍŠî–{UŒ‚—Í‚Ì•û‚É‘«‚³‚ê‚é‚Æ‚ ‚è‚Ü‚µ‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½B¡“x‚Íオ‚Á‚½UŒ‚—Í‚ª•\Ž¦‚³‚ê‚Ü‚·B +EbDoubleRate‚̈—•ÏXBŠm—¦‚ð‘«‚³‚¸‚Ɉê”Ô‚‚¢•¨‚¾‚¯“K—p‚µ‚Ü‚·B‚»‚ê‚ƶŽè +‘•”õ‚Ìꇖ³Ž‹‚·‚é‚悤‚É•ÏX‚µ‚Ü‚½B(¶Žè‚̓_ƒuƒ‹‚ª“K—p‚³‚ê‚Ü‚¹‚ñ‚Ì‚Å) +EbDoubleAddRate’ljÁB‹@”\‚̓_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦+n%(•Ší–³Ž‹)‚Å‚·B +¶Žè‘•”õ‚Í–³Ž‹‚³‚ê‚Ü‚·B +E0635‚ÅUŒ‚—Í•\Ž¦‚ð–{ŽI‚É‚ ‚킹‚Ü‚µ‚½B‚»‚µ‚Ä¡“x‚Í‹|‚¾‚¯‚Å‚Í‚È‚­ +ŠyŠí‚ƃ€ƒ`‚àdex‚É‚æ‚Á‚ÄUŒ‚—Í‚ªã‚ª‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½B +E‘•”õ‚µ‚½•Ší‚ªÁ‚¦‚éƒoƒOC³‚ׂ̈ɭ‚µC³‚Í‚µ‚Ü‚µ‚½‚ª–{“–‚É +‘åä•v‚È‚Ì‚©‚Í•s–¾‚Å‚·B•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + (conf/) + battle_athena.conf C³B + (db/) + const.txt C³B + item_db.txt C³B + (doc/) + item_bonus.txt C³B + conf_ref.txt C³B + (map/) + map.h C³B + pc.c + pc_calcstatus()Apc_bonus()Apc_equipitem() C³B + battle.h C³B + battle.c + battle_calc_mob_weapon_attack()Abattle_calc_pc_weapon_attack() C³B + battle_config_read() C³B + clif.c + clif_updatestatus()Aclif_parse_LoadEndAck()Aclif_party_hp() C³B + (common/) + mmo.h C³B + (char/) + char.c + mmo_char_send006b()Aparse_char() C³B + +-------------- +//0639 by ŒÓ’±—– + +Eladmin‚ÌC³‚È‚Ç + Eƒvƒƒ“ƒvƒg‚Ì“ü—Í‚ÉTerm::ReadLine‚ðŽg‚¤‚悤‚É‚µ‚½ + @i“ü—Í—š—ð‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì•ÒW‚ª‰Â”\‚Éj + EPOSIXŠÖŒW‚̈—‚Ì—áŠOƒGƒ‰[‚ðƒgƒ‰ƒbƒv‚·‚é‚悤‚É‚µ‚Ü‚µ‚½ + @iPOSIX‚ª‘S‚­Žg‚¦‚È‚¢ŠÂ‹«‚Å‚àÅ’áŒÀA“®‚­‚悤‚É‚È‚Á‚½‚©‚à‚µ‚ê‚È‚¢j + Eו”C³ + + (tool/) + ladmin + Ver.1.04‚ÉB + +EMODƒo[ƒWƒ‡ƒ“‚ª‚¨‚©‚µ‚¢–â‘è‚ðC³ + (common/) + version.h + ATHENA_MOD_VERSION‚ª‚Wi”‚Å‹Lq‚³‚ê‚Ä‚¢‚é–â‘è‚ðC³ + ”Žš‚Ì“ª‚É0‚ð‚‚¯‚é‚Æ‚Wi”‚É‚È‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢ + +-------------- +//0638 by ”g˜Q + +E0635E0637‚ÅV‚µ‚­ƒAƒCƒeƒ€Œø‰Ê‚ªŽÀ‘•‚³‚ꂽ‚Ì‚ÅA‚»‚ê‚É”º‚Á‚Äitem_db.txt‚ðC³ +Eitem_bonus.txt‚ðC³ + (db/) + item_db.txt C³ + (doc/) + item_bonus.txt C³ + +-------------- +//0637 by Ž€_ + +E0635‚̃oƒOC³B +Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚ðŒ©‚Ä‚­‚¾‚³‚¢B) +EŽžŠÔ‚ª’x‚·‚¬‚Ä0635‚Åà–¾‚µ‚Ä‚È‚©‚Á‚½‚Å‚·B(Q•s‘«‚¾‚Á‚½‚Ì‚Å...) +‚Ü‚¸Žd—l‚ª•Ï‚í‚Á‚½‚Ì‚Í“ñ“—¬‚̃_ƒ[ƒW‚ð•Ší•Ê‚ÉŠ®‘S‚É•ª‚¯‚Äs‚¤‚悤‚É +•ÏX‚ƃAƒTƒVƒ“‚¶‚á‚È‚­‚ĂඎèC—û‚ðŠo‚¦‚Ä‚¢‚ê‚Γñ“—¬‚ðŽg‚¦‚é‚悤‚É +•ÏX‚µ‚Ü‚µ‚½B‚»‚ê‚ƃ_ƒ[ƒW‚ÌŒvŽZ‚ð‚¿‚å‚Á‚ÆC³B +‚»‚µ‚Äbonus‚ɒljÁ‚³‚ꂽ‚Ì‚Í +bonus bInnerAtk,n; “à•”UŒ‚—Í+n +ƒJ[ƒh‚̈ø‚«ã‚°ƒ_ƒ[ƒW—p‚Å‚·B•\Ž¦‚Í‚³‚ê‚È‚¢‚¯‚ǃ_ƒ[ƒW‚ÉŒvŽZ‚³‚ê‚Ü‚·B +bonus bSpeed,n; ˆÚ“®‘¬“x+n +ˆÚ“®‘¬“x‚ðnã‚°‚Ü‚·B +bonus bAspd,n; UŒ‚‘¬“x+n +UŒ‚‘¬“x‚ðnã‚°‚Ü‚·B +bonus bSpeedRate,n; ˆÚ“®‘¬“x+n% +ˆÚ“®‘¬“x‚ðn%ã‚°‚Ü‚·B +bonus bAspdRate,n; UŒ‚‘¬“x+n% +UŒ‚‘¬“x‚ðn%ã‚°‚Ü‚·B +bonus bHPrecovRate,n; HPŽ©“®‰ñ•œ—¦+n% +Ž©“®‰ñ•œ‚·‚éHP‚Ì—Ê‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ñ•œ‚ɂ͉e‹¿‚ª‚ ‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚Æ‚ ‚Á‚Ä‚¢‚é‚©‚Í•s–¾‚Å‚·B +bonus bSPrecovRate,n; SPŽ©“®‰ñ•œ—¦+n% +Ž©“®‰ñ•œ‚·‚éSP‚Ì—Ê‚ðn%ã‚°‚Ü‚·BƒXƒLƒ‹‚É‚æ‚é‰ñ•œ‚ɂ͉e‹¿‚ª‚ ‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚Æ‚ ‚Á‚Ä‚¢‚é‚©‚Í•s–¾‚Å‚·B +bonus bCriticalDef,n; ƒNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚í‚È‚¢Šm—¦+n% +ƒNƒŠƒeƒBƒJƒ‹‚Ì‘Ï«‚ðnã‚°‚Ü‚·B10000ˆÈã‚É‚·‚é‚ƃNƒŠƒeƒBƒJƒ‹‚ð‹ò‚ç‚¢‚Ü‚¹‚ñB +bonus bMVPaddAtkRate,n; MVPƒ‚ƒ“ƒXƒ^[‚Én%‚̒ljÁƒ_ƒ[ƒW +ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚Én%‚̒ljÁƒ_ƒ[ƒW‚ð—^‚¦‚Ü‚·B[•£‚Ì‹RŽmƒJ[ƒh—pB +bonus bNearAtkDef,n; ‹ß‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚ç‚· +‘S‚Ä‹ß‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚炵‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚𜂭) +bonus bLongAtkDef,n; ‰“‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚ç‚· +‘S‚ĉ“‹——£UŒ‚‚̃_ƒ[ƒW‚ðn%‚ÌŒ¸‚炵‚Ü‚·B(–‚–@‚ƃgƒ‰ƒbƒvA‘é‚𜂭) +bonus bDoubleRate,n; ƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦+n%(•Ší–³Ž‹) +•Ší‚ÉŠÖŒW‚È‚­”­“®‚·‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦‚ðn%ã‚°‚Ü‚·B +ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚Æ•Ê‚Ì”»’è‚ðs‚¤ˆ×ƒ_ƒuƒ‹ƒAƒ^ƒbƒNƒXƒLƒ‹‚ª +‚ ‚Á‚Ä‚àƒXƒLƒ‹‚É‚æ‚éƒ_ƒuƒ‹ƒAƒ^ƒbƒNŠm—¦‚ªã‚ª‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB +ƒTƒCƒhƒƒCƒ“ƒ_[ƒJ[ƒh—pB + (map/) + pc.c + pc_bonus()Apc_calcstatus() C³B + pc_natural_heal_sub() C³B + battle.h + struct Battle_Config {} C³B + battle.c + battle_calc_pc_weapon_attack()Abattle_calc_mob_weapon_attack() C³B + battle_config_read() C³B + (db/) + skill_db.txt + ƒXƒeƒB[ƒ‹‚ÌSP‚ð10‚ÉC³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + +-------------- +//0636 by Sin + +EƒfƒoƒbƒO—pƒ|ƒ^Žq‚³‚ñƒXƒNƒŠƒvƒg(npc_pota.txt)‚̃Aƒ}ƒcEƒRƒ“ƒƒ“‚ւ̑ΉžB +@‚·‚Å‚ÉŽ©—ÍŽÀ‘•‚³‚ê‚Ä‚¢‚ç‚Á‚µ‚á‚é•ûX‚à‘½‚¢‚©‚ÆŽv‚¢‚Ü‚·‚ªcB +@ƒRƒ“ƒƒ“ƒ_ƒ“ƒWƒ‡ƒ“‚Ì–¼‘O‚ª‚í‚©‚ç‚È‚¢‚½‚ßu›À›ÄD1v‚È‚Ç‚Æ‚³‚¹‚Ä‚¢‚½‚¾‚¢‚Ä‚¢‚Ü‚·B + (conf/) npc_pota.txt + +-------------- +//0635 by Ž€_ + +Ebattle_athena.conf‚É€–ڒljÁB(Ú‚µ‚¢‚±‚Æ‚Íconf_ref.txt‚ðŒ©‚Ä‚­‚¾‚³‚¢B) +Ebonus‚ÉbInnerAtk(ƒJ[ƒh“™‚Å•\Ž¦‚Í‚³‚ê‚È‚¢‚¯‚ÇŽÀÛ‚É‚ÍUŒ‚—Í‚É”½‰f‚³‚ê‚镨—p‚Å‚·B)“™‚ð’ljÁB‘¼‚Ì‚Íitem_bonus.txt‚ðŒ©‚Ä‚­‚¾‚³‚¢B(’ljÁ‚Í‚µ‚½‚¯‚Çitem_db.txt‚Í–w‚ñ‚ÇC³‚µ‚Ä‚Ü‚¹‚ñB) +E‚»‚Ì‘¼ƒoƒOC³‚âŽd—l•ÏX‚à‚â‚è‚Ü‚µ‚½‚ªˆêX‘‚­ŽžŠÔ‚ª‚È‚¢‚Ì‚Å... + (map/) + makeile C³B + pc.c C³B + map.h C³B + clif.c C³B + battle.h C³B + battle.c C³B + itemdb.c C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + item_bonus.txt C³B + (db/) + const.txt C³B + item_db.txt C³B + +-------------- +//0634 by Ž€_ + +EweddingƒNƒ‰ƒX‚É‚Í“]E‚Å‚«‚È‚¢‚悤‚ÉC³B +EƒX[ƒp[ƒm[ƒrƒX‚ׂ̈Éexpƒe[ƒuƒ‹‚ðbase 4‚Âjob 4‚‚Ɋg’£B +exp.txt‚ª•Ï‚í‚èƒX[ƒp[ƒm[ƒrƒX‚¾‚¯‚ÌŒoŒ±’l‚ðÝ’è‚Å‚«‚Ü‚·B(exp.txt‚Ì +4‚–ڂªƒX[ƒp[ƒm[ƒrƒX‚Ìbase exp‚Å8‚–ڂªjob exp‚Å‚·B¡‚Í2ŽŸE‹Æ‚Ì•¨‚ð +ƒRƒs[‚µ‚½•¨‚ɉ߂¬‚Ü‚¹‚ñ‚ªB) exp.txt‚ÌÝ’è•û–@‚à’m‚ç‚È‚¢•û‚Í‚¢‚È‚¢‚Æ +Žv‚¢‚Ü‚·‚Ì‚Åà–¾‚ÍÈ—ª‚µ‚Ü‚·B +EƒX[ƒp[ƒm[ƒrƒX‚Í“]¶‚̃eƒXƒg‚ׂ̈ɊؑƒTƒNƒ‰ƒC‚¾‚¯ŽÀ‘•‚µ‚Ä‚¢‚镨‚Æ +Žv‚í‚ê‚Ü‚·‚ª(“]¶‚ªŽÀ‘•‚³‚ê‚ê‚΂Ȃ­‚È‚é‚Æ—\‘ª‚µ‚Ä‚¢‚Ü‚·B)‚»‚ê‚ð +ŽÀ‘•‚µ‚Ä‚¢‚¢‚Ì‚©‚ÆŽv‚Á‚½‚è‚à‚µ‚Ü‚·‚ª... +EŒ‹¥ˆßÖ‚ÍŠù‚É0629‚ÅŽÀ‘•‚µ‚Ä‚¢‚é‚Ì‚É‚Ü‚½ƒpƒbƒ`‚Æ‚µ‚Ä +ƒAƒbƒv‚³‚ê‚é‚Ì‚à‚¿‚å‚Á‚Æ•Ï(H)‚Å‚·‚ËB‚»‚¤‚¢‚¦‚Îà–¾‚µ‚Ä‚È‚©‚Á‚½‚ñ‚Å‚·‚ËB +E‘•”õê—pƒXƒNƒŠƒvƒg‚Å‚ ‚échangebase‚̒ljÁ‚É‚æ‚Á‚ă^ƒLƒV[ƒh‚Æ +ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ªŽÀ‘•‚µ‚Ä‚¢‚Ü‚·B‚±‚ê‚ÍE‹Æ‚ð•ÏX‚¹‚¸‚ÉŒ©‚½–Ú‚¾‚¯ +•Ï‚¦‚镨‚Å‚·BweddingƒNƒ‰ƒXˆÈŠO‚Ì“K—p‚à‰Â”\‚Å•Ï‘•ƒZƒbƒg‚Æ‚©‚àì‚ê‚é +‚킯‚Å‚·‚ª“à•”ˆ—‚Í•ÏX‚¹‚¸‚ÉŒ©‚½–Ú‚¾‚¯•Ï‚¦‚Ä‚¢‚é‚Ì‚Å0631‚Åà–¾‚µ‚½‚悤‚É +‘•”õ‚Å‚«‚È‚¢•¨‚ð‘•”õ‚µ‚Ä‚¢‚éꇈƗŽ‚¿‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚è‚Ü‚·‚Ì‚Å +‘¼‚ÌE‹Æ‚ÅŽg‚¤‚Ì‚Í‚¨Š©‚ß‚µ‚Ü‚¹‚ñB‰¼ŽÀ‘•‚È‚Ì‚Í¡‚ÌŽd—l‚̓^ƒLƒV[ƒh‚Æ +ƒEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚ð‘•”õ‚·‚邾‚¯‚ÅŒ©‚½–Ú‚ª•Ï‚í‚é‚©‚ç‚Å‚·BŠØ‘ƒTƒNƒ‰ƒC‚Ì +•û‚ł͉½‚©‚ÌðŒ‚ª•K—v‚¾‚ÆŽv‚Á‚Ä‚¢‚é‚Ì‚Å‚»‚ÌðŒ‚ª‚Ü‚¾ŽÀ‘•‚³‚ê‚¢‚È‚¢‚©‚ç +‰¼ŽÀ‘•‚Å‚·B‚»‚ê‚ÉweddingƒNƒ‰ƒX‚ðE‹Æ‚É‚µ‚Ä‚µ‚Ü‚¤‚ÆŒ‹¥‚·‚é‚ƃXƒLƒ‹“™‚ª +ƒŠƒZƒbƒg‚³‚ê‚é‚©•Ï‚É‚È‚é‚©‚Ì‚Ç‚¿‚ç‚È‚Ì‚Å•Ï‚¾‚ÆŽv‚Á‚Ä‚È‚©‚Á‚½‚Ì‚Å‚µ‚傤‚©H + help.txt C³B + (db/) + job_db1.txt C³B + exp.txt C³B + (map/) + pc.c + pc_jobchange()Apc_readdb() C³B + pc_nextbaseexp()Apc_nextjobexp() C³B + +-------------- +//0633 by ”g˜Q + +E‘•”õ‚ÌÝ’èC³BŒ‹¥ˆßÖ‚ÌE‚ÍAŽÀÛ‚É“]E‚·‚é‚Ì‚Å‚Í‚È‚­ƒyƒRƒiƒCƒg(13)AƒyƒRƒNƒ‹ƒZ(21)‚̂悤‚ɉ摜‚ðŽg‚¤‚¾‚¯‚¾‚ÆŽv‚¤‚Ì‚Å +@‰½‚à‘•”õ‚Å‚«‚È‚¢Ý’è‚É‚µ‚Ü‚µ‚½BƒXƒpƒmƒr‚̓mƒr‚ª‘•”õ‚Å‚«‚é‚à‚Ì‚¾‚¯Ý’肵‚Ü‚µ‚½B +EŒÃ–Ø‚ÌŽ}‚ÌoŒ»ƒ‚ƒ“ƒXƒ^[‚ð’ljÁ +EƒAƒ}ƒc‚̃‚ƒ“ƒX‚Ì•¦‚«‹ï‡‚ð–{ŽI‚É‹ß‚­‚È‚é‚悤‚ÉC³(‚Ü‚¾‚Ü‚¾ˆá‚¢‚Ü‚·‚ªEEE) + (conf/) + npc_monster.txt ƒ‚ƒ“ƒX–¼C³ + npc_monster_amatsu.txt C³ + (db/) + item_avail.txt ˆÆ—Ž‚¿ƒAƒCƒeƒ€’ljÁ + item_db.txt ‘•”õÝ’è‚ðC³A‘¼‘½” + mob_branch.txt C³ + mob_db.txt ƒ‚ƒ“ƒX–¼C³ + skill_tree.txt C³ + +-------------- +//0632 by nini + +E@jobchange‚ÅŒ‹¥ˆßւƃX[ƒp[ƒm[ƒrƒX‚É‚È‚ê‚é‚悤‚ÉB(’ˆÓFŠØ‘÷ˆäƒNƒ‰ƒCƒAƒ“ƒg‚Ì‚Ý) +ESƒmƒr‚̃XƒeAƒXƒLƒ‹‚È‚Ç‚àŽb’è’ljÁB(ƒm[ƒrƒX‚̃Rƒs[‚Å‚·‚ª) +@‚Æ‚è‚ ‚¦‚¸Œ©‚½–Ú‚¾‚¯‚Æ‚¢‚¤‚±‚Æ‚ÅAŒ‹¥ˆßÖ‚Å‚àUŒ‚‚Å‚«‚Ü‚·‚ª(‚½‚¾‚µƒm[ƒ‚[ƒVƒ‡ƒ“)A–{—ˆ‚Í‚Å‚«‚Ü‚¹‚ñB +Eã‚É‚ ‚킹‚Äitem_db•ÒWB +@Œ‹¥ˆßÖ‚Å•Ší‚à‚‚ÆactAsprƒGƒ‰[o‚·‚Ì‚ÅAŒ‹¥ˆßÖ‚Å‚Í•Ší‚ðŽ‚Ä‚È‚¢‚悤‚É‚µ‚½(‚Í‚¸)B + (db/) + job_db1.txt + job_db2.txt + item_db.txt + Œ‹¥ˆßÖASƒmƒr‚̃f[ƒ^ + skill_tree.txt + Sƒmƒr‚̃XƒLƒ‹ + (map/) + map.h + MAX_PC_CLASS‚ɒljÁ + +-------------- +//0631 by Ž€_ + +Eׂ©‚¢C³B +Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‚Ì•\Ž¦‚ðbattle_athena.conf‚ÅÝ’è‚Å‚«‚é +‚悤‚É•ÏXB +E•ŠíƒOƒ‰ƒpƒbƒ`‚ɂ‚¢‚Ä‚Å‚·‚ªƒpƒbƒ`‘O‚ÍŽg‚¦‚È‚¢E‹Æ‚ª‘•”õ‚ð‚µ‚Ä‚à•\Ž¦‚Í +‚³‚ê‚È‚¢‚¾‚¯‚ňƗŽ‚¿‚Ü‚Å‚Í‹N‚±‚ç‚È‚©‚Á‚½‚¯‚Ç•ŠíƒOƒ‰ƒpƒbƒ`‚ÌŒã‚Í‚»‚Ì•Ší‚ð +‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢E‹Æ(–{ŽI‚Å)‚ª‘•”õ‚µ‚Ä‚µ‚Ü‚Á‚½ê‡ˆÆ—Ž‚¿‚ª‹N‚±‚é +‚±‚Æ‚ª‚ ‚è‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + (db/) + item_db.txt + 1161A2338A7170 C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + battle.h + struct Battle_Config‚Éwedding_modifydisplay ’ljÁB + battle.c + battle_config_read() C³B + pc.h + pc_cart_delitem() C³B + pc.c + pc_jobchange()Apc_additem()Apc_delitem()Apc_cart_delitem() C³B + pc_checkitem()Apc_getitemfromcart() C³B + clif.c + clif_changelook()Aclif_send()Aclif_parse_GlobalMessage() C³B + script.c + buildin_changebase() C³B + storage.c + storage_storageaddfromcart() C³B + vending.c + vending_purchasereq() C³B + +-------------- +//0630 by ˆø‘Þl + +EƒMƒ‹ƒh’E‘ÞŽž‚ÉcharƒT[ƒo‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³ +Ewater_height.txt‚ðXV +E0627‚ÉŠÖ˜A‚µ‚ÄmodifydisplayŠÖ˜A‚ðíœ + (char/) + int_guild.c + mapif_guild_leaved()‚̃oƒbƒtƒ@—e—Ê‚ª‘«‚è‚È‚©‚Á‚½‚Ì‚ÅA + unsigned char buf[64]; -> unsigned char buf[128]; + ‚ÆC³B + (conf/) + battle_athena.conf + equip_modifydisplay‚ðíœ + water_height.txt + prt_fild04.gat‚Æmoc_fild01.gat‚Ì•ª‚ð’ljÁ + (doc/) + conf_ref.txt + equip_modifydisplay‚Ìà–¾‚ðíœ + (map/) + battle.h + struct Battle_Config ‚©‚çequip_modifydisplay‚ðíœ + +-------------- +//0629 by Ž€_ + +E0627‚̃oƒOˆê•”C³‚ÆV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ɑΉžB(Ž©•ª‚̊ԈႢ‚Å‚µ‚½B +ƒ‚ƒ“ƒXƒ^[‚âNPC‚àV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ðŽg‚¤‚ÆŽv‚Á‚Ä‚¢‚½‚Ì‚Å‚·‚ª +V‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚̓vƒŒƒCƒ„[‚݂̂̂悤‚Å‚·B) +Eƒ^ƒLƒV[ƒh‚ƃEƒFƒfƒBƒ“ƒOƒhƒŒƒX‰¼ŽÀ‘•B(ŠØ‘‚̃TƒNƒ‰ƒCˆÆ‚¶‚á‚È‚¢‚Æ +ˆÆ—Ž‚¿‚³‚ê‚Ü‚·BŽg—p‚·‚鎞‚Íitem_db.txt‚̃Rƒ}ƒ“ƒgƒAƒEƒg‚³‚ê‚Ä‚¢‚é +2338‚Æ7170‚ð‰ðœ‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B) +ESP‰ñ•œƒAƒCƒeƒ€‚àint‚É‚æ‚Á‚ÄŒø‰Ê‚ª‘‚¦‚é‚悤‚É•ÏXB +E0627‚Å‘‚«–Y‚ê‚Å‚·‚ªƒJ[ƒg‚̃AƒCƒeƒ€ŒvŽZ‚Æitemdb_‚ðŒÄ‚Ô‚Ì‚ðŬ‰»‚·‚é +ˆ—‚ð“ü‚Á‚Ă邹‚¢‚Åpc_additem()Apc_delitem()Apc_cart_additem()Apc_cart_delitem()ˆÈŠO‚Ì•û–@‚ŃJ[ƒgƒAƒCƒeƒ€‚âƒAƒCƒeƒ€‚É•Ï“®‚ª‚ ‚éê‡ +³í‚É“®ì‚·‚é•ÛØ‚ª‚È‚¢‚Ì‚ÅC³‚Ì‚³‚¢‚É‚Í’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + readme0754‚ðreadme0574‚ÉC³B + makefile C³B + (map/) + map.h C³B + clif.c C³B + pc.c C³B + battle.c C³B + mob.c C³B + script.c C³B + (db/) + item_db.txt C³B + class_equip_db.txt C³B + skill_db.txt C³B(ŒëŽš‚ðŽ¡‚µ‚½‚¾‚¯‚Å‚·B) + (conf/) + npc_event_doll.txt C³B(—¬˜Ql‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) + +-------------- +//0628 by NOCTURNE + +Esnapshot +Esnapshot‚©‚çsnapshot‚Ü‚Å‚ÌReadme•ªŠ„ +E—v–]‚ª‘½‚©‚Á‚½‚Ì‚Åsnapì¬iƒvƒƒOƒ‰ƒ€“I‚È•ÏX“_‚Í–³‚µ + +-------------- +//0627 by Ž€_ + +EƒR[ƒh‚ÌÅ“K‰»‚Æ­‚µC³B(­‚µ‚ÍŒy‚­‚È‚é‚ÆŽv‚¢‚Ü‚·B) +E @modifydisplayƒRƒ}ƒ“ƒhíœB +EV‚µ‚¢ˆÚ“®ƒpƒPƒbƒg‚ɑΉž‚¾‚ÆŽv‚Á‚½‚ç0x1d8A0x1d9A0x1daƒpƒPƒbƒg‚̈ꕔ‚ª +0x78A0x79A0x7b‚Æ•Ï‚í‚Á‚Ä‚é‚Ý‚½‚¢‚Å‚·B‚‚܂衂̂܂܂ł͑Ήž‚Å‚«‚Ü‚¹‚ñB +X,Y‚ÌÀ•W‚Ì•”•ª‚Ì‘Ž®‚ª•Ï‚í‚Á‚½‚Ì‚©‚Æ—\‘ª‚Í‚µ‚Ä‚¢‚Ü‚·‚ª... +î•ñ‚ð‹‚Ý‚Ü‚·B(makefile‚ÌDPACKETVER‚ð4‚É‚·‚ê‚Î0x1d8A0x1d9A0x1da‚ð +Žg‚¢‚Ü‚·‚ªÀ•W‚ª‚¸‚ꂽ‚炵‚­‰½‚à•WŽ¦‚³‚ê‚Ü‚¹‚ñB) +E100000‚©‚炾‚Á‚½char_id‚ð150000‚©‚ç‚É•ÏXB(ƒyƒbƒg‚Ì—‘‚Ì–â‘è‚Å•Ší‚Ì–¼‘O‚ª‚¿‚å‚Á‚Æ•Ï‚É‚È‚Á‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B) +Eƒyƒbƒg‚̃R[ƒh­‚µC³B(pet_id‚ðcard[2]‚Æcard[3]‚©‚çcard[1]‚Æcard[2]‚É•ÏX‚µ‚Ü‚µ‚½B‚æ‚Á‚Ä‘O‚Éì‚Á‚½—‘‚ÍŽg‚¦‚Ü‚¹‚ñBˆÆ‚Åcard[3]‚Ì‹@”\‚ª•Ï‚í‚Á‚½‚Ì‚Å +Žd•û‚È‚­C³‚µ‚Ü‚µ‚½B¡“x‚Íconvertƒc[ƒ‹‚ª‚ ‚è‚Ü‚¹‚ñBì‚鎞ŠÔ‚ª‚È‚©‚Á‚½‚Ì‚Å...) +EÅ“K‰»‚ׂ̈ÉC³‚µ‚½Š‚ª‘½‚¢‚Å‚·‚ª‘S‚ij퓮삷‚é•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñB +ŽI—Ž‚¿ƒoƒO‚ª”­¶‚µ‚½‚ç•ñ‚¨Šè‚¢‚µ‚Ü‚·B(batte.c‚Í‚Ü‚¾Å“K‰»‚µ‚Ä‚Ü‚¹‚ñB) +ƒJ[ƒg‚̃AƒCƒeƒ€ŒvŽZ‚âƒAƒCƒeƒ€‚Ìd—Ê‚ÌŒvŽZ‚ðʼn‚É‚¾‚¯‚·‚é‚悤‚É‚µ‚Ä‚¢‚é‚Ì‚Å•\Ž¦‚É­‚µ–â‘肪‚ ‚é‚©‚à... +EC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯‘‚¢‚Ä‚¨‚«‚Ü‚·B + makefile + help.txt + (common/) + mmo.h + (map/) + map.h + atcommnad.h + atcommnad.c + pc.h + pc.c + clif.c + script.c + trade.c + itemdb.h + itemdb.c + battle.h + battle.c + pet.c + map.c + mob.c + (char/) + char.c + (conf/) + battle_athena-conf + atcommand_athena.conf + +-------------- +//0626 by ˆø‘Þl + +EƒpƒPƒbƒg’·ƒe[ƒuƒ‹iVˆÚ“®ƒpƒPƒbƒg‚È‚ÇjC³ + (doc/) + client_packet.txt ƒpƒPƒbƒg‰ð̓XƒŒ M‚³‚ñ‚Ìî•ñ‚𔽉f + conf_ref.txt 0624‚ɇ‚킹‚ÄC³ + (map/) + clif.c + packet_len_table[] client_packet.txt‚ɇ‚킹‚ÄC³ + +-------------- +//0625 by ˆø‘Þl + +E@hide“§–¾‰»‚ðBOSS‚È‚Ç‚ÉŒ©”j‚ç‚ê‚È‚¢‚悤‚ÉC³ + (map/) + pc.h + #define pc_iscarton(sd) C³ + #define pc_isinvisible(sd) ’ljÁ + mob.c + mob_attack() + mob_target() + mob_ai_sub_hard_activesearch() + mob_ai_sub_hard_mastersearch() + mob_ai_sub_hard() + “§–¾ipc_isinvisible(sd)!=0j‚ÅŽ€l‚Æ“¯—l‚É”»’肳‚ê‚é‚悤‚ÉC³ + (conf/) + npc_cTower.txt C³ithx to holyzard‚³‚ñj + +-------------- +//0624 by ‚é‚é‚é + +E•Ší‰æ‘œ•\Ž¦ˆ—‚̈êViVˆÚ“®ƒpƒPƒbƒgŽg—pj +Eã‚ÆŠÖ˜A‚µ‚ÄA@modifydisplayƒRƒ}ƒ“ƒh‚ðÝ‚¯‚½ +@@@@‹@”\‚Æ‚µ‚Ä‚ÍAŒ»Ý‚̃AƒTƒVƒ“•Ší‚È‚Ç‚Ì‚ª‚¨‚©‚µ‚¢ê‡‚ÉA‚Ü‚½‚Í‹C‚É“ü‚ç‚È‚¢‚Æ‚©‚ÅA +@@@@ƒLƒƒƒ‰–ˆ‚É‹ŒƒpƒP‚ðŽg—p‚·‚é‚悤‚É‚µ‚Ä‚¢‚éB + + (map/) + atcommand.c + atcommand() @modifydisplayƒRƒ}ƒ“ƒh‚ð’ljÁ + atcommand.h + struct Atcommand_Config { +'7d •ÏX + clif.c + clif_set0078_and01d8() , clif_set007b_and01da() ŠÖ”–¼•ˆ—‚Ì•ÏX + clif_spawnpc() , clif_movechar() , clif_changelook() , clif_getareachar_pc() , + clif_fixpcpos() , clif_parse_LoadEndAck() •ÏX + map.h + struct map_session_data Eb} •ÏX + pc.c + pc_setnewpc() , pc_calcstatus() , pc_equiplookall() , pc_changelook() •ÏX + + (conf/) + atcommand_athena.conf + equip_modifydisplay ’ljÁ + + •ÏX‰ÓŠ‚Í‘S‚ăL[ƒ[ƒhumodifydisplayv‚ŃT[ƒ`‚·‚ê‚΂قڂ킩‚é‚©‚ÆB + +ƒRƒƒ“ƒgF‚à‚¤‚±‚ê‚Å–â‘è‚Í–³‚¢‚Í‚¸BŽÀ‚Í‘å‚¢‚Ȃ銨ˆá‚¢‚ð‚µ‚Ä‚½ŒÂŠ‚ª‚ ‚Á‚½‚Ì‚Í“àiƒ}ƒew + +-------------- +//0623 by ˆø‘Þl + +E@hide‚Å“§–¾‰»iŒ©‚ç‚ê‚È‚¢•MOB‚Ƀ^ƒQ‚ç‚ê‚È‚¢j‚·‚é‚悤‚ÉC³‚È‚Ç + (map/) + atcommand.c + @hide‚ÌoptionÝ’è‚ð0x04‚©‚ç0x40‚É•ÏX + mob.c + mob_attack() + mob_target() + mob_ai_sub_hard_activesearch() + mob_ai_sub_hard_mastersearch() + mob_ai_sub_hard() + option”»’è‚ð0x06‚©‚ç0x46‚ÉC³ + (conf/) + npc_event_potion.txt MORISON_MEATC³ithx to holyzard‚³‚ñj + +-------------- +//0622 by ˆø‘Þl + +Emob‚ªƒXƒLƒ‹Žg—p‚ÉŽ¸”s‚µ‚½ê‡A’ÊíUŒ‚‚·‚é‚悤‚É + (map/) + mob.c + mobskill_use_id() ƒXƒLƒ‹Žg—pŽ¸”s‚Å0A¬Œ÷‚Å1‚ð•Ô‚·‚悤‚ÉC³ + mobskill_use_pos() ƒXƒLƒ‹Žg—pŽ¸”s‚Å0A¬Œ÷‚Å1‚ð•Ô‚·‚悤‚ÉC³ + mobskill_use() ã‹L‚𔽉f‚µ‚ÄŽ¸”sŽž‚É‚Í0‚ð•Ô‚·‚悤‚ÉC³ + +-------------- +//0621 by ŒÓ’±—– + +EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚ðs‚¤‚©‚Ç‚¤‚©conf/battle_athena.cnf‚É‘‚¯‚é‚悤‚É +EƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å•s³‚Æ”»’f‚·‚é‚©‚Ç‚¤‚©‚ðdb/item_avail.txt‚É‘‚¯‚é‚悤‚É +E@itemcheck‚Å–¾Ž¦“I‚ɃAƒCƒeƒ€ƒ`ƒFƒbƒN‚Å‚«‚é‚悤‚É + + ƒfƒoƒO‚âƒeƒXƒg‚È‚Ç‚ÅFX‚ȃAƒCƒeƒ€ID‚ðŽg—p‚µ‚½‚¢ê‡‚Í + ƒAƒCƒeƒ€ƒ`ƒFƒbƒN‚𖳌ø‚É‚µ‚ĉº‚³‚¢B(item_check: off) + –³Œø‚É‚µ‚½ê‡‚Å‚à@itemcheckƒRƒ}ƒ“ƒh‚Ń`ƒFƒbƒN‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B + cnfƒtƒ@ƒCƒ‹‚Í—pˆÓ‚µ‚Ä‚È‚¢‚Ì‚Å•K—v‚È‚çŠeŽ©“K“–‚É‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B + + (db/) + item_avail.txt + V‹K’ljÁB•s³ƒAƒCƒeƒ€‚Ì—ñ‹“‚ÉŽg—pB–¢Š®¬B‘¼—Í–{ŠèB + item_db.txt‚É’è‹`‚³‚ê‚Ă邪ŽÀÛ‚É‚ÍŽg—p‚Å‚«‚È‚¢ƒAƒCƒeƒ€‚ð‘‚­B + (doc/) + conf_ref.txt + battle_athena.cnf‚Æatcommand_athena.cnf‚Ìà–¾C³ + (map/) + itemdb.c/itemdb.h + itemdb_availableƒ}ƒNƒ’ljÁ + itemdb_read_itemavail()’ljÁ + itemdb_readdb()‚Åavailable=1‚É‚·‚é‚悤‚É + itemdb_search()‚Å‘¶Ý‚µ‚È‚¢ID‚Íavailable=0‚Ńf[ƒ^‚ðì‚é‚悤‚É + do_init_itemdb()‚Åitemdb_read_itemavail()‚ðŒÄ‚Ԃ悤‚É + pc.c/pc.h + pc_checkitem()‚ðƒGƒNƒXƒ|[ƒg + pc_checkitem()‚Åavailable‚Æbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É + atcommand.c/atcommand.h + @item‚Åbattleconfig‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É + @itemcheckƒRƒ}ƒ“ƒh’ljÁ + atcommandconfig‚Éitemcheckƒƒ“ƒo’ljÁ + battle.c/battle.h + battle_config‚Éitem_checkƒƒ“ƒo’ljÁ + +Eladmin‚ÌC³‚È‚Ç + ƒAƒJƒEƒ“ƒg’ljÁAƒpƒXƒ[ƒh•ÏX‚ÌۂɃpƒXƒ[ƒh‚ðÈ—ª‚·‚é‚ÆA + ƒpƒXƒ[ƒh—p‚̃GƒR[‚µ‚È‚¢ê—pƒvƒƒ“ƒvƒg‚Å“ü—Í‚Å‚«‚Ü‚·i•“ü—ÍŠm”FjB + ’ljÁ‚ÌۂɃpƒXƒ[ƒh‚ª•\Ž¦‚³‚ꂽ‚碂éꇂȂǂÉB + ƒpƒXƒ[ƒh“ü—Í’†‚ÍCtrl+C‚ªŒø‚©‚È‚¢‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + + ƒpƒXƒ[ƒh‚Ì•s³•¶Žš‚Ì•\Ž¦‚ªA‰½•¶Žš–Ú‚©‚Å•\Ž¦‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + ‚»‚Ì‘¼”÷–­‚Ƀ`ƒFƒbƒN’ljÁ‚È‚ÇB + + Cygwin‚Å‚µ‚©“®ìŠm”F‚µ‚Ä‚¢‚Ü‚¹‚ñBPOSIXƒ‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚ÅA + POSIX‚Å‚È‚¢(•ƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚à‚Å‚«‚È‚¢)ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚¾‚Æ + “®‚©‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB + UNIXŒn‚Å‚Ínkf‚ȂǂʼnüsƒR[ƒh‚ð•ÏŠ·‚µ‚È‚¢‚Æ‚¾‚ß‚©‚àH + + (tool/) + ladmin + Ver.1.03‚ÉB + +------------- +//0620 by ŒŽ‰r‚Ý + +Eƒz[ƒŠ[ƒNƒƒXŽÀ‘• + + (db) + skill_db.txt C³ + (map) + skill.c + skill_additional_effect()C³(ƒRƒƒ“ƒg‚Ì‚Ý) + battle.c + Damage battle_calc_weapon_attack()C³ + +------------- +//0619 by ‚é‚é‚é + +Eƒpƒbƒ`0617‚Ì‚Å‚â‚è–Y‚ê‚Æ”÷–­‚ÈC³ + + clif.c + clif_movechar(),clif_parse_LoadEndAck() C³ + +-------------- +//0618 by nini + +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚̉r¥AƒfƒBƒŒƒC’ljÁB‰ñ•œ—ÊC³B +EÁ”ïSPC³ +EƒAƒ[ƒVƒƒƒ[‚͈̔͂ð5*5‚É‚µ‚Ä2ƒZƒ‹‚«”ò‚΂µB +Eƒ`ƒƒ[ƒWƒAƒ[‚ÌŽg—p•ŠíðŒ–³‚µB +EƒXƒsƒAƒXƒ^ƒu‚Ì”ò‹——£‚ð6ƒZƒ‹‚ÉB + (/db) + cast_db.txt C³ + skill_db.txt C³ + (/map) + battle.c + battle_calc_weapon_attack() C³ + skill.c + skill_castend_damage_id() C³ + skill_check_condition() C³ + skill_castend_nodamage_id() C³ + +-------------- +//0617 by ‚é‚é‚é + +E•Ší‰æ‘œ•\Ž¦‚Å‘¼ƒLƒƒƒ‰‚ª•\Ž¦‚³‚ê‚È‚¢‚Ì‚ðu‚Æ‚è‚ ‚¦‚¸vC³ +EŒC•\Ž¦‚̃pƒPƒbƒg‚ð‘—M’âŽ~iŒ»Žž“_‚ł̓€ƒ_BƒRƒƒ“ƒg‚µ‚½‚¾‚¯‚Å‚·‚ªj + clif.c + clif_spawnpc(),clif_getareachar_pc(),clif_fixpcpos(),clif_changelook()C³ + pc.c + clif_changelook()‚ª‚ ‚é•”•ª‚ðC³i•Ší[„‚‚Ƈ‚É‚È‚é‚悤‚Ɉ—‚Ì“ü‚ê‘Ö‚¦j + +ƒRƒƒ“ƒgB +Vƒ}ƒbƒvˆÚ“®ƒpƒP(0x1d8`0x1daj‚ðFX‚Æ‚â‚Á‚½‚ªA‚»‚̃pƒP‚P‚‚ŕŠí•\Ž¦‚ªVŽ®‚̂ɑΉž‚µ‚Ä‚é +‚Æ‚¢‚¤‚킯‚Å‚Í‚È‚¢‚Á‚Û‚¢B‹ŒˆÚ“®ƒpƒP‚¾‚ÆŽ©•ªˆÈŠO‚̃Lƒƒƒ‰‚ªˆÚ“®‚·‚é‚Æ‹ŒŽ®•\Ž¦‚É‚È‚Á‚Ä‚µ‚È‚¤B +X‚ÉAV•Ší•\Ž¦ƒpƒP‚Í•Ší‚Æ‚‚Ì“¯Žžˆ—‚ªo—ˆ‚Ä‚È‚¢B‚¨‚»‚ç‚­ƒNƒ‰ƒCƒAƒ“ƒg‚Ì–â‘肾‚ÆŽv‚¤B +‚Æ‚è‚ ‚¦‚¸AƒLƒƒƒ‰‚ª“®‚­‚½‚Ñ‚ÉV•ŠíƒpƒP„‹Œ‚ƒpƒP‚Ì‚Q‚‚̑•”õƒpƒP‚𑗂邱‚Æ‚Å‰ðŒˆ‚³‚¹‚Ä‚¢‚éB +–{ŽI‚Å‚Í‚Ç‚¤‚È‚Ì‚©‚ÌŽÀÛ‚Ì‚Æ‚±‚ë‚̃f[ƒ^‚ª–³‚¢‚½‚ßA‚±‚êˆÈã‚Ì‚±‚Ƃ̓€ƒŠB + +-------------- +//0616 by ŒÓ’±—– + +Ewater_height.txt‚ð“Ç‚ñ‚Å‚¢‚È‚¢‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ + map.c + map_waterheight()C³ + +EPC‚̃}ƒbƒvˆÚ“®Žž‚̃AƒCƒeƒ€ƒ`ƒFƒbƒN‚ŃAƒCƒeƒ€ID‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³ +Eˆê•”‚Ì—ƒRƒ}ƒ“ƒh‚ŃAƒCƒeƒ€ID‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³ + pc.c + pc_checkitem()C³ + pc_authok()C³ pc_checkitem()’ljÁ + clif.c + clif_parse_LoadEndAck()C³ + itemdb.c + itemdb_exists()’ljÁiitemdb_search‚Æ“¯‚¶‚¾‚ªAdb‚É‘¶Ý‚µ‚È‚¢ + ꇂÍV‚µ‚¢ƒf[ƒ^‚ðì‚炸‚ÉNULL‚ð•Ô‚·j + itemdb_read_classequipdb()C³ itemdb_search=>itemdb_exists + itemdb_read_itemnametable()C³ itemdb_search=>itemdb_exists + itemdb_read_itemvaluedb()C³ itemdb_search=>itemdb_exists + atcommand.c + @itemC³ itemdb_search=>itemdb_exists + @produceC³ itemdb_exists‚Ń`ƒFƒbƒN‚·‚é‚悤‚É + +-------------- +//0615 by ”g˜Q + +EƒAƒCƒeƒ€DATA‘å•C³ +@Žå‚ÈC³‰ÓŠ‚ÍA‰ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ÌC³AÁ”ïƒAƒCƒeƒ€‚ðclass_equip_db.txt–³‚µ‚Å‚àŽg—p‚Å‚«‚é—l‚ÉC³A +@‘•”õ•i‚Ì‘•”õ‰Â”\E‚ð‘S‚ÄC³AƒJ[ƒhŒø‰Ê‚ðC³AetcEEE‚Å‚·B + +-------------- +//0614 by Nikita + +EƒAƒCƒeƒ€DATA‚ÌC³iŽå‚ɉñ•œ—Êj +EƒXƒLƒ‹‰ð“Å‚ÌŽË’öC³ +E0612‚Ìׂ©‚¢C³ + (conf/) + npc_town_prontera.txt C³ + (db/) + item_db.txt C³ + skill_db.txt C³ + +-------------- +//0613 by ˆø‘Þl +EcheckweightC³ + (conf/) + npc_event_making.txt checkweight•”•ª‚ðC³ + npc_event_potion.txt ƒ|[ƒVƒ‡ƒ“AƒWƒ…[ƒXNPC‚ÌcheckweightC³ + +-------------- +//0612 by nini + +EƒAƒCƒeƒ€DATAC³ + (db/) + item_db.txt C³ + (conf/) + npc_town_***.txt C³ + R.O.M776‚³‚ñ‚ðŽQÆ‚µ‚Ü‚µ‚½B + +-------------- +//0611 by Ž€_ + +EƒAƒCƒeƒ€Žg—pðŒ‚ª‚ ‚í‚È‚¢Žž0xa8ƒpƒPƒbƒg‚ð‘—‚é‚悤‚É•ÏXB(ƒoƒO•ñƒXƒŒƒbƒh 243‚Ìno name‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) +EQM‚ÅW’†—ÍŒüã‚Æ‘¬“xã¸AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Aƒ‰ƒEƒhƒ{ƒCƒXAƒXƒsƒAƒNƒCƒbƒPƒ“Aƒc[ƒnƒ“ƒhƒNƒCƒbƒPƒ“‚ð‰ðœ‚·‚é‚悤‚ÉC³B +E‘¬“x㸂Ƒ¬“xŒ¸­‚Å‹t‚̃XƒLƒ‹‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B +E0609‚Å‘‚«–Y‚êBƒ‚ƒ“ƒXƒ^[‚ªQM‚͈̔͂©‚甲‚¯‚Ä‚àŒø‰Ê‚ªˆÛŽ‚·‚é‚悤‚É +•ÏX‚ƃuƒŒƒbƒVƒ“ƒO‚ÅŽô‚¢‚ÆΉ»‚ª‰ðœ‚³‚ê‚é‚悤‚ÉC³B + clif.c + clif_useitemack() C³B + skill.c + skill_status_change_start() C³B + pc.c + pc_insert_card() C³B(‚±‚ê‚̓J[ƒhƒoƒO‚Æ‚ÍŠÖŒW‚È‚¢C³‚Å‚·B‚»‚̃oƒO‚ÌC³‚ÍŽ©•ª‚ª05xx“–‚½‚è‚ÅC³‚µ‚Ü‚µ‚½‚Ì‚ÅB) + +-------------- +//0610 by ”g˜Q + +EƒAƒCƒeƒ€DATAC³ + (db/) + item_db.txt C³ + +-------------- +//0609 by Ž€_ + +EFX‚ÆC³B +Eƒ‚ƒ“ƒXƒ^[‚ªŽ~‚Ü‚é‚悤‚É“®‚­–â‘èC³B +EŽw’e‚̃fƒBƒŒƒCC³B +E–î쬂̃R[ƒh•Ð•t‚¯B +E“G‚ªƒXƒLƒ‹”͈͂©‚瓦‚°‚½ê‡ƒXƒLƒ‹‚ªŽ¸”s‚·‚é‚悤‚É•ÏXB +Eclass_equip_db.txt‚ÌŽd—l•ÏXB + «•Ê‚Æ‘•”õƒŒƒxƒ‹‚àÝ’è‰Â”\‚É•ÏX‚ÆŽg—pƒAƒCƒeƒ€‚ÌŽg—pE‹ÆA«•Ê‚ÆŽg—p + ƒŒƒxƒ‹‚Ìݒ肪‚Å‚«‚é‚悤‚É•ÏXB(‚½‚¾ƒf[ƒ^‚ª‘½‚¢‚¹‚¢‚ÅC³‚µ‚½ + class_equip_db.txt‚̓Tƒ“ƒvƒ‹’ö“x‚Ì•¨‚Å‚·B–„‚ß‚Ä‚­‚¾‚³‚¢B‘¼—Í–{Šè‚Å‚·‚ª...) + ‚»‚ê‚ƃAƒCƒeƒ€Žg—pðŒ‚ª‚ ‚í‚È‚¢‚ƃAƒCƒeƒ€‚ªŽg‚í‚È‚¢‚悤‚É‚µ‚Ä‚Í + ‚¢‚Ü‚·‚ª01c8ƒpƒPƒbƒg‚Ì‚ð0‚É‚µ‚Ä‚àƒAƒCƒeƒ€‚ðŽg—p‚µ‚½Žž‚Æ“¯‚¶ + ƒGƒtƒFƒNƒg‚ªo‚Ü‚·B–{ŽI‚̃AƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ª•ª‚©‚ç‚È‚¢‚Ü‚Ü‚¶‚á + ‚±‚¤‚·‚邵‚©‚È‚©‚Á‚½‚Ì‚Å‚·‚ª... +Ebattle_athena.conf‚É€–ڒljÁB +E‚»‚Ì‘¼ƒXƒLƒ‹­‚µC³‚Æׂ©‚¢C³B +EC³‚µ‚½Š‚ð‘S‚ÄŠo‚¦‚Ä‚Ü‚¹‚ñ‚̂Ńtƒ@ƒCƒ‹‚¾‚¯B + (map/) + clif.c C³B + mob.c C³B + mob.h C³B + pc.c C³B + map.h C³B + skill.c C³B + skill.h C³B + itemdb.c C³B + battle.c C³B + battle.h C³B + (conf/) + battle_athena.conf C³B + (db/) + cast_db.txt C³B + skill_db.txt C³B + create_arrow_db.txt C³B + class_equip_db.txt C³B + item_db.txt C³B + (doc/) + client_packet.txt C³B + conf_ref.txt C³B + +-------------- +//0608 by sk +EƒAƒ}ƒcNPC’ljÁ + (conf/) + npc_town_amatsu.txt é“àNPC’ljÁ + npc_warp_amatsu.txt é“àƒ[ƒvƒ|ƒCƒ“ƒg’ljÁ + +-------------- +//0607 by J +EƒAƒTƒ‹ƒgƒ^[ƒgƒ‹‚̎艺¢Š«‚̃oƒOC³(•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚· ‚é‚é‚邳‚ñ) + (db/) + mob_skill_db.txt ƒAƒTƒ‹ƒg‚ÌC³‚‚¢‚łɃeƒŒƒ|‚ðŽg‚¤MOB‚̃XƒLƒ‹ƒfƒBƒŒƒC‚àC³ + +-------------- +//0606 by ˆø‘Þl +EƒXƒLƒ‹ƒŒƒxƒ‹Å‘å’lˆÈã‚ɃNƒŠƒbƒN‚µ‚½Žž“_‚Å‘¼ƒXƒLƒ‹‚ªã‚°‚ç‚ê‚È‚­‚È‚éƒoƒO‚ðC³iThanx to 227‚³‚ñj + (map/) + clif.c + clif_skillup() + ƒXƒLƒ‹ƒŒƒxƒ‹‚ªÅ‘å’l‚Ì‚Æ‚«AƒpƒPƒbƒg––”ö‚ð0‚É‚·‚é‚悤‚ÉC³ + +-------------- +//0605 by ‚é‚é‚é + +E•Ší‘®«•t—^ƒXƒLƒ‹‚Ì•s“s‡C³ + •Ší‚ðŽ‚¿‘Ö‚¦‚½‚èŠO‚µ‚½‚肵‚½ê‡‚àA‘®«•t—^‚ð‰ðœ‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + ’A‚µA‘fŽè„•Ší‘•”õ‚Ì‚Ýó‘ÔˆÛŽ‚µ‚Ü‚·B +EƒXƒsƒAƒNƒCƒbƒPƒ“‚̃Xƒe[ƒ^ƒXƒAƒCƒRƒ“‚𳂵‚­•\Ž¦ +E‚Q‚g‚pAƒXƒsƒAƒNƒCƒbƒPƒ“AƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ÅŠY“–ˆÈŠO‚Ì•ŠíŽ‚¿‘Ö‚¦‚Åó‘ÔÁ–Å + ƒXƒsƒAƒNƒCƒbƒPƒ“‚Í–¢Šm”F‚Å‚·‚ªA‚Q‚g‚p‚ÍŠmŽÀ‚È‚Ì‚Å‚Q‚g‚p‚Æ•sŒö•½‚ÈŽd—l‚Æ‚Í + l‚¦‚É‚­‚¢‚Ì‚Å“¯—l‚ȃpƒ^[ƒ“‚Æ‚µ‚Ü‚µ‚½B–{ŽI‚Æ‘Šˆá‚ª‚ ‚éꇂ͕ñŠè‚¢‚Ü‚·B +E“G‚Ì‚p‚l‚ÅW’†—ÍŒüã‚Æ‘¬“x㸂ð‰ðœ + ‚p‚l‚ʼne‹¿‚·‚éƒXƒLƒ‹‚Í‚±‚ê‚Q‚‚¾‚¯‚©‚ÈH@Ž„‚Ì‹L‰¯‚ÆŒfŽ¦”‚ł̕ñ‚Æ‚Å + ”»’f‚µ‚½‚Ì‚Å‚·‚ªA‚à‚µ‘Šˆá‚ª‚ ‚è‚Ü‚µ‚½‚ç•ñŠè‚¢‚Ü‚·B + + (map/) + clif.c + clif_parse_UnequipItem() C³ + pc.c + pc_checkallowskill() pc_equipitem() C³ + skill.h + skill_encchant_eremental_end() ’ljÁ + skill.c + skill_status_change_start() skill_status_change_end() + skill_status_change_clear() skill_encchant_eremental_end() C³ + ‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë­X + +-------------- +//0604 by J +EMOBƒXƒLƒ‹ÄC³ +EMOBDBC³ + (db/) + mob_skill_db.txt + ƒA[ƒNƒGƒ“ƒWƒFƒŠƒ“ƒO‚ƃ^[ƒgƒ‹ƒWƒFƒlƒ‰ƒ‹‚ª1‰ñ‚É2Ží—Þ‚Ü‚Å‚µ‚© + MOB‚ðo‚³‚È‚©‚Á‚½‚Ì‚ðC³ + mob_db.txt + ƒ[ƒhƒIƒuƒfƒX‚̃hƒƒbƒv‚ŃGƒ‰[‚ªo‚é‚Ì‚ðC³(–¢Šm”F) + ‰…—ì•Žm‚̃hƒƒbƒv‚ÆMVP‚ð’ljÁ(–¢Šm”F) +-------------- +//0603 by ˆø‘Þl +EV‹KƒAƒCƒeƒ€Žž‚É‚àŠŽ‰Â”\ŒÂ”ƒ`ƒFƒbƒN‚ð‚·‚é‚悤‚ÉC³ + (map/) + pc.c + pc_checkadditem() + V‹KƒAƒCƒeƒ€Žž‚ÉMAX_AMOUNT‚ð’´‚¦‚Ä‚¢‚½‚ç + ADDITEM_OVERAMOUNT‚ð•Ô‚·‚悤‚ÉC³ + +-------------- +//0602 by ˆø‘Þl +EGeffen’b–艮‚Å—Ž‚¿‚é–â‘è‚ðC³ + (conf/) + npc_town_geffen.txt if (!checkweight(,)) ‚©‚ç if (!(checkweight(,))) ‚ÉC³ + +-------------- +//0601 by J +EMOBƒXƒLƒ‹‚ÌŠë‚È‚¢Š‚ð‚¢‚­‚ç‚©C³ +EŠoÁ‚Æ‹¶‹C‚ÌŽg‚¦‚éE‚ðC³ +EƒQƒtƒFƒjƒAƒ_ƒ“ƒWƒ‡ƒ“‚Ì”z’u‚ðƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚Å“ü‚ꂽ‚Æ‚«‚Ì”z’u‚ÉC³ + ‚½‚¾‚µƒ{ƒX‚ªDOP2‘Ì‚Å‚Í‚È‚­ƒhƒ‰ƒLƒ…ƒ‰‚É‚µ‚Ä‚¢‚Ü‚·B + (conf/) + npc_monster.txt ƒ‚ƒ“ƒXƒ^[”z’u”÷•ÏX + (db/) + mob_skill_db.txt ‰ö‚µ‚¢Ý’è‚È‚Ç‚ÌC³ + item_db.txt ‘‘¬POT‚ÌC³ + +-------------- +//0600 by ˆø‘Þl +Eƒvƒƒ“ƒeƒ‰¸˜BŠ‚̉¡‚̃tƒ@ƒ“‚ɘb‚µŠ|‚¯‚é‚ƌł܂é–â‘è‚ðC³ +EMOBƒXƒLƒ‹Žæ‚èž‚ÝiThanx to J‚³‚ñj + (conf/) + npc_event_skillget.txt ƒtƒ@ƒ“‚ÌLabel‚ðC³ + npc_town_prontera.txt ƒtƒ@ƒ“‚ªd•¡‚µ‚Ä‚¢‚½‚Ì‚Åíœ + (db/) + mob_skill_db.txt ƒWƒ…ƒm[ˆÈ~‚ÌMOBƒXƒLƒ‹’ljÁ + +-------------- +//0599 by ‚é‚é‚é + +EƒZ[ƒW‚Ì•Ší‘®«•t—^ƒXƒLƒ‹‚Ì•s“s‡C³‚ƃXƒe[ƒ^ƒXƒAƒCƒRƒ“•\Ž¦ + ƒAƒXƒyƒ‹ƒVƒI‚ƃGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Æ‚Å‘½d‚É‚©‚©‚Á‚Ä‚µ‚Ü‚Á‚Ä‚½‚Ì‚ÅA + ÅŒã‚É•t—^‚µ‚½‚à‚Ì‚P‚‚ɂȂé‚悤‚É‚µ‚Ü‚µ‚½B + ‚»‚̂‚¢‚łɃXƒe[ƒ^ƒXƒAƒCƒRƒ“‚à•\Ž¦‚·‚é‚悤‚É‚à‚µ‚Ü‚µ‚½B + i–¢ƒeƒXƒg‚Å‚·‚ªAƒAƒCƒRƒ“o‚È‚©‚Á‚½ƒXƒsƒAƒNƒCƒbƒPƒ“‚à‚Å‚é‚Í‚¸‚Å‚·Bj +EƒAƒCƒeƒ€DB‚É‚ÄA‘‘¬ƒ|[ƒVƒ‡ƒ“‚ÌŽg—p§ŒÀ‚ð’ljÁ + Jazz‚³‚ñ’ñ‹Ÿ‚Å‚·B + ‚»‚ê‚ÆŽ„‚ÌŽï–¡‚щƒOƒiƒƒNTƒVƒƒƒc‚ðƒAƒŒƒiƒj‚µ‚Ü‚µ‚½‚ª‚—@‹C‚É“ü‚ç‚È‚¯‚ê‚Î + Á‚·‚Ȃ茳’Ê‚è‚ÉC³‚·‚é‚Ȃ肵‚Ä‚µ‚¿‚á‚Á‚Ä‚­‚¾‚³‚¢‚Ü‚¹`B + + (conf/) + battle_athena.conf 598‚Å‚Ì“ü‚ê–Y‚ê + (map/) + skill_encchant_eremental_end() ’ljÁ + skill_status_change_end() skill_status_change_start() skill_status_change_clear() C³ + (db/) + iten_db.txt C³ + +-------------- +//0598 by ‚é‚é‚é + +E‘•”õ•Ší‚̉摜•ÏX‚ɑΉž + ˆê‰ž‚È‚ª‚çƒNƒ‹ƒZƒCƒ_[‚Ì—¼Žè‘„‚Æ‚©ƒvƒŠ[ƒXƒg‚Ì“ÝŠí‚Æ‚©‚̓eƒXƒg‚µ‚Ü‚µ‚½‚ªA + ‘S‚Ä‚ÌE‚ðƒ`ƒFƒbƒN‚Í‚¢‚Ü‚¹‚ñB‚Ü‚½‚±‚ÌŽž“_‚ł̓Nƒ‰ƒCƒAƒ“ƒgŽ©‘Ì‚Ì•\Ž¦ƒf[ƒ^‚É + –â‘è‚Ì—L‚é‚Ì‚ª‘½‚¢‚Ì‚à•t‚¯‰Á‚¦‚Ä‚¨‚«‚Ü‚·B + ‚ ‚ÆAŒC‚àˆê‰ž‚͑Ήž‚µ‚Ü‚µ‚½B’A‚µ‚±‚ê‚ÍŒ»Žž“_‚Å‚Í–{ŽI‚·‚ç‚à–¢‘Ήž‚È‚Ì‚Å‚·‚ªB + •\Ž¦‚ª‰»‚¯‚ÄŒ™‚¾‚Æ‚¢‚¤ê‡‚Í]—ˆ‚Ì‚â‚è•û‚ào—ˆ‚Ü‚·B + + (conf/) + battle_athena.conf + ƒIƒvƒVƒ‡ƒ“ equip_modifydisplay ‚ð’ljÁ + (map/) + battle.h + Battle_Config C³ + battle.c + battle_config_read() C³ + clif.c + packet_len_table[] clif_changelook() C³ + map.h + enum {} C³ + pc.c + pc_calcstatus() pc_equiplookall() pc_changelook() C³ + (common/) + mmo.h + mmo_charstatus {} C³ + +-------------- +//0597 by ”g˜Q + +EƒAƒ}ƒc‚ÉŠÖ‚·‚éC³•”÷C³ + (conf/) + npc_mob_job.txt + npc_monster.txt + npc_monster30.txt + ƒ‚ƒ“ƒX–¼C³ + npc_monster_amatsu.txt + ’ljÁiƒ‚ƒ“ƒX”‚ª‚©‚È‚èŽè”²‚«‚Å‚·EEE + npc_town_amatsu.txt + ƒVƒ‡ƒbƒvNPC‚ð“‡inpc_shop3.txt‚ðÁ‚µ‚Ä‚àOK‚Å‚· + (db/) + mob_db.txt + ƒAƒ}ƒc‚̃‚ƒ“ƒXƒf[ƒ^‚ðŒ»Ý•ª‚©‚é”͈͂ÅC³•‘‚Æ‚«‚Ì‚±‚Ìdef,mdef‚ðC³ + +-------------- +//0596 by Ž€_ + +E0595‚ÌC³‚Æׂ©‚¢C³B +EƒtƒŠ[ƒLƒƒƒXƒg‚ŃLƒƒƒXƒg‚µ‚Ä‚¢‚éŠÔ‚ÍUŒ‚‰Â”\‚Å‚·‚ªƒLƒƒƒXƒg‚µ‚½Œã‚Ì +ƒfƒBƒŒƒCƒ^ƒCƒ€‚Å‚ÍUŒ‚‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B–{ŽI‚ÌŽd—l‚ª‚Ç‚¤‚È‚Ì‚©‚Í +‚í‚©‚è‚Ü‚¹‚ñB +E“®‚¢‚Ä‚¢‚éPC‚Ƀ‚ƒ“ƒXƒ^[‚ªUŒ‚‚Å‚«‚È‚¢–â‘èC³B(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ‚ª +‘½•ª‚±‚ê‚Å‘åä•v‚©‚ÆB) + (map/) + skill.h + SC_FREECAST íœB + skill.c + skill_use_id()Askill_use_pos() C³B + skill_castend_id()Askill_castend_pos() C³B + ‚»‚Ì‘¼­‚µC³B + pc.c + calc_next_walk_step()Apc_attack_timer()Apc_calcstatus() C³B + clif.c + clif_parse_ActionRequest()Aclif_parse() C³B + map.h + struct map_session_data‚Éprev_speed’ljÁB + mob.c + mob_ai_sub_hard()Amob_changestate()Amob_attack() C³B + +-------------- +//0595 by PRevEv +EƒtƒŠ[ƒLƒƒƒXƒgC³AŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚à‚Å‚«‚Ü‚·B) + (/map) + pc.c + pc_calcstatus() C³B + calc_next_walk_step() C³B + pc_attack_timer() C³B + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B + +-------------- +//0594 by Ž€_ + +EŠØ‘ˆÆ‚̃p[ƒeƒB–â‘èC³‚Æׂ©‚¢C³B +E@partyƒRƒ}ƒ“ƒhC³‚Æ@guildƒRƒ}ƒ“ƒh’ljÁB +Ebattle_athena.conf‚Éguild_emperium_check’ljÁB +EƒXƒLƒ‹Žg—p‚ªŽ¸”s‚µ‚Ä‚àƒfƒBƒŒƒC‚ª‚©‚©‚é–â‘èC³B + help.txt C³B + (map/) + clif.c + clif_parse_CreateParty2() ’ljÁB + clif_parse_ItemIdentify() C³B + ‚»‚Ì‘¼­‚µC³B + atcommand.hAatcommand.c C³B + battle.h + struct Battle_Config‚Éguild_emperium_check’ljÁB + battle.c + battle_config_read() C³B + guild.c + guild_create()Aguild_created() C³B + skill.c + skill_castend_id()Askill_castend_pos() C³B + Makefile C³B + (doc/) + client_packet.txt + ƒpƒPƒbƒg0x01e8 ’ljÁB + conf_ref.txt C³B + (conf/) + atcommand_athena.conf C³B + battle_athena.conf C³B + +-------------- +//0593 by Ž€_ + +EƒƒeƒI‚ƃoƒ~ƒŠƒIƒ“‚̃_ƒ[ƒWC³‚Æׂ©‚¢C³B +EƒƒeƒI‚Ìè¦Î‚ª—Ž‚¿‚Ä‚­‚é”͈͂ð7*7‚©‚ç5*5‚É•ÏXB(‚±‚ê‚Å’†‰›‚Í‘S‚Ä‚Ìè¦Î‚Ì +ƒ_ƒ[ƒW‚ðŽó‚¯‚邱‚Æ‚É‚È‚è‚Ü‚·B) +EŽ©“®‰ñ•œŒvŽZŽ®•ÏXB + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp/50)‚©‚ç + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + (max_hp*ƒXƒLƒ‹ƒŒƒxƒ‹/500)‚É•ÏXB(SP‚Æ‘§‚à“¯‚¶‚悤‚É•ÏXB) +EGM‰EƒNƒŠƒbƒN–½—ßuŽg—pŽÒ‹­§I—¹v‚Åatcommand_athena.conf‚Ìkick‚Ì +ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏXB + (db/) + skill_db.txt + ƒXƒLƒ‹‹CŒ÷‚Ìsp‚ð10‚©‚ç8‚ÉC³B + (map/) + map.c + NO_WATER‚ð100‚©‚ç1000000‚É•ÏXB + battle.c + battle_calc_magic_attack() C³B + skill.c + skill_castend_pos2() C³B + pc.c + pc_natural_heal_hp()Apc_natural_heal_sp()Apc_spirit_heal() C³B + clif.c + clif_parse_GMKick() C³B + (doc/) + conf_ref.txt C³B + +-------------- +//0592 by ˆø‘Þl + +E…ê‚Ì—L‚è–³‚µ‚ðwater_height.txt‚¾‚¯‚ÅŒˆ‚ß‚é‚悤‚É•ÏXBnpc_water.txt‚Í•s—v‚ÉB +EƒJ[ƒhƒXƒLƒ‹‚ł̓Œƒxƒ‹ã‚°‚Å‚«‚È‚¢‚悤‚É‚È‚Á‚½‚½‚ß•s—v‚É‚È‚Á‚½ˆ—‚ðíœB + (conf/) + map_athena.conf + npc: conf/npc_water.txt Á‹Ž + water_height.txt + ƒfƒtƒHƒ‹ƒg‚‚³3‚̃}ƒbƒv•ª‚ð’ljÁ•all_water‚ð‚‚³-100‚Æ‚µ‚ăRƒƒ“ƒg‚ŒljÁ + (map/) + map.c + waterlist‚Ímap_readwater()“à‚Ńƒ‚ƒŠŠm•Û + gatÝ’èŒã‚Í•s—v‚È‚Ì‚Åmap_readallmap()‚Ńƒ‚ƒŠŠJ•ú‚µ‚Ä‚¢‚Ü‚· + map.h + struct map_data‚Ìflag‚©‚çwater_flag‚ðÁ‹Ž + npc.c + npc_parse_mapflag() + ƒ}ƒbƒvƒtƒ‰ƒOwater‚Æall_water‚ðÁ‹Ž + pc.c + pc_skillup() + — ‚ŃXƒLƒ‹LvUP‚Å‚«‚È‚­‚È‚Á‚½‚Ì‚Åskill[id].flag‚Ì•ª‚ÍÁ‹Ž + skill.c + skill_check_condition() + map_getcell‚Å…ê”»’è‚·‚é‚悤‚ÉC³ + +-------------- +//0591 by CHRIS + +Eƒ‚ƒ“ƒN‚ªŸ†’e‚ð‚à‚Á‚Ä‚¢‚é‚Æ‚«AŸ†’e*3‚Ì•K’†ƒ_ƒ[ƒW‚ª“ü‚é—l‚É‚È‚è‚Ü‚µ‚½B„Ÿ@battle.cC³ +Eƒ‚ƒ“ƒNƒXƒLƒ‹uŽw’ev‚Æu”­™¤v‚Æu‹CEv‚̉r¥ŽžŠÔ‚ª³‚µ‚­C³‚³‚ê‚Ü‚µ‚½B„Ÿ@cast_db.txtC³ + +-------------- +//0590 by Ž€_ + +Egrf-files.txt‚âconfƒtƒ@ƒCƒ‹Aaccount.txtƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ƈʒu‚ð•Ï‚¦‚é‚悤‚É•ÏXB +Eƒ}ƒbƒvˆÚ“®‚É‚æ‚éŽI—Ž‚¿‚ð–h‚®ˆ×‚ÉC³B(ƒ}ƒbƒv‚ª“ñ“xƒ[ƒh‚³‚ê‚ÄŽI—Ž‚¿‚ª +‹N‚±‚Á‚½‚Æ‚Ì•ñ‚ðŽó‚¯‚½‚Ì‚ÅB) +E0586‚ð‚¿‚å‚Á‚ÆC³B‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ÌꇃŒƒxƒ‹ã‚°‚ª‚Å‚«‚È‚¢‚悤‚ÉC³B +‚½‚¾‘•”õ‚É‚æ‚éƒXƒLƒ‹‚ðƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðŽg‚Á‚Äã‚°‚鎞‚Í‘•”õ‚ðŠO‚·•K—v‚ª +‚ ‚è‚Ü‚·B +E@party‚¿‚å‚Á‚ÆC³B(–¼‘O‚É‹ó”’‚ª‚ ‚Á‚Ä‚à‘åä•v‚Ȃ悤‚ÉB) +E…ê‚Ì‚‚³‚ðwater_height.txt‚Å“Ç‚Ýž‚ނ悤‚É•ÏXB +Econfƒtƒ@ƒCƒ‹‚ÅÝ’è‚·‚镨‚ðƒtƒ@ƒCƒ‹‚̃pƒX‚É‹ó”’‚ª‚ ‚Á‚Ä‚à‘åä•v‚È +‚悤‚É•ÏXB +EGM‰EƒNƒŠƒbƒN–½—ßuŽg—pŽÒ‹­§I—¹v‚Ń‚ƒ“ƒXƒ^[‚ð“|‚¹‚é‚悤‚É•ÏXB +(Œ´ˆö‚Í•s–¾‚Å‚·‚ª‚±‚ê‚Ń‚ƒ“ƒXƒ^[‚ðŽE‚·‚ÆŽI‚ª‚ß‚¿‚á‚­‚¿‚á‚É’x‚­‚Ȃ邱‚Æ‚ª +‚ ‚è‚Ü‚·B) +E‚»‚Ì‘¼­‚µC³B +EƒeƒXƒg‚Í–w‚ñ‚Ç‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + athena-start C³B + (map/) + pc.c + pc_skill()Apc_resetskill()Apc_setpos()Apc_read_gm_account() C³B + pc_set_gm_account_fname() ’ljÁB + pc.h + pc_set_gm_account_fname() ’ljÁB + clif.c + clif_skillinfoblock()Aclif_parse_LoadEndAck()Aclif_parse_GMKick() C³B + clif_changemap() C³B + atcommand.c + @partty C³B + skill.c + skill_castend_nodamage_id() C³B + map.c + map_config_read()Amap_readwater() C³B + script.c + script_config_read()Ado_init_script() C³B + script.h + script_config_read() ’ljÁB + (common/) + version.h C³B + grfio.h + grfio.c + grfio_init() C³B + mmo.h + GRF_PATH_FILENAME ’ljÁB + (conf/) + map_athena.conf C³B + npc_water.txt C³B + water_height.txt ’ljÁB + login_athena.conf C³B + (login/) + login.c + login_config_read()Aread_gm_account() C³B + (char/) + char.c + do_init() C³B + char_config_read() ’ljÁB + inter.c + inter_config_read() C³B + (doc/) + conf_ref.txt C³B + +-------------- +//0589 by ŒÓ’±—– + +EGM‚̉EƒNƒŠƒbƒN‚ÅØ’f‚³‚ê‚é–â‘è‚ðC³ + ‚Æ‚è‚ ‚¦‚¸01dfƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚Ü‚µ‚½B + ‚È‚ñ‚Æ‚È‚­‚±‚̃pƒPƒbƒg‚̓`ƒƒƒbƒg‹ÖŽ~‰ñ”‚Æ‚ÍŠÖŒW–³‚¢‚悤‚È‹C‚àcc + + clif.c + clif_parse_GMReqNoChatCount()’ljÁ + +Estart‚ðathena.sh‚Å‚È‚­athena-start‚ðŽg‚¤‚悤‚É•ÏX + start + athena.sh => athena-start start‚É’u‚«Š·‚¦‚µ‚½‚¾‚¯ + +-------------- +//0588 by Kalen + +EAmatsuNPC’ljÁ + +-------------- +//0587 by ŒÓ’±—– + +EloginƒT[ƒo[‚ÌŠÇ—ƒpƒPƒbƒg‚ÌŽd—l‚ð•ÏXi0579‚̃ƒOƒCƒ“‹‘”Ûî•ñ‚ɑΉžj + (login/) + login.c + ƒAƒJƒEƒ“ƒgƒoƒ“ó‘Ô•ÏXƒpƒPƒbƒg’ljÁ(7936,7937) + ƒAƒJƒEƒ“ƒgƒŠƒXƒgŠ“¾ƒpƒPƒbƒgC³(7921) + (doc/) + admin_packet.txt + +Eladmin‚Ì‹@”\’ljÁ + Eƒoƒ“ó‘Ô‚ð•ÏX‚·‚éƒRƒ}ƒ“ƒh’ljÁ + EƒŠƒXƒg•\Ž¦‚ÆŒŸõ‚Ńoƒ“ó‘Ô‚à•\Ž¦‚³‚ê‚é‚悤‚É‚È‚Á‚½ + E"?"‚Å‚àƒwƒ‹ƒv‚ªo‚é‚悤‚ÉC³ + EƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Éstateaccount‚ª’ljÁ‚³‚ê‚Ü‚µ‚½B + Žg‚¤l‚Íladmin‚Ì--makesymlink‚ð‚à‚¤ˆê“xŽÀs‚µ‚Ä‚­‚¾‚³‚¢ + + (tool/) + ladmin + ‹@”\’ljÁ + +-------------- +//0586 by ˆø‘Þl +EƒJ[ƒhƒXƒLƒ‹‚ðC³ + (/map) + pc.c + pc_calc_skilltree() + pc_skill() + Šo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹‚È‚çskill[id].flag=1‚Æ‚·‚é + ‚Ü‚½‚Ískill[id].flag‚É–{—ˆ‚Ìlv‚ð+2‚µ‚Ä‹L‰¯ + pc_skillup() + skill[id].flag‚à‘‚â‚· + clif.c + clif_skillinfoblock() + skill[id].flag==1‚È‚çŠo‚¦‚ç‚ê‚È‚¢ƒXƒLƒ‹ + (/char) + char.c + mmo_char_tostr() + skill[id].flag‚©‚ç–{—ˆ‚Ìlv’l‚ð•Û‘¶‚·‚é + +-------------- +//0585 by kalen +EscriptC³ + npc_town_guid.txt ŠOŒ©•ÏX + +-------------- +//0584 by ˆø‘Þl +EƒJ[ƒhƒXƒLƒ‹‚ðC³ + (/map) + pc.c + pc_calc_skilltree() cardƒXƒLƒ‹‚ð–Y‚ꂳ‚¹‚鈗‚ð’ljÁ + pc_skill() ®— + +-------------- +//0583 by kalen +EscriptC³ + npc_event_doll.txt ”²‚¯‚Ä‚¢‚½•”•ª‚̉ï˜b’ljÁ + npc_town_guid.txt ’¬‚̈ēà—vˆõ‚̉摜‚ð•\Ž¦‚Å‚«‚é‚悤‚ÉC³ + Šî–{“I‚ÉÅVjRO‚Å–â‘è‚È‚µ‚Å‚·B + +-------------- +//0582 by PRevEv +E580‚̃oƒOC³B + (/map) + skill.c + skill_use_pos() C³B +-------------- +//0581 by ˆø‘Þl +E…ê‚‚³Ý’èŠÖ˜A‚ð­‚µC³ + (/map) + map.c + map_waterheight() + map_readwater() + map_readmap() + waterlist[512] -> *waterlist‚É‚µ‚ÄAmalloc‚Ńƒ‚ƒŠŠm•Û‚·‚é‚悤‚ÉC³B + map_readallmap() + free(waterlist);’ljÁ + +EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý + (conf/) + npc_town_refine.txt ƒZƒ~ƒRƒƒ“”²‚¯C³ + (db/) + item_db.txt 1161,ƒoƒ‹ƒ€ƒ“C³ + +-------------- +//0580 by PRevEv +EƒtƒŠ[ƒLƒƒƒXƒg‰¼ŽÀ‘•(ƒLƒƒƒXƒeƒBƒ“ƒO’†UŒ‚‚Í•s‰Â”\) + (/map) + clif.c + clif_parse_WalkToXY() C³B + pc.c + pc_calcstatus() C³B + skill.c + skill_castend_id()Askill_castend_pos()Askill_use_id()Askill_use_pos() C³B +-------------- +//0579 by A‚Ìl +EƒƒOƒCƒ“‚ð’e‚­ˆ—‚ð‰¼ŽÀ‘• + conf/login.c + auth_dat\‘¢‘Ì‚Éstate‚ð’ljÁ + mmo_authŠÖ”C³ + mmo_auth_newŠÖ”C³ + mmo_auth_syncŠÖ”C³ + mmo_auth_initŠÖ”C³ + + ‚±‚Ì’l‚ð•ÏX‚·‚éƒc[ƒ‹A‰ü‘PôB‘¼—Í–{Šè‚Å‚·i„ƒG +-------------- +//0578 by ˆø‘Þl +EƒoƒO•ñƒXƒŒƒbƒh‚ÌC³ƒpƒbƒ`‚ðŽæ‚èž‚Ý‚È‚Çithanx to ‚é‚é‚邳‚ñ,Athefans‚³‚ñ,sage‚³‚ñ,zupport‚³‚ñj + help.txt @go‚Ìà–¾‚¿‚å‚Á‚ÆC³ + (conf/) + npc_mob_job.txt ‘æ4—ñ–Ú‚ðTab‹æØ‚è‚ÉC³ + npc_water.txt …ê‚‚³C³ + (db/) + item_db.txt 640,...,{ pet 1155; },{},,‚ÉC³ + mob_db.txt 1162,RAFFLESIA,ƒ‰ƒtƒŒƒVƒA...C³ + +-------------- +//0577 by ‚é‚é‚é +E@ƒRƒ}ƒ“ƒh‚ð’ljÁ•C³ + atcommand.c + atcommand() @itemresetƒRƒ}ƒ“ƒh’ljÁ @goƒRƒ}ƒ“ƒhC³iƒAƒ}ƒcEƒRƒ“ƒƒ“‚ð’ljÁj + atcommand_config_read() ã‚ɇ‚킹‚ÄitemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ + + doc/conf_ref.txt + conf/atcommand_athena.conf itemresetŽg—pƒŒƒxƒ‹Žw’è‚ð’ljÁ + help.txt @itemreset‚Ìà–¾’ljÁ‚Æ@go‚Ìà–¾C³ + +------------- +//0576 by V&S +EƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh‚ƃo[ƒXƒŠ[ƒJ[ƒh‚ÌŒø‰Ê‚ª‹t‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ + { bonus bDefEle,7; }¨ƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) + { bonus bDefEle,8; }¨ƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) + ª‚¾‚Á‚½‚Ì‚ð«‚ÉC³ + { bonus bDefEle,7; }¨ƒo[ƒXƒŠ[ƒJ[ƒh(ˆÅ) + { bonus bDefEle,8; }¨ƒS[ƒXƒgƒŠƒ“ƒOƒJ[ƒh(”O) + + |“S‚Ìd—Ê‚ðC³ + +-------------- +//0575 by ˆø‘Þl +E…êƒtƒ@ƒCƒ‹‚ª"conf/npc_water.txt"ŒÅ’肾‚Á‚½‚Ì‚ðC³ +iconf/map_athena.conf‚Ìnpc:‚É‘‚©‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ð‚Ý‚Ä…ê‚‚³Ý’è‚·‚é‚悤‚Éj + map.c + struct waterlist[512]; V‹K’ljÁBƒ}ƒbƒvƒtƒ@ƒCƒ‹–¼‚Æ…ê‚‚³‚ð‹L‰¯B + map_waterheight() V‹K’ljÁB…ê‚Ì‚‚³‚ð•Ô‚·B + map_readwater() …êƒtƒ@ƒCƒ‹‚ð‚Ý‚Äwaterlist‚ðÝ’è‚·‚é‚悤‚ÉC³B + map_readmap() map_waterheight()‚ðŒÄ‚Ԃ悤‚ÉC³B + map_config_read() "npc"‚Åmap_readwater(w2);’ljÁB + +-------------- +//0574 by ‚¢‚Ç + +EƒT[ƒo[Snapshot +Econf/shop_*.txt‚Ì“à—e‚ðconf/npc_town_*.txt‚É“‡ + +-------------- +//0573 by Jazz + +Emap‚Ì penalty, nomemo, noteleport, nobranch‚Ì option‚ðÝ’èB +Emap ƒT[ƒo[‚ª cpu‚𖳌Àè—L‚·‚邱‚Æ‚ðŒŸ¸‚·‚邽‚ß‚Ì script “Y•t. cygwinŠÂ‹«‚Å쬂ƎÀŒ±‚ð‚µ‚Ü‚µ‚½. + (/conf) + mapflag.txt ’ljÁB + (/tool) + mapcheck.sh ’ljÁB + +-------------- +//0572 by ˆø‘Þl +E"conf/npc_water.txt"‚Ì‘æ4—ñ‚Å…ê‚‚³Ý’è +@i‚¿‚á‚ñ‚Æ‚µ‚½…ê”»’肪ŽÀ‘•‚³‚ê‚é‚܂ł̂‚Ȃ¬‚Æ‚µ‚ÄEEEj + (/conf) + npc_water.txt ƒTƒ“ƒvƒ‹C³B + E‘æ4—ñ‚Å…ê‚Ì‚‚³‚ðݒ肵‚Ü‚·B + E‚‚³‚ð‘‚©‚È‚©‚Á‚½ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í3‚É‚È‚è‚Ü‚·B + (/map) + map.c + E…ê‚‚³Ý’èŠÖ” map_readwater() ’ljÁB + +-------------- +//0571 by code +“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚ÌC³ +“V’Ãpƒbƒ`‚É›À›Ä‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Ì‚ðŠm”F‚µ‚½‚Ì‚Å›À›Ä‚̃[ƒv‚Æmob‚ð”z’u + +conf/npc_monster35.txt + mob‚Ì”z’u + +conf/npc_warp_amatsu.txt +@@ “V’Ãwarp point‚ÌÝ’u + +conf/npc_warp_gonryun.txt + ›À›Äwarp point‚ÌÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`^ƒvƒƒ“ƒeƒ‰•¬…‘O©¨›À›Ä‚ÌÚ‘±NPC + +-------------- +//0570 by code +“V’ÃtƒB[ƒ‹ƒh‚ÌMOB‚Ì”z’u‚ƃ[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è‚Å‚·B +conf/npc_monster35.txt + mob‚Ì”z’u + +conf/npc_warp_amatsu.txt +@@ warp point‚ÌÝ’u + +conf/npc_town_amatsu.txt +@@ Žb’è“I‚Ƀvƒƒ“ƒeƒ‰•¬…‘O©¨“V’Ã`‚ÌÚ‘±NPC + +-------------- +//0569 by Ž€_ + +E0561‚Ì@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~‚ðpc_jobchange()‚Å‚·‚é‚悤‚É•ÏXB +E@ƒRƒ}ƒ“ƒh@party’ljÁBƒp[ƒeƒB‚ðì‚é–½—ß‚Å‚·BŠØ‘ˆÆ‚ðŽg‚¤‚ƃp[ƒeƒB‚ðì‚鎞Ž~‚Ü‚é‚Ì‚Å—ÕŽž“I‚É‚±‚ê‚ðŽg‚Á‚ăp[ƒeƒB‚ðì‚Á‚Ä‚­‚¾‚³‚¢B +E…‚Ì”»’fˆ—C³B +Eƒ}ƒbƒvƒtƒ‰ƒO‚Éwater‚Æall_water’ljÁBÚ‚µ‚­‚Ínpc_water.txt‚ðŽQl‚µ‚Ä‚­‚¾‚³‚¢B +iz_dun0x‚¾‚¯“ü—Í‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å‘¼‚Ì‚Í–„‚ß‚Ä‚­‚¾‚³‚¢Bƒ}ƒbƒvƒtƒ‰ƒOwater‚©all_water‚ª“ü‚Á‚Ä‚È‚¢‚ƃZƒ‹‚Ìtype‚ª3‚Å‚à…‚Æ‚µ‚Ä”FŽ¯‚µ‚Ü‚¹‚ñB‚»‚µ‚Ä…‚¾‚炯‚Ìiz_dun02‚©‚ç04‚Ü‚Å‚Í‘S‚Ä…‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚Éall_water‚ð“ü‚ê‚Ä‚¢‚Ü‚·B(‚±‚êˆÈŠO‚Í•û–@‚ª‚È‚©‚Á‚½‚Ì‚Å...) +Ebattle_athena.conf‚É€–ڒljÁBˆê•”‚ÍWeiss‚ðŽQl‚µ‚Äì‚Á‚½•¨‚Å‚·B +EƒeƒXƒg‚µ‚Ä‚È‚¢•¨‚à­‚µ‚ ‚è‚Ü‚·B + (/conf) + atcommand_athena.conf C³B + battle_athena.conf C³B + map_athena.conf C³B + npc_water.txt ’ljÁB + (/doc) + conf_ref.txt C³B + (/map) + atcommand.hAatcommand.c C³B + battle.h C³B + battle.c + battle_config_read() C³B + pc.c + pc_jobchange()Apc_stop_walking() C³B + npc.c + npc_parse_warp()Ado_init_npc()Anpc_parse_mapflag() C³B + mob.c + mob_ai_sub_hard() C³B + pet.c + pet_food() C³B + skill.c + skill_check_condition() C³B + map.h + struct map_data C³B + +-------------- +//0568 by ˆø‘Þl + +EƒAƒNƒAƒxƒlƒfƒBƒNƒ^…ê”»’è‚È‚Ç +EƒEƒH[ƒ^[ƒ{[ƒ‹…ê”»’èiread_gat(m,x,y)==3‚Å…ê‚Æ”»’èj + skill.c + skill_castend_nodamage_id() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i¹…Žæ“¾j + skill_check_condition() + case AL_HOLYWATER: ƒAƒNƒAƒxƒlƒfƒBƒNƒ^i…ê”»’èj + case WZ_WATERBALL: ƒEƒH[ƒ^[ƒ{[ƒ‹i…ê”»’èj + +-------------- +//0567 by ‚é‚é‚é + +EƒAƒRƒ‰ƒCƒg‚̃AƒNƒAƒxƒlƒfƒBƒNƒ^‚ð‰¼ŽÀ‘•i…êŒÀ’èŽg—p‚Ì‚Ý–¢ŽÀ‘•j +EƒvƒŠ[ƒXƒg‚̃AƒXƒyƒ‹ƒVƒIAƒZ[ƒW‚̃tƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[‚ŃXƒLƒ‹Žg—pŽž‚ɃAƒCƒeƒ€Á”ï +Eƒ~ƒXƒgƒŒƒXƒJ[ƒh‘•”õŽž‚ɃZ[ƒW‚Ì‘®«Œ´Î•ƒnƒ“ƒ^[‚Ìã©‚ªÁ”‚ê‚È‚¢ƒoƒO‚ðC³ + + (/map) + skill.c + skill_check_condition() C³ + +-------------- +//0566 by ƒpƒCƒ“ + +E0563‚̃XƒLƒ‹‰ðœðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ÅC³B•Ší‚ð‚Í‚¸‚·&•Ší‚ð•Ï‚¦‚½ê‡‚Í +@–³ðŒ‚ʼn𜂷‚é‚悤‚É‚µ‚½B + +# pc_checkallowskill ‚ɂ‚¢‚Ä(‘O‰ñà–¾‘‚­‚Ì‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚Åc) +@ˆê‰ž¡Œã‚ÌŠÜ‚Ý‚Æ‚µ‚Äreturn‚ð•Ô‚·‚悤‚É‚µ‚Ä‚¢‚Ü‚·‚ªAŒ»Ý‚Í(–ß‚èæ‚Å‚Í)Žg‚Á‚Ä‚¢‚Ü‚¹‚ñB +@¡Œ»Ý‚Í‹RŽmEƒNƒ‹ƒZƒCƒ_[‚­‚ç‚¢‚µ‚©ƒXƒLƒ‹Žg—pŽž‚Ì•Ší§ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñ‚ªA¡Œão‚Ä‚±‚È‚¢ +@‚Æ‚àŒÀ‚ç‚È‚¢‚Ì‚ÅA‚à‚µ(2ŽŸãˆÊ‚©3ŽŸH)o‚Ä‚«‚½‚炱‚±‚Ń`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B + + (/map) + pc.c + pc_checkallowskill() C³ + +-------------- +//0565 by ˆø‘Þl + +Eƒ}ƒbƒvˆÚ“®Žž‚É–î‘•”õ‚ªŠO‚ê‚È‚¢‚悤‚ÉC³ +EƒƒOƒCƒ“Žž‚É–î‘•”õ‚ª•\Ž¦‚³‚ê‚é‚悤‚ÉC³ + (/common) + mmo.h + i–î‘•”õ‚Í0x8000‚È‚Ì‚Åjshort‚¾‚Æint‚ւ̃LƒƒƒXƒgŽž‚È‚Ç‚É + •‰’l‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤‚½‚ßunsigned short‚ÉC³ + struct item + short equip; -> unsigned short equip; + (/map) + clif.c + clif_itemlist() ƒAƒCƒeƒ€ƒŠƒXƒg‚Ì–î‚̂‚¢‚Å‚É–î‘•”õ‚àƒ`ƒFƒbƒN + clif_arrowequip() ƒVƒ“ƒvƒ‹‰» + pc.c + pc_equipitem() C³ + +-------------- +//0564 by g—t + +E@model‚Ì•žõ‚ß•s‰Â”\”»’èC³B +E@model‚ÅA‘I‚ׂéƒnƒY‚Ì”¯Œ`‚É•ÏXo—ˆ‚È‚©‚Á‚½•”•ª‚ðC³B +@ã‹L•ÏX“_‚ɇ‚킹‚Ähelp.txt‚ÌC³B + +-------------- +//0563 by ƒpƒCƒ“ + +EMOB‚̈ÈŃXƒLƒ‹‚ðH‚ç‚Á‚½Œã‚ɉñ•œ‚µ‚È‚¢‚Ì‚ðC³Bc‚È‚ñ‚¾‚¯‚ÇA“K³‚È’l‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å +@“Å‚â’¾–Ù‚Æ“¯‚¶ŽžŠÔ‚É‚µ‚Ä‚ ‚è‚Ü‚· +@¡ŒãA‚Ü‚½Žè‚ð‰Á‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB +E2HQ‚ƃXƒsƒAƒNƒCƒbƒPƒ“‚ðŽg—p’†‚É•Ší‚ð•Ï‚¦‚½ê‡‚͉𜂷‚é‚悤‚É•ÏXB + + (/map) + skill.c + skill_castend_damage_id() C³B + skill_status_change_timer() C³B + pc.c + pc_checkallowskill() VÝB + pc_equipitem() C³B + pc.h + pc_checkallowskill() VÝB + +-------------- +//0562 by huge + +E–î‚ð‹|‘•”õŽžˆÈŠO‚Å‚à‘•”õ‚Å‚«‚é‚悤‚É–ß‚µ‚Ü‚µ‚½B +E–î‚Ì‘®«‚ð“K—p‚·‚é‚Ì‚ð‹|‘•”õŽž‚Ì‚Ý‚ÉC³B + + pc.c + pc_equipitem() C³B + pc_calcstatus() C³B + +-------------- +//0561 by ˆø‘Þl + +ELinux‚Å‚àƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚悤‚É + (/map) + skill.c + skill_castend_damage_id() •Ï”dx,dy‚Ì錾ˆÊ’u•ÏX + Makefile + LIBS ‚É -lm ’ljÁ + +E@jobcange ‚Å‚ÌŠƒo[ƒh•‰ƒ_ƒ“ƒT[‚É‚æ‚éˆÆ—Ž‚¿–hŽ~B by (no name)‚³‚ñ + atcommand.c + @jobchange,@charjob‚É«•Êƒ`ƒFƒbƒN’ljÁ + +// ƒiƒiƒX‚³‚ñC³ +Eclif.c“à‚Åatcommand.h‚ð‚Q“xinclude‚µ‚Ä‚¢‚½‚̂ňê‚ÂíœB +Eƒp[ƒeƒB[‰ï˜bAƒMƒ‹ƒh‰ï˜b‚Å‚à@ƒRƒ}ƒ“ƒh‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³B + (/map) + clif.c + clif_parse_PartyMessage()Aclif_parse_GuildMessage C³B + +-------------- +//0560 by ƒpƒCƒ“ + +E0559 ‚Ì athena-start ‚ð Unix Like OS ‚Å‚à“®‚­‚悤‚ɃŠƒtƒ@ƒCƒ“B + +-------------- +//0559 by rowla + +Eathena.sh‚ð‘S–Ê“I‚É‘‚«’¼‚µAathena-start‚ÉBathena-start start‚ÅŠJŽnAathena-start stop‚ŃT[ƒo[’âŽ~Bcygwin‚ŃeƒXƒgA*BSD|Linux‚Å‚Í–¢ƒeƒXƒg(ŠÂ‹«‚ª‚È‚¢‚½‚ß)B + +-------------- +//0558 by Ž€_ + +EƒuƒŠƒbƒcƒr[ƒg‚ðŽ©“®‚¾‚¯‹|‚ð‘•”õ‚µ‚Ä‚¢‚È‚¢‚Æ”­“®‚Å‚«‚È‚¢‚悤‚É•ÏXB(Žè“®‚Í•Ší‚ÉŠÖŒW‚È‚­Žg‚¦‚Ü‚·B) –¢ƒeƒXƒgB +Eƒgƒ‰ƒbƒv‚Ìd‚³C³B(‰½ŒÌ‚©‚Í’m‚ç‚È‚¢‚¯‚Ç100‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ð10‚ÉC³Bˆö‚Ý‚É‘q‚Ì•\Ž¦‚Í100‚ª10‚Å10‚ª1‚Å‚·B) +E‹|‚ÅŽg‚¤ƒXƒLƒ‹‚ÌꇖŒ¸‚ç‚È‚¢‚Ì‚ªŽd—l‚¾‚Á‚½‚ÆŠo‚¦‚Ä‚¢‚é‚Ì‚Å–î‚ðƒ`ƒFƒbƒN‚µ‚È‚¢‚悤‚ÉC³B +Eƒ‚ƒ“ƒNƒXƒLƒ‹ŽO’i¶‚Ì•\Ž¦‚ðƒpƒbƒVƒu‚É•ÏXB +Eƒ}ƒbƒvƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚鎞dummy‚ª‚È‚­‚Ä‚àƒZƒbƒg‚Å‚«‚é‚悤‚ÉC³B +(mapflag nomomo dummy‚©‚çmapflag nomemo‚Å‚à‘åä•v‚Ȃ悤‚É•ÏXB) +–¢ƒeƒXƒgB + (/db) + item_db.txt C³B + skill_db.txt C³B + (/map) + skill.c + skill_check_condition()Askill_additional_effect() C³B + skill_status_change_start() C³B + npc.c + do_init_npc() C³B + +-------------- +//0557 by huge + +E–î‚ðA‹|‘•”õŽž‚Ì‚Ý‘•”õ‚Å‚«‚é‚悤‚ÉC³B +E‹|‚ð‘•”õ‚©‚çŠO‚µ‚½‚çA–î‚àŠO‚ê‚é‚悤‚ÉC³B +E–î‚ðÁ”ï‚·‚éƒXƒLƒ‹‚ð‚¢‚­‚‚©C³B +E‘é‚ðA‹|‚ð‘•”õ‚µ‚Ä‚¢‚é‚Æ‚«‚Ì‚Ý”­“®‚·‚é‚悤‚ÉC³B(–¢ƒeƒXƒg) + + pc.c + pc_equipitem() C³B + pc_unequipitem() C³B + skill.c + skill_additional_effect() C³B + skill_check_condition() C³B + +-------------- +//0555 by Ž€_ + +Eׂ©‚¢C³‚ƃvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXAŒÃ‚¢Šª•¨‚̃oƒOC³B +E@ƒRƒ}ƒ“ƒh@refineA@produce­‚µC³B +EƒT[ƒo[‚ÌIP‚ÉDNS–¼‚ðŽg‚¦‚é‚悤‚É•ÏXB(¡‚³‚ç‚Å‚·‚ªYare‚©‚ç +Ž‚Á‚Ä‚«‚½•¨‚Å‚·B) +EƒXƒeƒB[ƒ‹ŒvŽZŽ®•ÏX‚ÆMVPƒAƒCƒeƒ€ˆ—•ÏXB +E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒ±’lŠl“¾ŒvŽZŽ®•ÏXB + Šl“¾ƒWƒ‡ƒuŒoŒ±’l = ln(‹à*ƒXƒLƒ‹ƒŒƒxƒ‹) * shop_exp / 100 +E‚Ù‚Æ‚ñ‚ǃeƒXƒg‚µ‚Ä‚È‚¢‚̂ŃoƒO‚̉”\«‚ª‚ ‚è‚Ü‚·B + help.txt C³B + (/conf) + atcommand_athena.conf C³B + battle_athena.conf C³B + (/db) + item_db.txt C³B + (/doc) + conf_ref.txt C³B + (/char) + char.c + do_init()Acheck_connect_login_server() C³‚Æ­‚µC³B + (/map) + mob.c + mob_damage() C³B + pc.c + pc_getitemfromcart()Apc_steal_item() C³B + pet.c + pet_return_egg()Apet_get_egg()Apet_unequipitem() C³B + script.c + buildin_getitem() C³B + skill.c + skill_produce_mix() C³B + storage.c + storage_storageget() C³B + atcommand.c C³B + map.c + map_config_read() C³‚Æ­‚µC³B + chrif.c + check_connect_char_server()Ado_init_chrif()Achrif_setip() C³‚Æ­‚µC³B + npc.c + npc_buylist()Anpc_selllist() C³B + +-------------- +//0554 by NOCTURNE +EƒT[ƒo[SnapShot +Etoo/addaccount‚Ìíœ +Ehelp.txt‚ÌXV + +-------------- +//0553 by ŒÓ’±—– + +Eladmin‚̃oƒOC³‚Æ‹@”\’ljÁ + EƒL[ƒ[ƒh‚É‚æ‚éƒAƒJƒEƒ“ƒgŒŸõ‹@”\’ljÁ + EƒVƒFƒ‹ƒRƒ}ƒ“ƒh‚Æ‚µ‚ÄŽg—p‚Å‚«‚é‚悤‚Ƀvƒƒ“ƒvƒg‚ðŽg‚í‚È‚¢ƒ‚[ƒh’ljÁ + E’ljÁ‹@”\‚ɂ‚¢‚Ä‚Íladmin‚ðŒ©‚Ä‚­‚¾‚³‚¢ + E ladmin‚Ì--makesymlink‚É‚æ‚èAƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚Æ‚µ‚Äaddaccount‚ð + 쬂·‚邽‚ßAˆÈ‘O‚Ìaddaccount‚Í휂·‚é•K—v‚ª‚ ‚è‚Ü‚·B + ‚±‚ê‚ç‚̃Vƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN(Cygwin‚ł̓Vƒ‡[ƒgƒJƒbƒg)‚ÆA + ŒÃ‚¢addaccount‚ÍŽIsnapshot‚É‚ÍŠÜ‚Ü‚È‚¢‚ʼnº‚³‚¢B + + (tool/) + ladmin + ‹@”\’ljÁ‚ÆC³ + +E—«ƒAƒJƒEƒ“ƒg‚µ‚©ì¬‚Å‚«‚È‚¢ƒoƒOC³ +EladminAcheckversionŽg—pŽžloginƒT[ƒo[‚ª–\‘–‚·‚éƒoƒOC³ +EGMƒAƒJƒEƒ“ƒgŽü•Ó‚ÌID‚ð”ð‚¯‚é‚½‚ß‚ÉSTART_ACCOUNT_NUM‚ð•ÏX + (Šù‚ÉGMƒAƒJƒEƒ“ƒg‚Í”ð‚¯‚éŽd—l‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªA¬—–hŽ~‚Ì‚½‚ß) + + (login/) + login.h + START_ACCOUNT_NUM‚ð500000‚©‚ç2000000‚É•ÏX + login.c + 7532(Ø’f)ƒpƒPƒbƒg‚̈—C³ + mmo_auth_new()C³ + +Ebackup‚ªƒoƒbƒNƒAƒbƒv‚·‚éƒtƒ@ƒCƒ‹‚Épet.txt‚ð’ljÁ + (tool/) + backup + ƒtƒ@ƒCƒ‹’ljÁC³ + +-------------- +//0552 by Ž€_ + +EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Å‚·‚ª–{“–‚ɈÀ’è«ã‚ª‚Á‚½‚© +‚Ç‚¤‚©‚Í•s–¾‚Å‚·B +EPVP‚É‚æ‚èƒNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚é–â‘èC³B + atcommand.c + @pvpoffA@pvponA@gvgonA@gvgoff C³B + script.c + buildin_pvpon()Abuildin_pvpoff()Abuildin_gvgon()Abuildin_gvgoff() C³B + clif.c + clif_pvpset() C³B + skill.c + skill_attack()Askill_unit_onplace()Askill_unit_onout() C³B + skill_unit_ondelete() C³B + +-------------- +//0551 by Kalen +EDBC³ + db/create_arrow_db.txt Š®¬ + SourceID‡‚Ƀ\[ƒg‚µ‚Ü‚µ‚½B + +-------------- +//0550 by huge + +E–î쬃XƒLƒ‹ŽÀ‘• + + clif.c + clif.h + clif_arrow_create_list() ’ljÁ + clif_arrow_created() ’ljÁ + clif_parse() C³ + + pc.c + pc_search_inventory() C³ + + skill.c + skill.h + skill_arrow_db() ’ljÁ + skill_readdb() C³ + skill_castend_damage_id() C³ + + db/create_arrow_db.txt ’ljÁ + db/skill_db.txt C³ + + ‚Ü‚¾db‚Í–¢Š®¬‚Å‚·B + +-------------- +//0549 by Kalen + +Emap_athena.conf + ƒIƒŠƒWƒiƒ‹ƒXƒNƒŠƒvƒgA‹GߌÀ’èƒXƒNƒŠƒvƒg‚ð®“Ú + shop3.txt’ljÁ + +EŠeŽíNPC’ljÁ•C³ + npc_event_yuno.txt [’ljÁ]ƒWƒ…ƒm[ƒCƒxƒ“ƒg(ÂÎ5ŒÂGET) + npc_cTower.txt [’ljÁ]’nã’n‰º‚ÌŒ®NPC + npc_town_yuno.txt [C³]‘䎌C³ + + npc_event_carnival.txt [’ljÁ]‹ŒŽIƒJ[ƒjƒoƒ‹ƒCƒxƒ“ƒgŽž‚ÌNPC + +-------------- +//0548 by huge + +E–î‚ð‘•”õ‚µ‚½Žž‚Ì•\Ž¦ƒoƒO–â‘è‚ðC³B + clif.c + clif_arrowequip() C³B + pc.c + pc_equipitem() C³B + +‚ ‚Æ‚ÍAƒ}ƒbƒv‚ðˆÚ“®‚·‚邽‚Ñ‚É‘•”õ‚ªŠO‚ê‚¿‚Ⴄ“_‚Å‚·‚ËEEEB + +-------------- +//0547 by Ž€_ + +EˆÀ’è«‚ðã‚°‚éˆ×‚ÌC³‚Æׂ©‚¢C³B +EƒXƒLƒ‹ƒ†ƒjƒbƒg‚Ì”»’è‚ð‚µ‚Ä‚¢‚éŠÔƒƒ‚ƒŠ[‚ð‰ðœ‚Å‚«‚È‚¢‚悤‚É•ÏXB + map.c + map_foreachinarea()Amap_foreachinmovearea() C³B + map_foreachobject() C³B + block_free_max‚ð32000‚©‚ç50000‚É•ÏXB + pc.c + pc_calcstatus() C³B + skill.c + do_init_skill()Askill_unit_timer()Askill_status_change_clear() C³B + skill.cAbattle.cAbattle.h + struct battle_config‚Ìsanctury_type‚ðsanctuary_type‚É•ÏXB + (‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³B) + battle_athena.conf + sanctury_type‚ðsanctuary_type‚É•ÏXB + conf_ref.txt + sanctury_type‚ðsanctuary_type‚É•ÏXB + +-------------- +//0546 by Ž‚Žqo^.^o + +conf/npc_shop2.txt +DƒoˆêƒhAƒ_ƒ“ƒTˆê—p‚Ì•ŠíBƒRƒ‚ƒh‚Ì•Ší‰®‚Ŕ̔„‚µ‚Ä‚¢‚éB +Dƒ‚ƒ“ƒN—p‚Ì•ŠíBƒJƒsƒgˆêƒŠƒiC“¹‰@‚Ŕ̔„‚µ‚Ä‚¢‚éB + +-------------- +//0545 by Ž€_ + +EƒuƒŠƒbƒc‚̃_ƒ[ƒW‚ðŽ©“®‚Å•ªŽUAŽè“®‚Å•’Ê‚É‚È‚é‚悤‚É•ÏXB +EƒI[ƒgƒuƒŠƒbƒcƒoƒOC³B(‚±‚ê‚Å‘åä•v‚¾‚Æ‚¢‚¢‚¯‚Ç...) + map.c + block_free_max‚ð16000‚©‚ç32000‚ÉC³B + block_list_max‚ð4096‚©‚ç5120‚ÉC³B + battle.c + battle_weapon_attack() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + +-------------- +//0544 by Diex +E–Ò—´Œ‚©‚爢C—…”e™€Œ‚ւ̃Rƒ“ƒ{ŽÀ‘•B +Eˆ¢C—…”e™€Œ”­“®ŒãA“G‚Ì”wŒã‚Ɉړ®‚·‚é‚悤AC³B +EŽO’i¶‚̃_ƒ[ƒWC³B + (/map) + skill.c + skill_castend_damage_id() C³B + skill_check_condition() C³B + skill_use_id() C³B + pc.c + pc_attack_timer() C³B + pc_authok() C³B + battle.c + battle_calc_weapon_attack() C³B + battle.h + struct Battle_Config C³B + map.h + struct map_session_data C³B + (/conf) + battle_athena.conf C³B + +‚Í‚Á‚«‚è‚¢‚Á‚ăRƒ“ƒ{Œq‚°‚Â炢‚Å‚·B‚»‚Ì‚½‚߈¢C—…‚ւ̃Rƒ“ƒ{‚Í‚©‚È‚èŠÃ‚¢”»’è‚É +‚µ‚Ä‚Ü‚·iˆêŽž“I‚É‚Å‚·‚ªjBŒq‚°‚Â炯‚ê‚Îbattle_athena.conf‚Ì‚Ù‚¤‚Ńfƒ…ƒŒƒCŽž +ŠÔ‚ð‘å‚«‚­‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B + “®‰æŒ©‚Ä‚Ä‹C‚¢‚½‚Ì‚Å‚·‚ªAˆ¢C—…”e™€Œ‚Í–Ò—´Œ‚ª”­“®‚µ‚½ŒãA‘¦Žž”­“®‚̃XƒL +ƒ‹‚É•Ï‚í‚Á‚Ä‚é‚悤‚È‚Ì‚Å‚·B‘¼—Í–{Šè‚Å‚·‚ªAˆ¢C—…‚܂ł̃Rƒ“ƒ{‚̃pƒP‚ð‹L˜^‚µ‚½ +•¨‚ð‚Ç‚È‚½‚©ƒAƒbƒv‚µ‚Ä‚à‚炦‚È‚¢‚Å‚µ‚傤‚©HÚׂª‚í‚©‚莟‘æAC³‚µ‚Ü‚·B + +-------------- +//0543 by Ž€_ + +EƒuƒŠƒbƒc‚̃_ƒ[ƒW‚𕪎U‚³‚ê‚é‚悤‚É•ÏXB +E•’ʂ̃AƒJƒEƒ“ƒgì‚è‚Å‚ÍGMƒAƒJƒEƒ“ƒg‚ðì‚ê‚È‚¢‚悤‚É•ÏXB +(‘O‚ÉŽ©•ª‚ª“ü‚ꂽ•¨‚ª‚È‚­‚È‚Á‚½‚Ì‚Å–ß‚µ‚½‚¾‚¯‚Å‚·‚ª...) +EŽæ‚芪‚«‚ªŽå‚ƈê‚ÉŽ€‚ʂ悤‚É•ÏXB(‚½‚¾‚¿‚å‚Á‚Æd‚­‚È‚é +‰Â”\«‚ª‚ ‚è‚Ü‚·B) –¢ƒeƒXƒgB +EMVPŒoŒ±’l‚ª•\Ž¦‚¾‚¯‚³‚ê‚ÄŽÀÛ‚É‚Í“ü‚Á‚Ä‚È‚¢–â‘èC³B + (/login) + login.c + mmo_auth_new() C³B + (/map) + skill.c + skill_castend_damage_id() C³B + battle.c + battle_calc_misc_attack() C³B + mob.c + mob_damage() C³B + mob_deleteslave()Amob_deleteslave_sub() ’ljÁB + +-------------- +//0542 by Ž€_ + +EƒI[ƒgƒuƒŠƒbƒcƒoƒOC³B(¡“x‚±‚»‘åä•v‚Ì‚Í‚¸...) +EŽ©•ª‚ÉŽg‚Á‚½ƒq[ƒ‹‚Å‚ÍŒoŒ±‚ª“ü‚ç‚È‚¢‚悤‚É•ÏXB +E“XNPC‚ð—˜—p‚É‚æ‚éƒWƒ‡ƒuŒoŒ±’lŠl“¾ŒvŽZŽ®•ÏXB + Šl“¾ƒWƒ‡ƒuŒoŒ±’l = ln(‹à) * shop_exp / 100 +‚É‚È‚è‚Ü‚·B +log‚ðŽg‚¤‚±‚Æ‚Å‹à‚ª‘½‚­‚Ä‚à“ü‚éŒoŒ±’l‚ª‘½‚­“ü‚ç‚È‚¢‚悤‚É•ÏX‚µ‚Ü‚µ‚½B + (/map) + battle.c + battle_damage() C³B + skill.c + skill_attack()Askill_castend_damage_id() C³B + skill_castend_nodamage_id C³B + npc.c + npc_buylist()Anpc_selllist() C³B + map.c + map_foreachinarea()Amap_foreachinmovearea()Amap_foreachobject() + C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) + (/conf) + battle_athena.conf C³B + (/doc) + conf_ref.txt C³B + +-------------- +//0541 by huge + +E–î‚ð‚Ü‚Æ‚ß‚ÄŽ‚Ä‚é‚悤‚ÉC³B +E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«‚ÉA‘•”õ‚µ‚Ä‚¢‚é–î‚ðÁ”ï‚·‚é‚悤‚ÉC³B + + itemdb.c + itemdb_search() C³ + itemdb_isequip() C³ + + battle.c + battle_weapon_attack() C³ + battle_calc_weapon_attack() C³ + + clif.c + clif.h + clif_arrow_fail() ’ljÁ + clif_parse_EquipItem() C³ + +-------------- +//0540 by Ž€_ + +EƒoƒOC³‚Æ–â‘è‚ ‚è‚»‚¤‚ÈŠC³B(‚±‚ê‚ÅWZ_FIREPILLAR‚ƃuƒŠƒbƒc‚É +‚æ‚éŽIƒ_ƒEƒ“‚Í‚È‚­‚È‚é‚Í‚¸...) + map.c + map_foreachinarea()Amap_foreachinmovearea() C³B + skill.c + skill_unitsetting()Askill_delunitgroup() C³B + pc.c + pc_damage() C³B + battle.c + battle_damage() C³B + npc.c + npc_parse_mob() C³B + mob.c + mob_spawn_dataset() C³B + +-------------- +//0539 by Ž€_ + +Eclif_pvpset()‚ðƒ}ƒbƒv‚©‚çAREA‚©ƒ}ƒbƒv‚©‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB(pvp‚ÌŽž‚̈—‚Í0535ˆÈ‘O‚Ì•¨‚É–ß‚»‚Ü‚µ‚½BŽ©•ª‚¾‚¯‚É“]‘—‚µ‚Ä‚à‚¢‚¢‚悤‚È‹C‚à‚µ‚Ü‚·‚ª...) + clif.hAclif.c + clif_pvpset() C³B + clif_parse_LoadEndAck() C³B + script.c + buildin_pvpoff() C³B + buildin_pvpon() C³B + atcommand.c C³B +EUŒ‚“r’†‚ŃAƒCƒeƒ€‚ðE‚¤‚ÆUŒ‚‚ªŽ~‚Ü‚é‚悤‚ÉC³B + pc.c + pc_takeitem() C³B +E0535à–¾‚ª”š—ô”g“®‚É‚È‚Á‚Ä‚¢‚邪‚»‚ê‚Í‹à„‚ÉŠÔˆá‚¢‚Å‚·B +E0537‚Åà–¾‚ð–Y‚ê‚Ü‚µ‚½‚ªƒ‚ƒ“ƒXƒ^[‚Ìdef‚Æmdef‚ð10000ˆÈã‚ÉÝ’è‚·‚ê‚ΑS‚Ä‚ÌUŒ‚‚É1ƒ_ƒ[ƒW‚ɂȂ郂ƒ“ƒXƒ^[‚É‚È‚è‚Ü‚·B‚»‚µ‚ă‚ƒ“ƒXƒ^[î•ñ‚Ådef‚Æ +mdef‚ª10000ˆÈã‚Ìê‡def 100Amdef 99‚É•\Ž¦‚·‚é‚悤‚É•ÏXB–{ŽIŽd—l‚É +‚·‚é‚É‚Ímob_db.txt‚ðC³‚µ‚Ä‚­‚¾‚³‚¢B + +-------------- +//0538 by huge + +EƒOƒŠƒ€ƒgƒD[ƒX‚ð”͈ÍUŒ‚‚ÉC³ +EƒTƒvƒ‰ƒCƒYƒAƒ^ƒbƒNŽÀ‘• (—LŒø”͈͂Á‚ÄA‚±‚ê‚Å‚ ‚Á‚Ä‚é‚Ì‚©‚ÈH) +EƒoƒbƒNƒXƒ^ƒu‚̉¼ŽÀ‘• + –{ŽI‚Å‚â‚Á‚Ä‚él‚©‚ç˜b‚ð•·‚¢‚ÄAꊎw’肶‚á‚È‚­‚Ä + ƒ^ƒQŽæ‚Á‚Ä‚à—Ç‚³‚»‚¤‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½Bi‚â‚è‚â‚·‚©‚Á‚½‚Ì‚Å (^^; + ‚Ü‚¾Amob‚ÌŒã‚ë‚É‹‚é‚©‚Ç‚¤‚©‚Ì”»’è‚Í“ü‚Á‚Ä‚Ü‚¹‚ñB + +Ebattle.c + battle_calc_weapon_attack() C³ + +Eskill.c + skill_additional_effect() C³ + skill_castend_damage_id() C³ + skill_check_condition() C³ + skill_use_id() C³ + skill_castend_nodamage_id() C³ + +Eskilldb.txt + ƒoƒbƒNƒXƒ^ƒu‚ÌŽí—Þ‚ð[êŠ]‚©‚ç[“G]‚Ö•ÏX + +-------------- +//0537 by Ž€_ + +EƒXƒeƒB[ƒ‹ƒoƒOC³‚Æbattle_athena.conf‚Ì€–ڒljÁAŽd—l•ÏX‚Æׂ©‚¢C³‚Å‚·B +(ƒXƒeƒB[ƒ‹‚ÍŒvŽZŽ®‚É–â‘肪‚ ‚Á‚½‚Ì‚ÅC³‚µ‚ÄŠm—¦‚ðX‚É—Ž‚Æ‚µ‚Ü‚µ‚½B) + battle.h + finger_offencive_type‚ðfinger_offensive_type‚ÉC³B(‰pŒêƒXƒyƒ‹ŠÔˆá‚¢‚ÅC³‚µ‚Ü‚µ‚½B) + struct battle_config‚Érestart_hp_rateArestart_sp_rate ’ljÁB + battle.c + battle_calc_weapon_attack()Abattle_calc_magic_attack() C³B + skill.c + skill_attack() C³B + clif_skill_nodamage()‚ɃXƒLƒ‹ƒŒƒxƒ‹‚ð‘—‚é‚悤‚É•ÏXB(M‚³‚ñ‚ÌŽw“E‚É‚æ‚èC³B) + clif.c + clif_skill_estimation() C³B + conf_ref.txt + finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB + mob.c + mob_ai_sub_hard()Amob_target()Amob_damage() C³B + pc.c + pc_steal_item() C³B + atcommnad.cAatcommnd.h + @ƒRƒ}ƒ“ƒh@gvgon , @gvgoff ’ljÁB + battle_athena.conf + finger_offencive_type‚ðfinger_offensive_type‚ÉC³‚Æ­‚µ’ljÁB + +-------------- +//0536 by hogefuga3 (Athena staff) + +EVGRFƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg‘Ήž +@- Athena staff —l‚Ì쬂³‚ꂽƒpƒbƒ`‚ð“K—p‚µ‚Ü‚µ‚½B + XV—š—ð‚Ì•”•ª‚̓pƒbƒ`ƒ~ƒX‚É‚È‚Á‚½‚Ì‚ÅŽè“®‚Å‘g‚Ýž‚ÝB + +i•ÏXj + common/ + grfio.c + +-------------- +//0535 by Ž€_ + +E0533‚Ì–â‘肪‚ ‚è‚»‚¤‚È•”•ª‘S‚ÄC³BC³‚µ‚½Š‚ð‘S•”ƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯... +EƒXƒNƒŠƒvƒgsetmapflagnosave ’ljÁB + setmapflagnosave ƒ}ƒbƒv–¼AƒZ[ƒu‚·‚éƒ}ƒbƒv–¼AÀ•W(XAY) + nosaveƒtƒ‰ƒO‚ðon‚É‚µ‚Ü‚·B +Ebattle_athena.conf‚ɒljÁ‚ƈꕔŽd—l•ÏXB(Ú‚µ‚­‚Íconf_ref.txt‚ðŽQl‚µ‚Ä‚­‚¾‚³‚¢B) +Eƒ‚ƒ“ƒXƒ^[‚Ìdef‚Æmdef‚ª10000ˆÈã‚ÌꇑS‚Ä‚ÌUŒ‚(ƒNƒŠƒeƒBƒJƒ‹ŠÜ‚ß‚Ä)‚ª1ƒ_ƒ[ƒW‚É‚È‚é‚悤‚É•ÏXB(ƒgƒ‰ƒbƒv‚âƒuƒŠƒbƒc‚Ìꇗ¼•û‚ª10000ˆÈã‚Ìꇂ̂Ý1‚É‚È‚è‚Ü‚·B) ‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’è‚Í휂µ‚Ü‚µ‚½B(Œ³X–{ŽI‚Å‚à1ŒÅ’è‚Å‚Í‚È‚¢‚Å‚·B¸—û“™‚É‚æ‚éˆø‚«ã‚°ƒ_ƒ[ƒW‚Í‚»‚Ì‚Ü‚Üo‚Ü‚·‚Ì‚Å... ŒÅ’肵‚½‚¢‚Ì‚È‚çdef‚Æmdef‚ð10000‚É‚µ‚Ä‚­‚¾‚³‚¢BŽÀ‚Í‚±‚ê‚̓NƒŠƒXƒ^ƒ‹‚ɈׂÉì‚낤‚Æ‚µ‚½•¨‚Å‚·‚ª...) +E”š—ô”g“®‚ÌŽžƒAƒCƒeƒ€‚É‚æ‚éƒXƒLƒ‹‚ÍŽg—p‚Å‚«‚é‚悤‚ÉC³B +E‚»‚Ì‘¼­‚µC³B(C³‚Ì•¨‚Ì’†‚ɃeƒXƒg‚µ‚Ä‚È‚¢•¨‚à‚ ‚è‚Ü‚·B) + (/doc) + conf_ref.txt C³B + (/conf) + battle_athena.conf C³B + (/map) + battle.h C³B + battle.c C³B + mob.h C³B + mob.c C³B + skill.c C³B + npc.c C³B + pc.c C³B + script.c C³B + clif.c C³B + chrif.c C³B + +-------------- +//0534 by Diex + +EƒRƒ“ƒ{ƒVƒXƒeƒ€‰¼ŽÀ‘• + map/ + battle.c + battle_weapon_attack() C³B + clif.c + clif.h + clif_combo_delay()@ŠÖ”’ljÁB + map.h + map_session_data@•Ï”’ljÁB + pc.c + pc_authok()@•Ï”’ljÁB + pc_attack_timer()@C³B + skill.c + skill_castend_damage_id()@C³B + skill_check_condition@C³B + skill_use_id@C³B + db/ + skill_db.txt@C³B + +’j–Ò—´Œ‚©‚爢C—…”e–PŒ‚É‚Í‚Ü‚¾‚‚Ȃ°‚Ü‚¹‚ñB + ˆ¢C—…”e–PŒ‚ð•ú‚Á‚½ŒãAPC‚ÍMOB‚Ì”wŒã(?)‚Ɉړ®‚µ‚Ä‚é‚Á‚Û‚¢‚Ì‚Å‚·‚ªA +@@‚»‚±‚ç‚Ö‚ñ‚Ìî•ñ‚ª‘«‚è‚Ü‚¹‚ñBî•ñ’ñ‹Ÿ‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//0533 by ‚é‚é‚é + +E‘‚ƃLƒmƒR‚É‚Pƒ_ƒ[ƒWŒÅ’è +battle.c ‚Ì battle_weapon_attack() ‚Æ battle_calc_attack() ‚ðC³ +battle.c ‚Ì battle_get_mobid() ‚ð’ljÁ +mob.c ‚Ì mob_makedummymobdb() ‚Æ mob_readdb() ‚ðC³ + +EƒXƒLƒ‹ƒƒO‚Ƀ‚ƒu‚̌ŗL”Ô†•‚o‚b‚Ì‚h‚c”Ô†‚ð•\Ž¦ +ibattle.c ‚Ì battle_get_mobid() ‚ð’ljÁ‚µ‚½‚Ì‚Å‚»‚̂‚¢‚Å‚Éj +mob.c skill.c ‚Ì•ÏX‰ÓŠ‘½”iŠ¾ +i"MOB %d" ‚à‚µ‚­‚Í "PC %d" ‚ÅŒŸõ‚·‚ê‚ΕÏX‰ÓŠ‚ª‚í‚©‚é‚©‚Æj + +Eƒnƒ“ƒ^[‚Ìã©‚ðŽg‚Á‚½ƒXƒLƒ‹‚Åã©‚ðÁ”ï‚·‚é‚悤‚É‚µ‚½ +batttle.c ‚Ì skill_check_condition() ‚ðC³ +iƒWƒFƒ€Á”‚Ì—¬—p‚Á‚Û‚¢‚±‚Æ‚ð‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚Lj—’†g‚Í—‰ð‚µ‚Ä‚È‚¢‚—j + +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ•ƒ}ƒOƒkƒX‚̃_ƒ[ƒW”»’è‚ð•sŽ€‘®«•ˆ«–‚Ží‘°‚ÉÄ“xC³ +0532‚ÅÄ‚ÑŒ³‚É–ß‚Á‚Ä‚µ‚Ü‚Á‚½‚Ì‚ð‚È‚¨‚µ‚Ü‚µ‚½B +‚½‚¾‚µA‰ñ”•l””»’è‚É‚ÍŽè‚ð‰Á‚¦‚Ä‚¢‚Ü‚¹‚ñi‚Á‚Ä‚©Ž©•ª‚É‚Í‚Ü‚¾ƒ€ƒŠj + +ˆÈãB +Ø‚Á‚½“\‚Á‚½‚ÌŒ©—lŒ©^Ž—‚Å‚â‚Á‚½‚Ì‚ÅŒ¾Œê“I‚ɉʂ½‚µ‚Ä‚±‚ê‚Å‚æ‚¢‚Ì‚©BBB +‚à‚µˆ—•û–@‚É–â‘è—L‚肾‚Á‚½‚çC³‚È‚è‚ð‚µ‚Ä‚¢‚½‚¾‚¯‚é‚ÆŠð‚µ‚¢‚Å‚·B + +-------------- +//0532 by Ž€_ + +EC³‚µ‚½Š‚ð‘S‘Rƒ`ƒFƒbƒN‚µ‚Ä‚È‚©‚Á‚½‚Ì‚ÅC³‚µ‚½ƒtƒ@ƒCƒ‹‚¾‚¯...Š¾ +Emapflag‚Énopenalty’ljÁBŽg—p•û–@‚Í + mapflag nopenalty dummy +‚Å‚·B‹@”\‚Í‚»‚̃}ƒbƒv‚ÅŽ€‚ñ‚¾ŽžŒoŒ±‚ªŒ¸‚ç‚È‚¢‚悤‚É‚µ‚Ü‚·B +Emapflag‚Épvp_nopartyApvp_noguildAgvgAgvg_noparty’ljÁB +pvp_noparty‚ÍPVPƒ‚[ƒh‚Å“¯‚¶ƒp[ƒeƒB‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢Apvp_noguild‚ÍPVPƒ‚[ƒh‚Å“¯‚¶ƒMƒ‹ƒh‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢Agvg‚̓V[ƒYƒ‚[ƒh‚ÉAgvg_noparty‚̓V[ƒYƒ‚[ƒh‚Å“¯‚¶ƒp[ƒeƒB‚ÉUŒ‚‚ª“–‚½‚ç‚È‚¢•¨‚Å‚·B +E‰Â“®‚µ‚Ä‚È‚¢ƒ^ƒCƒ}[‚Í‘S‚Ä-1‚É‚È‚é‚悤‚É•ÏXB +E‚«”ò‚΂µˆ—C³B +Eƒ}ƒbƒvƒ[ƒh’¼Œã‹CŒ÷‚ªŒ©‚¦‚È‚¢–â‘èC³B +EŽc‰e‚̈—C³B +Eƒ}ƒbƒv‚ðƒ[ƒh‚·‚é‚ÆŽ€‚ñ‚¾‚ӂ肪‰ðœ‚³‚ê‚é‚悤‚É•ÏXB +EPVP‚ð­‚µ•ÏXB +EŒÃ–Ø‚ÌŽ}‚Åo‚郂ƒ“ƒXƒ^[‚ðŽ©•ª‚̃Œƒxƒ‹‚æ‚è‚‚¢•¨‚Ío‚È‚¢‚悤‚É•ÏXB +E‰Á‘¬ƒ|[ƒVƒ‡ƒ“‚Ìsc_start SC_SpeedPot0,1,0;‚ðsc_start SC_SpeedPot0,1800,0;‚̂悤‚É•ÏXBSC_SpeedPotH‚ÌŒã‚Ì”’l‚ÍŽ‘±ŽžŠÔ‚Å‚·B(’PˆÊ‚Í•b) +E@ƒRƒ}ƒ“ƒh@pvp‚ð@pvpon‚É•ÏX‚Æ@pvpon‚Æ@pvpoffA@gat‚Ì‹@”\•ÏXB +Ebattle_athena.conf‚ÌpvpíœB +Ebattle_athena.conf‚Édeath_penalty_type’ljÁB +Eƒyƒiƒ‹ƒeƒB‚Ì“K—p‚ðŽ€‚ñ‚¾Žž‚©‚玀‚ñ‚¾ŒãƒŠƒXƒ^[ƒg‚µ‚½Žž‚É•ÏXB(ƒŠƒU‚Å•œŠˆ‚·‚é‚ÆŒoŒ±‚ªŒ¸‚è‚Ü‚¹‚ñB–{ŽI‚ÌŽd—l‚ª‚©‚È‚è‹C‚É‚¢‚ç‚È‚©‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½B) +EƒXƒNƒŠƒvƒgsetmapflagAremovemapflagApvponApvpoffAgvgonAgvgoff’ljÁB + setmapflag ƒ}ƒbƒv–¼Aƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv + Žw’肵‚½ƒ}ƒbƒvƒtƒ‰ƒO‚ðon‚µ‚Ü‚·B(‚½‚¾pvpAgvg‚ÍpvponAgvgon‚Å‚Å‚«‚é‚Ì‚ÅŽw’肵‚Ä‚à“®ì‚µ‚Ü‚¹‚ñB‚ ‚Ænosave‚Ìꇈ—‚ª‚¿‚å‚Á‚Æ•¡ŽG‚É‚È‚é‚̂őΉž‚µ‚Ä‚Ü‚¹‚ñB) + removemapflag ƒ}ƒbƒv–¼Aƒ}ƒbƒvƒtƒ‰ƒOƒ^ƒCƒv + Žw’肵‚½ƒ}ƒbƒvƒtƒ‰ƒO‚ðoff‚µ‚Ü‚·B(‚½‚¾pvpAgvg‚ÍpvpoffAgvgoff‚Å‚Å‚«‚é‚Ì‚ÅŽw’肵‚Ä‚à“®ì‚µ‚Ü‚¹‚ñB‚±‚¿‚ç‚Ínosave‚à‰Â”\‚Å‚·B) + pvpon ƒ}ƒbƒv–¼ + Žw’肵‚½ƒ}ƒbƒv‚ðPVPƒ‚[ƒh‚É‚µ‚Ü‚·B + pvpoff ƒ}ƒbƒv–¼ + Žw’肵‚½ƒ}ƒbƒv‚ÌPVPƒ‚[ƒh‚ð‰ðœ‚µ‚Ü‚·B + gvgon ƒ}ƒbƒv–¼ + Žw’肵‚½ƒ}ƒbƒv‚ðƒV[ƒYƒ‚[ƒh‚É‚µ‚Ü‚·B + gvgoff ƒ}ƒbƒv–¼ + Žw’肵‚½ƒ}ƒbƒv‚̃V[ƒYƒ‚[ƒh‚ð‰ðœ‚µ‚Ü‚·B +‚½‚¾‘S‚ẴXƒNƒŠƒvƒg‚Ì“®ì‚ÍŠm”F‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B +EƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚̈—‚ð0529‚É–ß‚µ‚Ü‚µ‚½B +Ž©•ª‚Ì’²¸‚ł̓Tƒ“ƒNƒ`ƒ…ƒAƒŠ‚Íl”‚̧ŒÀ‚ª‚ ‚è‚Ü‚·B(ƒŒƒxƒ‹1‚Å4–¼‚Å +1ƒŒƒxƒ‹‚Ɉêl‚¸‚‘‚¦‚Ü‚·B) +E‚»‚̌㭂µC³B(‚µ‚½‚Í‚¸...) + (db/) + const.txt C³B + item_db.txt C³B + (conf/) + battle_athena.conf C³B + (doc/) + conf_ref.txt C³B + (map/) + clif.hAclif.c C³B + mob.c C³B + pc.hApc.c C³B + skill.c C³B + pet.c C³B + npc.c C³B + map.hAmap.c C³B + battle.hAbattle.c C³B + atcommand.hAatcommand.c C³B + script.c C³B + makefile C³B + +-------------- +//0531 by Ž‚Žqo^.^o + +conf/npc_turtle.txt +Dƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚És‚­ŽžAƒTˆêƒoˆê‚ð—Ž‚Á‚Ä–â‘èC³ +Dnpc_turtle.txt‚Ì508s–Ú +set Zeny - 10000,0; --> set Zeny,Zeny-10000; C³ + +-------------- +//0530 by RR +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ÅUŒ‚‘ÎÛ‚ðƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚©‚ç•sŽ€‘®«/ˆ«–‚Ží‘°‚É•ÏX +EƒXƒLƒ‹uƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€v‚ÅUŒ‚‘ÎÛ‚ðƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚©‚ç•sŽ€‘®«/ˆ«–‚Ží‘°‚É•ÏX +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚̉ñ•œ‰ñ”‚ðl”‚©‚çƒJƒEƒ“ƒg‚É•ÏX + skill.c + skill_unit_onplace()C³ + skill_unit_onout()C³ + +‘½•ª‚±‚ÌŽd—l‚Ň‚Á‚Ä‚é‚Í‚¸‚Å‚·cB + +-------------- +//0529 by ŒÓ’±—– + +EMOB‚ªƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚·‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éꇂª‚ ‚Á‚½–â‘è‚ðC³ +EƒXƒLƒ‹uƒTƒ“ƒNƒ`ƒ…ƒAƒŠv‚ÅUŒ‚‘ÎÛ‚ð•sŽ€‘®«‚©‚çƒAƒ“ƒfƒbƒg/ˆ«–‚Ží‘°‚É•ÏX + + skill.c + skill_unit_onplace()C³ + skill_castend_nodamage_id()C³ + +EƒƒOƒCƒ“ƒT[ƒo[‚̃AƒJƒEƒ“ƒgƒf[ƒ^ƒx[ƒX•ÛŽçƒc[ƒ‹‚ð“Y•t + Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B + Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚­‚¾‚³‚¢B + Žg‚¢•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B + + “Á‚É——R‚ª–³‚¢ŒÀ‚èƒAƒJƒEƒ“ƒgì¬‚à‚±‚¿‚ç‚̃c[ƒ‹‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B + addaccount‚̓pƒPƒbƒg‚Ì“s‡ãƒpƒXƒ[ƒh•¶Žš”‚̧ŒÀ‚ª‚«‚‚¢‚Ì‚ÅB + + ƒAƒJƒEƒ“ƒg‚ð휂µ‚Ä‚àƒLƒƒƒ‰ƒNƒ^[ƒf[ƒ^A‘qŒÉƒf[ƒ^A + ‚»‚Ì‘¼‚̃AƒJƒEƒ“ƒgˆÈŠO‚̃f[ƒ^‚ÍÁ‚¦‚Ü‚¹‚ñB‘ŠŽè‚ªƒƒOƒCƒ“’†‚¾‚Á‚½ê‡ + ‹­§Ø’f‚Í‚³‚ê‚Ü‚¹‚ñ‚ªAŽŸ‰ñ‚©‚ç‚̓ƒOƒCƒ“‚Å‚«‚È‚¢‚Í‚¸‚Å‚·B + i‚‚܂è‚ÍA’P‚Élogin-serverã‚̃AƒJƒEƒ“ƒg‚ðÁ‚µ‚Ä‚¢‚邾‚¯‚Å‚·j + + (login/) + login.c + parse_admin()’ljÁAparse_login()C³ + (doc/) + admin_packet.txt + V‹K’ljÁBŠÇ—ƒpƒPƒbƒgî•ñ + (tool/) + ladmin + login-server administration tool‚ÌPerlƒXƒNƒŠƒvƒg + + +-------------- +//0528 by RR +EƒXƒLƒ‹uƒq[ƒ‹v‚ðŽg—p‚µ‚½Û‚ɉñ•œ—Ê‚É”ä—Ⴕ‚½•ª‚¾‚¯ƒWƒ‡ƒuŒoŒ±’l‚ªŠl“¾‚Å‚«‚é‚悤‚É•ÏX +E¤lŒnE‹Æ‚ª“XNPC‚ð—˜—p‚µ‚½Û‚ɃWƒ‡ƒuŒoŒ±’l‚ªŠl“¾‚Å‚«‚é‚悤‚É•ÏX +E—¼•û‚Æ‚àbattle_athena.conf‚Å’²®‰Â”\‚É‚µ‚Ü‚µ‚½B‰ŠúÝ’è‚Í0”{i”ñ“K—pj +Emap_athena.conf‚É‚Ä‚©‚Ú‚¿‚áƒNƒGƒXƒg‚Ì‚à‚Ì‚ª“ü‚Á‚Ä‚È‚©‚Á‚½‚̂ŃRƒƒ“ƒgƒAƒEƒg‚µ‚È‚ª‚ç’ljÁB + + map_athena.conf + + battle.c battle_config_read() + battle.h Battle_Config + battle_athena.conf + ˆÈãAbattle_athena.conf—˜—p‚½‚ß‚É•ÏX + + pc.c pc_heal() + –ß‚è’l‚ðhp+sp‚ÉB–ß‚è’l‚ð—˜—p‚µ‚Ä‚é•”•ª‚ª‚È‚³‚»‚¤‚¾‚Á‚½‚Ì‚ÅŽg‚킹‚Ä–á‚¢‚Ü‚µ‚½BƒoƒO‚ª‹N‚«‚½‚ç‚·‚Ý‚Ü‚¹‚ñB + + skill.c skill_casted_nodamage_id()‚̃q[ƒ‹•”‚ɂăWƒ‡ƒuŒoŒ±’lŠl“¾‚·‚é‚悤•ÏX + + npc.c npc_buylist() + npc_selllist() •ÏX + ‚±‚ê‚ç‚Æ‚ÌŒ“‚ˇ‚¢‚Åskill.h‚ðincludeB + + +¤l‚Ì“X—˜—pƒWƒ‡ƒuŒoŒ±’lŠl“¾‚Å‚·‚ªAŒvŽZŽ®‚Í‚Ü‚¾l‚¦’†‚Ȃ̂ʼn¼‚ÅB +ŒvŽZŽ®‚̓AƒCƒeƒ€w“ü‚ª@‘ã‹à * ƒXƒLƒ‹ƒŒƒxƒ‹iƒfƒBƒXƒJƒEƒ“ƒgj/ ((1{300/ƒAƒCƒeƒ€ŒÂ”) * 4000) +ƒAƒCƒeƒ€”„‹p‚ª@‘ã‹à * ƒXƒLƒ‹ƒŒƒxƒ‹iƒI[ƒo[ƒ`ƒƒ[ƒWj / ((1{500/ƒAƒCƒeƒ€ŒÂ”) * 4000)‚Å‚·B +í‚É–î‚ð‚½‚­‚³‚ñˆê‚Éw“ü‚·‚邱‚Æ‚ÅŒoŒ±’l‚𑽗ʂɉ҂®‚±‚Æ‚ª‰Â”\‚Å‚·‚ËcB +‚Ç‚È‚½‚©‚¢‚¢Ž®‚ðŽv‚¢‚‚¢‚½‚ç•ÏX‚¨Šè‚¢‚µ‚Ü‚·B + +‚Æ‚±‚ë‚Å“]ENPC‚ªˆê•”‚©‚Ô‚Á‚Ä‚é‚ñ‚Å‚·‚ªC³‚µ‚È‚¢‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©H + +-------------- +//0527 by Ž€_ + +E0526‚̃oƒOC³B(ƒeƒXƒg‚ׂ̈ɕς¦‚Ä‚¢‚½•¨‚ð“ü‚ꂽ‚܂܃Aƒbƒv‚µ‚Ä‚µ‚Ü‚Á‚½‚Ì‚ªŒ´ˆö‚Å‚µ‚½B) + skill.c C³B + pc.c C³B + mob.c C³B + clif.c C³B + +-------------- +//0526 by Ž€_ + +E0525‚̃ŠƒUƒŒƒNƒVƒ‡ƒ“‚ðŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŽg‚¦‚È‚¢ƒoƒOC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñ‚ªŽ¡‚Á‚½‚Í‚¸‚Å‚·B‘½•ª...) + skill.c C³B + clif.c C³B + +-------------- +//0525 by Ž€_ + +Edmotion‚̊Ԃ̓Lƒƒƒ‰‚ª“®‚©‚È‚¢‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB) +EƒƒeƒI‚̃_ƒ[ƒW•\Ž¦ƒ^ƒCƒ~ƒ“ƒOC³B(­‚µ’x‚¢‹C‚à‚µ‚Ü‚·‚ª...) +EƒoƒbƒNƒXƒ‰ƒCƒfƒBƒ“ƒO‚ÌŽž‚Ƀ‚[ƒVƒ‡ƒ“‚ªo‚é‚悤‚É•ÏXB(ƒXƒLƒ‹Žg—pŒã +0.2•bŒã‚ɃXƒLƒ‹Žg—pƒpƒPƒbƒg‚ð‘—‚é‚悤‚É•ÏX‚µ‚Ü‚µ‚½Bƒ‰ƒO“™‚É‚æ‚Á‚Ä•Ï‚È“®ì‚ð‚·‚é‰Â”\«‚à‚ ‚è‚Ü‚·B) +E0524‚ÌC³B +EƒnƒCƒfƒBƒ“ƒO‚µ‚Ä‚¢‚鎞Ž©‘R‰ñ•œ‚µ‚È‚¢‚悤‚É•ÏXB +E0519‚ÅŠÔˆá‚Á‚½conf‚ÌC³‚Æׂ©‚¢ŠC³B + map.h + struct map_session_data‚Ìcanmove_tick‚ðcanact_tick‚É•ÏXB + skillcanmove_tick‚ðcanmove_tick‚É•ÏXB + skill.c C³B + pc.c C³B + pc.h C³B + clif.c C³B + battle.c C³B + battle.h C³B + mob.c C³B + mob.h C³B + char_athena.conf C³B + map_athena.conf C³B + +-------------- +//0524 by huge + +Eƒ[ƒO ƒgƒ“ƒlƒ‹ƒhƒ‰ƒCƒuŽÀ‘• + clif.c + clif_parse_WalkToXY() + pc.c + pc_calcstatus() + + ‚Ç‚Ì‚­‚ç‚¢‘¬“xŒ¸­‚·‚é‚Ì‚©•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅAŽb’è“I‚É + speed += speed * (20-ƒXƒLƒ‹ƒŒƒxƒ‹)/40 + ‚ÆA‚µ‚Ü‚µ‚½B–{ŽIŽd—l‚ª•ª‚©‚é•û‹‚Ü‚µ‚½‚çC³‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//0523 by NOCTURNE + +Enpc_event_rental.txt‚ɃNƒ‹ƒZƒCƒ_[—p‚̃yƒRƒyƒRŠÇ—•º‚ð’ljÁ +-------------- +//0522 by ”g˜Q + +Emob_db.txt‚ðƒWƒ…ƒm[Œã‚̃f[ƒ^‚ÉC³ + +-------------- +//0521 by ŒÓ’±—– + +EmapƒT[ƒo[‚ÉŒq‚ª‚ç‚È‚¢–â‘è‚ðC³ + clif.c + clif_parse()‚ÌC³ + +-------------- +//0520 by ŒÓ’±—– + +EcharƒT[ƒo[ƒƒO‚Ìuset map X.Y HOGE.gatv‚ª•\Ž¦‚³‚ê‚È‚­‚È‚è‚Ü‚µ‚½ + •Ï‚í‚è‚ÉAuset map M from XX.YY.ZZ.WW:PP (CC maps)v + ‚Æ‚¢‚¤‚Ó‚¤‚ɉ½ŒÂ‚̃}ƒbƒv‚ðƒZƒbƒg‚µ‚½‚©‚¾‚¯‚ð•\Ž¦‚·‚é‚悤‚É‚È‚è‚Ü‚·B + + char/char.c + parse_frommapC³ + +E•¡”mapƒT[ƒo[‚ɉ¼‘Ήž + ENPC‚̃}ƒbƒvƒT[ƒo[•Ï”‚ÍŽIŠÔ‚Å‚Í‹¤—L‚³‚ê‚Ü‚¹‚ñB‹¤—L‚·‚ׂ«•Ï”‚ð + Ž‚ÂNPC‚ª‚¢‚éƒ}ƒbƒv“¯Žm‚Í“¯‚¶mapƒT[ƒo[‚Å“®‚©‚·‚ׂ«‚Å‚·B + ‚¨‚»‚ç‚­PC‚̃Oƒ[ƒoƒ‹•Ï”‚Í‹¤—L‚Å‚«‚é‚ÆŽv‚¢‚Ü‚·(–¢ƒeƒXƒg) + EŽb’è“I‚É“®‚­‚悤‚É‚µ‚½‚¾‚¯‚È‚Ì‚ÅA•s“s‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + “Á‚ÉAƒp[ƒeƒB/ƒMƒ‹ƒh/‘qŒÉ/ƒyƒbƒg/Wis‚È‚Ç‚ÌinterƒT[ƒo[‚ðŽg‚¤‹@”\‚ª + ³‚µ‚­ì“®‚·‚é‚©‘S‚­ƒ`ƒFƒbƒN‚µ‚Ä‚¢‚Ü‚¹‚ñB + Eurecv map on XX.YY.ZZ.WW:PP (CC maps)v‚Æ‚¢‚¤ƒƒO‚ª•\Ž¦‚³‚ê‚Ü‚·B + ‚±‚ê‚Í‘¼‚ÌmapƒT[ƒo[‚ª’S“–‚·‚éƒ}ƒbƒv‚̃ŠƒXƒg‚ªA‚±‚ÌmapƒT[ƒo[‚É + ³í‚ÉŽóM‚³‚ꂽ‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B + + (char/) + char.c/char.h + parse_frommap()C³ + mapif_sendallwos()’ljÁ + (map/) + map.c/map.h + map_setipport()‚ðC³ + struct map_session_data‚Ìstateƒƒ“ƒo‚Éwaitingdisconnect’ljÁ + chrif.c/chrif.h + FX’ljÁ + clif.c + waitingdisconnect‚ª‚P‚È‚çƒpƒPƒbƒg‚𖳎‹‚·‚é‚悤‚É‚µ‚½ + pc.c + pc_setpos()C³iƒ}ƒbƒvƒT[ƒo[•ÏXˆ—‚È‚Çj + pc_setnewpc()C³ + +-------------- +//0519 by Ž€_ + +EƒT[ƒo[snapshot‚ÆFXC³B +EŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉUŒ‚‚ª“–‚½‚éƒoƒOC³B(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©•ñ‚¨Šè‚¢‚µ‚Ü‚·B) +E0517‚̃AƒCƒXƒEƒH[ƒ‹‚̈—‚ð­‚µ•ÏXB +EƒƒeƒI‚ðƒ‚ƒ“ƒXƒ^[‚àŽg‚¦‚é‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñB•ñ‚¨Šè‚¢‚µ‚Ü‚·B) ‚Å‚à‚¿‚å‚Á‚ƃƒ‚ƒŠ[‚ÌŽg—p—Ê‚ª‘‚¦‚Ü‚µ‚½B(–ñ10M’öオ‚é‚悤‚Å‚·B) +Eƒ{ƒX‚ÌŽæ‚芪‚«‚ªƒ{ƒX‚ƈê‚És“®‚·‚é‚悤‚É•ÏXB(ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚Ç‚ñ‚È“®‚«‚ð‚·‚é‚©‚ÍŠm”F‚µ‚Ä‚Ü‚¹‚ñBUŒ‚‚àŽó‚¯‚Ä‚È‚¢‚̂Ƀ{ƒX‚ׂ̗©‚矎è‚É—£‚ê‚é‚©‚Ç‚¤‚©‚ÌŠm”F‚ð‚¨Šè‚¢‚µ‚Ü‚·B) +E‚»‚Ì‘¼×‚©‚¢•¨C³B + client-packet.txt C³B + map.h + AREA_SIZE‚ð15‚©‚ç20‚É•ÏXB + struct map_session_dataAstruct mob_dataAstruct skill_timerskill C³B + map.c + map_quit() C³B + clif.h + clif_changemapcell() C³B + clif.c + clif_getareachar_skillunit()Aclif_clearchar_skillunit()Aclif_changemapcell() C³B + skill.c + skill_unitsetting()Askill_unit_onlimit()Askill_castend_pos2() C³B + skill_castend_nodamage_id()Askill_check_condition()Askill_attack() C³B + skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill() C³B + ‚»‚Ì‘¼­‚µC³B + skill.h + skill_addtimerskill()Askill_cleartimerskill() C³B + pc.c + pc_movepos()Apc_walk()Apc_authok() C³B + mob.c + mob_spawn_dataset()Amob_spawn() C³B + mob_changestate()Amob_damage() C³B + mob_ai_sub_hard_mastersearch()Amob_ai_sub_hard() C³B + ‚»‚Ì‘¼­‚µC³B + battle.c + battle_calc_weapon_attack()Abattle_weapon_attack() C³B + ‚»‚Ì‘¼­‚µC³B + +-------------- +//0518 by Kalen +EEvent_pumpkinŠÖ˜A‚̃tƒ‰ƒO•s‹ï‡C³ + +-------------- +//0517 by Ž€_ + +EƒAƒCƒXƒEƒH[ƒ‹‚Å ‚蔲‚é–â‘èC³‚Æ­‚µC³B(M‚³‚ñƒpƒPƒbƒg‚Ì’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B) + clif.h + clif_changemapcell() ’ljÁB + clif.c + clif_changemapcell() ’ljÁB + skill.h + SC_STEELBODY‚ð84‚©‚ç87‚É•ÏXB + skill.c + skill_unitsetting()Askill_unit_onlimit() C³B + skill_status_change_end()Askill_status_change_start() C³B + client_packet.txt C³B + +-------------- +//0516 by Ž€_ + +Eƒ‚ƒ“ƒXƒ^[‚̃ƒeƒI‚É‚æ‚éŽIƒ_ƒEƒ“‚ð—ÕŽž‚É–h‚¢‚Å’u‚«‚Ü‚µ‚½B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB) ƒ‚ƒ“ƒXƒ^[‚̃XƒLƒ‹‚ɂ‚¢‚Ä‚¿‚å‚Á‚Æ•ªÍ•s‘«‚Å‚·‚Ì‚Å•ªÍ‚µ‚½Œã‚ÉC³‚µ‚Ä’u‚«‚Ü‚·B +EƒXƒLƒ‹Žw’e‚ÌŽd—l‚ðbattle_athena.conf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB(0515‚Ì•¨‚ª‚¿‚å‚Á‚Æ‚à‚Á‚½‚¢‚È‚©‚Á‚½‚Ì‚Å...) + skill.c + skill_castend_pos2() C³B + battlc.hAbattle.c + battle_config‚Éfinger_offencive_type ’ljÁB + battle_calc_weapon_attack() C³B + battle_athena.conf C³B + conf_ref.txt C³B + +-------------- +//0515 by Ž€_ + +EƒXƒLƒ‹ƒƒeƒI‚ÆŽw’eC³‚ƃpƒPƒbƒgC³A0512‚Ì—Ž‚Æ‚µ•¨C³‚Æ­‚µ‚¾‚¯‚ÌŽd—l•ÏX‚Å‚·B +EŽw’e‚Ìê‡à–¾‚ðŒ©‚Ä‚±‚ñ‚ÈŠ´‚¶‚©‚È‚ÆŽv‚Á‚Äì‚Á‚½•¨‚Å‚·BˆÈ‘O‚Ì•¨‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ȃ猳‚É–ß‚µ‚Ü‚·B +EƒƒeƒI‚Ì1”­‚͈̔͂Í5*5ƒZƒ‹(range = 2)‚Å‚·B +EƒAƒCƒeƒ€Žg—pƒpƒPƒbƒg‚ðV‚µ‚¢•¨‚É•ÏX‚µ‚½‚ªƒGƒtƒFƒNƒg‚ªo‚È‚¢•¨‚Ío‚È‚¢‚悤‚Å‚·B(FXƒGƒtƒFƒNƒg‚ª“ü‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚¾‚©‚çŒã‚ÍŽg‚Á‚ÄŠm”F‚Å‚·‚¯‚Ç‚ËB) +E0512‚Åhitrate‚ª10000ˆÈã‚Å•K’†‚Å‚Í‚È‚­100000ˆÈã‚Å•K’†‚Å‚·‚̂ŃR[ƒh‚ÌC³‚Ì‚³‚¢‚É‚Í‹C‚ð‚Á‚‚¯‚Ä‚­‚¾‚³‚¢B +Ebattle_athena‚Éݒ肳‚ê‚Ä‚¢‚é•Ší‚Ì»‘¢—¦‚ƃyƒbƒg‚̕ߊlŠm—¦‚ÌŒvŽZ•û–@‚ð­‚µ•Ï‚¦‚Ü‚µ‚½B(‹C‚É‚·‚é•K—v‚à‚È‚¢•¨‚Å‚·‚¯‚Ç‚ËB) + skill.h + skill_addtimerskill()Askill_cleartimerskill ’ljÁB + skill.c + skill_attack() fixAskill_use_id()Askill_use_pos() C³B + skill_castend_damage_id()Askill_castend_nodamage_id() C³B + skill_timerskill()Askill_addtimerskill()Askill_cleartimerskill ’ljÁB + skill_castcancel()Askill_castend_pos2()Askill_unitsetting() C³B + skill_produce_mix()Ado_init_skill() C³B + mob.c + mob_damage() C³B + battle.c + battle_calc_weapon_attack() C³B + map.h + struct skill_timerskill ’ljÁB + struct map_session_data C³B + map.c + map_quit() C³B + pc.c + pc_authok() C³B + pc_damage() C³B + clif.c + clif_parse_WalkToXY() C³B + clif_useitemack() C³B(Ž‘—¿’ñ‹Ÿ: Kalen‚³‚ñ) + pet.c + pet_catch_process2() C³B + skill_db.txt + ‹CŒ÷‚ÌSP‚ð10‚É•ÏXB(ƒlƒbƒg‚ÌŒŸõ‚Å‚Í10‚¾‚Á‚½‚Ì‚Å•ÏX‚µ‚Ü‚µ‚½BŠØ‘‘ ‚Å‚Í15‚Æ•\Ž¦‚³‚ê‚Ü‚·‚ª...) + client_packet.txt + 01c8‚Ì•ÏX‚Å‚·BKalen‚³‚ñî•ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B + +-------------- +//0514 by Kalen + +EscriptC³+’ljÁ + + conf/npc_event_pumpkin.txt (V‹K)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg + conf/npc_town_guide.txt (C³)Juno‚Ìu+vƒAƒCƒRƒ“ƒJƒ‰[C³ + conf/npc_town_lutie.txt (ˆê•”’ljÁ)ƒJƒ{ƒ`ƒƒƒCƒxƒ“ƒg‚ɉe‹¿‚·‚éNPC‚̉ï˜b’ljÁ + +-------------- +//0513 by RR + +E“]EŽž‚É‘•”õ‚ª‘S‚ÄŠO‚ê‚é‚悤‚É‚µ‚Ü‚µ‚½BŠÖ”ˆÊ’u‚Ì•ÏX‚µ‚Ä‚È‚¢‚Ì‚ÅA‚Ђå‚Á‚Æ‚µ‚½‚炨‚©‚µ‚­‚È‚Á‚Ä‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚¤‚¿‚̊‹«(win2k cygwin)‚Å‚Í•½‹C‚Å‚µ‚½‚Ì‚Å‚»‚Ì‚Ü‚Ü‚É‚µ‚Ä‚ ‚è‚Ü‚·BB +Eƒm[ƒrƒXŽž‚ÌŽ€–S‚Å‚ÍAÅ‘åHP‚Ì‚Q•ª‚Ì‚P‚Å•œŠˆ‚Å‚«‚é‚悤C³B(ƒXƒLƒ‹‚É‚æ‚é•œŠˆ‚Í–¢Šm”F) +EƒfƒXƒyƒiƒ‹ƒeƒB‚É‚æ‚éŒoŒ±’lŒ¸­‚ð’ljÁBbattle_athena.conf‚É‚ÄAŒ¸­—¦‚ð•ÏX‚Å‚«‚é‚悤‚ÉÝ’èBŒ¸‚éŒoŒ±’l‚ͬ”“_ˆÈ‰ºØ‚èŽÌ‚Ä‚È‚Ì‚ÅA•K—vŒoŒ±’l‚ª’á‚¢‚¤‚¿‚É‚Í‚¿‚傤‚Ç‚»‚Ì“•ªˆø‚©‚ê‚é‚Æ‚¢‚¤•—‚É‚Í‚È‚è‚Ü‚¹‚ñB + battle.h + Battle_Config‚Édeath_penalty_base‚Ædeath_penalty_job‚ð’ljÁB + battle.c + battle_config_read‚Ådeath_penalty_base‚Ædeath_penalty_job‚ð“ǂނ悤‚ÉC³B + pc.c + pc_makesavestatus() C³B + pc_damege() C³B + pc_jobchange() C³B + battle_athena.conf + death_penalty_base,death_penalty_job’ljÁB + +-------------- +//0512 by Ž€_ + +E–â‘è‚É‚È‚è‚»‚¤‚È•”•ª‚ÌC³‚ÆV‚µ‚¢ƒpƒPƒbƒg‚̑Ήž‚ªƒƒCƒ“‚Å‚·BŒãƒoƒO‚à­‚µŽ¡‚µ‚Ü‚µ‚½B(“®‚¯‚È‚¢ó‘ÔˆÙí‚É‚È‚Á‚Ä‚à“®‚­–â‘è‚ÌC³“™‚Å‚·B) + athena.sh C³B(‚¢‚‚àŽI‚ðŒÂ•Ê‚ÉŽÀs‚µ‚Ä‚¢‚½‚Ì‚Å‹C‚ª‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B) + makefile + DPACKETVER‚ð2‚©‚ç3 ‚ÉC³BƒWƒ…[ƒmˆÈŒã‚Ì‘ ‚ðŽg‚¤‚Ì‚È‚ç3‚É‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B(‚»‚̈ȑO‚È‚ç2‚©1) + clif.c + DPACKETVER=3‚ɑΉž(¡‚ÌŠ0x114‚ð0x1de‚É•ÏŠ·‚Æ0x11f‚ð01c9‚É•ÏŠ·‚·‚é‚̂ݑΉž) + clif_skill_damage3() íœB + clif_skillcastcancel() ’ljÁB + clif_skill_damage()Aclif_getareachar_skillunit()Aclif_skill_setunit() C³B + clif_fixmobpos()Aclif_fixpetpos()Aclif_fixpcpos() C³B + ‘¼‚É­‚µC³B + clif.h + clif_skill_damage3() íœB + clif_skillcastcancel() ’ljÁB + battle.c + battle_calc_weapon_attack() C³B + hitrate‚ð10000ˆÈã‚É‚·‚ê‚ΕK’†‚É‚È‚é‚悤‚É•ÏXB(¡‚ÌŽd—l‚ł̓‚ƒ“ƒXƒ^[‚Ì•K’†UŒ‚ˆÈŠO‚Í•K’†‚É‚È‚è‚Ü‚¹‚ñB) + ‘¼‚É­‚µC³B + client_packet.txt + V‚µ‚¢ƒpƒPƒbƒgî•ñ’ljÁB + pc.c + pc_spiritball_timer()Apc_delspiritball() C³B + pc_damage()Apc_skill() C³B + skill.h + SC_EXPLOSIONSPIRITS‚ð89‚©‚ç86‚É•ÏXB(86 = 0x56) + SC_DELUGE‚ð86‚©‚ç89‚É•ÏXB + skill.c + skill_castcancel()Askill_use_id()Askill_use_pos() C³B + skill_check_condition() C³B + skill_castend_damage_id()Askill_castend_nodamage_id C³B + skill_status_change_end()Askill_status_change_start() C³B + skill_db.txt + ‹CŒ÷‚ÌÁ”ïSP‚ðC³B(‘O‚Ì15‚ª–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) + mob.c + mobskill_use_id()Amobskill_use_pos() C³B + map.c + map_quit() C³B + atcommand.h + atcommand.c + @ƒRƒ}ƒ“ƒh@spiritball’ljÁB(‹@”\‚ÍŽg‚¦‚΂킩‚è‚Ü‚·B‚½‚¾1000ˆÈã‚Í“ü‚ê‚È‚¢•û‚ª‚¢‚¢‚Å‚·B‘ ‚ªƒpƒ“ƒN‚µ‚Ü‚·‚Ì‚Å...) + atcommand_athena.conf + C³B + conf_ref.txt + C³B +E0x196ƒpƒPƒbƒg‚ÉV‚µ‚¢•¨‚ª’ljÁ‚³‚ê‚Ä‚¢‚é‚Ì‚Åó‘ԕω»‚É’¼Ú‚ÉŠÖŒW‚È‚¢SC_xxxx‚̔Ԇ‚ð’²®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B(¡‚ÍSC_EXPLOSIONSPIRITS‚É‚¾‚¯‘Ήž‚µ‚Ü‚µ‚½B) ‚»‚ê‚Æskill_status_change_end()Askill_status_change_start()‚Åclif_status_change()‚ðŒÄ‚Ôtype‚͈̔͂ª64(0x40)–¢–ž‚É‚È‚Á‚Ä‚¢‚邪‚»‚ê‚à’ljÁ‚³‚ê‚Ä‚¢‚镨‚ɇ‚킹‚ÄC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚·‚ª’ljÁ‚³‚ê‚Ä‚¢‚镨‚ª‘S‚Ä‚í‚©‚Á‚½‚킯‚Å‚à‚È‚¢‚Ì‚ÅSC_EXPLOSIONSPIRITS‚É‚¾‚¯‘Ήž‚µ‚Ü‚µ‚½B¡“x‚©‚ç‚Í”š—ô”g“®‚̉𜂪³Šm‚ÉŒ©‚¦‚Ü‚·B‹à„‚̓f[ƒ^‚ðŒ©‚Â‚¯‚ç‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B +¦V‚µ‚¢ƒpƒPƒbƒg‚ɑΉž‚·‚éì‹Æ‚ð‚µ‚Ä‚¢‚Ü‚·‚ªî•ñ‚ª•s‘«‚Å‚·B +ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚̃GƒtƒFƒNƒg‚ªo‚é‚悤‚É‚·‚éˆ×‚É01c8‚ðŽg‚Á‚Ä‚Ý‚Ü‚µ‚½‚ª‘Ê–Ú‚Å‚µ‚½Bclient_packet.txt‚̃f[ƒ^‚ł͉½‚à‹N‚±‚ç‚È‚¢‚̂ʼn½•û‚ª–{ŽI‚ŃCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚âƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ðŽg‚Á‚½Žž‚̃pƒPƒbƒg‚ð’ñ‹Ÿ‚µ‚Ä‚­‚ê‚Ü‚¹‚ñ‚©HS 00a7‚ÌŒã00a8‚ª—ˆ‚é‚Ì‚©‚»‚ê‚Æ‚à01c8‚ª—ˆ‚é‚Ì‚©‚ÌŠm”F‚Æ00a8‚ÌŒã‚É01c8‚ª—ˆ‚é‚Ì‚©‚ÌŠm”F‚ª‚Å‚«‚ê‚Ή½‚Æ‚©‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª... +‚»‚ê‚Æ01c9‚ÌŒã‚É—ˆ‚é?.81b‚ª‚í‚©‚ê‚΃AƒCƒXƒEƒH[ƒ‹‚ð ‚蔲‚é–â‘è‚à‰ðŒˆ‚Å‚«‚é‚ÆŽv‚¢‚Ü‚·‚ª... +î•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//0511 by Diex + +EŽw’e‚ÌUŒ‚‰ñ”C³B +Eˆ¢C—…”e–PŒA”­™¤‚ªC—û‚𖳎‹‚µA–³‘®«‚É‚È‚é‚悤‚ÉC³B +E‹à„Žg—pŽžAMDEF‚ª³‚µ‚­•\Ž¦‚³‚ê‚Ä‚È‚©‚Á‚½ƒoƒO‚ðC³B +E‹CŒ÷‚ÌÁ”ïSP‚ðC³B + pc.c + pc_calcstatus() C³B + battle.c + battle_calc_weapon_attack() C³B + skill.c + skill_check_condition() C³B + + skill_db.txt C³B + +-------------- +//0510 by Diex + +EŽO’i¶‚Ì•\Ž¦ƒoƒOC³ +EŽw’e‚ª‹C’e‚ª–³‚­‚Ä‚àŒ‚‚Ä‚éƒoƒO‚ðC³ + map.h + struct map_session_data‚Éspiritball_old•Ï”’ljÁB + skill.c + skill_check_condition() C³B + clif.c + clif_skill_damage3() C³B + battle.c + battle_weapon_attack()Abattle_calc_weapon_attack C³B + +-------------- +//0509 by + +Enpc_warp.txt + ƒvƒé¨ƒvƒƒtƒB[ƒ‹ƒh‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðA + ƒvƒé¨ƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ÉC³B + ƒvƒƒtƒB[ƒ‹ƒh¨ƒvƒé‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðƒvƒƒtƒB[ƒ‹ƒh¨ƒ”ƒ@ƒ‹ƒLƒŠ[ƒŒƒ‹ƒ€‚ÉC³ + +-------------- +//0508 by Ž€_ + +EƒoƒOC³‚Æ‘§A‹CŒ÷A‹C’D‚ÌC³‚ªƒƒCƒ“‚Å‚·B(¡“x‚©‚ç‚Í‘¼‚Ìl‚É‚à‹C‚ª‚¿‚á‚ñ‚ÆŒ©‚¦‚Ü‚·B) +EŽ€‚ñ‚¾ƒLƒƒƒ‰‚ÉŒoŒ±’l‚ª“ü‚é–â‘èC³B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB‚Ç‚¤‚È‚Ì‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B) + pc.h + pc_addspiritball()Apc_delspiritball() ’ljÁB + pc_is50overweight() C³B + pc.c + pc_gainexp() C³B + pc_insert_card()Apc_item_identify() C³B(‘債‚½C³‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª...) + pc_authok() C³B + pc_addspiritball()Apc_delspiritball() ’ljÁB + pc_spiritball_timer() ’ljÁB + do_init_pc()Apc_calcstatus()C³B + pc_spirit_heal() ’ljÁB + pc_natural_heal()‚ÉŠÖ‚í‚镨‚ÌC³B + map.h + struct map_session_data C³B + map.c + map_quit() C³B + map_addflooritem() C³B + clif.h + clif_spiritball_int()‚ðclif_spiritball()‚É•ÏXB + clif_spiritball_ext() íœB + clif.c + clif_spiritball_int() ‚ðclif_spiritball()‚É•Ï‚¦‚ÄC³B + clif_spiritball_ext() íœB + clif_set01e1() ’ljÁB + clif_getareachar_pc() C³B + skill.h + SC_CALLSPIRITS íœB + skill.c + SC_CALLSPIRITS íœB + skill_castend_nodamage_id()Askill_check_condition() C³B + skill_status_change_start() C³B +E°‚É—Ž‚¿‚½ƒAƒCƒeƒ€‚ªÁ‚¦‚é‚Ü‚Å‚ÌŽžŠÔ‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB + battle.hAbattle.c + battle_config_read() C³B + conf_ref.txt C³B + battle_athena.conf C³B + +-------------- +//0507 by Diex +0505‚ÌC³ +EŽO’i¶‚̃GƒtƒFƒNƒgŽÀ‘• + +-------------- +//0506 by hoenny +‘S‘Ì“I‚É­‚µŽ®C³ +ƒZƒCƒW‚̃XƒLƒ‹‚ªƒAƒCƒeƒ€‚ðÁ–Õ‚·‚é‚悤‚ÉC³ +(ƒXƒLƒ‹‚ÌDB‚É zeny, spiritball, item, equip‚ð“ü‚ꂽ‚¢‚ªŽžŠÔ‚ª‚È‚­‚Ä—ÕŽž“I‚É ...) + +-------------- +//0505 by Diex + +Eˆ¢C—…”e–PŒ‚̃_ƒ[ƒWC³ +E–Ò—´Œ‚̃_ƒ[ƒWC³ +EŽw’eŽÀ‘• +E”­™¤ŽÀ‘• +E‹à„‚ªŒ¸ŽZDEF‚ÆŒ¸ŽZMDEF‚ª90‚ɌŒ肳‚ê‚Ä‚¢‚½‚Ì‚ðæŽZDEF‚ÆæŽZMDEF‚ª90‚É‚È‚é‚悤‚ÉC³ +EŽO’i¶ŽÀ‘•i‚½‚¾‚µƒRƒ“ƒ{‚Í–¢ŽÀ‘•j + map/clif.c + map/clif.h + clif_skill_damage3()’ljÁ + map/pc.c + map/skill.c + map/battle.c + C³E‹y‚ђljÁ +iŒvŽZŽ®‚Í+ Acolyte Maniax +‚ðŽQl‚É‚µ‚Ü‚µ‚½Bj + +-------------- +//0504 by Ž€_ + +Eatcommand.c C³B(‚½‚Á‚½2•¶Žš‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B) +atcommnad_gm_only‚ªno‚¶‚á‚È‚­‚Ä‚àŽg—pƒŒƒxƒ‹Ý’è‚ð0‚É‚µ‚½ƒRƒ}ƒ“ƒh‚ÍGM‚¶‚á‚È‚¢ƒLƒƒƒ‰‚Å‚àŽg‚¦‚Ü‚·BƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB + +-------------- +//0503 by nabe + +E¸˜BC³‚ÆLinux—p‚É‚¿‚å‚Á‚Æ•ÏX‚È‚Ç + conf/map_athena.conf + npc_event_doll.txt, + npc_turtle.txt, + //npc_pota.txt€–ڒljÁ + conf/npc_pota.txt’ljÁisocie‚³‚ñì‚̃_ƒ“ƒWƒ‡ƒ“ƒ|ƒ^Žq‚³‚ñj + conf/npc_shop.txt + ƒCƒYƒ‹[ƒh•Ší¤l‚̉¿ŠiC³ + conf/script_athena.conf + 0499‚Å‚Ì•¶Žš‰»‚¯HC³ + login/login.c + #include ’ljÁ + map/script.c + buildin_getequipname() + ¸˜Bƒƒjƒ…[‚Ìmalloc‚ðC³ + buildin_getequipisenableref() + ¸˜B‰Â”\ðŒC³iAthefans‚³‚ñ‚ÌðŒ•¶‚É‚µ‚Ä‚Ý‚Ü‚µ‚½j + map/skill.c + skill_check_condition()•Ï”錾ˆÊ’u‚Ì•ÏX‚Ì‚Ý + +-------------- +//0502 by Ž€_ + +EƒJƒvƒ‰‚Ì‘qŒÉ‚àbattle_athena.conf‚Ìbasic_skill_check‚É‚æ‚Á‚ÄŠî–{ƒXƒLƒ‹‚ª‘«‚è‚È‚­‚Ä‚àŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚ÉC³‚µ‚Ü‚µ‚½B(ƒvƒƒ“ƒeƒ‰’†‰›‚̃Jƒvƒ‰‚Ì‚ÝŠm”FB) +EƒNƒFƒXƒgƒXƒLƒ‹‚̎擾‚Í0492‚Ì‚¹‚¢‚Å‚·B0481‚Éskill‚ÌŌオ,2‚¶‚á‚È‚­,0‚¾‚Æ‘‚¢‚½‚Ì‚Å‚·‚ª‰½ŒÌ‚©0492‚Å,2‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Å,0‚ÉC³‚µ‚Ü‚µ‚½B +EƒXƒNƒŠƒvƒggetbaseskillcheck‚ðbaseskillcheck‚É•ÏX‚ÆŽ©•ª‚ÅC³‚µ‚Ü‚µ‚½‚ª–½—ß‚ÌŒã‚É‚È‚ñ‚Ì”’l‚à“ü‚ç‚È‚¢ê‡‚̓XƒNƒŠƒvƒg‚ª³‚µ‚­ì“®‚µ‚È‚©‚Á‚½‚Ì‚ÅŽg—p‚·‚éꇂÍbaseskillcheck(0)‚É‚µ‚ÄŽg‚í‚È‚¢‚Ƴ‚µ‚¢Œ‹‰Ê‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB +(Ú‚µ‚­‚Ínpc_town_kafra.txtŽQÆB) + npc_event_skillget.txt C³B + npc_town_kafra.txt C³B + script.c C³B +EGM_account.txt‚ÉŽ©•ª‚ªƒeƒXƒg‚ׂ̈Ɏg‚Á‚Ä‚¢‚½500000‚ª“ü‚Á‚Ä‚¢‚½‚Ì‚Å휂µ‚Ü‚µ‚½B(GM_account.txtì‚Á‚½——R‚ÍŽ©•ªŸŽè‚ɃAƒJƒEƒ“ƒg‚ðGM‚É‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚·‚éˆ×‚Å‚·B‚‚܂èGM‚Æ‚µ‚Ä•\Ž¦‚³‚ê‚È‚­‚Ä‚àGM‚Æ‚µ‚ÄF‚ñ‚ÈŒ ŒÀ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚³‚·‚ª‚ÉGMê—p‚̉EƒNƒŠƒbƒNƒRƒ}ƒ“ƒh‚ÍŽg‚¦‚Ü‚¹‚ñ‚ª... ‚Å‚à‚±‚ê‚ðŠˆ—p‚µ‚Ä‚¢‚é•û‚Í‚¢‚È‚¢‚Ý‚½‚¢‚È‚ñ‚Å‚·‚Ë...) + +-------------- +//0501 by hoenny + +E500‚Ì–â‘è“_C³ +-HP‰ñ•œ—ÍŒüã,SP‰ñ•œ—ÍŒüã + map/pc.c + pc_natural_heal_hp()C³ + pc_natural_heal_sp()C³ + +500SP‰ñ•œ—ÍŒüã +-------------- +//0500 by hoenny + +EC“¹‘m‚Ì‘§ŽÀ‘• +-Šî–{“I‚ÉÀ‚Á‚½Žž 10•b‚²‚Ƃɉñ•œ‚µ‚Ü‚·. +-ŠŽ—Ê‚ª 50%‚ðƒI[ƒo[‚µ‚½ê‡ 20•b‚²‚Ƃɉñ•œ‚µ‚Ü‚·. +EC“¹‘m‚Ì‹C’DŽÀ‘• +-‘¼‚ÌC“¹‘m‚ÌŸ†‹…‚à‹zŽû‚ª‰Â”\‚Å‚·. +EC“¹‘m‚Ì‹à„ŽÀ‘• +-‹à„ó‘Ô‚Å‚Í‚·‚ׂẴAƒNƒeƒBƒuƒXƒLƒ‹‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚È‚¢‚Å‚·. + db/skill_db.txt + ‹C’DC³ + ‹à„C³ + map/pc.h + pc_is50overweight()’ljÁ + pc_is90overweight()’ljÁ + map/pc.c + pc_calcstatus()C³ + pc_spheal()C³ + pc_hpheal()C³ + pc_natural_heal_hp()C³ + pc_natural_heal_sp()C³ + pc_natural_heal_sub()C³ + map/skill.c + skill_check_condition()C³ + skill_castend_nodamage_id()C³ + skill_status_change_start()C³ + +-------------- +//0499 by Ž€_ + +EƒT[ƒo[snapshot‚ƃoƒOC³B +EƒXƒeƒB[ƒ‹ƒRƒCƒ“‚̃[ƒj—Ê‚ðƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹*10 + rand(100)‚É•ÏXB +EƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ª‚È‚¢ƒXƒLƒ‹‚̓^ƒCƒ}[‚ðŽg‚í‚È‚¢‚悤‚É•ÏXB +EƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚®ˆ×‚ÉC³B(¡“x‚±‚»Ž¡‚Á‚½‚Í‚¸...) ‚»‚µ‚ÄŠg‘勾‚à“¯‚¶‚悤‚È‚±‚Æ‚ª‚Å‚«‚é‚Ì‚ÅC³B(‚±‚ê‚ÍŽIƒ_ƒEƒ“‚Ü‚Å‚Í‹N‚±‚³‚È‚¢‚悤‚Å‚·‚ª...) +EƒLƒƒƒ‰‚Ƀ}ƒbƒv‚̃[ƒh‚ªI‚í‚é‚܂Ńyƒbƒg‚̃f[ƒ^‚ª—ˆ‚È‚¢‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚é–â‘èC³B(–Å‘½‚È‚±‚Æ‚ª‚È‚¢ŒÀ‚è‹N‚±‚ç‚È‚¢‚Å‚·‚¯‚Ç‚ËB) +EƒI[ƒgƒo[ƒT[ƒNAd‚³‚̃AƒCƒRƒ“‚ƃ`ƒFƒbƒN‚ª³‚µ‚­“K—p‚³‚ê‚é‚悤‚ÉC³B +E‘‘¬ƒ|[ƒVƒ‡ƒ“‚Ì“K—p‡”Ô•ÏXB¡‚܂ł̓Xƒs[ƒhƒAƒbƒvƒ|[ƒVƒ‡ƒ“‚ªÅ—Dæ‚ÅŽŸ‚ªƒnƒCƒXƒs[ƒhƒ|[ƒVƒ‡ƒ“AŌオƒo[ƒT[ƒNƒ|[ƒVƒ‡ƒ“‚¾‚Á‚½‚Ì‚Å‚·‚ª‡”Ô‚ð‹t‚É•ÏX‚µ‚Ü‚µ‚½B +EƒAƒCƒeƒ€‚ÅŽg‚¤ƒXƒLƒ‹‚̓LƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚ƃfƒBƒŒƒC‚ª0‚É‚È‚é‚悤‚É•ÏXB +EƒAƒCƒeƒ€‚ÅŽg‚¤ƒXƒLƒ‹‚̃Œƒxƒ‹‚ªitem_db‚Éݒ肵‚Ä‚¢‚郌ƒxƒ‹‚æ‚è‚‚­‚È‚éƒoƒOC³B + pc.h + pc_move()‚ðpc_movepos()‚É•ÏXB + pc.c + pc_steal_coin()Apc_insert_card()Apc_item_identify()Apc_authok()A + pc_calcstatus()Apc_checkweighticon()Apc_damage() C³B + skill.c + skill_castend_pos2()Askill_check_condition()Askill_use_id()A + skill_use_pos() C³B + pet.c + pet_recv_petdata()Apet_change_name() C³B + map.h + struct map_session_data‚Éskillitemlv ’ljÁB + script.c + buildin_itemskill() C³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos()A + clif_parse_LoadEndAck() C³B + mob.c + mobskill_use_id()Amobskill_use_pos() C³B + +-------------- +//0498 by hoenny + +DŸ†‹…‚ª‚·‚Á‚©‚茩‚¦‚é‚悤‚ÉC³(Á–ÕƒXƒLƒ‹Žg—p‚ÌŽžÁ–Õ‚·‚é‚悤‚ÉC³) +DƒXƒLƒ‹Žc‰e‚ðŽg—p‚ÌŽžŸ†‹…‚ðÁ–Õ‚·‚é‚悤‚ÉC³ + doc/client_packet.txt + 0x1d0’ljÁ + map/map.h + sd‚Ìstructure‚É spiritball’ljÁ + map/clif.h + clif_spiritball_del() -> clif_spiritball_int()C³ + clif_spiritball_cre() -> clif_spiritball_ext()C³ + map/clif.c + packet_len_table[]C³ + clif_spiritball_del() -> clif_spiritball_int()C³ + clif_spiritball_cre() -> clif_spiritball_ext()C³ + map/pc.h + pc_item_steal() -> pc_steal_item()C³ + pc_coin_steal() -> pc_steal_coin()C³ + map/pc.c + pc_item_steal() -> pc_steal_item()C³ + pc_coin_steal() -> pc_steal_coin()C³ + pc_calcstatus()C³ + map/skill.c + skill_check_conditon()C³ + +-------------- +//0497 by Ž€_ + +E0491‚̃XƒLƒ‹Žc‰e‚̃oƒOC³‚ƃXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“AƒXƒiƒbƒ`ƒƒ[‚ÌC³Amob_target‚̃oƒOC³B +EŒðŠ·AÀ‚èAƒp[ƒeƒBŒ‹¬“™‚ÌŽž‚ÉŠî–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚ÉC³B(battle_athena.conf‚Ń`ƒFƒbƒN‚·‚é‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B) +‚½‚¾ƒJƒvƒ‰‚Ì‘qŒÉ‚̓XƒNƒŠƒvƒg‚ŧŒÀ‚ð‚©‚¯‚邵‚©‚ ‚è‚Ü‚¹‚ñB +EƒXƒNƒŠƒvƒggetbasicskillcheck’ljÁB + Žg—p•û–@„ getbasicskillcheck + –ß‚è’l‚Íbattle_athena.conf‚Ìbasic_skill_check‚Å‚·B0‚Ìꇂ͊î–{ƒXƒLƒ‹‚̃`ƒFƒbƒN‚È‚µ‚Å1‚Ìꇂ͊î–{ƒXƒLƒ‹‚ðƒ`ƒFƒbƒN‚·‚é‚Ì‚ðˆÓ–¡‚µ‚Ü‚·B + skill.c + skill_castend_pos2() C³B + skill_additional_effect() C³B + pc.c + pc_move() ’ljÁB + pc_item_steal()Apc_coin_steal() C³B + pc.h + pc_move() ’ljÁB + map.h + struct mob_data C³B + mob.c + mob_spawn() C³B + mob_target() C³B + clif.c + clif_pcinsight()Aclif_pcoutsight() C³B + clif_parse_ActionRequest()Aclif_parse_Emotion()A + clif_parse_TradeRequest()Aclif_parse_CreateParty()A + clif_parse_ReplyPartyInvite() C³B + battle_athena.conf C³B + conf_ref.txt C³B + skill_db.txt + ƒXƒeƒB[ƒ‹‚ÌŽË’ö‚ð3‚©‚ç1‚ÉC³B + battle.hAbattle.c + battle_config‚Ébasic_skill_check ’ljÁB + battle_config_read() C³B + trade.c + trade_traderequest() C³B + script.c + buildin_getbasicskillcheck() ’ljÁB + map/makefile C³B +¦ƒXƒeƒB[ƒ‹‚ƃXƒeƒB[ƒ‹ƒRƒCƒ“‚ÌŒvŽZŽ®‚Í“K“–‚Éì‚Á‚½•¨‚Å‚·B–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚©‘S‘R‚í‚©‚ç‚È‚¢‚Ì‚Å... + + ƒXƒeƒB[ƒ‹—¦ = (ƒ‚ƒ“ƒXƒ^[‚̃AƒCƒeƒ€drop—¦ * (ƒLƒƒƒ‰ƒŒƒxƒ‹*0.5 + dex*0.4 +ƒXƒLƒ‹ƒŒƒxƒ‹*5))% + ƒXƒeƒB[ƒ‹ƒRƒCƒ“—¦ = (ƒXƒLƒ‹ƒŒƒxƒ‹ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[‚̃Œƒxƒ‹)*0.3 + dex*0.2 + luk*0.2)% + ƒXƒiƒbƒ`ƒƒ[”­“®—¦ = (5.5 + ƒXƒLƒ‹ƒŒƒxƒ‹*1.5 +ƒXƒeƒB[ƒ‹‚̃XƒLƒ‹ƒŒƒxƒ‹)% + +–{ŽI‚ÌŒvŽZŽ®‚ª‚í‚©‚é•û‚Íî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +ƒXƒeƒB[ƒ‹ƒRƒCƒ“‚̃[ƒj‚̗ʂ̓‚ƒ“ƒXƒ^[‚̃Œƒxƒ‹*100‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚ɂ‚¢‚Ä‚àî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B +¦Žc‰e‚Ìꇎg‚Á‚½Œã•’Ê‚É•à‚­‘O‚ɂ̓yƒbƒg‚Ì‘•”õ‚ªŒ©‚¦‚È‚¢ƒoƒO‚ª‚ ‚è‚Ü‚·‚ªŒ´ˆö‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å•ú’u‚·‚邱‚Æ‚É‚µ‚Ü‚µ‚½B +¦Šî–{ƒXƒLƒ‹‚ª‘«‚è‚È‚¢Žžo‚郃bƒZ[ƒW‚Í–w‚LJ‚킹‚Ä‚¢‚Ü‚·‚ªƒp[ƒeƒB‚É“ü‚鎞‚ÉŠî–{ƒŒƒxƒ‹‚ª‘«‚è‚È‚¢Žž‚ɇ‚¤•¨‚ª‚È‚©‚Á‚½‚̂Ńp[ƒeƒB‚ðì‚ê‚È‚¢(Šî–{ƒXƒLƒ‹ƒŒƒxƒ‹7‚Ì•¨)‚Æ•\Ž¦‚µ‚ÄŠ©—U‚µ‚½•û‚É‚Í‹‘₳‚ꂽ‚Æ•\Ž¦‚³‚ê‚Ü‚·B + +-------------- +//0496 by hoenny + +DWZ‚̃ƒeƒIƒXƒg[ƒ€ŽÀ‘• +DƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ + db/skill_db.txt + ƒƒeƒIƒXƒg[ƒ€C³ + map/pc.c + pc_coin_steal()C³ + map/skill.c + skill_castend_pos2()C³ + +-------------- +//495 by nini + +EAR‚ª•ÐŽè•€A—¼Žè•€‚Å‚µ‚©”­“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí + map/skill.c + skill_check_condition()@C³ + +‘O‰ñC³‚Ì‚Æ‚«“ÝŠí“ü‚ê–Y‚ê‚Ä‚½‚悤‚Å‚·B + +-------------- +//0494 by Ž‚Žqo^.^o + +conf/mpc_warp.txt +Dƒnƒ“ƒ^ˆê“]E’no‚Ä‚¢‚È‚¢C³ + +-------------- +//0493 by ”g˜Q + +EscriptC³ + npc_town_comodo.txt ƒRƒ‚ƒhˆÄ“à—vˆõ•”•ª‚ðíœ(npc_town_guide.txt‚Æd•¡‚µ‚Ä‚¢‚½‚Ì‚Å) + npc_town_guide.txt ƒWƒ…ƒm[ˆÄ“à—vˆõ‚ð’ljÁ(viewpoint‚ÌF‚ªc) + npc_town_kafra.txt ƒWƒ…ƒm[ƒJƒvƒ‰•”•ª‚ðnpc_town_yuno.txt‚©‚çˆÚ“® + npc_town_refine.txt ƒWƒ…ƒm[¸˜BŠ•”•ª‚ðnpc_town_yuno.txt‚©‚çˆÚ“® + npc_town_yuno.txt ˆÄ“à—vˆõ‚ƃJƒvƒ‰‚Ƹ˜BŠ•”•ª‚ðíœ + npc_turtle.txt ‰ï˜b‚ð”÷C³ + +-------------- +//0492 by Kalen + +EscriptC³+’ljÁ + + conf/npc_event_doll.txt (V‹K) + conf/npc_turtle.txt (V‹K)‹T“‡ŠÖ˜ANPC+‹T“‡ƒNƒGƒXƒg(qŠC“úŽ)’ljÁ + + conf/npc_event_skillget.txt (C³)‰ž‹}ˆ’u‚Ì•s‹ï‡+‚Ö‚ñ‚Ètabíœetc.. + conf/npc_town_alberta.txt (C³)Turtle•ª—£A‚¿‚Ñ‚ÁŽqíœ(Event_doll‚ÖˆÚ“®) + conf/npc_town_guide.txt (C³)‘䎌‚ª‚©‚È‚è•ÏX‚³‚ê‚Ä‚¢‚½‚Ì‚ÅAC³ + + +-------------- +//0491 by Ž€_ + +EƒXƒLƒ‹Žc‰e(ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚Å‚Í‹|gœ[‰e)ŽÀ‘•B(‚½‚¾‹C’e‚̃`ƒFƒbƒN‚Í‚µ‚Ä‚Ü‚¹‚ñB) + pc.h + pc.c + pc_can_reach() ’ljÁB + skill.c + skill_check_condition()Askill_castend_pos2() C³B + skill_db.txt + Žc‰eC³B +Escript.c + set_posword() C³B +¦ˆêl‚ŃeƒXƒg‚ÍÏ‚ñ‚Å‚¢‚Ü‚·‚ª‘¼‚Ìl‚ɳ‚µ‚­Œ©‚¦‚é‚©‚Ç‚¤‚©‚Í–¢Šm”F‚Å‚·B +•Ï‚È‚Ì‚©‚Ç‚¤‚©•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + +-------------- +//0490 by nabe + +EꊃXƒLƒ‹ƒGƒtƒFƒNƒg‚Ń}ƒbƒvŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚Á‚½‚Ì‚ðC³B + clif.c + clif_skill_poseffect()‚Ì + unsigned char buf[16];‚ðAunsigned char buf[32];‚ÉC³B + +-------------- +//0489 by Ž€_ + +E0483‚̃oƒOC³Bbattle_athena.conf‚Ìquest_skill_learn‚ª³‚µ‚­“K—p‚³‚ê‚é‚悤‚É•ÏX‚Æ–â‘肪‚ ‚Á‚½•”•ª‚ÌC³B(ƒeƒXƒgÏ‚Ý) + pc.c + pc_calc_skilltree()Apc_skill() C³B + atcommand.c + @lostskill ­‚µC³B +EƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ð–h‚®‚½‚ß‚É­‚µC³B(‚½‚¾ƒJ[ƒh‚ÌŽg—p‚É‚æ‚éƒ}ƒbƒvŽIƒ_ƒEƒ“‚ðÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾...Š¾) + pc.c + pc_insert_card() C³B +Epc.h + pc_ishiding() C³B + +-------------- +//0488 by hoenny + +ERG‚̃XƒeƒB[ƒ‹ƒRƒCƒ“ŽÀ‘• +EƒXƒeƒB[ƒ‹C³ +(“ñƒXƒLƒ‹ŠFˆê“xƒXƒ`[ƒ‹‚µ‚½ê‡‚Ü‚½ƒXƒ`[ƒ‹‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢.‚»‚µ‚ăXƒLƒ‹¬Œ÷‚ÌŽžƒ‚ƒ“ƒXƒ^[‚ÍUŒ‚‚·‚é‚悤‚ÉC³‚µ‚½.ƒGƒtƒFƒNƒg‚ͬŒ÷‚ÌŽž‚¾‚¯o‚é‚悤‚ÉC³‚µ‚½.) + db/skill_db.txt + ƒXƒeƒB[ƒ‹ƒRƒCƒ“C³ + map/pc.h + pc_coin_steal()’ljÁ + map/pc.c + pc_coin_steal()’ljÁ + pc_item_steal()C³ + map/skill.c + skill_castend_nodamage_id()C³ + +-------------- +//0487 by hoenny + +E485‚Ì–â‘è“_‚¿‚å‚Á‚ÆC³ + map/pc.c + pc_item_steal()C³ + map/skill.c + skill_castend_nodamage_id()C³ + +-------------- +//0486 by Ž‚Žqo^.^o + +db/class_equip_db.txtC³ +—ô‚¯‚½‘å’n‚Ì‘A”R‚¦‚鑾—z‚Ì‘AŠ£‚¢‚Ä‚é•—‚Ì‘AàÒŽ¦˜^AƒvƒŠ[ƒXƒg‚Í‘•”õ‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢–â‘èC³ + +-------------- +//0485 by hoenny + +E RG‚̃Xƒiƒbƒ`ƒƒ[ŽÀ‘• +E ƒXƒeƒB[ƒ‹C³ +E ˜I“XŠJÝ‚ÌŽž skill_check_condition‚Åó‘Ô‚ðƒ`ƒFƒN‚·‚é‚悤‚ÉC³ + map/pc.h + pc_ishiding()’ljÁ + pc_item_steal()’ljÁ + map/pc.c + pc_item_steal()’ljÁ + map/skill.c + skill_castend_nodamage_id()C³ + skill_additional_effect()C³ + skill_check_condition()C³ + +-------------- +//0484 by ŒÓ’±—– + +EŠo‚¦‚Ä‚È‚¢ƒNƒGƒXƒgƒXƒLƒ‹‚ɃXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚ê‚é–â‘èC³ + pc.c + pc_calc_skilltree()‚ŃNƒGƒXƒgƒXƒLƒ‹‚̃`ƒFƒbƒN’ljÁ + skill.c + skill_readdb()‚Åinf2‚ð“ǂނ悤‚ÉC³ + +EƒyƒRƒyƒR‹RæAƒtƒ@ƒ‹ƒRƒ“‚̃AƒCƒRƒ“‚ªƒƒOƒCƒ“’¼Œã‚É‚Í•\Ž¦‚³‚ê‚È‚¢–â‘èC³ + clif.c + clif_parse_LoadEndAck()C³ + +-------------- +//0483 by Ž€_ + +E0482‚Ì“K—pB + npc_event_skillget.txt C³B + script.c C³B + skill.c C³B + pc.c C³B + +-------------- +//0482 by ŒÓ’±—– + +EƒNƒGƒXƒgƒXƒLƒ‹‚̃XƒNƒŠƒvƒg­‚µC³ +EƒXƒNƒŠƒvƒggetskilllv‚ðŒÄ‚Ԃƃ}ƒbƒvƒT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³ + (conf/) + npc_event_skillget.txt + o—ˆ‚邾‚¯•Ï”‚ðŽg‚í‚È‚¢‚悤‚ÉC³i–¢ƒeƒXƒgj + (map/) + script.c + buildin_getskilllv()C³ + +EƒXƒeƒB[ƒ‹‚ÅŽ¸”sŽž‚̃GƒtƒFƒNƒg•ÏX +E“¯‚¶MOB‚É‚Í‚P‰ñ‚µ‚©ƒXƒeƒB[ƒ‹‚Å‚«‚È‚¢‚悤‚ÉC³ + (map/) + skill.c + skill_castend_nodamage_id()C³ + map.h + struct mob_data‚Ésteal_countƒƒ“ƒo’ljÁ + mob.c + mob_spawn()C³Asteal_count‚ð0‚ɉŠú‰»‚·‚é‚悤‚É + +EƒCƒhƒDƒ“‚Ì—ÑŒç‚ÅHP‚ª32767‚ð’´‚¦‚é‚ƃT[ƒo[‚ª—Ž‚¿‚éƒoƒOC³i–¢ƒeƒXƒgj + (map/) + pc.c + pc_calcstatus()C³ + +-------------- +//0481 by Ž€_ + +E‚±‚ê‚Ì“K—p‚É‚Í‹C‚ð‚‚¯‚Ä‚­‚¾‚³‚¢B0478‚̌Ӓ±—–‚³‚ñ‚Ì•¨‚ð Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX‚¹‚¸‚ɃNƒFƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚é‚悤‚Éì‚Á‚½•¨‚Å‚·BŽ©•ª‚ªì‚Á‚Ä‚éÅ’†‚ɌӒ±—–‚³‚ñ‚ª“¯‚¶•¨‚ðƒAƒbƒv‚µ‚Ä‚­‚ꂽ‚Ì‚Å‚·‚ªƒf[ƒ^‚Í•Ï‚¦‚È‚¢•û‚ª‚¢‚¢‚ÆŽv‚Á‚ÄŽ©•ª‚Ì•¨‚àƒAƒbƒv‚µ‚Ü‚µ‚½B’ˆÓ‚·‚邱‚Æ‚Í0478‚Ìathena.txt‚ÍŽg‚¦‚È‚¢‚ÆŒ¾‚¤‚±‚Æ‚Å‚·B0478‘O‚Ì•¨‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B +Eskill_db.txt‚Éinf2‚ð’ljÁ‚µ‚Ä‚±‚ê‚ðŽg‚Á‚ăNƒFƒXƒgƒXƒLƒ‹‚©‚Ç‚¤‚©‚ð”»’f‚·‚éŽd‘g‚Ý‚Å‚·B + skill.h C³B + skill.c + skill_readdb()C³‚Æ­‚µC³B + skill_get_inf2() ’ljÁB + skill_db.txt C³B + skill_tree.txt C³B(0478‘O‚Ì•¨) + clif.c + clif_skillinfoblock() C³B + char.c C³B(0478‘O‚Ì•¨) +Ebattle_athena.conf‚Équest_skill_learn’ljÁB + battle.h C³B + battle.c + battle_config_read() C³B + battle_athena.conf C³B +E/resetskill‚ðbattle_athena.conf‚Équest_skill_learn‚ÌÝ’è‚ɇ‚킹‚Äquest_skill_learn‚ªyes‚Ìꇂ̓XƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚µ‚Äquest_skill_learn‚ªno‚Ȃ烊ƒZƒbƒg‚Í‚³‚ê‚邪ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ɉÁŽZ‚³‚ê‚Ü‚¹‚ñB + pc.c + pc_skill()Apc_resetskill() C³‚Æ­‚µC³B + pc.h C³B + atcommand.c C³B + atcommnad_athena.conf C³B +EƒXƒNƒŠƒvƒg‚ÌskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚é‚Ì‚Í“¯‚¶‚Å‚·‚ªÅŒã‚̃tƒ‰ƒO‚ª2‚©‚ç0‚É•Ï‚í‚Á‚Ä‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + npc_test_skill.txt C³B + npc_event_skillget.txt C³B + conf_ref.txt C³B + client_packet.txt C³B + +-------------- +//0480 by Kalen + +EEventskill’ljÁ + conf/npc_event_skillget.txt + +Emap_athena.conf•ÏX + warp.txt‚Ì“Ç‚Ýž‚Ý—Dæ“x‚ð•ÏX + prt_castle“™A‹ŒEP‚̃[ƒv‚ƈقȂéꊂɕÏX‚³‚ê‚½ê‡ + æ‚É“Ç‚Ýž‚ñ‚¾•û‚ª—D悳‚ê‚é‚Ì‚ÅAEP‚Ì‚‚¢‡‚Ì‚ª‚æ‚낵‚¢‚©‚Æ + conf/map_athena.conf + +-------------- +//0478 by ŒÓ’±—– + +*** + Athena.txt‚̃f[ƒ^Œ`Ž®•ÏX!! (Ž©“®“I‚É•ÏŠ·‚³‚ê‚Ü‚·) + ƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚É! + Data format of athena.txt is changed!! (convert automatically) + DONT FORGET BACKUP!! +*** + +EƒNƒGƒXƒgƒXƒLƒ‹ŽÀ‘• +EƒXƒNƒŠƒvƒg‚ŃXƒLƒ‹ƒŒƒxƒ‹‚ðƒ`ƒFƒbƒN‚Å‚«‚é‚悤‚É + EƒXƒNƒŠƒvƒg‚ÌskillƒRƒ}ƒ“ƒh‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚ç‚ê‚Ü‚·B + Žg—p•û–@„ skill ƒXƒLƒ‹ID,ƒXƒLƒ‹LV[,ƒtƒ‰ƒO] + ƒtƒ‰ƒO‚ÍÈ—ª‰Â”\‚ÅAÈ—ª‚·‚é‚Æ‚P‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B + ‚P‚Å‘•”õ•i‚É‚æ‚éˆêŽž“I‚ÈK“¾A‚Q‚ŃNƒGƒXƒg‚É‚æ‚éP‹v“I‚ÈK“¾‚Å‚·B + P‹v“I‚ÈK“¾‚Ìê‡Askill_tree.txt‚Ɉˑ¶‚µ‚Ü‚· + EgetskilllvƒRƒ}ƒ“ƒh’ljÁ + Žg—p•û–@„ getskilllv(ƒXƒLƒ‹ID) –ß‚è’l‚̓Œƒxƒ‹‚Å‚·B0‚Å–¢K“¾B + + (conf/) + npc_test_skill.txt + ƒTƒ“ƒvƒ‹ + (db/) + skill_tree.txt + ƒNƒGƒXƒgƒXƒLƒ‹‚Æ‚µ‚Ä•K—vƒXƒLƒ‹ID‚É-1‚ðÝ’èB + (char/) + char.c + ƒtƒ‰ƒO‚àathena.txt‚É•Û‘¶‚·‚é‚悤‚ÉB + ˆÈ‘O‚ÌŒ`Ž®‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚Ü‚·B + (map/) + pc.c/pc.h + pc_skill(),pc_calc_skilltree()‚È‚ÇC³ + script.c + buildin_skill(),buildin_getskillid()‚È‚ÇC³ + +E@questskill,@lostskill’ljÁ + E@questskill ƒXƒLƒ‹ID ‚ŃNƒGƒXƒgƒXƒLƒ‹‚ðŠo‚¦‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹‚Ì‚Ý) + E@lostskill ƒXƒLƒ‹ID ‚ŃXƒLƒ‹‚ð–Y‚ê‚Ü‚·B(ƒNƒGƒXƒgƒXƒLƒ‹ˆÈŠO‚àOK) + + atcommand.c/atcommand.h + struct Atcommand_Config‚Élostskill,questskillƒƒ“ƒo’ljÁ + @questskill,@lostskillˆ—’ljÁ + +-------------- +//0477 by nabe + +Eˆê•”•Ï”‚Ì錾ˆÊ’u‚Ì•ÏX‚Ì‚ÝiLinux“™‚ŃRƒ“ƒpƒCƒ‹‚µ‚â‚·‚¢‚悤‚ÉjB + atcommand.c,battle.c,clif.c,mob.c,npc.c,skill.c + +-------------- +//0476 by nabe + +Econf/ ‚¿‚å‚Á‚Æ®— + conf/map_athena.confC³B + tortoise.txt‚ðnpc_town_alberta.txt’†‚Ɉړ®B + npc_script2.txt‚̃Rƒ‚ƒhƒKƒCƒh‚ðnpc_town_comodo.txt’†‚Ɉړ®B + +Enpc‚ªƒLƒƒƒ‰–¼‚ð’‚é‚Æ‚«‚̃oƒOC³ + map/script.c + buildin_strcharinfo()‚ŃLƒƒƒ‰–¼—p‚̃ƒ‚ƒŠ‚ð + static‚ÉŠm•Û‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðAmalloc‚ÉC³B + +-------------- +//0475 by hoenny + +“D–_‚̃XƒeƒB[ƒ‹ŽÀ‘•B +ƒMƒ‹ƒh¶¬‚ÌŽžƒGƒ“ƒyƒŠƒEƒ€Á–Õ‚·‚é‚悤‚ÉC³B + map/guild.c + guild_create()C³B + guild_created()C³B + map/skill.c + skill_castend_nodamage_id()C³B + +-------------- +//0474 by Ž€_ + +E0471‚̸—û‚ÌŽž•\Ž¦‚³‚ê‚镶Žš‚ÌÝ’è‚ðmap_athena.conf‚©‚çscript_athena.conf‚É•ÏXB + script.c + do_init_script() C³‚Æ­‚µC³B + script.h C³B + script_athena.conf ’ljÁB + map_athena.conf C³B + map.c + map_config_read() C³B +EŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒXŽÀ‘•‚Æ­‚µŽd—l•ÏXB +ƒ‰ƒ“ƒ_ƒ€‚ŃAƒCƒeƒ€‚𓾂镨‚ɃfƒtƒHƒ‹ƒg‚Åo‚éƒAƒCƒeƒ€‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏXB¡‚ÌŽd—l‚Å‚Í1000‰ñ‚܂ŃAƒCƒeƒ€‚ª‘I‘ð‚³‚ê‚È‚©‚Á‚½‚çƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚ªo‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·BƒfƒtƒHƒ‹ƒgƒAƒCƒeƒ€‚ª0‚Ìꇂ̓AƒCƒeƒ€‚𓾂ç‚ê‚Ü‚¹‚ñB +Ý’è‚·‚éŠm—¦‚ð*1000‚©‚ç*10000‚É•ÏXB‚½‚¾item_~.txt‚ÌC³‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñB’N‚©‚â‚Á‚Ä‚­‚¾‚³‚¢B(‘¼—Í–{Šè) + itemdb.c + temdb_read_randomitem() C³B + itemdb_searchrandomid() C³B + item_purplebox.txt ‚©‚ç item_violetbox.txt ‚ÉC³B + item_giftbox.txtAitem_scroll.txt ’ljÁB(move‚³‚ñ‚ ‚肪‚Æ‚¤B) + item_db.txt + ŒÃ‚¢Šª•¨AƒvƒŒƒ[ƒ“ƒgƒ{ƒbƒNƒX C³B +Etrade.c + trade_tradecommit() C³Bpc_delitem()‚ðŽg‚¤‚悤‚É•ÏXB +¦ƒeƒXƒg‚Í‚â‚Á‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚Å–â‘肪‚ ‚Á‚½‚ç•ñ‚µ‚Ä‚­‚¾‚³‚¢B + +-------------- +//0473 by Kuro + +Eclass_equip_db‚ðˆê•”C³ + db/class_equip_db.txt + +-------------- +//0471 by hoenny + +»˜B‚ÌŽžo‚镶‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½.(map_athena.conf‚Å’²ß‰Â”\) +‹CŒ÷‚Ì”Žš‚ªŽsœD‚ÌŽžŽÀÛ…˜H•\Ž¦}—ÎC³ + conf/map_athena.conf + refine_posword:’ljÁB + map/map.c + map_config_read()C³B + map/script.h + do_set_posword()’ljÁB + map/script.c + do_set_posword()’ljÁB + buildin_getequipname()C³B + map/skill.c + skill_status_change_start()C³B + +-------------- +//0470 by Ž€_ + +E»‘¢‚ÌŽž‘®«Î‚ª“ñ“xŒ¸‚é–â‘èC³B(ŽÀ‚Í“ñ“xŒ¸‚é‚悤‚ÉŒ©‚¦‚邾‚¯‚Ń}ƒbƒv‚ðˆÚ“®‚·‚é‚Ƴ‚µ‚­•\Ž¦‚³‚ê‚Ü‚·‚ª...) + pc.hApc.c + pc_delitem() C³B + npc.cAscript.cAstorage.cApet.c + pc_delitem()‚ð‘S‚ÄC³B + skill.c + skill_produce_mix() C³B + +-------------- +//469 by ”g˜Q + +Enpc_mob_job.txtAnpc_monster.txtAnpc_monster30.txtAmob_db.txt‚̃‚ƒ“ƒX–¼‚ðC³ +Eitem_db.txt‚̉ñ•œƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ðƒWƒ…ƒm[Œã‚Ì‚à‚Ì‚ÉC³ + +-------------- +//468 by Kuro + +E–‚Œ•»ìƒNƒGƒXƒg’ljÁ + conf/npc_event_ma_sword.txt + +-------------- +//467 by nini + +EBB‚ª—¼ŽèŒ•‚Å‚µ‚©”­“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨‚·‚ׂĂ̕Ší‚Å +EAR‚ª—¼Žè•€‚Å‚µ‚©”­“®‚µ‚È‚©‚Á‚½‚Æ‚±‚ëC³¨•ÐŽè•€A—¼Žè•€A“ÝŠí +EƒXƒsƒAƒNƒCƒbƒPƒ“”­“®‚ð‘„‚¾‚¯‚É +EƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚³‚ê‚È‚¢‚à‚̂ɃOƒ‰ƒ“ƒhƒNƒƒXAƒ[ƒO‚̃XƒgƒŠƒbƒvƒVƒŠ[ƒY’ljÁ +EƒuƒŠƒbƒcƒr[ƒg‚ªƒLƒƒƒXƒgƒLƒƒƒ“ƒZƒ‹‚³‚ê‚È‚­‚È‚Á‚Ä‚½“_C³ + map/skill.c + skill_use_id()@C³ + skill_check_condition()@C³ +E2-2EƒXƒLƒ‹‚̃LƒƒƒXƒgEƒfƒBƒŒƒC’ljÁ + db/cast_db.txt + + +-------------- +//466 by hoenny + +Eˆ¢C—…”e–PŒC³(ŒöŽ®C³‹y‚Ñ spÁ–Õ‚ª‚·‚®Œ©‚¦‚é‚悤‚É) +E’~‹C‚ÌŽž‹C’e‚ªŒ©‚¦‚é‚悤‚ÉC³(Mr.NO NAME—l‚̃pƒPî•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·.‹C’e‚ªÁ‚¦‚éƒpƒPî•ñ‚ª•s‘«‚Å‚·.) +EƒpƒŠ‚̉H‚âƒeƒŒƒ|[ƒg1‚ð˜A‘±Žg—p‚ÌŽž,ŽIƒI[ƒo[‚ª”­¶‚µ‚È‚¢‚悤‚ɉ¼‰‚ß‚ÅC³ + doc/client_packet.txt + 0x1e1ƒpƒPî•ñ’ljÁ + map/battle.c + battle_calc_weapon_attack()C³ + map/clif.h + clif_spiritball_cre()’ljÁ + clif_spiritball_del()’ljÁ + map/clif.c + packet_len_table[]C³ + clif_spiritball_cre()’ljÁ + clif_spiritball_del()’ljÁ + clif_changemap()C³ + map/skill.c + skill_castend_nodamage_id()C³ + skill_check_condition()C³ + +-------------- +//0465 by Ž€_ + +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ƃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚̃oƒOC³B(ƒuƒŠƒbƒcƒr[ƒg‚Í•ñ‚Í‚È‚©‚Á‚½‚Ì‚Å‚·‚ª•ªÍ‚µ‚½‚ç–â‘肪‚ ‚Á‚½‚Ì‚ÅC³B) + skill.c + skill_use_id() C³B + skill_castend_nodamage_id() C³B +E0455‚ÌNPC‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B + npc_event_ice.txt C³B + npc_event_potion.txt C³B + npc_town_geffen.txt C³Bi454‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj +E0451‚̃¿ƒ}ƒbƒv‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B•K—v‚È•û‚̓Rƒ}ƒ“ƒgƒAƒEƒg‚ð‚È‚­‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B + map_athena.conf C³B +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚Í0442‚Ì–â‘è‚ŃnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í0445‚Ì–â‘è‚Å‚µ‚½B‚»‚ê‚Æ0445‚ÌC³‚ŃXƒLƒ‹”Ô†‚ðenum‚Å錾‚µ‚½•¶Žš‚É•Ï‚¦‚Ä‚¢‚Ü‚·‚ª‚»‚ê‚É—Ž‚Æ‚µ‚ª‚ ‚é‚悤‚Å‚·B(ƒnƒCƒfƒBƒ“ƒOAƒuƒŠƒbƒcƒr[ƒg‚Í‚»‚Ì‚¹‚¢‚Å‚µ‚½B)‘O‚̔Ԇƒ\[ƒX‚Æ”ä‚ׂĖâ‘肪‚ ‚é•”•ª‚ÍC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚¿‚å‚Á‚Æ–Ê“|‚Å‚·‚ª... + +-------------- +//464 by ”g˜Q + +Eƒ‚ƒ“ƒNƒXƒLƒ‹‚Ì•”•ª‚ɂ‚¢‚ÄC³(–¢ŽÀ‘•ƒXƒŒ‚É‘‚©‚ê‚Ä‚¢‚½‚à‚Ì‚ð’ljÁ‚µ‚½‚¾‚¯‚Å‚·B + skill.c + skill_use_id()C³ + cast_db.txt + ƒ‚ƒ“ƒNƒXƒLƒ‹’ljÁ + +-------------- +//463 by ŒÓ’±—– + +E462‚̃oƒOC³ + ENPC‚ÌSHOP‚Ì•s“s‡C³ + EREADME‚̊ԈႢC³iwarpwaitingpc‚ªwarpwaitingroom‚É‚È‚Á‚Ä‚¢‚½j + + map.h + struct npc_data‚Ìchat_id‚̈ʒu‚ðC³ + +-------------- +//462 by ŒÓ’±—– + +ENPCƒ`ƒƒƒbƒgì¬ + Ewaitingroom–½—ß‚ÅNPCƒ`ƒƒƒbƒg‚ð쬂µ‚Ü‚·B + ˆø”‚Í waitingroom "ƒ`ƒƒƒbƒg–¼",§ŒÀl”,ƒCƒxƒ“ƒg–¼ ‚Å‚·B + ƒCƒxƒ“ƒg–¼‚Íl”‚ªÅ‘å‚É‚È‚Á‚½‚Æ‚«‚É‹N‚±‚·ƒCƒxƒ“ƒg–¼‚ÅAÈ—ª‰Â”\B + Ewarpwaitingpc–½—ß‚ÅAƒ`ƒƒƒbƒg“à‚É‚¢‚éPC‘Sˆõ‚ðƒ[ƒv‚Å‚«‚Ü‚·B + ˆø”‚Íwarp‚Æ“¯‚¶‚ÅAwarpwaitingpc "ƒ}ƒbƒv–¼",x,y ‚Å‚·B + + map.h + struct npc_data‚Æchat_data‚ðC³ + script.c + buildin_waitingroom(),buildin_warpwaitingpc()’ljÁ + chat.c/chat.h + FXC³ + clif.c + clif_getareachar_npc()Aclif_joinchatok()‚È‚ÇC³ + +ENPC‚ÌOnInitƒCƒxƒ“ƒg‚ðƒT[ƒo[‹N“®Žž‚ɌĂԂ悤‚ÉB +EƒGƒNƒXƒ|[ƒg‚·‚é‚Æ‚«‚ÌNPC–¼‚Æ•\Ž¦ã‚ÌNPC–¼‚ð•ÊX‚ÉÝ’è‰Â”\‚ÉB + E“¯‚¶NPC–¼‚̃Cƒxƒ“ƒg‚Íd•¡‚Å‚«‚È‚¢‚½‚ßAƒGƒNƒXƒ|[ƒg—pNPC–¼‚ðŽg‚¢A + “¯‚¶NPC–¼‚Å‚à•Ê‚ÌNPC‚Æ‚µ‚ÄŽ¯•Ê‚Å‚«‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB + (‚à‚¿‚ë‚ñAƒCƒxƒ“ƒgˆ—‚ðs‚í‚È‚¢ê‡‚Í‚»‚Ì•K—v‚Í‚ ‚è‚Ü‚¹‚ñB) + Enpc_*.txt‚Ìscript–½—ß‚ÅNPC‚Ì–¼‘O‚ðÝ’è‚·‚é‚Æ‚«A + u•\Ž¦–¼::ƒGƒNƒXƒ|[ƒg–¼v‚Æ‚·‚é‚ÆA•\Ž¦‚·‚é–¼‘O‚ÆAƒCƒxƒ“ƒg—p‚É + ƒGƒNƒXƒ|[ƒg‚·‚é–¼‘O‚ð•ÊX‚ÉŽw’è‚Å‚«‚Ü‚·B + •\Ž¦–¼‚ª‘S‚­“¯‚¶•ÊX‚ÌNPC‚ŃCƒxƒ“ƒg‚ð“®ì‚³‚¹‚é‚Æ‚«‚ÉŽg—p‚µ‚Ü‚·B + E‚â‚₱‚µ‚¢‚Ì‚ÅPVP‚ÌnpcƒXƒNƒŠƒvƒg‚ðŒ©‚ÄƒCƒ[ƒW‚ð’Í‚ñ‚Å‚­‚¾‚³‚¢B + + npc.c/npc.h + npc_parse_*()‚ÌC³ + npc_event_do_oninit(),npc_event_do_oninit_sub()‚ȂǒljÁ + map.c/map.h + do_init()‚Ånpc_event_do_oninit()‚ðŒÄ‚Ԃ悤‚É + struct npc_dataC³ + +EƒXƒNƒŠƒvƒggetmapusersAgetareausers‚Ì’v–½“I‚ȃoƒOC³ + EŠY“–ƒ}ƒbƒv‚ª‘¶Ý‚µ‚È‚¢ê‡Aƒ}ƒbƒvƒT[ƒo[‚ª—Ž‚¿‚é‚Ì‚ðC³B + Eƒ}ƒbƒv‚ª‘¶Ý‚µ‚È‚¢‚ÆA-1‚ð•Ô‚·‚悤‚É‚µ‚½B + + script.c + buildin_getmapusers(),buildin_getareausers()C³ + +Epvp‚̃XƒNƒŠƒvƒgC³ + Eƒ`ƒƒƒbƒgƒ‹[ƒ€‚ðì‚é‚悤‚É‚µ‚½ + + (conf/) + npc_pvproom.txt + ‘S‚Ä‚ÌNPC‚̃GƒNƒXƒ|[ƒg–¼(pvp??r)Ý’è + OnInit:‚Åwaitingroom‚ðŽÀs‚·‚é‚悤‚É + +-------------- +//461 by Kuro +EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒgˆê•”C³ + conf/npc_job_aco.txt + +-------------- +//460 by sagitarius +Eitem_db‚̊ԈႢC³ + 4032,Ambernite_Card,ƒAƒ“ƒo[ƒiƒCƒgƒJ[ƒh,6,20,,10,,2,,,,,32,,,,{},{},,C³ + +-------------- +//459 by hoenny +EƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…Žg—p‚ÌŽž•€ƒ`ƒFƒbƒN(Ž©•ª‚¾‚¯) +EOld_Blue_Box‚ÌŠm—¦‚ª‚‚¢‚Æ‚¢‚¤•ñ‚É‚æ‚Á‚ÄC³ +EScript.c‚Í0455ˆÈ‘O‚±‚ƂňøŠ·(NPC‚ð‚±‚±‚ɇ‚킹‚ÄC³‚µ‚Ä‚­‚¾‚³‚¢) +Eˆ¢C—…”e–PŒC³(ŒöŽ®‚ðC³‚µ‚½‚ñ‚Å‚·‚ª, ³Šm‚©‚Í‚æ‚­•ª‚©‚ç‚È‚¢‚Å‚·‚Ë.) +EC“¹‘m‚Ì’~‹C,”šŠú‚̉¼ŽÀ‘•.(ˆ¢C—…”e–PŒŽg—p‚ÌŽž’~‹C,”šŠúó‘Ô‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·. ) +EƒyƒRƒyƒR‚Éæ‚Á‚½Œã‚ÉAADPD‚ªŠÔˆá‚Á‚½‚±‚ÆC³(ƒoƒO‚𒼂µ‚Ä‚ ‚°‚½‚ª, ’¼‚·‘O‚±‚Æ‚É•Ï‚í‚邹‚¢‚Å‚Ü‚½C³) +‚»‚ÌŠO‚É‚àC³‚ð‚µ‚½‚悤‚È‚Ì‚ÉŠo‚¦‚È‚¢‚Å‚·‚Ë.‚»‚µ‚ÄŒë‚Á‚½•”•ª‚ª‚ ‚ê‚ÎŽw“E‚µ‚Ä‚­‚¾‚³‚¢. + conf/npc_event_ice.txt + checkweightC³ + conf/npc_town_geffen.txt + checkweightC³ + db/item_purplebox.txt + Old_Blue_BoxC³ + map/battle.c + battle_calc_weapon_attack()C³ + map/pc.c + pc_spheal()C³ + pc_calcstatus()C³ + map/script.c + buildin_checkweight()C³ + map/skill.h + SC_ EXPLOSIONSPIRITS’ljÁ + map/skill.c + SkillStatusChangeTable[]C³ + skill_castend_nodamage_id()C³ + skill_check_condition()C³ + +-------------- +//458 by Kuro +EƒAƒRƒ‰ƒCƒg“]EƒNƒGƒXƒg’ljÁ + conf/npc_job_aco.txt + ‰ï˜b•¶‚ª•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“K“–‚É‚µ‚Ä‚ ‚è‚Ü‚·B‚Ü‚½ANPC‚ÌŠOŒ©‚Ì•Ï‚¦•û‚ª•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚Å“K“–‚É‚µ‚Ä‚ ‚è‚Ü‚·B + •ª‚©‚é•û‚ÍC³‚µ‚Ä‚¨‚¢‚ĉº‚³‚¢B + +-------------- +//0457 by Kalen + +EPVPŠÖ˜A‚ÌNPC’ljÁ + conf/npc_pvp.txt + conf/npc_pvproom.txt + +-------------- +//0456 by Ž€_ + +Eƒ‚ƒ“ƒXƒ^[‚ÌʼnUŒ‚ŽžŠÔ‚ª’·‚·‚¬‚é–â‘èC³B +ƒ‚ƒ“ƒXƒ^[‚ÌʼnUŒ‚ŽžŠÔ‚ð¡‚Ü‚Å‚Ímob_db‚ÌaDelay‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½‚ª‚±‚ê‚ðaMotion‚É•ÏX‚µ‚Ü‚µ‚½B¡‚Ü‚Å‚Ímob_db‚ÌaMotion‚̓Sƒ~‚Å‚µ‚½‚ª¡“x‚©‚ç‚̓Sƒ~‚Å‚Í‚ ‚è‚Ü‚¹‚ñBaMotion‚³‚¦³‚µ‚¯‚ê‚΃‚ƒ“ƒXƒ^[‚ÌUŒ‚‚̃‚[ƒVƒ‡ƒ“‚Ì‘O‚Ƀ_ƒ[ƒW‚ªo‚Ä‚­‚é–â‘è‚à‚È‚­‚È‚é‚Í‚¸‚Å‚·B + mob.c + mob_changestate() C³B +EƒAƒCƒeƒ€‚ð“üŽè‚Å‚«‚È‚¢Žž‚»‚Ì——R‚É“–‚½‚郃bƒZ[ƒW‚ªo‚é‚悤‚É•ÏXB + pc.c + pc_additem() C³B +Ejob_db1.txt‚Ì‚Å–â‘è‚É‚È‚Á‚½.‚ð,‚ÉC³B + +-------------- +//455 by Mr.NO NAME +ENPC‚Ƃ̃AƒCƒeƒ€ŒðŠ·‚┃‚¢•¨ŠÖŒW‚ÌScript‚ªo—ˆã‚ª‚Á‚½“–‰‚Ì +@NPCƒf[ƒ^(npc_event_making.txtAnpc_town_geffen.txt“™)‚Éæ‚ÁŽæ‚èAˆÈ‰º‚ðC³B + conf/npc_event_ice.txt + npc_event_potion.txt + npc_town_geffen.txti454ˆÈ‘O‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½Bj + map/script.c + buildin_checkweight()‚ðC³B + +-------------- +//454 by Kuro +EƒQƒbƒtƒFƒ“’b–艮‚Å”ƒ‚¢•¨‚ªo—ˆ‚é‚悤‚ÉC³ + conf/npc_town_geffen.txt + +-------------- +//0451 by code +E ¡X‚Å‚·‚ªƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚ɑΉž(ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Ìdata.grf‚ðadata.grf‚Æ‚µ‚Ägrf-files.txt‚Ìadata‚Ì‚Æ‚±‚ë‚É‘‚¢‚Ä‚­‚¾‚³‚¢) + common/grfio.c + grfio_setadatafile()’ljÁ + /grfio.h + grfio_setadatafile()’ljÁ + conf/map_athena.conf + ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚̃}ƒbƒv‚ð“Ç‚Ýž‚ނ悤‚É•ÏX + /npc_warp_a.txt + ƒ¿ƒ}ƒbƒv‚̃[ƒvƒ|ƒCƒ“ƒg‚ÌÝ’è(‚¿‚å‚Á‚Æ‚¸‚ê‚Ä‚é‚©‚à) + /grf-files.txt + ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Ìdata.grf‚ðadata.grf‚Æ‚µ‚Ä“Ç‚Ýž‚ނ悤‚ÉÝ’è + adata: ‚É‹Lq +¦ƒ¿ƒNƒ‰ƒCƒAƒ“ƒg‚Í +@ttp://www.castledragmire.com/ragnarok/ +@‚ ‚½‚è‚©‚ç“üŽè‚µ‚Ä‚­‚¾‚³‚¢B + +-------------- +//0450 by hoenny +E ‹R•ºC—ûŽÀ‘• +E ƒRƒ€ƒpƒ‹ƒVƒ‡ƒ“ƒfƒBƒXƒJƒEƒ“ƒgŽÀ‘• +E ƒfƒBƒXƒJƒEƒ“ƒgEƒI[ƒo[ƒ`ƒƒ[ƒWC³(”‚ª‚‚¢ê‡ŒvŽZ–@‚ªŠÔˆá‚Á‚½‚±‚Ƃ𒼂µ‚Ü‚µ‚½.) +E “SŒC³(‘fŽè‚ÈŽž‚à“K—p‚³‚ê‚é‚悤‚É) +E •€C—ûC³(•ÐŽè•€‚ÈŽž‚à“K—p‚³‚ê‚é‚悤‚É) +E ƒ{ƒ“ƒSƒ“‚ªUŒ‚‚·‚é‚悤‚ÉC³ + map/pc.c + pc_calcstatus()C³ + pc_modifybuyvalue()C³ + pc_modifysellvalue()C³ + map/battle.c + battle_addmastery()C³ + db/mob_db.txt + ƒ{ƒ“ƒSƒ“C³ + +-------------- +//0449 by Ž€_ + +E•Ï‚É‚È‚Á‚½ŠC³B + const.txt + bAtk‚ÆbDef ’ljÁB + battle.c + battle_calc_weapon_attack()‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + map.h + map_session_data‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0445‚Ì•¨) + pc.c + pc_calcstatus() C³B + pc_bonus() C³B + item_db.txt‚ðŒ³‚É–ß‚µ‚Ü‚µ‚½B(0446‚Ì•¨) + +-------------- +//0448 by hoenny +E‘‘¬C³(pc_walk()‚©‚ç pc_calcstatus()‚Ɉړ®) +Eő劎—ÊC³ + map/pc.c + pc_calcstatus()C³B + +-------------- +//0447 by ‚䂤 +E“ñ“—¬E–î‚Ì‘®«‚𳂵‚­“K‰ž +EATK‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚ð•ŠíƒTƒCƒYC³‚È‚µ‚Ì’êã‚°‚É•ÏX +EATKEDEF‚Ìオ‚éƒJ[ƒh‚ÌŒø‰Ê‚Ì“K‰ž‚ÌŽd•û‚ð•ÏX + +map.h + map_session_data‚Écatk(ƒJ[ƒhATK)‚ð’ljÁ + +pc.c + pc_calcstatus() + ƒAƒTƒVƒ“‚Ì“ñ“—¬‚ÌUŒ‚‘¬“x‚ðC³‚µ‚½ + ƒXƒNƒŠƒvƒg‚É‚æ‚é‘®«‚ð¶‰E³‚µ‚­“K‰ž‚·‚é‚悤‚É‚µ‚½ + –î‚Ì‘®«‚𳂵‚­“K‰ž‚·‚é‚悤‚É‚µ‚½i‹|‚Ì‘®«—Dæj + ‚½‚¾‚µA–‚·‚ׂĂÌUŒ‚‚É“K‰ž‚³‚ê‚Ü‚· + ƒJ[ƒhATK‚̈—‚ð’ljÁ‚µ‚½ + +battle.c + battle_calc_weapon_attack() + ƒJ[ƒgATK‚ð’êã‚°ƒ_ƒ[ƒW‚Æ‚µ‚ÄŒvŽZ‚·‚é‚悤‚É‚µ‚½ + +item_db.txt + ƒJ[ƒh‚Ì bonus bAtkAbDef ‚ðíœ + ‚©‚í‚è‚ÉA‘•”õ‚Æ“¯—l‚ÉATK‚ÆDEF‚ðÝ’è + i•ÏX‘O‚ðitem_db2.txt‚Æ‚µ‚Ä‚¢‚é‚Ì‚ÅA•s‹ï‡‚ª‚ ‚ê‚Ζ߂µ‚Ä‚­‚¾‚³‚¢j + + +-------------- +//0446 by hoenny +Eƒ~ƒXƒgƒŒƒXƒJ[ƒhŽÀ‘•B +EƒXƒLƒ‹Žg—p‚ÌŽžƒWƒFƒ€ƒXƒg[ƒ“Á”ïB +EƒXƒLƒ‹Žg—p‚ÌŽž‘•”õƒ`ƒFƒbƒNB(ƒnƒ“ƒ}[ƒtƒH[ƒ‹‚¾‚¯C³‚µ‚悤‚Æ‚µ‚½‚ª...) +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚͈̔͂𠔼Œa5ƒZƒ‹(‘S25ƒZƒ‹)ƒC³ + map/skill.c + skill_check_condition()C³B + skill_castend_pos2()C³B + +Eƒ~ƒXƒgƒŒƒXƒJ[ƒhC³B + db/item_db.txt + +-------------- +//0445 by Aya + +EŠî–{ASPD‚ÆŒvŽZˆ—‚ðC³B + db/job_db1.txt + map/pc.c +ESPŒW”‚ÆŒvŽZˆ—‚ðC³B + db/job_db1.txt + map/pc.c +EƒXƒLƒ‹–¼‚ðenum‚Å錾‚µA‚»‚ê‚ðŽg‚¤‚悤‚É•ÏXB + map/skill.h + map/battle.c + map/pc.c + map/skill.c +EƒŠƒJƒoƒŠ[‚̃XƒLƒ‹ID‚ªƒXƒ[ƒ|ƒCƒYƒ“‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³B + map/skill.c +EW’†—ÍŒüã‚ɃJ[ƒhŒø‰Ê‚ª“K—p‚³‚ê‚Ä‚¢‚½–â‘è‚ÌC³B + map/pc.c +EƒŠƒ€[ƒuƒgƒ‰ƒbƒvAƒXƒvƒŠƒ“ƒOƒgƒ‰ƒbƒvAƒ|ƒCƒYƒ“ƒŠƒAƒNƒg‚̃^[ƒQƒbƒg‚ðC³B + db/skill_db.txt +EGMƒAƒJƒEƒ“ƒg‚ðjRO‚Ìclientinfo.xml‚©‚ç’ljÁB + conf/GM_account.txt +EwarningC³B + map/party.c +EƒLƒƒƒ‰ƒZƒŒ”FØŽž‚Élogin_id2‚̓`ƒFƒbƒN‚µ‚È‚¢‚悤‚É•ÏXB + login/login.c +Eobject_def.batˆÈŠO‘Sƒtƒ@ƒCƒ‹‚̉üsƒR[ƒh‚ðLF‚É•ÏXB +E*.cnfƒtƒ@ƒCƒ‹‚ð*.confƒtƒ@ƒCƒ‹‚É–¼‘O•ÏXB + +-------------- +//0444 by Ž€_ + +EGMƒRƒ}ƒ“ƒh‚â@ƒRƒ}ƒ“ƒh‚ɃRƒ}ƒ“ƒh•Ê‚ÉŽg—pƒŒƒxƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏX‚Æ@ƒRƒ}ƒ“ƒh­‚µC³B(@where‚Æ@dayA@night‚ÌC³‚Æ‘¼‚̃Lƒƒƒ‰‚ÉŽg‚¤ƒRƒ}ƒ“ƒh‚Ìê‡GMƒŒƒxƒ‹‚ªŽ©•ªˆÈã‚Ìꇎg‚¦‚È‚¢‚悤‚ÉC³B) + atcommand.h C³B + atcommand.c C³B + clif.c C³B + map/makefile C³B + map.c + do_init() C³B + conf/atcommand_athena.cnf ’ljÁB +Eׂ©‚¢C³B + pc.c + pc_setghosttimer()Apc_skill() C³B + script.c + buildin_skill() C³B +Econf_ref.txt C³B +Eitem_db.txt + ”Þ—‚Ì‘z‚¢C³B + +-------------- +//0442 by ŒÓ’±—– + +E‘‘¬ƒ|[ƒVƒ‡ƒ“ŽÀ‘• + ELv‚âE‹Æ”»’è‚Ís‚¢‚Ü‚¹‚ñ + + (db/) + const.txt + SC_SpeedPot0,SC_SpeedPot1,SC_SpeedPot2’ljÁ + item_db.txt + ‘‘¬ƒ|[ƒVƒ‡ƒ“‚̃XƒNƒŠƒvƒg’ljÁ + (map/) + skill.c + skill_status_change_start()C³ + pc.c + pc_calcstatus()C³ + +EPvPƒVƒXƒeƒ€‚̉¼ŽÀ‘• + Epvpƒ}ƒbƒv‚Å‚ÍŽ©“®“I‚ÉAPC‚Ìpvpƒtƒ‰ƒOonA‡ˆÊ’Ê’m‚È‚Ç‚ðs‚¢‚Ü‚·B + Eƒ}ƒbƒv‚Épvpƒtƒ‰ƒO‚ð‚‚¯‚éƒTƒ“ƒvƒ‹‚ðnpc_pvp.txt‚Æ‚µ‚Ä“Y•t‚µ‚Ä‚¢‚Ü‚·B + Epvp‚ÌÚ‚µ‚¢ƒ‹[ƒ‹‚ª‚æ‚­‚í‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅAŽŸ‚̂悤‚É‚µ‚Ä‚¢‚Ü‚·B + Eʼn‚ÌŽ‚¿“_‚Í5“_A“|‚·‚Æ1“_A“|‚³‚ê‚é‚Æ-5“_B + E0“_ˆÈ‰º‚ÌPC‚̓ŠƒUƒŒƒNƒVƒ‡ƒ“‚ªŠ|‚©‚ç‚È‚¢ + EGM‚Ípvpƒ}ƒbƒv‚É‚¢‚Ä‚à‘«Œ³‚ɃT[ƒNƒ‹‚ªoŒ»‚µ‚È‚¢‚悤‚Å‚·B + iƒNƒ‰ƒCƒAƒ“ƒg‚ÌŽd—lHj + Epvpƒ}ƒbƒv‚Å@pvpoff/@pvp‚·‚é‚Æ‹xŒe‚µ‚½‚èA‹xŒe‚ð‚â‚ß‚½‚è‚Å‚«‚Ü‚·‚ªA + Žg—p‚·‚é‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB + + (conf/) + npc_pvp.txt + pvpƒtƒ‰ƒO‚ð“ü‚ê‚éƒTƒ“ƒvƒ‹B + nosaveƒtƒ‰ƒO‚âŽó‚¯•t‚¯npc‚È‚Ç‚ð’ljÁ‚·‚é‚Æ‚æ‚¢‚ÆŽv‚í‚ê‚éB + (map/) + clif.c + clif_parse_LoadEndAck()C³ + npc.c + npc_parse_mapflag()C³ + skill.c + skill_castend_nodamage_id()C³ + pc.c + pc_damage()ˆø”C³ + atcommand.c + pc_damage()ˆø”C³‚É”º‚¤C³ + battle.c + +E‚»‚Ì‘¼C³ + E@pvpoff/@pvp‚ŇˆÊ‚âƒT[ƒNƒ‹‚Ì•\Ž¦‚ð‚â‚ß‚½ + E@jumpto‚ŃXƒy[ƒX‚Ì“ü‚Á‚½ƒLƒƒƒ‰ƒNƒ^[‚àŽw’è‚Å‚«‚é‚悤‚É + E@kamibƒRƒ}ƒ“ƒh•œŠˆi•¶Žš“V‚̺j + E”ñPVP‚Ì‚Æ‚«‚ÉA‘ÎÛ‚ª“G‚̃XƒLƒ‹Žg—pŽžA“G–¡•û”»’è‚ðs‚¤‚悤‚É + + skill.c + skill_castend_id()‚Å“G–¡•û”»’è + atcommand.c + ŠeƒRƒ}ƒ“ƒhC³ + +-------------- +//0440 by ’†‚Ìl + +E–{‰Æ‚ðÄŒ»‚·‚é•ûŒü‚È‚çˆÓ–¡‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª +@pc.cuƒXƒNƒŠƒvƒg‚É‚æ‚éƒXƒLƒ‹Š“¾v‚ðŽáŠ±•ÏX‚µ‚Ä + ƒJ[ƒh‚É‚æ‚éƒXƒLƒ‹ˆêŽžK“¾‚ÌÛ‚Å‚à1ƒŒƒxƒ‹ˆÈã‚ðÝ’è‚Å‚«‚é‚悤‚É’v‚µ‚Ü‚µ‚½B + +@’Pƒ‚É•„†‚ð•Ï‚¦‚Ä‚²‚Ü‚©‚µ‚½‚¾‚¯‚Å‚·‚Ì‚Å +@•K—v‚É‚ ‚킹‚ÄC³‚ð‚µ‚Ä‰º‚³‚¢B + +-------------- +//0439 by hoenny +Eˆ¢C—…”e–PŒ‚ÌC³B + db/skill_db.txt +Eƒ‚ƒ“ƒXƒ^[î•ñ‚ÌC³B + map/clif.c +EŒ©Ø‚è‚ÌŽÀ‘•B + map/pc.c + +-------------- +//0438 by ‚`‚Ìl +EŒÃ–Ø‚ÌŽ}‚ªŽg‚¦‚éꊂð‚m‚o‚bƒXƒNƒŠƒvƒg‚©‚秌ä‰Â”\ +@mapflag‚Énobranch‚Æ‚·‚ê‚΂»‚̃}ƒbƒv‚͌Ö؂̎}Žg—p•s‰Â‚É‚È‚è‚Ü‚·B + map.h + enum‚ÉMF_NOBRANCH ’ljÁB + npc.c + npc_parse_mapflag() C³B + pc.c + pc_useitem() C³B +ƒ\[ƒX‰˜‚­‚µ‚Ä‚µ‚Ü‚Á‚½‚©‚àEEE. +•×‹­•s‘«‚Å‚· + +-------------- +//0437 by ”g˜Q +Eitem_db.txt‚̉p–¼‚ð‘å•C³B(s•t‚«‚Æ‚»‚¤‚Å‚È‚¢•Ší‚̉p–¼‚ª‚¢‚‚̊Ԃɂâ‚ç +@“¯‚¶‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Å‚»‚ê‚𒼂·‚‚¢‚Å‚É‘¼‚Ì•”•ª‚àC³‚µ‚Ü‚µ‚½B + ‚Ü‚Á‚½‚­ˆá‚¤–¼‘O‚É‚È‚Á‚Ä‚é‚à‚Ì‚à‚ ‚è‚Ü‚·‚ªA‚±‚Á‚¿‚Ì•û‚ª³‚µ‚¢‚ÆŽv‚¢‚Ü‚·B +Eitem_purplebox.txt‚ð–{‰ÆŽd—l‚Á‚Û‚­ì¬(‘å‘Ì‚±‚ñ‚ÈŠ´‚¶‚©‚Æ +EƒAƒ‹ƒxƒ‹ƒ^‚ƃCƒYƒ‹[ƒhNPC‚ðC³ + +-------------- +//0436 by hoenny +Emorocc •óΤl‚ÌC³ + conf/npc_shop.txt +Eƒnƒ“ƒ}[ƒtƒH[ƒ‹‚ÌŽÀ‘•(AlchemistŽƒ\[ƒX‚ðŽQÆ‚ ‚肪‚Æ‚¤I) + map/skill.c +ˆÈ‘O‚É•¶Žš‰»‚¯‚Í’á‚Ì‚¹‚¢! +ŽŸ‚©‚ç‹C‚ð•t‚¯‚Ü‚·. + +-------------- +//0434 by Avethes + +Eƒ^[ƒgƒ‹ƒAƒCƒ‰ƒ“ƒh‚Ös‚­NPCC³ +Eƒ†ƒm[NPCC³ +i‘O‰ñ‚̃oƒO‚Í‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½j + +-------------- +//0433 by Ž€_ + +E»‘¢ƒoƒOC³B + ‰½ŒÌ‚©‚Í‚í‚©‚ç‚È‚¢‚ªskill.c‚Ìskill_readdb()‚ª•Ï‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅC³B(Ž©•ª‚ª‚â‚Á‚½C³‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) + skill.c + skill_readdb() C³B + +-------------- +//0432 by Ž€_ + +E0429‚ňꕔ‚̃AƒCƒeƒ€‚̃XƒLƒ‹‚ªo‚È‚¢–â‘èC³B + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B +Eskill.c + skill_use_id() C³B(‘債‚½C³‚Å‚Í‚È‚¢‚Å‚·B) +Eitem_db.txt‚Ì•¶Žš‰»‚¯C³BŒ¾Œêݒ肪“ú–{Œê‚Å‚Í‚È‚¢ê‡•Û‘¶‚·‚鎞‚É‚Í‹C‚ð‚‚¯‚Ü‚µ‚傤B +EUŒ‚‚³‚ꂽƒ‚ƒ“ƒXƒ^[‚Ì”½Œ‚‚ª‘‚·‚¬‚é–â‘èC³BŽn‚ß‚Ä‚ÌUŒ‚‚ªƒ‚ƒ“ƒXƒ^[‚ÌUŒ‚ƒfƒBƒŒƒC‚ÉŠÖŒW‚È‚­100msŒã‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ÅUŒ‚ƒfƒBƒŒƒC‚ɇ‚킹‚é‚悤‚É•ÏXB(‚½‚¾­‚µ”½Œ‚‚ª’x‚¢‚ÆŽv‚í‚ꂽ‚è‚à‚µ‚Ü‚·‚ª...) + mob.c + mob_changestate() C³B +EŽI‚ÉÚ‘±‚·‚éÅ‘ål”‚ðŒˆ‚ß‚é‚悤‚É•ÏXB + char.c C³B + conf_ref.txt C³B + char_athena.cnf C³B + +-------------- +//0430 by Avethes + +E‚m‚o‚bŠÖŒWB‚Ù‚Æ‚ñ‚ǃeƒXƒgB +–{‰Æ‰ï˜bî•ñ‚ª‘µ‚¦‚ÎC³B + +-------------- +//0429 by Ž€_ + +EƒMƒ‹ƒh‚̃Œƒxƒ‹ƒAƒbƒv‚ðƒLƒƒƒ‰‚̃Œƒxƒ‹ƒAƒbƒv‚̂悤‚É•ÏXB + int_guild.c + guild_calcinfo() C³B + guild_next_exp() ’ljÁB + exp_guild.txt C³B(ƒŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢‚悤‚É‚µ‚½‚¢ƒŒƒxƒ‹‚Ìexp‚É0‚ð“ü‚ê‚ê‚΂»‚êˆÈã‚ɃŒƒxƒ‹‚ªã‚ª‚ç‚È‚­‚È‚è‚Ü‚·B) +EƒXƒNƒŠƒvƒgresetstatusAresetskill ’ljÁB + pc.c + pc_resetskill() C³B + script.c + buildin_resetstatus()Abuildin_resetskill() ’ljÁB +E0425‚Ì‘±‚«‚Å­‚µC³B + clif.c + clif_parse_ ‚ð­‚µC³B +EƒVƒ‡[ƒgƒJƒbƒg‚ÉŠo‚¦‚Ä‚¢‚éƒXƒLƒ‹ƒŒƒxƒ‹ˆÈã‚̃XƒLƒ‹‚ª“o˜^‚³‚ê‚Ä‚¢‚Ä‚àŠo‚¦‚Ä‚¢‚éƒXƒLƒ‹ƒŒƒxƒ‹‚܂ł̃XƒLƒ‹‚ðŽg‚¤‚悤‚É•ÏXB + clif.c + clif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() C³B +Eƒƒ‚‚Ìő唂ð10ŒÂ‚É•ÏXB(‚ ‚­‚Ü‚Å‚àŠg’£‚ׂ̈̕¨‚Å‚·B‚Ü‚¾‹@”\‚Í‚µ‚Ü‚¹‚ñB) + mmo.h + struct mmo_charstatus‚Ìmemo_point‚ð3‚©‚ç10‚É•ÏXB + char.c + mmo_char_tostr() C³B +Emob,c + mob_once_spawn()Amob_summonslave() C³B(•Ê‚ɈӖ¡‚ª‚ ‚éC³‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚ª...) +E@monster ƒRƒ}ƒ“ƒh‚ÅÀ•W‚ðŽw’肵‚È‚¢Žžƒ‚ƒ“ƒXƒ^[‚ªˆê‚©Š‚ÉW’†‚µ‚Äo‚é‚Ì‚ðƒLƒƒƒ‰‚Ì10*10ƒ}ƒXˆÈ“à‚Ƀ‰ƒ“ƒ_ƒ€‚ÅŒ»‚ê‚é‚悤‚É•ÏXB + atcomand.c C³B + +-------------- +//0428 by Avethes + +Econf/npc_smilegirl.txt + ƒXƒ}ƒCƒ‹ƒ}ƒXƒNƒK[ƒ‹ƒXƒNƒŠƒvƒgB + 0427‚Ì‚¨‚©‚µ‚¢•”•ª‚Æ‚©C³B + ’ñ‹Ÿ‚³‚ꂽŠe“sŽs‚ÌÀ•W‚É”z’uBiNONAME‚³‚ñ’ñ‹Ÿ‚ ‚肪‚Æ‚¤Ij + +-------------- +//0426 by ŒÓ’±—– + +EƒAƒCƒeƒ€‚Ì–¼‘O‚ðdata.grf‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ + itemdb.c‚ÌITEMDB_OVERRIDE_NAME‚ð’è‹`‚µ‚È‚¯‚ê‚Γǂݞ‚Ý‚Ü‚¹‚ñB + ITEMDB_OVERRIDE_NAME_VERBOSE‚Íitemdb.txt‚̃fƒoƒO—p‚É‚Ç‚¤‚¼B + •’Ê‚Í•Ï‚¦‚é•K—v‚Í‚È‚¢‚ÆŽv‚¤‚Ì‚Åbattle_config‚É‚Í“ü‚ê‚Ä‚¢‚Ü‚¹‚ñB + + itemdb.c + itemdb_read_itemnametable()’ljÁ + do_init_itemdb()C³ + +Eƒf[ƒ^ƒx[ƒX“Ç‚Ýž‚Ý•”‚Ì•sˆÀ’è«‚ÌC³(Œ‹\’v–½“I‚¾‚Á‚½‚Ý‚½‚¢‚Å‚·) + ‚È‚­‚Ä‚à–â‘è‚È‚¢DBiitem_value_db.txt‚È‚Çj‚̃tƒ@ƒCƒ‹‚ª‚È‚¢ê‡‚É + ŽI‚ª—Ž‚¿‚½‚è‚·‚錻ۂª”­¶‚µ‚Ä‚¢‚½ê‡‚Í‚±‚ê‚Å’¼‚Á‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ. + + skill.c + skill_readdb()‚ÅNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁ + itemdb.c + item_readdb()‚ð•¡”‚É•ª‚¯‚½B + ƒ‰ƒ“ƒ_ƒ€ƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚Ì“Ç‚Ýž‚Ý•”‚ð‚P‚‚ɓZ‚ß‚½B + do_init_itemdb()C³ + +Eׂ©‚¢ƒoƒOC³ + Eƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŠJ‚­‚Ü‚Å‚Ì•b”’²® + + skill.c + skill_unitsetting()C³ + +E‚»‚Ì‘¼C³iby –^MŽj + db/job_db1.txt + ‚¿‚傱‚Á‚ÆC³ + db/job_db2.txt + 2-2ŽŸE‚Ì‘«‚è‚È‚¢Jobƒ{[ƒiƒX‚ð’ljÁ(ŽQl:R.O.M 776) + conf/npc_town_kafra.txt + ƒI[ƒND‘O‚Æ’Yz‘O‚ɃJƒvƒ‰”z’u(“®ì–¢Šm”F) + conf/npc_shop3.txt + ƒWƒ…[ƒm”Ì”„NPC(E‚¢•¨) + conf/npc_town_yuno.txt + ƒWƒ…[ƒmNPC(E‚¢•¨‚ð‰ü—ÇB“®ì–¢Šm”F) + +-------------- +//0425 by Ž€_ + +E0419‚Å‘‚«–Y‚ꂽ•¨‚Å‚·‚ªƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“‚ªSP‰ñ•œƒAƒCƒeƒ€‚É‚àŒø‰Ê‚ª‚ ‚é‚悤‚É•ÏXB +E¡“x‚̓oƒOC³‚ªƒƒCƒ“‚Å‚·BŽI—Ž‚¿‚ª‚È‚è‚»‚¤‚ÈŠ‚ÌC³‚ƃeƒŒƒ|[ƒg‚ÌŽžŽ€‚ñ‚¾‚܂܈ړ®‚Å‚«‚é–â‘è‚Æ0419‚ŃAƒNƒeƒBƒuƒ‚ƒ“ƒXƒ^[‚ÌæU–â‘èC³AŽ€‚ñ‚Å‚¢‚é‚Ì‚É‘¼‚Ìl‚É‚ÍŽ€‚ñ‚¾‚悤‚ÉŒ©‚¦‚È‚¢–â‘è‚ÌC³‚Å‚·B­‚µƒeƒXƒg‚Í‚µ‚Ü‚µ‚½‚ª–{“–‚ÉŽ¡‚Á‚½‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·B•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + pc.c + pc_attack_timer()Apc_damage()Apc_walk() C³B + map.c + map_quit() C³B + mob_db.txt + ƒrƒbƒOƒtƒbƒg‚Ìmode‚ðC³(ƒAƒNƒeƒBƒu‚É‚È‚Á‚Ä‚¢‚½ˆ×) + clif.c + clif_parse_WalkToXY()Aclif_pcoutsight()Aclif_pcinsight()A + clif_getareachar_pc()Aclif_getareachar_mob()Aclif_getareachar_pet() C³B + mob.c + mob_ai_sub_hard_activesearch()Amob_ai_sub_hard_mastersearch()A + mob_walk() C³B + pet.c + pet_walk() C³B + +-------------- +//0424 by hoenny + +EƒNƒŠƒbƒvƒ{[ƒiƒX SP 10’ljÁ + db/item_db.txt +Ewarp_test_yuno.txt‚ð npc_warp30.txt‚ÉŠÜ‚ñ‚Å, ‚¿‚å‚Á‚ÆC³ + conf/npc_warp30.txt +E‘¼‚̃T[ƒo[‚ª—Ž‚¿‚Ä‚à•œ‹Œ‚³‚ê‚é‚悤‚ÉC³ + /startƒNƒŠƒbƒv + +-------------- +//0420 by g—t + +EEP 3.0‚ł̃J[ƒhŒø‰Ê•ÏX‚ɉð‚é”͈͂őΉžB +@‚Ù‚Ú‘S‚Ä‚Ì•ÏX“_‚ɂ‚¢‚ÄAo—ˆ‚éŒÀ‚èC³‚µ‚Ä‚ ‚è‚Ü‚·B +@ATKC³‚ª³‚µ‚­“K—p‚³‚ê‚Ä‚¢‚é‚悤‚Ȃ̂ŒljÁ‚µ‚Ä‚ ‚è‚Ü‚·B(ƒAƒ“ƒhƒŒC‚È‚Ç) + +-------------- +//0419 by Ž€_ + +E0414‚Å‘‚«–Y‚ꂽ•¨‚Å‚·‚ª MOB‚Ìmode‚Å0x20(32)‚𕜊ˆ‚³‚¹‚Ü‚µ‚½Bƒ{ƒX‚¶‚á‚È‚­‚Ä‚àmode‚É0x20‚ª“ü‚Á‚Ä‚¢‚éꇕ’Ê‚ÌMOB‚Å‚àŽ€‚ñ‚¾‚Ó‚è‚ð”j‚ê‚Ü‚·B +(¡‚ÌŠ‹@”\‚Í‚»‚ꂾ‚¯‚Å‚·B–{ŽI‚ÍAI‹­‰»‚Ý‚½‚¢‚Å‚·‚ª...) ‚½‚¾ƒS[ƒXƒg‚̓{ƒX‚Å‚à”j‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB +‚»‚ê‚ÆŽæ‚芪‚«‚ÌAI‚ÅŽæ‚芪‚«‚ªƒ^[ƒQƒbƒg‚µ‚½ŽžŽå‚ªƒ^[ƒQƒbƒg‚µ‚Ä‚È‚¢‚Ǝ傪Žæ‚芪‚«‚̃^[ƒQƒbƒg‚ðƒ^[ƒQƒbƒg‚·‚é•”•ª‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½B(‚±‚ꂪ–{ŽI‚É‚ ‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚µ‚½‚Ì‚Å...) +EŒÃ‚¢Â‚¢” AŒÃ‚¢Ž‡F‚Ì” AŒÃ‚¢ƒJ[ƒh’Ÿ‚Åo‚éƒAƒCƒeƒ€‚ðƒtƒ@ƒCƒ‹‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB + script.c + buildin_getitem() C³B + item_db.txt + ŒÃ‚¢Â‚¢” AŒÃ‚¢Ž‡F‚Ì” AŒÃ‚¢ƒJ[ƒh’ŸC³B + item_bluebox.txtAitem_purplebox.txtAitem_cardalbum.txt ’ljÁB(Žg—p—á’ö“x‚Ì•¨‚Å‚·B‚ǂ̃AƒCƒeƒ€‚ªo‚é‚悤‚É‚·‚é‚©‚ÍŽ©•ª‚Åݒ肵‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B‚½‚¾ƒNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚Æ‚·ƒAƒCƒeƒ€‚Ío‚È‚¢‚悤‚Éݒ肵‚Ä‚­‚¾‚³‚¢B) + itemdb.h + struct random_item_data ’ljÁB + itemdb.c + itemdb_searchrandomid()Aitemdb_readdb() C³B +Emob.c + mob_target()Amob_ai_sub_hard() C³B(–â‘肪‚ ‚è‚»‚¤‚È•”•ª‚¾‚¯C³B) +Epc.c + pc_itemheal()Apc_walktoxy_sub() C³B +Eƒyƒbƒg‚ÌoŒ»‚ðMOB‚Æ“¯‚¶‚悤‚É•ÏXB + clif.c + clif_spawnpet() C³B + pet.c + pet_change_name() C³B +E0418‚ð­‚µC³B(if•¶‚ÌðŒ‚ð­‚µC³‚µ‚½‚¾‚¯‚Å‚·B) + +-------------- + +//0418 by hoenny +E /mm(/mapmove) /nb /b /bb /resetskill /resetstate GM –½—ߌêŽg—p‚̧ŒÀ +clif_parse_MapMove ,clif_parse_ResetChar ,clif_parse_GMmessage C³ + map/clif.c + +-------------- +//0417 by ‚ê‚  + +E0412‚Åitem_db.txt‚ª‚¨‚©‚µ‚­‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ + +-------------- +//0416 by g—t + +EƒWƒ…ƒm[Žü•Ó‚̃[ƒv’è‹`‚Æ“G‚Ì”z’uB +@ƒ[ƒv’è‹`‚Ínpc_warp30.txt‚Æ‚µA’ljÁ‚·‚éŒ`‚É‚µ‚Ä‚ ‚è‚Ü‚·B +@“G‚Ì”z’u‚ɂ‚¢‚Ä‚ànpc_monster.txt‚Æ‚Í“‡‚¹‚¸Anpc_monster30.txt‚Æ‚µ‚Ä‚ ‚è‚Ü‚·B +@–â‘肪–³‚¢‚悤‚Å‚ ‚ê‚Γ‡‚µ‚ĉº‚³‚¢B +Eã‹L’è‹`ƒtƒ@ƒCƒ‹’ljÁ‚É]‚¢map_athena.cnf‚ð•ÏXB +E@goƒRƒ}ƒ“ƒh‚ÖƒWƒ…ƒm[’ljÁB +@—v–]‚ª‚ ‚Á‚½‚悤‚Ȃ̂ŒljÁ‚µ‚Ü‚µ‚½B + +-------------- +//0415 by ’†‚Ìl + +E¡‚Í–S‚«‹ŒROƒGƒ~ƒ…ŽIŠJ”­ƒXƒŒƒbƒh Lv02‚Å‚ÌŽ€_Ž‚Ìà–¾‚É]‚Á‚Ä +@ƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^‚ðŽáŠ±•ÏX‚³‚¹‚Ä’¸‚«‚Ü‚µ‚½B + E‰ß‹Ž‚Ìnpc_monster.txt‚©‚ç’Êíƒ}ƒbƒvãiƒ‹ƒeƒBƒG“™œ‚­j‚É‚¢‚éƒTƒ“ƒ^ƒ|ƒŠƒ“AƒAƒ“ƒ\ƒj‚ð’Šo‚µ + @V‚½‚Éì‚Á‚½unpc_x-masmonster.txtv‚Ɉړ] + Eã‹L‚ÌC³‚É‚ ‚킹‚Ämap_athena.cnf‚ðC³B + @map_athena‚ɃRƒƒ“ƒgƒAƒEƒgó‘Ô‚Åunpc: conf/npc_x-masmonster.txtv‚ð’ljÁ‚µ‚Ü‚µ‚½B + @•K—v‚É‚ ‚킹‚ăRƒƒ“ƒgƒAƒEƒg‚ð‚µ‚Ä‰º‚³‚¢B + +-------------- +//0414 by Ž€_ + +Estrcasecmp‚ðstrcmpi‚É•ÏXB +Edb‚âÝ’èƒtƒ@ƒCƒ‹‚ð“Ç‚ÞŽž// ‚ðƒRƒ}ƒ“ƒgƒAƒEƒg‚Æ‚µ‚Ä”FŽ¯‚·‚é‚悤‚ÉC³B +Eƒyƒbƒg‚Æ—£‚ê‚·‚¬‚é‚ƃyƒbƒg‚ª‘‚­“®‚­‚悤‚É•ÏXB(ƒLƒƒƒ‰‚Ì2”{‚Ì‘¬“x‚Å“®‚«‚Ü‚·B) +Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[‚ªƒAƒCƒeƒ€‚ðƒ^[ƒQƒbƒg‚µ‚½ŽžUŒ‚‚ðŽó‚¯‚Ä‚àUŒ‚‚µ‚Ä‚±‚È‚¢–â‘èC³B +E“¯‘°ƒ‚ƒ“ƒXƒ^[‚ÌAI‚ð•ÏXB¡‚Ü‚Å‚Ítraget_id‚ðŽg‚¤‚¹‚¢‚Ń‚ƒ“ƒXƒ^[‚ªUŒ‚‚µ‚½‘ŠŽè‚ðUŒ‚‚·‚éŽd‘g‚Ý‚¾‚Á‚½‚ª¡“x‚Íattacked_id‚ðŽg‚¤ˆ×UŒ‚‚µ‚Ä‚«‚½‘ŠŽè‚ðUŒ‚‚·‚é‚悤‚É•ÏXB +‚½‚¾¡‚ÌŽd—l‚¾‚Æ“¯‘°ƒ‚ƒ“ƒXƒ^[‚ðUŒ‚‚µ‚Ä“¦‚°‚éê‡UŒ‚‚ðŽó‚¯‚½Žž‚»‚Ìê‚É‚È‚©‚Á‚½ƒ‚ƒ“ƒXƒ^[‚͂‚¢‚Ä—ˆ‚È‚­‚È‚Á‚Ä‚¢‚Ü‚·B–{ŽI‚ÌŽd—l‚É‚ ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚Í•s–¾‚Å‚·‚Ì‚Åî•ñ’ñ‹Ÿ‚ð‚¨Šè‚¢‚µ‚Ü‚·B(attacked_id‚Í‚¢‚Â‚àƒŠƒZƒbƒg‚³‚ê‚éˆ×‚Å‚·B‘Îô‚ª‚¢‚È‚¢‚킯‚Å‚à‚È‚¢‚Å‚·‚ª–{ŽI‚ÌŽd—l‚ð’m‚ç‚È‚¢‚Ì‚Å...) +Eƒƒ‚ƒŠ[‚ÌŽg—p—Ê‚ðŒ¸‚ç‚·ˆ×struct mob_data‚Æstruct npc_data‚ð•ÏXB(0412‚Å +map-server‚̃ƒ‚ƒŠ[‚ÌŽg—p—Ê‚ª164???KBytes‚¾‚Á‚½‚ª0414‚Å‚Í152???KBytes‚É‚È‚è‚Ü‚µ‚½B‚Ù‚ñ‚Ì­‚µŒ¸‚Á‚½‚¾‚¯‚Å‚·‚ª‘‚¦‚é‚æ‚è‚Í‚Ü‚µ‚¾‚ÆŽv‚¢‚Ü‚·‚Ì‚Å...) +EƒS[ƒXƒgƒ^ƒCƒ€ŽÀ‘•B + ƒ}ƒbƒvˆÚ“®‚âƒeƒŒƒ|[ƒgA•œŠˆ‚µ‚½Žž‚É“G‚É‘_‚í‚ê‚È‚¢ŽžŠÔ‚ðd—͂ł̓S[ƒXƒgƒ^ƒCƒ€ŒÄ‚ñ‚Å‚¢‚Ü‚·B‚»‚̃S[ƒXƒgƒ^ƒCƒ€‚ÌŽÀ‘•‚Å‚·B +battle_athena.cnf‚ÅŽžŠÔ‚ðÝ’è‚Å‚«‚Ü‚·BŽžŠÔ‚ð0‚É‚·‚é‚ƃS[ƒXƒgƒ^ƒCƒ€‚Íì“®‚µ‚Ü‚¹‚ñB‚½‚¾‚±‚̃S[ƒXƒgƒ^ƒCƒ€‚ÍUŒ‚s“®AƒXƒLƒ‹Žg—pAƒAƒCƒeƒ€Žg—p‚ð‚·‚é‚Æ‚È‚­‚È‚è‚Ü‚·B + char/int_guild.c + char/int_party.c + conf/battle_athena.cnf + db/mob_db.txt + doc/conf_ref.txt + login/login.c + map/atcommand.c + map/battle.c + map/battle.h + map/clif.c + map/itemdb.c + map/map.c + map/map.h + map/mob.c + map/npc.c + map/pc.c + map/pc.h + map/pet.c + map/skill.c ‚ðC³B(db/mob_db.txt‚Í//‚ð“ü‚ꂽ‚¾‚¯‚Å‚·‚ª...) + C³‚µ‚½Š‚ð‘S‚ÄŠo‚¦‚Ä‚Ü‚¹‚ñ‚̂Ńtƒ@ƒCƒ‹‚¾‚¯’m‚点‚Ü‚·B + +-------------- +//0412 by ‚¢‚Ç + +Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚ÌÄ®— +@ ‹ŒŒfŽ¦”‚Ŏw“E‚Ì‚ ‚Á‚½Ž–€‚ɂ‚¢‚Ä‘å‘͈̂̔͂ÅC³ + snapshot387‚̃o[ƒWƒ‡ƒ“‚ðƒx[ƒX‚ÉC³‚µ‚Ü‚µ‚½B + conf/npc_monster.txt + +EƒAƒCƒeƒ€–¼‚Ì’è‹`‚ð‘å•C³ + (root) + item.list + (db/) + item_db.txt + item_value_db.txt + +Eƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`‚ŃRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚½ƒWƒ…ƒm[ŠÖ˜Aƒ}ƒbƒv‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ + conf/map_athena.cnf + +-------------- +//0411 by Ž€_ + +EŽIsnapshot‚Å‚·B‚»‚ê‚Ælogin_portAchar_portAmap_port‚Ìݒ肪‚È‚­‚Ä‚à +ƒfƒtƒHƒ‹ƒg‚Å6900A6121A5121‚ðŽg‚¤‚悤‚É•ÏXB +Elogin.cAchar.cAchrif.cAclif.c ­‚µC³B +Econf_ref.txt C³B +Elogin_port‚ð6900‚©‚瑼‚Ì•¨‚É•Ï‚¦‚½ê‡‚Íclientinfo.xml‚ð•Ï‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B + +-------------- +//0410 by Ž€_ + +GM—p‰EƒNƒŠƒbƒNƒƒjƒ…[uinamejŽg—pŽÒ‹­§I—¹vŽÀ‘•B(ƒeƒXƒg‚Í‚µ‚Ä‚Ü‚¹‚ñB@ƒRƒ}ƒ“ƒh‚̓eƒXƒgÏ‚Ý‚Å‚·‚ª...) +0407‚ÌEXP‚ÉŠÖ‚·‚éC³‚É–â‘肪‚ ‚é‚炵‚¢‚Ì‚ÅC³‚µ‚Ü‚µ‚½B¡“x‚̓eƒXƒgÏ‚Ý‚Å‚·B +GM‚̃AƒJƒEƒ“ƒgID‚ðÝ’è‚Å‚«‚é‚悤‚É•ÏX‚ÆGM‚ðƒŒƒxƒ‹•Ê‚É•ª‚¯‚é‚悤‚É•ÏXB +(GM‚̃Œƒxƒ‹‚É‚æ‚é@ƒRƒ}ƒ“ƒh“™‚ɧŒÀ‚ð‚©‚¯‚é‚‚à‚è‚Å‚·‚ª¡§ŒÀ‚ª‚©‚¯‚Ä‚¢‚镨‚Í@kickA@kickall‚Ì‚Ý‚É‚È‚Á‚Ä‚¢‚Ü‚·B) +Epc.c + pc_readdb()Apc_gainexp()Apc_nextbaseexp()Apc_nextjobexp()A + pc_checkbaselevelup()Apc_checkjoblevelup() C³B + pc_isGM()Apc_read_gm_account() ’ljÁB +Epc.h + pc_isGM() C³B + pc_read_gm_account() ’ljÁB +Eexp.txt + ƒŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢”’l‚ð999999999‚©‚ç0ˆÈ‰º‚É•ÏXB + ƒŒƒxƒ‹‚ðã‚°‚éˆ×‚É•K—v‚ÈEXP‚ð999999999ˆÈã‚É‚·‚邱‚Æ‚à‰Â”\B +Eclif.c + clif_GM_kickack()Aclif_GM_kick()Aclif_parse_GMKick() ’ljÁB +Eclif.h + clif_GM_kickack()Aclif_GM_kick() ’ljÁB +Eatcomand.c + strncmpi‚ðstrcmpi‚É•ÏXB + @kickA@kickall ƒRƒ}ƒ“ƒh’ljÁB + @kick <ƒLƒƒƒ‰–¼> + Ž©•ªˆÈŠO‚̃Lƒƒƒ‰‚ÌÚ‘±‚ð‹­§I—¹‚³‚¹‚éB(Ž©•ª‚æ‚èGMƒŒƒxƒ‹‚ª + ’á‚¢ƒLƒƒƒ‰‚É‚µ‚©Žg‚¦‚È‚¢BGM‚Å‚Í‚È‚¢ƒLƒƒƒ‰‚ÌGMƒŒƒxƒ‹‚Í0) + @kickall + ŽI‚ÉÚ‘±‚µ‚Ä‚¢‚é‘S‚ẴLƒƒƒ‰‚ÌÚ‘±‚ð‹­§I—¹‚³‚¹‚éB(Ž©•ª‚Æ + GM‚ðŠÜ‚ß‚Ä) ŽIƒ_ƒEƒ“—p‚̃Rƒ}ƒ“ƒh‚Å‚·BGMƒŒƒxƒ‹‚ª99‚¶‚á‚È‚¢‚Æ + Žg‚¦‚È‚¢B +Econf/GM_account.txt ’ljÁB + GM‚Æ‚µ‚Ä”FŽ¯‚·‚éƒAƒJƒEƒ“ƒgID‚ðÝ’è‚·‚éƒtƒ@ƒCƒ‹‚Å‚·B +Emmo.h + DEFAULT_WALK_SPEED‚ð140‚©‚ç150‚É•ÏXB(‚±‚ꂪ–{ŽI‚É‚ ‚Á‚Ä‚é”’l + ‚Ý‚½‚¢‚Å‚·‚Ì‚Å...) + struct gm_account ’ljÁB +Eclient_packet.txt + ƒpƒPƒbƒg0x00cd ’ljÁB +Elogin_port‚ðcnf‚œǂނ悤‚É•ÏXB(‚½‚¾6900‚©‚çƒ|[ƒg‚ð•Ï‚¦‚é‚ƃNƒ‰ƒCƒAƒ“ƒg‚ª”FŽ¯‚Å‚«‚È‚¢–Í—l‚È‚Ì‚Å–³‘Ê‚È‚±‚Æ‚¾‚Á‚½‚è‚à‚µ‚Ü‚·‚ª...) + char.cAlogin.cAchar_athena.cnfAlogin_athena.cnf C³B +E•’ʂ̃AƒJƒEƒ“ƒg쬂łÍGM‚É‚È‚ê‚È‚¢‚悤‚Élogin.c‚ð•ÏXB +Elogin/makefileAmap/makefile C³B + +-------------- +//0408 by ŒÓ’±—– + +E405‚ÌV‚µ‚¢—ƒRƒ}ƒ“ƒh‚ðˆÈ‘O‚Ìatcommand.c‚ÉŽæ‚èž‚Ý‚Ü‚µ‚½B + E@kami‚ðC³ + E@kill,@recall,@charjob,@revive,@charstats,@charoption,@charsave, + @night,@day,@doom,@doommap,@raise,@raisemap,@charbaselvl,@charjlvl + ‚ð’ljÁ•ƒƒbƒZ[ƒW‚ð“ú–{Œê‚É•ÏX•­‚µC³ + + atcommand.c + ’ljÁ‚ÆC³ + +Eˆê•”‚̃XƒLƒ‹‚ÌŒø‰ÊŽÀ‘• + E•sŽ€g‚̃W[ƒNƒtƒŠ[ƒhAƒCƒhƒDƒ“‚Ì—ÑŒçAK‰^‚̃LƒXA + ƒtƒŒƒCƒ€ƒ‰ƒ“ƒ`ƒƒ[AƒtƒƒXƒgƒEƒFƒ|ƒ“Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[A + ƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“ + + map.h + struct skill_unit‚Érange‚ð’ljÁB + skill.c + FXC³ + skill.h + enum‚ÌC³‚È‚Ç +-------------- +//0407 by Ž€_ + +Eƒyƒbƒg‚̃oƒOC³B(‚½‚¾Ž©•ª‚ÅÄŒ»‚Å‚«‚È‚©‚Á‚½‚Ì‚Å–â‘è‚É‚È‚è‚»‚¤‚ÈŠ‚¾‚¯C³‚µ‚Ü‚µ‚½B) +Eƒyƒbƒg‚̈ړ®‘¬“x‚ðpet_db‚ɒljÁB + pet.h + struct pet_db‚Éspeed’ljÁB + pet.c + pet_catch_process2()Aread_petdb() C³B + pet_db.txt + ˆÚ“®‘¬“x’ljÁB + (ƒRƒ}ƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚é‚̂̓Wƒ‹ƒ^ƒX‚ƃAƒŠƒX‚Å‚·B•ßŠl—p‚Ì + ƒAƒCƒeƒ€‚ª‘¶Ý‚·‚邱‚ƂƃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚±‚Æ‚©‚çl‚¦‚Ä + ’ljÁ‚³‚ê‚é—\’è‚Ì•¨‚Æl‚¦‚ç‚ê‚Ü‚·B‚½‚¾‚»‚̕ߊl—p‚̃AƒCƒeƒ€‚ª + ‚ ‚é‚ƃNƒ‰ƒCƒAƒ“ƒg‚ð—Ž‚¿‚Ü‚·‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B’ljÁ‚µ‚Ä‚à + ‘䎌‚̓|ƒŠƒ“‚Ì•¨‚Å‚·‚Ì‚Å... •ßŠl—p‚̃AƒCƒeƒ€ˆÈŠO‚Í“K“–‚É“ü‚ꂽ + •¨‚Å‚·B) +Epc.cAclif.c + pc_equipitem() C³B + clif_parse_EquipItem() C³B + pc_equipitem()‚Ì–¢ŠÓ’èƒAƒCƒeƒ€‚̃`ƒFƒbƒN‚ðclif_parse_EquipItem()‚É + ˆÚ“®‚µ‚Ü‚µ‚½B(ƒyƒbƒg‚Ì‘•”õ‚à‚ ‚è‚Ü‚·‚Ì‚Å...) +EƒŒƒxƒ‹‚ð99ˆÈã‚É‚ ‚°‚é‚悤‚É•ÏX‚ÆE‹Æ•Ê‚Ƀx[ƒXƒŒƒxƒ‹‚ÌŒÀŠEƒŒƒxƒ‹‚ðÝ’è‚Å‚«‚é‚悤‚ÉC³B + map.h + MAX_LEVEL’ljÁB + pc.c + pc_nextbaseexp(), pc_nextjobexp() C³B + pc_readdb() C³B +Eexp.txt C³BE‹ÆƒŒƒxƒ‹‚Æ“¯‚¶‚悤‚Ƀx[ƒXƒŒƒxƒ‹‚àEXPƒe[ƒuƒ‹‚ð3‚Âì‚è‚Ü‚µ‚½BƒŒƒxƒ‹ƒAƒbƒv‚ðŽ~‚ß‚½‚¢ƒŒƒxƒ‹‚Ìexp‚ð999999999‚É‚·‚ê‚΂»‚êˆÈヌƒxƒ‹‚ªã‚ª‚è‚Ü‚¹‚ñB‚‚܂ènoviceA1ŽŸE‹Æ‚Æ2ŽŸE‹Æ‚̃x[ƒXƒŒƒxƒ‹‚ÌŒÀŠE‚ðˆá‚¤‚悤‚ÉÝ’è‚Å‚«‚Ü‚·B‚»‚µ‚ăx[ƒXƒŒƒxƒ‹99ˆÈã‚Éオ‚é‚悤‚É‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B(exp.txt‚ÌC³‚ª•K—v‚Å‚·‚ª–{ŽI‚ƈႤ‚悤‚Éݒ肵‚½‚¢ê‡‚ÉC³‚µ‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B) +E‘®«‚É‚æ‚é‰ñ•œ‚ðbattle_athena.cnf‚ÅÝ’è‚Å‚«‚é‚悤‚É•ÏXB + attr_fix.txt C³B + battle.h + struct Battle_Config‚Éattr_recover ’ljÁB + battle.c + battle_config_read() C³B + battle_athena.cnf C³B +Econf_ref.txt C³B +Eclient_packet.txt C³BƒyƒbƒgƒpƒPƒbƒg’ljÁ‚Æ­‚µC³B + +-------------- +//0402 by ŒÓ’±—– + +E400‚̃oƒO‚ðˆê•”C³ + EŠ|‚©‚Á‚Ä‚È‚¢ƒXƒLƒ‹Œø‰Ê‚É‚æ‚éƒXƒe[ƒ^ƒXŒvŽZ‚ªs‚í‚ê‚Ä‚µ‚Ü‚¤ƒoƒOC³ + EŒø‰ÊC³F‚ ‚­‚Ü‚ÅŒø‰Ê‚ÌŒvŽZ‚ÌC³‚ÅAŽg‚¦‚È‚¢ƒXƒLƒ‹‚ÍŽg‚¦‚Ü‚¹‚ñB + ƒXƒsƒAƒNƒBƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA푾ŒÛ‚Ì‹¿‚«A + —[—z‚̃AƒTƒVƒ“ƒNƒƒXAŒû“JA•sŽ€g‚̃W[ƒNƒtƒŠ[ƒhA + ƒCƒhƒDƒ“‚Ì—ÑŒçAƒT[ƒrƒXƒtƒH[ƒ†[AK‰^‚̃LƒX + EŒø‰Ê’ljÁF‚ ‚­‚Ü‚ÅŒø‰Ê‚ÌŒvŽZ‚̒ljÁ‚ÅAŽg‚¦‚È‚¢ƒXƒLƒ‹‚ÍŽg‚¦‚Ü‚¹‚ñB + ƒnƒ~ƒ“ƒOAŽ„‚ð–Y‚ê‚È‚¢‚ÅcAƒj[ƒxƒ‹ƒ“ƒO‚ÌŽw—Ö(•ŠíƒŒƒxƒ‹–³Ž‹)A + ƒGƒ^[ƒiƒ‹ƒJƒIƒXAƒhƒ‰ƒSƒmƒƒW[ + EŒø‰Ê•t‰ÁŒn‚Í‚¿‚å‚Á‚Æ‚Å‚à‰ö‚µ‚¢ƒXƒLƒ‹‚Í‘S‚ÄŽg—p‚Å‚«‚È‚¢‚悤‚ÉC³ + EUŒ‚ŒnƒXƒLƒ‹‚Í‚Ù‚Æ‚ñ‚ÇŒ©‚Ä‚È‚¢‚Ì‚Å‚½‚Ô‚ñƒoƒO‘½‚¢‚Å‚·B + E‘S‚Ä–¢ƒeƒXƒg‚Å‚·B‰ö‚µ‚·‚¬‚é•”•ª‚ðC³‚µ‚½‚¾‚¯‚Å‚·B + + map.h + MAX_STATUSCHANGE‚ð128‚ÉC³ + pc.c + pc_calcstatus()C³ + skill.c/skill.h + enum‚ðC³ + skill_status_change_start()C³ + battle.c + battle_calc_weapon_attack()‚È‚ÇC³ + +-------------- +//0400 by AppleGirl + +Can Someone Help Me. +2-2 Skills added. +All The Mastery Skills. +SpearQuicken,Providence +New Bard Skill Assassin Cross Of Sunset +Providence +Frost Joke +Apple of Idun +Service For You +Meteor Strike (Different Style) +Assassin Cross Of Sunset (not tested) +All Masteries Done +Providence +Musical Strike +Throw Arrow +Frost Weapon << (Problems with elements)? +Flame Launcher << (Problems with elements)? +Seismic Weapon << (Problems with elements)? +Lightning Loader << (Problems with elements)? +Spirit Recovery +Potion Pitcher (Tato) +Axe Mastery (Tato) +Spear Quicken +Not Totally Working: +Combo Finish +Quadruple strike +Triple Attack +(skills in skill.c) (need to be finished.) +CP_ARMOR +CP_HELM +CP_SHIELD +CP_WEAPON +STRIP_HELM +STRIP_WEAPON +STRIP_SHIELD +STRIP_ARMOR + +* “K“–‚Șa–ó * +2-2ŽŸEƒXƒLƒ‹‚ð’ljÁ‚µ‚Ü‚µ‚½ +‘S‚Ä‚ÌC—ûƒXƒLƒ‹AƒXƒsƒAƒNƒCƒbƒPƒ“Aƒvƒƒ”ƒBƒfƒ“ƒXA +—[—z‚̃AƒTƒVƒ“ƒNƒƒXi–¢ƒeƒXƒgjAŠ¦‚¢ƒWƒ‡[ƒNAƒCƒhƒDƒ“‚Ì—ÑŒçA +ƒT[ƒrƒXƒtƒH[ƒ†[AƒƒeƒIƒXƒgƒ‰ƒCƒNi­‚µˆá‚¤jA +ƒ~ƒ…[ƒWƒJƒ‹ƒXƒgƒ‰ƒCƒNA–‚¿AƒtƒƒXƒgƒEƒFƒ|ƒ“(‘®«‚ª–â‘è‚ ‚èH) +ƒtƒŒ[ƒ€ƒ‰ƒ“ƒ`ƒƒ[(V)AƒTƒCƒYƒ~ƒbƒNƒEƒFƒ|ƒ“(V)Aƒ‰ƒCƒgƒjƒ“ƒOƒ[ƒ_[(V) +‘§Aƒ|[ƒVƒ‡ƒ“ƒsƒbƒ`ƒƒ[ +Š®‘S‚É‚Í“­‚©‚È‚¢ƒXƒLƒ‹F +–Ò—´ŒA—øŠÂ‘Sg¶AŽO’i¶ +(skills in skill.c) (Š®—¹‚³‚ê‚é•K—v‚ª‚ ‚é) +ƒPƒ~ƒJƒ‹ƒA[ƒ}[ƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒwƒ‹ƒ€ƒ`ƒƒ[ƒWA +ƒPƒ~ƒJƒ‹ƒV[ƒ‹ƒhƒ`ƒƒ[ƒWAƒPƒ~ƒJƒ‹ƒEƒFƒ|ƒ“ƒ`ƒƒ[ƒWA +ƒXƒgƒŠƒbƒvƒwƒ‹ƒ€AƒXƒgƒŠƒbƒvƒEƒFƒ|ƒ“ +ƒXƒgƒŠƒbƒvƒV[ƒ‹ƒhAƒXƒgƒŠƒbƒvƒA[ƒ}[ + +*’ˆÓ !! CAUTION !! by ŒÓ’±—–* +‚±‚Ì400‚ɂ̓oƒO‚ª‘å—Ê‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B +there are many many BUGS in this update(400) !! Be careful !! + +-------------- +//0399 by ŒÓ’±—– + +EMOBƒXƒLƒ‹Žg—pðŒ‚âs“®‚ðC³ + E–³s“®MOB‚ª‘Ò‹@Žž‚̃XƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢–â‘è‚ðC³ + EðŒƒXƒLƒ‹”½‰ž(skillused)‚ª‚ǂ̃XƒLƒ‹‚É‚à”½‰ž‚µ‚Ä‚¢‚½ƒoƒOC³ + E”ñˆÚ“®MOB‚ª’ÇŒ‚‚µ‚Ä‚­‚é–â‘è‚ðC³ + + mob.c + mob_ai_sub_hard()C³ + mobskill_event()C³ + mobskill_use()C³ + skill.c + skill_attack()C³ + +EMOBƒXƒLƒ‹ˆê•”ŽÀ‘• + EŽ©Œˆ(ƒGƒtƒFƒNƒg–³‚µ?)AŽ©”šAƒ^ƒoƒR‚ð‹z‚¤A”͈ÍUŒ‚ + HP‹zŽû‚Q‚Â(’Êí/–‚–@ji‰ñ•œƒGƒtƒFƒNƒg–³‚µ?jŽÀ‘• + + (db) + skill_db.txt + ƒXƒ‚[ƒLƒ“ƒO‚È‚Ç‚ðC³ + (map/) + skill.c + skill_castend_damage_id(),skill_castend_nodamage_id()C³ + battle.c + battle_calc_misc_damage()C³ + +E–¢ŠÓ’èƒAƒCƒeƒ€‚ª‘•”õ‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ +E–¢ŠÓ’èƒAƒCƒeƒ€‚ɃJ[ƒh‚ª‚³‚¹‚È‚­‚È‚è‚Ü‚µ‚½ + + pc.c + pc_equipitem(),pc_insert_card()C³ + clif.c + clif_use_card()C³ + +Ebattle_athena.cnf‚ÉMOB‚Ì”z’uŠ„‡‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E”z’u”‚ª‚P‚ÌMOB‚ɂ‚¢‚Ä‚Í“K—p‚³‚ê‚Ü‚¹‚ñ + EŒvŽZŒã‚Ì”z’u”‚ª‚P–¢–ž‚ÌꇂP‚ÉC³‚³‚ê‚Ü‚·B + + (conf/) + battle_athena.cnf + mob_count_rate’ljÁ + (doc/) + conf_ref.txt + C³ + (map/) + battle.c/battle.h + struct BattleConfig ‚É mob_count_rate ƒƒ“ƒo’ljÁ + npc.c + npc_parse_mob()‚ÌC³ + +Eƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…‚ª‘ŠŽè‚ª‚P•C‚Å‚à‚Æ‚è‚ ‚¦‚¸“–‚½‚é‚悤‚É‚È‚Á‚½B + + skill.c + skill_castend_damage_id()C³ + +EŠw¶–X쬃Cƒxƒ“ƒg‚ÌC³ + + (conf/) + npc_event_making.txt + ƒAƒƒGƒxƒ‰(606)‚ðƒAƒƒG(704)‚ÉB + +EƒpƒPƒbƒgî•ñC³ + + (doc/) + client_packet.txt + 0199ƒpƒPƒbƒgC³ + +-------------- +//0397 by ‚¢‚Ç + +Eƒ‚ƒ“ƒXƒ^[’è‹`ƒf[ƒ^(“ú–{Œê)‚Ì®— + Enpc_monster25.txt‚ðnpc_monster.txt‚ɃŠƒl[ƒ€‚µA“à—e‚ð®—(Œ»Ýmob”:13450) + E‚»‚ÌŒy—ʔłƂµ‚Änpc_monster_lite.txt‚ðì¬(Œ»Ýmob”:11959) + Eã‹L‚ÌC³‚É‚ ‚킹‚Ämap_athena.cnf‚ðC³ + +-------------- +//0395 by ŒÓ’±—– + +EŽæ‚芪‚«MOB‚Ìs“®C³ + EƒAƒ“ƒNƒ‹‚Ȃǂňړ®‚Å‚«‚È‚¢ê‡Žå‚ɋ߂©‚È‚¢‚悤‚ÉC³ + EƒƒbƒN‚µ‚Ä‚¢‚é‚ÆŽå‚ɋߊñ‚鈗‚ð‚µ‚È‚¢‚悤‚ÉC³ + EŽå‚ªƒeƒŒƒ|[ƒg‚·‚é‚Æ’Ç‚¢‚©‚¯‚é‚悤‚ÉC³(•t‹ß10x10ƒ}ƒX’ö“x) + EŽå‚Ì‚»‚΂ɂ¢‚é‚Æ‚«‚̓‰ƒ“ƒ_ƒ€•às‚ð‚µ‚È‚¢‚悤‚ÉC³ + + mob.c + mob_ai_sub_hard_mastersearch()C³ + mob_can_move()’ljÁ + mob_ai_sub_hard()C³ + +EMOB‚Ìs“®C³ + EƒXƒLƒ‹Žg—pƒfƒBƒŒƒCˆ—‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ + E‰r¥‚Ì‚È‚¢ƒXƒLƒ‹‚Ítimer‚ðŽg‚í‚È‚¢‚悤‚ÉC³(Ž€–SŽžˆ—‘Îô) + + mob.c + mobskill_use(),mobskill_use_id()C³ + +EMOBƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽÀ‘• + EƒGƒ‚[ƒVƒ‡ƒ“‚ÌŽí—Þ‚ª‚í‚©‚ç‚È‚¢‚à‚Ì‚Í‘S‚Äu!v‚É‚È‚è‚Ü‚·B + ”²‚¯‚Ä‚¢‚éƒf[ƒ^‚ð–„‚ß‚Ä‚­‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B + + (db/) + mob_skill_db.txt + ‚¢‚­‚‚©‚ÌMOB‚̃Gƒ‚[ƒVƒ‡ƒ“‚Ì€–Ú‚Ì’l1‚ÉŽí—Þ‚ð“ü‚ꂽB + + (map/) + skill.c + skill_castend_nodamage_id()C³ + clif.c/clif.h + clif_emotion()’ljÁ + +EƒpƒPƒbƒg‰ðÍ.txt‚ðclient_packet.txt‚ɉü–¼•C³ + + (doc/) + client_packet.txt + ƒGƒ‚[ƒVƒ‡ƒ“‚Ìà–¾’ljÁ + +E‚Ç‚¤‚â‚çŽæ‚芪‚«MOB‚ÌŽí—ނ͌¢ƒf[ƒ^‚¾‚Á‚½‚Á‚Û‚¢‚Å‚·B + ‚µ‚©‚àMOB¢Š«‚ł͎艺¢Š«‚ƈႤMOB‚𢊫‚·‚é‚Ý‚½‚¢‚Å‚·‚ËB + Ú‚µ‚¢l‚Ímob_skill_db.txt‚𒼂µ‚Ä‚­‚ê‚é‚ÆB + +-------------- +//0393 by ‚¢‚Ç + +EcharŽI‚Å‚ÌloginŽI‚̃|[ƒgÝ’è‚ð6900‚ɌŒ肵A•ÏX‚Å‚«‚È‚¢‚悤‚É‚µ‚½ +@(login‘¤‚Ń|[ƒg6900ŒÅ’è‚É‚È‚Á‚Ä‚¢‚½‚Ì‚Åchar‘¤‚à‚»‚ê‚ɇ‚킹‚Ü‚µ‚½B) + char/char.c + conf/char_athena.cnf + doc/conf_ref.txt + +-------------- +//0392 by ŒÓ’±—– + +EMOB‚Ìs“®C³ + E‰½ŒÌ‚©last_thinktick‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢–â‘èC³ + Eã‚ÉŠÖ˜A‚µ‚ÄPC‚ª‹ß‚­‚É‚¢‚Ä‚àŽè”²‚«ˆ—‚ªs‚í‚ê‚é–â‘èC³ + i‚Ç‚¤‚â‚牊ú‚©‚ç‚̃oƒO‚¾‚Á‚½–Í—lH ‚±‚̃oƒO‚ÆA + V‚µ‚¢Žè”²‚«ˆ—‚ÌŽd—l‚ªƒ^ƒbƒO‚ð‘g‚ñ‚ÅŽc‘œ‚ðì‚Á‚Ä‚¢‚½–Í—lj + EŽæ‚芪‚«MOB—p‚ÌAIˆ—’ljÁi‚Ü‚¾‰ö‚µ‚¢‚Å‚·j + EMOB‚̃XƒLƒ‹ƒfƒBƒŒƒC‚ðƒXƒLƒ‹€–Ú‚²‚Æ‚ÉŽ‚‚悤‚É•ÏX + EƒXƒLƒ‹ƒfƒBƒŒƒC‚ª‘å‚«‚È€–ڂł̓I[ƒo[ƒtƒ[‚µ‚Ä‚¢‚½–â‘è‚ðC³ + + map.h + struct mob_data‚Ì skilldelay‚ð”z—ñ‚É‚µ‚Äunsigned int‚É•ÏX + mob.h + struct mob_skill‚Ìcasttime,delay‚ðint‚É•ÏX + mob.c + mob_ai_sub_hard_mastersearch()’ljÁ + mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), + mobskill_use(),mobskill_use_id(),mobskill_use_pos(), + mobskill_castend_id(),mobskill_castend_pos(), + mob_ai_sub_hard(),mob_ai_sub_lazy()‚È‚ÇC³ + +EMOBƒXƒLƒ‹‚̎艺¢Š«‚ƃ‚ƒ“ƒXƒ^[¢Š«ŽÀ‘• + Emob_skill_db.txt‚Ì‘Ž®•ÏXiÅŒã‚É’l‚ð‚P‚’ljÁAŽæ‚芪‚«MOB‚ÌIDj + EŽæ‚芪‚«MOB‚ª‚í‚©‚ç‚È‚©‚Á‚½‚à‚̂̓Rƒƒ“ƒg‰»‚µ‚Ä‚¢‚Ü‚· + ‚í‚©‚él‚Í“ü—Í‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B + EŒ»Ý‚ÍŽæ‚芪‚«‚͈ê“x“|‚µ‚½‚畦‚«‚È‚¨‚µ‚Ü‚¹‚ñB + Eƒ{ƒX‚ªƒeƒŒƒ|[ƒg‚µ‚Ä‚àŽæ‚芪‚«‚Í’Ç‚¢‚©‚¯‚Ü‚¹‚ñB + E–{ŽI‚Å‚Ç‚¤‚È‚Á‚Ä‚é‚Ì‚©’m‚ç‚È‚¢‚Ì‚ÅAŠÔˆá‚Á‚Ä‚éꇂ͋³‚¦‚Ä‚­‚¾‚³‚¢B + + (db/) + mob_skill_db.txt + Žè‰º¢Š«‚Ȃǂ̃f[ƒ^C³ + + (map/) + skill.c + skill_castend_nodamage_id()C³ + +-------------- +//0391 by Ž€_ + +Eƒyƒbƒg‚̈ړ®’†‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‚·‚é‚ƃyƒbƒg‚ª’âŽ~‚·‚é‚悤‚É•ÏXB + (ƒyƒbƒg‚̈ʒu‚ª‚¸‚ê‚邽‚ßC³‚µ‚Ü‚µ‚½B) + pet.c + pet_performance() C³B +EŽ€‚ñ‚¾ƒ‚ƒ“ƒXƒ^[‚Í‚Ç‚ñ‚Ès“®‚à‚Æ‚ê‚È‚¢‚悤‚É•ÏXB(‚±‚ê‚Å–³“G + ƒ‚ƒ“ƒXƒ^[‚ª‚¢‚È‚­‚È‚é‚Æ‚¢‚¢‚Å‚·‚ª...) + mob.c + mob_changestate(),mob_delete(),mob_catch_delete(),mob_damage(), + mob_ai_sub_hard(),mob_ai_sub_lazy() C³B +EPCANPCA°ƒAƒCƒeƒ€‚ªŽg‚¤ID‚͈̔͂𒲮B + °ƒAƒCƒeƒ€‚Í0‚©‚ç500000‚Ü‚Å‚ÅPC‚Í500000‚©‚ç100000000ANPC + (ƒ‚ƒ“ƒXƒ^[‚ðŠÜ‚ß‚Ä)‚Í110000000‚©‚ç–ñ21‰­‚Ü‚Å‚É‚È‚è‚Ü‚·B + (-‚ðŠÜ‚ß‚é‚Æ‚à‚Á‚Ɣ͈͂ªL‚­‚È‚è‚Ü‚·‚ª‚³‚·‚ª‚É‚»‚±‚Ü‚Å‚Í•K—v‚È‚¢‚Æ + Žv‚¢‚Ü‚·‚Ì‚Å...) + map.h + MAX_FLOORITEM ’ljÁ(‚±‚ê‚ð•Ï‚¦‚é‚Æ°ƒAƒCƒeƒ€‚Ìő唂ð•Ï‚¦‚é + ‚±‚Æ‚ª‚Å‚«‚Ü‚·B¡‚Í100000‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚½‚¾‚±‚ê‚Í•K‚¸ + 500000ˆÈ‰º‚É‚µ‚Ä‚­‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚Ƴ‚µ‚­“®‚­‚©‚Ç‚¤‚© + •ÛØ‚Å‚«‚Ü‚¹‚ñB) + map.c + map.h‚ɇ‚킹‚Ä­‚µC³B + npc.h + START_NPC_NUM ’ljÁB + npc.c + npc.h‚ɇ‚킹‚Ä­‚µC³B + login.h + START_ACCOUNT_NUM‚ÆEND_ACCOUNT_NUM ’ljÁB + login.c + login.h‚ɇ‚킹‚ÄC³BEND_ACCOUNT_NUMˆÈã‚Éaccount‚ð + ì‚ê‚È‚¢‚悤‚É•ÏXB +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚É•ŠíŒ¤‹†‚ð‚Q‰ñ“K—p‚·‚é‚悤‚É•ÏXB + (Œ‹‹Ç‚ÍŒ³‚É–ß‚·‚±‚Æ‚É‚È‚è‚Ü‚µ‚½...^^;) + battle.c + Damage battle_calc_weapon_attack() C³B +Emob‚̃XƒLƒ‹Žg—p‚ðbattle_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB + mob.c + mobskill_use() C³B + battle.h + battle.c + struct Battle_Config‚Émob_skill_use’ljÁB + battle_athena.cnf + mob_skill_use’ljÁB(ݒ肵‚È‚¢‚Æno‚Å‚·B) +Ebattle_athena.cnf + mob‚ð“ñd‚Å“Ç‚ß‚È‚¢‚悤‚Énpc: conf/npc_monster.txt‚ðíœB + (ÅV‚Ínpc_monster25.txt‚È‚Ì‚Å...) + +-------------- +//390 by ŒÓ’±—– + +Eƒo[ƒWƒ‡ƒ“î•ñŠ“¾•”•ª‚ð­‚µ•ÏX + EMODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½BÚׂÍversion.h‚ðB + ‹C‚ªŒü‚¢‚½‚Æ‚«‚©A‘å‚«‚ÈXV‚ª‚ ‚é‚Æ‚«‚È‚Ç‚É•ÏX‚µ‚Ä‚­‚¾‚³‚¢B + Eƒo[ƒWƒ‡ƒ“checkŽž‚Ìset eofƒƒO‚ªo‚È‚¢‚悤‚ɃpƒPƒbƒg7532’ljÁB + + (common/) + version.h + MODƒo[ƒWƒ‡ƒ“‚ð’è‹`‚Å‚«‚é‚悤‚ÉB + (tool/) + checkversion + MODƒo[ƒWƒ‡ƒ“‚ð•\Ž¦‚·‚é‚悤‚ÉB + (login/char/map) + login.c/char.c/clif.c + MODƒo[ƒWƒ‡ƒ“‚̈—’ljÁA + ƒpƒPƒbƒg7532iØ’fjˆ—’ljÁB + +E‚»‚Ì‘¼FXC³ + E‚±‚Ü‚²‚Ü‚µ‚½C³‚΂©‚è‚Å‚·‚ªA‚ ‚Ü‚èŠo‚¦‚Ä‚¢‚Ü‚¹‚ñB + EMOBƒXƒLƒ‹ðŒ‚Åslavelt,attackpcgtˆ—ŽÀ‘•i–¢ƒeƒXƒgjB + EMOB‚̎艺¢Š«‚Ì‚½‚ß‚Ì‹@\’ljÁi‚Ü‚¾¢Š«‚Å‚«‚Ü‚¹‚ñjB + E”͈̓XƒLƒ‹Œø‰Ê”͈͂Ɏ€–SPC‚ª‚¢‚é‚ÆŽI‚ª—Ž‚¿‚éƒoƒOC³B + EMOBŽc‘œ‚ªo‚È‚­c‚È‚Á‚Ä‚½‚ç‚¢‚¢‚ÈB + + (map/) + mob.c/mob.h/map.h/battle.c + FX’ljÁ + + (db/) + mob_skill_db.txt + ƒ‹[ƒgŽžˆ—‚ÆA‘®«•ÏXƒXƒLƒ‹‚̃Rƒƒ“ƒg‚ðŠO‚µ‚½B + i‘®«•ÏX‚Í–{ŽI‚Å“®‚¢‚Ä‚È‚¢‚炵‚¢‚à‚Ì‚àƒRƒƒ“ƒg‚ðŠO‚µ‚Ä‚Ü‚·B + –â‘肪‚ ‚éꇂÍĂуRƒƒ“ƒg‰»‚µ‚Ä‚­‚¾‚³‚¢j + +-------------- +//389 by ‚¢‚Ç + +E388‚Ì•ÏX + ƒo[ƒWƒ‡ƒ“î•ñ‚ðcommon/version.h“à‚̒蔂ðŽg—p‚·‚é‚悤‚É•ÏX + +-------------- +//388 by ŒÓ’±—– + +Eƒo[ƒWƒ‡ƒ“î•ñŠ“¾ƒc[ƒ‹“Y•t + Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B + Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚­‚¾‚³‚¢B + Žg‚¢•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B + + ƒo[ƒWƒ‡ƒ“‚ðŠm”F‚·‚é—p“r‚æ‚è‚ÍAƒT[ƒo[‚̶‘¶Šm”F—p‚Æ‚¢‚Á‚½‚©‚ñ‚¶‚Å‚· + ƒpƒPƒbƒg7530/7531‚ÌÚׂ̓\[ƒX‚ðŒ©‚Ä‚­‚¾‚³‚¢B + + (tool/) + checkversion + ƒo[ƒWƒ‡ƒ“Šm”Fƒc[ƒ‹PerlƒXƒNƒŠƒvƒg + + (login/) + login.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + (char/) + char.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + (map/) + clif.c + ƒpƒPƒbƒg7530/7531‚̈—’ljÁ + +E384ˆÈ‘O‚Ìathena.txt‚à“Ç‚Ýž‚ß‚é‚悤‚É‚µ‚Ü‚µ‚½ + Econvert‚ª–Ê“|‚ÈlŒü‚¯B + E³‚µ‚­“Ç‚Ýž‚ß‚é•ÛØ–³‚µBƒoƒbƒNƒAƒbƒv‚ð–Y‚ꂸ‚ÉB + + (char/) + char.c + 384‚Ì•ûŽ®‚Å“Ç‚Ýž‚ß‚È‚¢ƒf[ƒ^‚Í384ˆÈ‘O‚Ì•ûŽ®‚àŽŽ‚·‚悤‚ÉB + +Econf_ref.txt/help.txt/getaccountC³ + help.txt + petƒRƒ}ƒ“ƒh‚Ìà–¾’ljÁ + (doc/) + conf_ref.txt + petŠÖ˜A‚ÌÝ’è‚Ìà–¾’ljÁ + (tool/) + getlogincount + •\Ž¦‚ÌC³ + +-------------- +//387 by ‚¢‚Ç +EconfƒtƒHƒ‹ƒ_“à‚ÌNPC’è‹`ƒf[ƒ^‚Ì®— + ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ð휂µ‚Ü‚µ‚½ + npc_kafraJ.txt + npc_mind_prtmons.txt + npc_script2J.txt(npc_event_mobtim.txt‚É“¯‚¶‚à‚Ì‚ª‚ ‚Á‚½‚½‚ß) + npc_testJ.txt(‚Ù‚Ú“¯‚¶‚±‚Æ‚ª@ƒRƒ}ƒ“ƒh‚Åo—ˆ‚邽‚ß) + npc_warp25.txt(npc_warp.txt‚É“‡) + + ˆÈ‰º‚̃tƒ@ƒCƒ‹‚Ì–¼‘O‚ð•ÏX‚µ‚Ü‚µ‚½ + npc_monster3.txt -> nop_monster2E.txt + npc_monster3J.txt -> npc_monster25.txt + npc_monster.txt -> npc_monsterE.txt + npc_monsterJ.txt -> npc_monster.txt + npc_sampleJ.txt -> npc_sample.txt + npc_script3j.txt -> npc_script2.txt + npc_script25J.txt -> npc_town_lutie.txt + npc_shop1J.txt -> npc_shop_test.txt + npc_shop2J.txt -> npc_shop_mobtim.txt + npc_shop3J.txt -> npc_shop2.txt + npc_shop.txt -> npc_shopE.txt + npc_shopJ.txt -> npc_shop.txt + npc_testJ.txt -> npc_test.txt + npc_warp3.txt -> npc_warp2.txt + npc_warp4.txt -> npc_warp25.txt + +Eƒ}ƒbƒv’è‹`‚̒ljÁ + ƒWƒ…ƒm[ƒAƒbƒvƒf[ƒg‚ŒljÁ‚³‚ê‚éƒ}ƒbƒv‚ÆAŠØŽI“ÆŽ©(?)‚̃NƒCƒYƒ][ƒ“ + (ƒRƒ‚ƒhƒAƒbƒvƒf[ƒg)‚Æ“V’ÃAƒbƒvƒf[ƒg‚̃}ƒbƒv’è‹`‚ð’ljÁ + Œ»ÝA“úˆÆ‚É–³‚¢‚à‚Ì‚ÉŠÖ‚µ‚Ă̓Rƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚ÜB + conf/map_athena.cnf + +-------------- +//385 by ŒÓ’±—– + +EMOB‚Ìs“®C³ + EŽè”²‚«ˆ—‚ňړ®‚µ‚È‚¢ƒ‚[ƒh‚ÌMOB‚à•à‚­–â‘èC³ + EMOB‚ð“|‚µ‚½‚Æ‚«AÄspawnŽž‚ª‚¨‚©‚µ‚È’l‚É‚È‚éꇂª‚ ‚é–â‘èC³ + iMOB‚ª•¦‚©‚È‚­‚È‚é–â‘肪C³‚³‚ꂽ‚Í‚¸j + EMOB‚̃[ƒv‚ÅꊌŸõ‚É1000‰ñŽ¸”s‚µ‚½‚猳‚ÌꊂÉo‚é‚悤‚ÉC³ + EMOB‚ð‰r¥’†‚É“|‚·‚ÆAƒ^ƒCƒ}[‚ð휂·‚é‚悤‚ÉC³ + + mob.c + mob_delete(),mob_catch(),mob_damage(), + mob_ai_sub_lazy(),mob_ai_sub_hard()‚È‚ÇC³ + mobskill_deltimer()’ljÁ + +-------------- +//0384 by Ž€_ + +EƒyƒbƒgŽÀ‘•B +Žv‚Á‚½‚æ‚è’·‚­‚©‚©‚è‚Ü‚µ‚½BˆêŽü‚à‚©‚©‚Á‚½‚¹‚¢‚ʼn½ˆ‚ðC³‚µ‚½‚© +Šo‚¦‚Ä‚È‚¢–â‘肪‚ ‚è‚Ü‚·‚ª... ‚»‚ê‚Å”O‚ׂ̈Émap‚Æchar‚̃tƒ@ƒCƒ‹‚Í‘S‚Ä +ŠÜ‚߂ăAƒbƒv‚µ‚Ü‚·B +‚»‚ê‚Æmakefile‚Æathena.sh‚ÍŽ©•ª‚ªŽg‚Ä‚¢‚镨‚Å‚·B +Yare-launcher‚ÍŽg‚Ä‚Ü‚¹‚ñ‚ª‚¢‚‚àŽI‚ÌŽÀsƒtƒ@ƒCƒ‹‚ÅŽÀs‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å... + char/char.cAchar/char.hAchar/inter.cAchar/makefile C³B + char/int_pet.cAchar/int_pet.h ’ljÁB + map/makefile C³B + map/intif.cAmap/intif.hAmap/map.cAmap/map.hAmap/mob.cAmap/mob.hA + map/npc.cAmap/npc.hAmap/battle.cAmap/battle.hAatcomand.cAmap/pc.cA + map/clif.cAmap/clif.hAmap/script.c FXC³B + map/pet.cAmap/pet.h ‚Í–w‚Ç‚ðŽ©•ª‚Ì•¨‚É‘‚«Š·‚¦‚Ü‚µ‚½B + common/mmo.h C³B + db/pet_db.txt C³B + db/item_db.txt C³B(Œg‘Ñ—‘›z‰»‹@‚Ìbpet ƒXƒNƒŠƒvƒg‚ª”²‚¯‚Ä‚¢‚½‚Ì‚Å + “ü‚ꂽ‚¾‚¯‚Å‚·‚ª...) + doc/INTERŽIƒpƒPƒbƒg.txt‚Ì–¼‘O‚ðinter_server_packet.txt‚É•ÏX‚ƃyƒbƒg‚Ì + •Û‘¶“™‚ÉŽg‚¤ƒpƒPƒbƒg‚ð’ljÁB +* ¡“x‚̃yƒbƒgŽÀ‘•‚É‚æ‚èƒLƒƒƒ‰ƒtƒ@ƒCƒ‹‚Ì\‘¢‚ª•Ï‚í‚èˆÈ‘O‚Ì•¨‚ƌ݊·‚Å‚«‚È‚¢ + ‚Ì‚Å tool/convert.c ‚ð’ljÁ‚µ‚Ü‚µ‚½B + ’P“ƂŃRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚·‚̂ŃRƒ“ƒpƒCƒ‹‚µ‚½‚ ‚ÆŽÀs‚µ‚ăLƒƒƒ‰ + ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚Ä‚­‚¾‚³‚¢B‚»‚¤‚µ‚È‚¢‚ƃLƒƒƒ‰‚ª‘S•””ò‚Ñ‚Ü‚·‚Ì‚Å... +* ƒyƒbƒg‚Ìe–§“x‚ª0‚É‚È‚é‚ƃyƒbƒg‚Í‚»‚Ìê‚Å“®‚¯‚È‚­‚È‚è‚»‚Ìó‘Ô‚Å‘¼‚Ì + ƒ}ƒbƒv‚Ɉړ®‚·‚é‚©I—¹‚·‚é‚ƃyƒbƒg‚ÍÁ–Å‚µ‚Ü‚·Bˆê‰žƒyƒbƒg‚Ì“¦‘–‚ð + ŽÀ‘•‚·‚é‚‚à‚è‚Åì‚Á‚½‚Ì‚Å‚·‚ª–{ŽI‚É‚ ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB +* ˆÚ“®‘¬“x‚ª’x‚¢ƒyƒbƒg‚Ìꇗ£‚ê‰ß‚¬‚é‚Ƃ‚¢‚Ä—ˆ‚ê‚È‚­‚È‚è‚Ü‚·B‚Å‚à + ‚±‚Ìꇃ}ƒbƒv‚ðˆÚ“®‚µ‚Ä‚à‚¿‚á‚ñ‚Ƃ‚¢‚Ä—ˆ‚Ü‚·B + Á–Å‚µ‚½‚è‚Í‚µ‚Ü‚¹‚ñB +* ˆÚ“®‘¬“x‚ª‘¬‚¢ƒyƒbƒg‚̓Lƒƒƒ‰‚æ‚èæ‚Ɉړ®‚µ‚Ü‚·B–{ŽI‚Ì•û‚ª‚Ç‚¤‚È‚Ì‚© + ‚í‚©‚ç‚È‚¢‚̂Ńyƒbƒg‚̈ړ®‚̓‚ƒ“ƒXƒ^[‚̈ړ®‘¬“x‚ňړ®‚·‚é + ‚悤‚É‚µ‚Ü‚µ‚½B +Ebattle_athena.cnf +pet_catch_rate ’ljÁB + ƒyƒbƒg‚̕ߊl”{—¦‚ðݒ肵‚Ü‚·B(ݒ肵‚È‚¢‚Æ100) + Šî–{“I‚Ƀyƒbƒg‚̕ߊl‚ÉŽg‚Á‚Ä‚éŒöŽ®‚Í + (pet_db.txt‚̕ߊl—¦ + (ƒLƒƒƒ‰ƒŒƒxƒ‹ - ƒ‚ƒ“ƒXƒ^[ƒŒƒxƒ‹)*0.3 + luk *0.2) + * (2 - ƒ‚ƒ“ƒXƒ^[‚ÌŒ»ÝHP/ƒ‚ƒ“ƒXƒ^[‚ÌÅ‘åHP) + ‚É‚È‚è‚Ü‚·BŽ©•ª‚È‚è‚Éì‚Á‚½•¨‚Å‚·‚Ì‚Å–{ŽI‚Æ‚Í‚©‚È‚è‚Ì + ˆá‚¢‚ª‚ ‚é‚©‚à’m‚ê‚Ü‚¹‚ñB(ƒ‚ƒ“ƒXƒ^[‚ÌHP‚ðŒ¸‚ç‚¹‚ÎŒ¸‚ç‚·’ö•ßŠl—¦‚ª + オ‚éŽd‘g‚Ý‚Å‚·‚ª...) +pet_rename ’ljÁB + ƒyƒbƒg‚Ì–¼‘O‚ð•ÏX‚·‚é‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æno) + yes‚͉½“x‚Å‚à–¼‘O‚Ì•ÏX‚ª‰Â”\B + no‚͈ê“x•ÏX‚·‚é‚Æ‚à‚¤•ÏX•s‰Â”\‚É‚È‚é +pet_hungry_delay_rate ’ljÁB + ƒyƒbƒg‚Ì• ‚ªŒ¸‚鎞ŠÔ‚Ì”{—¦‚Å‚·B(ݒ肵‚È‚¢‚Æ100) + ”{—¦‚ª‚‚¢‚Æ• ‚ªŒ¸‚è“ï‚­‚È‚è‚Ü‚· +mvp_exp_rate •ÏXB + ‚·‚Å‚Éstruct mob_db‚Ìmexpper‚̓Sƒ~‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Å(MVP EXP‚Í + MVPƒAƒCƒeƒ€‚ªŽæ‚ê‚È‚©‚Á‚½ê‡“ü‚é‚̂ňӖ¡‚ª‚ ‚è‚Ü‚¹‚ñB) + MVP EXP‚Ì—Ê‚Ì”{—¦‚É‚È‚é‚悤‚É•ÏXB(mob.c‚ðC³) +Echar_athena.cnf +autosave_time ’ljÁB + Ž©“®•Û‘¶‚·‚鎞ŠÔ‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æ300) + šdˆÊ‚Í•b‚Å‚·B(ƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚鎞ŠÔ‚ÌŠÔŠu‚Å‚·B) +Emap_athena.cnf +autosave_time ’ljÁB + Ž©“®•Û‘¶‚·‚鎞ŠÔ‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æ60) + šdˆÊ‚Í•b‚Å‚·B(ƒLƒƒƒ‰ŽI‚Ƀf[ƒ^‚𑗂鎞ŠÔ‚ÌŠÔŠu‚Å‚·B‚±‚ê‚Í + ƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚鎞ŠÔ‚ÌŠÔŠu‚¶‚á‚ ‚è‚Ü‚¹‚ñB) +Einter_athena.cnf +pet_txt ’ljÁB + ƒyƒbƒg‚̃f[ƒ^‚ð•Û‘¶‚·‚éƒtƒ@ƒCƒ‹‚ðŒˆ‚ß‚Ü‚·B(ݒ肵‚È‚¢‚Æpet.txt) +E@makepet ƒRƒ}ƒ“ƒh’ljÁB + ƒyƒbƒg‚ÌŽÀ‘•‚É‚æ‚Á‚Ä@item‚Åì‚Á‚½—‘‚ÍŽg‚Á‚Ä‚à–³‘Ê‚É‚È‚è‚Ü‚·‚Ì‚Å + ‚±‚ê‚ðŽg‚Á‚Ä—‘‚ðì‚Á‚Ä‚­‚¾‚³‚¢B + @makepet <ƒ‚ƒ“ƒXƒ^[‚ÌID or —‘‚ÌID> +E@petfriendly ƒRƒ}ƒ“ƒh’ljÁB + @petfriendly <”Žš> + ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ìe–§“x‚ð•ÏXB(0~1000) +E@pethungry ƒRƒ}ƒ“ƒh’ljÁB + @pethungry <”Žš> + ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ì–ž• “x‚ð•ÏXB(0~100) +E@petrename ƒRƒ}ƒ“ƒh’ljÁB + @petrename + ƒyƒbƒg‚ð˜A‚ê‚Ä‚¢‚鎞‚Ƀyƒbƒg‚Ì–¼‘O‚ð•ÏX‚Å‚«‚é‚悤‚É•ÏXB +Eint_guild.cAint_party.c “Ç‚Ýž‚Þƒtƒ@ƒCƒ‹‚ɃGƒ‰[‚ª‚ ‚Á‚Ä‚àƒvƒƒOƒ‰ƒ€‚ð + I—¹‚¹‚¸‚Éi‚ނ悤‚É•ÏXB +Epc_walk 123 != 1234 “™‚̃Gƒ‰[‚ªo‚È‚¢‚悤‚É + if((i=calc_next_walk_step(sd))>0) { + sd->walktimer=add_timer(tick+i/2,pc_walk,id,sd->walkpath.path_pos); + ‚ð + if((i=calc_next_walk_step(sd))>0) { + i = i/2; + if(i <= 0) + i = 1; + sd->walktimer=add_timer(tick+i,pc_walk,id,sd->walkpath.path_pos); + ‚̂悤‚É•ÏX‚µ‚Ü‚µ‚½B + tick‚ª“¯‚¶”’l‚É‚È‚é‚Ì‚ð–h‚¢‚½‚Ì‚Å‚·‚ª‚±‚ê‚Å‚Ç‚ñ‚ȉe‹¿‚ªo‚é‚©‚Í + ‚³‚Á‚Ï‚è‚í‚©‚è‚Ü‚¹‚ñB + pc.cAmob.c‚ðC³B + ‚Å‚à‚±‚ÌC³‚ð‚µ‚Ä‚à˜A‘±‚ŃNƒŠƒbƒN‚µ‚½‚è‚·‚é‚ƃLƒƒƒ‰‚ª‚µ‚΂炭 + Ž~‚Ü‚é‚悤‚Å‚·B(ƒyƒbƒg‚Ì‚¹‚¢‚ÆŽv‚¢‚Ü‚µ‚½‚ªƒyƒbƒg‚ª‚È‚­‚Ä‚à + “¯‚¶‚¾‚Á‚½‚Ì‚Å‘¼‚ÌŒ´ˆö‚©‚Æ...) +* doc/code_ref.txt‚Æhelp.txt‚Í–Ê“|‚­‚³‚¢‚Ì‚ÅC³‚µ‚Ä‚Ü‚¹‚ñB +Egm_all_skill: yes‚Å2-2‚̃XƒLƒ‹‚à•\Ž¦‚³‚ê‚é‚悤‚É•ÏXB(ŽŽ‚¢‚¹‚Í‚¢‚Ü‚¹‚ñ‚ª...) + pc.c + pc_calc_skilltre() C³B +EƒJ[ƒgƒŒƒ{ƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZ‚ðC³B + •ŠíŒ¤‹†‚ð“ñdŒvŽZ‚µ‚Ä‚¢‚½‚Ì‚ÅC³B + battle.c + Damage battle_calc_weapon_attack() C³B + +-------------- +//381 by ŒÓ’±—– + +EMOB‚Ìs“®C³ + EPC‚Ì‚¢‚È‚¢ƒ}ƒbƒv‚ÌMOB‚ÍŽžXƒ[ƒv‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + EPC‚Ì‚¢‚éƒ}ƒbƒv‚ÌMOB‚Í•à‚­ˆÈŠO‚ÉAŽžX•¦‚«’¼‚·‚悤‚É‚È‚è‚Ü‚µ‚½ + i‚±‚ê‚Ü‚½ƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñF­‚µd‚­‚È‚é‚©‚àj + EŽè”²‚«ˆ—‚ŃuƒƒbƒN‚Ì—LŒø”»’è‚ðs‚¤‚悤‚É‚µ‚Ü‚µ‚½ + iHP–³ŒÀMOB–â‘èC³Hj + Eƒ‹[ƒgŽžƒXƒLƒ‹Žg—p‹@\ŽÀ‘• + + mob.c/mob.h + mob_ai_sub_lazy(),mob_ai_sub_hard()C³ + MSS_LOOT’ljÁ,mob_readskilldb()C³ + +EMOBƒXƒLƒ‹‚Ì‘®«•ÏX‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + + map.h + struct mob_data‚É def_eleƒƒ“ƒo’ljÁ + mob.c + mob_spawn()‚Ådef_ele‚ðƒZƒbƒg‚·‚é‚悤‚É•ÏX + battle.c + battle_get_element()‚Ådef_ele‚ð“ǂނ悤‚É•ÏX + skill.c + skill_castend_nodamage_id()C³ + +EƒNƒ@ƒOƒ}ƒCƒA‚ÌŒø‰Ê”͈͂©‚ço‚é‚ÆŒø‰Ê‚ªØ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + skill.c + ƒ†ƒjƒbƒgŒnˆ—C³ + +-------------- +//380 by ‚`‚Ìl + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚̃_ƒ[ƒWŒvŽZŽÀ‘• + battle.c‚ð•ÏXB + +CHRIS‚³‚ñA‚ ‚肪‚Æ‚¤ŒäÀ‚¢‚Ü‚·B +ƒmƒbƒNƒoƒbƒNŽÀ‘•‚Å‚«‚È‚­‚ÄA¢‚Á‚Ä‚Ü‚µ‚½i„ƒG + +-------------- +//379 by CHRIS + +EƒJ[ƒgƒŒƒ”ƒHƒŠƒ…[ƒVƒ‡ƒ“‚ÌŽÀ‘• + skill.c‚Æbattle.c‚ð•ÏXB + +Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒN‚ɃmƒbƒNƒoƒbƒN‚ð’ljÁB + battle.c‚ð•ÏXB + +iƒ\[ƒX‚ð˜M‚Á‚½‚͉̂‚ß‚Ä‚È‚Ì‚ÅA—L‚Á‚Ä‚é‚©‚Ç‚¤‚©•ª‚©‚è‚Ü‚¹‚ñ‚ªAŽ©•ª‚Å‚Ío—ˆ‚Ü‚µ‚½Bj +iƒvƒƒOƒ‰ƒ€ŠÖŒW‚̑Ђ𔃂Á‚ĕ׋­‚µ‚ĉ‚߂ĘM‚Á‚½‚Ì‚Å‚·EEEBƒKƒ“ƒoƒŠƒ}ƒXIBj + +-------------- +//377 by ŒÓ’±—– + +EMOB‚Ìs“®C³ + E‹ß‚­‚ÉPC‚Ì‚¢‚È‚¢MOB‚ªŽžXƒ[ƒv‚·‚éŽd—l‚ðŽ~‚ß‚Ü‚µ‚½B + EPC‚Ì‚¢‚È‚¢ƒ}ƒbƒv‚ÌMOB‚Í‘S‚­“®‚©‚È‚­‚È‚è‚Ü‚µ‚½B + EPC‚Ì‚¢‚éƒ}ƒbƒv‚ÅA‹ß‚­‚ÉPC‚Ì‚¢‚È‚¢MOB‚ÍŽžX•à‚­‚悤‚É‚È‚è‚Ü‚µ‚½B + E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ëC³ + iƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñF­‚µd‚­‚È‚é‚©‚àj + + mob.c + mob_randomwalk()’ljÁ + mob_ai_sub_lazy(),mob_ai_sub_hard()C³‚È‚Ç + +EƒXƒLƒ‹C³ + EMOB‚ªƒeƒŒƒ|[ƒg‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + mob.c + mob_warp()’ljÁ + skill.c + skill_castend_nodamage_id()C³ + +EƒXƒe[ƒ^ƒXˆÙí‚̈ꕔ‚ðŽÀ‘•/C³ + EPC/MOB‚Æ‚à‚É‘¬“xŒ¸­‚ÌŒø‰Ê‚ªŒ»‚ê‚é‚悤‚ÉiAGI‚Ì•\Ž¦‚Í•Ï‚í‚炸j + EPC‚̃Gƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA‘¬“x㸂̌ø‰Ê‚ðC³ + EMOB‚Ì2HQAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒGƒ“ƒWƒFƒ‰ƒXAƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXA + ‘¬“xã¸/Œ¸­AƒOƒƒŠƒAAƒuƒŒƒbƒVƒ“ƒO‚È‚Ç‚ÌŒø‰ÊŽÀ‘• + E‡–°A“€Œ‹AƒXƒ^ƒ“‚Ì•K’†Œø‰ÊŽÀ‘• + E‡–°‚̃NƒŠƒeƒBƒJƒ‹”{Œø‰ÊŽÀ‘• + EˆÃ•‚Ì–½’†—¦A‰ñ”𗦌¸­Œø‰ÊŽÀ‘• + EŽô‚¢‚ÌATKŒ¸­Œø‰ÊALUKŒ¸­Œø‰ÊŽÀ‘• + + battle.c + battle_get_*()C³ + battle_calc_weapon_damage()C³ + mob.c + mob_get_speed(),mob_get_adelay()’ljÁ + pc.c + pc_calcstatus()C³ + +Eitem_value_db.txt‚ŃAƒCƒeƒ€‚̉¿Ši‚ðÝ’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E‰¿Šiƒf[ƒ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚é‚悤‚É‚µ‚Ü‚µ‚½B + E‚±‚ê‚Åitem_db2.txt‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB + + (db/) + item_value_db2.txt + item_db2.txt‚̉¿Šiƒf[ƒ^B + item_value_db.txt‚ɃŠƒl[ƒ€‚·‚é‚Æ“Ç‚Ýž‚Ý‚Ü‚·B + (map/) + itemdb.c + itemdb_readdb()C³ + +EŒÃ–Ø‚ÌŽ}‚ðŽg‚¤‚ÆMOB‚Ì–¼‘O‚ª 0 ‚É‚È‚é–â‘è‚ÌC³ + + (db/) + item_db.txt + ŒÃ–Ø‚ÌŽ}‚̃f[ƒ^C³ + +-------------- +//375 by ŒÓ’±—– + +EMOBê—pƒXƒLƒ‹‚ÌŒø‰Ê‚ð‚¢‚­‚‚©ŽÀ‘• + ‘½’iUŒ‚A“łȂǂ̒ljÁŒø‰Ê•t—^UŒ‚A‘®«•t‚«UŒ‚A–‚–@‘ÅŒ‚UŒ‚ + •K’†UŒ‚A–hŒä–³Ž‹UŒ‚Aƒ‰ƒ“ƒ_ƒ€ATKUŒ‚‚È‚ÇB + ‚½‚¾‚µA**‘S‚­ƒeƒXƒg‚µ‚Ä‚Ü‚¹‚ñ**B + + (db/) + skill_db.txt + MOB—pƒXƒLƒ‹‚̃f[ƒ^‚ðC³ + mob_skill_db.txt + ­‚µ’ljÁ + (map/) + skill.c + skill_castend_damage_id()C³ + skill_status_change_start()C³ + skill_additional_effect()C³ + battle.c + battle_calc_weapon_attack()C³ + +EƒXƒLƒ‹‚ð­‚µC³ + EƒEƒH[ƒ^[ƒ{[ƒ‹‚Å“G‚ªŽ€‚ñ‚Å‚¢‚Ä‚àŒ‚‚ƒ‚[ƒVƒ‡ƒ“‚ð‚·‚é–â‘èC³ + + skill.c + skill_status_change_timer()C³ + +EMOBƒf[ƒ^‚ª•Ï‚È‚Ì‚Å–^‚v‚̃f[ƒ^ƒx[ƒX‚ð—¬—p‚µ‚Ä‚Ý‚é + Eƒf[ƒ^‚Ì•À‚ч‚Æ‚©‘S‚­“¯‚¶‚È‚ñ‚Å‚·‚Ë + + (db/) + mob_db.txt + –^‚v‚Ìmob_db.txt + +EŠeŽíconf‚̃Šƒtƒ@ƒŒƒ“ƒX‚ð“Y•t + ‚ ‚­‚܂ŃŠƒtƒ@ƒŒƒ“ƒX‚È‚Ì‚ÅAHowTo‚È‚ñ‚©‚Í‘‚¢‚Ä‚Ü‚¹‚ñB + + (doc/) + conf_ref.txt + conf‚̃Šƒtƒ@ƒŒƒ“ƒX{ƒ¿ + + +-------------- +//373 by ŒÓ’±—– + +EMOBƒXƒLƒ‹Žg—p‹@\‰¼ŽÀ‘• + EƒXƒLƒ‹Žg—pŽž‚̈—‚̓vƒŒƒCƒ„[‚Æ‹¤—p(skill.c)‚Å‚·B + E•s“s‡‚ª‘½‚¢‚ÆŽv‚¤‚Ì‚Å•ñ‚¨Šè‚¢‚µ‚Ü‚·B + Emob_skill_db.txt‚ð–„‚ß‚Ä‚­‚ê‚él‚à•åWB + ‚±‚̃f[ƒ^‚Íuƒ‰ƒOƒiƒƒN‚Ì‚½‚Ü‚²v‚ðŽQl‚É‚µ‚Ä‚¢‚Ü‚·B + + (db/) + mob_skill_db.txt + MOBƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX(–¢Š®¬) + ƒeƒXƒg—p‚̃f[ƒ^‚µ‚©“ü‚Á‚Ä‚Ü‚¹‚ñB + (map/) + mob.c/mob.h + mobskill_*’ljÁA‚»‚Ì‘¼‘½”C³ + map.h + struct mob_data ‚É skill* ’ljÁ + skill.c/skill.h + skill_castcancel()‚âƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ðMOB‚ɑΉž‚³‚¹‚½ + battle.c + battle_calc_damage()‚È‚ÇC³ + +EƒMƒ‹ƒh‚̃XƒLƒ‹‚ªG‚ê‚È‚¢–â‘èC³ + E‚¢‚‚̂܂ɂ©pc_skillup‚ªŒÃ‚¢‚à‚Ì‚É•Ï‚í‚Á‚Ä‚¢‚½‚Ì‚ÅC³ + + pc.c + pc_skillup(),pc_checkskill()C³ + +-------------- +//368 by ŒÓ’±—– + +EMOBŒn‚ÌC³‚È‚Ç + EMOB‚ªô“G”͈͓à‚ÌPC/ƒAƒCƒeƒ€‚𓙊m—¦‚ŃƒbƒN‚·‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + iƒAƒNƒeƒBƒuAƒ‹[ƒgF‚¢‚Ü‚Ü‚Å‚ÍŠY“–ƒuƒƒbƒN‚̃Šƒ“ƒNƒŠƒXƒg‚̇‚È‚Ç‚É + ˆË‘¶‚µ‚Ä‚¢‚½j + EŽË’ö”ÍˆÍ“à‚©‚ÂA“ž’B•s‰Â”\’n‘Ñ‚ÌPC‚ðMOB‚ªƒƒbƒN‚·‚é‚ÆA + MOB‚ª’âŽ~‚µ‚½‚èA‚»‚Ìê‚Å–\‚ꂾ‚µ‚½‚è‚·‚é–â‘è‚ÌC³ + EMOBƒƒbƒN’†‚ÉIW‚È‚Ç‚Å“ž’B•s‰Â”\‚É‚È‚Á‚½ê‡AƒƒbƒN‚ð‰ðœ‚·‚é‚悤‚ÉB + EAEGIS•ûŽ®‚Å“G‚̈ړ®‚ðŒvŽZ‚µ‚Ĉړ®•s‰Â”\‚È‚çAAthenaŽ®‚ÅŒvŽZ‚·‚é‚悤‚É + EƒƒbƒN‚ª‰ðœ‚³‚ê‚é‚Æ‚«‚É”•b‚»‚Ìê‚Å’âŽ~‚·‚é‚悤‚É‚µ‚½ + E•às‚ª’x‚¢MOB‚ª‚Æ‚Ü‚ç‚È‚¢/ŽŸ‚Ì•àsŠJŽn‚ª‘‚·‚¬‚é–â‘è‚ðC³‚µ‚Ü‚µ‚½ + Eƒ‹[ƒgŠÖ˜Aˆ—‚ð­‚µC³ + + mob.c + mob_ai_sub_hard*()C³ + mob_can_reach()’ljÁ + +EƒXƒLƒ‹Žg—pŽž‚Ƀ^[ƒQƒbƒgƒuƒƒbƒN‚Ì—LŒø«”»’è‚ðs‚¤‚悤‚ÉC³ +Eƒ‹ƒAƒt‚̃_ƒ[ƒW‚ª•ŠíŒvŽZ‚É‚È‚Á‚Ä‚¢‚é‚̃oƒO‚ð–‚–@ŒvŽZ‚ÉC³ + + skill.c + skill_castend_id()C³ + skill_status_change_timer_sub()C³ + + +---------- +//364 by ‚¢‚Ç +EˆÈ‰º‚̃pƒPƒbƒg‚Ìà–¾‚ð•ÏX + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0081 .B + +E363‚Ńrƒ‹ƒhŽž‚Éwarning‚ªo‚é•s‹ï‡‚ðC³ + map/guild.h + +-------------- +//363 by ŒÓ’±—– + +EƒMƒ‹ƒh‚ÌC³ + EƒƒOƒCƒ“‚µ‚Ä‚¢‚È‚¢PC‚ð’Ç•ú‚·‚é‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚éƒoƒOC³ + Eƒƒ“ƒo[’ljÁ’¼Œã‚ɒljÁ‚³‚ꂽPC‚ªƒMƒ‹ƒh•\Ž¦‚ɒljÁ‚³‚ê‚È‚¢–â‘èC³ + E“¯‚¶ƒMƒ‹ƒh‚É“¯C•ÊƒLƒƒƒ‰‚ª—v‚éPC‚ª’E‘Þ‚·‚é/’Ç•ú‚³‚ê‚é‚ƕʃLƒƒƒ‰‚ª + ’E‘Þ‚µ‚Ä‚µ‚Ü‚¤ê‡‚ª‚ ‚éƒoƒOC³ + Eƒƒ“ƒo[‚ª‚¢‚é‚̂ɉðŽU‚µ‚悤‚Æ‚·‚é‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚éƒoƒOC³ + + (char/) + int_guild.c + guild_calcinfo(),mapif_parse_GuildAddMember()C³ + (map/) + guild.c + guild_member_leaved(),guild_member_added() + guild_recv_info(),guild_break()C³ + +-------------- +//362 by ŒÓ’±—– + +EƒMƒ‹ƒh‰ðŽUŽÀ‘• + + (char/) + int_guild.c + ‰ðŽUˆ—‚ð’ljÁ + (map/) + guild.c/guild.h + guild_break(),guild_broken(),guild_broken_sub()‚ȂǒljÁ + clif.c/clif.h + clif_guild_broken(),clif_parse_GuildBreak()’ljÁ + intif.c/intif.h + intif_parse_GuildBroken()’ljÁ + +-------------- +//361 by ‚¢‚Ç + +E360‚Å‚Ì@heal‚Ì•ÏXŠÔˆá‚¢‚ð’ù³ + map/atcommand.c + +-------------- +//360 by ‚¢‚Ç + +E353‚ÌC³‚ðíœ +E@heal‚Å•ÏXŒã‚Ì’l‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚ÉC³ + +-------------- +//359 by ‚¢‚Ç + +Eclass_equip_db.txt‚Ì•¶Žš‰»‚¯C³ + +-------------- +//358 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚Ìdelete_timer‚̃Gƒ‰[‚ðo‚È‚¢‚悤‚É‚µ‚½ + pc.c + pc_authok()‚ÌC³ + +EƒMƒ‹ƒhŠÖŒW‚ÌC³ + Eƒƒ“ƒoŠ©—UŽž‚ÉÅ‘ål”‚ÌŠm”F‚ðs‚¤‚悤‚É + Eƒf[ƒ^’Ê’mˆ—‚ð‚¢‚­‚‚©C³ + + (char/) + int_guild.c + FXC³ + (map/) + clif.c/clif.h + clif_guild_inviting_refused()‚ðclif_guild_inviteack()‚ɉü–¼ + guild.c/intif.c + FXC³ + +E@guildlvupƒRƒ}ƒ“ƒhì¬BƒMƒ‹ƒhƒŒƒxƒ‹‚ª’²®‚Å‚«‚Ü‚·B + + (char/) + int_guild.c + FXC³ + (map/) + atcommand.c + @guildlvupˆ—’ljÁ + +EMakefike‚Ìclean•”•ª‚ðC³ + + (char/ map/ login/) + Makefile + E휂·‚éŽÀsƒtƒ@ƒCƒ‹‚̃pƒX‚ð ../athena/ ‚©‚ç ../ ‚ÉC³ + +-------------- +//357 by ŒÓ’±—– + +Epc.c‚Ì•¶Žš‰»‚¯C³ + •¶Žš‰»‚¯‚µ‚½ƒtƒ@ƒCƒ‹‚ðƒAƒbƒv‚·‚é‚Ì‚àA‚»‚ê‚ð‰ü‘¢‚·‚é‚Ì‚à‹ÖŽ~‚µ‚Ü‚¹‚ñ‚©H + ’¼‚·‚Ì–Ê“|‚­‚³‚·‚¬‚Ü‚·B + + pc.c + •¶Žš‰»‚¯‚ÌC³ + +Eƒp[ƒeƒB‚âƒMƒ‹ƒh‚ÉŠ©—U‚³‚ꂽó‘ԂŃ}ƒbƒvˆÚ“®‚⃃OƒAƒEƒg‚·‚é‚ÆA + Š©—U‚ð‹‘”Û‚·‚é‚悤‚ÉC³ + + pc.c + pc_setpos()C³ + map.c + map_quit()C³ + +EI-AthenaŽ©“®•œ‹ŒƒVƒXƒeƒ€(B-NSJŽì)‚ðAthena—p‚ɉü‘¢‚µ‚Ä“Y•t‚µ‚Ü‚µ‚½ + ƒvƒƒOƒ‰ƒ€‚Ì«Ž¿ã./toolƒtƒHƒ‹ƒ_‚Å‚Í‚È‚­./‚É‚ ‚è‚Ü‚·B + athena.sh‚Ì•Ï‚í‚è‚Éstart‚Å‹N“®‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚Ä‚à10•b’ö“x‚Å•œ‹Œ‚µ‚Ü‚· + ƒvƒƒZƒX‚Íumapv‚Å’²‚ׂĂ܂·‚ª‘¼‚̃vƒƒZƒX‚É”½‰ž‚·‚é‚Æ‚«‚Í + umap-serverv‚È‚Ç‚É•Ï‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B + + start + mapŽIŽ©“®•œ‹ŒƒVƒXƒeƒ€‚̃VƒFƒ‹ƒXƒNƒŠƒvƒg + + +-------------- +//0356 by Ž€_ + +Eathena.sh‚ðŽg‚í‚È‚­‚Ä‚àYare-launcher‚ðŽg‚¦‚é‚悤‚É•ÏXB(Ž©•ªŽŽ‚µ‚Ä‚Ü‚µ‚½‚ª +ˆê‰ž“®‚«‚Ü‚µ‚½B‚Å‚à‘‹‚Ìê‡login-server.exe‚ªlogin-server.ex‚É“o˜^‚³‚ê‚Ä‚µ‚Ü‚¢ +Yare-launcher‚ªlogin-server.exe‘±‚¯‚ÄŽÀs‚·‚é–â‘肪‚ ‚è‚Ü‚·B‚±‚ê‚Íathena‚Ì +–â‘è‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) + comm/makefileˆÈŠO‚Ìmakefile‘S‚Ä‚ðC³B + athena.shC³B + ŽÀsƒtƒ@ƒCƒ‹‚Í.,/athena ƒtƒHƒ‹ƒ_[‚¶‚á‚È‚­./ ƒtƒHƒ‹ƒ_[‚Éì‚ç‚ê‚Ü‚·B +E V‹Kaccount‚Ì‹–—e‚·‚é‚©‚Ç‚¤‚©‚ðlogin_athena.cnf‚ÅŒˆ‚ß‚é‚悤‚É•ÏXB(‚±‚ê‚Í + YareCVS‚ðŽQl‚µ‚½•¨‚Å‚·B) + login.c + int mmo_auth() C³B + login_athena.cnf + new_account ’ljÁB +Echar.cAlogin.cAinter.cAmap.cAbattle.c‚ňꕔ‚Ìstrcmp‚ðstrcmpi‚É•ÏXB + +-------------- +//355 by ‚䂤 + +E¶Žè‘•”õ‚àl—¶‚µ‚½“ñ“—¬‚ÉC³ +@iƒ_ƒ[ƒWŒvŽZ‚Ì‚Ý‚ÅŒ©‚½–Ú“™‚Í•ÏX‚È‚µj + +map.h + map_session_data‚ɶŽè—p‚Ì•Ï”‚ð’ljÁ + +battle.h + battle_get_attack_element2()’ljÁ + +battle.c + battle_get_attack_element2()’ljÁ + battle_calc_weapon_attack()‚É + @“ñ“—¬‚̈—‚ð’ljÁC³ + @ƒNƒŠƒeƒBƒJƒ‹‚æ‚èƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ðæ‚É”»’è‚·‚é‚悤‚ÉC³ + @‰ß踘B‚̒ljÁƒ_ƒ[ƒW‚ð¸˜Bƒ_ƒ[ƒW‚ÌŽŸ‚Ɉ—‚·‚é‚悤‚ÉC³ + @i‚±‚ê‚ç‚Í“ÆŽ©‚É’²‚ׂ½‚à‚Ì‚ÅŠÔˆá‚Á‚Ä‚¢‚é‰Â”\«‚ ‚èj + +pc.c + pc_calcstatus()‚ɶŽè—p‚Ì•Ï”‚É’l‚ð“ü‚ê‚鈗‚ð’ljÁ + pc_equipitem()‚Ì“ñ“—¬‘•”õ‚Ìꊂª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðC³ + +-------------- +//353 by ‚¢‚Ç + +EYare-launcher‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚é‚悤‚ÉMakefile‚Æathena.sh‚ð•ÏX + +-------------- +//352 by ŒÓ’±—– + +E‰r¥’†‚ɃNƒ‰ƒCƒAƒ“ƒg‚ðI—¹‚·‚é‚ÆmapŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ + skill.c + skill_castend_id(),skill_castend_pos(),skill_castend_map()C³ + map.c + map_quit()C³ + + +Eƒf[ƒ^ƒoƒbƒNƒAƒbƒv—p‚̃c[ƒ‹“Y•t + Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B + Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚­‚¾‚³‚¢B + Žg‚¢•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B + ƒf[ƒ^‚ªÁ‚¦‚Ä‚àÓ”C‚ÍŽ‚¿‚Ü‚¹‚ñ + + (tool/) + backup + ƒf[ƒ^ƒoƒbƒNƒAƒbƒv—pPerlƒXƒNƒŠƒvƒg + +-------------- +//0351 by Ž€_ +skill.c + skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒXƒ^[‚̈—‚ð•ÏXB(UŒ‚ó‘ԈȊO‚Ìê‡ + ‰r¥”½‰ž‚ðÅ—Dæ‚É‚µ‚Ü‚·B) +mob.c + mob_ai_sub_hard_castsearch() ‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ð“ñdˆ—‚µ‚Ä + ‚¢‚½‚Ì‚ÅíœB + mob_ai_sub_hard() ‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ð“ñdˆ—‚µ‚È‚¢‚悤‚É•ÏXB +pet.c - 0344‚É–ß‚µ‚Ü‚µ‚½B(C³‚Í­‚µ•ªÍ‚ð‚µ‚Ä‚©‚ç‚É‚µ‚Ü‚·B) +pet.h - 0344‚É–ß‚µ‚Ü‚µ‚½B +char.h + CHAR_CONF_NAME ’ljÁB +char.c + do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆCHAR_CONF_NAME‚ð + Žg‚¤‚悤‚É•ÏXB +map.h + MAP_CONF_NAME ’ljÁB +map.c + do_init() ŽÀs‚·‚鎞ƒtƒ@ƒCƒ‹–¼‚ª“ü—Í‚³‚ê‚Ä‚¢‚È‚¢‚ÆMAP_CONF_NAME‚ð + Žg‚¤‚悤‚É•ÏXB +‚±‚ê‚Ålogin.exeAchar.exeAmap.exe‚ðathenaƒtƒHƒ‹ƒ_[‚ɃRƒs[‚µ‚½Œã–¼‘O‚ð +login-server.exeAchar-server.exeAmap-server.exe‚É•ÏX‚·‚é‚ÆYare-launcher‚ðŽg‚¤ +‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚±‚ê‚ðŽg‚¤‚ÆŽI‚ª—Ž‚¿‚é“x‚ÉŽ©“®“I‚ÉÄŽÀs‚µ‚Ä‚­‚ê‚Ü‚·B + +-------------- +//0345 by Ž€_ +EƒLƒƒƒXƒeƒBƒ“ƒO’T’mŽÀ‘•B + mob.c + mob_ai_sub_hard_lootsearch() C³B + mob_ai_sub_hard() C³B + mob_ai_sub_hard_castsearch() ’ljÁB + mob_target(), mob_ai_sub_hard_activesearch() ƒ{ƒXƒ‚ƒ“ƒXƒ^[‚ð + mvpŒoŒ±’l‚É‚æ‚Á‚Ä”FŽ¯‚·‚é‚悤‚É•ÏXB + mob_ai_sub_hard_linksearch() C³B + mob_attack() Ž€‚ñ‚¾‚Ó‚èAƒnƒCƒfƒBƒ“ƒO‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É•ÏXB + mob_readdb() C³B +Epet.h + MAX_PET_DB‚ð100‚É•ÏXB +Epet.c + read_petdb() C³B + +-------------- +//0344 by@‰ß‹Ž‚Ìli1 +E@ƒyƒbƒg• Œ¸‚èŽÀ‘•‚¨‚æ‚Ñ‚»‚Ì‚Ù‚©FXC³ +E@ƒyƒbƒg‰a‚â‚èŽÀ‘• + + pet.c + pet_calcrate(struct map_session_data *sd); + ƒyƒbƒg‚ÌŠl“¾Šm—¦ŒvŽZ + pet_food(struct map_session_data *sd); + ƒyƒbƒg‰a‚â‚èƒVƒXƒeƒ€ + pet_hungry_change( int tid, unsigned int tick, int id,int data ); + ƒyƒbƒg‚ª• ‚ðŒ¸‚éƒƒWƒbƒN + pet_status_int(struct map_session_data *sd); + e–§“xŒvŽZ + pet_status_hungry(struct map_session_data *sd); + –ž• “xŒvŽZ + pet_status_1a3(struct map_session_data *sd); + ƒpƒPƒbƒg1a3Ý’èŠÖ” + pet_initstate(struct map_session_data *sd); + ƒyƒbƒg‚ª‰‚߂Ķ‚܂ꂽ‚Æ‚«‚̉ŠúƒXƒe[ƒ^ƒXÝ’è + pet.h + int pet_calcrate(struct map_session_data *sd); + int pet_food(struct map_session_data *sd); + int pet_hungry_change( int tid, unsigned int tick, int id,int data ); + int pet_status_int(struct map_session_data *sd); + int pet_status_hungry(struct map_session_data *sd); + int pet_status_1a3(struct map_session_data *sd); + int pet_initstate(struct map_session_data *sd); + ‚ð’ljÁ + clif.c + clif_pet_emotion(int fd,struct map_session_data *sd) + ‰a‚ð‚ ‚°‚½‚Æ‚«‚ɃGƒ‚[ƒVƒ‡ƒ“‚ðs‚¤ + clif.h + clif_pet_emotion(int fd,struct map_session_data *sd); + +-------------- +//0341 by Ž€_ +Eƒ‹[ƒgƒ‚ƒ“ƒXƒ^[ŽÀ‘•B + map.h + LOOTITEM_SIZE‚ð20‚ÉC³B + struct mob_data‚Éint lootitem_count ’ljÁB + mob.c + mob_spawn() ­‚µC³B + mob_ai_sub_hard_lootsearch() ’ljÁB + mob_ai_sub_hard() C³B + struct delay_item_drop2 ’ljÁB + mob_delay_item_drop2() ’ljÁB + mob_damage() C³B + battle.h + struct Battle_Config‚Éint monster_loot_type ’ljÁB + battle.c + battle_config_read() C³B + battle_athena.cnf + monster_loot_type: 0 ’ljÁB(Šî–{“I‚É0‚É‚È‚Á‚Ä‚¢‚Ü‚·B + 0‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂĂà + ‚Ü‚½ƒAƒCƒeƒ€‚ðH‚ׂđO‚̃AƒCƒeƒ€‚ªÁ‚¦‚éŽd—l‚Å‚·B + 1‚ÌꇂÍLOOTITEM_SIZE‚܂ŃAƒCƒeƒ€‚ðH‚ׂé‚Æ + ‚à‚¤ƒAƒCƒeƒ€‚ðH‚ׂȂ­‚È‚è‚Ü‚·B + +-------------- +//0340 by Ž€_ +EmvpƒoƒOC³B + mob.c + mob_damage()‚Åj‚É•Ï‚¦‚½‚Í‚¸‚Ì•¨‚ÉŒ©—Ž‚Æ‚µ‚ ‚è‚Ü‚µ‚½‚Ì‚Å + C³‚µ‚Ü‚µ‚½B‚±‚ê‚ÅmvpƒAƒCƒeƒ€‚Å•Ï‚È•¨‚ªo‚È‚­‚È‚é‚Í‚¸‚Å‚·B +Eclass_equip_db.txt + EUC-JIS‚ðS-JIS‚É•ÏXB(ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ª‘¼‚̃tƒ@ƒCƒ‹‚Í + ‘S•”S-JIS‚¾‚Á‚½‚Ì‚Å...’P‚È‚éƒ~ƒX‚Å‚·‚ª...) + +---------- +//339 by ‚¢‚Ç + +E338‚ð“K—p‚µ‚½ó‘ԂŃrƒ‹ƒhƒGƒ‰[‚ª”­¶‚·‚é•s‹ï‡‚ðC³ + +---------- +//338 by ‰ß‹Ž‚Ìli1 + +E@pet_db.txt‚ɑΉž‚µ‚Ü‚µ‚½B +E@pet_db‚ð‚‚©‚Á‚½ƒvƒƒOƒ‰ƒ€‚Ì‘‚«•û‚ÉC³‚µ‚Ü‚µ‚½B +E@ƒyƒbƒg‚Ì–¼‘O‚ð•ÏX‚·‚鎖‚ªo—ˆ‚Ü‚· +E@ƒyƒbƒg‚ɃAƒNƒZƒTƒŠ[‚ð‚‚¯‚鎖‚ªo—ˆ‚Ü‚·B +E@Œ»Ýƒyƒbƒg‰a‚â‚èis’† + + (map/) + clif.c/clif.h + E petŠÖ˜A‚ÌŠÖ”‚ð‚Ù‚ÚC³‹y‚ђljÁ‚¢‚½‚µ‚Ü‚µ‚½B + E clif_parse_EquipItem()“à•”‚Ńyƒbƒg—p‘•”õ‚Å‚ ‚é‚©‚Ç‚¤‚©‚Ì”»’è‚ðs‚Á‚Ä‚Ü‚· + E clif_parse()‚ðC³‚µ‚Ü‚µ‚½B + + battle.h/battle.c + E@battle_config.pet_rate•Ï”‚ð‘‚₵‚Ü‚µ‚½Bmob‚ɑ΂·‚é—‘‚ÌŠl“¾—¦ + @@‚ðÝ’è‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚· + + pet.c/pet.h + E pet_initstate(struct map_session_data *sd); + @‰Šú‚̃yƒbƒgƒXƒe[ƒ^ƒX‚ðÝ’è‚·‚éŠÖ”‚Å‚· + E pet_npcid(struct map_session_data *sd,int egg_name_id); + @ƒyƒbƒg‚ÉŠ„‚è“–‚Ä‚ç‚ꂽnpc_id‚ð•Ô‚µ‚Ü‚· + E pet_itemid(struct map_session_data *sd,int mob_id); + @ƒ‚ƒ“ƒXƒ^[ID‚©‚ç—‘‚ÌID‚ðŠ„‚èo‚µ‚Ü‚· + E pet_equip(struct map_session_data *sd,int equip_id); + @ƒyƒbƒg‚̃AƒNƒZƒTƒŠ[‘•”õ‚Å‚· + E pet_unequip(struct map_session_data *sd); + @ƒyƒbƒg‚̃AƒNƒZƒTƒŠ[‰ðœ‚Å‚· + E pet_calcrate(struct map_session_data *sd); + @—‘Šl“¾Šm—¦ŒvŽZ‚ðs‚¢1or0‚ð•Ô‚µ‚Ü‚·B + E pet_food(struct map_session_data *sd); + @ƒyƒbƒg‰a‚â‚èlˆÄ‚Å‚·B‚Ü‚¾³í‚É“®ì‚µ‚Ü‚¹‚ñB + E read_petdb() + @pet_db.txt‚ð“Ç‚Ýž‚Ýpet_db[]‚É’l‚ð“ü‚ê‚éŠÖ”‚Å‚· + + E do_init_pet() + @mapŽI‰Šú‰»‚Å‚æ‚Ñ‚¾‚µpet_db[]‚ðŽg‚¦‚é‚悤‚É‚·‚éˆ×‚Ì + ƒyƒbƒgî•ñ‰Šú‰»ŠÖ”‚Å‚·B + + map.c/map.h + E@BL_PET•Ï”‚ð‰Á‚¦‚Ü‚µ‚½ + E@mapŽI‰Šú‰»‚ÌŽž‚Édo_init_pet()‚ðŒÄ‚Ño‚µ‚Ü‚·B + + mmo.h + E@s_pet\‘¢‘Ì‚É•Ï”’ljÁBƒLƒƒƒ‰ƒNƒ^[‚ªƒyƒbƒg‚̃f[ƒ^‚ð•ÛŽ‚·‚éˆ×‚̃VƒXƒeƒ€ + @‚̈סŒã‚à•Ï”‚Í‚»‚̂‚Ǒ‰Á‚·‚é—\’è + + npc.c + ‰ü‘P‚µ‚Ü‚µ‚½B + + (conf/) + battle_athena.cnf‚É—‘‚ÌŠl“¾Šm—¦pet_rate‚ð‰Á‚¦‚Ü‚µ‚½B + +---------- +//337 by ŒÓ’±—– + +EƒMƒ‹ƒh‚̒ljÁ‚ÆC³ + EƒMƒ‹ƒh‚ÉŒoŒ±’l‚ðã”[‚·‚é‚ÆAã”[‚³‚ê‚éEXP‚ªˆÙí‚È’l‚É‚È‚éƒoƒOC³ + EƒMƒ‹ƒh‚Ì“G‘Ί֌W‚̒ljÁ + + guild.c/guild.h + guild_payexp()‚ÌC³(ã”[EXPˆ—) + guild_opposition()’ljÁ + guild_allianceack(),guild_reqalliance(), + guild_reply_reqalliance()‚ÌC³ + clif.c/clif.h + clif_guild_oppositionack(),clif_parse_GuildOpposition’ljÁ + +EƒfƒBƒŒƒCŽžŠÔ‚ªdex‚̉e‹¿‚ðŽó‚¯‚é‚©‚Ç‚¤‚©‚ðbattle_athena.cnf‚É‘‚¯‚é‚悤‚É + + (conf/) + battle_athena.conf + delay_dependon_dex ‚ð’ljÁ + (map/) + skill.c + skill_delay_fix()‚ÌC³ + battle.c/battle.h + struct Battle_Config‚Édelay_dependon_dex’ljÁ + battle_config_read()‚ÌC³(“Ç‚Ýž‚݈—‚à•Ï‚¦‚Ä‚Ü‚·) + +-------------- +//0336 by Ž€_ +EƒXƒLƒ‹ƒCƒ“ƒfƒ…ƒA‚ð­‚µC³B +Eclif.c + clif_skill_damage()Aclif_skill_damage2() ƒCƒ“ƒfƒ…ƒA‡‚킹‚ÄC³B + (‚½‚¾ƒXƒLƒ‹‚â–‚–@‚É‚È‚é‚ƃ‚[ƒVƒ‡ƒ“‚ªo‚È‚¢ƒpƒPƒbƒg‚ð + Œ©‚‚¯‚È‚©‚Á‚½‚Ì‚ÅŠ®‘S‚¶‚á‚ ‚è‚Ü‚¹‚ñB) + clif_parse_ActionRequest()Aclif_parse_UseSkillToId()Aclif_parse_UseSkillToPos() + ƒXƒLƒ‹ƒfƒBƒŒƒC‚ÌŽž‚ɃƒbƒZ[ƒW‚ªo‚é‚悤‚ÉC³B +EƒoƒbƒNƒXƒeƒbƒvŽÀ‘•AƒIƒŠƒfƒIƒRƒ“Œ¤‹†ŽÀ‘•B +Eskill.c + skill_castend_damage_id()‚É‚ ‚Á‚½ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚̈—‚ð + skill_castend_nodamage_id()‚Ɉړ®‚µ‚Ü‚µ‚½B + ƒXƒLƒ‹ƒoƒbƒNƒXƒeƒbƒv‚̈—‚Åclif_skill_damage2()‚ðŒÄ‚Ô‚Ì‚ðclif_fixpos()‚ð + ŒÄ‚Ԃ悤‚É•ÏXB(‚±‚ê‚Ń_ƒ[ƒW‚̃‚[ƒVƒ‡ƒ“‚ªo‚¸‚É + ˆÚ“®‚Å‚«‚Ü‚·B) + ƒoƒbƒNƒXƒeƒbƒv‚Æ‹©‚Ԃ悤‚É•ÏXB + skill_produce_mix() ƒIƒŠƒfƒIƒRƒ“Œ¤‹†“K—pB•ŠíƒŒƒxƒ‹‚ª3ˆÈã‚ÌŽž‚É + ƒXƒLƒ‹ƒŒƒxƒ‹*1%‚ªƒ{[ƒiƒX‚Æ‚µ‚Ä»‘¢Šm—¦‚É•t‚«‚Ü‚·B + ƒGƒ‹ƒjƒEƒ€‚ÌŠm—¦”»’è’ljÁB +Eskill_db.txt - ƒoƒbƒNƒXƒeƒbƒv‚Ìnk‚ð0‚©‚ç1‚É•ÏXB(ƒXƒLƒ‹”Ô†150‚Ì•¨‚Å‚·B) +Eproduce_db.txt ƒIƒŠƒfƒIƒRƒ“,ƒGƒ‹ƒjƒEƒ€‚ð’ljÁB(‚±‚ê‚Í–{ŽI‚É‚Í‚È‚¢•¨‚Å‚·B + ‚æ‚Á‚ăNƒ‰ƒCƒAƒ“ƒg‚É‚Í•K—v‚ȃAƒCƒeƒ€‚ª•\Ž¦‚³‚ê‚Ü‚¹‚ñB) + ƒIƒŠƒfƒIƒRƒ“Œ¤‹†‚ð­‚µŽg‚¦‚镨‚É‚·‚邽‚߂ɒljÁ‚µ‚Ü‚µ‚½B + ƒIƒŠƒfƒIƒRƒ“‚Ìꇂ̓IƒŠƒfƒIƒRƒ“Œ´Î3‚‚ÆÎ’Y1‚‚ª•K—v‚Å + ƒGƒ‹ƒjƒEƒ€‚̓Gƒ‹ƒjƒEƒ€Œ´Î3‚‚ÆÎ’Y1‚‚ª•K—v‚Å‚·B +Epc.c ­‚µC³B + pc_heal()pc_percentheal() ­‚µ‚¾‚¯C³B + pc_gainexp() ƒMƒ‹ƒh‚Éexp‚ðã”[‚·‚鎞‚Éexp‚ªƒ}ƒCƒiƒX‚É‚È‚ç‚È‚¢‚悤‚É + C³B“¯Žž‚É2‚ˆÈã‚̃Œƒxƒ‹‚ªã‚ª‚é‚悤‚É•ÏXB + ő僌ƒxƒ‹ˆÈã‚ɃŒƒxƒ‹‚ªã‚ª‚ç‚È‚¢‚悤‚ÉC³B + pc_checkbaselevelup()Apc_checkjoblevelup() ’ljÁBƒŒƒxƒ‹ƒAƒbƒv‚ð + ƒ`ƒFƒbƒN‚µ‚Ü‚·B + pc_itemheal() ’ljÁBƒAƒCƒeƒ€‚ðŽg‚¤Žž‚ÉVIT‚ƃXƒLƒ‹‚É‚æ‚Á‚ă{[ƒiƒX‚ª + •t‚­•¨‚Å‚·BƒXƒLƒ‹ƒ‰[ƒjƒ“ƒOƒ|[ƒVƒ‡ƒ“ŽÀ‘•B +Epc.h + pc_checkbaselevelup(),pc_checkjoblevelup() ’ljÁB + pc_itemheal() ’ljÁB +Escript.c - ƒXƒNƒŠƒvƒgfixheal‚𜋎Bitemheal‚ð’ljÁBheal‚ªfixheal‚Ì‹@”\‚ð‚·‚é + ‚悤‚É•ÏXB + buildin_fixheal() ‚ðÁ‚µbuildin_heal()‚ðŒ³‚Ì•¨‚É–ß‚µ‚Ü‚µ‚½B(‚‚܂è + buildin_heal()‚ªbuildin_fixheal()‚É‚È‚è‚Ü‚µ‚½B) + buildin_itemheal() ’ljÁBƒAƒCƒeƒ€‚É‚æ‚é‰ñ•œ‚Í‚±‚ê‚ðŒÄ‚Ԃ悤‚É‚µ‚Ä + ‚­‚¾‚³‚¢B + buildin_heal()‚©‚çƒ{[ƒiƒX‚ÌŒvŽZ‚𜋎B +Eitem_db.txtA item_db2.txt - heal‚ðitemheal‚É•ÏXB +Emob.c + mob_damage() 0335‚Åmvp‚É­‚µŠÔˆá‚¢‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚ÅC³‚µ‚Ü‚µ‚½B +Eskill.h + MAX_SKILL_PRODUCE_DB‚ð64‚©‚ç100‚É•ÏXB + + +//0335 by Ž€_ +Echar/char2.c‚̈ꕔ‚ÉRETCODE‚ª“K—p‚³‚ê‚Ä‚È‚©‚Á‚½‚Ì‚Å‚»‚ê‚ðC³B +Echar/char2.c‚Ìparse_char()‚ŃLƒƒƒ‰‚ðÁ‚·Žž‚É–â‘肪‚ ‚è‚»‚¤‚ÈŠ‚ðC³B +Echar/cha2.c,login/ login2.c‚ðchar/cha.c, login/login.c‚É•ÏXB +Echar/makefile,login/makefile‚ð•ÏXB +Emakefile‚Æcommon/mmo.h‚ð•ÏX‚µ‚ÄOS‚ðŽ©“®”FŽ¯‚µ‚ÄRETCODE‚ðŽ©“®‚É + “K—p‚·‚é‚悤‚É•ÏXB +Ecommon/grfio.c‚Ìgrfio_init()‚ðC³B(ƒR[ƒh‚ð‚¿‚å‚Á‚Æ‚«‚ê‚¢(H)‚É + ‚µ‚½‚¾‚¯‚Å‚·‚ª,,,) +EƒCƒ“ƒfƒ…ƒAŽÀ‘•B‚æ‚Á‚ăAƒ“ƒeƒBƒyƒCƒ“ƒƒ“ƒg‚àŽÀ‘•B +Emap/clif.c + clif_parse_LoadEndAck() ŠØ‘ƒNƒ‰ƒCƒAƒ“ƒg‚̃pƒbƒ`‚ɇ‚킹‚Ä­‚µ•ÏXB + (ƒ}ƒbƒv‚ª•Ï‚í‚é“x‚É•Ší‚ƃV[ƒ‹ƒh‚ªŒ©‚¦‚È‚­‚Ȃ邽‚ß‚Å‚·B‚Ü‚¾ + “ú–{ƒNƒ‰‚Æ‚ÍŠÖŒW‚ ‚è‚Ü‚¹‚ñ‚ª...) + clif_skillinfoblock() up‚Í‚¢‚ç‚È‚¢‚ÆŽv‚¤‚Ì‚ÅÁ‚µ‚Ü‚µ‚½BƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ª + 256A512“™‚ÌŽžƒXƒLƒ‹ƒcƒŠ[‚ª³‚µ‚­•\Ž¦‚³‚ê‚È‚¢‚±‚Æ‚Í + ‚à‚¤‚ ‚è‚Ü‚¹‚ñB + clif_guild_skillinfo() “¯‚¶‚悤‚Éup‚ðÁ‚µ‚Ü‚µ‚½B + clif_birthpet() pc_delitem() ŒÄ‚Ԃ悤‚É•ÏXB + clif_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚é‚悤‚É•ÏXB +Emap/pc.c + pc_percentheal() ƒ}ƒCƒiƒX‚ð“ü‚ê‚Ä‚à“®‚­‚悤‚É•ÏXB­‚µC³B + pc_heal() ­‚µC³B + natual_heal() ­‚µC³B + do_init_pc() natual_heal‚ÌC³‚ɇ‚킹‚Ä•ÏXB + pc_calcstatus() ‹|‚ð‘•”õ‚µ‚Ä‚È‚¢‚ƃƒV‚Ì–Ú‚ª“K—p‚³‚ê‚È‚¢‚悤‚É•ÏXB + ƒgƒ‰ƒXƒgŽÀ‘•B + pc_damage() ƒCƒ“ƒfƒ…ƒA‚ɑΉž‚·‚é‚悤‚É•ÏXB +Emap/pc.h + pc_checkoverhp(), pc_checkoversp()‚ð’ljÁB +Emap/map.h + MAX_PC_CLASS‚ð+1‚ÉB +Emap/atcomand.c + comand‚ðcommand‚É•ÏXB + strncmp‚ðstrcmpi‚É•ÏXB‚æ‚Á‚ăRƒ}ƒ“ƒh‚ª‘啶ŽšA¬•¶Žš‚ð‹æ•Ê‚·‚é + •K—v‚ª‚È‚­‚È‚è‚Ü‚µ‚½B +Emap/npc.h + npc_parse_mob()‚ð’ljÁB(ˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñ‚ª...) +Emap/temdb.c + itemdb_readdb()‚Åclass_equip_db.txt‚ð“ǂނ悤‚É•ÏXB +Edb/class_equip_db.txt ‚ð’ljÁB‚±‚±‚Å‘•”õ‚·‚éƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B‚È‚¢ê‡‚Í + item_db.txt‚É‚ ‚éjob‚ðŽg‚¢‚Ü‚·BŠÜ‚Ü‚ê‚Ă镨‚ÍŠ®‘S‚È•¨‚Å‚Í‚È‚­ + Žg—p—á’ö‚Ì•¨‚Å‚·B +Emap/skill.c - skill_status_change_start() ƒCƒ“ƒfƒ…ƒA‚ÌŽžŠÔ‚𳂵‚­•ÏXB +Emap/battle.h + battle_config‚Ìexp_rate‚ðbase_exp_rate‚É•ÏXB,job_exp_rate‚ð’ljÁB + battle_get_mexp()‚ð’ljÁB +Emap/battle.c + battle_config‚Ìexp_rate‚ðbase_exp_rate‚É•ÏXB,job_exp_rate‚ð’ljÁB + battle_get_mexp()‚ð’ljÁB + battle_calc_magic_attack()‚ð•ÏXBƒ_[ƒ“ƒAƒ“ƒfƒbƒh‚Ń{ƒX‚Ì”FŽ¯‚ðmvp + exp‚Å‚·‚é‚悤‚É•ÏXB +Emap/mob.c + mob_readdb() base_exp_rate,job_exp_rate‚ɑΉžB + mob_readdb() ƒ{ƒX‚Ì”FŽ¯‚ðmvpŒoŒ±’l‚Å‚·‚é‚悤‚É•ÏXB + mob_damage() mvp‚ðŽæ‚鎞‚̈—‚ð•ÏXBd‚³‚ª50%‚ð‰z‚¦‚é‚Æ°‚É + —Ž‚¿‚é‚悤‚É•ÏX‚ÆFXB +Econf/battle_athena.cnf + base_exp_rateA,job_exp_rate‚ð’ljÁB +E0308‚Å–Y‚ꂽ•¨ + ŒÃ‚­Â‚¢” AŒÃ‚¢ƒJ[ƒh’ŸAŒÃ‚¢Ž‡F‚Ì” ‚ÌŽg—p‚Å“¾‚ç‚ꂽƒAƒCƒeƒ€‚ð + Ž‚Á‚Ä‚È‚­‚È‚Á‚½‚çƒAƒCƒeƒ€‚ð°‚É—Ž‚Æ‚·‚悤‚É•ÏXB + »‘¢‚Í‚·‚Å‚É0302‚Å“K—pB + +---------- +//334 by C}{RIS + +E‚ ‚Ղ낾‚Ì332.txt‚ðpet_db.txt‚Æ‚µ‚Ä“¯«B + +EŠeŽíƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃~ƒX‚ðC³ + Eattr_fix.txt@‘®«C³‚ªƒ}ƒCƒiƒX‚É“­‚¢‚Ä“G‚ª‰ñ•œ‚·‚é–â‘è‚ðC³B + „Œ³‚̉ñ•œŽd—l‚É–ß‚µ‚½‚¢ê‡attr_fix.txt‚ðƒŠƒl[ƒ€‚µAattr_fix_old.txt‚ðattr_fix.txt‚ɃŠƒl[ƒ€‚µ‚ĉº‚³‚¢B + Emob_db.txt@ƒ‚ƒ“ƒXƒ^[‚Ì“ú–{Œê–¼‚ð–{ŽI‚Æ“ˆêB + Ecast_db.txt@‰r¥ŽžŠÔAƒfƒBƒŒƒC‚ð–{ŽI‚Æ“ˆêB + +---------- +//333 by ŒÓ’±—– + +EƒMƒ‹ƒh‹@”\’ljÁ + EƒMƒ‹ƒh‚Ì“¯–¿‚Æ“¯–¿‰ðÁ + + (char/) + inter.c/int_guild.c + ƒpƒPƒbƒg’·/ƒMƒ‹ƒhˆ—’ljÁ + (map/) + clif.c/clif.h + clif_guild_reqalliance,clif_guild_allianceack, + clif_guild_delalliance,clif_parse_GuildRequestAlliance, + lif_parse_GuildReplyAlliance,clif_parse_GuildDelAlliance’ljÁ + iƒMƒ‹ƒh“¯–¿ŠÖŒW‚̃pƒPƒbƒgˆ—j + intif.c/intif.h + ƒMƒ‹ƒh“¯–¿ŠÖŒW‚̃pƒPƒbƒgˆ—’ljÁ + guild.c/guild.h + ƒMƒ‹ƒh“¯–¿ŠÖŒW‚̈—’ljÁ + map.h + struct map_session_data‚Éguild_alliance,guild_alliance_account’ljÁ + +EƒMƒ‹ƒhƒGƒ“ƒuƒŒƒ€‚Ì•ÏX‚ªƒ}ƒbƒvŽI‚ðÄ‹N“®‚µ‚È‚¢‚Æ—LŒø‚É‚È‚ç‚È‚¢ƒoƒOC³ + + guild.c/guild.h + guild_emblem_changed‚ÌC³ + +---------- +//331 by ‰ß‹Ž‚Ìli1 + +EƒyƒbƒgƒVƒXƒeƒ€C³(Š®¬“x25%) + + EŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ð‚»‚ê‚¼‚ê‘Ήž‚·‚é“G‚ɑ΂µ‚ÄŽg—p‚·‚邱‚Æ‚Å + @³‚µ‚­—‘‚ªŽè‚É“ü‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + EŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ð‘Ήž‚µ‚È‚¢“G‚ÉŽg—p‚µ‚½ê‡‚̓‹[ƒŒƒbƒg‚ª•K‚¸Ž¸”s‚µ‚Ü‚·B + Eƒyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + Eƒyƒbƒg‚ð‰EƒNƒŠƒbƒN‚·‚é‚ƃƒjƒ…[‚ªo‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + E‘¼FXŠëŒ¯‚È—v‘f‚ðC³‚µ‚Ü‚µ‚½B(ƒAƒCƒeƒ€‚Ì”‚ÌŒ¸­“™‚̃oƒO‚𒼂µ‚Ü‚µ‚½) + + (db/) + item_db.txt + ŠeŽí•ßŠl—pƒAƒCƒeƒ€‚ɑΉž‚·‚é‚悤petƒRƒ}ƒ“ƒh‚𳂵‚­‘‚«‚Ü‚µ‚½B + + (common/) + mmo.h + s_pet ƒyƒbƒg\‘¢‘Ì‚Épet_item_id‚ð’ljÁ + + (map/) + clif.c + clif_birthpet()‚ðC³B³‚µ‚­—‘‚ªŒ¸‚éA³‚µ‚¢—‘‚ÌID‚ðŽæ“¾‚·‚é‚悤C³ + ‚±‚ê‚É‚æ‚Á‚ÄA³‚µ‚­npc_petŠÖ”‚ª“®‚«‚Ü‚·B + + clif_spawnnpc()‚ðC³iWBUFPOS(buf,36,nd->bl.x,nd->bl.y)‚ÆA”’l‚ð26‚©‚ç36‚Ö•ÏX‚µ‚Ü‚µ‚½) + ‚±‚ê‚É‚æ‚Á‚ăyƒbƒg‚ªuŽž‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + + npc.c + npc_pet()‚ðC³B + + pet.c/pet.h + ƒyƒbƒgŠÖ˜A‚Ìׂ©‚ÈŠÖ”‚ð‚±‚¿‚ç‚É‚Ü‚Æ‚ß‚éˆ×A’ljÁ‚µ‚Ü‚µ‚½B + Œ»Ý‚̓yƒbƒg‚Ì”»’èŠÖŒW‚ð‚Ü‚Æ‚ß‚Ä‚ ‚è‚Ü‚·B + + script.c + “Á‚É‘å‚«‚ÈC³‚Í‚ ‚è‚Ü‚¹‚ñB +---------- +//330 by ‰ß‹Ž‚Ìli1 + +EƒyƒbƒgƒVƒXƒeƒ€“±“ü(Š®¬“x‚Q‚O“) + E“G‚ɑ΂µ‚ĕߊl—pƒAƒCƒeƒ€‚ðŽg—p‚·‚鎖‚ª‰Â”\‚Æ‚È‚è‚Ü‚µ‚½B + @(‚Ü‚¾n‚µ‚Ä‚¢‚È‚¢ƒŠƒ“ƒS‚Ì‚ÝŽg—p‰Â”\A“G‚ɂ‚©‚Á‚Ä‚àƒ|ƒŠƒ“‚Ì—‘‚ªŽè‚É“ü‚è‚Ü‚·B) + EŠeŽí—‘‚ɑ΂µ‚ăyƒbƒg‚ð•\Ž¦‚·‚鎖‚ª‚Å‚«‚Ü‚·A‚½‚¾‚µ‚È‚º‚©ˆê“x‰æ–ÊŠO‚É + @‚Å‚È‚¢‚ƃyƒbƒg‚ª•\Ž¦‚³‚ê‚Ü‚¹‚ñB + @(‹°‚ç‚­ƒyƒbƒg•\Ž¦‚ÌÛ‚És‚Á‚Ä‚¢‚éNPCƒXƒe[ƒ^ƒX‚ª³‚µ‚­“ü‚Á‚Ä‚¢‚È‚¢) + E•\Ž¦‚³‚ꂽƒyƒbƒg‚ªƒpƒtƒH[ƒ}ƒ“ƒX‚ðs‚¢‚Ü‚·B + + (db/) + item_db.txt + Œg‘Ñ—‘›z‰»‹@‚ðŽg—p‰Â”\‚É bpetƒRƒ}ƒ“ƒh(Œg‘Ñ—‘›z‰»‹@Žg—p) + u‚Ü‚¾n‚µ‚Ä‚È‚¢ƒŠƒ“ƒSv‚ðŽg—p‰Â”\‚É petƒRƒ}ƒ“ƒh(‚ ‚émob‚ɑ΂µ‚ÄŽg—p‰Â”\‚É‚·‚é) + (common/) + mmo.h + s_pet@ƒyƒbƒg\‘¢‘̒ljÁ + mmo_charstatus@ƒyƒbƒg\‘¢‘Ì錾•Ï”’ljÁ(pet) + (map/) + clif.c/clif.h + + int clif_catchpet(struct map_session_data *sd,int pet_id); + void clif_ruletpet(int fd,struct map_session_data *sd); + int clif_judgepet(struct map_session_data *sd,int target_id); + int clif_sendegg(struct map_session_data *sd); + void clif_listpet(int fd,struct map_session_data *sd); + int clif_birthpet(struct map_session_data *sd,int pet_id); + void clif_menupet(int fd,struct map_session_data *sd); + + ˆÈã‚ÌŠÖ”‚ð’ljÁ‚µƒyƒbƒg‚ÉŠÖ‚·‚鈗‚ðs‚Á‚Ä‚¨‚è‚Ü‚·B + (ƒ‹[ƒŒƒbƒgA—‘‘I‘ð‘‹AƒpƒtƒH[ƒ}ƒ“ƒXA‚»‚Ì‚Ù‚©FX) + + npc.c/npc.h + int npc_pet(struct map_session_data *sd,int name_id); + ƒyƒbƒg•\Ž¦‚ׂ̈̊֔‚ð’ljÁ + (‚±‚ÌŠÖ”“à•”‚Ńyƒbƒg‚Ì•\Ž¦ˆ—‚ðs‚Á‚Ä‚¢‚Ü‚·B“KØ‚ÉC³‚µ‚Ä‚­‚¾‚³‚¢) + + script.c + int buildin_catchpet(struct script_state *st); + int buildin_birthpet(struct script_state *st); + ‚ð’ljÁ‚µ‚Ü‚µ‚½BƒXƒNƒŠƒvƒg‚Épet,bpet‚ð’ljÁ‚µ‚Ü‚µ‚½B +---------- +//329 by ŒÓ’±—– + +EƒMƒ‹ƒh‹@”\’ljÁ + EƒMƒ‹ƒh‚Ö‚ÌEXP‚Ìã”[ + EƒMƒ‹ƒhƒŒƒxƒ‹ƒAƒbƒv + EƒMƒ‹ƒhƒXƒLƒ‹‚ÌŠ„‚èU‚è + + (db/) + exp_guild.txt + ƒMƒ‹ƒhƒŒƒxƒ‹‚ÌŒoŒ±’lƒf[ƒ^ƒx[ƒX + (common/) + mmo.h + GBI_*,GMI_*‚Ì’è‹`‚̒ljÁ‚È‚Ç + (char/) + int_guild.c + EXP‚⃌ƒxƒ‹ƒAƒbƒvAƒXƒLƒ‹ƒAƒbƒvˆ—’ljÁ‚È‚Ç + inter.c + ƒpƒPƒbƒg’·’ljÁ + (map/) + guild.c/guild.h + ƒMƒ‹ƒhˆ—’ljÁ + intif.c/intif.h + ƒMƒ‹ƒhƒpƒPƒbƒgˆ—’ljÁ + clif.c + clif_guild_skillinfo()C³ + clif_guild_skillup()’ljÁ + pc.c + pc_skillup()‚ŃMƒ‹ƒhƒXƒLƒ‹‚ÌꇂÍguild_skillup()‚ðŒÄ‚Ԃ悤‚É + pc_gainexp()‚Åã”[EXP‚Ì‚½‚ß‚Éguild_payexp()‚ðŒÄ‚Ԃ悤‚É + +EƒMƒ‹ƒh‹@”\C³ + EƒMƒ‹ƒhƒƒ“ƒo[‚ªƒƒOƒCƒ“‚⃃OƒAƒEƒg‚·‚é‚ÆA + ƒƒOƒCƒ“’†‚̃Mƒ‹ƒhƒƒ“ƒo[‚ɃMƒ‹ƒhŒnƒpƒPƒbƒg‚ª‘—‚ç‚ê‚È‚­‚È‚é–â‘èC³ + + guild.c + guild_recv_memberinfoshort()‚ÌC³ + +---------- +//328 by ŒÓ’±—– + +EƒMƒ‹ƒh‹@”\‚̒ljÁ‚È‚Ç + E’Ç•ú‹@”\‰¼ŽÀ‘•i’Ç•ú‚µ‚½ƒLƒƒƒ‰‚àĉÁ“ü‰Â”\•ˆê•”î•ñ‚ªƒ_ƒ~[j + EƒXƒLƒ‹‚Ì•\Ž¦i•\Ž¦‚¾‚¯‚Å‚·Bã‚°‚½‚è‚Ío—ˆ‚Ü‚¹‚ñj + + (common/) + mmo.h + struct guild_explusion‚Ì•ÏX + (char/) + int_guild.c + ’Ç•úˆ—’ljÁ + ‹óƒMƒ‹ƒhƒ`ƒFƒbƒN‚ȂǒljÁ + (map/) + guild.c/guild.h + ƒMƒ‹ƒhƒXƒLƒ‹ŠÖŒW‚̃AƒNƒZƒT‚ȂǒljÁ + clif.c + clif_guild_skillinfo()‚ÌC³ + clif_guild_explusionlist()’ljÁ + +Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh‚ªƒ{ƒXŒnƒAƒ“ƒfƒbƒh‚ÅMISS‚É‚È‚éƒoƒOC³ + Eƒ^[ƒ“ƒAƒ“ƒfƒbƒhŽ¸”sŽž‚̃_ƒ[ƒW‚ªŽg‚í‚ê‚Ü‚· + + battle.c + battle_calc_magic_damage()‚ÌC³ + +---------- +//327 by ‚¢‚Ç +EŒoŒ±’lƒe[ƒuƒ‹‚É‚P‰ÓŠŠÔˆá‚¢‚ª‚ ‚Á‚½‚Ì‚ÅC³ + db/exp.txt + +---------- +//326 by ‚¢‚Ç +EcharŽI‚ÌVŽI,ƒƒ“ƒeƒiƒ“ƒX’†‚̃tƒ‰ƒOî•ñ‚ðÝ’è‚Å‚«‚é‚悤‚É‚µ‚½ +EcharŽI‚ÌŽI–¼‚Ì’·‚³‚ª16ƒoƒCƒg‚É‚È‚Á‚Ä‚¢‚½•”•ª‚ð20ƒoƒCƒg‚ÉC³ + + (login/) + login2.c + parse_login()‚ÌC³ + login.h + struct mmo_char_server‚ÌC³ + (char/) + char2.c + check_connect_login_server(),do_init()‚ÌC³ + (conf/) + char_athena.cnf +@ Echar_maintenance‚ð1‚É‚·‚é‚ƃƒOƒCƒ“l”‚ÌŒã‚ë‚É(“_ŒŸ’†)‚ª‚‚­ +@ Echar_new‚ð1‚É‚·‚é‚ÆŽI–¼‚Ì‘O‚É[V]‚ª‚‚­ + (doc/) + ƒpƒPƒbƒg‰ðÍ.txt + E¡‰ñ‚Ì•ÏX‚É”º‚¤ˆê•”C³ + +---------- +//325 by Mind Twist(224&0293) +E“G(NPC)ƒXƒLƒ‹‚̒ljÁiƒcƒŠ[‚ɒljÁ‚Ì‚Ýj + db/skill_db.txt + EƒMƒ‹ƒhƒXƒLƒ‹‘Š•Ï‚í‚炸•s–¾c‚±‚ÌŒ`Ž®‚¶‚á‚È‚¢‚Ì‚©‚ÈH + +---------- +//324 by non + +Emob‚̃^[ƒQƒbƒgŒãˆÚ“®‚ðC³ +Emob‚̈ړ®‘¬“x‚ðDB‚©‚甽‰f‚³‚¹‚é‚悤‚É + + (map/) + mob.c + mob_ai_sub_hard()‚ÌC³ + +EŽÎ‚ß”»’è‚ðC³ + EFW“™‚ł̎΂ߔ͈͂ð–{ŽIŽd—l‚É + + (map/) + map.c + map_calc_dir()‚ÌC³ + +---------- +//322 by ŒÓ’±—– + +EƒƒOƒCƒ“Žž‚É•K‚¸ƒp[ƒeƒB[‚©‚眖¼‚³‚ê‚éƒoƒOC³ + E0318‚Ìuƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚É`v‚Å‚ÌC³ƒ~ƒX + + (char/) + int_party.c + ƒp[ƒeƒB[‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ + (map/) + party.c + party_check_member()‚ÌC³ + +EƒMƒ‹ƒh‰ï˜bŽÀ‘••C³‚È‚Ç + (char/) + int_guild.c + ƒMƒ‹ƒh‹£‡Žž‚̃ƒbƒZ[ƒW‚ɉüs’ljÁ + (map/) + guild.c/guild.c + guild_send_message(),guild_recv_message()‚ȂǒljÁ + intif.c/intif.h + intif_parse_GuildMessage()‚ȂǒljÁ + clif.c/clif.h + clif_guild_message(),clif_parse_GuildMessage()‚ȂǒljÁ + clif_guild_basicinfo()‚̃pƒPƒbƒg‚ð0150‚©‚ç01b6‚É•ÏX + +EƒoƒbƒNƒXƒeƒbƒv‚ª‚à‚Ì‚·‚²‚­‰ö‚µ‚¢‚¯‚lj¼ŽÀ‘• + EŽg‚¤‚ƃ_ƒ[ƒW‚ð‚P‹ò‚ç‚Á‚½‚悤‚ÉŒ©‚¦‚Ü‚·B(ŽÀۂ̓_ƒ[ƒW‚O‚Å‚·) + + skill.c + skill_castend_damage_id()C³ + +------------------ +//321 by@‰ß‹Ž‚Ìli +E‹|–î‘•”õŒø‰Ê‚Ì‚ÝŽÀ‘•(‘½X‚¨‚©‚µ‚¢“_‚Í‘¶Ý‚·‚邪‘•”õ‚ªo—ˆA–î‚ÌŒø‰Ê‚ªo‚é) + map/clif.c map/clif.h + clif_itemlist()’ljÁ + Ž‚¿•¨‚Ì’†‚Å‹|–î‚ÉŠ„‚è“–‚Ä‚éƒpƒPƒbƒg”Ô†‚ð0x8000‚Æ‚·‚鈗’ljÁ + + clif_arrowequip(struct map_session_data *sd,int val); //self + ‚ð’ljÁB‚±‚Ì’†‚Å‹|–î‘•”õƒpƒPƒbƒgˆ—‚ðs‚Á‚Ä‚Ü‚· + map/pc.c + pc_equipitem()@‹|–î‘•”õ’ljÁ + + Žc‚³‚ꂽ–â‘è“_F + E@–Œ¸‚ç‚È‚¢ + E@ƒŠƒƒO‚·‚é‚Ɩ‚P‚É‚È‚é + E@‘•”õ‚µ‚Ä‚¢‚é–•\Ž¦‚³‚ê‚È‚¢(©‘½•ª‘•”õpos‚ÌÝ’è‚ð‚µ‚Ä‚¢‚È‚¢ˆ×‚©‚Æ) + E@–î‚ð‘•”õ‰ðœ‚Å‚«‚È‚¢(‘¼‚Ì–î‚ð‘•”õ‚µ‚È‚¨‚¹‚Α•”õ‚µ‚½–î‚ÌŒø‰Ê‚É‚È‚è‚Ü‚· + +---------- +//320 by ‚¢‚Ç +EˆÈ‰º‚̃pƒPƒbƒg‚̃Gƒ‰[ƒR[ƒh‚Ìà–¾‚ð’ljÁ + doc/ƒpƒPƒbƒg‰ðÍ.txt + R 006a .B + R 0070 .B + R 0081 .B + +---------- +//319 by mk +ENPC‚Ƃ̉ï˜b’†‚É‘•”õ•ÏXAƒAƒCƒeƒ€AƒXƒLƒ‹‚ðŽg—p‚Å‚«‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½ + map/clif.c + ŠeŠ‚Åsd->npc_id‚ðƒ`ƒFƒbƒN‚µ‚Ä‚Ü‚· + +Eˆê•”‚Ì”í‚蕨‚łธBŒã‚É‘•”õ‰ÓŠ‚ª‚¨‚©‚µ‚­‚È‚éƒoƒO‚ðC³ + map/script.c + buildin_successrefitem ‚̃R[ƒh‚ðC³ + +EƒJ[ƒh‚É‚æ‚é’ljÁŒø‰Ê‚¨‚æ‚шÙí‘Ï«”­“®ˆ—‚ÌC³ + map/skill.c + ƒCƒ“ƒfƒbƒNƒX‰Šú’l‚ªŠÔˆá‚Á‚Ä‚¢‚é‚ÆŽv‚í‚ê‚é‚Ì‚ÅC³iSC_POISON -> SC_STONEj + +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚̉¼ŽÀ‘•AƒOƒŠƒ€ƒgƒD[ƒX‚ÌŽg—pðŒ’ljÁ + Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð‰¼ŽÀ‘•B‚«”ò‚΂µˆ—‚â‚Á‚Ä‚é‚Ì‚Å + @battle.c ‚Ìblewcount‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ü‚µ‚½ + EƒOƒŠƒ€ƒgƒD[ƒX‚ÌŽg—pðŒiƒnƒCƒfƒBƒ“ƒO•ƒJƒ^[ƒ‹‘•”õjƒ`ƒFƒbƒN’ljÁ + @‚±‚ñ‚ÈŠ´‚¶‚Å‘¼‚̃XƒLƒ‹Žg—pðŒ‚à’ljÁ‚µ‚Ä‚à‚æ‚¢‚Ì‚©‚ÈH + Eskill_blown ‚Ì‚«”ò‚΂µ•ûŒü‚ðƒ^[ƒQƒbƒg‚Ƃ̈ʒu‚ªd‚È‚Á‚Ä‚¢‚é‚Æ‚«‚Í + @ƒ‰ƒ“ƒ_ƒ€‚Å‚Í‚È‚­ƒLƒƒƒ‰ƒNƒ^[‚ðŒã‚ë‚Ö‚«”ò‚΂·‚悤‚É•ÏX‚µ‚Ü‚µ‚½ + map/skill.c + skill_castend_damage_id()•ÏX + skill_check_condition()•ÏX + skill_blown()•ÏX + +EƒAƒTƒVƒ““ñ“—¬ˆ—‚ÉŠÖ‚·‚éC³? + E‘•”õˆê——‚Ödrag&dropŽž‚É—¼Žè‚ªÔ‚­ƒ}[ƒLƒ“ƒO‚³‚ê‚é‚悤‚ÉC³ + @ƒAƒTƒVƒ“‚Å‚Í•Ší‘•”õ‰ÓŠ‚ª—¼Žè‚É‚È‚é‚悤item_equippoint‚ð•ÏX + @‚»‚ê‚É”º‚¢pc.c‚Ìpc_equipitem‚ðC³ + E‹tŽèƒ_ƒ[ƒW‚ð•\Ž¦‚µ‚Ä‚Ý‚Ü‚µ‚½ + @‚Ü‚Æ‚à‚Ƀ_ƒ[ƒWŒvŽZ‚â‚Á‚Ä‚È‚¢‚Ì‚ÅUŒ‚‰ñ”‚ÌŠm”F‚¾‚¯‚Å‚· + EƒJƒ^[ƒ‹’ÇŒ‚‚ƶŽèUŒ‚‚ÌMISS‚ð–³—‚â‚è•\Ž¦ + (map/) + itemdb.c (itemdb.hAclif.cApc.c) + itemdb_equippoint() ‚ð•ÏX i“ñ“—¬‚ðl—¶j + ˆø”‚ð(int nameid) -> (struct map_session_data *sd,int nameid)‚É + ˆø”•ÏX‚É”º‚¢éŒ¾(itemdb.h)‚ƌĂÑo‚µ‘¤(clif.c ,pc.c)‚à•ÏX + pc.c + pc_equipitem(), pc_checkitem()‘•”õƒ`ƒFƒbƒN‚ðC³ + battle.c + battle_calc_weapon_attack(),battle_weapon_attack() + ã‚É‚à‘‚«‚Ü‚µ‚½‚ª¶Žè‚̃_ƒ[ƒWŒvŽZ‚Ís‚Á‚Ä‚Ü‚¹‚ñ + (ƒJ[ƒhA‘®«“™‚à–¢“K—p)‰EŽè‚Æ“¯‚¶ƒ_ƒ[ƒW“ü‚ê‚Ķ‰EC—û“K—p‚µ‚Ä‚Ü‚· + ƒJƒ^[ƒ‹’ÇŒ‚‚ƶŽèƒ_ƒ[ƒW‚ðƒ~ƒX‚³‚¹‚é•û–@(ƒpƒPƒbƒg?)‚ª‚í‚©‚ç‚È‚¢‚Ì‚Å + ŒvŽZŒã‚̃_ƒ[ƒW‚ª-1‚Ìê‡Adamage=0‚ð‘—‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚· + ‚à‚Á‚Æ‚æ‚¢•û–@‚ª‚ ‚é‚Ì‚Å‚µ‚½‚çC³‚¨Šè‚¢‚µ‚Ü‚· + +EŠ®‘S‰ñ”ð‚ÌŒvŽZ‚ðLuk‚Å‚Í‚È‚­Flee2‚Å”»’f‚·‚é‚悤‚ÉC³ + map/battle.c + battle_calc_weapon_attack() + + (db) + item_db.txtAitem_db2.txt + ‘•”õ•i‚̈ꕔƒ{[ƒiƒXŒø‰Ê‚ð’ljÁ + mob_db.txt + –^Š‚Å‚¤‚‚³‚ê‚Ä‚¢‚½‚à‚Ì‚ð­‚µC³ + ‚Ü‚¾Mode‚âDrop‚É–â‘è“_‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ + +---------- +//0318 by ŒÓ’±—– + +E‚ ‚éŒö•½•ª”zPT‚Æ‚»‚ÌPT‚É‘®‚³‚È‚¢PC‚ª‹¤“¬‚·‚é‚ÆŽI‚ª–\‘–‚·‚éƒoƒOC³ + + mob.c + mob_damage()‚ÌEXP•ª”zˆ—C³ + +Eƒp[ƒeƒB‚𜖼‚³‚ꂽ‚Ì‚ÉŠ‘®‚µ‚Ä‚¢‚é‚悤‚ÉŒ©‚¦‚éƒoƒOC³ + EŠY“–ƒLƒƒƒ‰‚ªƒƒOƒAƒEƒgó‘Ô‚ÌŽž‚Éœ–¼‚³‚êA‚»‚ÌŒãA“¯C•ÊƒLƒƒƒ‰‚ª + “¯ƒp[ƒeƒB‚ÉŠ‘®‚µ‚È‚¨‚µA‚³‚ç‚ÉŒ³‚̃Lƒƒƒ‰‚ŃƒOƒCƒ“‚·‚é‚ÆA + œ–¼”»’è‚ÉŽ¸”s‚µ‚ăp[ƒeƒB‚ÉŠ‘®‚µ‚½‚Ü‚Ü‚Å‚ ‚é‚Æ‚³‚ê‚Ä‚µ‚Ü‚¤–â‘èC³ + + party.c + party_check_member()‚ÌC³ + + +---------- +//0317 by nabe + +Eu`‚³‚ñ‚©‚çŽæˆø‚ð—v¿‚³‚ê‚Ü‚µ‚½Bv‚ªŽ©•ª‚Ì–¼‘O‚É‚È‚Á‚Ä‚¢‚½‚Ì‚ðC³ + trade.c/clif.c/clif.h + clif_traderequest()‚ÅŽæˆø‘ŠŽè‚̃Lƒƒƒ‰–¼‚ð“n‚·‚悤‚É•ÏX + +---------- +//0316 by nabe + +E—¼Žè•Ší‚ð¸˜B‚·‚é‚Æ•ÐŽè‘•”õ‚É‚È‚éƒoƒO‚ðC³ + script.c + buildin_successrefitem()‚ÅA—¼Žè•Ší‚Ìꇓ™‚É‘•”õ‰ÓŠƒ`ƒFƒbƒN + +---------- +//0315 by ŒÓ’±—– + +EPC‚ÌSPAWNƒ^ƒCƒ~ƒ“ƒO‚ð•ÏX + Eƒ}ƒbƒvˆÚ“®(ƒƒOƒCƒ“)ŽžAƒ[ƒfƒBƒ“ƒOI—¹Œã‚ÉSPAWN‚·‚é‚悤‚ÉB + Eƒ[ƒh’†‚ÉUŒ‚‚³‚ꂽ‚肵‚È‚­‚È‚è‚Ü‚·B + EƒMƒ‹ƒh/ƒp[ƒeƒBî•ñ“Ç‚Ýž‚Ý‘O‚É–¼‘O‰ðŒˆƒpƒPƒbƒg‚ª—ˆ‚é–â‘è‚à + C³‚³‚ê‚é‚Í‚¸‚Å‚·B + + pc.c + pc_setpos()‚Åmap_addblock,clif_spawnpc‚̌ĂÑo‚µ‚ðŽ~‚ß‚½B + clif.c + clif_parse_LoadEndAck‚Åmap_addblock,clif_spawnpc‚ðŒÄ‚Ԃ悤‚ÉB + +EinterŽIƒpƒPƒbƒgˆ—‚Ìd‘å‚È–â‘è‚ðC³ + Eˆê“x‚ɃpƒPƒbƒg‚ð‘—M‚Å‚«‚È‚©‚Á‚½ê‡A–³ŒÀƒ‹[ƒv‚Ɋׂé–â‘èC³ + + (char/) + char2.c + parse_frommap()C³ + inter.c + inter_parse_frommap()C³ + (map/) + chrif.c + chrif_parse()C³ + intif.c + intif_parse()C³ + +EƒMƒ‹ƒh‚Ì‹@”\’ljÁ + E‘¼l‚̃Gƒ“ƒuƒŒƒ€‚ªŒ©‚¦‚é‚悤‚ÉB + EƒƒOƒCƒ“’¼Œã‚ÌŽ©•ª‚̃Gƒ“ƒuƒŒƒ€‚ªŒ©‚¦‚é‚悤‚ÉB + E’E‘Þ‚Å‚«‚é‚悤‚ÉBi’Ç•ú‚Í‚Ü‚¾‚Å‚·j + + <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> + E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ + EƒMƒ‹ƒhƒXƒLƒ‹‚ÌID‚ª‚í‚©‚élA‹³‚¦‚Ä‚Ù‚µ‚¢‚Å‚·B + 158,205,331‚ ‚½‚è’²‚ׂ܂µ‚½‚ªƒ_ƒ‚È–Í—lB + + (common/) + mmo.h + MAX_GUILD‚ð36‚ÉB + (char/) + int_guild.c + ’E‘ނ̃pƒPƒbƒg•ÏX + inter.c + ƒpƒPƒbƒg’·C³ + (map/) + clif.c/clif.h + clif_set0078,clif_set007b‚ÌC³ + clif_guild_belonginfo‚ÌC³ + clif_guild_skillinfo’ljÁ + guild.c/guild.h + ’E‘ނȂǂ̈—’ljÁ + intif.c/intif.h + ’E‘ނȂǂ̈—’ljÁ‚È‚Ç + + +---------- +//0314 by ‚¢‚Ç + +EcharŽI‚ÆmapŽI‚ÌŽI”ãŒÀ‚ð30‚Ɉø‚«ã‚° + login/login.h + char/char.h + +Emap_athena1.cnf‚ðmap_athena.cnf‚ɃŠƒl[ƒ€ +@‚»‚ê‚É”º‚¢Aathena.sh‚ð•ÏX + +EƒpƒPƒbƒg‰ðÍŽ‘—¿‚ðdoc/‚Ɉړ® + + +---------- +//0313 by ŒÓ’±—– + +EƒMƒ‹ƒh‚Ì‹@”\’ljÁ + EƒMƒ‹ƒhŠ©—U/–ðE“à—e•ÏX/ƒƒ“ƒo[‚Ì–ðE•ÏX‚È‚Ç + Eguild.txt‚Ì‘Ž®‚ª‚Ü‚½•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚·B + + <ƒpƒPƒbƒgî•ñˆø‚«‘±‚«–ÍW> + E016c,016d,0163,015c‚È‚Ç‚ÌÚׂÈî•ñ + EŽ©•ªˆÈŠO‚ÌPC‚ÌŠ‘®ƒMƒ‹ƒhID‚ð’Ê’m‚·‚éƒpƒPƒbƒg + + (common/) + mmo.h + struct guild ‚ð•ÏX + (char/) + int_guild.c/inter.c + ˆ—’ljÁ/ƒpƒPƒbƒg’·’ljÁ + (map/) + guild.c/guild.h/intif.c/intif.h + ˆ—’ljÁ + clif.c/clif.h + ƒMƒ‹ƒhŠÖŒW‚̃pƒPƒbƒgˆ—’ljÁ + +Ehelp.txt‚ðC³ + help.txt + +E0311‚É‚æ‚镶Žš‰»‚¯‚ðC³ + README + map/pc.c + +---------- +//0312 by ‚¢‚Ç + +E@hƒRƒ}ƒ“ƒh‚ð@help‚É•ÏX +E“Ç‚Ýž‚Þƒ}ƒbƒvƒf[ƒ^‚Ì’è‹`•”•ª‚ð•ÏX + +---------- +//0311 by tk44 +EAssassin “ñ“—¬‘•”õAASPD–â‘èC³ + - map\pc.c + pc_equipitem(), pc_calcstatus(), pc_checkitem() + +E“ñ“—¬ŠQŒvŽZC³‚Ü‚¾ˆ—’† + +---------- +//0310 by ŒÓ’±—– + +EƒƒO‚âƒf[ƒ^‚ÉŽg‚¤‰üsƒR[ƒh‚ðmmo.h‚ÅÝ’è‰Â”\‚É + (common/) + mmo.h + RETCODE‚ʼnüsƒR[ƒh‚𕶎š—ñ‚Å’è‹`‚µ‚Ü‚·B + WindowsŒn‚¾‚ÆCR/LF‚È‚Ì‚Å"\r\n",UNIXŒn‚¾‚Æ"\n"‚Å‚·B + •Ê‚ɳ‚µ‚­Žw’肵‚È‚­‚Ä‚àAthenaŽ©‘Ì‚Í–â‘è‚È‚­“®ì‚·‚é‚Í‚¸‚Å‚·B + (login/) + login2.c + (char/) + char2.c/int_storage.c/int_party.c/int_guild.c + •Û‘¶‚·‚é‰üsƒR[ƒh‚ðRETCODEˆË‘¶‚É•ÏXB + ‰üsƒR[ƒh‚Ɉˑ¶‚¹‚¸‚É“Ç‚ß‚é‚悤‚ÉC³B + +EƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç•s–¾‚ȃpƒPƒbƒg‚ª—ˆ‚½‚çƒ_ƒ“ƒv‚·‚é‚悤‚É + E#define DUMP_UNKNOWN_PACKET 1 ‚ðƒRƒƒ“ƒg‰»‚·‚ê‚΃_ƒ“ƒv‚µ‚Ü‚¹‚ñB + + clif.c + •s–¾ƒpƒPƒbƒg‚̈—‚Ń_ƒ“ƒvˆ—‚ð’ljÁB + +EƒMƒ‹ƒh‹@”\‚̒ljÁ + EƒGƒ“ƒuƒŒƒ€•ÏX/’m•ÏXŽÀ‘• + Eguild.txt‚Ì‘Ž®‚ª•Ï‚í‚è‚Ü‚µ‚½‚ªA‘O‚̃f[ƒ^‚à“Ç‚Ýž‚ß‚é‚Í‚¸‚Å‚· + + (char/) + int_guild.c/inter.c + ƒMƒ‹ƒhƒpƒPƒbƒgˆ—AƒpƒPƒbƒg’· + (map/) + guild.c/guild.h + ‹@”\’ljÁ + intif.c/intif.h + ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’ljÁ + clif.c/clif.h + ƒMƒ‹ƒhŠÖŒWƒpƒPƒbƒg’ljÁ + +---------- +//0309 by C}{RIS + +Eƒ{ƒEƒŠƒ“ƒOƒoƒbƒVƒ…‚ð”͈ÍUŒ‚‰»‚µ‚Ü‚µ‚½B +Eƒvƒƒ“ƒeƒ‰‚É‘•”õ•i”Ì”„NPC‚ð’ljÁ‚µ‚Ü‚µ‚½B + map_athena1.cnf‚Ì + npc_shop1J.txt‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚ê‚Ζ³Œø‚Éo—ˆ‚Ü‚·B +EƒAƒCƒeƒ€‚Ì–¼‘O‚ÆID‚ð‘‚¢‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð“Y•tBiitem.listj + +---------- +//0308 by Ž€_ +EŽ©‘R‰ñ•œ‚̃vƒƒOƒ‰ƒ€‚ðC³‚µ‚Ü‚µ‚½B + ‚±‚ê‚Å‘åä•v‚¾‚Æ‚¢‚¢‚Å‚·‚ª... + pc.c + pc_natural_heal()“™‚ðC³B + pc_percentheal()‚ð­‚µC³B + pc_checkskill()‚ð­‚µC³BƒXƒLƒ‹‚ª‚È‚¢ê‡0‚ð•Ô‚·‚悤‚É + •ÏX‚µ‚Ü‚µ‚½B‘¼‚Ì.cƒtƒ@ƒCƒ‹‚àC³‚·‚é•K—v‚ª‚ ‚è‚Ü‚µ‚½‚Ì‚Å + C³‚µ‚Ü‚µ‚½B +E4l–Ú‚Æ5l–ڂ̃Lƒƒƒ‰‚ðÁ‚¹‚È‚¢–â‘è‚ðC³B +EŽn‚ß‚©‚çƒiƒCƒt‚ƃRƒbƒgƒ“ƒVƒƒƒc‚ðŽ‚‚悤‚É•ÏXB +ELOOK_SHEILD‚ðLOOK_SHIELD‚ÉC³B +Emmo_charstatus‚Ìsheild‚ðshield‚ÉC³B +E.logƒtƒ@ƒCƒ‹‚âaccount.txtƒtƒ@ƒCƒ‹‚ðnotepad‚ÅŠJ‚­‚Æ—ñ‚ª‘S•”Œq‚¢‚Å‚¢‚é + –â‘è‚ðC³B +E—”‚ðŽžŠÔ‚É‚æ‚Á‚ĉŠú‰»‚·‚é‚悤‚É•ÏXB + map.c + do_init()‚ð­‚µC³B + +‘¼‚É•ÏX‚µ‚½ƒtƒ@ƒCƒ‹‚à‚ ‚è‚Ü‚·‚ª‘S•”Šo‚¦‚Ä‚Ü‚¹‚ñ‚Ì‚Å... + +---------- +//0307 by ŒÓ’±—– + +EV‹KPC‚̉ŠúˆÊ’u‚ðchar_athena.cnf‚É‘‚¯‚é‚悤‚É‚µ‚½ + start_point: ƒ}ƒbƒv–¼,x,y ‚̂悤‚ÉŽw’肵‚Ü‚·B + <—á> start_point: new_1-1.gat,53,111 + + (char/) + char2.c + +EƒMƒ‹ƒh‚̈ꕔ‹@”\ + EƒMƒ‹ƒh쬂­‚ç‚¢‚µ‚©“®‚«‚Ü‚¹‚ñ + EŠ©—U/’E‘Þ/‰ðŽU/î•ñ‚Ì•ÏX/ƒGƒ“ƒuƒŒƒ€/’m‚È‚Ç‚Í‚·‚ׂĖ¢ŽÀ‘•‚Å‚· + + <ØŽÀ‚È—v–]> + ƒMƒ‹ƒhŠÖŒW‚̃pƒPƒbƒgî•ñ‚ª‘S‘R‘«‚è‚Ü‚¹‚ñB‚í‚©‚él‚Í‹³‚¦‚Ä‚­‚¾‚³‚¢B + Œ»Ý‚̂܂܂ł̓Gƒ“ƒuƒŒƒ€‚Æ’m‚­‚ç‚¢‚µ‚©ŽÀ‘•‚Å‚«‚È‚¢‰Â”\«‚ªcB + + (common/) + mmo.h + ƒMƒ‹ƒhŠÖŒW‚Ì\‘¢‘̂ƒ蔒ljÁ + (char/) + inter.c + ƒpƒPƒbƒg’·î•ñ’ljÁ + int_guild.c/int_guild.h + ŽÀۂ̈—’ljÁ + (map/) + map.h + struct map_session_data‚ɃMƒ‹ƒhŠÖŒW‚̃ƒ“ƒo’ljÁ + guild.c/guild.h + V‹K’ljÁBƒMƒ‹ƒh‹@”\—p + pc.c + pc_authok()‚ŃMƒ‹ƒhŠ‘®ŽžAguild_request_info()‚ðŒÄ‚Ԃ悤‚ÉB + clif.c/clif.h + ƒMƒ‹ƒhƒpƒPƒbƒg’ljÁ + intif.c/intif.h + ƒMƒ‹ƒhƒpƒPƒbƒg’ljÁ + +E0303‚Å‚ÌC³uMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚Å`v‚ðŒ³‚É–ß‚µ‚½ + EVPC‚ðì‚é‚Æ‚«‚ɳ‚µ‚­HP‚È‚Ç‚ðŒvŽZ‚µ‚Ä‚­‚ê‚é‚悤‚É‚È‚Á‚½‚Ì‚Å + –ß‚µ‚Ä‚à•½‹C‚¾‚낤‚Æ—\‘ªB + EƒƒOƒCƒ“’¼Œã‚Éd—ÊŒx‚ªo‚Ä‚µ‚Ü‚¤‚½‚ßB + + pc.c + pc_authok()‚ÌC³ + +E”͈͎w’蕦‚«‚̈—C³ + E‚Å‚«‚邾‚¯Žw’肵‚½”‚Æ“¯‚¶‚¾‚¯•¦‚­‚悤‚É + (áŠQ•¨‚È‚Ç‚É‚æ‚镦‚«–WŠQ‚̉ñ”ðŽ¸”sŽžA‘O‚̉ñ”ðŒ‹‰Ê‚ðŽg‚¤) + + mob.c + mob_once_spawn_area()‚ÌC³ + +---------- +//0305 by ‚¢‚Ç +EV‹KPC‚̈ʒu‚ð‰SŽÒC—ûê‚É•ÏXB +EmapŽI‚ªcharŽI‚ÉÚ‘±‚Å‚«‚È‚¢•s‹ï‡‚ÌC³B + +---------- +//0304 by Ž€_ +EŽ©‘R‰ñ•œ‚Ì—Ê‚ÆŽžŠÔ‚ð•ÏXBŠØ‘ŽI‚É“K—p‚³‚ê‚Ă镨‚Å‚·‚ª“ú–{‚É‚à + “K—p‚³‚ê‚Ä‚é‚Í‚¸‚Å‚·B(‘½•ª... ‚â‚Á‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚í‚©‚è‚Ü‚¹‚ñBŠ¾) + HP‚Í–ˆ4•b‚É 1 + vit/6 + max_hp/200 ‚ð‰ñ•œA + SP‚Í–ˆ8•b‚É 1 + int/6 + max_sp/100 ‚ð‰ñ•œ‚µ‚Ü‚·B +EƒXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚é‰ñ•œ‚ð + ƒXƒLƒ‹ƒŒƒxƒ‹*5 + max_hp/50‚É•ÏXB +EƒXƒLƒ‹SP‰ñ•œ—ÍŒüã‚É‚æ‚é‰ñ•œ‚ð + ƒXƒLƒ‹ƒŒƒxƒ‹*3 + max_sp/50‚É•ÏXB +EƒXƒLƒ‹ˆÚ“®ŽžHP‰ñ•œŽÀ‘•B + ¡‚ÌŠŽ~‚Ü‚Á‚Ä‚é‚Ì‚Æ”ä‚ׂÄ1/4‚Ì—Ê‚ð‰ñ•œ‚µ‚Ü‚·B(ŽžŠÔ‚Í“¯‚¶‚Å‚·B) +Evit‚Æint‚É‚æ‚Á‚ĉñ•œŽžŠÔ‚ª’Z‚­‚È‚é‚Ì‚Å‚Í‚È‚­‰ñ•œ—Ê‚ª‘‚¦‚Ü‚·B +EÅ‘åHP‚ÆÅ‘åSP‚ÌŒvŽZŒöŽ®‚ð•ÏXB + map.h + int inchealtick‚Ì•Ï‚í‚è‚Éint inchealhptick;‚Æ int inchealsptick;‚ð’ljÁB + int parame[6] ‚ð’ljÁBÅ‘åSP‚ÌŒvŽZ‚ׂ̈̕¨‚Å‘•”õ‚É‚æ‚Á‚Äオ‚Á‚½ + ƒpƒ‰ƒ[ƒ^‚ðŽ‚Á‚ÂB + pc.c + pc_hpheal(),pc_spheal(),pc_natural_heal_sub(),pc_natural_heal()‚ð + Ž©•ª‚̃R[ƒh‚É‘‚«Š·‚¦‚Ü‚µ‚½‚ªˆê‰ž³í‚É“®‚«‚Ü‚·‚ª + ‘¼‚̃R[ƒh‚ɉe‹¿‚ª‚È‚¢‚©‚Ç‚¤‚©‚Í‚í‚©‚è‚Ü‚¹‚ñB + pc_additem()‚ð­‚µ‚¾‚¯C³B + hp_coefficient‚ðint‚©‚çdouble‚É•ÏXB + pc_calcstatus()‚Æpc_readdb()‚ðC³B + job_db1.txt + E‹Æ‚ÌŒv”‚ð•ÏX‚µ‚Ü‚µ‚½B(ƒNƒ‹ƒZƒCƒ_[“™‚̃f[ƒ^‚Í + Š®‘S‚È•¨‚¶‚á‚ ‚è‚Ü‚¹‚ñB) + +Echar2.c‚ð­‚µ‚¾‚¯•ÏXB + char2.c + make_new_char()‚ð­‚µ‚¾‚¯•ÏXB(ì‚Á‚½’¼Œã‚ÉHP‚ÆSP‚ªŠ®‘S‚É + ‰ñ•œ‚µ‚Ä‚é‚悤‚É•Ï‚¦‚Ü‚µ‚½B) + parse_char()‚ð­‚µ‚¾‚¯C³BŠØ‘‚̃Nƒ‰ƒCƒAƒ“ƒg‚ÅŒq‚¢‚Ä‚à + ˆÙ킪‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B(0x187ƒpƒPƒbƒg‚̈—‚ð“ü‚ꂽ‚¾‚¯ + ‚Å‚·‚ª... ‚±‚ê‚ÍYare‚©‚玂Á‚Ä‚«‚½•¨‚Å‚·B) +Estrcmpi“™‚Ìdefine‚ðatcomand.h‚©‚çmmo.h‚Ɉړ®‚µ‚Ü‚µ‚½B + atcomand.h, mmo.h C³B +E‰ñ•œƒAƒCƒeƒ€‚ðŽg—p‚·‚鎞vit‚ƃXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ª•t‚­ + ‚悤‚É•ÏXBƒ{[ƒiƒX‚Í + ‰ñ•œ—Ê *(1 + HP‰ñ•œ—ÍŒüãƒXƒLƒ‹ƒŒƒxƒ‹*0.1 + vit/100) + ‚É‚È‚è‚Ü‚·B +EƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð‰¼ŽÀ‘•B(‰ñ•œ‚Í‚µ‚Ü‚·‚ªƒGƒtƒFƒNƒg‚ª + o‚Ü‚¹‚ñBitem_db‚Ń^ƒCƒv‚ð•Ï‚¦‚Ä‚à‘Ê–Ú‚Å‚µ‚½B) + script.c + buildin_fixheal()‚Æbuildin_percentheal()‚ð’ljÁB + buildin_fixheal()‚Íbuildin_heal()‚ªƒXƒLƒ‹‚Ævit‚É‚æ‚Á‚ĉñ•œ—Ê‚ª•Ï‚í‚é + Žd—l‚É‚È‚Á‚½‚Ì‚ÅŒ³‚Ìbuildin_heal()‚Ì–¼‘O‚¾‚¯‚ð•Ï‚¦‚½•¨‚Å‚·B + buildin_percentheal()‚Í“ü—Í‚³‚ꂽ”Žš‚ð%‚Æ‚µ‚ÄHP‚ÆSP‚ðÅ‘åHP‚Æ + Å‘åSP‚ð %”ä—¦‚ɉñ•œ‚µ‚Ü‚·B + ƒXƒNƒŠƒvƒgfixheal A percentheal ’ljÁBŽg—p•û–@‚Íheal‚Æ“¯‚¶‚Å‚·B + fixheal‚Ívit‚ƃXƒLƒ‹HP‰ñ•œ—ÍŒüã‚É‚æ‚éƒ{[ƒiƒX‚ª‚È‚¢•¨‚Å + percentheal ‚ÍŒã‚Ì”Žš‚ð %‚É”FŽ¯‚µ‚Ü‚·B + pc.h + pc.c + pc_percentheal()‚ð’ljÁB + item_db.txtAitem_db2.txt + ƒCƒOƒhƒ‰ƒVƒ‹‚ÌŽÀ‚ƃCƒOƒhƒ‰ƒVƒ‹‚ÌŽí‚ð•ÏXB + +---------- +//0303 by ŒÓ’±—– + +E*.grf‚̃pƒX‚ðmap_athena.cnf‚É‚à‘‚¯‚é‚悤‚É‚µ‚½B + Emap_athena.cnf‚Éudata_grf: ../data/data.grfv‚â + usdata_grf: ../sakurai/sdata.grfv‚̂悤‚ɃpƒXŽw’è‚Å‚«‚Ü‚·B + Egrf-files.txt‚ª‚ ‚éꇂ»‚¿‚ç‚Ìݒ肪—D悳‚ê‚Ü‚· + + (common/) + grfio.c/grfio.h + grfio_setdatafile(),grfio_setsdatafile()’ljÁB + data_file,sdata_file‚ðƒtƒ@ƒCƒ‹ƒ[ƒJƒ‹‚ȃOƒ[ƒoƒ‹•Ï”‚É•ÏXB + +E@stpoint,@skpoint‚É•‰’lŽw’è‚͈̔̓`ƒFƒbƒN‚ð’ljÁ +E@zenyƒRƒ}ƒ“ƒh’ljÁiƒ[ƒj[‚Ì’²®j +E@str,@agi,@vit,@int,@dex,@lukƒRƒ}ƒ“ƒh’ljÁiŠî–{ƒpƒ‰ƒ[ƒ^’²®j + + atcommand.c + @stpoint,@skpointC³ + @zeny,@str,@agi,@vit,@int,@dex,@luk’ljÁ + +Eƒƒ}[ƒiƒCƒg‚ðŽg‚¤‚Æ‚Ú‚Á‚½‚­‚ç‚ê‚Ä‚¢‚½–â‘è‚ðC³ +E•Ší»‘¢•”•ª‚̃R[ƒh‚𑽭•ÏX + EÞ—¿Á”‚ðƒAƒCƒeƒ€‚ª•¡”ƒCƒ“ƒfƒbƒNƒX‚É•ª‚©‚ê‚Ä‚¢‚éꇂɑΉž‚³‚¹‚½ + i‚R–œŒÂŒÀŠE‚ð’´‚¦‚é‚ƕʃCƒ“ƒfƒbƒNƒX‚ðŽg‚¤Žd—l‚¾‚Á‚½‹C‚ª‚·‚é‚Ì‚Åj + EŽ¸”sŽž‚É‚àŽü‚è‚É’Ê’m‚·‚é‚悤‚É‚µ‚½ + + skill.c + skill_check_condition()‚ÌC³ + skill_produce_mix()‚ÌC³ + +E•Ší»‘¢Šm—¦‚ðconfƒtƒ@ƒCƒ‹‚Å”{—¦Žw’è‚Å‚«‚é‚悤‚ÉC³ + + (conf/) + battle_athena.cnf + weapon_produce_rate’ljÁ + (map/) + skill.c + skill_produce_mix()‚ÌC³ + +E•ŠíATKƒTƒCƒY•â³ƒe[ƒuƒ‹‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ +E¸˜B¬Œ÷Šm—¦/¸˜Bƒ{[ƒiƒX‚È‚Ç‚ðŠO•”‚©‚ç“Ç‚Ýž‚ނ悤‚É‚µ‚½ +E‰ß踘Bƒ{[ƒiƒX‚É‚æ‚é’ljÁƒ_ƒ[ƒWŽÀ‘• + + (db/) + size_fix.txt + ƒTƒCƒY•â³ƒe[ƒuƒ‹ + refine_db.txt + ¸˜BŠÖŒWƒf[ƒ^ + (map/) + pc.c + pc_readdb()‚Å“Ç‚Ýž‚Ý + battle.c + battle_calc_weapon_attack()‚ɉß踘Bƒ{[ƒiƒXˆ—’ljÁ + +EMAXHP‚È‚Ç‚ªƒT[ƒo[‚ƃNƒ‰ƒCƒAƒ“ƒg‚ňႤ’l‚ÉŒ©‚¦‚éƒoƒOC³ + ƒƒOƒCƒ“’¼Œã‚̃Xƒe[ƒ^ƒXŒvŽZ‚ÌŒ‹‰Ê‚𒼂¿‚É‘—M‚·‚é‚悤‚É‚µ‚½ + + (map/) + pc.c + pc_authok()‚Å‚Ìpc_calcstatus()‚̃tƒ‰ƒO‚ð0‚É‚µ‚½ + ‚±‚ê‚Åpc_calcstatus()‚̃tƒ‰ƒOƒpƒ‰ƒ[ƒ^‚Í–¢Žg—pH + +Eitem_db‚Ìu”EŽÒƒX|ƒcv‚ðu”EŽÒƒX[ƒcv‚ÉC³ + (db/) + item_db.txt/item_db2.txt + ”EŽÒƒX[ƒc‚Ì–¼Ì•ÏX + +EƒƒOƒCƒ“l”‚𒲂ׂéƒc[ƒ‹‚ð“Y•t + Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B + Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚­‚¾‚³‚¢B + Žg‚¢•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B + + (tool/) + getlogincount + ƒƒOƒCƒ“l”Š“¾PerlƒXƒNƒŠƒvƒg + +---------- +//0302 by Ž€_ +EƒAƒCƒeƒ€»‘¢ Šm—¦”»’èŽÀ‘•B + “S‚ÌꇬŒ÷—¦‚Í + (20 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*6)% + |“S‚Æ‘®«ÎA¯‚Ì‚©‚¯‚ç‚Ìê‡ + (10 + base_level*0.3 + DEX*0.2 + LUK*0.1 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5)% + •Ší‚Í + ((2.5 + base_level*0.15 + DEX*0.1 + LUK*0.05 + —v‹ƒXƒLƒ‹ƒŒƒxƒ‹*5 + + ‹à•~ - ‘®«Î‚Ư‚Ì‚©‚¯‚ç) * (1 - (•ŠíƒŒƒxƒ‹ - 1)*0.2) + + ƒXƒLƒ‹•ŠíŒ¤‹†ƒŒƒxƒ‹*1)% + ‹à•~: ‚È‚¢ê‡ -5%‚Å‹à•~‚Í 0%AƒIƒŠƒfƒIƒRƒ“‚Ì‹à•~‚Í + 2.5%A‰©‹à‚Ì‹à•~‚Í 5%AƒGƒ“ƒyƒŠƒEƒ€‚Ì‹à•~‚Í 7.5% + ‘®«Î‚Ư‚Ì‚©‚¯‚ç: ‘®«Î‚ª‚ ‚éê‡ 5%‚ÅX‚É + ¯‚Ì‚©‚¯‚ç‚Ì” * 5%‚ð‘«‚µ‚Ü‚·B + ‚É‚È‚è‚Ü‚·‚ª‚¿‚å‚Á‚ÆŠm—¦‚ª’á‚·‚¬‚é‹C‚à‚µ‚Ü‚·‚Ì‚Å + base_level*0.3 + DEX*0.2 + LUK*0.1‚ðbase_level*0.5 + DEX*0.4 + LUK*0.3‚É + base_level*0.15 + DEX*0.1 + LUK*0.05‚ðbase_level*0.4 + DEX*0.3 + LUK*0.2 + ’ö“x‚É•Ï‚¦‚½•û‚ª‚¢‚¢‚©‚à’m‚è‚Ü‚¹‚ñB + skill.c + skill_can_produce_mix() ‚Æ skill_produce_mix() ‚ðC³B + produce_db.txt + ¯‚Ì‚©‚¯‚ç‚ðƒXƒLƒ‹‘®«Î»‘¢‚ª•K—v‚É•ÏXB +E*.grf“™‚ðÝ’u‚¹‚¸ƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì“Ç‚Ýž‚ނ悤‚ÉC³B(‚±‚ê‚ÍYare‚©‚ç + Ž‚¿ž‚ñ‚¾•¨‚Å‚·‚ª...) + grfio.c + grfio_init()‚ðC³B + grf-file.txt + V‹K’ljÁBgrfƒtƒ@ƒCƒ‹‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠÝ’è—pB +E“Ç‚Ýž‚Þƒ}ƒbƒv‚Ìő唂ð512‚ÉC³B + mmo.h + MAX_MAP_PER_SERVER‚ð384‚©‚ç512‚ÉC³B +Epc.c‚Épc_search_inventory()‚ð’ljÁB + ‹@”\‚Íitem_id‚̃AƒCƒeƒ€‚ðŽ‚Á‚Ä‚é‚©‚Ç‚¤‚©‚ðŠm”F‚µ‚Ä + Ž‚Á‚Ä‚éꇂ»‚Ìindex‚ð•Ô‚·B + item_id‚ª0‚Ìꇂ͋󂯂Ă銂Ìindex‚ð•Ô‚·B + pc_additem()‚Æpc_takeitem()‚¾‚¯‚ð­‚µC³B +EGMƒRƒ}ƒ“ƒh‚É@stpoint‚Æ@skpoint‚ð’ljÁB + @stpoint ”Žš - ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ðã‚°‚éB + @skpoint ”Žš - ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðã‚°‚éB + atcomand.c + C³B + atcomand.h + strcmpi“™‚ðLinux‚Å‚àŽg‚¦‚é‚悤‚ÉC³B + +---------- +//0301 by ŒÓ’±—– + +EÅ‘åHP‚ª32767‚ð’´‚¦‚é‚ƈÙí‚È’l‚É‚È‚é–â‘è‚ÌC³ +ELv‚ª99‚ð’´‚¦‚é‚Æ‚«‚àƒGƒtƒFƒNƒg‚ðo‚·‚悤‚É‚µ‚½(Ž©•ª‚É‚ÍŒ©‚¦‚È‚¢–Í—l) +E”z’uMOB‚É‚æ‚éƒCƒxƒ“ƒg‚ŃCƒxƒ“ƒg–¼‚ª‚SƒoƒCƒgˆÈã‚Æ‚¢‚¤§ŒÀ‚ð‚‚¯‚½ +EteleportŽž‚ÉŽæˆø’†’fAƒ`ƒƒƒbƒg‘ÞŽºA‘qŒÉ•Û‘¶ˆ—‚ð‚·‚é‚悤‚É‚µ‚½ + + pc.c + pc_calcstatus()‚ÌC³(HPŒvŽZ) + pc_setpos()‚ÌC³(Žæˆø’†’f‚È‚Ç) + clif.c + clif_set0078(),clif_set007b(),clif_spawnpc()‚ÌC³(Lv99ƒGƒtƒFƒNƒg) + npc.c + npc_parse_mob()‚ÌC³ + +E@h‚Åhelp.txt‚ª“Ç‚ß‚È‚¢‚Æ‚«‚É—Ž‚¿‚éƒoƒOC³ +E@lvup/@joblvup‚Å•‰’l‚ð“ü‚ê‚é‚ÆLvƒ_ƒEƒ“‚ª‰Â”\‚É‚È‚Á‚½ + + atcommand.c + @h,@lvup,@joblvupˆ—‚ÌC³ + +EƒeƒŒƒ|[ƒg‚È‚Ç‚ÌÁ–ŃGƒtƒFƒNƒg‚ÌC³ + + skill.c + ƒeƒŒƒ|‚ÌÁ–ŃGƒtƒFƒNƒg‚ð•ÏX + +Eó‘ÔˆÙí‚ÉŠÖ‚·‚éƒXƒNƒŠƒvƒgŽÀ‘• [sc_start]‚Æ[sc_end]B +E—ÎPOTA—΃n[ƒu‚È‚ÇŽÀ‘• +E‘•”õƒ{[ƒiƒXƒf[ƒ^’ljÁ + + (db/) + item_db.txt/item_db2.txt + ‘•”õƒ{[ƒiƒXƒf[ƒ^‚ð’ljÁ + —ÎPOTA—΃n[ƒu‚Ȃǂ̃XƒNƒŠƒvƒg’ljÁ + (map/) + script.c + buildin_warp()‚ÅÁ–ŃGƒtƒFƒNƒg‚ð•ÏX + buildin_sc_start(),buildin_sc_end()’ljÁ + +---------- +//0299 by ŒÓ’±—– + +ENPCƒCƒxƒ“ƒg‚ŃGƒNƒXƒ|[ƒg‚³‚ꂽƒ‰ƒxƒ‹‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚½ + NPCƒXƒNƒŠƒvƒg‚ÅOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’è‹`‚·‚é‚ÆAƒGƒNƒXƒ|[ƒg‚µ‚Ü‚·B + NPCƒCƒxƒ“ƒg‚Å"NPC–¼(orƒCƒxƒ“ƒg–¼)::ƒ‰ƒxƒ‹–¼"‚Æ‚·‚é‚ÆA + Žw’肵‚½ƒ‰ƒxƒ‹‚©‚çŽÀs‚Å‚«‚Ü‚·B + ƒ‰ƒxƒ‹–¼‚Í24ƒoƒCƒgˆÈ“à‚É‚µ‚ĉº‚³‚¢B + ‚ ‚ƃvƒƒOƒ‰ƒ€“I‚Ƀƒ‚ƒŠŒø—¦ˆ«‚¢‚Å‚·BŒã“úC³—\’è + <—á> + NPCutestv‚̃XƒNƒŠƒvƒg“à‚Å OnEvent: ‚ƃ‰ƒxƒ‹’è‹`‚µ‚½ê‡A + NPCƒCƒxƒ“ƒgutest::OnEventv‚ÅŽw’èˆÊ’u‚©‚çŽÀs‚Å‚«‚Ü‚·B + + (conf/) + npc_test_ev.txt + ƒ‰ƒxƒ‹Žw’è‚̃Tƒ“ƒvƒ‹‚à‚¿‚傱‚Á‚ƒljÁ + (map/) + script.c/script.h + script_get_label_db()‚Ȃǂ̒ljÁB + parse_script‚Åscriptlabel_db‚Ƀ‰ƒxƒ‹ƒf[ƒ^‚ð’ljÁ‚·‚é + npc.c/npc.h + npc_event_export()‚ȂǒljÁ + npc_parse_script‚щƒxƒ‹ƒf[ƒ^‚ðƒGƒNƒXƒ|[ƒg‚·‚é + map.h + struct map_session_data ‚Ìeventqueue‚̃Cƒxƒ“ƒg–¼‚̃TƒCƒY‚ð + 50ƒoƒCƒg‚É‚µ‚½B + +EAGI‚ÆDEX‚É‚æ‚éASPDŒvŽZ‚ÌÅ‘å’l‚ð180‚©‚ç190‚É•ÏX + pc.c + pc_calcstatus()‚ÌASPDŒvŽZC³ + +Eskill_db.txt/cast_db.txt‚Ì“Ç‚Ýž‚Ý‚ðskill.c‚É•ÏX + + pc.c + pc_readdb()‚ÌC³ + skill.c + skill_readdb()‚̒ljÁ + +EƒAƒCƒeƒ€»‘¢‰¼ŽÀ‘• + Šm—¦”»’肪–¢ŽÀ‘•‚Å‚·B•K‚¸¬Œ÷‚µ‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ƒAƒCƒeƒ€»‘¢‚ɑΉžiŒg‘Ñ—p—nz˜FA‹à’Æ‚È‚Çj + produce_db.txt + V‹K’ljÁB»‘¢ƒŠƒXƒgB + (map/) + skill.c/skill.h + struct skill_produce_db’ljÁ + skill_readdb()‚Åproduce_db.txt‚ð“ǂނ悤‚É + clif.c/clif.h + clif_skill_produce_mix_list(),clif_parse_ProduceMix()’ljÁ + script.c/script.h + »‘¢—pƒRƒ}ƒ“ƒh[produce]ì¬B + ˆø”‚Í»‘¢—p”’l‚ÅA1-4‚ª•Ší»‘¢(Lv)A16‚ªzÎ + + +---------- +//0298 by ŒÓ’±—– + +ELoginŽI‚̃pƒXƒ[ƒhˆÃ†‰»ƒ^ƒCƒv‚ðŽ©“®”FŽ¯‚Å‚«‚é‚悤‚É•ÏX + login.h‚ÌPASSWORDENC‚ð3‚É‚·‚é‚ÆŽ©“®”FŽ¯‚µ‚Ü‚·B + ʼn‚Épasswordencrypt‚Ń`ƒFƒbƒN‚µAŽ¸”s‚·‚ê‚Î + passwordencrypt2‚Ń`ƒFƒbƒN‚µ‚Ü‚·B + + (login/) + login2.c/login.h + ˆÃ†‰»ƒpƒXƒ[ƒh‚ÌƇ•”•ª‚ðC³ + +EƒAƒJƒEƒ“ƒg쬃c[ƒ‹‚ð“Y•t + Perl»‚È‚Ì‚ÅŽÀs‚É‚ÍPerl‚ª•K—v‚Å‚·B + Žg—p•û–@‚Ȃǂ̓GƒfƒBƒ^‚ÅŠJ‚¢‚ÄŒ©‚Ä‚­‚¾‚³‚¢B + Žg‚¢•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢l‚ÍŽè‚ðo‚³‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚·B + + (tool/) + addaccount + ƒAƒJƒEƒ“ƒg쬃c[ƒ‹PerlƒXƒNƒŠƒvƒg + +EƒXƒLƒ‹‚̒ljÁC³ + Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚̉ñ”§ŒÀ‚ðƒOƒ‹[ƒv–ˆ‚©‚烆ƒjƒbƒg–ˆ‚ÉC³ + EƒNƒ@ƒOƒ}ƒCƒA‰¼ŽÀ‘• i“G‚̈ړ®‘¬“xAƒLƒƒƒ‰‚Ì•\Ž¦”’l‚͕ω»‚¹‚¸j + EƒEƒH[ƒ^[ƒ{[ƒ‹‰¼ŽÀ‘•i“®ì‚ª³‚µ‚¢‚Ì‚©•s–¾j + EƒtƒƒXƒgƒmƒ”ƒ@‰¼ŽÀ‘•iƒGƒtƒFƒNƒg‚ª—Ç‚­‚í‚©‚ç‚È‚¢‚Ì‚Å“K“–j + Eƒxƒmƒ€ƒ_ƒXƒg‰¼ŽÀ‘•i”͈͂Ƃ©‚ª³‚µ‚¢‚©‚Ç‚¤‚©•sˆÀj + Eƒvƒƒ{ƒbƒNAƒI[ƒgƒo[ƒT[ƒNA¹‘Ì~•ŸA»‚Ü‚«AΓŠ‚°‚ÌŽÀ‘• + EƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“‚Ì“Å•t—^ŽÀ‘• + + *’ˆÓ* “Åó‘Ô‚ÍŒ©‚½–Ú‚¾‚¯‚ÅŒø‰Ê‚Í–¢ŽÀ‘• + + (db/) + skill_db.txt + »‚Ü‚«/ΓŠ‚°/ƒEƒH[ƒ^[ƒ{[ƒ‹‚È‚ÇC³ + (map/) + skill.c/skill.h + FXC³ + mob.c/mob.h + mob_target()’ljÁBMOB‚̃^ƒQ—p + battle.c + battle_get_*()ŒnC³‚È‚Ç + pc.c + pc_calcstatus()C³ + +---------- +//0297 by ŒÓ’±—– + +ELoginŽI‚ªƒpƒXƒ[ƒhˆÃ†‰»‚ɑΉž + ˆÃ†‰»key‚ÍŽI‹N“®Žž‚Ɉê“x‚¾‚¯ì¬‚µ‚Ü‚·B + + **’ˆÓ** + ˆÃ†‰»ƒpƒXƒ[ƒh‚ðŽg‚Á‚Ä‚¢‚éꇂÍAƒAƒJƒEƒ“ƒg‚ð쬂ł«‚Ü‚¹‚ñB + ƒAƒJƒEƒ“ƒg‚ðì‚éꇂÍclientinfo.xml‚ð•ÒW‚·‚é‚È‚Ç‚µ‚ÄA + ƒpƒXƒ[ƒh‚ðˆÃ†‰»‚µ‚È‚¢ƒNƒ‰ƒCƒAƒ“ƒg‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B + + (login/) + login2.c/login.h + ˆÃ†‰»ƒpƒXƒ[ƒh‚̃pƒPƒbƒgˆ—’ljÁ + ˆÃ†‰»key‚̶¬ˆ—’ljÁ + md5calc.c/md5calc.h + V‹K’ljÁBmd5ŒvŽZ—p + + +EƒXƒLƒ‹Žg—pƒfƒBƒŒƒC‚ÉDEX‚ª”½‰f‚³‚ê‚È‚¢‚悤‚ÉC³ + skill.c + skill_delay_fix()‚ÌC³ + +EŽ€–SŒã‚àˆê•”‚Ìó‘ÔˆÙí‚ÌŒø‰Ê‚ªŽ‘±‚·‚é–â‘è‚ðC³ + pc.c + pc_damage()‚ÅŽ€–SŽž‚Épc_calcstatus()‚ðŒÄ‚Ԃ悤‚ÉC³ + atcommand.c + Ž€–SŽžˆ—‚ðˆê–{‰»‚·‚邽‚ß@die‚Å‚Ípc_damage‚ðŒÄ‚Ԃ悤‚ÉC³ + + +---------- +//0295 by ŒÓ’±—– + +EƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒv‚ȂǂɃXƒLƒ‹‚ðŽg‚¤‚ƃ}ƒbƒvŽI‚ª—Ž‚¿‚é–â‘è‚ÌC³ + + battle.c + battle_get_*()‚È‚Ç‚ÅBL_PC,BL_MOB‚¶‚á‚È‚¢‚Æ‚«‚̈—‚ð’ljÁ + skill.c/skill.h + skill_unit_ondamage()’ljÁ + +E–ñ21Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ðNPC‚ňµ‚¤‚Æ‚«OC,DCŒvŽZ‚Å’l’i‚ª‚¨‚©‚µ‚­‚È‚éƒoƒOC³ + DC‚Å‚Í20MzAOC‚Å‚Í70Mz‚ð’´‚¦‚éƒAƒCƒeƒ€‚ÍdoubleŒ^‚É‚µ‚ÄŒvŽZ‚µ‚Ü‚· + + pc.c + pc_modifysellvalue(),pc_modifysellvalue()‚ÌC³ + +---------- +//0294 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ŃGƒŠƒAŽw’è‚ÌMOB•¦‚«–½—ß‚ðì¬ + areamonster "ƒ}ƒbƒv–¼",x0,y0,x1,y1,"MOB•\Ž¦–¼",MOB‚Ìclass,”,"ƒCƒxƒ“ƒg–¼" + À•WŽw’肪(x0,y0)-(x1,y1)‚Ì”CˆÓƒ|ƒCƒ“ƒg‚ɂȂ邾‚¯‚Å‘¼‚Ímonster–½—ß‚Æ“¯‚¶‚Å‚· + + script.c + buildin_areamonster()’ljÁ + mob.c/mob.h + mob_once_spawn_area()’ljÁ + +EƒAƒCƒXƒEƒH[ƒ‹‚ÌŽI‘¤ˆ—‰¼ŽÀ‘• + UŒ‚‚Å‚«‚È‚¢‚È‚Ç‚Ì–â‘è‚Í‚ ‚é‚à‚Ì‚ÌAŽI‘¤‚Å‚Í‚Æ‚è‚ ‚¦‚¸“®‚«‚Ü‚·B + ‚½‚¾AƒNƒ‰ƒCƒAƒ“ƒg‚Éi“ü•s‰Â”\ƒGƒŠƒA‚ð‹³‚¦‚éƒpƒPƒbƒg‚ª‚í‚©‚ç‚È‚¢‚Ì‚ÅA + ŽI‘¤‚Å‚ÍIW‚̉ñ‚èž‚Ý‚ðs‚¤ê‡‚Å‚àAƒNƒ‰ƒCƒAƒ“ƒg‘¤‚Å‚Í‚·‚蔲‚¯‚Ä‚¢‚é + ‚悤‚ÉŒ©‚¦‚Ü‚·B + + skill.c + ŠY“–ˆ—’ljÁ‚È‚Ç + +---------- +//0293 +E2-2ŽŸE‚̃XƒLƒ‹ƒRƒƒ“ƒg‚ÌC³iˆê•”’ljÁj + (db/) + skill_db.txt + skill_tree.txt + + +---------- +//0292 by ŒÓ’±—– + +ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³Part2 + E”„”ƒ‚Å‚«‚È‚©‚Á‚½–â‘èC³ + + map.h + struct map_session_data ‚Énpc_shopidƒƒ“ƒo’ljÁ + npc.c + npc_click()‚È‚ÇC³ + +EƒXƒNƒŠƒvƒg–½—ߒljÁ + EŽw’èƒGƒŠƒA‚̃†[ƒU[”‚ÌŠ“¾ + getareausers("ƒ}ƒbƒv–¼",x0,y0,x1,y1) + Žw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚É‚¢‚éPC‚Ì”‚ðŒvŽZ + EŽw’èƒGƒŠƒA‚̃†[ƒU[‚̃[ƒv + areawarp "“]‘—Œ³ƒ}ƒbƒv–¼",x0,y0,x1,y1,"“]‘—æƒ}ƒbƒv–¼",x,y; + Žw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚É‚¢‚é‘SPC‚ðŽw’èƒ}ƒbƒv‚Ì(x,y)‚É“]‘—B + + script.c + buildin_areawarp(),buildin_getareausers()’ljÁ + +EƒXƒLƒ‹C³ + EƒeƒŒƒ|[ƒgŽg—pŽž‚ÉuƒeƒŒƒ|[ƒg!!v‚Æ‹©‚Ԃ悤‚ÉB + EƒXƒg[ƒ“ƒJ[ƒX‚̬Œ÷—¦‚ª’á‚¢‚Ì‚ðC³ + + skill.c + skill_castend_nodamage_id()C³ + +---------- +//0291 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg–½—ߒljÁ + ENPC‚Ì—LŒø–³Œø‚ªØ‚è‘Ö‚¦‚ç‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + disablenpc "NPC–¼"‚Å–³Œø‰»Aenablenpc "NPC–¼"‚Å—LŒø‰»B + NPC–¼‚ªd•¡‚µ‚Ä‚¢‚é‚Æ‚«‚Ì“®ì‚Í•s’è‚Å‚·B + Žå‚Ƀ[ƒvƒ|ƒCƒ“ƒg‚𖳌ø‰»‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B + + Eƒ^ƒCƒ}[‚̃JƒEƒ“ƒg‚ð•ÏX‚·‚éƒXƒNƒŠƒvƒg–½—ߒljÁ + addtimercount "ƒCƒxƒ“ƒg–¼",ƒ~ƒŠ•b + ‚ÅAƒ^ƒCƒ}‚ÌŠúŒÀ‚ð‰„‚Î‚¹‚Ü‚·i•‰’l‚ðŽw’肵‚ÄŒ¸‚ç‚·‚±‚Æ‚ào—ˆ‚Ü‚·j + + EƒAƒiƒEƒ“ƒX‚ÌŠg’£ + mapannounce "ƒ}ƒbƒv–¼","ƒAƒiƒEƒ“ƒX•¶Žš—ñ",ƒtƒ‰ƒO + ‚ÅŽw’èƒ}ƒbƒv‚ɃAƒiƒEƒ“ƒX‚𗬂µ‚Ü‚·Bƒtƒ‰ƒO‚Í0‚ʼn©FA16‚Å‚ł·B + areaannounce "ƒ}ƒbƒv",x0,y0,x1,y1,"•¶Žš—ñ",ƒtƒ‰ƒO + ‚ÅŽw’èƒ}ƒbƒv‚Ì(x0,y0)-(x1,y1)‚̃GƒŠƒA‚ɃAƒiƒEƒ“ƒX‚𗬂µ‚Ü‚·B + ƒtƒ‰ƒO‚Ímapannounce‚Æ“¯‚¶‚ÅA0‚ʼn©FA0x10‚Å‚ł·B + + (conf/) + npc_test_arena.txt + ƒTƒ“ƒvƒ‹‚ÌC³ + (map/) + script.c + buildin_disablenpc(),buildin_enablenpc(), + buildin_mapannounce(),buildin_areaannounce(), + buildin_addtimercount()‚̒ljÁ + npc.c/npc.h + NPC‚Ì—LŒø–³Œøˆ—’ljÁ + map.h + struct npc_data‚Éflagƒƒ“ƒo’ljÁ(1ƒrƒbƒg–Ú‚ª–³Œøƒtƒ‰ƒO) + clif.c + clif_getareachar_npc()‚ÌC³ + pc.c/pc.h + pc_addeventtimercount()’ljÁ + +ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘è‚Ì‚Ü‚Æ‚à‚ÈHC³ + SHOP NPC‚ÆŽæˆø’†‚Å‚àƒCƒxƒ“ƒg‚ª‹N‚±‚é‚悤‚É‚È‚è‚Ü‚·B + ‚±‚ê‚ÍRO‚ÌŽd—lã”ð‚¯‚é‚Ì‚ª“‚¢‚½‚ß‚±‚̂悤‚ÈŒ‹‰Ê‚Å—Ž‚¿’…‚«‚Ü‚µ‚½B + + npc.c + npc_click()“™‚ÌC³ + +EƒXƒLƒbƒhƒgƒ‰ƒbƒv‚ÅŽc‘œ‚ªŽc‚é–â‘èC³ + skill.c + skill_blown()‚Åclif_walkok()‚È‚Ç‚ðŒÄ‚Ԃ悤‚ÉB + skill_unit_onplace()‚Ìclif_fix*pos()‚ðíœB + +---------- +//0290 by ŒÓ’±—– + +EƒXƒNƒŠƒvƒg‚ÅMAPŽI“à‹¤—L•Ï”‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + •Ï”–¼‚ð$‚ÅŠJŽn‚·‚é‚ÆAMAPŽI“à‚Ì‘Sˆõ‚Å‹¤—L‚·‚é•Ï”‚É‚È‚è‚Ü‚·B + + Œ¾—t‚Ì–â‘è‚Å‚·‚ªAPC‚Ìglobalreg‚Íu‘åˆæ“Iv‚Æ‚¢‚¤‚æ‚èu‰i‘±«‚Ì‚ ‚év + •Ï”‚Å‚ ‚Á‚ÄAMAPŽI“à‹¤—L•Ï”‚Ì‚Ù‚¤‚ª‘åˆæ“I‚Á‚ăCƒ[ƒW‚ª‹­‚¢‚ñ‚Å‚·‚ªc + + script.c + mapval_db’è‹` + buildin_set(),buildin_input()‚ÌC³ + do_init_script()’ljÁ + map.c + do_init()‚Ådo_init_script()‚ðŒÄ‚Ԃ悤‚ÉB + +EƒCƒxƒ“ƒgƒLƒ…[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + EƒLƒ…[ƒTƒCƒY‚Í‚Q‚Å‚·B•K—v‚Ȃ瑂₵‚Ü‚·‚ªB + + ƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]‚ª‚¿‚á‚ñ‚Æ“®‚­‚悤‚É‚È‚Á‚½‚ÆŽv‚¢‚Ü‚·B + + map.h + struct map_session_data‚Éeventqueueƒƒ“ƒo’ljÁ + npc.c + npc_event_timer()’ljÁ + script.c + run_script()‚ÅENDˆ—‚ŃLƒ…[‚̈—’ljÁ + +EƒXƒNƒŠƒvƒg‚Ń^ƒCƒ}[‚ªŽg—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + Žg—p•û–@‚ÍAaddtimer ƒ~ƒŠ•b,"ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[’ljÁA + deltimer "ƒCƒxƒ“ƒg–¼" ‚Ń^ƒCƒ}[íœB + + (common/) + timer.c/timer.h + get_timer(),addtick_timer()’ljÁ + (map/) + map.c/map.h + struct map_session_data‚Éeventtimerƒƒ“ƒo’ljÁ + map_quit()‚Åpc_cleareventtimer()‚ðŒÄ‚Ԃ悤‚ÉB + pc.c + pc_addeventtimer(),pc_deleventtimer(),pc_eventtimer(), + pc_cleaereventtimer()’ljÁ + pc_authok()‚Åeventimer‚̉Šú‰» + script.c + buildin_addtimer(),buildin_deltimer()’ljÁ + +EƒXƒNƒŠƒvƒg‚̒ljÁ + Egetusers,getmapusers,killmonster‚̒ljÁ + getusers(x)‚̓†[ƒU[”Š“¾Ax=0‚ÅPC‚ÌMAP,1=‘SMAP,8=NPC‚ÌMAPB + getmapusers("ƒ}ƒbƒv–¼")‚ÍŽw’èƒ}ƒbƒv‚̃†[ƒU[”‚ðŠ“¾‚·‚éB + killmonster "ƒ}ƒbƒv–¼","ƒCƒxƒ“ƒg–¼"‚ÅŠY“–‚̃}ƒbƒv‚É‚¢‚éA + ŠY“–‚̃Cƒxƒ“ƒg‹ì“®Žw’胂ƒ“ƒXƒ^[‚ð‘S‚ÄíœB + EannounceƒRƒ}ƒ“ƒhŠg’£ + ƒtƒ‰ƒO‚Ì0x08ƒrƒbƒg‚ª1‚È‚çƒ}ƒbƒv‚âƒGƒŠƒAŒvŽZ‚ÉPC‚Å‚È‚­NPC‚ðŽg‚¤ + + mob.c/mob.h + mob_delete()’ljÁ + script.c + buildin_getusers(),buildin_getmapusers(), + buildin_killmonster()’ljÁ + clif.c/clif.h + clif_GMmessage()‚̈ø”•ÏX + +EƒCƒxƒ“ƒgƒTƒ“ƒvƒ‹’ljÁ + ŠÈ’P‚ȃAƒŠ[ƒi‚̃Tƒ“ƒvƒ‹‚ð’ljÁB + + (conf/) + npc_test_ev.txt + ]—ˆ‚̃Tƒ“ƒvƒ‹‚ÌC³ + npc_test_arena.txt + ŠÈ’P‚ȃAƒŠ[ƒi‚̃Tƒ“ƒvƒ‹ + ƒ[ƒvƒ|ƒCƒ“ƒg‚Ì–³Œø‰»ƒRƒ}ƒ“ƒh‚È‚Ç‚ª•K—v‚ÆŽv‚í‚ê‚éB + +ESHOP NPC‚ɘb‚µŠ|‚¯‚é‚ÆNPC‚ª”½‰ž‚µ‚È‚­‚È‚é–â‘èC³ + + npc.c + npc_buylist(),npc_selllist()C³ + +---------- +//0289 by ŒÓ’±—– + +EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ÌC³‚È‚Ç + E‘¼‚ÌNPC‚ɘb‚µŠ|‚¯‚Ä‚¢‚é‚Æ‚«‚̓Cƒxƒ“ƒg‚ª–³Ž‹‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + =>ƒLƒ…[‚É“ü‚ê‚é‚Ȃǂ̈—‚ª‚¢‚é‚ÆŽv‚í‚ê‚éB + + ‚±‚ÌŠÖŒW‚ÅAƒTƒ“ƒvƒ‹‚Ì[ev_doƒeƒXƒg]NPC‚ðƒNƒŠƒbƒN‚µ‚Ä‚à + IDƒGƒ‰[‚ªo‚ĉ½‚à‹N‚«‚Ü‚¹‚ñBƒCƒxƒ“ƒgƒLƒ…[‚ðì‚ê‚Î’¼‚é‚Í‚¸B + + npc.c + npc_event(),npc_click()‚Énpc_idƒ`ƒFƒbƒN‚ð’ljÁ + script.c + I—¹Žž‚Énpc_id‚ðƒNƒŠƒA‚·‚é‚悤‚É + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[announce]‚̒ljÁ + EGMƒƒbƒZ[ƒW‚É‚æ‚éannounceB + ‘æ1ˆø”‚Í•¶Žš—ñA‘æ2ˆø”‚̓tƒ‰ƒO‚ÅA + ƒtƒ‰ƒO‚̉ºˆÊ‚Sƒrƒbƒg‚ª0=‘S‚ÄA1=“¯‚¶ƒ}ƒbƒvA + 2=‰æ–Ê“àA3=Ž©•ª‚Ì‚ÝA4=“¯‚¶ƒ}ƒbƒvŽI‚É‘—MB + ƒtƒ‰ƒO‚Ì‚Sƒrƒbƒg–Ú‚ÍFƒtƒ‰ƒO‚ÅA0x10=ÂA0x00=‰©F + + script.c + buildin_announce()‚̒ljÁ + clif.c + clif_send()‚ÅSELF‚̈—’ljÁ + clif_GMmessage()‚̈ø”•ÏX + intif.c + intif_GMmessage()‚̈ø”•ÏX + +Eƒƒ‚‹ÖŽ~AƒeƒŒƒ|‹ÖŽ~AƒZ[ƒu‹ÖŽ~ƒ}ƒbƒv‚ªŽw’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + ENPC‚ÅAmapflag‚Æ‚¢‚¤ƒ^ƒCƒv‚ÅA–¼‘O‚ð nomemo A noteleport‚Å + ƒƒ‚‚ƃeƒŒƒ|‹ÖŽ~Bnosave ‚ÅAˆø”‚ɃZ[ƒu‚·‚éƒ}ƒbƒv–¼‚ÆÀ•W‚ðŽw’èB + + Ú‚µ‚­‚Í“¯«‚Ìconf/npc_test_ev.txt‚ðŽQÆB + + (conf/) + npc_test_ev.txt + C³ + (map/) + map.h + struct map_data ‚Éflag,savemap,savex,saveyƒƒ“ƒo’ljÁ + npc.c + npc_parse_mapflag()’ljÁ + do_init_npc()‚ÌC³ + pc.c + pc_memo()‚Ńƒ‚‹ÖŽ~‚©‚Ç‚¤‚©‚ðŠm”F + pc_makesavestatus()‚ŃZ[ƒu‹ÖŽ~‚È‚çƒ}ƒbƒv‚ð•ÏX + pc_randomwarp()‚ŃeƒŒƒ|‹ÖŽ~‚©‚Ç‚¤‚©Šm”F + skill.c + ƒeƒŒƒ|‚ƃ|ƒ^‚ŃeƒŒƒ|‹ÖŽ~‚©Šm”F + + +Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚Å—Ž‚¿‚é–â‘èC³c‚¾‚Æ‚¢‚¢‚È + + skill.c + ‚³‚ç‚Ƀ`ƒFƒbƒN‚ð’ljÁ + skill_blown()‚É—Ž‚¿‚錴ˆö‚Á‚Û‚¢‚à‚Ì”­Œ©‚µ‚½‚Ì‚ÅC³ + +---------- +//0288 by ŒÓ’±—– + +EŽ©“®‘é”­“®Žž‚ÉuƒuƒŠƒbƒcƒr[ƒg!!v‚Æ‹©‚΂Ȃ­‚È‚è‚Ü‚µ‚½ + skill.c + skill_attack(),skill_additional_effect(), + skill_castend_damage_id()‚ÌC³ + +EƒCƒxƒ“ƒg‹ì“®Œ^ƒXƒNƒŠƒvƒg‚ª‹Lq‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +Eƒ‚ƒ“ƒXƒ^[‚ð“|‚µ‚½‚Æ‚«‚ɃCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚ð“®‚©‚¹‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + NPC’è‹`‚Ìscript‚Å•\Ž¦ƒNƒ‰ƒX‚ð-1‚É‚·‚é‚ƃCƒxƒ“ƒgˆµ‚¢‚É‚È‚è‚Ü‚·B + NPC’è‹`‚Ìmonster‚ɃCƒxƒ“ƒg–¼‚ðÝ’è‚Å‚«‚Ü‚·B + ƒXƒNƒŠƒvƒg‚ÌmonsterƒRƒ}ƒ“ƒh‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·ˆø”’ljÁB + Ú‚µ‚­‚̓Tƒ“ƒvƒ‹‚ðŒ©‚Ä‚­‚¾‚³‚¢B + ¡Œãƒ^ƒCƒ}[‚ŃCƒxƒ“ƒg‚ð‹N‚±‚¹‚é‚悤‚É‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B + + Œ»ó‚Å‚ÍANPCƒEƒBƒ“ƒhƒE‘€ì’†‚ɃCƒxƒ“ƒg‚ª‚¨‚«‚ÄA + ‚»‚̃Cƒxƒ“ƒg‚̃XƒNƒŠƒvƒg‚ÅNPCƒEƒBƒ“ƒhƒE‚ðo‚·‚Æ–â‘肪‹N‚«‚Ü‚·B + ‚±‚Ì•Ó‚Í¡Œã‚̉ۑè‚Æ‚¢‚¤‚±‚Æ‚ÅB + + (db/) + item_db.txt/item_db2.txt + monsterƒRƒ}ƒ“ƒh‚Ì•ÏX‚É‚æ‚éC³iŒÃ–Ø‚ÌŽ}jB + (conf/) + npc_test_ev.txt + ƒTƒ“ƒvƒ‹ + (map/) + npc.c + npc_event()’ljÁ + npc_parse_script()C³ + npc_checknear()C³ + clif.c + clif_getareachar_npc()C³ + map.h + struct mob_data‚Énpc_eventƒƒ“ƒo’ljÁ + mob.c/mob.h + mob_once_spawn()‚̈ø”•ÏX + mob_damage()‚ÅŽ€–SŽž‚ɃCƒxƒ“ƒg‚ð‹N‚±‚·‚悤‚É + atcommand.h + mob_once_spawn()‚̈ø”•ÏX + script.c + buildin_monster()‚ÌC³ + +---------- +//0287 by ŒÓ’±—– + +Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚Å‚g‚o‚ª65535‚ð‰z‚¦‚Ä‚¢‚é‚Ƴí‚È’l‚ªŒ©‚ê‚È‚¢ƒoƒOC³ + + clif.c + clif_skill_estimation()‚ÌC³ + +EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ŃNƒ‰ƒCƒAƒ“ƒg‚ªƒŠƒ\[ƒXƒGƒ‰[‚ðo‚·–â‘肪C³‚³‚ê‚Ü‚µ‚½ +EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚Å¢Š«‚Å‚«‚é“G‚ªŽw’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + (db/) + mob_branch.txt + ¢Š«‰Â”\‚È“G‚̃ŠƒXƒg + (map/) + mob.c/mob.h + struct mob_data‚Ésummonflagƒƒ“ƒo’ljÁB¢Š«‰Â”\«B + mob_once_spawn()‚ÌC³ + mob_readbranch()‚̒ljÁ + do_init_mob()‚Åmob_readbranch()‚ðŒÄ‚Ԃ悤‚ÉB + +EŒÃ‚­Â‚¢” AŒÃ‚¢Ž‡F‚Ì” ‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½B + ˆê•”‚Ì–¢ŽÀ‘•ƒAƒCƒeƒ€‚ào‚Ü‚·Bitem_db.txt‚É‚ ‚éƒf[ƒ^‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·B + ƒXƒNƒŠƒvƒggetitem‚Å•‰‚Ì’l‚ðŽw’è‚·‚é‚ÆA‚»‚Ìâ‘Î’l‚ðƒtƒ‰ƒO‚Æ‚µ‚Ä + ƒ‰ƒ“ƒ_ƒ€‚ɃAƒCƒeƒ€‚ð‘I‘ð‚µ‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ŠY“–•”•ª‚̃XƒNƒŠƒvƒgC³ + (map/) + script.c + buildin_getitem()‚ÌC³ + itemdb.c/itemdb.h + itemdb_searchrandomid(),itemdb_searchrandomid_sub()’ljÁ + +E‰r¥ƒf[ƒ^‚̈ꕔC³ + (db/) + cast_db.txt + ‘¬“x㸂ȂǂÌC³ + +ENPC‚ÌŒü‚«C³‚È‚Ç + (conf/) + npc_*.txt + +---------- +//0286 by ŒÓ’±—– + +Eƒ‚ƒ“ƒXƒ^[î•ñƒXƒLƒ‹‚ŃNƒ‰ƒCƒAƒ“ƒg‚ª—Ž‚¿‚éƒoƒOC³ + clif.c + clif_skill_estimation()‚ÌC³ + +E‰r¥”½‰žƒ‚ƒ“ƒXƒ^[‚ª”½‰ž‚µ‚È‚¢‚±‚Æ‚ª‚ ‚é–â‘è‚ðC³ + skill.c + skill_use_id(),‰r¥”½‰žŽžAÅ’á’ÇÕ‹——£‚ð13‚ÉÝ’è‚·‚é‚悤‚ÉB + +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[warp]‚ŃZ[ƒuƒ|ƒCƒ“ƒgˆÚ“®‚⃉ƒ“ƒ_ƒ€ˆÚ“®‚ª‰Â”\‚É‚È‚è‚Ü‚µ‚½ +EƒnƒG‚̉HA’±‚̉HƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ƒXƒNƒŠƒvƒgwarp‚Ń}ƒbƒv–¼‚É"SavePoint"‚â"Random"‚ªŽw’è‚Å‚«‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ƒnƒG‚̉HA’±‚̉H‚̃XƒNƒŠƒvƒgC³ + script.c + buildin_warp()‚ÌC³ + +E@monsterƒRƒ}ƒ“ƒh‚É‚æ‚éMOB‚ª•œŠˆ‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ +EƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh[monster]‚ÅMOB‚ð”­¶‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +EŒÃ–Ø‚ÌŽ}ƒAƒCƒeƒ€‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + + ƒXƒNƒŠƒvƒgˆø”‚Í monster ƒ}ƒbƒv–¼,x,y,MOB–¼,MOB‚ÌID,” ‚Å‚·B + ƒ}ƒbƒv–¼‚ª"this"‚Ìê‡AƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚½ƒvƒŒƒCƒ„[‚Ì‚¢‚éƒ}ƒbƒvA + x,y‚ª-1‚È‚çƒvƒŒƒCƒ„[‚ÌÀ•Wi‚Ç‚¿‚ç‚©ˆê•û‚Ì‚Ý‚»‚낦‚邱‚Æ‚à‰Â”\jA + MOB–¼‚ª"--en--"‚Ìê‡A–{—ˆ‚̉pŒê–¼‚É‚È‚èA"--ja--"‚Ìê‡A + –{—ˆ‚Ì“ú–{Œê–¼‚É‚È‚è‚Ü‚·BMOB‚ÌID‚ª-1‚Ìê‡A“K“–‚ÈID‚É‚È‚è‚Ü‚·B + + (db/) + item_db.txt/item_db2.txt + ŒÃ–Ø‚ÌŽ}‚̃XƒNƒŠƒvƒgC³ + (map/) + mob.c/mob.h + mob_once_spawn()’ljÁ + mob_setdelayspwan()‚Å•œŠˆ‹ÖŽ~ˆ—’ljÁB + npc.c/npc.h + npc_get_new_npc_id()’ljÁ + script.c + buildin_monster()’ljÁ + atcommand.c + @monster‚ÌC³ + +E@itemƒRƒ}ƒ“ƒh‚ÌC³i‘•”õ•i‚È‚Ç‚Ì–â‘èj + + atcommand.c + @item‚ÌC³ + +---------- +//0284 by ŒÓ’±—– + +EáŠQ•¨‚ª‚ ‚é‚Ɖ“‹——£UŒ‚‚ª‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ +E‘Î’nƒXƒLƒ‹‚ªáŠQ•¨ã‚ÉŽg—p‚Å‚«‚È‚­‚È‚è‚Ü‚µ‚½ + + path.c + path_search(),can_move()‚ÌC³Acan_place()‚̒ljÁ + battle.c/battle.h + battle_check_range()’ljÁAŽË’ö‚ÆáŠQ•¨”»’èB + battle_weapon_attack()‚Åbattle_check_range()‚ðŒÄ‚ÔB + skill.c + skill_use_id()Askill_use_pos()‚Åbattle_check_range()‚ðŒÄ‚ÔB + mob.c + mob_ai_sub_hard()‚̈—‚ðC³ + +E‰r¥”½‰ž/ƒŠƒ“ƒNƒ‚ƒ“ƒXƒ^[‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + skill.c + skill_use_id()‚ɉr¥”½‰žƒ‚ƒ“ƒX‚̈—’ljÁ + mob.c + mob_ai_sub_hard_linksearch()‚̒ljÁ + mob_ai_sub_hard()‚ɃŠƒ“ƒNˆ—‚ðC³ + +---------- +//0283 by ‚ê‚  +EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ÌC³ + 0282‚Ŷ‚«‚Ä‚é‚o‚b‚ɃŠƒU‚ª‚©‚¯‚ê‚é‚Ì‚ÉA + Ž€‚ñ‚Å‚é‚o‚b‚ɂ̓ŠƒU‚ª‚©‚©‚ç‚È‚­‚È‚Á‚Ä + ‚¢‚½‚Ì‚ðC³‚µ‚Ü‚µ‚½B + +---------- +//0282 by ŒÓ’±—– + +EƒXƒLƒ‹‚ÌC³‚ƒljÁŽÀ‘• + EƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚̃GƒtƒFƒNƒg‚Ì–â‘èC³B + EƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ª¶‚«‚Ä‚¢‚éPC‚É‚ÍŠ|‚¯‚ç‚ê‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ + Eƒ^[ƒ“ƒAƒ“ƒfƒbƒh/UŒ‚ƒŠƒUƒŒƒNƒVƒ‡ƒ“‚ªBOSS‚É‚ÍŒø‚©‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½ + Eƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹‚̃qƒbƒg”§ŒÀ‚ðŽÀ‘• + EƒXƒg[ƒ€ƒKƒXƒg‚ÌŽÀ‘• + ‚½‚¾‚µA–{ŽI‚ƈႢ“€Œ‹‚ÍŠm—¦‚Ì‚Ý‚ÅAÅ‘åƒqƒbƒg”‚È‚Ç‚ª•Ï‚Å‚·B + + skill.c + skill_castend_nodamage_id()‚ÌC³ + ƒXƒg[ƒ€ƒKƒXƒg‚̈—’ljÁ + +EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚ɈӒn‚É‚È‚Á‚ĈÀ‘S«ƒ`ƒFƒbƒN‚ð’ljÁB + i—Ž‚¿‚È‚­‚È‚é“ú‚͉“‚¢HHj + + map.h + MAX_SKILLUNITGROUP‚ð32‚É‘‚₵‚½ + skill.c + skill_status_change_*()‚ÉNULLƒ`ƒFƒbƒN’ljÁ + battle.c + battle_calc_damage()‚ɶ‘¶ƒ`ƒFƒbƒN’ljÁ + map.c + map_freeblock_unlock()‚ɃƒbƒN”ƒ`ƒFƒbƒN‚ð’ljÁ + +E‚»‚Ì‘¼C³ + EPC‚ÌÅ‘åHP‚ª30000‚ɧŒÀ‚³‚ê‚Ü‚µ‚½B + EPC‚̉ñ•œˆ—‚ªC³‚³‚ê‚Ü‚µ‚½ + E‚«”ò‚΂µˆ—‚ÌC³ + E0281‚Ìitem_db.txt‚Ì•ÏX‚ðitem_db2.txt‚É‚à“K—p + + (map/) + pc.c + pc_heal(),pc_calcstatus()‚ÌC³ + path.c + path_blownpos()‚ÌC³ + (db/) + item_db2.txt + 0281‚Ì–¼‘OC³‚È‚Ç‚ð“K—p + +---------- +//0280 by ŒÓ’±—– + +EŠÇ—ŽÒ‚̃VƒXƒeƒ€‚ðì¬ + "conf/login_athena.cnf"‚Ìì¬AŠÇ—ŽÒƒpƒXAGMƒpƒX‚ÌÝ’èB + ƒAƒJƒEƒ“ƒg‚ðì‚é‚Æ‚«A + ƒ—á„ ID: hoge_M Pass: foobar@admin + ‚̂悤‚ÉAƒpƒXƒ[ƒh‚ÌŒã‚ë‚Éu@ŠÇ—ŽÒƒpƒXv‚ª•K—v‚ÉB + login_athena.cnf‚Ìadmin_pass‚Ì—“‚ðÁ‚¹‚ÎA¡‚܂ł̂悤‚É‚à‚‚©‚¦‚Ü‚·B + i‚»‚Ìê‡Aadmin_pass‚ÌŒã‚낾‚¯‚Å‚È‚­As‚²‚ÆÁ‚µ‚Ä‚­‚¾‚³‚¢j + + (login/) + login.h + Ý’èƒtƒ@ƒCƒ‹‚̃fƒtƒHƒ‹ƒg–¼’ljÁ + login2.c + ƒAƒJƒEƒ“ƒg쬂̂Ƃ±‚ë‚ðC³ + Ý’èƒtƒ@ƒCƒ‹‚Ì“Ç‚Ýž‚ݒljÁ + +E@GMƒRƒ}ƒ“ƒh•œŠˆ + ‚½‚¾‚µAu@gm GMƒpƒXv‚Æ‚µ‚ÄŽg‚¢‚Ü‚·B + GMƒpƒX‚Ílogin_athena.cnf‚Ì‚à‚Ì‚Å‚·B + ŽI‚ÌÄ‹N“®‚Ì•K—v‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA + ƒNƒ‰ƒCƒAƒ“ƒg‚̓ŠƒƒO‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B + + ƒ’ˆÓ„ + “¯‚¶ƒAƒJƒEƒ“ƒg‚Ì‘S‚ẴLƒƒƒ‰‚ÍPT‚©‚甲‚¯‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B + ‚Ü‚½A‘qŒÉ‚̃AƒCƒeƒ€‚Í‘S•”ˆø‚«o‚µ‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B + ‚»‚¤‚µ‚È‚¢‚ƃSƒ~ƒf[ƒ^‚ªŽc‚è‚Ü‚·B + + (login/) + login2.c + ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + (char/) + char2.c + ƒAƒJƒEƒ“ƒgID•ÏXˆ—’ljÁ + (map/) + chrif.c/chrif.h + chrif_changegm(),chrif_changedgm()’ljÁ + +E@pvpoffƒRƒ}ƒ“ƒh•œŠˆ + clif.c/clif.h + clif_pvpoff()’ljÁ + atcommand.c + @pvpoff‚̈—’ljÁ + +E‹ó‚Ì‘qŒÉƒf[ƒ^‚Í•Û‘¶‚³‚ê‚È‚¢‚悤‚É•ÏX + (char/) + int_storage.c + inter_storage_save()Astorage_tostr()‚ðC³ + +E@memoƒRƒ}ƒ“ƒh’ljÁB + ”CˆÓ‚Ì‹L‰¯ˆæ‚Ƀƒ‚‚ðŽæ‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½B + + atcommand.c + @memo‚̈—’ljÁ + + +---------- +//0279 by ŒÓ’±—– + +EƒXƒLƒ‹ƒ†ƒjƒbƒgˆ—‚Ì–â‘è‘Îô + ‚Æ‚è‚ ‚¦‚¸‚Ђ½‚·‚çƒ`ƒFƒbƒN‚ð“ü‚ê‚Ü‚µ‚½B + + skill.c + skill_unit_timer_sub(),skill_unit_move_sub(), + skill_delunit()‚Ƀ†ƒjƒbƒg‚̶‘¶”»’è‚ð’ljÁB + skill_unitgrouptickset_search(),skill_unitgrouptickset_delete() + skill_delunitgroup()‚ÉNULLƒ|ƒCƒ“ƒ^ƒ`ƒFƒbƒN‚ð’ljÁB + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + ƒeƒŒƒ|[ƒgAƒ[ƒvƒ|[ƒ^ƒ‹‚ÌŽÀ‘• + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ðMOB‚ÉŠ|‚¯‚é‚Æ—Ž‚¿‚éƒoƒOC³ + + (db/) + cast_db.txt + ƒ[ƒvƒ|[ƒ^ƒ‹‚̉r¥ŽžŠÔÝ’è + (map/) + map.h + struct skill_unit_group‚Ìvalstr‚ðƒ|ƒCƒ“ƒ^‚É•ÏX + clif.c/clif.h + clif_parse_UseSkillMap(),clif_skill_warppoint()A + clif_parse_Memo(),clif_skill_memo()’ljÁ + skill.c/skill.h + skill_castend_map(),skill_unit_onlimit()‚̒ljÁ + skill_unit_*Œn‚̈—‚¢‚ë‚¢‚ë’ljÁB + skill_status_change_start()‚̃LƒŠƒG‚̈—C³ + pc.c/pc.h + pc_randomwarp(),pc_memo()’ljÁ + +---------- +//0278 by nabe + +EƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ðU‚Á‚½‚Æ‚«‚ɃXƒe[ƒ^ƒX‚ðXV + pc.c + pc_skillup()‚Åpc_calc_skilltree()‚Ì‘ã‚í‚è‚Épc_calcstatus() +EŠŽ—Ê‘‰Á‚ðC³ + pc.c + pc_calcstatus()‚ÌŠŽ—Ê‘‰Á‚É‚æ‚émax_weight‘•ª‚ðskill*1000‚É + +---------- +//0277 by nabe + +E•t‘®•iiƒJ[ƒgA‘éAƒyƒRj‚Ì•t‚¯ŠO‚µ‚ð‰ü—Ç + (conf/) + npc_event_rental.txt + ‘éAƒyƒR‚ð•t‚¯‚éƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð•ÏX + (map/) + battle.c + battle_addmastery(),battle_calc_weapon_attack()‚Å + ƒyƒRƒyƒR‹R掞‚Ì‘„UŒ‚—͕ⳂðŽÀ‘• + clif.c + clif_parse_CartOff‚ðclif_parse_RemoveOption‚É•ÏX + pc.c/pc.h + pc_calcstatus()‚ŃJ[ƒgAƒyƒRƒyƒRæ‚è‚É‚æ‚鑬“x•Ï‰»‚ðŒvŽZ + pc_setoption(),pc_setcart()‰ü—Ç + pc_setfalcon(),pc_setriding()’ljÁ + pc.h‚Épc_isfalcon(),pc_isriding()ƒ}ƒNƒ’ljÁ + script.c + buildin_setfalcon() ‘é•t‰Á + buildin_setriding() ƒyƒRƒyƒRæ‚è + +---------- +//0276 by nabe + +E¸˜BNPCŽÀ‘• + (conf/) + npc_town_refine.txt + ¸˜BNPCƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹V‹K’ljÁ + (map/) + pc.c/pc.h + ¸˜B¬Œ÷—¦‚Ì•\percentrefinery[5][10]‚ð’ljÁ + script.c‚©‚çŒÄ‚΂ê‚éŠÖ” + pc_percentrefinery() ¸˜B¬Œ÷—¦ + pc_equipitemindex() ‘•”õ•iƒCƒ“ƒfƒbƒNƒX + ‚ð’ljÁ + script.c + buildin_getequipname() ‘•”õ–¼•¶Žš—ñi¸˜Bƒƒjƒ…[—pj + buildin_getequipisequiped() ‘•”õƒ`ƒFƒbƒN + buildin_getequipisenableref() ‘•”õ•i¸˜B‰Â”\ƒ`ƒFƒbƒN + buildin_getequipisidentify() ‘•”õ•iŠÓ’èƒ`ƒFƒbƒN + buildin_getequiprefinerycnt() ‘•”õ•i¸˜B“x + buildin_getequipweaponlv() ‘•”õ•i•ŠíLV + buildin_getequippercentrefinery() ‘•”õ•i¸˜B¬Œ÷—¦ + buildin_successrefitem() ¸˜B¬Œ÷ + buildin_failedrefitem() ¸˜BŽ¸”s + ‚ð’ljÁ + +EƒXƒNƒŠƒvƒg‚ÉWeight,MaxWeightƒpƒ‰ƒ[ƒ^‚ð’ljÁ + const.txt + Weight,MaxWeight‚ð’ljÁ + +EƒXƒNƒŠƒvƒg‚ł̃Lƒƒƒ‰–¼•\Ž¦•ûŽ®‚ð•ÏX + (conf/) + npc_job_merchant.txt/npc_job_thief.txt/npc_town_kafra.txt + mes "$charaname"; ‚ð mes strcharinfo(0); ‚É•ÏX + (map/) + script.c + buildin_strcharinfo()‚ð’ljÁ + +---------- +//0275 by ŒÓ’±—– + +EMVP‚ÌŽÀ‘• + MVP‚Ì”»’è‚É‚Ídmglog‚ðŽg‚Á‚Ä‚Ü‚·B‚·‚È‚í‚¿—^ƒ_ƒ‚¾‚¯‚ªŒvŽZ‘ÎÛ‚Å‚·B + ”íƒ_ƒ‚Íl—¶‚³‚ê‚Ä‚Ü‚¹‚ñB + ŒoŒ±’l‚Í–³ðŒ‚Å“ü‚èAŠm—¦‚Å‚³‚ç‚ɃAƒCƒeƒ€‚ª“ü‚è‚Ü‚·B + ƒAƒCƒeƒ€‚Í•¡”Žè‚É“ü‚邱‚Æ‚à‚ ‚è‚Ü‚·B + + clif.c/clif.h + clif_mvp_effect(),clif_mvp_item(),clif_mvp_exp()’ljÁ + mob.c + mob_damage()‚ÉMVPˆ—’ljÁ + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + Eƒ}ƒOƒiƒ€ƒuƒŒƒCƒNAƒAƒ[ƒVƒƒƒ[ŽÀ‘• + E‚«”ò‚΂µŒnƒXƒLƒ‹‚ªˆê•”Žg—p‚³‚ê‚È‚¢ƒoƒOC³ + Eƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒO‚̃_ƒ[ƒWŒvŽZŽ®C³ + E•ŠíUŒ‚Œn‘®«•t‚«ƒXƒLƒ‹‚Å‘®«‚ª”½‰f‚³‚ê‚È‚¢–â‘èC³ + Eꊎw’èƒXƒLƒ‹‚ªUŒ‚‚µ‚È‚ª‚ç‰r¥‚Å‚«‚½–â‘è‚ðC³ + + battle.c + battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³•’ljÁ + skill.c + skill_castend_damage_id()‚Ɉ—’ljÁ + skill_use_pos()‚ÉUŒ‚’âŽ~ˆ—’ljÁ + +EƒJ[ƒhƒXƒLƒ‹‚ªƒJ[ƒh‚ðŠO‚µ‚Ä‚àŽg—p‰Â”\‚È–â‘è‚ðC³ + pc.c + pc_calc_skilltree()‚ðC³ + +EƒAƒCƒeƒ€ƒhƒƒbƒv—¦AexpŠ“¾”{—¦‚È‚Ç‚Ì’²®‹@”\’ljÁ + battle_athena.cnf‚Å’²®‚Å‚«‚逖ڂª‘‚¦‚Ü‚µ‚½B + Ú‚µ‚­‚Í‚»‚¿‚ç‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B + + (conf/) + battle_athena.cnf + mvp_hp_rate,item_rate,exp_rate,mvp_item_rate,mvp_exp_rate’ljÁ + (map/) + battle.c/battle.h + ‘‚¦‚½€–Ú‚ð“Ç‚Ýž‚ނ悤‚Ɉ—’ljÁ + mob.c + mob_db.txt“Ç‚Ýž‚ÝŽžAƒf[ƒ^‚ð’²®‚·‚鈗’ljÁ + +---------- +//0274 by ŒÓ’±—– + +EƒXƒLƒ‹‚̒ljÁŽÀ‘• + ƒXƒLƒbƒhƒgƒ‰ƒbƒvAƒ‰ƒ“ƒhƒ}ƒCƒ“Aƒuƒ‰ƒXƒgƒ}ƒCƒ“AƒNƒŒƒCƒ‚ƒA[ƒgƒ‰ƒbƒvA + ƒtƒŠ[ƒWƒ“ƒOƒgƒ‰ƒbƒvAƒTƒ“ƒhƒ}ƒ“AƒAƒ“ƒNƒ‹ƒXƒlƒA + + ‡–°‚â“€Œ‹‚È‚Ç‚ÌŠm—¦‚Í“K“–‚Å‚·B + ã©”­“®Žž‚̃GƒtƒFƒNƒg‚ªo‚Ü‚¹‚ñB‚Ä‚¢‚¤‚©o‚µ•û‚ª‚í‚©‚è‚Ü‚¹‚ñB + ‚í‚©‚él‚Í‹³‚¦‚Ä‚­‚¾‚³‚¢B‚à‚µ‚­‚Í–{ŽI‚Åã©”­“®Žž‚Ì•¡‡‰»Ï‚Ý‚Ì + ¶ƒpƒPƒbƒgƒf[ƒ^‚Å‚à‚¢‚¢‚Ì‚Å‹³‚¦‚Ä‚­‚¾‚³‚¢B + + (db/) + skill_db.txt + ‘®«‚ÌC³ + (map/) + skill.c + ŠY“–ŒÂŠ + battle.c/battle.h + battle_calc_misc_damage()‚ÌŠY“–ŒÂŠ + battle_stopwalking()’ljÁ + clif.c/clif.h + clif_fixpcpos()’ljÁ + clif_parse_WalkToXY()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ + mob.c + mob_ai_sub_hard()‚ɃAƒ“ƒNƒ‹‚Å“®‚¯‚È‚­‚·‚鈗’ljÁ + +E‘•”õ‚Ȃǂ̃NƒŠƒeƒBƒJƒ‹ƒ{[ƒiƒX‚ª1/10‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗C³ + +EƒuƒŠƒbƒcƒr[ƒg‚ÌŒvŽZŽ®‚ª‘S‘Rˆá‚¤ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_attack()‚ÌBF_MISC‚̈’u‚ªŠÔˆá‚Á‚Ä‚¢‚½‚Ì‚ðC³ + +ESW‚ƃjƒ…[ƒ}‚ª•ŠíUŒ‚‚È‚ç‚Ç‚ñ‚ȃŒƒ“ƒW‚ÌUŒ‚‚Å‚à–h‚¢‚Å‚¢‚½–â‘è‚ðC³ + battle.c + battle_calc_damage()‚̃Œƒ“ƒW”»’è‚ðC³ + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚ƃEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“‚ªPTƒƒ“ƒo‚É‚à‚©‚©‚é‚悤‚ÉC³B + Œø‰Ê‚ÍŽg—pŽÒ‚ÆPTƒƒ“ƒo‚ňႢ‚Í‚ ‚è‚Ü‚¹‚ñB + + skill.c + skill_castend_nodamage_id()‚ÌC³B + +---------- +//0273 by ŒÓ’±—– + +EƒLƒƒƒ‰ƒNƒ^[‚ªÁŽ¸‚µ‚½‚茶‰e‚ªo‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½ + E‚«”ò‚΂µƒXƒLƒ‹‚ðŽó‚¯‚é‚Æ”­¶‚µ‚Ä‚¢‚½ + EŽÎ‚߈ȊO‚Ì•às‚Å”­¶‚µ‚Ä‚¢‚½ + + map.c + map_foreachinmovearea()‚ÌC³B + skill.c + skill_blown()‚É•\Ž¦”͈ÍXVˆ—‚ð’ljÁB + mob.c + mob_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + pc.c + pc_walk()‚Å•à‚«I‚í‚Á‚½‚Æ‚«‚Ɉʒu‚ðÄ‘—M‚·‚é‚悤‚ÉC³ + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + ƒtƒ@ƒCƒ„[ƒEƒH[ƒ‹Aƒtƒ@ƒCƒ„[ƒsƒ‰[‚ÌŽÀ‘• + ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ł̃mƒbƒNƒoƒbƒN•ûŒü‚ðC³ + + (db/) + skill_db.txt + ƒtƒ@ƒCƒ„[ƒsƒ‰[AƒuƒŠƒbƒcƒr[ƒg‚̃qƒbƒg”C³ + (map/) + skill.c + skill_blown()‚É‘ÎÛ‚ÌŒü‚«‚É‚æ‚éƒmƒbƒNƒoƒbƒNˆ—’ljÁ + ‚»‚Ì‘¼•K—v‚ÈêŠC³ + mob.c + mob_walk(),mob_attack()‚ÅŒü‚«‚ð•Û‘¶ + pc.c + pc_walk(),pc_attck()‚ÅŒü‚«‚ð•Û‘¶ + map.c + map_calc_dir()’ljÁB‘Š‘ΓI‚È•ûŒü‚ð‹‚ß‚é + + +EƒNƒŠƒeƒBƒJƒ‹‘‰Á‘•”õ‚ªí“¬Žž‚ÉŒvŽZ‚³‚ê‚Ä‚È‚¢ƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ɒljÁ•ª‚ðŒvŽZ‚·‚鈗’ljÁ + + +E–hŒäƒ†ƒjƒbƒgiSW/ƒjƒ…[ƒ}j‚ª“G‚ɉe‹¿‚ð‹y‚Ú‚·‚©‚Ç‚¤‚©‚ð + battle_athena.cnf‚ŧŒä‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + ƒfƒtƒHƒ‹ƒg‚Íu‹y‚Ú‚³‚È‚¢v‚Å‚·B + + (conf/) + battle_athena.cnf + €–Údefunit_not_enemy‚ð’ljÁ + (map/) + battle.c/battle.h + struct Battle_Config ‚É defnotenemyƒƒ“ƒo’ljÁB + battle_read_config()‚̈—‚ðC³B + skill.c + skill_unitsetting()‚ÅSW/ƒjƒ…[ƒ}‚̈—‚ðC³ + +EƒtƒFƒ“ƒJ[ƒh‘•”õŽžAŽ€‚ñ‚Å‚à‰r¥‚ª‘±‚­ƒoƒO‚ðC³ + i‰r¥I—¹‘O‚É•œŠˆ‚·‚ê‚Ζ‚–@‚ª”­“®‚·‚é–â‘è‚àC³‚É‚È‚è‚Ü‚·j + + pc.c + pc_damage()‚ÅŽ€–SŽžskill_castcancel()‚ðŒÄ‚Ԃ悤‚ÉC³ + +E“G–¡•û”»’舗‚ɃoƒO‚ª‚ ‚Á‚½‚Ì‚ðC³ + battle.c + battle_check_target()‚ÌC³ + +---------- +//0272 by ŒÓ’±—– + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + EƒZƒCƒtƒeƒBƒEƒH[ƒ‹Aƒjƒ…[ƒ}‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½B + Eƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“”­“®’†‚ÉŒø‰Ê”͈͊O‚©‚ç”͈͓à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«A + “G–¡•û‚Ì‹æ•Ê–³‚­UŒ‚‚ª“–‚½‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½B + EƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ªC³‚³‚ê‚Ü‚µ‚½B + E”͈͖‚–@‚Å“|‚µ‚½“G‚ªHP0‚ÅŽc‚éꇂª‚ ‚é–â‘肪C³‚³‚ê‚Ü‚µ‚½B + + (db/) + skill_db.txt + ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃTƒ“ƒNƒ`ƒ…ƒAƒŠ‚ÌŽË’ö‚ð8‚É•ÏX + (map/) + skill.c + skill_unit_onplace(),~ondelete(),~onout()‚È‚Ç‚ÉA + ƒZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB + skill_unit_move()‚Ƀ^[ƒQƒbƒg‚Ì“G–¡•û”»’è‚ð’ljÁB + skill_unit_timer_onplace(),~ondelete()‚Ƀ†ƒjƒbƒg¶‘¶”»’è‚ð’ljÁ. + skill_clear_unitgroup()’ljÁBƒ†ƒjƒbƒgƒOƒ‹[ƒv‚Ì‘Síœ‚ð‚·‚éB + battle.c + battle_calc_damage()‚ɃZƒCƒtƒeƒBƒEƒH[ƒ‹‚ƃjƒ…[ƒ}‚̈—’ljÁB + map_foreachinarea()‚È‚ÇC³ + map.c + map_quit()‚Åskill_clear_unitgroup()‚ðŒÄ‚Ԃ悤‚ÉB + +EƒXƒLƒ‹‚Ì‚«”ò‚΂µˆ—‚ðŽÀ‘• + ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒXƒsƒAƒXƒ^ƒuA + ƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ…Aƒ`ƒƒ[ƒWƒAƒ[‚Ì‚«”ò‚΂µˆ—ŽÀ‘• + + path.c/map.h + path_blownpos()’ljÁ + battle.c/battle.h + struct Damage‚Éblewcountƒƒ“ƒo’ljÁ + battle_calc_*_damage()‚Åblewcount‚ðƒZƒbƒg‚·‚é‚悤‚ÉB + skill.c/skill.h + skill_blown()’ljÁB‚«”ò‚΂µˆ—B + skill_attack()‚Åskill_blown()‚ðŒÄ‚Ԃ悤‚ÉB + skill_attack()‚Ìflag‚Ì‚«”ò‚΂µƒrƒbƒg‚Í–¢Žg—p‚ÉB + +E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«Aƒ‚ƒ“ƒXƒ^[‚ɃfƒBƒŒƒC‚ª“ü‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + iUŒ‚‚̃‚[ƒVƒ‡ƒ“‚Ì’x‰„‚ðl‚¦‚Ä‚È‚¢‚Ì‚Å‚ ‚ñ‚Ü‚èˆÓ–¡‚ª‚È‚¢‚©‚àHj + + (map/) + mob.c/mob.h + state‚ÉMS_DELAY‚ð’ljÁB + mob_damage(),mob_timer()‚È‚Ç‚ÌC³ + +E•às’†‚̃‚ƒ“ƒXƒ^[‚ÉUŒ‚‚µ‚½‚Æ‚«AˆÊ’u‚ª‚¸‚ê‚é–â‘è‚̉ž‹}ˆ’u + i‚Ü‚¾ˆÊ’u‚Í‚¸‚ê‚é‚悤‚Å‚·j + + clif.c/clif.h + clif_fixmobpos()‚ð’ljÁ + mob.c + mob_attack()‚Åclif_fixmobpos()‚ðŒÄ‚Ԃ悤‚ÉB + +E‚»‚Ì‘¼C³ + pc.c + pc_stop_walking()‚Åpath_len‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +---------- +//0271 by ‚ê‚  + +EPT‚ÉŠÖ‚µ‚Ä­‚µ‚¾‚¯C³ + Œö•½‚É‚µ‚Ä‚©‚çƒLƒƒƒ‰‚ð‰Á“ü‚³‚¹‚é‚ÆŒö•½‚ª‰ðœ‚³‚ê‚È‚¢ƒoƒO‚ðC³ + +---------- +//0270 by ŒÓ’±—– + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•‚ÆC³ + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“AƒTƒ“ƒNƒ`ƒ…ƒAƒŠAƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€ + + (db/) + skill_db.txt + ƒ}ƒOƒkƒX‚̃qƒbƒg”A‘®«’²® + ƒTƒ“ƒNƒ`ƒ…ƒAƒŠ‚Ì‘®«’²® + (map/) + map.h + struct map_session_data‚ÌC³ + clif.c/clif.h + clif_skill_setunit(),clif_skill_delunit()A + clif_getareachar_skillunit(),clif_clearchar_skillunit()’ljÁ + clif_pcoutsight(),clif_pcinsight(),clif_getareachar()C³ + skill.c/skill.h + –Y‚ê‚é‚Ù‚Ç‘½”•ÏXBŽå‚ɃXƒLƒ‹ƒ†ƒjƒbƒgŠÖ˜A•”•ªB + pc.c + pc_authok()‚Åskillunit,skillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB + mob.c + mob_spwan()‚Åskillunittick‚ð‰Šú‰»‚·‚é‚悤‚ÉB + mob_walk()‚Åskill_unit_move()‚ðŒÄ‚Ԃ悤‚ÉB + battle.c/battle.h + battle_calc_magic_attack()C³ + battle_check_target()C³ + map.c + map_foreachobject()‚È‚ÇC³ + +E‚±‚Ü‚©‚¢ƒoƒOC³‚È‚Ç + Emob‚ª‰ñ•œ‚µ‚È‚¢–â‘èC³ + + battle.c + battle_damage()C³ + +---------- +//0266 by ŒÓ’±—– + +E–‚–@ŒvŽZŽ®‚ÌC³ + –‚–@”{—¦‚ðƒ_ƒ[ƒW‚ÉŠ|‚¯‚Ä‚¢‚½‚Ì‚ðMATK‚É‚©‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½B + c‚±‚Á‚¿‚ª³‚µ‚¢‚Æ‚µ‚Ä‚¢‚¢‚Ì‚©‚ÈHˆá‚¤‚Ȃ狳‚¦‚Ä‚­‚¾‚³‚¢B + + battle.c + battle_calc_magic_attack()‚ÌC³ + +EƒXƒLƒ‹‚̒ljÁŽÀ‘• + ƒTƒCƒgAƒ‹ƒAƒtAƒ[ƒhƒIƒuƒ”ƒ@[ƒ~ƒŠƒIƒ“ + + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚Í‚R‰ñ‚Ì”»’莞‚ɉr¥‰¹‚ª–‚è‚Ü‚·cB + clif_skill_damage()‚Ìtype‚ðFX•Ï‚¦‚Ä‚Ý‚Ü‚µ‚½‚ª‚Ç‚¤‚à‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñB + ’¼‚¹‚él‚Í’¼‚µ‚Ä‚­‚ê‚é‚Æ‚¤‚ꂵ‚¢‚Å‚·B + i‚¤[‚ñA‚Ђå‚Á‚Æ‚µ‚½‚ç–{—ˆ‚̓Oƒ‰ƒtƒBƒbƒN‚Ì‚È‚¢ƒXƒLƒ‹ƒ†ƒjƒbƒg‚ð + Ý’u‚µ‚ÄA‚»‚̃†ƒjƒbƒg‚ÌID‚Ń_ƒ[ƒW‚ð—^‚¦‚é‚Ì‚©‚àHHj + + (db/) + skill_db.txt + ƒ[ƒhƒIƒuƒo[ƒ~ƒŠƒIƒ“‚̃qƒbƒg”‚ð‚R‚©‚ç10‚É•ÏXB + (map/) + skill.c + skill_status_change_timer_sub()’ljÁB + skill_status_change_*()‚Ɉ—’ljÁB + +Eblock‚̃ƒ‚ƒŠ‰ð•ú‚̈À‘S«‚ÌŒüã + map_foreachinarea,party_foreachsamemap‚ʼnñ‚Á‚Ä‚¢‚é‚Æ‚«‚É + block‚ðƒ`ƒFƒCƒ“‚©‚ç휂·‚é‚ÆA‚¤‚Ü‚­‰ñ‚ç‚È‚¢‰Â”\«‚ª‚ ‚é–â‘èC³B + ‚³‚ç‚ÉAblock‚ðƒƒ‚ƒŠ‚©‚ç‰ð•ú‚·‚é‚Ɗ댯‚È–â‘è‚àC³B + + Eforeach“à‚ÅŠÖ”‚ðŒÄ‚Ô‘O‚Éblock‚ªƒ`ƒFƒCƒ“‚©‚çŠO‚ê‚Ä‚È‚¢‚©ƒ`ƒFƒbƒNB + Eforeach‚É“ü‚Á‚½‚Æ‚«‚ɃƒbƒN‚µ‚ăƒ‚ƒŠ‚©‚ç‰ð•ú‚³‚ê‚È‚¢‚悤‚É‚·‚éB + ‚±‚ê‚̓†[ƒU[‚ªfree‚¶‚á‚È‚­map_freeblock‚É‚æ‚Á‚ĉð•ú‚·‚é‚悤‚É + ƒvƒƒOƒ‰ƒ€‚·‚é•K—v‚ª‚ ‚éBiƒ‹[ƒv‚©‚çŒÄ‚΂ê‚é‰Â”\«‚Ì‚ ‚éŠÖ”‚ðì‚é + ꇂ̂±‚Æ‚ÅA•’Ê‚Ífree‚Å‚à‚¢‚¿‚¨‚¤“®‚­Bj + Emap_foreachinmovearea‚ɂ‚¢‚Ă͉ü—Ç‚µ‚Ä‚¢‚È‚¢‚ªA + ‚±‚̃‹[ƒv‚Åblock‚ð휂·‚邱‚Æ‚Í‚ ‚肦‚È‚¢‹C‚ª‚·‚é‚Ì‚Å‚¢‚¢‚Æ‚·‚éB + + ‚±‚ê‚Í¡Œã‚ðŒ©‰z‚µ‚½‰ü—Ç‚Å‚ ‚Á‚ÄAŒ»Ý‚Ì•sˆÀ’肳‚𒼂·‚à‚Ì‚Å‚Í‚È‚¢B + iŒ»Ý‚Íforeach“à‚Ńƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ä‚¢‚È‚¢c‚Í‚¸‚È‚Ì‚ÅB + ‚½‚¾AƒXƒLƒ‹ƒ†ƒjƒbƒg‚ȂLjꎞƒIƒuƒWƒFƒNƒg‚𑽗p‚µŽn‚ß‚é‚ÆŒø‰Ê‚ª‚ ‚éj + + map.c + map_freeblock(),map_freeblock_lock(),~_unlock()’ljÁB + map_delobject()‚Ìfree()‚ðmap_freeblock()‚É’uŠ·B + map_foreachinarea‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒNB + party.c + party_foreachsamemap()‚ŃƒbƒN‚ƈÀ‘S«ƒ`ƒFƒbƒN + + +EƒXƒLƒ‹ƒ†ƒjƒbƒg‹@\ŽÀ‘• + Ý’uŒn‚̃XƒLƒ‹‚Ì‚½‚ß‚Ì‹@\ŽÀ‘•BŽÀۂ̃XƒLƒ‹‚ÌŽÀ‘•‚Í‚Ü‚¾‚Å‚·B + + skill.c + ‚È‚ñ‚©‚à‚¤FX’ljÁ‚µ‚Ü‚µ‚½B + map.c + do_init()‚Ådo_skill_init()‚ðŒÄ‚Ԃ悤‚ÉB + map.h + struct skill_unit,skill_unit_group‚ȂǒljÁB + map_session_data‚Ì‘‚«Š·‚¦‚È‚ÇB + +E‚»‚Ì‘¼×‚©‚¢‚Æ‚±‚ë‚ðC³‚µ‚½‚ÆŽv‚¤‚¯‚Ç–Y‚ê‚Ü‚µ‚½B + +---------- +//0264 by nabe + +E$charaname‚ð’‚éNPC‚Ƙb‚µ‚½ŽžAmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B + script.c + replacestr()‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ðŽè’¼‚µ‚µ‚Ü‚µ‚½B + +---------- +//0263 by nabe + +E˜I“XŠJÝ’†‚ɃJ[ƒgƒAƒCƒeƒ€‚ðo‚µ“ü‚ê‚Å‚«‚È‚¢‚悤C³ + pc.c + pc_putitemtocart(),pc_getitemfromcart()‚ÉA˜I“X”»’è‚ð’ljÁ + +E˜I“XƒAƒCƒeƒ€w“ü‚̃`ƒFƒbƒN‚ð’ljÁ + vending.c + vending_purchasereq()‚Å”X‚ÌðŒ”»’è‚ð’ljÁ + +---------- +//0261 by ŒÓ’±—– + +EŠg‘勾AƒCƒOƒhƒ‰ƒVƒ‹‚Ì—t‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ƒXƒNƒŠƒvƒg‚ÉitemskillƒRƒ}ƒ“ƒhì¬BˆêŽž“I‚ɃXƒLƒ‹‚ªŽg—p‚Å‚«‚Ü‚·B + + (map/) + script.c + buildin_itemskill()‚̒ljÁ‚È‚ÇB + skill.c + ƒAƒCƒeƒ€ƒXƒLƒ‹‚È‚çSP‚È‚Ç‚ðŒŸ¸•Á”‚È‚¢‚悤‚ÉC³ + clif.c/clif.h + clif_item_skill()‚̒ljÁB + (db/) + item_db.txt/item_db2.txt + ƒXƒLƒ‹Žg—pƒAƒCƒeƒ€‚̃XƒNƒŠƒvƒgC³ + +Eƒp[ƒeƒBƒXƒLƒ‹‚ÌŽÀ‘• + ƒAƒ“ƒ[ƒ‹ƒXAƒ}ƒOƒjƒtƒBƒJ[ƒgAƒOƒƒŠƒAAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…‚ª + ‰æ–Ê“à‚̃p[ƒeƒB‘Sˆõ‚ÉŒø‰Ê‚ð‹y‚Ú‚·‚悤‚É‚È‚è‚Ü‚µ‚½B + + skill.c + skill_castend_nodamage_id()‚ÌŠY“–ŒÂŠ‚ÌC³ + party.c + party_foreachsamemap()‚ÌC³ + +EƒXƒLƒ‹ŠÖŒW‚ÌC³ + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“‚ª‘¦Žž”­“®‚É‚È‚Á‚Ä‚¢‚é‚Ì‚ðC³B + ƒXƒg[ƒ“ƒJ[ƒX‚ŃGƒtƒFƒNƒg‚ª‘¶Ý‚µ‚È‚¢ƒoƒOC³B + + (db/) + skill_db.txt + ƒLƒŠƒGƒGƒŒƒCƒ\ƒCƒ“C³ + (map/) + skill.c/skill.h + skill_check_condition()’ljÁBƒXƒLƒ‹Žg—pðŒŒŸ¸‚̈ê–{‰»B + skill_castend_nodamage_id()‚ŃXƒg[ƒ“ƒJ[ƒXC³ + +EƒXƒNƒŠƒvƒg‚̃R[ƒh‚ð®— + get_val()‚Åconst.txt‚Ì’è”‚ðŠ“¾‚Å‚«‚é‚悤‚ÉC³B + + (map/) + script.c + get_val()‚ÌC³iconst.txt‚Ìtype==0‚Ì’l‚ªŠ“¾‰Â”\‚Éj + bonus(),bonus2()‚È‚Ç‚ÌC³B + (db/) + const.txt + type=1‚Å‚ ‚é•K—v‚ª–³‚¢‚à‚Ì‚ð0‚ÉB + item_db.txt/item_db.txt + const.txt‚Ì•ÏX‚É”º‚¤C³B + +---------- +//0260 by ŒÓ’±—– + +E퓬ŠÖŒW‚Ìݒ肪ƒtƒ@ƒCƒ‹‚É‘‚¯‚é‚É‚È‚è‚Ü‚µ‚½ + mapŽI‚Ì‘æ2ˆø”‚Ƀtƒ@ƒCƒ‹–¼‚ªÝ’肳‚ê‚Ä‚¢‚é‚ÆA‚»‚ê‚ðŽg‚¢A + ݒ肳‚ê‚Ä‚È‚¢ê‡‚Í "conf/battle_athena.cnf"‚ðŽg‚¢‚Ü‚·B + + ‚ ‚ÆAˆê‰ž”͈ÍUŒ‚ƒXƒLƒ‹‚ɂ‚¢‚Äà–¾B + ŽI‚ªí‚ÉPVP‚Éݒ肳‚ê‚Ä‚¢‚éê‡Aƒp[ƒeƒBƒƒ“ƒo‚¶‚á‚È‚¢PC‚É‚à”͈ÍUŒ‚‚ª + ‚ ‚½‚è‚Ü‚·BŒ™‚Èꇂ̓p[ƒeƒB‚ð‘g‚Þ‚©Aí‚ÉPVP‚ðoff‚É‚µ‚ĉº‚³‚¢B + í‚ÉPVP‚ªoff‚Å‚àA@pvp‚Åpvpƒtƒ‰ƒO‚ð“ü‚ꂽl‚ÌŠÔ‚Å‚ÍUŒ‚‚ª“–‚½‚è‚Ü‚·B + ‚½‚¾‚µAˆê“xpvp‚ðon‚É‚·‚é‚ÆAƒŠƒƒO‚·‚é‚Ü‚Åon‚Ì‚Ü‚Ü‚È‚Ì‚Å’ˆÓB + + (conf/) + battle_athena.cnf + ’†‚Éà–¾‘‚¢‚Ä‚é‚Ì‚ÅŠeŽ©D‚«‚Ȃ悤‚É‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B + + (map/) + battle.c/battle.h + struct Battle_Config‚Ì’è‹`B + battle_config_read()‚ȂǒljÁB + skill.c + CASTFIX,DELAYFIX‚Ì”pŽ~‚ÆBattle_Config‚É‚æ‚éC³‚̒ljÁB + atcommand.c + @pvpƒRƒ}ƒ“ƒh‚Åpvpƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚é‚悤‚ÉB + iŽIÝ’è‚Ìí‚ÉPVP‚ªoff‚ÌŽžA—¼l‚ªpvp‚ðon‚É‚µ‚Ä‚½‚ç퓬‰Â”\j + map.c/map.h + struct map_session_data‚Épvp_flag‚ð’ljÁ + do_init()‚Åbattle_config_read()‚ð“ǂނ悤‚ÉB + +E퓬ŠÖŒW‚̃R[ƒh‚ª­‚µ®—‚³‚ê‚Ü‚µ‚½ + battle.c/battle.h + battle_weapon_attack()’ljÁB + battle_calc_weapon_attack()‚̈ø”•ÏX + battle_calc_attack()‚ð’ljÁ‚µ‚Äbattle_calc_*_attack()‚ðˆê–{‰»B + skill.c/skill.h + skill_weapon_attack(),~_magic_~(),~_misc_~()‚Ì”pŽ~A + skill_attack()‚Ɉê–{‰»B + pc.c/mob.c + UŒ‚ˆ—‚ðbattle_weapon_attack()‚Ɉê–{‰»B + +EƒAƒCƒeƒ€ŠÓ’èƒXƒLƒ‹‚ðŽÀ‘• + ¤l‚̃XƒLƒ‹‚Ì•û‚Å‚·B’ŽŠá‹¾‚Í‚Ü‚¾‚Å‚·B + + skill.c + ƒXƒLƒ‹ˆ—’ljÁ + pc.c/pc.h + pc_item_identify()’ljÁ + clif.c/clif.h + clif_item_identify_list(),clif_item_identified()’ljÁ + clif_parse_ItemIdentify()’ljÁ + +EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚̃Rƒƒ“ƒgC³ + (db/) + skill_db.txt + ¤l‚̃XƒLƒ‹‚̃Rƒƒ“ƒg‚ª‚¸‚ê‚Ä‚¢‚½‚Ì‚ðC³ + +---------- +//0259 by ‚ê‚  +Emob_db.txt‚ÌC³ + ‹T“‡ƒ‚ƒ“ƒXƒ^[‚âBOSS‚̃Xƒe[ƒ^ƒX’²® + ‹T“‡ƒ‚ƒ“ƒX‚É“K“–‚Ƀhƒƒbƒv‚ð•t‚¯‚Ü‚µ‚½B + –{ŽI‚ƈقȂ镨‚ð—Ž‚Æ‚·ê‡‚à‚ ‚è‚Ü‚·B + +---------- +//0258 by ŒÓ’±—– + +Eƒp[ƒeƒB‚ňê“xŒö•½‚É‚µ‚½‚çŠeŽ©Š“¾‚É–ß‚¹‚È‚¢ƒoƒOC³ + (char/) + int_party.c + mapif_parse_PartyChangeOption()‚Ì”»’èC³ + +EƒXƒLƒ‹‚̒ljÁŽÀ‘•iŽå‚ɔ͈ÍUŒ‚Œnj + ƒiƒp[ƒ€ƒr[ƒgi•ªŽU‘ΉžjAƒtƒ@ƒCƒ„[ƒ{[ƒ‹A + ƒTƒ“ƒ_[ƒXƒg[ƒ€Aƒwƒuƒ“ƒYƒhƒ‰ƒCƒuA + ƒuƒŠƒbƒcƒr[ƒgiŽ©“®‘éž‚ÝjAƒXƒ`[ƒ‹ƒNƒƒE + ƒXƒLƒ“ƒeƒ“ƒpƒŠƒ“ƒO + + (db/) + skill_db.txt/skill_tree.txt + ˆê•”C³ + (map/) + battle.c/battle.h + battle_check_target()‚ð’ljÁB‘ÎÛ‚É‚È‚é‚©‚ðŒŸ“¢‚·‚éB + battle_calc_magic_damage()‚̈ø”•ÏXBƒ_ƒ[ƒW•ªŽUˆ—’ljÁB + battle_calc_misc_damage()’ljÁB + battle_calc_weapon_damage()C³B + clif.c/clif.h + clif_skill_damage(),clif_skill_damage2()‚̈ø”•ÏXB + clif_skill_poseffect()’ljÁB + skill.c/skill.h + skill_weapon_attack(),skill_magic_attack()‚É”÷–­‚Ɉ—‚ð“Z‚ß‚½. + skill_area_sub()’ljÁB”͈̓XƒLƒ‹—pB + skill_area_sub_count()’ljÁBskill_area_sub()—pA“GƒJƒEƒ“ƒgB + skill_castend_damage_id()C³Bˆø”‚ƈ—‚ð’ljÁB + skill_castend_nodamage_id()C³Bˆø”‚ƈ—‚ð’ljÁB + skill_misc_attack()’ljÁB + skill_additional_effect()C³iŽ©“®‘éj + skill_castend_pos()C³B + skill_castend_pos2()’ljÁB + +E‹|‚ÅUŒ‚‚µ‚½‚Æ‚«ŒvŽZ‚ÉDEX‚Å‚È‚­STR‚ªŽg‚í‚ê‚é–â‘è‚ðC³B + battle.c + battle_calc_weapon_damage()C³B + +---------- +//0257 by ŒÓ’±—– + +Eitem_db.txt‚ÌE‹Æƒtƒ‰ƒO‚ÆAƒJ[ƒh‚Ì‘•”õŒÂŠƒtƒ‰ƒO‚ðC³ + ‘•”õ•i‚ÍI-Athena‚̃f[ƒ^‚ðŽQl‚É‚µ‚Ä‹@ŠB“I‚ɃRƒ“ƒo[ƒg‚³‚¹‚Ü‚µ‚½B + I-Athena‘¤‚É‚È‚¢‘•”õ•i‚ÍA‚ ‚«‚ç‚©‚É•Ï‚È‚Ì‚ÍC³‚µ‚Ü‚µ‚½‚ªA + ’m‚ç‚È‚¢‚à‚Ì‚ª‘½‚·‚¬‚ÄA‚Ù‚Æ‚ñ‚Ç•ú’u‚Å‚·B + ƒJ[ƒh‚ÍA•Ší—pƒJ[ƒh‚Ì‘•”õŒÂŠ‚ª0‚É‚È‚Á‚Ä‚é‚Ì‚ð2(¶Žè)‚ÉC³B + —¼Žè•Ší‚Ìꇂ͕ʂɔ»’肵‚Ä‚é‚Ì‚Å—¼Žè•Ší‚à–â‘è‚È‚¢‚Í‚¸B + + (db/) + item_db.txt/item_db2.txt + ŠY“–ŒÂŠC³ + +EƒJ[ƒh’ljÁŽÀ‘• + ƒXƒ^ƒ“‚Ȃǂ̒ljÁŒø‰ÊA‚»‚ê‚ç‚Ö‚Ì‘Ï«Œn“AƒI[ƒNƒq[ƒ[ƒJ[ƒhŽÀ‘• + + (db/) + item_db.txt/item_db2.txt + ƒXƒNƒŠƒvƒg‚ÌC³ + (map/) + map.h + struct map_session_data‚Éaddeff‚Ȃǂ̃ƒ“ƒo‚ð’ljÁ + pc.c + pc_calcstatus()Apc_bonus2()‚ÌC³ + pc_attack()‚Åskill_additional_effct()‚ðŒÄ‚Ԃ悤‚ÉB + skill.c/skill.h + skill_additional_effect()‚ŃJ[ƒh‚É‚æ‚é”»’è’ljÁ + skill_status_change_start()‚Å‘Ï«‚ð•t‚¯‚½B + battle.c + battle_calc_weapon_attack()‚ŃI[ƒNƒq[ƒ[ƒJ[ƒh + iƒNƒŠƒeƒBƒJƒ‹‘Ï«j‚̈—‚ð’ljÁ + +E‰ñ”ð”»’è‚ÌC³ + UŒ‚ŽÒ‚ªPC‚Ìê‡AÅ‘å–½’†—¦‚X‚T“§ŒÀ‚ð‚È‚µ‚É‚µ‚Ü‚µ‚½B + battle.c + battle_calc_weapon_attack()‚ðC³ + + +EŠ®‘S‰ñ”ð‚ðŽÀ‘• + ‚Ö‚ñ‚Ä‚±‚Ȉ—‚µ‚Ä‚Ü‚·•ŒvŽZŽ®“K“–‚Å‚·B + + battle.c + battle_calc_weapon_attack()‚Ɉ—’ljÁB + +E‘qŒÉ‚ðŠJ‚¢‚½‚܂܃ƒOƒAƒEƒg‚µ‚½‚Æ‚«mapŽI“à‚Å‚ÍŠJ‚«‚Á‚Ï‚È‚µ‚É‚È‚Á‚Ä‚é–â‘è‚ðC³ + storage.c + storage_storage_quitsave()‚ðC³ + +E@item,@monster,@produce‚Å–¼‘OŽw’è‚Å‚«‚é‚悤‚É•ÏX + ‰pŒê–¼A“ú–{Œê–¼‚Ç‚¿‚ç‚Å‚àOKB‰pŒê‚Ìꇂ͑啶Žš¬•¶Žš‹æ•Ê‚µ‚Ü‚¹‚ñB + + atcommand.c + ŠY“–ŒÂŠC³ + itemdb.c/itemdb.h + itemdb_searchname(),itemdb_searchname_sub()’ljÁ + mob.c/mob.h + mobdb_searchname()’ljÁ + +E@refine‚Åã‚°‚é”’l‚ðŽw’è‚Å‚«‚é‚悤‚É•ÏX + atcommand.c + ŠY“–ŒÂŠC³ + +E@produce‚É‚æ‚黑¢Žž‚̃GƒtƒFƒNƒg‚𳂵‚¢‚à‚Ì‚ÉC³ + clif.c/clif.h + clif_produceeffect()’ljÁ + atcommand.c + ŠY“–ŒÂŠC³ + +E˜I“XƒXƒLƒ‹Žg—pŽž‚̈—‚ð­‚µC³ + skill.c + skill_castend_id()‚Å‚È‚­Askill_castend_nodamage_id()‚Å + ˜I“XŠJÝ‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + +Estricmp‚Ì•Ï‚í‚è‚Éstrcasecmp‚ðŽg‚¤‚悤‚É‚µ‚½ + i_WIN32‚©__EMX__‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚Æstricmp‚ðŽg‚¢‚Ü‚·j + + (char/) + int_party.c + (map/) + itemdb.c/mob.c + ƒ}ƒNƒ’è‹`‚ÌC³‚È‚Ç + +EƒXƒLƒ‹‚ð­‚µC³ + ƒOƒŠƒ€ƒgƒD[ƒX‚ªƒnƒCƒfƒBƒ“ƒO‚ÅŽg‚¦‚È‚¢–â‘èC³ + •ŠíŒ¤‹†‚Ì–½’†C³‚ðŽÀ‘• + + skill.c + skill_use_id()‚ÌC³ + pc.c + pc_calcstatus()‚Å•ŠíŒ¤‹†‚É]‚Á‚Ä–½’†C³ + +---------- +//0256 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ + clif.c + clif_vendinglist()‚Å”„‚è؂ꂽƒAƒCƒeƒ€‚Í•\Ž¦‚µ‚È‚¢‚悤‚É + +---------- +//0255 by nabe + +E˜I“XƒAƒCƒeƒ€w“ü‚̃oƒOC³ + vending.c + vending_purchasereq()‚Åzeny,weight•”•ªC³ + +---------- +//0254 by nabe + +E˜I“X‚ðŽÀ‘• + vending.c/vending.h + V‹K’ljÁB˜I“XƒƒCƒ“ˆ— + skill.c + skill_castend_id()‚ɘI“XŠJ݃XƒLƒ‹ˆ—‚ð’ljÁ + clif.h/clif.h + ˜I“XŠÖ˜AƒpƒPƒbƒgˆ—‚ð’ljÁ + map.h + struct map_session_data‚ÉA + int vender_id; + int vend_num; + char message[80]; + struct vending vending[12]; + ‚ð’ljÁ + +---------- +//0253 by ŒÓ’±—– + +Estricmp–¢’è‹`ƒGƒ‰[‚ª‚Å‚éŠÂ‹«—p‚ÌC³ + ƒGƒ‰[‚ªo‚½ê‡Aint_party.c‚Ìʼn‚̃}ƒNƒ’è‹`‚̃Rƒƒ“ƒg‰»‚Ì‚¤‚¿A + ‚Ç‚¿‚ç‚©‚ðŠO‚µ‚Ä‚â‚è’¼‚µ‚Ä‚Ý‚é‚ÆA‚¤‚Ü‚­‚¢‚­‚©‚àB + ň«A‰º‚ð—LŒø‚É‚µ‚½‚炤‚Ü‚­‚¢‚­‚Í‚¸Bi‘啶Žš¬•¶Žš‚ð‹æ•Ê‚·‚é‚悤‚É‚È‚è‚Ü‚·j + + (char/) + int_party.c + ƒRƒƒ“ƒg‰»Ï‚݂̃}ƒNƒ’è‹`’ljÁ + +---------- +//0252 by ŒÓ’±—– + +EƒJ[ƒh‚̈ꕔŽÀ‘• + iƒXƒe[ƒ^ƒX•Ï‰»‘S”ÊA•Ší‘®«AƒXƒLƒ‹‚Í‚·‚Å‚ÉŽÀ‘•Ï‚Ýj + –h‹ï‘®«A‰r¥ŽžŠÔ•Ï‰»A‘®«UŒ‚‘Ï«AŽí‘°‘Ï«AŽí‘°’ljÁƒ_ƒ[ƒWA + ‘®«’ljÁƒ_ƒ[ƒWAƒTƒCƒY’ljÁƒ_ƒ[ƒWAMAXHPAMAXSP‘Œ¸AŽg—pSP•Ï‰»ŒnA + ƒtƒFƒ“AƒhƒŒƒCƒNAƒzƒ‹ƒ“A[•£‚Ì‹RŽmA‰©‹àå³AƒIƒVƒŠƒXƒJ[ƒh‚ðŽÀ‘• + + (db/) + const.txt + bonus—p‚̒蔒ljÁAbonus2‚̒蔂à’ljÁ + item_db.txt/item_db2.txt + ƒJ[ƒh‚̃XƒNƒŠƒvƒg’ljÁ + (map/) + map.h + struct map_session_data‚Éhprate‚È‚Ç‘½”ƒƒ“ƒo’ljÁ + script.c + bonus2ƒRƒ}ƒ“ƒh’ljÁ + buildin_bonus2()’ljÁ + pc.c/pc.h + pc_bonus2()’ljÁ + pc_bonus()‚̈—’ljÁ + pc_calcstatus()‚ÅŠeŽí’ljÁƒƒ“ƒo‚̉Šú‰»‚ðs‚¤‚悤‚É‚µA + hprate‚âsprate‚É]‚¢max_hp,max_sp‚Ì’²®‚à‚·‚é‚悤‚É•ÏXB + pc_makesavestatus()‚ŃIƒVƒŠƒXƒJ[ƒhC³ + skill.c + skill_castfix()‚Åcastrate‚É]‚¢A‰r¥ŽžŠÔ‚ð’²®B + skill_castend_id()‚Ådsprate‚É]‚¢AŽg—pSP‚ð’²®B + skill_castend_nodamage_id()‚ŃJ[ƒhC³‚ð’ljÁ + battle.c + battle_calc_weapon_attack()‚ŃJ[ƒhC³‚ð’ljÁ + battle_calc_magic_attack()‚ŃJ[ƒhC³‚ð’ljÁ + battle_damage()‚ŃtƒFƒ“ƒJ[ƒhC³‚ð’ljÁ + +EƒXƒe[ƒ^ƒXŠ„‚èU‚è‚Ì•\Ž¦ã‚Ì–â‘èC³ + STR‚ðã‚°‚Ä‚àATK‚ª•Ï‚í‚ç‚È‚¢–â‘èAINT‚ðã‚°‚Ä‚àMATK‚ª•Ï‚í‚ç‚È‚¢–â‘èC³ + + map.h + struct map_session_data‚Ématk1,matk2ƒƒ“ƒo’ljÁ + pc.c + pc_calcstatus()‚ÌC³ + clif.c + clif_initialstatus()‚ÌC³ + battle.c + battle_calc_magic_attack()‚ÌC³ + + +---------- +//0251 by nabe + +E0250‚̃oƒOC³‚È‚Ç + ƒJ[ƒg‚ð•t‚¯‚¸‚ɃƒOƒCƒ“‚Ü‚½‚̓}ƒbƒvˆÚ“®‚µ‚½Œã‚ɃJ[ƒg‚ð•t‚¯‚é‚ÆA + ƒJ[ƒg‚Ì’†g‚ª2”{‚Ì—Ê‚É•\Ž¦‚³‚ê‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Ì‚ðC³B + ƒJ[ƒg‚̃AƒCƒeƒ€”‚ðXV‚·‚é‚悤‚ÉC³B + pc.h/pc.c + pc_iscarton()ƒ}ƒNƒ‚ð’ljÁ + pc_cart_additem(),pc_cart_delitem()‚É‚»‚ꂼ‚ê + sd->cart_num++;‚Æsd->cart_num--;ˆ—‚ð’ljÁ + clif.c + clif_parse_LoadEndAck()‚ÅA + ƒJ[ƒg‚ð•t‚¯‚Ä‚¢‚é‚Æ‚«‚̂݃J[ƒgî•ñ‚ð‘—M‚·‚é‚悤‚É‚µ‚½ + +---------- +//0250 by nabe + +EƒJ[ƒgOFFAƒ`ƒFƒ“ƒWƒJ[ƒgŽÀ‘•B + (map/) + pc.c/pc.h + pc_setcart()‚ð’ljÁ + script.c + buildin_setcart()‚ð’ljÁ + ƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒhusetcart;v‚ŃJ[ƒg‚ª‚‚­ + clif.c/clif.h + clif_parse_CartOff()’ljÁBiƒJ[ƒg‚ð‚Í‚¸‚·j + clif_parse_ChangeCart()’ljÁBiƒ`ƒFƒ“ƒWƒJ[ƒg‚̃J[ƒg‘I‘ðj + (conf/) + npc_town_kafra.txt + ƒJ[ƒgƒT[ƒrƒX‚ðusetcart;v‚É’uŠ· + + +---------- +//0249 by ŒÓ’±—– + +Eƒp[ƒeƒB‚̃f[ƒ^ƒx[ƒX‚Ì–µ‚‚ðo—ˆ‚邾‚¯—}‚¦‚é‚悤‚ÉB + •¡”ƒp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚éƒf[ƒ^‚ÌŒŸ¸A’ljÁ‚ÉŽ¸”s‚µ‚½‚Æ‚«‚É’E‘Þ‚È‚ÇB + + (char/) + int_party.c + party_check_conflict(),party_check_conflict_sub(), + mapif_parse_PartyCheck()’ljÁ + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒg‚É0x3028’ljÁ + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg0x3028’ljÁ + (map/) + party.c/party.h + party_check_conflict()’ljÁB + party_invite()‚Å“¯ƒAƒJƒEƒ“ƒgŠ‘®ƒ`ƒFƒbƒN‚ðs‚¤‚悤‚ÉB + party_member_added(),party_send_movemap()‚Å + party_check_conflict()‚ðŒÄ‚Ԃ悤‚ÉB + intif.c/intif.h + intif_party_checkconflict()’ljÁ + +Eƒp[ƒeƒB‚ÌÀ•WA‚g‚o’Ê’m‚ðŽÀ‘• + •Ï‰»‚ª‚ ‚ê‚΂P•b‚Ɉê‰ñ‘—MB + + map.h + struct map_session_data‚Éparty_x,~_y,~_hp‚Ì‚Rƒƒ“ƒo’ljÁ + party.c/party.h + party_send_xyhp_timer_sub(),party_send_xyhp_timer(), + party_send_xy_clear(),party_send_hp_check()’ljÁB + party_recv_movemap()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB + clif.c/clif.h + clif_send‚ÌPARTY*ƒtƒ‰ƒO‚ð—LŒø‚ÉB + iPARTY,PARTY_SAMEMAP,PARTY_AREA,PARTY*_WOS‚Ì‚UŽíj + clif_party_xy(),clif_party_hp()’ljÁB + pc.c/pc.h + pc_authok()‚Åsd->party_*‚ð‰Šú‰»‚·‚é‚悤‚ÉB + pc_walk()‚Ńp[ƒeƒBƒƒ“ƒo‚ªŽ‹ŠE“à‚É“ü‚Á‚Ä‚«‚½‚Æ‚«‚É + party_hp‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +Eƒp[ƒeƒB‚ÌexpŒö•½•ª”z‚ðŽÀ‘• + party.c/party.h + party_share_exp()’ljÁ + mob.c/mob.h + mob_damage()‚ÅŒö•½•ª”zˆ—’ljÁ + +EƒXƒLƒ‹‚ÌC³‚ƒljÁŽÀ‘• + ƒoƒbƒVƒ…AƒsƒA[ƒX‚Ì–½’†—¦C³ŽÀ‘• + ƒsƒA[ƒX‚̃TƒCƒY‚É‚æ‚é‰ñ”•Ï“®ŽÀ‘•iƒvƒŒƒCƒ„[‚Í’†Œ^‚Ɖ¼’èj + ƒoƒbƒVƒ…Aƒ\ƒjƒbƒNƒuƒƒE‚̃Xƒ^ƒ“Œø‰ÊŽÀ‘• + ƒXƒg[ƒ“ƒJ[ƒXAƒtƒƒXƒgƒ_ƒCƒoAƒCƒ“ƒxƒiƒ€A + ƒAƒXƒyƒ‹ƒVƒIAƒGƒ“ƒ`ƒƒƒ“ƒgƒ|ƒCƒYƒ“AƒŒƒbƒNƒXƒfƒr[ƒiŽÀ‘• + + skill.c + skill_additional_effect()’ljÁ + skill_castend_damage_id()ŠY“–ŒÂŠC³ + skill_castend_nodamage_id()ŠY“–ŒÂŠC³ + skill_use_id(),skill_use_pos()‚ŃXƒLƒ‹‚ªŽg—p‚Å‚«‚È‚¢‚Æ‚«‚Í + ‰½‚à‚µ‚È‚¢‚悤‚ÉC³B + battle.c + battle_calc_weapon_attack()‚ÌŠY“–ŒÂŠC³ + battle_get_dmotion(),battle_get_attack_element()C³ + clif.c + clif_mob007b(),clif_mob0078‚Åoption‚È‚Ç‚ð‘—‚é‚悤‚ÉC³ + pc.c + pc_attack(),pc_walktoxy()‚Ås“®•s‰Â”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + mob.c + mob_stopattack()C³ + mob_ai_sub_hard()‚Ås“®•s”\‚È‚Æ‚«‚͉½‚à‚µ‚È‚¢‚悤‚ÉB + +EUŒ‚ŽË’ö‚Ì”»’è’ljÁ + ‘ŠŽè‚ªˆÚ“®‚µ‚Ä“Í‚©‚È‚¢‚Æ‚«‚ÍAˆÚ“®ƒpƒPƒbƒg‚ð‘—M + + clif.c/clif.h + clif_movetoattack()’ljÁ + pc.c + pc_attack()‚ÅŽË’ö”»’èA“Í‚©‚È‚¢‚È‚çclif_movetoattack()‚ðŒÄ‚ÔB + +---------- +//0248 by nabe + +Eƒp[ƒeƒB쬎ž‚ÉŠù‚Ƀp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚¢‚½ê‡‚̈—‚ð’ljÁ + party.c + party_create()‚ÉAŠù‚Ƀp[ƒeƒB‚ÉŠ‘®‚µ‚Ä‚¢‚½ê‡ + clif_party_created(sd,2)‚ð’ljÁ + +EƒfƒBƒXƒJƒEƒ“ƒgAƒI[ƒo[ƒ`ƒƒ[ƒW‚ðŒvŽZ + pc.c + pc_modifybuyvalue()Apc_modifysellvalue()‚Å’l’i‚ðŒvŽZ + + +---------- +//0247 by ŒÓ’±—– + +Eƒp[ƒeƒBŽÀ‘• + Œö•½•ª”z‚Íݒ肵‚Ä‚àŽÀÛ‚É‚ÍŒö•½•ª”z‚³‚ê‚Ä‚È‚¢B + ƒp[ƒeƒBƒXƒLƒ‹‚Í‚Ü‚¾Ž©•ª‚É‚µ‚©‚©‚©‚ç‚È‚¢ + + (char/) + int_party.c/int_party.h + ‚Ü‚Æ‚à‚ÉŽÀ‘• + inter.c + ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ + INTERŽIƒpƒPƒbƒg.txt + ƒp[ƒeƒB‚̃pƒPƒbƒg’ljÁ + (map/) + party.c/party.h + V‹K’ljÁ + map.c/map.h + struct map_session_data‚Éparty_sendedƒƒ“ƒo’ljÁ + do_init()‚Ådo_party_init()‚ðŒÄ‚Ô + map_quit()‚Åparty_send_logout()‚ðŒÄ‚Ô + intif.c/intif.h + ƒp[ƒeƒBŠÖ˜A‚Ì•”•ª’ljÁ + clif.c/clif.h + ƒp[ƒeƒBŠÖ˜A‚Ì•”•ª’ljÁ + clif_parse_LoadEndAck()‚Åparty_send_movemap()‚ðŒÄ‚Ño‚· + pc.c + pc_authok()‚Åparty_request_info()‚ðŒÄ‚Ԃ悤‚É‚µA + party_sended‚ð‰Šú‰»‚·‚é‚悤‚ÉB + +E‰r¥–WŠQ‚³‚ꂽ‚Æ‚«‰æ–Êã‚ʼnr¥‚ð‚â‚ß‚é‚悤‚ÉC³ + (map/) + skill.c + skill_castcancel()‚ʼnr¥’†Ž~ƒpƒP(‡‚Á‚Ä‚é‚Ì‚©‚ÈH)‚ð‘—M + +E’´‰“‹——£UŒ‚‚¾‚Æ“G‚ª”½Œ‚‚µ‚Ä‚±‚È‚¢–â‘è‚ðC³ + (map/) + map.h + struct mob_data‚Émin_chaseƒƒ“ƒo’ljÁiÅ’á’ÇÕ‹——£j + mob.c + mob_attack()‚Åmin_chase‚ð13‚ɉŠú‰»‚·‚é + mob_walk()‚Åmin_chase‚ª13‚æ‚è‘å‚«‚¢‚È‚ç­‚µ‚¸‚ˆø‚¢‚Ä‚¢‚­ + mob_ai_sub_hard()‚Åmin_chase‚É‚æ‚è’ÇÕ‚ð”»’fA + UŒ‚‚ðŽó‚¯‚½Žž‚Émin_chase‚ð”މ䋗—£+13‚ÉÝ’è + +---------- +//0246 by ŒÓ’±—– + +EƒJ[ƒgŽÀ‘• + map.h + struct map_session_data‚Écart_weight‚È‚Ç‚S‚ƒƒ“ƒo’ljÁ + pc.c/pc.h + pc_cart_additem(),pc_cart_delitem(), + pc_cart_putitemtocart(),pc_cart_getitemfromcart()’ljÁ + pc_calcstatus()‚ŃJ[ƒgd—Ê‚âŒÂ”‚È‚Ç‚Ìî•ñ‚ðŒvŽZ + clif.c/clif.h + clif_cart_itemlist(),clif_cart_equiplist(), + clif_cart_additem(),clif_cart_delitem(), + clif_parse_PutItemToCart(),clif_parse_GetItemFromCart()’ljÁ + clif_parse_LoadEndAck()‚ŃJ[ƒgî•ñA“à—e‘—M + clif_updatestatus()‚ÅSP_CARTINFO‚ŃJ[ƒgî•ñ‚ð‘—‚ê‚é‚悤‚É + clif_parse_MoveFromKafraToCart(),~ToKafraFromCart()’ljÁ + storage.c/storage.h + storage_additem(),storage_delitem()’ljÁ + storage_storageadditemfromcart,~getitemtocart()’ljÁ + storage_storageadd(),storage_storageget()‚ÅA + storage_additem(),storage_delitem()‚ðŒÄ‚Ԃ悤‚É•ÏX + +EƒXƒLƒ‹‰r¥ƒfƒBƒŒƒC‚È‚ÇŽÀ‘• + clif.c + clif_parse_WalkToXY()‚Éskilltimer‚É‚æ‚éˆÚ“®‰Â”Û‚ð’ljÁ + clif_parse_UseSkillToId(),clif_parse_UseSkillToPos()‚É + canmove_tick‚É‚æ‚éUŒ‚‰Â”ےljÁ + skill.c/skill.h + skill_castcancel()‚ð’ljÁ + skill_use_id(),skill_use_pos()‚ŃfƒBƒŒƒCŽžŠÔŒvŽZ‚¨‚æ‚ÑA + canmove_tick‚ÌÝ’è + battle.c + battle_damage()‚Åskill_castcancel()‚̌ĂÑo‚µ’ljÁ + +E0245‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + +---------- +//0245 by ‚ê‚  + ‚Ü‚½—á‚É‚æ‚Á‚ÄA‘ŠêC³”Å‚Ì‚Ý‚Å‚·B +Eitem_db2.txt‚ÌC³ + ‹T“‡V‘•”õ‚ÌŒø‰Ê‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + ƒEƒBƒU[ƒh‚ªñ‚ð‘•”õ‚Å‚«‚È‚¢‚Ì‚ðC³ + ƒEƒBƒU[ƒh‚ªƒ}ƒWƒVƒƒƒ“ƒnƒbƒgA‚Æ‚ñ‚ª‚è–X‚ð + ‘•”õ‚Å‚«‚È‚¢‚Ì‚ðC³ +---------- +//0244 by ‚ê‚  +Emob_db.txt‚ÌC³ + ‹T“‡ƒ‚ƒ“ƒXƒ^[‚̃f[ƒ^‚ð‚¢‚ê‚Ü‚µ‚½B + ‚½‚¾AŠÔˆá‚Á‚Ä‚é•”•ª‚ª‚©‚È‚è‚ ‚è‚Ü‚·B + Speed,Delay‚Í“K“–‚Å‚·B + ‚Ü‚½A‚í‚©‚ç‚È‚¢‚Ì‚ÍŠØ‘”ł̃f[ƒ^‚È‚Ì‚Å + Mdef‚Æ‚©ˆÙí‚É‚‚¢‹C‚àB +---------- +//0242 by ŒÓ’±—– + +EŽæˆøŠÖ˜A‚Ì•ÏX‚ÆC³ + Žæˆø‚ÉŽg‚¤•Ï”‚ðmmo_charstatus‚©‚çmap_session_data‚Ɉړ®‚µ‚Ü‚µ‚½ + + (common/) + mmo.h + struct mmo_charstatus‚©‚çŽæˆøŠÖŒW‚̃ƒ“ƒoíœ + (map/) + map.h + struct map_session_data‚ÉŽæˆøŠÖŒW‚̃ƒ“ƒo’ljÁ + trade.c + \‘¢‘Ì‚Ì•ÏX‚É‚ ‚킹‚ÄC³ + map.c + map_quit()‚ÅŽæˆø’†‚È‚çƒLƒƒƒ“ƒZƒ‹‚·‚é‚悤‚É‚µ‚½ + +EƒJ[ƒh‚Ì‘g‚݇‚킹ŽÀ‘• + pc.c/pc.h + pc_insert_card()‚ŃJ[ƒh‚ðŽÀÛ‚É‘}“ü‚·‚é + clif.c/clif.h + clif_parse_UseCard(),clif_parse_InsertCard()’ljÁ + clif_use_card(),clif_insert_card()’ljÁ + +Eˆê•”‚̃J[ƒhŒø‰ÊŽÀ‘• + ƒXƒLƒ‹K“¾ƒJ[ƒhAƒXƒe[ƒ^ƒXƒ{[ƒiƒXƒJ[ƒh‚È‚ÇB + + (map/) + map.h + struct map_session_data‚É‘•”õƒJ[ƒhŒŸõ—p‚Ì•Ï”’ljÁ + pc.c/pc.h + pc_calcstatus()‚ŃJ[ƒh‚̈—’ljÁ + ‚ ‚éID‚̃J[ƒh‚ª‘•”õÏ‚Ý‚©ŒŸõ‚·‚邽‚ß‚ÌŠÖ”A + pc_equip_card(),pc_equip_wcard(),pc_equip_dcard()‚ð—pˆÓ + +Ed—ʃI[ƒo[/‘é/‹RæƒAƒCƒRƒ“‚Ì•\Ž¦ + (map/) + pc.c/pc.h + pc_checkweighticon()’ljÁAd—ʂ̃AƒCƒRƒ“ˆ— + clif.c + clif_updatestatus()‚Åd—Ê‘—MŽž‚Épc_checkweighticon()‚ÌŽÀs + clif_changeoption()‚Å‘é‚Æ‹Ræ‚̃AƒCƒRƒ“ˆ— + +E0241‚̃AƒCƒeƒ€ƒf[ƒ^ƒx[ƒXC³‚Ì’Ê퉿Ši”Å—pˆÓ + (db/) + item_db.txt + item_db2.txt‚É‘O‚Ìitem_db.txt‚̉¿Šiî•ñ‚ðƒ}[ƒW‚µ‚½‚¾‚¯‚Å‚·B + + +---------- +//0241 by ‚ê‚  +EƒAƒCƒeƒ€ƒf[ƒ^ƒx[ƒX‚ÌC³ + V“ª‘•”õ‚̃Oƒ‰ƒtƒBƒbƒN‚ªˆÙ‚È‚é‚Ì‚ðC³ + ‘•”õ‚ÌŒø‰Ê‚ÌŽÀ‘• + ã’iE’†’i‚ªŠÔˆá‚Á‚Ä‚½‚Ì‚ð­‚µC³ + ‘¬•ñ”Å‚Á‚Ä‚±‚ƂŊԈႦ‘½‚¢‚©‚àB + ƒeƒXƒg‚à‚ ‚܂肵‚Ä‚Ü‚¹‚ñB + ‚ ‚ÆA‘Šê’²®”Å‚µ‚©—pˆÓ‚µ‚Ä‚Ü‚¹‚ñB + + item_db2.txt + ‹T“‡‚É‚ ‚킹‚Ä’²® + +---------- +//0240 by nabe + +EŽæˆø‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + (common/) + mmo.h + struct mmo_charstatus ‚É + int trade_partner; + int deal_item_index[10]; + int deal_item_amount[10]; + int deal_zeny; + short deal_locked; + ‚ð’ljÁ + (map/) + clif.c,clif.h + clif_traderequest() : 0xe5iŽæ‚èˆø‚«—v¿Žó‚¯j + clif_tradestart() : 0xe7iŽæ‚èˆø‚«—v‹‰ž“šj + clif_tradeadditem() : 0xe9i‘ŠŽè•û‚©‚ç‚̃AƒCƒeƒ€’ljÁj + clif_tradeitemok() : 0xeaiƒAƒCƒeƒ€’ljÁ¬Œ÷j + clif_tradedeal_lock() : 0xeciok‰Ÿ‚µj + clif_tradecancelled() : 0xeeiŽæ‚èˆø‚«ƒLƒƒƒ“ƒZƒ‹j + clif_tradecompleted() : 0xf0iŽæ‚èˆø‚«Š®—¹j + ‚ð’ljÁB + trade.c,trade.h + trade_traderequest() : Žæˆø—v¿‚ð‘ŠŽè‚É‘—‚é + trade_tradeack() : Žæˆø—v¿ + trade_tradeadditem() : ƒAƒCƒeƒ€’ljÁ + trade_tradeok() : ƒAƒCƒeƒ€’ljÁŠ®—¹(ok‰Ÿ‚µ) + trade_tradecancel() : ŽæˆøƒLƒƒƒ“ƒZƒ‹ + trade_tradecommit() : Žæˆø‹–‘ø(trade‰Ÿ‚µ) + ‚ðŽÀ‘•B‚»‚ꂼ‚êclif.c::clif_parse_Trade*‚©‚çŒÄ‚΂ê‚éB + + +---------- +//0238 by ‚ê‚  + +E‘¬“x•ÏX‚ÉŠÖ‚µ‚Ä­‚µC³ + atcommand.c + ‘¬“x•ÏX‚Ì•”•ª‚ð­‚µC³ + ‚±‚ê‚ňꉞ“®‚­‚Ý‚½‚¢H + pc.c + ‚‚¢‚Å‚É‚Å‚·‚ª + ‘¬“x㸂ŕàs‘¬“x‚ªã‚ª‚é‚悤‚É‚µ‚½B + ˆê‰ž“®‚­‚Ý‚½‚¢‚Å‚·‚ª“K“–‚È‚Ì‚Å + ‚¨‚©‚µ‚È‚Æ‚±‚낪‚ ‚ê‚΂¨Šè‚¢‚µ‚Ü‚·B + +---------- +//0236 by nabe + +EƒXƒNƒŠƒvƒg‚Åmenu‚Å”ò‚ñ‚¾æ‚Å’¼‚®menu‚ð‘‚­‚ƌ듮삷‚éƒoƒO‚ðC³‚µ‚Ü‚µ‚½B + script.c + goto“®ì‚ÌŒã‚ÌRERUNLINE‚ɑΈ‚·‚邽‚ßA + goto,menu‚Å”ò‚ñ‚¾Œã‚É‚ÍAst.state==GOTO‚Årerun_pos‚ðXVB + + +---------- +//0233 by nabe + +EƒAƒCƒeƒ€‚ð‘•”õ‚·‚éÛ‚Ì‘•”õ”»’è‚ð’ljÁ‚µ‚Ü‚µ‚½B + pc.c + pc_equipitem()‚É‘•”õ”»’èi«•Ê”»’èA‘•”õLV”»’èAE‹Æ”»’èj’ljÁ + +Ed—Ê”»’èƒXƒNƒŠƒvƒgƒRƒ}ƒ“ƒh‚ð’ljÁ‚µ‚Ü‚µ‚½B + if (checkweight(ƒAƒCƒeƒ€ID,ƒAƒCƒeƒ€”—Ê)) + ‚Å‚»‚̃AƒCƒeƒ€~”—Ê‚ðŽæ“¾‚Å‚«‚é‚©‚Ç‚¤‚©”»’è‚Å‚«‚Ü‚·B + script.c + buildin_checkweight()‚ð’ljÁ + +EƒXƒNƒŠƒvƒg‹l‚߇‚킹‚ðathena dev-2.1.1—p‚ɈÚA‚µ‚Ü‚µ‚½B + map_athena1.cnf + npc_event_*.txt ƒCƒxƒ“ƒgNPC + npc_job_*.txt “]ENPC + npc_mob_job.txt “]E—pƒ‚ƒ“ƒXƒ^[ + npc_town_*.txt ’¬NPC + + +---------- +//0232 by ŒÓ’±—– + +E‘•”õƒ{[ƒiƒX‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ƒ{[ƒiƒX‚ÉŽg‚¤ƒXƒNƒŠƒvƒg(bonus,skill)‚ðŽÀ‘• + ƒXƒNƒŠƒvƒg‚ÍI-Athena‚̃f[ƒ^‚ðŽg‚Á‚ăRƒ“ƒo[ƒg‚µ‚Ü‚µ‚½B + i‚Ü‚¾ƒJ[ƒh‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñj + + (common/) + mmo.h + struct skill‚Éflagƒƒ“ƒo’ljÁiƒJ[ƒhƒXƒLƒ‹‚©‚Ç‚¤‚©j + (map/) + map.h + struct map_session_data‚Éatk_ele‚Ȃǂ̃ƒ“ƒo’ljÁ + enum‚ÅSP_ATKELEMENT‚ȂǒljÁ + pc.c + pc_bonus()‚ÌŽÀ‘•Apc_skill()’ljÁ + script.c + buildin_skill()‚̒ljÁ + buildin_bonus()‚ÌC³(const.txt‚̒蔂ªŽg‚¦‚é‚悤‚É) + clif.c + clif_skillinfoblock()‚ÌC³(ƒJ[ƒhƒXƒLƒ‹‚Íã‚°‚ç‚ê‚È‚¢) + (db/) + const.txt + bonus‚ÉŽg‚¤‚½‚߂̒蔒ljÁ + item_db.txt + •W€‚̃f[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + item_db2.txt + 0213‚Å‘Šê’²®‚³‚ꂽƒf[ƒ^‚É‘•”õƒXƒNƒŠƒvƒg‚ð’ljÁ‚µ‚½‚à‚Ì + +E‰r¥ŠÖŒW‚̃oƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + (map/) + skill.c + skill_use_id(),skill_use_pos()‚ðC³ + (db/) + cast_db.txt + ­‚µ’ljÁiƒuƒŠƒbƒcƒr[ƒg‚È‚Çj + +EUŒ‚‘®«‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ +E¯‚Ì‚©‚¯‚ç‚ÌC³‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + map.h + struct map_session_data‚Éstarƒƒ“ƒo’ljÁ + pc.c + pc_calcstatus()‚Å‘®«‰Šú‰» + battle.c + battle_get_element(),battle_get_attack_element()C³ + battle_calc_weapon_damage()‚ÌŠY“–ŒÂŠC³ + +Eñ‘•”õŽž‚ÉMATK+15%‚ª“K—p‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + battle.c + battle_calc_magic_damage()‚ÌŠY“–ŒÂŠC³ + +E»‘¢•Ší‚̃Lƒƒƒ‰ƒNƒ^[–¼‚ª³‚µ‚­•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + + Œ´—‚Æ‚µ‚Ä‚ÍAmapŽI“à‚̃Lƒƒƒ‰ƒNƒ^–¼ƒf[ƒ^ƒx[ƒX‚ðŒŸõ‚µ‚ÄA + ‘¶Ý‚·‚ê‚Α¦•ÔMA‘¶Ý‚µ‚È‚¯‚ê‚ÎcharŽI‚É‰ðŒˆ—v‹‚ðo‚·B + ‚±‚Ì‚Æ‚«A–¼‘O‚ð—v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚ÌID‚ðƒf[ƒ^ƒx[ƒX‚É“o˜^‚·‚éB + charŽI‚©‚ç–¼‘Oƒf[ƒ^‚ª‚­‚é‚ÆA‘Ήž‚·‚éƒf[ƒ^ƒx[ƒX‚É–¼‘O‚ðƒZƒbƒg‚µA + —v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚É–¼‘O‚ð•ÔM‚·‚éB + –¢‰ðŒˆ‚Ì“¯‚¶ƒLƒƒƒ‰ID‰ðŒˆ‚ð•¡”‚̃Nƒ‰ƒCƒAƒ“ƒg‚ª—v‹‚µ‚Ä‚«‚½ê‡A + ÅŒã‚É—v‹‚µ‚Ä‚«‚½ƒNƒ‰ƒCƒAƒ“ƒg‚É‚µ‚©•ÔM‚µ‚È‚¢‚ªA + •ÔM‚³‚ê‚È‚©‚Á‚½ƒNƒ‰ƒCƒAƒ“ƒg‚Í”•bŒã‚ÉÄ‚Ñ‰ðŒˆ—v‹‚ð‘—‚Á‚Ä‚­‚é + i‚»‚µ‚Ä‚»‚Ì‚Æ‚«‚ÍmapŽI‚©‚瑦•ÔM‚³‚ê‚éj‚Ì‚Å‘å‚«‚È–â‘è‚Í‚È‚¢B + + ƒpƒPƒbƒg0x2b08,0x2b09‚ÅmapŽI‚ÆcharŽI‚ª’ÊM‚µ‚Ä‚Ü‚·B + + (char/) + char.h + UNKNOWN_CHAR_NAME’è‹`iƒLƒƒƒ‰ƒf[ƒ^‚ª–³‚¢‚Æ‚«‚É•Ô‚³‚ê‚é–¼‘Oj + char2.c + parse_frommap()‚ɃpƒPƒbƒg0x2b08‚̈—‚ð’ljÁ + + (map/) + chrif.c/chif.h + chrif_searchcharid()’ljÁ + chrif_parse()‚Å0x2b09‚̈—’ljÁ + map.c + ƒf[ƒ^ƒx[ƒX charid_db 錾 + struct charid2nick錾Bnick‚Í–¼‘OA + req_id‚Í0‚Å–¼‘O‰ðŒˆÏ‚ÝA0ˆÈŠO‚Å–¢‰ðŒˆ‚Å‰ðŒˆ‘Ò‚¿‚̃uƒƒbƒNID + map_addchariddb()’ljÁBƒf[ƒ^ƒx[ƒX‚Ö–¼‘O“o˜^A—v‹‚É•ÔMB + map_reqchariddb()’ljÁB—v‹‚ª‚ ‚Á‚½‚±‚Æ‚ðƒf[ƒ^ƒx[ƒX‚֒ljÁB + map_charid2nick()‚Ńf[ƒ^ƒx[ƒX‚ÌŒŸõ + do_init()‚Å charid_db ‚̉Šú‰»‚ð’ljÁ + clif.c/clif.h + clif_parse_SolveCharName(),clif_solved_charname()’ljÁ + + +---------- +//0231 by nabe + +EƒXƒNƒŠƒvƒg‚Å mes "$charaname"; “™‚Æ‘‚­‚ƃLƒƒƒ‰‚Ì–¼‘O‚ð‚µ‚á‚ׂé‹@”\‚ð’ljÁB + script.c + buildin_mes()“à‚Å + mes“à•”‚Ì$charaname‚ðƒLƒƒƒ‰‚Ì–¼‘O‚É’uŠ·‚·‚鈗‚ð’ljÁB + ”“¯—l‚É‚µ‚Ä•Ï”‚Ì’l‚È‚Ç‚ðmes“à•”‚Å•\Ž¦‚·‚é‚悤‚É‚·‚邱‚Æ‚à + ”‚Å‚«‚Ü‚·‚ªA‚±‚ê‚ɂ‚¢‚Ä‚Í–¢ŽÀ‘•‚Å‚·EEEB + ”‚Æ‚è‚ ‚¦‚¸ + ” mes Global_Val; + ”‚̂悤‚É’¼Ú‘‚­‚±‚ƂőΈ‚µ‚Ä‚­‚¾‚³‚¢B + +E“G‚ÉUŒ‚‚³‚ꂽ‚Æ‚«‚ÉmapŽI‚ª—Ž‚¿‚邱‚Æ‚ª‚ ‚é‚Ì‚ðC³B + battle.c + battle_calc_weapon_attack()‚Ì + ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“‚̃XƒLƒ‹ƒ`ƒFƒbƒN•”•ªA + pc_checkskill(sd,22)‚ðA + pc_checkskill(tsd,22)‚ÉB + +---------- +//0230 by nabe + +E‰ñ”𗦑‰ÁƒXƒLƒ‹‚ðƒXƒe[ƒ^ƒX‚É”½‰fB + pc.c + 0228‚Å‚Ìpc_calcstatus()‚̉ñ”𗦑‰Á•ª‚ðŒ³‚É–ß‚µflee‚ð‘‰ÁB + battle.c + battle_calc_weapon_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦕ÛØ‚ðŒvŽZB +EƒOƒ[ƒoƒ‹•Ï”‚ðŽÀ‘•B +@ '@'‚à‚µ‚­‚Í'l'‚ÅŽn‚Ü‚ç‚È‚¢•Ï”–¼‚ÍA‘S‚ăOƒ[ƒoƒ‹•Ï”‚Æ‚Ý‚È‚³‚ê‚Ü‚·B + mmo.h + struct mmo_charstatus ‚É + int global_reg_num; + struct global_reg global_reg[GLOBAL_REG_NUM]; + ‚ð’ljÁB + pc.c + pc_readglobalreg(),pc_setglobalreg()‚ð’ljÁB + script.c + get_val(),buildin_input(),buildin_set()‚É + ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + char2.c + mmo_char_tostr(),mmo_char_fromstr()‚É + ƒOƒ[ƒoƒ‹•Ï”‚Ì‚½‚߂̈—‚ð’ljÁB + +---------- +//0229 by ŒÓ’±—– + +Eˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•/C³ + ƒfƒBƒoƒCƒ“ƒvƒƒeƒNƒVƒ‡ƒ“Aƒf[ƒ‚ƒ“ƒxƒCƒ“Aƒr[ƒXƒgƒxƒCƒ“ŽÀ‘• + ƒGƒiƒW[ƒR[ƒgC³i–‚–@‚É‚æ‚éUŒ‚‚ɂ̓XƒLƒ‹‚ª“­‚©‚È‚¢‚悤‚ÉC³j + •ŠíUŒ‚ŒnƒXƒLƒ‹C³iƒGƒtƒFƒNƒg‚ð’ÊíUŒ‚‚©‚çƒXƒLƒ‹‚É•ÏXj + + battle.c + battle_addmastery()‚ŃxƒCƒ“Œn’ljÁ + battle_calc_damage()‚ŃGƒiƒW[ƒR[ƒgC³ + skill.c + skill_castend_damage_id()‚Ì•ŠíUŒ‚ŒnƒXƒLƒ‹‚Ì•”•ª‚ðC³ + +E“GUŒ‚ŒvŽZ‚ðPC‚Ì‚à‚̂ƈê–{‰» + ‚±‚ê‚ÅPCvsPCAPCvsMOBAMOBvsPCAMOBvsMOB(!?)‚ð‚P‚‚̊֔‚ÅŒvŽZ‚Å‚«‚Ü‚· + + battle.c/battle.h + battle_calc_weapon_attack()‚ðC³ + battle_calc_weapon_attack_pc(),~mob()‚ðíœ + mob.c + mob_attack()‚ÅŒvŽZ‚Ébattle_calc_weapon_attack()‚ðŽg‚¤‚悤‚ÉC³ + +E‰r¥ŽžŠÔƒf[ƒ^‚ª‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg‚̉r¥ŽžŠÔ‚ð‚O‚É•ÏX + ¡‚Ü‚Å‚Í‚P•b‚É‚µ‚Ä‚Ü‚µ‚½‚ªAƒoƒbƒVƒ…‚Æ‚©‚ª‚¨‚©‚µ‚­‚È‚é‚Ì‚ÅB + iƒoƒbƒVƒ…‚Æ‚©‚̃f[ƒ^‚ð—pˆÓ‚·‚ê‚΂±‚¤‚µ‚È‚­‚Ä‚à’¼‚é‚ñ‚Å‚·‚ªj + + pc.c + pc_readdb()‚Å1000ms‚ðƒZƒbƒg‚·‚é‚Ì‚ðŽ~‚ß‚½ + +E‰“‹——£UŒ‚‚µ‚Ä‚±‚È‚¢ƒoƒOA‚»‚Ì‘¼‚ðC³ + mob.c + mob_attack()‚ÌŽË’ö‚ðC³‚µ–Y‚ê‚Ä‚¢‚½ + mob_ai_sub_hard()‚ÅŽË’ö‹——£ŠO‚ÌŽžA–³ˆÚ“®‚Ì“G‚Í + ƒ^[ƒQƒbƒg‚ðŠO‚·‚悤‚É‚µ‚½ + + +---------- +//0228 by nabe + +Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ÌSkillID‚ðC³B + battle.c + battle_calc_weapon_attack_pc()‚Å + pc_checkskill(sd,49) -> pc_checkskill(sd,48)‚ÉB +E‰ñ”𗦌üã‚ð—z‚É•\‚³‚È‚¢ + pc.c + pc_calcstatus()‚Å‚Ìflee‚̉ñ”𗦌ü㕪‚ð휂µA + mob.c + mob_attack()‚ÌhitrateŒvŽZ‚ʼnñ”𗦌üã‚ðŒvŽZB +E“å³A“峎“A“å³—Y‚ð³í‰»B + npc_monster3J.txt + mob_db.txt‚ɇ‚킹‚ÄA‚½‚Ô‚ñ³‚µ‚¢‚ÆŽv‚í‚ê‚éID‚ÉC³B + “å³ 1006 -> 1051 + “峎“ 1017 -> 1053 + “å³—Y 1021 -> 1054 +EƒfƒoƒbƒOƒƒbƒZ[ƒW‚ÌÁ‚µ–Y‚êiHj‚ðíœB + pc.c + printf("pc.c 63 clif_clearchar_area\n");‚ðƒRƒƒ“ƒgƒAƒEƒg + +---------- +//0227 by ŒÓ’±—– + +Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + HP‰ñ•œŒüãASP‰ñ•œŒüãAƒ}ƒOƒjƒtƒBƒJ[ƒgA + ƒnƒCƒfƒBƒ“ƒOAƒNƒ[ƒLƒ“ƒOAŽ€‚ñ‚¾‚Ó‚èA‰ž‹}Žè“– + + map.h + struct map_session_data ‚É inchealtick ƒƒ“ƒo’ljÁ + pc.c + pc_spheal()‚Ń}ƒOƒjƒtƒBƒJ[ƒgˆ—’ljÁ + pc_natual_heal_sub()‚ʼnñ•œŒüãƒXƒLƒ‹ˆ—’ljÁ + pc_authok()‚Åinchealtick‚ð‰Šú‰»‚·‚é‚悤‚É•ÏX + pc_walk()‚Åincheaktick‚ðÄÝ’è‚·‚é‚悤‚É•ÏX + pc_walk()‚ŃNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚𒲸‚·‚é‚悤‚É•ÏX + pc_walktoxy()‚Åó‘Ô‚É‚æ‚Á‚Ĉړ®•s‰Â”\‚É‚µ‚½ + skill.c/skill.h + skill_status_change_start(),~timer(),~end()‚Ɉ—’ljÁ + skill_check_cloaking()’ljÁAƒNƒ[ƒLƒ“ƒO‚ÌI—¹ðŒ‚ðŒŸ¸ + battle.c/battle.h + battle_stopattack()’ljÁ + battle_calc_weapon_attack()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + mob.c + mob_ai_sub_hard()‚ÅUŒ‚‚ðŽ~‚߂鈗’ljÁ + +E’ÊíUŒ‚ˆ—A‘ÎMOBA‘ÎPC‚ð‹¤—p‚ÉB + pc.c + pc_attack_mob(),pc_attack_pc()íœ + pc_attack()‚ÉUŒ‚ˆ—’ljÁ + +Eƒ‚ƒ“ƒXƒ^[‚Ìs“®‚̈ꕔŽÀ‘• + ƒAƒNƒeƒBƒ”A–³”½‰žAˆÚ“®‚µ‚È‚¢A‰“‹——£UŒ‚ˆê•” + + mob.c + mob_ai_sub_hard()‚És“®’ljÁ + mob_ai_sub_hard_activesearch()’ljÁA‹ß‚­‚ÌPC‚Ö‚Ìô“G + +EƒI[ƒo[ƒgƒ‰ƒXƒg‚Ì‘‰Á”{—¦‚ª100”{‚É‚È‚Á‚Ä‚¢‚éƒoƒO‚ªC³‚³‚ê‚Ü‚µ‚½ + battle.c + battle_calc_weapon_attack()‚ÅAŠY“–ŒÂŠ‚ðC³ + + +---------- +//0226 by ŒÓ’±—– + +‚â‚Á‚Ï‚èƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚¢‚Ü‚¹‚ñ + +Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ‘¬“x‘‰ÁAƒGƒ“ƒWƒFƒ‰ƒXAƒLƒ…ƒA[ + ƒCƒ“ƒ|ƒVƒeƒBƒIƒ}ƒkƒXAƒTƒtƒ‰ƒMƒEƒ€AƒŠƒJƒoƒŠ[AƒOƒƒŠƒA + ‚Ó‚­‚낤‚Ì–ÚAƒƒV‚Ì–ÚAW’†—ÍŒüãA‰ñ”𗦌üãA‰ð“Å + ŠŽ—Ê‘‰ÁAƒ‰ƒEƒhƒ{ƒCƒXAƒAƒhƒŒƒiƒŠƒ“ƒ‰ƒbƒVƒ…AƒI[ƒo[ƒgƒ‰ƒXƒg + ƒEƒFƒ|ƒ“ƒp[ƒtƒFƒNƒVƒ‡ƒ“Aƒ}ƒLƒVƒ}ƒCƒYƒpƒ[A‚Q‚g‚p + + (map/) + map.h + struct map_session_data‚Éwatk2,def2‚ȂǒljÁ + pc.c + pc_calcstatus()‚ɃXƒLƒ‹C³’ljÁ + atk2‚È‚Ç‚à‘—M‚·‚é‚悤‚É•ÏX + battle.c/battle.h + battle_get_def2()‚È‚Ç‘½”’ljÁ + battle_calc_weapon_damage()‚Å“GŒ¸ŽZ–hŒä‚ÌŠ“¾‚ð + battle_get_def2()‚É•ÏX + battle_calc_magic_damage()‚Å“GŒ¸ŽZ–‚–@–hŒä‚ÌŠ“¾‚ð + battle_get_mdef2()‚É•ÏX + battle_calc_weapon_damage()‚ŃXƒLƒ‹C³‚ð’ljÁ + skill.c/skill.h + skill_use_nodamage_id()‚ÌŠY“–ŒÂŠ’ljÁ + skill_status_change_start()‚ÌŠY“–ŒÂŠ’ljÁ + clif.c + clif_updatestatus()‚Ìatk2‚Ȃǂ̈—’ljÁ + clif_initialstatus()‚Åatk2‚Ȃǂ̈µ‚¢•ÏXAaspd‚È‚Ç‘—M’ljÁ + +E¸˜Bƒ_ƒ[ƒWC³/¸˜B–hŒäC³‚ª“K—p‚³‚ê‚Ü‚µ‚½ + (map/) + pc.c + pc_calcstatus()‚Åwatk2‚Ædef‚̒ljÁŒvŽZ’ljÁ + battle.c + battle_calc_weapon_damage()‚Åwatk2‚ðƒ_ƒ[ƒW‚ɒljÁ + +EinterŽI‚̃pƒPƒbƒg‰ðÍ•”‚Ì’v–½“I‚È–â‘肪C³‚³‚ê‚Ü‚µ‚½ + TCP/IPƒvƒƒOƒ‰ƒ€‚Å‚â‚Á‚Ä‚Í‚¢‚¯‚È‚¢‚±‚Æ‚ð‚»‚Ì‚Ü‚Ü‚â‚Á‚Ä‚Ü‚µ‚½(Š¾ + interŽI‚̃pƒPƒbƒg’·ƒf[ƒ^‚ðinter.c‚ÉŽ‚‚悤‚ÉC³‚³‚ê‚Ü‚µ‚½B + + (char/) + inter.c/inter.h + ƒpƒPƒbƒg’·ƒf[ƒ^ inter_*_packet_length[] ‚ð’ljÁ + ƒpƒPƒbƒg’·ƒ`ƒFƒbƒN inter_check_length() ‚ð’ljÁ + mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX + int_storage.c/int_storage.h + mapif_parse_*()‚ÅRFIFOSKIP‚ð‚È‚µ‚É•ÏX + int_party.c/int_guild.c + Žd—l•ÏX‚ɑΉž‚³‚¹‚½•ÏX + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg’·ƒŠƒXƒg’ljÁ + +E‚¿‚å‚Á‚Æ‚µ‚½C³ + (char/) + inter.h + inter_cfgName‚ð"conf/inter_athena.cnf"‚ÉC³ + char2.c + char.exe‘æ‚Qˆø”È—ªŽžAinter_cfgName‚ðŽg‚¤‚悤‚ÉC³ + (db/) + cast_db.txt + ƒz[ƒŠ[ƒ‰ƒCƒg‚̉r¥ŽžŠÔ’ljÁiƒfƒBƒŒƒC‚Í“K“–j + Ú‚µ‚¢l’ljÁ‹‚Þ + +---------- +//0225 by ŒÓ’±—– + +‚È‚ñ‚©‚©‚È‚è˜M‚è‚Ü‚µ‚½‚ª‘Š•Ï‚í‚炸ƒeƒXƒg‚Í‚ ‚ñ‚܂肵‚Ä‚Ü‚¹‚ñB + +EƒXƒLƒ‹Žg—pŽž‚Ì•Ï”‚ð•ÏX + ‚æ‚­Œ©‚½‚çʼn‚©‚ç—pˆÓ‚³‚ê‚Ä‚Ü‚µ‚½‚ËB + + map.h + struct map_session_data‚Ìcast_*‚ðíœ + skill.c + cast_*‚Ì•Ï”‚ðskill*‚É•ÏXB + +EƒXƒe[ƒ^ƒXˆÙíƒXƒLƒ‹‚̈—‚ð’ljÁiŒø‰Ê‚Í–¢ŽÀ‘•j + Œ©‚©‚¯ãAƒXƒe[ƒ^ƒXˆÙí‚ÉŠ|‚©‚Á‚½‚è‚Æ‚©‚¾‚¯B + Œø‰Ê‚Í‚Ü‚¾‚È‚µB + + skill.c/skill.h + skill_status_change_start(),~end(),~timer(),~clear()’ljÁB + ‚»‚ꂼ‚êƒXƒe[ƒ^ƒXˆÙí‚ÌŠJŽnAI—¹Aƒ^ƒCƒ}ˆ—A‘SÁ‹ŽB + map.c/map.h + map_quit()‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + struct map_session_data‚Ésc_data,sc_count’ljÁB + struct mob_data‚Ésc_data,sc_count,option,opt1,opt2’ljÁB + pc.c + pc_authok()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B + pc_setoption‚Åclif_changeoption()‚̈ø”•ÏXB + pc_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + mob.c + mob_spawn()‚Åsc_data,sc_count‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½B + mob_attack()‚Åbattle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + mob_damage()‚ÅŽ€–SŽž‚Éskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + battle.c/battle.h + battle_get_*()‚½‚­‚³‚ñ’ljÁB + battle_calc_damage()’ljÁBÅI“I‚ȃ_ƒ[ƒWŒvŽZ—pB + battle_calc_magic_attack(),battle_calc_weapon_attack()‚Å + battle_calc_damage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½B + clif.h/clif.c + clif_status_change()’ljÁBƒXƒe[ƒ^ƒXˆÙíƒAƒCƒRƒ“•\Ž¦—pB + clif_changeoption()‚̈ø”•ÏXB + atcommand.c + clif_changeoption()‚ðŒÄ‚ñ‚Å‚¢‚é‚Qƒ–Š‚ňø”•ÏXB + @die‚Åskill_status_change_clear()‚ðŒÄ‚Ԃ悤‚ÉB + +Eƒ}ƒOƒkƒXƒGƒNƒ\ƒVƒYƒ€‚ÌK“¾ðŒ‚ªŠÔˆá‚Á‚Ä‚¢‚é‚Ì‚ðC³B + db/skill_tree.txt + ŠY“–ŒÂŠC³BiƒŒƒbƒNƒXƒG[ƒeƒ‹ƒi‚Ì•K—vLv‚ð‚P‚Éj + +EƒAƒNƒeƒBƒu‚È“G‚ÍUŒ‚‚·‚é‚Æ‚«ŽžXƒ^[ƒQƒbƒg‚ª•Ï‚í‚é‚悤‚É‚È‚è‚Ü‚µ‚½ + mob.c + mob_ai_sub_hard()‚ÌUŒ‚‚³‚ꂽ‚©Šm”F‚·‚é•”•ª‚É + ƒAƒNƒeƒBƒu‚È‚ç25%‚ÌŠm—¦‚Ń^[ƒQƒbƒg‚ª•Ï‚í‚é‚悤‚É•ÏXB + +Eˆê•”‚̃XƒLƒ‹Œø‰Ê‚ªŽÀ‘•‚³‚ê‚Ü‚µ‚½ + ƒLƒŠƒGƒGƒŒƒCƒ\ƒ“AƒGƒiƒW[ƒR[ƒgAƒŒƒbƒNƒXƒG[ƒeƒ‹ƒiA + ƒz[ƒŠ[ƒ‰ƒCƒgAƒŠƒUƒŒƒNƒVƒ‡ƒ“Aƒ^[ƒ“ƒAƒ“ƒfƒbƒhAƒ‚ƒ“ƒXƒ^[î•ñ + + skill.c/skill.h + skill_castend_nodamage_id()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB + skill_castend_*_id()‚̈ø”‚ð•ÏX + battle.c + battle_calc_damage()‚ɃXƒLƒ‹‚̈—‚ð’ljÁB + battle_damage(),battle_heal()‚̈ø”•ÏX + battle_calc_weapon_damage(),battle_calc_magic_damage()ˆø”•ÏX + clif.c/clif.h + clif_skill_estimation()’ljÁBƒ‚ƒ“ƒXƒ^[î•ñ‘—M—p + pc.c + battle_calc_weapon_damage()ŒÄ‚Ño‚µ‚̈ø”•ÏX + +Estorage.txt‚ª–³‚¢ê‡interŽI‚ª‹­§I—¹‚·‚éŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½ + (char/) + int_storage.c + inter_storage_init()‚Ńtƒ@ƒCƒ‹‚ª“Ç‚ß‚È‚¢‚Æexit‚µ‚Ä‚½‚Ì‚ðC³ + + +---------- +//0224 +E2-2ŽŸE‚̃XƒLƒ‹‚ðƒcƒŠ[‚ɒljÁ‚µ‚Ü‚µ‚½iŽÀ‘•‚Í‚Ü‚¾‚Å‚·j + (db/) + skill_db.txt + skill_tree.txt + + +---------- +//0223 by ŒÓ’±—– +EƒJƒvƒ‰‘qŒÉ‚ðinterŽI‚ɑΉž‚³‚¹‚Ü‚µ‚½ + ‚¢‚Ü‚Ü‚Å‚Ìstorage.txt‚Í‚»‚Ì‚Ü‚ÜŽg‚¦‚Ü‚·B + interŽI—p‚ÌÝ’èƒtƒ@ƒCƒ‹‚Æ‚µ‚Äconf/inter_athena.cnf‚ðŽg‚¢‚Ü‚·B + iÝ’èƒtƒ@ƒCƒ‹‚Íchar.exe‚Ì‘æ‚Qˆø”‚Å‘¼‚̃tƒ@ƒCƒ‹‚ðŽw’è‚Å‚«‚Ü‚·j + + ƒJƒvƒ‰‘qŒÉ‚ÌinterŽIŽÀ‘•‚ÌŠT—v + + interŽI‚Ístorage.txt‚Ì‘Sƒf[ƒ^‚ðŽ‚ÂBmapŽI‚̓AƒJƒEƒ“ƒg‚ª—v‹‚·‚é‚Ü‚Å + ‚»‚̃AƒJƒEƒ“ƒg‚Ì‘qŒÉƒf[ƒ^‚ðŽ‚½‚È‚¢BƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç‘qŒÉ‚ðŠJ‚­—v‹‚ª + ‚ ‚Á‚½‚Æ‚«AmapŽI‚͑Ήž‚·‚éƒAƒJƒEƒ“ƒg‚Ì‘qŒÉƒf[ƒ^‚ðinterŽI‚É—v‹‚·‚éB + interŽI‚©‚çƒf[ƒ^‚ª“Í‚­‚ƃNƒ‰ƒCƒAƒ“ƒg‚É‘qŒÉƒf[ƒ^‚ð‘—‚éB + ‘qŒÉ‚Ìo‚µ“ü‚ê‚̓Nƒ‰ƒCƒAƒ“ƒg‚ÆmapŽIŠÔ‚Ì’ÊM‚¾‚¯‚Ås‚í‚ê‚éB + ƒNƒ‰ƒCƒAƒ“ƒg‚ª‘qŒÉ‚ð•Â‚¶‚é‚©I—¹‚·‚é‚ÆAmapŽI‚ÍŠY“–ƒAƒJƒEƒ“ƒg‚Ì + ‘qŒÉƒf[ƒ^‚ðinterŽI‚É‘—‚éB‚±‚Ì‚Æ‚«interŽI‚̉ž“š‚ð‘Ò‚½‚¸‚ɃNƒ‰ƒCƒAƒ“ƒg‚É + ‘qŒÉƒNƒ[ƒY‚ð‘—‚éBinterŽI‚Í‘qŒÉƒf[ƒ^‚ðŽó‚¯Žæ‚é‚ÆA + ‘Sˆõ•ª‚̃f[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚µ‚ÄAmapŽI‚ɬŒ÷ƒXƒe[ƒ^ƒX‚ð•Ô‚·B + mapŽI‚ͬŒ÷ƒXƒe[ƒ^ƒX‚𖳎‹‚·‚éB(ƒfƒoƒbƒO—p‚ɉæ–Ê‚Éo—Í‚·‚邾‚¯) + interŽII—¹Žž‚É‚à‘qŒÉƒf[ƒ^‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚éB + + mapŽI‚Åaccount2storage‚ÅV‚µ‚¢‘qŒÉƒf[ƒ^‚ðì‚é‚Æ‚«A + ‚·‚łɕ‚¶‚ç‚ê‚Ä‚¢‚é‘qŒÉƒf[ƒ^‚̃ƒ‚ƒŠ‚ðŽg‚¢‚܂킵‚½‚Ù‚¤‚ªƒƒ‚ƒŠ‚ª + ß–ñ‚Å‚«‚é‚©‚àHi‚±‚ê‚ÍŽÀ‘•‚µ‚Ä‚¢‚Ü‚¹‚ñj + + (common/) + mmo.h + struct storage ‚ð map/storage.h ‚©‚çˆÚ“®B + interŽI‚ÆmapŽI—¼•û‚ÅŽg—p‚·‚邽‚ßB + (char/) + char2.c + do_final()‚ðì¬AI—¹Žž‚Émmo_char_sync()ˆÈŠO‚Éinter_save()‚ð + ŒÄ‚Ԃ悤‚É‚µ‚½i‚±‚ê‚Åinter_*_save()‚Í‘S•”ŒÄ‚΂ê‚Ü‚·j + inter_init()‚ðchar.exe‚Ì‘æ‚Qˆø”‚à‚µ‚­‚Í"conf/inter.cnf"‚Å + ŒÄ‚Ԃ悤‚É‚µ‚½iathena.sh‚ÉinterŽIƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚ðŽw’è‚Å‚«‚Ü‚·j + inter.c/inter.h + inter_storage_init(),inter_storage_save(), + inter_storage_parse_frommap()‚ðŒÄ‚Ԃ悤‚ÉB + inter_init()‚ɃRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹–¼‚̈ø”‚ð•t‚¯‚½B + inter_config_read()’ljÁAƒRƒ“ƒtƒBƒOƒtƒ@ƒCƒ‹‚©‚ç + ‘qŒÉ‚ƃp[ƒeƒB[AƒMƒ‹ƒh‚̃tƒ@ƒCƒ‹–¼‚ð“Ç‚Ýž‚Ý‚Ü‚·B + int_storage.c/int_storage.h + V‹K’ljÁB‘qŒÉ•”•ª‚ÌinterŽI‹@”\B + int_party.h/int_party.c/int_guild.h/int_guild.c/ + ƒtƒ@ƒCƒ‹–¼•Ï”‚Ì錾’ljÁ + INTERŽIƒpƒPƒbƒg.txt + ‘qŒÉƒpƒPƒbƒg‚̉ðà’ljÁ + + (map/) + storage.h/storage.c + storage_fromstr(),storage_tostr()‚ðchar/int_storage.c‚Ɉړ®B + “¯‚¶‚­do_init,do_final‚ł̃tƒ@ƒCƒ‹ˆ—‚àˆÚ“®B + do_final()‚͈—‚È‚µAdo_init()‚Í•Ï”‰Šú‰»‚Ì‚Ý‚É•ÏXB + storage_storageopen()‚Å‚Í’P‚Éintif_request_storage()‚ðŒÄ‚Ô‚¾‚¯‚ÉB + storage_storageclose()‚Éintif_send_storage()‚ð’ljÁ + storage_storage_quitsave()’ljÁBƒNƒ‰ƒCƒAƒ“ƒgI—¹Žž‚É + ƒJƒvƒ‰‘qŒÉ‚ªŠJ‚¢‚Ä‚¢‚ê‚Îintif_send_storage()‚ðŒÄ‚ÔŠÖ”B + intif.h/intif.c + intif_parse_LoadStorage(),intif_parse_SaveStorage(), + intif_send_storage(),intif_request_storage()’ljÁ + map.c + map_quit()‚Åstorage_storage_quitsave()‚ðŒÄ‚Ԃ悤‚ÉB + + (conf/) + inter_athena.cnf + V‹K’ljÁBinterŽI—p‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹ + + +---------- +//0221 by ŒÓ’±—– + +EƒXƒLƒ‹ƒ^[ƒQƒbƒg‚ÌID‚ª³‚µ‚­Š“¾‚Å‚«‚È‚¢–â‘èC³ + clif.c + clif_parse_UseSkillToId()‚ÅID‚ðWORD‚Æ‚µ‚Ĉµ‚Á‚Ä‚½‚Ì‚ðLONG‚ÉC³ + +EƒXƒLƒ‹‰r¥ŽžŠÔ‚Æ‘®«•\A‚¨‚æ‚Ñ–‚–@ŒnƒXƒLƒ‹‚Ì‘®«C³ŽÀ‘• + ‘®«ƒ_ƒ[ƒWC³‚Í battle_attr_fix() ‚ÅŒvŽZ‚µ‚Ü‚·B + atk_elem‚Í‘®«‚»‚Ì‚Ü‚ÜAdef_elem‚Íi‘®«lv*20{‘®«j‚Å‚·B + ‰r¥ŽžŠÔ‚Ískill.c‚ÌCASTFIX‚Ì’l‚ð•Ï‚¦‚邱‚Æ‚Å”{—¦‚ð’²®‚Å‚«‚Ü‚· + + pc.c + pc_readdb()‚Åcast_db.txt‚Æattr_fix.txt‚Ì“Ç‚Ýž‚ݒljÁ + skill.c/skill.h + struct skill_db ‚Écast,delay’ljÁA‚»‚ê‚ç‚̃AƒNƒZƒT‚à’ljÁ + ƒXƒLƒ‹‰r¥ŽžŠÔ‚ð skill_get_cast() ‚ÅŠ“¾‚·‚é‚悤‚É‚µ‚½ + battle.c/battle.h + attr_fix_table’è‹` + battle_attr_fix()’ljÁA‘®«C³‚ðŒvŽZ‚·‚é + ‘®«ŒnƒAƒNƒZƒT(battle_get_element()‚È‚Ç)‚ð’ljÁ + battle_calc_magic_damage()‚É‘®«C³‚ð’ljÁ + cast_db.txt + V‹K’ljÁB‰r¥ŽžŠÔ‚ƃfƒBƒŒƒC‚̃f[ƒ^ƒx[ƒX + ‘S‘R‘«‚è‚È‚¢‚Ì‚ÅA’N‚©’ljÁŠó–]B + attr_fix.txt + V‹K’ljÁB‘®«C³ƒe[ƒuƒ‹ + +Eƒq[ƒ‹‚ÌŽÀ‘• + clif.c/clif.h + clif_skill_nodamage()’ljÁAŽx‰‡Œn‚â‰ñ•œ‚̃GƒtƒFƒNƒg + skill.c/skill.h + skill_castend_damage_id()Askill_castend_nodamage_id()’ljÁA + UŒ‚Œn‚ÆŽx‰‡/‰ñ•œŒn‚ÅŠÖ”‚𕪂¯‚½ + ƒq[ƒ‹ŒvŽZƒ}ƒNƒ skill_calc_heal() ’ljÁ + battle.c + battle_calc_magic_damage()‚Ńq[ƒ‹‚̃_ƒ[ƒWŒvŽZ’ljÁ + + +---------- +//0220 by ‚ê‚  + +0216‚ÌC³ +HIT‚ÌŒvŽZ‚ª‚¨‚©‚µ‚©‚Á‚½‚Ì‚ÅC³‚µ‚Ä‚Ý‚Ü‚µ‚½B +ŠÔˆá‚Á‚Ä‚½‚炲‚ß‚ñ‚È‚³‚¢B + +Ebattle.c + 256s–Ú‚Ì + hitrate=battle_get_hit(&sd->bl) - battle_get_flee(&sd->bl) + 80; + ‚ª‚½‚Ô‚ñAŽ©•ª‚Ì‚g‚h‚s‚ÆŽ©•ª‚Ì‚e‚k‚d‚d‚ÅŒvŽZ‚µ‚Ä‚é‹C‚ª‚·‚é‚Ì‚Å + hitrate=battle_get_hit(&sd->bl) - battle_get_flee(target) + 80; + ‚ÉC³‚µ‚Ü‚µ‚½B + + +---------- +//0218 by ŒÓ’±—– + +ŽÀÛ‚É•ªŽU‚³‚¹‚ăeƒXƒg‚µ‚Ä‚¢‚È‚©‚Á‚½‚èB + +EmapŽI•ªŽUˆ——p‚ÉinterŽI‹@”\‚ð‚‚¯‚Ä‚Ý‚éi¡Œã‚Ì‚½‚ß‚ÌŠg’£j + charŽI‚ÉinterŽI‚ðŠñ¶‚³‚¹‚Ü‚µ‚½B•¡”‚ÌmapŽIŠÔ‚Ì’ÊM‚É—˜—p‚µ‚Ü‚·B + mapŽI‚𕪎U‚µ‚Ĉ—‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚Ì‹@”\‚Å‚·B + ¡Œãparty‚âguildŽÀ‘•Žž‚É‚«‚Á‚Æ–ð‚É‚½‚Á‚Ä‚­‚ê‚é‚©‚ÆB + + ‘qŒÉ‚ÌŽÀ‘•‚àinterŽI‚Ɉړ®‚·‚ׂ«‚©‚à‚µ‚ê‚Ü‚¹‚ñB + ‚ǂ̃Lƒƒƒ‰ƒNƒ^[‚ª‚Ç‚ÌmapŽI‚É‚¢‚é‚©ŒŸõ‚·‚é‹@”\‚à‚¢‚é‚©‚àB + + Žg‚¤ƒpƒPƒbƒg‚ÌID‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚· + mapŽI=>interŽI‚̓pƒPƒbƒg0x3000` + interŽI=>mapŽI‚̓pƒPƒbƒg0x3800` + ƒpƒPƒbƒg‚ðì‚Á‚½ê‡‚ÍAINTERŽIƒpƒPƒbƒg.txt‚É‘‚¢‚Ä‚­‚¾‚³‚¢ + + ‚±‚Ì‹@”\‚É‚æ‚郃Šƒbƒg + mapŽI•ªŽU‚É‚à‘Ήž‚Å‚«‚é + ‚±‚Ì‹@”\‚É‚æ‚éƒfƒƒŠƒbƒg + interŽIŒo—R‚Ì‘S‚Ä‚Ì–½—ß‚Ì“®ì‘¬“x‚ª—Ž‚¿‚é + iˆê‰ñinterŽI‚Ü‚Å“n‚·‚½‚ßj + ŽI‚ƃNƒ‰ƒCƒAƒ“ƒg‚𓯂¶PC‚ÅŽg‚Á‚Ä‚¢‚é‚Ƃ‚炢‚©‚à + + (char/) + char2.c/char.h + mapif_sendall()’ljÁi‘SMAPŽI‚ɃpƒPƒbƒg‚ð‘—‚éj + mapif_send()’ljÁi“Á’èMAPŽI‚É‘—‚éF¶‘¶”»’è•t‚«j + parse_frommap()‚Åinter_parse_frommap()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + (interŽI‚ÌmapŽI‰ðÍ•”‚ðcharŽI‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + inter.h/inter.c + V‹K’ljÁBinterŽI‚Ì’†ŠjB + inter_parse_frommap‚ÅMAPŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B + int_party.h/int_party.c/int_guild.h/int_guild.c + V‹K’ljÁB¡Œã‚Ì‚½‚ß‚Ì—\–ñBƒp[ƒeƒB‚âƒMƒ‹ƒh‹@”\—p + init‚Ńf[ƒ^‚ð“Ç‚ñ‚ÅAsave‚Å•Û‘¶‚·‚ׂ«H + save‚Í‚Ü‚¾ŒÄ‚΂ê‚È‚¢Bparse‚ŃpƒPƒbƒg‰ðÍB + common/mmo.h‚ ‚½‚è‚Ńp[ƒeƒB[‚âƒMƒ‹ƒh‚Ì\‘¢‘Ì‚ð + ’è‹`‚·‚é•K—v‚ª‚ ‚é‚ÆŽv‚í‚ê‚éB + INTERŽIƒpƒPƒbƒg.txt + ƒpƒPƒbƒg‚̃ŠƒXƒg + + (map/) + intif.h/intif.c + interŽI‚Æ’ÊM‚·‚é•”•ªB + inter_parse()‚ÅinterŽI‚©‚ç‚̃pƒPƒbƒg‚ð‰ðÍ‚µ‚Ü‚·B + interŽI‚Öƒf[ƒ^‚ð‘—‚é‚Æ‚«‚Íinter_fd‚ðŽg‚¢‚Ü‚·B + chrif.h/chrif.c + chrif_parse()‚Åinter_parse()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + iintif.c‚ÌinterŽI‰ðÍ•”‚ðcharŽI‰ðÍ•”‚ÉŠñ¶‚³‚¹‚½‚±‚Æ‚É‚È‚é) + +E@kamiƒRƒ}ƒ“ƒh‚ðinterŽIŒo—R‚É•ÏX + Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· + ƒNƒ‰ƒCƒAƒ“ƒg„mapŽI„interŽI„‘SmapŽI„‘SƒNƒ‰ƒCƒAƒ“ƒg + + (char/) + inter.c + mapif_GMmessage()’ljÁ + (map/) + intif.h/intif.c + intif_GMmessage()’ljÁ + intif_parse‚ÅGMƒƒbƒZ[ƒW‚̈—‚ð’ljÁ + clif.c/clif.h + clif_GMmessage()‚̈ø”‚ð•ÏX + atcommand.c + @kami•”•ª‚Åintif_GMmessage()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + +EWis‚ðinterŽIŒo—R‚É•ÏX + Œ´—‚Æ‚µ‚Ä‚ÍŽŸ‚̂悤‚ÈŠ´‚¶‚Å‚· + + ‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg„‘—‚èŽåmapŽI„interŽI„‘Sƒ}ƒbƒvŽI„(•ªŠòA) + [•ªŠòA] + 1.‘ŠŽè‚Ìl‚¢‚émapŽI„‘ŠŽè‚̃Nƒ‰ƒCƒAƒ“ƒg + @@@@V@@ @„interŽI„‘—‚èŽåmapŽI„‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg + 2.‘ŠŽè‚Ì‚¢‚È‚¢mapŽI„interŽIi•ªŠòBj + [•ªŠòB] + 1.‘SmapŽI‚ª‰ž“š‚µ‚½interŽI „‘—‚èŽåmapŽI„‘—‚èŽåƒNƒ‰ƒCƒAƒ“ƒg + 2.(‘S•”‚͉ž“š‚µ‚Ä‚È‚¢‚Æ‚«‚ÍA‘SmapŽI‚̉ž“š‚ð‘Ò‚Â) + + ‚à‚Ì‚·‚²‚¢•¡ŽG‚É‚È‚Á‚Ä‚Ü‚·‚ËB + + (char/) + inter.c + struct WisList ’è‹`iWisƒf[ƒ^‚̃Šƒ“ƒNƒŠƒXƒgj + add_wislist(),del_wislist(),search_wislist(), + check_ttl_wislist()’ljÁ,ƒŠƒ“ƒNƒŠƒXƒg‚ðˆµ‚¤ŠÖ”ŒQ + mapif_wis_message(),mapif_wis_end()’ljÁ + (map/) + intif.h/intif.c + intif_wis_message(),intif_wis_end()’ljÁ + intif_parse_WisMessage()’ljÁ,intif_parse()‚©‚çŒÄ‚΂ê‚é‚悤‚É + clif.c/clif.h + clif_wis_message(),clif_wis_end()’ljÁ + clif_parse_Wis()‚ð•ÏX,intif_wis_message()‚ðŒÄ‚Ԃ悤‚É‚µ‚½ + +EƒXƒLƒ‹Žg—pŽž‚̃qƒbƒg”/Á”ïSPŠ“¾‚̃oƒOC³ + skill.c + skill_get_sp(),skill_get_num()‚ÅŽQÆ‚·‚é”z—ñƒCƒ“ƒfƒbƒNƒX‚ðlv-1‚É‚µ‚½ + + +---------- +//0216 by ŒÓ’±—– + +‚¢‚‚à‚Ç‚¨‚èƒeƒXƒg‚Ù‚Æ‚ñ‚Ç‚µ‚Ä‚È‚¢‚Ì‚ÅAƒoƒO‘å—Ê‚©‚àB + +E0213‚ÌC³H‚Ì‚æ‚­‚í‚©‚ç‚È‚¢‚Æ‚±‚ëC³ + itemdb.c + ƒRƒ“ƒpƒCƒ‹‚ª’Ê‚ç‚È‚¢‚Ì‚Åitemdb_equipoint‚̈ø”ƒŠƒXƒg•ÏX + +EAthena dev 2.1.1‚Ì“K—p + dev-2.1.1‚Å“K—p‚³‚ꂽC³‚ð“K—p‚µ‚Ü‚µ‚½ + + timer.c + 2.1.1‚Ì‚à‚Ì‚Æ·‚µ‘Ö‚¦ + script.c + C_NE: ‚ÌC³‚Ì“K—p + README + ÅŒã‚Ì•¶Í‚ð2.1.1‚Ì‚à‚Ì‚É·‚µ‘Ö‚¦ + +EƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚ÌC³ + ˆê•”‚ÌÁ”ïSP‚âƒqƒbƒg”‚È‚Ç‚ðC³B + + skill_db.txt + ŠY“–ŒÂŠ‚ÌC³ + +EƒXƒLƒ‹UŒ‚‚ÌŽÀ‘••ÏX•’ljÁŽÀ‘• + ƒoƒbƒVƒ…Aƒƒ}[ƒiƒCƒgAƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOAƒsƒA[ƒX + ƒXƒsƒAƒu[ƒƒ‰ƒ“AƒXƒsƒAƒXƒ^ƒuAƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… + ƒ\ƒjƒbƒNƒuƒ[AƒOƒŠƒ€ƒgƒD[ƒX ‚È‚Ç‚ÌŽÀ‘••ÏX + + ƒiƒp[ƒ€ƒr[ƒgAƒ\ƒEƒ‹ƒXƒgƒ‰ƒCƒNA + ƒtƒ@ƒCƒ„[ƒ{ƒ‹ƒgAƒR[ƒ‹ƒhƒ{ƒ‹ƒgAƒ‰ƒCƒgƒjƒ“ƒOƒ{ƒ‹ƒgAƒA[ƒXƒXƒpƒCƒNA + ƒ†ƒsƒeƒ‹ƒTƒ“ƒ_[ ‚È‚Ç‚ð’ljÁŽÀ‘• + i‘S‚ÄA”͈ÍUŒ‚‚âƒXƒe[ƒ^ƒXˆÙí‚È‚Ç‚Í–¢ŽÀ‘•j + + pc.c/pc.h + 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½ + pc_attack_mob()‚ÌC³AŒvŽZ‚Íbattle_calc_weapon_attack()‚É”C‚¹A + ‚»‚ÌŒvŽZŒ‹‰Ê‚ð“K—p‚·‚邾‚¯‚É•ÏX + clif.c/clif.h + clif_skill_fail(),clif_skill_damage(),clif_skill_damage2()’ljÁ + ‚»‚ꂼ‚êŽg—pŽ¸”sAŽg—pƒGƒtƒFƒNƒgA‚«”ò‚΂µ•t‚«Žg—pƒGƒtƒFƒNƒg + skill.c/skill.h + 0213‚Ì•ÏX‚ð‚È‚©‚Á‚½‚±‚Æ‚É‚µ‚½iƒ_ƒ[ƒW”{—¦ŒvŽZ‚ª‚¨‚©‚µ‚¢j + skill_castend_id()‚ÉSP/ZenyŠm”F‚ÆÁ”ï•”•ª‚ð’ljÁA + Ží—ޕʂɈ—‚ð’ljÁB + battle.c/battle.h + V‹K’ljÁ + •ŠíUŒ‚ŒvŽZ—p‚Ébattle_calc_weapon_attack(), + –‚–@UŒ‚ŒvŽZ—p‚Ébattle_calc_magic_attack()‚ð—pˆÓ + i‘o•û‚Æ‚àAMOB‚ÆPC—¼•ûŒvŽZ‰Â”\‚È‚Í‚¸j + ƒtƒ@ƒCƒ‹‘‚₵‚·‚¬‚Æ‚¢‚¤ˆÓŒ©‚àc(Š¾) + + +---------- +//0214 by ‚ê‚  +Eƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚Æ‚±‚ë‚ðC³B +EƒXƒLƒ‹‚̈ꕔŽÀ‘• + ƒoƒbƒVƒ…Eƒƒ}[ƒiƒCƒgEƒ_ƒuƒ‹ƒXƒgƒŒƒCƒtƒBƒ“ƒOEƒsƒA[ƒX + ƒXƒsƒAƒu[ƒƒ‰ƒ“EƒXƒsƒAƒXƒ^ƒuEƒ{[ƒŠƒ“ƒOƒoƒbƒVƒ… + ƒ\ƒjƒbƒNƒuƒ[EƒOƒŠƒ€ƒgƒD[ƒX‚È‚Ç‚Å‚·B + + “K“–‚È‚Ì‚Å‚Ç‚±‚©A•s‹ï‡‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB + ‚ ‚ÆAƒeƒXƒg‚à‚ ‚܂肵‚Ä‚Ü‚¹‚ñ‚Ì‚Å‚¨‚©‚µ‚¢‚Æ‚±‚낪‚ ‚Á‚½‚çC³‚ð‚¨Šè‚¢‚µ‚Ü‚·B + ‘¼‚É‚à–â‘肪‚ ‚Á‚½‚çŽè’¼‚µ‚ð‚¨Šè‚¢‚µ‚Ü‚·B + •ÏX“à—e‚͈ȉº‚Ì’Ê‚è‚Å‚·B + + clif.c,clif.h + clif_skill_damage()‚ð’ljÁ‚µ‚Ü‚µ‚½B + + pc.c,pc.h + pc_attack_mob()‚̈ø”‚ðˆê‚’ljÁB + ƒ_ƒuƒ‹ƒAƒ^ƒbƒN‚ª‚¨‚©‚µ‚©‚Á‚½‚̂ųí‚É“®ì‚·‚é‚悤‚ÉC³B + + skill.c + ˆê•”ƒXƒLƒ‹‚ÌŽÀ‘•‚ð‚µ‚Ä‚Ý‚Ü‚µ‚½B + + +---------- +//0213 by ‚ê‚  +E0208‚Ì—ƒRƒ}ƒ“ƒh‚Å­‚µC³ + atcommand.c + @item‚Ō”Žw’肪–³‚¢ê‡A“üŽèŒÂ”‚ð‚PŒÂ‚É‚·‚é‚悤‚É‚µ‚½B + @item‚ÅID‚ÌŽw’肪–³‚¢ê‡AƒAƒCƒeƒ€‚ð“üŽè‚µ‚Ä‚½‚±‚Æ‚É‚È‚Á‚Ä + ‚¢‚½‚Ì‚ðC³ + itemdb.c + item_db.txt‚ÅSell‚Ì€–Ú‚ð“X”„‚è‚Ì’l’i‚Æ‚µ‚Ä‚Ý‚½B + item_db2.txt + ŽŽ‚µ‚ɃJ[ƒh‚⃌ƒAƒAƒCƒeƒ€‚Ì“X”„‚艿Ši‚ð’l’i‚ð–{ŽI‚Ì‘Šê‚É‚µ + ‚Ä‚Ý‚½‚à‚ÌBŽg—p‚·‚éꇂÍitem_db.txt‚Æ·‚µ‘Ö‚¦‚Ä‚­‚¾‚³‚¢B + + +---------- +//0208 by nabe + +E—ƒRƒ}ƒ“ƒhŽÀ‘•B + atcommand.h,atcommand.c + ‚Ù‚ÚI-Athena‚Ì—ƒRƒ}ƒ“ƒh‘Š“–‚Å‚·‚ªA@GM‚ÆPVP‚Í–¢ŽÀ‘•‚Å‚·B + help.txt‚à“¯«‚µ‚Ä‚¢‚Ü‚·B + GMiƒAƒJƒEƒ“ƒgID704554`704583jê—p‚É‚·‚é‚É‚ÍA + atcommand.c‚ÌŠY“–•”•ª‚̃Rƒƒ“ƒgƒAƒEƒg‚ð‰ðœ‚µ‚ĉº‚³‚¢B + clif.h,clif.c + clif_displaymessage() + clif_GMmessage() + clif_heal() + clif_resurrection() + clif_pvpon() + clif_pvpset() + clif_refine() + ‚ð’ljÁ‚µ‚Ü‚µ‚½B + clif_parse_GlobalMessage()“à‚Åatcommand()‚ðŒÄ‚ñ‚Å‚¢‚Ü‚·B + +E‚¿‚å‚Á‚Æ‚¾‚¯C³B + script.c + {buildin_openstorage,"openstorage","s"}, + ‚©‚ç + {buildin_openstorage,"openstorage",""}, + ‚ÉC³‚µ‚Ü‚µ‚½B + + +---------- +//0206 by ŒÓ’±—– +EƒXƒLƒ‹ƒcƒŠ[/ƒXƒLƒ‹Žg—p‹@\‚ÌŽÀ‘• + mmo.h + MAX_SKILL‚ð‘‚₵‚½ + char2.c + mmo_char_fromstr() + mmo_charstatus‚Ìskill‚̃Cƒ“ƒfƒbƒNƒX‚ɃXƒLƒ‹”Ô†‚ðŽg‚¤‚悤‚É‚µ‚½ + =>ƒXƒLƒ‹‚ÌŒŸõ‚‘¬‰»‚Ì‚½‚ßi‚©‚í‚è‚Ƀƒ‚ƒŠŽg—p—Ê‚ª‘‚¦‚éj + pc.h/pc.c + pc_skillup(),pc_calc_skilltree()’ljÁ + pc_checkskill()•ÏXiƒCƒ“ƒfƒbƒNƒX‚ðƒXƒLƒ‹”Ô†‚Éj + pc_readdb()‚Åskill_db.txt‚à“ǂނ悤‚É‚µ‚½ + pc_authok()‚Åcast_timer‚ð‰Šú‰»‚·‚é‚悤‚É‚µ‚½ + pc_calcstatus()‚Åpc_calc_skilltree()‚Æclif_skillinfoblock()‚ð + ŒÄ‚Ԃ悤‚É‚µ‚½ + clif.c/clif.h + clif_skillinfoblock(),clif_skillcasting(), + clif_skillup()‚ð’ljÁ + clif_parse_SkillUp(),clif_parse_UseSkillToId(), + clif_parse_UseSkillToPos()‚ðŽÀ‘• + skill.h/skill.c + ƒtƒ@ƒCƒ‹’ljÁ(map/) + map.h + struct map_session_data‚Écast_*‚ð’ljÁ + skill_db.txt + ƒtƒ@ƒCƒ‹’ljÁ(db/) + (I-Athena0200‚Ìskill_info2.txt‚ðƒRƒ“ƒo[ƒg‚µ‚½‚à‚Ì) + (ƒXƒLƒ‹Žg—p•”•ªŠJ”­ŽÒŒü‚¯î•ñ) + ƒXƒLƒ‹‚ÌŒø‰Ê‚ðŽÀ‘•‚·‚éꊂÍskill.c‚Ì + skill_castend_id(),skill_castend_pos()‚Å‚·B + ƒ^[ƒQƒbƒg‚âŽg—pƒXƒLƒ‹‚Í sd->cast_* ‚©‚瓾‚Ü‚· + ƒXƒLƒ‹ƒf[ƒ^ƒx[ƒX‚Ö‚Í skill_get_* ‚ŃAƒNƒZƒX‚µ‚Ä‚­‚¾‚³‚¢ + ¡ŒãAƒLƒƒƒXƒeƒBƒ“ƒOƒ^ƒCƒ€‚àƒf[ƒ^ƒx[ƒX‚É“ü‚ê‚é—\’è + +---------- +//0205 by nabe + +Estorage.c‚̃oƒOƒtƒBƒNƒXB +E‘qŒÉƒf[ƒ^‚ðAƒ}ƒbƒvŽI‹N“®Žž‚É“Ç‚ÝAƒ}ƒbƒvŽII—¹Žž‚É‘‚­‚悤‚É•ÏXB + storage.h,storage.c + storage_init()‚ðdo_init_storage()‚ɉü–¼B + storage_save()‚ðdo_final_storage()‚ɉü–¼B + fclose‚ð–Y‚ê‚Ä‚¢‚½‚Ì‚ð’ljÁB + map.c + #include "storage.h"‚ð’ljÁB + do_final()‚Édo_final_storage()‚ð’ljÁB + do_init()‚Édo_init_storage()‚ð’ljÁB + +---------- + +//0203(unofficial) by ‚È‚Ý + +item_db.txt‚Ì‘‚«Š·‚¦‚Ì‚Ý‚Å‚·B + +EƒAƒCƒeƒ€‚̉ñ•œ—Ê‚ð’ljÁ/•ÏX + Ôƒ|[ƒVƒ‡ƒ“@@@@@@@@@HP 30- 44 + gƒ|[ƒVƒ‡ƒ“@@@@@@@@@HP 70- 89 + ‰©F‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@HP 175-234 + ”’‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@@HP 350-429 + ‚¢ƒ|[ƒVƒ‡ƒ“@@@@@@@@SP 40- 99 + Ô‚¢ƒn[ƒu@@@@@@@@@@HP 12- 19 + ‰©F‚¢ƒn[ƒu@@@@@@@@@HP 21- 29 + ”’‚¢ƒn[ƒu@@@@@@@@@@HP 80-111 + ‚¢ƒn[ƒu@@@@@@@@@@SP 15- 44 + ƒŠƒ“ƒS@@@@@@@@@@@@HP 12- 15 + ƒoƒiƒi@@@@@@@@@@@@HP 11- 16 + ƒuƒhƒE@@@@@@@@@@@@SP 10- 24 + ‚¢‚à@@@@@@@@@@@@@HP 11- 15 + ‚É‚­@@@@@@@@@@@@@HP 70- 99 + ƒnƒ`‚Ì–¨@@@@@@@@@@@HP 72- 97 / SP 20- 59 + ƒ~ƒ‹ƒN@@@@@@@@@@@@HP 25- 34 + ƒLƒƒƒ“ƒfƒB@@@@@@@@@@HP 31- 74 + ƒXƒeƒBƒbƒNƒLƒƒƒ“ƒfƒB@@@@@HP 46-109 + ƒŠƒ“ƒSƒWƒ…[ƒX@@@@@@¦@HP 28- 32 + ƒoƒiƒiƒWƒ…[ƒX@@@@@@@@HP 27- 33 + ƒuƒhƒEƒWƒ…[ƒX@@@@@@@@SP 15- 39 + ƒjƒ“ƒWƒ“ƒWƒ…[ƒX@@@@@¦@HP 29- 32 + ƒJƒ{ƒ`ƒƒ@@@@@@@@@@@HP 14 + ƒyƒbƒgƒt[ƒh@@@@@@@@@HP 53- 83 + ‚æ‚­Ä‚¢‚½ƒNƒbƒL[@@@@@@HP 80-177 + ‚ЂƂ­‚¿ƒP[ƒL[@@@@@@@HP 251-359 + ‚ЂȂ ‚ç‚ê@@@@@@@@@@HP 175-234 + •H–Ý@@@@@@@@@@@@@HP 350-429 + ƒŒƒbƒhƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@¦@HP 30- 44 + ƒCƒGƒƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@@¦@HP 175-234 + ƒzƒƒCƒgƒXƒŠƒ€ƒ|[ƒVƒ‡ƒ“@¦@HP 350-429 +@Œ»Ý‚ÌAthena‚Å‚ÍVIT‚âƒXƒLƒ‹‚É‚æ‚éƒ{[ƒiƒX‚͉Á–¡‚³‚ê‚Ü‚¹‚ñB +@i“K—p‚·‚éꇂÍscript.c“à‚Ìbuildin_healŠÖ”‚ ‚½‚è‚É‚ÉŽè‚ð‰Á‚¦‚é•K—v‚ ‚èj +@‚È‚¨A¦•t‚̃AƒCƒeƒ€‚̃f[ƒ^‚Í“K“–‚Å‚·B +EŒÃ‚¢ƒJ[ƒh’Ÿ‚ðŽÀ‘•(UseScript) +E‚»‚Ì‘¼C³ +@@‚ЂȂ ‚ç‚ê@@@@@@@@@@d—Ê‚È‚µ¨d—Ê0.1‚ÉC³ +@@•H–Ý@@@@@@@@@@@@@d—Ê‚È‚µ¨d—Ê0.1‚ÉC³ +@@ƒoƒ‹ƒ€ƒ“@@@@@@@@@@@d—Ê0.1S4•ÐŽèŒ•¨d—Ê100S0—¼ŽèŒ•‚ÉC³ +@‚È‚¨ASell‚Ì€–Ú‚Í‚ ‚邾‚¯–³‘Ê‚Á‚Û‚¢‚Ì‚Å‘S•”Á‚µ‚Ü‚µ‚½B + +---------- + +//0202 by nabe + +EƒJƒvƒ‰‘qŒÉ‚Ìu“¯ˆêƒAƒJƒEƒ“ƒg‚È‚Ì‚É‹¤—L‚Å‚«‚È‚¢ƒoƒOv‚ð‰ü—Ç‚µ‚Ü‚µ‚½B + ŠeƒLƒƒƒ‰‚É‘qŒÉƒf[ƒ^‚ðŽ‚½‚¹‚é‚Ì‚Í–³‘Ê‚ª‘½‚¢‹C‚ª‚·‚é‚Ì‚ÅA + ƒAƒJƒEƒ“ƒgID‚ÅŠÇ—‚·‚é‚悤‚ÉŽd—l‚ð•ÏX‚µ‚Ü‚µ‚½B + ‚‚¢‚Å‚ÉA‘qŒÉƒf[ƒ^‚Í‘S‚Ästorage.c‚Å‚Ü‚©‚È‚¢A + charŽI‚ÍŠÖ—^‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½B + ‚±‚ê‚É”º‚¢Achar_athena.cnf,mmo.h,char2.c‚ÍŒ³‚É–ß‚µ‚Ü‚µ‚½B + ‚Ü‚½A‘qŒÉƒtƒ@ƒCƒ‹–¼‚Ígstorage.txth‚ɌŒ肵‚Ä‚¢‚Ü‚·B + + ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B + map/storage.h, + map/storage.c, + map/clif.h,//ˆø”•ÏX‚¾‚¯ + map/clif.c,//ˆø”•ÏX‚¾‚¯ + conf/char_athena.cnf,//Œ³‚É–ß‚µ‚½‚¾‚¯ + common/mmo.h,//Œ³‚É–ß‚µ‚½‚¾‚¯ + char/char2.c,//Œ³‚É–ß‚µ‚½‚¾‚¯ + map/itemdb.h,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ + map/itemdb.c,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ + map/pc.c,//itemdb_equippoint()ˆø”錾•ÏX‚¾‚¯ + +---------- + +//0201 by nabe + +EƒJƒvƒ‰‘qŒÉ‚ðŽÀ‘•‚µ‚Ü‚µ‚½B + + ƒXƒNƒŠƒvƒg‚©‚çŒÄ‚Ño‚·‚É‚ÍAƒXƒNƒŠƒvƒg“à‚Å + openstorage; + ‚Æ‚µ‚Ä‚­‚¾‚³‚¢B + ƒTƒ“ƒvƒ‹‚Æ‚µ‚Änpc_kafraJ.txt‚ð•t‚¯‚Ä‚ ‚è‚Ü‚·B + •¹‚¹‚Änpc_script3J.txt‚ÌŠY“–•”•ª‚à‰ü•Ï‚µ‚Ü‚µ‚½B + + char_athena.cnf‚Ì + stor_txt: + ‚Å‘qŒÉƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚Ä‚¢‚Ü‚·B + + ‰ü•ÏA’ljÁ‚µ‚½‚Ì‚ÍŽŸ‚̃tƒ@ƒCƒ‹‚Å‚·B + map/Makefile, + map/storage.c, + map/storage.h, + map/clif.c, + map/clif.h, + map/script.c, + char/char2.c, + common/mmo,h + Ú‚µ‚­‚ÍAã‹Lƒtƒ@ƒCƒ‹‚̃Rƒƒ“ƒg‚È‚Ç‚ðŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢B + +EƒJƒvƒ‰‘qŒÉŽÀ‘•‚É”º‚¢Amap_athena1.cnf‚ð­‚µ‘‚«Š·‚¦‚Ü‚µ‚½B + +E‘S‚ẴRƒƒ“ƒg•¶‚ðEUC‚©‚çSJIS‚É•ÏŠ·‚µ‚Ü‚µ‚½B + +---------- + + Athena Dev. v2.1.1 Released: Middle July, 2003 + (c) 2003 Athena Project. + http://project-yare.de/ + +1. Athena(ƒAƒeƒi)‚ɂ‚¢‚Ä +2. ‚±‚̃ŠƒŠ[ƒX‚ɂ‚¢‚Ä +3. •K—v‚È•¨ +4. Žg‚¢•û +5. Œ»Ý‚ÌŽd—l +6. jŽ« +7. –ÆÓŽ–€ +8. •åW +9. English + + +1. ƒAƒeƒi‚ɂ‚¢‚Ä + ƒAƒeƒi‚Æ‚Í2003”N1ŒŽ”¼‚΂ɂł½0052.lzh‚ðƒx[ƒX‚Æ‚µ‚Äì‚ç‚ê‚Ä‚¢‚éƒGƒ~ƒ…ƒŒ[ƒ^‚̈ê‚‚ł·B + Šî–{“I‚ȃ‰ƒCƒZƒ“ƒX‚̓IƒŠƒWƒiƒ‹‚ªGPL‚̉º‚É”z•z‚³‚ê‚Ä‚¢‚éˆ×A + ‚±‚ê‚É]‚¢GPL‚̉º”z•z‚ð‹–‰Â‚µ‚Ü‚·B + /* + ‰ü—ǔłð”z•z‚·‚éꇂ͕K‚¸‚±‚ÌREADME‚ð‘‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B + ‰½ˆ‚ð‰ü—Ç‚µ‚½‚Ì‚©•ñ(athena@project-yare.de‚Ü‚Å)‚µ‚ĖႦ‚é‚Æ•‚©‚è‚Ü‚·B + ƒoƒCƒiƒŠ‚Ì‚Ý‚Ì”z•z‚ÍGPLˆá”½‚Å‚·‚Ì‚Å"•K‚¸"ƒ\[ƒX‚à“Y•t‚µ‚Ä‚­‚¾‚³‚¢B + */ + “®ì‚ÌŠm”F‚͈ȉº‚Ì’Ê‚è‚Ì‚Ýs‚Á‚Ä‚¢‚Ü‚·B + // ‚½‚¾‚µŠ®àø‚É“®‚­Ž–‚ð•ÛØ‚·‚é‚à‚Ì‚Å‚ ‚è‚Ü‚¹‚ñ + ‘ÎÛCPU: Intel PentiumŒn // PentiumIIˆÈã‚ÅŠm”F. + FreeBSD 4.8R, 4.6.2R + Linux RedHat 7.3 + cygwin + gcc 3.2 20020927 (prerelease) + ŠJ”­Œ³URL: http://project-yare.de/ + + +2. ‚±‚̃ŠƒŠ[ƒX‚ɂ‚¢‚Ä + ¡‰ñ‚̃ŠƒŠ[ƒX‚Í‘O‰ñ(V2.1)“¯—lŠJ”­”ł̃ŠƒŠ[ƒX‚Ì‚Ý‚Å‚·B + 2.1‚É”ä‚׉º‹L‚Ì“_‚ªC³‚³‚ê‚Ä‚¢‚Ü‚·B + map‚̃fƒtƒHƒ‹ƒgݒ肪ŠØ‘data.grf‚̂ݳí‚É“®ì‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚½“_ + common/timer.c‚âmap/script.c‚ÌŠô‚‚©‚̃oƒO + + v‘¬‚ÉUpdate‚ð‹­‚­„§‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªŠeŽ©‚Ì”»’f‚Ås‚Á‚ĉº‚³‚¢B + + +3. •K—v‚È•¨ + data.grf //sdata.grf‚Í•K—v‚ɉž‚¶‚Ä + account.txt //‘¶Ý‚µ‚È‚¢ê‡athena.sh‚ªŽ©“®¶¬‚µ‚Ü‚· + conf/*.cnf //Map—p‚ÆChar—p‚Ì“ñŽí—Þ‚ ‚è‚Ü‚· + conf/npc*.txt //npcÝ’è—pƒtƒ@ƒCƒ‹‚Å‚·B•¡”‚̃tƒ@ƒCƒ‹‚É•ª‚¯‚邱‚Æ‚ª‰Â”\‚Å‚·B + db/*.txt //ƒAƒCƒeƒ€Ajobî•ñ‚È‚Ç + + +4. Žg‚¢•û + > tar xvfz athena-d?.?.tar.gz + > cd athena-d?.?.tar.gz + > make + > vi conf/char_athena.cnf //IP(127.0.0.1)‚Ì•”•ª‚ðŠÂ‹«‚ɇ‚킹‚Ä•ÏX‚µ‚Ä‚­‚¾‚³‚¢ + > vi conf/map_athena.cnf //“¯ãA‚Ü‚½mapÝ’è‚È‚Ç‚ÍA‚±‚̃tƒ@ƒCƒ‹‚Ås‚¢‚Ü‚·B + > ./athena.sh + ã‹L‚ðs‚¦‚Î"‚½‚Ô‚ñ"‹N“®‚µ‚Ü‚·B + + •â‘«: + conf/npc_sampleJ.txt‚ɂ̓XƒNƒŠƒvƒg‚Ì‘‚«•û‚ɂ‚¢‚ÄFX‚Èà–¾‚ª‹LÚ‚³‚ê‚Ä‚¢‚Ü‚·B + ‚à‚µA“ÆŽ©‚ÌMapÝ’è‚ðs‚Á‚Ä‚Ý‚½‚¢l‚âAƒXƒNƒŠƒvƒg‚ð˜M‚肽‚¢•û‚ÍŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢B + ‚½‚¾‚µAŠJ”­’†‚Ì‚½‚߃XƒNƒŠƒvƒg‚ÌŽd—l‚ª•ÏX‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B + command.txt‚É‚ÍŽÀ‘•Ï‚Ý‚Ì“ÁŽêƒRƒ}ƒ“ƒh‚ɂ‚¢‚Ä‚Ìà–¾‚ð‹LÚ‚µ‚Ä‚¢‚Ü‚·B + + +5. Œ»Ý‚ÌŽd—l + –{ŽI‚Æ”ä‚ׂè‚©‚µ‚¢(—Ⴆ‚΃vƒo‚ª•à‚­Aƒ|ƒŠƒ“‚ªƒAƒCƒeƒ€‚ðE‚í‚È‚¢‚È‚Ç)“_‚ÍA + ‘S‚ÄŒ»ÝŠJ”­’†‚Ɉö‚é‚à‚Ì‚Å‚·B + Œ»ó‚Æ‚µ‚ăLƒƒƒ‰ƒNƒ^Œn‹y‚у‚ƒ“ƒXƒ^[Œn‚̃oƒO•ñ‚Í–³Ž‹‚³‚ê‚é‰Â”\«‚ª‚‚¢‚Å‚·B + + ƒoƒO•ñ‚ɂ‚¢‚Ä•K‚¸”­¶ðŒ‚ð‚¨‘‚«‰º‚³‚¢B + ‰º‚É‚ ‚é•ñ—pƒeƒ“ƒvƒŒ[ƒg‚ðŽg‚Á‚Ä•ñ‚µ‚Ä’¸‚­‚Æ•‚©‚è‚Ü‚·B + •ñæ‚̓Gƒ~ƒ…”‚̊J”­ƒXƒŒ‚É‚Å‚àB + ---- Athena v 2.0 (stable or develop) ---- + ygcc verzgcc -v‚ðŽÀsŽž‚É•\Ž¦‚³‚ê‚é“à—e + y“®ìƒVƒXƒeƒ€zFreeBSD, Linux(ƒfƒBƒXƒgƒŠƒrƒ…[ƒWƒ‡ƒ“‚à), cygwin‚È‚Ç + y”­¶“à—ezmap‚ª—Ž‚¿‚Ä‚µ‚Ü‚Á‚½Žž‚Ì•\Ž¦‚³‚ê‚Ä‚¢‚½ƒfƒoƒbƒOî•ñ‚È‚Ç‹ï‘Ì“I‚É‘‚¢‚Ä‚­‚¾‚³‚¢B + y‘€ì“à—ez‹ï‘Ì“I‚É‚Ç‚ñ‚È‘€ì‚ðs‚Á‚½‚©‚ð‘‚¢‚Ä‚­‚¾‚³‚¢B + ------------------ END ------------------- + —‘z‚̓eƒ“ƒvƒŒ‚ɉÁ‚¦‚Ämap.core‚È‚Çcoreƒtƒ@ƒCƒ‹‚ðUploader‚ɃAƒbƒv‚µ‚Ä’¸‚­‚±‚Æ‚Å‚·‚ª + –â‘è‚ÌMap‚¾‚¯‚Ìó‘Ô‚É‚µcore‚Ì“f‚­—e—Ê‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B + /* + Šm”F‚µ‚½ŒÀ‚è‚Å‚Í324ŒÂ‚Ù‚Çmapƒf[ƒ^‚ð“Ç‚Ýž‚Ü‚¹‚é‚ÆA + 40MB‹ß‚¢coreƒtƒ@ƒCƒ‹‚ð“f‚«o‚µ‚Ü‚· @FreeBSD + cygwin‚ÌꇂÍstackdump‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚É‚È‚é‚»‚¤‚Å‚·B + ‚µ‚©‚µAcoreƒtƒ@ƒCƒ‹‚È‚Ç‚ðgzipˆ³k‚È‚Ç‚·‚ê‚Α啂ɬ‚³‚­‚È‚è‚Ü‚·B + ‘å–}30MB‚Ìcoreƒtƒ@ƒCƒ‹‚ª2.9MB‚Ù‚Ç‚É‚È‚é‚悤‚Å‚·B + ‚Å‚·‚Ì‚ÅA‚à‚µƒAƒbƒvƒ[ƒh‚·‚éꇂÍgzipˆ³k‚È‚ÇŠeŽ©s‚Á‚Ä‚­‚¾‚³‚¢B + */ + + ¡‰ñ‚̃ŠƒŠ[ƒX‚¾‚¯‚Å‚È‚­HISTORY‚ð쬂·‚é‚Æ‘å—Ê‚É‹Lq‚ª•K—v‚Ȉ×È—ª‚µ‚Ä‚¢‚Ü‚·B + // ‘½‚¢“ú‚¾‚Æ–{“–‚ÉŒ‹\‚ ‚è‚Ü‚·‚Ì‚ÅddB + + +6. jŽ« + ¡‰ñ‚±‚ÌAthenaŠJ”­”Å‚ðo‚·‚É“–‚½‚Á‚ÄŠ´ŽÓ‚µ‚½‚¢•ûX(‡”Ô•s“¯) + LemmingŽ (Project YARE) + 0052Ž (Uploader) + 35Ž (ƒGƒ~ƒ…ŠJ”­ƒXƒŒ) + Johan LindhŽ(Author of memwatch) + YARE forum‚ÌNPCî•ñ‚ð쬂µ‚½•ûX + weissŒ¤‹†‰ïBBS‚Ì—lX‚Èî•ñƒtƒ@ƒCƒ‹‚ð쬂µ‚½•ûX + ÅŒã‚ÉA.coreƒtƒ@ƒCƒ‹’B + + +7. –ÆÓŽ–€ + Athena Project‚͈êØAthena‚Ì“®ì‚ÉŠÖ‚·‚é•ÛØ“™‚Ís‚¢‚Ü‚¹‚ñB + ‚‚܂èAAthena‚Í–³•ÛØ‚Å‚·B + athena@project-yare.de‚É“®ìE‘€ì“™‚ÉŠÖ‚·‚鎿–â‚È‚Ç‚ð‘—‚ç‚ê‚Ä‚àˆêØ‚¨“š‚¦‚Å‚«‚Ü‚¹‚ñB + –”Athena‚ð—p‚¢‚½‚±‚Æ‚É‚æ‚趂¶‚½”íŠQE–â‘è“™‚ÌÓ”C‚͈êØAthena Project‚Í•‰‚¢‚Ü‚¹‚ñB + + +8. •åW + athena‚ÌŠJ”­‚ÉŽQ‰Á‚µ‚½‚¢//‹»–¡‚ª‚ ‚é‚Æ‚¢‚¤•û‚²˜A—‰º‚³‚¢B + ‰äX‚Í‹M•û‚ÌŽQ‰Á‚ð‚¨‘Ò‚¿‚µ‚Ä‚¢‚Ü‚·B + // ÅV”Å‚ª—~‚µ‚¢‚¾‚¯‚ʼn½‚狦—Í‚µ‚Ä’¸‚¯‚È‚¢‚Æ‚¢‚¤•û‚Í‚¨’f‚è‚Å‚·;-) + [•åW—v€: ƒvƒƒOƒ‰ƒ}(2-3l)] + ”N—î: •s–â + «•Ê: •s–â + Œ¾Œê: “ú–{Œê‚ª—‰ð‰Â”\ + “à—e: CŒ¾Œê‚à‚µ‚­‚ÍC++‚É‚æ‚éŠJ”­B(“Á‚Ƀlƒbƒgƒ[ƒN‚âDB‚ÌŒoŒ±‚ª—L‚é•û‘å•åW!) + [•åW—v€: –|–ó(?l)] + ”N—î: •s–â + «•Ê: •s–â + Œ¾Œê: “ú–{ŒêA‰pŒê‚ª—‰ð‰Â”\ + “à—e: •§—–¼ŒêA“ƈíŒêA¼”ljåŒêAˆÉ‘¾—˜ˆŸŒêA‘×(ƒ^ƒC)ŒêA’©‘NŒêA’†‘Œê‚Ö•¶Œ£AƒTƒCƒg‚È‚Ç‚Ì–|–ó + ˜A—æ: athena@project-yare.de ŽG–±’S“–‚Ü‚ÅB + + +9. English + This release is just fixed some bugs in timer.c, script.c and map_athena1.conf. + + +(c) 2003 Athena Project. diff --git a/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 .B .B .B .B .B .B .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 .w .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 .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 .l .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 .w { .l .B .24B .B .l .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 is 7, there are 2 possibilities: banishement or state{Your are Prohibited to log in until %s}. + +S 7930 .24B .24B .B .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 .l .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 .24B + It's a request to delete an account. + Answer packet: 0x7933. + +R 7933 .l .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 .24B .24B + It's a request to modify the password of an account. + Answer packet: 0x7935. + +R 7935 .l .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 .24B .l .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 (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 .l .24B .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 .w {.l .w .20B <#_of_users>.w .w .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 .24B .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 .l .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 .24B .B + It's a request to modify the sex of an account. + Answer packet: 0x793d. + +R 793d .l .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 .24B .B + It's a request to modify the GM level of an account. + Answer packet: 0x793f. + +R 793f .l .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 .24B .40B + It's a request to modify the email of an account. + Answer packet: 0x7941. + +R 7941 .l .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 .24B .w .(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 .l .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 .24B + It's a request to obtain (by the name) the id of an account. + Answer packet: 0x7945. + +R 7945 .l .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 .l + It's a request to obtain (by the id) the name of an account. + Answer packet: 0x7947. + +R 7947 .l .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 .24B .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 .l .24B .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 .24B .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 .l .24B .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 .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 .l .24B .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 .W .L .(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 .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 .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 .l .24B .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 .24B + It's a request (by name) to obtain complete information about an account. + Answer packet: 0x7953. + +R 7953 .l .B .24B .B .l .l .20B .24B .16B .40B .l .l .w .(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 .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 new file mode 100644 index 0000000..5cd9bde Binary files /dev/null and b/doc/agitdb_ref.txt differ 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 .l .24B .24B .B + ƒAƒJƒEƒ“ƒgID&ƒpƒXƒ[ƒh‘—M +S 0065 .l .l .l ?.2B .B + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±—v‹ +S 0066 .B + ƒLƒƒƒ‰ƒNƒ^‘I‘ð—v‹ +S 0067 .24B .11B + ƒLƒƒƒ‰ƒNƒ^쬗v‹ +S 0068 .l .40B + ƒLƒƒƒ‰ƒNƒ^휗v‹ +R 0069 .w .l .l .l ?.32B .B {.l .w .20B .w .w .w}.32B* + login¬Œ÷&ŽIî•ñ +R 006a .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 .w .106B* + ƒLƒƒƒ‰ƒZƒŒŽIÚ‘±¬Œ÷&ƒLƒƒƒ‰ƒNƒ^ƒf[ƒ^ + = .l .l .l .l .l ?.8B