From e4bb98fd9afd36dcd42a4135a55ad8930e2acf01 Mon Sep 17 00:00:00 2001 From: Lance Date: Fri, 16 Jun 2006 07:07:02 +0000 Subject: * [Fixed]: - intif_parse_RenamePetOk for not compatible with ANSI-C initialzation specification. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7199 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2089 ++++++++++++++++++++++++++------------------------- src/map/intif.c | 2 +- src/map/npc.c | 3 +- 3 files changed, 1049 insertions(+), 1045 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index fa1206496..03306db9b 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -1,1043 +1,1046 @@ -Date Added - -AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. -IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. - -2006/06/15 - * 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 inmune 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] +Date Added + +AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. +IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. + +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 inmune 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] diff --git a/src/map/intif.c b/src/map/intif.c index 8cd66e364..fff356d5c 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -1366,8 +1366,8 @@ int intif_parse_DeletePetOk(int fd) int intif_parse_RenamePetOk(int fd) { + struct map_session_data *sd = NULL; RFIFOHEAD(fd); - struct map_session_data *sd; if((sd=map_id2sd(RFIFOL(fd,2)))==NULL || sd->status.char_id != RFIFOL(fd,6)) return 0; diff --git a/src/map/npc.c b/src/map/npc.c index c5264974b..4af7bc36f 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1954,7 +1954,8 @@ static int npc_parse_script (char *w1,char *w2,char *w3,char *w4,char *first_lin } if((dnd = npc_name2id(nd->exname))){ - ShowInfo("npc_parse_script: Overriding NPC '%s::%s' to '%s::%d'.. (Duplicated System Name - Lazy scripters >_>) \n",nd->name,nd->exname,nd->name,npc_script); + if(battle_config.etc_log) + ShowInfo("npc_parse_script: Overriding NPC '%s::%s' to '%s::%d'.. (Duplicated System Name - Lazy scripters >_>) \n",nd->name,nd->exname,nd->name,npc_script); sprintf(nd->exname, "%d", npc_script); } -- cgit v1.2.3-70-g09d2