Date Added -------- Read Changelog-SVN.txt for the newer SVN entries-------- 2005/10/31 * Fixed all players having the "plant" mode on... [Skotlex] * Added a timer to delay the automatic respawn of characters in gvg or pvp grounds. The delay is currently 1 second, but be warned that because of this it may be possible to revive the character if some priest is insanely fast as there's currently no way to "prevent" a character from being resurrected. [Skotlex] * More and more new quest skills! :3 [DracoRPG] * Removed the setting where characters could logout overriding the prevent_logout setting if they were dead (it made it extremely easy to accidentally log out if you were killed while trying to escape) [Skotlex] * Changed prevent_logout from yes/no to a "duration in ms" setting. Defaults to 10secs (10000ms), note the client always says "wait 10 seconds" regardless of the value of this setting. [Skotlex] * Moved the status change of SC_RIDING/SC_FALCON from clif_changeoption to pc_changeoption which correctly makes the falcon/riding states end on quit. [Skotlex] * Mob ai fix (mobs locking down into one target forever even if they should be able to change targets) [Skotlex] * Added routine to check party share level whenever one of the members levels up. It's checked on the map server, and then a share request is sent to the char-server if party_share_level is broken. [Skotlex] * Corrected "show drain" to show nothing if the leeched values are non positive. [Skotlex] * Probably fixed Wand of Hermode not blocking the caster from walking. [Skotlex] * Applied Silent's fix to @where [Skotlex] * Code cleanup regarding sign/unsigned comparisons. [Skotlex] * Updates to new quest skills, some are fully functionnal, some half, some not at all xD. [DracoRPG] 2005/10/30 * Fixed a bug that broke pet skills. [Skotlex] * @follow: Now to stop following, you may just type @follow, thx2Sartory [Lupus] * Fixed & finished what I did yesterday with SCs and quest skills, thanks to Silent. [DracoRPG] 2005/10/29 * Reorganized SC IDs to make room for 2nd jobs quest skills statuses: upped SC_SENDMAX to 300 and moved all required SC to 300+. BEWARE: as a side- effect of this, you might get 'glue boots' if an SC was saved and cannot be restored because the ID isn't used anymore, this should only happen with bonuses from cooked foods & dances/songs (unlikely since they last 20 seconds only), and maybe a few other such things. Simply remove lines with SC IDs above 200 in your sc_data file/table. [DracoRPG] * Changed a bit the way Plant Cultivation fails: when it fails because of missing items, it does nothing and displays "Skill had failed"; when the 50% success rate test fails, the effect is displayed but no plant summoned. How should it work exactly? Because previous way was a bit confusing for the player, not explaining why it failed, so I'd like to know. [DracoRPG] * Changed food cooking success rate to unmodifiable 50%, temporary value waiting for accurate data ;) [DracoRPG] * Fixed the code in skill.c so that skills are considered as guild skills (for things such as inf, maxlv, etc) only when their ID >= 10k, enables use of 2nd jobs quest skills with 1k+ IDs, thanks to Silent. [DracoRPG] * Fixed the Flag guild script. Now one can only flag in using the flags infront of the castle. [Kayla] * Removed most of the built-in zlib files and the LOCALZLIB compile option Note: All native Windows builds now require zlib1.dll, you can just download it from http://www.zlib.org and place it in the main directory [celest] * Changed the unzip library to be static linked instead of dynamic [celest] * Small fix to the trading routing, should fix items with the no-trade flag being able to be vended. [Skotlex] 2005/10/28 * Fixed the size of the equip_job field in SQL item_db/item_db2, thanks to blackhole89. [DracoRPG] * Harmonized the way NPC events such as PCLoadMapEvent, PCBaseLvUpEvent, etc are implemented. Caution, now PCLoadMapEvent NPC is called globally: it is not needed to put it in a specific map. Use script functions to know which map the player has been warped to. Thanks to Z3RO. [DracoRPG] * Fixed the names of the job level up char commands. [Skotlex] * Tiny change to the script engine which may fix those crashes. [Skotlex] * Added blocking use of skills while sitting. [Skotlex] * Implemented Trancid's expanded global announce system. [Skotlex] 2005/10/27 * Applied Ilpalazzo-sama/Zzo's patch that cleans up and fixes some bugs with the script engine. [Skotlex] * Made land protectors from enemies cancel each other out. [Skotlex] * Made it so Guardians/Emperiums with no owning guild can be attacked out of woe. [Skotlex] * Corrected being able to attack and use skills during the first interval of Petrify [Skotlex] * Fixed packet exploit that allowed you to produce multiple times without first triggering the skill. [Skotlex] * Cleaned up/simplified the implementation of SC_NOCHAT [Skotlex] * Added file upgrade_svn3746.sql, use it to alter your `char` table column "manner", which should NOT be unsigned (if your column already is signed, then no need to apply this update) [Skotlex] * More code cleanup to make eA ANSI-C compliant. [Skotlex] * Some fixes to the night-day-system. [Skotlex] 2005/10/26 * Some more multi-map server work. It seems to work now correctly and with no memory leaks, however it likely needs more testing. Also added the support into the char-TXT server. [Skotlex] * Patched a crash where mobs with no space for looting would attempt to loot. [Skotlex] * Updated mapflags, readded gvg_dungeon. Now mapflags work according to this post: [Skotle] http://eathena.ws/board/index.php?showtopic=58201 * Likely fixed Party Even Share. [Skotlex] * Added map flag "nightenabled", only maps with this flag will display the night effect when it's night. Said maps are specified in mapflag/night.txt [Skotlex] * Modified map flags gvg and gvg_dungeon. gvg now is basicly the same as pvp, except guilds are automatically teamed up, while gvg_dungeon was removed and replaced by gvg_castle, which is the flag now used for castle maps which only modify the behaviour during WoE times. [Skotlex] * Updated the login/char TXT Makefiles so the TXT_ONLY flag is passed, this SHOULD fix the guild size mismatch errors... [Skotlex] * Probably fixed a char-server crash related to whispers. [Skotlex] * Updated the custom jobmaster so it should stop second advanced classes from being able to re-change jobs. [Skotlex] * Implemented dynamix's night system which uses a status change rather than the "darkness levels", said config option removed as is no longer needed. [Skotlex] * Some fixes to the char-sql code when sending chars to another map server. [Skotlex] * LuzZza's ported Trade/Vending additional antispoof checks [Lupus] - thanks to Yor&Freya Team. So LuzZza is our new dev (it was his 2nd test) 2005/10/25 * Some work fixing up multi-map servers. It should now *work*, however each time the player swaps map-server it triggers all the relevant on-login/on-logout events, which likely needs to be corrected at a later date. Only SQL has been updated so far, TXT is still pending. [Skotlex] * Updated GrandCross so it does half damage on the caster (+half damage from Faith, it does just 25% or less damage to self now) [Skotlex] * Updated battle_check_target to consider normal mobs as always belonging to the same party (should fix them fighting out when pkmode is on) [Skotlex] * Fixed the Makefile for TXT char/login servers (fixes guild structure size mismatches) [Skotlex] * Added script command "playerattached", returns the char_id of the player currently attached to the script, 0 if there's no player attached (or attached player is no longer on the map server) [Skotlex] * Fixed @changegm in the char-txt server. [Skotlex] * Some code cleanup to make eA ANSI-C complaint (not quite there, but closer) [Skotlex] 2005/10/24 * Applied Ilpalazzo-sama/zzo's patch that optimizes the status_get_* functions. [Skotlex] * Fixed changegm (as far as I know) [Skotlex] * Modified again the code that checks who and what can target traps. It should be set to only let heaven's drive, arrow shower and remove trap target them. [Skotlex] * Breaker now ignores mdef. [Skotlex] * Fixed script command "makeitem" to only require an attached player if the map is defined as "this". [Skotlex] * Updated battle_check_target to enable only skills with inf 32 (can target traps) to hit traps. Implementation may not be perfect depending on how the client reacts to the associated skill_db change. [Skotlex] * Cleaned up battle_weapon_attack. [Skotlex] * Some optimizations to the struct mob_data. [Skotlex] * Applied Ipalazzo-sama/zzo's memory optimization patches. [Skotlex] * Fixed some quests and updated item_db. [Kayla] * Updated Grimtooth to cause "Stop" on enemies instead of slow down. The duration used is now skill's time 2. [Skotlex] * Updated the mob_ai code so they do nothing if they were attacked but can't attack back (and it did not invoke a rude attacked, that is, monster_ai does not has 2 set) [Skotlex] 2005/10/23 * Some fixes to @charmountpeco [Skotlex] * Some cleanups to pet.c, fixes pet_timer being invoked when the pet is idle. [Skotlex] * Added a clause to ignore name solve requests of chat-rooms (for some reason the client requests them...) [Skotlex] * Updated sql-files/item_db.sql to the latest. [Skotlex] * Removed that mob_spawn_once message that is just a debug message with no real purpose anymore. [Skotlex] * Fixed forging displaying success even when it fails. [Skotlex] * Changed main.sql so that sc_data only has indexes, not a primary key (I keep hearing mysql can't handle a triple column PK...) [Skotlex] * Fixed Doublecast's success chance [Skotlex] * 'Fixed' the warning on @reloadscript (just removed the warning and avoided memory leaks, because properly unloading the user functions and reloading them I could not get done) [Skotlex] * Fixed possible crash due to custom packets, thanks to Andz for the info. [Skotlex] * Fixed mob's Scream/Frost Joke crashing the server if the message was too long [Skotlex] * Fixed the wrong attribute being passed to the attribute fix in battle_calc_magic attack (strange deja vu feeling.. I am sure I fixed this same bug before). [Skotlex] * Fixed trading. [Skotlex] * Removed Mastery damage being applied to Grand Cross [Skotlex] * Some more fine-tuning of the Grand Cross equation. [Skotlex] * Fixed mobs that couldn't attack not being able to use skills (first half of why marine spheres were broken). [Skotlex] * Updated summoned marine spheres so they can move (second half of why marine spheres were broken). [Skotlex] * Rewrote the produce system for mixed foods creation [DracoRPG] * Small changes and optimizations to battle_calc_magic_attack, replaced redundant magic_subrace with missing magic_addsize, updated crappy doc about it [DracoRPG] 2005/10/22 * Modified Finger Offensive's formula to be 100% + 50%*skilllv which seems to be a more factually correct equation than what is shown in the websites. [Skotlex] * Applied Ilpalazzo-sama's patch which speeds up the data zeroing in status_calc_pc. [Skotlex] * Crashfix on invalid lines when reading castle_db.txt [Skotlex] * Updated GrandCross's damage formula according to Komurka's information. [Skotlex] * Also, now skills that ignore card modifiers only ignore the attacker's card modifiers, no the target's (does not apply to skills like Pressure that do fixed damage). [Skotlex] * Updated Bowling bash damage, knockback to current Kro values. [Skotlex] * Modified NPC_EMOTION and NPC_EMOTION_ON so they can be used to modify the current mob's mode (instead of setting it). [Skotlex] - Some examples: 1269,Clock@NPC_EMOTION_ON,attack,474,1,10000,0,30000,yes,self,always,0,6,4,300,,, Adds mode 4 (aggressive) for 300 seconds to Clocks when attacking. 1193,Alarm@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,4,10,,, Removes the aggressive mode (4) from Alarms when chasing for 10 seconds. - After a mob's mode is changed, their state is reset so they can stop chasing/seek a target. * Made GrimTooth be longranged, Soul Drain work only on targetted skills, and Extremity Fist only checks for enemy state right before attacking (I am not sure it is 100% as it should be still, though) [Skotlex] * Eh.. now Safety Wall blocks all skills tagged as short-ranged. Report any anomalies this causes. [Skotlex] * Added support for global mob skills. In essence, you can now specify a mob skill that is added to ALL mobs in a single line by using negative class IDs. -1 adds the skill to normal mobs, -2 adds the skill to bosses, and -3 to both. For example: -1,All@AL_HEAL,any,28,10,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,, Adds Heal Lv10 to all normal mobs. * Readded the level up buff bonus from the Taekwon class T.T [Skotlex] 2005/10/21 * Removed the level up buff bonus from the Taekwon class T.T [Skotlex] * Small change in mob_ai_sub_hard which may fix mobs casting their Rude Attacked skill when they shouldn't. [Skotlex] * Moved the code so that SNovice Steel Body should trigger inmediately upon death, and bypass the exp loss penalty. [Skotlex] * Added Taekwon boy to the buff on level up system. [Skotlex] * Fixed Skills checking for water-cells instead of Land Protector cells. [Skotlex] * Added config option skillrange_by_distance, makes skills be long/short ranged based on the source/target distance. Defaults to 6 (mobs + pets). [Skotlex] * Fixed Magic Power totally messing up matk. [Skotlex] * Fixed Meteor Storm [Skotlex] * Some changes to Moonlight Petals, it should make the skill finally be considered an ensemble skill. [Skotlex] * Updated skill_split_atoi to guess linear increases up to half of the data provided. This means it can understand the more complex cast times of skills such as Meteor and Soul Strike. If you provide the data of ten levels, then it will check for patterns up to 5 steps long (meaning that the diff between 1 and 6 is the same as the diff between 2 and 7 and so on, and if they all match, the tested pattern is applied all the way to level 100) [Skotlex] * Some modifications to Magic Power, it should hopefully be working now. [Skotlex] * Cleanups and fixes to Tarot Card. [Skotlex] * Fixed a screwup in skill_split_atoi which was corrupting the skill db. [Skotlex] * Free up block chunks allocated by the memory manager when shutting down [celest] * Updated packets in packet_db and clif.c [celest] 2005/10/20 * Turned on the error_log by default (had this been on before, I would had noticed why Longing for Freedom was not working several WEEKS ago >.<) [Skotlex] * Fixed Longing for Freedom [Skotlex] * Hopefully fixed even-share party on char relog exploit. [Skotlex] * Modified Land Protector so it behaves more like Basilica. [Skotlex] * Removed GM account reading from the char-sql server and moved it into the login-sql server (Ancyker requested this was fixed... and this is how it was working on the TXT servers) [Skotlex] * Modified skill_split_atoi so it can guess linear changes in the values and fill out the rest of the array correctly (eg: blowcount is defined as 1:2:3:4:5, now the function can understand that and fill the rest of values with 6:7:8:9:10 and so on. It can also understand two-step increases, if the value is 1:2:2:3:3:4, it can guess that the following values should be 4:5:5:6:6:7:7 and so on). This allows mobs to cast stuff like Thunderstorm LV67 without the need of manually updating the dbs with the corresponding values :O [Skotlex] * Fixed monster_ai&1 doing the opposite of what it should do. [Skotlex] * Rewrote the skill unit reiteration code so that it'll work with any AoE skill that is set to not reiterate in skill_unit_db.txt, when no reiteration is set, the skill cannot be stacked with itself, but it can be placed on top of other AoE skills (except for Pneuma, Safety Wall, Warp Portal, Basilica and the Hunter traps who all have their own checks hardcoded) [Skotlex] * Modified the way Magic Power works for AoE magic skills, it should now work correctly for all AoE spells including Meteor. [Skotlex] * Added mode "change target" (0x200 = 512) to specify mobs that can change target while attacking. Since no mob in the db has been updated yet to include this mode, for the time being all aggressive mobs will also be considered as "change target" types (which is how eA has been managing it up to this point) [Skotlex] * Added a check in status_check_skilluse to make AoE skills fail if the caster is standing on Basilica. [Skotlex] * Reduced a bit the size of the party structure. [Skotlex] * Fixed Play Dead [Skotlex] * Reverted a memory fix in script.c which causes a crash.. [Skotlex] * Reverted a small change which likely made magic power not work anymore on ground skills. [Skotlex] 2005/10/19 * Added an SQL update update_logs2.sql Use it for more effecient work of your MySQL server [Luups] * Likely fixed Root and the Wedding Skills [Skotlex] * Fixed that crash in skill_use_id.. oops. [Skotlex] * Fixed demonstration triggering status effects. [Skotlex] * Fixed ground placed skills causing skill_counter_additional_effect triggering on the skill's owner. [Skotlex] * Added corrections/checks that should prevent the char servers from crashing if they parse a packet from a client where the session data is expected to be but is not set. [Skotlex] * Converted NPC_STOP to a status-inducing effect, SC_STOP which prevents characters from moving. [Skotlex] * General checks and cleanup (new function pc_can_move) to prevent chars from walking when they shouldn't be able to. [Skotlex] * Some changes to int_party, which may prevent crashes due to large parties in congested situations. [Skotlex] * Software Caused Connection Abort errors should inmediately terminate the connection now (rather than waiting for the timeout) [Skotlex] * Hopefully fixed Basilica by making battle_check_target use the mapcell instead of the status change when deciding the enemy state. [Skotlex] * Fixed being able to enable NPC clicks while a trading window is open. [Skotlex] * Added status change SC_MODE which allows to temporarily override a mob's mode. It can be invoked through mob skills NPC_EMOTION and NPC_EMOTION_ON using the second and third value (new mode and duration in seconds, respectively). Example: 1269,Clock@NPC_EMOTION_ON,attack,474,1,10000,0,30000,yes,self,always,0,6,133,300,,, Makes the Clock do the /an emotion, and his mode changes to 133 (can move, can attack, aggressive) for the following 300 seconds (if the mode is 0, then the mode is not changed). - Note that when a mob gets their mode changed, their state is reset (so they stop attacking/chasing) - Because of this update, the code that made mobs give up chasing after a while is no longer needed and hence, removed. * Implemented function status_check_skilluse which checks whether a skill (or melee attack) can be used on an enemy based on their status (restricts skills that may be used if opponent is cloaked/hidden, or blocks Aex Aeterna if opponent is petrified/frozen, blocks skills while silenced, etc etc). Note that the code simplification/modification is big, so beware of any new bugs that might have been caused by the function. [Skotlex] 2005/10/18 * Fixed card set bonuses for sure this time (or so I hope) [Skotlex] * Fixed the Dissonance song bug which allowed you to cast a song afterwards and it would not follow you around. [Skotlex] * Modified the counting function to never count in skills (traps, AoE skills) since traps were always being counted in for stuff like Napalm beat/Blitz Beat/etc. [Skotlex] * Fixed Devotion/Sacrifice check which should enable recasting on characters. Thanks to Irmin for pointing it out. [Skotlex] * Fixed offensive heal so it fails if not used on an enemy (instead of failing when used on an ally). [Skotlex] * Modified the char servers so they do a party range check when a character logs in. This should fix parties keeping their even share even after a low-level member rejoins the server. [Skotlex] * Updated mob AI so that aggressive mobs will change targets if they are attacked and their current target isn't attacking them (regardless of range) [Skotlex] * Some updates to the pet AI so their chase range is range3 instead of the hardcoded value of 13. [Skotlex] * Reverted Mika's fix since it makes it impossible for mobs to heal each other. (what is the so called exp bug about?) [Skotlex] * Fixed a possible crash in clif_equiplist(), thanks to Zoc [Skotlex] * Spells are now considered a "miss" if they do no damage (this prevents additional effects from triggering out such as freezing) [Skotlex] * Temp bug fix of Exp increase when healing non-undead mob (by MiKa) [Lupus] 2005/10/17 * Updated sql-files/mob_db.sql to match with the current one. [Skotlex] (someone else also did this, but missed a few values from Incantation Samurai. Altough who did it and why it is failed to be mentioned in the log files?) [Skotlex] * Fixed alchemists not being able to hit their marine spheres (how many times this same bug keeps coming back from the dead anyway?) [Skotlex] * Updated sql-files/item_db.sql to the current item_db.txt [Skotlex] * Fixed magic rod not cancelling the additional effects from skills. [Skotlex] * Cleaned up the card inserting code to prevent crashes from modified packets. [Skotlex] * Fixed offensive heal [Skotlex] * Applied a random chance when reducing the mob's chase duration. This should randomize how long the mob chases you around before giving up. [Skotlex] * Some modifications to the timer push heap function, may fix timer issues when creating timers with tick values that overflow. [Skotlex] * Modified the mob ai so it has a seek time, when the min_chase runs out (it is constantly decreased while chasing, starts out at range3) the mob will stop chasing, do a /swt, and stop being aggro for 10 secs. This is how it should be according to what I understood from Komurka's explanation. [Skotlex] * Added config monster_ai, it determines some of the mob behaviour: - If &1, mobs will use hard path finding to reach their target, otherwise only easy (straight line) path searches will be used (for most offensive purposes). - If &2, mobs will use the rude attacked skill if they can't attack back no matter what, otherwise they use it only if they can't reach the target. [Skotlex] - Still pending on what other things it could define. Currently defaults to 0 (seems to be the official mob ai) [Skotlex] * Now Atk/Matk potions duration don't get automatically multiplied by 1000, duration must be specified in ms in the scripts. [Skotlex] * Made all mobs with no guild belong to the same guild, this should prevent mobs from attacking each other on WoE. [Skotlex] * Fixed Into the Abyss + retrieving traps related exploits. [Skotlex] * Changed monster_skill_nofootset to no to enable mobs casting stuff like Bomb underneath characters. [Skotlex] * Fixed Sacrifice, it can now be recasted on a player as long as it's by the same crusader that is currently protecting the player. [Skotlex] * Fixed some unitialized values error in magic and misc attacks. [Skotlex] * Fixed 30% bonus from upper/baby classes affecting card bonuses. [Skotlex] * Fixed baseClass not working on Acolyte class, thanks to Silent. [Skotlex] * Made the stone curse animation only show up on successfully cursing. [Skotlex] * Added Meditation's bonus to offensive heal, thanks to Orn. [Skotlex] * Made devotion fail when already used on a char with that effect. [Skotlex] * Made it so you can't quit while cloaking/hiding, and said status will end on quit if force-quitting. [Skotlex] * Cleaned up and fixed isequipped script commands, it should be working correctly now (tested with the Assassin combo) [Skotlex] * Fixed not stacking Long Attack Rate bonuses [Lupus] - Bow Thimble +3%, Archer Skeleton Card +10%, Merman Card(when CARDS COMBO) +20% - We should get rid of that +-15% ranged damage varianc (it doesn't cure "stoprate bug" anyways) 2005/10/16 * Fixed wrong calculation of items max drop chance (when using MySQL MOB DB) [Lupus] * Added nomemo mapflag to more levels of Thanatos Tower, thx2Justin84 [Lupus] 2005/10/14 * Updated the gvg_dungeon mapflag to mean "guild versus guild regardless of woe schedule" and set it on the guild versus guild maps. [Skotlex] * Fixed perfect hiding. [Skotlex] * Cleaned up (or rewrote?) the Run and High Jump code to merge them better with the normal walking routines. [Skotlex] * Corrected Turn Undead from ignoring element. [Skotlex] * Updated Power Thrust Max & Power Thrust so that they don't stack (and only PT Max cancels PT) [Skotlex] * Some fine tuning in battle_check_attackable. [Skotlex] * Changed db_final's implementation to End of Exam's. [Skotlex] * Corrected Guardian removal routines to also update/save their respective Castle data (Guardian HP and visibility) [Skotlex] * Added map server setting "enable_spy", must be set to yes/on for @spy commands to work. [Skotlex] * Applied End of Exam's fix to the previous fix to the db. [Skotlex] * Fixed spyguild/spyparty sending packets to the spied guild/party instead of your own. [Skotlex] * Rewrote the card hash implementation. Now it should work correctly for any card set on any equipped item. Supports up to 4 slots in any of the equipped items. [Skotlex] * Updated the mob ai so it stops chasing right away if you hide/cloak/vanish/etc. [Skotlex] * Fixed some memory issues in the db handling. Credits to End of Exam. [Skotlex] 2005/10/13 * Updated the main.sql file with some of the recommendations by Zoc [Skotlex] - If your sc_data table works as it is, you don't have to touch it. * Fixed Maxmize Power/Cloaking sending the sever to an "infinite loop" when used by mobs. [Skotlex] * Some cleaning to clif_send in regards to guild-related packets. [Skotlex] * Added mob skill condition "afterskill", works like "skillused" except it's triggered after the mob was the one doing the mentioned skill. [Skotlex] * Small cleanup and optimization of data saved when received member information. [Skotlex] * Fixed some memory issues in script loading and the plugin loading mechanism. [Skotlex] * Fixed magic attacks always doing minimum damage. [Skotlex] * Fixed the crash in battle_check_attackable [Skotlex] * Fixed Fireball hitting twice on the targetted mob. [Skotlex] * Updated Recall Guild to work in gvg maps even if the nowarp flag is set. [Skotlex] * Updated Recall Partner to warp partner after 20 secs the thing is on the ground, skill is blocked from reusage during that time. [Skotlex] * Some updates to correctly decide whether skills hit cloaking and/or hidden chars. [Skotlex] * Updated skill code so that heaven's drive will hit and destroy traps (untested), also AoE skills will not trigger on hidden characters. [Skotlex] * Fixed the crash on magic rod. [Skotlex] * Updated Maximize Power and Cloaking to last forever (until reuse, I believe) for non-players. [Skotlex] * Made Berserk end when you logout. [Skotlex] * Made song/dances end when you unequip your weapon rather than on equip. [Skotlex] * Fixed one bug in battle_calc_magic attack and some cleaning of it as well. [Skotlex] * Updated sql-files/mob_db.sql to match the latest mob_db.txt [Skotlex] * Updated sql-files/item_db.sql to match the latest item_db.txt. [Skotlex] * Fixed stealing. Now it works like aegis one. [Lupus] 2005/10/12 * Fixed everyone gaining high speed after casting a ground-based skill. [Skotlex] * Corrected the magical part of Soul Breaker ignoring mdef. [Skotlex] * Updated Reverse Orcish to use the duration specified for the skill in skill_cast_db.txt [Skotlex] * Modified REVERSEORCISH to make it a status change (SC_ORCISH), since there's no data about duration, defense, or if any stat reduces it's duration, it currently is fixed to 5 minutes. [Skotlex] * Fixed crash when sending the insert card packet with an invalid index. [Skotlex] * Added script constant baseClass. [Skotlex] - Example: if (baseClass == Job_Novice) will match on all novices and super novices. if (baseClass == Job_Swordman) will match on all Swordmen, Knights and Crusaders. Once tested several item scripts can be simplified in the item_db. - In contrast, the already defined baseJob works by stripping the upper kind only. (eg: baseJob == Job_Swordman matches on swordman classes, but not Crusader/Knight) - I know the names can be confusing, but anyone has a better suggestion for a name? * Added a fix to prevent people from buying equipment in stackable from by hexing the packets and specifying an amount greater than 1. [Skotlex] - Thanks to End of Exam for pointing out the exploit. * Added flag "move delay" to skill_castnodex_db.txt [Skotlex] - By setting this flag to 1, players won't be able to move during the skill delay time. Some reorganization was needed in skill.c to make room for this, so some testing is required. * Fixed the Char SQL server unnecessarily loading AND saving parties each time a party-member changed maps. [Skotlex] * Modified skill_min_damage so that it defines the minimum damage for skills IF the skill does not misses/is blocked. Can be used to specify to any of weapon attacks, magic attacks, or misc attacks. Defaults to 6 (magic + misc attacks) as that is what was set up previously. [Skotlex] * Fixed Wand of Hermod and a potential crash related to ground based skills. [Skotlex] * Probably corrected npc load count when using reloadscript. [Skotlex] * Likely fixed petheal [Skotlex] * Fixed PVP client crash bug. By a new cadidate into eA coders LuzZza [Lupus] * Updated maps comments, thanks to Justin84 [Lupus] 2005/10/11 * Fixed not being able to cast resurrection on dead players. [Skotlex] * Fixed party HP update crash. [Skotlex] * Fixed players being killed always in one hit. [Skotlex] * Fixed chars not being able to unhide. [Skotlex] * Rewrote/optimized the hp updating code (both party hp and disp_hpmeter), this should lower bandwidth a bit from all the unnecessary packets that were previously being sent. [Skotlex] * Removed the mysterious 2.2% drop chance for all items when read from the sql db. [Skotlex] * Updated targeted skills and normal attacking to fail when targetting hidden characters. [Skotlex] * Merged reddozen and Draco's code regarding TK skills. [Skotlex] * Added a function to allow guilds to delete alliances with nonexisting guilds. [Skotlex] * Corrected the weapon damage return in battle_weapon_attack, thanks to PeF for pointing it out. [Skotlex] * Added max_baby_parameter to define the max parameter for baby classes. Also fixed some instances where the baby parameter restriction was not being taken into account. [Skotlex] * Fixed Firewall doing knockback on the undead. [Skotlex] * Fixed Waterball count when casted by non-players, thanks to Orn [Skotlex] * Fixed the instrument/whips gender restriction being applied to Cap. [Skotlex] * Damn typo: Fixed Mobs Drops with the same % droprate. thanx 2rover 4bugreport [Lupus] * Fixed SQL Mob DB reading(no drops issue, etc) thanx to yoanykim for pointing it out [Lupus] 2005/10/10 * Probably fixed the peco-riding issue. [Skotlex] * Fixed clif_clearchar_delay (cause of the ghost mobs from my tests). [Skotlex] * Small fix on the mob ai (attacked_id was never being reset if the attacker no longer exists). [Skotlex] * Added a couple of checks to prevent the mob_ai from executing if the mob is dead. [Skotlex] * Fixed a typo in skill_attack which causes all sort of unpredictable behaviour, such as firewall never hitting. [Skotlex] * Fixed a memory leak involving pets and cast cancel. [Skotlex] * Made Wand of Hermod end when the caster is moved for whatever reason. [Skotlex] * Increased the random damage delay modifier to +/-15% [Skotlex] * Fixed "rare drop filter" considering "available in shops only items" as RARE items [Lupus] * The GM can drop level now also determines whether a GM can store items in the Guild Storage or not. Thanks to Kayla for pointing it out :P [Skotlex] * Fixed Grimtooth so that it's slowdown works on both players and mobs. [Skotlex] * Fixed Fireball's damage. [Skotlex] * Now the Wedding Dress and Tuxedo will always check for the correct gender. [Skotlex] * Cleaned up the code for Potion Pitcher. [Skotlex] * Reverted Falcon Assault to be 5x Blitz Beat's damage at level 5. [Skotlex] * The npc_counter is now reset in a @reloadscript. [Skotlex] * Cleaned up Falcon Assault and made it's %dmg increase be an addition on top of Blitz Beat (altough I am not so sure that's right) [Skotlex] * Hardcoded the gender restrictions for items with view 13 & 14 (Musical Instruments and Whips), changed ignore_item_genders to yes as default. [Skotlex] * Changed GX duration to 900ms. [Skotlex] * Cleared up the item get times descriptions in battle_athena.conf [Skotlex] * Some timer fixes in status_change_start regarding sc_data loading. [Skotlex] 2005/10/09 * Probably fixed Waterball so it does max number of hits when casted by a non-player regardless of water availability. [Skotlex] * Fixed perfect hiding. [Skotlex] * Corrected magic damage return to only work on targetted skills [Skotlex] * Some cleaning up of the skill_attack function. [Skotlex] * At last finished 2 last logs filters options: [Lupus] - Implemented 'Rare' items option (you can set rare_items_log value) - Implemented 'Big amount' of items option (it would always log big set amount of items (per 1 action!) despite on the other filter option) * Updated @iteminfo ATcommand. It would show you additional item info. [Lupus] - Monsters drop this item with ?.?% chance - Monsters don't drop this item - This item is available in the shops only - Tip: When you Trade/Vend goods, use @iteminfo to check items price and even rareness ^_- * Rearranged item_data struct units to make it compatible with some old script commands after Skotlex's changes - Tip: Now you can use GetItemInfo script command to find out if the item is rare or not 2005/10/08 * Some improvements to the mob ai. [Skotlex] * Fixed summoned marine spheres exploding on their own. [Skotlex] * Probably fixed the attribute fix for magical attacks. [Skotlex] * Made the gender check to not be ignored by default [Skotlex] - This is necessary because the new job ID system makes both Dancer and Bard be treated as the same job, so all bard/dancer comparisons were changed to be gender comparisons, thus, the gender check is indispensable for their weapons. * Updated item_db structure. new column upper (after equip_jobs) defines the type of job that can equip the item (1: Normal jobs, 2: Upper jobs, 4: Baby jobs), merged the use_script and equip_script columns into one. Also the equip_jobs column now has support for the following classes: Taekwon (2^24), Star Gladiator (2^25) and Soul Linker (2^26) The provided db/item_db.txt and sql-files/item_db,sql are already updated with all the necessary changes (all equipable/usable items have their upper set to 7).. - Lupus, Nexus, get working on updating the item_db. * Made FrostJoke/Scream work the same way out and inside woe grounds. [Skotlex] * Corrected Grand Cross Damage [Skotlex] 2005/10/07 * Took out Lighthalzen's noteleport mapflag. Added it by accident. [Nexon] * Some commented code cleanup and help.txt update [Foruken] * Applied Draco's fixes to battle_calc_magic_attack. [Skotlex] * Modified @showexp and @showdelay so they will work as people would expect them to. [Skotlex] * Figured out what ## variables are, and documented it on doc/script_commands.txt [Skotlex] * Foruken pointed out that the actual script problem was a certain acalloc() that was changed to realloc(), so undid the last revert and reverted this one instead. [Skotlex] * Fixed a char-sql issue where character variables seemed to be saving incorrectly. [Skotlex] * Removed a free() that was added on R3421 that was supposed to fix a memory leak but instead causes crashes :/ (so the memory leak is back in there, but no more crash) [Skotlex] * Applied End of Exam's script engine patch. [Skotlex] - This adds support for nested blocks, if/else, fors, switches. See for more information. Note that he admits it is not fully tested, so be careful when trying out the new commands! 2005/10/06 * Some corrections to the script engine, should fix a few memory leaks. [Skotlex] * Minor corrections to the screen output of the char_sql server when saving. [Skotlex] * Corrected authorisation issues in msg_athena.conf [Skotlex] * Updated Wand of Hermod [Skotlex] - Can't amp out of it. - Affects everyone - Only prevents people from casting supportive skills. * Fixed mobs not doing their "rude-attacked" skill. [Skotlex] * Corrected casters being able to walk during Wand of Hermod [Skotlex] * Made Guild Recall be usable outside of WoE. [Skotlex] * Changed the default gvg_traps_target_all to yes. [Skotlex] * Changed the default for copyskill_restrict to 2 (cannot copy advanced skills) [Skotlex] * Added a bunch of code related to the 2nd job quest skills and Tae -second classes skills, as provided by Draco and acquired from jA [Skotlex] * Merged Draco's implementation of battle_calc_magic_attack. [Skotlex] * Modifications to the mob AI to more accurately use Range2 (mob's sight range) and Range3 (mob's chase distance ability) [Skotlex] * Cleaned up item_db.txt, updated sql-files/item_db.sql to match. [Skotlex] * Added logarithmic drops support for TXT itemdb loading (how could I had forgotten that?) [Skotlex] * Added battle options item_rate_treasure, item_drop_treasure_min, item_drop_treasure_max, these override all other rate options when it comes to Treasure box drops. [Skotlex] * Cleaned up battle_athena.conf regarding drop rates. mvp_item_rate has been changed to item_rate_mvp. [Skotlex] * Implemented Maya Purple card effect (you can see any hidden mob). Thanks to jA [Lupus] * Updated functions: pc_calc_base_job,pc_calc_base_job2 [Lupus] - They return 24:Taekwon, 25:StarGladiator, 27:Soul Linker Now someone should UPDATE Job fields of item_db.txt for TK,SL,SG classes then I'll remove ugly hardcoded "temp plug" from pc_isequip function [Item_DB JOB field note]: We don't check Knight2,Crusader2,Star Gladiator2 bits, so don't set them. In other words we use only these bits: 0-Novice,1-Swordman,2,3,4,5,6-Thief 7-Knight,8,9,10,11,12-Assassin,14-Crusader,15,16,17,18,19,20-Dancer 23-Super Novice 24-TK,25-SG,27-SL Don't ever use other bits e.g. for Advanced classes. It's useless * Added Poring Box logs (into dead branch logs) 2005/10/05 * Updated nomemo and noteleports for Lighthalzen/Einbroch/Einbech maps and others. [Nexon] * Fixed the mob AI. [Skotlex] * Updated alchemist_summon_reward [Skotlex] - Summons now never give exp, and they may drop items according to setting: 0: Never drop items 1: Only Marine spheres drop items (default) 2: All summons drop items. (maybe a different battle option can be made to make summons give exp?) * Simplified the Grand Cross code. [Skotlex] It is now entirely a magical attack with extra damage of the form base atk * skill% - armor def% - vit def. Note that weapon properties won't apply now as well as many of the offensive cards (those that do not apply to both magic and weapon attacks, that is), and the def penalty from having many mobs targeted on one is not applying neither (so the full def is being taken into consideration). Report any corrections further needed. * Cleaned up, organized and improved somewhat the mob ai code. [Skotlex] (update and test at your own risk as I can't test it currently) * Some corrections to the way the guild master's name is updated during a gm change. [Skotlex] * Added a check to avoid saving negative durations for status changes. [Skotlex] * Added a check to avoid loading status changes with negative durations (the walk freeze problems seem related to timers and sc_data loading, so I am shooting in the dark here at possible problem sources) [Skotlex] * Various cleanups to ensemble related code, Longing For Freedom may be working now. [Skotlex] * Added the water levels to ayo_dun01, gon_dun01 and lhz_dun03, thanks to Master of Muppets [Skotlex] * Made Autocounter trigger autospells (was not doing so because it's NK defines it as a no-damage skill) [Skotlex] * Some cleanups on the mob slave AI code. [Skotlex] * Added battle config retaliate_to_master, defaults to yes. [Skotlex] - Why? Because in official, summoned mobs are not attacked by other mobs (speaking about alchemists), if you set this to no, then mobs will retaliate against the summon (both @summon and alchemist ones). * Some fixes to the way the guildmaster flag is being set and checked. [Skotlex] * Made the skilllv be 1 if the client sends less than that (this is why active guild skills were not working. For some reason the client was sending a request to do the skill at level 0!) [Skotlex] 2005/10/04 * Likely fixed Aeterna + Soul Breaker/Destroyer. [Skotlex] * Some cleaning of the mob ai. May help with some of the current exploits. [Skotlex] * Corrected Mob_ai code to make supportive mobs properly gang up on summons. [Skotlex] * Moved the plagiarize code to execute it before dealing damage (because on WoE you are auto-restored when you get killed, hence the player was 'alive' and it would copy the skill when killed by it on WoE) [Skotlex] * Fixed Classical Pluck blocking AoE spells. [Skotlex] * Updated Spider Web code to not retrigger if already trapped by one (needed because spider webs can now stack) [Skotlex] 2005/10/03 * Fixed a mistake with my last fix. [Kevin] * Fixed often occurring memory leak in clif.c. [Kevin] * Made NPC_DARKCROSS work (it's just a copy of Holy Cross with dark attribute) [Skotlex] * Removed resetting the manner when a player is saved. [Skotlex] * Cleaned up map reading code to make it remove maps that could not be loaded. It prevents crashes related to maps that weren't correctly loaded on startup. [Skotlex] * Fixed Endure to make it add armor mdef. [Skotlex] * Small fixes to updating the guild master's name during a guild master change. [Skotlex] * Some corrections to the mob ai to enable mobs to attack other mobs (summoned ones, of course) [Skotlex] * Updated autotrading so that the char will close the shop and quit the map server automatically when there's nothing left to vend. [Skotlex] * Added checks to prevent a char from joining/creating multiple chat rooms (anti-crash fix, it is). [Skotlex] * Cleaned up and restructured the mob item drop code. It also fixes a possible crash during the autoloot check. [Skotlex] * Reupdated Wind Walk to add +5% flee bonus... AGAIN. [Skotlex] 2005/10/02 * Fixed STEAL issue. [Lupus] - Any Mob has 10 drop slots. If we pick an empty one, then we check previous slot, until we find a slot with an item. Then we apply STEAL FORMULA for the item. (During the tests I managed to steal 2 poring cards 8) If a mod doesn't have any slots then STEAL fails. - Possible exploit: If a mob (e.g. NEW MOBS) has only one rare drop, then STEAL would always try to steal that the only slot 8) How to fix: I suggest to fill other empty slots with Jellopies or Apples with zero chance. 2005/10/01 * Expanded NPC shop log info of sold items (cards, refine, etc) [Lupus] * Fixed compile errors in converters [celest] * Updating built-in zlib to 1.2.3 [celest] * Added unzip functions to grfio.c [celest] * Finished Fusion AF2 maps support - just put the .af2 files in the afm folder and start the map server as usual [celest] NOTE: It will need a new unzip library, so do 'make clean', or delete 'Makefile.cache' before recompiling! 2005/09/30 * Updated the slave warp code. Now when a master recalls their slaves, these will be placed 'randomly' around the master in an area_size/2 range. [Skotlex] * Cleaned up the mob link (supportive mode) code to prevent wasting time trying to link friends every 100ms. Now the interval for linking friends is MOB_MINLINKTIME (1 sec currently) [Skotlex] * Updated mob code so when a mob hits another, they set their 'attacked id' to the mob in question, and not the mob's master. [Skotlex] * Some cleaning up of the Taekwon stance skills. Added a attack delay when they trigger (same way as triple attack delays your continous attack) [Skotlex] * Modified the range check in skill_use_id/skill_use_pos so that if you try to use a skill while moving, it will change your path to move one cell towards the target before casting (as long as you are within one tile of being in range). [Skotlex] * Moved the bleeding reduction formula to status_change_start, modified the formula to be (lv/5+vit)% reduction. [Skotlex] * Fixed the blind duration reduction formula. [Skotlex] * Upgraded Meteor Assault so you can specify the duration of blind/stun/bleeding independently in skill_cast_db.txt [Skotlex] * Made TK_JUMPKICK share the same code as Ashura Strike (just to see what happens, both seem like they behave the same way, no?) [Skotlex] 2005/09/29 * Some tweaks and fixes around status.c, may fix the timer mismatches of status_change_timer. [Skotlex] * Fixed a memory leak regarding pet status recovery scripts. [Skotlex] * Added timestamp support. Set timestamp_format to whatever you want, and it will print a timestamp in said format before every Show* message. They can be set independently for each server (defined at login_athena.conf, char_athena.conf and map_athena.conf). Default is using no timestamps. [Skotlex] * Modified the new auth login system to take into consideration when the client tries to connect before the character data arrives from the char server. [Skotlex] (seems to work well, but could use more testing) * Corrected the description of the 'skill_add_range' switches and made them default to 5. Still pending further tuning (the official value of these switches should have is still unknown) [Skotlex] * Added Demonstration to list of skills affected by 'gvg_traps_target_all' [Skotlex] * Likely fixed Firepillar triggering multiple times when many characters step unto it. [Skotlex] * Increased the damage delay randomizer to be +/-10% rather than +/-5%, may fix 'stun-lock'. [Skotlex] * Added Consumable items log into pick_log [Lupus] - You can see logs when someone uses items (boxes, potions, etc) * Added AtCommands/CharCommands items deletion/creation log into pick_log [Lupus] * Removed some of the unnecessary verbose messages from the char server during data saving. [Skotlex] * Added the new "online check" system (more of a fixing of a system that was already there but was half working) [Skotlex] it is turned on/off by using the online_check config options for the login and char servers. - char server: When the check is on, players are kicked out of the char server when their character is already online, and the map servers are instructed to kick the account out as well. If there's no reply from the map servers, the char is automatically set offline after 15 secs. - login server: When the check is on, players get "rejected from server" when the account is online already, and afterwards the char servers are told to kick that account out (like in the first case), if after 30 secs there is no reply from the char servers logging off the account, the login server sets it offline on it's own. - The checks are by default on as they are meant to prevent possible exploits on multi-map servers. - However, I have not figured out where exactly a char server gets to know that a player has changed map-servers, so this could cause trouble in said enviroments until I figure it out (it won't go out of sync forever since the map servers do update their list of online characters every then seconds) :/ * Fixed crash, related to STEAL logs [Lupus] * Added TXT logs for Pick_log [Lupus] 2005/09/28 * Added 'scripts items operations' and 'vending' into pick_log: [Lupus] Tested with refine, getitem, getnameditem, removecards, etc commands. They are all supported. Now you can see if a player breaks his armor in NPC Cards Remover, etc. You can track down any item within a single DB. You can make a SQL query to find which items are most popular, which quests are most popular, etc Of course, it could help you to find your local items exploits, cheaters and unfail admins ^_- - Added 'Autolooted' and 'Stolen' items into pick_log - TODO: Add TXT logs * Fixed JobMaster NPC. Thanks Amada [Kayla] * Removed card-fix flag from Cart Termination. [Skotlex] * Updated battle_check_target so that a mob will consither another mob an enemy if either one has special mob ai (is a @summon or summoned alchemist mob). Summons from the same master should not be attacking each other, however I do think they will attack summons from another player. [Skotlex] * Removed 10 chances to pick an item from STEAL skill (it should have only 1 chance) [Lupus] 2005/09/27 * Corrected again Wind Walk. Just +5 flee at lv10, walk bonus does not stacks with other speed giving skills. [Skotlex] * Corrected Wind Walk's walk and flee bonus (walk was a +4*skill_lv% increase! and flee was +5 flee, rather than +5% flee of your total). [Skotlex] * Added atcommand @changeleader, transfers the leadership of a party to someone else. [Skotlex] (defaults as a GM-level 10 command, not quite yet tested) * Added delitem2 script command with script sample by Mihilion [Lupus] * Removed the check that prevented chars from logging out during status changes, as the current system should save and restore these correctly. [Skotlex] 2005/09/26 * Fixed MAX GUILD capasity in mmo.h to allow correct +6 Guild Extension [Lupus] * Changed back the TIMER_MIN_INTERVAL to 50. Who changed it back to 25? (svn3015 skotlex: Changed TIMER_MIN_INTERVAL to 25 (from 10), it probably needs to be bumped even higher, awaiting results from testers to see if a higher value would be needed. svn1284 lupus: timers optimization / speed up / bug fix : no freezing mobs [TIMER_MIN_INTERVAL: 50->10]) (note to self: make this a setting in inter_athena.conf) [Skotlex] * Guild Extension now adds 6 per level. [Skotlex] * Added define ENABLE_SC_SAVING in common/mmo.h, comment/remove this line to disable saving of status changes (temporary measure) [Skotlex] * Updated Double Casting to only work on Firebolt, Coldbolt and Thunderbolt. [Skotlex] * Fixed cloaking/hiding. [Skotlex] * Updates to status_change_start, scdata loading now should display on the targetted player. [Skotlex] * Removed card modifiers from Meteor Assault. [Skotlex] * Corrected skill_out_range_consume so that spells effectively fail if the target goes out of range. [Skotlex] * Another another check on the new auth system which may help prevent exploits. [Skotlex] * General cleanup and code improvements needed because of the new auth system. [Skotlex] * Fixed a bug in the new auth system (TXT) which was causing the gender to be pretty much randomly sent. [Skotlex] * Fixed a bug in changesex at the TXT char server level. [Skotlex] * Updated new logging system. Now logs TRADE, NPC Shops [Lupus] * Fixed a possible exploit in the new auth system. Thanks to End of Exam for the information. [Skotlex] * Corrected True Sight critical bonus. [Skotlex] * Water Ball will now do the full number of hits regardless of available water when used by non-players. [Skotlex] * Changed the emoticon delay to 1 second. [Skotlex] * Zeny/item kill bonuses now work on all skills, and not just physical weapon attacks. [Skotlex] * Added official Ayothaya Town script by MasterOfMuppets [Lupus] * Added new Players / Monster Drops / Pickups Logging system [Lupus] - Changed new log table, now it has field 'type': M = Monsters Drop, P = Players Drop/Take, L = Mobs Loot Drop/Take, T = Players Trade Give/Take, V = Players Vending Sell/Take, S = Shop Sell/Take, N = NPC Give/Take NOTE: 'looted drop' might has cards, refine, etc. 'common drop' has item w/o cards/refine - Now you can see Players(cheaters) passing any items w/o trade - Now MOBS+PLAYERS drops come in the same table (easy to query) Poring -5 Apple Zelgadis +5 Apple - You can tell off monsters by their LOW id. < 2000~ - Negative value of AMOUNT shows that a mob, or a player has dropped that items amount - Positive value of AMOUNT shows that a player has pickedup that items amount - It works 5x faster than old DROPLOGS - TXT logs don't work yet - TODO: Add Autolooted & MVP items in the log, too. - TODO: Add Mobs Looters DROP items in the log. (Now only attacked mobs log loot drops) - TODO: Add Scripts/Vending logs 2005/09/25 * Modified battle_weapon_delay so that additional status effects are invoked even if the attack does no damage, as long as the attack connects (that is, it is not a miss/lucky dodge) [Skotlex] 2005/09/24 * Updated several mob stats for the Lighthalzen and later mobs from the data provided by Viccious Pucca. [Skotlex] * Updated sql-files/mob_db.sql to contain the most recent mob_db. [Skotlex] * Added support for saving/loading status changes when characters log in/out. [Skotlex] - TXT users: the file used by default is scdata.txt, can be changed by setting scdata_txt to something else in inter_athena.txt. - SQL users the table used by default is sc_data, can be changed by setting scdata_db to something else in inter_athena.txt. Use upgrade_svn3273.sql to generate the new table. - It is currently unknown the behaviour of restoring some status changes, if any anomality shows up, do report. - Currently, even thought the sc data is restored, the client does not receives the packet telling them that the effect started (like Gloria, you can see you have +30 luk, but the message is never there) nor the visual effects are in neither. This is a side effect of starting the status effects on a player before the client finished loading the maps and spawns in the map. Will be fixed later. * Some memory optimizations tothe new auth system. [Skotlex] * Moved the charsave_method config to inter_athena.txt [Skotlex] * Fixed Demonstration/Bomb getting 100% breaking chance on low skill break rates [Skotlex] * Fixed chars being able to cast skills while rooted if they didn't have at least root lv1 [Skotlex] * Removed Assert in pet_walk, use a less unstable debugging tool, causes errors in remote shells. [Kevin] * Fixed TXT char login with new auth system. [Kevin] * Done: Adjustable players titles for @who, @who2, @who3 commands [Lupus] - Check msg_athena.conf for new lines 2005/09/23 * Software Caused Connection Abort errors will now cause said socket to be removed inmediately from the listening list of sockets, this may help with the lag issues that arise when said error occurs. [Skotlex] * Fixed Demonstration having 100% breaking chance if you set skill breaking chance to 0. [Skotlex] * Swapped functions of @who and @who3 commands. Because it's a spoil [Lupus] to show players locations. You may enable @who for your common players now. there's a shortcut for @WHO: @W * Started adding adjustable players titles for @who, etc commands [Lupus] - e.g. Super Player, GM, GM+, etc 2005/09/22 * Updated sql-files/item_db.sql to have the most current version. [Skotlex] * Finished first part of new auth system, fully tested. Will reduce char->map lag by whatever it is you are haveing. [Kevin] * Added consideration of GrandDarkness in various code sections that were only checking for Grand Cross [Skotlex] * Deployed use of map_getallusers all over the map server where it makes sense to include disconnected players. [Skotlex] * Corrected map_getallusers to depend on the actual count of players in the db rather than the variable users (prevents possible crashes if the two differ) [Skotlex] * Updated the player counting function so that it correctly accounts for all players (including those not connected like in autotrade) [Skotlex] * Characters will now automatically stand if Soul Drain is triggered while sitting. [Skotlex] * Set default option gvg_traps_target_all: no [Lupus] - In kRO it used to be 'yes' some time ago but has been reverted back to 'no' 2005/09/21 * Corrected an error in the way guild alliances were being counted, as pointed out by Viccious Pucca. [Skotlex] * Fixed and deployed map_getallusers() on atcommands @who, @who2, @who3. [Skotlex] - This function should enable the aforementioned commands to work even on players who are in the server but are not connected (eg: autotrade players). It is temporarily only deployed on the @who functions pending on feedback (bug reports, anything) before going ahead and implementing it on all relevant atcommand/charcommand/script functions. * Replaced the trim() function with Furoken's implementation (it should remove tabs, consecutive spaces and other such unwanted characters from a char's name) [Skotlex] * Updated doc/script_commands.txt to explain the upper parameter of the function jobchange. [Skotlex] * Corrected sql query errors when logging trades and vending. [Skotlex] * Updated doc/script_commands.txt with the script commands I've modified or added that are not yet described within. [Skotlex] * Small fix to clif.c which corrects characters that can't log in again if they log out when the char and map server are not connected. [Skotlex] * Cleaned up all SQL error reporting. It now follows the same standard everywhere, and is followed by a debug line which includes the file, line number and contents of the attempted query which caused the error. [Skotlex] * Corrected an sql logs error when selecting a character with special characters (eg: single quotes) on it. [Skotlex] 2005/09/20 * Changed Palm Strike's initial animation display. [Skotlex] (it will show as a normal attack that misses instead of an skill, but at least the animation delay is correct and the skill can be chained now) * Adjusted Cart Revolution's damage to be based on the Cart's Max Weight (instead of the hardcoded 8000w value) [Skotlex] * Fixed a memory leak when pets cancel their casting. [Skotlex] 2005/09/19 * Added error reporting an item in the item_db.txt file has insufficient fields (rather than just crashing) [Skotlex] * Updated the item_db to use the new race and element constants. [Skotlex] * Fixed (I think) battle option muting_players. Defaulted it to yes. [Skotlex] * Added timers for displaying guildmates position. [Skotlex] - All the packet related code was already there by Valaris, so I wonder why this wasn't finished before? * Added battle_athena options max_def/over_def_bonus (read battle_athena.conf for desc) [Skotlex] * Added error reporting when the magreg file fails to be saved. [Skotlex] * Made berserk castable during the no-regen period when it expires. [Skotlex] * Fixed a query error on sql refine logging. [Skotlex] * General checks to the script engine string management. Should fix a bunch of memory leaks. [Skotlex] 2005/09/18 * More updates to status change IDs [DracoRPG] * Implemented TK_SEVENWIND, allowed simultaneous use of several stances, thanks to reddozen for all the info about that [DracoRPG] * Allowed to pickup/drop items while in Frenzy [DracoRPG] 2005/09/17 * Added a check that should prevent fighting against other guilds outside of WoE times. [Skotlex] * Hopefully fixed Hunter's Dectect skill. [Skotlex] * Fixed the packet issues on the char txt server. [Skotlex] * Miscellanous corrections to skill_attack. [Skotlex] * Corrected the AutoSpellWhenHit rate of all items in the db (TXT + SQL) [Skotlex] 2005/09/16 * Reverted some of the contents of skill_unit_move_unit_group since the previous algorithm was optimized. Walking during a Song/Dance should be smooth again. [Skotlex] * Rewrote the guild gm changing system. [Skotlex] - @changegm works now (tested in SQL, TXT should also be working) - Added script command "guildchangegm ,". Now go write some Guild Master changing npc if you want it to cost money, have a minimum guild level requirement, etc. * Added Ishizu's logarithmic drops equation. [Skotlex] (see battle_athena.conf for full details) * Added a sub-function call to clear Castle owners when their guild is broken. [Skotlex] * Added a char-server call to clear the alliance when a guild is broken (when a guild breaks, the alliance/opposition is removed from memory on the map server, so it seems said change is not sent/saved on the char-server side?) [Skotlex] * Added script function sc_start4, starts an status change with all four values. [Skotlex] Use: sc_start4 TYPE, DURATION, VAL1, VAL2, VAL3, VAL4, * Added SC_ARMOR_ELEMENT/SC_DefEle, specifies elemental defense bonus against two elements at a time. For example: sc_start4 SC_DefEle, 60000, Ele_Fire, 20, Ele_Wind, -15; Gives 20% additional fire resistance and reduces 15% Wind resistance for 60 seconds. * Expanded battle_attr_fix to consider the status changes of the involved chars that affect elemental modifiers. [Skotlex] * Fixed some status effects not being correctly ended/recalculated when you stepped out of quagmire/song/dances. [Skotlex] * Made quagmire be affected by the "gvg_traps_target_all" battle switch. [Skotlex] * Added Bloody Branch log (along with Dead Branch) [Lupus] 2005/09/15 * The skill Vending will now fail on GM characters who do not satisfy the gm_can_drop level requirement. [Skotlex] * Updated the sql-files mob_db.sql and item_db.sql files to the current version (just feed'em to sql to have your item_db and mob_db tables updated). [Skotlex] * Now @allskill and it's ilk will give you ALL skills except the ones marked as "npc skills" (those have an inf2 value of 2). [Skotlex] * Some code optimization around song/dances, now the ensemble should be cancelled if you walk (or are knocked out or whatever) out of it. [Skotlex] * Added log support to N slots. Now all cards should be logged [Skotlex] - Note that I have not been able to test it yet, so report back any problems caused by it. * Fixed a memory leak when removing disconnected chars. [Skotlex] * Re-enabled the Memory Manager by default. [Skotlex] * Updated atcommand @rates so that it displays current exp rates in x form (eg: "Current rates: Base 4.5x, Job 8.0x") as suggested by Mellowz. [Skotlex] * Corrected resetskill messing up with Wedding Skills. [Skotlex] * Some adjustment to the status change defense (as per data provided by Viccious Pucca) [Skotlex] * VVVS weapons now give +50 damage instead of +40 (again thanks to Viccious) [Skotlex] * Success rate of making Star Crumbs now is 100% (regardless of skill level?) [Skotlex] * Couple of crash fixes on the map-server char saving method (char_save_method: 1) [Skotlex] 2005/09/14 * Yet another correction to SQL char saving. [Skotlex] * Added support for N slots. [Skotlex] - By changing the constant MAX_SLOTS in common/mmo.h, the server can be configured to support items with more than 4 slots. Saving/Loading and inserting of cards should be working correctly. Features still missing are including the extra slots in the log functions and updating clif.c to send the extra cards to the client (This is still work in progress). - SQL Users interested in using this, need to manually add columns card4, card5 and so on to the relevant tables (cart_inventory, guild_storage, inventory, storage), example query: ALTER TABLE inventory ADD COLUMN card4 int(11) NOT NULL default '0' AFTER card3; - TXT users need do nothing, the char server handles the expanding/contracting of slots internally (if the number of slots is shrinked, the additional slotted cards are lost) - Never set the amount of slots to less than 4, as they are needed for forged equipment. * Likely fixed Lex Divina. [Skotlex] * Likely fixed sql char-saving, too. [Skotlex] * Lex Divina can now be casted on allies as long as they are silenced. [Skotlex] * Fixed crashes on GVG grounds involving characters with no guild. [Skotlex] * Added a few socket features from Freya which hopefully will help stabilize eA on Windows (testing needed!) [Skotlex] * Miscellanous fixes and rewrites to memitemdata_to_sql, it'll probably fixed the stackable named items duplication exploit. [Skotlex] (note that it is not tested, so there's the chance I broke everything instead, so upgrade for testing purposes only and report back!) * Changed HP/SP drain rates so that the max (100%) is 1000. Adjusted item db accordingly. [Skotlex] * Disabled chars from muting themselves (as a temporary measure against the mysterious "don't use bot!" message) [Skotlex] * Added atcommand logging for /monster and /item (not quite tested yet, but I think it'll work) [Skotlex] * Changed autospell rates so that the max (100%) is 1000. Adjusted item database accordingly. [Skotlex] * Reverted displayed heal value. [Skotlex] 2005/09/13 * Fixed Basilica [Skotlex] * Rewrote the mechanics of how Devotion works. [Skotlex] * Updated Heal so that it displays on-screen the actual amount that was healed. [Skotlex] * Changed the damage motion equation to 1/4th of what it was before (now using player_damage_delay_rate: 100 is what was player_damage_delay_rate: 25 in previous revisions) [Skotlex] * The login servers will now notify when a player has an account ID under 700000 (which won't let them connect to the map server) [Skotlex] * Added support for SC_BLEEDING in skill_counter_additional_effect & skill_additional_effect [Skotlex] * Changed bonuses bAtkRate, bWeaponAtkRate and bCritRate to modify base+watk damage, not just watk. [Skotlex] * Corrected coma-effect killing bosses. [Skotlex] 2005/09/12 * Party even share code won't try to give dead players their share of the exp (since pc_gainexp would refuse so anyway) [Skotlex] * Added trim() usage to char servers to prevent creation of characters with spaces at the beginning or end of name. [Skotlex] (the client won't let me create chars with said names so I can't really test it, but on the very least valid names are not crashing it as far as I can see) * Expansion/optimization of the skill unit code. Now it should be correctly identified when a character walks into a skill cell, walks out of a skill cell, and walks out of the skill group (performance optimization, client-side: songs and dance effects will work correctly, and Quagmire won't spam "speed up/down" messages). [Skotlex] - Got basic testing only (casting, amp/encore, walking, being knocked back, warping), so report any problems found. * Bomb/Demonstration should now be cast-able under the Emperium. [Skotlex] * Acid Terror now knows ignores armor defense, but not vit defense. [Skotlex] * Added an official Bards Job Quest (check npc\changelog.txt) [Lupus] 2005/09/11 * Changed back the default of gx_all_hit to no. [Skotlex] * Added check to prevent ensemble skills from changing position. [Skotlex] 2005/09/10 * Removed the changing of targets for offensive songs in gvg grounds. [Skotlex] * Corrected Grand Cross not always hitting 3 times. [Skotlex] * Fixed the display of Auto Counter. [Skotlex] * Added check to prevent auto-spells from being casted when the source and target are the same (normally you can't hit yourself, though....) [Skotlex] * Fixed Root [Skotlex] * Fixed the issue which made mobs do nothing. [Skotlex] * Change Provoke to affect armor def of mobs, and vit def of mobs/players. [Skotlex] * Another change to autocounter, I think it will work now. [Skotlex] * Fixed Defender's aspd bonus. [Skotlex] * Fixed rooted character's root level (instead of using the caster's level) [Skotlex] * Windows builds will now abort and exit when there's a "Software Caused Connection Abort" error since it seems unrecoverable.. [Skotlex] * Reverted back my char.c/sql char.c changes 8) Have to re-check [Lupus] * Added official Louyang city (thanks to MasterOfMuppets), fixed some Kafra bugs [Lupus] check npc/changelog.txt 2005/09/09 * Fixed TXT/SQL char servers not reading properly their command line arguments [Lupus] * Refixed those compiler errors >.< [Skotlex] * Readded the damage delay to firewall. [Skotlex] * Added an extra db (pc_db) to hold players, it should speed up map_id2sd lookups. [Skotlex] (note that all functions which do a search on all connected players do a linear search on the connection sessions, and porting this to use the new system will take a pretty annoyingly long time) * Added checks to prevent dropped items from stacking (they can still stack, but at max 2 items per cell). [Skotlex] * Added Guild removing from memory upon guild break to Char SQL server (TXT already had this correctly) [Skotlex] * Changed Provoke to reduce armor defense, not vit defense. [Skotlex] * Likely fixed the direction check in Auto Counter. [Skotlex] * Removed the console functionality from socket.c (it was no good on the map server since that session is used on disconnected players), also added more checks to prevent parsing session 0. [Skotlex] * Added check to prevent skills from triggering auto-skills of the same id (prevents unlimited chain-reactions) [Skotlex] * General fixes to guardian spawning code. [Skotlex] (includes setting a timer so the Emperium gets it's guild data if not available at spawn time). * When the Emperium's guild is not found (in mob_spawn_sub, 5 secs after trying to spawn it) the Castle will be reset back to no guild owning. [Skotlex] * Fix to battle_check_target, should correct guardians/emperium [Skotlex] * Guardians will now be deleted if their guild is not found in mob_spawn_guardian_sub. [Skotlex] 2005/09/08 * Added filter into chat log. Check log_athena.conf for more info [Lupus] - Now you can turn off logs during WOE, etc * Made Musical Strike/Slinging Arrow work while in ensembles. [Skotlex] * Oops, fixed the compile error. [Skotlex] * Various checks to prevent trying to send data to disconnected players in clif_send [Skotlex] * Moved the auto-spell code from weapon attacks to skill_additional_effect and skill_counter_additional_effect. [Skotlex] - The autospells will trigger for all skills/normal-attacks except those with nk =1 (no damage skill) which is needed to prevent stuff like heal, traps or dances from triggering it. - Does not affect SC_HINDSIGHT triggered spells. - NOT properly tested as of yet, report any abnormalities and skills it should/should-not be working with. * Fixed the crash when attempting to target a Emperium. [Skotlex] * mob_spawn_guardian will now 'retry' to load the guild data five seconds later if the guild info is not available at spawn time. [Skotlex] * Fixed disconnected chars appearing as GMs on the console. [Skotlex] * clif_send_sub won't try to send any data to disconnected chars now. [Skotlex] (may fix possible buffer overflow crashes) 2005/09/07 * According to the patch, enabled Butterfly wings in the Castles [Lupus] * Adjusted MAX_GUILD constant according to Skotlex's changes [Lupus] * Now when the castle owner guild id is loaded, and the guild is not in memory, the map server will request it right away from the char server. [Skotlex] * Corrected Guild Extension to be +4 to the max guildmates per level. [Skotlex] * Changed the default max vending value to 1 Billion [Skotlex] * Inverted meaning of pvp_noguild and pvp_noparty flags. the default then for all maps where they are not set is: You can't attack parties/guildmates on pvp maps. [Skotlex] * Updated mapflag/pvp_noparty to mark only the gvg arenas. [Skotlex] * Added mapflag/pvp_noguild, by default includes all pvp arenas. [Skotlex] * Cleared up some of the warning messages on mob_spawn_guardian. [Skotlex] * Fixed the compile error on skill.c... [Skotlex] * Changed offensive song/dances target to BCT_ALL when invoked in pvp/gvg grounds. [Skotlex] * Added unit flags UF_NOMOB, UF_NOPC to give better control on who gets affected by ground skills [Skotlex] * Fixed the possible crash in map_foreachinpath. [Skotlex] * Removed the error message in mob_guardian_changeguild when the new guild has ID 0, the mob will just be removed instead. [Skotlex] 2005/09/06 * Changed Assumptio to target all players around target. Mobs are no longer affected. [Skotlex] * Fixed battle_check_target fails on guild-mates in pvp maps. [Skotlex] * Reverted battle_check_target to prevent floras from hitting themselves until a better scheme can be thought of. [Skotlex] * Reorganized battle_weapon_attack to allow counter/root from blocking autotriggered skills (like TripleBlows/Sacrificial Ritual) [Skotlex] * Fixed that crash on mob_spawn_guardian. [Skotlex] * Added battle option gvg_traps_target_all, defaults to yes for now. [Skotlex] * Added Zoc's fix to @autotrade (which made traders unable to login again.. ever) [Skotlex] * Massive Guardian update. [Skotlex] - Rewrote the guardian stat-passing system to minimize the need of db lookups. Should greatly reduce the heavy lagging during WoE. - Not properly tested (lack of resources), update at your own risk AND PLEASE report any crashes/problems. 2005/09/05 * Fixed Endure. [Skotlex] * Fixed Harmonic Lick not adding status change resistant. [Skotlex] * Moved ensemble stats calculating from status_change_start to skill_unitsetting (performance purposes) [Skotlex] * Fixed song/dance effects lasting 30 secs rather than 20. [Skotlex] (still somewhat inefficient, needs better handling method) * Battle check target fix: Novices/Low levels being unable to target mobs. [Skotlex] * Temporarily made traps not target allies on gvg (Still up for dabate) [Skotlex] * Battle check target update: Summoned creatures won't be checked versus their master, means you should be able to target them as if they were normal enemies. [Skotlex] * Made Shield Chain long ranged (it has to be affected by pneuma/defender). [Skotlex] * Fixed both trader/seller not being saved when using autotrade. [Skotlex] * Added debug messages to figure out who is causing the rain of function mismatches on deleting skill_timerskill. [Skotlex] 2005/09/04 * Fixed Trade Bug (when Trade Window indication was wrong). Thanks to k3dt * Now Water Ball isn't affected by RAIN mapflag anymore. Also corrected caclulation of number of WB shots (was broken by a typo) [Lupus] - Rain has been removed from kRO long ago. * Now Safety Wall fails to protect against Acid Terror. [Skotlex] * Added battle_config option firewall_hits_on_undead (defaults to 1) [Skotlex] The deal is that each time the skill triggers on an undead, this number of hits will be dealt instead of just one. PROs: With a value of 5 or so, vertical firewall will work completely. CONs: A high value means the whole tile can be wasted killing a single mob. * Fixed working stealing with NOLOOT mapflag on. Thanks 2Lorky [Lupus] * Now Knockback won't work when the target is already dead (prevents ghosts) [Skotlex] * BSS now targets every player in the area of effect (might be updated to include mobs pending on further information) [Skotlex] * Acid terror is now considered a ranged attack. [Skotlex] * Crash fixes to the npc-whisper system. [Skotlex] * Fixed classchange-able Emperium/Guardians/Treasure Boxes, thanks to alsimons [DracoRPG] * Fixed songs/dances, updated Hip Shaker [DracoRPG] * Fixed some fields in sql-files\main.sql... Who the hell added back `broken`? The field `attribute` is the good one! Also changed `fame` type to the same as `zeny` (same max value in the source code, so samemax value in the SQL saves !) [DracoRPG * battle_check_target update: Fixed BCT_NOENEMY checks. [Skotlex] * Moved Mental Sensing bonus from pc_gainexp to mob_damage, it is now a status effect which the mob itself needs to be inflicted with to take effect (and everyone involved in killing it will benefit) [Skotlex] * Pets now won't move while casting (unless their master is like a screen away or so) [Skotlex] 2005/09/03 * Fixed speed calc for pushcart/stalk/dancing/singing. [Skotlex] * Some crash-fixes introduced by the rewritten status system. [Skotlex] * Adjusted the default gvg penalty values, added gvg_flee_penalty. [Skotlex] * Fixed skill_blown causing a dangling pointer in the map data. [Skotlex] (I believe this is the actual cause of all the crashes as of late) * Fixed @autotrade venders not being saved after they sell an item. [Skotlex] Now both characters are saved to prevent exploits, too. * Fix to mob_setdelayspawn, if lucky might help with the crashes as of late. [Skotlex] * Added status effect SC_WATK_ELEMENT, converts part of your weapon attacks into a different element. Used in magnum break to give 10% fire damage bonus to your attacks. [Skotlex] * Made firewall hits not have any "damage delay", it merely knockbacks. [Skotlex] * battle_check_target update: added novice/low-level pk prevention on pk_mode [Skotlex] * testing new SVN location [MouseJstr] 2005/09/01 * Entirely rewrote status_calc_pc and status_get_[stat] functions to have a clear code. They all use shared status_calc_[stat] functions to handle SC effects, this will avoid to have 2 almost identical codes in different places for those effects [DracoRPG] --> It compiles, it runs, it seems to work but I couldn't perform any extended testing as always, feel free to report bugs ;) * Added battle_option "slaves_inherit_speed" to decide whether slaves have or not the same walk speed as their master. Defaults to yes. [Skotlex] * Removed val4 from song/dances so that they won't be as bugged anymore. (still pending on Draco's status update, but at least now stuff like Poem of Bragi shouldn't cause insta-cast) [Skotlex] * Changed the way song/dance status effects last. The first time you step in a tile the status starts for 30 secs, not refreshed until it times out. Not the way it really should be, but it's much better for performance issues. * Fixed summoned slaves having the same walk-speed as their master (fixes metamorphosis-hatched mobs from having an egg's speed). [Skotlex] * Added fix_timer_heap, should correct timer problems when the tick overflows. Does it works? We'll find out in 48 days when the next loop occurs. [Skotlex] * Another update to battle_check_target [Skotlex] (Should fix slave-skills hitting a slave's master) * Corrected magic_damage_return code being double-invoked. [Skotlex] * clif_GM_kick will now invoke map_quit if the player doesn't has a session [Skotlex] (this should fix @kick and other such commands on autotrade chars and the like) * Fixed pc_damage/mob_damage returning 0 instead of damage dealt (which in turn made all attack/skills not trigger their additional effects) [Skotlex] * Updated Assumptio to target everyone instead of "not enemies" [Skotlex] * Fixed a fatal dangling pointer in the mob_setdelayspawn when handling mobs that don't respawn. [Skotlex] * Updated WE_CALLPARENT to not check for range (as it should?) [Skotlex] * Added flag accreg_dirty to identify when account variables have not been saved yet, it'll retry then on every call to save the character (it will prevent account variables from being lost when the char/map connection is not established) 2005/08/31 * Updated @npctalk to work as it should [Skotlex] - Usage @npctalk NPC Name, Your Message Goes here * Fixed Wind Walk's flee/speed bonus (as pointed out by Viccious Pucca). [Skotlex] * Fixed a crash in pc.c when the last save point was not found (thanks to Foruken) [Skotlex] * Rewrote map_foreachinpath, it should work mostly right now. [Skotlex] (the path 'stops' at the destination point rather than keep going forward, but it can probably be fixed later) * Moved battle_config spawndelay adjustments from mob.c (calculating it each time they were killed) to npc.c (calculate it once during parsing). [Skotlex] * Synchronized additional status effects with the delayed damage [Skotlex] (this should fix eg: enemies freezing when you start the attack animation, and then breaking the ice when your attack animation finishes and the damage shows up) * Moved knockback to effect after damage is applied. [Skotlex] * Fixed the Wedding Skills not displaying the actual amount healed. [Skotlex] * Moved skill induced status effects to take effect before knock back. [Skotlex] * Refixed "Don't Forget Me" [Skotlex] * Changed 'pet_hair_style''s description and default value to 100 [Skotlex] (100 is the value being reported to work with current clients) * Fixed Freeze 'counter' not resetting when killed. [Skotlex] * Fixed Endure adding to mdef2 instead of mdef. [Skotlex] 08/30 * Fixed Breaker's magical part of the damage having element -1 [Skotlex] (now it takes neutral element, because I don't think the magical part of an attack can get the weapon's property) * Fixed Magic Crasher having the min/max values inverted. [Skotlex] * Updated "Don't Forget Me"/"Slow Grace" to last 20 secs after you step out of the dance-zone. [Skotlex] * Changed the default of defunit_noenemy to no, and added comments explaining what it REALLY does. [Skotlex] * Fixed perfect tableture's lucky dodge bonus. [Skotlex] * Updated slave ai code to let slaves wander freely on the screen (will wander as far as battle_config.view_area lets them) [Skotlex] * Splitted Char-sql status saving into status/status2, the later is for values that will seldomly change. [Skotlex] * Updated servers so that when the player changes dye or hair color, the char-server is notified and the guild_member data is updated on all map servers. [Skotlex] * Updated servers so they also report on sex change. [Skotlex] (altough this one I have no tested yet) * Changed bGetZenyNum/bAddZenyNum to be a bonus2 type [Skotlex] (eg: bonus2 bGetZenyNum 10, 30 <- Receive 10z per mob level on 30% of your weapon-based kills) * Added script function groupranditem(i), returns a random item_id from the specified item-group given. [Skotlex] * Changed bLongAtkRate bonus to be more card-like (works just like bLongAtkDef, except it's for attack) [Skotlex] * [SQL] Added Storage Items sorting by nameid. On loading. [Lupus] * Added GetItemInfo(Item ID,n) script function. Returns Buy/Sell Price, Def, etc [Lupus] added sample/getiteminfo.txt Tested, fully working! * Added ID#2258 Spiky Band(Sharp Headgear) to allowed equipment of Star Gladiator [Lupus] * According to the 23 Aug Patch added complete equipment check for 3 new classes. [Lupus] Now they can't equip forbidden items 8) 08/29 * Added battle config option pet_hair_style and defaulted it to 24 [Skotlex] According to information relayed by End of Exam, this should fix the new clients showing the sword cursor for pets (older clients will be the ones screwed instead, in said case you'll want to change pet_hair_style to 20) * Updated battle_check_target to take into consideration the special states killer/killable. [Skotlex] * Corrected the Fury Guardian Angel not giving +50 critical. [Skotlex] * Made mob_walktoxy fail when the mob is dead. [Skotlex] (may fix the phantom mob issue?) * Updated spawn parsing to identify small/big mobs. [Skotlex] Use the "event" field (last column, the one after the two spawn delays) to identify the mob's size: 2: small mob, 4: big mob. 1-2 is not used because a hella lot of plants/mobs already use 1 in it (even though eA completely ignores this value) * Inverted the meaning of mapflags pvp_noparty/pvp_noguild [Skotlex] When the flag is set, then you should NOT be able to hit your party/guild-mates on pvp grounds. 08/28 * Fixed demonstration/Bomb stacking. [Skotlex] * Fixed damage versus plants in BF_WEAPON attacks. [Skotlex] * Fixed the whole sqrtl mess. Thanks to Shinomori for clearing things up. [Skotlex] * Added new maps, thanks to Poki#3 [DracoRPG] * Switched SCs between two taekwon kicks to get the proper icon ^^ [DracoRPG] * Added the falling animation to TK_HIGHJUMP, but now the client doesn't refresh the position u_u [DracoRPG] * Reverted default option to allow anyone to plagiarize advanced skill (vicious or someone else - I can't remember xD - told me it was like this on kRO, but not yet on iRO) [DracoRPG] 08/27 * Fixed the cast-bar from autocounter not disappearing after triggering the skill. [Skotlex] * Updated battle_check_target to make marine spheres universal enemies, so anyone can attack them. [Skotlex] * Cleaned up item_db.txt (format, commas, etc), added status bonuses to the cooked foods. [Skotlex] * Updated sql-files/item_db.sql to match with the current contents of item_db.txt [Skotlex] (sql users just feed it to mysql, it will drop and recreate the table) * Fixed IDs for Taekwon-class : 4047 is Star Gladiator, 4048 is a second Star Gladiator (probably used for a "Superman-mode" flying sprite) and 4049 is Soul Linker [DracoRPG] 08/26 * Fixed being able to move during Encore skills when you did not need a partner. [Skotlex] * Fixed @reloadmobdb not properly erasing mob skills before re-reading. [Skotlex] * Updated/fixed effect of most dances & songs according to kRO's website and ragnainfo's very good Bard/Dancer Guide [DracoRPG] * Fixed Raging Trifecta Blows missing Emperiums, thanks to happylight [DracoRPG] * Changed the way short|long|magic_damage_return work : previously they gave 100% chance to return x% damage, now it is x% chance to return 100% damage (Maya and High Orc Cards should behave like this, I'm not sure for Orc Lord Card but it seems logical to be the same system...) [DracoRPG] * Fixed bonuses from Wind Walker, thanks to vicious_puca [DracoRPG] * I also reorganized the hit/flee calc in status_calc_pc to consider first absolute values, and then apply relative (percentage) modificators.. if you make a mix of both, it'll be completely fucked up, and be sure it won't be like on officials (although my system maybe isn't the good one neither...) [DracoRPG] * Some rewrites to client version rejecting code [Skotlex] Should eliminate lag when players try to log-on with a rejected client, however there's the chance they won't be receiving the "your client is not latest EXE version" message, and that's why the previous, laggy, implementation was used :/ * Fixed Enchant Deadly Poison lasting forever after killed. [Skotlex] * Fixed the duration argument of @summon [Skotlex] * Now @summoned mobs will follow their master everywhere and that includes warping from map to map. [Skotlex] (why? Because I think that's neat, and will probably be needed anyway once Homonculus get implemented) 08/25 * Cleaned up mob_db.txt and updated sql-files/mob_db.sql [Skotlex] Sql users can just feed mysql the .sql file and it will delete and refill the table with the most updated db data. * Corrections to damage versus plants. [Skotlex] MAGIC and MISC attacks do 1 damage per hit. WEAPON attacks do 1 damage, display miss if they hit multiple times. * Instead of knocking back (which wasn't even working), characters that are stepping on an icewall will cause that tile of the icewall to 'die' [Skotlex] * Final damage equation update to Acid Demonstration. [Skotlex] (it still won't ignore the raydric card, but why that is official in itself is a big mystery) * Added status change for temporary boosts of stats, plus added the following constants (db/const.txt): [Skotlex] - SC_IncAll, SC_IncStr, SC_IncAgi, SC_IncVit, SC_IncInt, SC_IncDex, SC_IncDex - It hasn't been tested yet what kind of visual these will cause client-side. (Now someone go and write down the script for the food items xP) * Updated @summon to take a second parameter: duration. [Skotlex] eg: "@summon lunatic 40" will summon a lunatic that lasts 40 mins or until killed. Max duration is one hour. * Updated Some Mobs Spawns, Drops check npc\changelog.txt [Lupus] * Some toning down of the damage of Acid Demonstration (should /100, not /10) [Skotlex] * Likely fixed Blitzbeat from hitting neutral chars. [Skotlex] * Updated Acid Demonstration to be a MISC skill who's damage is (base_Atk * caster's int * target's vit /10) (half that on players). It's much more closer to official values than the previous ones... [Skotlex] * Corrected Pressure sapping SP even if you hide from it. [Skotlex] (isn't Pressure a holy attack from the grand god himself? How can a thief HIDE from his eyes? o.O) * Updated Acid Demonstration damage formula. It's still wrong, but at least it considers int and vit now. [Skotlex] Current dummy formula: (100 + caster's int + target's vit)*(number of hits)% 08/24 * Updated pet skills database. [Skotlex] * Some corrections to socket.c, should stop all the recent crashing... [Skotlex] * Added a case to knockback enemies if they somehow end up stepping into an ice wall tile [Skotlex] * Added checks to prevent walking, attacking or using skills while the storage is open. [Skotlex] * Added Lupus's mob skills for Einbroch mobs [Skotlex] * (almost) rewrite of the storage system. [Skotlex] Storages are marked dirty after an item is stored/retrieved from them and will not be marked clean until the char-server acks the save request. Upon map-server reconnection to the char, all storages that are currently closed and dirty are saved. * Synched chrif_save with the storage save functions when either one is open to further prevent exploits. [Skotlex] * Updated the mob_skill_db with Komurka's translation (Aegis -> eA) [Skotlex] The max permilliage (rate) is now 10000 = 100% * Various mob related summon/metamorphosis changes: [Skotlex] - Summon Mob/Slave's level is the total number of mobs to summon, when the skill definition offers multiple mobs, they are spawned in order (round-robin scheme). - Metamorphosis/Transformation level is the total number of mobs to multiply into. Uses the same criteria as summon mob and the original mob is deleted/killed (no loot drop). If the level is 1, then the mob transforms into one of the defined classes randomly. - Note that beyond code-proofreading and making sure it compiles, this has not been tested yet! * Added the bonus provided by the /doridori command to TK_HPTIME and TK_SPTIME. [Dralnu] Thanks to Duduc. * Updated battle_check_target to check using the master instead of the slaves (applies for mobs/pets) [Skotlex] - Should prevent slaves from attacking their master * Implemented TK_HPTIME and TK_SPTIME exept the bonus provided by /doridori [Dralnu] * Implemented delayed character logout [Skotlex] How it works: When a player quits the server when they shouldn't (force disconnect before the 10 secs, or leave when the char server is not connected) his session is closed, but the player is left in-game just like in @autotrade, and a timer is added. Every 10 secs it'll check if the char server is online, and then save the character and delete it from the map server. NOT TESTED YET, so report any anomalies. * Fixed Shield Chain's skill-type (it's short ranged, not long?) [Skotlex] * Fixed Decrease Agility's equation. [Skotlex] * Fixed root'ed monks not being able to use root skills. [Skotlex] * Added inter-server option "kick_on_disconnect" (defaults to yes) [Skotlex] - The only people who may want to change it are overcrowded servers where the char/map server link breaks due to overload and then everyone is kicked out until said connection is reestablished. - Of course, use at your own discretion until all possible exploits caused by this are resolved. 08/23 * Fixed provoke's success chance. [Skotlex] * Battle_check_target update, should fix party/guild skills failing when checking against yourself. [Skotlex] * Updated map and char servers to allow them to reconnect without having to kick out all players. [Skotlex] - This is still experimental and what possible exploits may come from it are yet unknown (however, considering that the reconnection should take place in a few seconds after the disconnection...) - Note that storage contents and player contents are all kept in the map server's memory, unsaved data will be lost if player forces a disconnection, storage changes will also be lost if they are open/closed during said disconnection (and NOT reclosed after the connection is restablished) - These and more stuff might come up with time. Report away! * Updated Gospel to not buff up Guildmates, only Party members. [Skotlex] * Fixed @autotrade [Skotlex] (tested on a limited scenario with few characters, needs more testing. Test and report!) * Implemented TK_STORMKICK, TK_DOWNKICK, TK_COUNTER and TK_TURNKICK. [Dralnu] Note that at the moment if you use theses skills even if the corresponding SC is inactive, it will use SP and will stop you if you are attacking. Note too that because we don't know how it should work exactly, when a SC such as SC_STORMKICK will be launched, it will notice you by a little message over your head : Hit now !!. Finaly, TK_TURNKICK will not yet have the pushback effect. * Fixed everyone having 20 flee... I hope. [Skotlex] * Some corrections and updates to mob skill Metamorphosis [Skotlex] (don't know if it'll work now, but the way it was before definitely was not working) * Probably fixed infinite endure wearing out when being hit. [Skotlex] * Updated gvg range penalties to be as in official servers. [Skotlex] - Skills (weapon/magic/misc) get a 40% penalty - Ranged normal attacks get a 20% penalty, melee receives no penatly. (battle flag gvg_weapon_attack_rate added to complete configuration) * Added the -20 flee penalty on GVG grounds. [Skotlex] * Fixed Enchant Deadly Poison's Damage (it was 500% - 5x at level 5, not 400% - 4x) [Skotlex] * Fixed Soul Breaker's magical part of the attack taking element -1 rather than 0. [Skotlex] * Login sql server will now only clear sstatus data of connected servers rather than clean the table. [Skotlex] * Added some checks to prevent infinite looping in the char servers. [Skotlex] * Some updates to the way disconnections are handled in socket.c [Skotlex] 08/22 * Fixed typo in skill.c causing errors [Codemaster] * Added Irmin's recommendation to allow item names in getitenname() [Skotlex] (kinda odd to use an item's name to get the item's name, isn't it?) * Fixed Meteor Assault not displaying damage. [Skotlex] * Fixed WE_CALLPARENT crashing the map server when either parent is offline. [Skotlex] * Added TK_HIGHJUMP. Note : To be able to see properly the full jump animation, casting time will not depend on DEX. [Dralnu] * Somes fixes in skill_db.txt and skill_cast_db.txt about Taekwon's skills. [Dralnu] * Fully implemented the STR bonus part of TK_RUN [DracoRPG] * Added activation/unactivation of TK stances, but not their specific effects [DracoRPG] * Reverted magnum break, removed the Flame Launcher status change until actual bonus can be implemented. [Skotlex] * Skills update (mostly thanks to Vicious Pucca): [Skotlex] - Success chance and stats of Provoke, mental Break, Signum Crusis, Soul Burn - Decrease Agility duration halved for players. - Magnum Break's final damage is splitted 80% weapon's element, 20% fire element. No longer causes weapon endow. - Bash's hit bonus (+5 per lv now) * Fixed skill_db, Added perfect hit to TK_COUNTER [Dralnu] * Changed skill_tree and job_db1 the same way I changed job_db2, it was necessary for clear implementation of Taekwon (which has a very unusual ID for a 1st job) and renders the code less messy (at least it's my humble opinion ^^) although it could be slightly, but really slightly, more RAM-consuming [DracoRPG] * Fixed classchange not clearing on unequip, fixed the mob's max hp not being updated on class change [Skotlex] * Basic implementation of Taekwon's kicks. [Dralnu] * Likely fixed SP consumption of Warp Portal. [Skotlex] * Changed some default values in battle config to get the 'official gaming experience' by default [DracoRPG] - Noone can plagiarize advanced skills (from ragnainfo) - No rare drop announce - Riding a Peco does not increase one's size * Allowed Dispell to dispell songs/dances/ensembles [DracoRPG] * Updated SC IDs to get correct client-side status icons (used 0808 Sakexe) [DracoRPG] * Prevented from casting Ice Wall under self, independantly of UF_NOFOOTSET [DracoRPG] * Removed /omg from equipment breaking and added it to Acid Terror only [DracoRPG] * You can now change to Taekwon, but lots of things are still to do [DracoRPG] * Began implementation of Taekwon skills [DracoRPG] 08/21 * Changed how triple blows/sacrificial ritual triggers to enable plagiarizing them. [Skotlex] * Stolen items will be (un)identified using the same criteria normal drops use. [Skotlex] * Updated yet again battle_check_target. Guardians should stop attacking out of woe now and alchemist should be able to hit their mines. [Skotlex] * Fixed the map server going in an infinite loop if the connection breaks while parsing packets from the char server. [Skotlex] * Mostly rewrote Battle Chant, should be almost like the official one now... [DracoRPG] * Added enums for skill units, makes the code really clearer (check skill.h) [DracoRPG] * Merged battle_calc_weapon_attack_sub and battle_calc_weapon_attack [DracoRPG] * Fixed Acid Terror WEP breaking rate thx2 ShAPoNe [Lupus] 08/19 * More updates to battle_check_target, now you can't target any ground-based skills that don't have a physical manifestation (ie: Everything except traps and icewall) [Skotlex] * Fixed "for sure" battle_check_target when it comes to neutral targets. [Skotlex] * Removed pc_emotion, merged it with emotion. [Skotlex] Usage: emotion emotion_number <, target> - emotion number is the emotion's number (use e_* constants) - target is 1-> player, 0-> npc. If ommited defaults to zero. * Updated code so that when a guild master joins the game, their guild skills are automatically blocked for 5 minutes. [Skotlex] (prevents avoiding the skill-lock by relogging) * Another update to battle_check_target, this time neutral targets should work correctly (non allied/partied people who should be affected) [Skotlex] * More fixes to battle_check_target, skills should not hit yourself on pvp/gvg now. [Skotlex] * Updated classchange to not change the class of bosses. [Skotlex] * Optimization/Fixes to battle_check_target, GrandCross should work now. [Skotlex] * Reverted Lupus's change on guild auras' max lv... Please double check your sources and base yourself on kRO official website as much as possible, thanks. Link to kRO website: http://guide.ragnarok.co.kr/GuildSystem.asp#ggg03 [DracoRPG] * Fixed passive mobs incorrectly setting the attacked_id when hit by pets. [Skotlex] * Rewrote battle_check_target. [Skotlex] - Positive side-effects: offensive stuff won't hit your guildmates on gvg (such as traps) - Negative side-effects: Unknown, but there's bound to be some because of the big change. I tested it with traps, spells, pets, passive and aggressive mobs, but it's probable there's stuff I am still missing. * Updated mob spawns of Glast Heim (gl_sew3 and gk_knt2) [Skotlex] * Updated classchange code (Azoth, Heiroloist) to get random classes the same way a dead branch does. Cannot convert to bosses. [Skotlex] * Script/Npc/Item updates. [Skotlex] * Bonus b(HP/SP)GainValue will always be considered 100% (the first parameter) this is done to avoid exploits when combining it with b(HP/SP)DrainValue (eg: Immaterial Sword) [Skotlex] * Fixed max level of some guilds skills 5->1 [Lupus] according to http://eathena.deltaanime.net/board/index.php?showtopic=757 * New items drops, new shop [Lupus] 08/18 * Changed the way 'pl' works (in skill_db) : now 0 for 'weapon' attack skills means the attack is always neutral. To make so that the skill takes the weapon's element, use -1 instead: this removes the need of hardcoded ele_flag. [DracoRPG] * Fixed damage bonus from Sage's elemental flooring skills by moving the checks which were totally wrong placed... Thanks to Antoine for pointing out they were broken. [DracoRPG] * At the same time I had to change battle_calc_magic_attack quite alot. Maybe it won't work perfectly, but at least it'll compile. Also added (forgotten?) support for 'skillatk' bonus with magic skills. [DracoRPG] * Rewritten most of Gloria Domini to make it be a BF_MISC skill that can hit and damage Emperium and plants (yes it does), igonres WoE damage adjustments and other changes I don't remember ^^ [DracoRPG] * Modified mob_skilluse so that mobs NEVER use offensive heal. They'll now /swt if they try it (and the skill fails) [Skotlex] (there's still nothing that can be done about offensive Sanctuary) 08/17 * Added script command pc_emotion, works just like emotion, except the emotion is displayed on the character that's running the script. [Skotlex] * Fixed the vicious compile error I added with SC_SPEEDUP1 [DracoRPG] * Implemented Strengthen Guardians with a custom +10% ATK & ASPD / lv value [DracoRPG] NOTE : It compiles, but I couldn't test the effect since guilds seem completely broken on my test server... * Moved Weaponry Research hidden bonus a bit to get the exact effect [DracoRPG] * Implemented SC_SPEEDUP1 for Lightning Box effect [DracoRPG] * Entirely replaced SC_DIVINA with SC_SILENCE (the 1st was an alias of the 2nd) [DracoRPG] * Fixed the map-server disconnecting the char-server when kicking out all clients. (Thanks to End of Exam for pointing it out) [Skotlex] * Cleaned up error messages related to packet parsing in the char servers. [Skotlex] 08/16 * Likely fixed the char-server crashes on mapif_send* functions. [Skotlex] * Fixed auto-counter's display (it was working correctly, however the skill was not being shown properly on the client) [Skotlex] * Fixed Tomahawk not being considered a ranged attack. [Skotlex] 08/15 * Added a few bug fix recommendations [Codemaster] * Fixed a few problems with Wedding Skills [Codemaster] * Fixed a bug with old clients connecting and socket reuse which would kick all new connections on the same socket before even checking the packet version. [Skotlex] * Fixed the tabs in the ayothaya mobs :X [Skotlex] * Likely fixed the setsocketops error that was showing on every connection. [Skotlex] * Updated vending code so that items that can't be traded can't be vended either. [Skotlex] * Messed with socket.c, changing lots of stuff around using some earlier Freya SVN version as base, connection issues might hopefully get better. [Skotlex] (NOTE: I have yet to try to compile this under Windows/Cygwin, so report if it breaks) * Updated Magnum Break: Target selectable, damage is (100+20*level)%, hit bonus +10 per level. 5x5 splash area. [Skotlex] * Likely fixed the max hp display of tiny/big mobs. [Skotlex] * Updated Cloaking. It'll fail if the level is less than 3 and there's not a wall nearby. [Skotlex] If cloak_check is set to ignore walls, the wall-type speed will be used all the time. (I don't see what all the fuss is about as a Lv2 Cloak is just as good as Hide, and you can't even use GrimTooth from it. And since lv2 won't let you move anyway, why would anyone use Clock lv2 over Hiding?) * Updated Assumptio. It will affect anyone in a 3x3 area around the target. [Skotlex] (where anyone is anyone the same way Benedictio chooses it's target) * Updated the delay that a mob can't move after attacking to be 1/4th of the delay between attacks. [Skotlex] eg: The mob attacks once every 1000ms, that means it can start chasing you 250ms after an attack. * Likely fixed the #fakename crash. [Skotlex] * Updated the mob skill use code so that hopefully other players will be considered friends when using support skills. [Skotlex] NOTE: Not quite tested, use with care. * Fixed @monsterbig/@monstersmall [Skotlex] Support for said monster in normal spawn scripts is also fixed, however the implementation is not stable (currently you add 10K to the ID to make it a tiny mob, add 20K to make it a big mob, but those values depend on MAX_MOB_DB which can change in the future. :/) * When you drink a speed potion, the icon of the previous one will be removed (however, all speed potions are still in effect server-side). [Skotlex] 08/14 * Likely corrected the error printing in recv_to_fifo (reporting normal disconnections when they likely are not). [Skotlex] * Fixed the map-server spamming "Client does not has latest EXE message. [Skotlex] * Updated char-sql to consider 0 an invalid map-server session number. [Skotlex] * Fix in map->char auth request packet where char server spams data search error message, currently in testing. But works none the less. [Kevin] * Removed all close()'s in clif.c, made clif_parse the only one who closes a socket and deletes the session. [Skotlex] * Updated socket.c to be much more verbose about connections and when they are ended. [Skotlex] (excuse all the extra messages, but they are to help track down the current map-freeze bug) 08/12 * Updated sql-files: mob_db.sql, item_db,sql, main.sql [Skotlex] * Likely fixed mob reloading command. [Skotlex] * Added more reports and some fixes/optimizations to socket.c [Skotlex] * Added reporting of error when a connection can't be made non-blocking. [Skotlex] * Updated Logging Filter: [Lupus] - Implemented refine_items_log condition. You may log only certain refine value items. - Added 'log_steal' option. It'd log stolen items in the drops log DB * Added msg string and announce on stealing of rare items [Lupus] 08/11 * Fixed bio-cannibalize's max hp issue. [Skotlex] * Pneuma completely blocks Soul Breaker (as the forum consensus says it does so) [Skotlex] * clif_parse will now print the error message in case close(fd) fails. [Skotlex] * Fixed players clicking on players disguised as NPCs trying to execute the "npc". [Skotlex] * Fixed possible overflows and exploits in log.c, thanks to Irmin [Skotlex] * Probably fixed devotion's visual not updating. [Skotlex] * Added flag pet_no_gvg, when set to yes/1 the pet is returned to an egg when you enter Guild Grounds and you aren't allowed to hatch pets as well. Note that it only does the check when the player changes maps (should be safe because players are kicked out of castles when WoE starts) 08/10 * Fixed PNEUMA blocking magic part of Soul Breaker, instead of physiacal attack one [Lupus] * Fixed the Login/Char SQL crashing when determining the max id of empty tables. [Skotlex] Account and Char creation code tested, it is safe to use now. * Removed use of settick_timer (fixes the "can't move!" bug) [Skotlex] * Fixed (I think) being able to sit while casting. [Skotlex] * Updated Char-SQL server to guarantee that new chars are created with char_ids above 150K. [Skotlex] (note from last update applies too) * Updated Login-SQL server to guarantee that new accounts (_M/_F reg) are created with account_ids above 2M. [Skotlex] (note it hasn't been tested yet, but I think it should work) * Fixed @readmail 0 [Skotlex] * Fixed success rates for Dispell and Decrease Agility [Skotlex] * Fixed cultivation not being in the list of skills for GMs with gm_skill_all [Skotlex] * Fixed mob's hp becoming zero after mob_hp_rate adjustments. [Skotlex] * Skills update: [Skotlex] - Changed concentration from +10% hit per level to +10 hit per level. - Base level gives greater stun chance to Attack Weak Point (currently +1% every ten levels) - Changed Tiger Knuckle Fist to be a combo-only skill. - Updated Spell break to damage 2% of target's max hp, heals half that. * Small debug change in clif.c which forces a disconnection upon dual-login [Skotlex] * Updated char-sql deletion to take into consideration the mysql version [Skotlex] It should treat versions 4.1+ differently from the rest, please test and report if it is still failing. * Removed sql loading of storage every time you open it as it's an open exploit on lagging servers. [Skotlex] * Removed another "insufficient data" debug line. That should take care of incomplete packets spamming the console. [Skotlex] * Alright, removed the "insufficient data" debug line as it was just causing mass lag. [Skotlex] 08/09 * Fixed Magnum Break's damage display. [Skotlex] * Finished fixing and testing the sql char deletion update. [Skotlex] Deleted characters should now properly leave their party/guild. * Throw Stone is now blocked by Kyrie and Pneuma [Skotlex] * Fixed "[error] delete_timer error: no such timer -1" (stupid mistake x.x) [Skotlex] * Some modifications to char-sql char deletion, so that characters are correctly removed from parties and guilds. [Skotlex] (Note that this is yet to be tested, so upgrade at your own risk or if you want to help file bug reports until I can get to test it on my own later today) * Likely fixed Endure and the like not being 'disabled' on GvG grounds. [Skotlex] * More debug messages to clif.c (these can be ignored on normal situations, but might be useful during freezes) [Skotlex] * Optimized the packet-version failed rejecting code. [Skotlex] * Fixed Freezer Card combo casting Weapon Perfection on the enemy. [Skotlex] * Added more information to the map-char connection process, meant to help understand what is going on when things 'freeze'. [Skotlex] 08/08 * Fixed players not really being disconnected when the char-server is out. [Skotlex] * Added check to resend map server connection packets if the connection to the char server was established but the initial packets get somehow lost. [Skotlex] * Fixed Picky's pet-script being used for all pets... [Skotlex] * Fixed an ugly bug that was causing status-changes to crash the map server [Skotlex] * Added a timer to the map server. It'll try to reconnect 1 sec after it is disconnected from the char server (in addition to the default "try to connect every 10 secs" mechanism). [Skotlex] * Reverted Safety Wall to last known working state. [Skotlex] (from what I read in the code, it should be crash-safe anyway) * Mob level up is now capped to max_base_level rather than 99. [Skotlex] * Another fix to Safety Wall :X [Skotlex] * Fixed Safety Wall (I think). Do test and pray it crashes no more. [Skotlex] * Added settick_timer to timer.c, optimizes status retimings for dance skills. [Skotlex] * Made @autoloot and item_auto_get play along nicely (@autoloot toggles the mode, item_auto_get sets the default state of it) [Skotlex] 08/07 * Corrected the Payon Guild Flags [Codemaster] * Lots of debug message cleanup in clif.c which should make more clear the why characters are being disconnected. [Skotlex] * Added OnAgitInit to the list of npc events executed on connection (it will be executed only the first time it connects, thought) [Skotlex] * Fixed the exp bonus on pvp maps (it was set to +115%, not +15%) [Skotlex] * Updated skill_blown to avoid knocking back plants. [Skotlex] * Made the damage delay of the finishing blow the same delay before sending a char clear packet, this might fix mob sprites being left there after killed. [Skotlex] * More fixes to @autotrade (You still can't disconnect your autotrader by entering in the server again. And an autotrader rises map server usage to 70%+). Started adding Freya's anti-bot thing [Lupus] * Quick fix meant to prevent crashes when targetting "ghosts" of already dead mobs. [Skotlex] * Fixed Pneuma and Safety Wall crashing the server. [Skotlex] (was caused by yesterday's skill upgrade not being... eh, complete) 08/06 * Yet another @autotrade fix by irmin&Ultra. More fixes are coming soon 8)) [Lupus] * Pretty big change in the way ground skills are handled, meant to fix possible segmentation faults. [Skotlex] Report if you notice any ground skill got broken, as pretty much all of them have been affected. * Removed the data about packet_version 14 in the packet_db [Skotlex] This could mean that version 14 never really existed, and all following versions need to be shifted up (who decides how to call these versions? they certainly don't come coded in the login packet. We should ask Sara-chan, the awesome ex-eA dev who pwns us al with her packet finding abilities.). Note that no such changes have yet been decided other than removing version 14. * Updated Devotion/Sacrifice. AutoGuard and Defender skills are now kept in sync between the Crusader and those Devoted. [Skotlex] * Added a battle_stopwalking to NPC_STOP effect [DracoRPG] 08/05 * A li'l fix of @autotrade. Used some irmin's code and optimized a bit [Lupus] * Fixed pc_setcart... [Skotlex] * Updated Fireball and Stone Curse data [Skotlex] Source used: http://guide.ragnarok.co.kr/jobmagskill.asp * Updated map_server sql so that the storage is loaded from sql everytime [Skotlex] * Updated the char deletion routine (sql) so that only the correct pets will be deleted (those hatched and that are in the char's inventory/cart) [Skotlex] * Likely fixed the map server spamming the console when clients gets rejected due to packet version. [Skotlex] * Fixed the make_connection problem (sorry about that) [Skotlex] * Updated make_connection (socket.c) so that it actually returns -1 when the connection fails. [Skotlex] * Fixed change-cart clearing other options. [Skotlex] * Fixed @spawn not working with string names. [Skotlex] * Fixed songs/dances not being moved when knocked back. [Skotlex] 08/04 * Made mobs retaliate against a pet's master when for some reason a pet is attacking a passive mob which is not yet attacking back. [Skotlex] * Modified the mob_db to make it a dynamic array of mob databases. [Skotlex] This allows usage of high mob ids without wasting memory on large gaps of unused mob IDS. NOTE: Other than loading/unloading the map server, this has not been tested, if it crashes DO report right away (preferrably with a backtrace) * Bumped the MAX MOB ID to 10K [Skotlex] * Added 2 new mobs, updated and added some items. Thanks to Landarma [Lupus] Also fixed map-serv loading warnings (about wrong mob IDs) 08/03 * Removed the clif_waitclose timer message, and placed it instead around clif.c on the areas that are actually invoking the waitclose timer. [Skotlex] * Changed the "Player not identified with account id" message to be more descriptive (however I don't know how much of the player data is available when disconnecting this way, so if it crashes DO REPORT it) [Skotlex] * Modified @me so that it actually works as expected by IRC junkies. [Skotlex] (tested and works correctly) * Updated Enchant Deadly Poison: Can't be dispelled, won't end when you are killed. [Skotlex] * Fixed draining more HP/SP than you can have [Skotlex] * Fixed enchanted peach tree damaging you when attacking the undead [Skotlex] * Removed the tick check from the packet_version guessing as it is an unsigned int (so every value in said field is valid) [Skotlex] 08/02 * The char server now notifies the map server about which is the max account/char id available, this is used to help identify packet versions more reliably. [Skotlex] * Guardians won't level up now with mobs_level_up=1 [Skotlex] * Updated Deluge, Volcano, Violent Gale & Land Protector to not require gems when recasted, and the previous time remaining will be used instead. [Skotlex] * Fixed Zeny from mobs. [Skotlex] * Changed the visual effect when pets heal status ailments to "Detoxify" [Skotlex] * Fixed "bonus2 bSkillAtk" so that it works with up to five skills [Skotlex] (previously it only worked for one skill at a time) * Fixed Enchant Deadly Poison on normal attacks. [Skotlex] * Updated the packet-guessing code, trying to load negative char accounts should be fixed now. [Skotlex] 08/01 * Updated the login servers so that account registration can be done with _m/_f as well as _M/_F [Skotlex] * Fixed login sql server not using md5sum on the passwords before creating accounts (when md5 passwords are enabled) [Skotlex] * Updated Enchant Deadly Poison: Increases Sonic Blow's damage by 4x and affects all skills except Breaker/Meteor Assault [Skotlex] * Added a check to prevent char-server freezes when receiving unknown packets from the map server. [Skotlex] * Fixed some problems with the clif optimizations from earlier today (wrong animations being displayed for normal attacks/picking items) [Skotlex] * Rewrote Ensemble skill implementation to be more efficient and less error-prone [Skotlex] (say, when you do an ensemble skill, your partner has to be charged SP too? That is not the current case) * Dance/Song checks so that the ground effect is more tightly coupled with the status effect (if the dance's effect is cancelled for whatever reason, the ground skill WILL be removed) [Skotlex] * Fixed stat reset for Advanced Classes [Skotlex] * Updated Lord Knight's Concentration (damage, defense, endure effect) [Skotlex] * Likely fixed famous alchemist potion usage. [Skotlex] * Small optimization to the packet version guessing code. [Skotlex] * Added Warpparty and Warpguild script commands *requested* [Fredzilla] * Fixed the exp exploit bug dealing with expaddrace [Skotlex] * Added missing CharCommands logs (together with ATCommands) [Lupus] TODO: '/' commands 8) * Added mod for npc whisper system(lordalpha)[massdriller] * Added lordalfa's str1 and str2 compare and check commands [massdriller] 07/31 * Fixed (I think) the char sql server freezing when the map server sends it a GM whisper request. [Skotlex] * Rewrote the way that experience is given, this should prevent exp overflows even in even-share parties. [Skotlex] * Changed how the exp_calc_type works, take note that there's no longer a "2" value for it! [Skotlex] * Updated throw stone: Damage is modified by target's cards, 3% chance to cause Stun/Blind. [Skotlex] * Added rods/books to the list of items that can't break. [Skotlex] * Fixed map server rejecting clients of packet versions 9 and below (regardless of packet_ver_flag) [Skotlex] * Updated Steel Body: Consumes 50% sp and is not dispellable. [Skotlex] * Updated sprinkle sand's damage to 130%, Throw Stone's range and delay [Skotlex] * Fixed increased dodge's flee bonus and speed bonus (to Assassins). [Skotlex] * Simplified clif.c by removing all code related to hard-coded packet information (the packet_db.txt is an essential file now) [Skotlex] * Small fixes to provide clarity to # commands (So many people ask "why doesnt @char????? work, like OMGWTFBBQ") [Fredzilla] * Fixed a stupid typo in a drop rate display [Lupus] 07/30 * Some more fixes to the job calculating equations. This one should fix item usage for mounted classes and hopefully be the last fix needed regarding the job system upgrade. [Skotlex] * Corrected the parsing/reading of the skill tree. This fixes the Priest/Monk skills appearing in the skill trees of Paladings/Crusaders. [Skotlex] * Another fix about advanced/baby mounted characters not having skills. [Skotlex] * Fixed character's class not getting updated when mounting/dismounting peco. [Skotlex] * Fixed the default packet version checking in the guessing version code. as pointed out by End of Exam. [Skotlex] * Optimized the code that determines what packet version to use by default when you specify "packet_db_ver: default" [Skotlex] * Fixed job changing to high/baby classes [Skotlex] 07/29 * Moved messages "One Castle", "Two Castles", etc into msg_athena.conf [Lupus] * Fixed wrong msg_athena.conf messages in the trade hack spoof code [Lupus] * Added a Rare Item announce string into msg_athena.conf [Lupus] * Fixed compilation of the TXT server. [Skotlex] * Fixed song/dances not clearing when you run out of SP [Skotlex] * Fixed #fakename [Skotlex] * Optimized Apple of Idun's implementation [Skotlex] * Updated pc_calc_base_job and related functions and applied them around the map server. This should fix all item related problems with Super Babies and alike. [Skotlex] * Simplified/optimized the code that mounts/dismounts from Pecos. [Skotlex] * Changed Create Deadly Poison to not use the item producing interface (works simplier, like Aqua Benedicta) and added a separate config option to choose whether the maker's name is written on the Poison Bottle [DracoRPG] * Changed NPC_STOP to immobilize the target during 2 seconds (from ragnainfo) [DracoRPG] * Added "cartboost" state to skill_require_db (used for Cart Termination) [DracoRPG] * Rewrote Soul Destroyer's damage dealing and displaying code, now everything is done at once: no more people killed without damage displayed [DracoRPG] * Readded Assassin Cross not affecting bows [Skotlex] * Fixed Hip-Shaker (not tested, but I am assuming it works now) [Skotlex] * Fixed Brandish spear's damage [Skotlex] * Removed the after-cast delay of Recall Partner [Skotlex] * Added optional announce of rare drops. When a SomePlayer kills a monster [Lupus] with a rare drop then everyone gets announce: 'SomePlayer' won Pupa's Pupa Card (chance 0.01%) 07/28 * Fixed the Server Whisper to GMs in the char-sql server [Skotlex] (when an exploit that should be notified to GMs is triggered, the map server would just hang instead...) * Some code reorganization around the name-spoof exploit protection code. [Skotlex] * Fixed not being able to do Extremity Fist after Glacier Fist/Tiger Knuckle Fist [Skotlex] * Likely fixed the Famous Alchemist potions not having that 50% boost. [Skotlex] * Updated the Wedding Skills (they work with 10% HP/SP and heal 10% of their target's, summoning has a cast time of 20s) [Skotlex] * Reverted AssassinCross's song behaviour. [Skotlex] * Odd bug wanting all Account and Char IDs to end with 0?! [Codemaster] Note: Not all acc or char ids end with 0...this gave alot of problems with client version 16 * Fixed that compiling issue with buildin_getequippercentrefinery [Skotlex] * Updated Bard's AssasinCross (Impressing Riff) to not affect Bows (is this how it really is?) [Skotlex] * Massive skills update (from now updated kRO website) [DracoRPG] - Weapon forging, ore/metals refining, potion making : tried to correct rates ^^ - Weaponry Research : does NOT increase NPC equipment upgrading chance - Skin Tempering : (4*skilllv)% fire resistance and (1*skilllv)% neutral resistance - Hilt Binding : the original 'undropable weapon' part is dead - Meteor Storm : (3*skilllv)% stun chance - Lord of Vermilion : (4*skilllv)% blind chance - Sandman : (40+10*skilllv)% sleep chance - Ankle Snare : minimum trap time changed to (3+0.03*skill_lv) seconds Tons of other skills could and should be reviewed the same way ! ^^ * Fixed massdriller's fixes ^_^ [Kevin] * Some fixes to Whisper system. [massdriller] 07/27 * Fixed the fame list packet mismatch bug. [Skotlex] * Even more cleanups to socket.c and chrif.c to prevent even handling Session #0 [Skotlex] * Some more cleanups to chrif.c (the interface to the char server)'s code. [Skotlex] * Appied End of Exam's socket/connection related fixes/suggestions. [Skotlex] * Fixed a Segmentation Fault with friends list loading. [Kevin] * Fixed the npc whisper system. [Kevin] * Fixed most of the matrix bug, note to devs: Don't use tmp_output anymore! [Kevin] * Fixed a small compile warning with previous fix. [Kevin] * Added ATCommand @AutoTrade. You open a shop, setup your goods. Then use @AUTOTRADE. Your will be closed, but your merchant would remain in the game. So you can vending without your client ON. (originally by Fantik, changed by Lupus) * Added ATCommand @ChangeGM. Your Guild Master can set another GM of the guild. Note: It works, but have to be optimized, WIP. (originally by Fantik, changed by Lupus) * Added lordalfa's npc whisper system [massdriller] * added lordalfa's fix/enhancement for Execute Scripts::labels [massdriller] 07/26 * Updated the packet-version guessing code, hopefully it does a better job now [Skotlex] * Fixed the mob bug where they "stick to you" and won't let you escape [Skotlex] * Reverted mob skill usage rates. A rate of 1000 (in mob_skill_db.txt) IS 100% usage. [Skotlex] * Corrected Gospel not dissipating when you die. [Skotlex] * Fixed Providence/Resistant soul so it can't be casted on yourself-other crusaders [Skotlex] * Updated Quagmire to affect everyone in GVG maps. [Skotlex] * Small fix to the packet_version identification [Skotlex] A more complete testing/verification code comes later... * Likely fixed the txt->sql converter. [Skotlex] * Corrected some refine success rates. [Skotlex] * Modified the packet client version guessing code (perhaps it more accurately guesses the version now?) [Skotlex] * Fixed reading of 'repairitem' packet in packet_db -> fixes Weapon Repair [DracoRPG] * Rewrote Weapon Repair to allow use on other players [DracoRPG] * Moved pc_item_repair, pc_item_refine and pc_item_identify to skill.c [DracoRPG] 07/24 * Enchant Deadly Potion now does count card modifiers. [Skotlex] * Fixed elemental modifiers not applying to skills. [Skotlex] * Fixed mob_ghostring_fix config. [Skotlex] * Fixed firewall stun-locking enemies that are not pushed back. [Skotlex] * Added some checks into MONSTER spawn command (reports wrong number, ID, delays, etc.) [Lupus] - somehow it doesn't report about wrong map names yet * Added check for missing TAB characters into script parser [Lupus] 07/23 * Fixed friend-saving on the new charsave sql method. [Skotlex] * Corrected the ghostfix description in battle_athena. [Skotlex] * Modified the Makefile to include FD_SETSIZE = 4096 when compiled under Cygwin [Skotlex] * Added a check for max mob skill level (when reading mob_skill db) [Lupus] * More fixes/updates to the txt->sql converter of inventory/cart (will it ever work?) [Skotlex] * Fixed job_db2 reading [Sasuke] Field count is MAX_LEVEL+1 since job ID is the first field of the 'split' table 07/22 * Changed a bit the aspd penalty for dual-wielding assassins. [Skotlex] The new factor is 2/3 rather than 0.7, which should be closer to what rodatazone says, but also makes them dual wielders a bit slower :X * Fixed job_db2.txt reading so that it will read up to MAX_LEVEL job bonuses. [Skotlex] * Changed the way the OS is detected in socket.h [Skotlex] This MIGHT fix the current 60 user limit problem. * Fixed characters not being able to attack and getting "there is a delay after a skill" messages instead. [Skotlex] * Fixed status changing cards not taking effect. [Skotlex] * Fixed packet_ver_flag reading. [Skotlex] (previously, if you tried setting it to 256 or 512 it would be resetted back to 255, which would cause problems with the later clients) * More fixes to the txt->sql converter. Does it works now? [Skotlex] * Added water height values of Ayothaya, Ayo_dun02, sec_in02 maps (thanx 2Lorky) [Lupus] * Fixed char-sql memo saving. [Skotlex] * Added the wantoconnection packet of version 13 to version 14 [Skotlex] Note that this will cause all ver13 clients to be identified as v14, it WILL cause problems if you use ver13 clients. There is no easy way around this as both versions seem to use the identical login packet. If you want to give preference to v13 over v14, you can specify the default to be it. * Fixed Encore skills working when the partner has no weapon equipped. [Skotlex] 07/21 * Fixed the fame lists, they work now. [Skotlex] * Rewrote the friends system, it now works. [Skotlex] Sql users upgrade with the 2574.sql upgrade, txt users will have to wipe their friends.txt (there's no easy way to convert that one). * Fixed the txt->sql converter not converting inventory/card. [Skotlex] The friend conversion was removed due to the new structure. * Restructured some of the logic behind auto-attacks and normal attacks which should prevent most speed-hacks and be more responsive to players. [Skotlex] 07/20 * Updated the txt->sql converter, I THINK it will work now. [Skotlex] * Fixed Plagiarized skill's level not being saved. [Skotlex] * Changed Pressure/Gloria Domini to take a % of current SP, not max SP (from a post on ragnainfo, not personal custom shit! :p) [DracoRPG] * Removed debug messages for fame list and signaled the bug that causes problems [DracoRPG] * Removed the need of job_db2-2 (advanced jobs' stat bonuses) and moved its use to job_db2 [DracoRPG] 07/19 * Reorganized the way sql chars are being saved. [Skotlex] * Merged battle options player_combo_damage_delay and mob_combo_damage_delay into combo_damage_delay [Skotlex] * Some code reorganization that hopefully should help with mobs not having the same damage delay on the client and within the server. [Skotlex] * corrected some bounds errors in the new packet_db code that was corrupting memory [MouseJstr] * Corrections to Tiger Knuckle Fist [Skotlex] * Rewriting of part of the skill-additional effect code. (Should fix Asura's penalty) [Skotlex] 07/18 * Added a check that might prevent sql char crashes when requesting info for non-existant Characters. [Skotlex] * Fixed main.sql (start char_id should be 150k) [Skotlex] * Some code-cleaning for Sacrificial Ritual [Skotlex] * Optimization of auto-triggering skills (double attack, sacrifice, triple blows) [Skotlex] * Small fix to Sanctuary (shouldn't start healing until after 1.5 secs of casted) [Skotlex] * Implemented Palm Strike (you cast the skill, it pushes back the enemy and deals damage 1 sec after it was casted) [Skotlex] * Rewrote and tested Gospel's code, currently it works as follows: [Skotlex] Offensive Effects: 0: Defense ignoring damage 1~9999 1: Curse enemy 2: Blind enemy 3: Poison enemy 4: Lv10 Provoke 5: Def, Def2 to 0 6: Base Atk, Watk to 0 7: Flee to 0 8: Speed/Aspd -25% Deffensive Effects: 0: Heal 1~9999 1: End all negative status effects 2: Lv10 Bless 3: Lv10 Inc Agi 4: Aspersio (holy weapon) 5: Benedictio (holy armor) 6: +100% max hp 7: +100% max sp 8: +20 to all stats 9: +25% def (armor and vit) 10: +100% base atk 11: +50 flee 12: +50 hit 13: Status effect inmunity - Effects have a chance of 10*Skill_lv% of triggering every 5~15 secs for whoever is on the skill area. - Report any modifications/corrections needed on the forums. 07/17 * More Sacrificial Ritual updates [Skotlex] * Added Jawaii's water level, thanks to Manipulator [Skotlex] * Sacrificial Ritual update [Skotlex] * Bumped max Vending price to MAX_ZENY (currently 1000M) [Skotlex] * Fixed a bug with Brandish Spear's damage. [Skotlex] * Changed the minimum valid char_id from 150k to 1 as apparently many sql servers somehow got their chars to start from id 1 instead of 150k. [Skotlex] * Added a bunch of debug information to help me understand why the client version check is failing. Report back the output on the forums. [Skotlex] * The memory manager is now OFF by default [Skotlex] (if the server now crashes instead of the matrix bug, then whoever gets the traceback first gets to locate it's source) * Various fixes to Sacrifice (self damage, display, defense reduction, etc) [Skotlex] * Fixed Assumptio's damage reduction in pvp/normal maps [Skotlex] * Tiny fix to #fakename [Codemaster] * Probable fix for matrix bug. [Kevin] * Fixed SegFault with friends list loading on sql. [Kevin] * Fixed the spamming of 'unknown packet received' when a client connects with an unidentifiable version. [Skotlex] * Optimized sql loading of data when displaying the Char Select Screen [Skotlex] 07/16 * Added NOLOOT, NOEXP mapflags files (thanks to Lorky,OSKOM) [Lupus] * Updated Louyang monsters spawn (thanks to MasterOfMuppets) [Lupus] 07/15 * Rewrote most of the packet_db handling code. [Skotlex] eA now really supports multiple packet versions at the same time, (so that transitioning from one packet version to another should be smooth), there is no longer any need to mess with the db/packet_db.txt file. * The values for packet_ver_flag have changed, check the battle_athena comments and set it up accordingly! * Using the packet_db is the only way to manage packets now. [Skotlex] * Added sql runservers to all branches as runserver-sql.bat [Evera] 07/14 * Fixed the login-sql registration issue. [Skotlex] * Made it so all ground-targetted skills fail if you try to cast them on a cell you can't step in. [Skotlex] 07/13 * Soul Change should now work on anyone in pvp/gvg maps [Skotlex] * Wand of Hermod's target change from 'friend' to 'party' [Skotlex] * Fixed triple blow's 'infinite damage delay'. [Skotlex * Added check to prevent placing traps on non-walkable cells. [Skotlex] * Fixed login-sql server not reading login_log value [Skotlex] * Adjusted my fix of buildin_getequipisequiped to not leave the return stack tweaked [MouseJstr] * Changed skill_unit_onlimit to use strncpy instead of memcpy in one spot to eliminate accessing unallocated memory [MouseJstr] * Added check into _mmalloc for allocations of less then zero to make debugging easier [MouseJstr] * Fixed USE_MEMMGR to disable when running bounds checker or the debugging malloc code [MouseJstr] * Fixed the debugging malloc MACRO's to use the correct arguments [MouseJstr] * increased max maps per server to 1024 [MouseJstr] * Added check into buildin_getequipisequiped to make sure arguments don't go outside of array boundries *crash* [MouseJstr] * Add a check into refine bonuses to not go outside of array boundries if somebody has a wlv above 5 in the database *crash* [MouseJstr] * Modified skill_tree code to confirm we are still inside the skill_tree array before accessing a element from the skill_tree array *crash* [MouseJstr] * Changed the mob spawning code to use strncpy instead of memcpy in some places to avoid copying unallocated and uninitialized memory *crash* [MouseJstr] * Fixed the compile problem on the previous upgrade. [Skotlex] * Changed refine success chances to match jRO information. [Skotlex] See http://tomcat1.s13.xrea.com/bs/calc.html and http://eathena.deltaanime.net/board/index.php?showtopic=39997 for the details on the new equation. (changed because the current equations seem somewhat outdated) * Fixed max chance const of "mob skill usage". Now all mobs aren't hyperactive. [Lupus] * Fixed global vars not being saved instantly (used to cause some scripts exploits) [Lupus] Need some offensive testing. 07/12 * Added Loli Ruri to the Magician set [Skotlex] * Fixed 'theif' on the scripts. [Skotlex] * Added mapflag pvp_noparty to the pvp rooms [Skotlex] * More Dispell Fixes [Skotlex] * log_login option now also works for the SQL Login server [Skotlex] 07/11 * Fixed again Dispell. [Skotlex] * Added nomemo mapflag to Ayothaya Dungeon. Check your memo DBs and wipe forbidden entries [Lupus] - Yuno, Ayothaya Dungeon * Fixed Dispell succes rate reduction by MDef working reversed [DracoRPG] * Changed Guild auras to not be removed by Dispell (they came back when you walked anyway :p) [DracoRPG] * Changed the default for equip_natural_break_rate to 0 (official) [DracoRPG] * Fixed the function that checks whether the player has valid equipment for his buffs : don't return once one buff is stopped, since there can be more (e.g. Crus' shield buffs will now ALL be stopped when the shield is unequipped, not only Guard ^^) [DracoRPG] 07/10 * Fixed Alchemist Fame system using' account_id' instead of 'char_id', however this does NOT solve the names problem : I left debug messages so you can see by yourself that the bug comes from map_charid2nick that always returns null... [DracoRPG] 07/09 * Added Novice Castles Usher NPC. 4 new Castles for all but 2nd classes! [Lupus] * Updated Falcon Assault (now gives 500% at 5 lvl) [Lupus] * Fixed True Sight (now gives +10 Crit, instead of +10%) [Lupus] * Update Sharp Shooting (now gives 350% at 5lvl) [Lupus] * Check other DB related skills req changes in db\changelog.txt [Lupus] * Updated Palm Strike to push back even if it misses. [Skotlex] * Updated Palm Strike cost/sphere requirement. [Skotlex] (the delayed damage still needs to be coded in) * Now adoption.txt NPC can also teach parents/babies their missing family skills [Lupus] But the skills don't work yet (I tested) * Massive mapflags fix. Also added there Novice Guilds. [Lupus] 07/08 * Fixed below fix xD [DracoRPG] * Added another sql injection fix [Kevin] * Rewrote part of the name request code [Skotlex] This means that now you can see other people's party even if they don't belong to a guild, and the party/guild names are updated whenever someone joins/leaves them. Not fully tested but works alright on the client I use (0411) * More Adoption skill fixes. [Skotlex] * Added the Adoption skills to all classes [Skotlex] They should be auto-granted upon adoption (and are not resetable, learnable). This, of course, needs testing, do report if it does not works. (those that already have someone adopted will need a custom npc to give them the skills). * Reverted Wedding Rings as they don't need to give the adoption skills anymore [Skotlex] * Added script command getchildid() [Skotlex] * Updated wedding rings to give the adoption skill when equipped. [Skotlex] * Fixed some adoption skills [Skotlex] * Baby classes won't display the wedding sprite when they equip the tux/wedding dress since that resets their size. [Skotlex] * Added warning messages when mobs from the mob_db are not loaded due to invalid IDs. [Skotlex] * All the new monsters have been added. Check db\changelog.txt 07/07 * Moved some declarations causing errors with gcc 2.95 [veider] * Added valid fd test in inter.c char_sql - caused charserver crash [veider] * Fixed pet-exploit where you could use a bow with no arrow equipped to 'send' your pet to attack distant enemies. [Skotlex] * Added a visual skill effect when pets heal a status ailment. [Skotlex] (Adrenaline Rush was chosen because it's animation does resemble a 'curative spell') * Changed all SQL-related error messages to use ShowSQL [Skotlex] ShowSQL now is also printed on the stderr (like ShowError and ShowFatalError) * Beautified the output of the char server (sql) [Skotlex] * Modified Dispel so that it can fail. [Skotlex] As I have no information of how mdef protects against it, the current dummy equation is: (50+10*SkillLv - mdef)% (note that mdef2 is not used!) If someone knows the actual equation, do open a bug report. 07/06 * Fixed Spider-web (works like a ground-targeted trap) [Skotlex] * Fixed combo delay not working with skills that have a blowcount [Skotlex] * Set the default skill combo delay value to 230ms [Skotlex] (this default was empirically obtained testing with Jupitel Thunder as reference) * Beautified output of the char server (txt) [Skotlex] * Fixed script config import reading. [Skotlex] (was working incorrectly and causing memory leaks) * Another mob-ai fix, this time mobs should unlock their target once it has died for sure. [Skotlex] * Added player_combo_damage_delay & monster_combo_damage_delay [Skotlex] See battle_athena.conf for description of how they work. Defaults to 0 because it is not yet tested for an appropiate default. * Removed player_damage_delay & monster_damage_delay [Skotlex] Use player_damage_delay_rate:0 & monster_damage_delay_rate:0 instead. * Set item_use_interval to 0 (official default, isn't it ?) [DracoRPG] * Improved appearance of script-errors reported during loading. [Skotlex] * Some mob-ai cleanup. Mobs should now unlock their target when it has died. [Skotlex] * Some items, monster drops fixes [Lupus] 07/05 * Fixed double attack damage [Skotlex] 07/04 * Displayed name is now updated whenever a character leaves/joins a party/guild. [Skotlex] * Added some NEW official HEADGEARS quests thanks to Lorky [Lupus] * Added zbuffer/lance's "Dynamic NPC Look 'n Feel" feature. [massdriller] 07/02 * Fixed a small bug in PCloadmapevent thanks to lance. [massdriller] * Added lance's PCLoadMapEvent script event command. to trigger, type in -[TAB]script[TAB]PCLoadMapEvent[TAB]-1,{ YOUR SCRIPT HERE PCLoadMapEvent as NPC Name will trigger when players step into the map. OnPCLoadMapEvent as Label will trigger when players step into all maps. [massdriller] * Added lordalfa's NPCKillEvent script event command. to trigger, type in -[TAB]script[TAB]NPCKillEvent[TAB]-1,{ YOUR SCRIPT HERE } The script should run everytime a normal monster is killed. [massdriller] * Added lordalfa's edit where Labels from Event Monsters be executed using the MVP RID, and not the Last Hit guy RID. [massdriller] * Added lordalfa's PCBaseUpEvent script event command. to trigger, type in -[TAB]Script[TAB]PCBaseUpEvent[TAB]-1,{ YOUR CODE HERE; } the script should run everytime the user gains a level. [massdriller] * Fixed Job Quests exploits (Advanced Classes were able to pass their 2nd job quests again) [Lupus] High Novices were able to pass Super Novice Job Quest as well. They weren't able to GET those professions, tough. But there were some items exploits. Now Advanced classes get reborn guides from all main Job Quest NPCs (1st, 2nd Classes) 07/02 * Fixed NEWnovice NPC set using gmcommand instead of atcommand. [Codemaster] * Maps and bugs updates, some cleanup in Weapon Repair code [DracoRPG] * Added new areas into map flags folder. According to the patch, added NOMEMO flag to Yuno [Lupus] * Some monsters drops changes, cards fixes. [Lupus] * Fixed sql-char server crash when deleting a Guild Master [Skotlex] * Massive cards update (also thx 2Landarma) [Lupus] read db\changelog.txt 07/01 * Fixed being able to steal from Treasure Box #1 [Skotlex] * Char-sql server now uses autosave_interval to decide when to save a modified guild. [Skotlex] * Temporary patch to fix the 'invalid pointer' error on shutdown. [Skotlex] * Changed all printf's to Show* messages (login/login-sql servers) [Skotlex] * Cleaned up sql-account creation code. [Skotlex] * Fixed 'unclean' guilds not getting saved on char-sql shutdown. [Skotlex] * Corrected map-length calculations when auto-adding .gat (#/@ commands) [Skotlex] * Fixed guild-skill sql loading. [Skotlex] * Added battle_config option guild_exp_rate to adjust taxed experience before adding it to the guild. [Skotlex] * Some Guild-Sql saving optimizations [Skotlex] * Changed all printfs to Show* messages (Map Server, common/ files) [Skotlex] * Fixed crashes of Baby Knight/Crusader Peco riders. Added Baby Class support into AT / CHAR commands @mountpeco [Lupus] 06/30 * Added web server (http daemon) plugin, originally by jA, ported to plugin form (but not yet finished) [celest] - To activate it just edit plugin_athena.conf - When running just access http://:. The default home page is httpd/index.html, you can edit it if you want. - If graph creation is enabled you can view them in http://..../graph (by default only memory usage graphs are added) * Fixed crash when no grf's are loaded [celest] * Some tidying ups in clif.c, guild.c, skill.c, storage.c [celest] * Fixed a missing foreign key for guild_position in the SQL guild convert files (main.sql has it already) [Aru] * On Guild_skill table corruption in SQL: this is a problem with some MySQL versions not supporting the syntax used in convert_guild_tables properly. The solution is to drop table guild_skill and re-create it with the query from main.sql. [Aru] 06/29 * Fixed Bowling Bash and Spear Stab having knockback in situations where knockback should be disabled (GvG/MVP) [Aru] * Updated map configs with airport maps. [massdriller] 06/28 * Fixed Land Protector's range * Old Sakexes can now login to the server. [davidsiaw] * Doubled Investigate/Occult-Sight's damage and made it non-elemental as per ragnainfo sources. [Skotlex] * Sacrifice now always hits. * Added import of msg_conf.txt for custom message translations. [Skotlex] 06/27 * Fixed Pressure missing. [Skotlex] * Added 2Secs delay to Sonic Blows. [Skotlex] * Removed battle config option maximum_level and replaced it with max_base_level, max_job_level, max_super_novice_level and max_advanced_job_level. Refer to battle_athena.conf for more details. [Skotlex] 06/26 * Fixed typo 'identity'->'identify' in charsave.c [DracoRPG] * Added missing ',' to guild_position definition of main.sql [Lupus] * Added proper foreign keys to guild_position, SQL users run upgrade_svn2331.sql [Aru] * Added convert_guild_tables2.sql for use on guild tables created with a 2314-2321 main.sql. Run this or convert_guild_tables.sql if you are having issues with guild skill saving [Aru] * Fixed a bug with guild_skill table in main_old.sql if you're fool enough to use it [Aru] * @nuke++, ftw ;D [Valaris] * Modified friend list loading in char-server (sql) to be more efficient. [Valaris] * Modified mmo_friends_list_data_str (char-server txt) so it wouldn't make junk data. [Valaris] * Added 'character_size' to battle config: Do mounted (on Peco) characters increase their size [Lupus] * Added new guild database structures to main.sql. Removed obsolete guild_tables.sql. If for some reason the new main.sql doesn't work for you, you can use main_old.sql, but there will be garbage left in the DB if a guild is deleted. [Aru] 06/25 * Asura/Extremity-Fist needs Fury/Explosion-Spirits active no matter how it's triggered. Not yet tested, but it should work. [Skotlex] * Reorganized deletion process. Friends should now be no more problem [davidsiaw] * Added SQL returned row check to friend-list loading, thanks to Sasuke-. [Valaris] * Fixed drops_by_luk not behaving exactly the way it was before... ^^' [Skotlex] * Proper clear of class sprite if used as a mob when killed. [Valaris] * Added limit 10 to fame list SQL query (faster, when u got 1000+ bsm/alch in DB) [Lupus] * Added missing field guild/char_id to main.sql database definition [Lupus] Warning: Don't use guild_tables.sql databases yet! Use main.sql file 06/24 * Small bug fix on the Monk combos introduced by previous reorganization. [Skotlex] * Some corrections on player_cloak_type code. [Skotlex] * Some code reorganizing related to Monk combos [Skotlex] * Reverted behaviour of the drops_by_luk to Valaris's way [Skotlex] Added drops_by_luk2 for those who want the alternate behaviour instead. * Adjusted occult-sight/investigate damage modifier to be (def1+def2)/100 [Skotlex] * Removed remaining bits of code for the ex-guild skill Charisma [DracoRPG] * Added Lighthalzen to @go [DracoRPG] * Fixed bug in bowling bash that made the target's sprite remain. [Valaris] * Added status calculation to nude script command if anything was removed. [Valaris] 06/23 * Fixed LittleWolf's detect hidden mode 256 for mobs (missed a line while merging). [Valaris] * Disable AF2 loading -- eA doesn't support unzipping archives yet [celest] * Updated UPnP plugin to 1.0.3.2 [celest] - Added 'nat_ip' option to upnp.conf (use it to manually set your ip address if auto detecting doesn't work) - Fixed ip address not initialised properly 06/22 * Stopped looting from Chase Walk [Aru] 06/21 * Added send of fail packet on failing to pick up items under certain conditions (this allows you to get an item you tried to pick up while cloaked when you uncloak). [Valaris] * Updated map server to partially 1203~1249 - Added 'buyer_name' to battle config: shows the buyer's name when an item has been sold through vending - Added skills with 'water' requirement can be used in rain-enabled maps - Fixed Soul Strike not dealing extra damage to undead - Fixed Advanced Book not giving its aspd bonus - Fixed skill name display when Frost Joke and Scream are casted by mobs - Fixed exp overflow with Rich Man Kim - Fixed exp overflow with party bonuses - Fixed mob names not updated properly when respawning to its base class - Reduced size of struct pet_db a bit - Prevent trying to respawn a one-time-only mob if it can't find any coordinates to add it - Added slave mobs with no master/master died will be removed in mob_ai() - Changed damage log by summoned mobs will use their masters' char_id instead of account id (old system) * Some tidying up in atcommand.c [celest] 06/20 * Large monsters now have 2x base stats, drop rates, exp, and zeny (if enabled). [Valaris] * Small monsters now have half base stats, drop rates, exp, and zeny (if enabled). [Valaris] ** Note: this is referring to size just as @monsterbig and @monstersmall, not small, medium, brute, etc... [Valaris] * Removed wedding rings from hasitems script command. [Valaris] * Removed monsters_ignore_gms from battle_athena.conf, and added @monsterignore command. [Valaris] 06/19 * Sirius: Even though the `id` field is never directly read or written by Athena it is neccesary for the SQL server which automatically handles it. Else each char may have only 1 item in a given table. [Aru] * overhauled PA_SACRIFICE. If you want to revert the old behavior, you can comment out the new line for it in skill_db.txt [Aru] * removed broken SQL "upgrade" script [Aru] * finished the mapservers direct char loading / Charsaving (SQL only!) [Sirius] - set charsave_method in char / map conf to 1 if u want to use the feature - please test it and make db backups, the save / load is completly rewritten. * Fixed some compilation errors on FreeBSD (old compilers [veider] 06/18 * Properly updated graph files (Oh god, i keep forgetting things now... sorry again! >.< [celest] * celest: added a graph.c / graph.h with void graph_init and graph_final functions due to compiling errors [sirius] * SQL USERS: upgrade with upgrade_2252.sql! * Added new maps, items. Thanks to Landarma [Lupus] * Added graph creation code by jA / End_of_exam (currently disabled until finished) [celest] * Added grfio_crc32() [celest] 06/17 !!!Bug: on optimizing run_script, Kafra NPC stopped working. Celest, read it plz. [Lupus] -- Fixed, sorry ^^; Please test and tell me if anything goes wrong [celest] --- Yes. It's fixed now. (Equipment upgraders, etc werent' working, too) [Lupus] * Started adding the charsave_method, Loading is working, saving will be finished @ 18.6.05 [Sirius] * SuperUser checking ... (never run athena as root!) [Sirius] * Added eprintf/eprint (eprintf is equal to printf) but it displays line / file ... (to stdrerr)[Sirius] * Fixed Ungoliatnt casting assumptio on it's target instead of self. [Skotlex] * Switched two frees around that might have caused problems [Codemaster] * Optimised run_script a bit, based on jA [celest] * Fixed a memory leak in script.c [celest] 06/16 * Fixed "unable to add to guild" bug. [Skotlex] * fixed a typo of the guilds sql file DB definition [Lupus] * Added left-out bonus bDef2 [celest] * Moved minicore .o files compiling to under 'common' [celest] * Fixed a client crash when using Advanced/Baby job sprites for mobs [Aru] * Added a random modifier to returned damage modifiers to prevent stun-lock abusers. [Skotlex] It's currently set at +/-5%, not tested to know if that's enough or not, feedback appreciated. * Updated missing grfio.c, sorry ^^; and thanks Skotlex! [celest] * Fixed crash in exporting ip address to plugins [celest] 06/15 * Small mod on the new attack function to prevent Asura Strike from overflowing and doing minimal damage instead of insane damage. [Skotlex] * Merged Iro's patch to get #changesex working. Try it out. [Skotlex] * nullpo fix (guild.c:550), it was an actual possible scenario when you invite someone to a guild and quit before they reply. [Skotlex] * Removed script command gmcommand and replaced it with atcommand & charcommand. [Skotlex] * Small fix regarding speed updating for Cast Cancel + Freedom of Cast [Skotlex] * Added 'make depend' for resetting Makefile dependencies [celest] * Readded 'make addons' (works the same as 'make plugins') [celest] * Split zlib dll opening from grf opening in grfio.c [celest] * Moved grfio.c back to /common, it'll be needed by the core later [celest] * SQL Logs crash likely fixed. [Skotlex] * Added Stone-Curse to the list of status effects undead chars are inmune to. So far undead chars are inmune to Freeze and Stone Curse. [Skotlex] * Fixed disp_hpmeter not working properly when set to 0/no [Skotlex] * Added malloc_usage() for checking total memory used [celest] * Added func_parse_table to assign a parse function according to SessionType -- still not used anywhere yet [celest] * Added 'SessionType' to session_data [celest] * Some tidying up in charcommand.c [celest] * Added temporary code for Shinobi's Rebirth skill [celest] * Added guild exp overflow fix for TXT char [celest] 06/14 * Various item_trade restriction fixes: [Skotlex] - Fixed guild/normal storage flags not working right. - Fixed a bug which allowed players to store items regardless of restrictions. - Modified the gm override level behaviour on trades so a high level gm can both give and receive the otherwise untradeable item. * Small fix to the sql-files/convert_guild_tables.sql script. [Skotlex] * Modified function status_calc_speed to be faster since it's only used for cloaking and freedom of casting. [Skotlex] * Changed the stacking type from speed-bonuses to make it harder to reach max walk speed. [Skotlex] * Fixed a bug on the way aspd bonuses stack. [Skotlex] * Changed map names length from 24 to 16 all over the char(txt/sq) and map servers, this could fix the "matrix" bug (if done right...). [Skotlex] * General cleanup and memory checks on char server (txt) [Skotlex] * Miscellanous memory checks around charcommand.c and atcommand.c [Skotlex] * Added Maeki's fix to Maeki's fix of SQL Char Server Guild Saving. * Fixed characters not being able to uncloak * Split used-by-plugins-only code to plugin.h [celest] * Standardised plugin functions and names -- dll.c is now plugins.c, addon_athena is now plugin_athena.conf and so on [celest] * Updated UPnP plugin to 1.0.3.1 [celest] - moved code in socket.c back into the plugin - added configuration file support (plugins/upnp.conf) -- you'll need to do 'make plugins' to install it * Added 'make zlib' for compiling a zlib.dll [celest] 06/13 * Fixed Asura Strike possibly doing minimal damage when it should do very large damage instead. [Skotlex] * Fixed another possible crash on chrif... [Skotlex] * Applied Maeki's fix for Guild Sql Char server [Skotlex] if it breaks, go stone him :X (I already got enough rocks to watch out for...) * Made berserk-cancels-users-other-self-buffs a battle_config option, default: off [Aru] * Some compiler warnings fixes [Skotlex] * Added battle_config option equip_natural_break_rate. [Skotlex] Default is 1 (0.01% chance). * Changed sprinkle sand's range from 8 to 1. [Skotlex] * Fixed map server failing to connect to char server... [Skotlex] * Char-Sql server revision [Skotlex] Miscellanous memory bounds/overflows checks/fixes. * Fixed options start_armor/start_weapon (char sql) [Skotlex] * Some more map server memory checks and cleanup (90%) [Skotlex] * Fixed cloaking re-cloaking you instead of cancelling cloak. [Skotlex] * Double Damage multiplier applied after vit/def reductions until further information is available. [Skotlex] * Restored previous speed stacking type until a fix for the new method can be devised. [Skotlex] * Removed MVP status from @summon'd monsters. [Valaris] * Had the "monster target reset to none" code inside of check for the monster level up code, moved it out. [Valaris] * Added update of mob hp display on monster level up if mob hp display and monster leveling are on. [Valaris] * Added mob_clear_delay option to battle_athena.conf. Can add a delay before sending monster death packet (time is in milliseconds and default 0 is off). Increasing this can fix the problem with monster sprites still appearing after it died. Recommended value: 10. [Valaris] * Fixed spawning multiple sized monsters via scripts. [Valaris] * Added LittleWolf's mode 256 (0x100 internally) for monsters (adds detect hidden to a monster, doesn't have to be an MVP, demon or insect). [Valaris] * Fixed bug allowing players to cast warp portal under players and other various invalid blocks. [Valaris] * Removed talk conversion of Zherlthsh and Alice pets since clients now support them. Thanks to Kholdstare for pointing it out. [Valaris] * Added "ORDER BY" statement to char-server SQL's reading of the memo db, fixing problems with people's memo lists screwing up when they log back in. Not sure if this problem exists in TXT char-server as well. [Valaris] * Map server memory cleanups... (85%) [Skotlex] * Removed battle option "enemy_critical" [Skotlex] Use enemy_critical_rate=0 instead. * Changed the default of enemy_critical_rate to 0 [Skotlex] * Ported oA's imalive and flushtimer system to eAthena plugin 'gui' [celest] - You will only need the plugin if you are using a gui program like wxOAGUI to run Athena - To configure it check addons/gui.conf - Passing "--gui" as a parameter, i.e "./map-server --gui" will activate it as well (GUI program creators, you should handle this transparently) * Added get_uptime to timer.c -- used by @uptime and the 'sig' plugin [celest] * Merged the 'uptime' plugin into 'dump' and renamed to 'sig' -- it'll now handle both crash and uptime logging [celest] * Guild SQL updated again, `exp` and `next_exp` to BIGINT UNSIGNED [CLOWNISIUS] * Updated the guild_upgrade made sure UNIQUE KEY guild_id is implemented [CLOWNISIUS] * Pets no longer lose intimacy when you die on a nopenalty map [Aru] 06/12 * Removed the dynamic mob messages (mobs spawned/removed) from default output [Skotlex] (Use battle_config etc_log to enable them again) * Fixed sql-files/convert_guild_tables.sql so that it actually works [Skotlex] (works only on non-modified guild tables previous the new guild system) * Small nullpo fix on @where. * Fixed new account flood protection blocking _M/_F registration (txt/sql) [Skotlex] The bug? The default disallowed time was 1 registration every 10K secs. * Found & fixed the bug that was causing server instability on clif.c [Skotlex] * Cloaked characters will uncloak on attack/skill-use [Skotlex] * Fix on aspd_rate affecting skills not working [Skotlex] * Miscellanous small fixes in map server. [Skotlex] * The new attack function is now the unchangeable default. [Skotlex] * Updated double_rate (side-winder) behaviour. [Skotlex] It no longer adds to double attack's skill rate, instead the higher of the two will be used on the currently equipped weapon. * Dec Agi now cancels Cart-Boost and viceversa as explained by Ishizu [Skotlex] * Cloaked characters now can't pick items. [Skotlex] * Made the max speed rate a battle_config option, default 300% [Skotlex] * Fixed the overflowed valstr free on skill.c:8840 [Skotlex] 06/11 * Lord Knight's Beserk now cancels all the caster's other self-buffs when used. It also cannot be re-used during the no-SP-recovery penalty period after it expires. (This penalty will now cancel on your death however.) [Aru] * Reverted the previous stacking type for aspd as per rodatazone information [Skotlex] Speed modifiers, however, still stack on the new way as there's been complains of characters reaching impossibly high walk speeds. * Modified bAspdAddRate code so that it stacks linearly. [Skotlex] * Changed default stacking type for skill modifiers [Skotlex] If you have +50 aspd and +50aspd you won't get 100% aspd, instead now you get 50% of the 50%, that is 75% aspd bonus. Changed meant to protect against stacking skills to get impossibly high walking speed/attack speeds. * Modified the way bAspdRate & bSpeedRate work. [Skotlex] They are meant to be non-stackable, so only the card/equipment with the highest bonus prevails.(items with stackable bonus should use bAspdAddRate & bSpeedAddRate instead.) * Changed the DoppelGanger Card definition from bAspdRate to bAspdAddRate to make it stackable. [Skotlex] * Capped walkspeed at 4x default [Aru] * Added Maeki's awesome convert_guild_tables.sql You must still manually add the `char_id` field to the `guild` table and fill it with the guildmasters' char_ids BEFORE running it. [Aru] * Removed inter_guild_storage_delete calls from int_guild, innodb tables make it unneccessary [Aru] 06/10 * Updated the default pet_db.txt support values [Skotlex] We don't have an official list of the support rates, but 1% as default (1.5% if they have max intimacy) is just ridiculous. * More map server memory cleanups... (70%) [Skotlex] * Fixed that crash upon login.... [Skotlex] * More map server memory cleanups... (45%) [Skotlex] * More map server memory bound cleanups and checks (35%) [Skotlex] * Fixed Stalkers being able to use (plagiarized) ground-target skills from Chase Walk * Fixed come confusion between MVPs (status_get_mexp) and mini-bosses (mode & 0x20) in battle.c * Added battle_config option item_use_interval with default 500ms [Skotlex] * Started map server memory bounds checking for overflows (20%) [Skotlex] * Small optimizations on ensemble skills [Skotlex] * Fixed some compile warnings on char-sql server [Skotlex] * Added script function getitemslots(item_id); [Skotlex] * Fixed a bunch of script functions generating a new dummy item instead of failing when the item was not found. [Skotlex] * Fixed mobhp display so that it will be displayed no matter which /showname option a player is using. [Valaris] * Fixed names with disguises (I tested it. It works. No more bitching. :P). [Valaris] * Completely overhauled SQL guild code to use innodb type tables unfortunately, old guild tables are not compatible. If you don't mind the data loss, wipe your current guild tables and run guild_tables.sql to create new guild tables. [Aru and CuteBoi] * If you want to manually convert your old guild tables, you'll need to add the foreign keys from guild_tables.sql to the databases. And add the `char_id` field to the guild table. Its value needs to be the char_id of the guildmaster [Aru] * Added 'alchemist' mob skill condition [celest] * Rewrote most of the old jA Self Destruction code [celest] 06/09 * Fixed a possible null_po in clif.c:7714 caused by lagged clients [Skotlex] * Fixed enemy damage_delay being modified by 400 instead of 100. [Skotlex] * Changed behaviour of map_freeblock/map_freeblock_unlock as the previous way seems to cause memory leaks. [Skotlex] * Tidied up code relating to skill_get_inf2() [Skotlex] * skill_db.txt updated. New inf2 values: [Skotlex] 16: Guild skill, 32: Song/Dance skill, 64: Encore skill * Other misc arrangements to skill_db.txt (see db/Changelog) [Skotlex] * Tidied up code relating to skill_get_nk() [Skotlex] * Readded the previously removed skills from item_db [Skotlex] * getpetinfo(2) will return "null" on no pet. [Skotlex] * Tidied up code relating to skill_get_inf() [Skotlex] * Some small fixes to @grind, @useskill [Skotlex] * Added fist (bare hands) to the list of unbreakable equipment in pc_break_equipment [Skotlex] * Reestructured battle_config options for equipment breaking [Skotlex] Removed equipment_breaking and added equip_self_break_rate, equip_skill_break_rate. Read battle_athena.conf for more info. * Fixed getpetinfo(2) crash. [Skotlex] * Added a couple missing lines from my PSIBlade merge of disguises. Name, attacking and such are fixed now with disguises. [Valaris] * Added battle_config option to set if advanced job skills may be plagiarized * Fixed ASC_BREAKER to ignore race/size/element cards like it should * Changed @fakename so it no longer needs to teleport the client to work [celest] * Removed the old day/night system that uses the blind effect [celest] * Fixed day/night cycles with darkness_level on not refreshing properly [celest] * Fixed pc_follow_timer cancels if the player or the target warps [celest] * Added @follow on the same target for the 2nd time will stop following [celest] * Added Memory manager will perform a hash check when freeing memory, by End_of_exam / jA 1213 -- fixes crashes when a pointer created by level 2 ALLOC is passed to level 1 aFree 06/08 * Updated idle time considerations. [Skotlex] A character's idle time is reset upon: Walking, attacking (auto-attack counts too), using a skill or using a item. * idle_no_share changed from a Yes/No setting to # of seconds before considering character idle (no/0 still disables). [Skotlex] * Updated idle_no_share description in battle_athena.conf * Modified @disguise so that it will always work with Npc/Mob names and Mob Ids. Only npc by id is hardcoded for now. [Skotlex] * Added atcommands cleanmap, npctalk, pettalk to atcommand_athena.conf with their description. [Skotlex] * Fixed spawn delays for anthell eggs [Skotlex] * Removed equipment_breaking, use equipment_break_rate = 0 instead. [Skotlex] * Clarified some of the comments in battle_athena.conf [Skotlex] * Steal/Snatcher won't work on summoned creatures now. [Skotlex] * Some db updates (see db/Changelog) [Skotlex] * Fixed rude_attacked state not being reset after triggered, credits to Komurka [Skotlex] * GM used Type 11 items will be exempt from the "GMs can do whatever they want" rule regarding skill_usage because otherwise the used item is never consumed. [Skotlex] * Fixed Ice Falchion/Firebrand giving skills, they just cast the spell [Skotlex] * Reduced Ice Falchion's freezing chance from 5% to 1% [Skotlex] * Added Makefile caching [celest] 'Makefile.cache' is created when you compile for the first time, and keeps all your makefile definitions so it can be read directly when you recompile, instead of redetecting things one-by-one. 'Make [char_sql/login_sql/map_sql]' will now work properly too. NOTE: A cache file created by compiling txt is NOT compatible with SQL, but a cache created by SQL is compatible with TXT! Delete the cache file first and compile SQL before TXT if you have to. * Skills will reset at level down. [davidsiaw] 06/07 * Temporary change of the way mob memory is removed when they don't have a respawn time (check for memory leaks fixed after killing all summoned mobs) [Skotlex] * Fixed map_quit being called twice when a player requests to change char [Skotlex] * Fixed compile issues on various versions of linux (please avoid inline in include files until we offically go over to being a c++ app) [MouseJstr] * Fixed aFreed messages of double freeing sd->reg and sd->reg_str [Skotlex] * Re-fixed sql-files/item_db.sql [Skotlex] * Plagiarism won't work if the skill to be copied killed you. [Skotlex] * Removed use of 'l' as prefix for temporary variables. [Skotlex] * Updated max hair styles in battle_conf to 23 [Skotlex] * Updated map server to jA1159~1203 [celest] - Added imbueing weapons with random element (with bonus bAtkEle,10;) - Added Soul Strike do additional damage on undead - Added Grand cross will not damage self when cast by mobs - Added Cannibalize & Marine Sphere summoned mobs will use their owner's name - Added clean up player info when switching characters - Added reinitialise storage when char server disconnects - Changed some cloaking/chasewalk checks - Fixed memory leak when map cache reading has an error - Fixed a bug when receiving member info for an empty guild - Skip still connecting players in clif_foreachclient() * Weather will now properly appear/disappear without having to refresh the client. [Valaris] * Complete monster disguise re-code: [Valaris] -No more client crashes in PVP caused by disguises. -Can view own attack/hit/cast/sit/turn animations. -Monster sprite syncs up better than before. -Fixed stat dupe exploit with disguises. -Fixed crashes that prevented peco riders with disguises. -No more refreshing of the screen when equipping/unequipping disguises. * Fixed crashes caused by Graffiti Cleaner. [Valaris] * Added following missing checks to Ensembles: [Valaris] -Partner's equipment is an instrument. -Partner is alive. -Partner is not casting another skill (This allowed dance floor panel duping). -That both people are in a party (before if both partner's were in no party (party ID 0) it would allow them to use an ensemble. 06/06 * Fixed and updated sql-files/item_db.sql to match with the current db/item_db.txt [Skotlex] * Removed variables with prefix "l" being treated as a temporary variables by the scripting engine. [Skotlex] * Updated description of idle_no_share battle_config option [Skotlex] 06/05 * Added more debugging information to login-in characters to track down the authook nullpo problem. [Skotlex] * Added a temporary string length check on trade-request. [Skotlex] (reports seem to indicate that the map-server garbage text bug could be related to trading string length overflow, check the map-server output for "name too long" messages). * Fixed a few Visual Studio compile errors and warnings - not completely fixed [Codemaster] * prevent_logout is now overriden by dead characters. There's no point in waiting 10 secs since you were killed to quit/change character. [Skotlex] * Passive mobs will now unlock their target once it's dead/gone too far/in another map. [Skotlex] Passive mobs are supposed to be defensive, not vengeful. Do report of any abuses that might be possible from this to take proper measures. * Fixed pet lures always failing (oops) [Skotlex] * Corrected Various Jur's (id 1264) equip script to bonus2 [Skotlex] * Fixed status_get_speed always returning 1000 when invoked on NPCs [Skotlex] * Added battle_config option pet_support_min_friendly [Skotlex] Specifies minimum pet intimacy/friendly value needed before attacking. Default 900, see battle_athena.conf for more information. * Some reorganizing of pet-catching code [Skotlex] * Now mobs will do the /ag emotion when you use a lure on them and they can't be caught (wrong lure, or mob not in the mob_db.txt). [Skotlex] * Fixed a timer mismatch situation with pc_walk timers [Skotlex] * Re-structured the pc_follow_timer code [Skotlex] * Updated the pet_heal_timer code to match behaviour with pet_supportskill_timer's one [Skotlex] * Added support for universal lure. [Skotlex] Use use_script "pet 0;" to create an item that will catch any non-boss mob (will work as long as said mob has an entry in mob_db.txt, of course) From what I read in the code, mapping multiple entries in mob_db.txt to the same egg_id should work, so it should be possible to have all mobs as pets using a single egg_id item and this custom lure. * Updated Weapon Repair from jA 1228 [celest] * Fixed TXT char disconnecting when sent a server packet from SQL map [celest] * Fixed login failing with md5 encryption, thanks to End_of_exam * Fixed lock_fclose() failing in Win32 builds, thanks to End_of_exam * Updated sql-files/mob_db.sql to match with db/mob_db.txt [Skotlex] * Corrected Zherlthsh's and Alice's attack animation speed (mob_db.txt) [Skotlex] sql-users can use upgrade_svn2068.sql to update table mob_db. * Re-fixed disp_hpmeter not getting disabled when set to 0/no [Skotlex] * Fixed Grandcross/DarkCross to do 3 hits instead of 4 [Skotlex] * Fixed #fakename =). [Kevin] * Tidied up and rearranged Makefile a bit [celest] - added 'make [common/map/login/char] options' -- only for txt though ^^; - readded sse, mmx and o3 optimisation flags (disabled by default) -- you'll have to edit and enable them yourself 06/04 * Moved @charchangesex to #changesec *still disabled*. [Kevin] * Fixed a major security hole in the mail system, thanks to Valaris for the info =). [Kevin] * Moved @charsk/stpoint to #sk/stpoint. [Kevin] * Moved @charmodel to #model. [Kevin] * Moved @charst/skreset to #st/skreset. [Kevin] * Re-updated sql-files/item_db.sql to use price buy/sell NULL instead of 0 [Skotlex] The file is full of REPLACE instead of INSERT, so if you already have the structure of the table right, you can just delete the table definition and apply the file to update your item_db table. * Commented out char_athena.conf. [Kevin] * Moved @charlostskill to #lostskill. [Kevin] * Moved @charquestskill to #questskill. [Kevin] * status_change_start will halt silently instead of printing null_po messages when trying to apply status effects on pets [Skotlex] (Fixes null_po's from pets doing magnum break and who knows what other skills) * Moved #showexp and #showdelay to @showexp and @showdelay. [Kevin] * Moved @charjoblvl and @charbaselvl to #joblvl and #baselvl. [Kevin] * Readded the cloth dye packet upon-walk. Sorry about that [Skotlex] * Fixed Party Exp Even Share [Skotlex] * Added #fakename, due to popular demand =)[Kevin] * Clothe dye is updated now on view_class change [Skotlex] Most noticeable effect: Dye is not lost un unequipping a tuxedo/wedding dress. 06/03 * Updated sql-files/item_db.sql to match with the current db/item_db.txt [Skotlex] * Added some initialization code regarding dynamic mobs during map startup. [Skotlex] * Fixed the typo on Thief's Sling Stone quest (Zargon->Garlet) [Skotlex] Why noone fixed this before? o.O * Removed a piece of code that updates your cloth's dye whenever you walk. I have been testing for a bit, and this piece of code seems unneeded, and not only that, it causes quite a bandwidth penalty by sending dye-changing packets every time every character walks! [Skotlex] If you get reports that the characters are getting displayed their default color instead of their selected dye, report it so I add back that piece of code (but it would be best if we could do without it, it would save quite some bandwidth). * Some compiler fixes in older versions of GCC, thanks to esca. * Some optimizations to petskill_use [Skotlex] * Fixed the default max hair dye color count, it is 8, not 9 @.@ [Skotlex] * Changed disp_hpmeter's behaviour so that you can disable it by setting it to "no" or 0. [Skotlex] * Fixed gm chat kick protection. [Skotlex] * 'Tidied' a bit party_exp_share (more like restructured it). [Skotlex] * Re-added party_idle_no_share code. When was it removed? [Skotlex] * Added skills going damanage when PVP isn't on fix. [Kevin] * Fixed the party-even-share bonus for large parties. [Skotlex] * Fixed gm chat kick protect.[Kevin] * GM of higher or equal level can use @where on another GM.[Kevin] * Fixed @fakename command.[Kevin] * Stopped the map-server from invoking "OnAgitStart" each time it connects to the char server. [Skotlex] * Modified Abracadabra code to make it work with Pet Skills [Skotlex] (Warning: Not yet tested) * fixed a bug with Abracadabra 06/02 * fixed compile issues on older gcc, thanks to esca [Shinomori] * Added @size and @fakename gm commands. [Kevin] * Added valaris's getstrlen and charisalpha functions into the script parser. [Kevin] * Added clif_guild_xy(_remove), rest needs to be added somewhere. [Kevin] * Fixed items lost on shutdown/crash, by valaris. [Kevin] -Note: Was partially finished by massdriller =). * A few things: [Kevin] -Fixed valaris's gms can't be kicked function. -Added battle_config option for valaris's function. -Added battle_config option for gms can join password protected chats of valaris's . * Moved "readme"'s and other non important files into doc/notes/ [massdriller] * Cleanup in chat.c, party.c, storage.c [celest] * Fixed an inconsistent message for log_chat in conf file reading [celest] * Fixed mob class changing not checking array bounds, by Shinomori * Fixed mob summoning slaves not checking array bounds, by Shinomori * Updated max packets in clif.c [celest] * Fixed some compile time warnings. [Kevin] * Added GM chat kick protections, thanks to Valaris [massdriller] * Added Password protection chat rooms access to gms, thanks to Valaris [massdriller] * Fixed a couple of things in map.c, thanks to Valaris [massdriller] * Storages now saves upon closing, thanks to Valaris [massdriller] * exp share and added zeny share/party bonus exp thanks to Valaris [massdriller] 06/01 * Fixed Divest Shield and Divest All not able to strip shields [DracoRPG] * Changed the default max_hitrate to 100% as specified in rodatazone [Skotlex] * Removed the console messages printed when the script command getmapxy is invoked [Skotlex] * Fixed non-droppable items blocking the client from further droping other items [Skotlex] * Changed the default of mob_remove_delay to 5 mins [Skotlex] * Changed the minimum mob_remove_delay to 15 secs since mobs with instant respawn actually take 5~10 secs to respawn [Skotlex] * Fixed again disp_hpmeter, it looks like this time it works properly. [Skotlex] * Added Esca's fixes to make eA properly compile under Sun-OS [Skotlex] * Tested and fixed script function getnameditem [Skotlex] Now you can use getnameditem(item,char) to get inscribed equipment (only works with what you can equip, arrows excluded). The item description can be the item id or the item name, and the character can as well be the character id or character name. Function returns 1 if successful and the character who's name is to be inscribed HAS to be online. * Changed the way dynamic mobs are removed. Now all mobs have are tagged as either cached/uncached, and only those cached are removed [Skotlex] Mob-Slaves are the only non-cached enemies that are also tagged as cached. * Fixed a delete_timer mismatch in pet.c [Skotlex] * Fixed some compile time things in older versions of gcc. [Kevin] * Removed the clif message when you can't drop items [Skotlex] Apparently this message breaks the clients and prevents further drops of items? Might need further testing. * Changed AspdRate and SpeedRate bonuses so they can stack [DracoRPG] * Added script function getnameditem [Skotlex] syntax: getnameditem itemid, inscribed char's name Needed at least for wedding scripts. Only works on equippable items, returns 1 on success, always makes only 1 item. (it should also be able to use char's id or item's name instead) Script function proof-read but not yet tested, so it might have a bug or two, use at your own risk for now. * Fixed dynamic mobs removing Guardians [Skotlex] * Fixed sql queries in logs giving an error. [Kevin] * Fixed @memo ignoring the nomemo map flag, thanks to Maeki. [Kevin] * Enabled an account flood protection system defaulting to 1 account every 10 seconds. [Kevin] * Corrected dynamic mob unloading to remove slaves. [Skotlex] * Added Maeki's fix for handling the sql connection to the log server [Skotlex] * A reminder to people who seem to have a broken item_db (wrong item sprites, doing nothing on click, etc): there was an update to item_db some days ago, a new column which is used to determine refineable items (which goes between eLv and View) The shipped item_db.txt is already updated, but if you have custom files, you can try updating them using the gawk line (further below this changelog) or this short sed command (from within the db directory): gsed -re 's/([^,]*,){16}/&,/' < item_db.txt > item_db.fix And then replace item_db.txt with the newly created file (if ya don't have gsed, try sed. All *nix should come with one or the other, and you can also get it with cygwin) * Moved the dynamic mob spawns/deletes to map_addblock/map_delblock [Skotlex] This pretty much guarantees that mobs won't be spawned/deleted twice from the same map. * Added random's battle_config flag for enabling/disabling dynamic mobs [Skotlex] Dynamic mobs is good for medium to small servers, but on large ones it gets to be somewhat pointless. * Fixed disp_hpmeter, I think (can't test it, but the code looks ok) [Skotlex] * Added battle athena option mob_remove_delay [Skotlex] Now dynamic mobs are not removed inmediately, but after some time has passed. Default value is 60 secs * Added debugging information about dynamic mobs [Skotlex] Helps keep track of how many mobs are being removed/spawned, use it to track any possible bugs! Should be removed after dynamic mobs are good enough. * Some changes to dynamic mob unloading to avoid remove summoned mobs and always remove mob slaves. [Skotlex] * Fixed a nasty pc.c bug thanks to komurka [massdriller] * Added Sasuke's modification to allow certain gm levels to see the hp bars [massdriller] 05/31 * Added Einbroch mobs to dead branch DB [Arutema] * Fixed NPC Typo [Codemaster] * Updated help.txt, fixed a compile time warning on BSD systems. [Kevin] * @marry auto-gives named rings, removed @rings as in-needed [Arutema] * Fixed some compilation errors in BSD systems. [Kevin] * Restored dynamic mob cleaning to what it was a couple of nights ago Should send the system back before all hell broke loose. [Skotlex] * Added battle_config options min_hitrate & max_hitrate [Skotlex] These only affect the new attack function, and th defaults are 5%-95% * Added client-messages for when an item can't be drop/stored [Skotlex] * Finished implementing the "optimization" item_trade.txt [Skotlex] * Optimised the long forgotten MVP arena [massdriller] 05/30 * Rewrote the trade-add-item function, it was hella messy [Skotlex] * Updated item_trade.txt implementation [Skotlex] GM-override lv is still to be implemented. Code has been reviewed, but not actually tested yet, use with caution. * Fixed fame list first loading, at server startup [DracoRPG] * added lordalfa's @me action command [massdriller] * Reverted changes to dynamic mob removal, now all mobs are removed [Skotlex] mob_remove_damaged is still respected. * Partial implementation of item_trade.txt, not quite finished yet [Skotlex] * Fixed mob_remove_damaged [Skotlex] * Added two new battle_athena options: [Skotlex] show_hp_sp_drain (yes/no): displays drained hp/sp from attacks (ie: Hunter Fly Card) show_hp_sp_gain (yes/no): displays gained hp/sp from killing mobs (ie: Sky Deleter Card) * bHPGainValue, bSPGainValue will only display gained hp/sp when said gain is above 0. [Skotlex] * Changed hp_dispmeter from yes/no to GM-level [Skotlex] Note that now the default value is hp_dispmeter: 100 * Fixed item_avail.txt reading could crash on newline [celest] * Speedup and fixed @reloaditemdb messing up inventory data [celest] 05/29 * Optimised job quests scripts [massdriller] * Fixed guild expulsion bug, two chars on same account would be expelled. [Kevin] * Dynamic mob unloading won't touch mobs with a deletetimer now [Skotlex] this affects mobs scheduled to be removed (including @summon mobs) * Dynamic mobs now also removes mobs that have a master [Skotlex] * Fixed Knockback skills on the new attack function [Skotlex] * Rewrote the vitality reduction equation in the new attack funcion [Skotlex] The new equation conforms to rodatazone's information here: http://rodatazone.simgaming.net/mechanics/substats.php#def * Fixed item_db.txt to contain the new refinable column [Skotlex] (I accidentally commited the old item_db last time...) TXT users with custom items can update their custom db using gawk (*nix or under Cygwin) this way (thanks to Sasuke): gawk -F, '{ for (i=1; i<= NF; i++) { if (i==16) { printf $i; printf ",";printf ","; } else if ( i==NF ) { print $i; } else { printf $i; printf ","; } } }' db/item_db2.txt > item_db2.new.txt Run it from within the root eAthena directory, and you'll get an updated item_db2.txt in your root directory. However, all custom items are not refineable by default this way, you still have to set to 1 the refineable column where it applies on your custom item_db. * Improved uptime checking, by Shinomori * Improved calltable import/exporting, by Shinomori * Standardised init/finalise functions' names [celest] * Fixed SVN version display at client connection, thanks to Maeki [DracoRPG] * Prevented Snatcher to try stealing players and already stolen mobs, thanks to shadow [DracoRPG] * Fixed Parrying and slightly organized status_change_start [DracoRPG] * Removed fame list update timer and made it to refresh the list everytime pc_addfame is ran [DracoRPG] 05/28 ~ Name of NPC file in map_athena.conf is now scripts_main.conf ~ Added a new column to item_db.txt/item_db2.txt: refineable [Skotlex] The column goes between equip_level and view, use upgrade_svn1863.sql to update sql tables (including item_db2.txt). Custom item users of txt servers will have to update manually. When the column's value is 0, NULL (sql) or blank (txt), the item can't be refined. OLD ITEM_DBS WILL NOT WORK WITH THIS NEW UPDATE, update your custom items! * Fixed a crash bug in pet_heal_timer on timer mismatch. [Skotlex] Thanks to Celest for noticing it out. * Fixed the critical attacks bug in the new attack function. [Skotlex] * Added MassDriller's updated readme.html files. [committed by Skotlex] * Fixed script_athena.conf reading of "event_requires_trigger". [Skotlex] It was looking for "require_set_trigger" instead of "event_requires_trigger", which effectively ignored the event_require_trigger's value. Logout events should now be usable without the need of a global variable. * Registered all used timer functions to help debugging [celest] * Added -DMINICORE to compile core.c (for converters and ladmin) [celest] * Removed most unused code and files in char and login converters [celest] * Moved converters to /txt-converters [celest] * Some tidying up in core and socket.c [celest] * Fixed a bug in the new attack function dealing with dual-wielding [Skotlex] 05/27 * Removed YET AGAIN the mob's skill_idle_flag function. [Skotlex] Komurka updated the mob_skill_db so that it is not needed anymore. * Modified the critical equation on the new attack function [Skotlex] The original equation ((1 + LUK*0.3 + EquipmentBonuses) * CritModifier - TargetLuk/5) was meant for official servers, where mobs don't do criticals. If applied to mobs, they get very high critical rate, so the luk reduction was bumped up to TargetLuk*3/10 on situations where a player is targeted by a mob. * Re-Applied the idle_skill_flag [Skotlex] It was removed because people said it was broken, however it works exactly the way Komurka explained it to me: A mob can cast only one idle skill, and can't do another one until it moves. If the mob casts too many idle skills because it casts/moves/casts, then increase the skill's delay in the database! If it still does "not works", drop me a line explaining why, because it works exactly as I was told it should. * Small adjustment of the critical equation in the new attack function [Skotlex] * Fixed some crashes related to pet skills and timers [Skotlex] * Fixed 1 delete_timer error with pc_stopwalking [celest] 05/26 * Tidied up mob.c and map.c a bit [celest] * Removed rehash() in atcommand.c [celest] * Fixed @reloadscript issue with dynamic mobs [celest] * Added flush fifos first before reloading in @reloadscript [celest] * Added spawn mobs with 1 second delay instead if moblist is full, by Shinomori * Fixed wrong name saved when adding friends, thanks to Maeki * Fixed itemhealrate stackable, thanks to starlon * Set the new_attack_function to be used by default. [Skotlex] This function replaces the three previously used functions (pc/mob/pet) into a single one which was rewritten to follow the attack algorythm as described in http://rodatazone.simgaming.net/mechanics/attacks.php Please report any inconsistencies or strange behaviour that this new function brings (only affects physical attacks/skills) on the boards. If anyone can do some performance comparisons with the old method, that'd be useful too. If you absolutely don't want to test it and prefer the old method, in battle_athena.conf add a line that goes: new_attack_function: no 05/25 * Fixed typos in Absorb Spirits, Double Casting and Tarot Card, thanks to Komurka and Avaj * Added missing code for Flasher, thanks to Komurka * Fixed a string bug in grfio_resnametable [celest] * Updated the readme files to the current statistics. [Mass Zero] 05/24 * Added 'make addons' -- plugins will not be compiled by default now [celest] * Ported uptime logging function to eAthena plugin [celest] * Ported pid file creation function to eAthena plugin [celest] * Ported stackdump creation function to eAthena plugin [celest] * Added capability to export to plugins [celest] * Fixed ensemble skills, thanks to Komurka * Fixed Dissonance damage, thanks to shadow * Reverted db/pet_db.txt to it's original form. [Skotlex] The pet skills shipped with eA should be as close as possible to the original servers. If you prefer the current custom skills in place just don't update the pet_db.txt file. ` (Somehow my custom pet skills table got updated to svn and I didn't notice it ^^') 05/23 * Fixed a few problems wit Dynamic Mobs [Wizputer] Increased max mobs per map from 32 -> 128 Fix mob unloading Special Mobs w/ Spawn delays are exempted (MVPs, Gaurdians, Branches, and summoned) Added Option for damaged mobs not to be removed in battle config ( Default yes ) * Mob count in scripts returned 1 less then it was supposed to. [Kevin] * Updated tool/stackdump script to support eA's own stackdumps [celest] - Type ./stackdump help to check * Changed mob_cleanup_sub simply to cleanup_sub [celest] * Fixed some memory leaks with dynamic mobs [celest] -- notes: Check bugs.txt * Fixed some compile warnings in gcc 4.0 [celest] 05/22 * Added Jbain's server restarter bat files. [massdriller] * Drastically Improved Memory usage by making mobs dynamic [Wizputer] Mobs load only when a PC is present on the map Mobs that have special spawn delays are not loaded/unloaded ( Reduced memory usage by 60% for 419 Maps ) * FIFO size fixes [Shinomori] * Fame point system now uses pc_addfame [DracoRPG] * Added support for new NPC sprites in @disguise, thanks to akusarujin [DracoRPG] * CharSQL: changed the init / login connection issue, now 'online' players will be set offline in login @ start / login reconnect [Sirius] 05/19 * Fixed displaying new when char_new is set to one and changed the option to char_new_display. [Kevin] * Fixed mysql fix. [Kevin] * Fixed a previous fix with pet idle skills, needs db update not hard coding. [Kevin] * Fixed mysql queries to support the following: [Kevin] -Names now support the ' character -Runs faster because querying string fields doesn't do strlen. -Debug option to revert back to old debug queries, will disable the support of the two above. * Added No Dead Branching Mapflags in cities [massdriller] * Fixed Asura Strike to need only 1 spiritball if used after Chain Crush [celest] * Added Asura Strike can be chained after Tiger Fist [celest] 05/18 * Fixed up character creation, txt supports three status error and char_new is now enabled. [Kevin] * CharSQL: fixed the Delete Char issue, now it's using the sd->email instead if the sql email [Sirius] * Removed status points adding can be limited via gm level [celest] * Removed double clean up when char server disconnects from map [celest] * Removed 'mysql_real_escape_string' usage in SQL char until it'll no longer cause crashes [celest] * Added signal handler for SIGXFSZ [celest] * Fixed some compile errors [celest] * Fixed broken status changes [celest] * Fixed Max Overthrust not working [celest] 05/17 * Fixed null pointer in map.c. [Kevin] * Fixed on a compile time error in status.c/h [Kevin] * Fixed an invalid pointer in clif.c [Kevin] * Removed 'Agi Up' visual effect from Berserk [DracoRPG] * Tidied up npc.c a bit [celest] * Added crash check in SQL char creation [celest] * Changed Marionette Control's inf type [celest] * Added infinite emperium/guardian hp fix, thanks to random 05/16 * Fixed a slightly large inefficiency and bug in clif_foreachclient thanks to Sasuke-! [Kevin] * Fixed a bug in minimap thanks to Komurka. [Kevin] * Added mysql_real_escape_string() while creating a new character - Might fix a few character names if you have no restrictions [Codemaster] * Fixed 'rudeattacked' skill condition, thanks to Komurka * Replaced zlib_win32.h and zconf_win32.h with the v1.2.2 files in /zlib [celest] * Ported zlib.dll loading to eAthena plugin form [celest] * Fixed some NPC skills acquirable by @allskill [celest] * Merged sigpipe's handler with sig_proc [celest] * Optimised timer.c a bit (partially from Shinomori's changes) [celest] * Fixed up some more null pointers. [Kevin] * Added Chat-Logging (for Whisper, Party and GuildChat!) [Sirius] - Sql Log Users please upgrade: sql-files/upgrade_svn1759.sql 05/15 * Minor bug fix by NSSTrunks * Added Shinomori's MakeWord, MakeDWord and GetWord functions to split a 'long' into 'short' & assemble 'short' into 'long', used for produced items and pet eggs [DracoRPG] * Fixed famous player's produced items not giving bonuses if the producer had a too long character ID (exceeding 'short' capacity and then stored both in card2 and 3) [DracoRPG] * Added gm command symbol checks for atcommand/charcommand.c, thanks to akusarujin * Added valid session check in clif_additem, thanks to Sasuke * Fixed a heavy memory leak with the Memory Manager, by Shinomori * Fixed a memory leak with empty scripts, by Shinomori * Removed npc unloading via npcname_db finalising -- fixes some wild frees [celest] * Fixed monsters' attacked_count never cleared if it successfully casts a skill from 'rudeattacked' condition [celest] * Fixed some NPC skills can be copied by Plagiarism [celest] * Changed Enchant D.Poison's poisoning effect to not work on bosses instead of damage bonus [celest] * Fixed an item dupe bug, very rare occasions [Kevin] * Tidied up pc.c [celest] * Fixed some wild frees from npc unloading at shutdown [celest] * Changed Make Arrow to not display equipped items as material choices [celest] * Removed 'make_arrow_flag' -- use 'produce_flag' instead [celest] * Fixed equip breaking bug in pc.c. [Kevin] * Fixed alot of null pointers thanks to Sasuke-. [Kevin] * Set default in battle_athena.conf of player_skillup_limit to yes. [Kevin] * Extended hide_gm_session to @where [Kevin] * Fixed a guild exp overflow bug in guild.c & int_guild.c[Kevin] * new command @iteminfo item_name/id (@ii). It works, but will be improved [Lupus] * added all known mapflags into @mapinfo command. Rearranged output [Lupus] 05/14 * Simplified @cleanmap [celest] * Fixed finalizing clean up could miss 1 map [celest] * Added placeholder code for NPC_EMOTION_ON [celest] * Fixed damage bonuses (damage_rate) not working for normal attacks [celest] * Fixed Concentration (again ^^; ), thanks to lordalfa * Fixed base file name sometimes not retrieved properly in core [celest] * Removed "memwatch.h" includes for all source files other than malloc.h -- only 1 define is enough [celest] * Fixed wrong packet for 01-10aSakexe's UseSkillToPos [celest] * Skip rearranging large memory blocks while cleaning up on memory manager shutdown [celest] * Updated the guild aura skills -- gives +1 stat per level, and runs a bit faster [celest] * Fixed broken Marionette Control -- changed to clowns/gypsies that are under marionette will not be able to use the skill [celest] * Fixed Absorb Spirits working on boss-type monsters [celest] * Fixed Body Relocation hiding when used by monsters [celest] * You can only use mute commands when the system is enabled. [Kevin] * Fixed a guild bug in inif_guild_leave in intif.c, would expel are characters on an account [Kevin] * Added new mapflags (mainly for fixing jobquests abuse and arenas) by Lorky, fixed added by [Lupus] - noexp - on killing a monster you don't obtain both Base and Job EXP at all (including MVP EXP bonus) - nobaseexp - on killing a monster you don't obtain Base EXP at all (including MVP EXP bonus) - nojobexp - on killing a monster you don't obtain Job EXP at all (including MVP EXP bonus) nobaseexp+nojobexp=noexp in other words, 'noexp' set both mapflags 'nobaseexp' and 'nojobexp' - noloot - on killing ANY monster you get no loot at all - nomobloot - on killing a common monster you get no loot at all - nomvploot - on killing a MVP monster you get no MVP loot at all nomobloot+nomvploot=noloot in other words, 'noloot' set both mapflags 'nomobloot' and 'nomvploot' 05/12 * Very very very strong weapons (forged with 3 Star Crumbs) now give +40 dmg instead of +15 dmg [DracoRPG] * Weapons/potions made by a top-10 famous player now give bonus effects [DracoRPG] * Updated the battle.c change made to generate compile time errors if you put the wrong battle_config option with the wrong type into the wrong place [MouseJstr] * Added item type 11 into LOGs filter [Lupus] * Removed mob_skill_use, if you don't want mobskills, set mob_skill_rate to zero [Skotlex] * Modified drops_by_luk behaviour. See battle_athena.conf for details [Skotlex] The new system works a lot like Diablo 2, where having 100% better chance of finding items means that you basicly get double drop rates than others. * Implemented pet idle skills restrictions as explained by Komurka [Skotlex] From what I was told, a mob can only cast a skill while in idle state once, and it needs to move before it can do another idle-state skill. * Tested and fixed wedding_ignorepalette, it now works as it should [Skotlex] * Tested the new item type 11. I forgot to add the code for the sql version, but that's now fixed and the new system works as it should [Skotlex] * Put a fix in for the bug mentioned below [MouseJstr] * Added code to make min_hair_style, max_hair_style, min_hair_color, max_hair_color, min_cloth_color, max_cloth_color work [Skotlex] What it does, is cap the values whenever you try to change the character's dye via an npc/script, it won't touch character's dye colors upon loading. * Shrinked @mapinfo output, added 2 missing flags NOWARP / NOWARPTO [Lupus] * New item type (11) to item_db: delay-consumed usables. [Skotlex] . All items that have in their script "pet" or "itemskill" must be changed from type 2 to 11. The new type of item has the property of not being consumed on double click, but after a target is selected (hence it is ideal for lures, skill-casting items and the yggdrasil leaf) The item_db.txt file was updated to reflect these changes. Custom pet lure owners, update! SQL users can run upgrade_svn1705.sql which will upgrade both item databases (including all custom lures) * Added battle config option 'ignore_items_gender'. [Lupus] So any player can equip any item regardless of the gender restrictions. Note: It's ignored by default since gender check isn't implemented at official servers. There are 2 exceptions: Wedding Ring M/ Wedding Ring F (their gender check won't be affected) 05/11 * Added by popular demand battle config options mob_skill_rate & mob_skill_delay. See battle_athena.conf for further information. [Skotlex] * Added battle config option wedding_ignorepalette (default no) When enabled, the wedding dress/tux will always display with the default dye (not all palette packs bring palettes for the wedding class, nor they should) (Needs testing) * Changed most battle_athena options to unsigned short. This means the maximum valid value is around 60K (65535 on most systems) which translates to ~60 secs or 600% (600x) for most options. See conf-tmpl/battle_athena.conf for details on which variables were excluded (exp/drop rates values are excluded, obviously). * Removed boss warping code since it is currently supported by the mob skill DB 'rudeattacked' state [celest] * Fixed plagiarised skills replacing actual learnt skills [celest] * Fixed 'gmcommand' script command crashing when no players are attached [celest] ... which means the command does not work in script events like OnClock! 05/10 * Added code to prevent pet lures from being wasted until after selecting a target (only works with official lures). [Skotlex] * Added MAX_REFINE to status.h [Skotlex] Enables for custom max refine levels using the success rates in refine_db.txt, npcs will know they reached the max level when the success chance returns 0. (npcs still need updating to support this model) - Note: Whitesmith's refinery skill might need to be tweaked if you want them to be able to forge above lv10 and up to whatever custom max you wish. - Note2: Npc's refine_sucess script command ignores this max. * Skill updates [celest] - Fixed Charge Arrow not requiring bows - Fixed Enchant Deadly Poison working on bosses - Fixed Concentration (again! xD) def penalty, thanks to UniRing - Added code for NPC_REVENGE * Added 'masterattacked' mob skill condition [celest] * Added battle_config.use_statpoint_table [Skotlex] When set to no, a new equation is used to calculate stat points after a reset. I've tested the equation to death, so it should work flawlessly. Advantages of using the equation: No need for statpoint.txt (it is still read for the time being), and stat changes through npc buyers/sellers are preserved after a reset. * Restructured clif_parse_Wanttoconnection [celest] * Fixed packet version detecting not working properly if last version's connection packet is the same as the DB but with different values [celest] * Added built-in support for 2005-05-09aSakexe and changed 'packet_ver_flag' default in battle conf to 511 [celest] * Added load local resnametables.txt into memory instead of opening and reading it every time we look for a file [celest] * Fixed crash if resnametables.txt was not found in a grf [celest] * Removed some unnecessary steps in grf file lists loading [celest] * Added display_hallucination for clients where the effect lags badly [Skotlex] * Added the battle_config options for managing the pet-skills system [Skotlex] * Incorporated the new pet attack/skill system. [Skotlex] See db/pet_db.txt for explanation, or visit http://www.eathena.deltaanime.net/board/index.php?showtopic=29918 for details and support. * Fixed Marionette skill. Now you can't target other Clowns or Gypsies [Lupus] * Fixed all Hunters traps to affect Players in PVP/GVG places only. [Lupus] And Shockwave Trap doesn't work on monsters, because they don't have SP 05/09 ~ Added sql_files/upgrade_svn1665.sql to update hair, hair colour and clothes colours' field format (thanks to Zoc) * Updated char creation to support 24 hairstyles (from 5/10's patch) [celest] * Fixed broken stats check during SQL char creation, thanks to Sasuke * Removed an unnecessary check in plugins loading, thanks to Shinomori * Changed grfio_read + grfio_size usage to grfio_reads() -- a bit faster [celest] * Moved the win32 zlib .h files from /lib to /zlib [celest] * Moved 'afm_dir' setting to map_athena.conf [celest] * Moved grfio.c from /common to /map [celest] * Changed grf-files.txt loading: [celest] ~ 'data/sdata/adata' loading will still be supported, but is replaced with grf: To load extra GRFs (if you have custom ones for your server for example, or to load weekly kRO gpf's) just add as many 'grf' commands as you want * Tidied up grfio.c a bit [celest] * Added FULLY updated mobs skills DB by Komurka (up to Aegis Zone 8.5) [Lupus] * added a packet to remove maps of other servers [Sirius] 05/08 * documented the packetlentable of chrif [Sirius] * fixed crash in clif_joinchatok [veider] * Optimising 2 party queries in SQL char, thanks to Zoc * Fixed a typo in SQL party saving, sorry ^^; [celest] * Fixed compile errors in login and char converters [celest] * Fixed ensemble skills and Benedictio, thanks to shaeh and massdriller * Fixed typo in Concentration's hit bonus, thanks to UniRing * Added additional hit bonus for Weapon Research [celest] * Fixed a missing check in Absorb Spirits [celest] * Made Meteor Assault cause Bleeding effect too. According the skill desc, it causes all effects to ANY enemy by chance now. [Lupus] * Typos and grammatical fixes in various files [DracoRPG] * Changed Hair style, Hair & Clothes colors fields to unsigned to allow use of 255 palettes [DracoRPG] * Enhanced @send to allow use of 20 additionnal arguments after the packet identifier [DracoRPG] * ATK % bonuses provided by Power-Thrust (and similar skills) and attack skills now add instead of multiplicating [DracoRPG] * Added sd->right_weapon and sd->left_weapon structs to store all weapon-specific values like watk [DracoRPG] * Added pc_istop10fame function [DracoRPG] 05/07 * Fixed plagiarised skills not updated when hit by different skill level [celest] * Added server type will be set in the core earlier -- Fixes some plugins cannot loaded if called before the server finished initialising [celest] * Added high priority plugins (explicitly set in conf file) will not be unloaded even if incompatible [celest] * Added 'DLL_Test' plugin event [celest] * Ported the upnp feature to eA plugin form [celest] * massdriller's npc update, fixing SIGPIPE in core and SunOS additions to makefile [Shinomori] 05/06 * Dev's pls take a look to Dev/mmo_change_report.txt [Sirius] * Fixed build issue under linux machines [MouseJstr] * Fixed possible stat exploit in char_sql, thanks WoWer [veider] * Fixed compilation warnings on NetBSD [veider] * Adding unequip script command, tnx to Spectre [Shinomori] 05/04 * Fixed monsters can't use Heal/Potion Pitcher when hidden, thanks to Komurka * Documented the sample plugin source a bit [celest] * Added sample plugin 'sample.dll' [celest] * Finished plugin events system [celest] * Finished plugin loading system [celest] * Added Shinomori's findfile function [celest] 05/02 * Tidied up pc and mob counttargetted code [celest] * Updated fame lists to display offline characters' names properly, and * Changed char server to send char id instead of account id in fame lists, thanks to Sara-chan * Fixed a mistake in the friends list code [celest] * Fixed friend's names not sent properly [celest] * Changed Concentration's hit bonus, thanks to ShAPoNe 05/01 ~ Added sql_files/upgrade_svn1623.sql to update item_db2's format, and mob stats in mob_db to unsigned int (thanks to Zoc, Wallex and akusarujin) * Added item_db2 and mob_db2 reading for SQL map, thanks to sbilly * Added new mob skills -- could be inaccurate though ^^; [celest] * Added proper support for script functions with no parameters, thanks to Wallex i.e getrefine() instead of getrefine(0) * Removed 'skill failed' message for Frost Diver [celest] * Moved Lullaby and Dissonance effect code to skill_onplace_timer [celest] * Updated some skill id's to fit in a few new mob skills (not coded yet) [celest] * Increased mob skills using base chance to 1/1000 instead of 1/10000, and monster delay base rate to 1/100 instead of 1/400, thanks to Komurka * Fixed players able to request trade with gm's even if gm_can_drop_lv was set, thanks to Komurka 04/29 * fd checks in send/recv fifo, thanks to Sasuke [Shinomori] * Restructured malloc.h / malloc.c a bit [celest] * Fixed a memory leak in console [celest] * Fixed console to be compatible with the dummy socket [celest] * Fixed TXT login and map not shutdown cleanly if exitting by console [celest] * Changed Spiral Pierce's effect to stop movement instead of stun [celest] * Fixed Chase Walk to properly add a STR bonus [celest] * Added effect for Tarot Card [celest] * Cleaned up clif_specialeffect [celest] * Added hidden gm's will not show warp effect when logging off, and will return 'target character not logged in' when /exall is on, thanks to starlon * Fixed non-movable monsters moving if they're blind [celest] * Added boss-type monsters will auto teleport when 'rude-attacked' [celest] -- note: Just a temporary fix, the mob skill db still needs updating * Added boss-type monsters cannot be knocked back by skills, thanks to Komurka 04/28 * Fixed a bot trading hack [celest] * 'isequipped' will now 'tag' items that are used in its set, so a 2nd set will not be able to use items from the 1st set [celest] * Changed bAddItemHealRate to be based on total hp healed including vit bonuses instead of base hp [celest] * Tweaked skill casting time and delay logic again [celest] * Fixed another typo in bAutospell, thanks to Komurka [celest] 04/27 * Updated friend list functions, much thanks to Tsusai / Fusion! * Added packet for a divorce notice (" has divorced with name>") [celest] * Added packet for /pvpinfo (only usable in pvp maps) [celest] * Added display for /blacksmith and /alchemist [celest] -- To-do: Offline characters won't have their name displayed properly yet * Added display when blacksmiths and alchemists gain fame points [celest] * Fixed talkie box not working when packet DB is enabled [celest] * Removed redundant monk() and parse_SkillMessage in clif.c [celest] * Updated @send to check send lengths from packet_db [celest] * Fixed @mutearea's time always set to 15 minutes [celest] * Fixed a typo in the bAutospell's, thanks to Komurka * Reverted a setting in skill casting time calculating [celest] * Fixed Gravitation not affecting enemies, and ignore element modifiers [celest] * Added 'bSPLossRate' effect [celest] 04/26 * Added @load/unloadnpc [celest] usage: @loadnpc , @unloadnpc * Changed @enable/disablenpc to @show/hidenpc [celest] -- Note: the script commands 'enable/disablenpc' arent affected * Updated max packet to 0x234 for 205-04-25aSakexe [celest] * Added cannot use warps when hidden/cloaked [celest] * Re-fixed an exp overflow bug and raised cap to 2bil [celest] * Added some more of kRO's 04/26 patch [celest] * Fixed a crash in stripping skills [celest] * Tidied up battle.c a bit [celest] * Added Devotion's effects will be lost if changed map/teleported [celest] * Added bDoubleRate effects can stack with Double Attack [celest] * Added support to have up to 20 autocast skills from cards [celest] * Applied new advanced skills changes from 4/26 patch [DracoRPG] I could not do everything, things remaining to do : - Alter Double Casting success rate (did not find the code... is there one ? xD) - Check that all songs/dances/duets are uncancelable by Dispell - Make Wand of Hermod affect only party/guild members (and check for a warp portal !) 04/25 * Further improvements on stripping/breaking + added support for targeting mobs with strip skills [DracoRPG] * Added fd check to clif_additem [celest] * Optimised weapon stripping/breaking a bit -- skip searching from the item DB everything we call this [celest] * Fixed a possible crash when adding timer function strings [celest] * Tidied up skill casting time calculating a bit + Fixed a possible bad setting when dex > 'castrate_dex_scale', thanks to phabyo [celest] * Changed skill unit group checks in status_change_timer a bit [celest] * Fixed possible sql injection with SQL gm command logging, thanks to starlon [celest] 04/24 * Work on skills [DracoRPG] - Cleanup in skill.c, added missing guild skills and switched all names to iRO ones in skill names list - Fixed typo in a guild skill name : GD_KAFRACONTACT -> GD_KAFRACONTRACT - Entirely rewrote equipment stripping/breaking so that stripping/breaking weapon will affect BOTH weapons of a dual wielding Assassin, and that stripping/breaking shield won't affect two-handed or left-hand weapons * Pets can't attack Guardians and Emperium, WoE or not !! [DracoRPG] * Replaced autospell_type and autospell2_type with a simpler way to save auto- casting [celest] + Fixed a typo, thanks to Landarma * Fixed a typo in socket timeout messages [celest] 04/23 * Fixed not working PVPOFF in scripts. [Lupus] Due to the bug it could work only on maps with NOPVP flag. * Added item produce pentlty to Baby Class [Lupus] Comparing with common classes, Baby Alchemist/Blacksmith have 20% less chance of successful item making. 04/22 * Fix main.sql to include the fields that are in the upgrade files [MouseJstr] * Added bonus4 support for bAutoSpelll [celest] * Fixed Cast Cancel [celest] * Fixed compile error in log.c -- had to remove the 'Log refined items' option in log config [celest] * Fixed plagariased skills not cleaned up properly when copying another new skill, and corrected copying skill level [celest] * Added Spiral Pierce ignores defense, thanks to Komurka * Added base code for PK/Karma system (not completed) [celest] - Added equipment drop based on alignment (not enabled yet) - Added alignment shift after PK (not enabled yet) - Added 5 minute silenced status PK penalty * Added @packetmode (for debug only) [celest] * Added clif_gm_silence to clif.c and rearranged ReqNoChat abit [celest] * Added damage reduction in PK mode [celest] * Added /memo cannot be used when dead [celest] * Added bonus2 support for bAddMonsterDropItem [celest] * Added db/item_group_db.txt [celest] * Added bAddMonsterDropItemGroup [celest] ~ check doc/item_bonus.txt * Fixed bCriticalAddRace giving too little increments [celest] * Fixed Ruwach revealing Chasewalking players [DracoRPG] * Changed equipment breaking to 'on' by default [DracoRPG] 04/21 * Fixed a typo in mobs skills checking [celest] 04/20 * Fixed a few item errors with callfunc("Is_Merc_Class") (not checking if it returned 0) * Changed a bad mistake in map cache configuration (swap between compressed and uncompressed options) [DracoRPG] -> Check this !! using '1' you can get a 1MB mapinfo with all 450 maps inside !! * Added Intravision vars and all the stuff, but not the code (for Maya Purple Card) [DracoRPG] * Fixed memory leak in @reloadmobdb [celest] * Fixed logging settings reset to default after reading the conf file [celest] * Added support for 'masterhpltmaxrate' condition in the mob skill db [celest] * Fixed Ruwach not dealing damage to revealed players/mobs [DracoRPG] 04/19 * Fixed insert like item as card hack. [Ancyker] * Fixed adoption script [Codemaster] * Simplified @day and @night [celest] * Added script command 'adopt', 'day' and 'night' [celest] * Refixed the 'gtb_pvp_only' option, thanks to Zoc * Added Baby Class support to all renters, job quests, etc [Lupus] * Added UPnP plugin (will only load in Windows XP) [celest] - if everything loads successfully you should get a "Firewall port xxx successfully opened" and "Upnp mappings successfull" for each server. If it doesn't, either your router has it turned off or doesn't support it - Go here for the debug version and source code: http://svn2.stormbirds.org:8080/svn/ea/devel/Celest/addons/upnp/ * Added extra info in 'goto' and 'if' script errors [celest] * Added new mapflag 'gvg_dungeon' -- Same as GvG, but doesn't show simplified effects for the client [celest] * Fixed blind mobs can still follow out-of-range attackers [celest] * Support for /blacksmith and /alchemist commands (doesn't do anything yet) * Added allow gm levels for the /[str/agi/..]+ commands to be set in atcommand config -- set to 0 by default [celest] 04/18 * Fixed exp overflow in mob.c and guild.c [celest] * Allow gm's to drop/trade limited items (i.e wedding rings) [celest] * Fixed super novices' guardian angel couldn't be summoned because the message was uncapitalised (yep you need to follow the caps too ^^) [celest] * Fixed wrong EXP table usage / Max possible Job Level calculation of BABY CLASS [Lupus] * Some changes to @send and @packet [celest] * Fixed a crash in @adjcmdlvl [celest] 04/17 * Corrected Strip skills rates [DracoRPG] * Moved timer and db finalising to core.c [celest] * Fixed a typo that was causing crashes from blind monsters [celest] * Added reset all character's status to offline when map disconnects from char (TXT) [celest] * Fixed Tarot Card damage not showing, and the Lover Card to warp the caster instead of target [celest] * Fixed ground-targetting skills usable with Blade Stop on [celest] * Started implementing Baby Class compatibility for items / job quests, some optimizations due to usage of BaseJob [Lupus] 04/16 * Fixed Frost Joke and Scream working on dead characters, and set them to not affect hidden GM's [celest] * Added support for 'rudeattacked' condition in the mob skill db [celest] * Added blind monsters will try and move to its attacker's position [celest] * Added monsters will try and escape if attacked but cannot retaliate (a 'rude attack') [celest] * Added a crash check in mob skill casting [celest] * Adding support for Fusion AF2 maps (not finished) [celest] * Added more correct Einbroch/Einbech monster spawn [Lupus] 04/15 * Fixed building under FreeBSD [MouseJstr] * Shield Chain and Acid Demonstration should now display damage properly [celest] * Fixed memory leak when an npc with no maps defined is loaded [celest] * Changed default mem manager log path to "log/[server name].leaks" [celest] 04/14 * The display of account/character IDs is now a setting in battle_athena [Ancyker] * Allow married couples to exchange normally untradeable rings with each other * Finished adding saving character online/offline for TXT char and login [celest] * Added save guild storage as well when auto saving characters to prevent duping if the server crashes, by End_of_exam / jA 1064 * Moved Meditatio's effect back to status calculation [celest] * Updated the fame list sending between char and map to separate blacksmiths and alchemists [celest] * Added 'setcell' support in scripts. Usage: [map name]tab[cell type],[x0,y0,x1,y1] * Added REGEN cell (0x20) [celest] * Fixed a memory leak in SQL login [celest] * Made display version on login settable in battle_athena. [Ancyker] 04/13 * Removed Quagmire cancelling Crazy Uproar (Lord Exclamation) [DracoRPG] * Corrected Song of Lutie (Apple of Idun) healing [DracoRPG] * Moved server type info to version.h * Added dumping svn revision or Athena version when saving stacktrace * Added auto disable built-in stacktrace in Cygwin if 'error_start' is already set in the environment, thanks to Ser * Display a more appropriate message if items are not allowed in trading * Implemented Longing for Freedom (roughly), Wand of Hermod, Gravitation and Gambatein (14 of 14 skills done! Please post any problems, since they're done mostly in a rush ^^; ) [celest] * Added -1 skill id checks [celest] * Fixed event timers crashing when freeing memory [celest] * Fixed sage enchanting skills using up gems even if it failed [celest] 04/12 * Fixes and updates [DracoRPG] - Fixed Cart Boost speed bonus being not removed when the skill ended (missing calc_flag) - Lv4 weapons don't give fame point anymore when upgraded to +10 - Axes and Maces can't be broken * Added checks in event timers from crashing when freeing memory [celest] * Implemented Acid Demonstration, fixed Double Casting [celest] (10 of 14 skills roughly done) * Implemented Double Casting, finished Tarot Card effects [celest] * Overhaul on status changes' numbering -- some statuses will show icons now * Implemented Mana Regeneration, Shield Chain, Plant Cultivation, Cart Termination, Max Overthrust and Tarot Card [celest] ~ To get the new skills you need 2005-04-11aSakexe! * Enable cards to be stolen with level 5, thanks to Ishizu-chan 04/11 ~ Please upgrade your SQL char DB with /sql-files/upgrade_svn1499.sql to accomodate Fame saving! * Fixed AC_DOUBLE and AC_SHOWER cast delays according to kRO Patch - 6/29/04 they both have 0.1 sec cast delay thanks to Moraddin * Added SQL DB compatibility testing upon SQL char server startup -- now it will not run if any important fields are missing [celest] * Added sending list of characters with highest fame for TXT and SQL [celest] * Added saving of fame for TXT and SQL [celest] * Added saving of plagiarised skills for rogues [celest] * Corrected heal and max hp bonus for Apple of Idun [celest] * Added /tool/stackdump for Cygwin users to debug .stackdump files. Usage: ./stackdump [map/char/login] [sql] * Removed set_termfunc usage in char and login servers [celest] * Card fix - owl_duke_card should cast Imposito manus on self, not on enemy, wind_ghost_card should cast jupiter thunder level 10, not Sight level 10 [veider] * Finished coding fame point gain [DracoRPG] * Fixed crash in clif_guild_memberlist not checking sd->fd could be NULL [veider] * Fixed Punk card giving Sight (10) level 5 instead of Quagmarine (92) level 5 [veider] 04/10 * Performance improvements (currently protected with -DTURBO) to common/socket.c for very large servers (500+ users) [MouseJstr] * Fixed a warning in npc.c, started implementing fame point system [DracoRPG] * Added fix for "bad setting of guild members", thanks to Alex14 * Fixed a bad typo in 'disp_hpmeter', thanks to starlon again ^^; * Fixed Bleeding and Poisoned status continueing even after death [celest] * Updated bleeding effect for Acid Terror, Head Crush and Pressure [celest] * Fixed 'make converters' not working in clean builds [celest] * Added capability for Mem manager to clean up ALL unfreed memory on shutdown. Leaks will still be reported [celest] * Added enable jA's MALLOC_DBN in db.c by default [celest] * Fixed compile error caused by strerror_r() [veider] 04/09 * We now can come up and shutdown leak free.. thanks go to celest for assisting me in this long and painful quest [MouseJstr] * hitting Control-C three times causes a instant shutdown without any cleanup [MouseJstr] * Fixed a NPC memory leak [MouseJstr] * Added Einbroch to @go [DracoRPG] * Fixed a NPC memory leak [MouseJstr] * Added lower level gm's shouldn't be able to see higher level gm's with the 'disp_hpmeter' option -- thanks to starlon * Added 'make converters' -- compiled converters will go under /tool [celest] * Fixed Weapon Refine not checking if the item type is refineable [celest] * Improved checking if items can be dropped, traded, refined or stored [celest] * Fixed a bug in SQL char.c, thanks to Alex14 * Fixed some compile errors in the core [celest] * Fixed compile errors when Mem manager is enabled [celest] * Added Einbroch monsters spawn, fixed one mapflag for Einnech mines [Lupus] 04/08 * Changed how signals shut the process down so that we were not doing work in a signal handling thread but instead on the main thread.. which is important due to the limited stack size of a signal thread. [MouseJstr] * Eliminated the use of atexit() so that we could control the order objects were destroyed in as well as make high end debuggers happier about what we were doing after exit. [MouseJstr] * Fixed a bug in do_final_npc() that was hanging shutdown [MouseJstr] * Fixed use of deprecated strerror in common/lock.c [MouseJstr] * Fixed buffer read-overflow in mail system in char/char.c [MouseJstr] * Fixed msg_table definition mismatch in map server [MouseJstr] * Fixed memory leak when doubly allocating the scriptlabel_db [MouseJstr] * Fixed two uninitialized memory reads in map/skill.c [MouseJstr] * Fixed memory leak when accessing AFM files in map/map.c [MouseJstr] * Changed default limit for MaxHP/SP from 32500 to 1M in battle_athena.conf [DracoRPG] (this is because with Berserk and Tao Gunka Card, players can go up to 100k+ HP) * Added 'delay_battle_damage' [celest] * Fixed @kamib not working properly, thanks to maldersoft * Fixed compile warnings in pc.c [MouseJstr] * Fixed a crash in clif_send when sending messages to guild members [MouseJstr] * Added @shuffle map, @shuffle area, @shuffle world [MouseJstr] * Added @mutearea [MouseJstr] * Readded setting of sd->skilllv, sd->skillid to skill_use_id caused skill failures for BARD/DANCER combo skills [veider] * Changed how get_svn_revision() is implemented to compile the actual constant into the executable. [MouseJstr] * Replaced some printf's in the core with showmsg functions [celest] * Replaced 'exists' with a built in function for WIN32 builds [celest] * Added 'clouds' and 'fireworks' mapflag [celest] * Added a new @fog and @fireworks [celest] * Changed the old @fog to @clouds [celest] 04/07 * Added @version atcommand [Ancyker] * Readded @disablenpc (not the same as @hidenpc) [celest] * Fixed @reloadscript not removing old NPC's and monsters first [celest] * Some changes in mob and NPC unloading [celest] * Changed the original @disablenpc to @hidenpc [celest] * Fixed HP Conversion to properly not reduce HP if SP is full [celest] * Updated Defender -- should reduce walking speed, and does not reduce attack speed at level 5 [celest] 04/06 * Fixed a crash in clif_send when checking packet version, thanks to Alex14 * Fixed a crash in Deluge, Volcano and Violent Gale, thanks to Alex14 * Skip partner checking when calculating status with Marionette Control on [celest] * Fixed plagiarised skills become unuseable after saving character [celest] * Fixed double skill fail messages for stone curse, thanks to wind * Added modulus by zero check to rand(), thanks to starlon * Improved error messages during npc parsing [MouseJstr] * Fixed a crash in login_sql [MouseJstr] * Added logs filters in more logs [Lupus] now you can set individual bit-mask filter for each log file Example: (drops log) log_drop: 1 = logs ANY items log_drop: 332 = logs only Healing items, Cards and those items which price is >= price_items_log 04/05 * Fixed damage reflecting (silly typo xP) [celest] * Fixed Backstab to not have a push back effect [celest] * Fixed auto spell to not taking SP, thanks to Hekate * Fixed Sanctuary to have proper healing count, thanks to Hekate * Simplified Valaris' online_timer [celest] * Updated Fogwall, Spiderweb, and HP Conversion, thanks to redcard [celest] * Adding saving character online/offline for TXT char and login (unfinished) * Added SERVER_TYPE to core for future plugins support [celest] * Added support for the UPNP plugin to release port mappings and re-close firewall ports on shutdown [celest] 04/04 * Some work on re-enabling trade and storage logging [MouseJstr] * Updated showmsg with Shinomori's improvements [celest] * Fix showmsg for Visual Studio [MouseJstr] * Update base code for the UPNP plugin loading [celest] * Removed anti-freeze system for login and char -- Shinomori's update would be enough to keep inter connections alive [celest] 04/03 * integrating anti freeze system to status update [Shinomori] * Fixed impossible drops at 0.01% chance [Lupus] * Fixed some variable declarations in SQL login.c causing compilation errors [veider] * Added NetBSD support into Makefile (Still lots of warrnings during compilation [veider] * Finished Valkyrie. Now it correctly works. Valhallana reborns players to High Novices. [Lupus] (added missed kRO condition: to reborn, player shouldn't have money nor items(equipment) ) Then Valhallana warps just reborn players to the home city of their main job. On Job Level 10 of High Novice they can get 1st Advanced Job from correct 1-1 job quests NPC. They'll get there all learnt skill quests. On reaching 45 Job Level they may visit Valkyrie and get 2-2-1 / 2-1-1 class (3rd Job) from a correct NPC. * Fixed SKILL POINTS exploit in Assassin Job Quest [Lupus] 04/02 * Added bonuses bUnstripable[Weapon|Armor|Helm|Shield] instead of just bUnstripable that worked only for armor [DracoRPG] * Updated Tiger Knucke Fist's 'fixed state' effect [celest] * Allowed people to enable/disable using the online column via 'register_users_online' in the login_athena.conf [Codemaster] * Added the 3 baby skills WE_BABY, CALLBABY and CALLPARENT [celest] * Some tidying up in skill.c [celest] 04/01 * Updated ShowMessage functions to use vprintf [celest] * Fixed a potential crash in pc_walk in Win32 builds [celest] * Added bAddEffWhenHitShort and changed bAddEffWhenHit back to all physical damage [celest] 03/31 * Fixed memory corruption during shutdown via the script_buf [SVN 1370: MouseJstr] * Added some useful filename info to the script parser so that it is easier to figure out what is going on [SVN 1370: MouseJstr] * updated the visual studio projects a little bit [SVN 1370: MouseJstr] * fixed memory corruption in mapif_guild_info:int_guild.c [SVN 1367: MouseJstr] * Fixed common/lock.c (problem with unistd.h include) [Codemaster] * Added father/mother/child fields to mmo_char_tostr() and mmo_char_fromstr() [veider] * Added exp sharing between family members for TXT version [veider] * Added char_married() and char_child() to TXT version [veider] * Fixed memory corruption associated with afm files [SVN 1363: MouseJstr] * More pedantic g++ fixes so that it builds without any and all warnings [SVN 1362: MouseJstr] * Removed some #include's causing warnings on some platforms [SVN 1360: MouseJstr] * Fixed a bug with InitTimer/StopTimer, thanks to ilpalazzo-sama * Set 'undead_detect_type' to 0 by default, thanks to Dino9021 * Fixed Enchant Poison / Deadly Poison having too high poisoning chance * Reverted the pc_remove_map() change temporarily * Added back up old files in 'save' before saving new data -- also fixes 'Access denied' errors when saving in TXT 03/30 * sql native vc7 projects now build/link [1351: MouseJstr] * Began sql projects for VC7 [1349: MouseJstr] * text char-server and login-server now build using VC7. You can use the eAthena.sln solution to build all three. These are currently just the text versions of the servers. I have not added projects yet to build the sql versions. [SVN: 1347 MouseJstr] * Made the map-server build cleanly using Microsoft Visual Studio.. entirely native code without any cygwin dependency [SVN: 1345 MouseJstr] * Fixed @reloadgmdb in SQL -- after reloading ask the char to forward the new accounts back to the map [celest] * Added base code for loading Ser's UPNP plugin [celest] * Added 'idle_no_share' to battle_athena.conf [celest] * updated map server to jA1137~1159 - Added @reloadatcommand, @reloadbattleconf, @reloadstatusdb, @reloadpcdb (Note: You should copy the latest msg_athena.conf from conf-tmpl and replace your current one EVERYTIME it's updated to prevent it from crashing when it can't find the newer messages!) - Updated packet DB to support /item and /monster - Added pc_remove_map() - Added 2 new mobs skills: NPC_RUNAWAY and RECALL - Updated BioCannibalize - Updated Hammerfall, Meteor Shower and Lord of Vermillion -- when MvP's cast them they should have much more range - Some other skill tweaks - Added item_findingore.txt * Some tidying up in mob.c and skill.c [celest] 03/29 * Please make sure to use the stable/sql-files/upgrade_svn1315.sql to upgrade your mysql as a result of the new adoption system. Thank you -MouseJstr * More ANSI C++/C conformance fixes [SVN 1341: MouseJstr] * Fixed SQL char server crashing when loading the item_db, my bad ^^; [celest] * More ANSI C++/C conformance fixes [SVN 1334: MouseJstr] * Added auto save guild data (only guardian HP and owner guild ID for now, both cached) every 5 minutes during WOE [celest] * Updated damage calculation for Magnum Break [celest] * Fixed #item not working properly, thanks to TripleOxygen * Fixed a lot of compile time problems with our mixed C++/C conformance [1328: MouseJstr] * Fixed use of storage variable to conform to ANSI C spec [1327: MouseJstr] * Added CIA-bot to the #athena channel [MouseJstr] * Some tidying up in mail.c [celest] * Added an invalid pointer check in clif_displaymessage [celest] * Added sql upgrade file in sql-files for svn1315's update [celest] * Added auto create 'save' folder from 'save-tmpl' when compiling for the first time, thanks to Jbain * Fixed 'use_sql_db' not read properly in SQL char server, thanks to Wallex * Changed db/const.txt to have right baby jobs IDs [veider] * Added three fields to mmo_charstatus - father/mother/child needed for adoption system [veider] * Added adoption support to charserver SQL version [veider] * Added atcommand_adopt - create a family of three [veider] * Added to char_commands showexp/showdelay so that players could remove some messages [veider] * Added percent to "Experience Gained" message [veider] * Added adoption system support to party_check_exp_share() so that parents can share exp with child [veider] 03/28 * Fixed Auto Berserk activating by itself when changing maps [celest] * Re-fixed the SQL syntax crash in logging [celest] 03/27 * Fixed AutospellWhenHit effect to only work on melee attacks [celest] * Fixed AddEffWhenHit effect to only work on melee attacks [celest] * Moved guardian hostility checking and monster_ignore_gm check to battle.c -- processed earlier, and more appropiate [celest] * Fixed a SQL syntax crash when logging character names with "'" in them [celest] * Added use dynamic allocation when loading the msg_table [celest] * Fixed some memory leaks with the new timer changes [celest] * Refresh the client when day comes to get rid of the night effect (if night_darkness_level was used) [celest] * Changed @refresh to fake map loading, but without teleporting side effect (skill delays reset, extra load on server etc)[celest] * Updated SQL file for the item_db, thanks to Zoc * Fixed the 'show_mob_hp' option not updating when a monster is healed, thanks to leinsirk10 * Added flexible Filter to the Monster Drops logging [Lupus] - Now you can choose what types of items either to log or not. - You can also log expensive items (you can set the min logging price) * Optimized a bit ATCommands.c functions (inspired by Freya) [Lupus] * Added missing parenthesis in my Improve Dodge code, not giving +4/lv to proper jobs [DracoRPG] * Added all released cards into monsters drops and Old Card Album [Lupus] 03/25 * Fixed a typo in my fix for Stalk / Tunnel Drive increasing instead of decreasing speed, sorry [DracoRPG] * Rewrote a little bit Improve Dodge [DracoRPG] - The speed bonus does not effect when Cloaked - Assassins & Rogues get +4 Flee/lv, but all other jobs can get +3/lv if they have the skill (not only Thiefs & Super Novices) * Some minor changes to Sacrifice in battle.c [celest] * Set the Emperium to be immune to Sacrifice [celest] * Set the Emperium to be have max status effects immunity [celest] * Fixed indoorsrwstable.txt reading even when 'indoors_override_grffile' is set to 'no' [celest] * Fixed @monsterbig/@monstersmall not working [celest] * Fixed @killmonster2 not working [celest] 03/24 * Updated obj_del to delete all GNUMakeFile and .o files + compiled exes [DracoRPG] * Fixed a typo in Stalk / Tunnel Drive speed calculation [DracoRPG] * Added some mapflags for new towns [Lupus] * Added timer.c optimization / timers sort fix. 'no freezing mobs anymore' Thanx 2 Yor/Freya [Lupus] * Added 'map_charid2id' [celest] * Changed monster damage logging to save char ID's for the most time -- also fixes an exp bug, thanks to Super Novice / Ezhik [celest] * Implemented 'event_script_type' -- no changes at '0', at '1' script events will work according to Qamera's original mod For more info please refer to his thread: http://www.eathena.deltaanime.net/board/index.php?showtopic=13305&hl= * Set Emsolute Develop as a learnable skill [celest] * Updated 'require_glory_guild' [celest] - the skill is only acquirable if this is set to 'yes', otherwise it will not appear in the guild skill tree. Default is changed to 'no'. * Allow monsters to cast skills near themselves even when monster_nofootset is set to 'yes' -- they're only not allowed to cast near players [celest] * Print number of online users in online.txt/.html even if there's only 1 user online [celest] 03/23 * Adjusted my trade fix [1280: MouseJstr] * Fixed possible memory corruption in storage if number of guilds in database exceeds the max server can support [1278 : MouseJstr] * Fixed @mapexit to properly flush the fifo's before shutting server down to help insure all the char data is properly flushed [1278: MouseJstr] * Fixed trade exploit/crash from invalid data being sent [1278: MouseJstr] * Possible use of uninitialized data used during mob walk calculation resulting in radical mob movement or crash [1278: MouseJstr] * Fixed some --addrace variables' sizes [celest] * Added' require_glory_guild' - sets whether changing guild emblems require the Glory of Guild skill [celest] * Fixed alot of memory leaks [celest] * Added stray memory cleaning routine to db.c [celest] * Fixed some compile errors, sorry xP [celest] * Corrected potion creation success chances, thanks to Avaj and DracoRPG * Removed some unused potion creation code, thanks to DracoRPG * Updated Joint Beat's effect, thanks to DracoRPG 03/22 * Fixed Alchemist's CANNIBALIZE, now it summons correct # of plants. With their real HP [Lupus] * Updated @reloadmobdb, @reloadskilldb, @reloaditemdb [celest] * Some tidying up in @reloadscript (more work needed) [celest] * Moved some gm command messages to msg_athena.conf [celest] * Removed skill_range_leniency [celest] * Removed enable_upper_class [celest] * Removed riding_weight [celest] * Added signal handler for SIGPIPE [celest] * Updated Frost Joke to affect everyone else in PvP/GvG, thanks to veider * Corrected Detect Trap range to be based on level, thanks to veider * Updated Tunnel Drive's movement speed, thanks to veider * Removed cdp_rate, suggested by leinsirk10 * Fixed a typo in Acid Terror, thanks to leinsirk10 * Fixed some typos/memory leak in script cleaning up, thanks to leinsirk10 * Added gm_can_drop_lv limitations for trading and opening storage, thanks to Dino9021 * Changed shop_exp's calculation to use 0.01% increments, suggested by tcdiem * Refixed "--en/ja--" usage in 'monster' script not working properly, thanks to sbilly 03/21 * Moved /tool and /webserver to under /src and added 'make tools' and 'make webserver' [celest] * Removed ladmin compiling from 'make sql' [celest] 03/20 * Don't register the day/night timers if any one is set to 0 [celest] * Fixed @storage / @gstorage ATcommands thanks2 Yor/Freya [Lupus] * Added 4 new card effects from 3/15's patch -- check item_bonus.txt [celest] * Added 'enable_ip_rules' to packet_athena.conf [celest] * Updated socket debug messages to be more readable [celest] * Added a sql upgrader to handle the mob_db changes to assist in migrating to the newer SVN servers [MouseJstr] 03/19 * Added getrefine() for 3/15's card patch -- returns the refined number of the current item [celest] * Fixed day and night settings not ignored even if they are set to 0, my bad ^^; [celest] 03/18 * Fixed a crash when freeing memory of pets [celest] * Added Cygwin support to the -DDUMPSTACK option, and changed its format to ".stackdump", thanks to Ser [celest] * Removed duplicate fopen in login_log [celest] * Don't log SQL char actions if log_char is not enabled in char_athena.conf [celest] * Updated shop_exp's calculation to give more exp, thanks to tcdiem [celest] * Fixed the bDamageWhenUnequip effect dealing damage when unequipping unrelated items [celest] * Fixed compile errors in SQL char.c [celest] 03/17 * Added ~86 new cards. Fixed new cards bugs, optimized [Lupus] thanks to Indiona,Landarma * Removed nullpo warning from trade.c (my prev anti-spoof protection) [Lupus] * Added the new Einbroch/Einbech maps to maps_athena.conf [celest] * Added display script filename when a script error is found while parsing [celest] * Added 2 char-server packets to support Freya's login server [celest] * Rewrite on Full Strip [celest] * Fixed heap corrupion in map.c caused while loading maps [SVN 1241: MouseJstr] * Re-fixed compile error in map.c -- sorry ^^; [celest] * trade.c fixed possibility of STORAGE+TRADE spooffing dupe [Lupus] Now, on accepting trade your active Storage window closes. (Either Common or Guils Storage) thanx to Sergey for the exploit test and report 03/16 * map.c fixed compilation error [Lupus] * Updated jA's dummy socket to mod1137 [celest] * Added jA's ddos protection system -- check packet_athena.conf [celest] * Moved stall_time's reading from inter_athena.conf to packet_athena.conf 03/15 * Fixed a compile warning in pc.c [celest] * Updated Soul Breaker's damage display, by DracoRPG [celest] 03/14 * Fixed @marry and @divorce. Also added Wedding music+confetti effect to @marry [Lupus] - @marry Player1,Player2 (don't miss the COMMA ',' betwin the names) - @divorce Player (in @divorce use any name from the couple) * Added auto convert advanced job and baby class sprite ID's in mob_avail.txt to correct format [celest] * Added SC_Speedup cannot be stacked with Increase Agility [celest] 03/13 * Added PvP/GvG check for Tiger Knuckle fist [celest] * Fixed Pressure reducing the target's SP twice, thanks to deepin [celest] * Fixed SQL logging not checking if its supposed to use SQL or TXT logs, thanks to Alex14 [celest] * Fixed 23 new cards (some effects chances were divided by 100, some cards had no bonuses due to misplaced arguments, usage BONUS instead of BONUS2, etc) [Lupus] 03/12 * Fixed Status Recovery dealing too short blind time on undead [celest] * Fixed mobs not affected by Blind status [celest] * Added an invalid id check check in map_id2sd [celest] * Added sd check in clif_send [celest] * Fixed usage of mvp_hp_rate and monster_hp_rate. MVP rate was used for common monsters [Lupus] * Added additional random respawn delay for instant respawning monsters (0..5 seconds) [Lupus] - Should be made as an option of battle_athena.conf 03/11 * Speedup player autosaving -- don't save guild castle data at the same time, thanks to Alex14 [celest] * Optimised guild castle saving when autosaving player data, thanks to Yor / Freya (UPDATE: view above) * Added sd check in mob_damage, thanks to sbilly [celest] * Added Sage enchanting skills can only be cast on party members [celest] * Fixed Magic Power not working for ground-targeted skills [celest] * Fixed Frost Diver having double freezing chances [celest] * Added Breaker's magic damage to be blockable by Pneuma, thanks to DracoRPG [celest] * Corrected 1206Sakexe's packet detection, thanks to Yor / Freya [celest] * When casting cloaking stop displaying the skill title after its finished, thanks to Battitude [celest] 03/09 * Some changes in sig_dump to allow Cygwin produce stackdumps upon crash again, thanks to Ser [celest] * Changed the default stackdump creation folder from /save to /log [celest] * Fixed a typo in TXT login server logging, thanks to Skyer / eAthenaC [celest] * Added HP and SP rate underflow checking [celest] * Added stop auto attacking if no arrows were equipped [celest] * Added new script command: 'cardscnt'. It returns N of inserted cards in the same weapon. [Lupus] Now I can start fixing CARDS COMBO exploits. And it's possible to fix old cards power abuse, too. e.g. Assassins can equip 2 4-slot weapons and have HUGE card bonuses. It's said that you can have only ONE bonus per hand... * Fixed and tested script command 'isequippedcnt'. It didn't return real value [Lupus] Here's an easy way to test all items: 4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,2,,,,{},{ dispbottom "Gagoyle OK:"; dispbottom isequipped(4149); dispbottom isequippedcnt(4149); dispbottom cardscnt(4149); } * Fixed "nice char save by the fountain of Prontera"; People (Helpers, GMs) did abuse their power and [Lupus] used to @jail friend / @unjail friend. To make his save point in the middle of the Prontera. So I made @unjail save coords to 0,0 (on unjail it makes player's save point to appear always in a random place of Prontera) You can use this query to "Clear nice save point of all jail/unjail abusers friends" SQL QUERY: update ragnarok.char set save_x = 0, save_y = 0 where (save_map = 'prontera.gat' and save_y = 191) 03/08 * Added chance for Enchant Poison to poison enemy, and reduced Deadly Poison chance [celest] * Compacted some code for Deadly Poison [celest] * Added DracoRPG's code for Soul Breaker - the magic attack part should work as it should now, thanks! ^^ [celest] * Reverted the reverted jA event change but this time without bugs (hopefully) [Shinomori] * corrected status_change_timer as far as I understand the functionality (better have a look at it, Celest), added a some security to prevent pending timers * moved two variable declarations to scope start (mob.c and skill.c) * Fixes Icewall can be directly cast on players and monsters -- also removes the 'unsupported layout' message [celest] * Added the new turbo_room and alde_tt to the maps config [celest] * Speedup SQL inventory and storage saving, thanks to Ilpalazzo-sama [celest] * Reverted a jA change in event loading [celest] 03/07 * Added uptime logging support whenever the server closes, to enable change the 0 to 1 in core.c [celest] #define LOG_UPTIME 0 To-do: Add this as an option to log config * Fixed 'make clean' not removing the .o files in /common [celest] * Removed some unused code for Breaker and temporarily set Emperium to be immune to Breaker [celest] * Updated core and map-server to jA 1115~1137 [celest] - Added monster_delay_damage to battle conf - Increased some default settings in script conf - Updated Brandish Spear, Soul Change, Soul Burn - Updated Body Relocation (shorter distance) - Added monster skill NPC_EXPLOSIONSPIRITS - Corrected Mindbreaker level to 5 - Updated Meteor Assault to instant-cast - Added command @users - shows the percentage of users in all maps - Don't save status if the player is set for disconnection - Added free block lock-checking system - Added saving the processes' ID into [xx-server.pid] - Fixed a memory leak with duplicate script labels + For more detailed logs check 'Readme-jap' * Fixed a typo in Volcano, thanks to Ilpalazzo-sama [celest] * Fixed Apple of Idun reading the wrong skill level and giving too much HP [celest] 03/06 * Added new anti-hacker trade protection from Freya. [Lupus] It also auto-ban hackers and broadcasts messages to all GMs. Good work, Yor! * Misc fixes. [Lupus] 2Shino: BTW Some players can't re-connect to the server. Due to the updated session checks in chrif.c actually impossible, because the checks handle the connection with the char server, not with users anyway, I checked again and rearranged code but functionality is still the same and valid [Shinomori] 03/05 * Reversed drop_rate0item option, corrected MVP Drop rate (thanks to Freya) [Lupus] 03/04 * Fixed SQL Guild Castle Saving (now fully working, tested on 100 players during WOE) [Lupus] 03/02 * Fixed SQL Guild Castle Saving (partial, yet it doesn't clear GuildID when you abandon a castle) [Lupus] + added 2 fixes by POW (Mac Guild Position fix, Max Guild Members fix) * Fixed Emotion Flood (by Yor) [Lupus] * SQL: Fixed temporary ban. Now banned players can enter the server when the ban time is over. [Lupus] It wasn't working because STATE hasn't been cleared properly. Also fixed wrong client messages (ban reasons: Banned by GM / Temp ban till DATE). 03/01 * Effects from dancer/bard skills will stay for 20 seconds after leaving the skill area [celest] * Fixed /resetstate /resetskill being unuseable at all [celest] * Fixed /mm /mapmove being useable by all players [celest] * Fixed some compile errors in mob_once_spawn [celest] * Corrected a typo in Chemical Protection skills, thanks to holyfork [celest] 02/28 * Fixed SQL Castle saving bugs [Lupus] * Corrected Tiger Fist, Chain Crush, and Palm Push Strike damage, thanks to Eskadron [celest] * Updated Endure to be usable in GvG, but only gives the mdef bonus [celest] * Some rewrites on the passive guild skills effects [celest] 02/27 * Fixed some bugs in Monk Job Quest. Now it's fully passable. [Lupus] 02/26 * Added jA's dummy socket to prevent fd crashes [celest] * Added some jA script commands: [Lupus] (first steps to add ELSE, FOR, WHILE, etc) - getusersname (works like @WHO ATCommand, outputs by 10 names in the Pop-up window) - dispbottom (print message in the common chat window) - recovery (restore MaxHP/SP and revives all players on the server) - getpetinfo (returns pet's name, type, class, hunger, intimacy) - globalmes (works like Announce, but outputs in the common chat window) - jump_zero (reserved - for future compatibility) - select (reserved - for future compatibility) - getmapmobs (# mobs on a named map, use "this" for current map) check script.c for their paremeters (in English) 02/25 * Fixed npc_dequeue, testing on remove of RoVeRT's npc timer system [Shinomori] 02/24 * Re-added missing cart dupe-proof code. From Freya [Lupus] * Some rewrites on Basilica [celest] * Fixed another bad typo in skill list_num reading, thanks to orn [celest] * Fixed Steal Item Rate. It has been multiplied twice on common_item_drop value for any kinds of items. [Lupus] e.g. If you set droprate of comman items to 500%, then even rare items could be stolen more easily. Thanks to Freya * Items Droprate fix. Now it adjusts correctly, w/o overflows. Thanks to Freya [Lupus] * mob DBbs EXP reading fix. w/o overflows. Thanks to Freya [Lupus] 02/23 * Added bAddItemHealRate [celest] * Fixed a crash if adding an offline player to a party, thanks to Alex14 [celest] * Fixed a crash with Warp [celest] * New Cards: Some fixes, revisions, additions [Lupus] * Fixed char server crash when sending wisp with a "'" in the names [celest] * Fixed Backstab not checking for and consuming arrows [celest] * Fixed another bad typo causing @allskill to not add points into advanced job skills [celest] * Fixed a bad typo in status.c's StatusChangeTable [celest] * Corrected Spiral Pierce's hits in the skill_db [celest] * Moved /common/*.o into a obj folder when compiling [celest] * Updated core and map server to jA 1094~1115 [celest] - Added End_of_exam's Memory Manager for detecting memory problems. To enable remove the // in malloc.c line 11 // #define USE_MEMMGR - Added @npctalk and @pettalk - Added support for jA's local zlib - Fixed a bug with path search long - Updated malloc.c to support Memwatch - Added DB data loss detection - Added db/skill_unit_db.txt - Updated skill unit system - Changed Waterball to the new timerskill system ~ For more detailed logs check 'Readme-jap' (knowledge in japanese required, obviously ^^;) Please test if there's any skills that might have suddenly stopped working, thanks ^^; 02/22 * Revised New Cards, added missing effects, fixed bugs [Lupus] ~20 cards to check left 8) But on 22 Feb some new cards have been announced T__T' * Cleaned up some compiler warnings [SVN 1158: MouseJstr] * Added perl regular expression support.. look at src/map/npc_chat.c for all the dirt on the new features. To build it, you have to enable the PCRE_SUPPORT #define and you also have to build/install the pcre library. [SVN 1157: MouseJstr] 02/21 * Added actual item_db.sql into sql-files. [Lupus] * Added actual mob_db.sql into sql-files. If you use SQL Mob DB then update it [Lupus] * Updated Bleeding effect [celest] * Removed some unused code for Graffiti [celest] 02/20 * Char SQL: Rewrote/Fixed the castle save function, now the sql version saves castles! [Sirius] * Fixed the /mm /mapmove command access bug [Sirius] * Added skill requirements for the new guild skills [celest] * Allow Emergency Recall to be cast in guild castles even if nowarp and nowarpto mapflags are enabled [celest] * Add 'minimum job level required' for skill_tree reading [celest] - Berserk now requires job level 50 * Added Spring Trap to be able to trigger ankle snare traps that aren't activated yet [celest] * Added a fix in guild.c by Mellowz [celest] * Some rewrites on the pet skill bonuses system -- also fixes pet bonuses not effecting stats as they should [celest] * Check whether a monster is still alive before starting a status change -- also fixes the status_change_timer nullpo errors with grimtooth [celest] 02/19 * Added bSubSize, bHPGainValue, and bDamageWhenUnequip [celest] * Updated bSPDrainValue/Rate to accept a 'type' [celest] * Set baby class players' size to 0(small) [celest] * Fixed item_db2.txt reading printing wrong number of entries read [celest] * Fixed @allskill not giving the newer stalker, whitesmith and creator skills [celest] 02/18 * Fixed a bug with statpoint.txt reading and giving too much stat points, thanks to Benz / eAthenaC [celest] * Fixed client errors when pecopeco Lord Knights/Paladins log in with a weapon equipped [celest] * Added bAddRace2 -- check item_bonus.txt [celest] * Added mob_race2_db.txt -- contains 'main races' of certain monsters [celest] * Updated description for backup_txt in char_athena.conf a bit [celest] * Set read_map_from_cache to 2 (enable compression), and map_cache_file back to saving in /db instead of /save, as suggested by Poki#3 [celest] * Updated description for auto_counter_type, and set plaer_auto_counter_type to 0 by default, as suggested by Poki#3 [celest] * Use the event names from script_athena.conf to check whenever a player event trigger is being read/set [celest] * Removed an unused save/bank.txt [celest] * Added some new cards effects. (check DB\changelog.txt) [Lupus] 02/17 * Now all mobs have 10 drops slots. the last one is used for Cards Drops [Lupus] Don't forget to update your SQL files (Drop Log: logs.sql and db_tables.sql if u were using SQL Mobs DB. Update it from TXT! ) * Fixed Branch Log TXT filename [Lupus] * Made all logs work with compiled TXT Server, too (removed old #ifndef) [Lupus] * Added 4 columns into mob_db.txt (check DB\changelog.txt) [Lupus] * Fixed some mobs drops (Whisper, etc) and some MVP mobs (bonuses were shifted...) [Lupus] * Readded Chemical Protection -- i forgot to check for it when changing some jA stuff earlier, sorry ^^; [celest] * Removed some old eA code that was causing Frost Nova to do an extra hit [celest] * Corrected Vulcan Arrow's hits in skill_db -- the bug appeared when the correct numbers hardcoded were removed [celest] * Readded zlib and zconf .h files to under /lib for compiling in Windows, thanks to Ser [celest] * Fixed some compile errors in Windows, thanks to Ser [celest] * Changed remove_control_characters back to supporting korean chars [celest] * Moved some other code around [celest] * Added Shinomori's changes to Dissonance -- don't increment the timer again if the target has died [celest] * Changed some nullpo checks back to normal null checks -- in some situations it would be normal to get a NULL [celest] * Changed some nullpo checks to print some debug information [celest] * Added some sd checks before calling pc_blockskill [celest] * Added Dino9021's fix for SQL char's friend list updating [celest] * Fixed a crash if the player invited to join a guild is not online, thanks to Alex14 [celest] * Find the guild invitation sender first before clearing its ID [celest] * Added 2 new script commands to support 2/15's cards patch... most of the effects in kRO should be available now ^^ [celest] - isequipped(...): Accepts a list of item ID's and checks whether all of the items/cards have been equipped. - isequippedcnt(...): Same as above, except it returns how many of the items are being equipped Example: if(isequipped(4002,4004,4006)) bonus bStr,1; 02/16 * Char SQL: Fixed the Whisper chat on splittet mapservers (i think now all features work!) [Sirius] * Added 3 more of the new card effects -- check item_bonus.txt [celest] * Added 'bonus4' to support the new card effects that might need up to 4 parameters [celest] * Set 'killerrid' and do PCKillEvent before calling PCDieEvent, thanks to mrmagoo for pointing it out [celest] * Added some new script event related options to script config [celest] - [die/kill/login/logout]_event_name: Name of script to activate when an event has occured - event_requires_trigger: whether or not a 'set [EventName],1;' has to be defined first for the event to be activated * Added 8 of the new card effects on the 2/15's patch (still untested and not yet added to the item_db) - Refer to doc/item_bonus.txt for description * Minor rewrites on self and enemy weapon/armor breaking during battle [celest] * Added missing code for 'bBreakWeaponRate' and 'bBreakArmorRate' effects [celest] * Added missing code for 'bAddStealRate' effect [celest] * Removed redundant 'infinite_autospell' in map_session_data [celest] * Fixed Treasure Box spawn bug in all castles. [Lupus] * Fixed wrong PresentLOG (it wasn't showing PRESENT BOX type ID) [Lupus] * Expanded Monsters Drops Slots from 8 to 10. Everywhere in the sources. [Lupus] But in TXT / SQL monsters DB reading functions, I added a temp plug to make eA work fine with existing DBs. It reads only 8 drops and fills 9th and 10th drops with Zero. On expanding MOB_DB.TXT we'll remove that plug. We are adding new cards and some monsters have no free slots for them. Current state is tested and works fine. 02/15 * Allow Potion Pitcher to be able to cast on yourself -- i've almost forgot about this, thanks to Filougarou and Poki#3 for the fix ^^; [celest] * Added Wallex's changes for weapon skills to read list_num from the skill_db when calculating damage [celest] * Login / Login SQL: Fixed the EXE-Version check (now it works finally :) [Sirius] * Char SQL: Fixed the '0x2b05' reply to the mapserver (now multi - mapservers works again!) * Rewrote skill blocking system that was allowing people to bypass blocking time simply by casting a different skill [celest] * Edited out some inconsistencies with skillnotok [celest] * Corrected Investigate's damage calculation, thanks to matthias [celest] * Generate the remaining entries of the stat point DB if the number of entries in db/statuspoints.txt is less than MAX_LEVEL, or statuspoints.txt was not found [celest] * Try to spawn the player at a default map ("prontera.gat") when logging in if the save point map was not found [celest] 02/13 * added an @autoloot switch that Upa-kun has forgotten [Shinomori] * changed pet_skillattack_timer and corrected the poison spore attack * tighter check's on "unknown skill" error; but added prints to trace it * Added Wallex's changes to only evoke script_rid2sd if agitcheck(1) is used [celest] * Merged jA's equipment breaking system into the current one, and corrected items with unbreakable effects in the item_db [celest] - "bonus bUnbreakable,[chance];" changed to "bonus bUnbreakable[Weapon/Armor/Helm/Shield],0;" 02/12 * Merged Dexity's pc_statpointdb into pc_readdb, changed statp's string array to short (less memory), and fixed the db not giving status points if character level is above 255 [celest] * fixing and optimizing sharp shooting have implemented two different versions, just have a look and decide which to use, description is in the code [Shinomori] * Changed default map cache path from db/map.info to save/mapinfo.txt [celest] * Removed old code for Sharp Shooting (still a little buggy) [celest] * Merged Shinomori's code into map_foreachinpath [celest] 02/11 * mob.c fixed doubling entries in DROPS LOG, optimized [Lupus] * item_noequip.txt now you can disable named consumable items during GvG / PvP, too by Maya, optimized and checked [Lupus] NOTE: Get rid of old cards on your server!!! IDs: 4149-4332 before using of this item_db.txt (some cards have changed their IDs) and it could cause ALIEN cards in your players equipment 8)) i.g. a weapon compounding CARDS inserted in armor, etc... * item_db.txt Massive update: [Lupus] - Added all new missing items (up to st.Valentine's Day Event) - Added new cards 4149-4332, sorted them and set their sripts. - Fixed some names, typos, weigths and prices * Commented out old custom cards from Old_Card_Album.txt till we brush them up [Lupus] * Removed old custom cards from MOBs drops [Lupus] thanks to Landarma(new items templates) Poki#3(removing cards from drops) * Tidied up battle_check_target abit [celest] * Updated traps to affect allies as well in GvG [celest] * Check if login server is online before setting character to online (in SQL), thanks to Alex14 [celest] * Synchronise storage as well when saving character to cut down on item rollbacks or duping, by Yor / Frea [celest] * Added fix for super novices' Guardian Angel system crashing when base_exp = 0 thanks to Alex14 [celest] * not realy fixing the "unknown skill" error but returning skill_castend_damage_id when called with skillid < 0 still need to search a reason why it is called with -1 [Shinomori] * EXPERIMENTAL: Reduced memory used for the skill_tree DB by 30+mb [celest] * Added script commands isday and isnight - checks whether its night or daytime. Example: if(isnight()) ... [celest] * Skill Updates [celest] - Sharp Shooting: Dropped jA's and kA's code and wrote a new map_foreachinpath function in map.c -- about 14 times faster, but still uncomplete - Ankle Snare: Added matthias' suggestion to let agility reduce more trap time, but no less than 3 seconds. - Magnum Break: simplified code a bit, and changed to non-targetting / automatically damages an area around the caster - Tiger Fist: enable it to be used by its own besides as a part of the combo skills - Devotion: Fixed maximum level difference not reading its setting from battle_athena.conf, thanks to leinsirk - Soul Burn: Added some safety checks 02/10 * Login/Login SQL: fixed the client version check function [Sirius] 02/09 * Added conf-tmpl/readme.txt, explaining the import folder [1066: Ajarn] * SQL Char: Rewrote the char_create function (now it's faster/optimized) [Sirius] * SQL Char: Fixed the reply if a charname is invalid on create (now it replys denied..) [Sirius] * SQL Char: Added a Character limit per Account (can be set in the config) [Sirius] * SQL Char: Optimized some SQL-Querys [Sirius] 02/06 * NULL entries for guild data fixed [Credit to Sirius] [1060: Ajarn] * Login server uses login_db_userid and login_db_user_pass for queries now [Credit to Sirius] [1059: Ajarn] * Login server can now check clientversion in clientinfo [Credit to Sirius] [1059: Ajarn] * Fixed txt build compile problems[1057: MouseJstr] * Corrected end-of-line issues in source code [1056: MouseJstr] * Coded new command: @MOBINFO [Lupus] the command has also 2 aliases: @monsterinfo, @mi It shows all Monster stats, Element, Race and stuff It shows all items with their drop chance It also shows MVP bonuses (MVP EXP, MVP Drops) 02/05 * increased the max_files allowed in a grf [1054: MouseJstr] * Changed the way char deletion works for SQL [1051: Ajarn] - If the email the client fails check then check if the email is blank and the DB email is a@a.com (default) If so, assume it was created with _M/_F, and delete it * SQL Login accepts _M/_F now [Credit to Sirius] [1049: Ajarn] * Map server now actually reads bind_ip [1048: Ajarn] Side note: login reads bind_ip, but doesn't use login_ip now. * Made eA compile under AMD64 64-bit native [1047: MouseJstr] * Changed interface binding to use a bind_ip instead of using the login_ip, char_ip, or map_ip. This lets you still be able to set your WAN IP seperate from what interface you wish to bind to. Also, the default is back to binding to all interfaces on the machine. [1045: MouseJstr] * optimizing OnTouch event name generation [Shinomori] * fixing Celests Sharp Shooting [Shinomori] * Updated Sharp Shooting AoE code, thanks to Neodis / k-Athena [celest] - Update: Adapt jA's path_search algorithm and removed the need of struct 'dev' in map_session_data - Update: Increase range to 14 * Tidied up explicit typecasts in status_get_max_hp, thanks to Ilpalazzo-sama [celest] * Non-MVP / miniboss summoned monsters should give exp, my mistake ^^; [celest] Note:- minibosses are considered a 'Boss' as well, not just MVP's * Fixed a typo that was preventing packet version 5 clients (628sak) from logging in (it was supposed to only block those with 4 or below) [celest] 02/04 * Fixed more compile signed/unsigned errors [SVN 1040: MouseJstr] * TXT convertors now read the import command in inter_athena.conf [SVN 1038: Ajarn] * Fixed some compile errors [SVN 1037: MouseJstr] * Added common/buffer.(c/h) [SVN 1033: Ajarn] * Login server can now set it's ip address in the config [SVN 1033: Ajarn] * Servers now bind to a single ip address, thus allowing multiple servers to a single port [SVN 1033: Ajarn] * Added experimental code to generate a stack dump when it segfaults, thanks to Ser [celest] - does not work with Cygwin, as it does not have glibc - to enable, edit the Makefile and remove the # on the line: # OPT += -DDUMPSTACK -rdynamic - What it does: everytime eA crashes it'll generate a file "stackdump_ .txt" in your save folder with a backtrace, which you can examine and send to a dev to be fixed. * Some more tidying up in status_get_ functions [celest] 02/03 * When loading shop scripts automatically check if the prices can be exploited with OC/DC [celest] * If the buying price provided in item_db.txt is above 2x higher than selling price for an item no need to reset and redetermine the buying price [celest] * Fixed a mistake that was causing Ruwach to only work in PvP and PvM [celest] * Added DracoRPG's code for Joint Beat effects, thanks! [celest] 02/02 * Added checks to prevent some crashes in skill.c [Full credit to shinomori] [SVN 1022: Ajarn] * Removed nullpo check in skillnotok() -- otherwise it will display fail messages for monster skills [celest] * Added crash check for Ice Wall [celest] * Added some optimisations by Ilpalazzo-sama [celest] - reduce mob_data->size variable to 1 bytes - change from if-else to switch statements in buildin_strmobinfo 01/31 * Fixed a typo in Pressure causing it to deduct sp from the caster, and remove its sp_rate requirement [celest] * Updated skill_range_leniency code when casting a ground targetting spell ( as in Revision 968) [celest] * Added Karma and Manner to const.txt -- To change a player's alignment to more Good/Evil in scripting for example, use: set Karma, Karma + ; In older exe's (11-08 or older) you can actually check your karma in the character alignment screen (alt-A) The rest is up to your scripting creativity ^^ * Delete players' ID from id_db when kicking everyone from the map-server due to char disconnection -- Fixes an odd crash with lazy mob AI [celest] * Added at(@) command @autoloot, which turns autoloot on or off for the player who uses it [Upa-Kun] 01/29 * Fixed Storage Bug with Named Stackable items. Thanks to Nimion [Lupus] e.g. Arrows, Iron, Elemental stones, etc... * Added a crash check to Safety Wall, thanks to LebrEf[TaVu] / Freya for pointing it out [celest] * Added some optimisations in clif_parse_MapMove, by Ilpalazzo-sama [celest] 01/28 * Fixed a typo that was causing /in to always report failure even when the name was removed from the ignore list [celest] * Link "wisexin", "wisexlist" and "wisall" to the PM ignore functions, and "friendslistadd" and "friendslistremove" to the friends list functions when parsing the packet DB [celest] * added clif_parse_PMIgnoreList (packet 0xd3) from jA [celest] * Added DUMP_ALL_PACKETS and moved dump packets code in clif_parse a bit to support it [celest] * Added base code for Party Item Sharing -- still needs some work in client- server support [celest] * new GC link http://amber.stormbirds.org/~joshs/gc6.4.tar.gz This fixes some issues... works better * Added macros skill_chk and skill_get to check for out of bounds errors when retrieving info from the skill_db [celest] 01/27 * Added memory leak fixes with temporary script variables and pets-related actions, by End_of_exam / jA 1109 [celest] * Kick all characters when the char server disconnects from the map server [celest] * Added @changelook command for spriters to test view ID's [celest] * Added a check to Pneuma to prevent crashing, thanks to LebrEf[TaVu]/Freya for pointing it out [celest] [celest] * Tweaked garbage collection code after feedback from users [SVN 1002: MouseJstr] * Fixed TRADE exploits (it cures proxy hack / vending+trade hack) thanks to Freya [Lupus] 01/26 * Added bug fix for a memory leak caused when a character logs out, by End_of_exam / jA 1108 [celest] * Fixed a bug in gettick cache when compiling in Windows, thanks to Shinomori (jA 1094) [celest] * Added updates from jA 1092 [celest] - Changed "read_map_from_bitmap" to "read_map_from_cache", "map_bitmap_path" to "map_cache_file" in map_athena - Fixed item effects not showing when only one was used - Fixed a bug in Safety Wall - Allow only either Storm Gust or Lord of Vermillion to cause damage if stacked together - Added path_search_long, map_find_skill_unit_oncell * Added status_get_sc_def for calculating resistance against status abnormalities [celest] * Added status.c and status.h of jA 1091 update and moved some functions into the new source files: -- skill_status_change_ -> status_change_ -- battle_get_ -> status_get_ -- pc_calc_ -> status_calc_ -- pc_getrefinebonus and pc_percentrefinery -> status_getrefinebonus and status_percentrefinery * Updated auto_counter_type's description in battle_athena, thanks to akusarujin for pointing it out [celest] * Removed some unnecessary skill level checks in battle.c [celest] * Removed my changes to /stable/Makefile which has libGC enabled by default that i've accidentally commited, sorry ^^; [celest] * Removed an unnecessary "cloneskill_lv" from map_session_data [celest] * Removed WATER.TXT (this file wasn't used at all. There's no such mapflag as WATER even). [Lupus] * Added Water Height of New Yuno Fileds 9 and 11. Now Water Ball works there as should. Wizards could levelup on sleepers, too. [Lupus] * libGC isn't ready to be the default quite yet... [MouseJstr] Enough people have asked so... Once you grab a copy of the libGC library from (http://amber.stormbirds.org/~joshs/gc6.3.tar), you start up a bash shell from inside cygwin and untar the gc6.3.tar. This will produce a gc6.3 directory. Then cd into that directory and type ./configure. Once that is done you type "make" and then "make install". This will spray the various includes and libraries all over your cygwin install (most in /usr/local). Now, edit Makefile and change the CC line to use the CC = gcc -pipe -DGCOLLECT entry. Also change the GCLIB to GCLIB = -L/usr/local/lib -lgc Remember to comment out the ones no longer used. Do a clean build and good luck. Obviously, this has not been tested by that many people so you really are on the cutting edge but if you have good results, send me a note (joshs@stormbirds.org) so that we can see if it really is ready for prime time. What should you see? Well, the map-server should not grow/consume extra memory anymore. More so, it should use dramatically less memory then it did before using the garbage collector. The downside is that it will consume a little more CPU... The question is, how much? how laggy? what effect on lots of players? I've heard stories saying it makes the server unplayable and others told me that they saw no player-visible effects at all. 01/25 * Fixed TXT compile problems with libGC [celest] * Added "Clients older than 2004-09-06aSakray" option to packet_ver_flag in battle_athena, just in case server owners still prefer the older clients. With so many changes to Sakray over the past months its much better upgrading to the newer clients (November or higher recommended) available ;P [celest] * Merged Full Strip into jA's tidier stripping skills code -- also fixes a typo that was causing Full Strip to do the reverse effect instead, and the skill not updating the target's status after successfully unequipping items [celest] * Tidy up the 4 chemical protection skills into one code block [celest] * Corrected Slim Pitcher's code -- sorry, i missed a few things ^^; [celest] 01/24 * Fixed a typo in Provoke that was causing crashes [celest] * Fixed another compile warning in src/char/char.c [SVN 985] [MouseJstr] * Fixed a account wipe bug in login/login.c (Thanks Wallex) [SVN 984] [MouseJstr] * Fixed a crash in char_sql/char.c where people were selecting chars before requesting connections [SVN 983] [MouseJstr] * some G++ compile tweaks and got through several files in the map server - [SVN 976] [MouseJstr] Why are we doing a C++ conversion? We have a lot of duplicate code and would like to make the "classes" in the server share code.. For example, a pet should be able to share code from the player or from a mob. Similerly, introducing a new type of entity in the game should be as simple as creating a sub-class instead of having to crawl through the entire source tree searching for every class check and introducing handler code in for your new type. Finally, while a garbage collector is "cool", it would still be nice to have enough object knowledge on how to clean up data that it is not absolutely required. It is faster for us to clean up our own messes then introduce a whole system for cleaning up after ourselves. Is there a C++ performance penalty? Not if the code is written correctly. For example 1) No templates - code bloat and destroys cpu cache coheriancy 2) No C++ exceptions - slows down entering and exiting functions 3) No operator overloading - makes it hard to understand what is going on. 4) No C++ STL libraries - Templates, huge, bloated, unportable 5) No method inlining - code bloat and reduces cache coheriancy. Let the optimizer do it... 01/23 * char-server (SQL & TXT), login-server (SQL & TXT), and txt-coonvertors (char and login) all compile on g++ now [svn 975] [Ajarn] * Fixed the sizeof errors in g++ [SVN 972] [Ajarn] * Reverted back some of the char* changes [SVN 972] [Ajarn] * Changed parse_script to now return char* [SVN 969] [Ajarn] * Converted run_script and run_script_main from unsigned char* to char* [SVN 969] [Ajarn] * Forgot a couple small changes [SVN 35] [Ajarn] * Changed map_data.gat and map_data_other_server.gat from unsigned char* to char* (this might be needed, because of unicode or something, please correct me if I'm wrong) [SVN 34] [Ajarn] * Converted decode_zip, encode_zip, remove_control_chars, mapif_sendall*, and e_mail_check to use char* instead of unsigned char* (again, please test) [SVN 34] [Ajarn] * Modified skill unit group checking in skill_unit_onplace that might have been causing crashes [celest] * Updated packet 0x143 length's for version 14 (2004-11-01Sakexe) and version 16 (2005-01-10Sakexe), thanks to jathena and ice2big [celest] * Fixed login-server compile error with the "new" -> "new_" changes [celest] 01/22 * Fixed an error that was in my last commit (optimising g++ build) [SVN 29] [Ajarn] * Made strlib functions char*, instead of unsigned char*. Strings are meant to be char. (Shouldn't break anything, but might, please test this for me) [SVN 26] [Ajarn] * Added cast for TXT version [SVN 25] [Ajarn] * Added cast from allocation calls, from void* to intended type [SVN 24] [Ajarn] * Changed bool -> bool_. Still need to make convertions between char* and unsigned char* valid, and some other convertions too. Also, sizeof is being used wierd in map.c, at least g++ complains [SVN 22] [Ajarn] * Changed the rest of the class variable names to class_ and all the new variable names to new_, for futher g++ support [SVN 21] [Ajarn] * Update both caster and target's SP after using Soul Change -- thanks to Aalye / Freya [celest] * Force a monster to switch attack target when being casted Provoke [celest] * Corrected description for @enablenpc -- "@npcon" -> "@enablenpc" [celest] * Since job normalising is still buggy require all 1st class skills to check for Basic Skill level when calculating the skill tree [celest] 01/21 * Updated packet DB configurations : enable_packet_db, packet_db_ver, -- check the .txt for description [celest] Note: For people having connection problems try setting 'enable_packet_db' to 'no'... and use the latest client (01-10Sakexe) * Fixed a small typo in 12-06's packets -- 21b => 21d [celest] * Updated packet_db.txt to only contain the latest version, like jAthena, since there's not much point to re-read packets eA already supports (although if you remove all the //'s it can still read multiple versions) [celest] * Added clif_config in clif.c - for keeping packet/client connections related stuff [celest] * Send 'Game Exe not latest version' to a client if it hasn't been authentified yet, but is sending a non-connection-related packet to prevent crashing -- assume the client is using an unknown exe [celest] 01/20 * Fixed compile time problems with the non-GC case [MouseJstr] * Introduced aMallocA and aCallocA These two functions allocate "atomic" memory which means "memory that does not contain references to other memory". This lets the garbage collector ignore these objects when searching memory for references to other objects dramatically increasing performance of the GC. When in doubt, use aMalloc and aCalloc. It is better to add a tiny bit of work to the GC then do cause a crash due to memory being cleaned up when it shouldn't. [MouseJstr] * Modified all calls to aMalloc and aCalloc that reference atomic memory to use aMallocA and aCallocA [MouseJstr] * Modified the socket buffer allocator to use "atomic" memory for the fifo data buffers [MouseJstr] 01/19 * added support for the Hans-J. Boehm libC garbage collector (A copy is in http://amber.stormbirds.org/~joshs/gc6.3.tar). It is ABSOLUTELY critical for people to use aFree/aMalloc/aCalloc/aStrdup for this to work. If somebody has just used free or malloc, this will crash when used with the garbage collector. A amusing environmental variable to set is GC_PRINT_STATS (to 1) so that you see real time statistics of leaked data being recovered. grab a copy of the gc6.3.tar.. build it .. install it.. modify the Makefile to have the CC = gcc -pipe -DGCOLLECT GCLIB = -lgc lines... and make the sql servers (the txt server doesn't build using this right now due to stupid Makefile issues) [MouseJstr] * SVN 3 on http://svn.stormbirds.org/svn/eathena will be what I diff against when I merge back into delta.. if we ever merge back into delta [MouseJstr] * Removed 12-06 Sakexe detection, since it doesn't seem to work, and might be conflicting with 10-25 clients [celest] * Update the Soul Burn target's SP when it has been successfully reduced to 0, thanks to Aalye / Freya [celest] * Moved SC_PRESERVE and SC_BATTLEORDERS's id so they'll display a status icon when cast, thanks XiaoLin of cAthena [celest] * Added missing code for Preserve -- i totally forgot to add it ^^; [celest] 01/18 * Added some skill bug fixes, thanks to Aalye / Freya [celest] - stop player attacking if the target goes into hiding - fixed Sword Reject not working against swords, only daggers - additional check in case Marionette Control doesn't end properly even when one of the partners has logged off * Added stun, bleeding and SP loss effect for Pressure, thanks to DracoRpg [celest] * TEST: Fixed more compile warnings in MSVC [celest] * TEST: Fixed some compile errors in MS Visual C++, thanks to Ser [celest] 01/17 * Some rewrites in skill_delayfix [celest] - If the delay is < 0, add the weapon aspd delay to it - If the skill is not weapon type, and has 0 delay, add 300ms as default * Added min_skill_delay_limit as the minimum allowed delay for any skills [celest] * Some tidying up in battle_get_ functions [celest] * Set exp table and job bonus table to 0 before reading - might solve some memory bugs [celest] * Updated skill range leniency code - If possible try and move towards the skill target so that when casting it no longer falls out of range [celest] 01/15 * Added effects to enemies for Gospel [celest] * Added mobs spawn to all Yuno fields (according to 4th Jan patch) [Lupus] 01/14 * Added party supporting effects for Gospel [celest] 01/13 * Added and testing support for 2004-12-06Sakexe [celest] * Removed emblem changing requiring Glory of Guild limited to TXT only [celest] * Corrected a typo preventing Plagiarism to work, thanks to orn [celest] * Fixed Berzebub card and other 'reduce cast delays' equipment not working [celest] * Updated packet_db.txt loading to support reading into multiple packet versions [celest] * Removed packet_db_ver defining in packet_db.txt -- it'll determine itself based on MAX_PACKET_VER [celest] * Integrated packet size and function DB's into 1 packet_db [celest] * Added MAX_PACKET_VER -- maximum versions supported by eA, including the packet_db -- and changed packet size and function DB's to use it [celest] * When sending 'Game exe not latest version' packet don't close the session immediately so it will still be delivered [celest] * Added map-server display if an unidentified client was rejected -- also fixes the 'empty string sent to _showmessage' [celest] * Added a bug - Celest, LOOK AT THIS BUG ASAP. [Codemaster] * Tided up/fixed some mobs [Lupus] 01/12 * Implemented Vending Log [Lupus] TODO: use log option to log only important deals (much money, rare items, etc) 01/11 * Added Shinomori's changes to npc event timers (I never realised it, thanks ^^; ) [celest] * Updated clif.c to be able to identify client versions based on the packet DB [celest] * Correct packet_db_ver to the maximum version allowed if it was set too high or too low in packet_db.txt [celest] * Added support for 2005-01-10Sakexe [celest] * Updated packet functions for 2004-11-08 and 2004-12-06 (Note: eA *can* support 12-06, but still doesn't recognise it... so unless we find a way, it is *not* supported yet) [celest] * Updated packet_db, thanks to Sara-chan [celest] * REMOVED support for clients before packet version 10 (2004-08-25 and earlier) - the client will receive a 'Game Exe not latest version' message [celest] * Added a check to prevent crashing when trying to log in with 2005-01-10aSakexe in servers that don't support it [celest] * Added a fix to @sound where if you forgot the .wav exention, i'd attempt to play the file without it (it adds the .wav) [Codemaster] [SVN 949] * Added @disguiseall / @undisguiseall [Codemaster] [SVN 949] * Added misc. clif.c fixes (jAthena added alot of close(fd)'s, so i added them, too) [Codemaster] [SVN 949] * Added bug reports - Celest, you might want to check one of those out [Codemaster] [SVN 949] * Fixed a bug in clif.c which didn't allow to enther the map-server. It worked under win32, but didn't under Linux. [Lupus] 01/10 * Completed adding packet DB reading... still needs (a lot) more work in clif.c [celest] * Added Shinomori's suggestions for npc timers, thanks again ^^ [celest] * Removed checking for script event timers' length, and added Shinomori's changes [celest] * Start adding packet DB reading [celest] * Added 'max_eventtimer_length' (default is 32) to script_athena.conf. [celest] Some event timers with names longer than 24 could cause the server to close itself, change this if you need support for even longer names * Removed PCLoginEvent requiring 'PCLoginEvent' for the player to be set to 1 first to be activated. [celest] * Added Shinomori and orn's fix for the skill tree to only check the first required skill in the DB and skipping the rest [celest] * Modified 'wedding' script command to work with "OnTimer" scripts even without doing 'attachnpctimer' (The 'player not attached' error will still display, but the effect will appear *over the NPC* instead of the player... at least it won't fail ^^) [celest] * Added 'attachnpctimer' script command for attaching the player to the current npc's timer in "OnTimerxxxx" scripts, thanks to Wallex for the idea. [celest] Syntax: attachnpctimer; attachnpctimer "; Check /npc/sample/npc_test_npctimer2.txt for example. * Added 'detachnpctimer' script command for detaching players from the npc's timer. [celest] Syntax: detachnpctimer; detachnpctimer "; * Added 'OnInterIfInitOnce' for WoE scripts & modified the WoE scripts as well [Ajarn & Codemaster] [Thanks to FREYA] [SVN 943] * Added the @sound command and the NPC command of soundeffectall - works just like soundeffect, but plays for everyone in the area [Codemaster] [SVN 942] * Don't allow Pets to attack Guardians outside of WoE [Codemaster] [SVN 940] * Require 15% of HP or more for WE_MALE skill [Codemaster] [SVN 940] * Require 15% of SP or more for WE_FEMALE skill [Codemaster] [SVN 940] 01/07 * Upon changing to high novice 100 stat points should be given, not 88 [celest] * Give high novices First Aid and Trick Dead upon job changing [celest] * Remove some unnecessary checks in battle.c [celest] * Added some checks to prevent novices still allowed to attack when using Trick Dead [celest] * Added 'summon' script command. Syntax: summon ,[,]; Example: 'summon "Poring", 1002, "OnPoringKilled"; 'will summon (note: not *spawn*) 1 poring that'll help its master for 1 minute, and activate the "OnPoringKilled" event when killed. 'summon "--ja--",-1;' will summon a random monster. * Added Wallex's fix for the wedding script functions [celest] * Added the below-mentioned alive packet to SQL's char and login [celest] * Enabled login server 'anti-freeze' by default as a temporary solution to char-login disconnection [celest] * The TXT char server was rejecting login's "i'm alive" packet and disconnecting it... fixed [celest] * Stall_time wasn't being read in login_athena at all (not by the login server, because the code didn't read it, nor by TXT map server, since its in the SQL inter_athena.conf reading)... so moved it to inter_athena.conf, and change sql_config_read in map.c to inter_config_read [celest] * Some tidying up of battle_get_def and _def2 [celest] * Added 'bDelayrate' and changed Phen card, Marduk Card and Berzebub Card's effects to use this instead of bCastrate (which was reducing casting time, not delay time) [celest] * Some tidying up of skill_castfix and skill_delayfix [celest] * Added Filougarou's fix for Bowling Bash causing it to only display damage, but doesn't do any - thanks! [celest] * Set delay_dependon_dex in battle_athena to 'no' by default [celest] Note: Just to clarify things, on official servers dex is not supposed to reduce skill delays, only Poem of Bragi and Berzebub card does! * Fixed typo in skill_delayfix - reduce delays only if delaynodex was *not* set, sorry ^^; [celest] 01/06 * Fixed various memory corruptions causing crashes (SVN 925) [MouseJstr] * Fixed typo in src/map/map.c causing compile errors (SVN 924) [MouseJstr] * Removed the alive_timer mechanism entirly replaced with a stall detection mechanism that will disconnect a player who has not sent any data for a configurable (conf/login_athena.conf:stall_time) amount of time. The default is currently 60 seconds. The root cause of the disconnect error is that some NAT based routers are not dropping the TCP connection when the aliased machine goes offline abnormally. This means that we are seeing a stalled but perfectly valid TCP connection. (SVN 924) [MouseJstr] 01/05 * Fixed some typos in map_versionscreen() [MC Cameri] * Removed loop freeing in map-server's do_final(), it was causing seg faults [MC Cameri] * Finished do_storage_final() in map-server's do_final(), it was there but doing nothing [MC Cameri] * Fixed Celest's typo making all vended items cost 0 zeny [Codemaster] [SVN 919] * If a vending item was priced at 0 it'll be auto changed to 1million [celest] * Fixed TXT logging - log_athena.conf reading was kind of messed up [celest] * Added a simplified version of Qamera's OnConnect: OnDisconnect: OnDeath: NPC events mod, (All credits go to him.) except adapted based on eA's current PCLoginEvent. (by davidsiaw) [celest] - Currently only 4 events have been added: PCDieEvent, PCKillEvent, PCLogoutEvent and PCLoginEvent - For notes and usage example check /npc/sample/PCLoginEvent.txt (by davidsiaw) - To enable them for a player in a script, do "set , <0 or 1>;" (yes it's saved in a permanent character variable and auto read every time) - Simply put, if any of them is set to 1 the appropiate event will activate p.s - Scripters who are already using PcLoginEvent, you'll need to add a "set PCLoginEvent, 1;" now, sorry for the trouble. * Optimised PCLoginEvent activation a bit [celest] * Set 'droprate0item''s default to 'yes' so that items with 0 rate will never drop [celest] * Look at item type other than item ID as well to check whether it is a card in card-related script commands - better support for custom items [celest] * Reset all skill variables if the skill fails so certain skills can't be abused (such as Warp, thanks to Alex14 for pointing it out) [celest] * Added /mapflag/noreturn.txt for disabling butterfly wings (not fly wings) [celest] * Fixed skill_require_db reading somehow getting corrupted if weapons usable for the skill is more than 20, thus causing the skills to fail everytime [celest] * Fixed @killmonster crashing the server with summoned monsters, thanks to Alex14 [celest] * Added double_connection_system to battle_athena (not completed yet) [celest] 01/04 * Fixed GM Command Logging (Not sure why TXT logging still isn't working properly :( ) [Codemaster] [SVN 907] * Fixed one of Lupus' additions to the item_db [Codemaster] [SVN 907] * Fixed Seismic Weapon Skill (it 100% didn't break target's weapon at 4 level of the skill) [Lupus] 01/02 * Re-fixed map-server crashing if an empty line is in skill_castnodex.txt, thanks to Alex14 for pointing it out (SVN 899) [celest] * Modified breaking rates calculating - meltdown's chances is separated from self breaking chances (SVN 900) [celest] * Reduced MAX_SKILL_LEVEL to 10 to save a bit of memory and speed [celest] * Tidied up parts in skill_castfix a bit (SVN 895) [celest] * Fixed map-server crashing if an empty line was added in any of the skill-xx db files (SVN 895) [celest] * Updated skill_castnodex reading - An *optional* 3rd value can be added to set whether a skill's delay time can be affected by dex (SVN 895) [celest] Example: 46,1,1 - double strafe's delay is not affected by dex 46,1,0:0:0:0:1 - only level 5 double strafe is not affected by dex * More atempts at memory leak fixes [Codemaster] [SVN 890] * Updated weapon breaking rates, thanks to DracoRPG (SVN 891) [celest] * Optimized enchanting skills success rates calculation, thanks to Wallex (you were right! ^^; ) (SVN 891) [celest] * Modified Spiral Pierce and Breaker to type ranged (SVN 891) [celest] 01/01/05 * Attempted to fix a memory leak [Codemaster] - tell me if it works XD (NPC/Mob memory leak in npc_parse_mob(...)) [SVN 886] * Added a char config that allows GMs that have a certain level or above to bypass the server's user limit [Codemaster] * Changed some create arrow outputs for new kRO 12/21/04 patch [Aria] * Fixed some respawn delays of MVP/Miniboss monsters. Redo Umbala/Niflheim fields, added missing mobs, corrected monsters quantity. In Niflheim fixed wrong Lord of Death monster ID. [Lupus] 12/30 * Added ispartneron, getpartnerid, and warppartner script commands to properly support jawaii NPC's (SVN 880) [MouseJstr] * Moved supernovice guardian angel messages to msg_athena.conf [celest] 12/29 * Fix account register wipe issue (SVN 868) [MouseJstr] * Double storage/lag exploit fixed (SVN 867) [MouseJstr] * Another -1 alive_timer fix (SVN 866) [MouseJstr] * Added @dmstart and @dmtick for debugging malloc tests [MouseJstr] * Fix some more compile errors on different platforms [MouseJstr] * Fixing a crash if you change the name of a pet you don't have (SVN 863) [MouseJstr] * Eliminated src/common/malloc.c when not needed [MouseJstr] * Some code cleanup in prep for new debugging malloc (SVN 861) [MouseJstr] * Updated Soul Breaker's damage calculation [celest] * Updated Meteor Assault's cast delay to be not affected by dex [celest] * Changed int_guild.c so it will calculate average guild level only if > 0 members are found - prevent divide by zero crashes (why would an empty guild be requested to update its' member info in the first place?) [celest] * Added Shinomori's fixes for string copying in script.c [celest] * Removed @giveitem since #item it's the one that does this and added some of it's support to #item [MC Cameri] -#item * Uncommented out import in charcommand_athena.conf, there is need to have it commented (all the others ones are uncommented) [Ajarn] 12/28 * When restarting the char-server, reset the online status of all characters and guild-members (SVN 849) [MouseJstr] * Fix double timer_delete caused by pc_alive_timer (SVN 848) [MouseJstr] * Fixed typo in npcs_athena.conf (mc_cameri verses mc_Cameri), thanks Mellow972 for pointing that out (SVN 845) [MouseJstr] * Reduced weapon breaking chance for Overthrust, thanks Draco - i almost forgot to add this update [celest] * added checks into the skill code to prevent proxy's/bots from crashing the server by using skillid's that are WAY out of range (SVN 841) [MouseJstr] * Fixed clif.c errors that prevent old clients from being used. [nsstrunks] * Fixed @jobchange to not default to upper (SVN 837) [MouseJstr] * Fixed a compile error in @mobsearch (SVN 836) [MouseJstr] 12/27 * Updated 1206's packet fuctions in clif.c [celest] * Updated the new guild skills - cannot be reused within 5 minutes of activating it [celest] * Added @mobsearch, @cleanmap and @giveitem from jA [celest] * Fixed the guild issues (SVN 832) [MouseJstr] * Updated description for player_check_cloak_type [celest] * Increased skill range limitations in pc_no_footset [celest] * Added exp_calc_type - to alternate between 3 different versions for exp calculating [celest] * Reinitialized variable 'c' in map_readmap, it's supposed to have a start value. Ex. '-'. [MC Cameri] * Commented out dump_timer_heap() again... [MC Cameri] * Added include of string.h in malloc.c, was causing compile errors/warnings [MC Cameri] * Modified the map progress bar to reduce updates (SVN 829) [MouseJstr] * Updated map cache system from jA 1087 - change read_map_from_bitmap to 2 to enable zlib compression [celest] * don't delete alive_timers of -1 (SVN 823) [MouseJstr] * switched malloc,calloc,realloc to aMalloc, aCalloc, aRealloc so support the use of a garbage collector (SVN 821) [MouseJstr] * Removed some printf's from map-sql [MC Cameri] * Uncommented MSG_SQL, for _ShowMessage(), usage: ShowSQL() [MC Cameri] * Removed fixed bugs in dev/bugs.txt [MC Cameri] * Now I remember what I was smoking.. (SVN 819) [MouseJstr] * Fixed a bug in the guild_castle persistance code in char_sql. What was I smoking? (SVN: 816) [MouseJstr] * Corrected a bad error in itemdb_read_itemslottable [celest] * Corrected wrong logging of text in int_guild.c, thanks to Alex14 [celest] * Summoned monsters will not give exp and items [celest] * Added the 6 new Yuno fields to maps_athena.conf [celest] * Added some Freya's optimisations in clif_parse [celest] * Added clif_update_mobhp - monsters' hp viewing now updates properly [celest] * Set alive_timer to -1 when quitting, not 0, or the map server might assume its still active [celest] * Changed the *_override_grffile to no by default, because many were having issues with it [Ajarn] 12/26 * Fixed ANOTHER pet crash (double free) (SVN: 804) [MouseJstr] * Added a proper #define for MAX_VENDING (SVN: 802) [MouseJstr] * Fixed crash associated with vending more then 12 items which walked on memory.. corrupting the pet data structure (SVN: 801) [MouseJstr] * Fixed a crash that resulted when disconnecting (SVN 800) the new client when the old client is still connected [MouseJstr] * Fixed some gcc 2.95 compile errors [MouseJstr] * Fixed some array bounds errors (SVN 799) [MouseJstr] * @mapexit (and do_final) now persist all data to the char server before exiting to eliminate storage/inventory inconsistancies.. [MouseJstr] (SVN 793) * Some cleanup of spiritball memory management [MouseJstr] * Dramatic performance work for exp updates to sql. Previously, [MouseJstr] when u killed a mob (in party share), it would cause the char_server to 1) Delete all guilds for all members of your party 2) Re-create all guilds for all members of your party with the new exp values. Now it just generates 2 sql statements per party member, 1) update the guild exp, 2) update the guild_member exp. src/common/socket.c src/common/socket.h src/char_sql/char.c src/char_sql/int_guild.c src/map/chrif.h src/map/pc.c src/map/map.c src/map/chrif.c * Disabled import charcommand_conf.txt by default [celest] * Added Bitmap File system from jA 1086 - automatically generates a cache from maps in the GRF to speed up loading. You can enable/disable it with read_map_from_bitmap in map_athena.conf. Note: AFM maps will override this cache [celest] * Added --run_once flag for the map server for testing purposes - closes itself when everything is done loading [celest] * Added some code for Moonlit Petals and Basilica [celest] 12/24 * Added suggested fix when client disconnected [celest] - send "disconnected due to time gap" and close session when timed out - send "server still recognises last login" message and close existing session when client reconnects * Upped windwalk to lv 10 in skill_tree [MouseJstr] * Fixed a scripting crash (SVN: 781) [MouseJstr] * removed @changesex and @charchangesex until we can fix it properly [MouseJstr] * Fixed item-dup bug in storage and cart [MouseJstr] * @skilltree was looking outside of the particular class of the char to see if they could do a skill [MouseJstr] * Fixed a calc_skill_tree bug where too many skills were visible [MouseJstr] * Added Dev/GDB_reports.txt, take a look in it devs [Ajarn] * Corrected description for player_skill_nofootset and monster_skill_nofootset in battle_athena.conf [celest] * Added a special NPC Logging command 'logmes'. It works as mes"Hello world!"; It is useful for such NPC as BANKS, CASINO, etc. To keep track of won money, etc. Check kafra_bank.txt 1.1 for example. Note: mes = otput into client's NPC window debugmes = output into map-server window logmes = output into lognpc log DB. 12/23 * Fixed some bugs in the clif.c changes (SVN 766 to SVN 767) [MouseJstr] * Added ayo monsters to @disguise * Began updated clif.c to work with 1108 and 1206, tested and works [nsstrunks] * Fixed skills still being available after a job change [MouseJstr] * Changed pc_alive_timer to use map_id2sd - should be more accurate [celest] * Added jA 1084's fix to mob.c - check whether the player is still alive when calculating exp [celest] * Added clif_changed_dir, clif_adopt_process [celest] * updated Backstab to show the target's new direction [celest] * Corrected the file types of several files in the SVN tree to fix the newline issues [MouseJstr] * Updated mapflags (added missing payon_in03,ayo_in01,ayo_in02, que_god01, que_god02) [Lupus] * Updated Sacrifice : it's now self-activating, and lasts for 5 attacks [celest] * Fixed compile errors in party.c [celest] * Moved SC_EDP back to 114 [celest] * Added some of Shinomori's fixes [celest] * Added optimisation in intif_parse_WisMessage from Freya [celest] 12/22 * Eliminated skill tree mapping since we have entries for all the classes in the skill_tree.txt files [MouseJstr] * Added finding_ore_rate to battle_athena.conf, thanks to orn [celest] * Changed how party exp is passed out to eliminate players current in a chat window or those who havn't moved or attacked in 2 minutes [MouseJstr] * Fixed a bug in resnametable from local directories, by fixing a bug in grfio_read causing memory corruptions [MouseJstr] * Rearranged how guild messages, gm messages, and party messages are moved back and forth between the inter server and the map server.. eliminating unneeded round trips to eliminate lag on a loaded char-server. [MouseJstr] src\char_sql\int_party.c src\char_sql\int_guild.c src\char_sql\inter.c src\map\atcommand.c src\map\guild.c src\map\intif.c src\map\party.c src\char\int_guild.c src\char\inter.c src\char\int_party.c * Reverted npc.c back to before jA 1081. This fixes warp portals missing and other npc bugs [Ajarn] * Added conditional SHOW_DEBUG_MSG for displaying ShowDebug()'s output, it was missing before [MC Cameri] * Added #zeny, removed @charzeny [MC Cameri] * Fixed reading itemslottable.txt causing cards to become unuseable [celest] * Added error message if file renaming in lock_fclose fails [celest] * Fixed frost diver not working ... my bad =p [celest] * Corrected typo in clif_hpmeter - md -> sd [celest] * Check if the player has been authentified by the char server before clearing any timers in map_quit [celest] * Added eventtimercount and timerskill_count - check these before clearing or deleting timers [celest] * Added sc_count check in skill_stop_dancing [celest] * Translated the japanese part in battle_athena.conf [celest] * Added ignore the new skill delays when chaining monk combos [celest] 12/21 * Since conf/maps_list.txt was removed, added conf/maps_athena.conf [Ajarn] * Fixed a few NPCs that were giving curly errors. It seems to be caused by a bug that the NPCs' last line isn't read or something [Codemaster] * Fixed a tiny compile warning in npc.c [Codemaster] * Allowed the NPCs without proper curly brackets to still load, but give an error still [Codemaster] * Added variable 'current_file' which tells the filename of the script while loading npcs [MC Cameri] -the variable its set in do_init_npc() or something like that, so you can only access it after the use of do_init_npc(). * Fixed the display of a warning saying that a right curly brace was missing [MC Cameri] * Removed @charwarp and @rura+ and added #warp, #rura, #rura+ [MC Cameri] * Removed conf/npcs_list.txt, and placed it in npc/npcs_athena.conf [MC Cameri] * Moved some code in pc_break_equip that was causing compile errors [celest] * guild skills vanished due to incorrect placement of a check for quest skills in the calc_skilltree code [MouseJstr] * Fixed skill LK_HEADCRUSH, LK_JOINTBEAT to work on both on and off peco's for lord knights (fixed typo in skill_tree.txt) [MouseJstr] * removed LK_SPIRALPIERCE from lord knights not on peco's[MouseJstr] * Moved the code from map_quit to pc_makesavestatus that "adjusts" the skill tree before persisting to the character server [MouseJstr] * made pc_makesavestatus() properly persist skills that are unavailable but not forgotten (example, spiral pierce). You can now get spiral pierce, get off your peco, log out, log in, and get back on your peco and still have not lost the skill points you invested. This also solves the problems of when the skill tree gets changed, players loosing the points. [MouseJstr] * Made pc_resetskill() properly reset skills that are currently not visible due to skilltree changes [MouseJstr] * Finished updating most of the map-server to 1082... i'll leave the more technical ones for the other devs ^^; [celest] * Added other new battle_athena options from jA 1082 ... descriptions not translated yet [celest] * Removed my own additions for skill delays using aspd and added jA's code (-removed-) [celest] * Adapted skill_range_leniency to jA's code - should be more stable [celest] * Fixed drop rates only limited to multiples of 100's - thanks to jathena for pointing it out [celest] * Added missing code for castle_defense_rate [celest] * Removed pc_undead_nofreeze - no code for it [celest] * Updated unrefineable items table - thanks to jathena [celest] * Added 3 new script commands: [celest] - skilleffect : shows a skill effect on the player - doskill/skilluseid (originally by Qamera) : casts a skill on the player - skillusepos : casts a skill on a position * Added SC_SpeedUp0 [celest] * Merged itemdb_read for SQL and TXT [celest] * Moved itemdb_read_itemslottable in itemdb.c for better readability [celest] * Removed itemdb_read_cardillustnametable limited to TXT only [celest] * Added reading itemslotcounttable.txt from the GRF to auto set number of slots per item [celest] * Added a display message when reading itemslottable from the GRF [celest] * Added options in battle_athena.conf to enable/disable reading the GRF for indoorrswtable.txt, leveluseskillspamount.txt, num2cardillustnametable.txt, itemslottable.txt & itemslotcounttable.txt [celest] * Removed conf/npcs_list.txt, and placed it in npc/npcs_athena.conf 12/20 * Fixed npc_parse_mob with large/tiny monsters causing memory corruption [MouseJstr] * Fixed a crash in char.c with new chars [MouseJstr] * Updated npcs_list.txt [Ajarn] * If last_pos.x or .y == 0, set to start point [MouseJstr] * Fixed map loading. If a map was not found, it would remove the next map in the list [Ajarn] * Moddified some *_athena.conf's (my typos and some inncorect default values) [Ajarn] * Added Valaris' double connection bug fix (imalive watchdog) [Valaris] * Fixed map-server exiting when it came across a bad NPC file [Codemaster] * Updated Valaris' large/tiny monsters - of course, he told us what he did wrong and how to fix it :) [Codemaster & Valaris] * Updated makefiles to new strlib locations [Codemaster] * Moved strlib.h and strlib.c into the common directory [Codemaster] * Updated a bit of jA 1081 - it's not completly updated yet!!! [Codemaster] * Fixed some gcc 2.95 problems [MouseJstr] * Speedups in socket code [MouseJstr] * made samesex weddings work and give out correct ring [MouseJstr] * CFixed wedding NPC halting after server reboot/crash (shadowlady put in comments but didn't add to code) [Aria] * Added reading leveluseskillspamount.txt from the GRF to auto set sp used for each skill [celest] * Added reading indoorrswtable.txt from the GRF to auto set 'indoor' mapflags [celest] * Added check in grfio.c to prevent crashing if a file wasn't found [celest] * Rolling GUILDCACHE and FASTCHAR into main branches/stable tree [MouseJstr] * Changed max_paramter to an unsigned int so that you can have over 255 as your max stat [Codemaster] * Experimental: Reverting a change on deleting any skill units when we're logging off - might reduce the 'delete_timer' errors [celest] * Added check whether an item is allowed to be dropped, for example wedding rings [celest] * Updated Acid Terror - should never miss [celest] * updated Sword Reject - should display reflected damage properly now [celest] * Updated Double Strafe - should only work with bows [celest] * Replaced checking whether items can be refined or not with a new function [celest] * Added Gengar's fix for npctalk outputting to chat [celest] * Allowed some values in script_config to be customised in script_athena.conf [celest] 12/19 * Added -DFASTCHAR to char_sql for testing performance work before I merge it into the main running code [MouseJstr] * Added ShowDebug(), Debug(), DisplayDebug(), printDebug(), CL_DEBUG, MSG_DEBUG to _ShowMessage() [MC Cameri] * Replaced many \033[x;xm with their corresponding CL_xx constants [MC Cameri] * Separated NPCs and Maps from map_athena.conf into npcs_list.txt and maps_list.conf [MC Cameri] * Modified all the *_athena.conf's to have the import command enabled by default [Ajarn] * Added charcommand_conf.txt and log_conf.txt in conf-tmpl/import [Ajarn] * Fixed import command for log_athena.conf file [Ajarn] * Updated charcommand.conf [nsstrunks] 12/18 * Added some of my info to Dev/quotes.txt, not done yet... [Ajarn] * Added some ideas to Dev/Ideas_Suggestions.txt [Ajarn] * Fixed import command in inter_athena.conf file [Ajarn] * Fixed a few command compiling problems for TXT [Codemaster] * Modified the main.sql to add the friend0 column; also added the upgrade_1.0.0.sql file [Codemaster] * Introduced StringBuf into utils for use in building larger queries [MouseJstr] * tested GUILD_CACHE (reducing guild related sql traffic to 30%) in prep for unleasing it on the sql using public [MouseJstr] * Fixed some SQL queries crashing char server [davidsiaw] * Added several PID GM commands, thanks to Dino9021 [nsstrunks] * Storage was merging items incorrectly [Mousejstr] * eliminated a uninitialized var when using afm maps [MouseJstr] * Added concept of dirty storage to reduce saves/load to the char server (do a clean build!) [MouseJstr] * Eliminated storage_storageopen2 as unused [MouseJstr] * Switched to account2storage2() whenever possible to eliminate the possibility of saving empty storage back to the character server (storage wipes) [MouseJstr] * Made it save storage as soon as you close the storage window to reduce possibility of loss/abuse [MouseJstr] 12/17 * Added #item [MC Cameri] * Added #storagelist, removed @charstoragelist [MC Cameri] * db.c: Fixed probs with OnInit, OnTime, and etc NPC probs Just reverted it back. [Lupus] * Fixed warning message in db.c line 445 [MC Cameri] * Added #effect, removed @chareffect [MC Cameri] * Reverted a change in map.c causing problems, sorry >.< [celest] * Updated Sphere Mine - it'll now move in the opposite direction if being hit by its master [celest] * Updated Wind Walk [celest] * Fixed skill #301 causing crashes [MouseJstr] * Fixed documentation error on gm_skills_unconditionl [MouseJstr] * added @grind test command.. only for testing [MouseJstr] * Added clearweather to the atcommand configuration file. [nsstrunks] 12/16 * Added a fix for AFM loading, thanks to Pete [celest] * Updated maximum levels for supernovice to 99 [celest] * Updated supernovice jobexp table - should be same from 50 onwards [celest] * Corrected maximum job level checking in @joblvup and @charjob [celest] * Added the new spell scrolls, thanks to Landarma [celest] * Corrected a few skills, thanks to orn [celest] * Corrected Extremity Fist to not require Explosion Spirits when being used right after using Combo Finish or Dilemma [celest] * Added instant cast weapon skills rely on attack speed as cast delays, not on dex [celest] * Fixed mob_ghostring_fix not working [celest] * Changed default value for mob_ghostring_fix to 'yes' [celest] * Added #itemlist, removed @charitemlist [MC Cameri] * Changed @job and #job so that when it's used it unequips all the items, to prevent sprite errors [MC Cameri] * Fixed a misuse of mysql_config (thanks Daegalus for creating a reproducable environment for me) [MouseJstr] * Fixed compile time errors for gcc 2.95 [MouseJstr] * Updated Forging and Potion making formulas by DracoRPG [celest] * Changes to the guild skills - Dropped using sc_data and use flag values instead - Changed moving guild skill units to once every 'move request' only instead of every movement - should reduce server load abit - Corrected crash when checking its skill requirements * Initialise 'canregen' when logging into map - forgot to add this earlier, sorry ^^; [celest] 12/15 * Fixed more compile errors gcc 2.95 [MouseJstr] * Removed log files from svn... they will be created when needed [MouseJstr] * Removed unused var in src/map/map.c:107 [MouseJstr] * fix compile error in text converters [MouseJstr] * Skill Updates [celest] - Corrected traps to last longer in GvG - Some minor changes to Hiding, Cloaking and Chasewalk to prevent it from not working if sc_data is null - Corrected an error in Cannibalize - Updated Marionette Control to check its range from the partner - Updated Berserk to disable hp and sp regen for 5 minutes after the skill * Changed the weather gm commands to be able to toggle on and off. For example, use @snow once to turn it on, reuse it again to turn it off. [celest] * Added Jawaii and Ayothaya to @go list [celest] * Changed the default values for ranged, magic and misc damage rate in battle_athena to 60, 50 and 60 [celest] * Removed redundant 'berserkdamagetick' from map_session_data [celest] * Added changes to map.h according to Shinomori [celest] 12/14 * Changed "Map-server can't connect to char-server" message to reduce output spamming and set it to display only once [MC Cameri] * Added a busy animation for npc loading [MC Cameri] * Replaced the way map loading was displayed into a progress-like way [MC Cameri] * Fixed some typos in _ShowMessage() [MC Cameri] * Replaced lots of more printf's in map-server with _ShowMessage() [MC Cameri] * Added constants for console colors in showmsg.h [MC Cameri] * src/char_sql/int_guild.c:56 - t_mes2 was not big enough causing stack overrun's, corruptions, and crashes [MouseJstr] * common/mmo.h: changed base_level and job_level to unsigned int to increase max levels [Codemaster] * char/char.c: added a NULL check for the file in parse_friend_txt [Codemaster] * map/atcommand.c/.h: added @clearweather (thanks to Dexity) [Codemaster] * map/charcommand.c/.h: added #spiritball [Codemaster] * map/mob.c: fixed a compiler warning (ln was an int and was supposed to be an unsigned long int) [Codemaster] * Added nullpo_retb to nullpo.c - does a break; if null [celest] * Replaced some parts in skill.c with nullpo checks [celest] * Corrected some typos - penaly -> penalty [celest] * Skill Updates [celest] - Most of 12/14's Sakray patch * The SKILL_MAX_DB (yes, a different #define from the one below) was not large enough for current skills causing memory corruptions and crashes [MouseJstr] * Fixed how socket handles EAGIN errors (retry instead of disconnecting) [MouseJstr] 12/13 * Skill Updates [celest] - Added the new 'Throw Tomahawk' skill (Requires Sakexe1129 or newer) - Added some new monster skills - but still not complete. - Adjusted Palm Strike, Tiger Fist and Chain Crush based on 12/14's patch * Removed redundant 'sg_count' for map_session_data and mob_data [celest] * Save both persons' data after trading in case a crash causes them to rollback - fix by Freya [celest] * Removed 'type' paramater from pc_unequipitem to use 'flag' instead[celest] * Moved unequip checking code from clif.c to pc.c [celest] * Replaced many printf's in map-server with _ShowMessage(). [MC Cameri] * Skill timers for skills with id's higher then 450 were corrupting memory [MouseJstr] * Increased max skills to 650 from 450 fixing MANY crashes [MouseJstr] * Creating Guild events were reading beyond supplied guild names , causing crashes [MouseJstr] * trades were derefing -2 into the inventory table sometimes [MouseJstr] * Not having a arrow in your inventory but having a bow could cause it to set sd->status.inventory[-1].equip=32768 resulting in a memory corruption [MouseJstr] * local broadcasts of messages larger then 64 bytes were corrupting the stack, causing crashes [MouseJstr] * mob eventnames were reading beyond source point, risking going over page boundries, causing crashes [MouseJstr] * Internal MAIL system: moved all strings to msg_athena.conf [Lupus] 12/12 * Made guild skills to check for skill levels first when casting [celest] 12/11 * Modified arrow checking in skill.c [celest] * Corrected Cart Revolution damage calculation [celest] 12/10 * Fixed players unable to move in AFM maps [celest] * Added error message if a player's last map couldn't be found [celest] * Moved AFM map check to map_mapname2mapid [celest] * Added USE_AFM and USE_AF2 to be used later [celest] * Modified sc_data check in pc_damage [celest] 12/9 * Moved a map_freeblock_unlock() around to eliminate a crash [MouseJstr] * Fixed how players are cleaned up when they disconnected during authentication [MouseJstr] * Adjusted some messages in @marry [MouseJstr] * Skill Updates [celest] - Fixed Auto Spell not working - Fixed skill level check causing Baphomet card not to work at all (possibly other problems too) - Added some new monster skills based on jA mod 1077 * Changed @job to accept text job names - For example: @job wizard, @job high priestess, @job super baby [celest] * Added sc_data check for pc_damage [celest] 12/8 * Fixed @rings [MouseJstr] * Added @marry, @divorce, and @rings [MouseJstr] * fixed @revive [MouseJstr] * Added option to turn off login server logging [celest] * Moved char server starting logging to after we've read the configuration file first [celest] * Fixed crash with supernovices with 100% base exp [celest] * Updated the readme a little. [Mass Zero] 12/7 * Added GUILDCACHE #define to int_guild.c for testing performance effects [MouseJstr] * Skill Updates [celest] - Arrow Shower, Double Strafing, Charge Arrow, Throw Arrow, Sharp Shooting, Arrow Vulcan, and Musical Strike now take arrows when used - Level 6-10 Stone Curse will not consume a red gem now when it fails - Players should be able to use items when they're stoned but not yet completely petrified - Corrected Triple Blow to work with bows (they actually do ^^) * Added 'guildgetexp' script command [celest] * Added bLongAtkRate item effect [celest] * Implemented Confusion (50%) - still need more info on how monsters act when they're confused [celest] * Added 'Guardian Angel' code for supernovices [celest] 12/6 * Fixed file props for new npcs [MouseJstr] * Fixed weddings.txt as per Fress_Boy [MouseJstr] * Added a case_sensitive to login [MouseJstr] * Fixed follow crashing server when gm dies [MouseJstr] * Fixed global message not working on txt [Wizputer] * fixed a server crash in mobinsite [MouseJstr] * fixed a server crash in party sharing exp [MouseJstr] * fixed a server crash in BS_FINDINGORE [MouseJstr] * Updated Chase Walk [celest] * Added 'checkoption1' and 'checkoption2' script functions - Refer to /npc/sample/npc_testchkoption.txt for similiar examples [celest] * Updated maximum level for Guild Skills [celest] 12/5 * Fixed another crash sending updates to disconnected clients [MouseJstr] * Fixed the range_check again to stop it from crashing servers [MouseJstr] * removed stubbed out unfinished atcommands as per Cameri [MouseJstr] * Fixed nullpo's for gcc 2.95 [MouseJstr] * Fixed bug in which login-txt was crashing in do_final() due to some free's [MC Cameri] * Added nullpo's to all atcommand's functions, phew... [MC Cameri] Note: I point out that MouseJstr has added some @commands that start with char which havent been finished, they are just there but don't do anything. * Removed mapbug.txt and corresponding function in map.c (realized it's pointless) [MC Cameri] * Added allow_atcommand_when_mute - Change this to set whether muted players can use gm commands [celest] * Temporarily leaving the changing guild emblems requiring Glory of Guild feature only for TXT until the SQL char-server supports guild skills fully[celest] * Modified battle_range again to check if src's type is a player first [celest] * Corrected typo in battle_range [celest] * Fixed a crash where party chats can be sent to a partially disconnected player [MouseJstr] 12/4 * Fixed a crash in clif_send when player disconnects but player object is not fully removed from map [MouseJstr] * Fixed a crash associated with NPC_BARRIER [MouseJstr] * Renamed flush_fifos_at_exit to flush_fifos [MouseJstr] * call check_connect_char_server() on char_server disconnect [MouseJstr] * stale skill groups were crashing server [MouseJstr] * Fixed crash in SC_LULLABY [MouseJstr] 12/3 * hacked the frozen mob issue [MouseJstr] * Fixed a battle_range crash [MouseJstr] * Updated Stone Curse, Soul Drain, Auto Berserk [celest] * Added a fix for MVP exp being multiplied twice by Gengar * Modified battle_range to check for sd first [celest] 12/2 * Fixed double login feature, resets online users when map connects to char [Wizputer] * Changed all LOGS inserts to INSERT DELAYED (MySQL has this feature and cache unimportant queries, then executes them at once together = 10x faster) [Lupus] * Skill Updates [celest] - Modified Weapon Refine - should only +1 every time. - Updated Berserk, Chase Walk, Slim Pitcher - Added skill_range_leniency : In some cases when moving to cast a skill the exe will a send a UseSkill packet before the server has moved us to the correct position, causing it to fail. Leaving this at 1 should be enough. - Fixed a bug that was causing monsters not to move towards the target * Added check for clif.c in case the server didn't realise we've died [celest] * Added a fix for @npcmove by JohnC and Fredzilla * Added motd_type : Set this to 1 if your clients have langtype problems and can't display the motd properly[celest] * Edited atcommand.c to fix compile warnings [celest] 12/1 - Make it build against gcc 2.95 [MouseJstr] - Changed #define MAX_PET_DB to 300, it's easier for people adding new pets like this. [Nas] * Skill Updates [celest] - Updated Poison React - Added Soul Change, Soul Burn - Added a somewhat crude timer for Venom splasher - Added a fix for Guild Skills causing crashes by Sara, thanks! 11/30 * Fixed client crash when disguised characters die [celest] * Skill Updates [celest] - Fixed and finished Guild Skills (~90%) - Fixed Meltdown and Overthrust used together breaking your own weapon - Updated Weapon Repair :- uses different materials depending on repaired item (Iron Ore/Iron/Steel/Rough Oridecon) - Fixed sp recovery problem, thanks to OutSider for pointing it out - Updated Tiger Knuckle Fist stun time - Added cooldown time for Emergency Recall - Fixed typo in skill.c, thanks to Toster 11/29 * Fixed crash in src/char_sql/char.c when setting chars offline [MouseJstr] * Added mapbug.txt which is displayed in map-server, displays the last bug or w/e fixed for the map-server [MC Cameri] -You may change it whenever you want -It will only show if mapbug.txt exists -This file must not be included in releases * Made some changes in map_versionscreen() to make it easier to read/change in the source [MC Cameri] * Fixed a typo in _ShowMessage() removing the message caption. [MC Cameri] * Fixed typo in map_helpscreen() showing -h instead of --?. [MC Cameri] * Added more sc_data checks in skill.c and pc.c [celest] * Updated Quagmire, Enchant Deadly Poison, Fog Wall [celest] 11/28 * Fixed a crash in login_sql/login.c [MouseJstr] * made common/socket.c more crash resistant [MouseJstr] * Added flush_fifos to socket.c so that we can make sure everything has been sent before we shut the process down [MouseJstr] * Modified src/char_sql/char.c to flush fifos on exit [MouseJstr] * Fixed a crash in src/map/map.c shutdown where it would use the char_fd session after it was alrady cleaned up [MouseJstr] * removed conf-templ/atcommand_athena.conf.orig [MouseJstr] * removed a USE from sql-files/main.sql that should not be there [MouseJstr] * Changed MSG_INFO color to bright white, since bright blue want so bright... [MC Cameri] * Made Map Removed: %d string be displayed only if there were maps removed. [MC Cameri] * Fixed online system for char not sending players left "online" to login when restarting [Wizputer] * Fixed damage formula of Cart revolution: 150% +1% per 80ea [Lupus] * Removed 2x Chance of Equipment Breaking during CRITICAL attacks [Lupus] * Fix some file props [MouseJstr] * Added map_versionscreen(), displayed when --version flag is passed on command-line. [MC Cameri] * Finished map_helpscreen(), displayed when --help flag passed on command-line. [MC Cameri] * Changed Guilds Extention Skill to +6 people per level. [Lupus] (tested it for 2 weeks! or a big server) * Added a fix for gettimeofday() for WIN32 [Codemaster] * skill Updates: - Updated Slow Poison, modified checks for skill_unit_onplace abit. [celest] - Updated Finger Offensive, thanks to orn [celest] * Updated packet_ver_flag's default value, thanks to iscandium [celest] * Added warning if motd.txt was not found [celest] (Turn on error_log in battle_athena.conf to enable it) 11/27 * Fixed a few map crashes when char-server crashes [Wizputer] * Added fix of 0x2aff and 0x2af8 flooding [Wizputer - thanks Toster] * Fixed Map crash when person uses global message hacks [Wizputer] * Fixed online system, online column works and prevent double login at the login server [Wizputer] * Fixed some compile time errors associated with showmsg [MouseJstr] * Added get_svn_revision() in core.c [MC Cameri] -Only if you have the file .svn\entries, it will show the revision # at runtime. 11/26 * Fixed Abrakadabra (2 minor bugs of consumed items - they were ignored if placed in 0 pos) [Lupus] * Finished Full Strip, Weapon Refine, Slim Pitcher and Full Protection. [celest] * Added skill_nocast_db.txt. Use it to set which skills cannot be used in which conditions [celest] 11/25 * Added @skilltree to help GM's answer skill tree questions [MouseJstr] * Update Spider Web; I believe you cannot use it on yourself now. [Codemaster] * Added Ore Discovery, and base code for Slim Pitcher and Preservation [celest] 11/24 * @charreset #reset [MC Cameri] * @charstatsall is now #statsall [MC Cameri] * @charsave is now #save [MC Cameri] * Updated most of jA's 1067; battle.c and skill.c might need more updates! [Codemaster] * Fixed char-txt crashing when closing, Codemaster free()'s. [MC Cameri] * Skill Updates: [celest] - Updated guild skills (60%) - updated Weapon Repair and Aura Blade by DracoRPG - modified Weapon Repair to use Identify's packet, should show a list of repairable items now 11/23 * Fixed script loading small/large monsters. [Valaris] * @charoption is now #option [MC Cameri] * @charpetfriendly is now #petfriendly [MC Cameri] * @charstats is now #stats [MC Cameri] * Skill Updates: [celest] - Added some code for the new guild skills (50%) and Moonlit Petals (5%) - Notes to other devs: Guild skills with id's 10000-10014 will be stored in skill_db[500-514] - Corrected Hilt Binding - Corrected Assassin Cross' dual wield - Changed player_cloak_check_type to yes by default and edited description since it's already fully implemented. - Added a bit more restrictions to Call Partner and Emergency Recall and updated mapflag for sec_pri.gat - Added pc_calcspeed and updated Cloaking so it won't need to recalculate the player's entire status everytime there is movement. 11/22 * (TXT)Stripped some code off read_gm_accounts() and made with it addGM() [MC Cameri] -Usage: addGM(account_id,level); * (TXT)Changed GM_accounts.txt to meet new standards. [MC Cameri] * (TXT)Enabled the use of id ranges in GM_accounts.txt [MC Cameri] * Added a few free()'s so that I am sure it freed the allocated memory (char & login) [Codemaster] * Changed monsters_ignore_gm option to a level value. [Valaris] (accounts greater than or equal to this setting won't be attacked by aggressives.) * Fixed mapflag #s and constants for setmapflag and remove mapflag. [Valaris] * Added skill names for kRO 11/23's new skills [celest] - Preserve, Full Strip, Weapon Refine, Slim Pitcher, Full Chemical Protection, (Throw) Tomahawk * timer.c static int timer_heap_max=0; //fix by Shinomori from eA forums ititialize static var!!! * Added the old effect list # into effect_list.txt of spira's. [shadow] * Added new flag (#3) to clif_specialeffect [MC Cameri] * @doom,@die,@doommap now display the Dark Cross effect on you. [MC Cameri] 11/21 * Display IP when wdata is expanded [Wizputer] * Added bClassChange,%; Has random chance to turn monster into another monster. [Valaris] * Re-Fixed Trade/Vending exploit [Lupus] * Fixed @whozeny. [Valaris] * Added rest of mapflags to const.txt. [Valaris] * Closed AFM files after reading, this fixed the improper char-server session #. [Valaris] * Skill updates: [Celest] - Updated Basilica, Sharp Shooting, Berserk, Meditatio (Thanks to DracoRPG!) - Fixed a typo with Blade Stop that was causing crashes, sorry. ^^; - Reverted changes to Cloaking, ours is already more updated! ^_^ - Added temporary code for guild skills to stop crashing * @alive, @raisemap, @raise, @revive now display the resurrection skill animation [MC Cameri] * @charpetrename(AtCommand) is now #petrename(CharCommand) [MC Cameri] * @charjob/(AtCommand) is now #jobchange(CharCommand) [MC Cameri] * Removed japanese interserver packets, should fix various problems (jumpto, where, charposreq). [Valaris] * Added Yor's trade exploit bug fix. Added 2 skills bugs in the bugs.txt [Lupus] * Added charcommand.c/.h for the following reasons: [MC Cameri] - Less congestion in atcommand.c - Port commands that start with @char to #, example: ~ @charoption will now be #option 11/20 * Added str_lower() function to atcommand.c (from OA). [MC Cameri] * Simplified @charchangesex to @charchangesex [player], your sex is changed to the opposite one [MC Cameri] * Added @refresh, which is like a @jumpto <>. [MC Cameri] * Added @petid to find pet names, useful when you dont know which pets have eggs. [MC Cameri] * Added an effect_list in docs/ for descriptions, free to add onto that later. [spira] - Attempt to find new skill effects. * Added "nogo" mapflag to prevent the use of @go on a specified map. [Valaris] * Fixed small/big monster spawning crashing (mixed up the merge). [Valaris] * Fixed crash with upgrading TXT and having more than 256 accounts. [Valaris] * TXT upgrades will convert broken flag to attribute column. [Valaris] * Prevent use of emotion packet to display red mute emote. [Valaris] * Initialized "day" variable in npc.c. [Valaris] * Added @whozeny. Shows list of top 50 online players and their zeny sorted from highest to lowest. [Valaris] * Added @happyhappyjoyjoy. Makes all players on server do a random emote. [Valaris] * Removed -funroll-loops from compile, thanks to kashy for pointing out the problems caused by this. (Do not re-add!) [Valaris] * Added check for max vending_max_value when reading config [kobra_k88] * Skill updates [celest] - Napalm vulcan, Enchant Deadly Poison, Slow Poison (based on jAthena 1066) - Create Deadly Poison, thanks to DracoRPG! - Added effect for Meteor Assault * Added night_darkness_level to battle_athena.conf. [celest] Use this to set 'how dark' it'll become during night time. Use 0 for default, or between 1-10. (Yeah, i know lots of people hated the original night! xP) Warning: It may cause errors with old exe's! 11/19 * Re-added check for empty bottle when using aqua benedicta. [Valaris] * Fixed skills not showing after using @allskill [celest] 11/18 * Added a line to @unmute, added @mute. [celest] Usage: @mute