diff options
author | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-10-11 06:22:03 +0000 |
---|---|---|
committer | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-10-11 06:22:03 +0000 |
commit | 3c22c93f3d02458d151cb6d3a7e8add7f549c453 (patch) | |
tree | 2ecb51979ddb4d055faf9148f633c6694c54372b /Changelog-Renewal.txt | |
parent | 31ac1ba472e692330136f02bcae3a19ef86f5749 (diff) | |
download | hercules-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.txt | 8419 |
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] |