summaryrefslogtreecommitdiff
path: root/Changelog-Renewal.txt
diff options
context:
space:
mode:
authorParadox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-10-11 06:22:03 +0000
committerParadox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-10-11 06:22:03 +0000
commit3c22c93f3d02458d151cb6d3a7e8add7f549c453 (patch)
tree2ecb51979ddb4d055faf9148f633c6694c54372b /Changelog-Renewal.txt
parent31ac1ba472e692330136f02bcae3a19ef86f5749 (diff)
downloadhercules-3c22c93f3d02458d151cb6d3a7e8add7f549c453.tar.gz
hercules-3c22c93f3d02458d151cb6d3a7e8add7f549c453.tar.bz2
hercules-3c22c93f3d02458d151cb6d3a7e8add7f549c453.tar.xz
hercules-3c22c93f3d02458d151cb6d3a7e8add7f549c453.zip
Renamed Changelog-Trunk.txt to Changelog-Renewal.txt in renewal branch. Removed unnecessary notice from top of Changelog-Trunk.txt and Changelog-Renewal.txt regarding updating of stable branch.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14427 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'Changelog-Renewal.txt')
-rw-r--r--Changelog-Renewal.txt8419
1 files changed, 8419 insertions, 0 deletions
diff --git a/Changelog-Renewal.txt b/Changelog-Renewal.txt
new file mode 100644
index 000000000..18629909c
--- /dev/null
+++ b/Changelog-Renewal.txt
@@ -0,0 +1,8419 @@
+Date Added
+
+2010/10/11
+ * Implemented official cash food behavior, including use delay, not being dispelled (including on death),
+ distinct status effects and icons from the ordinary food types. (bugreport:2560) [Paradox924X]
+ * Applied ultramage's fix to prevent a segfault when a mob dead event triggered by a land-based skill causes the player to warp. (bugreport:4426) [Paradox924X]
+2010/10/10
+ * Applied Ai4rei's patch to prevent an invalid rid from being attached to the execution of a script. (bugreport:4470) [Paradox924X]
+ * Added NULL initialization to info variable in map_readfromcache() to satiate compiler. (bugreport:4399) [Paradox924X]
+ * Applied Ai4rei's patch to eliminate unnecessary and redundant castle data saving. (bugreport:4471) [Paradox924X]
+ * Added a missing const qualifier to a variable. (bugreport:4472) [Paradox924X]
+ * Rev. 14418 Follow up from r14413, should take care of the errors from bugreport:4472. [L0ne_W0lf]
+ * Pull `name` from character table instead of using `master` from guild table when loading guild data. [Paradox924X]
+ * Use `char_id` rather than `master` when checking if a guild needs to be deleted during character deletion. [Paradox924X]
+2010/10/06
+ * Rev. 14413 Touched up the party booking patch, seems I forgot some lines in clif.c...and managed to duplicate a line in map.c. [L0ne_W0lf]
+2010/10/05
+ * Rev. 14412 Added Spira's Party Booking System implementation [L0ne_W0lf]
+2010/09/20
+ * Fixed when devoter is killed by the redirected damage, devotee takes the whole damage. (follow up to r14406)[Inkfish]
+2010/09/18
+ * Rev. 14409 Added bard/dancer songs and duets to the nodispell list. (bugreport:4411) [L0ne_w0lf]
+ * Applied Ai4rei's patch for the skill WE_CALLPARTNER (bugreport:4437)
+2010/09/12
+ * All direct damages such as reflected damage or Tarot Card damage should not be redirected. (follow up to r14400)[Inkfish]
+2010/09/08
+ * All mobs whose display sprites are those of a job id will now appropriately be identified to the client as players, not mobs. [Paradox924X]
+ * Updated License from GNU GPLv2 to GNU GPLv3. [Paradox924X]
+2010/09/07
+ * Added MD_TARGETWEAK to list of modes not to give a player when calculating player data.
+ - This makes evilclones aggressive towards players. (bugreport:3280) [Paradox924X]
+ * Ensure a pointer is valid within map_readfromcache() before attempting to access its members. [Paradox924X]
+2010/09/06
+ * Rev. 14400 Implemented Icescope's fix for devotion, reflect damage is no longer absorbed by the devoter. (bugreport:3189) [L0ne_W0lf]
+ * As a folow up to r14301, increased MAX_REG_NUM to 256, to prevent possible data loss.
+2010/08/28
+ * Force a map_quit() call on the session data after a block/ban/changesex/acc deletion to remove leftovers of a player's session
+ caused by when the fd has already been set to eof (player is not connected) but session data is kept (e.g. autotrading). [Paradox924X]
+ * Replaced a map_moveblock() call with a call to unit_movepos() to prevent an exploit. [Paradox924X]
+2010/08/26
+ * Rev. 14395 instance_npcname will now error if the NPC being looked up is not found, care of ramsey. [L0ne_W0lf]
+ * delitem/2 will now send the close button when failing to find all neccecary items to delete.
+ - Still do to, items should not be deleted as-found, and should be deleted once counted
+ and in the event of delitem failure, nothing should be consumed. This is a design flaw
+ in eathena, and should be fixed as soon as possible.
+2010/08/21
+ * Rev. 14393 Follow up to r14392, forgot to remove the old snprintf. [L0ne_W0lf]
+ * Rev. 14392 Mob chat now strips "#unique" names off monsters, curtosy of Daegaladh. [L0ne_W0lf]
+2010/08/20
+ * Rev. 14390 Commented out code from r14388, as this breaks NPCs that rely on running global events in duplicates. (IE: WoE scripts) [L0ne_W0lf]
+ * Removed processing for undocumented and unused event 'OnCharIfInit' which is essentially an alias for event 'OnInterIfInit'. [Paradox924X]
+ * Made it so global events don't get executed in duplicates to prevent unnecessary reprocessing of events that only need to be run once.
+ This potentially reduces the total number of global events by hundreds, even thousands. [Paradox924X]
+ * Added a few missing updates to the last packet update to properly support player clones and disguising. [Skotlex]
+2010/08/19
+ * Rev. 14384 Follow up to r14383, changed use of clif_font_area to clif_font, seems Skotlex forgot them. [L0ne_W0lf]
+ * Added support for packets 0x7fa, 0x7f7, 0x7f8, 0x7f9. These are for renewal
+ clients and fixes deletion of ammo/displaying of Homunculus HP/SP bars on recent RE clients. [Skotlex]
+2010/08/18
+ * Rev. 14381 Added bonus3 bAdd/SubEle, which allows you to specify a battle flag as well! Dun dun dun! [L0ne_W0lf]
+ - The bonuses are addititive to existing bAdd/SubEles, as that's how it appears to work.
+2010/08/16
+ * Fixed an exploit where unauthorized GMs can give zeny through auction. [Inkfish]
+ * Rev. 14378 Attempting to tackle, and fix some simple errors in skills. [L0ne_W0lf]
+ - Stormgust hit counter no longer resets under new casts of stormgust.
+ - RG_STEALCOIN will now cause the monster to aggro player on success. (bugreport:3547)
+ - SL_WIZARD will now consume one crystal fragment per reflected hit. (bugreport:3603)
+ - WZ_FROSTNOVA will now ignore targets in area that are already frozen. (bugreport:3980)
+ - SL_KAAHI will no longer use SP if player has full health already. (bugreport:3918)
+ - CG_TAROTCARD "The Lovers" will heal source player instead of target. (bugreport:4171)
+ * Merged Shinryo's patch which speeds up map-cache loading (with a few changes, see eA forum thread #253218 for details) [Skotlex]
+2010/08/14
+ * Rev. 14373 Quest log kill count now updated properly. (Added from topic 253813) [L0ne_W0lf]
+2010/08/11
+ * Documented Battleground commands with as much information as I've got. [L0ne_W0lf]
+2010/08/03
+ * Merged quite a bit of the RagexeRE eA Compatibility patch (eA topic 222623) to support the more recent clients. [Skotlex]
+2010/07/27
+ * Rev. 14367 Implemented three new mercenary skills. [L0ne_W0lf]
+2010/07/27
+ * Rev. 14365 Updated npc_randomattack, it now does 100*skillevel percent damage. [L0ne_W0lf]
+ * Added patch from Paradox to allow a skill to use a random element for damage. See skill DB for info.
+2010/06/27
+ * Rev. 14358 Follow up to r14357. Moved where sd is checked for existance in specialeffect2. [L0ne_W0lf]
+ * Rev. 14357 Updated specialeffect2 to accept player names. (follow up to r14353) [L0ne_W0lf]
+ * Bascilica now allows boss-flagged monsters to knock you back as per official.
+2010/06/27
+ * Rev. 14356 Follow up to r13895, added a battle.conf setting to control if ranges should be checked with autocasts. [L0ne_W0lf]
+ 'autospell_check_range', by default is set to no, as this is official behavior. This also affects autospellwhenhit.
+ * Sonic Blow autocast now stops players attacking when it triggers. It's possible there is more depth to this
+ on official servers, and should 'stop' attacking on regular casts as well. It appears so far that this is the
+ only skill that behaves this way.
+ * Modified the default value for homunculus_auto_vapor in source to 1.
+ * pvp_points are no longer calculated in the gvg_dungeon flagged maps.
+2010/06/22
+ * Rev. 14353 Added support for NPC names in the 'specialeffect' script command, go go copy/paste! [L0ne_W0lf]
+2010/06/20
+ * Fixed codepage indicators being included in NPCs' whispervars. [Gepard]
+2010/06/18
+ * Added support for NPC/PC names in 'emotion' script command. [Gepard]
+2010/06/14
+ * Rev. 13442 Blocked being able to use the skill CR_DEVOTION on players under the status SC_HELLPOWER. [L0ne_W0lf]
+ - Additionally, users afflicted by the status can also no longer use Token of Siegfried to self-res.
+ * Added Manuk, Splendide and SC_HELLPOWER statuses to the status effects that can't be dispelled.
+ * Changed SC_SPEEDUP0 to use the correct status icon SI_MOVHASTE_HORSE.
+ * Changed SI_SPEEDUP1 to use the correct status icon SI_SPEEDPOTION1.
+2010/06/13
+ * 'clif_hpmeter' shouldn't send the packet to the player himself. [Inkfish]
+2010/06/10
+ * Rev. 14336 Updated SC_ITEMBOOST to work similar to how it used to in r11351. [L0ne_W0lf]
+ - Will not boost drop rates past 90%, but ignores those already greater than.
+ - Now uses val2 in the sc_start as the drop rate modifier, see item_db for example.
+2010/06/09
+ * Added support for packet 0x7fe which changes the bgm temporarily for a single player [Rikter/Yommy]
+ * Added 2 script commands, playBGM and playBGMall, documented use in doc/script_commands.txt [Rikter/Yommy]
+2010/06/01
+ * Rev. 14329 Corrected warnings (and errors on some compilers) from r14327. [L0ne_W0lf]
+ * Rev. 14327 Implemented the Manuk and Splendide item status effects, thanks to Epoque. [L0ne_W0lf]
+2010/05/31
+ * Added support for using 'town', 'autotrade', 'allowks', 'monster_noteleport', 'pvp_nocalcrank' and 'battleground' mapflags in scripts (bugreport:4226). [Paradox924X]
+ * Replaced all occurrences of 'leaved' with 'withdraw'. [Paradox924X]
+ * Rewrote and optimized clif_hpmeter to employ map_foreachinarea() rather than an iteration over every session (bugreport:3956). [Paradox924X]
+ * Rewrote and reorganized checks in @autotrade to check and display most useful information first (bugreport:4253). [Paradox924X]
+2010/05/30
+ * Damaged reflected from skills will now be shown as multiple hits if the skill used was multi-hit. [Paradox924X]
+2010/05/29
+ * Rev. 14313 Added a pc_isdead check to warpparty. Only warp and mapwarp (moveto, warpallpcinthemap, and warpwaitingpc aegis script equivilents) should revive players when placing them on new maps. [L0ne_W0lf]
+ * Rewrote/optimized script command warpparty. [Paradox924X]
+ - Added support for an optional extra parameter "from_mapname" to restrict effect of warpparty to only those on a specific map.
+2010/05/28
+ * Rev. 14310 Fixed it so you can't add opositions during woe se. [L0ne_W0lf]
+2010/05/20
+ * Rev. 14301 Increased gobal_reg_value to 256 from 96. [L0ne_W0lf]
+ * Upped the max quest db entries allowed to 1500.
+ * Added remaining status icons to status.h (mostly 3rd job icons.)
+2010/04/28
+ * Fixed OnTouch doesn't trigger on hiding character. (bugreport:4208) [Inkfish]
+2010/04/23
+ * Merged a few updates for supporting renewal clients (thanks to Diablo): [Skotlex]
+ - Updated packets for char-select screen, trade item add, guild storage item add, vending list.
+ - Allow client to change item-share party settings
+2010/04/12
+ * Fixed SuccessRemoveCards removing Armor Enchant. (bugreport:4014) [Inkfish]
+2010/03/31
+ * Rev. 14277 Moved /npc/sample/ to /doc/sample. These are examples, not actual npcs. [L0ne_W0lf]
+2010/03/23
+ * Rev. 14270 Implemented NPC_TALK (Credit to SnakeDrak and Daegaladh) [L0ne_W0lf]
+ - Also added in the ability to use '@npctalkc' as a GM command.
+2010/03/21
+ * Added missing checks to stop an infinite free cash point exploit. (bugreport:4139) [ultramage]
+2010/03/02
+ * Fixed an exploit where the buyer can end the auction himself. [Inkfish]
+2010/02/27
+ * Fixed Posion Status killing monsters with low max hp(like plants). [Inkfish]
+2010/02/19
+ * Fixed racial bonuses for RC_NONDEMIHUMAN applying to right cardfix value (cardfix) instead of left cardfix value (cardfix_) in the case of melee attacks where left_cardfix_to_right is set to 'no'. [Paradox924X]
+ * Fixed NPC_INVINCIBLE can be dispelled. (bugreport:4046) [Inkfish]
+ * Fixed a compliation warning. [Inkfish]
+2010/02/09
+ * Expanded range for cached and stored-in-db guild member exp (devotion) from uint32 to uint64. (bugreport:3983) [Paradox924X]
+ * Capped value when sending to client to INT_MAX to prevent confusion. [Paradox924X]
+2010/02/07
+ * Bleeding doesn't kill non-player characters. [Inkfish]
+2010/02/06
+ * Added official packet to display received expirience. [Inkfish]
+2010/01/30
+ * Added support for PACKETVER 20100105, which updates the vending related packets on this and later clients. [Skotlex]
+2010/01/28
+ * Rev. 14232 SN_SHARPSHOOTING is no longer affected by AC_VULTURE. (Bugreport:3909) [L0ne_W0lf]
+ - Removed the mercenary version from there as well, as it's not needed.
+ * Fixed target skill doesn't autocast on hit when hit by AoE. [Inkfish]
+2010/01/24
+ * Prevented the changing of alliances to oppositions during WoE. (bugreport:3923) [Paradox924X]
+2010/01/23
+ * Prevented pc_skill with a value of 2 for 'flag' from granting a skill level that surpasses MAX_SKILL_LEVEL. (bugreport:4022) [Paradox924X]
+2010/01/19
+ * Snatch should warp you anyway even if the target died. [Inkfish]
+ * Snatch now checks the distance between source and target in case it kills the target and then warps the respawned one. [Inkfish]
+2010/01/16
+ * Fixed items don't grant skill if you had this skill before and then changed your job. [Inkfish]
+2010/01/14
+ * Fixed change cart packet doesn't check for skill. [Inkfish]
+ * Added new packets for Plagiarism. [Inkfish]
+2009/12/27
+ * Fixed Meteor Assault and Spread Attack have twice the chance to trigger AutoSpellOnSkill. [Inkfish]
+2009/12/03
+ * Prevented online user count from going negative. (bugreport:3913) [Paradox924X]
+2009/12/02
+ * Rev. 14183 Semi-revert of 14182, moved ALL_WEWISH up under SA_GRAVITY instead, as I hadn't noticed it does exactly what the new case did. [L0ne_W0lf]
+ * Rev. 14182 Added skill ALL_WEWISH. This skill in older clients plays a song, however in current clients it does not. The effect (AL_ANGELUS) still shows. [L0ne_W0lf]
+2009/11/26
+ * Moved log_sql_init() call up in map-server-init to after after map_sql_init() call to prevent unnecessary processing before a potential quit. [Paradox924X]
+ * NPC event code cleanups. [Inkfish]
+ - removed the 'OnMyMobDead' dead code. It's never supported though documented.
+ - removed the 'feature' that events only trigger when the player is in the OnTouch area IF it's specified.
+ It's never documented and breaks official scripts.
+ - some cleanups and bug fixes to OnTouch_.
+ * Fixed warping in OnPCDieEvent revives people with 0 hp.
+2009/11/25
+ * Fixed strnpcinfo(1) returning blank strings when NPC names did not have a hidden portion of the display name. (bugreport:3758) [Paradox924X]
+2009/11/23
+ * Fixed player keeps bleeding when dead. [Inkfish]
+ - If battle_config.invincible_nodamage is true, reflected damage to targets in invincible status is now 1.
+2009/11/22
+ * Added 'ipban_cleanup_interval' option which determines how often expired IP bans are cleaned from the database. (bugreport:3734) [Paradox924X]
+ * Modified ipban_check() to only include ipbans that haven't already expired. (bugreport:3734) [Paradox924X]
+2009/11/20
+ * Cleaned up mapreg dirty-marking code to only mark the mapreg as dirty when it actually is. (bugreport:3735) [Paradox924X]
+2009/11/19
+ * Applied the renewal client support patch from Diablo (eA forum topic 222623).
+ By default eA still supports sakexe/ragexe clients. In order to support the
+ renewal clients you must:
+ - 1: Change the default packet version to "default" in db/packet_db.txt
+ - 2: Change the supported PACKETVER in src/common/mmo.h to the most recent one
+ - 3: recompile. [Skotlex]
+ * Added support for strcharinfo(3) to retrieve the player's map, as getmapxy
+ can be a bit unwieldy when you just want this information. [Skotlex]
+ * Added script command "searchitem" which enables scripts to do item searches
+ based on name (can be useful for creating query NPCs). [Skotlex]
+09/11/09
+ * Fixed mob is removed from map right after his rebirth. [Inkfish]
+ * Fixed dead event does not trigger when a mob has rebirth skill and dies for the second time. [Inkfish]
+09/11/08
+ * Added a flag to indicate if the script of an autobonus was parsed for the sake of resourse saving. [Inkfish]
+09/11/04
+ * All Songs/Dances now create a 3 second delay before Adaption can be used. [Inkfish]
+ * Fixed unit still not being able to move when fiberlock is removed by Magnetic Earth. [Inkfish]
+09/11/02
+ * Rev. 14119 Added battle_config.mob_slave_keep_target config option (monster.conf) [L0ne_W0lf]
+ - When yes (default) MVP slaves will always keep their prior targets.
+ - When no the old behavior of switching to the closest target is enabled.
+ * Updated MAX_MOB_DB to 4000 (Monsters are starting to appear in the 2k ranges)
+ * Changed default respawn time (when 0) to 500 from 5000.
+ * Quick fix to char command checking gm level of the target player instead of the command user (bugreport:3255). [Inkfish]
+ * Disalbed @jump/@jumpto usage when dead. [Inkfish]
+09/11/01
+ * Rev. 14115 Implemented the fix for Slim Pitcher working on WoESE objects (bugreport:3618). [L0ne_W0lf]
+ * Added SC_SPIRIT to the list of buffs that are dispelled when the player logs out.
+09/10/27
+ * Fixed quest will never get erased when it's the only quest you have. [Inkfish]
+ * Cast time of Emergency Call is doubled if you master of High Jump. [Inkfish]
+ * High Jump can't be used on PvP maps. [Inkfish]
+09/10/26
+ * Implemented NPC_VAMPIREGIFT and NPC_WIDESOULDRAIN. [Inkfish]
+09/10/25
+ * Rev. 14101 The status SC_INVINCIBLE now reduces all damage to 1. [L0ne_W0lf]
+ - Official behavior, and allows players to cancel NPC_ALLHEAL casts.
+ - If battle_config.invincible_nodamage is true, reflected damage is still 0.
+09/10/25
+ * Implemented the official version of 'OnTouch' named as 'OnTouch_' and it can be defined in script_athena.conf. [Inkfish]
+ * Adapted 'map_foreachinarea' to 'map_forsomeinarea' so that it allows you to specify the count of bl you wanna operate on. [Inkfish]
+09/10/24
+ * Reverted the previous change to OnTouch not triggering for invisible chars [ultramage]
+ * 'OnTouch' script shouldn't trigger when you are invisible.(same as warps) [Inkfish]
+ * Fixed character doesn't stop walking when walking into OnTouch area of an NPC who doesn't have an OnTouch label. [Inkfish]
+09/10/18
+ * Removed the char_rename setting in favor of a PACKETVER define [ultramage]
+ * Inverted the way renames are counted: '0' now means 'no renames left' (the default)
+ * Please make sure your database matches this new behavior before starting the server.
+09/10/10
+ * Added character rename function. [Inkfish]
+ * NPCs' names should only be 24 characters long including EOS. [Inkfish]
+09/10/06
+ * Fixed rental items can be moved into guild storage from cart. [Inkfish]
+09/10/04
+ * Implemented new packets for rental items (from Jobbie and Natz and fixed by me). [zephyrus]
+ * Rental items now can be moved to storage and cart. [zephyrus]
+ * Autotrade cannot be used when user is dead, and it's not dispelled if user dies to prevent abuse. [zephyrus]
+ * Fixed pc_checkitem to do a proper item check and remove. [zephyrus]
+09/10/02
+ * Fixed a damage underflow.(bugreport:3624) [Inkfish]
+ * Marionette Control now has an infinite duration.(bugreport:2542) [Inkfish]
+09/09/23
+ * Added supports for Soul Bound. [Inkfish]
+09/09/21
+ * Disabled ip checking during auth, since it lead to a lot of confusion. [ultramage]
+09/09/17
+ * Duration of SC_STONE is not reduced by MDEF. [Inkfish]
+ * LexAeterna is allowed to be used on petrifying targets. [Inkfish]
+ * Mobs won't attack back if StoneCurse fails. [Inkfish]
+09/09/13
+ * Progressbar aborts when player is attacked. [Inkfish]
+ * Do not stand if damage is from yourself or has no source.(bugreport:3582) [Inkfish]
+ * Any mobs killed by party members within view range are taken into account in questlog. [Inkfish]
+ * 'unit_walktobl' now uses at least 1 as the range since 'unit_can_reach_bl' always sets the target coordinates 1 cell away from the target block. [Inkfish]
+09/09/12
+ * Clarified the names of some questlog functions and eventually implemented kill counts updating. [Inkfish]
+09/09/04
+ * QuestLog Fix. [Inkfish]
+ - mob id no longer stores in sql.
+ - counts won't increase if you have killed sufficient mobs.
+09/08/25
+ * Implemented Progress Bar.(topic:207933) [Inkfish]
+09/08/21
+ * Fixed Teleport through Hocus-Pocus skips menu. (bugreport:3513) [Inkfish]
+09/08/20
+ * Added bMagicHPGainValue and bMagicSPGainValue. [Inkfish]
+ * Fixed the wrong packet length makes client choke when add_quest packets are sent. [Inkfish]
+09/08/18
+ * Some fixes for Heat [Inkfish]
+ - Heat and other ground skills' activation won't cancel combo wait. (bugreport:3228)
+ - Heat should work with hp/sp drain bonus. (bugreport:3507)
+ - Heat consumes 10 sp if the attack doesn't connect. (bugreport:3038)
+09/08/17
+ * Equipment DEF penalty shouldn't be applied to players in Mental Strength. (bugreport:3454) [Inkfish]
+09/08/14
+ * Fixed self skills affecting target unit when used within combo delay for Asura and Flying Kick. (bugreport:3495) [Inkfish]
+09/08/11
+ * Fixed changequest behavior(before: completequest+setquest, now: erasequest+setquest) [Inkfish]
+09/08/10
+ * Fixed autospell and autobonus will still trigger even if the chance is 0. [Inkfish]
+ * Disabled "show_party_share_picker" functioning on client older than 20071002 to prevent from disconnection. (bugreport:3457) [Inkfish]
+ * Fixed units other than players and mercenaries using Devotion will cause crashes. (bugreport:3475) [Inkfish]
+09/08/01
+ * Questlog code cleanup. [Inkfish]
+ * Fixed range check on autospell and autospell2. [Inkfish]
+ * Implemented official behavior of party_show_share_picker. [Inkfish]
+ * Fixed a typo on reading no_equip list. [Inkfish]
+09/07/28
+ * Kaahi heals no matter if attack connects. (bugreport:2440) [Inkfish]
+ * Fixed a typo causing skillitem always resets skill delay. (bugreport:3431) [Inkfish]
+ * Fixed damage_level is not calculated properly on normal attack. [Inkfish]
+ * Kaahi is supposed to be canceled on logout. [Inkfish]
+09/07/25
+ * Rewrote Quest Log system. [Inkfish]
+ * Fixed message display for FullStrip and SelfProvoke. (bugreport: 3011, bugreport: 3415) [Inkfish]
+09/07/21
+ * Added proper bounds of INT_MIN to INT_MAX for hp/sp when being sent to/from status_damage/status_heal for negative values because of INT_MAX being (-INT_MIN - 1). [Paradox924X]
+09/07/17
+ * Dead branches no longer check for players' level. (bugreport:3378) [Inkfish]
+ * The Lovers Card won't teleport anyone on PVP/WoE/BG maps. (bugreport:3371) [Inkfish]
+09/07/11
+ * Some updates for range check. (bugreport:3339) [Inkfish]
+ - Monsters shouldn't use skills if the target is within its attack range but is out of the skill range.
+ - Monsters' skill range is no longer 9 by default.
+ - Range for players' attacks and skills should always have a circular check.
+09/07/07
+ * Skills with multiple hits should do 1 damage per hit to plants. [Inkfish]
+09/07/04
+ * TK_POWER shouldn't count the player him/herself for the skill. [Inkfish]
+ * Fixed a wrong check of Intimidate on hp. (bugreport:3305)[Inkfish]
+ * Extended ATF_SKILL to ATF_MAGIC and ATF_MISC. [Inkfish]
+09/07/03
+ * Martyr's Reckoning can be perfect dodged. [Inkfish]
+ * Casting Flying Kick while running and in the spurt status doubles the damage dealt without spurt status. (bugreport:1898) [Inkfish]
+ - TODO: bonus on running is still not correct.
+09/07/02
+ * Updated autobonus [Inkfish]
+ - added documentation for autobonus.
+ - invoke status_calc_pc after execution so that client display gets refreshed if neccessary.
+09/06/30
+ * Fixed when dynamic_mobs is active, reloading script right after the last player having left a map leads to permanet mobs not spawning on that map. [Inkfish]
+09/06/29
+ * Fixed attack not counted as connect when dodged and got damage from skill bonus like Weaponry Research. [Inkfish]
+09/06/28
+ * Implemented script command "autobonus". [Inkfish]
+ - "autobonus" is similar to "bonusautoscript", however it has a timer of its own.
+ - Updated itemdb changing items bonus using "bonusautoscript + sc_start" mode to "autobonus + bonus" mode.
+ - Remove bonusautoscript and status changes that was needed by bonusautoscript and is no longer in use.
+09/06/23
+ * Minor update to atcommand_jailfor and atcommand_char_ban's modif_p var incrementation for minute-based bans/jails. [Paradox924X]
+09/06/20
+ * Changed Asura Strike/Jump Kick to target skill to get rid of the "target delay". (bugreport:2174) [Inkfish]
+09/06/19
+ * Implemented script command "areamobuseskill" and skill NPC_INVINCIBLE and NPC_INVINCIBLEOFF. (topic:217330) [Inkfish]
+ * Using items no longer cancels invincibility(but using target and ground skills through items does). (bugreport:3259) [Inkfish]
+ * Fixed Butterfly Wings not working during GVG. (bugreport:3264) [Inkfish]
+09/06/16
+ * Fixed an exploit that makes guild skill get higher level than the max defined in guild_skill_tree. (bugreport:3241) [Inkfish]
+ * Turn Undead won't apply aftercast delay when casted on a "living" entity. (bugreport:1740) [Inkfish]
+ * Autocasts should always fail if the target is outside the skill range or an obstacle is in between. (bugreport:3201) [Inkfish]
+ * The Lovers should affect the target instead of the caster. (bugreport:3252)[Inkfish]
+09/06/15
+ * Skill through items will not be blocked when 90% overweight. (bugreport:3246) [Inkfish]
+ * Now you can drop items when hiding. [Inkfish]
+ * Now you can't logout when hiding, cloaking or chase walking. [Inkfish]
+09/06/14
+ * Fixed a crash due to group being redeleted when players are performing an ensemble and one of the partner's sp run out. [Inkfish]
+09/06/13
+ * If both Double Attack and critical attack have chance to trigger within one attack, Double Attack takes priority. (bugreport:3231) [Inkfish]
+ * Fixed Butterfly Wings not working on maps blocking Teleport. (bugreport:3236) [Inkfish]
+09/06/12
+ * Fixed "arrow_atk" flag never being reset results in arrow consumption on itemskills and autocasts. (bugreport:3233) [Inkfish]
+ * Fixed itemskill not bypassing Silence, SteelBody, Berserk and the like. (bugreport:3232) [Inkfish]
+ * Fury and Asura no longer disable SP regen on any other classes than Monk/Champion.(bugreport:3200) [Inkfish]
+09/06/11
+ * Fixed TaTaMiGaEShi(Improvised Defense) not working. [Inkfish]
+ * Implemented new cooking success formula. Now cooking experience starts at 0.(bugreport:2439) [Inkfish]
+09/06/09
+ * Fixed applying autocasts with negative rate before the positive one made it fail to remove the autocast. [Inkfish]
+09/06/08
+ * Rev. 13869 Follow up to r13867, corrected the newly added MD_TARGETWEAK. Monsters with this mode will now only target players five level LOWER than itself. [L0ne_W0lf]
+09/06/08
+ * Fixed bHPGainValue and bSPGainValue worked on all types of attacks and was only activated on mob's death.(bugreport:3193) [Inkfish]
+ * Added a configuration for whether damage of EarthQuake with single target can be reflected. [Inkfish]
+ * Fixed Wizard Spirit can block reflected magical damage other than Kaite's.(bugreport:3161) [Inkfish]
+ * Fixed Kaite works against bosses.(follow up to r13857) [Inkfish]
+09/06/07
+ * Magical damage reflection now works against boss monsters and only on target skill(but EarthQuake with one target is an exception). [Inkfish]
+ * Changed hardcoded "5" to MAX_ARROW_RESOURCE in skill_arrow_create preventing proper usage. (bugreport:3025) [Paradox924X]
+ * Implemented "cooking exp" that increases the success chance of cooking by 0.05% per try and the max bonus is 20%. [Inkfish]
+09/06/05
+ * Job_Battle_Manual and Battle_Manual can be used simultaneously. [Inkfish]
+ * Fixed "sleep" after "attachrid" (a different rid) halts the script. [Inkfish]
+09/06/04
+ * Fixed turning off a skill needed to meet the requirements. [Inkfish]
+ * Skills used through items which don't have aftercast delay or cast time now don't overwrite the former canact_tick. [Inkfish]
+ * Multiple autoscripts now can trigger at once. [Inkfish]
+ * Applied a temp fix for autoscripts crashing server. [Inkfish]
+ * Implemented SC_JEXPBOOST (thanks to GMJobbie for the diff) and SC_IGNOREDEF. [Inkfish]
+ * SC_DEFRATIOATK won't affect boss monsters. [Inkfish]
+ * Fixed skip_teleport_lv1_menu made lv2 skip menu as well. [Inkfish]
+ * Rev. 13843 Updates to ST_PRESERVE and a few other minor details! [L0ne_W0lf]
+ - Recasting Preserve no longer toggles the skill off while active.
+ - Preserve is no longer saved on log-out or mapserver changes.
+ * Added SC_CRITICALWOUND and SC_SLOWCAST to negative statuses not saved with battle_config.debuff_on_logout&1
+ * Implemented the skills NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, as per my personal experiences with the skill on iRO.
+ * Increased MAX_MOBSKILL to 50, as Satan Morroc has over 40 active skills now.
+09/06/03
+ * Some clean ups on autocast and itemskill code. (see topic:220921 for some info) [Inkfish]
+ - Autocasted Teleport now skips the menu.
+ - Fixed nullpo info when defensive autocasts are triggered. (follow up to r13815)
+ - Fixed Warp portal used in item script never worked.
+ - Item skills now bypass skill delay check.
+ - Implemented SM_SELFPROVOKE.
+ - Updated item db using 'itemskill' for some items.
+ * Basic skills will never be reset. [Inkfish]
+09/06/02
+ * Rev. 13840 Implemented the Party Buff cash skills. [L0ne_W0lf]
+ * Fixed Mystical Amplification having unlimited duration [Playtester]
+ * Fixed skills used through items and Hocus-pocus consume requirements if you have them. (bugreport:3164) [Inkfish]
+09/06/01
+ * Fixed Fiberlock sometimes fails due to the long interval of skill_unit_timer. It may never fail now, though this may not be official. (bugreport:3136) [Inkfish]
+09/05/30
+ * Fixed gemstones are still required when players equipped Mistress Card. (bugreport:3147, follow up to: r13815) [Inkfish]
+ * Fiberlock only catches targets the moment its casted. [Inkfish]
+ * Multiple autocasts can go off at a time now. [Inkfish]
+ * Splash damage doesn't get modified by percentual modifier now. [Inkfish]
+ * Monster's Spiral Pierce is again...elemental. [Inkfish]
+ * Fixed Hocus-pocus always fails. (bugreport:3143, follow up to: r13815) [Inkfish]
+09/05/29
+ * Added new bonuses bHealPower and bHealPower2. [Inkfish]
+ * Heal skills code clean up. [Inkfish]
+ - bSkillHeal can affect offensive heal now.
+ - bSkillHeal2 can affect AppleIdun and SlimPitcher now.
+ * Added new bonuses bUnbreakableGarment and bUnbreakableShoes. [Inkfish]
+ * Some more fixes to skill condition issues. [Inkfish]
+ - Fixed skills fail when MAX_INVENTORY reached.
+ - Fixed spiritballs not being removed correctly in some situation.
+09/05/28
+ * Fixed some skill condition issues. [Inkfish]
+ - HP is now checked at the end of cast.
+ - Lv 6-10 StoneCurse doesn't consume gems when it fails.
+ - Tarotcard's aftercast delay will still be applied if it fails.
+09/05/26
+ * skill_check_condition clean up (bugreport:2770, bugreport:2957, bugreport:3010) [Inkfish]
+ - Weapon, SP, HP and state are checked at the beginning of cast.
+ - Required items and ammos are checked at the end of cast.
+ - SP and status change required are removed at the end of cast without checking again.
+ - Required items are removed only if the skill is successfully used.
+ - Autocasts won't check for requirements but will remove them if you have them(except for SP/HP).
+09/05/25
+ * Fixed losing skill list after base change. (bugreport:3106) [Inkfish]
+ * Now we can use 'boss_monster' to summon whatever monsters that need to be radared by Convex Mirror. (bugreport:2653) [Inkfish]
+09/05/24
+ * Taro Card can now break shoes and garment and won't affect dead target. (bugreport:2513) [Inkfish]
+09/05/23
+ * Splash attacks do cause additional effects except for autocasts. (bugreport:2661) [Inkfish]
+09/05/22
+ * Fixed some behaviors of additional effects (bugreport:3100,bugreport:2661) [Inkfish]
+ - Coma can now be blocked by such skills as SafetyWall, Pneuma and Basilica.
+ - Equipment breaking behaves exactly like coma.
+ - Skill's self damage may now causes coma, equipment breaking and autospell/autoscript.
+ - GrandCross now allows you to drain hp/sp.
+ - Splash attack doesn't cause any status effects or autocasts any more.
+ * The delay icon doesn't appear during casting now.
+ * Status icon of ASPD potions doesn't overriding each other now.
+ * NPC_STOP now stops both sides and will be canceled if either side teleports or dies.(bugreport:3099)
+09/05/20
+ * Now fiberlocking a fiberlocked target doesn't renew the timer but instead increases its fireweakness [Inkfish]
+ - This makes doublecasting firebolts on a double fiberlocked target having double damage from both 2 bolts possible = =(bugreport:3061)
+09/05/19
+ * Added missing packet 0x2c9 and fixed 0x2da's length error. [Inkfish]
+ * Fiberlock now can trap multiple enemies on the same cell and its triggering area was reduced to 1x1. [Inkfish]
+ * Miracle should only be dispelled on map change. [Inkfish]
+ * Fixed the three hits of EarthQuake not being calculated seperately. [Inkfish]
+09/05/18
+ * Item-bonuses now use the official default durations for status changes [Playtester]
+ * status calc code cleanup [ultramage]
+ - Inverted the status calc code order, so that status_calc_bl optionally invokes status_calc_pc/mob/whatever instead of every status_calc_* calling status_calc_bl.
+ - Inlined functions status_calc_bl_sub_pc, status_calc_bl_sub_hom and status_calc_bl_sub_mer into status_calc_bl.
+ - Restructured status_calc_bl to require as little bl type-specific branching as possible.
+ - Split status_calc_bl into two layers - the inner does the battle status calculations, while the outer deals with running appropriate base status calculations, remembering old values and handling client updates.
+ - The status_calc_bl function is now the single entry-point for all status calculations.
+ - status_calc_bl will now trigger a client update only on attributes that actually changed.
+ - If hp or sp changes during status_calc_bl, it will now properly refresh on the client.
+ - Removed SCB_PC, now SCB_ALL should be used instead.
+ - Revived the unused status calc flag SCB_BASE to indicate that a base status recalculation should be done first (that's what the status_calc_* functions are for).
+ - Defined a new symbolic bitmask SCB_BATTLE (SCB_ALL - SCB_BASE) in case someone needs to only calculate the battle status (currently unused).
+09/05/17
+ * Monocell, Instant Death and Class Change will now fail on bosses (bugreport:2907) [Playtester]
+ * Eske and Eska now affect friendly guardians and slaves. (bugreport:2131) [Inkfish]
+09/05/15
+ * AutoSpellWhenHit now triggers on normal+skill by default (bugreport:1652) [Playtester]
+ * Removed the undocumented custom level feature from monster spawn lines (bugreport:3076) [ultramage]
+09/05/13
+ * Fixed combo wait was not canceled when TK's Kick skill was successfully used. (bugreport:1345) [Inkfish]
+ * PNEUMA, BASILICA and SAFETYWALL no longer protect you from such negative status changes as COMA, STUN, FREEZE and etc. (bugreport:1346) [Inkfish]
+09/05/12
+ * Fixed Aid Potion can heal the Emperium (bugreport:164) [Inkfish]
+09/05/11
+ * Fixed a crash when mob uses self-destruct skill (bugreport:2874) [Inkfish]
+09/05/10
+ * Magnetic Earth will never stack (bugreport:2568) [Inkfish]
+ * Fixed Joint Beat incorrect DEF reduction (bugreport:3051) [Inkfish]
+09/05/09
+ * Fixed GX's skill level modifier is missing [Inkfish]
+ * Fixed some known and unknown player attached NPC timer problems [Inkfish]
+ - Attached timer now can be stopped properly.
+ - Attached timer will now stop if the NPC is unloaded. (bugreport:2510)
+09/05/07
+ * Fixed up the base success rate of normal strip skills [Playtester]
+ - normal strip skills: 5% + 5%*level
+ - Full Strip: 5% + 2%*level
+ * Fixed splash damage from Baphomet Card might miss. [Inkfish]
+ * Check if group unit is expired before processing it. (bugreport:3054) [Inkfish]
+ * Fixed Grand Corss outdated behavior (bugreport:1590) [Inkfish]
+ - use new damage formula
+ - DEF is reduced to 2/3 during cast time
+ - block shields switching within attack duration
+ - monsters don't damage themselves any more
+ - intervals between hits are 300ms
+ * Added check on stackable items to 'checkweight' (bugreport:1569, bugreport:2756, bugreport:2994) [Inkfish]
+ * Fixed flee penalty wasn't applied for battleground and wouldn't be restored on map change [Inkfish]
+ * Fixed players can pull water from ME cell (follow up to r13730) [Inkfish]
+2009/05/04
+ * Added the md5() script command. [brianluau]
+ * Now if a dead player is moved for whatever reason, he'll be alive with 1 HP. (bugreport:70) [Inkfish]
+ * Players now are allowed to copy the skills the level which is beyond the skill_db max. [Inkfish]
+ * Fixed some behaviors for Waterball (bugreport:3024) [Inkfish]
+ - High level Waterball used by players doesn't increase the number of balls.
+ - Monsters can't pull water from cells with Magnetic Earth.
+2009/05/03
+ * Updated item_db.sql and mob_db.sql from recent changes to both. Thanks to Peter once again! [Jguy]
+ * Do not log damage if it's done by mob itself (bugreport:2933) [Inkfish]
+ * Fix 'awake' not working (bugreport:2580) [Inkfish]
+ * Fix several npctimer issues (bugreport:1619, bugreport:1730) [Inkfish]
+ * Players now cannot be revived during pvp respawn delay [Inkfish]
+ * Block equipments switching for some skills (bugreport:2900) [Inkfish]
+ - cannot change equipments during Arrow Vulcan's cast time
+ - cannot change equipments within Desperado's attack duration
+2009/05/02
+ * Spirit of Bard and Dancer now only works for mastered skills (bugreport:3037) [Playtester]
+ - also fixed an outdated comment in the source code
+2009/04/27
+ * Fixed break equipment debuff working on bosses (bugreport:3023) [Playtester]
+2009/04/25
+ * Fixed Monster Spiral Pierce not being reduced by Ghostring Card (bugreport:3013) [Playtester]
+ - it is forced neutral as its a MISC skill for monsters and doesn't take weapon element
+ * First attempt to fix up the strip skills, please make sure these fixes work (bugreport:3011) [Playtester]
+ - the minimum rate of strip skills is now 5% for all levels
+ - duration of strip skills depends on the dex difference between target and caster and can be reduced to 0
+ - strip skills can now affect bosses (if duration doesn't get reduced to 0 due to their high dex)
+ - strip skills do a fixed -25% ATK, -15% DEF, -40% VIT or -40% INT independant of skill level
+ - autocasting Full Strip has a duration now (if dex is high enough)
+2009/04/20
+ * Fixed safestrncpy trashing the memory before dst when n == 0. (since r10667) [FlavioJS]
+2009/04/15
+ * Monster Spiral Pierce is now a ranged misc attack [Playtester]
+ - it always gets blocked by Pneuma, but never by Safety Wall
+ - Defender doesn't reduce its damage
+ - Range-Def item bonuses reduce its damage
+2009/04/14
+ * Cooking success chance is now affected by DEX and LUK [Playtester]
+ - "cooking exp" still needs to be implemented
+ - also fixed a small issue when whispering to someone in autotrade
+2009/04/01
+ * Removed online_check config options. (always active now) [FlavioJS]
+ * Clarified char_maintenance config option.
+ * Changed packet 0x2712. (added request_id)
+ * Changed packet 0x2713. (added sex, request_id, version, clienttype; removed email, expiration time, gmlevel)
+ * Delayed user count check and mmo_char_send006b to when the account data arrives.
+ * Created auxiliary function MD5_Salt.
+2009/03/31
+ * Gunslinger Tracking can be canceled if you get hit.
+ * Gunslinger Disarm always shows skill animation.
+ * Removed custom firetrap effect from Gunslinger mines. [ultramage]
+2009/03/27
+ * Fixed a problem that blockskill timer failed when there was more than one on a skill [Playtester]
+ - please test this, now Asura should be blocked 2 seconds after EVERY Snap
+2009/03/26
+ * Fixed Spirit of Assassin not reducing the aftercast delay of Sonic Blow [Playtester]
+ * Assumptio can neither be cast nor dispelled on monsters anymore [Playtester]
+2009/03/23
+ * Added support for new status change packet, uses new setting display_status_timers in client.conf. [Sara]
+2009/03/18
+ * Updated item_db.sql with the perl script [Playtester]
+2009/03/08
+ * Fixed a couple bugs with marionette control [Brainstorm]
+ - Reduces caster max hp by 1000.
+ - Job and Equipment bonuses counts toward the 99 limit.
+ - Fixed stat overflow on baby targets with stats over 80 (bugreport:2232).
+ - Fixed clowns being able to cast it on another bard/clown (same for gypsy/dancer) (bugreport:166).
+ - Caster is no longer blocked from using items.
+ * Added several mail id checks to prevent a map server crash (bugreport:2837)
+2009/03/02
+ * Blade Stop status no longer prevents item use and equip changing.
+ * Against non-players, Blade Stop skill will now only activate if the attacker is at most 2 cells away (1 if barehanded).
+2009/03/01
+ * Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did until now and those bugs would get lost)
+ * Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
+ * Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
+ * Fixed Monk spirit balls not being removed on death (like happens with gunslingers).
+ * Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont allow the skill to work.
+2009/03/01
+ * Ankle Snare cannot be knocked back anymore (bugreport:2804) [ultramage]
+2009/02/25
+ * Wrong variable being used in StringBuf_Vprintf. (follow up to r13386, fixes bugreport:2798) [FlavioJS]
+2009/02/23
+ * Made mob_delayspawn check the spawn_timer in the mob. [FlavioJS]
+ * Added missing delete_timer's every time spawn_timer is being set. (except when allocating)
+ * Made mob_timer_delete check the deletetimer in the mob.
+ * Added missing delete_timer's every time deletetimer is being set. (except when allocating)
+ * Consolidated is_atcommand() and is_atcommand_sub() [SketchyPhoenix]
+ - replaced gmlvl arg with a flag arg for internal/player generated checks. (dummy sds that used this arg are given gm levels)
+ - each command check runs through is_atcommand() and is checked for its origin (internal or player generated)
+ - charcommands are also parsed in this function.
+ - script atcommand/charcommand function calls to is_atcommand() have been updated
+ - also updated some clif/map functions calls to is_atcommand()
+ * charcommands should now log properly with the target of the command included.
+2009/02/20
+ * Increased variable size for status/skill points to remove the 65k cap (bugreport:1579) [ultramage]
+ * Modified WFIFOSET to trigger a fatal error when trying to send a packet that is too big. [FlavioJS]
+2009/02/19
+ * Fixed improper filling of w4 in npc_parsesrcfile when there are less than 4 fields. (bugreport:1063) [FlavioJS]
+ * Simplified atcommand_spiritball. (deprecated msg_txt 204 and 205)
+2009/02/06
+ * Follow up to r13485. (bugreport:2741) [FlavioJS]
+ - @spiritball creates spiritballs without timer (limited to the array size instead of 500)
+2009/01/25
+ * Changes to the configure script: [FlavioJS]
+ - added option --enable-profiler (supports gprof)
+ - added option --enable-64bit (don't force 32bit)
+2009/01/24
+ * Changed pc_spiritball_timer and pc_addspiritball: (bugreport:2705)
+ - don't make assumptions about the calling order of timers
+ - ensure that sd->spirit_timer is ordered by expiration time
+ * Changed the variables of the mapcache structs to fixed size equivalents.
+ * Changed all uses of struct skill_unit_group* to group_id in status_change_entry's. [FlavioJS]
+2009/01/23
+ * Changed npc_get_new_npc_id to ensure that it never returns invalid/used ids. [FlavioJS]
+ - npc_get_new_npc_id is used to generate ids for npcs/mobs/homunculus/mercenaries/pets.
+ If the server runs for long enough (years to months or less, depending on settings),
+ the auxiliary variable npc_id will eventually overflow and go negative, then go
+ through the range of object ids, then through the range of account ids.
+ This can lead to all sorts of random crashes and memory leaks.
+2009/01/22
+ * Changed val4 of SC_BLADESTOP from a block_list pointer to an id. [FlavioJS]
+2009/01/21
+ * Added a limit of 1MB of pending data in the write fifo for non-server sockets.
+ Connections that go over the limit are closed.
+ * Replaced the fake timer heap (sorted array) with a real heap. (improves performance) [FlavioJS]
+2009/01/20
+ * Added a generic binary heap implementation based on defines. [FlavioJS]
+ * Fixed pc_statusup2 to correctly update the client's stat window [ultramage]
+2009/01/15
+ * Updated script_commands.txt with the book reading command. [SketchyPhoenix]
+ * Added/reworded/removed comments out of r13450
+2009/01/14
+ * Added client login packets 0x01fa and 0x027c. [FlavioJS]
+ * Other minor cleanups.
+ * #commands used by nonGM players now appear in the chat like normal rather
+ than being processed and ultimately failed, printing out failed command messages
+ that should be visible to only GMs.
+2009/01/13
+ * Cleaned up command @users/#users: [FlavioJS]
+ - displays everything on the target user (self for @users)
+ - uses a static array instead of a temporary DBMap
+ - displays percentages with precision of 0.01%
+ - uses safesnprintf instead of sprintf
+2009/01/12
+ * Mobs with nonzero spawn time can now be cached as well (bugreport:1197)
+ * Fixed dynamic mobs being unloaded without stopping their respawn timer
+ * Added regen_db to reduce hp/sp processing delays (bugreport:2256) [ultramage]
+ * #command parsing cleaned up. [SketchyPhoenix]
+ - Fixed charname reading problems from r13441
+ - Corrected agitend typo to agitend2 (bugreport:2654)
+2009/01/05
+ * Fixed @mobsearch and @showmobs (bugreport:2481) [ultramage]
+ - now only search for mobs on the same map as the caller
+ - now properly distinguish between dead and alive mobs
+ * Added @charcommands to return a list of available charcommands (bugreport:2630) [SketchyPhoenix]
+2008/12/31
+ * Changes to the script engine: [FlavioJS]
+ - new stack datatype script_retinfo for C_RETINFO to hold all the return state info
+ that was being stored in the stack. (the script engine in 64bit-ready now)
+ - pop_stack is responsible for adjusting all the stack pointers.
+ - push_* returns the created script_data.
+ - 'return' only converts to value scope variables of the current scope.
+2008/12/30
+ * Changes to the script engine: [FlavioJS]
+ - script ends when run_func can't find the buildin command. (script engine error)
+ - run_script_main doesn't change RERUNLINE to RUN automatically,
+ the buildin command that set it is responsible for that now.
+ The buildin command can use this to detect a rerun.
+ - created functions to alloc/free a script_state.
+2008/12/28
+ * Added missing command #delitem. [SketchyPhoenix]
+ * Fixed charcommand behavior where those that can accept a name with no additional parameters
+ being able to execute under said player's name with the name as a parameter. (bugreport:2601)
+2008/12/25
+ * Extended sv_escape_c to escape '\a','\b','\t','\v','\f','\?' characters
+ to their respective representations instead of octal. [FlavioJS]
+2008/12/22
+ * Added a few missing atcommands. [SketchyPhoenix]
+ * Added more commands to configurations (bugreport:2565)
+ * Added a missing charcommand symbol config to atcommand configs.
+ * GM command configs under the old format will have a warning printed back to the console as being deprecated.
+ * Other fixes/cleaning partially resolving bugreport:2549
+2008/12/20
+ * Extended how duplicates work: (based on Orcao's work in bugreport:2361) [FlavioJS]
+ - you can duplicate warps/shops/cashshops/npcs (before only npcs could be duplicated)
+ - warp duplicates inherit the target location
+ - shop/cashshop duplicates inherit the item list
+ - npc duplicates inherit the script code (backward compatible behaviour)
+ - updated script_commands.txt with the information
+2008/12/17
+ * Removed charcommand code and allowed atcommand code to support its functionality. [SketchyPhoenix]
+ - Charcommands still retain their '#' symbol but now looks for a character name as the first parameter instead of last.
+ - Atcommand configs now support charcommand level configurations by comma seperation (e.g. 60,99).
+ - As a result of this, all atcommands that don't affect multiple users already (@kickall, @doom, @mapexit) are capable of remote usage.
+2008/12/01
+ * Fixed rare crash when using Flying Kick on clones (bugreport:2506) [ultramage]
+ * Corrected Flying Kick's debuff rules to match official servers
+ - only works on players
+ - soul linkers and stalkers with Preserve active are immune
+ - only removes Berserk Potion, Kaahi, Kaite, 1HQ, AAR and Soul Links
+2008/11/27
+ * Fixed a memory leak when returning a string variable in the script engine. [FlavioJS]
+ (since r9864/r9865, fixes bugreport:2488)
+2008/11/24
+ * Fixed a va_end using the wrong variable. (from r13383, fixes bugreport:2483) [FlavioJS]
+2008/11/22
+ * Readded code that was removed from atcommand_showmobs by mistake in the previous commit. (r13383)
+ * Hunted down improper uses of va_list variables.
+ * Hunted down the simpler 64bit pointer truncations. [FlavioJS]
+2008/11/18
+ * Rev. 13375 Autotrade characters will no longer get caught by Urgent Recall. (bugreport:2447) [L0ne_W0lf]
+2008/11/11
+ * Updated script_commands.txt [FlavioJS]
+ * Made scripts terminate with an error: (fixes bugreport:2429)
+ - when getitem/getitem2 tries to delete more items than the player has
+ - when trying to set Zeny to a negative number.
+2008/11/09
+ * Added a check to make sure killed monster's level was greater than half of the mercenary owner's level before incrementing mercenary's killcount. (bugreport:2410) [Paradox924X]
+2008/11/07
+ * Rev. 13358 Changed how mobcount works since it wasn't counting last mob death. (bugreport:2419) [L0ne_W0lf]
+2008/11/06
+ * Fixed 'Char creation denied' message not being sent properly. [FlavioJS]
+ - Number 2 didn't exist in old clients so it used the default message,
+ now it exists so the wrong message is displayed.
+ - Changed 2 to 0xFF to get the default message.
+2008/11/05
+ * Fixed issue preventing you from changing to the original cart when using Change Cart. (bugreport:2383) [Sara]
+2008/10/29
+ * Novice skill, Trick Dead, will no longer be granted to classes upon reset (save for Novice and Baby) (bugreport:2312) [SketchyPhoenix]
+2008/10/28
+ * Made script command "unequip" call status_calc_pc. Thanks to Orcao. (bugreport:2368). [Paradox924X]
+2008/10/27
+ * Fixed all overflow checks and made the code a bit cleaner from r13322. [Paradox924X]
+ * Removed leftovers of "bLoseSPWhenUnequip" and "bDamageWhenUnequip". [Paradox924X]
+2008/10/24
+ * Added protection from segfault by int overflow in charcommand heal and fixed a typo in atcommand heal. (Follow-up to r13321) [Paradox924X]
+ * Added protection from segfault by int overflow in atcommand heal. (bugreport:1886) [Paradox924X]
+ * Commented out unused function clif_marriage_process. [Paradox924X]
+2008/10/21
+ * Added a check to make sure a player wasn't in a guild when they accepted a guild invitation. [Paradox924X]
+2008/10/18
+ * Corrected a target checking problem brought about with Kaizel/Osiris combination. [SketchyPhoenix]
+2008/10/16
+ * Added missing char_sql/int_mercenary files to txt-converter's Makefile.in. [FlavioJS]
+2008/10/15
+ * Fixed ipban sql connecting to the sql server when disabled. [FlavioJS]
+2008/10/11
+ * Using Kaizel in conjunction with Osiris Card should now work. (bugreport:2251) [SketchyPhoenix]
+ * #monsterignore should turn off now. (bugreport:2306) [SketchyPhoenix]
+2008/10/09
+ * Rev. 13272 Updated NPC_REBIRTH. Has it's own values, and no longer leeches off SL_KAIZEL. [L0ne_W0lf]
+2008/10/06
+ * Rev. 13264 Damage count on rebirthed mobs is now reset. (Valaris) [L0ne_W0lf]
+ * Rev. 13263 voided out clif_blown as per Valaris' instruction. [L0ne_W0lf]
+ * Rev. 13262 SC_WEIGHT50 and 90 are no longer removed on death. (bugreport:2316) [L0ne_W0lf]
+2008/10/04
+ * Delete ST_LOGIN auth in chrif_disconnectplayer (followup to r13256, bugreport:2292) [FlavioJS]
+2008/10/03
+ * Fix for "yet another online check bypass technique". (bugreport:2292) [FlavioJS]
+2008/10/01
+ * Rev. 13252 Kaupe will now trigger from mobs, homuns and mercenaries, as well. (bugreport:2297) [L0ne_W0lf]
+ * Rev. 13251 Removed 'casttime' adjustment from offensive ressurection. Follow up to r13225. [L0ne_W0lf]
+ * Kaahi will now override override higher existing levels previously casted. (bugreport:2296)
+2008/09/27
+ * Fixed clif_changelook betraying the presence of gm-hidden players (bugreport:2283) [ultramage]
+2008/09/11
+ * Rev. 13226 Corrected Lex Divina not showing animation on fail. (bugreport:1740) [L0ne_W0lf]
+ * Rev. 13225 Corrected Offensive Res using Turn Undead cast time. (bugreport:1704) [L0ne_W0lf]
+2008/09/11
+ * Rev. 13204 Made the mail check on login read from msg_athena.conf. [L0ne_W0lf]
+2008/09/09
+ * Rev. 13202 Added commands related to WoE SE, allowing it to run independantly of WoE. [L0ne_W0lf]
+ - Added: @agitstart2, @agitend2, agitstart2, agitend2, and agitcheck2.
+2008/09/05
+ * Rev. 13192 Updated mmo.h, increased merc max count to 36. [L0ne_W0lf]
+ * Fixed save crash related to non-guilded mercenaries.
+2008/09/01
+ * Removed hardcoded equip position names from getequipname (bugreport:2156)
+ - now it's the npc's responsibility to store and display the names
+2008/08/28
+ * Fixed @cash/@points not handling negative values properly (bugreport:2132) [ultramage]
+2008/08/26
+ * Fixed @agjgmlvl bug preventing its use on other players. (bugreport:2124) [SketchyPhoenix]
+ * pc_isGM() checks in gm_cant_party config checks will now check against being lower or higher than lowest_gm_level config.
+2008/08/25
+ * Fixed homun sp regen bug introduced on r12953 bugreport:2071 [Brain]
+ * Fixed: several compiler warnings [akrus]
+2008/08/20
+ * Rev. 13098 Implemented Brainstorm's and SketchyPhoenix's fixes for Flying side kick. [L0ne_W0lf]
+ - Skill will now remove KA-type statuses and not remove stalker's link while preserved.
+2008/08/19
+ * Fixed a storage saving issue with txt charserver (bugreport:2084) [ultramage]
+ - caused by incorrect idb_ensure -> idb_get change (see r12950)
+ - removed redundant account_id variable from storage data
+ - cleaned up the very messy txt storage handling code
+ * Added global sql settings 'sql.*' to inter_athena.conf.
+ * Made account, ipban and loginlog use the global sql settings when the hostname is empty.
+ * Commented 'ipban.sql.*' and 'account.sql.*' so they default to the global settings.
+ * Removed deprecated settings 'case_sensitive' and 'add_to_unlimited_account' from in login_athena.conf.
+ * Made inter_athena.conf be imported from login_athena.conf instead of being handled separate.
+ * Changed ipban to get the failed login attempts of an ip from loginlog
+ (respects if loginlog is enabled or not). [FlavioJS]
+2008/08/16
+ * Added a mapreg txt->sql converter script to /tools, because the sql
+ mapserver doesn't read the txt mapreg savefile anymore and people
+ will most likely want to preserve their global variables.
+ - script is php-based and requires the php_mysql module
+ - script produces a series of INSERT statements, ready to be imported
+2008/08/15
+ * Split off mapreg code from script.c [ultramage]
+ - new mapserver files, mapreg.h, mapreg_txt.c, mapreg_sql.c
+ - removed MAPREGSQL from project files / makefiles
+ - mapreg storage engine is now fully dependent on the server type
+ - added config settings mapreg_txt and mapreg_db to inter config
+ - added get_str() function to complement add_str()
+ - fixed txt mapreg code allowing too long variable names
+ * Removed gm_cant_party_max_lv. It now uses gm_cant_party_min_lv as the threshold. (bugreport:2051) [SketchyPhoenix]
+2008/08/11
+ * Fixed right-click npc unload not unloading duplicates (bugreport:2014)
+2008/08/09
+ * Fixed @noks leaking internal buffer contents (bugreport:1528)
+ * Now Novices without lvl5 basic skill can be partied (bugreport:1131)
+ * Fixed login printing raw passwdenc passwords to console (bugreport:826) [ultramage]
+ - added strlib function bin2hex()
+ - cleaned up the md5calc interface a bit
+2008/08/07
+ * Added another GM trust config for party invitations (bugreport:2004) [SketchyPhoenix]
+2008/08/04
+ * Added configs for quest table name adjustment (bugreport:1778)
+2008/08/02
+ * Player shops will not close on death anymore (bugreport:1955)
+2008/08/01
+ * Removed unused guardian hp columns from the castles table in main.sql.
+ * Corrected incorrect use of the datetime column in the `login` table. [ultramage]
+ * Quagmire now will affect boss monsters, but more info is required to code the debuff exceptions properly. [Brainstorm]
+2008/07/31
+ * Fixed: added 'E'-type zenylogs in sql table (bugreport:1957) [akrus]
+ - added sql file upgrade_svn13025_log.sql
+ * Improved: added --enable-debug=gdb option in configure script to use gdb optimized debug mode [akrus]
+ * Removed the mob controller system, now a customization (see topic:194375) [ultramage]
+ * Fixed: commented out loginlog in convert engine sql tables (loginlog table is in logs database now) [akrus]
+2008/07/30
+ * Fixed TXT storage code handling storage incorrectly (bugreport:1928)
+ * AccountDB_TXT will now correctly read inconsistent EOLs (bugreport:1934)
+ * Removed the IRC bot system, now a customization (see topic:194306)
+2008/07/29
+ * Renamed struct 'skill' to 's_skill' to remove naming collisions.
+ * Added defines for mercenary skill ranges.
+ * Added a mapping of mercenary skills to the skill db (700-799 atm).
+ * Fixed Sql object not initializing default values properly.
+ Fixed Sql_Free producing timer deallocation errors when called
+ without first establishing a database connection.
+ * Corrected upgrade_svn12975_view.sql not assigning default values
+ to the two dummy columns; please drop the view and re-run the script.
+2008/07/27
+ * Fixed md5 passwords not working
+ * Possibly corrected a guild saving problem (bugreport:1908)
+ * Removed some leftover code that shouldn't have been merged [ultramage]
+ * Fixed a memory leak in mmo_auth_tosql (extra sql statement being allocated).
+ * Added missing option 'log_db_db' to loginlog_config_read(loginlog_sql.c).
+ * Fixed a memory leak in account_db_sql_destroy. [FlavioJS]
+ * Changed the way GM levels are handled
+ - removed conf/gm_account.txt
+ - added the gm level column to the txt savefile (after 'email' column)
+ - gm level information is now transferred along with account data
+ * Merged the /loginmerge branch [ultramage]
+ - the login server storage, ipban and logging systems have been abstracted
+ and now provide a common interface; the rest has been merged into a
+ single login server core (no more login/login_sql duplicity)
+ - storage systems are now added via compiler options (WITH_SQL / WITH_TXT)
+ - multiple storage engines can be compiled in at the same time,
+ and the config option account.engine defines which one will be used.
+ - due to MySQL autoincrement limitations, accounts with id '0' will not
+ be supported; account IDs from this point on should start from '1'.
+ - login_log() functions now again record IP addresses in dotted format,
+ not as 4-byte integers (undo from r6868).
+ - removed config options that defined column names in the login table
+ - removed `memo` and `error message` columns from login db/savefile
+ - moved `loginlog` table to the logs database
+ - added sql files upgrade_svn12975.sql and upgrade_svn12975_log.sql
+ - due to changes to the login table layout, I added an !optional! sql
+ file (upgrade_svn12975_view.sql) that will provide a certain degree
+ of backwards compatibility with existing software;
+ read the instructions inside carefully!
+ - moved third-party includes/libs to a separate directory
+ - updated project files / makefiles
+
+2008/07/20
+ * Simplified the search in pop_timer_heap and added more debug info to help
+ determine the source condition of timer errors. (bugreport:1860)
+ * Fixed crash in skill_castend_id. (bugreport:1860) [FlavioJS]
+ * Corrected #storagelist target typo (bugreport:1873) [SketchyPhoenix]
+
+2008/07/16
+ * Added a check to make sure only released timers are acquired from the free list.
+ * Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake). [FlavioJS]
+ * Fixed TK_JUMPKICK, should not jump over objects and cliffs.
+ - This also might fix them being able to jump barricades on WoESE. [Brainstorm]
+
+2008/07/15
+ * Updated WoE Time Explanation for Sunday. [Paradox924X]
+ * Corrected wrong data loading order in txt storage code [ultramage]
+ * Fixed pop_timer_heap using max heap comparisons instead of min heap comparisons
+ and protected timer functions against improper use. (should fix bugreport:1833 bugreport:1841) [FlavioJS]
+
+2008/07/14
+ * Made homunculi have doubled regen rates (they regen twice as fast) defined on battle configs. [Brainstorm]
+ * Corrected compiler warning and error made from r12952 and r12953, respectively. [SketchyPhoenix]
+
+2008/07/13
+ * Modified storage data loading (bugreport:1425) [ultramage]
+ - storage is now loaded/saved along with character status
+ - as a consequence, a lot of storage handling code was removed
+ - there is no more locking done within storage data
+ - mapservers no longer cache the data (solves muiltimapserver exploit)
+ - loading storage on char select may decrease charserver performance
+ * Added missing picklog case [Konard]
+2008/07/12
+ * Fixed a bad check on NPC_EVILLAND, actually healing players instead of doing damage. [Brainstorm]
+2008/07/10
+ * Users can't click floating npcs directly. (quick fix for bugreport:1814) [FlavioJS]
+2008/07/09
+ * Fixed SG_FUSION hp penalty (0.5% to 2%), bugreport:1805 [Brainstorm]
+ * Added const to the return value of get_timer.
+ * Added a maximum timer interval. Avoids server shutdowns being delayed
+ for ~10 seconds under some circumstances on windows.
+ * Replaced the fake timer heap (ordered array) with a binary min heap. [FlavioJS]
+2008/07/07
+ * First attempt at implementing the official walk speed system
+ - separated speed modifiers into bonuses, penalties and other statuses
+ - no bonuses stack, instead the maximum is taken
+ - no penalties stack, instead the maximum is taken
+ - Union, Riding and Pushcart are the only other statuses that stack
+ - both bonuses and penalties are linear modifiers of the base walk speed
+ - 'other' statuses are applied after bonuses and penalties
+ * Changed many equations to match official walk speed system
+ - Steel Body now sets a fixed walk speed of 200 (bypassing everything else)
+ - Defender now caps the walk speed to a minimum of 200
+ - Slow Grace now uses official equation for aspd/walk speed decrease
+ - Pushcart's speed penalty is now halved
+ - Free Cast now changes walk speed to a fixed value, bypassing bonuses and penalties
+ - Wedding clothes now have a penalty of +100%, not +200%
+ - rogue's Tunnel Drive and stalker's Chasewalk ignore all penalties
+ - taekwon's Running is now 5% faster
+ - Frenzy is now 5% faster
+ - Gospel's offensive slowdown is now +75% instead of +33%
+ - Quagmire now slows down by +50% instead of +100%
+ - Gatling Fever now slows down by +100% instead of +33%
+ - Cloaking modifier is now a bonus/penalty, depending on presence of wall
+ - Longing for Freedom overrides the song/dance penalty (bugreport:416)
+ - Bard/Dancer Spriit now properly affects song/dance penalty (bugreport:1019)
+ - item-granted speedup no longer stacks with speed bonuses (topic:145019)
+ - removed some status code that pre-calculated speed bonuses/penalties,
+ to make calculations more localized and less messy (see song/dance code)
+ * Removed stop/slowdown effect from Grimtooth (bugreport:1806)
+ * Players autotrading will not be able to receive whispers (bugreport:1804) [SketchyPhoenix]
+2008/07/06
+ * Slight cleanup of item-based walk speed bonuses [ultramage]
+ - removed bSpeed bonus code (was just disabled until now)
+ - changed speed_rate to use base value 0% instead of 100%
+2008/07/05
+ * Moved the mob killmonster flag to a more appropriate area. (bugreport:1795) [SketchyPhoenix]
+2008/07/04
+ * Fixed AM_PHARMACY produce chances based on info gathered by flaviojs, aegis zone ep 11.2, of 20070629 [Brain/FlavioJS]
+ * Rev. 12912 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf]
+ - Added config option to allow for this to be turned on or off.
+ * Added missing 'E' logs to mail system [Lupus]
+2008/07/03
+ * Removed aspd penalty from Free Cast since tests show it's not there,
+ even though RO sites claim it is
+ * Adjusted Free Cast code so that its walk penalty gets calculated in
+ status_calc_speed and nowhere else [ultramage]
+ * Fixes regarding bugreport:1727 (undead element/race skill behaviors) follow up on revisions r12820 r12821 and r12822 [Brainstorm]
+2008/06/24
+ * Rev. 12891 Increased Item group limit for new item groups. [L0ne_W0lf]
+2008/06/23
+ * Fixed: replaced TYPEs with ENGINEs in SQL files (for better compatibility, TYPE is a synonym) [akrus]
+2008/06/22
+ * Extended script command 'set' to return the variable reference (topic:190602). [FlavioJS]
+ * Fixed a bug where the "OnMyMobDead" event wouldn't trigger if the mob was killed and never attacked. (bugreport:1725) [SketchyPhoenix]
+ * Reworded a comment in can_copy to make more sense.
+ * Modified *killmonster and *killmonsterall to support a new argument that will allow it to kill monsters using the new OnMyMobDead behavior (in order to avoid breaking older scripts) (bugreport:1734)
+2008/06/19
+ * Added Sirius_White's fix for sense working on emperium. (bugreport: 1679) [SketchyPhoenix]
+ * Fixed SC_CHANGEUNDEAD behavior: Blessing and Increase AGI deals 1 damage and does not apply buffs to those inflicted by it.
+2008/06/18
+ * Added a fix for refresh properly displaying dead and sitting players. [SketchyPhoenix]
+ * Fixed basilica behavior not knocking back monsters 2 cells should one attempt to enter the field.
+ * Fixed cash shop not using points to make up the cash difference when purchasing an item.
+2008/06/17
+ * Forgot to commit source modification from r12833 (Updated Novice grounds.) [L0ne_W0lf]
+2008/06/16
+ * Made the socket limit not be set in cygwin, which has bogus behavior. (bugreport:1684) [FlavioJS]
+ * Made the socket limit be set to the maximum allowed value when setting to FD_SETSIZE fails.
+2008/06/14
+ * Fixed Icewall not restoring the original cell type [ultramage]
+ * Fixed PF_FOGWALL working on Boss monsters. [Brainstorm]
+2008/06/13
+ * Fixed Evil Land working versus undead element instead of undead race.
+ * Fixed Grandcross and darkgrandcross, should only cause blind against undead race.
+ Also confirmed that ME, evil land, sanctuary, grandcross/DGC and status recovery are versus element, not race.
+ * Removed confusion effect part from AL_CURE, it doesnt work on official anymore.
+ * Partial revert of signum crucis modification, it doesnt work against players, but work on ELEMENT undead monsters.
+ * Corrected dc_serviceforyou bonus values based on irowiki (better have fansite info than 100% guessed info).
+ * Fixed dc_humming only recieving half the bonus from dancing lessons.
+ * Fixed some skills working on undead element when they were supposed to work on undead race. [Brainstorm]
+ Skills Fixed: Cure, Signum Crusis, Blessing, Demons Bane, Divine Protection.
+ Skills needing confirmation: Magnus Exorcismus, Evil Land, Sanctuary, Status Recovery, GrandCross, Dark GrandCross, Head Crush
+
+2008/06/12
+ * Added check to prevent crashing on logmes with no player attached
+ (bugreport:1648) [ultramage]
+ * Added support for skill names to script commands: [FlavioJS]
+ - skill, addtoskill, guildskill, getskilllv, getgdskilllv, itemskill,
+ petskillattack, petskillattack2, petskillsupport, skilleffect,
+ npcskilleffect, unitskilluseid, unitskillusepos
+ - bonus/bonus2/bonus3/bonus4/bonus5 for bonuses bAutoSpell, bSkillAtk,
+ bSkillHeal, bAutoSpellWhenHit, bAddSkillBlow, bCastrate
+2008/06/11
+ * Added partylock/guildlock checking for @changeleader/@changegm
+ (bugreport:72) [ultramage]
+2008/06/10
+ * Fixed double attack working with unarmed attacks, as reported by Lone Wolf. [Brainstorm]
+ * Added experimental code to set the socket limit at runtime. [FlavioJS]
+
+2008/06/09
+ * Fixed SN_SHARPSHOOTING doing 100% atk less damage than it should, bugreport:1654
+ * Fixed Active Guild skills not working when WoE is OFF, follow up on r12770, bugreport:1653 and bugreport:1637
+ * Fixed Fire Pillar (and any future splash damage magical trap) not working on Land Protector.
+ * Fixed reject sword having a infinite duration, bugreport:695 [Brainstorm]
+
+2008/06/08
+ * Implemented the two-handed staff/rod type
+ * Corrected definition of 'delitem' and 'delitem2', which prevented the
+ optional accountid parameter from working (bugreport:1512) [ultramage]
+ * Fixed SA_DISPELL removing SC_CRITICALWOUND. [Brainstorm]
+2008/06/07
+ * Swapped the W_SHOTGUN and W_GATLING weapon type IDs [ultramage]
+ * Fixed GD_EMERGENCYCALL not working inside gvg castles when WoE is off, bugreport:1637 fix by Meyraw [Brainstorm]
+ * Kaite should not work against high-level mobs (bugreport:1623)
+ * Fixed 'soundeffectall' not reading its params correctly [ultramage]
+ * Fixed PF_DOUBLECASTING casting % bugreport:140
+ * Fixed a few properties of NPC_CHANGEUNDEAD bugreport:79 [Brainstorm]
+2008/06/01
+ * Added Ai4rei's "gm can view all players' equips" feature [ultramage]
+2008/05/31
+ * Crashfix to attach/detach timers, thanks to Konard (fixed recent crashes) [Lupus]
+2008/05/28
+ * Updated Ankle Snare duration (bugreport:1438) [Playtester]
+ - agi now has only half the effect on the duration (100 agi reduces it by 50%)
+ - minimum duration is 5 seconds no matter what
+ * Fixed stat values displaying incorrectly when increasing them
+ past 255 (wraparound, ack packet only has 1 byte) [ultramage]
+2008/05/26
+ * Updating configure script: [FlavioJS]
+ - fixed memory manager using the argument of the last enable/disable option (any option)
+ - other minor changes
+ * Increased the allowed packet size for chat messages [ultramage]
+ - changed the capacity of the message column in chatlog (see sql update)
+2008/05/25
+ * Increased storage space to 600 [Playtester]
+2008/05/24
+ * Updated sql files to latest [Toms]
+2008/05/16
+ * Fixed 64bit timestamps messing up auction/storage (bugreport:1454)
+ * Added sd state to track party creation/invitation (bugreport:1180)
+2008/05/13
+ * Fixed a mistake in r11344 that caused the 'my shop' window to display
+ info about cards slotted in items incorrectly (bugreport:1502)
+2008/05/12
+ * Fixed a script engine problem where warping away while having a menu
+ window open and talking to an another npc with a menu would produce
+ menu option count mismatch errors (bugreport:1208)
+2008/05/10
+ * Fixed @showmobs not working (bugreport:1487)
+2008/05/09
+ * Added correct extended info packets for items that are being moved
+ into storage or cart. This caused items to visually lose their
+ properties once they have been moved from inventory (bugreport:250).
+ The modification is mostly copypaste but it works nicely [ultramage]
+2008/05/07
+ * Corrected default guild positions not being saved during guild creation.
+ * Did some cleanup of the splash code, the NPC_WIDE* skills now send the
+ 'preamble' packet, which for the most part correct their skill animation
+ display.
+ * Fixed Sense messing up with Spiderweb.
+ * Added Throw tomahawk to the list of items that do not trigger the
+ equipment breaking code.
+ * Probably fixed Moonlight petals pushing back the casters.
+ * Infinite Endure won't be passed on to devoted characters.
+ * Infinite Endure is no longer saved on logout.
+ * Added check to avoid gms opening vending shops if they don't have the
+ required level.
+ * Fixed the flee penalty not applying when you walk into a gvg map. [Skotlex]
+2008/05/03
+ * NPC_GUIDEDATTACK is not supposed to bypass pneuma/safetywall [ultramage]
+2008/05/02
+ * Fixed missing iterator destruction in the map_foreach* functions (followup to r12684).
+ * Added backward compatible handling of PACKETVER 8 and 9. (followup to r12539)
+ * Changes to map_foreach* functions: [FlavioJS]
+ - removed the unecessary use of va_copy in map_foreachpc
+ - applied the same function pattern to map_foreachmob and map_foreachiddb
+ - created map_foreachnpc
+ - extended the behaviour of map_foreach* functions to stop iterating when func returns -1
+ * Replaced the very ineffective clif_foreachclient() with map_foreachpc() since they essentially do the same thing (bugreport:1174).
+ * Rewrote map_foreachpc() so that its callback function signature now uses a more natural 'sd' instead of a DBKey/void* pair.
+ * Rewrote atcommand_users() to use a single function, instead of depending on two helper functions and global objects.
+ * Added a custom implementation of the va_copy macro for systems that don't provide it.
+ * Fixed varargs not being used correctly in foreach() calls in db.c (bugreport:551).
+ * Replaced the integers+checking approach in r12679 with usage of floating point arithmetic.
+ * Applied search&replace to use the new name of the function.
+ * Implemented get_percentage() for compact and safe calculation of percentual values.
+ * Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135). [ultramage]
+2008/05/01
+ * Updated mob_db.sql to latest [Toms]
+2008/04/30
+ * Rev. 12676 Corrected several effect descriptions. [L0ne_W0lf]
+2008/04/28
+ * Cleaned up char server set online/offline/char select functions. (r12670) [Kevin]
+2008/04/27
+ * Fixing some timestamp type difference warnings...
+ * Removed the calc_times() no-op (bugreport:1289).
+ * Corrected r12662 where a guild break would trigger the OnGuildBreak event for all castles (even of other guilds).
+ * Corrected some x64 compilation warnings in ers/malloc files.
+ * Cleaned up a case of bad variable reuse.
+ * Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661, r12662, r12663): [ultramage]
+ - the player data inventory-itemdb index is now refreshed using pc_setinventorydata()
+ - mobdb will no longer initialize with nonexistent items, and mobs will no longer drop them in case of a reload
+ - the clif_buylist() function once again hides invalid npc shop items
+ - it is no longer possible to purchase nonexistent items from a npc shop
+ - npc shop loading will not abort if there is a nonexistent item entry, it will just skip over it
+2008/04/26
+ * Added script function hasquest. [Kevin]
+ * Fixed OnGuildBreak. [Kevin]
+ * Cleaned up auth system after change back to map server request.
+ - Created function set_char_charselect to get rid of some of the "special case" variables.
+ - Removed code that involved the char server sending auth data at char select.
+ - Changed char select code to update the instance of the char data in the DB
+ to fix map/sex info not being propagated to auth request. [Kevin]
+ * Rev. 12657 Added WoE SE castles to castles.txt in save-tmpl. [L0ne_W0lf]
+2008/04/25
+ * Updated item_db.sql to latest
+ * Fixed bugreport:1223 (Invalid Items In Shops Are Processed Incorrectly)
+ * Modified delitem/delitem2 to have the same behaviour as getitem/getitem2 (optional
+ account_id parameter) bugreport:1035
+ * Modified doc in consequence [Toms]
+2008/04/23
+ * Fixed script strings not being handled properly (only skipped the \).
+ * Added skip_escaped_c to strlib.c/h.
+ * Fixed sv_unescape_c not handling hex/octal escapes properly.
+ * Script parse errors displayed with one ShowError instead of several ShowMessage's. [FlavioJS]
+2008/04/22
+ * Changed itemdb_reload to clear the database before reloading, so it is possible
+ can remove an item from the DB without restarting the server (bugreport:1348) (r12635). [Kevin]
+ * Fixed a "bug" in sv_readdb under windows and cygwin configured as "Unix/binary" for text
+ files ('\r' is read and empty lines are not skipped) bugreport:1382 bugreport:1401 [Toms]
+2008/04/21
+ * Changed the data field of timers from int to intptr.
+ * Added intptr/uintptr to cbasetypes.h (integers with the same size as a pointer). [FlavioJS]
+ * Rev. 12631 Changed Sacrifice status to end on caster's death, not at 25% HP. [L0ne_W0lf]
+ - Should also fix over-flow damage returning to sacrificed targets. Partially fixes bugreport:1332
+ * Updated sql files to latest [Toms]
+2008/04/19
+ * Made some cleanup in changesex [Toms]
+ * Fixed a bug in (init/start/stop)npctimer [Toms]
+2008/04/18
+ * Fixed a bug when unloading a npc near a shop.
+ * Fixed npc_buylist not giving/checking the good item when it was an
+ item_avail in the shop (the real one was added in inventory).
+ * Implemented config setting 'vending_over_max', to let people configure
+ the behavior of vending items over the MAX_ZENY limit [ultramage]
+ * Fixed mapserv crash, thanks to Konard [Lupus]
+2008/04/17
+ * Modified sv_readdb to be able to process non-native line terminators (bugreport:1382) [ultramage]
+2008/04/16
+ * Fixed an issue in r12575 where 'not setting char offline when going from mapserver to charserver' also caused a permanent account lockout if the player pressed 'cancel' in the char select screen.
+ * Merged some recent changes from SQL to TXT, as someone didn't bother to do it.
+ * Ifdefed the quest data request code as SQL-only (this was causing server disconnects whenver someone logged in). [ultramage]
+2008/04/15
+ * Use the same code for script commands getitem & getitem2 as @item to avoid
+ bug in bugreport:1324 (non-stackable items are stacked) [Toms]
+ * Removed all _ in the second name in item_db.txt and updated item_db.sql [Toms]
+ * Added a forward declaration of the struct quest instead of including mmo.h [Toms]
+ * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)
+ * Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name)
+ * Implemented a generic framework for parsing delimited db files
+ - allows specifying min/max column ranges and max number of rows to read
+ * Cleaned up pc.c a bit [ultramage]
+ * Updated item_db.sql to latest [Toms]
+2008/04/14
+ * Fixed a possible crash in char_sql. (since r12575, later modified in r12590). [FlavioJS]
+ * Fixed a memory leak in mapif_quests_fromsql [Toms]
+ * Fixed a typo in char_sql/char.c [Toms]
+ * Fixed a bug in the disconnection part char-server (not sending you offline) [Toms]
+ * Changes to the configure script: [FlavioJS]
+ - added options --with-MYSQL_CFLAGS and --with-MYSQL_LIBS to allow manual setting of those variables
+2008/04/13
+ * More major updates to the quest log system. [Kevin]
+ * Followup to r12579 (all other players appeared as female on sql branch). [FlavioJS]
+ * Some major updates to the quest system, beginning to move it
+ over to the inter server instead of char server. (r12581) [Kevin]
+ * Added an include in clif.h to avoid a complaint of gcc [Toms]
+ * Quick&dirty reversal of the inter-server behaviour introduced in r3255/r3256:
+ - the behaviour enabled a desynch between the char-server and the map-server
+ - now the map-server asks the char-server to authenticate the auth info
+ (the char-server doesn't send the auth info immediatelly)
+ * Changes to the configure script: [FlavioJS]
+ - clarified how --with-zlib is used
+ - added --enable-packetver to set the PACKETVER define (used often enough
+ to get it's own option, but unnecessary since it can be set with CFLAGS)
+ - added -g compiler option to --enable-debug
+ * Changed LOG_ALL definition to really log everything [Toms]
+2008/04/12
+ * Login will no longer set character offline when going from map
+ to character select. (r12575) [Kevin]
+2008/04/11
+ * The max_account_id packetver detection mechanism will never cause any connection problems ever again. (bugreport:388)
+ * Reverted the `login` table changes from r12464 [ultramage]
+ * Finished most of the quest log code, still bits here and there
+ but it's ready for testing. (r12558) [Kevin]
+2008/04/10
+ * More quest log code. [Kevin]
+ * Client not marked online until map receives auth request from the client
+ - and is approved. Also added some online/offline sets to the auth system
+ - that were being skipped.(r12552) [Kevin]
+ * Modified the charservers to use a DBMap instead of a cyclic array for auth data.
+ * Merged the auth fix from r12473 to TXT as well.
+ * Removed the no-op from r12547. [ultramage]
+ * Rev. 12550 Reverted the change to MAX_SQUARE_LAYOUT. [L0ne_W0lf]
+ * Rev. 12548 Updated NPC skill "Evil Land". More gravity wtfage. [L0ne_W0lf]
+ - Based on visual observation, and experience with it on iRO Sakray.
+2008/04/09
+ * Clif functions and basic data structures for questlog system. (r12544) [Kevin]
+2008/04/08
+ * Fixed party invitation ack messages not displaying (bugreport:1308)
+ * Modified PACKETVER for recent clients to use a YYYYMMDD date format
+ instead of a simple sequence number (allows adding versions inbetween)
+ * Small party/guild creation cleanup. Added packet comments. Removed fake reply packet usage. [ultramage]
+2008/04/07
+ * Rev. 12529 Updated MAX_GUARDIANS to support an insane amount of guardians. [L0ne_W0lf]
+ * Immunity to magic now makes you immune to the SC effect as well. (r12527) [Kevin]
+ * Made script command 'flagemblem' and guild_emblem_change send an update
+ of the emblem_id to the players in the area.
+ - known bug: ui components that are displaying the emblem at the time
+ (emblem in flag npc and emblem over head in gvg maps) are not updated,
+ but putting the mouse over the target shows the new emblem
+ * Modified script command 'guardian':
+ - returns the id of the guardian
+ - if guardian index isn't supplied, it generates a temporary guardian
+ * Implemented support for temporary guardians (not saved with castle).
+ * Added missing includes from r12520. [FlavioJS]
+ * Party/guild names can no longer be less then 2 characters long. (r12521) [Kevin]
+ * Removed the 'wait close' timer that closed a session's socket after 5 seconds.
+ This was causing random disconnects when logging in. (bugreport:1330)
+ * Improved the Mental Sensing fix from r12507 to not start the status at all, instead of starting it and ignoring it later on. [ultramage]
+2008/04/06
+ * Fixed a case where a dangling pointer was formed when a person was
+ - invited to a party immediately after creating their own. (r12518) [Kevin]
+ * Sight rasher now affects the wizard's own and other's icewalls. (r12516) [Kevin]
+ * Sight rasher, sight blaster, and arrow shower are now the only
+ - three skills that will affect traps. (r12516) [Kevin]
+ * NPC earthquake now divides the atk2 bonus between players. (r12514) [Kevin]
+ * Changed guild skills restore, regen, and battle order to only affect BL_PC. (r12513) [Kevin]
+ * Reverted one of the changes in dynamic mobs that may
+ - be causing the spawning problems. (r12512) [Kevin]
+ * Equip speed buffs no longer stack with speed consumables. (r12509) [Kevin]
+ - (Speed potion not included).
+ * Sprint, Fusion, and Increase AGI now stack independently.
+ - The others still don't take affect if you have any of these three. (r12508) [Kevin]
+ * Mental Sensing no longer gives an xp bonus on bosses. (r12507) [Kevin]
+ * Changed Union/Increase AGI stack fix (it should work now). (r12506) [Kevin]
+ * Fixed seven wind not allowing ghost/shadow. (r12505) [Kevin]
+ * Added Moscovia to the list of @go destinations [Toms]
+2008/04/05
+ * Unequip should no longer remove any buff from seven wind. (r12503) [Kevin]
+ * Union and Increase AGI now stack. (r12502) [Kevin]
+ * Union now consumes sp when not soul linked. (r12499) [Kevin]
+ * Running into a wall/npc/pc/mob no longer enables spurt. (r12498) [Kevin]
+ * Fixed unable to move after using a skill to break out of sprint. (r12497) [Kevin]
+ * DMG no longer stops running. (r12488) [Kevin]
+2008/04/04
+ * PCs/Mobs/NPCs now block Leap(TK_HIGHJUMP) and sprint(TK_RUN). (r12485) [Kevin]
+ * Disconnect user when receive select egg packet with no menu open. (r12484) [Kevin]
+ * Fixed @rura between maps on more then one map server. (r12483) [Kevin]
+ * Update to Auth Glitch fix: moved unit_free_pc back to where it was
+ - and updated it so unit_free_pc just tells the script to end
+ - (not hard delete). (r12481) [Kevin]
+ * Updated mob_db.sql to latest.
+ * Fixed a little bug in Kevin's commit (r12473) [Toms]
+ * Bug fixes for Auth Glitch and Map server crash through script warp when
+ - changing map servers.
+ * When char receives the request to go back to char selection it sets
+ - the character as "at char select" in the online_char_db, and
+ - set_char_offline now deletes the entry in the online_char_db unless
+ - the user is at the character screen (to prevent unecessary callocs/frees.
+ * Script warp was just a simple misplacement of a free statement, freeing the
+ - users session data before the scripting subsystem was finished with it. [Kevin]
+2008/04/03
+ * More login server work
+ - Renamed 'connect_until_time' to 'expiration_time'
+ - Renamed 'ban_until_time' to 'unban_time'
+ - this also applies to login table columns (see upgrade_svn12464.sql)
+2008/04/02
+ * Rev. 12462 Updated MAX_GUILDCASTLE to support new castles. [L0ne_W0lf]
+ * Added SV_KEEP_TERMINATOR option to not split the line terminator.
+ * Added sv_split to strlib.c/h (similar to sv_parse). [FlavioJS]
+2008/03/31
+ * Fixed ACIDDEMO crash, thanks to Kaato&Konard [Lupus]
+ * Added latest version of dbghelp.dll (from microsoft debugger package), to prevent Windows from loading other, outdated versions.
+ This caused the dbghelpplug plugin to omit information about structures when producing a backtrace. [ultramage]
+2008/03/30
+ * yet more login server stuff
+ - jA data structure compatibility renaming / adjustments
+ - mmo_account -> login_session_data, auth_data -> mmo_account
+ - made gender variable usage consistent for the entire login server
+ - rewrote TXT's new account creation procedure to match SQL's
+2008/03/28
+ * Some more txt/sql login server synchronization [ultramage]
+ - removed the option to specify multiple IPs/subnets for 'ladminallowip'
+ - removed the @gm command and all associated management code
+ - removed the 'save unknown packets' code
+ - removed the lengthy TXT ipban code (which was essentially a copy of
+ what's already handled by the socket layer/packet_athena.conf)
+ - implemented 'start_limited_time' in SQL (expiration for new accounts)
+ - applied some missing TXT changes from the last update
+2008/03/27
+ * Updated SQL Files (item & mobs) [Toms]
+ * Partial rewrite of the login server's auth system.
+ - replaced the cyclic, size-limited auth_fifo data structure with the
+ more appropriate DBMap-based alternative (stops some erratic behavior)
+ - added code to simulate the pseudo-status "online on login server"
+ - auth data will now expire after 30 seconds instead of persisting
+ - better-than-aegis handling of login cancellation (the server will wipe
+ all previous auth data instead of making you wait for it to expire)
+ - proper status message - no more generic "rejected from server", now
+ you'll get "the server still recognizes your last connection"
+ - fixed a typo in r10110 which caused disconnect timer removal to fail
+ - split off some parsing code to login_auth_ok() and login_auth_failed()
+ - extended the auth confirmation packet so that the login_id1/2 values
+ are sent along with the associated account id (stops charserver from
+ making wrong choices if two incoming sessions have the same acc_id)
+ - fixed a bug in the disconnect part of the main charserver parsing
+ loop, where a non-authed client would erase the online db entry for
+ a client that's already online, thus bypassing any dual-login checks
+ - added code to stop the waiting_disconnect timer when the associated
+ online entry is removed right away, instead of doing checks later
+ - removed code that would periodically wipe the online status of clients
+ that are in the auth process (producing yet more erratic behavior)
+ - commented out some TXT-only reconnect prevention code (bugreport:1281)
+ * merged the charserver acc modification code cleanup to TXT (r11324)
+ * changed trunk's default server->client PACKETVER to 9
+2008/03/26
+ * Adjusted eAthena code to compile cleanly in C++ mode.
+2008/03/25
+ * Added proper checks to adoption processing (followup to r12428).
+ * Cleaned up some code / fixed some typos. [ultramage]
+2008/03/24
+ * Reorganized the contents of the mapserver's header files.
+ - map.h is no longer a generic dumping spot of all the shared structs,
+ and instead, each such structure now resides in its logical component
+ - map.h now only holds mostly map-related things (needs more cleaning)
+ * Fixed a problem in the new trade window implementation (from r11830) where no trade acknowledgement messages would get sent (bugreport:1217). [ultramage]
+2008/03/22
+ * Cart Termination now bypasses Parrying and Energy Coat (bugreport:476).
+ * Mobs with no respawn information which don't have a master will not get unloaded by the dynamic mobs system.
+ This prevents script-spawned mobs (bio MVPs, Emperium/Guardians, ...) and dead-branched mobs from disappearing (bugreport:1246).
+ * Added a missing null-pointer check to the timed player pvp/gvg respawn function (mistake in r12232) [ultramage]
+2008/03/21
+ * Added VS9 project files. Thanks to Konard [Lupus]
+ - removed redundant map_getallusers() function
+2008/03/19
+ * Changed the dynamic mobs system to also unload mobs that have respawn
+ time but are already spawned - 22M less mem usage (bugreport:1197)
+ - also added a check to not respawn mobs on maps with no players
+ (potentially unsafe operation, needs further inspection)
+2008/03/18
+ * Fixed invited party members not displaying correctly (bugreport:1199)
+ * Fixed OnPCLoginEvent not working correctly (bugreport:1182) [ultramage]
+ * Added missing WorkingDirectory value to vcproj-7.1, vcproj-8 projects.
+ Now you can flawlessly run your compiled server with RUN button in
+ the correct directory. Thanks to Konard [Lupus]
+ - Reverted changes from the project files, due to incompatibility [Lupus]
+2008/03/14
+ * Fixed spawned mob count not being counted properly, causing yet more respawn problems.
+ * extended the "npc_event: event queue is full" error message to also print the name of the event (so that the cause can be tracked down)
+ * removed a strange (and undocumented) event name check for "GM_MONSTER" in the npc event execution code
+ * added effects from recent sakexes to effects list
+ * removed ladmin from vs8 sql builds
+ * added int_auction.c/.h to vs6 and vs7 project files
+ * some small cleanups
+ * Fixed one condition incorrectly modified in r12358, which caused dynamically unloaded mobs to never spawn once they've been unloaded once (bugreport:1178) [ultramage]
+2008/03/13
+ * Replaced some foreach-based functions by their inlined iterator equivalents.
+ * Changed the dynamic mobs system, so that the flag that indicates whether a particular mob can be unloaded is stored in the mob's respawn data structure.
+ * Cleaned up related parts of the source code.
+ * Fixed one forgotten mob spawning function call causing mobs to duplicate when respawning (followup to r12350) (bugreport:1173) [ultramage]
+2008/03/12
+ * Removed one mob data variable related to dynamic mobs that I found to be redundant.
+ * Changed MAX_MOBSKILL (max. amount of different skill entries per mob) from 50 to 40 to reduce memory consumption a bit more. [ultramage]
+2008/03/11
+ * Replaced one incorrect nullpo check in chat_deletenpcchat().
+ * Replaced clif_countusers() with a more efficient alternative (thanks to the fact that pc_db now only holds fully authed players only). [ultramage]
+2008/03/10
+ * Added missing check to only allow the leader of a party to modify
+ its exp share settings (bugreport:12) [ultramage]
+2008/03/09
+ * Modified attack_walk_delay so it behaves on a 'per-object' basis, and
+ changed the default to 15 (all types).
+ * Modified battle_delay_damage so damage is not delayed more than one
+ second for non-player attacks.
+ * Modified party_member_added with a hack so that the clif functions will
+ send the info of the new member since party_recv_info has not yet arrived.
+ * Updated clif_calc_delay so the type sent to the client is based on the
+ number of hits of the skill (as Aegis packets reveal) [Skotlex]
+ * Cleaned up and corrected some more land skill code [ultramage]
+ - removed redundant skill_ganbatein() function
+ - Added flag UF_PATHCHECK from jAthena which affects whether a skill's
+ cells will be affected by the surrounding terrain. Adjusted existing
+ flags so that they closely match jA's (for easier comparisons).
+ - Fixed code that allowed placing of skill unit cells on 'gaps'.
+ - Fixed code that prevented successful casting of land skills on 'gaps'
+ (officially it's possible, even though they will not deploy entirely).
+2008/03/07
+ * Script induced status changes can now be reduced by stats/cards (but
+ only trigger rate is reduced, not duration).
+ * Battle delay timers will now check if the target player has the
+ invincible timer active or not.
+ * Adjusted clif_damage and clif_skill_damage to set the endure type value
+ based on dmotion and damage, rather than hardchecking for SC_ENDURE.
+2008/03/06
+ * Fixed song/dance cells to appear even on top of walls and pits.
+ * Fixed non-chatroom owners being able to kick others from the chatroom.
+ [Skotlex]
+ * Fixed a crash when a homun kills a mvp and the char that did
+ the most damage is unable to carry the mvp reward (bugreport:1114)
+2008/03/05
+ * Added code to clear the Illusionary Shadow effect (followup to r12293)
+ * Added some trim() calls into mapflag code (followup to r12238)
+ * Fixed mvp exp reward packet not working right for big values
+ * Added dbghelpplug plugin entry to the plugins configuration file
+ * Added conf setting for auction table name (see r12287) [ultramage]
+ * Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.
+ * Corrected Earthquake so it behaves as explained in the development topics.
+ * Added a missing line to actually unequip unallowed compounded cards when
+ changing maps.
+2008/03/04
+ * Updated the firepillar code so it behaves like the other traps.
+ * Additional status changes now only get triggered if the attack did
+ damage, not if they get absorbed.
+ * Properly set the opt3 value for Moonlight, Changeundead and Soul Link.
+ * Fixed the "no equip" flag of cards not being properly applied when
+ attemting to equip items.
+ * Some corections to the new auth db system. [Skotlex]
+2008/03/02
+ * New optimizations for mail system and adjust to use it on Auctions. [Zephyrus]
+ - Added a Sql patch to clear all deleted mails. (There is no need to keep that data)
+ - Added more code for Auctions. Not implemented but just for study.
+
+2008/02/29
+ * Rev. 12268 Added documentation for Cash shop NPC heading. [L0ne_W0lf]
+2008/02/28
+ * Added cash shop support [Zephyrus]
+2008/02/27
+ * Fixed 'cleararray' not able to erase array entry 127 (bugreport:864)
+ * Fixed @reloadmobdb producing memory leaks in pet db (bugreport:1030)
+ * Patched an unresolved case where knocking back a bard/dancer would
+ cause the mapserver to crash (bugreport:1043)
+ * Fixed Apple of Idun not checking for bard soul link (bugreport:1028)
+ * Fixed Advanced Adrenaline Rush not working barehanded (bugreport:1049)
+ * Disabled idle_no_autoloot setting (bugreport:1051)
+ * Removed NODAMAGE and ICEWALL cell types (mem usage back to normal)
+ - Icewall now uses basic cell type 5 (nonwalkable, shootable)
+ - as a consequence, you can now warp to a nonwalkable cell - but only
+ via gm command or scripted warp bug (hopefully :)
+ * Added missing option changes for Illusionary Shadow and Soul Link
+ that disappeared when you left the screen (bugreport:1053)
+ * Added support for the "view player equip" feature (see topic:174461)
+2008/02/26
+ * Added new settings for Autotrade. [Zephyrus]
+2008/02/23
+ * Now the server will print an error message if an invalid mapflag is
+ found during script loading (see bugreport:980 for the motivation)
+ - removed one extra space that broke jail's noreturn mapflag loading
+2008/02/22
+ * Removed code in socket.c that tries to avoid send buffer overloading,
+ as there is a scenario (many players and charserver disconnect) where
+ mass char saving produces huge ammounts of data to send (see r11503)
+ * Cleaned up player respawning code (bugreport:1022)
+ * Increased the max amount of different autocast skills from 5 to 10
+ * Fixed @whomap not unlocking the player db (bug in r12204) [ultramage]
+ * Added $(CUSTOM_CFLAGS) into all Makefile.in to provide any custom defs
+ directly to all sub make files. How to use:
+ make CUSTOM_CFLAGS='-DSOME_DEF' sql [Lupus]
+ * Fixed 2 problems in r12223 - incorrect variable used (bugreport:1031) and a missing global function declaration. [ultramage]
+2008/02/21
+ * Added status_calc_life to properly calculate hp/max_hp as a ratio taking
+ into accounts overflows (and for now also avoids divisions by 0). Applied
+ this function around clif.c, mob.c and pet.c
+ * Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
+ * Fixed logarithmic drops turning 0% drop rates into 100%.
+ * Restructured the login mechanism of the map-server. The goal was to make
+ sure players are not found in the different dbs of the map while the
+ player has not yet been fully authed or while it is quitting, to avoid the
+ rest of the code from accessing and modifying it. It is a rather extensive
+ change, and I only had time to test the basic functionality, so if use with
+ care and report any bugs found.
+ * Replaced player states auth, waiting_disconnect, finalsave with active,
+ and removed states party_sent/guild_sent.
+ * Removed several of the old login methods/constants/player states which
+ are no longer needed due to this cleanup. [Skotlex]
+2008/02/19
+ * Rev. 12219 Fixed a typo in /map/clif.c (acount_id -> account_id) [L0ne_W0lf]
+ * Forgotten update to the definition of script command 'input'.
+ * Enabled DEBUG_MEMMGR only in DEBUG mode.
+ * Made autotrading characters be kicked instead of reporting double login.
+ * Made create_session initialize session_data to NULL.
+ * Fixed db_obj_get not handling deleted nodes correctly. (bugreport:999) [FlavioJS]
+2008/02/17
+ * corrected login_fd/char_fd being uninitialized in the char servers.
+ * Added a check to prevent using consume-delay items when you cannot use
+ skills, since that opens an exploit if the item also has non-skill-casting
+ components to its script. [Skotlex]
+2008/02/14
+ * Removed/replaced all calls to map_getallusers (followup to r12195)
+ * Trashed @whozeny (from r269) [ultramage]
+ * Added some changes to @noks. Now it uses a SC and not vars in mob_data [Zephyrus]
+ - Added support to Self|Party|Guild to @noks (default is Party)
+2008/02/13
+ * Changes to memory manager: [FlavioJS]
+ - fixed blocks that are fully used not being detected (and not freed) in
+ memmgr_final (unfill_prev is NULL for unused blocks and full blocks)
+ - fixed memmgr_final giving the wrong address to _mfree (for small blocks)
+ - added the pointer address to most error messages (and log)
+ - made it append to the log file instead of rewriting it
+ - implemented a function to verify if a memory location is active
+ - other minor changes
+ * Merged memory manager updates from old jA revisions (bugreport:663) [ultramage]
+ - less overhead and better overflow detection (caution, experimental!)
+ * Added some security checks in mail system [Zephyrus]
+ - This supose to fix a bug reported in 622 to limit to MAX_ZENY.
+ - Also add more checks to free space in your inventory to receive items.
+ * Added some new config settings: [Zephyrus]
+ - homunculus_autoloot, idle_no_autoloot, max_guild_alliance.
+ - Added a code to activate a Kill Steal protection and the required mapflags.
+2008/02/11
+ * 'Forget me Not' no longer blocks ASPD bonuses from working or prevents
+ their re-casting, they are simply dispelled when the effect takes place.
+ * Fixed a possible crash when a player logs out before their create-party
+ request is accepted. [Skotlex]
+ * Expanded the script command 'input': (bugreport:811) [FlavioJS]
+ - two new optional arguments 'min' and 'max'
+ - return value indicating if it's in the correct range
+ - config variables for the default value of the arguments:
+ 'input_min_value' and 'input_max_value' in script_athena.conf
+2008/02/10
+ * Added two missing opt2 values, for Angelus and Bleeding status
+ * Fixed Warp Portal code sometimes producing errors/crashes in the case
+ where a priest enters his/her own warp (bugreport:270)
+2008/02/08
+ * Fixed wrong message in item group loading code (bugreport:936)
+ * Fixed 'charisalpha' not working for the first char (bugreport:940)
+ * Disabled signed/unsigned warnings for visual studio 2005 [ultramage]
+2008/02/07
+ * Fixed the disguise commands using the wrong variable when attempting to
+ disguise as an npc.
+ * Corrected and optimized npc_remove_map's npc array cleanup (Fixes
+ @reloadscripts reporting 'too many npcs per map' and related dangling
+ pointer crashes).
+ * HP loss item scripts can no longer kill you.
+ * Corrected the item-drop-rate check to avoid duplicate entries in
+ @whodrops after a @reloadmobdb. [Skotlex]
+2008/02/04
+ * Some code cleanups. [Zephyrus]
+ - Added new Cell types (NoChat and NoDamage)
+ - Added JobChangeLevel and FreeSKPoints to #stats
+ - Added a Crash protection in clif_send with invalid fd values.
+ - Merged a missing update in TK Mission.
+ - Added script command 'getmapflag'
+2008/02/03
+ * Fixes to Devotion (see topic:153345) [ultramage]
+ - removed totally fake Devotion packet from Marionette Control code
+ - fixed one devoted chars array management code bug which caused chars
+ to be included in the array multiple times, producing various problems
+ - the link will now re-display when coming into view range
+ - the link will no longer break if the devotee walks away, but instead,
+ if he receives damage while being out of range of Devotion
+ * Added an iterator to map.h/c. [FlavioJS]
+ Will be used instead of map_getallusers, which has problems with
+ dangling pointers (returned array isn't updated).
+2008/02/01
+ * Fixed sql charserver crashing sometimes (bugreport:870) [ultramage]
+2008/01/29
+ * Plagiarize can no longer copy skill levels beyond their max skill_db
+ value.
+ * Modified pc_dead so that the src is passed on to the master when it is a
+ pet or homunculus. [Skotlex]
+2008/01/26
+ * Small update to the dgbhelpplug plugin: [FlavioJS]
+ - fixed only half of wide character strings being printed
+ - fixed the memory validity check in Dhp__PrintDataValue being optimized
+ out in release mode
+2008/01/25
+ * Updated conversion tools for mob_db & item_db
+ * Updated SQL Files (item & mobs) [Toms]
+2008/01/21
+ * Fixed battle config loading not applying the side-effects of
+ battle_adjust_conf() side-effect if an import: operation fails.
+ This is what caused the odd slowdown reported in bugreport:260.
+2008/01/20
+ * Fixed item searches not working on exact "jname" matches.
+ * Fixed hom_setting&0x2 conflicting with the 'view-range' limit check.
+ * Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all
+ the status changes that cannot be triggered on bosses are dispelled.
+ * SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP
+ class. [Skotlex]
+2008/01/19
+ * Added plugin dbghelpplug to generate more extensive crash reports in windows. [FlavioJS]
+ - see header of src/plugins/dbghelpplug.c to know it's capabilities
+ - VS8 project file supplied at vcproj-8/dbghelpplug.vcproj
+ - a dll compiled in release mode is supplied at plugins/dbghelpplug.dll
+2008/01/17
+ * Made battle_check_range fail whenever the distance between src/target is
+ greater than the viewing range. [Skotlex]
+ * Icewalls can no longer be knocked back (see bugreport:38)
+2008/01/15
+ * Manner system fixing [ultramage]
+ - better-than-aegis 'red bubble' packet updates; now it shows correctly
+ - added support for /rc, which is basically mute for 60 minutes
+ - fixed typo in r12076 making gm-mute start on the gm instead of target
+ - fixed @mute not ending the status properly when using negative values
+ - adde missing clif_manner_message(), sends info about manner updates
+2008/01/14
+ * Fixed missing mob_spawn call, which was making CR_CULTIVATION not
+ actually spawn the plant. [Skotlex]
+ * Client packet corrections
+ - 0x01df is not 'gmreqnochatcount', but for requesting a player's
+ account name via right-click menu (which currently can't be done)
+ - added /remove and /recall, aliases to /shift and /summon
+ - added /changemaptype, which alters a single cell's gat type
+ - gm kick will no longer exit the client (now it goes to the login screen)
+ - removed the quicksort invocation in /ignore code
+ * Fixed card removal script functions' 'extra card' bug (bugreport:786)
+ * Removed the hardcoded limit for numeric npc input boxes (bugreport:811)
+ * Applied a temp patch to make some npc-executed atcommands work again
+ * Added support for right-click-gm-menu kicking NPC objects [ultramage]
+ * Fixed dangling pointer crashes when bleeding or Deadly poison kills a
+ spawn-once monster.
+ * Fixed a possible ERS entry corruption when Deadly Poison kills a target
+ that has kaizel active.
+2008/01/13
+ * Fixed a possible ers_entry corruption if you die from bleeding while
+ under the effects of kaizel.
+ * Updated Safety wall so it does not blocks melee magic. [Skotlex]
+2008/01/12
+ * Another possible fix to ers/status_change crashing.
+ - same logic as r12058 but in status_change_timer.
+ - look out for this error: "[Error]: status_change_timer: Unexpected NULL status change id: ### data: ###"
+ getting it means that a crash was avoided and the culprit found.
+ * Modified npc_parsesrcfile to read the file as binary and let sv_parse handle LF/CRLF line endings.
+ * Possible fix to ers/status_change crashing. [FlavioJS]
+ - this patch is untested. Didn't find anyone willing to test it and I can't
+ reproduce the crash so can't test the patch.
+ symptom:
+ status_change_entry.timer is being modified after the entry is freed.
+ ers uses that memory location as a pointer when the entry is freed,
+ it crashes when accessing the contents when it points to an invalid location.
+ assumption:
+ status_change_start starts an already existing status.
+ as a consequence of something called inside status_change_start the status is ended.
+ when the sce is finally being modified, it's modifying a freed entry.
+2008/01/11
+ * Implemented the extra damage bonus to TK_JUMPKICK when it is used while
+ running (however what the bonus's equation is has been lost to time, so
+ someone else correct it).
+ * Corrected CR_CULTIVATION to cause summoned plants to expire after 5
+ minutes.
+2008/01/10
+ * Fixed getmonsterinfo to return "null" when returning the name of a
+ non-existing mob instead of -1.
+ * Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on
+ it already.
+ * Script command percentheal will no longer kill the player if the
+ specified amount is negative (and not -100).
+ * Fixed Abracadabra unable to cast non-targeted skills (bugreport:186)
+ * Another round of login server cleaning [ultramage]
+ - fixed passwordencrypt on SQL not behaving correctly (since r10753)
+ - corrected some column lengths in the login db (username, password,...)
+ - fixed some places which used wfifo without first reallocating it
+ - removed interserver packet 0x7532 (Request to end connection), as
+ there was no code that actually sent this packet
+ - moved RFIFOSKIP actions to execute as soon as possible
+ * Corrected @slaveclone/@clone behaving as @evilclone when you change the @
+ symbol.
+ * Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they
+ were card granted bonuses.
+ * fixed a SA_DISPELL crash when casted on an object with no status changes.
+2008/01/09
+ * Script command warpportal now places a warp in its initial state (as if a
+ real warp portal was casted).
+ * Updated dispell to also not remove the following effects: Hindsight, Inc
+ Hit/Atk Rate (NPC_POWERUP), Nen, TK stances and tumble, warm and speedup1
+ (the other speed potion).
+ * Chase-walking characters can now loot.
+ * Hiding characters can't drop items now. [Skotlex]
+2008/01/08
+ * Added missing session auth checks to charserver. [ultramage]
+ Packets from non-authed clients will now be discarded.
+ * Fixed Wand of Hermod not starting the SC_HERMOD status change (which
+ blocks spells)
+ * Fixed additional def/mdef from vit/int bonuses being lost when a status
+ change that affects def/mdef triggers (for homunculus) [Skotlex]
+ * Added missing code to log main chat messages sent by whispering
+ to main_chat_nick (bugreport:424) [ultramage]
+2008/01/07
+ * Small change to potion pitcher to allow potion healing rate item effects
+ to be included in potion pitcher's heal rate. [Reddozen]
+ * Changed the code in status_change_timer so that a null pointer no longer
+ causes a crash but prints an error instead.
+ * Corrected clones not copying over a player's skills properly. [Skotlex]
+2008/01/06
+ * Extended the id range for npcs, now [400,700) will also be treated
+ as NPC objects (see topic:170845 and bugreport:727) [ultramage]
+ * Fixed a visual itemdupple bug on mail system. [Zephyrus]
+ - Fixed Overthrush status cannot being recalled at same skill lvl.
+2008/01/04
+ * Fixed a mistake in r11991 that let knockback work through walls
+ * Modified the map_setcell() code to to use a boolean flag instead of
+ needing SET_ / CLR_ pairs of defines (topic:174323) [ultramage].
+ Also removed script object 'setcell', added script function 'setcell'
+ - Now you can manipulate cell information without needing @loadnpc
+ - You can also manipulate the terrain ('gat') type itself, using the
+ new cell_walkable, cell_shootable and cell_water constants
+ (currently the implementation uses bit flags too, so to get the type
+ you want, you need to adjust the flags one by one)
+ - This breaks current scripts, so please adjust places that use setcell
+ (also be sure to _only_ use predefined constants, not direct numbers)
+ - Details can be found in the script reference.
+ * Fixed Music Lesson's effect on Assassin Cross of Sunset.
+ * Fixed a possible crash in status_change_timer when debug mode is
+ disabled. [Skotlex]
+2008/01/03
+ * Changes to reduce the number of map cell types
+ - Pneuma now again works via status change (see r3969)
+ - removed unused CELL_SAFETYWALL
+ - removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)
+ * Fixed npc unloading not clearing NPC touch cells (bugreport:595)
+ * Map cell mechanism rewrite (bugreport:426)
+ - defined a data structure for map cells (replaces 3 various cell arrays)
+ - both terrain (gat) and dynamic (cell) information is now stored as
+ C-style bit flags instead of #defines and bitmasks
+ - added map_gat2cell() and map_cell2gat() for terrain type conversions
+ - changing terrain information via 'setcell' is temporarily disabled
+ - mapserver startup now takes longer, as it needs to adapt mapcache data
+ to internal representation, cell by cell (new mapcache format anyone?)
+ * Moved extra junk from map_addblock/map_delblock to where it logically
+ belongs (loadendack/unit_remove_map), removed flags and _sub macros
+ * Removed map_data's block_count, as (quote Yor/ja2160),
+ "Perhaps useful for debug, but uses memory AND CPU for nothing."
+ (block lists are linked lists, they don't need count tracking) [ultramage]
+2007/12/31
+ * Fixed a crash in txt char-servers that the memory manager was hiding.
+ online_char_db being used after being destroyed (since r4026)
+ * Added code to reject double logins in clif_parse_WantToConnection and
+ added debug messages to detect possible double logins that escaped.
+ * Isolated accounts that are waiting for the quit ack. The rest of the
+ game logic no longer has access to them though the id2sd/charid2sd dbs.
+2007/12/30
+ * Fixed get_val2 not using the stack, which automatically frees the data,
+ causing memory leaks for string variables since r11976.
+ (bugreport:723 , part of bugreport:714 and part of bugreport:708)
+ * Trully fixed the previous commits. (missing cast and incomplete size)
+ * Made the memory manager set allocated memory to 0xCD and freed memory
+ to 0xDD. The memory manager no longer 'hides' uses of freed memory.
+2007/12/29
+ * Fixed two missing @LDFLAGS@ in src/plugins/Makefile.in. [FlavioJS]
+ * Implemented THE official Steal skill equation and game mechanics
+ (basically version from /stable plus a few tweaks) (see topic:116540)
+ * Added missing bAddStealRate reference to doc/item_bonus.txt
+ * Removed skill_steal_rate, as it was never used in the code (see r231)
+ * Removed skill_steal_type, it's just a one-liner source mod (see r231)
+ * Knockback now works through cells where there is a diagonal path, but
+ no horizontal+vertical (two 90` icewalls with a gap where they 'join')
+ * Some dead code removal in path.c [ultramage]
+2007/12/28
+ * Fixed a memory leak in memitemdata_to_sql.
+ * Reverted a bad modification in clif_produceeffect from r11290. [FlavioJS]
+2007/12/27
+ * Removed an incorrect range check and fixed a copypaste typo which
+ caused script engine errors / crashes (see r11984)
+ * Re-added a missing mob last_thinktime timer initialization when a mob
+ spawns, causing mob AI to freeze (mistake in r11964) [ultramage]
+ * Changed the configure script:
+ - refined the mysql test (wasn't detecting 64 libraries compiled without -m64)
+ - added a test for clock_gettime in -lrt (required for Debian)
+ * Corrected description of scope and npc variables in script_commands.txt.
+ * Made temporary character string variables not have a limited length.
+ (now all temporary string variables don't have limited length)
+ * Made temporary character variables reuse free positions.
+ * Tweeked the declaration and initialization defines for vectors.
+ * Made do_sockets leave the for loop as soon as the readable number of
+ sockets returned by select is found.
+ * Made all posix compliant systems that support it and FreeBSD >= 5.1
+ (implements it but doesn't have the posix defines) use the precise and
+ consistent tick() implementation.
+ * Minor tweek to HEAP_SEARCH (same variable can be used in from and to).
+ * Fixed the map server not exiting when make_listen_bind fails and
+ returns -1. [FlavioJS]
+2007/12/26
+ * Fixed the incorrect interpretation of the map-cell height information
+ stored in .gat files; this was causing an overall of 20000 cells to
+ be treated as water when officially they aren't [ultramage]
+ * Fixed string variables dereferencing directly to the value instead of
+ dereferencing to a copy of the value. (fixes bugreport:684 bugreport:641) [FlavioJS]
+2007/12/23
+ * Added a generic vector implementation (dynamic array) based on defines. [FlavioJS]
+ * Fixed horrible handling of skill_abra_db which leads to memory corruption
+ (depending on the contents of yor abra_db.txt file) [Skotlex]
+2007/12/22
+ * Fixed droprate overflows when going over rate 2000x [ultramage]
+ * Corrected mob spawn utilization of the delay1/delay2 values (one is
+ respawn delay base, the second is random variance added on top of it).
+ Cleaned up related code. [Skotlex]
+2007/12/19
+ * Fixed yet another buffer overflow, in @adopt [ultramage]
+ * Changes to the configure script. [FlavioJS]
+ - fixed the 'pointers can be stored in ints' test not working
+ - fixed the linker trying to build 64 bit executables with 32 bit code on
+ x86_64 (missing -m32 flag in LDFLAGS)
+ - made MYSQL_CFLAGS be built from the --include option to be more portable
+ - made --with-mysql check if the optional argument is an executable file
+ - make --with-pcre check if the optional argument is a directory
+ - other minor changes
+ * Corrected SC_MIRACLE to trigger Bless of the Stars on all defeated mobs.
+ [Skotlex]
+2007/12/18
+ * Fixed a possible buffer overflow in @partyoption [ultramage]
+ * Updated respawn time interpretation according to latest kRO update [Playtester]
+ - this first time is the "min respawn time"
+ - the second time is the "variance" which is added to the "min respawn time"
+ * Corrected skill_db reading to properly trim the skill name/descs.
+ * Added a mobid_db in map.c to handle mob lookups faster. [Skotlex]
+2007/12/17
+ * Added flag.server to indicate interserver sockets
+ - replaces the previous way (setting 'client_addr' to 0)
+2007/12/14
+ * Guardian hp handling code removal (see bugreport:342)
+ - removed guardian hp from the castle data structure, database,
+ savefiles and various script functions (use upgrade_svn11915.sql)
+ - removed guardian hp calculation and manipulation from the castle
+ manager npc, now the hp values are updated by the server itself
+ (glitch: when castle defense changes, all guardians are healed to full)
+ - tweaked script function 'guardianinfo' to provide some data needed
+ by the manager npc (currently available are hp, maxhp and visibility);
+ also, it doesn't need a player attached to execute
+ * Added a precise and consistent tick() function for freebsd [ultramage]
+ * Wand of Hermode now dispells buffs only of allies.
+ * Fixed some null pointer checks in status_change_end.
+ * Corrected a crashy Warning message. [Skotlex]
+2007/12/13
+ * Fixed possible segmentation faults in the script engine.
+ - some strings that can be freed outside the script engine were being
+ pushed into the stack as constant strings
+ * Disabled ers until recent crashes are fixed.
+ - ers entries are being corrupted, probably by modifying them after they
+ are released or by releasing something else
+ * Abstracted the windows socket code so that all fd's are in the range
+ [1,FD_SETSIZE[. (bugreport:604)
+ - The socket of a fd is forgotten when executing sClose, so things that
+ depend on the socket (like sFD_CLR) must be executed before closing.
+ * Replaced the fd_set of the short list with a custom implementation
+ (works like the linux fd_set). [FlavioJS]
+2007/12/12
+ * Some preparations for the guild script update [ultramage]
+ - cleaned up npc event execution code
+ - cleaned up guild data loading/saving code; to be improved later
+ - removed dummy 'account name' expulsion list management code
+ - removed columns 'rsv1' and 'rsv2' from guild member data
+ - removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
+2007/12/11
+ * Added query_logsql script command to perform sql commands using the log
+ db connection.
+ * Added some new cashitems and headgears.
+2007/12/10
+ * Cleaned up clif_setdisguise and fixed it for PACKETVER>=9.
+ * Added missing range/skill-mask info to reflected damage (fixes autospells
+ not triggering on it) [Skotlex]
+2007/12/09
+ * Modified npc_parsesrcfile to parse the line as a 'tab-separated values'
+ string and added data truncation warnings.
+ - enforces a stricter adherence to the format (no multiple tabs)
+ - avoids sscanf matching spaces, new lines and carriage returns when '\t'
+ is used in the format string
+ * Added a generic 'delimiter-separated values' string parser to strlib.c/h. [FlavioJS]
+2007/12/07
+ * Fixed ensembles skills.
+ * removed the timer heap correction code when the timers overflow since
+ Flavio points out that it is not needed.
+ * Modified a bit the changesex code so you get saved and quit before
+ changing your sex rather than afterwards.
+ * Cleaned up #changesex
+ * Signum Crucis now works on bosses. [Skotlex]
+2007/12/06
+ * Removed the attempts to recover from invalid syntax in npc_parsesrcfile
+ since they can produce incorrect results (spaces in sscanf can match
+ \n's and company).
+ * Made script_rid2sd report the script source directly and changed related
+ return 1's to return 0's to avoid double script source reports.
+ * Added missing return 0's after script_rid2sd is used and an extra error
+ message in buildin_set/buildin_setd. [FlavioJS]
+ * The default event script behaviour is to trigger on labels rather than
+ NPCs now.
+ * Removed several script config options which break NPC compatibility when
+ you mess with them (event_script_type, event_requires_trigger,
+ die_event_name, kill_pc_event_name, kill_mob_event_name, logout_event_name,
+ login_event_name, loadmap_event_name, baselvup_event_name,
+ joblvup_event_name)
+ * LoadMap events no longer set the variable "@maploaded$" to the name of
+ the new map. [Skotlex]
+2007/12/03
+ * Fixed a bug on Mail System. Removed the possibility to lost the attachment on
+ a Map - Char server disconnection. [Zephyrus]
+2007/11/29
+ * pc_setoption no longer does view_data changes while disguised (as this
+ breaks things) [Skotlex]
+ * Random cleanup/documentation.
+ * Made common/Makefile get the svn version from the src directory, not src/common.
+ * Added a warning message to the install and uninstall targets.
+ * Renamed all obj directories to obj_all, obj_txt or obj_sql in the
+ makefiles (if an obj/ directory exists, BSD make enters it before
+ reading the makefile) [FlavioJS]
+ * Allowed disguising while riding a peco-peco (this does not seem to cause
+ problems anymore).
+ * The pvp rank packet is no longer sent to other players when disguised, as
+ this leads to crashes when you die.
+ * Probably fixed splash damage.
+ * Reflected spells no longer cause knockback.
+ * SG Blessing skills now grant the extra experience to everyone when the SG
+ killed the mob.
+2007/11/28
+ * Applied the required changes to handle def as a signed char (allows for
+ negative def)
+ * Corrected skill_check_condition to not delete items right away for
+ certain skills that do the deletion themselves. Fixes several skills
+ consuming items twice.
+ * Dispel's success rate is no longer affected by MDEF
+ * You are no longer blocked from being warped when standing in a warp while
+ in a duel.
+ * Duels are now automatically ended when you warp out of the map you are
+ in. [Skotlex]
+ * Fixed reflected spells bypassing WoE no-knockback restriction, because
+ the code allowed that when cast on self; not anymore (bugreport:231)
+ * Reverted the position of the max_hp/max_sp basic setting, modified the
+ max_hp/max_sp bonuses to use casting in order to work correctly with
+ negative bonuses. [Skotlex]
+ * Reconstructed a list of all PACKETVER types, by reverse-engineering
+ it from places in the code where the define is used [ultramage]
+ - recovered PACKETVER 6 which was added in r51, but overwritten by r141,
+ one of the dumbest commits that I have seen so far
+ - since 6 was the 'new trade window' update, it and its corresponding
+ reply packet will now be used from now on instead the old version
+2007/11/27
+ * Added safesnprintf to strlib.c/h (bugreport:372) [FlavioJS]
+ * removed login/char server_fd[] arrays, added server[].fd instead
+ * TXT/SQL login server code synchronization [ultramage]
+ - exported several core structures to login.h
+ - split off ladmin communication code from the TXT login server
+ - removed all occurences of login_log(); a unified function should be
+ added when SQL's loginlog_db logging code gets synced with TXT
+ - removed conf setting login_log_filename
+ - fixed ladmin getting timeouts since the ping system was changed
+ * Moved basic max HP/SP calculation to before parsing equipment, fixes
+ negative absolute HP/SP bonuses not working.
+ * Corrected the online_data_cleanup routine setting offline characters that
+ are still connected to the char-server.
+ * Added a check in script command sc_end to properly end infinte endure
+ * ASC_BREAKER no longer triggers status effect cards. [Skotlex]
+ * Fixed fake_nd not being exported correctly and being unloaded when
+ reloading scripts. (probably fixes bugreport:444) [FlavioJS]
+2007/11/26
+ * Normalized makefiles:
+ - 3 sections: variables, public targets, private/support targets
+ - object files always in a *_OBJ variable
+ - header files always in a *_H variable
+ - object files always generated to an obj* subfolder
+ - all Makefiles can be executed individually, calling other makefiles if necessary
+ - generic object targets when possible
+ * Fixed buildin_query_sql using Sql_Query instead of Sql_QueryStr,
+ wrongly processing all %f,%d,... (fixes bureport:218) [FlavioJS]
+ * Fixed guild expulsion not working correctly [ultramage]
+ * Fixed a memory leak in mail_savemessage (src\char_sql\int_mail.c). [FlavioJS]
+2007/11/25
+ * Rev. 11804 Giant Fly Wings are now blocked on noteleport maps and duels. [L0ne_W0lf]
+2007/11/24
+ * Fixed a crash when Slim Pitcher is cast
+ * Fixed a crash when a taekwon hits a wall while Sprinting (bugreport:483)
+ * Added support for latest official client/server packet changes [ultramage]
+ - enable by setting PACKETVER to 9; note that this breaks older clients
+2007/11/23
+ * Changed the status_change structure to use dynamic rather than static
+ memory to hold the individual status changes, this should have a noticeable
+ impact on the server's memory consumption. However, since this is a pretty
+ large update (and I am unable to fully test all possible situations
+ relating to status changes), watch out for any bugs. [Skotlex]
+2007/11/22
+ * Moved the reset of references to after the empty script checks in
+ parse_script. (fixes bugreport:222 and bugreport:449)
+ * Renamed fakenpcname to setnpcdisplay, fixed and extended it. [FlavioJS]
+ - See doc/script_commands.txt for information on how to use it
+ * Modified mapserver login procedure to make clients from may 2007
+ and newer not crash when entering mapserver (bugreport:468) [ultramage]
+ - this changes PACKETVER to 8, causing incompatibility with old clients
+ - this makes the "Login" hex obsolete; please stop using it as it
+ causes a conflict with this update and may have negative sideeffects
+2007/11/21
+ * Fixed Sql_SetEncoding not setting the encoding of the connection
+ properly. (fixes bugreport:30)
+ * Added backward compatible target 'conf' to the Makefile. [FlavioJS]
+ * Changed Lif's Emergency Avoid to just get a normal skill delay
+ (blocks all skills, cancelled by mapchange / re-summon) instead of
+ getting a persistent block on only this one skill (bugreport:13)
+ * Homunculi now reset their can-act delay on call/resurrect/mapchange
+ (allows bypassing delays by doing rest/call instead of relog) [ultramage]
+2007/11/20
+ * Implemented SL_SUPERNOVICE erasing the death record 1% of the casts.
+ * Implemented current exp being capped to the exp required to level up from
+ the previous level when we are at max level (required for some S. Novice
+ buffs) [Skotlex]
+2007/11/19
+ * Nullpo's disabled on release builds.
+ * Added timestamps to the log of memory leaks.
+ * Moved definition of __func__ to cbasetypes.h.
+ * Configure script updated:
+ - added option to select the memory manager
+ - added option to enable MAPREGSQL
+ - added option to enable DEBUG
+ * common's Makefile deleting svnversion.h on 'clean' target. [FlavioJS]
+2007/11/18
+ * Implemented a small change that was long overdue: Displaying the
+ char-select screen now uses a single SQL query instead of up to 9.
+ [Skotlex]
+ * Replaced jA's way of allocating npc shop data with a simple dynamic
+ array that gets allocated during loading and freed on unload
+ - automatically fixes bugreport:404, which would otherwise require
+ manipulating the npcname_db (the original author didn't, hence the bug)
+ - now a supporting variable 'count' is used for tracking the length
+ instead of an extra dummy entry at the end of the shop list
+ - partially removed the MAX_SHOPITEM restriction (if this was written
+ properly, the system could support an unlimited amount of entries)
+2007/11/17
+ * Removed battle_config.error_log as console_silent already handles this
+ * Made OnTouch zone dimensions be stored as radius instead of diameter
+ - cleaned up some overly complicated area calculations [ultramage]
+2007/11/16
+ * Added 2 new status changes for Life and Regeneration Potions [Zephyrus]
+ - Fixed some items boxes giving wrong tamings.
+ - Fixed another item giving 48 gladius[3]
+ * Added error messages when trying to place objects on invalid map coords
+ * Fixed Divine Protection working against players (bugreport:410)
+2007/11/15
+ * Fixed some homunculus skill offset calculation mistakes (bugreport:363)
+2007/11/14
+ * Fixed skill_castnodex_db.txt not being parsed correctly
+ * Fixed a search&replace typo in skill_db.txt
+ * Added error reporting for invalid rows in skill db files
+ * Added error reporting to buildin_warp when it fails [ultramage]
+2007/11/13
+ * Fixed homunculus skills having unlimited range instead of being
+ capped to view_distance+1 (for details see bugreport:376) [ultramage]
+ * Fixed @addwarp crashing the map server (bugreport:390). [FlavioJS]
+ * The Forget-me-not status now behaves like Decrease AGI [ultramage]
+ - doesn't cancel Impressive Riff, Wind Walker, True Sight (bugreport:187)
+ - additionally, it doesn't cancel Cart Boost
+ * Fixed some bugs on mail system. [Zephyrus]
+ - Added the pc_candrop check (bugreport:305)
+ - Added picklog to mail.
+ - Added INCMDEFRATE status for Mdef potion.
+2007/11/12
+ * Now when job changing to another class tree, status changes from skills
+ that belong to your previous class are cleared. [Skotlex]
+ * Applied Rayce's improvements to the npc script parser [ultramage]
+ * Made on-touch areas work with walking npcs (is somewhat process
+ intensive, but people do not really care about that, do they?) [Skotlex]
+ * Fixed a bug in r11384 letting you bypass requirements for some skills
+2007/11/09
+ * Expanded weapon_type enum with dual-wield constants (bugreport:384)
+ * Replaced several 'int' variables with enums that they represent
+ * Re-worked the login-char-map packet spam mechanism
+ - mapserver no longer sends entire user list to charserver every
+ 10 seconds; similar change done to the char-login connection
+ - user count updates are only sent when the value actually changes
+ instead of servers polling each other every few seconds
+ - the servers now prevent interserver connection timeout explicitly by
+ sending ping/ack packet pairs instead of relying on the usercount
+ polling to do so; keepalive is sent every 'stall_time'-2 seconds
+ * Fixed socket.c checking time() incorrectly (bugreport:394) [ultramage]
+ * Added a database iterator to db.c/db.h. [FlavioJS]
+2007/11/08
+ * Changed EXIT_SUCCESS back to 0 in console.c to avoid an unnecessary include.
+ * Fixed gm_account_db not being deallocated in login-converter.c.
+ * Refactoring names and documentation in db.h/db.c: [FlavioJS]
+ - changed 'struct dbt' to 'struct DBMap' and 'DB' to 'DBMap*'
+ - changed 'struct db' to 'struct DBMap_impl' and 'DB_impl' to 'DBMap_impl*'
+ - changed COUNT to DB_COUNTSTAT and made it's existence not depend on DB_ENABLE_STATS
+ - removed some @see links and corrected small typos in the documentation
+ * Fixed a glitch where all packets immediately after the map->char
+ login packet would get discarded and the mapserver disconnected
+ * Synced charserver char creation creation code [ultramage]
+ - removed most of the creation failure messages printed to console
+ - fixed sql charserver letting you use control chars in char names
+ - new chars will not start with the 'Knife' and 'Cotton Shirt' equipped
+ anymore (charserver blindly placed magic values into the equip field)
+ * Updated configure script: [FlavioJS]
+ - small correction to the help text of --with-mysql and --with-pcre
+ - added the -Wno-switch compiler option to suppress the
+ "enumeration value '%s' not handled in switch" warnings
+ * Added a new setting 'guild_skill_relog_delay' to activate the guild skills delay
+ on Guild Master relog. [Zephyrus]
+2007/11/07
+ * Some updates on the mail system packets [Zephyrus]
+ - Corrected the mail database structure on main.sql
+ - Added separated packets for get and set attachment on mail system.
+2007/11/06
+ * Fixed a crash caused by a mistake in the previous change
+2007/11/05
+ * Changed skill db loading code to work similarly to how itemdb/mobdb
+ is loaded (generic file loader + specialized function to process rows)
+ - all skill db files are now checked for inconsistencies the same way
+ * Corrected the max. allowed skill name length, and optimized code that
+ works with skill names according to latest changes [ultramage]
+ * Reverted official drop rate estimation [Playtester]
+ - although it really exists we don't have enough information about it
+ - if server owners really want it they can implement it themselves
+ (it's just a one-line fix anyways)
+ * Cleaned up skill db lookup code
+ - added some well-behaved functions to replace macros (skill_get_index)
+ - used skill_get_index() to replace often occuring blocks of code
+ that did the skill_id -> skilldb_index calculation in-line
+ * Corrected skill db loading code which was using a totally wrong
+ column count in sevreal cases (or didn't do any checks at all)
+ * Changed the skill_db.txt skill names in comments into actual columns,
+ now the server reads these instead of a hardcoded array [ultramage]
+2007/11/04
+ * Implemented official drop rate estimation [Playtester]
+ - estimation is rounded on 2 positions after decimal point
+ - this will effectively raise drop rates below 10% by 0.01%
+2007/11/03
+ * Added jA script function 'strnpcinfo', for increased npc awareness
+2007/11/02
+ * Fixed one wrong return value in buildin_getcharid (bugreport:33)
+ * Removed the big list of BUILDIN_FUNC() declarations in script.c,
+ as they are not needed anymore and no code utilizes them
+ * Moved the BUILDIN_DEF() block to the end of script.c [ultramage]
+ * Modified trap related code so it behaves as explained by Playtester:
+ Traps trigger on everyone in their 'effect range' (skill_db's splash) for
+ every target that lies within its trigger range at trigger time (range and
+ interval in the skill_unit_db). [Skotlex]
+2007/11/01
+ * Removed code that queues OnAgitEliminate after the Emperium is broken,
+ this is now done properly by the gvg script instead [ultramage]
+ - if you have any extra castles, update your scripts accordingly
+2007/10/31
+ * Added names to the SC_ and SI_ enums, now they can be used to properly
+ indicate where such values are to be used (replaces usage of 'int')
+ * removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
+ * removed support for @go-ing to your memo points
+ * simplified the overly verbose @memo command; now re-uses pc_memo()
+ * cleaned up pc_memo(), now uses semi-correct packet replies
+ * Minor code cleaning/formatting [ultramage]
+ * Updated several mapflags - 'nomemo' 'noteleport' 'nosave' 'nowarpto'
+ 'restricted' - due to Izlude Battle Arena release. [SinSloth]
+ - Updated 'item_noequip' and 'skill_nocast_db' to match with 'restricted' mapflags.
+2007/10/29
+ * Updated the mail db structure on main.sql [Zephyrus]
+ * Makefile creating the conf/import forder. [FlavioJS]
+ * command code cleaning (refer to topic:169759) [ultramage]
+ - separated the execution part of command code into interface part
+ and internal part to better see which checks are done and when
+ (fixes problem where 'nocommand' mapflag blocked server npcs)
+ - moved the internal commands list (array) to the end of the file,
+ this let me discard that long block of ACMD_FUNC() declarations
+ - removed enum AtCommandType from command headers and commands array;
+ its purpose was perhaps to identify aliased commands, but apparently
+ it was never finished because the rest of the code doesn't use it
+ (also doing aliases like this is not a very good idea)
+ - internally, commands are now referenced to using their function name
+ - removed the @/# symbols from the command lists; all lookup functions
+ will now properly deal with strings with- and without a command symbol
+ (commands interface still requires the symbol tho', so TODO for later)
+ - removed several unneeded commands (*id2 code, dmalloc debug commands)
+ - reverted atcommand config from alphabetically-sorted to how it was
+ before (with additional fixes; see /conf changelog)
+ - added missing code for #dropall / #storeall
+ - added a warning when trying to set gm level of an undefined command
+ * The structure of the commands table has changed, please adjust
+ docs/guides to match the new format (sorry for the inconvenience)
+2007/10/28
+ * Minor adjustment to take into account the end of line.
+ * Fixed the line count in the new error message of npc_parse_function.
+ * Restricted more the parsing of npc code. (fixes bugreport:317) [FlavioJS]
+ * Fixed a bug sending on the attachment message [Zephyrus]
+2007/10/27
+ * Fixed a typo in r11505 messing up the 'npcmove' command
+ * Removed 'petid', a command from r284 to look up pet ids by name
+ * Fixed TXT charserver doing periodic random-sized alloc (bugreport:312)
+ * Set 'Create Converter's produce success rate to 100% (bugreport:302)
+ * Added check that verifies weapon/ammo/state requirements also when
+ casting finishes (might have unwanted side-effects!) (bugreport:228)
+ * Fixed Firewall knocking back undead/fire element mobs (bug in r11578)
+ * Added dummy 'openmail' to txt server to fix a script error message
+ * Improvements/fixes to the mail system improvements :) [ultramage]
+ * Improvements to the mail system. Need Testing, [Zephyrus]
+2007/10/26
+ * Moved the new novending cell check from the internal code to the
+ client-server interface (allows server to force-open shop if needed)
+ * Removed confusing map_nick2sd_nocase(), let the charserver handle it
+ * Added correct packet for attachment retrieval failure when overweight
+ * Fixed one more mistake in r11571 (Sql->SqlStmt) [ultramage]
+ * Removed the config setting firewall_hits_on_undead setting, Firewall and
+ kaensin now automatically calculate the number of hits they should do per
+ iteration based on the skill trigger frequency (you may want to raise that
+ delay of 1ms in the db, though). [Skotlex]
+2007/10/24
+ * Corrected a fex misshaps from r11571:
+ - disabling the memory manager
+ - using the wrong length for the title and body in mail_savemessage
+ * Removed the quick-fix in the npc duplicate check and the impossible condition
+ that is generating the warning. [FlavioJS]
+ * @/#jobchange no longer strips your equipment since pc_jobchange removes
+ any unequippables already.
+ * Removed the wasteful define MAX_PC_CLASS and replaced it by the
+ CLASS_COUNT define + pc_class2idx function. This should save a bunch of
+ memory from the map server.
+ * Merged the CELL_NOVENDING code (see topic #129209) [Skotlex]
+ * Increased the max. send buffer size to 5M since 1M is not enough
+ * Updated vs7 and vs6 project files
+ * Added upgrade_svn11548.sql to convert the mail table to new format
+ * Cleaned up the mail code, no more pointless dynamic allocation
+ * Cleaned up some messy guild code (more to come) [ultramage]
+2007/10/23
+ * Fixed a compilation bug on linux (FALSE -> false) [Zephyrus]
+2007/10/22
+ * Heat isn't supposed to consume SP when used against players [Playtester]
+ - please report if it still consumes SP in pvp
+ * Added the new mail system implementation (Requires more test and
+ optimizations) [Zephyrus]
+ - Updated the mail DB structure.
+ * Removed some mail config settings and atcommands not required anymore.
+ - Added documentation for script commands: openmail and homshuffle.
+2007/10/21
+ * Fixed a small mistake in r11503 causing a fatal error&exit on unix
+ when you try to do a graceful exit (by ctrl+c for example) [ultramage]
+ * Removed SC_INCAGIRATE/SC_INCDEXRATE as they are not used anymore.
+ * Added SC_INCASPDRATE, SC_INCFLEE2, SC_INCCRI, SC_INCDEF, SC_INCBASEATK
+ and SC_FASTCAST as these are required by the newer items. [Skotlex]
+2007/10/20
+ * Fixed 'unequip' removing items in the wrong position (bugreport:252)
+ * Fixed #refine unequpping the caller's item by mistake (bugreport:265)
+ * Fixed a nasty bug from r11410 which let people create chars with
+ already taken char names, and (in TXT's case) even cause a crash.
+ - Bug was a variable name collision between the total number of chars
+ and a char's slot number (both were called 'char_num'). [ultramage]
+ * Some more updates to the skill unit code [Playtester]
+ - renamed SKILLUNITTIMER_INVERVAL to SKILLUNITTIMER_INTERVAL
+ - Heat now depends on the interval settings rather than firewall_hits_on_undead
+ - Icewall doesn't break anymore when the SKILLUNITTIMER_INTERVAL gets changed
+2007/10/19
+ * Added bonusautoscript and bonusautoscript2. These are used to attach a
+ script to a player which gets executed on attack (or when attacked). This
+ is very similar to the autospell bonuses, except that a script is executed
+ instead of a spell. See doc/script_commands for indepth description and
+ usage. NOTE that I am unable to test ingame, and even though I proofread
+ the code it could have bugs. Feel free to test and report. [Skotlex]
+ * Applied some cleanups that should correct "Infinite Endure" ending
+ sometimes. [Skotlex]
+2007/10/18
+ * Rev. 11516 Uncommented the showwarning and showdebug from 11508. [L0ne_W0lf]
+ * Fixed the incorrect map names on the debug messages (mapid->mapindex
+ mishap from r11508).
+ * Fixed the incorrect reporting of npc names being too long when the the
+ length is 24 (from r11508). [FlavioJS]
+ * Rev. 11511 Commented out ShowWarning and ShowDebug messages added [L0ne_W0lf]
+ in revision 11508. Aside from the ShowDebug being faulty, they
+ are both fare too annoying for public use for the time being.
+ If/when I get the NPC names fixed, we can add it back.
+ * Further optimization of the skill unit code [Playtester]
+ - removed code for Crimson Fire Formation it now uses the same code as Fire Wall
+ - added same knockback behavior as Fire Wall for Fire Formation
+ - Heat now does 50 hits a second in pvp too
+ - please let me know of any bugs that might appear
+ * Optimized the skill unit code [Playtester]
+ - reverted the unit timer interval to 100ms to save CPU usage
+ - rewrote the unit code of Fire Wall, Fire Formation and Heat so that they hit
+ every 20ms if the target wasn't knocked back despite of the unit timer interval
+ - Heat now does 15 SP damage to players instead of 60 per hit
+ - optimized memory usage
+ - TODO: Renaming or removing firewall_hits_on_undead config
+ * Clarified how npc names work in script_commands.txt.
+ * Fixed a forgotten "return 0;" that stopped the parsing of the file
+ after the first "script" of the file is parsed sucessfully (caused by r11502).
+ * Applied the same parsing and restrictions of npc names to warps, duplicates
+ and shops (other code expects unique names for them too). [FlavioJS]
+ * Applied the new checking function to clif code, this fixes various
+ length mismatches caused by incomplete code in r11386
+ * Added clif_process_message(), an unified way to validate all four
+ types of player message packets and retrieve their components
+ * Removed the requirement to provide a character name in the message
+ string when calling is_atcommand() (needed for the previous fix)
+ - currently both ways work, but old will be removed in the upcoming
+ command cleanup so please adjust your custom code if you use this!
+ * Merged improved/cleaned up (WiP) code for clif_parse_WisMessage
+ * Removed commented-out code for check_fake_id() [ultramage]
+2007/10/17
+ * Removed outdated copyright and version number from startup logo
+ * Removed socket code that attempts to cope with code bugs at runtime
+ * client_addr will now be properly set to 0 for server connections
+ * Fixed subnet check message displaying incorrect ip addresses
+ * Merged do_sendrecv() and do_parse() into do_sockets() [ultramage]
+ * Reworked the parsing at npc.c.
+ - Fixes npc.c discarding the '}' at the end of file, when there is no
+ newline. (uncovered as a side-effect of r11487)
+ * Empty script functions always have code now (won't report as missing
+ when you try to call them).
+ * Changed userfunc_db to not limit the name to 50 characters. [FlavioJS]
+ * Ground skill now can trigger every 20ms [Playtester]
+ - Firewall, Fire Formation and Heat now can do 50 hits a second
+ - this was proven to be official behavior, but it will raise CPU usage
+ * small timer.c cleaning
+ - removed "with less than 4 values, it's speedier to use a simple loop"
+ as this case will never occur (premature optimization from r1284)
+2007/10/16
+ * Venom Splasher fixes according to bugreport:230
+ - added passive skillv*30% bonus from Poison React
+ - added official splash damage calculation - damage gets split by the
+ number of targets at range 1, then applied to all targets in range 2
+ - reverted some very old code - clif_calc_delay() - that was preventing
+ skills from displaying properly, by erroneously assuming that
+ if the target has ddelay 0, it has endure effect activated
+ * Fixed displaying of several splash skills (see bugreport:238)
+ - added flag SD_PREAMBLE for skills that need the 'magic' packet
+ (fixes Grimtooth / Cart Revolution displaying out of sync)
+ - hacked together Venom Splasher's "no animation for central mob"
+ - hacked in a custom packet to make Dragonfear display semi-correctly
+ * Made Venom Splasher a splash attack that distributes damage
+ * Commented out clif_skill_damage2() as it is not used anymore
+ * Fixed a copy-paste mistake in disguise code (from r5833) [ultramage]
+ * Tweaked the loop in parse_script to better handle when the outer
+ brackets aren't checked.
+ * Fixed a typo in skip_space that stopped skipping characters when it
+ encountered a '*' or '/' in a block comment. [FlavioJS]
+2007/10/15
+ * Fixed NPC_CRITICALWOUND to reduce heal by 20% per level [Playtester]
+ * Fixing TK Mission asigning non spawning mobs. [Zephyrus]
+ * Updated the item price/sell reading code to enable 'null' values. The
+ difference between a blank value and 0 is that when the value is blank, it
+ should automatically take half/double the other value. The previous
+ behaviour did this automatically and didn't let you specify, for example,
+ if you wanted a given item to sell for 0.
+ * Also added a warning when an item in the db has an exploitable price
+ (through overcharge/discount). [Skotlex]
+2007/10/14
+ * Rev. 11476 Implemented new skill "Enlarge Weight Limit R", [L0ne_W0lf]
+ and increased MAX_SKILL_TREE by 1.
+ * Fixed charsrever crashes, caused by r11410 [ultramage]
+2007/10/13
+ * Fixed up NPC_POWERUP and NPC_AGIUP [Playtester]
+ - NPC_POWERUP: 3x ATK and 2x HIT for 10+5*level seconds
+ - NPC_AGIUP: 2x MOVE and 2x FLEE for 10+5*level seconds
+ * Some further changes to the delayfix function [Playtester]
+ - aftercast delay is at least amotion no matter what skill
+ (this includes skills with cast time AND skills with skill delay!)
+ - aftercast delay reductions can NEVER reduce the aftercast delay below amotion
+ (this includes Bragi and Soul Links)
+ * Again modified the delayfix function to reflect the current skill delay
+ knowledge. Skills with 0 delay use amotion always (regardless of cast
+ times) [Skotlex]
+2007/10/12
+ * Further updates to skill_delayfix function [Playtester]
+ - aftercast delay can never be lower than amotion
+ - please report if this broke any skills
+ * Fixed wrong index calculation in TXT char creation code (ref: r11410)
+ * Fixed SQL itemdb loading crash on NULL column (ref: 11398) [ultramage]
+ * Updated the skill_delayfix function to behave as recently discovered by
+ Tharis: Skills with no delay set will use amotion ONLY if the skill was
+ instant-casted. [Skotlex]
+ * Fixed Bragi's aftercast delay reduction [Playtester]
+2007/10/10
+ * Fixed itemdb_read_sqldb blowing up the server with segmentation faults.
+ * Added an option for parse_script to ignore the checks for the set of
+ brackets around the script. [FlavioJS]
+ * Implemented more official Warp Portal behavior
+ - the transition from active to waiting mode is now done as a simple
+ appearance change instead of deleting one and creating the other
+ - due to the above, an opening warp is now properly accompanied by
+ the log-in like sound effect
+ - Removed the check that prevented Warp Portal from opening after you
+ picked the destination, if there was someone blocking the cell
+ * Re-enabled packet 0x1ac to be sent when something gets ankle-snared
+ * Partially removed the usage of 'flags' to direct the execution path
+ in skill unit code (some people seem to really like flags >_>)
+ - wiped out r8478 and its multiple levels of useless flag propagation
+ - skill_unit_onlimit (expiration) no longer executes in skill_delunit
+ - added skill_unit_ondelete for proper handling of this event
+ * Removed 'into_abyss' effect on traps; tests show that it works ONLY
+ for Gemstones (tho' iRO website claims otherwise) - bugreport:171
+ - corrected code that was exploiting the flag as an 'expired' trap flag
+ (replaced it with a more jAthena-ish approach)
+ * Fixed a messup in r11347 causing skill units to expire, trigger
+ or not trigger, completely randomly
+2007/10/09
+ * Added upgrade_svn11388.sql to correct some log column widths
+ * Corrected string lengths according to bugreport:198 [ultramage]
+ - CHATBOX_SIZE: 70 -> 70+1
+ - removed some too aggressive checks in clif_parse_globalmessage()
+ - removed CHAT_SIZE define as it actually doesn't apply anywhere
+ - added CHAT_SIZE_MAX to serve as a custom limit to input string lengths
+2007/10/08
+ * Delayed the check for required items when a skill is cast to when they
+ are consumed. Now skills only fail due to lack of items after being cast.
+ - Please make a bug report if you know of any skill that doesn't work
+ like this in official.
+ * Fixed hp of other party members not being sent when you join a party.
+ * Removed unused global array names_id and renamed some structures that
+ are used with variables of the same name. [FlavioJS]
+2007/10/07
+ * Fixed a bug on sql char server not checking the namelength of a new
+ character. Bug ID #184: Char Creation With An Empty Name [Zephyrus]
+2007/10/06
+ * the mapserver won't exit when no mapcache is found, with use_grf: yes
+ * Fixed some \r uses, now looks better; /thx to Ai4rei (topic:165952)
+ * Removed that ridiculous spinner that displays during map/npc loading
+ - and added a more informative progress indicator (idea from jA/eapp)
+ * Removed loads of code that supported these functions
+ - -230b per npc => -3MB of wasted memory
+ * Fixed related npcs that erroneously used 'stoptimer'
+ * Checked/fixed/removed some old script and npc commands
+ + cmdothernpc
+ - a specialized 'donpcevent' with the event specified as two arguments
+ + enablearena/disablearena
+ - completely equivalent to enablewaitingroomevent & co.
+ - do we need these 'synonyms' ?
+ + inittimer/stoptimer
+ - removed since its logic was incompatible with the code it depended on
+2007/10/05
+ * REALLY fixed emblem not displaying when a char logs in
+ (compromise between r10624 and r11033 that hopefully works)
+ * Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)
+ * Removed a broken remnant of code from old gospel code (r4349) that's
+ _supposed_ to clear the gospel status (no item use?) when you step
+ out of its zone; 1) the constant UNT_GOSPEL was used in a switch()
+ instead of PA_GOSPEL (thus actually ending 'NPC_STUNATTACK' status),
+ and 2) this code path is never taken, because Gospel is not recorded
+ in skill_unit_temp[] (it has a periodic timer and is not DUALMODE)
+ * Now the first empty spot in the 'skill_unit_temp' array will be used
+ when tracking movement between land skills; reduced its length to 20
+ * Fixed the skill unit mechanism that is supposed to track whether
+ you're still standing in a certain land skill's AoE or not, which
+ was not working correctly since the time it was added (r3133)
+ - solves the nasty problem of Loki, Quagmire, ... status not ending
+ even after stepping out of it in some cases, if there was another
+ song overlapping the skill's area (fixes bugreport:34) [ultramage]
+2007/10/04
+ * Completed the SC_LIFEINSURANCE status and it's status icon. [Zephyrus]
+ - Updated Item_db.txt.
+ * Added SC_EXPBOOST (Field Manual), SC_ITEMBOOST (Bubble Gum) to const.txt.
+ Allready working [Zephyrus]
+ - Added SC_LIFEINSURANCE and SC_BOSSMAPINFO (not implemented)
+ - Updated Field Manual and Bubble Gum in the itemdb.txt file.
+ - As L0ne Wolf reported to me and based on Doddler information, the Bubble Gum
+ only do a second try of the item drop, and it don't increase the drop rates.
+ * Fixed a mistake in r10919 messing up logged values (bugreport:167)
+ * Added code that compacts the vending list after a purchase; fixes
+ the problem with empty positions appearing in the list (bugreport:168)
+ * Corrected Icewall skill to be closer to official behavior
+ - now works on occupied squares (previously it disappeared)
+ - now you can walk out of an icewall square (removed code that blocked
+ pathfinding if the origin cell was of a nonwalkable type)
+ - added back the hack where mapcell changes are broadcast to whole map
+ (prevents client from leaving the cells non-walkable if you warp away)
+ * Removed integer mob skill state/target definition support (unused)
+ * Added script source error reporting to countitem() (topic:167165)
+ * Fixed a compile problem when hotkey saving is disabled (topic:167265)
+ * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define [ultramage]
+2007/10/03
+ * Added the code for Bubble Gum (SC_BONUSDROP) and Field Manual
+ (SC_BONUSEXP). items updated as it supose to work. [zephyrus]
+ * Cleaned up parts of skill.c related to skill units [ultramage]
+ - removed some nonsense code in skill_dance_switch() (from r8876)
+ - removed 'security system to prevent forgetting timer removal' (r1213)
+ - renamed some skill-related data structs (had same name as variables)
+ - commented out custom Venom Splasher countdown messaging code
+ * Bosses now can use teleport on Land Protector [Playtester]
+ - Moved the homunculus shuffle code to mercenary.c, fixing the bug in the
+ atcommand not using the bonus evolution stats for homunculus.
+ - Adding a new script command "homshuffle" to fix homunculus using NPCs.
+2007/10/01
+ * Fixed various trading/vending glitches [ultramage]
+ - fixed vending_tax not working at all (integer division in r10182)
+ - undid change from r8273 where pc_getzeny() treated zeny overflow as
+ an error condition; officially, the value is just bounded to MAX_ZENY
+ (this fixes stuff like shops that you can't buy items from).
+ - fixed stupid code that, instead of properly checking and filtering
+ invalid items during shop setup, opted to 'hide' these items from
+ the vending list instead...
+ - removed some custom error message packets related to vending
+ - fixed a glitch where the server would open a shop with no items
+ when all entered items were tagged as invalid
+ - split zeny handling from trade_tradeadditem() into a separate func
+ - removed loads of redundant code from vending.c
+2007/09/30
+ * Removed redundant 'subnet' s_subnet structure variable. [ultramage]
+2007/09/28
+ * Changed back the query to get the friends of a character to a LEFT JOIN.
+ * Setting the item script variables to NULL when they are freed. (bugreport:142 ?)
+ (a double @reloaditemdb might result in a double free) [FlavioJS]
+ * Rev. 11325 Corrected Summer Outfit not included as a PC class. (Zephyrus_CR) [L0ne_W0lf]
+ * Rev. 11321 Implemented Summer Outfit care of Zephyrus_CR. [L0ne_W0lf]
+ - Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation
+ of the 12.1 Guild Castles.
+ * Fixed sql target not including the save target in the Makefile, needed
+ by the map server for save/mapreg.txt. (bugreport:131) [FlavioJS]
+2007/09/27
+ * Loot code using charid's instead of id's in pick priority.
+ * configure script using svn:eol-style LF and require mysql/pcre when
+ --with-mysql/pcre is used.
+ * Reimplemented mmo_char_fromsql using sql statements. (fixes bugreport:93)
+ * Fixed buildin_gethominfo not being included in the script engine. (bugreport:124)
+ * homunculus_evolution -> homevolution in script_commands.txt.
+ * Deleted item DEFAULT from item_db.txt and regenerated item_db.sql. (bugreport:103)
+ * Skip empty lines and give more feedback (for invalid lines) when reading
+ item_db.txt/item_db2.txt. [FlavioJS]
+2007/09/26
+ * Rev. 11307 Implemented Token of Siegfried effect care of Zephyrus_CR. [L0ne_W0lf]
+2007/09/25
+ * Modified a bit the hard/lazy ai triggers to match aegis (you can alter
+ these changing the defines near the beginning of mob.c):
+ - Mobs go into active AI when they are 2 cells from entering a player's
+ view (ACTIVE_AI_RANGE)
+ - Mobs in passive AI no longer use skills.
+ - Mobs in passive AI do not random walk UNLESS they have entered active AI
+ before (random walk frequency is not lost during passive AI).
+ * Added an additional check to prevent support skills from being blocked if
+ the target has an armor element that blocks it. [Skotlex]
+ * Fixed the double free's caused by r11290 (wrong option in the database
+ constructors). [FlavioJS]
+ * Corrected being able to cast multiple Gravitation Fields before the
+ previous one is cancelled. [Skotlex]
+ * Disabled tick cache (to enable it: define TICK_CACHE to the number of
+ calls that should be cached).
+ * Added a charid2sd database for fast charid searches.
+ * Reworked the nick cache to only contain offline characters. [FlavioJS]
+2007/09/24
+ * Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
+ * Updated the 'skills that cause no damage are blocked now if the skill
+ element is blocked by the target' to only apply if the skill has a status
+ change associated (fixes Resurrection/Heal being blocked).
+ * Added a warning to prevent loading mobs with IDs that belong to the clone
+ range. [Skotlex]
+ * Limited manual detection of data truncation to string/enum/blob columns.
+ * Renamed conf-tmpl to conf. [FlavioJS]
+2007/09/23
+ * Added flag svn:executable to the configure script.
+ * Added code for MySQL versions (below 5.0) that don't have
+ MYSQL_DATA_TRUNCATED.
+ * map_addflooritem and struct item_drop_list using id's instead of
+ struct map_session_data's (fixes bugreport:36).
+ * Fixed buildin_escape_sql not properly escaping in sql servers. [FlavioJS]
+2007/09/22
+ * Fixed a severe bug in inventory saving code (caused by r11192)
+ * Applied changes to clif_parse_globalmessage() from my WiP code
+ - clearer processing of the individual packet components
+ - proper code ordering, some more integrity checks
+ - fixes to some poorly chosen ShowWarning() format strings
+ - global chat logging no longer logs the entire string (w/ player name)
+ * Fixed global chat logging always crashing on a null pointer
+ * Added 'safestrnlen' to prevent null pointer crashes [ultramage]
+ * Updated sql files [Playtester]
+ * Added a sanity check for MAX_ZENY (doesn't compile if too big).
+ * Redid the buildin_query_sql function. (fixes bugreport:81). [FlavioJS]
+2007/09/21
+ * itemdb.c/h using a static array of 32k struct item_data* entries (faster
+ itemdb loockup and a first step to remove map_session_data->inventory_data).
+ * Fixed a typo in the configure script that replaced CFLAGS with CPPFLAGS
+ when -Wno-pointer-sign is supported by the compiler. [FlavioJS]
+ * Fixed a typo in the status-change saving code (wrong variable used)
+ * Fixed a case of bad sql code conversion breaking homun skill loading
+ * Corrected skill Charge Attack as described in bugreport:67 [ultramage]
+ - cast time is between 100% and 300% (+ infinite waiting fixed)
+ - damage is also between 100% and 300% (doesn't increase past range 9)
+ - added knockback that's equal to the distance to target
+ - no longer causes teleportation on WoE grounds
+ - if target runs behind an obstacle, the skill will still teleport you,
+ but will not perform the attack or do knockback
+ - this should be official behavior, so enjoy the weirdness!
+ * Makefile deleting .svn in save folder.
+ * Limited the number of packets parsed per cycle to 3.
+ * Fixed sql login throwing an out-of-place debug message and escaping too
+ much of the name string when creating a new login with _M/F.
+ * Configure script detects 64bit distributions of MySQL.
+ * Generated the configure script with cygwin's autoconf. [FlavioJS]
+2007/09/20
+ * Merged the tmpsql branch: [FlavioJS]
+ - Abstraction for the sql code (sql.c/h).
+ - New configure script and makefiles.
+ - Restored txt zeny logging code. (r10814)
+ - Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
+ - Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
+ - Improved db reading code a bit for consistency. (r11077)
+ - Added separate atcommand for mail deletion. (r11077)
+ - Corrected a few messages that said "new" instead of "unread". (r11077)
+ - Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
+ - Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
+ - Some misc login server cleanups (reformatting etc). (r11136)
+ - Corrected/modified some header entries. (r11141 r11147 11148)
+ - Adjusted VS project files. (r11147)
+ - Adjusted the way the sql charserver does item saving. (r11192)
+ - Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
+2007/09/17
+ * Several skills with a splash area (except ground based ones) will now hit
+ Ice-walls when casted by mobs.
+ * Cleaned up and fixed monster_ai&0x40 (chase through warps). It works
+ correctly now regardless of the number of players on the source/destination
+ maps.
+ * Updated sql files [Playtester]
+ * Applied various crash-protections to script commands that deal with the
+ equip-position array.
+ * Corrected and simplified the skill_magic_reflect function. Fixed damage
+ reflection being based on the caster rather than the target.
+ * Potions are now usable inside Gospel by the casting Paladin (as per Aegis
+ tests done by AuronX)
+2007/09/14
+ * Some changes brought up by AuronX (see topics 160295 and 149176):
+ * Gravitional Field is now a MISC type of attack.
+ * Magic reflection now effectively switches the caster/target (after damage
+ has been calculated). Moved magic return and Magic Mirror code together
+ with Kaite.
+ * Now when GTB completely blocks a spell, the spell animation will still
+ come off, but with a single bolt and MISS damage.
+ * Removed hom_setting&0x2 since Homunculus can be hit by land spells.
+ * Monster Property now gives a Skill Failed message when attempted on
+ players.
+2007/09/13
+ * Corrected SG Miracle to trigger per attack, not per walked tile. Trigger
+ rate is now 0.02%
+ * Corrected the warmth skills not clearing up correctly the previous field
+ when you place another one down.
+ * Corrected vit not affecting the HP bonus that Super Novices, Ninjas and
+ Gunslingers get. [Skotlex]
+2007/09/12
+ * Fixed a typo in r11179 causing party invitation to fail
+ * Added SI_STEELBODY properly (value from packet capture) [ultramage]
+2007/09/10
+ * Corrected /invite letting you invite people even if you are not the party
+ leader.
+ * Added some reply messages when you try /invite and a. the character is
+ not found or b. you are not the party leader.
+ * Added a check so that the 'save on crash' routine won't get stuck if it
+ happens to crash while attempting to save characters.
+ * People in chat-rooms no longer receive @main messages. [Skotlex]
+2007/09/10
+ * Added a safeguard to skill_get_unit_layout() against incorrectly
+ defined layout ids (will give weird results but won't crash at least)
+ * Fixed Firewall/Icewall being oriented backwards (no real difference..)
+ * Removed some junk Landprotector/Graffiti code
+ - Graffiti doesn't get placed randomly anymore
+ * Icewall can now be cast on yourself
+ - TODO: for some reason, the cell on yourself immediately expires...
+ * Merged together functions clif_set0192() and clif_changemapcell()
+ - also removed its "send to whole map" mode which is just plain wrong
+ (although aegis actually does use it to 'inform' caster about changes)
+ * Added config option to adjust exp gained by 'getexp' [ultramage]
+2007/09/09
+ * Removed bonus bAddEffWhenHitShort as it is unneeded and unused.
+ * Corrected getpetinfo so it actually returns "null" when there's no pet
+ and you request the name (the docs state it so).
+ * Added gethominfo (which behaves in the same way as getpetinfo).
+ * Corrected bonus3 bAutoSpell(WhenHit) to select target enemy (rather than
+ self) for skills with inf self and inf2 'don't target self' (aka:
+ auto-select target skills).
+ * Corrected map_foreachinpath to do a wall check for targets beyond the
+ initially selected tile.
+2007/09/09
+ * Modified bonus3 bAddEff/bAddEffWhenHit so that the last parameter is now
+ passed directly as "trigger" flag. The possible trigger values are
+ ATF_LONG, ATF_SHORT, ATF_TARGET, ATF_SELF. Explanation added to
+ doc/item_bonus.txt [Skotlex]
+ * Updated sql files [Playtester]
+2007/09/08
+ * Adjusted a spot that still blocked GL's skills on login [ultramage]
+2007/09/07
+ * Added support for the new party invite/reply packets from the latest
+ client version.
+ * Added auto-rejecting party/guild invites when the target is disconnected
+ from the server.
+ * Changed the default @Main format to prevent crashes in the newer
+ clients.
+2007/09/04
+ * bonus3 autospell (and autospell when hit) will now select for spell
+ target self when the skill is tagged a support skill.
+ * Increased the amount of autospells that can be held at a time from 10 to
+ 15
+ * Changed the "autocasted strip skills don't have a duration" to apply only
+ to Full Strip.
+ * Magic Mirror's duration now is reduced /15 when used on players.
+ * Removed bonus bAddDamageByClass since it is not needed, and implemented
+ bAddDefClass which can be used for the same purpose (but previously was
+ doing nothing).
+2007/09/03
+ * Added bonuses bSPRegenRate, bHPRegenRate. They behave like the opposite
+ of bHPLossRate/bSPLossRate, making you gain x Hp/Sp every y ms.
+ * Added bonus bIgnoreMdefRate, used to ignore a % of the target's mdef when
+ using magic attacks (bonus2 will ignore part of the mdef of all targets,
+ bonus3 receives a race argument)
+ * You can now use bonus2 bCastRate to adjust the cast rate of a single
+ skill.
+ * Cleaned the code for bleeding (hp-loss) and extended it to handle regen
+ as well.
+ * Some small cleanups in the pc_bonus functions.
+ * Removed bonus3 bHpLossRate since it was doing nothing and is not used.
+ * Corrected bGetZeny bonus to be like in Aegis. The amount received is from
+ 1 to the given amount, you can use negative zeny values to use an amount
+ dependant on mob's level (amount*lv).
+ * Updated doc/item_bonus.txt with all these changes.
+ * Anti-Magic/Stone-Skin now increase/decrease def/mdef only and in an
+ absolute mode (+20*lv rather than +20%*lv). Also the duration is greatly
+ decreased (x/15) when used on players.
+ * Now when a player uses a strip skill without having it in the skill tree
+ (auto-casted) the duration will be 0, the equipment will be stripped
+ without causing the status change that blocks reequipping.
+2007/09/02
+ * Added @whereis command (displays normal spawn maps for given mobs).
+ Defaults to a lv10 command. [Skotlex]
+ * Updated Refined Sakkat Box to give only 1 Sakkat instead of 10. [Paradox924X]
+2007/08/31
+ * Added some comments to clif_changechatowner()
+ - totally broken, see the code + topic:163829
+ * Implemented the chatroom display packet properly
+ - now has 4 types: public, private, npc and non-clickable npc chatroom
+ * Implemented the chatroom leave packet properly
+ - now utilizes the 'kicked' flag when the user was forced to leave
+ - TODO: banlist support to prevent re-entry, see jAthena code
+ * Documented/cleaned up chatroom code and packetry [ultramage]
+2007/08/30
+ * Updated sql files [Playtester]
+2007/08/29
+ * Added bonus bSkillHeal to distinguish offensive skill damage increases
+ from healing power boosts.
+ * Moved battle_skillatk_bonus to pc.c, cleaned up the related skillatk
+ bonus code to consider the skillheal bonus option. [Skotlex]
+2007/08/23
+ * Updated athena-start & start to Shazeya's hack. Please test them! [DracoRPG]
+ - Simplest way is to run ./start that is equivalent to Windows runserver_sql.bat
+ - To run TXT instead, edit the beginning of athena-start with proper filenames
+2007/08/22
+ * Fixed Dragon Fear's status change selection and duration.
+ * Fixed Metamorphosis not displaying a speed-change update on the client.
+ * Status changes that were blocked by element are no longer blocked,
+ instead, now no-damage skills are blocked if they have an element which is
+ absorbed by the target (This is the behaviour that Tharis believes is
+ correct). [Skotlex]
+2007/08/19
+ * Set proper limits to drop rates, prevents int overflow during calc
+ * Cleaned/clarified some #include relationships between headers
+ - TODO: pc_read_gm_account() still accessses the RFIFO directly!
+ * Again removed the IG_ list from itemdb.h (see r10100 and r10113)
+2007/08/18
+ * Fixed a deallocation mistake and some buffer overflows in npc_chat.c
+ after doing rtfm@pcre.txt (all caused by incorrect usage of pcre api)
+ * Removed underscores in npc_chat.c's variable names (easier to read)
+ * Moved npc pcre-data deallocation from npc_remove_map to npc_unload
+2007/08/17
+ * Implemented the official dual-wield aspd equation [ultramage]
+ - using 0.7 instead of 0.66 as modifier (so aspd will be lower now)
+ - see topic:151132 for details
+2007/08/16
+ * Fixed eAthena's wrong interpretation of the respawn times [Playtester]
+ * Added icons for NPC_CRITICALWOUND and NPC_SLOWCAST [Playtester]
+ * Fixed npc chatrooms not being deleted on npc unload/reload (crash)
+ * Modified chat code a bit for more clarity [ultramage]
+ - replaced double-indirection on 'owner' with a normal pointer
+ - separated some common functionality to 'chat_createchat()'
+2007/08/15
+ * Merged and completed Latio's work on server-side hot-key saving
+ (http://www.eathena.ws/board/index.php?s=&showtopic=159388&view=findpost&p=884453):
+ Now hotkeys are stored server-side (table hotkey in SQL servers, file
+ save/hotkeys.txt for TXT servers). You can disable this behaviour by
+ commenting out the 'HOTKEY_SAVING' define in mmo.h
+ * Apply upgrade_svn11018.sql to create the hotkey table. [Skotlex]
+ * Some serious code cleanups
+ - adjusted @reloadbattleconf to not depend on variable ordering
+ - changed all battle vars to 'int' (removes pointless duplicit coding)
+ - added min, max and default columns to battle config data structure
+ - added properly bounded values for these columns (or at least tried to)
+ - battle-conf loading will now complain if it finds unknown settings,
+ and will reject values that are outside of the allowed range
+ - added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE
+ - partially cleaned up chatroom manipulation code
+2007/08/13
+ * Modified map_foreachinrange so that you can also specify the max length
+ of the path to use. The max_count field in the skill_db is used to specify
+ this range for path-type skills (Sharpshooting, Kamaitachi and the NPC
+ Breath skills.
+ * Implemented the 'new' NPC skills described here:
+ http://ro.doddlercon.com/wiki/index.php?title=Monster_Skills . It is mostly
+ complete, but the new status changes (slow cast, critical wounds, etc)
+ don't have any visual effects yet (icon or opt changes? I don't know if
+ they should have). Also I could not find the unit_id for Evil Land, so it
+ looks just like Sanctuary for now. Apart from those, the only skills which
+ I couldn't get to display properly are the Breath skills (with the
+ exception of Fire Breath).
+ * Corrected gtb_sc_immunity setting not taking effect if your block value was
+ the same (that is, if the config said 30%, then you would only get status
+ change immunity at 31%, nor 30%) [Skotlex]
+ * Fixed a small error in the script_commands documentation about getpartyleader. [Paradox924X]
+ * Corrected skill-based hp/sp regen, expect slight increase [ultramage]
+2007/08/10
+ * Updated item_db.sql [Playtester]
+2007/08/09
+ * The new functions now clear junk from the output buffer [ultramage]
+2007/08/08
+ * Moved damage logging to mob_log_damage, now non-damage targetted (or
+ splash) skills also get logged into the monster's 'damage history' which
+ affects the exp-bonus per attacker setting.
+ * Implemented the evolution stat growth bonuses for homunculus.
+ * Updated the @homstats command to show evolution bonuses
+ * Corrected initial intimacy of a newly created homunculus (should be
+ 21/1000) [Skotlex]
+ * Cleaned up junk left in the code by the mapcache/mapindex update
+ - Added mapindex_getmapname(_ext) to help with ".gat" adding/removing
+ - Moved related processing to the interface (prevents duplicity)
+2007/08/07
+ * Expanded isloggedin script command to support an optional argument (char id)
+ * Expanded warpparty command to accept target "Leader", this will warp the
+ party to the leader.
+ * Added a summon structure to handle non-dead-branch mob-groups since the
+ current implementation totally fails for mob groups that don't have MANY
+ integrants.
+ * Fixed mobs not attempting an IDLE skill right before unlocking a target.
+ [Skotlex]
+2007/08/06
+ * Slightly deobfuscated the max-hp calculation functionality
+ - fixed hp/sp calc code adding extra few points from item bonuses
+ * Added a null-pointer check to skill_initunit() to prevent a crash
+ * Added a while() loop to the client packet processor (for performance)
+ * Added support for kRO 2007-05-14aSakexe langtype 0 login packet 0x2b0
+2007/08/04
+ * Removed weird mvp reward item drop behavior (see topic:160077)
+ * Fixed Cart Revolution not transferring status effects on attack,
+ and Cart Termination doing it when it shouldn't (see topic:156745)
+ * Fixed #refine not accepting names with spaces in them
+ * Fixed disguises not doing sit-down properly (missing self packet)
+ broken since r6299 stable / r5833 trunk [ultramage]
+2007/07/30
+ * Updated sql files [Playtester]
+ * Corrected pet taming code; items are consumed immediately and only 1x
+ - TODO: add proper code for people who want delayed consumption
+2007/07/28
+ * Removed ridiculous refine_posword config switch
+ - TODO: remove getequipname() func, it can be fully replaced by editing
+ a few scripts, plus it doesn't do what the docs say it should do
+ * Fixed a silly mistake in the main script engine loop ('pos' variable)
+ * Fixed monter -> monster typos
+ * Compacted some script function code (fewer LoC -> faster trac ^^)
+2007/07/27
+ * Simplified exp gain equations (now more FPU-friendly and precise)
+ - also fixes the uninitialized variable problem... sorry 'bout that >.>
+ * Changed the way hit bonus is applied.
+ http://www.eathena.ws/board/index.php?showtopic=157438 [Vicious]
+ * Cleaned up mob drop code, crashfix is still needed though...
+ * Reduced ignore-list length to 20, added proper reply packet
+ * Cleaned up some very poorly written pm-ignore code (see r141)
+ * Fixed a typo in Warp Portal code displaying an incorrect map name
+2007/07/25
+ * Fixed a missing homunculus info packet when doing @refresh
+ * Added support for character rename packet (only dummy code for now)
+ * Added support for langtype-12 char deletion packet (tested, works)
+ * Synchronized txt/sql charserver code a bit
+ * Adjusted motd.txt to not crash new clients
+ * Removed some dead code from the charserver (see r352)
+2007/07/24
+ * Fixes on Venom Splasher and the like (see topic:152975) [DracoRPG]
+ - VS / Envenom / Throw Venom Knife poison chance raised to 10+4*lv %
+ - Removed chance to be poisoned when hit if you're a VS time-bomb
+ - Adjusted bomb timer to correct values (5.5+0.5*lv sec)
+ - Removed damage boost from Poison React
+ - Now ignores EDP damage boost
+ - Prevented use on bosses
+ - Fixes still needed for recast restriction and splash damage
+ * Removed Emperium-damaging ability from Gloria Domini [DracoRPG]
+2007/07/23
+ * Changed the restricting mapflag for @jump from nowarp/nowarpto
+ to noteleport. Adjust your scripts if you were using it this way.
+2007/07/20
+ * Corrected packet_db.txt. See topic:158382 for details.
+ As a side-effect, the latest packet version is now 22 instead of 21.
+ * Added a charserver config option for the character renaming flag,
+ along with a detailed comment on what it's supposed to be. This
+ eliminates all that "change PACKETVER to 8 and recompile" mess.
+ * Moved PACKETVER back to clif.h, cleaned the related code a bit.
+2007/07/18
+ * Added delay_dependon_agi since people actually use and need it...
+ * Small update to the effects list (new exe's effects by Au{R}oN)
+ * No sending of the pet_equip packet when pet has no equip (thx2Skotlex)
+ * Added back exp gain limiting for old formula to stop exploits (see r8177)
+ * Now a message is printed when the packet_ver filter rejects someone
+ * Renamed two structs using same name as variables (MSVC debugger issue)
+2007/07/13
+ * Fixed yet another script engine typo, this time in 'copyarray' [ultramage]
+2007/07/09
+ * Rev. 10872 Removed a comment I had placed on line 6879 in Skill.c. [L0ne_W0lf]
+ * Rev. 10870 Alchemist skill "AM_CANNIBALIZE" ("Summon_Flora") now [L0ne_W0lf]
+ summons the proper monsters.
+2007/07/07
+ * Fixed typo in 'deletearray' messing up the script engine
+ * Added a check to pc_skill() to prevent crashes on unknown skill ids
+2007/07/06
+ * Cleaned up some nasty code related to skill_blown
+ - split 'direction' value from flags
+ - moved (almost) entire direction calculating code to the outside
+ - bowling bash now has the 'suck-in' effect (knockback is now done
+ in the direction you were last facing, not in your-target direction)
+2007/07/05
+ * Fixed pet equip and pet hairstyle packet sends [ultramage]
+ * Fixed NPC_STOP's visual effect not clearing when the status ends
+ * Corrected @homshuffle making the skill tree be lost.
+ * Corrected homunculus skills being unusable if the master was sitting or
+ inflicted by a disabling status (eg: petrify, stun)
+ * Some fixes to the cell no stacking mod (mainly mobs would just get stuck
+ behind each other and not properly surround you). [Skotlex]
+2007/07/04
+ * Fixed a copy-paste typo messing up script variables pretty bad D:
+2007/07/03
+ * Fixed a typo in script engine erroring when working with char params
+ * Made Homun Resurrection only fail on cast-end (see topic:155223)
+ * Re-coded 'soundeffectall'; removed the third parameter ('coverage')
+ - adjust your scripts if you use this command [ultramage]
+ * Defined out a problematic piece code in conv_num.
+ * Added reporting of constant and param script data.
+ * Fixed an incorrect check in menu script command. [FlavioJS]
+2007/07/02
+ * Undid the change from r10298, frozen status again modifies def/mdef
+2007/07/01
+ * TXT->SQL converter fixup [ultramage]
+ - Added missing char_id insert which totally messed up the conversion
+ - Fixed login converter ignoring many columns (although it had the data)
+ - Pointed out that Login-stored account variable conversion is MISSING!
+ - Pointed out that Status, Homunculus and Mapreg conversion is MISSING!
+ - Blocked the config functions from exiting server when file not found
+ - Finally added VS8 project files for this thing
+2007/06/28
+ * Added a missing line to enable @displayskill atcommand [DracoRPG]
+2007/06/26
+ * Changed the string hash of the script engine to SDBM.
+ * Reporting information about script data when an error occurs.
+ * More work on ticket #41 (array functions). [FlavioJS]
+2007/06/22
+ * Changed behavior of some guild-related code (according to X.4 tests):
+ - removed code that prevented Homunculus Resurrection during WoE
+ - logging in doesn't activate the 5 minute guild skill block anymore
+ - non-Urgent guild skills can now only be cast on WoE grounds during WoE
+ - all guild skills now have no cast delay (previously was 1 second)
+ - casting guild skills will now block FreeCast sages from walking
+ - Battle Orders and Regeneration are now instacast
+ - Restoration now has a 10 second cast time, reducible only by dex
+ - Urgent Call's cast cannot be reduced anymore (not even by items)
+2007/06/15
+ * Fixed script command sc_end not supporting the extra argument as stated
+ in script_commands.txt.
+ * Script command getarg supports an extra argument with a default value
+ that is returned if the requested argument doesn't exist. [FlavioJS]
+2007/06/11
+ * Fixed NPC_PROVOCATION (now the casting mob doesn't keep attacking)
+ * accumulated clif.c fixes [ultramage]
+ - Fixed pet equip not displaying correctly at all
+ - Removed old fixpos packet (the 'new' one is way smaller)
+ - Fixed some major logical typos in the code, cleaned up many places
+2007/06/10
+ * Rev. 10745 Updated itemdb.h with the two new item group values.
+ (38 and 39) Why are they static anyway? [L0ne_W0lf]
+2007/06/09
+ * Added 'nosave' mapflag to que_bingo for Bingo system purposes. [SinSloth]
+2007/06/04
+ * Fixed the compilation problem from r10668
+2007/06/03
+ * Fixed a bad copy-paste from r10028 letting players escape jail
+ (char was dead on login, so statuses (SC_JAILED) couln't be applied)
+ * Fixed missing client update when 'return to savepoint' fails [ultramage]
+2007/06/02
+ * Displaying op names instead of numbers in script engine errors.
+ * Fixed a bug introduced in the last rework of the fame ranking.
+ * Created safestrncpy that ensures the string is nul-terminated. [FlavioJS]
+2007/06/01
+ * Updated sql files [Playtester]
+ * Fixed ircbot not processing new users
+2007/05/29
+ * Hopefully fixed the vsnprintf incompatibility
+2007/05/28
+ * Fixed an infinite char-server loop on the map connection [ultramage]
+ * RFIFOREST returns 0 when the session is eof (input data is implicitly
+ discarted).
+ * Reworked the player fame update: [FlavioJS]
+ - would crash if an invalid pos was received
+ - the wrong player could be updated on certain conditions
+2007/05/26
+ * Identified several more glitches, too tired to fix these...
+ * Fixed server not removing member minimap dot when you leave a guild
+ * Fixed server not sending party/guild info when you enter a map
+ * Fixed guild emblem not showing when you log in (caused by r5359)
+2007/05/25
+ * Fixed @statall giving you +99 stats instead of setting them to 99
+ * Fixed npctalk and @npctalk displaying the # part of the name
+ (client filters these when you request the name of the npc, btw...)
+2007/05/23
+ * Added new flag to skill_castnodex.txt, to allow per-skill tweaking
+ of cast time and delay reducibility by item scripts (cards and such)
+ * Fixed Martyr's Reckoning never triggering for gms with all skills
+ * Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter
+ * Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
+ * Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
+ * Changed a few memsets to strncpy (reading past buffer is a bad idea)
+ * Sped up some memset operations (multiples of 4 are faster)
+ * Fixed a typo in Chase Walk code, /thx to zephyrus_cr [ultramage]
+2007/05/22
+ * Updated sql files [Playtester]
+2007/05/21
+ * Since the fifohead mess is gone, fixed leftover bad code structuring
+ * Removed the TURBO socket mechanism - it was in fact just using a
+ variable to cache a few arithmetic operations (premature optimization)
+2007/05/20
+ * Fixed Chase Walk having a deactivation cast time (should be instant)
+ * Changed status calc to allow value 0 stats; aegis allows
+ negative values, but eA is unsigned in this regard, so ...
+ * Added positional music effect to Battle Chant / Gospel
+ - see r10588 on how to disable it if it annoys you ^^;
+2007/05/19
+ * Added Global chat and Main chat logging
+ - lowered the priority of the 'logging off during gw' filter
+ * Fixed server crashes when you use long hostnames (/thx to Ancyker)
+ * Removed the wtf-y mmo_char_fromsql_short() from r2527 [ultramage]
+ * Fixed drops of Thanatos Dolor & Thanatos Odium regarding the quest. [SinSloth]
+ * SQL files fixup
+ - extended convert_engine_myisam and added innodb version
+ - changed the max. email length to 39 (to match value in source code)
+ - added comment for storage/guild storage picklog entries
+ - changed SETs to ENUMs, which is the proper data type in logs
+ - fixed incorrect defaults, shortened mapname lengths to 11
+ - use upgrade_svn10575_*.sql to apply changes
+ * Removed the vsnprintf->_vsnprintf define for VS9 [ultramage]
+ * Corrected the problem with countitem2 [ultramage]
+2007/05/14
+ * Updated sql files [Toms]
+2007/05/11
+ * Updated the effect list a bit, changes by Au{R}oN
+ * Re-phrased the attacker flee/def penalty config descs [ultramage]
+ Ref: http://www.eathena.ws/board/index.php?showtopic=150918
+ * Attempt to fix unwanted teleporting of immobile mobs [Playtester]
+2007/05/10
+ * Adapted the shortlist to use a static array instead of a linked list and
+ enabled it.
+ * Added Buuyo-Tama's shortlist for send/eof sockets (defined out for now).
+ * Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines. [FlavioJS]
+2007/05/07
+ * Fixed warpwaitingpc not working (bug introduced in r10471). [FlavioJS]
+ * Added a check to login_sql against too long db-stored emails [ultramage]
+ * Removed an unused variable in script.c [Toms]
+ * Fixed Converters not overwriting each other [Playtester]
+ - thanks to scerez for the fix
+2007/05/06
+ * Removed the dependency on winsock.h for definitions, it's all winsock2.h now.
+ * Minor documentation/re-coding in chat.c.
+ * More work on ticket #41. [FLavioJS]
+ * Fixed Red Pouch overriding nobranch mapflag [Playtester]
+ * Attempt to fix Kyrie Eleison not castable on enemy players [Playtester]
+ - please test, I can't double client to test it in pvp
+ - don't forget to recompile before testing
+2007/05/04
+ * Added an optional read-from-GRF/GAT map loading system back in.
+ - It can be turned on with the use_grf flag in map_athena.conf.
+ - The conf/grf-files.txt becomes relevant again. [blackhole89]
+ * Removed the cyclic map.h<->status.h dependency, which allowed me to
+ also remove the annoying/memory-wasting MAX_STATUSCHANGE define
+2007/04/30
+ * Ladmin fixes
+ - Added vs8 project file for ladmin
+ - Replaced all occurences of printf in ladmin.c with ShowMessage
+ - Fixed ladmin working with ips using the wrong byte orer
+ * Fixed @jumpto displaying the incorrect player name
+ * Added more safeguards to socket.c against socket ids out of range
+ TODO: session[] array isn't explicitly zeroed; is that a good thing?
+2007/04/29
+ * Fixed login_sql ipbans not working
+ * login server will now bind only after finishing the init phase
+ * Tried and fixed md5 password encryption [ultramage]
+ - login_sql was doing stupid things like re-using one pre-generated
+ key for all connections, and escaping binary md5 data (destroying it)
+ - added missing code to login_txt when creating new accounts, showing
+ that storing passwords as md5 hashes never really worked for txt
+ - removed PASSWORDENC's conditional compilation effect, now just a flag
+ - greatly simplified md5 password checking code, credits to eapp
+ * Internal changes to the script engine: [FlavioJS]
+ - modulus division detects division by 0.
+ dividing by zero stops the script and gives an error
+ - underflow/overflow messages differentiated (warnings)
+ - when a script function doesn't return a value, a C_NOP value is pushed
+ instead (avoids stack corruption)
+ - op_add merged with op_2+op_2num/op2_str
+ - better type checking in the operators, int/string is never assumed.
+ The script ends when an invalid type is found.
+ - other minor code cleanups
+2007/04/26
+ * Corrected High Jump so it works on Guild Castles when WoE is off.
+ * Moonlit petals now always knocks to the back of the character rather than
+ pushing the character away from it's center.
+2007/04/25
+ * Modified the mob ai think time update after using skills from
+ adelay/amotion to 100ms since the previous method adds a large delay before
+ the AI activates again (which screws up with the timing of idle/walk
+ skills)
+ * NPC_MAGICALATTACK now starts a state similar to Sacrificial Ritual, in
+ the sense that every normal attack afterwards becomes a Magical Attack. The
+ skill duration is 15 secs. [Skotlex]
+ * Added missing Rachel quest map [Playtester]
+ * Ganbantein now deletes individual skill cells instead of the whole skill
+ in the area it is casted.
+ * Modified the mob total damage code to prevent overflows when mobs receive
+ over 2kM damage. [Skotlex]
+ * Spider Web / Fiber Lock status cannot be dispelled now [ultramage]
+2007/04/24
+ * All mob casted skills have a fixed range of 9 now.
+ * Pressure no longer vaporizes plants.
+2007/04/23
+ * Fixed bug which totally broke item group bonuses.
+ * Added warnings when setting a pvp/gvg flag removes the other flags on the
+ same map (gvg and pvp can't coexist on the same map)
+ * Removed the check that prevented you from casting soul-collect when you
+ already have 5 spirits.
+ * Corrected Magic Rod so it doesn't displays any skill-use animation until
+ it triggers.
+ * Corrected Steel Body's icon (it actually belongs to AutoBerserk)
+ * Debuff on logout&2 is again set to default, instead of removing food
+ bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body.
+ [Skotlex]
+ * Extended the functionality of StringBuf - length and appending a string.
+ * menu/select/prompt script functions support grouped and empty options.
+ The selected option number is consistent with them.
+ * More work on ticket #41. [FlavioJS]
+2007/04/22
+ * Corrected crash if itemskill is used without an attached player.
+ * Removed range checks for autospells as per UltraMage Aegis tests.
+ * Added chatID skill fail check to skill_check_condition
+ * Corrected @refresh not re-displaying your spirit spheres nor re-setting
+ your cloth dye.
+ * Now the "number of attackers" in mob_dead is counted only from online
+ characters on the same map.
+ * Updated the autospell bonus scripts so you don't have to specify all the
+ attack type criteria. If neither of BF_LONG/BF_SHORT is specified, the
+ spell will trigger on both. If neither of BF_WEAPON/BF_MAGIC/BF_MISC is
+ specified, the spell will trigger on BF_WEAPON, if neither of
+ BF_NORMAL/BF_SKILL is specified, BF_SKILL is used if the trigger is
+ BF_MAGIC/BF_MISC and BF_NORMAL is used if the attack is BF_WEAPON. This way
+ the default when nothing is specified is
+ BF_NORMAL|BF_WEAPON|BF_SHORT|BF_LONG. [Skotlex]
+2007/04/21
+ * Removed the +25% mdef, -50% def effect from Freeze status
+ * Changed autocast skills, they now only work with normal attacks!
+ Ref: http://www.eathena.ws/board/index.php?showtopic=138159
+ * Fixed a few spots where attack_type was getting truncated
+ * Hopefully fixed the cygwin + size_t problem (using stddef.h as source)
+ * Added ntows() to properly handle that client port number deficiency
+ * Adjusted the packet_db array for a more consistent look [ultramage]
+2007/04/20
+ * Cleaned up the doc folder. Removed outdated, untranslated, useless files
+ and began normalizing a bit other ones~ [DracoRPG]
+2007/04/18
+ * Added MEXP overflow checks. [LuzZza]
+ * Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to
+ specify when the spell should trigger (melee/range + weapon/magic/misc
+ attack), see doc/item_bonus.txt for details. [Skotlex]
+ * Changed some %lu to %u in login_sql/login.c because uint32 is now
+ an unsigned int [Toms]
+ * Discarded extra deflate function needed for afm reading [ultramage]
+ - as a result, discarded the whole chain of support functions, .c files
+ and includes needed to make that one function run
+ - also removed zlib compile/link dependencies where they are not needed
+ - reduced the whole zlib package into two core include files
+ - adjusted makefiles / project files to reflect this change
+2007/04/17
+ * Massive at+charcommand cleanup, big thanks to HiddenDragon [DracoRPG]
+ * Partially deobfuscated the grfio module
+ * Finally fixed mingw problems, managed to build both TXT and SQL
+ * Fixed the uint32 platform problem (Microsoft failed so I removed it :)
+ * Removed the cbasetypes.h dependency from the mapcache generator
+ * Removed some random compilation warnings [ultramage]
+ * Small bugfixes and enhancements to the map cache generator [DracoRPG]
+2007/04/15
+ * Fixed 'randomtarget' picking dead characters.
+ * Adjusted Spiral Pierce, Shield Boomerang and Shield Chain to use atk2
+ instead of weight when used by non-players.
+ * Adjusted skills blindAttack, SilenceAttack, StunAttack, PetrifyAttack,
+ CurseAttack, SleepAttack, Lex Divina and Dispell to be area effect skills,
+ if the used skill level has a splash-range different from 0.
+ * Mob used Meteor Assault is able to hit icewalls now. [Skotlex]
+2007/04/15
+ * Fixed TXT char creation blocking characters with nonstandard names
+2007/04/13
+ * Committing some accumulated stuff [ultramage]
+ - makefile typo, maps_athena typo, svn:eol-style native for some files
+ * Changed the meaning of inf2=0x1000. Now it is used to "disable usage on
+ enemies", which only works for non-aggressive (inf!=1) skills.
+ * If a skill is party/guild only (inf2 0x400/0x800) it will also be
+ castable on enemies if the skill's inf is 1 (offensive target)
+ * Corrected the mob behaviour when it locks into an enemy it can't chase.
+ Previously it would get stuck on a lock->unlock->lock loop, with each
+ unlock resetting the "random walk" timer, causing the mob to just idle in
+ place. Now they will attempt idle skills and no longer reset the "random
+ walk" timer, so they behave as if they were in Idle state properly.
+ * Now the bonus bAtkEle will be transferred directly to the weapon when the
+ script is in the ammunition, and you are wielding a weapon that consumes
+ ammo per atttack.
+2007/04/12
+ * Trade-requests now fail if the target is in a NPC.
+ * Some cleaning of the castend_map code to prevent the menuskill variable
+ from not being cleared if you made a choice but the skill was not triggered
+ (due to silence, stun or whatever)
+ * Cleaned up a bit the Charge Attack casttime equation, should prevent
+ infinite casttime when the distance is 0.
+2007/04/11
+ * Now when an object changes speed, the old move-packet will be used on the
+ next movement, which should update the object's speed from that point and
+ on-wards. This is done since there appears to be no way to tell the client
+ a given object's speed has changed.
+ * Modified spirit of Wizard so that the consumption of 'Fragments' when
+ blocking bounced spells will only consume 1 Fragment per skill casted,
+ regardless of how many hits were reflected.
+ * Modified status_get_sc_def to handle both rate and tick reductions. This
+ way it can take care of the fact that curse rate/duration reductions are
+ not reduced by the same stats. Curse duration is now reduced by vit.
+ [Skotlex]
+ * Removed an ugly cast in socket.c
+ * Fixed Makefile (-Wno-unused-parameter was added twice with gcc4) [Toms]
+2007/04/10
+ * Recoded and renamed the trim function in strlib to normalize_name.
+ * Added a proper trim function to strlib.
+ * Cleanups at npc source file adding/removing.
+ * Changed db key from 'unsigned char*' to 'const char*'.
+ * Defined out the dump function in util.h/c. [FlavioJS]
+ * As an experiment Corrected many /W4 warnings on the txt login server
+ * Played around with MinGW a bit today... [ultramage]
+ - adjusted code so that it handles mingw-specific compatibility problems
+ - adjusted the makefile, mingw is not a subset of cygwin
+2007/04/09
+ * Now when saving a character, only the cart/peco/falcon 'option' states
+ are saved, the rest should be handled by the status change load/save
+ functions. This saves 'permanent' cloaking/hiding and other such oddities
+ if the server is unable to save your status changes on logout.
+ * Updated some Guild WoE rules to behave as explained here:
+ http://www.eathena.ws/board/index.php?showtopic=146581 [Skotlex]
+2007/04/08
+ * Fixed the platform-specific stricmp compilation problem
+ * Fixed inverted vending tax equation (!) and made it more precise
+ * Moved e_mail_check() and config_switch() to strlib.h
+ * Synchronized the login servers a bit
+2007/04/07
+ * Disabled the exception handler on windows debug builds
+ * Fixed Devotion using WE_BABY's status icon (now uses no icon);
+ if you have a way to determine the correct number, give feedback
+ * Updated the server's PCRE components to 7.0
+ - dll, library, header
+ - cleaned the only existing example and moved it to /samples
+ - changed the interface, now $@ is used instead of $ to store the result
+ - /!\ adjust your scripts if you are using npc regexp parsing /!\
+ * Fixed the start_point setting smashing t3h stack in some situations
+ * Fixed some over/under-dimensioned arrays (defines already cover the '\0')
+ * Fixed an unupdated define making Warp Portal fail with an error [ultramage]
+ * Final touches to the whole map crap [DracoRPG]
+ - changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
+ uses where there is / may be the .gat extension, code adjusted accordingly
+ - moved map_normalize_name to mapindex_normalize_name so that everything
+ handling map names uses the same extension-removing function
+ - greatly enhanced the map cache generator, complete documentation on the
+ tool and the map cache format can be found in doc/
+ - the map cache format changed a bit as a consequence, but of course a new
+ valid one is included (contains latest Nameless Island maps)
+ - and I'm sorry for the number of times I've moved around and renamed files,
+ now the final structure should have been reached
+ * Capped clif_heal's heal field (the argument received is int, but the
+ packet field is short, meaning that if the heal is high enough, the client
+ would receive a negative heal amount). [Skotlex]
+2007/04/06
+ * Made a crazy attempt to at least partially synchronize login&char code
+ * Major edit to the way the servers handle ip addresses, making them obey
+ the "host byte order inside, network byte order outside" rule [ultramage]
+ - hopefully covered all entry- and exit-points for IP address data
+ - discovered several places where Gravity's client breaks the convention,
+ will need to come up with a suitable countermeasure for that
+ - other than that, the code should be portable, except for printing and
+ ipban mask testing (those still assume a specific byte order)
+ - tested both txt and sql in all usual situations; tested single- and
+ multi-server setups, all seems to work (but watch out for hidden bugs!)
+2007/04/05
+ * Cleaned @whogm. It will display the name of all gms online. If their GM
+ level is above your own, it will only display their name, otherwise level,
+ position, and party/guild info is displayed. GM's using gm-hide will not
+ appear on this list.
+ * Corrected song/dances/encores reducing SP at the incorrect intervals
+ (either never, or every second).
+2007/04/04
+ * Corrected Longing for Freedom, it should triple SP cost rather than
+ modifying SP cost to 1/sec
+ * SC_ENCHANTARMS will no longer fail to start if it's already running with
+ a "higher elemental level".
+ * When trying to trade an untradeable item, the add-item-fail packet will
+ be sent so the client does not gets stuck. [Skotlex]
+2007/04/03
+ * Some spring-cleaning in sql-files, only left SVN 8k+ files [DracoRPG]
+ * Updated sql files [Playtester]
+ * Fixed char-server crash on @changegm use.
+ * Cleaned up mmo_auth, this function wasn't only poorly coded, it also had
+ a SQL-related memory leak in it!
+ * Corrected the attack_attr_none check being backwards (ie: this config was
+ working backwards!)
+ * All pets can now move regardless of their Mob counter part setting.
+ [Skotlex]
+ * Some source code cleaning
+ - Fixed the badly worded messages during mapserver startup
+ - Cleaned up socket config reading
+ - Split resolve_hostbyname() into 2 separate functions for clarity
+ - Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
+ - Moved the badly placed compare_item() function to storage.c (see r779)
+ * Fully removed the msvcr80.dll dependency from the vs8 project files
+2007/04/02
+ * Removed some overly verbose item group messages & code
+ * re-added the item_group_list for consistency's sake, moved to itemdb.h
+ (after some hacking to remove the ugly map.h dependency)
+ * Fixed the server crashing on a timer-queued disguise / undisguise
+ * Fixed the server crashing on startup due to bad define [ultramage]
+ * Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
+ matter, so it's no longer needed.
+ * Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]
+2007/03/31
+ * Added all the missing defines for ctype.h functions and converted all
+ the direct uses to the defines. [FlavioJS]
+2007/03/30
+ * Added "do_abort" function to the core. It is invoked when the server has
+ received a Segmentation Fault or Floating Point Exception signal. Currently
+ the only one that uses it is the map-server, which then attempts to save
+ all online characters before aborting. Note that due to the current
+ coding of the sig plugin, do_abort will not be invoked if you use it!
+ This plugin needs to be updated... [Skotlex]
+ * Continued script.c cleanup [Toms]
+2007/03/29
+ * Corrected OPTION_XMAS since 2007 clients have split it up from
+ OPTION_FLYING (on previous clients both were the same option value).
+ * Corrected statp array not being long enough to actually hold the status
+ points of ALL levels up to and including MAX_LEVEL. Fixes reaching final
+ level and resetting giving you an unpredictable amount of status points.
+2007/03/28
+ * Negative aspd rate bonuses will be handled as aspd add rate since the
+ default non-stackable bonus is useless on penalty bonuses.
+ * Added check to prevent the client from using passive skills. [Skotlex]
+ * Updated sql-files [Playtester]
+ * Removed a missing file reference in the athena-start script
+ * Fixed a #error "<malloc.h> has been replaced by <stdlib.h>" problem
+ * Fixed the msg_silent setting not being announced every time [ultramage]
+2007/03/27
+ * Cleaned up some the mob skill use code. The skill re-use delay is set at
+ the time the skill is used rather than when it finishes casting. The
+ invalid target check was also moved to the mob skill db reading function.
+ * Skills can be used now when the autoskill menu is open (since there's no
+ packet sent by the client when you hit on cancel). [Skotlex]
+ * Added some svn:ignore properties [Toms]
+ * Solved console plugins compilation error [Toms]
+ * Changed MAX_LEVEL to the standard value 99. Memory consumption-= 55MB.
+ - !!!WARNING!!! If your server uses higher levels, be sure to adjust
+ this appropriately! (the define can be found in /src/map/map.h)
+ * Corrected SC_COMA's success chance (X.4 says it's unconditional 100%)
+ * Changed the vs8 used crt library to static linking [ultramage]
+2007/03/26
+ * Coma now reduces SP to 0 (with the exception of Dark Blessing) [Skotlex]
+ * Corrected "format '%lu' expects type 'long unsigned int', but argument 4
+ has type 'unsigned int'" warning on login.sql [Toms]
+2007/03/24
+ * Corrected change r10051 which prevented Ice Pick from working [ultramage]
+ - the 'ignore_' variables are bitflags and therefore need enough bits
+ to store all info; 8 bits wasn't enough in this case
+2007/03/23
+ * Major reconfiguration of the vs7 project files (+vs8 while I was at it)
+ - added definitions _DEBUG and NDEBUG to tune system-specific stuff
+ - reduced the build requirements (Pentium 4 was a bit too much)
+ - changed build settings and project structure to match the vs8 projects
+ - corrected some vs8 inconsistencies
+ * Some generic typo fixes [ultramage]
+ * Corrected Ankle Snare/Spider Web having a 1% chance to trap rather than
+ 100%
+ * Food boosts are now dispelled on death only.
+2007/03/22
+ * Corrected setitemscript not correctly updating the item's script.
+ * Added define MAX_CHARS so you can easily mod the server to support a
+ different amount of characters per account (however, there is still the
+ issue of hexing the client to support this change)
+ * Updated msg_athena.conf so it no longer uses broken english on several
+ entries. Thanks to Scerez for the updated file.
+2007/03/21
+ * getpetinfo 5 will now return the pet's rename flag.
+ * Autoloot will now only work on items dropped a certain distance from the
+ player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and
+ defaults to AREA_SIZE.
+ * Removed Magic Rod's cast bar.
+ * Gravitation no longer causes damage flinch. [Skotlex]
+2007/03/20
+ * Increased MAX_STATUSCHANGE to 300 to make room for new statuses [DracoRPG]
+ * Reverted mapindex reading from map_list.txt for the map-server [DracoRPG]
+ * Patched the MAX_STATUSCHANGE startup error [ultramage
+ * Removed the last argument from script command skillitem.
+ * Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should
+ use.
+ * Added support for specifying different elements per skill level in the
+ skill_db
+ * Added bonus bNoKnockback.
+ * Corrected login sql server not reseting your account state to 0 when the
+ banuntil duration expires.
+ * Made the skillatk bonus it's own function, it can now be used to boost
+ Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
+ * Corrected Teleport's save map entry being sent without the .gat
+ extension.
+ * Corrected Warp Portal not sending the map names with the .gat extension.
+ * Probably corrected Disarm's strip animation.
+2007/03/19
+ * Rewrote the jail logic to always use a status change. This means that the
+ character's save point is not changed when jailed, and the char is always
+ warped back to the point where it was before being jailed on unjail.
+ * Modified @adjcmdlvl so you can't set a command to require higher level
+ than yourself, and so you can't edit the level of a command which is higher
+ than your own.
+ * Corrected attack_attr_none setting disabling elemental resist cards.
+ * Corrected Dispell removing Jailed status.
+ * Corrected being able to revive with 0 hp.
+ * Modified the "Restart" code so that it makes you stand on spot when
+ pc_setpos fails to move you back to your originating location. [Skotlex]
+ * Fixed some wrong sql login logic
+ * Fixed some compiler warnings, cleaned up mapserver sql-related vars
+ * Removed the old 'mapserver charsave' mechanism [ultramage]
+ * Globalised use of script_pushint and script_getdata in script.c
+ If someone need them, the regexp used was :
+ sed -i "s/& *(st->stack->stack_data\[st->start *+ *\([^]]*\)\])/script_getdata(st,\1)/g" script.c
+ sed -i "s/push_val(st->stack, *C_INT *, *\([^)]*\))/script_pushint(st,\1)/g" script.c
+ * Little clean of unused variables in script.c [Toms]
+ * Script engine:
+ - calling functions without using the return value doesn't generate warnings
+ - more work on Ticket #41
+ * Took care of two warnings and a minor change to the makefile. [FlavioJS]
+2007/03/18
+ * Added missing VC++ 7.1 project files for mapcache. [Lance]
+ * A followup to the login_sql server changes:
+ Due to a missing 'else' in the case_sensitive config setting loading
+ code (see r483 and r3316), the option was always being set to 'off'.
+ Now that I have corrected it, make sure to set it exactly how you
+ want it to behave (usually case-insensitive)!
+ Failure to do so can result in half the server spamming you with
+ messages about how they are getting 'unregistered id' errors.
+2007/03/17
+ * committing my work on the login server (mostly SQL) [ultramage]
+ - removed the check_ip_flag from login&char (there since r1)
+ - removed the CMP_AUTHFIFO_IP and CMP_AUTHFIFO_LOGIN2 defines (also r1)
+ - removed dynamic_account_ban, gm_db settings, weren't doing anything at all
+ - modified the date_format setting to take the format string directly
+ - removed overly verbose config loading messages
+ - removed/simplified many more useless actions
+ - renamed the dynamic_pass_failure_ban_ settings to make more sense
+ - collected relevant config settings into a login_config structure
+ and documented their purpose
+ - allowed usage of yes/no instead of the user-unfriendly 1/0 method
+ in config settings (and added 1/0 as a possible option)
+ - fixed dnsbl which was always taking only the first entry into account
+2007/03/16
+ * Corrected the structure and added info on the skill fail packet (0x110).
+ * Added packet 0x223 as clif_upgrademessage (not used yet).
+ * More work on Ticket #41. [FlavioJS]
+2007/03/15
+ * Added SC_CHANGEUNDEAD to differentiate it from the other elemental change
+ skills. It now fails on Undead/Dark elemental targets.
+ * Corrected party item share settings not being properly updated on logon.
+ * Corrected battle_attr_none setting applying to elemental attacks instead
+ of neutral ones. [Skotlex]
+2007/03/14
+ * Finished polishing the new mapcache system [DracoRPG]
+ - common/grfio.* now empty except zipping functions (to read mapcache)
+ - servers do not use .gat internally anymore
+ => YOU CAN (and should) STOP USING .gat IN YOUR SCRIPTS
+ - moved files for the mapcache builder to db/ for now
+ - the char-server now uses the same index list as the mapcache builder
+ => poring_c01, poring_c02 and ng_quest mapindex have changed, beware
+ * Updated sql files [Playtester]
+ * Adjusted @pvpoff, @gvgoff, @killer, @killable to make characters stop
+ attacking when used.
+ * Dispell no longer removes food boosts.
+ * Players will stop attacking when they change their look.
+ * Applied Alydis's fix to the mvp item logs logging mvp items even if the
+ player couldn't get the item.
+2007/03/13
+ * Corrected the new packet version entries for skilluseposinfo
+ * Corrected item reloading not unsetting the "delay consume" flag if the
+ item had changed it's type.
+ * the Attack_Type variable in skill_attack now inherits the damage.flag
+ properties, this fixes ranged status effects not triggering.
+2007/03/12
+ * Added player not attached crash prevention to countitem/countitem2.
+ * Probably corrected delitem not deleting pet eggs at all.
+ * Hopefully fixed hidenpc/disablenpc not working on Guild flag sprites.
+ * Mob skill state "anytarget" no longer triggers when the mob has an
+ item-target (looting).
+ * @storage/@gstorage will no longer work if you have a trade or a storage
+ opened already.
+ * Corrected script command movenpc so it properly moves the ontouch npc
+ cells as well.
+ * Changed the unit-walk packet to be 0x86 as pointed out by FlavioJS. This
+ new packet is much smaller, and should greatly decrease bandwidth usage.
+ The only drawback is that the character will not display at all if the
+ client didn't know of it's existance previously, but eA should always be
+ sending a spawn packet when an object gets into/out of sight anyway, so
+ it should work correctly.
+ * Modified the guild master change ack packet to return the aid/cid of the
+ new guild master instead of the index where it was, the previous method
+ could cause problems in situations where the order of guild members would
+ not match exactly between char/map servers.
+ * Updated the Soul Linker's Rogue Spirit Stealth's speed bonus to +60%,
+ according to forum infor from ragnagate. [Skotlex]
+2007/03/09
+ * Mapcache can run on system with any endianness.
+ The generated file contains data in little endian.
+ * Added info on packet 0x86 (simple move packet). Not usable until a clear
+ separation between entering sight/leaving sight/walking in sight is done.
+ * Propagating const char* from the script engine.
+ * ".gat" is appended to the map name before sending the changemapserver
+ packet to the client. [FlavioJS]
+ * Normalized the mapname in guild get/set castle data, should fix guild
+ flags.
+ * Added log options 0x800/0x1000 to log storage moves ('R') and guild
+ storage moves ('G')
+ * Added upgrade_svn9976.sql to include 'R'/'G' on the picklog type column
+ set.
+ * Updated the logs_athena description to include the letter of each type
+ (512 - M, 32 - N, etc)
+2007/03/08
+ * Corrected the pet/homunc data not being free'd if the player logs out
+ before being authed.
+ * Initialized player's speed on pc_setnewpc to prevent homunculus copying a
+ speed of 0.
+ * Corrected ranged add-status only triggering if the attack is arrow
+ based.
+ * Updated counter add-status so they trigger on ranged attacks instead of
+ using "arrow_atk" state. [Skotlex]
+ * Here comes the new mapcache system! [DracoRPG]
+ - The last and only big "feature" (kind of cleanup in fact) you'll see
+ - Totally removes GRF/GAT handling from map-server that only reads from cache
+ - The cache now also contains map indexes, and is mostly zipped (1.5MB atm)
+ - It is shipped with eA => 100% client-independant, no more missing maps
+ - If you want to add custom maps, the mapcache builder is available, doc
+ and Unix Makefile coming as soon as possible (VC8 project only ATM :/)
+ - Removed now useless AFM/AF2 support, as well as the startup screen notice
+2007/03/07
+ * Corrected the define for NK no cardfix (def).
+ * Fixed the char sql server not escaping the server name before inserting
+ it on the ragsrvinfo table.
+ * Corrected @lvup not doing the party even share check.
+ * Corrected breaker's misc part not ignoring element.
+2007/03/06
+ * Added NK value 0x80: ignore target's cards (0x8 will now only ignore
+ attacker's cards).
+ * Corrected Soul Breaker ignoring target's cards instead of the caster's.
+ [Skotlex]
+ * Fixed an infinite loop if script name contains a single ':' [Toms]
+ * Simplified the Utsusemi/Bunsinjyutsu check to only block weapon skills
+ that do not ignore offensive cards. [Skotlex]
+ * Added support for the 2 new packet versions. [Zephiris]
+ * Fixed the loginlog's `user` column length (use upgrade_svn9957.sql)
+2007/03/05
+ * More tweaks to socket.c to simplify the code [ultramage]
+ - many generic cleanups - reformatting, useless code removal, etc
+ - made the mode_neg setting a compile-time decision, not a run-time one
+ - removed the silly frame_size setting (there since r1)
+ - added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988
+ * Added the +20hit that were missing the NPC elemental attack skills.
+ * Added support for autospells using "a random skill level". The last value
+ of bonus4 bAutoSpell is used for determining this as well as the target. &1
+ is to cast on target (otherwise cast on self), and &2 is to use a random
+ level UP to the level specified in the script (otherwise always cast the
+ specified level)
+ * Updated item_bonus.txt with the documentation for the
+ bAutoSpell/bAutoSpellWhenHit changes.
+ * Corrected @refresh not reupdating the basic stat bonuses.
+2007/03/03
+ * Modified a bit the storm gust counter code to see if it fixes storm gusts
+ sometimes freezing on first hit.
+2007/03/02
+ * Tatami Gaeshi state (proyectile blocking) now ends when you move.
+ * SG Union will consume now SP if you use it while not soul linked.
+ * Added variable "skip" to the mob spawn data, to know how many mobs to
+ skip when spawning because they were not removed due to the
+ "mob_remove_damaged" setting.
+ * Corrected the Hp/Sp regen formulas from Hp/Sp/Spirit Recovery and
+ Happy/Peaceful break according to recent forums discussions (formula is
+ changed from x*lv +max*lv/500 to lv*(x+max/500). [Skotlex]
+ * Added new script function: setiteminfo. Now you can make custom items [Lupus]
+ - Updated script function setitemscript(itemID,script,WhichScript)
+ now u can set one of 3 item scripts: use/update, equip, unequip
+ But it works only if the original item had 3 non empty scriptsin ITEM_DB
+ can't fix this issue yet
+ 1201,Knife,Knife,4,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{dispbottom "1";},{dispbottom "2";},{dispbottom "3";}
+ and... if u've used this function, later @reloaditemdb may crush the map server ^_-
+ - Check npc/sample/npc_test_setitemx.txt as example of setiteminfo & setitemscript
+2007/03/01
+ * Corrected raid not doing the "can hit?" check on splash area targets.
+ * Fixed the definition of warpwaitingpc so that it allows an optional
+ argument (number of people to warp).
+ * Modified the Palm Strike packet so the initial hit animation does not
+ displays "Miss".
+ * Added a check to prevent trades from being commited if either character
+ is in final-save state.
+ * Checked and cleaned up the online_check code in the char-server. Further
+ connections to the char-server are rejected when the account already has a
+ connection (previously this would happen only if there was already another
+ character IN game, not just waiting on the char-select screen). [Skotlex]
+2007/02/28
+ * Added the source and VC8 project for my experimental mapcache generator;
+ it is NOT compatible with eA's current mapcache but uses a brand new format
+ that I still have to embed into the map-server [DracoRPG]
+2007/02/27
+ * NPC_AGIUP now boosts flee by 100% and duration is 5+5*lv secs, as stated
+ on the Ragnarok Bible.
+ * Fixed Soul Breaker's misc part not ignoring flee.
+ * Fixed misc attack's flee check being backwards (the less hit%, the more
+ chance you had to connect)
+ * Corrected the range check in vending.c [Skotlex]
+ * Added map & distance check to vending to prevent WPE hacks. [Lupus]
+ E.g. buying items from WoE castle
+ * Fixed a compiler warning in char_sql\login.c
+ * Minor source documentation/cleanup. [FlavioJS]
+2007/02/26
+ * You are allowed to expel guild mates that are not online now.
+ * Corrected damage of BloodDrain
+ * Moved the "already connected" checks to pc_authok, since a dual login
+ doesn't needs to be checked until the new connection is accepted.
+ * You are allowed to attack/use skills now when your cloaking level is
+ below 3.
+ * Small change to Stone Curse that may fix the permanent "semi-stone"
+ status.
+ * Corrected "taming monster" having your skill-use be stuck if you cancel
+ the target selection process.
+ * config setting party_show_share_picker now displays the jname of the item
+ picked as well.
+ * Corrected some typos and small details
+ (forgotten bInfiniteEndure [r6487], mysterious '1' in help file, etc)
+2007/02/25
+ * Added Krade's makefile fix for 64bit compilers [ultramage]
+ - ref: http://www.eathena.ws/board/index.php?showtopic=136622
+ * Minor cleanup/documentation on the script engine. [FlavioJS]
+2007/02/24
+ * Fixed the mob_override_name setting not working on summoned mobs.
+ * The server now prints an error message when it the produce_db reaches the
+ max number of allowed produce recipes.
+ * The NK value of the skill_db has been made a hexadecimal value, and
+ expanded to include more information about a skill's damage properties: 0x8
+ ignore caster's cards, 0x10 ignore element adjustments, 0x20 ignore
+ target's defense, 0x40 ignore target's flee. Note that magic attacks
+ always ignore flee, and misc attacks always ignore defense.
+ * Autoguard will no longer work on skills that don't take in card
+ adjustments
+ * utsusemi & bunsinjyutsu no longer work on skills that don't take in card
+ adjustments.
+ * Corrected damage of the NPC elemental attack skills, Blood Drain and
+ Energy Drain
+ * Adjusted menu-based skills so you can't reuse the same skill until you've
+ dealt with the menu.
+ * Adjust autospells so that removing an autospell works when the script of
+ the card that removes the autospell is triggered before the script that
+ adds the spell.
+ * The "requested name of gm-hidden char" warning will not be displayed when
+ the object in question is an NPC (since you can use Intravision to do
+ this).
+ * Venom Knife no longer takes into accounts cards or EDP.
+2007/02/23
+ * Guild expulsion now will fail when the character to be kicked is in a
+ guild castle (rather than checking for the character doing the expulsion)
+ * pk damage reduction settings now will take effect only on Player VS
+ player damage.
+ * Fixed produce_db2.txt entries overwriting produce_db.txt ones.
+ * Fixed item-granted/plagiarized skills unlocking skill trees when only
+ your real learned level should. [Skotlex]
+2007/02/21
+ * Applied a consistent look to all header files (copyright, ifdefs)
+ * Minor stuff (typos, socket.c, junk in login reply packet) [ultramage]
+2007/02/19
+ * Fixed @cartlist info message typo [Lupus]
+2007/02/17
+ * Fixed a typo from r9778, allowing non-gm chars to use /kill [ultramage]
+2007/02/16
+ * Fixed the structure of packet 0x6d (new char info). It's the same as the
+ one used for packet 0x6b (chars info). [FlavioJS]
+ * Updated script commands startnpctimer, stopnpctimer, initnpctimer so you
+ can attach a player to them, this is done because the attach/detach
+ functions can't be used to attach to a different script than the one
+ currently running.
+ * Updated the script_command reference with the new flag values of
+ [start/stop/init]npctimer.
+ * Modified the "guardian" spawn script command, it no longer receives a
+ "amount" argument (since that only leads to trouble), if the class is
+ negative, it'll pick a random class the same way the monster spawn script
+ command does, and if you pass a spawn position with coordinates equal or
+ less to 0, a random spot in the map will be taken. However you can't use
+ "this" as a map name anymore since these script commands do not need an
+ attached player.
+ * Guardian spawning will now fail if you attempt to spawn a guardian that
+ already exists on the same position.
+ * Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's
+ effect, and it is cancelled on warp/map-change. [Skotlex]
+2007/02/15
+ * Reverted some of my mobdb code
+ * Cleaned up clif_party_info a bit
+ * Cleaned up set_reg (the same procedure as get_val) [ultramage]
+ * The default packet version is now 8. Clients from November2006 and before
+ can no longer get past the char-server unless you change it back to 7.
+ * Fixed Storm Gust counter freezing on fourth hit instead of third.
+ * Fixed @homstats not taking into consideration that the stat growth
+ decimals get discarded on level up (so the real minimum/maximum displayed
+ was off).
+2007/02/13
+ * Applied Rayce's dangling pointer fix when returning a temporary npc
+ string variable (those starting with .@)
+ * Required Weapon, ammo, and skill state are now only checked on begin
+ casting, instead of both on begin and end casting.
+2007/02/12
+ * Fixed Resurrect Homunculus and Wedding skills failing. [Skotlex]
+ * A bit more work on Ticket #41.
+ * Added 'r' (variable reference) to the script argument definitions.
+ * Added a simple define for suspitious actions. (empty at the moment)
+ * Added clif_clearcart and moved sending cart packets to pc_setoption.
+ * clif_parse_ChangeCart checking the player level. [FlavioJS]
+ * Fixed clif_parse_GMmessage cutting off messages randomly [ultramage]
+ (due to a typo in revision r9778)
+ * Fixed Wand of Hermod
+ * Corrected Spider Web casting around caster instead of target's position.
+ * Corrected a possible crash during login due to checking for the incorrect
+ variable (lets pc_calc_status be invoked when it shouldn't)
+ * Added bounds checking to map_foreachincell.
+ * Opt2 values (poison, blind, and so on) are now resent on warp/map-change.
+ * Corrected description of isloggedin script command. [Skotlex]
+2007/02/11
+ * Fixed the inverted behavior of display_skill_fail, caused by r9823
+ * Fixed @loadnpc not updating the script_event[] array
+2007/02/10
+ * Fixed clif_party_message using an incorrect buffer length [ultramage]
+ * Cosmetic changes to the buildin section of script.c (use defines for
+ function names/definitions). [FlavioJS]
+2007/02/09
+ * Updated the 'unit walk' to functions so they stop your attack if it's
+ possible to walk.
+ * Fixed char server SQL not sending the guild info update to other map
+ servers when a new member is added.
+2007/02/08
+ * Modified Spider Web so it can instantly retrap a target, rather than
+ idling on the ground waiting for a new target.
+ * Cleaned up some the rude-attacked code, being attacked while under spider
+ web now triggers rude-attacked. [Skotlex]
+ * Added code for SQL that will automatically detect the ping interval
+ at startup, and copy-pasted it around the code; removed the conf setting
+ * Added a missing null pointer check in clif_parse_globalmessage
+ * Fixed the new socket code, which was triggering the inactivity timeout
+ on the servers' listening sockets
+ * Fixed the TURBO code not working since r4468 (parse func never called)
+2007/02/07
+ * More aggressive cleaning up of the socket code [ultramage]
+ - removed unused session_data2 entry in sd
+ - added a new create_session() function, helps keep things cleaner
+ (although it's ad-hoc and not perfect, since this is C)
+ - undid r4978 since it was getting in the way (re-add it if you need it)
+ - added defines for the recv, send and parse func pointers
+ - added null functions for the three actions, and made create_session()
+ calls use those instead of NULL pointers; insignificant penalty and now:
+ - since all three funcs are always initialized, removed all those NULL checks
+ - removed the efd set, since as the people from the developernet forums
+ pointed out, it's only for out-of-band data and NOT for error checking
+ (in fact, select() bails out without giving any info if it errors out)
+ - reorganized the randomly placed socket.c contents somewhat
+ - it'll be a miracle if this works like it should ^^;
+ * Modified spider web so that the skill_unit_db flag restrictions may take
+ place. [Skotlex]
+ * Cleaning up of the socket code [ultramage]
+ - Shuffled includes around for files that were leeching off of socket.h
+ - Added code that enforces standard shutdown behavior for sockets
+ - Wiped out the poorly written parse code from r2211
+ * Removed old script bonuses bMatk, bMatk1, bMatk2.
+ * Fixed char-server not sending online notification when a party member
+ logs in.
+ * When skill range by distance is set, the distance checked for is now 5
+ cells rather than 3.
+ * Fixed bMatkRate bonuses not applying to status earned modifications to
+ int/matk. [Skotlex]
+ * Removed deprecated console code.
+ * Moved CHAT_SIZE back to map.h because log_atcommand uses it on sql
+ builds. (moved to clif.c in r9811) [FlavioJS]
+2007/02/06
+ * Cleaned up the script engine's get_val() function [ultramage]
+ - changed the long if-spaghetti into a compact switch statement
+ - changed its behavior so that it exits if !sd and it requires one
+ - upon exiting, it will now ensure that meaningful values get returned
+ (the old code had no qualms about returning random junk from memory
+ for integer queries, and crashing for string queries)
+ - removed many !sd checks since they are done at the beginning now
+ * Fixed #lvup having the gm level check backwards.
+ * Fixed the stormgust freeze counter going up even if the attack is
+ blocked/cancelled.
+ * Cleaned up homunc attack request parsing. Homunculus no longer goes into
+ auto-attack (ctrl+click) mode since the client does every attack request
+ individually.
+ * Fixed char-server not sending party status update when a member logs
+ on/off.
+ * Fixed crash when parsing guild member information change from the
+ char-server if the specified character is not found in the guild.
+ * Fixed MvP mobs giving exp when killed even if they shouldn't.
+2007/02/05
+ * Fixed @lvup, #lvup not doing a stat reset and lowering your status points
+ if you had 0 status points at that time.
+ * Fixed MvP exp and item rewards being given even when the mob_dead flag
+ specifies you should not receive exp or items.
+ * Updated the code so that now a range of a skill is determined by the
+ skill's range in the db. Now only skills with less than 5 cells of range
+ are melee.
+ * The inf2 parameter of the skill_db is now red as an hexadecimal.
+ * The super novice self-revive angel will now trigger only once per
+ session, if you relog you can have it trigger again. [Skotlex]
+ * Fixed the skill tree not always updating when using @allskill
+ * Probably fixed the target-change on melee attack setting not working.
+ * Moved the deletion of the invincible timer when using skills so that it
+ is not deleted for skills such as Ashura (when just selecting a target)
+ [Skotlex]
+2007/02/03
+ * Continuing the checking of script buildin functions and stop the script
+ execution when an attached player is required but not found.
+ This task will be referenced as Ticket #41 from now on. [FlavioJS]
+ * Updated the TXT login server's account id checker
+ (it was still saying the minimum is 700000 instead of 2000000)
+ * Changed the 'getpartyleader' script command so that it returns a map
+ name instead of the useless mapindex number. Also fixed it so that it
+ doesn't throw a 'args of aFree is not valid pointer' error.
+ (although I'm not at all sure that the fix is correct)
+ Ref: http://www.eathena.ws/board/index.php?showtopic=137274
+ * Removed the silly and misleading 'firewall detected' message
+ * Added missing vc6 project file
+ * Corrected a lie in the script documentation [ultramage]
+2007/02/02
+ * Fixed the flag parameter not working on npcshopattach.
+ * Updated the walk delay code so that it parses homunculus as well as
+ players. What this means is that a homunculus walk request won't go ignored
+ if it's issued during the 'can't walk delay' after being hit.
+ * Added a possible crash protection in clif_skillfail when the player is
+ without a connection. [Skotlex]
+ * Fine-tuned the global message processing function [ultramage]
+ - now detects access-out-of-rfifo attempts (idea from eA++)
+ - uses the new CHAT_SIZE define to restrict message lengths
+ - detects Frost Joke/Dazzler and gives them more freedom (from Freya)
+ - more strict non-conformant message detection
+ - logging every problem to the mapserver console
+ * Resetting skills will now automatically remove peco, falcon, cart and
+ homunculus (vaporize).
+ * Fixed random mob picking choosing clones.
+ * Fixed critical spots that could be exploited [Skotlex]
+ - The define MESSAGE_SIZE was wrong! It is only used for input boxes.
+ Therefore now it is only used for Vending, Talkie box and Graffiti
+ - Added new define CHAT_SIZE which holds the max length that a client
+ can send from the chat buffer
+ - Added define msg_len_check which crops incoming client text if it's
+ longer than CHAT_SIZE. Added cropping to all incoming messages except
+ normal chatting which is already accounted for.
+ - Removed variable talkie_mes, this is now handled by sd->message
+ - Cleaned up parser functions for /b /lb, gm kick, /shift, /recall
+ - Added crash protection to the logging functions when they receive
+ a too long string.
+2007/02/01
+ * Restricted global messages to 255 characters (client shows only ~80 anyway,
+ wanted to use 127 but frost joke's lines are longer than that ...)
+ - prevented using a ~22+kB long message to crash everyone on screen
+ - prevented faking the message length to cause an out-of-bounds access crash
+ - removed the unneccessary 'buf'ffer (inspiration from jAthena)
+ - Ref: http://www.eathena.ws/board/index.php?showtopic=137770
+ * Corrected the chat system to allow 8-letter passwords
+ * Minor details (pdb file location, improved debug, npc typo) [ultramage]
+ * Cleaned up the npcshop(add/del)item script commands, fixed a possible
+ dangling pointer crash caused by their improper use of realloc. They no
+ longer automatically attach the script to the shop, and they will return
+ true/false based on whether the shop was found or not.
+ * Added script command npcshopattach to enable attaching/detaching your
+ script from any npc shop.
+ * Updated doc/script_commands.txt with entries for npcshopitem,
+ npcshopadditem, npcshopdelitem and npcshopattach [Skotlex]
+ * A followup to r9761, a header include that somehow didn't commit [ultramage]
+ * Item search is now a bit smarter. When no item is found with the same
+ 'aegis name', then the 'normal' name is used instead.
+ * Updated the @/# commands that take an item name so that you can use
+ quotes when specifying item names with spaces in them. For example, @item
+ "poring card" 1 will work now. Note that only the commands that work on ONE
+ item have been updated, those that do an item list need to be updated as
+ well. [Skotlex]
+ * Updated the old vs6 files to latest, thanks to k3dt for contributing them
+ * Reorganized the vs6 project files (update will follow)
+ * Fixed an accidental change in r9758 (edit&continue) [ultramage]
+ * Added support for mob skill target 'randomtarget', when specified, it
+ will pick a random enemy from within the skill's cast range. [Skotlex]
+ * Added string function strnlen [ultramage]
+ - This thing is useful for removing potential out-of-bounds crashes.
+ Had to #ifdef it because some systems implement it, some don't provide
+ the header, and some don't have it at all. Adjust/improve as neccessary.
+ * Corrected homunculus's aspd being halved after using some aspd adjusting
+ skill.
+ * Removed the log info message 'created homunc...', and the 'loaded homunc'
+ message will only show if the save_log is enabled.
+ * When when a party-member levels up, the level change is sent to the
+ char-server to update the even-share range values.
+ * When joining a gvg_dungeon, the pvp packet will be sent to signal
+ versus. With this gvg dungeons should be working correctly now. [Skotlex]
+2007/01/31
+ * Changes in the VS8 project files: [FlavioJS]
+ - synchronized the settings between the projects
+ - joined all .h and .cpp files and grouped them based on the src subfolder
+ - added Debug/Release build targets that build txt/sql only
+ - other minor changes
+ * Removed graph, httpd and webserver
+ * Wiped out the old night code (use svn if you want it) [ultramage]
+2007/01/30
+ * 'Long Range Attacked' mob skill conditions will no longer trigger on
+ magic attacks.
+ * Corrected char deletion not working (column is called homun_id, not
+ hom_id...)
+ * Collapsed config settings produce_item_name_input,
+ produce_potion_name_input, making_arrow_name_input, holywater_name_input,
+ cdp_name_input into a single config produce_item_name_input which uses
+ bitmasks to determine what it affects.
+ * Updated arrow_decrement to have 3 possible values: Disabled, Enabled, and
+ Enabled + Autoguess (gives arrow consumption as appropiate to
+ plagiarized/acquired skills).
+2007/01/29
+ * Corrected the homunculus deletion functions so that the homunculus is
+ deleted together with the character.
+ * Added npc_check_areanpc so that Wand of Hermod will correctly check for
+ nearby warps.
+ * Emergency avoid now stacks with other speed boost statuses
+ * Item skills and skills that bring up a menu now are cleared on death.
+ [Skotlex]
+ * Added a nasty hack to prevent multilanguage clients from breaking guild notices
+2007/01/27
+ * Made @reloadscript wipe ALL previous mobs that the script engine spawned
+ - this way it is manageable via global vars; the other way doesn't allow that
+ * Some misc cleanups (typos, formatting, forgotten changelog entry etc)
+ * Reformatted and translated atcommand.c
+ - in the process improved @marry, allowing spaces after the first comma
+ * Simple cleanup
+ - removed atcommands @w, @server_date/time, @red, @happyhappyjoyjoy, @shuffle
+ - synced gm level of @jailfor, @charjailtime, @npcmove, @chardropall,
+ @charstoreall, @send, @mute, @changelook, @exp and @nuke
+ - added conf entries for @whozeny, @kamic, @tonpc, @petid, @identify, @adopt,
+ @trade, @changelook, @send
+ - reorganized the atcommand_athena.conf file a bit
+ * Corrected indentation of the atcommand table (editor compatibility)
+ * BEGIN atcommand cleanup process
+ (according to http://www.eathena.ws/board/index.php?showtopic=111996)
+ * Fixed a C language restriction preventing compilation [ultramage]
+2007/01/26
+ * Removed all those useless read-from-GRF features noone would ever use,
+ also removed cutincard script command as a consequence [DracoRPG]
+ - this is only the beginning of full grfio disparition from map-server
+ * Now assassins can equip arrows, and status arrows trigger on any ranged
+ physical attack: mimics Grimtooth + status arrow "Aegis bug" [DracoRPG]
+ * Added some random Storage Password packets thingies [DracoRPG]
+ * Kaite and Assumptio no longer stack. One will remove the other in the
+ same way Assumptio and Kyrie do.
+ * Made homunculus renaming go through the char-server so it can be
+ validated against the allowed characters setting.
+ * Added battle config hom_rename so you can enable renaming multiple times
+ your homunc.
+ * Fixed the normalizing function not sending first classes back to novice
+ if they do not have basic skill maxed.
+ * Added a wrapper to delete_timer so it prints out from where the
+ invocation was done.
+ * Fixed Splash attacks consuming 2 ammo on each attack. [Skotlex]
+ * Added some more freedom for the txt log paths since 32 wasn't enough
+ * Removed log_uptime that was accidentally introduced in r1208 [ultramage]
+2007/01/24
+ * Cleaned up some more the Joint Beat implementation, so the status don't
+ take effect until the attack connects. [Skotlex]
+2007/01/23
+ * Fixed int/dex foods using an incorrect icon for their status [ultramage]
+ * Changed the night status from 149 to 160, which seems to work so much
+ better, and also enabled simplifying the night code.
+ * A skill's walk delay will also delay your can-attack time when the skill
+ connects, since this is the behaviour of Sonic Blows as described by
+ Tharis.
+ * Added view_data support to mercenary.*, so that the Homunculus entries
+ are no longer required on the mob_db.
+ * Added the status icon to NPC_CHANGEUNDEAD and the Flee/Hit foods.
+ * Corrected the check that lets you walk when vending/chatting/etc.
+2007/01/22
+ * Reverted the battle_calc_return_damage code as the previous one was
+ correct, ninja self-targetted skills CAN be reflected. [Skotlex]
+2007/01/21
+ * Fixed while statements not "reserving" the curly before parsing the test
+ expression. [FlavioJS]
+2007/01/20
+ * Fixed some joker's code trying to dereference a null pointer
+ * Fixed the server not reacting properly to atcommands/charcommands when using
+ langtype 10/11 (the |XY codepage indicator wasn't being trimmed) [ultramage]
+ * Updated @homshuffle so that the skill tree and current skill points are
+ not messed up.
+2007/01/19
+ * Fixed the label dup code, it now works correctly with const.txt switch
+ labels.
+ * Reverted the dup-label check code since it has a bug that needs to be
+ fixed first (it fails to recognize const.txt values) [Skotlex]
+ * Fixed a client crash during SQL char selection if you for some reason had
+ more than 9 characters in your account (thanks to Daegaladh) [ultramage]
+ - note that the TXT version already guards against this since long ago
+ * Merged Rayce's cleanups of the script engine that account for duplicate
+ labels, non-numeric labels and makes the engine case-insensitive towards
+ keywords like if/case/switch/etc/
+ * Added the icons for the Food boosts (need packet version 8 to get them,
+ as these icons will just display Gloria, or crash you, when used on older
+ clients).
+2007/01/18
+ * Modified the Storm Gust freeze counter code. It now takes into
+ consideration the ID of the skill before increasing the counter, which
+ should effectively yield the closest aproximation to official (even though
+ the counter will reset if you step out of a SG and into another one, we do
+ not know yet what should happen in such a case).
+ * Added @homshuffle. It recalculates the homunculus stats, as if the homunc
+ was sent back to level 1, and then releveled. This command is mean to help
+ fix those previously created Homunculus that are much stronger than they
+ should be.
+ * Fixed overflow on the mob delay adjustment setting.
+ * Fixed characters being unable to trade again if you attempt a trade on
+ someone who is on storage/npc when you accept the trade. [Skotlex]
+ * Fixed a crash when a castle from [0..MAX-1] wasn't in the db [ultramage]
+2007/01/17
+ * Corrected atcommand @homstats so it shows the correct minimum/maximum
+ possible values.
+ * Simplified the hom level up function, now decimal stats are no longer
+ stored. This should correct eA's homunculus on average being much stronger
+ than Aegis's.
+ * Cleaned up pc_allskillup, @allskills should work correctly now.
+2007/01/16
+ * Added atcommand @homstats so you can check your homunculus stats and
+ compare them to the minimum/maximum values that you could have at your
+ current level. This command is meant to help figure out if homuncs are
+ indeed getting a faster stat growth than they should have.
+ * Fixed the next invoked skill after AbraCadabra not having requirements
+ even when it is a different skill than the one chosen by AbraCadabra.
+ * Implemented Intravision as it should be. Thanks to HelloKitty2 for the
+ captured packets.
+ * Some cleaning on the mob_ai to enable mobs to run away from their current
+ target when they are rude-attacked by them.
+2007/01/15
+ * The NPC elemental attacks will display a skill animation again.
+ * Mob instant cast skills will use their adelay now.
+ * Spirit of Wizard won't work on Ganbantein
+ * The pc normalize job function will consider you as novice if you don't
+ have maxed out basic skill.
+ * Cleaned up pc_calc_skilltree and related functions so that the id is left
+ as 0 when you can't raise the skill even if you meet the prerequisites.
+ This is to prevent raising quest/soul/marriage skills through packets.
+ * Slaves should lock unto their master's target even if they are not
+ attacking yet (eg: in chase mode)
+ * Updated the Summon Slave skill to use the slave distance define as valid
+ distance to spawn from master.
+ * Fixed Joint Beat's speed penalty.
+ * Added a pc_authok check to prevent the case in which somehow another
+ character of the same account manages to log in as well.
+ * The pc normalize job function will now recognize you as a novice if you
+ don't have NV_BASIC maxed.
+ * Accessories will now by default go into the rigth-side rather than the
+ left-side of the equip window.
+ * Added a check in the mob_ai_subhard function to make mobs unlock targets
+ which have their invincible timer set.
+ * Probably fixed the registration flood protection code being broken.
+ * Joint Break should only re-start the bleeding timer when it currently IS
+ the one that causes bleeding. [Skotlex]
+2007/01/12
+ * Cleaned up the ip rules/DDoS section of the code. (the allow,deny and
+ deny,allow cases were switched)
+ * Fixed autotrading characters not being able to reconnect. Seams like I
+ misunderstood how id_db and pc_db are used. [FlavioJS]
+2007/01/11
+ * Fixed the script engine not parsing strings in multibyte charsets
+ correctly (should have been done in r9532).
+ * Console plugin working when built as Windows native. [FlavioJS]
+2007/01/10
+ * Combined most of the txt/sql mobdb reading code [ultramage]
+ - mob.c is now some 10kB less redundant (now using a common function)
+ - automatically filled in some missing parts of the txt part
+ (view_range_rate, chase_range_rate, line counting, etc)
+ - also cleaned it up significantly
+2007/01/09
+ * Changes to script buildin functions: [FlavioJS]
+ - functions checking if a player is attached as soon as possible.
+ - functions that required a player attached and would crash if none was
+ there terminate the script now. (others keep the current behaviour to
+ maintain full backward compatibility)
+ - removed the unused flag argument in guildskill.
+ - bonus,bonus2,bonus3,bonus4 use the same function now (remains the same
+ script-wise)
+ - added an optional parameter to setcart,setfalcon,setriding so it's
+ possible to remove the cart/falcon/mount or select a specific cart
+ - other cleanups
+2007/01/08
+ * Hotfix: Freeing of freed pointer when replacing script functions. [Lance]
+ * Unimportant cleanups
+ * Moved the plugin.def file to the plugins dir and added console.def
+ * Found the reason why the console didn't want to run on windows
+ (Microsoft uses !0 and unix uses 0 in pipe_create)
+ * Commented out a login_log call (sql doesn't implement that function!)
+ * Fixed an old debug message displaying %d instead of a number
+ * Silenced the plugin export messages during startup [ultramage]
+ * Added a precompiler error when the shutdown defines are not found.
+ * Added parse_console to the plugin API.
+ * Added plugin for parsing the console. (working with cygwin)
+ * Copied the parse_console code form login txt to login sql and char.
+ * Added proper plugin version compatibility tests.
+ * Better output when a plugin fails to load. [FlavioJS]
+2007/01/07
+ * Fixed the sleep timers not being removed when the an npc was being
+ unloaded and when reloading scripts. [FlavioJS]
+ * Updated the documentation to match the agitcheck() behavior
+ * Undid the memset->malloc_set replacement
+ (let's be compatible and leave such optimizations to system devs, ok?)
+ * Small reformatting of conf-tmpl
+ * Renamed atcommand_sub to is_atcommand_sub (charcommand too)
+ * Re-added the duplicit nj/gs name messages in msg_athena [ultramage]
+ (the code was using those and they look better in that position)
+2007/01/06
+ * Now winsock 2 is required.
+ * Cleaned up do_close and socket_init a bit.
+ * Fixed the weight icon dissapearing and reappearing when attacking.
+ (introduced by me at r9600, fix based on ultramage's code) [FlavioJS]
+2007/01/05
+ * Also discarded some veeery old utils code that has got equivalents
+ in the std libs (and therefore is silently causing a nasty collision).
+ * Major reconfiguration of the VS8 project files. [ultramage]
+ - Removed the migration binding to a VS71 template.
+ - Disabled the setting that defines char -> unsigned char (non-conformant).
+ - Switched all projects to use the common C runtime library DLL
+ instead of linking the static version to each exe.
+ - Enabled edit&continue on the TXT version (SQL already had it).
+ - Reconfigured the linker to use only the really required dependencies.
+ - Enabled full optimization and whole program optimization,
+ with additional speed-improving settings for the release build.
+ - Set the compiler/linker to produce detailed debug information even for release builds
+ (no performance penalty because the debug info is stored in a separate .pdb file!).
+ - I tested all 4 build combinations and it works for me, and it should work for you.
+ - There is still one very useful thing missing - setting the working dir to '..'.
+ I don't know how to do that, tho' since VS stores it in a separate user file.
+2007/01/04
+ * Fixed old @go bug (it ignored einbech) [Lupus]
+ * Added Au{R}oN's updated version of the effect list.
+ * Completed adding of the new cities to @go.
+ > that function is ugly and needs a complete rewrite, asap.
+ * Updated thor volcano warps.
+ * Updated /doc from jAthena. [ultramage]
+
+2007/01/03
+ * Added Rachel and Veins to the list of @go destinations.
+ * Added a first approximation of warps for the new maps (by $ephiroth).
+ * Now the server will by default perform symmetric adding of friends. [ultramage]
+ > TODO - symmetric deletion (http://www.eathena.ws/board/index.php?showtopic=130749)
+ * Fixed TURBO FIFO defines.
+ * Moved refusal of a known packet versions to clif_parse_WantToConnection
+ and made it check for non-player object with that id.
+ * JK_JOINTBEAT as described in:
+ http://www.ragnainfo.net/wiki/index.php/Vital_Strike
+ Although not clear, it's being assumed that the 2x damage is only for the
+ break neck ailment. [FlavioJS]
+ * Modified the useless error message in atcommand_effect.
+ * Silenced the debug message in socket.c that's been freaking people out.
+ * Added support for text/comments at the end of monster spawn lines (<tab> required)
+ * Added the official behavior of monsters regaining full hp when they morph.
+ > info at http://www.eathena.ws/board/index.php?showtopic=130103
+ * Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements for soullinked skills.
+ > TODOs at http://www.eathena.ws/board/index.php?showtopic=130788
+ * Re-applied change r9593 that got accidentally reverted by r9595. [ultramage]
+
+2007/01/02
+ * Fixed SC_JOINTBEAT not doing crit damage for the Neck Break ailment.
+ * Gospel sends the buff message to the affected player. [FlavioJS]
+2006/12/31
+ * Made HSCR bypass both Guard and Shield Reflect using the dirty way [DracoRPG]
+ > cleaner way would need to rethink the whole skill's implementation
+ * Added more info when npc_scriptcont tries to continue a different script.
+ * Refer to http://www.eathena.ws/board/index.php?showtopic=130285
+ - Renamed pc_checkweighticon to pc_updateweightstatus and cleaned it.
+ - Updated pc_is50overweight to use battle_config.natural_heal_weight_rate.
+ - Added 90% weight check when attacking.
+ * Updated getitem and guardian entries in script_commands.txt.
+ * Fixed getitem trying to get <character ID> from the wrong argument.
+ * Now getitem can be run on scripts without a player attached if
+ <character ID> is specified.
+ * Now the two last arguments of guardian are optional and independant of
+ each other ("<event label>" and <guardian index>). This way the previous
+ implementation and script_commands definition are still valid code.
+ * Now buildin function names and argument definitions are checked for
+ validity before adding the function to the script engine.
+ Argument definitions follow the pattern: (v|s|i|l)*\?*\*? [FlavioJS]
+2006/12/30
+ * Reverted the packet structure changes to mmo_char_send006b in r9588 (was
+ using the wrong exe for the final tests) except for the bug that I was
+ originally fixing. [FlavioJS]
+2006/12/29
+ * Skill use is now cancelled when you use it while cloaking, and the
+ uncloaking process warps you. [Skotlex]
+2006/12/28
+ * Reapplied Skotlex's socket.c changes from r9587 and r9582. :S
+ * Part 3 of TheUltraMage's socket cleanup.
+ * Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
+ * Removed search_str from add_str (add_str already searches for the
+ string).
+ * Native script words like do,while,for,... are case insensitive now.
+ * Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better
+ distributions).
+ * Added alternative hash implementations to the script engine (to try out
+ later). [FlavioJS]
+ * Added a func_parse invocation when an invalid socket is found, so that
+ the underlying code (char/map/login) can handle it and free any related
+ resources.
+ * Added some skill effect packets so it displays a generic effect for
+ unknown targetted skills.
+ * Some cleaning in do_sendrecv, added error messages when handling an
+ incorrect socket. [Skotlex]
+2006/12/27
+ * Fixed Super Novice 99%+ invincibility triggering when
+ the character dies in a GvG area. [blackhole89]
+ * Updated SQL Files [Toms]
+ * Fixed a bug which makes the group heal bonus be applied as many times as
+ the item is in that group.
+ * Applied Rayce's suggestion to improve the script hash size usage. eA now
+ uses a hash of 1024.
+ * Full Buster's auto-blind chance is now reducable by stats/items.
+2006/12/26
+ * Updated Charge Attack's damage equation as per the only source I've seen
+ of it so far.
+ * Now Guardians/Emperium can't hit /be hit if their current map isn't a
+ gvg_castle or woe is off. This enables "localized" WoE by removing/setting
+ the mapflag gvg_castle on the castles where you want WoE to take effect
+ (note that even though normal players can't be hit on non gvg_castle maps,
+ normal mobs can still be killed in such maps, you'd still need to modify
+ the WoE scripts to use this kind of feature)
+ * TK_MISSION will now pick any mob from the DB as long as it is not a boss
+ type and it gives base exp.
+ * Fixed the double-stone issue when hitting a petrified character.
+ [Skotlex]
+2006/12/25
+ * Fixed buildin_getscrate, thanks Trancid.
+ * Applied part 1 of TheUltraMage's socket cleanup.
+ "Basically what I did was perform simple one-liner substitutions for
+ ugly repetitive blocks of code. The most apparent are the send/recv
+ code and the other basic socket calls."
+ * flush_fifo is non-blocking now. I guess best effort is good enough...
+ * Copied header files from vcproj-7.1 files to vcproj-8 files.
+ * Applied the rest of Rayce's suggestions and fixes
+ (http://www.eathena.ws/board/index.php?showtopic=129185)
+ * warn_cmd_no_comma, warn_func_no_comma, warn_cmd_mismatch_paramnum are
+ now warn_func_mismatch_paramnum and it only prevents showing the error,
+ as it was probably intended in the first place. (correct me if i'm wrong)
+ * Merged the parsing of function calls in the script engine, removing the
+ parse_cmd hackery, and made "heal (.@val+rand(0xff))&0xff,0;" valid
+ again. [FlavioJS]
+2006/12/24
+ * Small fix for changeset 9539 (support for PACKETVER above 7) [KarLaeda]
+2006/12/23
+ * Fallback for parenthesis argument lists in the script engine.
+ "func (exp) , ..." is valid again.
+ * Moved "#include <limits.h>" to cbasetypes.h to ensure it's included
+ before checking if UINT_MAX has been defined.
+ * Minor changes in pc_readdb related to max_level being unsigned.
+ [FlavioJS]
+2006/12/22
+ * Simplified function agitcheck so it isn't crash prone. Now it takes no
+ arguments, and will return whether WoE is on or not.
+ * Now when you specify a max level beyond what the exp table has, the last
+ entry of the exp table will be duplicated to fill in the remaining levels.
+ [Skotlex]
+ * Change strncpy to memcpy when parsing switches in the script engine
+ since it's guaranteed to be a word of that size (skip_word).
+ * Made scriptlabel_db duplicate the key. When str_buf is reallocated, the
+ keys in scriptlabel_db could become invalid, causing a crash in
+ npc_convertlabel_db.
+ * Now npc_convertlabel_db clears scriptlabel_db after using it.
+ * parse_script has an extra parameter options. At the moment it only
+ indicates if scriptlabel_db should be used or not.
+ * Fixed "UINT_MAX undeclared" on systems that don't declare it in limits.h
+ [FlavioJS]
+2006/12/21
+ * Applied Rayce's suggestions and fixes to the script engine
+ (http://www.eathena.ws/board/index.php?showtopic=129185)
+ * Some cleaning to the character deletion code.
+ * Changed a certain snprintf to strncpy, which should fix the problems with
+ parsing switches in the script engine.
+ * Added back cropping the attack delay to attack motion for those weird mobs
+ that have a aDelay less than their aMotion time. [Skotlex]
+ * Added a 1-node cache to db. Removed party_cache and guild_cache since
+ now the database has a cache.
+ * Fixed "warning: comparison is always false due to limited range of data type"
+ by restricting script words to ASCII characters only.
+ * Moved md5calc to common. [FlavioJS]
+2006/12/20
+ * Fixed ISSPACE and ISALPHA casting their returned value to a char, which
+ can really mess up the scripting engine when the returned value is true,
+ yet casted to false.
+ * Moved the strip unequip code to before deleting the timer, this fixes
+ trying to "re-strip" someone causing the skill to fail and on top of that
+ terminate their current strip effect.
+ * Reading of TK Mission variables will now happen if you are a TK-class
+ character regardless of whether you know TK_MISSION or not. Should fix
+ being able to reset skills to reset your Mission data.
+ * Added an ugly work around to the issue of skills with additional effect
+ causing opt1 status when they have just terminated them (in short, you
+ shouldn't be able to hit someone with, say, sleep, and then have the same
+ skill cause them stun, since both are opt1 values). [Skotlex]
+ * Now root script functions calls can have parenthesis (will take any
+ parenthesis after the function as the start of the argument list).
+ - This means "func (exp),exp;" isn't valid anymore.
+ * Replaced our fix for "mes ();" crashing by jA's version.
+ * Merged the fix for & having the same precedence as << and >> from jA.
+ * Merged the C_OP3 operator from jA: test ? if_true : if_false
+ * Changed the script source from unsigned char* to const char*.
+ * Updated plugins Makefile. [FlavioJS]
+2006/12/19
+ * Reverted the mob ThinkTime update, that field is again aDelay as it
+ apparently should be. [Skotlex]
+ * Cleanups or minor changes.
+ * Now addtick_timer invokes settick_timer, so keep an eye for whatever
+ timer issues it's supposed to have.
+ * Removed the flush_fifo from clif_parse_TickSend until the socket
+ problems are fixed. [FlavioJS]
+2006/12/18
+ * Updated POS2 macros. The 6th byte is subx0 and suby0. [FlavioJS]
+ * Added hom_setting to specify which homunculus 'quirks' are in effect. The
+ default activates all of them, if you set them to 0 then homuncs will not
+ be treated in any special matter, pretty much like standard mobs. if I
+ missed any 'quirky' homunc behaviour from it, report it so it can be added
+ to the list.
+ * Made flooritem_lifetime a int so you can specify much longer life times
+ (the default of 60k was already very close to the max of 65k)
+ * Removed monster_ai 0x80 since it's now handled by hom_setting.
+ * When walking into a Guild Dungeon your pvp_points will be set to 5 so you
+ have to die twice before being warped out.
+ * If jobchanging while disguised, the disguise will be removed, since it
+ can't be kept and still calculate correctly the new job class to use.
+ * Fuuma shurikens are now unbreakable code-wise (like all maces, books,
+ etc)
+ * Applied Meruru's patch to increase speed of easy path seeks. [Skotlex]
+ * Cosmetic changes to db.
+ * Fixed the unused MAPINDEX_AUTOADD section in mapindex.c (mapindex.h
+ wasn't being included) [FlavioJS]
+2006/12/16
+ * Moved packet_len_table values to packet_db[SERVER].
+ * When an invalid packet_ver is found, all it's entries are discarted
+ intead of just stopping the parsing.
+ * Increased MAX_PACKET_DB to 0x300 and added a warning for when packet ids
+ greater than MAX_PACKET_DB are found. [FlavioJS]
+2006/12/15
+ * There will be now warnings printed when a shop sells an item which's buy
+ price is 20z, since those usually are "rare" items with no buyying price
+ set. Note that this reports one fake, and that is the selling of a certain
+ shuriken that indeed costs 20z.
+ * Most likely fixed client crash when xmas/wedding status runs out.
+2006/12/14
+ * Removed "mobs being enemies of each other all the time" because, even
+ though mobs can hit each other as they should, they will refuse to use
+ support skills on enemies, which breaks several of their skills. Mobs can't
+ both help and attack someone tagged as enemy!
+ (I guess eA is just too smart to emulate Aegis's sloppy coding)
+ * Cleaned up the strip code (GS_DISARM, rogue skills).
+ * Cleaned some the MD_DETECTOR code.
+2006/12/13
+ * Additional damage bonuses (True Sight, EDP, Assassin Link, Crusader Link,
+ Card skill damage bonuses) are now applied independently of each other,
+ which lets them stack. [Skotlex]
+ * Modified flush_fifo so the code do what is written in the comment [Toms]
+ * Modified flush_fifo so you can decide whether to block the current thread
+ or not until the data is sent. The server-tick reply no longer blocks the
+ current thread.
+ * Fixed mobs being unable to attack anything...
+2006/12/12
+ * Reverted the knockback update since it isn't working right with all
+ skills.
+ * Mobs now by default are "everyone's" enemy, so mobs are able to hit each another.
+ * Moved "unsetting" the angry mode from the mob_ai to the mob_damage
+ function, where it'll work regardless of who hits the mob.
+ * Modifed a bit the clif_change_look function, it should fix crashes with
+ the Xmas sprite when changing maps.
+ * Fixed skills displaying a 32k damage when used while disguised. [Skotlex]
+ * Minor changes to ers.
+ * Removed unused/hardly used cbasetypes typedefs.
+ * Updated txt-converter's makefile to include utils.o [FlavioJS]
+ * Updated npc_event_dequeue to free up your current npc information, and
+ not just the npc_id.
+ * Modified the skill damage packet and the knockback packets to mimic aegis
+ sent packets for such skills.
+ * Removed CART_MASK as OPTION_CART can take care of that.
+ * Moved the OPTION_MASK define to status.h
+ * Reverted the knockback implementation to use clif_slide instead of
+ clif_fixpos [Skotlex]
+2006/12/11
+ * Added various missing checks when parsing several guild actions.
+ * made @hominfo display the six basic stats.
+ * Simplified the MD_DETECTOR checks, since now all insects/demons have it
+ set, and it's no longer needed to check for the race. [Skotlex]
+ * Updated sql files [Playtester]
+ * Spirit of Sin and Enchant Deadly Poison now stack.
+ * Fixed skill damage card bonuses not working on magic skills.
+ * Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning,
+ since this function is called when a script is cancelled
+ * Made homunc's speed be recalculated when you respawn it from rest state.
+ [Skotlex]
+ * Fixed @revive not reviving the good char [Toms]
+2006/12/10
+ * Added more helpful messages when packet_ver=-1.
+ * Joined normal and MINICORE's main function.
+ * Put malloc_init() first and malloc_final() last as it's needed for Show*
+ in display_title(). [FlavioJS]
+2006/12/09
+ * Reversed revision #9415 (messages with server_tick field being sent as
+ soon as possible) since it didn't fix the client synchronization issue.
+ * clif_parse_TickSend is sent immediately so the client gets accurate
+ "pings". [FlavioJS]
+2006/12/08
+ * Now you can request a trade regardless of the state of the target trader.
+ [Skotlex]
+ * The trade will now fail when you accept it and either character is
+ speaking with an npc, vending or has the storage open. [Skotlex]
+ * Fixed crash when looters became full. [Skotlex]
+ * Autospell delay time is now the skill's full delay. [Skotlex]
+2006/12/07
+ * Fixed ladmin's linux compilation and moved some platform specific
+ defines to cbasetypes.h [FlavioJS]
+ * Cleaned up implementation of NPC_EMOTION/NPC_EMOTION_ON. Now val0 is the
+ emotion, val1 sets the mode, val2 adds to the mode, val3 removes from the
+ mode. val4 asks to remove the previous mode change, otherwise it will stack
+ with the changes from the previous skill call. [Skotlex]
+ * Updated the mob skill reading code so it accepts hexadecimals in the
+ 'val' fields. Also, it will optimize the NPC values so that when you set a
+ mob's mode to their db mode, it will just remove the previous mode.
+ [Skotlex]
+ * NPC_EMOTION_ON will now automatically move it's new mode to val2 since it
+ should add a mode, and if this mode doesn't has the aggressive bit, it will
+ remove it. See this "ancient" hypothesis on how NPC_EMOTION_ON should work
+ for the details: [Skotlex]
+ http://www.eathena.ws/board/index.php?showtopic=63606
+ * Fixed npc commands atcommand & charcommand not working with a custom
+ command_symbol [Toms]
+2006/12/06
+ * Changed the order of view-change packets for SC xmas/wedding, should fix
+ crashing if you change into xmas suit while in fighting stance. [Skotlex]
+ * Renamed the mob mode Cast-Sensor Melee to Cast-Sensor idle since these
+ mobs really should only be cast-sensing when they are not after another
+ target. [Skotlex]
+ * Added a Aegis Mob Type -> eA Mode table conversion to the mob modes doc.
+ [Skotlex]
+ * Updated sql-files [Playtester]
+ * Gave a minimum think time to the dummy mob and to clones. [Skotlex]
+ * Moved setting a mob's chase/attack states from the mob_ai to unit_attack
+ and unit_walktobl for better state-handling precision. [Skotlex]
+ * Cleaned the change-target/cast-sensor code to account for the new mob
+ modes. [Skotlex]
+ * Updated the doc explaining mob modes. [Skotlex]
+ * When GM skill unconditional is set, the arrow state of the skill will be
+ calculated, this fixes all skills getting stuck on arrow-type after you
+ attack normally. [Skotlex]
+ * Alchemist famous potions get their 50% bonus on top of the natural
+ bonuses as a 1.5x type of bonus. In other words, now alchemist potions
+ will really heal 50% more than when you use the non-famous potion
+ version.
+ [Skotlex]
+ * Messages with server_tick field are sent as soon as possible now.
+ This might fix client synchronization issues.
+ * Added StringBuf_Vprintf to utils.c and changed the showmsg.c buffer.
+ Now it uses a static buffer and a StringBuf when needed (a debug message
+ indicating the static buffer needs to be increased is shown). [FlavioJS]
+2006/12/05
+ * The can log value now is "reset" when you die allowing you to
+ respawn/quit instantly after death. [Skotlex]
+ * Fixed sc data load failing when using charsave_method: 1 [Skotlex]
+ * Fixed the interserver link reserve size being 8 times instead of 1/8th
+ the default size. Changed it to be 1/4th as well. [Skotlex]
+ * Found the position of emblem_id in packet 1b6.
+ * Moved START_ACCOUNT_NUM and END_ACCOUNT_NUM from login.h to mmo.h and
+ changed clif_guess_PacketVer to use that.
+ * Made the script engine big-endian compatible.
+ * Commented out the remnants of ladmin packet parsing in map-server.
+ * Added a warning when a player has an invalid packet version (shouldn't
+ happen). [FlavioJS]
+2006/12/04
+ * Fixed HVAN_INSTRUCT int bonuses. [Skotlex]
+ * Renamed mob_db's "adelay" column to ThinkTime and made the mob.c code use
+ it instead of MIN_MOBTHINKTIME. The adelay of mobs will also be equal to
+ their thinktime unless their thinktime is less than their attack motion.
+ [Skotlex]
+ * Added a static +100 Hp to ninjas and gunslingers since it's required for
+ the best approximated hp growth algorythm. [Skotlex]
+ * Knockback will again use the fixpos packet instead of the slide packet
+ (slide was introduced with high jump) since Aegis captures say that packet
+ is still used for knockbacks. [Skotlex]
+ * Repairing items via scripts no longer displays "item has been repaired"
+ [Skotlex]
+ * Status Recovery again makes mobs unlock their current target. [Skotlex]
+ * Moved requesting party/guilds from the char-server from pc_authok to
+ pc_reg_received, since map_nick2sd and map_getallsd won't work until the
+ characters are authentified. Also removed the guild master setting from
+ clif_parse_LoadEndAck to pc_reg_received since guild master setting will
+ work there. [Skotlex]
+ * Fixed homun hunger timer being started on login even when hom is
+ vaporized/dead. [Skotlex]
+ * Fixed mvp exp attacker bonus applying incorrectly. [Skotlex]
+ * Removed duplicate msg_athena.conf entries 619 and 620 for
+ Ninja/Gunslinger.[Skotlex]
+ * Fixed the txt->sql converter not escaping character names before saving
+ them. [Skotlex]
+ * Fixed a pet's level not resetting to their db level when you enable pet
+ leveling and later on decide to turn it off. [Skotlex]
+ * Fixed restricted equipment not updating your view info after they are
+ unequipped. [Skotlex]
+ * Removed a bunch of extra text/checks when ignoring characters (/ex) when
+ Aegis does none of these checks. /inall now wipes your ignore list (it does
+ this on Aegis, too). [Skotlex]
+2006/12/03
+ * If somehow a player logs out and it's saved with 0 hp, on login his state
+ will be set to dead as well so he can respawn (otherwise that leads to a
+ stuck char) [Skotlex]
+ * Fixed even share exp flutuating as described in:
+ http://www.eathena.ws/board/index.php?showtopic=126139
+ thanks to TheUltraMague for the fix.
+ * Made ers double frees report as missing entries on destruction.
+ * Only one swap function (in cbasetypes.h) is used. [FlavioJS]
+2006/12/02
+ * Added buildin_checkvending and buildin_checkchatting. [Lance]
+ * Enabled atcommand parsing for clients with Korean langtype and version. [Lance]
+ * Added missing min/max definitions to cbasetypes.h, needed for the @send change.
+ * Replaced @send with the version I use for testing packets.
+ Can display the packet length. Supports dynamic packets, quoted strings
+ with escaped characters and fixed/variable length, and normal/hex
+ byte/word/long data types. The number of fields is not limited, but it
+ automatically stops parsing when the packet is full. [FlavioJS]
+2006/12/01
+ * Fixed passive mobs becoming increasingly unlikely to retaliate to attacks
+ after they got inflicted by a disabling status change. [Skotlex]
+ * Changed the "is_boss" define to check for mode MD_BOSS instead of giving
+ mvp exp. [Skotlex]
+ * Updated sql files [Playtester]
+ * Fixed txt-converter compilation. [Skotlex]
+ * STRECOVERYno longer makes a mob unlock it's target like Cure does.
+ [Skotlex]
+ * Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was
+ consuming 2 grenades instead of one). Also added a "explosion effect" when
+ their time runs out. [Skotlex]
+ * gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will
+ force pvp ranking gain/loss on gvg_dungeon maps now. [Skotlex]
+ * Now when coming out of hiding land-effects will trigger on the character.
+ [Skotlex]
+ * Fixed land effects not taking effect inmediately on map-load when the
+ invincible timer is disabled. [Skotlex]
+2006/11/29
+ * Probably fixed the Segmentation Faults we've been having.
+ Description: A player quits and it's session is freed and set to NULL,
+ but the char server already sent a packet with player information
+ (registers, storage, ...). If a message is sent in consequence of
+ updating that info, a segmentation fault happens because
+ session[sd->fd] is already NULL.
+ Fix: make shure the session of the target player is valid before
+ processing the rest of the char server's message.
+ * Some minor cleanups. [FlavioJS]
+ * Fixed the new npc parsing code not accounting for windows-style line
+ terminators, which as a side effect messed up mapflag parsing if the file
+ had windows-style terminators, which coincidentally was the case for the
+ nopvp file, which unfortunately meant that all towns became pvp! [Skotlex]
+ * HT_PHANTASMIC no longer knocks back even when it misses. [Skotlex]
+ * Earned exp by dead homuns will now be lost (same treatment as earned exp
+ from players that died) [Skotlex]
+ * Now gvg_dungeon mapflag will activate the other mapflags which are
+ required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced
+ to off if gvg_dungeon is on and viceversa) [Skotlex]
+ * Cleaned the pvp ranking code so that it takes effect even if
+ pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. [Skotlex]
+ * Now homuncs and their masters are the only ones who can use support
+ skills on them. [Skotlex]
+ * Some cleaning on the homunc speed calculating code, so that it correctly
+ uses the default walk speed if the player has no speed yet. [Skotlex]
+2006/11/28
+ * Fixed a typo which made the wedding_ignore_palette setting not work when
+ you log on with them equipped [Skotlex]
+ * Applied The Ultra Mage's patch to use strict npc header formatting
+ parsing. Updated the relevant stock scripts/mapflags that didn't conform to
+ the standard. [Skotlex]
+ * Moved the blocking of casting supportive skills on homunculus from
+ battle_check_target to status_check_skilluse as bct is not invoked unless
+ the skill is offensive (or party/guild only) [Skotlex]
+ * Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int
+ bonuses skills making their atk/def/mdef stack with itself over and over.
+ [Skotlex]
+ * Updated sql files [Playtester]
+ * Changing setting the Guild Master from pc_authok to clif_parse_LoadEndAck
+ so that it will not fail to set the gmaster flag when the first person of a
+ guild to log on is the guild master. [Skotlex]
+ * Modified the way Storm Gust freeze's counter works. Now it checks for the
+ caster of the Storm Gust, if it's the same as the previous hit, the counter
+ is increased, otherwise, the ID is updated and the counter is changed to 1.
+ [Skotlex]
+ * Fixed always receiving at least 1 bexp/jexp even when the mob gives no
+ exp at all. [Skotlex]
+ * Changed write to send as suggested by TheUltraMage in:
+ http://www.eathena.ws/board/index.php?showtopic=105417
+ Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
+ * Server name in core.c skipping '\\' characters.
+ * Memory allocation functions using file,line,func from the invoking functions.
+ * Other minor malloc changes. [FlavioJS]
+2006/11/27
+ * Now when a player's "attack once" request fails due to range, the client
+ is told to move to the target to attack it. This sort of fixes the problem
+ of the client SPAMMING the server with attack requests from afar without
+ even approaching the icewall. [Skotlex]
+ * Updated the status change field "option" to an int rather than short.
+ This fixes the option values for xmas/sightblaster not getting set, which
+ could explain why some people crash when equipping weapons while in xmas
+ suit. [Skotlex]
+ * Fixed the Homunculus hungry timer not starting on login. [Skotlex]
+ * Added logging for standard GM commands (/mm /b /kick etc) [KarLaeda]
+ * Some cleanups on the trade_additem function. When specifying a qty of 0,
+ an ack will be returned to the client so it doesn't gets stuck. [Skotlex]
+ * Update sql files [Toms]
+ * Corrected the skill animation for Absorb Spirits [Skotlex]
+ * Cleaned up a bit the implementation of how Gravity Field blocks the
+ caster from moving. [Skotlex]
+ * Mob class-changing will fail if the new class is the same as the previous
+ one. [Skotlex]
+2006/11/24
+ * Homunc's min matk is now always equal to max matk [Skotlex]
+ * Fixed EDP's damage being 100% more than it should (should be 4x, not 5x
+ on normal attacks) [Skotlex]
+ * Self Destruction will only hit everyone and not just enemies when used by
+ mobs (non marine spheres) unless the map is a versus map. [Skotlex]
+ * Spider Web's duration is now halved on players (before it was halved in
+ pvp maps only) [Skotlex]
+ * Likely fixed Homunculus not disappearing the second their intimacy hit 0.
+ [Skotlex]
+ * Fixed uninitialized variable fd being used in WFIFOHEAD in a few clif
+ functions. [Skotlex]
+ * Fixed the fact that the TURBO code breaks when you attempt to handle more
+ than one connection at a time within the same function. However this broke
+ map-server compilation, therefore, don't use TURBO yet! [Skotlex]
+ * While at it, cleaned a few packet implementations in the char/login
+ servers which were not only ugly, but had some really stupid flaws within.
+ [Skotlex]
+2006/11/23
+ * Completed Reddozen's hanging mapwarp code to support party and old syntax. [Lance]
+ * Updated sql files [Playtester]
+ * Made WFIFOHEAD() check for available buffer size remaining on the
+ connection, and when there's not enough space, it will increase it.
+ [Skotlex]
+ * Added define TURBO to the Makefile. It enables MouseJstr's socket access
+ optimization which should speed up the code when accessing the write/read
+ buffers repeatedly within a function. [Skotlex]
+ * Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used
+ incorrectly (prevents TURBO enabled compilations from finishing) [Skotlex]
+2006/11/22
+ * Modified slaves_inherit_speed and slaves_inherit_mode so you get better
+ control of when to copy/remove modes/speed. See the conf changelog for
+ details. [Skotlex]
+ * Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be
+ able to switch targets while attacking. [Skotlex]
+ * Some cleanups around usage of session[] in the map server, hoping that it
+ may fix some not very likely crashes. [Skotlex]
+ * Rewrote a few messy @ commands. [Skotlex]
+ * Fixed the homunc hungry timer being started when the homun data is
+ received from the char-server and the homunc is NOT 'active'. [Skotlex]
+2006/11/21
+ * Fixed the Auto-Berserk giving you back defense when it triggers during
+ berserk's HP penalty. [Skotlex]
+ * Some small changes in the pet ai to make it more responsive. [Skotlex]
+ * Rewrote the pet looting behaviour (taken from the mob's), pets are much
+ more smarter now when looting from multiple possible items. [Skotlex]
+ * Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and
+ their master logs out. [Skotlex]
+ * Added support for specifying ammo type = 99 in the skill_require_db file,
+ it can be used to specify that any kind of ammo can be used with the skill,
+ but you NEED to have ammo equipped. [Skotlex]
+ * Corrected GS_DISARM, it is now a normal attack, which, when it connects,
+ has a chance to do strip weapon at a 3*lv% rate (modified by dex) [Skotlex]
+ * Fixed GS_PIERCINGSHOT, it should ignore defense [Skotlex]
+ * Corrected Gatling Fever costing SP when trying to turn it off. Also,
+ speed increases bonuses won't take effect while it's active. [Skotlex]
+ * Updated the main makefile with a new OPT line. It is commented by default
+ since it only works with GCC 4.X, when unset, it will hide away a huge
+ amount of warnings that have to do with stuff that is not gonna be
+ corrected in eA anyway. [Skotlex]
+ * Corrected TripleAction's damage. It should do 150%*3 instead of 100*3%
+ damage. [Skotlex]
+ * Updated GS_CRACKER's stun chance using Doddler's info as reference.
+ [Skotlex]
+ * GS_FLING won't reduce armor defense when used on players. [Skotlex]
+ * Moved ignoreAll to state.ignoreAll so it saves some space. [Skotlex]
+ * Cleaned up clif_parse_Wis to prevent crashes from forged packets
+ [Skotlex]
+ * Cleaned up the implementation of the ignore list so it's more efficient.
+ [Skotlex]
+2006/11/20
+ * Implemented NPC_DEFENDER. Reduces ranged Physical+Misc damage by 80%
+ [Skotlex]
+ * Improved the battle config reader so it accepts hexadecimal values.
+ Updated the monster_ai description to make use of this [Skotlex]
+ * Added monster_ai&0x200. When set, mob skill delays are shared. That is,
+ if the mob has several lines with the same skill, when the skill is used,
+ the delay will be set to all of them, not just the one entry used.
+ [Skotlex]
+ * Corrected NPC_BARRIER so it grants 100 def/mdef (and not just mdef)
+ [Skotlex]
+ * Weapon ATK bonuses will now only apply to watk and NOT watk2 on players
+ (on players watk2 is refine bonus) [Skotlex]
+ * Corrected NPC_KEEPING. it should give 90 def, not 100 [Skotlex]
+ * You now can't use other skills while a skill-induced "window" is up
+ (teleport, refining, etc). However, be warned that we aren't quite sure how
+ the server will clear this out if you decide to hit cancel on the window,
+ so skill-blockage is likely to happen (temporary solution: whenever you
+ change maps or warp the state is reset server-side). [Skotlex]
+ * Fixed itemskill variable being cleared before parsing the skill, this
+ causes auto-casted teleport to fail to skip the skill menu. It is now
+ cleared on castend_pos/id directly. [Skotlex]
+ * Skills with state 'move_enable' will now do a "walk path" check between
+ target cell/object and caster instead of a "shoot path" check, this would
+ fix skills like snap or charge from letting you "teleport" across pits.
+ [Skotlex]
+ * Raised the amount of skills that can stack on a single cell before the
+ "in-area/out-area" detection code breaks to 24 (from 8) [Skotlex]
+ * Fixed a crash in clif_SkillInfoBlock if the passed player already
+ disconnected. [Skotlex]
+ * Added limiting drop rate to 100% from item-bonuses that depend on the
+ mob's level so that "@autoloot 100" will catch them. [Skotlex]
+2006/11/19
+ * Removed security check since source level patch is applied.
+ * Reverted select(), created prompt().
+ * Hack protection from packet monkeys in clif_parse_NpcSelectMenu. [Lance]
+ * Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue
+ to load if 'cancel' is pressed and 255 will be returned. [Lance]
+
+2006/11/17
+ * Corrected use of the party invitation reply packet, thanks to FlavioJS.
+ [Skotlex]
+ * Fixed potential hack by modifying packet of whispers. [Lance]
+ * Fixed potential crash in IRC processing message with '%' using *printf. [Lance]
+ * Fixed memory leaking caused by homun_data not freed when removed. [Lance]
+ * Fixed client not validating the chat-kick-request packet, which can cause
+ crashes. [Skotlex]
+ * Updated map_quit to handle removing of players who are not even
+ authenticated yet. [Skotlex]
+ * New connection requests are now also blocked when there's a player
+ already online but hasn't finished loading yet. [Skotlex]
+ * Because of these changes, the friendlist notification when people join
+ has been moved to LoadEndAck from pc_authok [Skotlex]
+2006/11/16
+ * Updated sql files [Toms]
+ * For the sake of avoiding confusion, all script events are named with prefix 'On'
+ from now on. [Lance]
+ * Edited atcommand and charcommand syntax. Now it doesn't need the useless
+ character name and ":". [Lance]
+ * Shadow Jump and Kirikage won't "move" you if you use them in GvG grounds.
+ Fixed Kirikage so it first warps you, and then you unhide. [Skotlex]
+ * Corrected Zeny Nage so the Zeny spent on the attack is always the exact
+ same value as the damage you are dealing. Also corrected it so it does half
+ damage when used on players. [Skotlex]
+ * Overlapping song/dances will now cause dissonance/ugly-dance level 1
+ instead of retaining the level of their song/dance. [Skotlex]
+ * Fixed wrong check in @petrename, thanks to The Ultra Mage.[Skotlex]
+2006/11/14
+ * Early Christmas present. 3 new "features" which were very easy to code,
+ and should help scripters tremendously. Eapp is quite a way from being
+ ready, so these can't hurt:
+ * Implemented Karma: It turns out that when someone has karma, the client
+ believes this character is "evil", and will give you a cursor sword on top
+ of them automatically. So now the code will let characters with karma to
+ fight each other. This enables duels and other types of restricted pvp
+ where only the characters with karma can hit each others, and the rest of
+ players with neutral karma cannot be affected. Note that Karma cannot be
+ negative, and it can have any value between 0 and 256 (any non-zero value
+ makes them appear evil on the client). For now, characters with karma can
+ hit each other regardless of karma value, but perhaps it may be better to
+ let them to hit each other ONLY if they have the same karma (the whole
+ duel implementation COULD be cleaned up using Karma instead!)
+ * Added mapflags partylock and guildlock, which lock the state of the
+ parties/guilds on said maps:
+ partylock: blocks user party requests to create/invite/leave/kick
+ guildlock: blocks user guild requests to create/invite/leave/expel/
+ make alliance/make opposition/delete alliance/delete opposition/
+ break guild
+2006/11/13
+ * Fixed a bug where the char-txt server was incorrectly saving memos,
+ causing character data to be lost on restart. [Skotlex]
+ * HP Conversion will fail when used at max SP. It should not display any
+ errors to the client. [Skotlex]
+ * Modified yet again the login procedure to enable character variables to
+ work on item scripts. It SHOULD work crashless now. Please report any
+ problems it may cause.
+ * Volcano/Deluge/Violent Gale are now interchangeable, in the sense that
+ as long as one of these is out, casting any of the three will not consume
+ gems, and will use the remaining time of the previous one. In turn, Land
+ Protector will now always consume gems on every cast. [Skotlex]
+ * Small cleanup in the Land protector code which may fix it not blocking
+ AoE skills. [Skotlex]
+ * Fixed the interpretation of "head_dir". Removed setting head_dir to match
+ character direction in the whole code. Now it is only reset to 0 (look
+ forward) when unit_setpos is invoked, or when a character begins walking.
+ Thanks to FlavioJS for figuring out how the client parses the head
+ direction. [Skotlex]
+ * Moved status_calc_pc back to pc_authok. [Lance]
+2006/11/11
+ * Fixed debug message in login_sql [KarLaeda]
+2006/11/10
+ * Deluge/Violent Gale/Volcano tiles will now fail to be placed on cells
+ that are already ocuppied by anything else. [Skotlex]
+ * status_is_immune will now return 0 or the amount of immunity of the
+ target. In which cases it returns 100 for WoH and the GTB bonus when they
+ have passed the gtb_sc_immunity setting. This enables targetted spells to
+ not "fail silently" unless GTB's magic reduction is 100. [Skotlex]
+ * Fixed Homunculus being spawned as soon as they arrive from the
+ char-server even if the Master has not spawned on the map yet. [Skotlex]
+ * AL_TELEPORT now fails when used on top of Land Protector. [Skotlex]
+ * Some minor cleanings in pc_setpos, it may (or not) help fix that
+ homunc-caused "map_addblock" error message. [Skotlex]
+ * Corrected fog of wall, so that the deleted/doubled-duration effects are
+ calculated on a cell-by-cell basis. [Skotlex]
+ * Updated Land Protector: It will now delete/block effects of ALL ground
+ skills EXCEPT: Song/Dances/Traps (encores are still blocked). Land skills
+ blocked/deleted by LP also can't be casted on top of an existing LP. The
+ code uses the inf2 value of the skill to determine if it is a
+ song/dance/trap. [Skotlex]
+ * Ganbantein, mimicking LP, will now also remove ensembles. [Skotlex]
+ * Fog of Wall will fail when casted on top of a Volcano/Violent Gale
+ [Skotlex]
+ * Applied FlavioJS's fix to the npc whisper system. [Skotlex]
+2006/11/09
+ * Fixed status-change loading not working. [Skotlex]
+ * Fixed permanent mob-spawn script-events not working. [Skotlex]
+ * AL_CURE won't confuse undead players. [Skotlex]
+ * Corrected the Fog of Wall check so that it lasts 2x when it is placed on
+ TOP of a suiton/deluge, not when the caster is on top of them. [Skotlex]
+ * Updated status_check_skilluse so that when the caster has a disabling
+ status change (stun/petrify/etc) it will block the skill in all cases
+ EXCEPT on cast-end when the skill is ground-targetted. [Skotlex]
+ * Fixed Health Conversion skill formula bug. [Lupus]
+2006/11/08
+ * Fixed Desperado's hit-rate, now it behaves as it should. [Skotlex]
+ * The GVG map-packet will now also be sent for guild dungeon maps.
+ [Skotlex]
+ * Added clif_gospel_info which displays info about the buffs you are
+ receiving. Thanks to Rayce for the packet information. [Skotlex]
+ * Fixed Spider Web not ending when hit by a fireelemental attack. [Skotlex]
+ * Cast-time reductions from status changes will not be executed until right
+ before casting, to prevent status changes from ending when attempting to
+ cast and the attempt fails (invalid cells, not enough sp, wrong target,
+ etc, etc) [Skotlex]
+ * Added check to prevent Wand of Hermod from seeking for a partner to
+ encore, since the partner is supposed to be the warp. [Skotlex]
+ * Corrected the mob spawn reading code so that the event-name can be up to
+ 50 characters long (which is the actual event length) and so that it can
+ read spaces within them, it will also strip the leading/trailing quotes if
+ you use them so that the event is actually found on mob-death (so you can
+ do stuff like "My NPC::OnDead" as a valid event). [Skotlex]
+ * Moved the homunc inherit speed from the master from status_calc_pc to
+ LoadEndAck, since the hom's speed matches that of the master each time the
+ master changes maps. [Skotlex]
+2006/11/07
+ * Applied FlavioJs's patch which enables colored console output for Windows
+ systems. It also includes a config setting called
+ "stdout_with_ansisequence" with which you can turn off the color codes (in
+ case you are logging all output) [Skotlex]
+ * Added error reporting when the max number of ground unit cells has been
+ reached (this may be the reason why sometimes it fails to recognize when
+ you step out of a song/dance/encore) [Skotlex]
+ * Added passing the Endure effect to other devoted people. Note that the
+ "hit count" is individual for each character, and only when it ends on the
+ Crusader himself will that force it to end on everyone else. It also will
+ not transfer on gvg grounds, but it does transfer in pvp. [Skotlex]
+ * Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars.
+ [Skotlex]
+ * Added a check to prevent casting ground skills on a target and vice-versa
+ when said skill use packets are received. It really shouldn't be
+ exploitable, but doing that certainly makes the server print a lot of
+ "unknown skill used!" messages. [Skotlex]
+ * Fixed map_foreachiddb and map_foreachpc so they don't encapsulate the
+ variable arguments into a double va_arg list. Thanks to the Ultra Mage for
+ the tip. [Skotlex]
+ * Cleaned up the clif_hate/mob_info functions with the correct fields/usage
+ as explained by Rayce. [Skotlex]
+ * Implemented clif_feel_hate_reset packet to properly display the Angel of
+ the Sun/Moon/Stars, thanks again to Rayce for the relevant information.
+ [Skotlex]
+ * LP will again block all land-stuff from being placed down on top of it
+ for the exception of Song/Dance/Encores. [Skotlex]
+2006/11/06
+ * Reapplied 'fix equipment scripts which are based on character variables not
+ working.' [Lance]
+ * Multiple Gunslinger skill corrections, refer to
+ http://ro.doddlercon.com/guides/gunslinger.html for information source:
+ [Skotlex]
+ - Corrected Ground Drift. Splash range of 3x3, stackable and placeable
+ underneath others, cast time is 2 secs. It's considered ranged, and it's
+ bonus damage increase is defense ignoring, always neutral.
+ - Corrected Bull's Eye implementation, it should deal normal damage against
+ non brute/demi-human targets.
+ - GS_DUST is now considered a short-range attack.
+ - Implemented Desperado's hit rate based on distance to caster as it's
+ believed to behave.
+ - GS_TRACKING's range is no longer affected by Snake Eye.
+ - GS_FLING's defense reduction is now 5*lv%
+ * Suiton's Speed/Agi penalty will affect everyone when used in versus maps.
+ * Corrected Kaupe so it doesn't ends on the first part of Soul Destroyer.
+ [Skotlex]
+ * Applied some cleaning to the way Tatami Gaeshi knocks back. [Skotlex]
+ * Cleaned up the way mobskill_use checks for the correct event. It should
+ fix unlimited mob-skill-casting issues. [Skotlex]
+ * Removed the return code entry when logging GM reload-GM requests
+ (login-sql),it'll just be stored as zero. [Skotlex]
+ * Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP.
+ [Skotlex]
+ * Applied the correction on maprespawnguildid so that it parses ALL players
+ and not just those on a map. [Skotlex]
+ * TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched
+ ones) and Preserve will be unable to block this. [Skotlex]
+ * Soul Linkers are now immune to SA_DISPEL [Skotlex]
+ * You can now place everything (except magic skills) on top of LPs.
+ [Skotlex]
+ * Corrected Ganbantein to not touch song/dance/ensembles. [Skotlex]
+ * Status_calc_pc will refuse to execute if the player is still tagged as a
+ "new connection" and the invocation is not meant to be the first one.
+ [Skotlex]
+ * Swapped the order of checks in status_isimmune so that Wand of Hermod
+ skill blocking takes precedence over GTB's [Skotlex]
+ * Client packets will all be ignored while a player is not on a map until
+ the LoadEndAck packet is received. [Skotlex]
+ * Reverted changes, moved status_calc_pc(sd,1) back to pc_authok
+ since it causes problems. [Lance]
+ * Temperory fixed stability issue caused by initial status_calc_pc
+ being placed AFTER another status_calc_pc. [Lance]
+2006/11/05
+ * Updated sql files [Toms]
+ * Updated perl files acording to rev 9135 [Toms]
+2006/11/04
+ * Readded duel code in map_quit. Why it has been removed!? [LuzZza]
+ * Converted itemdb tables to use smallint. Credits to ALZ. [Lance]
+2006/11/01
+ * Reverted LK_Berserk HP requirement, as everything, including kRO X.2 and
+ pRO X.3, points that way. [Vicious]
+2006/10/31
+ * Fixed song/dance/encore cells not being placed down when casted on top of
+ a land Protector. [Skotlex]
+ * Update homunc's speed when master's speed changes, should avoid homunc's
+ speed = 0 on login (homunc's stats are calculated before master's stats) [Toms]
+ * When Kaizel (or super novice rebirth skill) triggers, you get debuffed
+ now. [Skotlex]
+ * Modified the player_cloak_check_type and monster_cloak_check_type
+ settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal
+ attacks, and 4 makes cloaking NOT end when using skills. The default
+ setting for players is still 1, but for mobs the default has been changed
+ to 4. [Skotlex]
+ * Non-players can now use all skills while hidden. [Skotlex]
+ * Added a check to prevent adding negative damage to the total accumulated
+ damage in mob_damage. It could fix some exploits, even though mob_damage
+ should never be invoked with negative damage anyway. [Skotlex]
+ * Implemented the property where the first attacker get's double exp-share
+ than the others. Due to the way exp calculation is done, this bonus will
+ not apply when you use exp_calc_type 1 (damage/max_hp) instead of the
+ default (damage/total-damage). For now this bonus is done after calculating
+ who is the MVP character instead of before. [Skotlex]
+2006/10/30
+ * Fixed a little bug in event enqueue code [Toms]
+ * Updated the code so mobs can use ChainAction as a targetted skill.
+ [Skotlex]
+ * Added GroundDrift effects for Wind (Stun) and Fire (knockback). The
+ knockback value is unknown, so 3 is used for now. [Skotlex]
+ * Cleaned up some more the steal code, now you can't steal the last slot
+ regardless of skill level used. [Skotlex]
+ * Added consideration of Chain Action when cloning GunSlingers. [Skotlex]
+ * Modified battle_calc_return_damage to take the skill id as well, now
+ magic damage return will not work on skills tagged as ground or self
+ targetted. [Skotlex]
+ * Fixed Gank not working at all with the default max steal tries setting.
+ [Skotlex]
+ * Soul Drain won't work with skills tagged as self-targetted. [Skotlex]
+ * Improved the Suiton code so that the walk/agi penalty only applies to
+ enemies of whoever casted the skill. [Skotlex]
+ * Moved the initial status_calc_pc call to when you finish loading the map,
+ should fix equipment scripts which are based on character variables not
+ working. [Skotlex]
+ * Fixed getcharid according to samples and docs. [Lupus]
+ Thanks to joshuaali for pointing it out. eAPP has no such bug
+2006/10/27
+ * Fixed mob-skill event "skillused" not triggering at all. [Skotlex]
+ * Summoned mobs will only be removed from a map if their master is also
+ removed (dynamic mobs) [Skotlex]
+2006/10/26
+ * Updated sql files [Playtester]
+ * Experimental tweak to npc_parse_function - Overwrite existing functions. [Lance]
+2006/10/25
+ * Cleaned up some more the event dequeue code, it will no longer clear out
+ the npc_id if there's no events waiting to be executed (why does it clears
+ the npc_id anyway?) [Skotlex]
+ * Because of possible conflicts with this change and the on-login script,
+ now the on-login script is executed when the player has finished loading
+ into their start-up map rather than as soon as receiving the registry
+ variables from the char-server. [Skotlex]
+ * Some cleaning of the pc_eventtimer and pc enqueue code, it should fix
+ some memory leaks when the event counter does not matches with the actual
+ number of queued timers during logout. [Skotlex]
+ * Fixed "skill_sp_override_grffile: yes" causing crashes when parsing
+ Homuncuus/Guild skills. [Skotlex]
+ * Made the exp bonus settings be adjustable: [Skotlex]
+ - exp_bonus_attacker: Indicates how much additional exp a mob gives per
+ additional attacker (eg: 10 -> +10%*attacker)
+ - exp_bonus_max_attacker: Indicates at which number of attackers the bonus
+ is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or
+ 10 people attack it)
+ - Changed the way the party_even_share_bonus setting works. It now uses a
+ simple linear bonus increase (eg: 10 -> +10%*party member)
+ - The defaults are as explained by Tharis: +25%/attacker, capped at 12
+ attackers, no party bonus. The first two can be found in exp.conf, the last
+ one was left in party.conf
+ * MG_STONECURSE and NPC_PETRIFYATTACK now use time1 to specify the
+ "petrifying time". This value has been set to 5 seconds. [Skotlex]
+ * Now when SC_STONE is triggered from status-change cards, it's petrifying
+ duration will be passed as 0, causing the minimum (1 sec) to be used.
+ [Skotlex]
+ * Got rid of clones in src: old Novice Grounds map -> new_zone0? [Lupus]
+2006/10/24
+ * Removed again your mdef reducing "petrifying" time as apparently it can't
+ be reduced by mdef. [Skotlex]
+ * Cleaned up the "show_steal_in_party" setting so it only takes effect when
+ the item was successfully stolen (there was no point in telling you the
+ item couldn't be stolen due to being overweight) [Skotlex]
+ * Cleaned up the pc_steal_item implementation (again). It now uses a more
+ random, simple approach in each steal attempt. [Skotlex]
+ * Changed the way the skill_steal_max_tries work. Now it actually MEANS the
+ max number of steal tries, use 0 to disable (unlimited tries). [Skotlex]
+2006/10/23
+ * Added a bunch of important indexes when dealing with the log tables.
+ Added upgrade_svn9050.sql which adds these indexes as well. [Skotlex]
+ * Expanded the family check to work as it should, exp-share-range is
+ respected, and the child is not considered for it (thanks to TheUltraMage
+ for the investigation) [Skotlex]
+ * Double Casting will no longer fail when used. [Skotlex]
+ * Modified SC_STONE so that the duration of the "petrifying" time is 5 secs
+ reduced by your natural resistance to petrify (which is mdef%) [Skotlex]
+ * Modified the meaning of the third column in the skill_require_db. Instead
+ of MaxHP, this is now called MaxHPTrigger. This column (which was
+ previously unused by all skills) signals the limit HP% that you can have to
+ be able to use the skill. For example, setting it to 20 means the skill is
+ unusable if you have more than 20% life (note that this is merely a
+ threshold setting, it won't actually substract HP when used!) [Skotlex]
+ * Adjusted LK_BERSERK so you can only use it when you have 20% or less
+ life. [Skotlex]
+ * Removed NJ_TOBIDOUGU adding damage to W_HUUMA weapons which somehow got
+ readded. [Skotlex]
+ * When nonplayers use Cloaking, it will be forced to level 10 since mobs
+ shouldn't have movement/attack restrictions while walking cloaked.
+ [Skotlex]
+2006/10/20
+ * Made HAMI_CASTLE use clif_slide rather than clif_fixpos. This should
+ fix clientside problems when castling between two positions the (client)
+ path finding can't find a walkable bath between anymore. [blackhole89]
+ * Fixed the Homunc not spawning next to you after receiving it's data from
+ the char-server. [Skotlex]
+ * Fixed Charge Atk being able to go through chasm/pits. [Skotlex]
+ * Moved the homunculus DB information from the player structure to the
+ homun structure. Modified the homunculus creation packets to hold this
+ information during creation, also, all initial values are handled by the
+ map-server, the char server only assigns it a homun ID. [Skotlex]
+ WARNING: This is yet untested! It's very possible something could had
+ broken after changing the format/size of the homunc creation packets.
+ * Added config setting "summon_flora_setting", which it you can decide now
+ two things: a. Whether or not players can harm your floras outside versus
+ grounds, and b. Whether or not you can summon out and mix different types
+ of plants at the same time. [Skotlex]
+ * Likely fixed pc_steal_item always failing to steal (it was attempting to
+ steal random item IDs...) [Skotlex]
+ * Cleaned up a bit the mob on-death event so that when the killer is a
+ homunculus, it's master will be taken. Also, the variable killerrid will be
+ set before running the script to specify who delivered the final blow. If
+ the killerrid matches with the script attached player, you can be sure your
+ player did the final blow to the mob, otherwise, the attached player is who
+ did the most damage to the mob. [Skotlex]
+2006/10/19
+ * Cleaned up the log.c file. [Skotlex]
+ * Fixed log_chat not recording anything if the server is compiled in SQL
+ mode and sql_logs is turned off (it should then record to a plain txt file)
+ [Skotlex]
+ * Fixed SG_FRIEND, it should be triggering when Monks do Combo Finish (not
+ triple blows), and the trigger rate increase should be based on your known
+ level of SG_FRIEND, not TK_COUNTER. [Skotlex]
+ * Phantasmic arrow now knockbacks even if it misses. [Skotlex]
+ * Adjusted the way Monk combo times work. The combo time is now always
+ 300ms (adjusted by combo_delay_rate) which takes effect inmediately AFTER
+ your current skill's canact-delay (which is why the particular skill delays
+ were moved to skillcast_db) [Skotlex]
+ * Modified skill_delayfix so it performs the can-act reduction from agi/dex
+ for combos there. [Skotlex]
+ * Modified pc_steal_item so that it behaves more closely to the way it does
+ on Aegis. [Skotlex]
+2006/10/18
+ * Added a overflow check when calculating party exp share. [Skotlex]
+2006/10/16
+ * Adjusted UTSUSEMI/BUNSINJYUTSU so that they block range/melee weapon
+ attacks and only melee misc attacks. This isn't 100% correct, but it's a
+ better approximation to the way these skills behave. [Skotlex]
+ * Emergency call &16 (disable skill from nowarpto maps) will now NOT block
+ Emergency Call if that map is also a gvg-castle map. Makes it safe to turn
+ on this option to prevent usage from special maps (like Lhz3) without
+ crippling the skill during WoE. [Skotlex]
+ * Applied most of Mpeg's work on Ninja Skills. For information see:
+ http://gpegon.free.fr/ea/ninja_10-15-06_mpeg.txt [Skotlex]
+ * When reinvoking a combo-time, the previous combo time will be terminated.
+ This could fix the ongoing difficulties pulling off Monk combos. [Skotlex]
+ * Fixed Esma-state not ending after casting it. [Skotlex]
+ * Fixed @hominfo displaying intimacy on a 1/10k scale. [Skotlex]
+2006/10/14
+ * Homun info window to show crit value. As default, homun does NOT crit,
+ as monsters do not crit. This is purely for display purpose for players
+ to identify their homon's luk value. [Vicious]
+2006/10/13
+ * Base attack for non players is now calculated as str + [str/10]^2 (it
+ does not has +dex/5+luk/5 which players do have) [Skotlex]
+ * Fixed the char-sql server trying to read the gms off a "gm_db" config
+ setting stead of "login_db" [Skotlex]
+ * Corrected Throw Arrow/Musical Strike's damage formula [Skotlex]
+ * Altered Trick Dead. It doesn't prevents skills from being casted on you
+ now, but damage-based skills will do no damage. [Skotlex]
+ * Made the battle_config.attack_attr_none apply to pets when using the
+ "fixed damage" pet skill scripts. [Skotlex]
+2006/10/12
+ * made @killmonster make the mobs drop items again. [Skotlex]
+ * Added a temporary message when Angel of the Sun, Moon and Stars trigger
+ so you know it triggered. [Skotlex]
+ * When slaves_inherit_speed is set (which is also the default), homun will
+ have the same speed of their master when spawned. [Skotlex]
+ * When using Hatred and you already have a hate target, your current hate
+ target is displayed now. [Skotlex]
+2006/10/11
+ * Cleaned up the char-server code when the last point of a player is not
+ found. First it'll check if there's any mapserver online, and then, if
+ there is, it'll look for the major cities. If this fails, then the player
+ will be told server is closed instead of trying to send him to a "random
+ map". Will fix the char-server printing the misleading message "map
+ server not found, sending to major city" when in reality there just
+ aren't any map servers connected. [Skotlex]
+ * Corrected the mob damagelog structure so that you can't exploit it by
+ switching characters. [Skotlex]
+2006/10/09
+ * Fixed crash when char-server sends to a "random" map-server online on
+ connect. Thanks to TheUltraMage for pointing it out. [Skotlex]
+ * Should have fixed being petrified not reducing your defense and
+ increaseing your mdef. [Skotlex]
+ * Fixed SC_NOCHAT printing the "skills are now available" message twice on
+ natural expiration. [Skotlex]
+2006/10/08
+ * Updated sql files [Playtester]
+2006/10/06
+ * Updated Land Protector to block absolutely every land-based skills with
+ the exception of Encores/Dances. [Skotlex]
+ * Disabling status abnormalities will now reset a mob's target. [Skotlex]
+ * Mob morphing also resets their target now. [Skotlex]
+ * Monk combos no longer can ignore skill delay (delay skill for all their
+ combo-related skills is ASPD) [Skotlex]
+ * Now you can trade while in a chatroom. [Skotlex]
+ * Fixed homun-txt reading when the file has DOS line-type delimiters (\r\n)
+ [Skotlex]
+2006/10/05
+ * skill_blown will now trigger on-touch npcs on the landing tile. [Skotlex]
+ * Max trade distance has been reduced from 5 to 2. [Skotlex]
+ * Undisguising will now resend the cart-contents. [Skotlex]
+ * Added function npc_unload_duplicates(), it unloads all npcs that are a
+ duplicate of the passed one. For use with @unloadnpc to prevent crashes
+ when you unload the npc that has duplicates. [Skotlex]
+2006/10/04
+ * Bowling bash now always hits twice regardless of situation. [Skotlex]
+ * Added an underflow check to prevent sending to the client negative mdef2
+ value (for Frenzy'ed characters) [Skotlex]
+ * Modified pc_jobchange so that it automatically removes
+ peco/falcon/cart/homun if the new job you are changing to does not possess
+ the required skill for them. [Skotlex]
+2006/10/03
+ * Fixed a possible crash with @reloadmobdb due to pet loot timers.
+ [Skotlex]
+ * Fixed a possible crash and a memory leak on the login-SQL server when
+ parsing unban requests. [Skotlex]
+ * Renamed setting delay_dependon_dex to delay_dependon_agi, the delay of
+ skills is reduced now (when enabled) by AGI instead of DEX, which makes a
+ lot more sense than DEX. [Skotlex]
+2006/10/02
+ * Modified item-granded status resistance reduction to behave as explained
+ by Vicious (Ragnarok Monthly magazine) [Skotlex]
+ * Added the opt3 values to Eske [Skotlex]
+ * Fixed the txt->sql converter only saving the very first character
+ permanent variable. [Skotlex]
+ * Fixed the txt->sql converter saving account-wide variables as
+ character-wide ones. [Skotlex]
+ * Renamed nopenalty mapflag to noexppenalty. Using nopenalty will turn
+ on/off both noexppenalty and nozenypenalty now. [Skotlex]
+2006/10/01
+ * Removed the speed adjustment per level of Increase/Decrease Agility
+ [Skotlex]
+ * Fixed humunculi skill exploit, thanks to mr.rkit [Lupus]
+2006/09/30
+ * Rewrote the txt->sql converter. It now links directly to the char server
+ files so that it should get auto-updated with any code changes in the
+ later. [Skotlex]
+ * The converter will now also convert: account-wide variables, parties,
+ guilds, guild storage and guild castles. At this point the only two things
+ not converted are login-server-wide account variables (##, they belong to
+ the login converter) and homunculus (the SQL save function is messy and
+ doesn't lends itself to be integrated with the converter the way all the
+ other functions are). [Skotlex]
+ * misceffect2 will no longer cause the effect on top of the source object
+ when it is the fake npc. [Skotlex]
+ * Added check so that Frost Nova doesn't hides hitting animation on
+ targets. [Skotlex]
+ * Added the missing brackets around the trade logs condition check, thanks
+ to Coltaro. [Skotlex]
+2006/09/29
+ * Spurt state will now trigger on Soul Linkers as well. [Skotlex]
+ * Added a check un unit_run when unit_walktoxy fails. Should fix running
+ getting you stuck sometimes when running on diagonals near obstacles.
+ [Skotlex]
+2006/09/28
+ * Merged the necessary changes to make the script engine support negative
+ constants (db/const.txt). Thanks to Rayce (from jA) for the code. [Skotlex]
+ * Cleaned up the skill.c code to take into account when skill_unitsetting
+ returns null (skill failed), fixes a possible crash with Wand of Hermode
+ [Skotlex]
+2006/09/27
+ * Cleaned up status_get_party/guild_id, it should also fix a possible crash
+ when invoking such a functio on a masterless pet. [Skotlex]
+ * Sharp-Shooting will now display a skill animation. [Skotlex]
+ * The no_spawn_on_player setting will now also work for static mobs, but
+ only if the setting is set to 100 or higher. [Skotlex]
+2006/09/26
+ * Yet again messed with the packet sent during a splash attack, but this
+ time taking into account the packets that eA was using some many revisions
+ ago. Tests are needed to see if Magnum Break/Grimtooth don't spam the skill
+ animation anymore, and to see if GrandCross didn't break it's animation as
+ well. [Skotlex]
+ * Added function skill_dance_switch which handles converting overlapping
+ song/dances to dissonance/ugly dance. It should make the overlapping area
+ now behave completely like the mentioned song/dances (taking into account
+ interval and target type changes). [Skotlex]
+ * Updated battle_check_target so that non-offensive skills cannot be used
+ on a homun except for the homun and it's master. [Skotlex]
+ * Steal zeny won't work on treasure chests now. [Skotlex]
+2006/09/25
+ * Added an ugly check so that Heal will display 0 when healing a berserked
+ character (and it will again display full heal amount when healing a player
+ who's at full life) [Skotlex]
+ * Disabled again client-self-muting since it's causing too much trouble.
+ [Skotlex]
+ * Merged FlavioJS's script patch which should fix stuff like "mes ();"
+ causing crashes. [Skotlex]
+ * Item group reading will now complain when a line doesn't has enough
+ fields. [Skotlex]
+ * Fixed #baselevelup adding instead of substracting status points when used
+ with negative levels. Also made it reset your stats if there wasn't enough
+ to substract from. [Skotlex]
+ * Applied FlavioJS's suggestion of expanding WFIFOPOS to also take the
+ direction. This had the side effect of fixing the direction missing from
+ the mob spawn packet, which explains why all npcs face north when you are
+ within sight while doing a @reloadscript. [Skotlex]
+ * Changed the order of packets in TK_HIGHJUMP, may fix the reports of
+ getting stuck when jumping into a warp. [Skotlex]
+ * Changed a bit the code of marionette control, where a redefined local
+ variable may be the cause of mob-targetted Marionette Control stacking
+ stats up. [Skotlex]
+2006/09/24
+ * When the code auto-guesses that a skill should require ammo, it will
+ accept any type of ammo for using it instead of only arrows. Fixes Magnum
+ Break usage on Gunslingers. [Skotlex]
+2006/09/22
+ * Probably fixed a signed/unsigned mismatch warning on the new socket code.
+ [Skotlex]
+ * Fixed the "map server claims to have char online, but this other map
+ server also has it tagged as online" message triggering in some cases where
+ it shouldn't. [Skotlex]
+ * Fixed some maps in db/mapindex.txt being under the wrong id and added comments
+ so this will not happen again. [Zephiris]
+ --- ATTENTION! ---
+ People running TXT servers will have to tell their players to redo their /memo
+ points since the map ids of the old file were wrong.
+2006/09/21
+ * Fixed a bug on "select" when skipping empty entries when the selected
+ entry is the last. [Skotlex]
+ * Improved a bit RFIFOFLUSH as suggested by Harbin. [Skotlex]
+2006/09/20
+ * A mob's HP is set temporarily to 0 before invoking it's on-death script,
+ prevents said scripts being able to "rekill" the mob indefinitely (if stuff
+ like killmonster is used within) [Skotlex]
+ * Some small cleanups in chat.c [Skotlex]
+ * Fixed party_sub_count (TK_POWER) failing when the idle_no_share setting
+ was disabled. [Skotlex]
+ * Enabled Star Gladiators and Soul Linkers to do /doridori [Skotlex]
+2006/09/19
+ * Fixed nocommand mapflag causing the "you can't use commands on this map"
+ message to trigger one very single chat, instead of only for actual @/#
+ command invocation. [Skotlex]
+ * Added support for skipping empty string menu entries for the select()
+ command (just as `menu` has it already) [Skotlex]
+ * Fixed pc_set_hate_mob letting you place mobs on any of the three
+ positions regardless of size [Skotlex]
+ * The double continuation error will now display both scripts that
+ triggered it. [Skotlex]
+ * Loading the storage from the char-server will fail if player is already
+ tagged in final save state. [Skotlex]
+ * Removed setting ban_spoof_namer, sending invalid global-talk packets will
+ now just kick the player out of the server. [Skotlex]
+ * Added echoing messages back to self when using @/# commands on whispers
+ and party/guild messages, to prevent the client from muting yourself.
+ [Skotlex]
+ * Fixed some gcc4 warnings [Toms]
+2006/09/18
+ * Fixed Spider Web fire damage bonus. [Skotlex]
+ * Made Global chat always reply back to you even on @/# commands, this
+ prevents the client from muting yourself due to "hack". However, this same
+ fix isn't easily applicable to @ commands invoked from whispers or
+ party/guild messages, those are still pending. [Skotlex]
+ * Merged Meruru's update to socket.c, which includes a rewritten parse
+ function, which should hopefully be more efficient than the previous code.
+ [Skotlex]
+ * The new code includes support for two config settings
+ (packet_athena.txt): frame_size, which can be used to alter the logic
+ packet-size allowed by the code, and mode_neg, which when set to yes, sets
+ TCP_NODELAY on all connections (defaults to yes). [Skotlex]
+ * High-Jump is usable everywhere now, except that on maps where it
+ previously failed, now will just make you jump in place. [Skotlex]
+ * Fixed TK_RUN as per packets provided by AuronX. [Skotlex]
+ * Moved the equipment/card resistances to status ailments outside of
+ status_get_sc_def, so that they are applied only to rate, not duration.
+ [Skotlex]
+ * Modified the Asura code (again), hopefully movement sprite issues are
+ fixed now [Skotlex]
+ * @reloadscript scripts will no longer eliminate mobs with no respawn data.
+ But watch out for possible bugs (I think someone mentioned 1 extra
+ treasure box will spawn when you use it? This needs testing!) [Skotlex]
+ * Made speed_add_rate a linearly stacking increase. [Skotlex]
+ * Corrected a possible overflow when using show_mob_info to display the
+ mob's up as a percent. [Skotlex]
+ * Corrected the documentation for checkoption/checkoption1/checkoption2
+ [Skotlex]
+ * Reenabled client requesting to self mute, as the whole knockback packet
+ issues of the past which were causing players to mute themselves when being
+ knockback is no longer there. [Skotlex]
+2006/09/17
+ * Fixed NPC_INVISIBLE's cloak ending after attacking once. [Skotlex]
+ * Fixed SG_FUSION being castable without Soul Link state. [Skotlex]
+ * Moved the item-use restriction SC checks from clif.c to pc_use_item,
+ fixed Gravitation blocking potion usage on it's area of effect. [Skotlex]
+ * Sphere Marines and Summoned Flora are now immune to class-changing.
+ [Skotlex]
+2006/09/16
+ * Added monster_ai&256. When set, a monster will pick a random starting
+ position to begin checking versus it's skills, otherwise, it will always
+ begin checking from the beginning. [Skotlex]
+ * Fixed the status change duration reduction equation was was totally
+ wrong, thanks to k3dt [Skotlex]
+2006/09/15
+ * Now mobs won't do a distance check to lose their target on every ai
+ iteration, but only when they finish walking (unless you set monster_ai&1)
+ [Skotlex]
+ * The chase distance before a mob gives up following a player has been
+ increased from view-size (range2) to min-chase (range3). [Skotlex]
+ * Reverted the Summon Flora change where all plants were being summoned in
+ one go. [Skotlex]
+ * Moved the weapon repair effect to where it belongs (after successfully
+ repairing an item) [Skotlex]
+ * Added config setting "friend_auto_add" (battle/player.conf), if set, when
+ you accept someone as your friend, both characters will show up on each
+ other's friend list. [Skotlex]
+2006/09/14
+ * Changed Extremity Fist's code to make you actually walk past your target,
+ which displays a much more correct "animation" for the skill. Thanks to
+ HiddenDragon for the information and code. [Skotlex]
+ * Updated the item_db search functions so that when returning the
+ dummy-item, it first updates the nameid to match the requested one, this
+ prevents pc_additem later on giving you an item with ID 500 instead of the
+ ID requested. [Skotlex]
+ * Added a clif_skill_nodamage packet when using Repair Weapon, just to see
+ what happens. [Skotlex]
+ * Likely fixed "half" of the alliance being saved, which ends up in guilds
+ that can attack another, but not viceversa. [Skotlex]
+ * Added deleting of saved Status changes on character delete for the
+ Char-TXT server. [Skotlex]
+ * Fixed the can-act delay never being checked when requesting to use
+ Homunculus Skills. [Skotlex]
+ * Fixed warmth skills draining SP of the target, not the caster. [Skotlex]
+ * When TK_DODGE triggers, it will no longer delay your attack or movement.
+ [Skotlex]
+ * Estimation /Sense/ whatever will no longer hide the vit bonus to mdef2,
+ as reported by Playtester. [Skotlex]
+ * Updated Summon Flora to summon the max number of possible plants on one
+ cast. It will consume as many bottles as monsters summoned. Also cleaned up
+ the function to be usable by non players. [Skotlex]
+ * Shadow Jump no longer goes over walls. [Skotlex]
+ * battle_calc_gvg_damage will be invoked in gvg maps regardless of woe
+ time. [Skotlex]
+ * NPC_MENTALBREAKER now zaps matk*lv SP based on observations by Tharis.
+ [Skotlex]
+ * md->class_ will be changed on mob-class-change to fix all class-change
+ related bugs. On respawn, the spawn data will be used to revert to the
+ original class. [Skotlex]
+ * Improved the pet skillbonus timer for "eternal bonuses" cases where the
+ bonus delay is 0. [Skotlex]
+2006/09/13
+ * SC_CHANGE cannot override itself anymore. This fixes being able to
+ "recast" the skill while it's still active to lengthen the duration AND
+ reheal the target. [Skotlex]
+ * Changed a bit the dnsbl lookup in the login servers to make it faster.
+ [Skotlex]
+ * Moved the pc rate modifiers from items
+ (hp/sp/matk/hit/flee/cri/flee2/def2/mdef2/def/def2/speed) from
+ status_calc_bl_sub_pc to status_calc_pc, as it simplifies code vastly, and
+ also fixes Osiris card not applying to said bonuses. [Skotlex]
+ * Fixed pc_damage_delay_rate not working, thanks to Orn. [Skotlex]
+ * Modified the nocommand mapflag so you can specify the GM range that is
+ blocked from using commands (eg: "prontera.gat mapflag nocommand 40"
+ disables commands to characters in the GM range 0~39) [Skotlex]
+ * Modified the char-server TXT whisper system to use the online_db to know
+ to which map server forward whispers, instead of just sending the whisper
+ to every map server. [Skotlex]
+ * Readded the setting TCP_NODELAY on socket.c to see if it fixes the
+ walk-lag issue. [Skotlex]
+2006/09/12
+ * Modified the login SQL server so that case insensitive lookups use "where
+ name = BINARY 'name'" instead of "where BINARY name = 'name'", since this
+ way the name index should be used, and performance will no longer be
+ heavily affected. [Skotlex]
+ * Modified main.sql to add 4 missing indexes (thanks to ErkDog): char_id on
+ the tables memo/friends, and online/name on the char table. Added
+ upgrade_svn8728.sql to add these indexes to already existing tables.
+ [Skotlex]
+ * Updated convert_engine.sql to use TYPE instead of ENGINE to be compatible
+ with Mysql 4 installations. [Skotlex]
+ * Moved the morph restrictions from skill_additional_effect to
+ mob_class_change, so that SA_MONOCELL will not convert clones, emperium, or
+ treasure boxes. [Skotlex]
+ * Fixed 'range' might be used uninitialized warning [Toms]
+ * Added Jaguar's sql script to convert all tables to MyISAM. It's located
+ in sql-files/convert_engine.sql WARNING: Using MyISAM is much faster than
+ InnoDB, but you are strongly recommended to backup your database before
+ switching engines since we don't know if eA is fully coded to work
+ correctly with MyISAM yet. [Skotlex]
+ * Added manual deletion of sc_data entries when deleting a character
+ (char-SQL) [Skotlex]
+ * Updated main.sql to use pure MyISAM tables, removed all foreign keys.
+ [Skotlex]
+ * Updated battle_switch to use strncmpi instead of strcmpi, it makes it so
+ using "yessir" will match "yes", this is actually needed because if you set
+ a config setting to "yes " (notice the trailing space), then the map config
+ engine fails to read it right, and will set the config setting to 0 (no).
+ [Skotlex]
+ * Some corrections to hate_mob cleanup when triggering the Angel stuff. [Skotlex]
+ * Updated the show_mob_info setting to add another space to the separating
+ pipes, so that each field is separated by " | " instead of " |". [Skotlex]
+ * Homunculus intimacy will go back to 500 on evolution. [Skotlex]
+ * Baphomet splash damage will now hit nearby enemies regardless of flee
+ (but the initial attack still has to connect for the splash to trigger)
+ [Skotlex]
+2006/09/11
+ * Modified set_nonblocking and setsocketoptions in socket.c, using eApp's
+ code as reference. Hopefully should improve performance somewhat. [Skotlex]
+ * Added a comment explaining what a comment is to login/char/map config
+ files, as well as the main script config file. [Skotlex]
+ * Modified SG_FEEL so that it works the same way that in Aegis
+ (packet-wise) [Skotlex]
+ * Added a comment to explain how to "remove" a string variable from the
+ msg_athena entries. [Skotlex]
+ * Summoned and slave mobs won't show up on @showmobs anymore. [Skotlex]
+ * Moved Spider Web damage bonus from battle_calc_damage to battle_attr_fix,
+ so that damage will be doubled based on the actual attack element.
+ [Skotlex]
+ * Adjusted autospell cards to trigger only on physical weapon attacks.
+ [Skotlex]
+ * Adjusted a bit the heal code, it should now show either the full heal
+ amount, or 0, depending on whether the target was healed at all or not
+ (this also means it shows 0 if you try to heal a full-life character.. but
+ it's the closest I've gotten to make it display 0 on Berserked chars)
+ [Skotlex]
+ * Memorize will be consumed even on instant cast spells now. [Skotlex]
+ * Berserk will end now if hit and remaining hp is less or equal to 100.
+ [Skotlex]
+ * Guild Aura will be removed on sc-load to prevent Guild Masters from
+ getting that bonus from the old implementation. [Skotlex]
+ * Added D-Kalck's fix of the TXT -> SQL converter [Playtester]
+2006/09/10
+ * Thanks to KarLaeda, added missing function in @showmobs [Lupus]
+ - Script function 'query_sql': In the TXT version it doesn't fill the array
+ and always return -1. Added for scripts compatibility. Your scripts
+ won't crash in TXT version. They can work it around.
+ I suggest we need a function getversion()
+ * Updated item_db.sql and mob_db.sql [Playtester]
+2006/09/09
+ * Added a crash protection in case mapfreeblock unlock tries to free a null
+ pointer. [Skotlex]
+ * Moved perfect_hiding from state to special_state, so that it clears out
+ when you remove your pet. [Skotlex]
+ * Probably fixed the Taekwon Rest skills. [Skotlex]
+ * Fixed a npc-timer memory leak on npc_unload ("[Warning]: ers_obj_destroy:
+ X entries missing, continuing destruction. Manager for entries of size
+ 16.") [Skotlex]
+2006/09/08
+ * Unified the rest and ganster paradise code into a single function.
+ [Skotlex]
+ * Moved the Happy State trigger to the regen function, it now triggers at
+ the same time SPTIME does. [Skotlex]
+ * Cleaned up SG_HATE, hope it works now. [Skotlex]
+ * Removed sg_miracle_skill_duration, replaced it with
+ sg_miracle_skill_min_duration and sg_miracle_skill_max_duration, to specify
+ a range for the duration of the skill. [Skotlex]
+ * Added upgrade_svn8675.sql in case, for some reason, your guild table
+ still has the emblem_data field as a 'blob' with "NOT NULL" specified.
+ [Skotlex]
+ * Fixed alliance/opposition making not cancelling out map-server-side when
+ the guild already had max number of alliances/oppositions (thanks to k3dt)
+ [Skotlex]
+2006/09/07
+ * Fixed SC_BERSERK setting Hp to 100 when dispelled by unnatural means (eg:
+ wand of hermod) [Skotlex]
+ * Cleaned up the doridori parse clif function. [Skotlex]
+ * Merged some of mpeg's work on NJ skills [Skotlex]
+ * Removed the Warmth "stacking" code. [Skotlex]
+ * Added back the effect of /doridori to skill-SP regen [Skotlex]
+ * Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low
+ chance of triggering on doridori-boosted SP-regen events. However, it has
+ no client-side messages yet (need to add these in) [Skotlex]
+ * Added sg_angel_skill_ratio to specify rate at which the Angel skill
+ triggers. [Skotlex]
+ * Added unit_cancel_combo which takes care of ending a combo time and
+ resuming normal attack 'inmediately' [Skotlex]
+ * Cleaned up some the SG_HATE code, you can't change hate targets anymore.
+ [Skotlex]
+2006/09/06
+ * Fixed the memset in status_calc_pc, corrects some mysterious bugs such as
+ item-drop bonuses suddenly not working anymore. [Skotlex]
+ * Corrected SC_INCREASEAGI and SC_DECREASEAGI speed-change formula.
+ [Skotlex]
+ * Fixed Aex Aeterna ending on Soul Breaker's first half. [Skotlex]
+ * Applied Orn's modification on speed increases/reductions with increase/
+ decrease agi [Toms]
+2006/09/05
+ * Removed setting mob_show_hp, it's been replaced now by mob_show_info,
+ which can be used to specify what kind of info should be displayed from a
+ mob. Current options are two different formats for Hp display, and current
+ level (monster.conf). [Skotlex]
+ * Fixed Signum Crucis Def reduction being 10+2*lv% instead of 10+4*lv%
+ [Skotlex]
+ * Applied the Ultra Mage's suggestion to have the map server strip trailing
+ spaces/comments from the config files. It will also now print out when an
+ unknown config setting is found. [Skotlex]
+ * Fixed status change resistance not being invoked at all for pretty much
+ all cases. [Skotlex]
+ * Corrected SC_INTRAVISION not starting. [Skotlex]
+ * Fixed crash when attempting to read a Label as a string on a script
+ (thanks to End of Exam) [Skotlex]
+ * Fixed possible crash when changing a chat-room's owner (thanks to End of
+ Exam) [Skotlex]
+ * Fixed dispell removing SC_NOCHAT [Skotlex]
+ * Small fix which should correct skill_attack damaging hidden characters
+ when it shouldn't. [Skotlex]
+ * Fixed connect_until field being a smallint rather than int in the login
+ table (upgrade with upgrade_svn8630.sql) [Skotlex]
+2006/09/04
+ * Fixed crash when using Adaptation during an Encore. [Skotlex]
+ * Should have fixed manner being reset to 0 on logout while muted.
+ [Skotlex]
+ * Removed status_get_sc_tick, duration and chance are now both handled by
+ status_get_sc_def (this means status change duration and success rate
+ both will always follow the very same formula) [Skotlex]
+ * Fixed mob-kill experience getting screwed up when characters who did
+ damage die/logout at the moment the mob dies. [Skotlex]
+ * Should have fixed "sleep", thanks to Lance for figuring out the error.
+ [Skotlex]
+ * SC_REFLECTSHIELD will now be passed to devoted characters at cast-time.
+ [Skotlex]
+ * Added a check to make a mob's level 1 if the read level from the db is
+ less than it. [Skotlex]
+ * status_calc_misc will now be invoked in status_calc_bl even on the first
+ call, since status could have gone up due to skill bonuses. [Skotlex]
+ * Moved max HP/SP calculations to before invoking status_calc_misc
+ [Skotlex]
+ * Simplified distance and check_distance to use "aegis" methods (greater of
+ dx/dy = distance), there's a new define in map.h called CIRCULAR_AREA, when
+ set, the previous method is used, and "for each in range" calls will also
+ check for distances, making most ground skills and battle system use real
+ circles instead of squares. [Skotlex]
+2006/09/03
+ * Fixed SC_BERSERK's no regen penalty lasting pretty much forever.
+ [Skotlex]
+2006/09/02
+ * SC_REGENERATION's val4 now holds the RGN flag of what is blocked rather
+ than blocking all types of regen. [Skotlex]
+ * LK_BERSERK will now only block natural regen on state-end. [Skotlex]
+ * SC_EXTREMITYFIST/SC_DANCING/SC_EXPLOSIONSPIRITS will only block natural
+ sp regen and not skill regen [Skotlex]
+ * SC_REGENERATION blocking will be cancelled on logout now. [Skotlex]
+ * Corrected SCB_LUK not updating SCB_BATK as well. [Skotlex]
+2006/09/01
+ * Corrected script_commands description of getequipid, it returns -1, not 0
+ on fail. [Skotlex]
+ * Fixed the mob-id check during pet_db loading, it will also now print when
+ a pet is not loaded due to having an invalid mob class specified. [Skotlex]
+ * The "delete_timer error/no such timer" report will now print the related function [Toms]
+ * The Clearing unused stack report will now print the related NPC [Toms]
+ * The duplicate npc report will now print the related file name [Toms]
+ * Added config setting "partial_name_scan", which specifies whether @ given
+ names should use a partial string lookup or absolute name lookup. Defaults
+ to no (gm.conf) [Skotlex]
+ * Expanded status_calc_misc so it may also calculate the batk of characters
+ as well as their regen data (if they have it) [Skotlex]
+ * Fixed a memory leak when using charsave_method:1 [Skotlex]
+ * Soul Breaker will now be affected by Lex Aeterna on both parts of the
+ attack. [Skotlex]
+ * Status changes with no skill and no SCB* data will now go through if they
+ have an SI* icon. This should fix SC_MIRACLE [Skotlex]
+ * Reverted switching a mob's adelay/amotion when the later is longer than
+ the former, now both get updated to amotion. [Skotlex]
+2006/08/31
+ * Moved the intimacy penalty of HFLI_SBR44 and HVAN_EXPLOSION to
+ skill_counter_additional_effect [Skotlex]
+ * Simplified skillnotok_hom by using an invocation to skillnotok [Skotlex]
+ * Hopefully fixed BD_ADAPTATION [Skotlex]
+ * Homun won't lose any intimacy on death now. [Skotlex]
+ * Homun will be saved together with the master now (as long as the homun is
+ active) [Skotlex]
+ * Modified the error reporting in map_freeblock_unlock so that when there's
+ an error, the reported line number is the file's linenumber plus the
+ object's type *10000. This is for debug information to help track down the
+ already-freed error. [Skotlex]
+ * pc_adopt will now preserve the kid's job/job-level/experience. This means
+ that if you adopt a Swordman level 45, it will become a baby-swordman level
+ 45, with the exact same exp as before. [Skotlex]
+ * Fixed new mob's name not sent to the client when the mob is morphed [Toms]
+ * Added setting attack_walk_delay which specifies whether a character
+ should (or not) be able to move inmediately after starting a normal attack
+ (battle.conf). Defaults to 0 since that's what Aegis uses. [Skotlex]
+ * Fixed @summon's delete timer being screwed up. [Skotlex]
+ * Cleaned up a bit the summon script command. [Skotlex]
+ * Fixed the clone script command's delete-timer being screwed up. [Skotlex]
+2006/08/30
+ * Skill required-state will now only be checked on cast-begin, not
+ cast-end. [Skotlex]
+ * Added a check in status_calc_pc to prevent player rate adjustments from
+ from going below 0. [Skotlex]
+ * Removed sending normal-damage packets instead of skill packets for
+ splash-damaged skills, since... well, that's how Aegis does it. [Skotlex]
+ * Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv
+ vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv
+ minutes. Hp/Sp is no longer set to 10 after a forced expiration. [Skotlex]
+ * Fixed up char-sql compilation. [Skotlex]
+ * Added a message to @clearweather stating when climate changes will
+ dispel. [Skotlex]
+ * Corrected @hidenpc saying that it's command name was "@npcoff" [Skotlex]
+ * Updated itemdb reading on the char-sql server so that it reads both
+ item_db and item_db2 files (totally untested yet) [Skotlex]
+2006/08/29
+ * Added printing out whenever the irc-module attempts to connect, to debug
+ whether the map-server lag is due to this or not. [Skotlex]
+ * Mobs will now always chase players using hard-path seeks. [Skotlex]
+ * monster_ai&1 now only signals whether mobs should update their target
+ cell while chasing more frequently (rather than being state-driven like
+ Aegis) [Skotlex]
+ * Changed the defaults of view_range_rate and chase_range_rate to 120 to
+ aproximate better Aegis's view ranges (which are square areas and not
+ circles) [Skotlex]
+ * Applied Mpeg's work on GS [Toms]
+ ( http://gpegon.free.fr/ea/gunslinger_08-29-06_mpeg.txt )
+ * Fixed a syntax error in @showmobs [Toms]
+ * Added @showmobs. It shows selected mobs on your mini-map (excluding
+ mini-bosses & MVP) thanks to KarLaeda for the command [Lupus]
+2006/08/28
+ * Modified the dancing code and Moonlit Petals in particular, so that it is
+ treated as an ensemble like any other, it will just knockback people when
+ they step into it. [Skotlex]
+ * The memory leak reports will now print out in the logs also the revision
+ they belong to. [Skotlex]
+ * Cleaned up the scriptable npc-shop code, it should be crash-proof now.
+ [Skotlex]
+ * Added TK level-up buffs to SG too, and extended them to 10 min [DracoRPG]
+ * Added "Barefeet Mastery" effect to TK_RUN (thanks Tharis for both) [DracoRPG]
+ * Changed the produce_db format, now there's a skill-lv column right after
+ the skill-id column to specify required skill-level to craft this item.
+ [Skotlex]
+ * Modified the skill produce_db code to take into account the new skill-lv
+ requirement. [Skotlex]
+ * Fixed exp bonuses applying twice for the job-exp [Skotlex]
+ * @reloadbattleconf will now also update the ragsrvinfo table on the
+ char-server. [Skotlex]
+ * Fixed homun hp/sp growth rates stacking with HP/SP passive increasing
+ skills. [Skotlex]
+2006/08/27
+ * Fixed undefined reference to 'malloc_set' in log.c [Toms]
+ * Updated svn-revision reading, now it can read the new svn file system [Toms]
+ * Fixed a bug with homunc which could spawn on a non-walkable cell [Toms]
+2006/08/26
+ * Optional macro MEMSET_TURBO for faster low-level memory initializations. [Lance]
+ * Small bug fix in read_homunculus_expdb (a warning was always displayed) [Toms]
+ * Small adjustment on the mob_ai code which could fix mobs not chasing you
+ if you hit them from the maximum possible diagonal distance. [Skotlex]
+2006/08/25
+ * Cleaned some the skill unit removal added flag so that it signals whether
+ the skill is being force-removed, or it has "naturally expired". [Skotlex]
+ * The following skills will display a normal attack animation now:
+ NPC_WATERATTACK, NPC_GROUNDATTACK, NPC_FIREATTACK, NPC_WINDATTACK,
+ NPC_POISONATTACK, NPC_HOLYATTACK, NPC_DARKNESSATTACK,
+ NPC_TELEKINESISATTACK, NPC_SPLASHATTACK
+ * Skills that require a weapon and consume spirit spheres will no longer be
+ auto-tagged to require ammo. [Skotlex]
+ * Now MISC skills with delay 0 will also use the attack delay (if the skill
+ is tagged to do damage) [Skotlex]
+ * Added script commands roclass/eaclass to enable scripts to access eA's
+ job format. Read script_commands.txt and ea_job_system.txt for a more
+ complete explanation of how this job system works. [Skotlex]
+ * Added a flag to skill_delunitgroup, skill_delunit & skill_unit_onlimit.
+ If 1 is passed, it will avoid UNT_WARP_ACTIVE to be transformed in
+ UNT_WARP_WAITING and will destroy it. [Toms]
+ ( To avoid such crash : http://www.eathena.ws/board/index.php?showtopic=114102
+ when the code need an empty slot and the oldest one is UNT_WARP_ACTIVE )
+2006/08/24
+ * Little cleanup on homunc's code [Toms]
+ * Modified @reloadmobdb & @reloadskilldb to reload homunc's db too [Toms]
+ * Now when a mob's adelay is set to be less than the amotion, both values
+ will be swapped (this is an attempt to understand how those mobs actually
+ work on aegis) [Skotlex]
+ * script command "isrefine" will no longer return always false for equip
+ positions above 6 (this has not been needed since the addition of the
+ refine column to tbe item_db many months ago) [Skotlex]
+ * Added NPC_CRITICALSLASH to the list of skills that display as a normal
+ attack. [Skotlex]
+ * Reverted the previous change, changed the pet capture code to try to
+ capture a mob based on their view class rather than actual class.
+ [Skotlex]
+ * Fixed the md->class_ variable not being updated when a mob's class is
+ changed. [Skotlex]
+ * Added setting clear_skills_on_warp to specify when a character's
+ land-based skills are deleted when the caster changes maps. Defaults to all
+ types. [Skotlex]
+ * Should have fixed Brandish Spear not passing the flag to skill_attack,
+ causing it to do miserable damage. [Skotlex]
+ * Warp Portal will no longer be removed when caster steps through it (this
+ is left to the new clear_skills_on_warp setting) [Skotlex]
+ * Cleaned up status_percent_change to switch equations when the target has
+ high hp to prevent overflows, also it will directly take hp/maxhp when a
+ rate of 100 or higher is passed to prevent calculations. [Skotlex]
+ * Traps and Land Elemental fields are no longer automatically removed on
+ map change (handled now by clear_skills_on_warp) [Skotlex]
+ * traps_setting &2 no longer does anything (handled now by blah blah)
+ [Skotlex]
+ * Applied some change from mpeg on Ninja Skills [Toms]
+ * Put HVAN_Explosion based on max_hp instead of current hp [Toms]
+2006/08/23
+ * Fixed mob_clone_spawn completely ignoring the mode variable. [Skotlex]
+ * Fixed Energy Coat reducing and consuming more than it should when you
+ have 100% SP [Skotlex]
+ * Cleaned up getmapxy script function, also added support for type 4 so
+ that it returns a player's homunculus position if such exists. [Skotlex]
+ * SC_ARMOR_ELEMENT looks like gone away from status_change_start since ... rev 6791.
+ Try to reimplement it. [Toms]
+ * Fixed HVAN_EXPLOSION [Skotlex]
+ * Frost Nova won't display a nodamage skill packet (still need to sort out
+ a way to fix the splash damaged packets) [Skotlex]
+ * Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown [Toms]
+ * Added debug on "Inifity loop" to know which script is making this loop [Toms]
+2006/08/22
+ * More fixes to the splash code. Kamaitachi and Sharpshooting should
+ display correctly now. [Skotlex]
+ * Fixed a crash on the mobspawn script command. [Skotlex]
+ * Made SC_FLEET increase batk as well as watk. [Skotlex]
+ * Fixed gcc warning [Toms]
+ * Fixed AM_REST not closing the homunc status window [Toms]
+ * Fixed SC_NEN according to Mpeg [Toms]
+ * Added a ShowStatus("Terminating...\n") on login-server_sql [Toms]
+ * Some corrections to make Tatami Gaeshi work correctly. [Skotlex]
+ * Fixed SBR44 doing 100% more damage than it should. [Skotlex]
+ * Some more work on the splash skill code. Now splash-damaged enemies
+ should show no animation at all, just the damage-number, while only the
+ targetted character should still display the full skill animation.
+ [Skotlex]
+ * Modified the homun-txt file-save format to separate the name from the
+ rest of fields with tabs (like character saving does), this may fix homun
+ save/loading when using non-latin characters on the name, but be warned
+ that it also means the previous homun-data files are lost! (unless you
+ replace the comma before the start of a name with a tab) [Skotlex]
+ * getnameditem will now also work on stackable items [Skotlex]
+ * Corrected battle_calc_weapon_attack so that all skills ignore your
+ left-hand weapon, and that the Katar's double-attack damage bonus for the
+ offhand damage applies ONLY on normal attacks. [Skotlex]
+ * Fixed Resurrect Homunculus's % to 20*lv% [Skotlex]
+ * Added SQL update which should remove \' from guild names [Toms]
+ * Added option to disable character deletion of certain levels [Lupus]
+ check char_athena.conf for this option format
+2006/08/21
+ * Some more cleaning up of the splash skill code. Now the passed hit value
+ for the splash targetted mobs is 9 instead of 5, this allows multi-hitting
+ splash skills to display the number of hits correctly. [Skotlex]
+ * Fixed call homunc bug when the homunc was vapo and the master has change
+ of map [Toms]
+ * Fixed SQL-Guild Creation, guild name was escaped 2 times [Toms]
+ * Some cleaning of the splash skills. Updated skill-attack to enable again
+ passing of flag 0xF000 which signals that the skill level sent to the
+ client should be -1 (no skill name shouted). Should (hopefully) clear/clean
+ up a bunch of splash damage skill animation-related packets. [Skotlex]
+ * Homun saving won't cap hp/sp to max hp/sp since a homun can have higher
+ hp/sp than the one stated in the db (due to skill bonuses or status
+ changes) [Skotlex]
+ * Cleaned up some more the regen_data structure, so that
+ skill/sitting-skill related data is optional (since only players have it).
+ [Skotlex]
+ * Fixed AM_RESURRECTION, thanks to RockmanEXE for %HP values [Toms]
+ * Fixed HAMI_CASTLE, HAMI_DEFENCE & HLIF_AVOID [Toms]
+ * Adjusted Glittering's success rate to 20+10*lv% [Skotlex]
+ * Corrected isequipped() so that cards will not be tagged as "used up"
+ unless all the specified items were found. [Skotlex]
+ * Fixed a confusion in skill_attack using the src instead of dsrc for some
+ calls, which was causing some problems with the KAITE check from AoE
+ spells. [Skotlex]
+ * Fixed ASC_BREAKER's misc damage part not having the ignore-element flag
+ set. [Skotlex]
+ * Moved homunc battle conf from misc.conf to homunc.conf [Toms]
+ * Some cleaning in skill.c in regard to homun skills. [Skotlex]
+ * Madness Canceller now stacks with other aspd bonuses, just like Berserk
+ does. [Skotlex]
+ * Removed config setting "muting_players", and expanded the manner_system
+ config to specify how having negative manner (mute) affects a player (see
+ battle/misc.conf). [Skotlex]
+ * Expanded the pk_mode setting from no/yes to 0/1/2. 1 is normal pk_mode,
+ if 2 is used, it makes killing players give you a loss of 5 manner points.
+ [Skotlex]
+ * Fixed WS_WEAPONREFINE always failing when at less than job 50. [Skotlex]
+ * Fixed the Autosave routine not working when there's only one player
+ online. [Skotlex]
+ * Disabled command @rain since the client no longer supports it anyway.
+ [Skotlex]
+ * Fixed delitem not checking for the first slot's card, also optimized it
+ so that it doesn't checks on the other slots. [Skotlex]
+2006/08/20
+ * Added a check during mob_db loading so that the six basic stats, max hp
+ and max sp are never below 1, as this could cause crashes when using
+ certain skills. [Skotlex]
+ * Gravitation now only blocks the caster from using potions. [Skotlex]
+ * Corrected Madness Canceller letting you walk while the effect lasts.
+ [Skotlex]
+ * Splitted yet again ASC_BREAKER into a two-part attack. This time the
+ int-based damage is a MISC type attack, and gets reduced by skills as such.
+ [Skotlex]
+ * Fixed "int format, long unsigned int arg" warning [Toms]
+ * Fixed a warning when using cap_value(x, 0, x) on an unsigned value [Toms]
+ * Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos [Toms]
+ * Fixed homunc skill 8016 not considered as homunc skill [Toms]
+ * @useskill will now cause your homun to use the skill instead of you if
+ the skill is a Homun skill and you have an active homunculus. [Skotlex]
+ * Reduced the Success Chance of GS_FLING to 10+10*lv% (Playtester told me
+ that Vicious told him the chance was much lower like that) [Skotlex]
+ * Fixed some Homunc issues with HR servers (capping some values) [Toms]
+ * Added @hominfo command to obtain real values (not capped ones) [Toms]
+2006/08/19
+ * Fixed @homlvup bug [Toms]
+ * Fixed AM_REST & AM_RESU consumming SP if they fail [Toms]
+ * Fixed homunc spawning bug (they was spawned after an AM_REST + master warp for example)[Toms]
+ * Fixed GS_GROUNDDRIFT [Skotlex]
+ * Increased chance of GS_DESPERADO connecting to 20% [Skotlex]
+ * Fixed battle_calc_base_damage being called for the left hand even for
+ non-dual-wielding attacks. left-hand damage was being set to 0 later
+ anyway, so no exploit existed. [Skotlex]
+ * Moved the weapon_atk_rate bonus to battle_calc_base_damage so that it'll
+ apply correctly when dual-wielding different types of weapons. [Skotlex]
+ * Fixed job-mask 0x100000 in the item_db enabling Dancers/Bards to use the
+ items (0x80000 should be for them and 0x100000 should be currently unused)
+ [Skotlex]
+ * Fixed a possible sigsegv when deleting lif under Mental Change [Toms]
+ * Fixed HAMI_CASTLE [Toms]
+ * Fixed HLIF_CHANGE [Toms]
+ * Updated HLIF_BRAIN skill [Toms]
+ * Fixed homunculus intimacy on feeding [Toms]
+ * Added homunculus_friendly_rate battle config [Toms]
+ * Some compilation warnings fixed [Toms]
+ * Added skill's required item check on homunc skills [Toms]
+ * Add Condensed Red Potion as a required item for HLIF_HEAL [Toms]
+2006/08/18
+ * Little code cleanup on last fix [Toms]
+ * Fixed HLIF_HEAL healing the homunc instead of the master [Toms]
+ * Fixed HLIF_AVOID not increasing walk speed of master [Toms]
+ * Fixed the atk_rate (Turtle General Card) bonus not working on
+ dual-wielders. [Skotlex]
+ * Made HLIF_HEAL a self skill that auto-selects target to caster's master.
+ [Skotlex]
+ * Implemented SC_BLOODLUST and SC_CHANGE, cleaned up HLIF_CHANGE [Skotlex]
+ * Applied a correction to HVAN_EXPLOSION [Skotlex]
+ * Fixed Homun ASPD calculation being able to underflow and give you min
+ speed. [Skotlex]
+ * Added monster_ai&128 to make aggressive mobs ignore that behaviour of
+ always picking Homun targets above player targets regardless of who is
+ closer. [Skotlex]
+ * Fixed homun info packet being unable to display HP/SP correctly once the
+ values are above 32k. [Skotlex]
+ * Applied Mpeg's work on ninja [Toms]
+ * Fixed @homlvup [Toms]
+ * Added guild_aura (skill.conf) setting so you can specify when it works
+ and if it works on the guild-master itself. Defaults to working all the
+ time on everyone except GM. [Skotlex]
+ * Little code cleanup [Toms]
+ * Cleaned merc_hom_evolution to avoid free'ing/realloc'ing [Toms]
+ * Fixed "args of aFree is freed pointer" on Homunc deletion [Toms]
+ * Changed unit_free so that it receives which cleartype should be used when
+ the character is still on a map. Used this on status_damage so that mobs
+ that do not respawn when killed will properly display the death animation.
+ [Skotlex]
+ * Fixed Energy Coat consuming 10x less SP per hit than it should.
+ * Fixed signed/unsigned comparison issues with natural heal system [Toms]
+2006/08/17
+ * Vaporize will no fail when the homun is dead. [Skotlex]
+ * Corrected thhe double free issue that occurs when a homun dies and has no
+ intimacy left. [Skotlex]
+ * Fixed the charsave_method:1 saving/loading exp as signed ints rather than
+ unsigned. [Skotlex]
+ * Applied use of structure regen_data for a unified regen module. Natural
+ and skill-heal is handled by this structure, while sitting-skill-heal is
+ still player dependant (mostly because the other object types can't sit)
+ [Skotlex]
+ * Cleaned up the status calc code for homun by moving it from
+ status_calc_bl_sub_homun to status_calc_homun (where it should had always
+ been) [Skotlex]
+ * Updated SQL files [Playtester]
+ * Corrected map_random_dir algorithm [Toms]
+ * Fixed homunc natural heal and little code cleanup [Toms]
+ * Changed AM_CALLHOMUN Skill to spawn the homunc at 1 cell from his master [Toms]
+2006/08/16
+ * Fixed being unable to recast Adrenaline Rush to reset the duration
+ timers. [Skotlex]
+ * Cleaned up skill_get_range2 so that using range 0 for non-self skills
+ uses the caster's attack range. [Skotlex]
+ * Fixed AM_CALLHOMUN checking for an embryo when you have a vaporized
+ homun. [Skotlex]
+ * Spirit of Wizard will now consume an item 7321 each time it blocks
+ reflected magic. [Skotlex]
+ * Added script command jobname, retrieves a given's class name as per the
+ appropiate msg_athena.txt entry (this command should had been added years
+ ago) [Skotlex]
+ * Fixed null-pointer crash on Evolving a homunculus. [Skotlex]
+ * @produce now can make any kind of equipment [Skotlex]
+ * Made HLIF_AVOID and HAMI_DEFENCE cause the status change on both caster
+ and target. [Skotlex]
+ * AM_REST shouldn't be checking for a range now (since it's a self skill)
+ [Skotlex]
+ * Updated mob_ai so that mobs will use their rude-attacked skill when they
+ can't reach their current target. [Skotlex]
+ * Fixed the default txt config making pets be saved to the homun file
+ instead of to the pet file. [Skotlex]
+ * Now arrow-consuming skills where your main weapon is a whip or musical
+ instrument WILL count as arrow-type attacks, using the atk of the arrow and
+ all related bonuses. [Skotlex]
+ * Fixed some homun timer initialization code. [Skotlex]
+2006/08/15
+ * Applied multiple fixes which should take care of making homun save/load
+ work on TXT now. [Skotlex]
+ * Added Gatling Fever's batk bonus. [Skotlex]
+ * Some cleaning in status_damage which should prevent trying to free
+ already free'd pointers when unit_remove_map invokes unit_free (when
+ status_damage was going to invoke unit_free anyway) [Skotlex]
+ * Delete homunc's skills from sql when the homunc is destroyed [Toms]
+ * Homunc Timers should be disabled when the homunc is vaporized or dead an re-enabled on call/resu [Toms]
+ * Updated vc-project files to compile with the new int_homun files.
+ [Skotlex]
+ * Hopefully fixed the crash when using charsave_method = 1 [Skotlex]
+ * Moved s_pet structure from map_session_data to pet_data, this enabled the
+ removal of a few redundant values in the pet_data structure (name, class,
+ equip) [Skotlex]
+ * Cleaned up some of the pet related @/# commands, same for some script
+ commands. [Skotlex]
+ * Pet offensive skills who's inf value is self will be casted on the pet
+ now (for stuff like Grand Cross) [Skotlex]
+ * Added homun saving/loading support to char-TXT. Note that this is
+ completely untested, so it may be as good as broken. [Skotlex]
+ * Added a crash-fix on status_calc_bl_sub_homun to abort in case the homun
+ has no master (need to clean up this function later) [Skotlex]
+ * Tested char-txt load/save, it seems to be working fine, but you should
+ STILL backup, as I only launched the server (read old character format),
+ closed it down (saved into the new format) and relaunch it (read the new
+ format) and it didn't give problems (but there's still the possibility of
+ some field being read in the incorrect offset or such). [Skotlex]
+ * Updated the char save structure for char-TXT servers so that the homun id
+ will be saved, now also the map info (last point, save point, memo maps)
+ are now saved using the mapindex rather than the string. BACKUP BEFORE
+ UPDATING since this code isn't yet tested. [Skotlex]
+ * Cleaned up a bit the char-saving code, added overflow crash prevention in
+ case there are more memos than the max-allowed saved. [Skotlex]
+ * AM_CALLHOMUN can now be used to recall vaporized homuns. [Skotlex]
+ * AM_RESURRECTHOMUN will now fail when the homun is vaporized. [Skotlex]
+ * Added SCB_DYE which marks which status-changes need a forced cloth dye
+ change to 0 due to sprite issues. Currently only NJ_BUNSINJYUTSU's status
+ uses it. [Skotlex]
+ * Asura Strike now moves you to the target on fail always (unless the
+ target does not exists or is in another map or there's a obstacle on the
+ way) [Skotlex]
+ * Corrected skill_attack_area hitting dead characters on it's splash range.
+ [Skotlex]
+ * Swapped the values for OPTION_XMAS and OPTION_FLYING. This should enable
+ SG to show the fly animation again, even if sometimes others will see him
+ as Santa. As for xmas cloth, it shouldn't make much of a difference since
+ the view class is changed to christmas anyway. [Skotlex]
+ * Made AM_CALLHOMUN and AM_RESURRECTHOMUN be like the wedding skills, where
+ they automatically pick a spot around you. [Skotlex]
+ * Cleaned up some the AM_RESURRECTHOMUN code. Hopefully it works now.
+ [Skotlex]
+ * Cleaned up some the hom evolution code. [Skotlex]
+ * Fixed SIGSEGV with homunc save [Toms]
+2006/08/14
+ * Removed support for negative autosave intervals, instead added a
+ minsave_interval setting which specifies which is the minimum time between
+ character saves. Default to 100ms (map_athena.conf). [Skotlex]
+ * Sacrifice no longer shows damage to self. [Skotlex]
+ * When Asura fails, the skill display will still come off. [Skotlex]
+ * Lots of cleaning of the Homun-code. Perhaps the crashes as of late will
+ be fixed now (reusing AM_CALLHOMUN seems to be the cause of them)
+ [Skotlex]
+ * Increased Run's walk speed bonus to 25->50% [Skotlex]
+ * Modified emergency_call setting to allow for more specific configuration
+ (woe/non-woe, gvg-grounds/non-gvg-grounds, disable from nowarpto maps), see
+ skill.conf for details. [Skotlex]
+ * Fixed script engine allowing scripts to set a player's zeny to negative
+ values. [Skotlex]
+ * Fixed setting hide_woe_damage making even "miss" attacks seem to connect.
+ [Skotlex]
+ * When readjusting the fame-list, the last entry's id is also reset (may
+ fix characters appearing more than once on it?) [Skotlex]
+2006/08/13
+ * Removed @itemcheck as it was totally pointless. [Skotlex]
+ * Corrected states killer/killable being easily dispellable. [Skotlex]
+ * Fixed the totally wrong text messages being used for @killer/@killable
+ related atcommands, added appropiate entries to msg_athena [Skotlex]
+ * Magic and Misc attacks will now get type "flee" when they do less than 1
+ damage, this blocks them from causing additional status effects when they
+ are blocked. [Skotlex]
+ * Cleaned up a bit the Basilica code, it should now properly end when you
+ walk. [Skotlex]
+ * Fixed some logs not working when you enabled all logs. [Skotlex]
+ * Corrected unmute being a level 60 command by default (should be 80)
+ [Skotlex]
+ * Corrected the mapif_parse_PartyChangeMap function to correctly update
+ level-range when someone logs on/off, fixes being unable to set even-share
+ on once it's been broken even when the characters out of range logoff.
+ [Skotlex]
+2006/08/11
+ * Fixed Kagebunshin no Jutsu crashing for dyes > 0; though this solution
+ might seem hackish (changing clothes colour to 0 when it starts while
+ storing original colour back in val4, restoring original dye upon
+ end), I believe this is the best way there currently is to solve
+ the issue. [blackhole89]
+ * Fixed Dancers/Bards being able to use normal attacks while performing.
+ [Skotlex]
+2006/08/10
+ * Fixed the item group bonus not working. [Skotlex]
+ * Fixed songs/dances always being considered overlapped with themselves.
+ [Skotlex]
+ * Added some additional song/dance overlap code that should correctly
+ change the effect of songs/dances when they overlap. [Skotlex]
+ * Added a check so that the status-change packet is always send to self
+ when the inflicted char is a player disguised. [Skotlex]
+ * Code cleanup on homunc, they stay in memory until player disconnect or
+ homunc destruction [Toms]
+ * Corrected Advanced Jobs HP bonus from 30% -> 25% [Skotlex]
+ * Hopefully fixed family-party-even-share not breaking when a member logs
+ out. [Skotlex]
+ * Should have fixed the login-sql crash when passed user-name's length is
+ beyond the limit. [Skotlex]
+ * Changed setting attack_attr_none to affect all neutral-element attacks.
+ Basicly, this setting is now used to determine who can hit for full damage
+ always when using neutral-attacks (defaults to non-players) [Skotlex]
+ * Fixed two instances in the login-sql server where the ip in the log-login
+ table was being stored backwards. [Skotlex]
+ * Now when a skill's range is 0 and the skill is NOT casted on self, it
+ will take the basic weapon's range (without Vulture/Snake Eye bonus).
+ [Skotlex]
+ * Now when a duration is not specified, sc_start/sc_start2/sc_start4 will
+ try to guess the duration by extracting it from the skill_db (it uses
+ skill_get_time on whatever skill is associated to the status-change using
+ val1 as skill-level) [Skotlex]
+ * Some cleanups on trade_tradeaccept to prevent packets being resent when
+ they shouldn't. [Skotlex]
+ * Fixed syntax error in 'guild' create table statement [Toms]
+2006/08/09
+ * Fixed Asura not wasting all SP away when it fails on cast-end. [Skotlex]
+ * Fixed homunc skill up bug [Toms]
+ * Adjusted some the dance/song/encore code so that the source of an
+ ensemble will always get checked, so that walking out of an ensemble skill
+ should make it end now. However, it's likely this is not completely solved
+ yet and will require further tweaking. [Skotlex]
+ * Added crash protection to the mob_db txt reading when the mob_db file has
+ lines with insufficient number of columns. [Skotlex]
+ * Moved the class-change code from battle_calc_weapon_attack to
+ skill_additional_effect. Alchemist summons now also have a chance of
+ triggering polymorphing. [Skotlex]
+ * Removed the code which was auto-setting attacks that do no damage to type
+ FLEE, since that was disabling status-effects which should incur even when
+ the damage was blocked. [Skotlex]
+ * Trade requests will now fail when either character is unable to act
+ (character in storage, vending, interacting with an npc, petrified, etc)
+ [Skotlex]
+ * Heard skotlex voice, changed all msg_table[] into msg_txt() in atcommand.c [Toms]
+2006/08/08
+ * Fixed the char-server not invoking the party_calc_state function when the
+ third party-member is added to a party, hence failing to check for families
+ and disabling even share from them unless all three relog first (state is
+ correctly calculated when party is first loaded). [Skotlex]
+ * Crash-protections in the mail-checking function. [Skotlex]
+ * Some additional parenthesis on equipment check in pc_equipitem, seems to
+ have fixed the mid/lower headgear-sprites not showing up. [Skotlex]
+ * Added back missing state set to prevent Ankle-Snare from being retrieved
+ after the target dies. [Skotlex]
+ * Fixed compilation warning [Toms]
+ * Added a check to handle Spider Web as a targetted skill. If there's more
+ than one character on the targetted cell, a different one may get trapped,
+ but it will mostly do as it is now. [Skotlex]
+ * Added check to Asura so that it will move you to the target when it fails
+ ONLY when you can cast the skill on the target (not stunned, asleep, target
+ not hidden, etc) [Skotlex]
+ * Changed the map_freeblock_unlock code so that when there's an "already
+ free'd pointer" error, the memory manager will print out the invoking
+ function rather than map_freeblock_unlock, this should help fix it up next
+ time it happens and is reported. [Skotlex]
+ * Casting Kaensin will clear out Suiton and viceversa now. [Skotlex]
+ * Fixed drop-rates (@whodrops) getting duplicates when you use @reloadmobdb
+ [Skotlex]
+ * Fixed unjailing not sending characters to Prontera. [Skotlex]
+ * Fixed yet again AS_SPLASHER doing full damage on all characters. Now you
+ can use the NK split damage value in the skill_db if you want damage
+ divided by the amount of targets rather than by 2. [Skotlex]
+ * Fixed crash on the battle_drain functions. [Skotlex]
+ * Cleaned up HAMI_CASTLE, HLIF_AVOID, HAMI_DEFENCE so that it's usable by
+ other types of objects other than Homunculus. [Skotlex]
+ * Cleaned up the Asura Strike code so that the SP/Spheres/States is not
+ consumed when the skill fails due to Fog of Wall. [Skotlex]
+ * When a negative delay for a skill is specified, this delay is now added
+ on top of the character's amotion rather than adelay [Skotlex]
+ * Modified main.sql to make the guild table allow NULL on the emblem data.
+ [Skotlex]
+ * Added file conf-tmpl/Changelog.txt to log config changes. [Skotlex]
+2006/08/07
+ * Fixed the login-sql server replying to the change-sex packet with the
+ wrong gender, causing the char-server to screw-up job-change updates.
+ [Skotlex]
+ * Cleaned up the apparent mess that is pc_skill. Hopefully it SHOULD work as
+ described on the docs now, this should also fix adopting not correctly
+ giving the family-related skills. The flag value of skill should be: 0 to
+ set the skill (if skill level is 0, this removes a learned skill), 1 grants
+ the skill as an item bonus which is temporary, and 2 will add a skill bonus
+ like 1, except the skill level adds up to whatever level already known of
+ that skill. [Skotlex]
+ * Fixed EQP_WEAPON related code messing up with both weapon AND shield.
+ [Skotlex]
+ * Cleaned up the Asura code so that when the skill fails your
+ SP/Spheres/Fury are all taken away always, as well as moving you next to
+ the target (as long as the target still exists within a reachable path from
+ your position) [Skotlex]
+ * SC_GUILDAURA is now removed on logout. [Skotlex]
+ * Fixed Venom Splasher doing half-damage instead of full-damage to the
+ "exploding" character. [Skotlex]
+ * Hopefully fixed the party_even_share cast-overflow bug as reported by
+ Adobe. [Skotlex]
+ * Standarized the autosave interval setting to be always in seconds
+ regardless of type. [Skotlex]
+ * Moved the "bosses can't be knockback" logic from battle_calc_* functions
+ and placed it on skill_blown. [Skotlex]
+ * Some parenthesis cleanup before invoking battle_calc_base_damage, could
+ be fixing the current issue with arrow attacks not adding the arrow damage.
+ [Skotlex]
+ * Fixed the map_search_freecell error which was making mobs fail to
+ respawn. [Skotlex]
+ * Added in Lupus's suggestion of not making multi-slot headgears set all
+ slot view-ids, which supposedly causes the client to re-draw the headgear
+ multiple times on characters. [Skotlex]
+ * Fixed HT_BLITZBEAT hitting neutral characters when it auto-triggers.
+ [Skotlex]
+ * Simplified the Tatami Gaeshi code. [Skotlex]
+ * Fixed AS_SPLASHER doing full damage on everyone except targetted char
+ instead of the other way around. [Skotlex]
+ * Fixed KAENSIN clearing out SUITON cells and viceversa. [Skotlex]
+ * The spawn area is now seen as range rather than absolute for mob spawn
+ lines. This means that x,y,10,10 will spawn the mob on a 21x21 grid around
+ the given x,y point. [Skotlex]
+ * Some clean up of the mob-spawn code. Now you can specify negative areas,
+ so that a spawn location such as 100,150,0,-1 will spawn a mob always on
+ x=100, but any Y value of the current map. [Skotlex]
+ * Reflected damage will now also have a chance of draining hp/sp. [Skotlex]
+ * Adjusted the order in which option/sc change packets are sent to match
+ Aegis's [Skotlex]
+ * Added script command getpartyleader through which you can retrieve
+ various information of a party's leader. See doc/script_commands.txt for
+ further information. [Skotlex]
+ * mpeg's Ninja work [Vicious]
+ * Adjusted Battle_check_target so that alchemist summoned mobs are
+ targetted by everyone as long as 1. The top-level master is a player and 2.
+ the actual attacker is not a mob-type. [Skotlex]
+ * Added config force_random_spawn which overrides the spawn-files defined
+ coordinates to make all mobs always spawn randomly on the map. [Skotlex]
+ * SC_SPEEDUP0 is no longer dispellable by SA_DISPEL [Skotlex]
+2006/08/06
+ * Updated item_db.sql & mob_db.sql to latest. [Toms]
+ * Little fixes on homunc (hp/sp are now saved and init stats changed) [Toms]
+2006/08/04
+ * Added a commented piece of code at the end of clif_parse_LoadEndAck which
+ will update your direction to wherever you were facing before warping.
+ Should this be the default? Nearby people DO see you facing on the same
+ direction before warping, it's only your client that will always see you
+ facing north on spawn (the spawn packet does contain direction
+ information). [Skotlex]
+ * Updated @mobinfo to display slots in the drop information. [Skotlex]
+ * Fixed flag.elefix not being respected in battle_calc_misc_damage.
+ [Skotlex]
+ * Some code cleanups in battle_calc_damage. [Skotlex]
+ * Modified bAddItemHealRate so it can receive both item-id and item-group
+ values (since the first item-id is +500, there's no risk of mixing them
+ up). [Skotlex]
+ * Removed settings enemy_critical_rate, homun_critical_rate. Added settings
+ enable_critical (defaults to specify only players), mob_critical_rate and
+ critical_rate. The last applies to all non-mobs and non-players
+ (battle/battle.conf) [Skotlex]
+ * Removed settings mob_npc_warp, mob_warpportal. Replaced with setting
+ mob_warp which specifies which types of warp can a mob step into
+ (battle/monster.conf) [Skotlex]
+ * Enabled Mastery damage on Soul Breaker again, moved adv katar mastery out
+ of the mastery function so that it may apply to all skills except Soul
+ Breaker. [Skotlex]
+ * Changed name of the setting log_pick to log_filter since that's what it
+ does now. [Skotlex]
+ * Modified enable_logs so that instead of a 0/1 setting, you can specify
+ which kind of events to log (so you can use a combination), see log_athena
+ for the bitmask configuration. [Skotlex]
+ * Cleaned a bit the contents of log_athena.conf
+ * Hide/Chasewalk will again stop screaming skill name. [Skotlex]
+ * Soul Breaker will no longer receive Mastery damage. [Skotlex]
+ * Fixed warning:'type' might be used uninitialized in this function [Toms]
+2006/08/03
+ * Added a check to skip the experience share of characters who are dead or
+ on another map. [Skotlex]
+ * Reverted the previous change, chasewalk has no icon, only the str-bonus
+ has that fist icon now. [Skotlex]
+ * Allowed chase-walk to display a skill animation when using it. [Skotlex]
+ * Readjusted the Chasewalk icon to be as it should be. [Skotlex]
+ * GS_DESPERADO is now a short-range attack skill. [Skotlex]
+ * Changed the Battle-Orders icon to be the Strength Up icon (for
+ Chasewalk's str bonus). [Skotlex]
+ * Fixed using the right-hand weapon's size modifiers regardless of which
+ weapon's damage was being calculated in regards to. [Skotlex]
+ * Simplified the ignore-size check by making the Weapon Perfection check be
+ done when specifying the flag, also moved the size-fix property of riding
+ spear-knights to status_calc_pc. [Skotlex]
+ * Changed SI_CHASEWALK value to 119 as concluded by LoneWolf [Skotlex]
+ * Corrected clif.c sending the raw mdef2 value to the client instead of
+ first substracting the "secret vit/2" bonus from it. [Skotlex]
+ * Added a damage cap to CR_ACIDDEMONSTRATION of INT_MAX/2 to prevent
+ overflows. It is not capped to INT_MAX because damage increasing skills
+ would cause it to still overflow afterwards. [Skotlex]
+ * Fixed NPC_CRITICALSLASH not being considered as a Critical hit by the
+ code. [Skotlex]
+ * Added RUDE_ATTACKED_COUNT so you can easily adjust how many rude-attacks
+ should happen before a mob uses the rude-attacked skill. Value has been set
+ to 2 for now. [Skotlex]
+ * Now when a mob changes target (to someone they can hit) their
+ rude-attacked count won't be reset, but instead will be reduced by one.
+ [Skotlex]
+ * SC_SPEEDUP0 can now stack with the other speed raising buffs. [Skotlex]
+ * Some adjustments so that the last-skill-used will be correctly cleared
+ when your combo-time ends. [Skotlex]
+ * Fix a bug in atcommand_charspeed [Toms]
+ * Fixed a logic error preventing from cooking anything [DracoRPG]
+ * Cleaned up the last NJ update code. [Skotlex]
+ * Added @ command `charspeed` [Skotlex]
+ * Fixed @jailfor using MAP_PRONTERA as jail instead of MAP_JAIL [Skotlex]
+ * Removed case for GS_SPREADATTACK on damage packets to see if the skill
+ displays correctly now. [Skotlex]
+ * Corrected Deluge/Volcano/V. Gale overlaps so that the placing tiles are
+ removed, NOT the ones who were already placed. [Skotlex]
+ * Made SC_SPEEDUP0 and SC_SPEEDUP1 use different icon IDs, to fix
+ icon-confusion when both are enabled at a time. [Skotlex]
+ * Mob rude-attacked count is not reset now on picking a new char (gotta
+ investigate this further) [Skotlex]
+ * Changed atoi to strtoul for guild-experience's field [Toms]
+ * Fixed a bug in int_storage.c, temp array doesn't have the good size [Toms]
+2006/08/02
+ * Modified yet again SC_SILENCE after iRO tests from Entwined on IRC.
+ Silence now ONLY blocks skills from being used, it will not stop on-going
+ casts. [Skotlex]
+ * Updated status_cast_cancel to also include silence (so the cast bar is
+ cancelled if you are silenced during it) [Skotlex]
+ * Updated the way SC_SILENCE works. From what I remember (from previous
+ forum discussions) it: 1- Always blocks skills from being used. 2- Will
+ only block a skill when the cast-bar ends IF the skill is targetted. If
+ anyone wants to debate to get this changed, make an appropiate forum topic
+ in the svn development area to discuss. [Skotlex]
+ * Added a check in the walking code when triggering skills.
+ NPC_SELFDESTRUCTION will no longer cancel walking, it will instead resend
+ the walk packet, this effectively causes the mob to start walking
+ (clientside) while the cast-bar is showing. [Skotlex]
+ * Fixed a logic error on battle_get_master which was causing infinite
+ loops.. [Skotlex]
+ * Fixed homunculus error message [Toms]
+ * Rewrote pc_payzeny to not use doubles, it may more accurately prevent
+ charging a player more zeny than they can withhold. [Skotlex]
+ * Fixed failing to create Deadly Poison Bottles damaging 50% of your max
+ life instead of 25% [Skotlex]
+ * Added the missing status-change flags to SC_FREEZE to signal it should
+ modify def and magic def [Skotlex]
+ * Little add on NJ_HUUMA [Toms]
+ * Merged Mpeg's work on Ninja skills [Toms]
+ * Fixed Martyr's Reckoning having a cap damage of 32k. [Skotlex]
+ * Now you can teleport in Thanatos Boss room, but you can't respawn there [Playtester]
+ * Fixed Defender Raising Walk speed instead of diminishing it. [Skotlex]
+ * Added a check on status-change load to prevent loading speed-affecting
+ status when their speed adjustment is 0 (prevents division by zero)
+ [Skotlex]
+ * Code cleanup & optimization on guild part of char-server [Toms]
+ * Fixed script code data not being free'd if a player quits in the middle
+ of a script. [Skotlex]
+ * Modified run_script so that when there are leaks, it will report the
+ place where run_script was called from as source rather than the inner code
+ of run_script (for debugging purposes) [Skotlex]
+ * Made recursive master check the default (otherwise it messes skill -> pet
+ -> player kind of herarchies) and cleaned up some the battle_get_master
+ code to prevent infinite loops in the weird case someone specifies that
+ their master is itself. [Skotlex]
+ * Recoded the GuildAura code to use val3 & val4, allowing much greater stat
+ bonuses (in case someone wants to get Guild Skill level 20 or something
+ crazy like that) [Skotlex]
+ * Updated battle_check_target so that all alchemist summoned mobs can be
+ target by everyone. [Skotlex]
+ * Cleaned up skill_check_condition_mob_master_sub, it will now count both
+ total number of summoned mobs and amount that belong to the same type.
+ [Skotlex]
+ * Corrected AM_CANNIBALIZE so it will fail if you already have plants of
+ another type out. [Skotlex]
+ * Using NPC_SELFDESTRUCTION no longer will make the caster stop walking.
+ [Skotlex]
+ * Removed SI_GUILDAURA, and replaced it with SI_LANDENDOW, now
+ Volcano/Deluge/V. Gale will get that funky icon instead. [Skotlex]
+ * Changed clif_hominfo to receive both sd and hd as parameters
+ * Some redundancy cleaning in mercenary.c [Skotlex]
+ * Moved updating of sd->mercenary.hp from merc_damage to pc_makesavestatus.
+ [Skotlex]
+2006/08/01
+ * Miscellanous fixes which make the Marine Sphere self destruction work as
+ best as I can. It only has one flaw: It self-destructs instantly after
+ walking because if I make it use self-destruction with a cast-bar,
+ client-side the object stops moving inmediately... [Skotlex]
+ * Modified unit_walktoxy and NPC_RUN to enable running even when the caster
+ does not has the MD_CANMOVE bit on. [Skotlex]
+ * PF_MINDBREAKER will now silently fail if you try to use it on someone who
+ already has the status active. [Skotlex]
+ * Cleaned up yet again skill_landprotector, now new cells of
+ Deluge/Volcano/V.Gale will delete previous cells when they are recasted on
+ top of each other. [Skotlex]
+ * Summoned Marine Spheres no longer get the MD_CANMOVE bit. [Skotlex]
+ * Cleaned up some more the SC_JAILED code [Skotlex]
+ * merged in atcommands jailfor, jailtime, charjailtime. Thanks to Meruru
+ and Coltaro for the code. [Skotlex]
+ * Cleaned the code of atcommands jail and unjail [Skotlex]
+ * Be warned that the code MAY contain bugs as I adjusted it to save the
+ character's position before jailing, allowing the automatic unjailing to
+ warp you back to the exact spot you were at before being jailed. [Skotlex]
+ * Should have fixed the cooking sets not displaying all cooking available
+ items. [Skotlex]
+ * Figured out and fixed the issue with Volcano/Deluge/Violent Gale not
+ really working. Thanks to Mpeg for noting it out. [Skotlex]
+ * Modified Self Destruction, so that Marine Spheres in non-versus maps will
+ hurt only enemies, while in all other situations this skill will hurt
+ everyone around them. [Skotlex]
+ * Expanded setting debuff_on_logout so that &1 removes negative buffs and
+ &2 removes positive buffs. [Skotlex]
+ * Food status boosts will no longer end on death, but they will end when
+ you respawn or logout. [Skotlex]
+ * Added battle config file status.conf, moved some settings from skill.conf
+ and battle.conf to it since they are entirely Status-Change related.
+ [Skotlex]
+ * Added the missing lines to enable script command "kickwaitingroomall"
+ [Skotlex]
+ * Magic Rod's can-act delay will no longer be applied when you absorb a
+ spell. [Skotlex]
+ * Fixed Don't Forget Me increasing speed instead of decreasing it. [Skotlex]
+ * Modified setlabel so that the script engine barks when you are trying to
+ use the same label name as a constant or variable name. [Skotlex]
+2006/07/31
+ * Fixed the subnet 0 mask being reset to 0 when someone goes up on the fame
+ rankings. [Skotlex]
+ * Updated Poison React chance to counter and number of counters as per
+ skill description updates. [Skotlex]
+ * Fixed Sharpshooting being counted as a magic attack, and hence, using
+ your MATK as base damage. [Skotlex]
+ * Fixed NPC_STOP id value in skill_cast_db [Skotlex]
+ * Bladestop will no longer stop when you push either of the characters
+ around. [Skotlex]
+ * Fixed Enchant Poison having a near 100% chance of poisoning target on
+ attack. [Skotlex]
+ * Little fix on duel [Toms]
+ * Added possibility to restrict duel usage to same map [Toms]
+ * Merged mpeg's fix on ninja skills [Toms]
+ * Corrected a status_get_race call which should be status_get_race2 in misc
+ attacks. [Skotlex]
+ * Moved the Devotion code to the top of the SC list in status_damage,
+ meaning that now stuff like being asleep or confused won't end if you are
+ hit, but the damage is absorbed by devotion. [Skotlex]
+ * Added the Soul Link of Rogue speed bonus to Chase-Walk. Since there's no
+ information of how much the bonus should be, it currently is a conservative
+ 10%. [Skotlex]
+ * Fixed a possible crash in the main script engine when restoring previous
+ script. [Skotlex]
+ * Fixed sleep.tick not being set back to 0 before resuming execution, which
+ leads to scripts that are continously executed even when they already ended
+ (they do nothing but waste resources) [Skotlex]
+ * Fixed a pair of free -> aFree used on stacks, which would lead to memory
+ manager reporting leaks where there aren't. [Skotlex]
+ * Removed incorrect "Waterball range+1 when standing on suiton" feature.
+ [Skotlex]
+ * Corrected the Speed update code to prevent sending "walk to xy" packets
+ twice when the affected character is a player. [Skotlex]
+ * Expanded mob can't move warning to print out where this mob was stuck at
+ (map, x,y) [Skotlex]
+ * Fixed segmentation fault in status_change_end, vd wasn't initialized [Toms]
+2006/07/30
+ * NPC_INVISIBLE will now use Cloaking of a level +9 of the used skill
+ level, so that at level 1 they can attack, use skills and receive no
+ walking penalty. [Skotlex]
+ * Mob casted Sanctuary will no longer always heal it's targets regardless
+ of element/race [Skotlex]
+ * Status change packets will now use as criteria for sending the actual
+ view_class instead of player/not-player. This will fix status-changes
+ displaying improperly on clones, and also possible crashes with disguised
+ players. [Skotlex]
+ * Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE [Toms]
+ * Added bNoMiscDamage setting so you can specify misc-damage blocking from
+ skills. Modified battle_calc_damage so that even Pressure and similar
+ skills will be affected by this setting. [Skotlex]
+ * GS skill updates/fixes [Vicious]
+ * Force all users offline in sql when char-server starts [Toms]
+2006/07/29
+ * Removed ugly struct cast in login.c [Toms]
+ * New version of buildin_query_sql which accept more than one column and
+ can return the number of rows. See script_commands.txt for more details. [Toms]
+ * Fixed nullpo in merc_hom_skillup [Toms]
+ * Added a return value to buildin_rid2name if rid is invalid [Toms]
+ * Made the SQL ping interval default to 7 hours. [Skotlex]
+ * Made skill_unitsetting remove the group when no unit-cells were placed
+ down. basicly this means that if landprotector blocks all tiles, the group
+ will be removed from memory, preventing said group from counting to the
+ total number of skills you can set. [Skotlex]
+ * Fixed segmentation fault in script engine when calling something which is not a function [Toms]
+ * Fixed segmentation fault in script engine when activating DEBUG_RUN flag [Toms]
+2006/07/28
+ * Added Ishizu's code to check ammo type on attack. No more using Grenade
+ rounds with Guns. [Skotlex]
+ * offensive heal/sanctuary will only happen when the source of the heal is
+ a player, mob/pet casted heal will now always heal regardless of target.
+ [Skotlex]
+ * Shield Chain will now ignore the 'ice-pick' defense piercing bonus.
+ [Skotlex]
+ * Self destruction will now hit all characters in range, not just enemies.
+ [Skotlex]
+ * Cleaned up the NJ update code: [Skotlex]
+ - Restored code which was removed (stuff like SC_SKA)
+ - Fixed possible crashes on some NJ skills if used by non-players.
+ - Fixed most NJ magic spells doing more damage than they should.
+ - Fixed ZenyNage being able to do more damage than zeny you have.
+ - Cleaned up skill setting code for Suiton and Kaensin
+ * Some cleaning of battle_drain, Evil Druid card should work now. [Skotlex]
+ * Made status_damage allow damaging of objects not on a map, this should
+ fix pet-catching making the mob never respawn again. [Skotlex]
+ * Casted nothl to (unsigned int) in sprintf functions, IP is 32bits and sql field the same :) [Toms]
+ * Fixed "warning: `list' might be used uninitialized in this function" in char/char.c@3032 [Toms]
+ * Fixed "uninitialized local variable 'i' used" in skill.c and "warning: suggest explicit braces to avoid ambiguous `else'" in battle.c [Toms]
+ * Fixed "warning: long unsigned int format, unsigned int arg" in parse_login (login_sql\login.c) [Toms]
+ * Fixed sign warnings in login/login.c [Toms]
+ * Fixed "conversion from 'double' to 'int', possible loss of data" [Toms]
+ * Fixed "warning: redefinition of [ushort/uint/ulong]" [Toms]
+ * Fixed duplicate case value on NJ_SUITON [Toms]
+2006/07/27
+ * Fixed a memory leak when there exists more than one user function with
+ the same name, added the appropiate warning when this happens. [Skotlex]
+ * Added reporting source file when an npc shops item's price is
+ exploitable. [Skotlex]
+ * The picklog will now record negative values for items sold to npcs.
+ [Skotlex]
+ * Added inmediate position and hp-bar update when a character joins a
+ party. [Skotlex]
+ * Added missing SC information to NPC_CHANGEUNDEAD [Skotlex]
+ * Added config setting party_update_interval so you can specify how often
+ the party-mate minidots should be updated (defaults to 1 sec). [Skotlex]
+ * Removed a bunch of broken comments in skill.c [Skotlex]
+ * Synced the script.c file with as much data as possible from jA's:
+ [Skotlex]
+ - A lot of functions were moved around, a bunch of indentation and
+ space-usage changes were done to make it easier to diff against their
+ files.
+ - Miscellanous addition and corrections were applied.
+ - Largest one is likely a restructuring of run_script_main, which hopes to
+ solve the memory leaks.
+ - script engine now uses the setjmp functions to restore memory state when
+ there's an error parsing scripts, which means that script errors won't
+ cause the map-server to inmediately bail out anymore.
+ - NOTE that the amount of changes is pretty extensive, so DON'T USE THIS on
+ a live server. Update only to help test and debug to see if the script
+ engine memory leaks are gone.
+ * Added a cleanup routine on shutdown to remove all characters from memory
+ for whom the save ack has not returned from the char-server yet. [Skotlex]
+ * Now when you set the guardian's HP, if the guardian is spawned, it's HP
+ will be updated accordingly (and if you set it to 0, the guardian is
+ killed) [Skotlex]
+ * Added functions status_set_hp/status_set_sp to set hp/sp to a given
+ value. Applied usage of these on the Berserk and Soul Change code.
+ [Skotlex]
+ * Added config setting "party_hp_mode" (battle/party.conf) which determines
+ method to use to update party-mate hp bars. Aegis style is to update HP
+ bars whenever HP changes, while eAthena style is to update it together with
+ the map party dots. Defaults to aegis style. [Skotlex]
+ * Fixed packet 0x22a having the manner and opt3 packets in inverted
+ offsets. [Skotlex]
+ * Readded the check which prevents Cloaking from activating when your
+ learned level is less than 3 and you aren't next to a wall. [Skotlex]
+ * Some cleanups to the Frenzy/Berserk status change, it should probably
+ work correctly now. [Skotlex]
+ * Removed a redeclared variable i in the parsing of the fame list (char-sql
+ server) which seems to be the cause of the random memory corruptions.
+ [Skotlex]
+ * Updated item_db.sql to latest. [Toms]
+ * Fix homunc & code cleanup [Toms]
+ - Timer problems on delete_timer
+ - Intimacy problem (overflow & new values)
+ - Homunc deleted if intimacy < 0
+ - base exp is now given to master
+ - Homunc sometimes not saved
+2006/07/26
+ * Fixed a memory leak when reading the item_db txt. [Skotlex]
+ * Applied the necessary changes to make @partyoption reflect it's changes
+ on the alt+p window. [Skotlex]
+ * Modified party_item_share_type config setting so that using 1 disables
+ item-sharing from non-mob loot (player dropped items or pet loot) and 2
+ enables round-robin instead of random sharing. Using 3 obviously is
+ enabling both 1 and 2. [Skotlex]
+ * Added battle_get_master which returns the master bl of a given object.
+ [Skotlex]
+ * Recoded battle_check_target to use battle_get_master, the src/target
+ switch has been split into two, so that actual target and master target are
+ seperately treated (same for source). [Skotlex]
+ * Added support for "sc_end -1" which will clear all status changes. Added
+ the constant SC_ALL so you can use in scripts "sc_end SC_ALL;" instead.
+ [Skotlex]
+ * @pettalk will now fail when muted. [Skotlex]
+ * Enabled changing of equipment while stunned/asleep/petrified/etc [Skotlex]
+2006/07/25
+ * Cleaned up run_script_main to properly free previous stack-data when
+ running scripts. Note that scripts may still leak memory when run by
+ non-players and they don't reach the "END" state, however I am not sure how
+ this case should be handled, so it's left as it is for now. [Skotlex]
+ * Added a missing ntohl call in the loginlog code. [Skotlex]
+ * Added a check when buying from npcs to allow buying of item_avail items.
+ [Skotlex]
+ * Fixed duel accept invite sending the packet before the duel data is set
+ (resulting in a packet that noone receives). Thanks to Toms for finding it
+ out. [Skotlex]
+ * Fixed a possible crash when you dual-wield and the total damage is 0.
+ [Skotlex]
+ * Added Toms's perl scripts item_db.pl and mob_db.pl (they are in tools/),
+ they convert the txt databases into sql. [Skotlex]
+ - Usage: "script" < "input file" > "output file". eg: ./tools/item_db.pl < db/item_db.txt > sql-files/item_db.sql
+ * Updated the sql files since now it's quick [Skotlex]
+2006/07/24
+ * Re-updated the mob_db.sql to latest. [Skotlex]
+ * Cleaned up the skill_landprotector function to correctly block only magic
+ skills from being placed on land protectors. [Skotlex]
+ * Corrected itemdb_group so that it will not return the random item givers
+ (should give priority to actual item groups, so that the item heal bonuses
+ work correctly) [Skotlex]
+ * Cleaned up the Mistress Card related code so that the no-gemstone bonus
+ reduces item requirements by one rather than totally skip them. [Skotlex]
+ * Cleaned up the logs "can log"function to use the IT constants. Also
+ corrected the "only log large amounts" setting not working on negative
+ values (trades). [Skotlex]
+ * Adjusted skill_castfix_sc so that Suffragium will get consumed even on
+ instant cast skills, but Memorize won't. [Skotlex]
+ * BladeStop will now end when either of the characters is moved (knocked
+ out?) around. [Skotlex]
+ * Moved the Zeny penalty code from respawn to pc_dead. [Skotlex]
+ * Added a check to prevent Deluge/Volcano/Violent Gale from being placed on
+ top of each other. Reverted the previous 'fix' where atk was being
+ increased based on armor element rather than element of attack. [Skotlex]
+ * Removed the noreturn mapflag check from script command warp. [Skotlex]
+ * Homuculus cleanup [DracoRPG]
+ - Replaced nullpo's in parse functions by silent checks
+ - Removed server-side effect for menu option 0 (view status window...
+ why does the client send us the packet since we don't care? -_-)
+ - Rewrote intimacy underflow checks so they are really effective (no
+ need to check if an unsigned is < 0, it won't work... check before!)
+ * fixed unban unblocking players as well. [Skotlex]
+ * Fixed Volcano/Deluge/Violent Gale increasing damage based on element of
+ attack instead of defense element of attacker. [Skotlex]
+ * Cleaned up the code of Magic Rod, fixed it not giving SP. [Skotlex]
+ * Moved the code of Hermod and Basilica to castend_pos2 so it should work
+ now. [Skotlex]
+ * Modified the code of Ankle Snare so the status ends on unit's time-limit
+ rather than when the snared object moves away. [Skotlex]
+ * Re-worded the water check of ST_WATER skills. [Skotlex]
+ * Allowed sc-cast reductions to be processed even when cast-time is instant
+ (to let suffragium end even on instant-cast skills) [Skotlex]
+2006/07/23
+ * Modified setting skillrange_by_weapon (skill.conf) to be a
+ per-object-type setting instead of yes/no. The default now is that
+ weapon-based skills will take the attacker's range for non-players.
+ [Skotlex]
+ * Changed the default of skillrange_by_distance to include homunculus.
+ [Skotlex]
+ * Fixed buildin_isequip not working correctly with non-cards. [Skotlex]
+2006/07/22
+ * Updated mob_db.sql to latest. [Skotlex]
+ * Applied Toms's suggested corrections to homun code. [Skotlex]
+ * Corrected Cannibalize/Marine Sphere ignoring the selected summon spot.
+ [Skotlex]
+ * Fixed looting pets ignoring the item pick-up priority of other players.
+ [Skotlex]
+ * Should have fixed a signess warning in login txt. [Skotlex]
+2006/07/21
+ * Added blocking of @me when muted or in berserk status. [Skotlex]
+ * Corrected the @follow timer not being deleted on logout. [Skotlex]
+ * Applied the homunculus code fixes provided by Toms. [Skotlex]
+ * battle_check_target will now tag homunculus as invalid target when the
+ source is a skill-type object. [Skotlex]
+ * Added a check on pc_equipitem so that when the client specifies to equip
+ a weapon on the right hand when the left hand is available, the weapon will
+ be sent to the left hand instead (when dual-wielding is possible,
+ obviously). Same for the left/right accessories. [Skotlex]
+ * Added the necessary checks so that Suiton makes Fogwall have double
+ duration, and to make water-requiring skills to consume their cells.
+ [Skotlex]
+ * Corrected the loadmap event description to specify that the mapflag
+ required is actually "loadevent", NOT "loadmap"! [Skotlex]
+ * Now when the char-txt server does not finds a requested party, it will
+ clear out said party id of all characters (will help prevent massive
+ spamming/overhead when for some reason the party file needs to be deleted).
+ [Skotlex]
+ * Combo skills (inf = self, inf2 = no target self) no longer check range if
+ you use them while your attack-timer is still active. [Skotlex]
+ * Added back a map_freeblock call in skill_delunitgroup which caused a
+ memory leak when removed... [Skotlex]
+ * Added a check to prevent Blind from ending while standing on a fog of
+ wall. [Skotlex]
+ * The mob Slave ai will be executed now even when the slave has a target.
+ This will allow for "instant" warping to the master when it changes maps or
+ teleports. if the slave has a target already, it won't unlock it and chase
+ back to the master or anything like that. [Skotlex]
+ * Removed a couple of checks that prevents item ids above 20000. However,
+ remember that the max id is still ~32k or the client is the one who's gonna
+ crash! [Skotlex]
+2006/07/20
+ * Added source reporting when you do an invalid int&str or str&int
+ operation on a script. [Skotlex]
+ * Fixed the intif party creation packet having the incorrect size sent,
+ hence causing the leader's level to be read as garbage (which caused the
+ "impossible to even share" bug). [Skotlex]
+ * Added pc_check_weapontype to do a proper skill weapon check that takes
+ into account dual-wielding. That is, if a skill can be used with
+ daggers/axes, you'll be able to use the skill when dual-wielding them.
+ [Skotlex]
+ * Corrected Cloaking level 1-2 not letting you move across walls. [Skotlex]
+ * updated cloaking code so that when you set "enable cloaking without
+ walls", the code will consider you as "always next to a wall", thus you get
+ the wall-speed bonus always. [Skotlex]
+ * Applied the fix to homunculus name saving... [Skotlex]
+ * Added battle config settings agi_penalty_target and vit_penalty_target,
+ they define which object types will get vit/flee reductions when
+ multi-targetted and defaults to only players (battle/battle.conf) [Skotlex]
+ * Added the dummy intravision case for the changeoption packet 0x229
+ [Skotlex]
+ * Corrected Fog of Wall so that all targetted offensive skills (not only
+ those who do damage) will fail on cast-end 75% of the time. [Skotlex]
+ * corrected @homlevel up and one entry in the homun exp table as reported
+ on the forums by Albator. [Skotlex]
+ * Added the SQL fix to Homunculus skill learning/saving bug [DracoRPG]
+ * Added a status_check_skilluse on skill_attack_area call to prevent splash
+ damage skills from hitting hidden/trickdead/etc characters. [Skotlex]
+ * Corrected fog of wall to behave as best known currently: [Skotlex]
+ - Only takes effect when targetting a character inside it
+ - -50hit/-75% damage when using normal-ranged attacks
+ - -25% damage from all damage skills
+ - 75% chance of all targetted damage skills of failing.
+ * Should have fixed @refine applying multiple times to equipment that uses
+ multiple equip slots. [Skotlex]
+2006/07/19
+ * Fixed the inf code update breakage which was blocking all offensive
+ skills. [Skotlex]
+ * Added battle setting homun_critical_rate (defaults to 0) [Skotlex]
+ * Removed enemy_str/pet_str/enemy_perfect_flee and replaced them with
+ enable_perfect_flee which specifies which objects can have perfect flee and
+ enable_baseatk which specifies which objects can have a base attack value
+ (both in battle.conf) [Skotlex]
+ * Modified the targetted skill logic to enable offensive skills to be
+ targetted at party/guild members if the appropiate inf2 value is set.
+ [Skotlex]
+ * Added checks to make adding items to inventory/cart fail when a char is
+ in finalsave state. [Skotlex]
+ * Fixed parse_names on irc.c crashing when receiving a null argument.
+ [Skotlex]
+ * Modified the parsing of the names line, since some servers will send @
+ instead of = when separating the information. [Skotlex]
+ * Fixed the homun creation sql statement. Why noone else did so before?
+ [Skotlex]
+ * When enabling/disabling hiding/unhiding an npc, if the npc is a warp, it
+ will use clearchar and spawn packets instead of changeoption. Thanks to
+ Toms for the fix. [Skotlex]
+ * Corrected Trim chars to block 'enter', as explained by the Ultra mage.
+ [Skotlex]
+ * When the client passes account version 0, the login server will set it to
+ 1 now. [Skotlex]
+ * Corrected the HP bar scaling when HP is above Short Max. It should
+ display fine for any HP value now. [Skotlex]
+ * Added a check when the mob's adelay is shorter than the amotion, in which
+ case the adelay will be changed to the amotion value. [Skotlex]
+ * Some minor mapflag changes. [MasterOfMuppets]
+2006/07/18
+ * Added atcommand @partyoption, lets you alter the party item-distribution
+ type on the go. Usage is "@partyoption <pickup share> <item distribution>",
+ where both arguments can be 0/1, yes/no, etc. [Skotlex]
+ * Updated @changeleader and @partyoption to use msg_Athena entries.
+ [Skotlex]
+ * Added character 013 (enter) to the list of characters that are always
+ removed from new character names. [Skotlex]
+ * Fixed a crash when trying to extend TK's infinite combo feature. [Skotlex]
+ * Corrected Poison React to counter regardless of distance, and to use the
+ skill's 50+5*lv% counter chance (instead of 100%). [Skotlex]
+ * Corrected Venom splasher's splash damage [Skotlex]
+ * You now can't move/attack/use-skills when using Cloaking of a level less
+ than 3 [Skotlex]
+ * Fixed compilation of mercenary.c [Skotlex]
+ * Corrected Fog of Wall's "targetted spells fail 75% of the time" feature
+ by making it behave like GTB, that is, you just get a skill-failed on
+ cast-end, no skill-animation at all. [Skotlex]
+ * Added a proper check to make aggressive mobs never override homun targets
+ regardless of distance. [Skotlex]
+ * Removed a bunch of homun-related variables that are not needed at all.
+ The alive condition is removed, now the code checks for the hp value to
+ know if the homun is alive or not. [Skotlex]
+ * Cleaned up a bit the skill-id function, homun skill checks (such as delay
+ and skill-lv learned) should be correct now. [Skotlex]
+ * Added a proper check to make aggressive mobs never override homun targets
+ regardless of distance. [Skotlex]
+ * Fixed giving the 100% damage bonus when no-splash-targets are found in
+ the blown path to Grandcross instead of Bowling Bash. Bowling Bash damage
+ equation becomes then +50*lv% rather than +40*lv% when there's no
+ splash-damage (the 50*lv% figure is custom, all we know is that level 10
+ does 600% instead of 500% damage). [Skotlex]
+2006/07/17
+ * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
+ * The char-server will allow off-line character saves when said char is
+ tagged for final-save (this is the scenario when the char-map reconnect).
+ [Skotlex]
+ * Should have fixed the Cart Termination damage code to be scaled correctly
+ when you change the max cart weight. Thanks to The Ultra Mage for the error
+ clarification. [Skotlex]
+ * Implemented Grandcross weird property where if there's noone on the path
+ it'll hit twice for the skill's reported damage, and when there is (or you
+ can't knockback the target) it'll do a splash attack that hits twice for
+ 500% to all affected targets. [Skotlex]
+ * Some cleaning of the combo code. TK Rankers will now get their combo-time
+ extended each time they trigger a kick, enabling them to do "unlimited
+ combos". [Skotlex]
+ * Modified the autosave function to use a sweep across the player db
+ instead of across connected clients. This will cause non-connected players
+ (like autotraders) to also be saved on a regular interval, may help with
+ possible data-loss from said characters on unclean shutdowns. [Skotlex]
+ * Removed the code that forces aggressive mobs to go after a Homun instead
+ of their master (no reason why there should be such a condition). [Skotlex]
+ * Some sign quest map flag updates [MasterOfMuppets]
+ * atcommand_follow is now more verbose. [Adam]
+ * Manually added int_homun.c to the VS8 char_sql project, *should* work [DracoRPG]
+ * Orn's fix to the very critical skill level up bug [DracoRPG]
+ * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
+ * Added Orn's lil fix on homun [Vicious]
+ * Added Homunculus system, enjoy! [orn aka Nylou]
+ - WARNING: This currently only works with the SQL version, as the TXT char-server
+ has no code for it at the moment. You TXT server won't break, but the char-server
+ will complain of an unknown packet if you try to get an Homunculus
+ * Updated nomemo mapflags based on info from http://ro.doddlercon.com/images/memo.jpg [Poki#3]
+
+2006/07/15
+ * Small change in conf/battle/player.conf to say that 199 is max aspd allowed
+ (Haplo says that there are many reports of having over 200 is giving errors) [Evera]
+2006/07/13
+ * Kaahi no longer shows the heal effect to everyone. [Skotlex]
+ * Eska no will cause defense to change randomly every second. [Skotlex]
+ * Tuned up some more NJ_KAENSIN based on Tharis's information. [Skotlex]
+ * Corrected NJ_KAENSIN as per description. [Skotlex]
+ * Fixed a leaking map_freeblocklock on skill_del_unitgroup. [Skotlex]
+ * Changed the default save interval to 5 minutes. Added support for
+ specifying fixed save-intervals by using negative values. [Skotlex] EG:
+ - Save interval set to 300 (5 minutes): all characters will be saved in
+ equal time-slots, so that everyone is saved every 5 minutes regardless of
+ number of players online.
+ - Save interval set to -1000 (1000 ms): One character will be saved every
+ second, regardless of amount of characters online.
+ The new fixed-time-slots method is meant for larger servers, so that they
+ can control the saving-induced stressed on the char-server.
+ * Fixed @storeall and @charstoreall failing when the target character
+ already had the storage open. [Skotlex]
+ * Reverted temporarily the Cart Termination equation until it can be
+ fixed... [Skotlex]
+ * Fixed script command "recovery". [Skotlex]
+2006/07/12
+ * Fixed a small typo in my code [Zido]
+ * Added negative value in bonus exploit fix for more stat bonuses [Zido]
+ * Fixed exploit in pc_bonus there are no checks that check that the value being
+ added onto a status don't make it go below zero, which means if you have a mineral
+ card and reset stats it reduces your base attack to lower than zero, making it
+ go up to 64000. Fixed by adding a check for SP_BASE_ATK, although i recommend
+ doing it for other status bonuses also [Zido]
+ * Recoded NJ_BAKUENRYU to behave as I understand it best from the
+ skill-description (since Haplo told me this skill doesn't really has video
+ information or anything...) [Skotlex]
+ * Fixed NJ_TATAMIGAESHI to use ground-tiles rather than "for each in path"
+ calls. The skill should be working correctly now, except for the fact that
+ the correct "unit id" is missing (this is what would give the ground tile
+ it's correct display). Temporarily it is using 0xba until the correct value
+ is found. [Skotlex]
+ * Added back the undead check to turn undead/resurrection to prevent
+ damaging non-undead targets, removed it from the battle damage section.
+ [Skotlex]
+ * Resurrection will now silently fail when used on non-undead + not-dead
+ characters. [Skotlex]
+ * Poem of bragi/magic String's base delay reduction at level 10 (or above)
+ is now 50% instead of 3*lv%. [Skotlex]
+ * status_damage will no longer fail when the target is not on a map AND the
+ flag is 2 (charge rather than damage). Fixes SP-draining status changes
+ ending suddenly when in-between maps. [Skotlex]
+ * Fixed the IP value being apparently incorrectly casted before inserting
+ into the loginlog table on "connect success" events. [Skotlex]
+ * Fixed Cart Termination's damage. [Skotlex]
+ * Added the missing check to remove character from memory when logging out
+ and using the charsave_method which saves character map-server-side.
+ [Skotlex]
+2006/07/11
+ * Fixed inverted check which was preventing you from buying more than 1
+ from any stackable item.... [Skotlex]
+ * Should have fixed the crash in intif gm message... [Skotlex]
+ * Fixed GTB card only working while you had a status-change active.
+ [Skotlex]
+ * Fixed being unable to compound cards in armor. [Skotlex]
+ * Made @monsterignore be an universal ignore. Means you cannot be targetted
+ as an enemy by anything. Also added alias "@battleignore" which does the
+ same as monsterignore. [Skotlex]
+ * Fixed magic power setting your min matk as max-matk. [Skotlex]
+ * Modified the packets involved in @fakename in hopes it'll refresh
+ correctly on nearby clients now. [Skotlex]
+ * Fixed clif_parse not checking for func_parse before sending data to the
+ connected clients. This in turn required various code-rewrites in: [Skotlex]
+ - duel related messaging functions (added clif targets DUEL/DUEL_WOS).
+ - intif whisper to gm function
+ - day/night timers
+ - Rewrote the parse_console function to stop allocating/deallocating memory
+ on every call.
+ - Modified chrif_charselectreq to receive the player's ip among the data.
+ * Added function clif_disp_message, which is the same as
+ clif_disp_onlyself, except you can specify the targets (it sends a
+ guild-chat packet) [Skotlex]
+ * Fixed the subele bonus (elemental reduction) being applied to the element
+ of the attacker instead of the element of the attack. [Skotlex]
+ * mob skills now won't trigger on unit_stopwalking calls. [Skotlex]
+ * Coded @reset. [Skotlex]
+ * Reenabled @changesex [Skotlex]
+ * Added function pet_create_egg which handles creating pet eggs correctly
+ (when passed item id is indeed a valid petegg). Applied this on @createitem
+ and getitem. [Skotlex]
+ * Cleaned up code of @item [Skotlex]
+ * Cleaned up the itemdb_isequip functions. itemdb_isequip will now return
+ if the item is equipable by players, itemdb_isstackable returns if the item
+ can be stacked, and itemdb_isidentified returns if the item should drop
+ identified. [Skotlex]
+ * Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given
+ item has "invalid" cards, added define function itemdb_isspecial to
+ simplify this check. [Skotlex]
+ * Removed itemdb.c considering item ids above 20000 as invalid. [Skotlex]
+ * Cleaned up script commands getitem and card-counting related ones.
+ [Skotlex]
+ * Cleaned up a bit more pc_isequip [Skotlex]
+ * Added script function warpportal(x,y,targetmap$,targetx,targety).
+ This creates warp portals as in the skill unit as a volatile alternative
+ to static warp portals. [blackhole89]
+ * Modified the login-sql server to do the ip-ban check only on the
+ auth-packets instead of on every packet. [Skotlex]
+2006/07/10
+ * Corrected Warp Portal being unable to warp people who are standing on it
+ on the moment it triggers. [Skotlex]
+ * Fixed @follow stopping the moment you are warped. [Skotlex]
+ * Fixed pc_additem messing with the equip field of the passed item data.
+ Fixes the famous "equip stuff on your arrow slot" bug. [Skotlex]
+ * Fixed cart-termination crashing the server if you used level 16 of it.
+ [Skotlex]
+ * Fixed check_connect_login_server check in char-sql server. Fixes
+ char-server not reconnecting to the login server. [Skotlex]
+ * Login-sql server will no longer change an account's state to "7" when
+ banning a player. This should fix being able to use @ban to clear out a
+ @blocked player. Players will now be identified as banned only through the
+ banned-until timestamp. [Skotlex]
+ * Fixed a crash when using Gospel... [Skotlex]
+ * The on-place function won't be invoked on setting ground skills if the
+ group's tick is greater than the current tick. As Buuyo pointed out, this
+ should fix Sanctuary and Gospel taking effect inmediately instead of after
+ "x" amount of ms as they should. [Skotlex]
+ * Added login-char packet 0x2737. Sets all characters offline (login-server
+ side). [Skotlex]
+ * Cleaned up char server "set all offline" implementation to remove only
+ characters from the map-server from which the packet was invoked. It will
+ also now correctly kick/set-character offline from the map-server if they
+ are connected. [Skotlex]
+ * Cleaned up the char-sql reconnect code. It no longer sets everyone to
+ offline. [Skotlex]
+ * Removed setting "kick_on_disconnect", servers will no longer kick
+ characters out when there's a disconnection. Instead, it'll use the most
+ logical approach: Set characters into a "lost" state when there's a
+ disconnection, on reconnect, resent the list of online-characters, do a
+ sync, and let the difference be characters to be removed. Also, the
+ map-server won't release character data until it's saved and the ack
+ returns from the char-server to prevent data loss (all this data is resent
+ on reconnect for saving anyway). [Skotlex]
+ * Added a check in pc_equipitem so that when switching weapons and you have
+ the skill_range_by_weapon setting active, the skill info block (which
+ includes range) will be resent when the new weapon to equip has a range
+ different than the previous one. [Skotlex]
+ * One closer inspection, removed that clear in itemdb_reload for a foreach
+ call again. And modified itemdb_load to scrap the dummy item entry from the
+ item_db and replace it with proper data for the item. [Skotlex]
+ * itemdb_reload will clear the itemdb before reloading info instead of only
+ clearing the scripts now. [Skotlex]
+ * Some cleaning of skill_castend_pos2, fixed Gospel, and a
+ map_freeblock_unlock misplacement. [Skotlex]
+ * Sense/Estimation will now display the mob info window to all party
+ members in the same map. [Skotlex]
+2006/07/08
+ * Fixed the new addeff structure not working well with SC_STONE (because
+ SC_STONE is 0, which was by default not handled as a valid value).
+ [Skotlex]
+ * Added back the TF_MISS walking speed bonus to assassin type classes (how
+ did that got lost?) [Skotlex]
+ * Fixed mobinfo displaying exp as signed ints rather than unsigned.
+ [Skotlex]
+ * Added status_check_visibility to check if an object is within range of
+ view of another. Nothing more, nothing less. It's used by unit movement to
+ check whether you can continue chasing your target or not when the "chase
+ target" directive is given. [Skotlex]
+ * Fixed the char table having party/guild_id as smallint when they need int
+ there. Thanks to hermematon for pointing it out (use svn_ugprade7580.sql)
+ [Skotlex]
+ * Applied k3dt fixes to pet-hatching, ice-wall check, and wedding skills.
+ [Skotlex]
+ * Fixed endow skills calling the skill no damage packet twice. [Skotlex]
+ * Fixed a crash on warpwaitingpc when the chat-room is empty. [Skotlex]
+2006/07/07
+ * Fixed the Warm Skills [Skotlex]
+ * Removed the debug message when a player logs out and is removed from
+ memory, it is working fine (tested normal logging off and autotrade). [Skotlex]
+ * Corrected the pet-armor field of the pet not being updated on
+ equip/unequip of accessories, making them not show up inmediately. [Skotlex]
+ * Status_calc_bl will no longer stop you from attacking/walking when the
+ mode is changed unless the new mode no longer includes
+ "can-attack"/"can-move" respectively. [Skotlex]
+ * Should have fixed clif_item_sub to properly store pet egg/armor data.
+ There should be no more "random refine levels" bugs related to these.
+ [Skotlex]
+ * itemdb_exists will now return NULL for item_id 0. [Skotlex]
+ * Added a check to free a character from memory when changing map servers.
+ [Skotlex]
+ * Okay, added a chrif_save_ack packet to the char-server so now the map
+ server will know once a character was "final saved", and only then the
+ character will be removed from memory. On char-server reconnection, all
+ chars that are in final-save state are resent to save (if they are still in
+ memory, it's because the ack hasn't gotten here from the char-server). This
+ should effectively block all dupe problems due to heavy inter-server lag,
+ however as it's untested, it currently prints some debug messages when
+ people are saved and then removed from memory. Need testers so this can be
+ debugged and merged to stable! [Skotlex]
+ * Now, when the login-char connection is cut, the char-server won't set
+ everyone offline on reconnect, instead it will send the list of online
+ accounts to the login server. [Skotlex]
+ * Modified the error on the char-sql server to set chars online when it
+ receives a save packet from a character tagged as offline (until it can be
+ figured out why this is happening) [Skotlex]
+ * Fixed signed/unsigned comparison issues in the char txt/sql server.
+ [Skotlex]
+ * Fixed the cooking success chances. Thanks to Ishizu Chan. [Skotlex]
+ * Added a temporary band-aid to prevent executing the script of non-arrows
+ when they are equipped on the arrow-slot (until the actual cause of why
+ pc_unequipitem is not working correctly is discovered/fixed) [Skotlex]
+2006/07/06
+ * Modified the party_data structure on the map server to remove some
+ redundant data. Added a party_data structure on the char-server to hold a
+ more complete set of information about parties. Added to the party_member
+ structure the class of each member so that the map server can do the
+ appropiate checks even if the character is on another mapserver/offline.
+ Due to the format changes in the party structure, txt servers will have to
+ wipe their party file... (sql save format has not been changed) [Skotlex]
+ * Added function char_family to check if there's a family state given the
+ three character ids, instead of doing individual checks all the time.
+ [Skotlex]
+ * Rewrote all the item restriction functions so that they will take into
+ account slotted card restrictions as well. [Skotlex]
+ * Added no_skill_delay setting, when set, affected object types will have
+ the minimum skill delay for all skills. Defaults to mobs, since they
+ don't have skill delays. [Skotlex]
+ * Cleaned up pc_equipitem. When dual wielding or equipping accessories, if
+ the client actually specifies one of the two positions, it will be taken
+ into account (now, does the client actually does this?) [Skotlex]
+ * Fixed GrandCross and similar skills. [Skotlex]
+ * FogWall will now also affect the caster. [Skotlex]
+2006/07/05
+ * Updated NJ_KAENSIN by Saycyber21 [Vicious]
+ * Updated @refine to take account of MAX_REFINE, thanks to Omega... GM
+ Designer. [Skotlex]
+ - Also optimized the @refine loop for better performance.
+2006/07/04
+ * Fixed compile issue for NJ_BAKUENRYU, by Saycyber21. [Vicious]
+ * Implemented Saycyber21's some NJ work. Untested. :D [Vicious]
+ * Implemented cooking chances. Chance of success is 70% - 7*(dish-lv)% +
+ 12*(cooking set-lv)%. Exception: When using the legendary cooking set,
+ success chance is 100% regardless of dish. [Skotlex]
+ * Added battle config setting emergency_recall, specifies behaviour of that
+ skill (skill.conf): 0 - Disabled. 1 - can't be used in nowarpto maps. 2 -
+ Can be used everywhere. [Skotlex]
+ * Removed the NPC/Dance/Song inf2 check of AbraCadabra. whether a skill can
+ come out or not is entirely decided by the abra db file now. [Skotlex]
+ * Added structure s_addeffect to handle status change additions. Cleaned up
+ relevant code. It is now possible to specify ANY status change, not just
+ the basic ones. NOTE that the code is proof-read, but untested! [Skotlex]
+ * Added support for bonus3 bAddEff/bAddEffWhenHit as follows: [Skotlex]
+ bonus3 bAddEff/bAddEffWhenHit, <SC value>, <rate>, <target flag>.
+ Target flag is 0: Self. 1: Enemy. 2: Both.
+ * Added these descriptions to doc/item_bonus.txt [Skotlex]
+ * Added a check when joining a chat to make sure the target object is of
+ type BL_CHAT. [Skotlex]
+2006/07/03
+ * Cleared up the bAutoSpellWhenHit description in doc/item_bonus.txt
+ [Skotelx]
+ * Fixed Phantasmic Arrow and Magical Bullet not being correctly tagged as a
+ ranged arrow-type attack. [Skotlex]
+ * Updated help.txt and help2.txt, thanks to Inuyasha for providing the
+ updated files. [Skotlex]
+ * Char-server SQL won't perform the reconnect cleanup routines when
+ kick_on_disconnect is disabled. [Skotlex]
+ * Renamed summons_inherit_effects to summons_trigger_autospells as the
+ setting now only makes the attacks of the slaves trigger the autospells of
+ the master (as it should be). [Skotlex]
+ * Corrected code capping no_spawn_on_player to 50 when the max should be
+ 100. [Skotlex]
+ * Warmth will dispel when warping now (or else the effect is left on the
+ ground) [Skotlex]
+ * Fixed reading of the refine_db not working right when MAX_REFINE is
+ increased from 10. [Skotlex]
+ * Some more cleaning to the implementation of Abracadabra [Skotlex]
+ * Fixed a compile warning in login sql/txt [Skotlex]
+ * Fixed pc_makesavestatus not setting your logout position. [Skotlex]
+ * Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
+ [Skotlex]
+ * Added the missing +100% damage modifier of Enchant Deadly Poison.
+ [Skotlex]
+ * Fixed SkillStatusChangeTable not working correctly for Homun/Guild
+ skills. [Skotlex]
+2006/06/30
+ * Fixed a typo in msg_athena.conf, "This item cannot be drop" -> "This item cannot be dropped" [MasterOfMuppets]
+ * Added a check to prevent equipped items from being traded. [Skotlex]
+ * Added UF_SONG (0x400) to differentiate songs from dances. [Skotlex]
+ * Added preliminar support for making a Song+Dance turn into BA_DISSONANCE
+ cells. Beware of potential bugs as it's untested. [Skotlex]
+ * Added mapflag "nochat" to prevent chatting rooms from being created.
+ [Skotlex]
+ * Corrected some of the sleep checks when the char id does not matches with
+ the char-id expected by the script engine. [Skotlex]
+ * Cleanup in itemheal related code, fixed the item heal group bonus not
+ working on Groups beyond 7. [Skotlex]
+ * Fixed pet's loot not being moved to your inventory on logout. [Skotlex]
+2006/06/29
+ * Made the map server send list of characters online to the char-server on
+ reconnection regardless of "kick_on_disconnect" setting, as otherwise, a
+ temporary disconnection would make the char-server tag all characters
+ offline and refuse to save them afterwards. [Skotlex]
+ * Fixed guild storage being "eternally in use" if you quit/logout before
+ closing it. [Skotlex]
+ * Ending SC_CLOAK/SC_HIDE/SC_CHASEWALK will now trigger ontouch npcs.
+ [Skotlex]
+ * [Fixed]
+ - Scripting system screwing up script position after mixing timers with menus.
+ - NPC attached AI mobs display as alive when dead.
+ - View data not updating after buildin_unitdeadsit.
+ [Improved]
+ - NPCE_LOADMAP to execute after all (area) objects are sent to the player.
+ - Simplified scripting system. sd will now use pointer to the script state itself.
+ [Lance]
+
+2006/06/28
+ * changed:
+ dynamic_pass_failure_ban_how_many:from 3 to 7
+ dynamic_pass_failure_ban_how_long:from 60 to 5
+ as in official servers. [Musashiden]
+ * Added a check in script command "set_option" so that invoking
+ "set_option(0)" removes Cart/Peco/Falcon, as expected by scripts. [Skotlex]
+ * Added trade-range check on trade start. [Skotlex]
+ * Added inf2 4096 (INF2_ALLOW_ENEMY) which is to be used in conjunction
+ with INF2_PARTY_ONLY/INF2_GUILD_ONLY when said skill should ALSO be allowed
+ to be used on enemies. [Skotlex]
+ * Cleaned up a bit the code for @item [Skotlex]
+ * Fixed character/storage being sent to be saved TWICE when you logged out
+ while the storage is opened. [Skotlex]
+ * Added save_settings map config. Specifies after which events do
+ characters get saved (defaults to all): 1 - Trade successful, 2 - Vending
+ transaction, 4 - Closing storage/guild storage, 8 - hatching a pet.
+ [Skotlex]
+ * Changed the mob drop rate adjust function to receive a signed int
+ argument. Probably will fix those drops with 0% becoming 100% [Skotlex]
+ * Corrected Musical Strike having a different damage equation from Throw
+ Arrow. [Skotlex]
+ * Added state rewarp to players. It gets set when a pc_setpos call is
+ triggered while the player is changing maps so that when the player finish
+ loading the map, it is inmediately rewarped to where it has been
+ rewarped/recalled to. [Skotlex]
+2006/06/27
+ * Map server will now resent the whole list of online characters to
+ char-server on reconnect when the kick_on_disconnect setting is active.
+ [Skotlex]
+ * Cleaned up and optimized the IP sync code. New login_athena config
+ setting sync_ip_interval specifies how often to sync the ip. The default is
+ 0 (disabled). [Skotlex]
+ * Added mapflag "loadevent", now load-map script events will ONLY trigger
+ on maps with this mapflag on, rather than every map. [Skotlex]
+ * High Jump can now be used in all versus maps. [Skotlex]
+ * Added Kaite's opt3 value, taken from jA [Skotlex]
+ * Added state dirty == 2 to storages. Signals when a storage was sent for
+ final saving. Said storage is removed from memory after the ack from the
+ char-server, and they are sent to save if the map/char servers reconnect
+ before the ack arrives. In short: they are guaranteed to be saved after a
+ char logs out. [Skotlex]
+ * Put pay_arche.gat in the "no experience lost" mapflag file. [MasterOfMuppets]
+2006/06/26
+ * Corrected the element of hunter traps. [Skotlex]
+ * Deadly Poison now also reduces def2 by 25% [Skotlex]
+ * Cleaned up a bit skill_moonlit, Moonlit Petals should work correctly now.
+ [Skotlex]
+ * Fixed @mi displaying always 0 instead of the mob's class. [Skotlex]
+ * Rough implementation of Ground Drift according to description and jA
+ info. [Skotlex]
+ * Implemented Tatami Gaeshi using skill description and jA implementation
+ for reference. [Skotlex]
+ * Merged Mitternacht's max_heal/max_heal_lv config settings. [Skotlex]
+ * Removed support of packet 0xc3 on the new packet versions. Thanks to
+ Meruru for pointing out they aren't being used anymore. [Skotlex]
+ * Autospells will now again check for the skill's nk value, so that skills
+ tagged "nodamage" skills will not trigger autospells. [Skotlex]
+ * Corrected clif_item_sub so that pet eggs will correctly be sent as
+ equipment (fixes them showing up "broken" and with random refine levels)
+ [Skotlex]
+ * [Added]:
+ - buildin_unitkill just for kicks. [Lance]
+
+2006/06/23
+ * [Optimized]:
+ - Setting of variables with defined scope in some frequently executed script
+ events.
+ [Added]:
+ - Missing script_require_trigger flags for some power hungry events.
+ * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
+ * Modified pc_setoption so that it will correctly update sprite AND clothes
+ color when mounting/unmounting changing into/from xmas/wedding sprites.
+ [Skotlex]
+ * Allowed itemdb_exists to return the dummy item. Enables "invalid" items
+ to be sold, traded, dropped, etc. [Skotlex]
+ * Corrected ASC_BREAKER. Int-based damage is applied after attribute fixes
+ and before card reductions. The skill now completely disregards left
+ hand weapon. [Skotlex]
+ * Standarized PF_MEMORIZE to be 50% cast time on all skills (instead of
+ -50% for targetted skills and -66% for ground skills >.>) [Skotlex]
+ * Cleared up the comment on what item_check does and how it works.
+ [Skotlex]
+ * Changed setting for skill_nocast flag 16. It is no longer a "pk-mode map"
+ setting, it's now a clone-forbidden skill. That is, skills with the flag 16
+ will never be copied by clones. If you use a PK-mode server, use flag 2 now
+ to forbid skills from common maps. [Skotlex]
+ * Default skills from not being cloned are Magnus Exorcism and Turn Undead.
+ * The map search free cell will now use the size of the map # of tries
+ before giving up when the spawn area is the whole map. Added a check to
+ inmediately give up when the number of spawn retries has reached the max
+ specified (no_spawn_onplayer = 100). [Skotlex]
+ * Cleaned up a bit the clone code to account for the unit flags
+ UF_NOPC/UF_NOMOB when the skill is not ground-based (accounts for self
+ skill that causes a ground-tile to be placed, like Dances). [Skotlex]
+ * Added pc_bonus_autospell_del, gives support for removing autospell
+ effects. When a negative rate is specified, it will decrease the chance of
+ casting (eg: You have two different cards with autospell Heal +20% each,
+ then do autospell -30. The second card will be cancelled, and the first one
+ will become Heal +10%) [Skotlex]
+ * npc_timers now will not restore the previous timer data when there's no
+ players attached (when it's strictly an npc timer). This should reenable
+ the old behaviour of getnpctimer returning the total ellapsed time since
+ "startnpctimer" even after the last label has been reached. However, this
+ behaviour won't apply to player-attached timers. [Skotlex]
+ * [Fixed]:
+ - MAPREGSQL overloading SQL table with temperory map registries.
+ - Incorrect perfomance calculation for MAPREGSQL loading and saving. [Lance]
+
+2006/06/22
+ * Guessed and added support for the packets 0x22a (idle) and 0x22b (spawn).
+ This should complete the required packets for PACKETVER 7. [Skotlex]
+ * Added support for the PACKETVER 7 packets in the "dummy" current
+ intravision implementation. [Skotlex]
+ * Fixed @autoloot being off by 0.01% when entering a manual value.
+ [Skotlex]
+ * Restored the "Secret" behaviour of Blast Mine and Claymore Trap where
+ each target is hit N times (where N is the number of mobs in the splash
+ area at the moment of triggering). [Skotlex]
+ * Updated the tools/stackdump script to also handle sig-plugin generated
+ backtraces. Now it will also auto-determine whether the exe needs a .exe at
+ the end or not. Help me test it as I want this script on stable NOW :X
+ [Skotlex]
+ * Usage is "stackdump <login/char/map> <txt/sql> [number]". When a number
+ is given, sig-plugin stackdumps are assumed, otherwise it parses the normal
+ stackdump as before. [Skotlex]
+ * Corrected autoloot so that you can specify rate with decimal precision
+ ("@autoloot 0.01" should work) [Skotlex]
+2006/06/21
+ * [Removed]:
+ - Redundant mob name copying. (it's already copied in mob_parse_dataset) [Lance]
+ * [Fixed]:
+ - Compilation warnings and errors.
+ [Improved]:
+ - Changed and moved IP sync status messages to elaborate more. [Lance]
+ * Tested and fixed resolve_hostbyname. Applied said function around most of
+ the code where needed. Removed includes for the OS/network system pretty
+ much from every file (our socket.c file should handle this) [Skotlex]
+ * Made the GM mute request bypass the manner_system setting. [Skotlex]
+ * Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
+ [Skotlex]
+ * status_percent_change will now account for when the target's max hp/sp is
+ above INT_MAX. [Skotlex]
+ * [Added]:
+ - DNS (WAN) sync for those pesky disconnections (dynamic ip renewal). [Lance]
+2006/06/20
+ * Some cleaning up of OPTION related code. OPTION_XMAS and OPTION_FLYING
+ really ARE the same value clientside! (totally stupid), therefore I've
+ opted from removing the flying animation since it really just displays as
+ Xmas for others (and the correct fix involves adding a bunch of
+ class-change packets...) [Skotlex]
+ * Updated skill_require_db to place the Zeny requirements of ZenyNage and
+ Fling. [Skotlex]
+ * Fixed crash when non-players use ZenyNage. Added the correct Zeny check
+ in skill_check_condition, fixed the skill so that it's damage is based on
+ whatever zeny is specified in skill_require_db. [Skotlex]
+ * Can-act delay will not be reset when warping now. [Skotlex]
+ * Fixed Quagmire not altering walking-speed. [Skotlex]
+ * Silence now blocks skills both on begin/end casting. [Skotlex]
+ * Updated status_calc_bl so that when walking speed changes, the character
+ is made to rewalk so that the new speed takes effect inmediately. [Skotlex]
+2006/06/19
+ * Added Ayothaya to nopenalty and nopvp mapflags. [Evera]
+ * Combo-used Skills with State "move_enable" will now override the "can't
+ move delay". Fixes Break-Fall -> Jump-Kick. [Skotlex]
+ * Some more cleanups of battle_calc_damage to account for absorbed damage
+ reductions. [Skotlex]
+ * Moved back Soul Drain code from mob_dead to skill_counter_additional_effect.
+ Now we are back to where the skill animation does not shows, but you DO
+ get SP T.T' [Skotlex]
+ * Some cleanups and corrections in battle.c to account for negative
+ (absorbed) damage. [Skotlex]
+ * Fixed fame-list updating crashing char-sql server when the given char-id
+ just got into ranking. [Skotlex]
+ * Added missing Arunafeltz maps with information from NLZ [Evera]
+2006/06/18
+ * [Fixed]:
+ - Typo in status.c add_sc() using 'skill' instead of 'sk' as index, resulting in
+ filling the SkillStatusChangeTableArray with junk data.
+ - > NEEDS CONFIRMATION < Ends casting if player is knocked with freezing/stun/whatever
+ - Typo in parse_frommap. [Lance]
+ * [Fixed]:
+ - clif_initialstatus using SHRT_MAX instead of USHRT_MAX for status_point.
+ * [Temperory Fixed]:
+ - Crashing of SQL char-server in parse_frommap case 0x2b01. [Lance]
+ * [Removed]:
+ - Large part of scripted mob control commands are removed.
+ - Large part of scripted player control commands are removed.
+ - Scripted mob slaves changing master ID.
+ [Added]:
+ - Unit control commands.
+ - CALLBACK_NPCCLICK for scripted mobs, added this to db/const.txt too.
+ - Macro RECURSIVE_MASTER_CHECK in battle.c
+ [Modified]:
+ - buildin_skilluseid and buildin_skillusepos -> buildin_unitskilluseid
+ and buildin_unitskillusepos.
+ - md->callback_flag to short (double word). [Lance]
+
+2006/06/17
+ * Devotion absorbed damage will now appear to come from oneself (instead of
+ the original attacker changing directions towards the Crusader) [Skotlex]
+ * Updated clif_refres to send inventory, cart, and weight info. [Skotlex]
+ * Fixed intif_guild_memberinfoshort to not leave a dangling pointer when
+ someone logs out <.< [Skotlex]
+ * Changed some mapflags related to the eye of hellion quest. [MasterOfMuppets]
+ * [Added]:
+ - buildin_checkcell, buildin_mobwarp, buildin_pcattack.
+ [Improved]:
+ - buildin_skilluseid and buildin_skillusepos to accept a few more arguments.
+ - mob_script_callback to return sucess value [Lance]
+ * Fixed the party HP packets to send max HP 10000 and scale HP accordingly
+ when the player's HP doesn't fits in the packet's field. Fixes HP bars not
+ correctly displaying the % of life when max HP is above 32k. [Skotlex]
+
+2006/06/16
+ * Fixed option value being reset'ed on login (fixes cart/peco/falcon being
+ lost) [Skotlex]
+ * Corrected @speed to alter your base speed instead of battle one. Means
+ the change remains for much longer (until status_calc_pc is invoked, which
+ could be due to equipping/unequipping stuff) [Skotlex]
+ * Modified the bNoMagicDamage/bNoWeaponDamage bonuses to be a 0-100
+ setting. Meaning you can do bonus bNoMagicDamage,50; To make all magic
+ damage be reduced by half. This bonus stack, so two cards with
+ bNoMagicDamage,50 will give magic immunity. [Skotlex]
+ * Removed setting gtb_pvp_only and replaced it with gtb_sc_immunity which
+ specifies the threshold before the bNoMagicDamage starts blocking support
+ statuses as well. ie: gtb_sc_imunity: 75 will mean that "bonus
+ bNoMagicDamage,70;" reduces magic damage by 70%, but does not blocks heal
+ or support status, while "bonus bNoMagicDamage,80;" does. [Skotlex]
+ * Removed db_tables.sql as it's no longer used. [Skotlex]
+ * the mvp_sd is removed when the mob is the emperium and there's no
+ killer/exp-awarded (assumed killed by script), this prevents the on-kill
+ event from triggering and giving the castle to whoever damaged the most the
+ emperium without destroying it. [Skotlex]
+ * [Added]:
+ - Custom slave mobs to inherit the callback_flag.
+ - Added option #25 to buildin_setmobdata to set the callback_flag. [Lance]
+ * [Improved]:
+ - Cleaned up Custom Mob Script Callback codes. Looks much better now :B. [Lance]
+
+2006/06/15
+ * [Fixed]:
+ - intif_parse_RenamePetOk for not compatible with ANSI-C initialzation specification.
+ [Lance]
+ * Added indexes for loginlog and ipbanlist as they did not have any.
+ (note, someone already put the index on loginlog on trunk.) [Euph]
+ * Merged Adam's patch to let the char-server handle validation of
+ pet-name-change requests through the allowed char letters config. [Skotlex]
+ * Fixed "wedding_ignore_palette: yes" not working when relogging with the
+ gear already equipped. [Skotlex]
+ * Added blocking of the Kick skills when you are a Soul Linker. [Skotlex]
+ * Added enabling to turn off a kick-stance regardless of class. [Skotlex]
+ * Altered a bit how status_set_viewdata behaves in regards to Wedding/Xmas
+ options. [Skotlex]
+ * Added back OPTION_XMAS, but the actual value is missing! [Skotlex]
+ * Corrected chrif_save so that the player is not set offline on map-change.
+ [Skotlex]
+ * Added change-look support in pc_setoption when specifying OPTION_XMAS
+ [Skotlex]
+ * Fixed clif_parse_RemoveOption removing all options instead of just
+ Falcon/Cart/Peco [Skotlex]
+ * Fixed clif_send not sending packets to SELF when specifying AREA if the
+ source is not on the map yet. [Skotlex]
+ * Fixed and cleaned up script command 'equip' [Skotlex]
+ * Fixed 'autoequip' items. [Skotlex]
+ * Fixed Aspd not being updated in your status window after Agi/Dex
+ increasing statuses take effect. [Skotlex]
+2006/06/14
+ * Fixed map_nick2sd so that searching for "Adam" will not match a char
+ named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
+ * Modified how luk reduces status changes by reducing the gap. Eg: resist =
+ vit; resist += (max - resist)*luk/300; [Skotlex]
+ * Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
+ luk threshold at which you gain inmunity (defaults to 300). [Skotlex]
+ * Fixed buildin_getmobdata. It was trying to handle the first parameter as the
+ array to fill in. [blackhole89]
+ * Blocked again skill usage during marionette. [Skotlex]
+ * Fixed main.sql adding a key on char_id rather than account_id for the
+ char table. [Skotlex]
+ * Cleaned up character saving in char-sql, it no longer needs to query the
+ database to see if the player exists on each char-save, instead it checks
+ the received data against the online-players db. No such fix is required
+ for char-txt. [Skotlex]
+ * Added an error message on the char-server when the received player data
+ size does not matches with the expected size (should avoid the crash that
+ happens on such a memcpy). [Skotlex]
+ * [Improved]:
+ - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
+ queries. [Lance]
+2006/06/13
+ * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
+ * Added account_id index to char table. Thanks to Buuyo for reporting it.
+ Sql users apply upgrade_svn7146.sql NOW. [Skotlex]
+ * Marionette and Devotion will now check raw distance and ignore obstacles
+ and the like. [Skotlex]
+ * Added irc_channel_pass setting and prevent crashing when irc server
+ lookup by host fails. Thanks to Trancid for the details. [Skotlex]
+ * [Fixed]:
+ - clif_parse_GetCharNameRequest displaying false alarm for legitimate GM snooping.
+ [Lance]
+ * Added support for reading correctly status change data from Guild and
+ Homun skills. [Skotlex]
+ * Added support for reading Homun skill data (which means the HM skills are
+ now safe to add to skill_db, skill_require_db, etc) [Skotlex]
+ * Oppositions can't be made during WoE now. [Skotlex]
+ * Fixed a few compiler warnings from VC [Skotlex]
+ * Commented out the Homunculus Skills<->Status Change link which was
+ causing some memory corruptions. [Skotlex]
+2006/06/12
+ * [Fixed]:
+ - buildin_npcshopitem not allocating extra 1 block of terminator.
+ [Added]:
+ - Modified versions of Dj-Yhn's buildin_npcshopdelitem and buildin_npcshopadditem
+ [Lance]
+ * Updated clif_disp_onlyself to not use dynamic memory and write directly
+ to the player's buffer. [Skotlex]
+ * Updated @noask to also tell the user what he has just rejected (added
+ msg_athena entries for each of the different requests). Also updated it to
+ use clif_disp_onlyself. [Skotlex]
+ * Fixed a pair of missing initializers in the clif storage functions.
+ [Skotlex]
+ * @heal no longer displays a healing animation. Fixes the client believing
+ you couldn't be healed more than 32K. [Skotlex]
+ * Now you can use any skills (except encore/dancing ones) while under
+ Longing for Freeding. [Skotlex]
+ * Now you can use any skills while under Marionette Control. [Skotlex]
+ * Fixed npc_checknear's distance check returning the opposite of what it
+ should (false when the range is correct and viceversa) [Skotlex]
+ * Added a warning on item loading when an item is of equippable type but
+ has no equippable position. [Skotlex]
+ * Turning an alliance to an opposition won't work now during WoE [Skotlex]
+ * Slaves can summon other mobs now. The only ones who can't do this are
+ player summoned mobs. [Skotlex]
+ * Merged the following functions for faster processing of items: [Skotlex]
+ clif_storageitemlist + clif_storageequiplist = clif_storagelist
+ clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
+ clif_itemlist + clif_equiplist = clif_inventorylist
+ Note that the changes are a bit substantial and need proper testing!
+ * Increased max knockback value support to 25. [Skotlex]
+ * [Optimized]:
+ - buildin_npcshopitem memory allocation to calculate before reallocating.
+ [Lance]
+ * Made guild member exp an unsigned int. [Skotlex]
+ * Various cleanups to the npc clicking related functions. Should fix quite
+ some possible crashes from crafted packets. [Skotlex]
+ * Added overflow checks for bonus settings mdef_rate/def_rate. [Skotlex]
+ * Added missing update of INT after a buf. [Skotlex]
+ * Small cleanup of how SC_BLEEDING works. [Skotlex]
+ * Fixed party_foreach_samemap invoking the function on the CASTER instead
+ of on the party members. [Skotlex]
+ * Modified clif_parse_NpcClicked to handle the different situations with
+ different bl-objects (attack on players/mobs, click on npcs or mobs with
+ npc attached) [Skotlex]
+2006/06/09
+ * [Fixed]
+ - Compilation warnings on guild.c and int_guild.c [Lance]
+ * Added structure party_data and party_member_data to the map server to
+ hold party-specific required information about parties including
+ Monk/TK/SG/SN states and party member count. Family information is still
+ missing, and handling of the state should probably be done by the
+ char-server, too... [Skotlex]
+ * party Hp updates are no longer done each time the Hp is modified, but
+ together with the party xy timer. It means HP-bars will be a bit delayed
+ before being updated, but packet consumption should be much less during
+ heated battles. [Skotlex]
+ * Fixed MoM's typo [Vicious]
+ * Fixed map_readafm missing strcpy(afm_name, m->name). [Skotlex]
+ * [Improved]:
+ - npc_click interception on BL_MOB and BL_PC to let sd act accordingly.
+ [Lance]
+ * [Fixed]:
+ - Execution of sleep/sleep2 more than once will hang the script_state.
+ [Lance]
+ * Fixed @mapinfo displaying incorrectly maps with nosave which send you
+ back to your last savepoint. [Skotlex]
+ * Moved guild_exp_rate from a mapserver battle config setting to a char
+ server config. It no longer modifies the total taxed exp as seen on the
+ guild information window, but directly modifies the exp that the guild
+ earns. [Skotlex]
+ * Added an error report and correction when the map server receives a guild
+ from the char-server with more guild members than MAX_GUILD. [Skotlex]
+ * Changed the interval between waterballs back to 125 [MasterOfMuppets]
+ * Fixed a typo in char_sql/char.c, thanks to Euph [MasterOfMuppets]
+2006/06/08
+ * Modified guild exp to be an unsigned int rather than a signed one.
+ [Skotlex]
+ * Fixed @skilltree printing out Unknown job for most targets used.
+ [Skotlex]
+ * Cleaned clif_pvpset to not send the packet to nearby characters when the
+ source is GM-hidden. May help fix the crash on PvP with gm-hidden
+ characters. [Skotlex]
+ * Modified map_freeblock_unlock so that aFree errors will report the
+ file/line that INVOKED the function rather than the function itself.
+ [Skotlex]
+ NOTE: Do NOT disable the memory manager as that will break this change.
+ This change is to be temporarily set until the afree'd error can be
+ resolved.
+ * Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable
+ only on warps that don't lead to nobranch maps. 2 - enable on all warps.
+ [Skotlex]
+ * Adjusted Don't Forget Me, Defender, Longing to use all val entries, and
+ to hold the speed adjustment value rather than speed penalty (eg: 125
+ instead of 25). [Skotlex]
+ * Cleaned up status_calc_speed so that speed penalties are correctly
+ handled (eg: 25% penalty is speed*100/75, not +speed*25/100). Thanks to
+ Euph for pointing it out and Belle for the speed mechanics. [Skotlex]
+2006/06/07
+ * Fixed Sense using mdef instead of mdef2 [Skotlex]
+ * Fixed item-skills not showing up on login. [Skotlex]
+ * Cleaned up clif_parseLoadEndAck, by testing which packets are required
+ only on first-login and which ones are required on all map-changes.
+ Skill-tree, Exp, Skill Points and most of the basic status are no longer
+ sent on map-change (items, cart data and zeny still need to be sent one
+ very map-change). [Skotlex]
+ * Fixed the mob state not being set to Berserk/Angry correctly after the
+ mob reaches the target's location. [Skotlex]
+ * Added config setting mob_npc_warp, when set to yes, enables mobs to be
+ warped between maps when stepping on a npc-warp. [Skotlex]
+ * Added monster_ai setting &64, when enabled makes a mob run to any nearby
+ npc-warp when their current target has switched maps. [Skotlex]
+ * Added pc_calcexp to calculate individual exp bonuses acquired from exp's
+ source (race bonus cards, SG Exp skills, pk-mode higher level exp) [Skotlex]
+ * pc_gain_exp now also receives the source of the exp, when said source
+ exists, bonuses are applicated as needed. [Skotlex]
+ * Added status_kill when capturing a mob, should take care of the mob not
+ respawning after caputed. [Skotlex]
+ * Fixed item info not displaying the found item id [Skotlex]
+ * Fixed item info not displaying the weight value properly. [Skotlex]
+ * Adjusted status resistances and durations taking as base Viccious's info
+ from the kro guidebook. [Skotlex]
+ * Moved souldrain code from skill_counter_additional_effect to mob_dead. It
+ should display the skill animation correctly now. [Skotlex]
+ * Adjusted several sc rate/time reductions as pointed out by Playtester.
+ [Skotlex]
+ - Luk now plays a luk/10 reduction role rather than a luk/3 one.
+ * Removed char_nick2id from char-sql server as it's no longer needed.
+ [Skotlex]
+ * Fixed quitting the map server not properly saving the storage before
+ deleting it. Thanks to Adam for pointing it out. [Skotlex]
+ * Cleaned status_get_sc_tick/status_get_sc_def to use the status_data
+ function. [Skotlex]
+ * SC_STOP's chance and duration can't be reduced anymore. [Skotlex]
+ * Storm Gust no longer has a 100% chance to freeze by passing mdef, now it
+ has a 300% base chance reduced by mdef and the like as explained out by
+ Tharis. [Skotlex]
+ * Frost Diver/Frost Nova's base freezing chance is no longer affected by
+ target's int. [Skotlex]
+ * [Improved]:
+ - mob_dead not to remove script controlled monsters with player sprites.
+ [Added]:
+ - buildin_mobdeadsit :D [Lance]
+ * [Fixed]:
+ - temp++ gets issued before if(mvp_damage<(unsigned int)md->dmglog[i].dmg) in
+ mob_damage. Thanks to seahorsix. [Lance]
+ * [Fixed]:
+ - Corrected login-server SQL to use *((ulong *)p) instead of (ulong)p [Lance]
+ * [Optimized]:
+ - list and size not being initialized (size get intialized in default: switch case)
+ Eliminated default case and initialized list and size at the beginning. [Lance]
+2006/06/06
+ * Hopefully fixed for sure mobs getting extra stats when changing-class due
+ to the mobs level up setting. [Skotlex]
+ * Removed a piece of code that should no longer be needed due to the
+ combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
+ self-skills from being used on others (pets/mobs should be allowed to do
+ that) [Skotlex]
+ * Added a status_check_skilluse call in Sightblaster to prevent it from
+ hitting hidden/cloaked/act-dead/etc players. [Skotlex]
+ * Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
+ * Fixed Soul Burn not zapping away all SP. [Skotlex]
+ * The monsters can level up setting will not take effect when the mob's
+ level is LESS than their db counter-part (should prevent under-leveling
+ causing underflows and semi-immortal mobs) [Skotlex]
+ * Fixed mvp-exp calculations being messed up with more than one attacker.
+ [Skotlex]
+ * Changed the mob exp race bonus so that each player gets their own bonus,
+ rather than the killer's bonus applying to everyone. Still not the
+ "correct" way, but one step closer to it. [Skotlex]
+ * [Fixed]:
+ - Allocation of event_list in guild_npc_request_info to aCalloc so
+ memcpy(ev->name,event,strlen(event)) will have a null terminator. [Lance]
+2006/06/05
+ * Fixed a crash when using SL_SMA and the "combo" ain't ready. [Skotlex]
+ * Hopefully fixed changing a mob's class causing them to get all sort of
+ stat bonuses due to the mobs-level-up setting. [Skotlex]
+ * Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef
+ to signed char to correctly account for cards with penalties in said stats.
+ [Skotlex]
+ * Fog of Wall won't affect the caster now in any way. [Skotlex]
+ * Added clif_fixpos packets before attacking for the first time to clear
+ any position sync issues with the client. [Skotlex]
+ * Fixed skill_unitsetting using layout->count for the for instead of
+ group->count [Skotlex]
+ * Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly
+ increase dex/agi by 40% per level. [Skotlex]
+ * Fixed char-sql server not deleting character variables when deleting a
+ char. [Skotlex]
+ * Corrected cloaking not ending on attack if you are near a wall. [Skotlex]
+ * Updated pc_bonus to use cap_value on all status_data modifiers to prevent
+ overflows/underflows. [Skotlex]
+2006/06/03
+ * Fixed @mi/@mobinfo not showing the name collumns correcly [shadow]
+ * Solved the bug that made firewalls only castable a few times until [MasterOfMuppets]
+ you relogged. Thanks to Euph for the fix.
+ * Added variable other_mapserver_count to chrif.c which holds total count
+ of connected map-servers. By using this we prevent sending unnecessary
+ packets to the char-server when there's no more map-servers connected.
+ [Skotlex]
+ - Affected packets are whispers, announces, party messages, guild messages.
+2006/06/02
+ * Fixed Visual Studio 7.1 Solution File (Login TXT and Map TXT were removed)
+ * Fixed a bug in unit_can_reach_bl which breaks path seeking when the
+ target is near obstacles. [Skotlex]
+ * Updated offensive use of Sanctuary to function like on the official servers [MasterOfMuppets]
+ * Changed the interval between waterballs from 150 to 250 milliseconds [MasterOfMuppets]
+ * Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it
+ fails. Fixes cases where the client gets "stuck" and refuses to let you
+ pick any items. [Skotlex]
+ * Removed the walk delay from firewall and changed its knockback [MasterOfMuppets]
+ to 1 tile to make it act more like in the official servers.
+ * Some cleaning of the mob slave ai. [Skotlex]
+ * Corrected Brandish Spear to work on levels above 10. [Skotlex]
+ * Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for
+ skill levels above 10 (meant for boss casted skills) [Skotlex]
+ * Fixed Spear-Quicken messing with the calc_flag [Skotlex]
+ * Fixed Freeze/Stone/Benedictio not changing your elemental LEVEL to 1.
+ [Skotlex]
+ * [Fixed]
+ - Yet another compilation warning. [Lance]
+2006/06/01
+ * Altered status_calc_pc so that equipment scripts are ran before
+ card-scripts. [Skotlex]
+ * Fixed pc_bonus to not underflow/overflow when adjusting def/mdef.
+ [Skotlex]
+ - These two together, should fix Tao Gunka Card.
+ * npc_debug_warps() will now be invoked if warp_point_debug is set.
+ [Skotlex]
+ * Updated item_db.sql/mob_db.sql to current. [Skotlex]
+ * Fixed NPC_SELFDESTRUCTION not showing nor dealing damage. [Skotlex]
+ * NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
+ without removing it when the skill level is greater than one. [Skotlex]
+ * Added SC_DANCING declaration in the Status Change tables to signal it
+ modifies Walk speed. [Skotlex]
+ * Fixed pc_damage setting your canlog_tick even if the damage has no source
+ (eg: poison, berserk) [Skotlex]
+ * Berserk's aspd bonus now stacks with other aspd bonuses, but is still
+ affected by Quagmire/Forget-me-not. [Skotlex]
+ * Corrected setting slaves_inherit_mode to not apply to morphosis skills.
+ [Skotlex]
+ * Corrected pc_setoption to invoke status_calc_pc when getting/removing the
+ cart. [Skotlex]
+ * Fixed @mobinfo displaying the wrong element. [Skotlex]
+ * Fixed Autoblitz taking into account target's luck rather than attacker's
+ [Skotlex]
+ * Fixed slaves warping endlessly to their master when the master-slave
+ distance exceeds 30. [Skotlex]
+ * SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)
+ [Skotlex]
+ * Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the
+ incorrect range variable. [Skotlex]
+ * You can now equip/unequip stuff while the storage is open. [Skotlex]
+2006/05/31
+ * Fixed Soul Drain not really giving you SP [Skotlex]
+ * [Fixed]:
+ - Suppressed compilation warning in chrif.c [Lance]
+ * [Fixed]:
+ - Guys can't go across map-servers :( [Lance]
+ * [Fixed]:
+ - Restoration and saving of sd->npc_id must be done every time. [Lance]
+ * Added back the Freeze/Petrify adjustments of -50%def and +25%mdef (when
+ where these lost?). Thanks to Buuyo for pointing it out. [Skotlex]
+ * Corrected the mob_ai&2 setting triggering rude-attacked due to can't walk
+ delay. [Skotlex]
+ * Made the char_name_option char_athena.conf setting apply to parties and
+ guilds as well. It cannot be applied to pets yet without adding a
+ change-name-request interserver packet. [Skotlex]
+ * Moved the JOB_* defines from map.h to mmo.h, update char.c to use them.
+ [Skotlex]
+ * Added function char_read_fame_list for famelist reading. Invoked it on
+ init, and made it be sent automatically to connecting map servers.
+ [Skotlex]
+ * Some cleaning of the fame-list reading code. [Skotlex]
+ * Some cleaning of the fame-update code, fixed a logic bug which made the
+ ranking list fail to display the correct ranker names. [Skotlex]
+ * Removed typedef bool from socket.h and included cbasetypes.c instead.
+ [Skotlex]
+ * Cleaned up and corrected the calculation of hit/flee/cri/lucky dodge in
+ status_calc_bl. [Skotlex]
+ * [Fixed]:
+ - Incorrect SQL syntax in login.c (missing collumn) [Lance]
+ * [Improved]:
+ - SQL upgrade file for the new loginlog. Thanks to ultramage. [Lance]
+ * [Fixed]:
+ - nullpo in pet.c caused by equipping without checking if the pet is available.
+ [Lance]
+ * [Fixed]:
+ - Latest client support completed! [Lance]
+ * [Fixed]:
+ - Missing #include for cbasetypes.h in login server SQL.
+ - Logic errors in run_script [Lance]
+ * [Added]:
+ - Partial support for latest login packet. But it seems to have a new security
+ module. [Lance]
+2006/05/30
+ * [Improved]:
+ - Fake NPC interface to use real NPCs.
+ - Scripting interface to restore and save sd->npc_id. [Lance]
+ * Added function pc_check_skilltree for checking if you unlocked new
+ tree-skills when raising non-passive skills. [Skotlex]
+ * Fixed flee/hit calculation in status_calc_bl to account for bonuses from
+ the base status. [Skotlex]
+ * [Fixed]:
+ - Compatibility problems in login.c [Lance]
+ * Fixed pets ignoring can-act delays for skill usage. [Skotlex]
+ * [Added]:
+ - Mercenary.c in VS.NET 2005 project files
+ [Improved]:
+ - loginlog using unsigned long `ip` field.
+ (Please check for compatibility problems). [Lance]
+ * Fixed status_calc_pc not zero'ing ALL vars it should, allowing certain
+ bonuses (like effect-on-hit) to stack. [Skotlex]
+ * slaves inherit speed setting will now work regardless of whether the
+ slave or master has the MD_CANMOVE mode bit. [Skotlex]
+ * Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
+ * AL_TELEPORT will fail when used by slave mobs. [Skotlex]
+ * Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
+ attacks. [Skotlex]
+ * Fixed status_damage not setting your HP to 0 when you died [Skotlex]
+ * Fixed the pcbonus2 warnings using the wrong value before printing the
+ invalid Element error. [Skotlex]
+ * Fixed underflow issues when calculating dmotion. [Skotlex]
+ * Fixed Absorb Spirit Spheres [Skotlex]
+ * Added battle_config min_chat_delay (default 0, battle/client.conf)
+ specifies in ms what is the min delay between player sent chats
+ (whisper/global/party/guild). Messages that exceed this threshold are
+ silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the
+ player?) [Skotlex]
+ * [Fixed]:
+ - signed/usigned problem in sprintf and fscanf @ mercenary.c [Lance]
+ * Rewrote/cleaned up @petfriendly. [Skotlex]
+ * Cleaned up final part of status_calc_pc (flags 2/4 do not exist) [Skotlex]
+ * Updated attr_fix_table reading code to account for ELE_MAX (will
+ correctly read bigger elemental tables if ELE_MAX is changed) [Skotlex]
+ * Aggressive mobs will now use battle_check_range rather than mob_can_reach
+ to decide whether to lock-on or not to a target within sight-range. [Skotlex]
+ * Added warnings in mob_readdb when the mob's element is invalid. [Skotlex]
+ * Added error messages in pc_bonus* functions when an invalid element is
+ passed to the relevant bonuses. [Skotlex]
+ * [Optimized]:
+ - clif_specialeffect to use the enums.
+ [Improved]:
+ - buildin_specialeffect and buildin_specialeffect2 to accept effect area
+ definition. [Lance]
+ * [Added]:
+ - Visual Studio .NET 2003 includes for mercenary.c [Lance]
+ * Removed the on-die specific code from unit_remove_map and placed it on
+ the corresponding *_dead functions. unit_remove_map should never assume the
+ char died, it is just a "remove from map" function. [Skotlex]
+ * Updated status_damage to handle the general death code (clearing status
+ changes, clearing skill related data, sending death packet, etc). The
+ return value from the *_dead functions will tell it what to do or not with
+ the object (death aborted, clear it from map/memory, etc) [Skotlex]
+ * Cleaned up pc_dead to take advantage of the fact that status changes are
+ not ended until after the function. [Skotlex]
+ * Disabled ontouch npcs triggering on hidden/chase-walk characters.
+ [Skotlex]
+ * Updated/adapted current Homun code to use the status_data update.
+ [Skotlex]
+ * Updated map-server Makefile to compile mercenary.* files. [Skotlex]
+ * [Fixed]:
+ - Pets attacking even master is dead. [Lance]
+ * Fixed battle_calc_weapon_attack damage capping damage to a minimum of 0
+ (negative values should be allowed when attack is absorbed by target's
+ element) [Skotlex]
+2006/05/29
+ * [Fixed]:
+ - Missing ';' in item #4358 [Lance]
+ * [Fixed]:
+ - Missing maps in map index database. [Lance]
+ * [Fixed]:
+ - Battle mechanics in battle_check_target [Lance]
+ * [Fixed]:
+ - Typo in mob_dead causing crash. Thanks to reddozen and his gang for testing.
+ [Lance]
+ * Cleaned up friend list saving and fixed loading of friends.txt file
+ (char-txt) [Skotlex]
+ * Added the Arunafeltz maps, not tested yet [Playtester]
+ - someone with an up-to-date client should test them
+ * Fixed pc_gainexp resetting your exp to 0 rather than adding it in...
+ [Skotlex]
+ * Corrected aspd calculation code to avoid negative overflows. [Skotlex]
+ * Fixed battle_check_target check on BCT_ALL to check versus BL_CHAR
+ instead of BL_PC and BL_MOB [Skotlex]
+ * [Fixed]:
+ - Declaration of int map_getcellp(struct map_data*,int,int,cell_t); [Lance]
+ * Removed Undead being immune to poison status. [Skotlex]
+ * Removed speed penalty from SC_SKA [Skotlex]
+ * Fixed SC_SPURT triggering on Soul Linkers. [Skotlex]
+ * SC_DODGE won't be dispelled on death now. [Skotlex]
+ * [Fixed]:
+ - pc_follow_timer possible triggering crash.
+ - pc_reg_received to use battle_status.hp instead of status.hp
+ [Added]:
+ - macro map_id2index for non-cyptic mapid to mapindex conversion. [Lance]
+ * Added a division by zero check in mob_dead to prevent the (impossible)
+ case where a mob dies with received damage of zero. [Skotlex]
+ * Modified skill_get_range2 to return range 9 for skills with range 0 for
+ Non-Players. This usually signals Self skills, and mobs/pets should be able
+ to use them in other characters. [Skotlex]
+ * Optimized a bit the SC_PROVOKE code (to use val3/val4) [Skotlex]
+ * Fixed draining when the amount drained is negative (invoke zap rather
+ than heal) [Skotlex]
+ * Implemented GS_FLING as per the current skill description. [Skotlex]
+ * Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than
+ status.hp/sp, fixes scripts reading the wrong Hp/Sp values [Skotlex]
+ * Added some missing SC_* entries on the initial listing (potion related
+ and speed up ones) [Skotlex]
+ * Fixed function declaration of map_getcellp() [Skotlex]
+ * [Fixed]:
+ - status.c:920: warning: 'mbl' might be used uninitialized in this function
+ - skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
+ - skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
+ - skill.c:2826: warning: 'sid' might be used uninitialized in this function [Lance]
+ * [Optimized]:
+ - Removed unused variable (account_id) in storage_guild_storagesaved.
+ * [Optimized]:
+ - Removed unused checks for unsigned data type and possible logic error for
+ char type (gcc treats char as unsigned). [Lance]
+ * [Fixed]:
+ - Relogging in with 0 HP didn't trigger dead event. [Lance]
+2006/05/28
+ * Added functions status_revive, pc_revive and mob_revive to handle revival
+ (it doesn't handles player respawning, though). Fixed reviving @ commands.
+ [Skotlex]
+ * Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes
+ Bladestop causing an unknown status change message). [Skotlex]
+ * Fixed MSS_DEAD state skills not triggering. [Skotlex]
+ * Changed undeads to by default always sustain 100% of the damage from firewalls [MasterOfMuppets]
+ * [Fixed]:
+ - script functions that doesn't pass references, thanks to End_of_exam. [Lance]
+ * [Protected]:
+ - clif_parse_LGMmessage from possible hacks [Lance]
+ * Fixed unable to store n items into storage unless n was the total amount
+ of items you had. [Skotlex]
+ * Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
+2006/05/27
+ * Added structure status_data which holds status-related information (str,
+ agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
+ and weapon_atk structure with the weapon specific info (atk, atk2, element)
+ to be used by all combat structures (TODO: Homun needs to be updated to use
+ it). This in change involves a LOT of changes throughout the code and many
+ optimizations were done as well. Partial list (see svn changelog for complete
+ changes): [Skotlex]
+ - NOTE: Changes are substantial! I tested a bunch of stuff and all the
+ skills I changed the most, but it is possible there are unnoticed bugs
+ remaining to fix!
+ - Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
+ - Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
+ - Added status functions to deal with damage and healing (status_damage,
+ status_heal, status_percent_change) and a bunch of defines for easier
+ handling of them (status_percent_heal, status_percent_damage,
+ status_fix_damage, status_kill, etc). Objects must be hurt/healed through
+ THIS, pc_damage/mob_damage most no longer be directly invoked!
+ - Rewrote and cleaned up battle_calc_misc_attack
+ - Merged config options pc_attack_attr_none, mob_attack_attr_none,
+ pet_attack_attr_none into attack_attr_none (type 4)
+ - Removed config options player_defense_type, monster_defense_type,
+ pet_defense_type in favor of weapon_defense_type
+ - Modified skill_calc_heal to take into account the MEDITATION bonus.
+ - Modified Slim Pitcher so it will work when casted by non-players. Will
+ now also work with SP-healing items.
+ - Rewrote Freedom of Cast code to use function status_freecast_switch to
+ switch adelay/speed when cast begins/ends.
+ - Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
+ easier updating when used in conjunction with ground skills.
+ - Fixed Asura Strike being usable from within a combo regardless of combo skill.
+ - Added status_calc_bl which does status-change related calculations using
+ as base the base_status of the bl object and the SCB_* flag passed. This is
+ invoked on status changes, and status_calc_pc will no longer be invoked
+ (which results on much faster status-change calculations).
+ - pc_clean_skilltree will now also remove item-granted skills.
+ - Learning skills will now only invoke status_calc_pc when the skill is passive.
+ - Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
+ packets and functions ONCE regardless of skill-levls earned.
+ - Cleaned up pc_ regen related functions.
+ - Made player-sprite mobs have item pickup animation and walkdelay when taking items.
+ - Clones will copy a player's base status rather than battle status (so
+ status-change alterations are not cloned)
+2006/05/26
+ * Part B of the homunculus code. [blackhole89]
+ While most of the homunculus handling functions are in now, it still lacks
+ code required for players to create it.
+ Given I haven't screwed up, you could master yourself one through the DB though.
+ * Fixed crashing in mob.c [Lance]
+ * Patches to allow everything to work right. + 1 more sample script. [Lance]
+ * Mob control engine tested 99% working so far. [Lance]
+ * Change scripting engine's NPC scope vars to dot (.) style.
+ * Improved and (should be fully) fixed the mob control engine. [Lance]
+ * Fixed typos in char.c [Lance]
+ * Rewrote fame rank lists system to reduce char-server load, as requested by
+ Skotlex: now it has a copy of those lists, and updates only the proper one
+ when needed instead of rebuilding all from saves everytime (which required
+ to always save the character before rebuilding the lists) [DracoRPG]
+ - Note it hasn't been compiled nor tested with SQL, please do it for me
+2006/05/25
+ * Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
+ int-based damage component (which is added right before elemental
+ modifiers) as described by AuronX. Pending further refining. [Skotlex]
+ * Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
+ Fixed atcommand @request MSG numbers accordinly.
+ On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
+ * Added NoVending mapflag. You may disable vending in the streets [Lupus]
+ * Increased capacity for Account Variables to 64 [Skotlex]
+ * Reverted Intravision implementation to that of stable's. [Skotlex]
+ * Corrected Login Server taking it's first argument as both login config
+ and lan config. [Skotlex]
+ * Fixed mob control commands.
+ * Fixed memory leak in scripts (again). Still have a few lying. [Lance]
+2006/05/24
+ * Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
+ * Item sharing now shares the same rules as exp sharing (no sharing when
+ dead, or idle, etc) [Skotlex]
+ * Fixed summoned slaves being able to cast onspawn summon-skills (slaves
+ aren't supposed to be able to call minions) [Skotlex]
+ * The clif_skill_poseffect packet will not be invoked in Snap unless the
+ skill was successful. May fix the client-position lag. [Skotlex]
+ * Merged item_db.sql from stable (the one from stable was more recent than
+ the one of trunk...) [Skotlex]
+ * Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
+ * Corrected a pair of incorrect sql query parsing logic in the login-sql
+ ban request packet. [Skotlex]
+2006/05/23
+ * Corrected mob angry mode, now it only "restores" itself after being hit
+ when the mob has no target within their range of sight rather than on
+ picking a new target. [Skotlex]
+ * Fixed wedding sprite where it would stay active after unequipping. [Zido]
+ * Some cleanup of run_script, should fix the memory leak there. [Skotlex]
+ * the charname request hack message has been downgraded to only include
+ GM-invisible characters. [Skotlex]
+ * corrected clif_charnameack to send negative ID when a disguised player
+ asks for it's own disguised name. [Skotlex]
+ * Cleaned up the disguised target-id checks taking into considering that
+ the only character that sees a negative ID is the same disguised character.
+ [Skotlex]
+ * Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
+ defense), Investigate and Icepick will now use the final def/vit-def values
+ rather than the base ones. [Skotlex]
+ * The move-enable condition checks for skills are now checked for only when
+ on skill use, not at cast-end time. [Skotlex]
+ * Corrected clif parse name request failing on disguised characters [Skotlex]
+ * Corrected Soul Drain draining from all non-ground-based skills including
+ non-magic attacks. [Skotlex]
+ * Corrected pc_setoption to change the option and then change class.
+ changing option-wedding will automatically convert the view-class as well.
+ [Skotlex]
+ * Corrected the 15% drop rate increase when killing higher level mobs in
+ pk-mode triggering for all mobs with lower level than yourself. Thanks to
+ Vayu. [Skotlex]
+ * Fixed typo (this time it's not my fault) in script_reload() clearing the same
+ db each time o_o [Lance]
+ * Fixed sleep command. [Lance]
+ * Added 'setd' support for local NPC scope (') variables. [Lance]
+ * [Scripting Engine Update] New variables are ready to be used. [Lance]
+2006/05/22
+ * Updated skill_delayfix to return 0 for mobs since they have no skill
+ delay other than the one specified in mob_skill_db [Skotlex]
+ * Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
+ Vayu for pointing it out. [Skotlex]
+ * status_get_sc_tick will now use directly Stun's formula rather than
+ invoking the status sc chance once. [Skotlex]
+ * Fixed a possible null pointer in script command misc_effect [Skotlex]
+ * Modified Investigate to take into consideration final def/vit-def rather
+ than base values for damage adjustment. [Skotlex]
+ * WARNING: New scripting system contains memory leak
+ TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
+ * Excluded idle and auto-trade party members from TK_POWER list. [Lance]
+ * Fixed compilation errors.
+ Tidy up jobmaster for easy debugging. [Lance]
+2006/05/21
+ * Part A of the Homunculus code.
+ This only features the structures, status_* and clif_* (packets) and is
+ not functional yet in any conventional way, but doesn't interfere
+ with present functionality either.
+ Main purpose is helping me to keep my work organized. [blackhole89]
+ * Fixed the "fake" mute status bug. [Zido]
+ * Speed up array size calculation and deletion. [Lance]
+ * Player must learn the skill before doing auto-spell [Lance]
+ * Exploit prevention in clif_parse_NpcStringInput [Lance]
+ * SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
+ * Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
+2006/05/20
+ * grfio_final moved back if any of GRF overriding is enabled so servers
+ with such configuration will not have different values after reloading. [Lance]
+ * jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
+ * Abit of alterations to login-server. [Lance]
+2006/05/19
+ * Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
+ * Small change in pc_additem that could be fixing the current bug with new
+ items not getting added. [Skotlex]
+ * Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
+ * Likely fixed the mob-skill random picking behaviour causing infinite
+ loops sometimes. [Skotlex]
+ * Modified mobskill_use behaviour to pick a random starting point and check
+ skills from that, rather than always checking from first to last. Fixes
+ skills with high priority blocking skills lower down in the list from
+ triggering. [Skotlex]
+ * Updated mob ai behaviour so that mobs use IDLE state skills when their
+ current target cannot be reached for melee fighting. [Skotlex]
+2006/05/18
+ * Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
+ [Skotlex]
+ * Fixed mob_max_skilllvl being capped to 11! [Skotlex]
+ * Rewrote/cleaned up several functions in storage.c [Skotlex]
+ * Optimized pc_additem comparisons to account for items with more than four
+ slots. [Skotlex]
+ * Updated clif.c to enable retrieval of items from cart/storage while
+ trading. Exception is retrieving items from the cart while vending.
+ [Skotlex]
+ - The reasoning is that an ongoing trade will not get "corrupted" if you
+ earn items before it is commited (only if you lose items from your
+ inventory), and it is an annoyance when you realize the stuff you want to
+ trade is on the cart/storage.
+ * skill reiteration code now does not checks for the trigger-area of the
+ skill in the case of non-players, which means mobs can now place traps in
+ cells adjacent to each other. [Skotlex]
+ * Applied an experimental weather code that should lower bandwidth usage to
+ near-none, which's only disadvantage should be the weather not clearing out
+ until moving to another map (even when the mapflag is removed from the
+ current map). Please test and report if there's any anomalies with it.
+ [Skotlex]
+ * NPC_AGIUP will now give movement boost of 50% [Skotlex]
+ * Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
+ * MO_BODYRELOCATION will send the slide packet with the actual src's
+ coordinates rather than selected tile. [Skotlex]
+2006/05/17
+ * Modified mob_can_changetarget to return true always when the new target
+ is the provoked-by character. Fixes provoke not making the mob change
+ target when it already is locked on another player. [Skotlex]
+ * Added check to clear previous skill when combo time ends. Should fix TK
+ Rankers being unable to initiate a combo with the same kick their previous
+ combo was finished with. [Skotlex]
+ * Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
+2006/05/16
+ * Modified "hide woe damage" to send the number of hits rather than 1 as
+ damage Because when the damage is less than the number of hits, the client
+ will display MISS. [Skotlex]
+ * Fire Pillar will now do 200%MATK damage per hit when level is >10.
+ [Skotlex]
+ * Blood Drain always hits now. [Skotlex]
+ * Fixed Mob Area Skills not updating their use-time (rendering their skill
+ delay useless) [Skotlex]
+ * Search free cell will now skip picking the center-tile as target
+ location. Will prevent slaves from walking on top of their master, or mobs
+ placing stuff right under themselves with the "around" target conditions
+ among other things. [Skotlex]
+2006/05/15
+ * Small changes to the skill.conf
+ - Monsters now can place ground skills on top of each other by default
+ - Land_Skill_Limit format changed and set to "Only Players" by default
+ * When reading mapflags, when a map is set to be pvp or gvg, the other will
+ be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
+ * Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
+ skill level is above 10. [Skotlex]
+ * Sorted out the item_data structure, getiteminfo should work correctly
+ now. [Skotlex]
+ * KA* skills can now be casted on other Soul Linkers as well without the
+ Spirit requirement. [Skotlex]
+ * Soul Drain will now show the SP drained regardless of drain display
+ settings. [Skotlex]
+ * SC_COMBO state will now end in skill_attack rather than
+ skill_check_condition (as it is required there to apply damage bonuses
+ based on combo-casted skills) [Skotlex]
+ * Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
+ [Skotlex]
+ * Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
+ servers. [Skotlex]
+ * When removing a castle's owning guild, the char servers will erase the
+ guardian data now. [Skotlex]
+ * Changed the behaviour of immobile mobs when they can't chase their
+ target. Rather than using a longrange skill and then unlocking, they will
+ use an attack/angry state skill and then unlock. [Skotlex]
+ * Some adjustments of how disguising + gm-hiding work together. [Skotlex]
+ * Fixed clif_GlobalMessage being the exact same function as clif_message
+ (the first should send to ALL_CLIENT and the later should send to
+ AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
+ * Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
+ * Characters in vending are now always considered "idle" if the
+ idle_no_share setting is active. [Skotlex]
+ * Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
+ * Remaining fixes for item scripts. [Lance]
+ * Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
+
+2006/05/12
+ * Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
+ * Bugfix on fake npc [Lance]
+ * Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
+ * Reverted again the change that stuns the caster on Ske, Ska, Swoo when
+ the target is a nonplayer (rather than always) [Skotlex]
+ * Modified mob_spawn_once so that coordinates -1,-1 are "random around the
+ player" while 0,0 are random around the whole map (regardless of whether
+ there's a player attached or not) [Skotlex]
+ * Knockback will no longer work on traps during woe. [Skotlex]
+2006/05/11
+ * Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
+ [Skotlex]
+ * NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
+ of 40% per level. [Skotlex]
+ * Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
+ [Skotlex]
+ * Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
+ * Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
+ * Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
+ * Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
+ [Skotlex]
+ * Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
+ secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
+ * Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
+ Tanaous [Skotlex]
+ * Added back the missing code that substracts arrows when normal-attacking.
+ [Skotlex]
+2006/05/10
+ * Changed the state of Asura back to explosionspirits, added a hardcoded
+ move_enable check when invoking Asura and NOT while in BladeStop or a
+ Combo. [Skotlex]
+ * Added back SC_XMAS to status.c, it got lost sometime during all the
+ previous reworkings. [Skotlex]
+ * Changed wedding costumes to use setoption rather than changebase.
+ [Skotlex]
+ * Modified setoption so that flag 1 or no flag adds an option, and flag 0
+ removes it. [Skotlex]
+ * Updated script_commands with the new behaviour. [Skotlex]
+ * Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
+ than 15. [Skotlex]
+ * Users are now able to use their own dnsbl servers (login_athena) [Zido]
+
+2006/05/09
+ * Rewrote/cleaned up trade.c for a more clean trading implementation.
+ [Skotlex]
+ * Added @request commands, sends a request to all connected GMs of
+ lowest_gm_level or above as a whisper message. Defaults to gm level 20
+ users (UNTESTED). [Skotlex]
+ * Modified @commands to use Meruru's code which is faster and does a fair
+ attempt at tabulating the commands presented. [Skotlex]
+ * Updated SKA to return a random value between 0 and 99 each time
+ status_get_def is invoked. [Skotlex]
+ * Updated Making Arrow to not include unidentified items in the list.
+ [Skotlex]
+ * Reduced drop slots from 15 to 10. [Skotlex]
+ * Updated mob_db.sql with the current data. [Skotlex]
+ * Updated setoption script command to receive a second (optional) argument
+ flag. If the flag is 1, the option is added to what the player currently
+ has; likewise using flag 2 removes only that option. No flag (or any other
+ value) is the older behaviour of removing all other options and setting
+ specificly what is passed. [Skotlex]
+ * Updated script_commands information for setoption due to this change.
+ [Skotlex]
+ * Small fix in npc-created chat rooms to properly include the terminating 0
+ on the chat's event. [Skotlex]
+ * Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
+ get reduced by 50% regardless of who is standing on the fog. [Skotlex]
+ * monster_ai&2 will now trigger the rude-attacked skill when the mob can't
+ move and the attacker is out of it's attack range. [Skotlex]
+ * Added missing icon for Joint Beat [Skotlex]
+ * Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
+ * Treasure chests will now be excluded from the mob-drop listings
+ (@whodrops) [Skotlex]
+ * Fix on pc_skill which fixes overlapping when one gets more than one bonus
+ for the same skill. [Skotlex]
+ * Updated main.sql's loginlog table structure. [Skotlex]
+ * Added svn_update6533.sql to update the loginlog structure as suggested by
+ theultramage. [Skotlex]
+ * Cleaned up somewhat the implementation of BladeStop. [Skotlex]
+ * Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
+ when crafted for non-players. [Skotlex]
+ * Script commands sc_start, sc_start2 and sc_start4 will now start
+ regardless of sc defense of the target player (that is, they cannot be
+ avoided/blocked) [Skotlex]
+ * Fixed a possible counter overflow in attacked_count, changed the var size
+ to unsigned char since the code can handle the overflow now. [Skotlex]
+ * Multiple targets again reduces armor defense, as reported by Tharis.
+ [Skotlex]
+ * Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
+ * Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
+2006/05/08
+ * Reverted the change that was making ES skills stun the caster always.
+ [Skotlex]
+ * Removed the fixpos packet which is sent whenever you are hit while moving
+ as Aegis doesn't sends this packet neither. [Skotlex]
+ * ES magic will now put the caster on stun for 0.5 secs regardless of
+ whether the skill-target is a mob or not. [Skotlex]
+ * Added function clif_party_join_info which sends packet 0x1e9 each time a
+ party-member joins. This packet (as redundant info as it has) should also
+ contain the field for "adoptability", but that needs to be coded in yet.
+ [Skotlex]
+ * Added clif_ParseAdoptRequest which does the basic adoption handling. More
+ checks and the reply packets still need to be coded in. [Skotlex]
+ * Happy State and TK stances won't dispel on death now. [Skotlex]
+ * Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
+ skill_check_condition now. [Skotlex]
+ * Modified TK-ranker infinite combos to behave as described by AuronX.
+ Refer to his thread in the development section for details. [Skotlex]
+ * Made all Soul Link Spirit skills not be castable on self. [Skotlex]
+ * Changed rate of NPC status effect skills to 50+10*lv% base chance
+ (guessed, but better than 100% for all levels) [Skotlex]
+ * Changed max level of NPC status effect skills to 5 [Skotlex]
+ * Increased max number of tries to find a random spot in maps to 1000 since
+ some maps have so many non-walkable tiles it's hard to find one in just 100
+ tries. [Skotlex]
+ * status_set_viewdata will remove the Wedding Option status when you set a
+ class that is not wedding. [Skotlex]
+ * hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
+ * idletime will now be updated on attack-request, not on sit/standup
+ [Skotlex]
+ * Party members sitting will no longer be considered idle. [Skotlex]
+ * Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
+ with the disguise/undisguise script commands instead). [Skotlex]
+ * Moved Sharp Shooting display to the block with Auto-Counter (since that's
+ the other skill that can show critical as well) [Skotlex]
+ * Corrected some fields in the standing still packet (guild emblem being
+ stored as a Long when it should be Short) [Skotlex]
+ * Modified most fields of view_data to be unsigned shorts rather than
+ signed ones. [Skotlex]
+ * On-Touch NPCs will now make you stop walking when you trigger them.
+ [Skotlex]
+ * ShadowJump/JumpKick will make you land on the target's cell now.
+ [Skotlex]
+ * Fixed Kaahi triggering only once per skill duration. [Skotlex]
+2006/05/07
+ * Fixed readme/changelog.html [KillerBox]
+ * Removed old logs. [Lupus]
+ TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
+2006/05/05
+ * Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
+ before sending one (as it's not required to send twice).
+ * Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
+ players and still continues execution to work). [Lance]
+ * Updated item_db.sql to current. [Skotlex]
+ * Fixed a bug in @commands, most likely the reason some people were still
+ getting crashes. [Skotlex]
+ * Fixed @commands not showing the last available commands (unless the total
+ amount of commands is divisible by ten) [Skotlex]
+ * Added a npc-script-event cache to avoid looking up event-scripts every
+ time they need to be executed. Events cached are all those defined in
+ script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
+ - Since the cache holds direct pointers to the npcs/events, do NOT unload
+ the related NPCs or you'll get dangling pointer crashes. However,
+ @reloadscript will work fine.
+ - Set the etc_log to on to see a summary of npcs/events loaded for script
+ execution on startup.
+ * The Rest bonus activated by using /doridori while in rest should now
+ trigger with all the class tree (TK/SL/SG) [Skotlex]
+ * Fixed Kaupe always triggering when the one who was under Kaupe was a
+ player rather than the one attacking... [Skotlex]
+ * /doridori now won't double the HP/SP regen of TKs, it only activates
+ their "happy" state. [Skotlex]
+ * Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
+ * Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
+ * Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
+ (even if there's no other TK around). [Skotlex]
+ * Added battle config settings view_range_rate and chase_range_rate to
+ adjust the view-range and chase-range (range2/range3) of the mob_db without
+ having to manually change them (battle/monster.conf) [Skotlex]
+ * Kaupe now will only block all skills of players, for non-players, only
+ normal attacks can be missed. [Skotlex]
+ * Moved the Kaite spell-reflect code after the damage calculation function,
+ so the reflected damage is exactly the damage the original target would
+ have received. Will only trigger if the damage to be reflected is above 0.
+ [Skotlex]
+ * OnEquip scripts will now trigger on log-on. [Skotlex]
+ * Infinite Endure will no longer give mdef bonus. [Skotlex]
+ * Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
+ start/end infinite endure. [Skotlex]
+ * Fixed Kaahi's SP cost per heal. [Skotlex]
+ * Now when walkdelay is set to 0, characters will stop walking when hit,
+ but will not have any walk delay. (previously setting walk delay to 0 would
+ not even stop characters from walking when hit) [Skotlex]
+2006/05/04
+ * Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
+ * Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
+ * Some clean-ups in the mob_ai [Skotlex]
+ * Improved atcommand autoloot, now displays droprate in percents and notices
+ player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
+ commited by erKURITA
+ * Added one grace range in the mob_loot search function which should fix
+ mob_can_reach failing when invoked with the same distance that distance_bl
+ returned. [Skotlex]
+ * Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
+ * Eska is now usable on bosses. [Skotlex]
+ * Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
+ * clif_skill_failed will print out a debug line with the skill_id (since
+ the current null_po does not helps at all to fix it) [Skotlex]
+ * Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
+ * Rewrote Kaahi to behave as it should. It will heal whatever amount of
+ damage accumulates in the time2 interval (500ms by default) after being
+ hit. [Skotlex]
+ * Changed skill_unit_move_unit_group to enable moving of all types of
+ ground-skills except ensembles (fixes warmth not following you) [Skotlex]
+2006/05/03
+ * Kaahi now triggers every 500ms rather than on every hit (but it only
+ heals if in those 500ms an attack that would previously trigger Kaahi has
+ taken effect). In other words, it works just like before, except damage
+ gets "buffered" into 500ms slots. [Skotlex]
+ * Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
+ * Knowledge will now only trigger if you logon to the memorized map, not
+ walk into it. [Skotlex]
+ * Corrected @whomap directly invoking msg_table[] rather than msg_txt()
+ [Skotlex]
+ * Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
+ and not fix the pet issue, but I doubt it'll cause any problems that won't
+ be fixed by making the pet move. [Skotlex]
+ * Updated Charge Attack's state from none to move_enable. [Skotlex]
+ * Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
+2006/05/02
+ * Fixed standing up not really standing you up. [Skotlex]
+ * Moved battle_consume_ammo to the end of skill_castend_damage_id,
+ skill_castend_nodamage_id and skill_castend_pos2 rather than
+ battle_calc_weapon_attack. They will trigger when the player's arrow_atk
+ state is active and a ground skill was not invoked. It should fix all
+ issues with splash/ground skills consuming ammo per target rather than once
+ per skill use. [Skotlex]
+ * Added structure state to the ground skills, their fields are magic_power,
+ into_abyss and ammo_consume to indicate the states that were previously
+ stored in val3. [Skotlex]
+ * Implemented desperado as explained by Rockman-EXE. The skill-effect is
+ not showing up though, I'll need some logged packets to see what's missing.
+ [Skotlex]
+ * Removed the unit_can_move checks in skill cast-end, they should be
+ performed in skill_check_require when the skill's state is move_enabled.
+ [Skotlex]
+ * Changed extremity fist's state to move_enabled, the explosion spirits
+ check is now hardcoded. [Skotlex]
+ * Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
+ Haplo. [Skotlex]
+ * Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
+ impossible to steal unless you have at least 100% steal-rate (where steal
+ rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
+ * Cleaned up clif_parse_action_request to enable sitting/standing while in
+ shops, interacting with npcs, etc. [Skotlex]
+ * Kaite now works against all types of spells. [Skotlex]
+ * Kaupe now works against all skills. [Skotlex]
+ * Sanctuary now won't damage non-enemies. [Skotlex]
+ * Blessing now will always give you bonus stats even if you are wearing
+ undead armor. [Skotlex]
+ * Modified how Rogue's treasure works so that you get +1% to your steal
+ rate rather than +0.01% to the final rate. [Skotlex]
+ * Rewrote Warmth to use ground-skill-units, it should behave now like in
+ officials (implementation is not quite the same, but it should yield the
+ same effects while consuming less bandwidth). "Stacking", as it's called,
+ is possible now, but limited to eA's minimum timer skill interval (100ms).
+ [Skotlex]
+ * Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
+ +5+lv to all stats (as explained by Playtester and Tharis on how the skill
+ behaves). [Skotlex]
+ * Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
+ * SC_FUSION won't end when you die now. [Skotlex]
+2006/05/01
+ * Added knockback when you run into a wall during running. However
+ position is not being refreshed on the client yet... [Skotlex]
+ * Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
+ * Corrected a crash when sd is null in npc_event [Skotlex]
+ * After testing to make sure it works properly, I'm including
+ new battle conf options to limit MVP drops. [Reddozen]
+ * Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
+ * Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
+ since it has a visual effect to use. [Skotlex]
+ * Corrected the value of OPTION_FLYING [Skotlex]
+ * Using SG_FUSION ends Soul Linked effect. [Skotlex]
+ * status_setviewdata will set your option accordingly when the previous/new
+ view-class is wedding or xmas suit. [Skotlex]
+ * Added function map_foreachinshootrange, behaves the same way as
+ map_foreachinrange, but it also performs a "shoot-path" check before
+ invoking the function. Used in the skill subtimer function if
+ skill_wall_check is defined. [Skotlex]
+ * Fixed AL_WARP displaying "Unknown Area" selections when you don't have
+ all memo points used up. [Skotlex]
+ * Fixed alive_count not being reset on skill unitsetting, which leads to
+ some groups not being cleared once all their units expire. [Skotlex]
+ * Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
+ to skill_counter additional effect so it may trigger even on miss. [Skotlex]
+ * SKA no longer blocks skills. [Skotlex]
+ * Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]