Date Added -------- Read Changelog-SVN.txt for the newer SVN entries-------- 2006/04/30 * Skills with the move_enable state won't get the walkdelay increased on a skill-cast. [Skotlex] * Some corrections in the clif_parse_whisper function which should fix crashes in the chat_log under "certain" conditions. [Skotlex] * Fixed dangling pointer in pc_steal_item (missing lines) causing crash. [Lance] * Fixed lack of initialization in chrif_authreq causing crashes in chrif_authok. [Lance] * Fixed a logic error that was likely the cause of pet loot drops not working. [Skotlex] * If someone is expulsed from a guild while the guild storage is open, it will be auto-closed now. [Skotlex] * Modified battle_consume_ammo to prevent consuming multiple arrows on AC_SHOWER. [Skotlex] * Readded script command skillpointcount... [Skotlex] * Fixed and enabled STEAL skill [Lupus] * Implemented NJ_SHADOWJUMP. [blackhole89] * Moved the soul-drain code to skill_counter_additionaleffect [Skotlex] * Fixed fake NPC missing code. Thanks to Skotlex for pointing out. [Lance] 2006/04/29 * Changed the HT_DETECTING method from invoking clif_changetraplook to clif_skill_setunit since in the first the client ignores the fact that it is now a trap (rendering skills like Remove Trap useless). [Skotlex] * added script command skillpointcount. Returns total amount of skill points a char has (the value returned is the same that SkillPoint would have after invoking a skill reset) [Skotlex] * Modified Defender. Speed reduction is 35-5*lv%, damage reduction on devoted chars is 5+5*lv%. These values are custom, but should be closer to "reality" than what we had. [Skotlex] * When you have the wrong ammo type equipped, the equip arrows first message will be sent, as suggested by Haplo [Skotlex] * Changed checks of item's identify field from 0/1 to 0/non-zero [Skotlex] * Corrected TK_JUMPKICK to place the caster on the tile next to the target rather than on top of it. [Skotlex] * Small change in pc_calc_skilltree which should fix the infinite loop... [Skotlex] * Added @noask command: enable/disable deals/invites autorejecting. [LuzZza] * Removed unreferenced local variable in pc.c [Lance] * Reverted npc_checknear to exclude check for class_ -1. * Removed npc_checknear in npc_buysellsel, npc_selllist and npc_buylist as enough preventive measures of hacking are already implemented. [Lance] * Updated STEAL skill (WIP), added a battle config option: [Lupus] 'skill_steal_max_tries' to set max number of stealing tries. It could help to fix stealing exploit on mobs with few drops * Added support for packet 0x229 (clif_changeoption). [Skotlex] * Bumped up PACKETVER to 7 to enable use of packets 0x229 and 0x22c [Skotlex] * Added missing next/prev initialization in chat-creation. [Skotlex] * Added missing sql-files/mob_db.sql... somehow it was missing from the mob_db update. [Skotlex] * Clones can't be class-changed now [Skotlex] * Readded the class == -1 distance check in npc_checknear [Skotlex] * Replaced check sd->trade_partner for sd->state.trading in clif.c [Skotlex] * Using malloc for memory allocations that doesn't need to be pre-initialized. * Eliminated initializations for pointers returned by calloc. * Moved grfio_final to do_init since it's not used after server boot. * Optimized scripts to return CONSTSTR instead of allocating memory just to return a constant string. Some buildin functions still need work. * Disabled graph since it doesn't work yet. [Lance] 2006/04/28 * Modified the mob_db structure. The mvp related columns were moved to before the drops, amount of drops increased from 10 to 15. [Skotlex] * Updated sql-files/mob_db.sql (and mob_db2.sql) to latest. [Skotlex] * Modified HP conversion so that it fails when you don't have enough Hp. [Skotlex] * Cleaned up Strip skills so that the skill animation will only show when something was stripped. [Skotlex] * Added constant MAX_MOB_DROP to specify the amount of normal drops a mob has. The mob_db reading code will automatically parse the file according to the number of drops expected (the Mexp/Mper and MVP item rewards must still be after the normal drops). Set to 10 currently. [Skotlex] * Mobinfo's drop list will use jName rather than Name for drop names. [Skotlex] * Some cleaning of the ASC_BREAKER code in skill_attack [Skotlex] * Modified skill_attack so that all skills with amotion get their damage delayed (should fix mob walk-teleport issues) [Skotlex] * Added function stristr to strlib.c, used by mob.c and item_db.c for case-insensitive seeks. [Skotlex] * Removed the sending of the online guild list when you log-on, may fix the "getting stuck" problem. [Skotlex] * Added battle config default_skill_delay. Specifies the default skill delay for most skills, it is also applied as a walkdelay (total skill walkdelay is default_skill_delay + that skill's can't walk delay) [Skotlex] 2006/04/27 * skill_castend_id and skill_castend_pos will trigger unit_stop_walking with flag 1 (fix pos) rather than none. Should fix some skills making you appear moving while doing them. [Skotlex] * Modified clif_skill_nodamage to allow for a NULL source. This is to simplify code related to AL_HEAL/MG_RECOVERY effects where someone shows a healing value, but there's no "caster" in sight (Pitcher skills, Blood Drain, Kaahi) [Skotlex] * Updated Kaahi to use clif_skill_nodamage to display amount healed. [Skotlex] * Added unlocking ud.target on mob_unlocktarget, fixes mobs chasing you around while cloaked. [Skotlex] * Changed the default rate of clone mob skills to 5% modified by mob_skill_rate setting. [Skotlex] * Applied some changes in unit.c to make mobs pick chase paths as they should. [Skotlex] * unit_remove_map will reset attackable-time, canact and canwalk delays. [Skotlex] * Added a timer in clif.c so that walk requests that are done while your cannot move duration will be delayed and processed afterwards (as long as the walk delay remaining is less than 2000 ms) [Skotlex] * Some changes in the slave skill conditions. All their skills are triggered at a 10% chance now. [Skotlex] * Changed in the behaviour of wedding skills, they should be getting all the land-skill checks now. [Skotlex] * Small change in @commands, may fix the null-pointer error. [Skotlex] * Changebase script command will also refresh the weapon sprites (in case you changed into Wedding/Xmas class) [Skotlex] * Small change in the pet_ai that should stop the "strange" catch-up behaviour of pets when you are much faster than them. [Skotlex] * Corrected the unequip script of the wedding dress/tuxedo (it should be Class, not bClass), item_db.sql was also corrected. [Skotlex] * Small change in the pet_ai that should stop the "strange" catch-up behaviour of pets when you are much faster than them. [Skotlex] * Now when you do @baselevel to reduce your level and you don't have enough stat points to deduct, you will get a stat-reset and THEN your stat points will be reduced. [Skotlex] * Added at command @commands, displays the list of commands available to you. Defaults to level 1. [Skotlex] * Added the missing clif_* calls to make changebase's view-class change update on the client. [Skotlex] * Added battle config hide_woe_damage which hides damage on woe maps packet-wise (battle/client.conf). [Skotlex] * Fixed base-level up @ command giving stat points instead of taking them away when leveling down. [Skotlex * Some small change in pc_heal which would let you have negative SP if you were killed on the same pc_heal invocation. [Skotlex] * Added 3rd argument to script command 'setmapflag' thx to Jbain [Lupus] setmapflag "prontera.gat",mf_pvp; setmapflag "prontera.gat",mf_jexp,100; Now you can dinamically increase/decrease EXP rate on set maps e.g. you can lower EXP on the cmd_fild02 ^_- 2006/04/26 * Updated sql-files/item_db.sql to current. [Skotlex] * Item use interval is set to a default of 100ms now since that should be low enough to not bother real players and it should cap somehow bot/macro spams. [Skotlex] * Updated Full Buster so that the can't act delay carries on to the weapon attack delay and can't use item intervals. [Skotlex] * Added script command getbattleflag to retrieve the current value of a battle_config switch. [Skotlex] * When Taekwons level up they get Bless and Agi Up level 10 instead of the S.Novice bonuses. [Skotlex] * Increased number of hits for TK kicks. 3 hits for TK_COUNTER and TK_TURNKICK, 2 hits for TK_STORMKICK and TK_DOWNKICK (until further information arrives) [Skotlex] * Modified how changebase script command works, the change caused by it is permanent (at least until logout). Updated the Tuxedo and Wedding dress to use onequip/onunequip scripts to change the look. [Skotlex] * Changed the skill_wall_check to use shoot-path seeking. May fix skill_wall_check setting. [Skotlex] * Fixed typo in skill.c: skill_clear_group [Lance] 2006/04/25 * Added battle config traps_setting to determine how traps should behave. With &1 traps are invisible if you didn't see them get set up. With &2 traps will be removed after changing maps. The default is 2. (battle/skill.conf) [Skotlex] * Cleaned up a bit the implementation of SC_MAXIMIZEPOWER, SC_CHASEWALK and SC_CLOAKING to prevent infinite looping timers. [Skotlex] * Fixed NPC_SUICIDE dropping items. [Skotlex] * Moved the mapflag skill restrictions from skill_checkcondition to skillnotok, this makes auto-spells not work in maps where they aren't allowed. [Skotlex] * Added TK_HIGHJUMP to skillnotok, the skill is blocked in noteleport maps (with the exception of gvg ones) [Skotlex] * Modified and simplified the random item group format. It now is ,,, where Rate normally is 1, greater numbers is the equivalent of adding the line multiple times. Also has support for import lines. [Skotlex] * Added constants to identify all item groups to db/const.txt [Skotlex] * Cleaned up and updated item_db to use these new constants (warning: item_db.sql needs to be updated! Sql-db users should not update until this file is updated) [Skotlex] 2006/04/24 * Simplified npc_gettimerevent_tick so that it should return a tick value even after the last ontimer label has been reached. [Skotlex] * All GMs will be sent to the char server through packet 0x2aff now. (previously hidden gms were not sent to the char-server as online) [Skotlex] * Made mob_searchname compare versus sprite, name and jname now. [Skotlex] * Added script command escape_sql. It will return an escaped string for use in the sql_query script command (in case you want to use input of players in your queries). [Skotlex] * Removed the skill packet from TK_RUN as the client ignores the walkok packet sent right after it. It displays just fine on the client now. [Skotlex] * Added DNS Blocklist support. Set in login_athena.conf. I'll make it more customizable tomorrow, I coded it pretty bad. [Zido] * Corrected mob_spawn_delay/boss_spawn_delay/plant_spawn_delay settings (they were named rate rather than delay in monster.conf) [Skotlex] * Cleaned up @grind2, @monsterbig, @monstersmall. [Skotlex] * Modified override_mobs_names to work only on the mob spawn files instead of everywhere (so now script-summoned mobs should keep their custom names intact) [Skotlex] * Added logging of deleted characters when the char_log is enabled. [Skotlex] * Fixed skill_delayfix not altering delay at all after you reached 150. [Skotlex] * Applied ers to pet loot drops and cleaned up the pet loot drop function. [Skotlex] * Mob skill state MSS_ANY won't include MSS_DEAD now. [Skotlex] * Added mob skill state MSS_ANYTARGET ("anytarget") which means any state (except dead) on which the mob has a target set. [Skotlex] 2006/04/23 * Added new column to mob_db Sprite_Name to hold the mob's sprite name. Columns Name and JName now hold the mob's english and kro names respectively. [Skotlex] - Currently both Name and Jname have the KRO names, so someone will have to update the Name column with the english Mob Names. * Updated mob_db.sql and mob_db2.sql to latest. [Skotlex] * Added battle_config option override_mob_names to make the spawned mob use the mob_db names instead of the specified names in the spawn files. Defaults to 0, 1 is to use Name column while 2 is to use the JName column (see battle/monster.conf) [Skotlex] * Idle skills won't trigger while the mob is walking (that is for the state "walk") [Skotlex] * Idle skills will now trigger each IDLE_SKILL_INTERVAL iterations (10 currently) [Skotlex] * Added support for walk packet 0x22c, will be used when PACKETVER is set to 7 or above (packetver is still set to 6 for now) [Skotlex] * Normal walking will now also trigger mob skills (due to the walk skill condition) [Skotlex] * additional experience multiplicator as mapflags which is based off battle.conf so with battle.conf rates 200 and "mapflag 200" it will be 4x on this specific map and 2x anywhere else [Jbain] 2006/04/22 * Angelus was giving more bonus than it should. Fixed. [Zido] * Added Option constants for Carts, fixed OPTION_FLYING (it conflicts with OPTION_XMAS?) [Skotlex] * Updated clif.c to check for OPTION_WEDDING|OPTION_XMAS instead of view class to block attacks and skill usage. [Skotlex] * Cleaned up change-cart code. [Skotlex] * Modified SC_XMAS to not change your view anymore and only set the proper option value (OPTION_XMAS) [Skotlex] * Cleaned up the code regarding char_gm reading. [Skotlex] * Changed the option field to unsigned short to make room for the higher values. [Skotlex] 2006/04/21 * SC_CLOAKING's val4 now holds whether cloaking ends or not on attack. [Skotlex] * Implemented NPC_INVISIBLE, it starts SC_CLOAKING with val4 set to 1. [Skotlex] * Updated the HP/SP leech structures to have race-data attached to them. [Skotlex] * Merged all leeching code to new battle_drain function. [Skotlex] * Simplified a bit the code for Signum Crucis [Skotlex] * Added script bonuses: [Skotlex] bonus3 bHPDrainRateRace,,,; bonus3 bSPDrainRateRace,,,; bonus2 bHPDrainValueRace,,; bonus2 bSPDrainValueRace,,; * Fixed items not really getting unequipped when they should. [Skotlex] 2006/04/20 * Fixed the equip/unequip scripts not triggering for compounded cards. [Skotlex] * Char server will now ignore packet 0x65 for already authentified accounts. [Skotlex] * Added two columns to item_db: equip_script and unequip_script are scripts that are executed once when the corresponding item is equipped or unequipped respectively. [Skotlex] * Removed bonuses bDamageWhenUnequip, bLoseSPWhenUnequip as they are no longer needed. [Skotlex] * Updated sql-files/item_db.sql with latest. [Skotlex] * Fixed buffer overflow in clif_MainChatMessage. It now prints a Debug message with the offending line. [Skotlex] * Cleaned up a bunch of GS/NJ skills [Skotlex] * Fixed Gatling Fever crashing server when used by non players. [Skotlex] * Added support for n to specify minutes to @charban. [Skotlex] * Added state.trading to specify when a trading has started. Now you should be able to walk around until the trade is either rejected or started. [Skotlex] * Armor defense is no longer reduced by the amount of characters targetting you. [Skotlex] 2006/04/19 * Updated the doc/script_commands.txt documentation in regards to npc mob spawn lines. [Skotlex] * Added back the "you can't walk delay while attacking" to unit_attack_timer, now when you want to walk during your attack animation, you will only stop attacking, you will have to click again to move. [Skotlex] * Fixed a pair of wrong mapflag lines in nopvp.txt [Skotlex] * Removed the max cap of autoloot so you are now allowed to set autoloot values above 100. [Skotlex] * Initialized w1/w2/w3/w4 before reading each npc line to avoid sending unread values to the parsers (for example, if w4 has a value in one line and none on the next, it will be parsed with the previous value of w4 on the following lines), this could cause serious problems with mapflags and the recent "off" addition. [Skotlex] * Updated getpartymember to receive an int which specifies what to retrieve. 0: Character names (array $@partymembername$), 1 character char ids (array $@partymembercid), 2 character account ids (array $@partynameaid). By default it returns party member names. [Skotlex] * Updated script_commands.txt with the updated behaviour of getpartymember. [Skotlex] 2006/04/18 * Fixed a typo in map_search_freecell which was returning incorrect cells according to the ranges given. [Skotlex] * A tiny fix to @kami [Zido] * The IRC Bot can now autojoin when kicked, set in irc_athena. [Zido] * Added @who to the IRC Bot, outputs all online characters. [Zido] * Changed the memory manager fatal errors when allocating memory to print out the size request as well as the file and line where they originated. [Skotlex] * Fixed the delete_timer (@summons, alchemist plants) not invoking unit_free, hence causing memory leaks and the like. [Skotlex] * Applied jA's patch to fix a bug in the scripting engine in regards to priority of operators. Thanks to End of Exam for the information. [Skotlex] * Removed message 592 from trade.c [Skotlex] * Added support for disabling mapflags on a mapflag line: [Skotlex] comodo.gat mapflag nomemo <- turns on nomemo mapflag comodo.gat mapflag nomemo off <- turns off nomemo mapflag * Removed mapflag nopvp due to the above change. [Skotlex] * Cleaned up and optimized the restricted/zones mapflag. Restricted cards will just not work in disallowed maps rather than blocking the compounded equipement from being used. [Skotlex] * Converted the format of the battle conf files to windows format [Playtester] * Shinomori's method (kinda) of remote script execution with interaction. [Lance] 2006/04/17 * skill_clear_unitgroup is now invoked in unit_remove_map only on death if the applicable battle setting is set. [Skotlex] * Changed setting clear_unit_ondeath to a type 4 (bl-based) which defaults to BL_ALL. [Skotlex] * Fixed Absorb spirit sphere not working on mobs, thanks to Vividd. [Skotlex] * Cleared the ud->target on pc_stop_attack to prevent attack resuming an other such oddities. [Skotlex] * I seem to have broken @kami with my last commit, fixed. [Zido] * Added @users to the IRC Bot, outputs the # of users online. [Zido] * The baby check when wearing a tuxedo/dress now works [Zido] * Fixed pet being incorrectly removed when it had intimacy 0. [Skotlex] * Some cleanup in the TK_RUN related code. [Skotlex] * Added variable walk_count to unit_data to be use as a counter for cells walked for walk-triggered skills, on-chase skill triggers are now done every 5 cells (it is the closest value that makes the average mob trigger a chase skill every second). [Skotlex] * mob_skill_db needs updating since it's current use rates for chase-skills assume the trigger is every 100ms rather than every second. * Fixed TK_RUN having a cast-bar when attempting to stop-running and generating timer_delete errors when halting as well. [Skotlex] * Clearing the dummy npc after fooling the client. [Lance] * Updated DLLS. Please DO NOT update the libs from now on (except if mySQL has newer builds which are not compatible with client DLL). [Lance] 2006/04/16 * Fixed the first call to the walk timers having the tick interval halved, which made all walking timers be off by half cell with the actual position displayed client-side (so everyone reaches destination cell server-side half-cell before the client). [Skotlex] * Fixed being halted when you are walking so that: 1. Your position refreshed on the screen is correct (the current tile if you haven't reached at least half path between the current and next tile and the next tile otherwise) and 2. If you are halted before walking even one cell, you will be moved to the next cell (to effectively prevent stun-locking). [Skotlex] * Modified @monster command to use map_search_freecell (prevents mobs spawning on non-walkable tiles) [Skotlex] * Modified @nuke to invoke skill_cast_nodamage_id instead of the damage_id version (fixes sprite and splash damage for the skill) [Skotlex] * Fixed char-sql server still reading the old lanconfig format rather than the new one. [Skotlex] * Removed water_height.txt reading (since it is always done from the rsw now) [Skotlex] * Fixed a possible crash in grfio_find_file [Skotlex] * Corrected water-level-reading to account for a return of null from the previously mentioned function [Skotlex] * Fixed mysql ping setting being in minutes rather than hours. [Skotlex] * Removed npc_event_sub from npc.h and moved it to npc.c [Skotlex] * Cleaned up #warp to prevent spitting non-walkable tile warnings. [Skotlex] * Changed the meaning of msg_athena 2, it is now "invalid target cell, randomizing". [Skotlex] * Fixed wrong check of Deluge + Suiton which broke the water-requirement check for skills. [Skotlex] * Cleared ud->target on remove-map, it should fix the phantom mob sprite issue. [Skotlex] * Temperory fixed compiler warnings/errors. Please compile before commiting. [Lance] * Added pcre3.dll, zlib1.dll and libmysql.dll. DO NOT DELETE THEM. (Required by systems without these DLLs preinstalled) [Lance] * Experimental npc_event_doall_sub with queue and npc_id allocation when needed. [Lance] * Added warnings to npc_scriptcont for easier debugging. [Lance] * Missing lines in npc_parse_script! [Lance] * Sending fake npc for inputs and menus for NPC without map coordinates. [Lance] 2006/04/15 * Fixed upgrade_svn5902.sql, thanks to Koshiro for pointing it out. [Skotlex] * Updated skill_attack to allow characters not on a map to attack (enables traps and the like to work when they aren't cleared on the character's death) [Skotlex] * Removed use of packet 0x1c9 for skill_unit display, except for Graffiti (which is the only unit which requires the much larger packet) [Skotlex] * clif_getareachar_skillunit will send the unit_id of UNT_ATTACK_SKILLS for traps (this is to prevent them from displaying on the client) [Skotlex] * Updated libs, Updated vc project files, And deleted uneeded DLLs. Credits to ALZ. [Zido] 2006/04/14 * Updated sql-files/mob_db.sql to current. [Skotlex] * Fixed being able to do all the stuff you shouldn't be able to during the petrifying state. [Skotlex] 2006/04/13 * Updated sql-files/item_db.sql to current. [Skotlex] * Added an Info message when pinging the SQL servers. [Skotlex] * Fixed crash when looking for SC_MIRACLE in battle_calc_weapon_attack [Skotlex] * Some more standard C code cleanups. [Skotlex] * atcommand_param and charcommand_stats to make them standard C (so it may compile with the Borland C). Also cleaned atcommand_param against overflows. [Skotlex] 2006/04/12 * Removed the noteleport mapflags from two juperos maps [MasterOfMuppets] - added the nopenalty mapflag to hugel.gat * Halved the aftercast delay of auto-casted spells. [Skotlex] * Allowed auto-spells to retrigger themselves. [Skotlex] * Changed slave chasing from using unit_walktobl to map_search_freecell + unit_walktoxy, since the previous behaviour makes all slaves always end up on the same cell. [Skotlex] * Removed area of effect of Assumptio. [Skotlex] * Added "can't act" delay update when an auto-spell triggers. [Skotlex] * Expanded the warp warning so that it also warns when a warps takes you to a non-walkable tile. [Skotlex] * Simplified the mob-drops structure by using a single timer with a linked list of drops instead of separate timers for each drop. [Skotlex] 2006/04/11 * Added special_state changebase to identify when a character has a special-view associated with some equipment to correctly revert the look when you take off said equipment (fixes tuxedo/wedding dress when you use modify_wedding_display: yes) [Skotlex] * Removed the piece of code that "guesses" that job classes between 24 and 68 are advanced classes from mob_avail reading since they conflict with NJ/GS. Use the correct class numbers from now on! [Skotlex] * Cleaned up implementation of BlastMine and Claymore Trap. [Skotlex] * Added Freezing trap information to battle_calc_weapon attack. [Skotlex] * Merged the can't walk delay code into the weapon-damage delay one, means less timers for attacks, as well as fixing the ghost-mob issue that reappeared recently. [Skotlex] * Traps will not be displayed when you walk within their range. [Skotlex] * Added HT_DETECTING revealing traps. [Skotlex] * Added ers handling for skill_timerskill structures. [Skotlex] * You don't get critical'ed when in counter-attack stance anymore. [Skotlex] * Changed the default counter-type to "always critical". [Skotlex] * Implemented use of ers for skill_unit_groups to reduce memory usage. * Note that it's NOT TESTED yet. Use with caution, at least some obvious bugs are expected to be found... [Skotlex] * Modified battle_check_range to do a path-check on distances less than 2 (rather than 3) to avoid being able to hit through walls. [Skotlex] * Modified unit_walktoxy_sub to always move at least one cell when a large chaserange is specified to prevent possible infinite loops where attack_timer says you are not within range, but unit_walktoxy says you are. [Skotlex] * Fixed Looted items always dropping in quantities of one. [Skotlex] * Removed the check that deletes Magnus Exorcism cells after they hit once. [Skotlex] 2006/04/10 * Temperory replaced strtoll to strtoul until the function changes. [Lance] * Multiple optimizations to the unit_data auto-chase upgrade, also simplified the mob and pet ai routines. [Skotlex] * Simplified the walk routines to half the number of timers required for walking. [Skotlex] * Finished fixing the unit_data auto-chase update. Still need to do some optimizations... but the current code-base should be usable. [Skotlex] * Fixes to the unit_data update that lets characters auto-chase while attacking. It seems to work mostly now, but there's still a few issues to be resolved with ranged-attackers. [Skotlex] * Modified the unit_data structure to handle automatically switching between chasing and attacking a character. Note that it's a work in progress and not yet properly tested/finished... [Skotlex] - DON'T USE THIS YET. There's much testing that needs be done, but I had to commit now so I may continue work on it later.... * Updated the subnet support to not require specifying the subnet mask, it is auto-acquired from the char/map IP and the subnet-mask. [Skotlex] * skill_wall_check defaults to yes now. [Skotlex] 2006/04/09 * Added the missing last_thinktime initialization to pets. [Skotlex] * Reverted the change in skill_wall_check to let skills go over pits. [Skotlex] * Changed use of strtol to strtoll when reading the equip_jobs as strtol's result is just a signed int, fixes reading of equippable jobs for certain items. [Skotlex] * Corrected Knives being usable by Gunslinger. SQL users use upgrade_svn5972.sql to ugprade that. [Skotlex] * Modified @warp/@rura to prevent causing pc_setpos position error messages. [Skotlex] * Fixed the mob's last_thinktime not being updated on mob_spawn, causing them to not "think". [Skotlex] * Fixed @npcmove not sending the correct packets to make the moving refresh client-side. [Skotlex] * Fixed mobs with aggressive + looter mode never looting. [Skotlex] * skill_wall_check now also checks for pits so that skill effects don't go through them. [Skotlex] * Now you can't leave/be-kicked from a guild inside guild castles. [Skotlex] * Fixed map_waterheight prefixing extra "data\" [Lance] * Mob_ai update. The attacked checks will trigger even if the mob can't move. Being attacked while the mob can't move no longer will trigger rude-attacked skills. [Skotlex] * Changed the default of multi_hit_delay from 230 to 80 which seems more official. [Skotlex] * Wedding recall skills are now blocked by the nomemo mapflag instead of nowarpto. [Skotlex] * Skill delay for weapon types is now based on adelay (ASPD) rather than amotion (ASPD/2) [Skotlex] * Removed ending Endure when casting Berserk, may fix the timer mismatch issues. [Skotlex 2006/04/08 * Fixed skill_nocast_db reading so that when the same skill is specified multiple times, the blocked effects add up instead of replacing each other. [Skotlex] * Fixed @movenpc [Skotlex] * Cleaned up and improved the lootsearch routine to pick nearest item. [Skotlex] * Fixed trying to set the view_data for npcs who are located on a map, but have no visual data. [Skotlex] * Added irc_athena.conf :) from now on, set your irc configuration in conf/irc_athena.conf [Zido] * Removed the baby class check when using "changebase" to change to the Wedding Sprite, since it fixes the bug that the sprite doesn't show at all, and baby classes arn't messed up by it anymore. (or so it seems) [Zido] * Fixed up irc.c, no more crashes :D [Zido] 2006/04/07 * Likely fixed a mob not returning to their original class view on respawn after they changed class in their previous life. [Skotlex] * The map-server can now read the equip_job column of the item_db as both decimal and hexadecimal values. [Skotlex] * Updated item_db.sql current item_db.txt [Skotlex] * Added upgrade_svn5951.sql for those who would like to convert their existing items. (it converts the equip_jobs fields to the new values used) - See db/Changelog for further info regarding the equip_job fields change. [Skotlex] 2006/04/07 * Moved the Fusion HP penalty to battle_calc_weapon_attack [Skotlex] * Some cleaning to use battle_heal/damage rather than pc_heal/damage where appropiate. [Skotlex] * Cleaned up the deadly-poison hp reduction code. [Skotlex] * IRC User access levels now refresh on a mode set and join/part. [Zido] * Added missing creation/destruction of the expcache_ers in guild.c [Skotlex] * Unified status_remove_buffs/status_remove_debuffs into a single function. [Skotlex] * Fixed pc_setpos ignoring the clrtype sent to it. [Skotlex] * unit_free will now use clear type 3 for players (warping out effect) [Skotlex] * You can't invite someone to a guild now within Guild Castles. [Skotlex] 2006/04/06 * Hopefully fixed the wedding item-trade restriction. [Skotlex] * Fixed status_clear_buffs making SC_BERSERK's end send you to 100hp. [Skotlex] * Rewrote the guild exp cache code to prevent overflows and to use the entry reusage system. [Skotlex] * The IRC Bot is now able to check each users access level prefix in the channel (~/&/@/%/+), the IRC command @kami now requires the user to be at least channel operator(@). Now I need to make it store the users access level on every nick/mode change. [Zido] * Changed the default of skill_add_range to 0, said value now disables skill-range checking when casting ends. [Skotlex] * Corrected the Soul Drain formula, thanks to Haplo for pointing it out. [Skotlex] * Addded missing aldeg_cas01 to NOWARP mapflags, thanks to Justin84 [Lupus] - And we set lhz_dun03 nowarpto mapflag by default till check it on eRO/kRO * Changed the random warping of mobs with no players from mob_spawn to unit_warp, which prevents MSC_SPAWN skills from being retriggered for already spawned mobs. [Skotlex] * Modified @allstats to prevent negative/overflow issues. [Skotlex] 2006/04/05 * Fixed undisguising not clearing the mob sprite for the disguised character. [Skotlex] * Fixed parsing of job_db1.txt due to the MAX_WEAPON_TYPE change. [Skotlex] * TK ranking kicks can't be used on sucession now (can't use any of the kick skills twice in a row without using a different one first). [Skotlex] * Modified the ammo checks so that ammo is consumed at the end of battle_calc_weapon_attack (should fix element being lost on final arrow). [Skotlex] * Added a define list for weapon types in pc.h [Skotlex] * Cleaned up pc_checkallowskill and moved the Gatling fever check to it. [Skotlex] * Some cleanup of clif_parseloadendack, fixed guild-member list being sent on all map-changes. [Skotlex] * Removed the hardcoded removal of characters who spawn in a castle. All castle maps got the flag nosave now. [Skotlex] * Added support for the 2006/04/04a Sakexe packet version. [Zephiris] 2006/04/04 * Added inter config connection_ping_interval which specifies interval in hours at which mysql_ping's must be done on all connection handles to keep the mysql connection alive. Defaults to 0 (disabled) [Skotlex] * Made the login sql handle on the char-sql server be used only when gm_read_method 1 is enabled. [Skotlex] * Small fixes to npc_enable, added BL_NPC handling on status_get_sc. [Skotlex] - Some changes to close-confine, status start will fail when the source is not found or it doesn't has sc-data. [Skotlex] - pc_setoption no longer changes the character's class when mounting/dismounting, it only changes the view-class. [Skotlex] * Modified the char-txt server to modify the class of mounted characters to their non-mounted version. Added an upgrade_svn5902 file to handle the class update on the sql tables. [Skotlex] 2006/04/03 * Fixed pc_setpos using unit_remove_map with type 0 instead of 3, which confuses clients and makes them think the character in question is still standing on the spot where it was removed. This should fix the warp-portal issue. [Skotlex] * Fixed script command mapwarp. [Skotlex] * Fixed Auto-counter. [Skotlex] * Modified Rude-Attacked behaviour so that such skills only triggers when the rude-attacked count is greater than 3. [Skotlex] * Added config setting slaves_inherit_mode to determine whether slaves take on their master's aggressive/passive status (defaults to yes) [Skotlex] * Disabled NPCs are now handled through nd->sc.option&OPTION_INVISIBLE checks. Should fix disable/enablenpc calls not working. [Skotlex] * Moved skill_counter_additional_effect calls to trigger right after skill_additional_effect (which means they trigger at the end of the attack motion for physical attacks instead of at the beginning of the attack animation) [Skotlex] * Cleaned up (fixed?) a possible overflow in pc_isUseitem, thanks to foobar. [Skotlex] * When you have the wrong ammo-type equipped the skill-failed message is now "skill can't be used with this weapon", which is less misleading than "please equip arrows first". [Skotlex] * Corrected pet-equipment display (I originally assumed they went in the shield view-position, when they actually go in the head-bottom position). [Skotlex] 2006/04/02 * Fixed npc_gettimerevent_tick returning the difference since the last triggered label instead of total elapsed time for the npc-timer. [Skotlex] * Added a missing memset on ers_alloc'ing mob loot which was making data from looted items fill in normal drop info (in other words, you could get normal loots that were named after players, for example) [Skotlex] * Added preventing sending packet clif_clearchar_id when the character in question is invisible. [Skotlex] * Added packet 0x7c in clif_spawn which was supposed to be used for non-players (this fixes pets/mobs/npcs spawning as if they just teleported into view) [Skotlex] * Some cleanups to clif.c, removed some excess/broken packets/functions. [Skotlex] * Merged Larry's fix of using a timer to get rid of the glow-issue when you login to night-enabled map. [Skotlex] * Changed arrows View ID to 22 since daggers were already View ID 1. The server was looking for daggers to be in your arrow slot. [Reddozen] * Loading waterheight aliases from resnametable.txt. [Lance] * Workround the warnings for clif.c (what to do? the original codes are ugly.. passing values as pointers omgwtfbbq). [Lance] 2006/04/01 * Added a exp-even-share check when someone leaves a party. [Skotlex] * Added function clif_changetraplook to handle changing the appearance of traps as they are triggered. Fixes all the nullpos related to trap usage. [Skotlex] * Fixed berserk not raising your HP to your new cap. [Skotlex] * Fixed ground-skills not displaying damage done. [Skotlex] * Fixed a few functions sending a negative ID for disguised characters (such as clif_specialeffect) which very likely produced client crashes. [Skotlex] * A small cleanup on npc-whispering which could fix a reported crash on it. [Skotlex] * Removed the gm-whispering of the charnameack hack notice since it isn't perfected yet. It is still reported on the console for debugging purposes. [Skotlex] * Fixes to the mob_ai routines. Prevent casting rude-attacked skills in situations that shouldn't be considered as so. Fixed mobs failing to chase after enemies when attacked from out of their view_range. [Skotlex] * Should not exit when you can't find an NPC file.. [Lance] * Dynamic shops support with script callback. (needs testing) [Lance] * Cleaned up and fixed @where command. [Skotlex] * Fixed standing up no really making you stand up. [Skotlex] * Added upgrade_svn5834.sql to update view for item type 10. Because of the ammo upgrade, all arrows need their view set to 1. This query does that to all type 10 items (this includes all ninja weapons as well, but a proper item_db.sql update is pending until the rest of throwables are updated) [Skotlex] * Fixed compiler warnings. [Lance] * Added structure view_data to handle sprite information for all characters (equipment, weapons, hair, dyes, etc). [Skotlex] * Rewrote several clif functions to adapt to the new view_data class. [Skotlex] * Rewrote the way cloth dye packets are resent to optimize bandwidth usage. [Skotlex] * Fixed the npc_item_flag thing (enable_items/disable_items script command) [Skotlex] * Rewrote the disguise implementation to be bandwidth friendly. [Skotlex] * Modified the hide options to change your class to INVISIBLE_CLASS, since such classes don't even get their view packets sent around. [Skotlex] * Added class 139 to npcdb_checkid which was required by some npcs in the swordman quest. [Skotlex] * April fool! Improved soundeffectall script command. (No, this is not a lie) [Lance] 2006/03/31 * Fixed skill_require_db loading of the new ammo columns. * Added a column to specify the amount of ammo required for skills that require it. [Skotlex] * Added support for ArrowType requirement on skills. It checks for having an item equipped on the arrow-slot who's view has to match with the required arrow-type (works the same way it does for weapons). [Skotlex] * Skills will automatically be ranged and arrow-types when they have a arrow-requirement in battle_calc_weapon_attack [Skotlex] * Skills will automatically consume arrows if used with a bow and the skill is an attack weapon-based skill even if the skill_require_db doesn't specifies arrow requirements (this is for stuff like backstab used with bows) [Skotlex] * Fixed an infinite recursion in the Wedding Recall skills. [Skotlex] * UNT_ATTACK_SKILLS unit packets won't be sent to the client as they are supposed to be invisible anyway. [Skotlex] * Started work on commands for the IRC Bot, At the moment you can use !eakami to broadcast a message, edit ALLOWED_NICK in irc.c to change the nickname of the person that is allowed to use it (Shitty authentication method, I know, but i'll make user/pass method soon enough.) [Zido] * Modified a bit the skill packets of Sharp-Shooting and Brandish Spear in hopes of fixing it. [Skotlex] * Should fix a bug in GM stealth mode (@hide). [Lance] 2006/03/30 * Updated char name option. [Vicious] * Added a missing return that fixes crashes on status_change_timer when source is not found. [Skotlex] * Added year day return in gettime function. gettime(8) returns 1~366 [Foruken] * the auth function in login.c won't jstrescapecpy passwords that were encrypted. Thanks to foobar. (but are still more cases to check for? Dunno, the code is kinda long...) [Skotlex] * Endure level 11 and above are now considered infinite-endure, and invoked when Berserk is active. [Skotlex] * Set the minimum pet hungry delay to 10 [Skotlex] * modified functions skill_delayfix and skill_castfix to reduce number of arguments. Added function skill_castfix_sc for mobs (who only get status change cast reductions, not dex based ones). Also, skill_delayfix will never return a value below min_skill_delay_limit. [Skotlex] * Modified brandish spear so you won't see the skill-animation for every targetted mob. [Skotlex] * Added the Steel Body icon to auto-berserk. [Skotlex] * Now you can't cast auto-counter while the previous one is active. [Skotlex] * Added Veider's suggestion to do a hack-report when players request the name of an invisible/cloaked character. [Skotlex] * Added execution of OnInterIfInit, OnCharIfInit and OnInterIfInitOnce on script reload. [Lance] * Cleaned up mistakes in irc.c [Lance] 2006/03/29 * Now none of the pet-menu options will have any effect when the pet's intimacy is 0. [Skotlex] * Applied a fix to not do range checks on npc_doevent when the npc is not on a map. [Skotlex] * You can't return to egg a pet that has run away now. [Skotlex] * Added ers support to the delayed mob drops. [Skotlex] * Some cleaning of the mob_ai. Mobs should stop chasing once you are beyond their min_chase range. Improved rude-attacked checking when mobs can't move. [Skotlex] * range3 is now used as min-chase value of mobs. [Skotlex] * Added a debug message when status_change_timer fails. Report it next time it shows up. [Skotlex] * Fixed tick direct modifications increasing duration instead of decreasing it. [Skotlex] * You can't SG_FEEL maps already memorized. [Skotlex] 2006/03/28 * Fixed the Family recall warp skills. [Skotlex] * Fixed pc_percentheal giving life when the rates are negative. [Skotlex] * Fixed resetting stats losing the +52 bonus on high classes. [Skotlex] * Fixed Wedding support skills healing yourself instead of partner. [Skotlex] * Added a check to prevent knocking back the Emperium at all costs. [Skotlex] * Fixed summon mobs being able to cast "summon" skills. [Skotlex] * Summoned mobs will inherit the size and ai properties of the master. [Skotlex] * Added a debug function to locate all "looping warps". [Skotlex] - Now will someone help cleanup those warps? * Some cleanup of the skill-use functions in clif.c [Skotlex] * Fixed Gunslinger and Ninja skills not showing up and not working due to an error in skill_require_db - also commited a commented block for GS_FLING that needs to be looked at and posiably cleaned before it's uncommented. - fixed exp2 not accepting Gunslingers and ninjas - fixed the "jobmaster" having the same problem as rebirth - added the Gunslinger shops for guns and ammo [Reddozen] * Modified clif_getareachar_pc to hide hidden GMs from normal players (players with GM level > 0 still able to view) by NOT sending the coordinates. [Lance] 2006/03/27 * Removed the limits.h file which just breaks compilation on *nix systems [Skotlex] * Updated some DB work from jA [Vicious] * HW_GANBANTEIN now also removes traps. [Skotlex] * PF_DOUBLECASTING takes effect amotion time after the initial cast instead of amotion*div [Skotlex] * SG_KNOWLEDGE now lasts time1 after you quit a map before it clears out (defaults to 10 mins currently) [Skotlex] * Modified Intravision to modify the status-change packet to specify SI_INTRAVISION instead of cloaking/hiding/chasewalk. I believe this is how intravision actually works. [Skotlex] * Pet catching now uses the menuskill variables to prevent item usage from disrupting the catch process. [Skotlex] * Added Safetywall to the list not blocked by Dispell. [Skotlex] * Added some include limits.h required by window compiles. [Skotlex] * Corrected Wedding rings being trade-able. [Skotlex] 2006/03/26 * GCC on Cygwin still complaining, resorted to including limits.h in malloc.h [Lance] * Refixed the fix with a constant list for Win32 users - limits.h (imported from MSVC) [Lance] * Fixed a problem in chrif.c where USHRT_MAX was undefined. [Codemaster] * Added jAthena's new start and athena-start shell scripts. [Lance] * Changed status_point/skill_point to unsigned short. Adjusted the code as necessary to prevent overflows. [Skotlex] * itemdb_exists and itemdb_searchname should now ignore dummy_item matches. [Skotlex] * Fixed jstrescapecpy crashing when you pass a null string to parse. [Skotlex] 2006/03/25 * Fixed the map-server freeze/crash on Warp Portal. [Skotlex] * Fixed Grandcross/Granddarkness showing no skill animation. [Skotlex] * Fixed mob-casted grandcross doing nothing unless the target was "self" [Skotlex] 2006/03/24 * Fixed / finished most of Gunslinger [Reddozen] - fixed some bullets in the item DB - adjusted a few rates in skill_cast_db.txt for Gunslingers - adjusted a couple skills in skill_db.txt to act correctly - adjusted all the SP values for Gunslinger skills - changed piercing shot to lv 5 from lv 10 - made ki Translation fail giving coins to Gunslingers - equipping a weapon other than a gatlin gun should cancel SC_GATLINGING. Also made Gatlinfeaver on/off togelable - GS_CRACKER will no longer stun players - added GS_Disarm * Fixed iteminfo only displaying first result when there were many. [Skotlex] * Fixed pet hatching. [Skotlex] * Small change that SHOULD fix the pet duplication issue. [Skotlex] * Fixed Warp Portal. [Skotlex] * Modified script commands atcommand/charcommand to execute even if there isn't a player attached. They'll use a dummy player data with the same position/name as the script's owner (usually an npc). Be careful when using this as the result of some @/# commands may be unexpected! [Skotlex] * Some cleaning around the return to egg code. Pets should stop duplicating now. [Skotlex] * Some cleaning of the egg hatching routine to prevent spawning the pet if the egg can't be found in the inventory. [Skotlex] * Removed a pair of autoadded "data/" strings on grfio.c to see if that helps with the data_dir map loading. [Skotlex] * Fixed skillidx not being set whenever a mob uses a skill. This explains skills like metamorphosis/summon_slaves not working at all. [Skotlex] * Fixed unit_skillcastcancel reading the nocastcancel flags the exact wrong way around [blackhole89] * Added function map_search_freecell to locate an available cell around an area (for recall/warping skills). UNTESTED. [Skotlex] * Added unit.c to the VC8 project files. Thanks to Joshuaali [Skotlex] * Fixed Magnum-break/GrandCross displaying multiple times the skill effect (once per target) [Skotlex] 2006/03/23 * Fixed a crash in unit_useskill_pos2 [Skotlex] * Updated mob_db.sql and item_db.sql to current txt versions. [Skotlex] * Fixed Devotion not properly being cleared on death/near death in some cases. [Skotlex] * Fixed Shield-Reflect not being correctly ended when devotion does. [Skotlex] * Fixed DEX-based casting time and delay reduction. [blackhole89] * Modified the function pc_percent_heal to prevent overflow problems. [Skotlex] * Changed the second entry in the water_height.txt listing to specify directly the .rsw file (instead of .gat). [Skotlex] * Fixed Potion Pitcher sometimes crashing the server. [Skotlex] * Fixed a compile warning by adjusting the acid demonstration formula. [Skotlex] * Added flag 2 to the skill_castnodex_db file for skills that shouldn't be affected by delay/cast reducing skills/effects. [Skotlex] * Added SantaPoring's water_height.txt modifications. [Lance] * Minor cleanups. [Lance] 2006/03/22 * Fixed function pc_isCardAllowedOn causing searches for non-existant item id 0. [Skotlex] * Fixed Arrow Shower. [Skotlex] * Merged the unit_data structure from jA for handling unit-related data (attack times, walking, auto-attack timers, skill related data). This is a huge change that affects walking, attacking, auto-attacking, skill usage and character clean up from maps. I spent the last two days clearing out bugs, and even though I couldn't find any more, I wouldn't be surprised for a corner-case or two I missed. [Skotlex] * Modified unit_skillcastcancel to receive flag&2, which stands for "cancel casting only if current skill is cancellable" [Skotlex] * Battle config options changed from yes/no to BL_TYPE settings: skillrange_by_distance, skill_noreiteration, skill_nofootset, gvg_traps_target_all, skill_log, attack_direction_change, auto_counter_type. See (Note 4) in the relevant battle config files. [Skotlex] * Clif.c will disconnect sessions that send an unknown command packet above 0x30000 instead of just ignoring it. [Skotlex] * Cleaned up error reporting during mob-skill loading to be less spamy with non-loaded mobs. [Skotlex] * Corrected water_height reading. It works now, with the exception that cloned maps don't get their water-level read because they don't have a rsw file. The solution is to add all cloned maps to water_level.txt (ie: "new_1-1.gat new_zone01.rsw" makes the new_zone01.rsw stored water-level be applied to map new_1-1.gat). Anyone can help collect all the clone maps to fill up water_height? * status_check_skilluse won't block skill-specific checks (silence, berserk, steel-body, etc) when the skill in use is an item-invoked skill. [Skotlex] * Merged LittleWolf's function to read the map-height directly from the rsw file. Now when building the map-cache, the water-heights should be automatically read as well directly from the rsw's. [Skotlex] WARNING: Not tested yet! The water-height config file now is for aliases. When the rsw for a certain map is not found, and this map exists in the water_height list, then the water height of the second map listed in that file is used. * Some cleanups in irc.c [Skotlex] * Magic skills that ignore element now also don't take into account elemental cards. [Skotlex] * Fixed compiler warnings in battle.c [Lance] * Changes by [reddozen] --> - Updated Full Buster's damage, status effects, and skill levels - Bullseye now only uses 1 coin - changed Adjustment's required SP - changed Incerase Accuracy's effect bonuses - changed Magical Bullet's SP cost - changed Piercing Shot's damage and SP - changed Desperado's range, hit count, aftercast delay, and SP - fixed Absorb Spirit Sphere being able to remove coins - changed Acid Demonstration's damage to the new Japanese formula 2006/03/21 * Fixed duel in pk-mode (same party/same guild/alliance non-targeting issue). Thanks to Hobbit for pointing that out. [LuzZza] * Fix on not showing guildmembers logins/logouts messages. [LuzZza] * Fixed SC_SWOO's opt3 value. Small monsters should stay small for skill's duration now. [Skotlex] * Fixed allowing multiple recast of Dissonance/Ugly-Dance [Skotlex] * Fixed those annoying irc.c compile warnings. [Skotlex] 2006/03/20 * Added monster_ai&16 setting for executing the hard ai on ALL mobs in maps with players instead of just mobs in the vecinity of players. [Skotlex] * Cleaned up some guild functions. [LuzZza] - Now guild leaving/explusion packets sends correctly. - Fix to prevent creation alliance/opposition with same guilds. 2006/03/19 * @stfu now allows negative intervals to be specified. [Skotlex] * Added overflow check to the login-server when sending GM accounts to char. [Skotlex] * Small fix to prevent killer/killable states from allowing you to target yourself. [Skotlex] * Added Explosion Spirits to list of effects that dispel on logout. [Skotlex] * Fixed handling of guild skills by pc_blockskill_start, moved it to skill.c [Skotlex] * Fixed autoguard icon showing with stun. [Skotlex] * Fixed acid demonstration breaking shield instead of armor. [Skotlex] * Fixed Slim Pitcher crashing server ocassionally. [Skotlex] * Hopefully fixed Ankle Snare lasting the whole trap's duration [Skotlex] * Added sc_start(SC_ENDURE) on infinite endure bonus. [Skotlex] * Fixed Berserk Pitcher consuming required items twice. [Skotlex] 2006/03/18 * Fixed BA_DISSONANCE and DC_UGLYDANCE not working. status_check_skilluse was blocking them due to the lack of an exception like BA_MUSICALSTRIKE has it. [blackhole89] * Documentation update on NPC whisper and rid2name. [Lance] * Fixed event_kill_pc to behave like what it should instead of another replication of event_death. Added script function rid2name to convert bl ids to name. [Lance] * Recoded setmobdata script function. Fixed mob_damage typo sd -> mvp_sd. [Lance] * Added 'GetMonsterInfo(MobID,Idx)' script function. [Lupus] You can get monsters name,level,race, etc by its Id. Check npc\sample\getmonsterinfo.txt * Fixed warnings on compilers again. [Lance] 2006/03/17 * Fixed the mob_skill_db by commenting out lines with targeted skills being cast during an idle state. (Thanks to LittleWolf) [Zephiris] * Removed a block of code from skill_check_condition that actually belongs to status_check_skilluse. Should fix silence/stun blocking skills regardless of settings. [Skotlex] * Fixed misleading and inaccurately documented events and added a missing flag. [Lance] * Fixed npc_cleanup_dbsub not removing key and caused pointer being freed problem. [Lance] * Fixed handling of the char_gm_read config for packet 0x2af7 (reloadgmdb) [Skotlex] * Added battle_config debuff_on_logout which removes Asura's SP regen delay and Strip-Equip effects on logout when set to yes (default, conf/battle/skill.conf). [Skotlex] * removed auto-attaching of player-run scripts in initnpctimer. You must use attachnpctimer instead! [Skotlex] * Final fix on Juperos NPC. [Lance] * Fix on initnpctimer not attaching rid. [Lance] * Fix on OnTouch ignoring -1 NPCs. [Lance] * Fix on @reloadscript crashing due to passing non BL_SKILL bl to a function that accepts only BL_SKILL bl. [Lance] * Added area NPC detection in clif_parseLoadEndAck. [Lance] * Fixed compiler warning in script.c get_mob_data. [Lance] * Temperory resolved issues on Juperos until I get the exact description on the behaviour in retail servers. [Lance] 2006/03/16 * Changed NJ_ZENYNAGE according to this weeks patch to deal a random [MasterOfMuppets] ammount of damage depending on the skill lvl. * @kill_monster/@kill_monster2 won't touch Guardians/Emperium now. [Skotlex] * Small change in the random item reading function, may fix @itemdbreload messing up random item searches. [Skotlex] * Restricted GS_BULLSEYE to only be used on demi-human or brute monster targets [MasterOfMuppets] 2006/03/15 * mob_chat_sub fix. Added buildin_pcblockmove. [Lance] * BL_PC and BL_MOB control script commands (experimental) [Lance] * Made an adjustment to addspiritball() to allow Gunslingers to summon up to 10 spheres [reddozen] * Fixed Tarot Card of Fate using time instead of time2 which is the one that actually holds the effect duration. [Skotlex] * Fixed mob random walk interval being set to up to 6K seconds in some instances. [Skotlex] * Added mapflag nodrop (prevents droping items to the ground). [Skotlex] * Fixed mapflag notrade doing nothing. [Skotlex] * Likely fixed Gravitation not hitting except for the last hit. [Skotlex] * Removed the hardcoded duration of 30 seconds for sleep. [Skotlex] * Fixed rangecheck for pet skill usage of INF_SELF_SKILL type of skills [Skotlex] * Removed inall/exall from atcommand.conf since those two do not exist! (pointed out by Ancyker) [Skotlex] * @me now uses entry 270 in msg_athena as output format. [Skotlex] * gm_skill_unconditional setting now also overrides skill_partner_check setting. [Skotlex] * Emulated strtok_r functions to work strictly with ANSI compilers. [Lance] * Added battle config options item_rate_adddrop, item_drop_add_min and item_drop_add_max to control drop rate of card-acquired loot bonuses. (conf/battle/drops.conf) [Skotlex] * Added item_db2.sql and mob_db2.sql, thanks to Joshuaali [Skotlex] * Added more usage of msg_athena on the slave atcommands messages. [Skotlex] * Fixed twilight pharmacy dropping 1 item to the ground instead of the qty produced. Thanks to k3dt [Skotlex] * Fixed Plagiarism not working unless you had some sc active. [Skotlex] 2006/03/14 * Fixed a possible crash in Venom Splasher if the countdown is too high. [Skotlex] * Fixed skill_notok blocking guild skills [Skotlex] * Fixed Napalm vulcan's time2 entry in the skill_cast_db [Skotlex] * Fixed the average_lv column size specification for levels above 255. Thanks to Joshuaali (upgrade_svn5607.sql) [Skotlex] * Updated @rura/@warp. Now you can use both "@warp mapname x y" and "@warp mapname,x,y". [LuzZza] * Added at-command @tonpc (warp to NPC). [LuzZza] * Fixed @where at-command. [LuzZza] * Fixed WZ_WATERBALL + HW_MAGICPOWER [Skotlex] * Fixed incorrect range check in autospell-when-hit triggers. [Skotlex] * Modified Wedding recall skills to behave as in official [Skotlex] * Modified Arrow Shower to be a ground-based skill and work as it should on officials. However, the unit_id is still unknown. [Skotlex] * Fixed skill_additional_effect triggering every time you were being hit even if no damage was returned. [Skotlex] * Fixed battle_calc_damage_return to make magic damage be returned by 100%, and received damage nullified. [Skotlex] * Changed a bit status_check_skilluse to check for dead characters, should fix all the weird attack/attacked while dead bugs. [Skotlex] * Fixed player auto-attack not cancelling when dead. [Skotlex] 2006/03/13 * Finished some checks to make sure Land Protector Only blocks BF_MAGIC skills. Hammerfall is no longer blocked. [Skotlex] * Fixed script command warpparty looking for an attached player even when it is not needed. [Skotlex] * Shield Reflect is now passed through Devotion as well. [Skotlex] - Devoted characters lose the devotion effect when the Crusader is at less than 25% Hp. [Skotlex] * chrif_scdata_save will not send a save scdata request when the char has been already tagged as in the final save. [Skotlex] * Some status_change_start cleanups, stuff like blessing should now remove stone/curse even if the status does not begins because the character is already blessed. [Skotlex] * Cleaned SC_SUITON a bit to get rid of that compile warning. [Skotlex] * Added function battle_calc_gvg_damage for gvg related damage reductions. Fixes Gravitation being reduced as well as Pressure overriding max-castles restriction. [Skotlex] * Corrected char-server parameters so that the subnet config file is the third parameter, not the second (which was conflicting with inter_athena.conf's argument), thanks to foobar. [Skotlex] * PR_BENEDICTIO now ignores mdef [Skotlex] * Fixed chatlog's x/y column capacity in sql-files/logs.sql [Skotlex] 2006/03/12 * Updated clone skill copy to consider combo-skills. [Skotlex] * no_spawn_on_player won't work on mobs with no respawn delays now. [Skotlex] 2006/03/10 * Cleaned up the Skillbreaker implementation, HP gaining happens at level 5 now. [Skotlex] * Autospells won't trigger now on maps where said skills are forbidden. [Skotlex] * Changed div (multi-hit) behaviour. Skills with div above zero will get their total damage increased by the number of hits, div less than zero is just for "show", total number of hits displayed is abs(div), but damage isn't increased by number of hits. [Skotlex] * Adjusted several skill damage equations to make up for the above change. [Skotlex] * Fixed a overflow bug when one of the item_random* files has too many random items. [Skotlex] * Fixed a variable loopback problem on NPC shop price checking routine. [Lance] * Fixed a memory overwrite crash on pc_readdb, thanks to foobar for the fix. [Skotlex] * Fixed only the first TK stance triggering when you have multiple of them active. [Skotlex] * Default of skill_attack_enable changed to yes. [Skotlex] 2006/03/09 * Fixed the dancer/bard soul-linked skills toggling on/off with each call to pc_calc_status. [Skotlex] * Fixed a bug in the pc_skillreset function which allowed TK rankers to accumulate skill points. [Skotlex] * Fixed a major memory leak in status.c causing the last column of job_db1.txt never being read. I have no idea how long this has been there, but signs point to us using Katars at a random ASPD from somewhere in memory for ages. [blackhole89] * Fixed a critical bug in job_db1.txt reading in status_readdb. [blackhole89] * Fixed pc_damage_sp not properly substracting SP. [Skotlex] * Made Magic Crasher a BF_WEAPON attack. [Skotlex] * Made skill_unit_range a per-level setting. meteor and Lov now have their unit range for bosses adjusted in the skill_unit_db rather than hardcoded. [Skotlex] * Added Gunslinger/Ninja Status Change icons. Somebody needs to look into them though for not all SCs have a matching SI. [blackhole89] * Changed ITEM_NAME_LENGTH to 50. [Skotlex] * Fixed stun's duration not getting reduced by vit + luk/3 [Skotlex] * Fixed #itemlist not taking into consideration crafted/forged items and pet eggs. [Skotlex] 2006/03/08 * More work on ninja/gs. Which made me do... [Vicious] - Add more weapon type(17~21 for guns) [Vicious] - Included MAX_WEAPON_TYPE in status.h and updated the codes (Whose idea was it to do static number... esp dual weapon) [Vicious] * Fixed a bug that was making the no_spawn_on_player setting useless. [Skotlex] * Added Deadly Poison and Bleeding to status_get_sc_def, meaning that now vit does increases defense against being inflicted from it. [Skotlex] * Fixed and tested @whodrops [Skotlex] * Updates to Gunslinger skills' DB entries. [blackhole89] * Rewrote pc_jobchange to be sane by using the map internal codes instead of a mesh of complicated nested comparisons. [Skotlex] * pc_authok will now change you to a novice if your class isn't identified as a valid one. BACK UP before updating, because.. well, just in case you start seeing novices filling up your city. [Skotlex] * Mobs will now chase you even if you hit them from outside their range of view. [Skotlex] * Fixed item disappearing from the floor when you attempted to pick it up and there was no room in your inventory. [Skotlex] * About half-ish nj/gs skills are semi/fully-done. No effect/status yet though. [Vicious] * Added atcommand @whodrops which lists mobs with the top drop-rates for a given item. List of stored mobs and their dropchances is also defined by MAX_SEARCH on map.h [Skotlex] * Modified atcommands @mobinfo and @iteminfo to display multiple matches instead of just one. Max number of matches to display is set in map.h (MAX_SEARCH) which is currently 5. [Skotlex] 2006/03/07 * Base for ninja/gunslinger is mostly done. need to work on skills now. [Vicious] - Updated sql-files/ mob_db.sql and item_db.sql to current txt dbs. [Skotlex] * @job ninja/gunslinger. No skill tree or anything yet. [Vicious] * Gospel won't start taking effect until after 10 secs have passed since invocation. [Skotlex] * Now if a skill has inf set to 4 (self skill) and inf2 512 (cannot target self) this skill becomes a target-auto-select skill, which targets your current attack target, and won't stop your current attack. The current attack is delayed by your aspd (except for a few skills such as the monk combo skills which readjust this delay). All Monk combo skills plus Taekwon kick skills have been updated to use this. [Skotlex] * Added a check that forces self skills (inf = 4) to select yourself as target to prevent oddities from crafted packets. [Skotlex] * More ground work for Ninja/Gunslinger [Vicious] * status_calc_pc now assumes that if your max hp is negative, it has overflowed, and as such, it is set to the max_hp setting instead of 1. This 'dangerous' assumptio is alright as long as there aren't equipment that can send your hp to negative values. [Skotlex] - Fixed the soul linker skill tree. (Thanks to muad_dib) [Zephiris] * Added Gunslinger and Ninja into @job. of course, you need latest EXE for make this work... and of course no skills yet! [Vicious] * Storm Gust now knocks back on a random direction instead of away from the storm. [Skotlex] 2006/03/06 * Some fixes due to the guild-skill changing location (being moved from 500->900 within the code) [Skotlex] * Fixed npc_event doing a map-check when the npc is not on any map. [Skotlex] * Fixed a debug message showing up on skill castend nodamage id when using a guild skill. [Skotlex] * Fixed #save not working on maps not in the current map server. [Skotlex] * Added battle config clear_skills_on_death to decide whether all ground-based skills should be removed when you die. Defaults to yes. [Skotlex] 2006/03/05 * Removed my EXP limit as it did not do what it was supposed to [Codemaster] * Fixed remove-trap [Skotlex] * Fixed animation of Redemptio [Skotlex] * Some reorganization of how the skill check functions behave (skill_get_*). Guild skills have been moved to the range 900~915 (instead of 500~519 in the code). [Skotlex] * Set the default for display_delay_skill_fail to 'no' as it should have been for a while (the kRO patch about that was last year, long time ago) [DracoRPG] * Fixed easter.txt typo. [Lance] * Extended summon command to enable custom timeouts. [Lance] 2006/03/04 * Fixed a bug in the subnet checking function, login-TXT server. Also changed the messages to be a bit more informative. [Skotlex] 2006/03/03 * Added function battle_set_walkdelay in charge of updating walkdelays of characters based on two criterias: when the delay is induced by damage, if the current walk delay isn't over yet, do not update it. If the delay is instead caused by a skill, then the current walk delay cannot be decreased, only increased. [Skotlex] * Added upgrade_svn5455.sql, it converts the manner and karma columns to signed. Apply this if your tables have the field as unsigned (which would explain mute always disappearing after relogging) [Skotlex] * status_change_start now checks on a 0->10000 scale, should fix sc-cards with very low rates never triggering (eg: some coma-inducing cards). [Skotlex] * Cleaned up the active guild skills. They should be usable now by non-players as well. [Skotlex] * Fixed crash on the NPC whisper system when the message's size was 1. [Skotlex] * Strip status changes are now removed on logout. [Skotlex] * Added a column in skill_cast_db for specifying can't walk delays. It's all set to 0 currently, so someone get updating them! [Skotlex] * Removed the apply walk-delay entry from skill_cast_nodex as the new walk delay column handles this now. [Skotlex] * Fixed autoloot dropping the item to the ground even when it was autolooted. [Skotlex] * Fixed character deletion working on SQL without an email address (Thanks to Valaris) [Zephiris] * Added event 8 for mobspawns that should spawn with special ai set. This means that now in the mob_spawn files if you use 8 as the last entry, the mob will use the special ai, and as such, it will only attack other mobs, not players (can obviously be combined with 2 for small mobs and 4 for large mobs, eg: 10 for a small mob with special ai set) [Skotlex] * Modifed battle_check_target so that mobs with special ai will only target by default mobs without said state (this will prevent normal clones from fighting among themselves, for example) [Skotlex] * Trick dead now ends on logout [Skotlex] * Added mapflag nocommand which blocks @/# commands unless your gm level is above gm_skill_unconditional's level. [Skotlex] * Fixed weapon scripts not being executed unless the weapon was forged. [Skotlex] * gm_skill_unconditional is now a no/gm-level setting instead of yes/no [Skotlex] 2006/03/02 * Slaves inherit speed will now only work if the master can move. [Skotlex] * Some cleanup and reorganization on the way pet-skill variables are handled. [Skotlex] * Fixed a typo that disabled all pet support skills from triggering (except ground-based ones) [Skotlex] * status_check_skilluse cleanup. Some status will only block skills when they are first used, not on cast-end (which includes auto-spells and ground-skill checks). Now when status_castcancel is 'no', skills WILL come off after the cast bar is done. [Skotlex] * Gravitation now only affects the caster, should have also fixed the skill not doing damage when skill_caster_check is set. [Skotlex] * Max fame list size is now defined by MAX_FAME_LIST constant (mmo.h) [Skotlex] * Individual fame lists sizes can now be specified through the char-server (check the fame list configs in char_athena.conf) [Skotlex] * Some cleanup on mob_can_reach code to prevent unnecessary path-searching [Skotlex] * Optimized the path-searching ai for mobs to try target cells around the target in order rather than randomly picked cells. [Skotlex] * Applied Snufkin's patch to fix compilation on FreeBSD. [Skotlex] * Fixed mobs targetting themselves after using a support skill. [Skotlex] * Gospel no longer blocks item usage of whoever is in the area of effect, only the caster of Gospel can't use healing items now. [Skotlex] * Added the long/near attack_def_rate card effects to battle_calc_magic (horn card and the like will now work with spells) [Skotlex] - Elemental fields should vanish on map-change now. [Skotlex] - Land Protector only blocks magical ground skills now. [Skotlex] * Fixed item pickup not picking anything unless you were in a party with item distribution set [Skotlex] 2006/03/01 * Made it so players that are at the max level do not receive EXP. This makes it so a player at the max level (ie - 99) cannot join a party and feed all of his or her EXP to the other party members [Codemaster] * Mapregsql will now fully depend on mmysql_handle. [Lance] * Optimized strcharinfo to use switch. [Lance] * Some cleanup of the mob skill reading. Added error reporting for unknown states/conditions, error reporting now specifies the file and line number. [Skotlex] * Silence will only block skills when they have begun casting, not when the cast bar is done. This also means that auto-spells will likely come-out even when silenced. [Skotlex] * opt1 status will block skills when they are done casting only if the sc_castcancel option is set. [Skotlex] * strcharinfo now returns blank instead of crashing the map server when there's no player attached. [Skotlex] * Added a missing mysql_init call to the mapreg sql handle. [Skotlex] * Checked and fixed the script engine barking when you try to have a label with the same name as a const.txt defined parameter. [Skotlex] * Turn Undead and Offensive Resurrection should now work on undead players. [Skotlex] * Fixed the range checking of Repair weapon [Skotlex] * Rude attacked is now also triggered when you hit a target that can't move out of their melee attack range. [Skotlex] * Mob ai will attempt to do a long-range attacked condition skill before unlocking a target when it is attacked and said target is out of melee range of a non-walking mob. [Skotlex] * Corrected mobskill event to set the target_id before triggering. This should fix shortrange/longrange attacked mob skill conditions. [Skotlex] * Moved MSC_SKILLUSED trigger to mobskill_event which is triggered in battle_calc_damage. It is also triggered on skill_castend_nodamage_id. [Skotlex] * Added party_share_loot for handling party-share loot. it should now work with autoloot as well. [Skotlex] * Fixed skill_break_rate breaking stuff even if the rate is 0. [Skotlex] * pc_stopwalking will not send a fixpos packet if you are sitting. [Skotlex] * mob_can_reach rude-attacked condition now uses the mob's field of view. [Skotlex] * SC_NOCHAT is automatically started on pc_authok if manner is negative. [Skotlex] * Map server now refuses to start if you try to define a label with the same name as some const.txt defined character parameter. [Skotlex] * Corrected a few Compiling Warnings [Codemaster] * Added the ability to select GM loading via Login (default) or Char [Codemaster] * Added script command 'setbattleflag'. [Lance] 2006/02/28 * Rewrote LAN support code. Changed configuration file name lan_support.conf to subnet_athena.conf, changed it syntax. [LuzZza] * Added script command 'equip' to equip items. [Lance] * Fixed dependancies in map-server compiling (VC7.1). [Lance] * Added autoequip flag check for pc_takeitem. If it impacts on perfomance, please remove it. [Lance] 2006/02/24 * Prevented guild/party recall to work on GMs of greater level than yourself. [Skotlex] * Prevent muting players with higher GM level than yourself. [Skotlex] * Fixed Lady Tanee's spawns. [Skotlex] 2006/02/23 * Fixed the CL_WHITE define, thanks to FlavioJS [Skotlex] * NPC break equipment stuff now has a 1.5% per skilllv success rate. - This is a custom value as 20%-lv10 seems too high and 10%-lv10 seems too low. [Skotlex] * pc_setpos won't random warp players if placed on top of Moonlight Petals [Skotlex] * Removed the check in clif.c for npc_shopid as the client never sends a packet when the trade is cancelled... [Skotlex] * Player-summoned mobs won't level up now. [Skotlex] * Fixed Super Novice explosion spirits triggering no matter what you said on the third line. It now triggers on the fourth line.... [Skotlex] * Fixed GTB blocking targetted spells when gtb_pvp_only was set. [Skotlex] * Merged the code of Ankle snare and Spider web. It no longer moves target if sc failed. [Skotlex] * Players should stop walking as soon as they start vending or get into a chat. [Skotlex] * Added mob skill conditions myhpinrate and friendhpinrate. [Skotlex] * Added monster_ai condition 16 (enable `friend` targetted skills to heal oneself) [Skotlex] * Fixed the shop id not clearing when buying/selling (which made you get stuck afterwards). [Skotlex] * Modified the way autospells stack to mimic official servers. Cards of the same ID cannot stack, but different cards with the same skill can each trigger indepedently of each other. [Skotlex] * Added battle_config autospell_stacking to enable stacking of cards of same ID. (see battle/item.conf) [Skotlex] * Moved card-specific battle options to items.conf [Skotlex] * Autospells triggered when hit will check the range to the target. [Skotlex] * Some cleaning up of status_calc_pc [Skotlex] * In status_change_start capped the passed success chance to 100% [Skotlex] 2006/02/22 * Windwalk's flee bonus is now +1 every 2 skill lvs. [Skotlex] * Changed the way equipment breaking works. Function pc_break_equip was removed and now skill_break_equip is used. Basicly, it's the same as before, except that when you 'break' a piece of equipment of a non-player, the corresponding strip(weapon/armor/shield/helm) status effect is induced (duration: strip skill lv 1) [Skotlex] * Cleaned up the Dev folder. [Skotlex] - Take note of the file todo-for-stable, which holds all modifications in trunk that have not yet made it into stable. Be sure to update the file as needed. * Updated the path searching code with jA's current implementation. [Skotlex] - There is a slight chance the CELL_NOSTACK mod broke, someone test that. 2006/02/21 * Fixed the range-check of targetted skills (was evaluating the range as 0 always) [Skotlex] * Now you should receive the party/guild mini-dots on map-load without the need of waiting for others to "move" for you to receive the update (fixes dead characters never showing up on the map) [Skotlex] * Fix to prevent using main chat when it disabled in atcommand_athena. [LuzZza] - Fixed message codes in duel functions. - Small fix in log_refine, incorrect compare expression. * Some cleaning of the warp portal code so that when it is "pre-casted" it doesn't mess up with other casted skills. [Skotlex] * Some fixing on the weapon-refine code. [Skotlex] * Cleaned up some npc_event error reporting. [Skotlex] * Some cleanup of the castend routines to not clear the skill variables if for some reason the casted skill triggers another skill. [Skotlex] * Vending is now cancelled on a pc_setpos [Skotlex] * Pressure again ignores Basilica. [Skotlex] * Fixed attacker's sc being nulled when the target's sc is empty (fixes most status changes not taking effect during battle) [Skotlex] * Slaves now do a battle_check_target to check if the new target is an enemy when acquired through the master's skilltarget. [Skotlex] * Fixed SC_SKE halving de2 twice. [Skotlex] 2006/02/20 * The Super Novice Explosion Spirits skill will now trigger when the last sentence is said (not after the next sentence as it was currently) [Skotlex] * Now the default delay of amotion is applied only for BF_WEAPON, non NK_NO_DAMAGE skills (so stuff like Summon Spirit Sphere get the default skill delay rather than ASPD) [Skotlex] * Made the Char-SQL server send the GM listing when the map server connects. [Skotlex] * Play-dead and Basilica now block Gospel [Skotlex] * Map SQL server will no longer ignore the gm-list packets received from char. [Skotlex] * Login-SQL server will not free the current GM listing if the SQL reading of it failed (prevents GM lists being lost on SQL connection problems) [Skotlex] * Login-SQL will now read for the GM list ALL accounts with level above 0, not just those with level above min_gm_level (just like the TXT server does) [Skotlex] * SC_NOCHAT is not dispelled on death now. [Skotlex] * Cleaned up the global message function, Super Novice Explosion Spirits will not trigger on maps where said skill can't be used. [Skotlex] * Close confine won't get the bonus range on cast as other skills do due to exploits. [Skotlex] * Fixed a bug in setnpctimer. [Skotlex] * Menu-based skills now use their own variables separetly from the normal skill variables. This should enable them to work even when you keep doing other stuff between the menu invocation and selection. Also gives a better control over packet-based exploits. Affected skill/script-commands are: [Skotlex] - Arrow Crafting - Warp Portal / Teleport - Item producing - Identify - Repair weapon - Pet egg selection - Hindsight - Weapon refine. - Feel of the Stars, Moon and Stars. * Corrected the implementation of Gangster's Paradise to work as it should. [Skotlex] * Fixed Close-confine not properly ending on a knockback (that includes backsliding) [Skotlex] * Changed MAX_RANDITEM from 2000 to 10000 to fit new databases [Komurka] * Fixed Taekwon stances not triggering. [Skotlex] * Added atcommand @exp [Skotlex] * Added error reporting when add_timer_interval receives a negative/0 interval value. [Skotlex] * Fixed a possible infinite recursion bug with splash self skills. [Skotlex] * Modified the way firewall_hits_on_undead works, to loop and invoke multiple skill_attacks based on the value. Now it behaves a lot closer to how Aegis Firewall does (except a good default value for this config switch is missing) [Skotlex] * Preparing eA for new mob_skill_db from Aegis 10.2 [Komurka] - increased MAX_MOBSKILL 32 -> 40 2006/02/19 * Some fixes to the last item usage tick. Items should be working fine now. [Skotlex] * Fixed parsing of @kamic/@kamib to check for case. [Skotlex] * Now you can hide from Pressure. [Skotlex] * Weapon endowing will work on targets already endowed with the same element. [Skotlex] * Now reseff cards will take effect even if the status change is passed with &8 flag. In short, now reseff are ALWAYS applied to the status change defense. [Skotlex] * Removed a missing break that was making AM_TWILIGHT2/3 always fail. [Skotlex] 2006/02/18 * Removed the SP_ cases from status_get_sc_def as they were colliding with other status changes. [Skotlex] * Implemented SG_MIRACLE (Miracle of the Sun, Moon and Stars) [Komurka] - duration is stored in battle_config.sg_miracle_skill_duration (currently it's set to 10 minutes) - ratio is stored in battle_config.sg_miracle_skill_ratio (currently it's set to 0.01% chance per character move) - this skill enables you usage of all Warmth skills, Comfort skills, and also all mobs will be target of the Stars regardless of the day and map - you'll see message "[Miracle of the Sun, Moon and Stars]" when skill kicks in * Added upgrade file upgrade_svn5322.sql because apparently not everyone has the guild table with autoincremental guild_id defined. [Skotlex] - If you can't create guilds, chances are you need to apply this ugprade. * Fixed a missing break that was making Heal, Resurrection and some others become attack skills [Skotlex] * Some CELL_NOSTACK Mod updates: [Skotlex] - Made the free-cell lookup more extensive. - Allowed pc_setpos to place players on top of cells that are stacked - Fixed a logic bug in the mob-walk code that was making them get stuck and not move (triggered quite often when the cell no stack mod is enabled) 2006/02/17 * Cleaned up irc.c, may it compile now on Windows? [Skotlex] * Updated the VC project files by Joshuaali. [Skotlex] * Fixed possible crash on pet egg select. [Skotlex] * Massive update on the way splash/area (non-ground) skills work. [Skotlex] - the new column 'splash' in skill_db is now used to determine the area of effect of all related skills (eg: splash range of fireball, area of effect of angelus, the splash damage area of mines, etc) - nk definition update. &1 is no damage skills, &2 is for splash skills. A skill can be tagged 3 to indicate it is both. This is used to indicate the type of handling the skill should use, but it also helps as all splash skills get an extra check to prevent them from hitting 'unhittable' characters (ie: hidden) while all skills not tagged as non-damage can trigger auto-spells. - All self skills are automatically executed as no-damage skills and get re-routed as damage skills when the source and target do not coincide (this handles all combo skills) - Some skills may have screwed up (I fixed/moved all which I could find needed updating). As usual, report any issues. * Added an upgrade_svn file that should fix the party table by making the party_id auto-incremental. Apply this or new parties will always fail! [Skotlex] * Changed around the included files in irc.c to see if it compiles under Win32 native. [Skotlex] * Char-SQL server updates: [Skotlex] - Removed the unnecessary party/guild check on each char-save. - Removed the 'quick loaded char' messages. - Some code cleanup. - Fixed one or two memory leaks. * Applied the suggested fixes by Joshuaali to fix the compiling of the sql map server on Win32 systems. [Skotlex] - note that irc.c is still uncompilable, but the rest "should be fine" now. * Fixed the memory leak on opt_2str as pointed out by End of Exam [Skotlex] * Fixed a few char SQL memory leaks as pointed out by End of Exam [Skotlex] 2006/02/16 * Fixed a crash in AL_TELEPORT. [Skotlex] * Now you can't close-confine and already confined mob. [Skotlex] * mysql/my_global.h now includes winnt.h under Windows systems... [Skotlex] * Some code cleanup of status.c [Skotlex] * Removed the check that prevented mobs from walking into a basilica. [Skotlex] * Added a new column in the skill_db to specify the splash-range/area-of-effect of skills. (Work in progress) [Skotlex] * Autocasted AL_TELEPORT should now automatically pick menu entry rather than showing the box up. [Skotlex] * The battle config options sp_rate and hp_rate are now applied independently of the same type of bonuses from cards. [Skotlex] * In CELL_NOSTACK mode, mob_canreach will now ignore other players when checking if there's a path to the player. [Skotlex] * Added RG_RAID to the list of skills that need a status_checkskilluse on skill_attack. [Skotlex] * Added the mapflag check monster_noteleport to AL_TELEPORT. [Skotlex] * Fixed the sc_def rate not being reduced in status_change_start. [Skotlex] * Changed the include in irc.c from strings.h to string.h, which fixes a bunch of compilation warnings here... [Skotlex] * Updated the SQL login/char servers to let the mysql server grant the new IDs for accounts/chars/pets/parties/guilds instead of them being handled by the server. [Skotlex] * Some cleaning of the pc item use functions. [Skotlex] * Gospel shouldn't block enemies in certain situations from using items now. [Skotlex] 2006/02/15 * Fixed crash in chrif_load_scdata warning message. [Skotlex] * Fixed pets displaying "strangely" when they did not have their pet armor. [Skotlex] * Added battle config option pk_level_range for specifying valid level ranges to engage in PK (battle/misc.conf) [Skotlex] * Added battle config allow_es_magic_player to enable SL_S* skills to work on non-mobs. (battle/skill.conf) [Skotlex] * Fixed the char servers to store correctly exp as uints. They are also capped to LONG_MAX before being sent to the client. [Skotlex] * TK_DODGE now dodges all ranged attacks, when used with SPURT, dodges everything. [Skotlex] * The autospell loop now cancels after one successful cast. This means if you have 10 autospells with 100% casting rate, only one will come off with each hit instead of all of them. [Skotlex] * Warm skill update: [Skotlex] - they are type BF_WEAPON, so that they may trigger effect/spell cards. - Changed their element to -1 to carry on weapon's element. - Against player it only damages 60SP per "hit" - Against non-players it is a knockback skill as it was before. - Hit frequency increased to once every 100ms. * TK_DODGE now only dodges ranged weapon attacks, while under Spurt mode it dodges everything (provide better information if this is not how it should behave as the current info given is conflicting itself >.<) [Skotlex] * Cleaned up and expanded the sc_def_rate battle config. The new battle flags are mob_sc_def_rate, pc_sc_def_rate, mob_max_sc_def, pc_max_sc_def [Skotlex] * Modified Marionette Control so that the max bonus stats you get is capped to your server's defined max stats instead of 99. [Skotlex] * Mobs are no longer affected by the vs_traps_bctall switch. [Skotlex] * Added function pc_damage_sp to damage the SP of players, updated code as necessary. [Skotlex] * Fixed @lvup command adding levels instead of substracting when you specify a negative quantity. [Skotlex] 2006/02/14 * pc_setinventorydata won't use itemdb_search on empty inventory slots (id = 0) [Skotlex] * Fixed the icon from Provoke being gone. [Skotlex] * Fixed skill_timerskill (most notable skill broken: water ball doing 1 hit) [Skotlex] * Removed the declaration of puchar and pchar from my_global.h which was preventing compiles on native win NT systems. Drawback is now Win9X systems will fail to compile instead... [Skotlex] * Hiding cancels Close Confine now. [Skotlex] * ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk check if the skill is ground targetted. [Skotlex] * Moved the berserk_cancel_buffs code to status_change_start. [Skotlex] * Moved most checks of status_isimmune() to status_get_sc_def [Skotlex] * Allowed Endow skills to go through status_isimmune characters. [Skotlex] * Fixed PR_BENEDICTIO not taking away all SP. [Skotlex] * Modified the way Status changes are linked to skills for an easier to read implementation (see status_initChangeTables). [Skotlex] 2006/02/13 * Added battle config sc_def_rate which adjusts natural defense of characters against status changes (see conf/battle/battle.conf). [Skotlex] * Pet eggs will now not be deleted from the inventory until they arrive from the char-server. [Skotlex] * pc_readdb will now print if any classes are missing their exp tables. Only exception are JOB_WEDDING and JOB_XMAS. [Skotlex] * Made the NPC_BREAK* skills attack skills again, their chance of equipment breaking code was moved to skill_additional_effect. [Skotlex] * Now when the exp table does not has enough data to reach the max level specified, the max level will not be reduced to enable leveling through quests/scripts/gm-commands/etc. [Skotlex] * Made Land Protector Block Hammerfall. [Skotlex] * Updated item_db code to stop creating items for every non-existant ID used. Instead it will complain, and use a dummy item that has the view ID of an apple, and it's type 3 (etc item). [Skotlex] * Modified PA_GOSPEL so that the random damage attack becomes a BF_MISC attack. [Skotlex] * Added pc_resetskill when lowering job level and there's not enough skill points to substract. [Skotlex] * Fixed SG_FUSION costing SP to deactivate. [Skotlex] * Some cleaning up at pc_setpos to prevent calling pc_clean_skilltree [Skotlex] * Enabled use of TF_HIDING while Cloaked. [Skotlex] * pc_resetstate won't remove wedding skills now [Skotlex] * NPC_POWERUP now gives +40% atk per level. [Skotlex] * Water elementals can be frozen again. [Skotlex] * Fixed the sc_def equation in status_change_start. [Skotlex] * Fixed an extra semi-colon that broke win32 compiles. [Skotlex] * Some rewriting of bounds checks in @baselvup, @joblvup and the # equivalents to prevent signed/unsigned comparisons. [Skotlex] * Now slaves give exp/loot (exception: player slaves still stick to the old rules of no exp/loot) [Skotlex] 2006/02/12 * Some path cleanups meant to get the CELL_NOSTACK mod working better with path searching and the like. [Skotlex] * Optimized functions skill_addtimerskill/skill_cleartimerskill [Skotlex] * Fixed SC_DANCING for non players (was making dances only last 1 second for them) [Skotlex] * Modified map_moveblock to handle updating dance's position as well as ending close confine status effects. [Skotlex] 2006/02/10 * Fixed Sonic Blow's damage for lvl 1~9 [Vicious] * The status window will now show the total power of both weapons instead of just the right-hand weapon for dual wielders. [Skotlex] * Removed #include from irc.c, since it's unused and some people don't have it. [Valaris] * Changed the default MAX_LEVEL supported by the map server to 1000. [Skotlex] * Pet Lures won't be consumed now when used on a non-mob. [Skotlex] * Fixed map_searchrandcell function. [Skotlex] * Modified the NPC_BREAK* skills to break equipment at a 10%*lv rate. [Skotlex] * Modified the drop item routines to perform stacking checks only for player attempted item drops, therefore, mob drops will stack up to infinity. [Skotlex] * NPC_POWERUP now gives +20% attack per skill level. [Skotlex] 2006/02/09 * Fixed "set baselevel, X" sending one to a different level than the one requested. [Skotlex] * Added range checking to mob skill loading of permillage and delay to prevent overflows. [Skotlex] * Fixed pc_gainexp not working for next level exp requirements above INT_MAX. [Skotlex] * Fixed the display of @showexp not working right for exp values above INT_MAX. [Skotlex] * Removed the conf sql code for now. Maybe will continue later with that project. Lowered the irc keepalive timer, and added some checks for use_irc that should have been there. Added a return line \n to the beginning of the title screen. [Valaris] * Added function mob_respawn which makes a mob respawn on spot 3 seconds after defeat if SC_KAIZEL is active. [Skotlex] * Modified NPC_REBIRTH to use Kaizel level 1. [Skotlex] * Added setting max_exp_gain_rate which caps how much exp you can get from a single kill. See battle/exp.txt for details. [Skotlex] * pc_readdb will now cap experience required per level to UINT_MAX, it will warn if the exp table has exp values above said limit. [Skotlex] * Changed the default of skill_delay_attack_enable to no. [Skotlex] * Code rewrites in mob_damage and party_exp_even_share for correctly handling overflow issues. Now uses UINT_MAX for range comparisons, as it should be. [Skotlex] * Also modified the mob_db reading to use UINT_MAX for exp limits, changed their exp/job exp fields to unsigned int as well. [Skotlex] * Modified multi_level_up behaviour to work as specified by Kyoki. That is, on a level up, the max carry-over exp is the exp needed for the previous level -1. [Skotlex] * Modified the skill attack display of Meteor Assault and the Warm Skills (I think the caster should no longer do fancy animations now on each hit) [Skotlex] * Added back water elemental targets being immune to SC_FREEZE [Skotlex] * SQL compile fix [Komurka] 2006/02/08 * Added battle config option skill_caster_check, which does a status_checkskilluse on all skill attacks. When enabled (default on) the caster of the skill is checked on all skill_attacks, which means that ground spells will make no effect if the caster is unable to fight (stunned, frozen, etc) [Skotlex] * Added battle config option status_cast_cancel. When enabled (default off) some status changes (freeze, stone, etc) will cancel your cast. [Skotlex] * Fixed the death exp penalty underflow bug. [Skotlex] * Rewrote/organized status_change_start, it now receives the base rate for the effect. It handles reducing this rate/duration through natural resistances and whatever else should reduce it. [Skotlex] * Fixes to exp2.txt on the novice job exp. Thanks to rollopop. [Skotlex] - Also modified exp2.txt to use the normal max levels by default. 2006/02/07 * Modified battle_check_distance, mobs should no longer find a diagonal spot on which they lock onto their target, yet fail to attack from. [Skotlex] * Removed the max level configs from battle/exp.txt [Skotlex] * Now NPC_POWERUP uses SC_INCATKRATE instead of SC_EXPLOSIONSPIRITS for enhancing damage. Instead of +1k atk per skilllv, it is +50% atk per skilllv. [Skotlex] * Fixed char server changing the save/last point to new grounds in certain situations. [Skotlex] * Fixed SG_STAR_ANGER not getting it's damage bonus at all. [Skotlex] 2006/02/06 * Added a custom exp table that goes up to level 1000 (db/exp2.txt). [Skotlex] - It uses a inverse exponential growth rate to mimic the official exp rate increase as close as possible. - It overrides the exp level of the last 5~10 official exp values for a smoother curve. - It's adjusted so that the Lv1000 exp requirement for Advanced Base/2nd Job is close to the unsigned int limit without going above it (limit is 4294967295 in my system. It goes up to 42k Million on Advanced Base lv1000, I think) * Fixed startnpctimer starting multiple timers instead of failing when the npc timer is already running. [Skotlex] * Venom Splasher update: [Skotlex] - always hits (but splash damage targets can still avoid it) - Being hit does not cancels it, - works at 75% or less of target's HP - being hit normally while under the count has a chance of causing poison. - Damage is +400% + 50*lv% * Using autoloot with no arguments now toggles it between @autoloot 0 and @autoloot 100% [Skotlex] * Falcon Assault now takes Blitz Beat lv5 as base damage. [Skotlex] * Fixed pc_makesavestatus not updating status.option correctly. [Skotlex] * Corrected Waterball so that higher levels can do insane amount of hits. [Skotlex] * Altered slave behaviour. No more random walking, will stay within 2 cells of their master. [Skotlex] * Reverted the Summon Slave behaviour to not adjust level based on number of current slaves. [Skotlex] * Coma no longer sends SP to 1. [Skotlex] * Updated Meteor so that when level 11 or more is casted, the area over which meteors fall is tripled. [Skotlex] * Dark elemental characters are now immune to Curse. [Skotlex] * Fixed sc_data saving to sql buffer building method. Thanks to its_sparky. [Skotlex] * Changed the map zone reading from using pow to a bit shift. [Skotlex] * Experience has now been changed to unsigned int, and is read as such from the dbs. [Skotlex] * Increased HT_DETECTING seek range to 7x7 [Skotlex] 2006/02/05 * Added some of eAIRC bot code, written by me and LittleWolf. It is disabled and has no configuration options yet, as it is not finished. [Valaris] * Fixed and documented script command "callshop". [Skotlex] * Updated sq;-files/mob_db.sql with current mob_db. [Skotlex] * Updated sql-files/item_db.sql with current item_db. [Skotlex] 2006/02/04 * Skotlex's Falcon Assault fix. [Vicious] 2006/02/03 * Fixed the debug script messages specifying the wrong mapname for NPCs. [Skotlex] * Now you can't hide from earth elemental attacks (status_check_skilluse). [Skotlex] * Grand Cross/Grand Darkness can no longer get the ignore defense -armor piercing bonuses from cards. [Skotlex] * Loki's weil is now ignored by bosses. [Skotlex] * Land Protector and Gantantein should now ignore traps. [Skotlex] * Fixed Shinobi card so that it fails when you aren't next to a wall. [Skotlex] * After a guild master change, the new guild master has his guild skills blocked for 5 minutes to prevent abuse. [Skotlex] * Fixed txt-converter compilation errors [Komurka] 2006/02/02 * Fixed crash in status_change_timer. For some reason the block type switch was removed. [Valaris] * Crash fix in npc.c npc_timerevent. was: struct timer_event_data *ted = (struct timer_event_data*)ted; changed: struct timer_event_data *ted = (struct timer_event_data*)data; Skotlex, I am assuming it's calling from the passed data var, If I'm wrong please fix it. I just know what was there was definitely not correct. [Valaris] * Improved the NPC timer system to enable multiple timers going on at a time with different players attached to each. Now npc event timers are of two types: attached or global. The global timers don't have a player attached and can be started/halted by anyone. The character timers have a player attached, and they can only be stopped by a script that has the same player attached. [Skotlex] - Now player attached scripts will auto-abort when the atteched player quits the map server. - Of course, this requires some major testing as it's prone to have bugs... * Applied the Entry Reusage System to the battle delay damage timers. [Skotlex] * Fixed the map server complain when using the default user/password showing up if you set the new user/pass on the import file. [Skotlex] 2006/02/01 * Fixed compile errors and warning in chrif.c and charsave.c. [Valaris] * Map and char server now will complain if they are run using the default user/password set. [Skotlex] * Trick Dead makes you stop walking now. [Skotlex] * Soul Burn is not affected by Lex Aeterna, not affected by target's cards neither. [Skotlex] * Freeze and Stone take preference over Benedictio. [Skotlex] * Sleep/Stun/Petrify/Freeze block each other out. [Skotlex] * Fixed areamonster when the passed class is negative. [Skotlex] * Removed the clear screen when launching the server. [Skotlex] * Integrated the status change variables into a single structure for easier management. [Skotlex] * Break fall should no longer trigger when inflicted by freeze/stone/etc [Skotlex] * Fixed an overflow in grfio causing read problems in Win32 builds [celest] * Changed resnametable loading behaviour - grfio will load from data directory first, and then from the highest priority grf only if that fails [celest] * Increased grfio filelist limit to 1048576 to avoid problems when loading too many large grfs [celest] 2006/01/31 * Fixed skill_check_cloak to use the current skill level of the cloaking skill and not pc_checkskill() to know if a cloaker away from a wall should be uncloaked. [Skotlex] * Likely fixed opening guild storage. [Skotlex] * Removed no penelty mapflag for nifilheim. Confirmed on iRO. [Kayla] * Changed default value of gm_cant_drop_max_lvl to 98. Also reworded the comments for cant_drop_max and min. [Kayla] * Disabled pet skills by default. To my knowledge they are only enabled on cRO, not iRO nor kRO. [Kayla] * PF_SOULBURN no longer ignores mdef. [Skotlex] * HW_GRAVITATION should now invoke auto spells. [Skotlex] * Cleaned up damage return code. Reflect Shield and the like now should also trigger autospells from normal attacks (previously it was only worked on skill attack returned damage) [Skotlex] * Cleaned up Summon Slave mob skill to only summon number of missing mobs to complete the skill level (that is, SS level 5 will always bring the total count of slaves to 5, never above). [Skotlex] * Fixed being able to Encore skills you no longer have in your tree. [Skotlex] * Added no HP regen while Bleeding, -25% ATK and ASPD penalties as well. [Skotlex] * Added VIT reduces duration of confusion. [Skotlex] * Added "onspawn" mob skill condition. [Skotlex] * Changed the exp table format. The new format allows specifying exp tables for any particular class. Thanks to Playstester for converting the official exp table to the new format. [Skotlex] - UNTESTED: Report any problems asap. 2006/01/30 * Autoloot now uses the item's base drop chance rather than final drop rate to determine if it should autoloot the item or not. [Skotlex] * Fixed super novices getting +10 to all stats temporarily when their death count isn't zero. [Skotlex] * Fixed Kahai displaying HP-SP as the total healed instead of HP [Skotlex] * Cleaned up skill_repairweapon to prevent crashes when the target vanishes/changes/whatever before the weapon to repair has been selected. [Skotlex] * Parsing the Storage/Guild Storage from the char server will now fail if the storage has been modified and not saved yet. [Skotlex] * Being hit now cancels confuse. [Skotlex] * Added back the bleeding icon. [Skotlex] * Fixed Combo Finish Soul Linked Effect being a 11x11 area rather than 5x5 [Skotlex] * Added 'restricted' mapflag, based on lordalfa patch [Komurka] - you can set restriction zone on map (see mapflag/restricted.txt) - you can turn off item usage on certain restricted map in item_noequip.txt - you can turn off skill usage on certain restricted map in skill_nocast_db.txt * Moved MVP log code so it can log all MVP, not only when player gets MVP item, thanks to Hatred_ [Komurka] * One more small fix on 'bSPVanishRate' (hp -> sp) [Komurka] * Added bSPVanishRate to const.txt - Dark Priest Card should work now ^^ * Implemented bonus2 bSPVanishRate for Dark Priest Card [Komurka] - it isn't finished - I get '[Warning]: pc_bonus2: unknown type 0 50 10!' >< * Applied lordalfa patch - you can now forbid usage of certain cards on PVP/GVG/WoE defined in item_noequip.txt [Komurka] 2006/01/29 * Added support for more account states like "Unavailable due to hacking/bug investigation" etc, thanks to NeoSaro [DracoRPG] 2006/01/28 * Added the night mapflag to the new maps. Removed some indor maps. [Poki#3] * Added DISGUISE MobID; UNDISGUISE; script commands [Lupus] - Made them for Eastern Year of the Fire Dog Event.(to be uploaded today) 2006/01/27 * Added support for mob_avail.txt replacement for NPC classes. [Skotlex] * Added "sense_type" config to conf/battle/skill.conf to select which defense is displayed on the sense screen. Defaults to displaying def+def2. [Skotlex] * Modified traps so that once they trigger they set themselves as "Into the Abyss" casted traps, so that if you remove them, you won't earn the item. [Skotlex] * Fixed Basilica (small bug introduced yesterday) [Skotlex] * Hopefully cleaned out the warnings when compiling the char-SQL server. [Skotlex] * Updated the makefile for the plugins to take into account the ers.o file. [Skotlex] 2006/01/26 * Updated VC project files, thanks to D-Kalck. [Skotlex] * Rare drop announces will now be done based on the mvp_sd (character who did most damage) instead of sd (character that delivered final blow) [Skotlex] * Fixed TK Doridori bonuses to double your regen instead of giving 30Hp/3Sp [Skotlex] * Fixed Sense displaying def2/mdef2 when it should display def+def2 / mdef + mdef2. [Skotlex] * Fixed Super Novices losing their skill tree (showing up just basic skill) under certain circumstances. [Skotlex] * Cleanup and optimization of the movement routines. [Skotlex] * Added experimental feature "Cell Stack Limit". When enabled (see src/map/map.h) it should limit the amount of characters that can be placed on the same cell. That's assuming it works (experimental and untested as of yet) [Skotlex] * Hopefully fixed Benedicto checking on the west/east tiles instead of the left/right tiles of the caster. [Skotlex] * Fixed mobs being unable to move on tick loopback (which happens every ~51 days) [Skotlex] 2006/01/25 * Reverted last change, when you log again it still shows the fake icon. [Foruken] * Temporary fix to fake mute status when using pk_mode and !muting_player [Foruken] * Probably fixed the max base/job battle config options actually enabling characters to reach one more level than the max specified. [Skotlex] * Fixed BSS Sacramenti not hitting demon type enemies. [Skotlex] * Now poisoned monsters will show HP updates as their health goes down (let's see if this finally convinces people that poison works u.u) [Skotlex] * Splitted up battle_athena.conf into multiple configuration files. battle_athena.conf only contains import lines now, and all the configuration options are located in conf/battle/* [Skotlex] * Updated the db version with the new one by FlavioJS [Skotlex] * Improved the error reporting when failing to load a mob skill due to insufficient fields. [Skotlex] * Changed map_getallusers to use the db interface getall (hope it doesn't breaks horribly) [Skotlex] * Added an attack delay to TK kicks to prevent the top10 rankers from attacking normally during the skill animation. [Skotlex] * Updated script.c to display the file not found error using braces as delimiters to help when npc filenames include spaces and the respective file is not found due to them) [Skotlex] * Changed TK_RUN to a misc attack type which should enable you to halt the skill quickly after starting it. Updated SC_SPURT to be triggered when you stop running if you stopped running one sec or less after you started. Corrected the icon of SPURT to be that yellow Running Man. The previous footsteps effect was assigned to CHASEWALK. [Skotlex] * fixed battle config item_auto_get setting autoloot to just 0.01% drops rather than 100%. [Skotlex] * Added Sharp Shooting check to skill_attack to prevent hitting hidden characters. [Skotlex] 2006/01/24 * Some cleaning up of battle_calc_damage, Assumptio should now also reduce damage of all types of attack, not just weapon-based ones. [Skotlex] * Incremented SL_MONK combo SP cost reduction to 25% [Skotlex] * Updated Full Adrenaline Rush to work on all weapons except bows. [Skotlex] * Updated the script engine to report the src of an error when there's a problem with one of the script functions. For example, if there's a "player not attached error", it will also print which NPC caused it. [Skotlex] * Added RFIFOSKIP(fd,RFIFOREST(fd)) to the end of the login server's parse functions. This is good for clearing out packets of one byte. [Valaris] * Fixed noteleport mapflag affecting Warp Portal. [Skotlex] * Fixed map server crashing when parsing an incomplete mob-skill line. [Skotlex] * @autoloot 100 will now pickup items that have drop rates ABOVE 100. [Skotlex] 2006/01/23 * Added battle config "no_spawn_on_player", see battle_athena.conf for details. [Skotlex] * Fixed bows doing less damage on criticals when having high dex. [Skotlex] * Moved the enemy_critical adjustment to status_get_critical. [Skotlex] * Fixed @chardisguise to use the same id checks as @disguise. [Skotlex] * Fixed SightBlaster 'hitting' dead characters. [Skotlex] * Basilica check in status_checkskilluse expanded to help mobs release their target as soon as they walk into a basilica. [Skotlex] * When a player stops walking their to_x and to_y is updated to their present position. This MAY fix warp portal not warping players that were already there waiting to be warped. [Skotlex] 2006/01/22 * typo fixes (fell -> feel) [Komurka] - mob_db_mode_list.txt updated - removed some unneeded comments (//komurka) * Some changes of @main. Now you can send main-chat messages by sending whisper to nick "Main" (or any other, it can be set in inter_athena.conf). [LuzZza] 2006/01/21 * Changed gm_can_drop_lv battle conf switch to gm_cant_drop_min_lv and gm_cant_drop_max_lv [Komurka] * SL_SWOO (Esu) will only lasts 1/5 of normal time when used on a Boss-type monster [Komurka] -SL_SKE (Esk) won't work on a Boss-type monster anymore (if you KNOW that it should work on them write about it on forum; either way don't bother guessing ... SL can solo ANY boss with this skill ~.~) 2006/01/20 * Fixed the login-TXT login Log. [Skotlex] * Small update to sql-files/item_db.sql to fix speed potions (a complete update will be done when possible...) [Skotlex] * Fixed clone script command's duration being in ms rather than seconds. [Skotlex] * Taekwon Ready Stances combo time is now 2000 - 4*agi -2*dex ms instead of a flat 2 secs (same reduction that Monk combos get) [Skotlex] * Cleaned up code of SG_HATE, may fix the skill seemingly not working. [Skotlex] * Likely fixed Even-Share parties not breaking up when a character with too high/low level rejoins in char-TXT servers. [Skotlex] 2006/01/19 * Added config option atc_slave_clone_limit to limit the amount of @slaveclone's a player can have. [Skotlex] * The clone commands now fail when used on someone of higher GM level than the caster. [Skotlex] * Increased the size of the clif_disp_onlyself packet by one to see if it fixes the mysterious cropping of the last character in the message. [Skotlex] * Now when use_statpoint_table is set to yes, it will be used to determine the stat points you earn on level up. [Skotlex] * Small fixes as pointed out by FlavioJs in the login TXT server to prevent crashes in Win32 compiles. [Skotlex] * Merged Marquis's implementation of Enjoyable Rest's earth scroll bonus. [Skotlex] * Fixed players being able to send custom crafted mute requests that would go through regardless of their gm level and mute others. [Skotlex] * Updated mapflags [Lupus] * Modified the client_connect function in socket.c to allow different parse_functions to be called based on the listening socket. After a make_listen_bind returns a listen fd, set that fd's func_parse member to whatever parse function to be used. If this value is not manually set it will just use the default_func_parse function. This only affects server listening sockets in which the func_parse member isn't even used. [Valaris] * gvg_traps_target_all now also affects traps in pvp maps. [Skotlex] * All reflected damage has now a chance to auto-cast spells. [Skotlex] * Fixed Casting ground spells from within basilica. [Skotlex] 2006/01/17 * Updated the map server code to use some of the new db functions. [Skotlex] * Fixed ground skills checking the wrong target-type on movement, hence making them mostly useless (this is what the Warp Portal report was about) [Skotlex] * Some code updates to implement the new db interface. [Skotlex] - SQL compilation not tested, so if it breaks someone report to fix it :X * Added @clouds2 and clouds2 mapflag using effect 516. [Valaris] * Fixed some weather effects not working or not functioning correctly. [Valaris] * Cleanups and organization to maps_athena.txt and map_index.txt, thanks to Poki for the cleanup work. [Skotlex] * Some cleanup of the SG_FEEL code [Skotlex] * Fixed debug mode compiling in VC7.1. Added optimizations to VC7.1 release mode. Defaulted VC7.1 SLN to debug mode. [Lance] * Temperory solved the freeing freed pointer error upon map-server shutdown. [Lance] 2006/01/16 * Fixed clif_disp_onlyself packet length, thanks to Orn. [Skotlex] * Imported Freya's autoloot system which enables one to specify the maximum drop-rate to loot. [Skotlex] * Refix of the mapreg SQL saving fix of a while ago... [Skotlex] * Playtester custom eamobs spawn updates: coal Mines, umbala fields, and minor changes to Sphinx and Geffen Dungeon. [Skotlex] * Incremented a bit clone skill usage rate, their rate/delays are now affected by the battle_config options mob_skill_rate and mob_skill_delay [Skotlex] * Optimized use of BL_* constants by making them stackable (meant for map_foreach* calls). Should improve performance by avoiding battle_check_target calls on a bunch of invalid targets such as items/skills/npcs on skills and other misc places. [Skotlex] * Fixed mob skills that should trigger on status on "any bad". [Skotlex] * TK classes no longer are immune to the strip-effects of Jump Kick [Skotlex] * Fixed SQL mapreg saving. [Skotlex] * Reverted Ice Wall Behaviour (you can snipe/cast through it again) [Skotlex] * Fixed possible crash in skill_check_condition on consume-delayed items [Skotlex] * Skills whose range is increased by Vulture Eyes now get the range increased by 10 for non players (assumes VE level 10). [Skotlex] * Added cardfixes of near_attack_def_rate and long_attack_def_rate to misc attack calculations. [Skotlex] * Fixed Spirit of Wizard not working in a couple of instances. [Skotlex] * Advanced Book now gives 1%*skill level success chance to create element convert potion [Skotlex] * Changed the FEEL skill implementation to store/use map indexes instead of map names.[Skotlex] * Fixed compilation of plugins. [Skotlex] * Applied flaviojs's new db interface and fixed compatibility problems with Visual Studio. [Lance] 2006/01/15 * Fixed poison damaging player even when under 25% hp. [Skotlex] * Fixed permanent character variables in Char-TXT [Skotlex] * Fixed previous change for stable. Whoops my 5am work again. [Kayla] * Fixed the trade exploit allowing for a user to send packets while in a trade. For instance the bank NPC becoming a zeny dupe. Kudos to clown. [Kayla] * Added script source error reporting to set and getarrayelement, should print NPC name and location (map, coordinates) on the console when there's an error with these two commands. [Skotlex] * Removed treasure chests spawning upon agitbreak, leading to exploits. [Lance] 2006/01/14 * Removed the 5% success penalty for trying to make a convertor for which you don't have the relevant enchant skills. [Skotlex] * Fixed compilation of Login Converter. [Valaris] * Fixed bSPGainRace and bExpAddRace with RC_NonBoss and RC_Boss. [Valaris] * Lex Divina now shows the animation even when used on someone you can't (non-muted, non-enemy player) [Skotlex] * Quick hack to make Shield Reflect trigger auto-spells (only this kind of return damage does it? Because other reflect cards like Orc Lord behave exactly the same way...) [Skotlex] * Fixed grf loading to attempt to load from all grf files specified in grf-files.txt (looking for them in the same order specified in the file, returns the first match found) instead of only looking up on the last specified grf... [Skotlex] * Fixed compilation of plugins. [Skotlex] * Added error reporting to the db when a null key/data is attempted to be inserted and the db is configured to not allow them. [Skotlex] 2006/01/13 * Fixed labels located at the beginning of a script not being counted at all. [Skotlex] * Applied blackhole89's patch to enable dynamic menus. [Skotlex] - Script reference doc updated accordingly. * Ranking Taekwons with lv 90+ no longer get Quest/Wedding skills for free.[Skotlex] * Readjusted Scream And Frost Joke so now the effect goes off no matter where the caster went, but the effect will happen only around the area where the skill was done regardless of where the caster is (which is how it should work from a logical stand point) [Skotlex] * Scream and Frost Joke now take effect 2secs after casting, and caster must remain in same map for it to take effect. [Skotlex] * Flying Side Kick can't be used by Soul Linkers now. [Skotlex] * npc_reload should now correctly remove mobs and npcs that aren't placed in any map (such as mobs that were killed and are waiting for respawn) [Skotlex] 2006/01/12 * Fixed Ice-Wall range problem. [LuzZza] * Corrected the guild_db_final function in int_guild.c of SQL char-server to compile and function with the new db code. [Valaris] * Fixed some advanced skills being able to be copied even when restricted [Vicious] * Fixed a possible crash-source related to item-picking packets. [Skotlex] * Now Top 10 ranking Taekwons with base level 90+ get their whole skill-tree maxed out (but only as bonus-skills, they aren't saved on the dbs) [Skotlex] * Some cleaning of the char_name_letters implementation. Characters don't need a space between them, in fact, placing a space in that config makes the space count towards allowed/disallowed characters. [Skotlex] * Some modifications to the db code to make the code portable. It may compile on windows now. (note I can't test SQL compiles yet so report any problems ASAP) [Skotlex] * Fixed Venom Knife consuming two daggers. [Skotlex] * Inverted the packet order in many skills which cause status effects. The client expects the status-change packet to arrive before the skill packet in order for opt3-related changes to make effect on the character. [Skotlex] 2006/01/11 * Added @main command into atcommand_athena.conf. [LuzZza] * Tuxedo and Wedding Dress no longer get a 'forced' gender check regardless of config ignore_items_gender setting. [Skotlex] * Added support for 'invisible' shops. These are shops that are loaded but not placed on any map, so you can't click on them. [Skotlex] - Example: -shopInvisible Dealer-,1750:-1,1751:-1,1752:-1,etc... - Make sure they have a unique name if you want to reference to it with... * Added script command 'callshop' for invoking shops from within a script. [Skotlex] - Usage: callshop "Shop Name", flag; - Distance to shop is still checked, so it's best to use 'invisible' shops. - flag determines shop selection: 1: Show buy list, 2: show sell list. Anything else: show the buy/sell/cancel menu. - Function returns 1 if successful, 0 otherwise, but it is recommended that the script should be closed right away to prevent problems. - Documentation to the scripts_command.txt reference file not yet added because this command is as of yet untested and may need further refining. * Newly created SQL guilds won't save the member-list right away (this seems to be the reason why sometimes when creating new guilds, the guild-master keeps guild_id == 0 in the tables) [Skotlex] * Fixed char/int_storage.c reporting lines with too many items when in reality said items had the exact max amount allowed. [Skotlex] * Moved the status_change_clear code below the exp penalty so that the SC_BABY effect will work. [Skotlex] * Fixed the map_index never finding the last map specified in the map_index file. [Skotlex] * Fixed an overflowed pointer in char/inter.c, and an already free'd pointer error in map/guild.c [Skotlex] * Added battle option party_item_share_type, now you can choose between round-robin (previous implementation) and random (default) [Skotlex] * Fixed compilation of the plugins (due to the db change) [Skotlex] * Fixed a few issues with the map server (notably npc_command_sub was broken) [Skotlex] * Added proper escaping of the motd string before inserting it on the rag server info SQL table. [Skotlex] 2006/01/10 * Updated the map-server to conform to the new db interface. Removed DB_DELAY_FINAL_CHANGES and related code from db.* as now eA fully complies to the new interface. [Skotlex] * Crafting Arrows, Weapon, Forging/Upgrading now all fail if you have an npc going on to prevent your inventory from being modified while selling. [Skotlex] * Updated the char-SQL server to etc etc etc new db etc etc etc. [Skotlex] * Cleaned up the description of size_fix.txt [Skotlex] * Updated the char-TXT server to be blah blah blah new db blah blah. [Skotlex] * Updated both login servers to be fully compliant with the new db interface. [Skotlex] * Moved skill damage bonuses from cards to the 'second layer' which means they are applied on top of previous damage bonuses rather than just adding to them. [Skotlex] * Some more updates to the db code as specified by FlavioJS [Skotlex] * Fixed the memory leak of npc_unload_ev. [Skotlex] 2006/01/09 * Some more updates regarding the new db system. [Skotlex] - Note that there's currently a leak regarding npc_events (ev_db), but this one is not a serious problem (unless you use a lot of npc_reloads) and will be fixed as the db gets improved. * Moved the Kaupe code to battle_calc_weapon_attack where it will dogde all weapon-based attacks that can be dodged (giving the illusion of infinite flee for skill's duration). [Skotlex] * Moved Sonic Acceleration and Soul Linked SB damage bonus to the second layer of skill modifiers. [Skotlex] * Enchant Deadly Poison and True Sight damage bonuses are now applied after skill modifiers rather than added with them (damage % stack type). [Skotlex] * Modified Ice-Wall to work using cell types defines instead of directly modifying the gat terrain information. Main reason for this is to enable pc_setpos to place players on top of an ice-wall, because otherwise it was forcing players to warp-around even in maps with noteleport set which is prone to exploits. [Skotlex] * Fixed SG_FUSION (SG_FUSION <-> SC_FUSION #_#) [Komurka] * Now sense elemental values are again uncapped (so enemy with -25% resist will show 230% instead of 0%), as requested :P [Skotlex] * Replaced the db subsystem for FlavioJS's implementation and initial work on updating the eA code to use it as intended. [Skotlex] * Fixed Char-TXT server saving last/save maps with spaces on the left. [Skotlex] * Fixed Char-SQL server saving new character's maps with spaces on the left. [Skotlex] * Fixed Charsave method 1 saving memo maps with spaces on the left. [Skotlex] * Changed the order of packets sent for Assumptio (may fix the visual not showing up?) [Skotlex] 2006/01/08 * Fixed the guild SQL cache removing guilds from memory when said guilds had no data to save (but were not yet marked for removal) [Skotlex] * Added a cap to limit Star Gladiator's job level to that of the normal classes (instead of 2nd classes) [Skotlex] * Fixed TXT char server parsing only the first character permanent variable received from the map server and ignoring the rest. [Skotlex] * Fixed @users crashing the server. [Skotlex] * Added Arrow Repel to the list of skills whose range is increased by Vulture Eye. [Skotlex] * Fixed the item pick-up rule for party options being working backwards. [Skotlex] * Fixed progress info in TK_MISSION [Komurka] * Fixed an aproximation error when calculating distances which causes stuff like mobs thinking they are within attack range when they actually aren't [Skotlex] * Char-server will now be notified after a character logs out when using charsave_method:1 [Skotlex] * Added check to update pet's position on pc_movepos (stuff like High Jump) when the master moves too far away or to a position the pet can't reach. [Skotlex] * Fixed char-save method 1 saving map names with padding spaces to the left. [Skotlex] * Now sense elemental values are capped to 0 as lower bound (so for an enemy with -25% resist, it'll show 0% instead of 230%) [Skotlex] * Updated sql-files/ mob_db.sql and item_db.sql to current TXT data.[Skotlex] 2006/01/07 * If player is dead, and is spawned (such as @refresh), death packet is sent. [Valaris] * Cleaned pc_attack_timer so that the attack timer will auto-readjust when it triggers during the can't act tick instead of cancelling the attack sequence. [Skotlex] * Fixed compilation of the TXT-converter. [Skotlex] * walkto x,y request packets are now ignored if you are sitting. [Skotlex] * Fixed a typo that was making the party item-pickup style shared not taking effect for the item_first_get_time regardless of setting. [Skotlex] * Applied Playtester's custom mob spawns to the eamobs/ set. [Skotlex] - These custom mob spawns are an experiment to balance out mob spawns and put some sense into them (no crap like too strong AND too weak mobs on the same floor, increasing mob difficulty the deeper into the dungeon you go, etc), without moving mobs too far from where players are used to see them neither. - To enable them, modify scripts_main to use scripts_eamonsters rather than scripts_monsters. - Currently, the modified dungeons are: Glast Heim, Geffen Tower, Clock Tower, Sphinx, Pyramids, Byalan. * Added check to make sure guildspy and partyspy variables have value. [Valaris] * Separated the permanent variables from the character status structure. [Skotlex] * permanent variables are now loaded on their own packets as needed to reduce the bandwidth wasted between servers. [Skotlex] * Permanent account variables are now saved when the script is finished instead of each time they were modified. [Skotlex] * OnInit scripts and related code now executes after all perm variables are received (so now account variables are accessible during it) [Skotlex] * Fixed typo in pc.c causing crashes in Line 769. [Lance] * Corrected VC7.1 prject files to include mapindex.c and mapindex.h [Lance] * Corrected Wrath of the Star formula (added missing STR in equation) [Komurka] - Added movement speed bonus to SG_FUSION (same as PecoPeco gives) - You can now 'turn off' SG_FUSION * updated NoIcewall maplags, thanks to Sir Loon [Lupus] * soundeffectall modified to rely on dependancies depending on situation. [Lance] * Modified getd to return 'pointer' (will be 'dereferenced' automatically) instead of value, making it very flexible when paired with getelementofarray() [Lance] 2006/01/06 * Corrected main.sql having incorrect syntax [Foruken] * Cleaned up some maps in maps_athena.txt and added a bunch of cloned maps to map_index.txt [Skotlex] * Refine bonus is no longer increased by the number of hits from the skill except for TSS [Skotlex] * Dispelled Berserk won't drop HP back to 100 now. [Skotlex] * Mobs that use NPC_SUICIDE won't give neither exp or loot now. [Skotlex] * Summoned mobs that cannot move will be removed from the map when the master is gone to another map AND the mob's map is a gvg ground. [Skotlex] * Fog of Wall effects now work in both directions (outside -> inside, inside->outside) [Skotlex] * Fixed the sql guild loading always returning a blank guild when the guild_id does not exists! [Skotlex] 2006/01/05 * Some changes to the guild SQL code to report whenever a guild's id is not matching the one it was stored with in the db, which in turn free's the guild and doesn't saves it to perhaps prevent data corruption. [Skotlex] * Corrected the fifo-buffer readjusting code to set a reserve-buffer size of 1/8th of the inter-server link (32K) for said links. [Skotlex] * The mapif_send* and charif_send* functions (char/login servers) will now adjust the buffer size when there isn't enough space to write data to them rather than abort sending the data. [Skotlex] * Increased inter-server socket buffer size to 256*1024. Should fix problems with 0x3004. [Kayla] * Increased inter-server socket buffer size to 192*1024. Should fix problems with 0x2b01. [Kayla] 2006/01/04 * Fixed buildin_monster not working for random classes (dead branch, etc). [Skotlex] * Reverted inter-server socket buffer size to 131072 bytes. [Valaris] * Removed reduction of socket buffer sizes after WFIFOSET if the max size is >= FIFOSIZE_SERVERLINK. This should reduce inter-server buffer overflows. [Valaris] * Script command 'monster' will now fail when trying to spawn a mob-class that is not in the mob_db (warning will be printed on the console) [Skotlex] * Fixed a crash when spawning a mob who's class is not in the mob_db. [Skotlex] * Some cleanups and improvements to the character saving algorithm meant to make it harder to have dupe exploits during char-map connection lag moments. [Skotlex] * Doubled the inter-server link buffer size. [Skotlex] * Fixed status_get_adelay messing up the mob's aspd :X [Skotlex] * Changed skill_delayfix to use the amotion value as default delay for weapon skills with no delay instead of attack delay (adelay is actually twice your aspd, amotion is the same as aspd) [Skotlex] * Added upgrade_svn4783.sql, which corrects the structure of the mapreg table to use varchars as it should. [Skotlex] * Fixed Meteor Assault. [Skotlex] * Fixed (I hope) the double free'd pointer issue in the login servers. [Skotlex] 2006/01/03 * Fixed the warp unloading code. [Skotlex] * Updated Jump Side Kick to also clear Berserk Pitcher. [Skotlex] * Preserve now protects against the stripping effects of Side Kick. Taekwon Classes (TK/SL/SG) are also immune to it. [Skotlex] * Hopefully fixed the guild information not being sent in some situations when people are added/removed from a guild. [Skotlex] * Some cleaning up and bug fixes to the guild module of the char-sql server. Let's see if it fixes anything up... [Skotlex] * Added battle option show_party_share_picker. When enabled tells the picker of the item who received the item when in a party with 'Party Share' loot style. [Skotlex] * Added the nullpo_retv line required for win32 compiles... [Skotlex] * Added some cleanup code to properly remove all warp related information on npc_unload (untested as of yet!) [Skotlex] 2006/01/02 * Completed (almost) packet 0x1e9 which gives the party info. Now you can see the party's item options when opening the alt+p menu. [Skotlex] * Fixed regen only working when overweight. [Valaris] * Added body size to clones. [Valaris] * Corrected TK_JUMPKICK to remove Soul Linker spirit buffs and related effects (except Berserk-Pitched effect) [Skotlex] * Corrected TK_RUN to give +10 dmg bonus to kick skills when not wearing a weapon. [Skotlex] * Added Kaina's Enjoyable Rest bonus and Max SP bonus. [Skotlex] * Fixed Stone Curse consuming gems while Soul Linked. [Skotlex] * Fixed party-change-map packet incorrectly checking if the even share rule was broken (party share should now correctly break on map-change, or when a player has it's level reset) [Skotlex] * Corrected the Jump Kick base-level damage bonus when combo-used. [Skotlex] * Added the running damage bonus to the TK kicks. [Skotlex] * Made the TK kicks end the Soul Linked status on targets. [Skotlex] * Corrected Spirit of Wizard to nullify any bounced back spells. [Skotlex] * Cleaned up the natural/skill HP/SP regen routines. [Skotlex] * Fixed Turn Kick not knocking back nearby enemies. [Skotlex] * Added the damage bonus to Flying Side Kick when used from a combo. However I am waiting for the actual equation (currently just does +300% dmg) [Skotlex] * Fixed Counter Kick for ranking Taekwons. [Skotlex] * Added walk slowdown and aspd penalty to Eska. [Skotlex] * Fixed status_get_size which seemed severly broken. [Skotlex] * Fixed Kahai to only display actual amount of HP healed. [Skotlex] * Now when a script's map is not found (or not loaded on the map server) the script engine will skip the whole script instead of just the first line. [Skotlex] * Fixed Soul-Linked Dancers not receiving the Bard songs. [Skotlex] * Updated Joshuaali's VC-8 project files. [Skotlex] 2006/01/01 * Some improvements to the login server (txt/sql) to prevent memory 'leaks' from accounts that logged in but where never properly set as logged out. [Skotlex] * Fixed mapindex not working for last map loaded in map_index.txt [Skotlex] * Added support for packet 0x1e9, party_main_info. Packet is still incomplete and the client is ignoring it currently... [Skotlex] * Changing party options now does not alters item party options. [Skotlex] * Corrected Kahai healing even when there's not enough SP to do so. [Skotlex] 2005/12/31 * Fixed the additional effects on normal attacks of Enchant Poison, Enchant Deadly Poison and Kahai not taking effect except when the attacker was a player. [Skotlex] * Resurrection now fails on gvg maps (when reviving) [Skotlex] * Kaite now works on player-casted spells regardless of level... [Skotlex] * Fixed Kahii healing 0 rather than 200*skilllv... [Skotlex] * Mobs will now go after the loot as soon as they spot it rather than on their next random-walk time. [Skotlex] * Set the 56th byte in packets 7b and 1da. It deals with acceleration in directions. It's just like the final byte in packet 0x87. Server-side update of this still needs to be figured out. [Valaris] * Fixed Kaziel not starting Kyrie Elison upon resurrection. [Skotlex] * Fixed Kahai's healing display. [Skotlex] * Fixed Kaite bouncing back always one spell. [Skotlex] * Fixed and tested @waterlevel. It requires the grfs to be present as the map layout height information is stored there but not in the map data kept in memory. [Skotlex] 2005/12/30 * Disabled certain packets from taking effect during trades to prevent possible exploits (such as picking and dropping items, buying selling from npcs, etc) [Skotlex] * Now you can't move items to/from your inventory to the cart/storage during a trade (this is to prevent possible item dup exploits) [Skotlex] * Emergency Recall now only works from within woe grounds... [Skotlex] * Removed returns from non-null lines in MOTD. Replaced returns in null lines with a space. [Valaris] * Fixed a bug where MOTD wasn't displaying blank returned lines. [Valaris] * Updated mapindex so that name lookups ignore extensions, and the loaded maps are always terminated in .gat. Id lookups will always return a string terminated in gat. Purpose? It enables specifying mapnames without the .gat extension, so you can have npcs in prontera, no need for the .gat. And the returned string always has a .gat for needed when it is passed to the client. Now you can safely get rid of the .gat extension in all mapnames. [Skotlex] * Fixed the txt-converters so they compile cleanly again. [Skotlex] * Added mapflag script support for no loot, no exp, no return, no warp to, nightmare drops (see db/const.txt for names) [Skotlex] * Removed an extra } in int_party.c that caused compile errors. [Valaris] * Fixed a crash when warp portals passed from passive to active. [Skotlex] * Added a missing label (M_0) that was causing people to freeze when viewing the city list from "Miss Yoon" [Zephiris] 2005/12/29 * Newly created char-SQL guilds will be saved inmediately rather than at their next turn in the cache (may fix those guild disappearing errors) [Skotlex] * Implemented a map-index which maps map-names to a unique number, this reduces memory required to store maps as well as the size of related packets between the char/map server. Maps and their indexes are stored in db/map_index.txt, and the index of a map should NEVER change (see file for more details). The index is translated to/from map-names for saving, so save-structures are not required to be modified. [Skotlex] - PD: The new mapindex also found a bunch of broken map names in various NPCs, someone will have to go fix them up. * Updated the party member structure to hold the char_id. For end users, the most noticable change is that now you can have more than one character from the same account belong to the same party. [Skotlex] - TXT users will have to wipe the party files, SQL users use the respective upgrade file (upgrade_svn4726.sql) to generate the new party column. * Updated the char-sql server to hold parties in memories until they are no longer needed (like the guild-cache), also optimized the save routine to avoid needless SQL calls. [Skotlex] ** WARNING: Because of the previous optimizations, a lot of code was changed around the map/char servers, the char-sql's party system got pretty much a rewrite, so some problems are to be expected. Some basic testing with parties over here showed no problems, hence the work is getting commited as it is because it isn't getting any better without further testing. * Set value of the last byte in packet 0x87 (walkok) to 0x88 (10001000). This is a default value in Aegis, and has something to do with animation speed in certain directions. This byte is going to need to be fully analyzed since it does change in Aegis, just that I have been unable to figure out what the conditions are. [Valaris] * Mob skills are not even read now if mob skills are disabled in battle_athena. [Skotlex] 2005/12/28 * Fixed xmas and wedding palette ignore options. It will also no longer send the dye packet if @dye is used. [Valaris] * Some code cleanup meant to fix possible memory leaks regarding parse_script() [Skotlex] * Small fix to party-share item pickup which should fix the current item dup exploit. [Skotlex] * Merged Reddozen's implementation of Kahai. [Skotlex] * Implemented Kaite (it simply changes the target of spell to the caster, so the caster's status changes and defense are the ones considered) [Skotlex] * Removed Guilds Glory from guild skill tree, can be enabled with require_glory_guild battle conf switch [Komurka] * Cleaned up the implementation of Poison and Deadly Poison. Corrected a bug on Deadly Poison that was KO'ing human players when it triggers under certain circumstances. [Skotlex] * Added guild_skill_tree.txt [Komurka] - corrected guild skill tree * Battle Orders, Regeneration, Restore and Emergency Recall now share their 5 minute delay. [Skotlex]] * Implemented SC_INTRAVISION [DracoRPG] * Reorganized a bit DEF/MDEF calculation code [DracoRPG] * Added a small licence notice at the top of every Athena source/header file, I've tried to put it only where it should have been but I'm not a pro ^^ [DracoRPG] 2005/12/27 * The 50% Weight Icon will now show up at whatever % was specified in natural_heal_weight_rate [Skotlex] * Fixed char-txt server crashing if trying to read storage lines with more items than the max (excess items will simply not be read and a warning printed) [Skotlex] * Added silent_console config option to the servers to filter out the console output (login_athena, char_athena, map_athena config files). Makes it possible to hide unwanted messages by category, so for example you can remove all info messages, or all warning+notice messages, etc. [Skotlex] * Removed unused battle switches enable_upper_class and unit_movement_type. [Skotlex] * Reenabled battle switches pet_defense_type, mob_defense_type and mob_remove_damaged. [Skotlex] * Applied Irmin's patch to add support for SQL codepages. [Skotlex] * Fixed friend list saving if using a custom char table name (SQL version). [Valaris] * Added check for mute in main chat [Foruken] * Likely fixed lose Hp/Sp script commands when used on accesories. [Skotlex] * Added 2 new script commands: getfatherid, getmotherid [Lupus] * Fixed compatibility problems with stricter compilers. [Lance] * Added joshuali's new VC8 project files and SQL database upgrade script. [Lance] * Fixed juicer script typo, eliminating unlimited juicing capability with zero zeny. [Lance] 2005/12/26 * Added check for free'd guild pointer beforing freeing in guild_save in int_guild.c. [Valaris] * Added @kamic command. Now you can send colored GM-messages. Syntax: @kamic . Color is 3-bytes hexadecimal number RRGGBB. [LuzZza] * Implemented main chat (global chat channel). Usage: @main , @main . [LuzZza] * Chasewalk players can now be hit in the same way a Cloaked player could. [Skotlex] * Added option mob_npc_event_type, read battle_athena.conf for details. [Skotlex] 2005/12/24 * Fixed @go, thanks to Persian [Vicious] * Updated @go command for new cities, done by Harbin [Vicious] * Added root user check and warning to non-Windows compiles. [Valaris] * Added a check to remove characters that would normally be left unremoved during shutdown because they just happened to be between maps. [Skotlex] * Fixed the production code always giving 1 item instead of the value they should (50/100/200 for Twilight Pharmacy skills) [Skotlex] * Corrected easy path searching algorithm failing for some cases (which incidentally seemed to be the reason skill_wall_check was broken) [Skotlex] * Fixed compile for TXT map-server. [Valaris] * Fixed stone curse's defense being checked versus int rather than mdef. [Skotlex] * Fixed firewall treating everyone as undead/fire-element. [Skotlex] * Added SQL read of cast_db. [Valaris] * Added SQL read of skill_require_db. [Valaris] * Added SQL read of skill_db. [Valaris] * Added setting use_new_sql_db to inter_athena.conf for development. Do not enable this setting, it will be merged into use_sql_db once all work is finished. [Valaris] * Added some work towards sqlizing the rest of the databases. [Valaris] * Changed @help2 to #help to display char commands. Cut @help in half @help2 has the other half. [Kayla] 2005/12/23 * Missed a change in txt login.c for bind_up. [Valaris] * Cleanup organization of clif.c and script.c. Please don't put extra functions beyond inits, try and organize a little. [Valaris] * Removed login_ip option from login_athena.conf as it is not used. [Valaris] * Fixed bind_ip option in login servers. [Valaris] * Fixed a bunch of terrible typos in chrif.c [Skotlex] * Fixed a terrible typo in the handling of broadcast messages which was causing the map server to send garbage packets to the char server. [Skotlex] * Added resistance (int + luk/3) to Stone Curse's equation [Skotlex] * Updated sql-files/item_db.sql to current txt version. [Skotlex] * Fog of Wall update... Blindess won't affect bosses, blindness ends as soon as you step out (players only) [Skotlex] * Implemented the Strip equipment effects on mobs. [Skotlex] * Now when Berserk ends, the char's HP goes to 100. [Skotlex] * LK's Concentration now gives +50 hit rather than +50% [Skotlex] * Inverted the handling of Individual/Shared item pickup rule for parties. [Skotlex] * Fixed the item ruling for parties not being correctly read from the save files. [Skotlex] * Now Star Gladiator uses 2nd Adv.Class Job EXP table (13th column) [Lupus] - In future there could be added the 14th EXP column, specially for Star Gladiator 2005/12/22 * Begin work on packet optimization .. not done yet [MouseJstr] * Finished work on @help/@help2. @help will no longer show # commands. @help2 shows them instead. [Kayla] * Fixed compile warnings in atcommand.c and map.c. Fixed compile error in script.c. [Valaris] * wedding_modifydisplay's default is now no (that's how it is on official) [Skotlex] * Some cleaning to skill_attack, also added target checking for splash attacks/groundbased skills [Skotlex] * Mobs will now stop walking if their target no longer exists (picked up items, for instance) [Skotlex] * Modified firewall to cause no damage delay when hitting undead characters. It may fix undead mobs warping when walking through the firewall. [Skotlex] * Added script command "clone" for cloning of players. See doc/script_commands.txt for further information. [Skotlex] * Added @waterlevel debug command to read/change the current's map water-level (command untested) [Skotlex] * Enabled names for forged weapon/created Potions by default [Lupus] - Old issues have beed solved long time ago, now items by TOP10 BS/ALCH gain their TOP10 bonuses 2005/12/21 * Now left_cardfix_to_right won't take effect when there's no weapon equipped on the right hand. [Skotlex] * Updated slave AI to support player masters as well (that is, you could have a non aggressive slave, and it will target any mobs the master targets) [Skotlex] * Added battle option skill_wall_check, when enabled, all ground skills will do a check for each cell to guarantee a straight path between the cells and the target tile. Should prevent AOE skills from hitting through walls. Due to the possible performance penalty this setting brings, it defaults to no currently. [Skotlex] * Default skill delay for skills with no delay is now the normal attack delay. [Skotlex] * Extremity Fist/Charge Attack will fail if the player can't move to the target. [Skotlex] * Prepare kick skills now only fail for Soul Linkers. [Skotlex] * Merged in Marquis007's work on SL_SKA/SL_SWOO [Skotlex] * All skills except Shield Boomerang get the weapon's refine bonus now. [Skotlex] * Taekwon Ready Stances will now fail if you are a Second Job of the Taekwon Tree (SL, SG) [Skotlex] * Another fix to item picking for party-share. Hopefully it works alright now (at least I believe it should be dupe-proof now) [Skotlex] 2005/12/20 * Updated water heights for some maps, thanks to [Lupus] - removed p_track02.gat from the maps list. Thanks to Justin84 * Fixed produce_db items always failing... [Skotlex] * Hopefully fixed picking up items on a party-share type of party. [Skotlex] * Txt map servers will now send the whole list of online characters at UPDATE_INTERVAL (10 secs) rather than CHECK_INTERVAL (1 hour) so that the online.html file will be correctly updated. [Skotlex] * Fixed char_sql and char crash because of buffer overrun. [Lance] * Added a flag to tag non-weapon based skills so that they don't get the following bonuses: Star crumb damage, Mastery bonuses, Weapon Refine damage upgrades. Currently applies only to shield skills. [Skotlex] * Removed use of castle_id for guilds in char-sql server (use corresponding upgrade_svn* file). TXT servers haven't been touched yet because that would mess up the guild save files. [Skotlex] * Online list of characters will be sync'ed every 10 secs for TXT servers. [Skotlex] * Merged in Reddozen's work to get Twilight Pharmacy working. [Skotlex] - Create Deadly Poison Bottle and Holy Water are now both handled by the item producing code. 2005/12/19 * Fixed char servers not parsing correctly the online count packet (/who should work fine now) [Skotlex] * Fixed the Dodge walking speed bonus to Assassin. [Skotlex] * Added the new Garden City Hugel and Kiehl maps. [Valaris] * Corrected Kaupe/Kaizel so that you can cast it on self/family when not-linked, and anyone when linked. [Skotlex] * Fixed the mob damage log not getting the ID of the attacker registered... [Skotlex] * Added a new timer which updates only the count of characters on the current map server to the char server. Update interval is 10 secs. [Skotlex] * Updated status_clear_debuffs to clear many other types of ailments (Gospel should be clearing up most negative status changes now) [Skotlex] * Fixed exp calc type 0 (dmg/total dmg) being calculated as 0 always. [Skotlex] * Implemented the item pickup style for parties. [Skotlex] - Party share distributes items in round-robin fashion among players who are in the same map. - Pick-up Style shared is needed for anyone to be able to pick up the item bypassing the timers set for first/second/third sd. [Skotlex] * Optimized map server's online-listing update timers. [Skotlex] * Some updates to the online db in the char/char_sql servers, should help fix some memory leaks due to chars left tagged as 'online' even though that's incorrect. [Skotlex] * Added buildin_warpchar script function. Useful for warp one player from another player npc-session. Sytax: warpchar "map.gat",x,y,Char_ID; [LuzZza] * Now opening storage will fial if the guild storage is open and viceversa. [Skotlex] * Total damage a mob receives is now stored on it's own variable. Damage log implementation clean-up. [Skotlex] 2005/12/18 * Fixed Close Confine not affecting the caster. [Skotlex] * Fixed all skills except Extremity Fist not getting the weapon size modifiers [Skotlex] * Fixed Warp Portal checking for noteleport instead of nowarp mapflag (again?) [Skotlex] * Fixed baseJob working as baseClass (I hope it works fine now) [Skotlex] * Fixed Doridori bonus for Super Novices [Skotlex] * Updated new MOTD code so that it can compile on VC. [Valaris] * Fixed clone's dyes changing when they attack. [Valaris] * Declared pc_read_motd(void) in pc.h for the motd reload command. [Valaris] * Added @reloadmotd for reloading the motd.txt into memory. [Valaris] * motd.txt will now load into memory at startup instead of being read everytime a player logs in. [Valaris] - motd.txt can now have lines commented with "//" . - MOTD_LINE_SIZE is defined in pc.c, change this to increase maximum amount of lines allowed in motd.txt. - Default motd line maximum is 128. * Added a new script function 'setitemscript ItemID,"{ end; }"' [Lupus] - Very useful for events that give TEMP item bonuses for short time period 8) A Custom New Year Event NPC's coming soon. 2005/12/17 * Updated the svn eol-style properties to make merging between linux and windows easier when we use more complex branching system [4544: MouseJstr] 2005/12/16 * left_cardfix_to_right now also moves the ignore race/element defense bonuses (Ice Pick, Weed Killer, etc) [Skotlex] * Some fixes to the job_name functions (rearranging inside msg_athena.txt as well) [Skotlex] * Left card to right fix will now also apply to defense piercing effects (Ice Pick) [Skotlex] * Fixed char-converter being broken for a type mismatch [Foruken] 2005/12/15 * Fixed clone skills again. This time ground-based skills are working, and support skills have a re-cast delay of half the skill's actual effect. [Skotlex] * Fixed clone commands sometimes spawning the clone on a non-walkable tile (which in turn sends the clone to a random map location) [Skotlex] * Added debug information to the guild cache. Total number of guilds in the db will be printed now (as long as the save log is active) [Skotlex] * Updated SG_HATE to pick the specific class (Select a Monk, and the bonus is against monks only, not Champions/Acolytes/Baby Monks) [Skotlex] * Removed hardcoded table names in login_sql/login.c [Foruken] * Some cleaning regarding the job tree skill-raising restrictions code. [Skotlex] * Optimized/cleaned up the job_name function, job names are now acquired from msg_athena.txt. [Skotlex] * Fixed race defense bonus against Boss/Nonboss checking versus the target instead of the attacker (should fix Alice Card) [Skotlex] * Some cleaning in clif.c [Skotlex] 2005/12/14 * Fixed 'dead_branch_active' option. [Skotlex] * Optimized use of weather effects, or should I say, no use. Also re-added clif_clearweather to some of the weather effects, when they are turned off. Why those were removed are beyond me.. [Valaris] * Temporarily changed the walk speed during Charge Attack and Extremity Fist to simulate a faster 'zoom' to the target (somewhat untested yet) [Skotlex] * Corrected SL_HIGH so that the total of each stat is always 50... [Skotlex] * Optimized graffiti display packets (what was I thinking?) [Valaris] * Corrected a statement in guild.c (== to =) in nulling out the guild cache. [Valaris] * Implemented a mini cache for guilds/parties in the map server. Looking up the same guild/party twice or more should result in instant seek times until a different one is looked up. [Skotlex] * Fixed saving account variables [Komurka] * Fixed SL_KAIZEL not starting the proper effect. [Skotlex] * Merged Reddozen's work of SL_KAUPE [Skotlex] * Updated checkweight() script command to return false when the player has inventory full. [Skotlex] * Soullink check for SG_FUSION [Komurka] 2005/12/13 * Fixed @slaveclone not attacking enemies. [Skotlex] * Some more cleaning to the clone skills, proper support for Heal, Resurrection, Double Attack, Triple Blows. [Skotlex] * Updates/fixes/corrections to battle check target so that mobs with special AI can fight mobs without it even if the mob doesn't has a human master. Also updated it so that mobs with no special AI are all friends by default. [Skotlex] * Clone skill fixes, support/self skills are now triggering (never triggered before), adjusted some of the skill usage rates. [Skotlex] * Dyes will now work correctly on cloned or mob_avail class monsters. save_clothcolor must be enable in battle_athena.conf. [Valaris] * Added carts, falcons and pecos to clone and mob_avail class monster spawns. [Valaris] * Likely fixed the @spawn names issue. [Skotlex] * Fixed @*clone commands not resolving properly the target char. [Skotlex] * Implemented the SL_ROGUE bonus to potions. They heal +100% more rather than 50% (potions from ranking Alchemists, that is) [Skotlex] * Merged in Reddozen's work with SL_KAIZEL [Skotlex] * Added the check to prevent KA skills from being usable until you are Soul Linked. [Skotlex] * Enabled clif_parse_Taekwon (Why was taekwon parsed as clif_parse_Alchemist?) [Vicious] * Moved the base attack code into it's own function to properly implement the magnum break's elemental damage bonus (watch out for bugs as the code was proof-read, but that usually doesn't says quite enough when it comes to code). [Skotlex] * Merged in Reddozen's work for SL_WIZARD [Skotlex] * Updated clone command to allow attaching the clone to the invoking player as a slave. @clone creates a friendly clone that attacks mobs. @slaveclone makes a clone that follows the creator (it's a slave), @evilclone is the stock clone as a mob). Also fixed min/max damage of clones. [Skotlex] * Added one extra tile of range to melee mobs in mob_attack, should fix mobs not attacking when they are range+1 tile from you, yet they refuse to move in that final tile. [Skotlex] * Corrected mob ai not moving closer to player if there's a distance of 2 or less between them (which would do no good if the mob's range is just 1) [Skotlex] * Fixed SG_FRIEND - should work now [Komurka] * Realtered global_reg value size to 256. [Lance] * Adjusted pointers location for packets for new global_reg value (it's wrong + I adjusted the size) to 256 + 32 = 288 [Lance] * Improved variable scope for scripts to accept all string variables. [Lance] * Altered map, char and login server to correctly use global_reg [Lance] * do_sendrecv merges from Freya [Lance] = Requires recheck on packets again to see if I missed any pointer alterations = * Improved @evilclone to accept character IDs [Lance] * Corrected partywarp/guildwarp to correctly take into account nowarp/nowarpto mapflags. [Skotlex] * Added a few custom scripts due to high demand. [Lance] * Added monster museum. Adapted from Prometheus. [Lance] * Corrected OnTouch to use exname instead of name to prevent conflicts. [Lance] 2005/12/12 * added manner_system battle conf variable (now you can have PK server without manner system - which is unfinished ;/) [Komurka] - some corrections in SI_ data (night uses soullink effect) - changed global_reg value from int to char added two new functions (pc_readglobalreg_str and pc_setglobalreg_str) SG_FEEL now saves maps to global_reg I've 'marked' all changes that SHOULD be checked with '//komurka' - SG_FUSION hp penalty changed from 2% to 0.5% - SG_SUN_COMFORT now increase VIT DEF - implemented SG_FRIEND skill - this is the last SG skill - now it's a good time for bug reports :] * Updated the max number of ingredients of produce_db to 12. [Skotelx] * Updated clone code to also copy the skills from the source player. [Skotlex] * Added Reddozen's implementation of SL_SKE and SL_MONK (sp recovery, Combo Finisher splash damage, SP regen while in Fury) [Skotlex] * Some reorganization of the Star Gladiator map-based skills. [Skotlex] * Fixed @spawn/@monster atcommands 'freezing' server when used. [Skotlex] * Fixed ground-based skills having their range-check messed up... [Skotlex] * Corrected melee-ranged mobs failing the range check even if they were standing next to you. [Skotlex] * Added all duel-commands messages into msg_athena.conf. Commented out code of drawing PVP-circle in duel because it not hiding when player use hide. [LuzZza] * Removed @monster2, merged the code of atcommand_spawn/atcommand_monster as suggested by Flaviojs. [Skotlex] * Removed some unused entries in msg_athena.txt [Skotlex] * When there are unused stack sections (invoked functions and ignored return values) the unused stack section is free'd. This is still notified when the etc_log is active. [Skotlex] * Removed the TURBO code from socket.c as requested by MouseJstr. [Skotlex] - It was actually slower than the normal code. * Updated warp portal and script commands partywarp/guildwarp to take into consideration mapflag nowarp as restriction rather than noteleport. [Skotlex] * Applied dontBR's update to his configure script [Kayla] * Changed the bonus on Sonic blow.(It was giving 1500% instead of 1600%) [Vicious] * Updated gettimetick() to use flag 2 and return System's tick, thanks to Kyoki [Skotlex] * Removed the mismatch stack error message caused by scripts where the returning value of a function was ignored. [Skotlex] * Corrected the Spirit of Assassin damage bonus of Sonic Blows. [Skotlex] * Corrected BSS check versus undead, checking for partners on the Priest's exact left and right, and sending partner's SP to negative. [Skotlex] * Another Paladin's Gospel effect ends when you cast it (should fix Gospel in Gospel bugs). Also, now Gospel only blocks usage of items of type 0 (healing). [Skotlex] * Corrected berserk Pitcher displaying 0 heal. [Skotlex] * Added Close Confine's flee bonus. [Skotlex] * Corrected Slow Poison. Can be used when not poisoned, will not "pause" poison's timer. [Skotlex] * Implemented SG_FUSION skill [Komurka] Don't ask me why in newer exe U see flying ... Santa ... -.- * Updated the distance() function definition with one which uses a much better approximation [Skotlex] * Updated sql-files/ mob_db.sql & item_db.sql to latest. [Skotlex] * Added @autotrade/@at and @away/@aw messages into msg_athena.conf (you can customize them) [Lupus] * Updated default hardcoded GMlevel values of some @ATCommands according atcommand_athena.conf [Lupus] and removed doubles of some commands, thanks to Rideword 2005/12/11 * Corrected guild deletion in SQL (both from /breakguild and guild master character deletion). [Valaris] * Added @evilclone commands. Syntax is @evilclone , [Valaris] It will spawn an aggresive clone of the given player. By default it will use mob id ranges 9001-10000, this range is #defined in mob.h. * Fixed VS compile error in mob_clone_spawn. [Valaris] 2005/12/10 * Added core player cloning code. Just need to create some commands. [Valaris] * Redid the @help2 (char commands). [Kayla] * Added jobname retrieving script function getJobName. [Lance] 2005/12/09 * Changed default GM level for @setbattleflag to 99. [Valaris] * Implemented the SL_SUPERNOVICE bonus to wear all heagears/various weapons at high base levels. [Skotlex] * Implemented SL_ROGUE bonuses: can't be dispelled, Chase Walk's str bonus lasts 10x longer. [Skotlex] * OneHand Quicken now dispels aspd potion effects. [Skotlex] * Updated SL_STIN/SL_STUN to do miserable damage if the target's size is 'incorrect'. [Skotlex] * Updated @disguise so the max npc id you can use is 1000 (1001 is already the first mob, Scorpion) [Skotlex] * Fixed a possible infinite loop in pc_calc_skilltree when receiving additional skills when Soul Linked. [Skotlex] * Added the Taekwon bonus that gives you triple Max HP/SP when you are a top 10 ranker and have base level 90+ [Skotlex] * Added support for skill_db pl == -2. These skills don't take the element of the weapon, but will take the element of any enchantment elemental change (so the element used is neutral unless you are enchanted with Fire/Wind/etc) [Skotlex] * Coded in SL_STIN, SL_STUN and SL_SMA. [Skotlex] * Should have fixed the crash with raw_time in char/char.c [Skotlex] * Pressure can now be cast-break. [Skotlex] * Likely fixed the client crash when hating a class rather than mob. [Skotlex] * Removed @help2, note to self: do not commit at 4 am. Will redo later. [Kayla] * Added @help2. @help did not fit in the screen. @help2 currently contains just the char (#) commands. [Kayla] * MAPREGSQL disabled (experimental) in VC7. To enable, define MAPREGSQL in preprocessor. [Lance] 2005/12/08 * Changed default value of start_zeny to 0 to prevent packet exploits. Also is 0z on offical servers. [Kayla] * Fixed bug with objects (npcs, monsters, players, etc) not appearing when using @refresh. [Valaris] * Updated effects for food production thx to Poki#3 [Komurka] * SG_STAR_BLESS now gives 20%*skill lvl additional exp [Komurka] * Modified clif_blown to use the clif_slide packet instead of clif_fixpos, as Komurka tested it and it appears to be handled better by current clients. [Skotlex] * Added two new battle_athena.conf options: duel_allow_teleport (def: no) and duel_autoleave_when_die (def: yes) [LuzZza] * Small fix in allskill [Komurka] * Updated Gloria Domini to bypass battle_calc_damage (misc damage reductions) [Skotlex] * Fixed a typo in pid.c, thanks to akusarujin [celest] * Exploit fix in SG_FEEL [Komurka] * Updated TK_MISSION to pick a random mob in the same way a dead branch does. [Skotlex] * Corrected SG_DEVIL giving the ASPD bonus below level 50. Only works at max level... [Skotlex] * Some cleaning to pc_calc_skilltree. Also updated it so that if you don't use player_skillfree, you can't have ANY skill if you don't have NV_BASIC at 9 (only exception are quest skills). [Skotlex] * Implemented HT_POWER/Beast Strafing. [Skotlex] - The damage equation is unknown.. for now it's the same as Double Strafe except the skill modifier is +10%*str - Currently the Combo is triggered 100% of Double Strafes done on beast monsters. * Added Reddozen's work for Hunter's Beast bane spirit bonus. [Skotlex] * Corrected the drop delay for mobs when killed by magic to be 500ms (will only work if killed by a player) [Skotlex] * Updated SG skills (kRO Patch - 11/29/05) [Komurka] * Enabled a few maps needed for the new novice training grounds, sorry I forgot to [MasterOfMuppets] * Removed duplicate maps in maps_athena.conf. Thanks for the report Dr. Evil [Kayla] 2005/12/07 * Pressure will always pull-off now after it has began casting. [Skotlex] * Implemented Close Confine. [Skotlex] * Change all 0x20e packets (18->26; 22->30) [Komurka] Also added job_name(mob_id) in clif_hate_mob (but it crashes client when U try to use SG_HATE skill on player ><) * Fixed compile error in status.c. Check your work skot <3 [Kayla & MoM] * Updated socket.c by adding a lots error reporting for functions that previously were assumed to not fail. May help figure out what's going on with the win32 builds... [Skotlex] * Reviewed and cleaned up a bit the latest SG additions from Komurka. [Skotlex] - My skill desc says that SG_DEVIL does not makes you blind until you reach max job level, so I implemented that. Report if this is incorrect. - SG_*_WARM skills should be working from what I read there. * Modified a bit the TK_MISSION packet, GUESSING where the progress of the current mission should go within said packet... [Skotlex] * Implemented TK_MISSION. [Skotlex] * Added more SG skills (Comfort, Warmth, Demon, Knowledge) [Komurka] All of them should be checked by someone ^^;; - SG_xx_WARM for now only shows cool red effect :> There is more code but for now it doesn't work * Added new Geffen Field maps [Harbin] * Disabled Atcommand Nuke (It was commented, not disabled) [Harbin] * Added skip_teleport_lv1_menu option to Battle_Athena. Allows players to cast Teleport level 1 without menu. [Harbin] * Merged in Reddozen's current Soul Linker work. [Skotlex] - Berserk Pitcher should be working now. - Bard/Dancer walk bonus when dancing/singing while soul-linked. - Partial work on Twilight Pharmacy. - proper skill effect * Fixed One Hand quicken doing nothing. [Skotlex] * skill_get_name now returns "UNKNOWN_SKILL" instead of null (should fix some crashes when using it on skills with no defined name) [Skotlex] * When weapon_delay_attack is enabled, items should drop inmediately after mobs are killed rather than 500ms afterwards. [Skotlex] * Added Exception Handling plugin to be used for native Win32 builds [celest] - crashes will be logged in .stackdump along with file name and line numbers - To activate, enable 'exchndl' in plugin_athena.conf Public Service Message - Crash reports can be VERY VERY helpful, so please enable the plugins if you can ('exchndl' for Win32, 'sig' for cygwin and linux) and send in any reports you might get! We all want eA to be stable, ne? ^^ * Some compile error fixes for MinGW, FreeBSD and plugins [celest] * Updated Makefile to set platform defines for FreeBSD [celest] * Updated Makefile to auto-detect MinGW and include src/mysql [celest] * Debug logging flag for logging output messages (only works well with native Win32) :D (Not enabled by default) [Lance] * joshuali's new vcproj with debug mode correctly set up. [Lance] * Fixed compile errors for Valaris's commit on date.h [Lance] * Added updated vcproj for native VC8 win32 for date.h/c support. [Lance] * Removed extra returns in date.h. [Lance] * Probably fixed warnings in unzip.c [Lance] 2005/12/06 * Updated item 12132 for the Xmas suit effect in item_db.sql. [Valaris] * Implemented Xmas Suit: [Valaris] -Added status change state SC_XMAS, and added it to const.txt. -Cannot attack or use skills while in the Xmas state. -Will save if you logout. -"sc_start SC_XMAS,600000,0" added to item 12132 (using item will give you xmas suit for 10 minutes). -Added xmas_ignorepalette option to battle_athena.conf. * Fixed script error in Garm's Claw item causing an error. [Valaris] * Added a missing ; to Skotlex's Previous SG skill editions that caused compile errors. [Valaris] * Added JOB_GUNSLINGER(24), JOB_NINJA(25), and JOB_XMAS(26) to map.h enum list and const.txt. [Valaris] * Added SC_SCRESIST to const.txt. [Valaris] * Applied Komurka's Star Gladiator patch. [Skotlex] - The following skills are now working: SG_FEEL, SG_HATE, SG_SUN_ANGER, SG_MOON_ANGER, SG_STAR_ANGER, SG_SUN_BLESS, SG_MOON_BLESS, SG_STAR_BLESS - The designated maps cannot be stored currently (cannot save character string variables) and is pending on a script update to enable saving of said type of variables. * Added @away command. [LuzZza] * Mostly fixed intravision making everyone see hidden/cloacked characters. (the actual option value to see just the player's shadow is currently unknown) [Skotlex] * Updated Gospel [Skotlex] - It should clear all buffs/debuffs now. - Party-mates within range cannot use items. * Implemented the SL_BARDDANCER bonus that enables the caster to be buffed by their own song/dance/encore. [Skotlex] * Completed Sight Thrasher (the option value is still missing, though. Temporarily uses the one of Sight) [Skotlex] * Corrected possible exp exploits in jA's exp calc method. [Skotlex] * Corrected Spirit Skills showing up in all class trees. [Skotlex] * Invoking @reloadscript now also invokes the OnInit event after loading. [Skotlex] * Expanded Item Groups list from 20 to 32 item groups [Lupus] * Fixed healing experience bug. Now only healing another players gives experience. [Harbin] 2005/12/05 * Hopefully fixed gm_all_skill.... [Skotlex] * Modified a bit the player attack code to give an extra range cell when the target is moving. [Skotlex] * Added skip_teleport_lv1_menu battle_athena option. It give a possibility to disable (skip) Teleport Lv1 menu, that have only two lines `Random` and `Cancel`. Of course, by default this option have `no` (don't skip) value. [LuzZza] * Added FD_SETSIZE 4096 predefination to VC++ Project Files. Should fix 60 player limit bug with native compilations. [Harbin] * Fixed char crash (I hope) when checking for two parents + baby in a party with more than 3 characters, but from which only 3 were online at a time. [Skotlex] * Merged in Reddozen's work on SL_BARDDANCER and cleaned up a bit the Spirit Skills code when calculating the skill tree. [Skotlex] * Updated mob ai so that support/aggressive mobs can't 'see' a player until there's a direct line of sight between them. [Skotlex] * Updated monster_ai&1 so that when not set mob-chase type is Aegis-like (mobs will not change walk target tiles mid-walk) [Skotlex] * Added battle_athena.conf option mobs_level_up_exp_rate to set the extra exp rate a leveled up monsters gives. [Valaris] * Added a custom X-Mas quest *Sign Your Items* [Lupus] * Applied Harbin's patch to fix Arrow Shower + Traps. Someone test it out. [Skotlex] * Another fix to socket.c to enable TURBO mode to work on win32. [Skotlex] * Fixed the combo status not ending after using TK_TURNKICK [Skotlex] * Overflowed pointer fix in socket.c [Skotlex] * Added 'Einbech' into @go command (u have to type at least 5 letters) [Lupus] * More detailed error messages for missing '"'s in scripts. [Lance] 2005/12/04 * Removed mail server switch from battle_athena.conf and added full mail server configuration to inter_athena.conf. [Valaris] * Fixed too big VVS damage of TOP10 BS weapons [Lupus] 2005/12/03 * Fixed up TK Sprint (TK_RUN) skill: [Valaris] -Disabled movement during skill use. -Correct moves player server-side. -Stops without sp use if skill is used during running. -Server will not save status if player logs out. * Some cleaning of socket.c to see if TURBO will now work on Windows, it may also fix the select() problems on that platform as well. [Skotlex] * Fixex "gm_skill_all" crashing the server from generating huge packets (or so I hope) [Skotlex] 2005/12/02 * Gave the Spirit Status Change a custom effect for now. [Skotlex] * Merged in Reddozen's work for SL_HIGH (Spirit of Rebirth) [Skotlex] * The Bonus skills acquired from being Soul Linked should now show up in the skill tree. [Skotlex] * Merged Reddozen's work of One-Hand Quicken and Adrenaline Rush 2. [Skotlex] * Fixed Axe-Kick never triggering. [Skotlex] * Slaves walk once again. [Skotlex] * enable_items now also enables equipment stuff. [Skotlex] * The attack motion in packets for ground-based skills is now 0 (it may help somewhat with current firewall issues). [Skotlex] * Added char-server option "save_log", when disabled, the char server will stop printing info messages whenever something is loaded/saved. [Skotlex] * Disabled random-walking for slaves [Skotlex] * Added script commands enable_items/disable_items [Skotlex] * Likely fixed the mob-skill target type "master" [Skotlex] * Added target type "master" to the mobskill_db [Skotlex] * Modified NPC_RUN to allow the caster to run away from the target [Skotlex] * Implemented SL_SAGE (Soul Linker Sage buff for auto-cast bolts) [Skotlex] * Updated char-sql guild saving so that instead of saving ALL guilds when the time comes, the save interval is splitted on time-slots (based on guild count in memory) and a guild is saved per time-slot (just like the map server saves characters). [Skotlex] * Fixed client crashes with using baby and advanced player classes as pets. [Valaris] * Added missing ban_hack_trade option to battle_athena.conf. [Valaris] * Hopefully fixed Counter Kick. [Skotlex] * Uncommented and corrected the Soul Linker Monk buff (SP cost reduction for monk combos) [Skotlex] * Added a check in skills so that skills that are used on yourself, but had it's target auto-selected cannot be used on non-enemies if it's nk is different from 1 (1 = No damage skill) [Skotlex] * Various cleanups to the char-sql server to prevent corner-case crashes from queries that return no rows. [Skotlex] * Massive Taekwon Boy skills related code cleanup. [Skotlex] - Flying Side kick and Turn Kick should be fully working now, too. * Cleaned up and reorganized the SC_ data listing. Added sc's for food related bonuses: SC_HITFood, SC_FLEEFood, SC_BAtkFood, SC_WAtkFood, SC_MAtkFood. [Skotlex] - Some of the saved sc data will be wrong, so wipe the table/file if you want to play it safe. * Some corrects in duel code. [LuzZza] * Sonic Blow and Shield Boomerang's after cast delay is now properly adjusted by the Soul Link skills. [Skotlex] * Party even share will be now broken after a base level reset. [Skotlex] * Merged in Reddozen's Soul Linker current skills work. [Skotlex] * Added countitem2(itemID,....) script function. [Lupus] * Added axtoi script function that converts hex strings to integers. [Lance] * Fixed incorrect time (that leads to crashes) in login server. [Lance] 2005/12/01 * Moved KN_CHARGEATK code to merge it with Extremity Fist. Skill damage modifier is currently set to +15% per cell (need actual value here) [Skotlex] * Fixed client crash when logging in with Baby Knights and Crusaders riding Pecos. [Valaris] * Implemented Ki Explosion. [Skotlex] * Fixed client crashes with using baby and advanced player classes as monsters. [Valaris] Make sure to use Item ID for weapons and shields in mob_avail.txt for player monsters and not View ID. Updated Valaris and MC Cameri mobs in item_avail.txt to use Item IDs. * Fixed cutting Castle Name (was 14 instead of 24) [Lupus] * Corrected Grimtooth counting a short-range skill when it's actually ranged. [Skotlex] * Corrected Venom Splasher's splash range, and the splash damage is now divided by number of targets (sort of, skill % dmg is adjusted according number of targets) [Skotlex] * Tarot Card of Fate won't break equipment now if equip_skill_break_rate is 0. [Skotlex] * Improvements and optimizations to the online db management in the char txt/sql servers. [Skotlex] * Updated the guild cache (char sql) to have it load/unload characters whenever they are updated in the char online_db (previously they were only updated on normal char-select/char-quit when there were more cases where a char is set online/offline) [Skotlex] * Now when the guild is not found in the cache it will be loaded from the sql db first before failing. [Skotlex] * Fixed equip_skill_break_rate equation being messed up for Acid Demonstration. [Skotlex] * Fixed Aura Blade adding damage to Spiral Pierce (it shouldn't) [Skotlex] * Script function getnameditem now sets flag 254 (created) instead of 255 (forged) [Lupus] To prevent ADDITIONAL Blacksmith FAME TOP10 bonuses, applied to signed but not forged weapons e.g. You have a custom quest for rare weapons. You tag items with players name (using getnameditem command). if a TOP10 BS get an Infiltrator.. then it used to give extra atk bonus 8) 2005/11/30 * Updated item_db.sql to latest. [Skotlex] * Updated mob_db.sql to latest. [Skotlex] * Updated Gospel to force the removal of the ground-effect when the status change ends. [Skotlex] * Made Snatch/Intimidate work on Guild maps (I have read around this is how it is) [Skotlex] * Added the auction maps to maps_athena.conf [MasterOfMuppets] * When players are hit while moving, they should now move one last cell in the same direction they were walking when interrupted. [Skotlex] * Walk delay won't be applied now unless the attack deals damage... [Skotlex] * Major reorganization of player variables and bonuses. If something broke, report it up. Otherwise, struct map_session_data should look quite a bit more clean now. [Skotlex] * Fixed duel bug when you can't cast some skills on yourself. [LuzZza] * Fixed (I think) pets losing the "rename flag" when you sent them back to egg. [Skotlex] * Added a index check in the equip packet, should fix crashes from invalid packets. [Skotlex] * Fixed a horrible bug that was making the walk delay not work for sure x.x [Skotlex] 2005/11/29 * Fixed race exp bonuses. [Skotlex] * Fixed ## account variable saving disconnecting the char-login servers. [Skotlex] * Updated the way multi-hit skills add overrefine/star crumb/spirit sphere damage so that the total bonus is multiplied by the total number of this. [Skotlex] * Fixed the config variables being "lost" on startup. [Skotlex] * Fixed Restore requiring Regeneration lv2 [Skotlex] * Fixed the spirit sphere bonus not applying to Throw Spirit Sphere. [Skotlex] * Rewrote and cleaned up duel code. Formed independent duel_xxx functions. I suggest to place this functions in duel.c/duel.h. New features: [LuzZza] - Now when you in duel, you can't attack anything out of your duel (mobs, other players etc...); - Now you can't take part in duel more often than it set in battle_athena. Default delay is 60 minutes. - New battle_athena.conf options: duel_allow_pvp - allow/disallow duel on pvp-maps; duel_allow_gvg - allow/disallow duel on gvg-maps; duel_time_interval - delay between using duel in minutes. * Updated damage formula for Spiral Pierce. [Skotlex] * Fixed speed change being lost when speed is increased/decreased while walking with Free-cast. [Skotlex] * Fixed pets being renameable after turning them back into eggs. [Skotlex] * Reverted the guild data position in the mob/npc packets, should restore the emblems in flags. [Skotlex] * Corrected battle_check_target Guild checks returning true for non-guild, party'ed characters and viceversa. [Skotlex] 2005/11/28 * Added dontBR's experimental configure script. It's still in alpha stage, so use with caution! [Skotlex] * Fixed a pair of exp exploits possible with to Rich Man Kim and race-add-exp card bonuses. [Skotlex] * Updated behaviour of skillrange_from_weapon. If set, those skills with negative range use the weapon's range. If not set, then the skill range used is the absolute value of the range specified in the skill_db. [Skotlex] * Small cleanup of the color broadcast packet using data provided by Master of Muppets. It should hopefully fix the font-size on said colored messages. [Skotlex] * Fixed the setting of the guild id and guild emblem in packets 0x7b and 0x78 for mobs/npcs (this is assuming the position is correct when filling these same packets for players) [Skotlex] * Added battle_config option skillrange_from_weapon which, when set, allows weapon based, target-selected, offensive skills to take the equipped weapon's range instead of the range defined in the skill_db. [Skotlex] * WARNING/ACHTUNG! Update all your NPCs ASAP. Massive NPC fix's out. [Lupus] * Updated monster_ai&8 so that mobs scatter as soon as they lose their target. Use this setting for an effective counter measure to Grimtooth mass-mob training. [Skotlex] * Added pc_damage_walk_delay_rate to separate the walk delay adjustment of players from that of mobs. The adjustment for players is 20% while for mobs is 100%, pending further adjustments. [Skotlex] * Added the weapon upgrade damage bonus of Spiral Pierce [Skotlex] * Removed the mob_stop_walking code from mob_damage as it should be invoked on battle_walkdelay (the mob walk delay issue will likely need it's own config option) [Skotlex] * Added joshuali's new Visual Studio files. [Lance] * Novice Warp Portal fixes from jAthena. [Lance] * Final warning elimination in plugins.c (most of them are gone with warning level set to 1). [Lance] * Fixed typo in msg_athena.conf and 'users with autoloot turned on will not have their rare drops announced.'. Thanks to Kaseki. * Mob should stop walking when hit if not enduring. Thanks to Playtester. [Lance] * Included pcre.dll and libmysql.dll from joshuali. [Lance] * Eliminated Level 3 warnings. Setting compile warnings to Level 3. (Level 4 just kills eAthena XD) [Lance] 2005/11/27 * Fixed an overflow pointer bug in the gvg eliminate timer. [Skotlex] * Updated the damage code if Spiral Pierce, Shield Chain and Shield boomerang to be closer to official. [Skotlex] * Fixed a crash when setting all chars offline in the char-sql server. Also fixed that delete_timer mismatch on shutdown [Skotlex] * Autospells now won't trigger if the range between the source and the target is not satisfied. [Skotlex] 2005/11/26 * Added bonus2 bAddSkillBlown for adding a custom knockback value to a skill. Note that this knockback bonus is ADDED to whatever the default knockback of the skill is. [Skotlex] * Fixed Soul Linker skills showing up on the tree for leveling up. [Skotlex] * Probably fixed the crash in inter_guild_CharOffline [Skotlex] * Modified the skill get range routine to correctly account for the attack range and the AC_VULTURE range bonus where needed. [Skotlex] * Fixed alchemists Fame Points bug: It were giving 1 fame point [Lupus] on making 4 Condensed Potions in row, instead of 3, etc. Now tested ^_- * Some restructuring and cleaning up in map loading to make it easier for future plans (like removing Grfio) [celest] - split map loading into separate sources properly - added map server will display a list of enabled map sources on startup - added maps will be auto-imported into the map cache if it's loaded with AFM, AF2, or any other source The server looks for maps in this descending order: the map cache, AFM maps, AF2 maps, and finally GAT files from the GRF (slowest); so, if you enable map caching it should be a liiiittle bit faster then before ^^ 2005/11/25 * Uploaded fixes to int_guild, tested and working safely. [Kevin] * Added @showzeny @ command. [Skotlex] * Some code cleanup to make AutoBerserk work the way it was intended to (skill toggles "auto-berserk" state on/off, if on, you automatically get Provoked when under 25%HP) [Skotlex] * Fixed Auto-Berserk auto-ending after a minute. [Skotlex] * Added a fix to mob skills to prevent them from being checked too frequently during battle (which was sort of bumping up their rate to double or more from what the skill db would state) [Skotlex] * Added cleaning up the fifo before sending the guild information (since the packet is big, the fifo should be cleared to avoid overflow problems) [Skotlex] * Added monster_ai&8, when set monsters stop walking as soon as they lose their current target [Skotlex] * Reflect Sword again reflects damage versus players. [Skotlex] * Corrections to the skill code so only Heaven's Drive may damage traps. [Skotlex] * Reverted the mob random walk delay after unlocking a target to 3~6 secs. [Skotlex] * Added pow, sqrt and distance to scripting commands. [Lance] * Removed players with 0 Fame Points from Blacksmith/Alchem/Taekwon TOP10 lists [Lupus] * Should fix night glowing bug. [Lance] * Added setd and getd variable retrieving and setting with dynamic names. [Lance] * Added petstat command as requested by Dubby. [Lance] 2005/11/24 * Fixed a small bug in the guild search by name routine. Should fix the crash on new guild creation. [Skotlex] * Added debug information in case the guild isn't found in the cache when it should be there. This should help fix any problems the guild cache might have (eg: for some function that may take effect on a guild which has no members online) [Skotlex] * Finished cleaning up and merging the guild cache withthe guild timers behaviour. It should be mostly safe to update now. [Skotlex] * Reverted the sql save behaviour. [Skotlex] - Now guilds timers and cache are both into effect, this requires a bit more of cleaning to be considered done. * Various things I made but already forgot xD [DracoRPG] * Fixed and updated damage bonus for forged weapons: VVVS is +40 (was previously +50 for the right hand...) and "famous maker bonus" gives a no-miss +10 dmg, same as 2 additional Star Crumbs. [DracoRPG] * Added or updated several Taekwon skills [DracoRPG] - Jump Kick uses clif_slide to the target's exact pos , waiting for capture/video - Taekwon ranking is now supported by the fame system, but there's no way to gain points atm (Taekwon Mission has no effect), infinite kick combo should be OK - 4 basic kicks updated, you now stop attacking when a stance triggers, and have 2 seconds to hit the button before attacking again - Run uses SC_SPORT to increase your STR and affect the way Break Fall works - Break Fall dodges ranged magic/weapon attacks, as well as melee weapon ones when SC_SPORT is active * Made Sword Reject / Counter Instinct reflect damage only against monsters (not 100% sure about it, but let's say 90%... iRO site says it, although it isn't the best source ever) [DracoRPG] * Made Spiral Pierce use SC_STOP instead of setting canwalk_tick, some other such things need to be reviewed [DracoRPG] * Fixed Pneuma. [Skotlex] * Fixed dead mobs reappearing on the map. [Skotlex] * Cleaned up the duel code in battle_check_target. [Skotlex] * Added config option summons_inherit_effects, defaults to yes, check battle_athena.conf for further details. [Skotlex] * Updated duel [LuzZza] - Now "@duel " may be used for indication max players limit of duel. - Now "@duel " creating duel for two players and automatically send invitation to Nick. * Added a new script function: getequipcardid(equipSlot,CardSlot) [Lupus] Returns Card ID or just a value from your EQUIPPED item Useful to check equipped items PROPERTY, STRONG value, Author ID, etc Check npc\sample\getequipcardid.txt and read script.c comment ^_- 2005/11/23 * Fixed the crash on guild creation in new guild cache. [Kevin] * Implemented duel organizing commands: @duel, @invite, @accept, @reject, @leave. [LuzZza] * Made the walk-delay a timer, so that it triggers after the actual attack motion of the src. [Skotlex] * Added back the combo damage delay config, now renamed to multihit_delay, and set to the default of 230ms it had before. [Skotlex] * Added displaying file which caused an error on incorrect mob lines. [Skotlex] * Small memory corrections to sql castle saving/loading, mostly Lance's work. [Skotlex] * Updated the walk delay routine to not invoke stop-walking when character is not walking (fixes the case in which the packet is sent while sitting, which causes a 'standing' sprite even if the char is sitting). [Skotlex] 2005/11/22 * Implemented a guild cache in char sql, saves all online guilds every 5 minutes. [Kevin] * More grammar fixes [Kayla] * Added 1-tile of range grace in skill_use_id and skill_use_pos since that's how it is on Aegis servers. [Skotlex] * Updated the skill info packets to deliver the skill names as expected by the client. [Skotlex] * Updated mob ai to enable changing targets while attacking ONLY if the attacker is within melee range (Aegis AI). monster_ai&4 can be used to override this and allow mobs to change target and pursue ranged attackers. [Skotlex] * Updated the config comments for the ip-related settings. Thanks to akusarujin for the update. [Skotlex] * Added rates to at_command.conf, set it's default to GM lv1 [Skotlex] * Removed the icon from Fire Break's fire-elemental bonus. [Skotlex] * Updated the walkdelay function to only be invoked if the attack did damage. [Skotlex] * Some more fixes to the english in ShowInfo()'s [Kayla] * Cleaned out the SVN a bit [Kayla] 2005/11/21 * Removed "(now unlimited loop start!)" from char-sql in an info line...wtf xD..[Kayla] * Mob AI update: updated the conditions used to specify if a mob can change targets as per the forum provided information (by Komurka and Kyoki). Mode 512 (MD_CHANGETARGET) no longer does anything. [Skotlex] * Mobs that assist now link nearby mobs when they attack. [Skotlex] * Made the damage delay be applied after knockback rather than before (magical/misc instant effect attacks are still applied before the knockback) [Skotlex] * The damage delay timer now stores the distance between source/target, if this distance is increased by 2 or more, the damage delay fails and takes no effect (if the '2' needs to be made higher, do point it out. It shouldn't be much of a problem since you aren't supposed to be able to walk from the damage delay anyway). [Skotlex] * Changed the way damage delay works. It is no longer applied on mob_damage/pc_damage, but instead is invoked from clif_damage (or clif_skill_damage), which means the "can't walk" delay is sync'ed with the damage packets when they are sent. This should fix most delay-damage 'stun-lock' related issues. [Skotlex] 2005/11/20 * Mobs now can't move while casting. [Skotlex] * Updated mob_db.txt and mob_db.sql with the most recent data from Kyoki. [Skotlex] * Corrected the mob_db by adding the canmove/canattack bits to pretty much all mobs that needed them. [Skotlex] * Some fixes to the confusion code. [Skotlex] * Crash-fix in status_change_start [Skotlex] * Implemented confusion as it should be (not tested yet!) [Skotlex] * Updated run_script to backup the current script of a player and restore it if the current script ends inmediately. This should fix losing the script info if status_calc_pc is invoked while running a script. [Skotlex] * Fixed a memory leak in the guild eliminate timer. [Skotlex] * Removed the extra tile of range mobs have when walking. [Skotlex] * Added mob reloading to battleconfig reload @ command. [Skotlex] * Updated mob_db.sql with the new modes by Kyoki. [Skotlex] 2005/11/19 * Made characters stop walking when inflicted by SC_STOP, may fix GrimTooth's stop effect not seeming to take effect. [Skotlex] * Made the pk_min_level config not take effect in WoE/GvG grounds. [Skotlex] * Fixed showing falcon when player is hide. [LuzZza] * Updated mob_db.sql and item_db.sql to current [Skotlex] * Updated the skill db step guessing code to allow for negative ranges (Now spear boomerang should progressively get longer range with higher levels) [Skotlex] * Fixed Tarot Card, the card that gets two random effects can't retrigger itself, and it causes STOP instead of Stun where appropiate. [Skotlex] * Updated devotion to only work on damage attacks that have a source (will prevent it from "blocking" COMA, which is what caused the crash). [Skotlex] * Fixed not always showing CRIT attacks, thanks to Irmin [Lupus] 2005/11/18 * Updated mob_ai so aggressive mobs change target when chasing, and change-target mobs do so when attacking. [Skotlex] * Fixed weapon forging showing success even when it fails. [Skotlex] * Some cleaning up of @time, may fix the weird time displays. [Skotlex] * Modified mob_ai so hyper-active mobs change target if they are cast-sensors even if attacking (angry mode). They will also change target if attacked while in angry/follow mode regardless of their change-target mode. [Skotlex] * Moved the night-inducing code from "map loaded ack" to "spawn pc", should fix characters going ultra-blue after stuff like fly-wings. [Skotlex] * Delayed the mob emotion when doing skills so that it gets executed AFTER the skill is successfully performed. [Skotlex] * Implemented PR_REDEMPTIO. Is the penalty for both base and job exp? That's how it is currently. And if the map has the nopenalty flag,there's no exp penalty. Awaiting further input on the matter (altough, do note the skill isn't tested either) [Skotlex] * Fixed three memory issues (char txt shutdown, npc reloading, ore discovery logs) which were pointed out by End of Exam. [Skotlex] * Added support for hyper-active mobs (MD_CHANGECHASE = 0x400), these mobs will change to the closest target while chasing/following other players. Needs be added to the mob_db. [Skotlex] * Added support for hyper-aggressive mobs (MD_BERSERK = 0x800), these mobs change their skill state to angry/follow instead of attack/chase when they select/change target (except if they changed target because the new target attacked them). Needs be added to the mob_db, for now all aggressive mobs are considered hyper as well. [Skotlex] * Updated mob mode cast-sensor (MD_CASTSENSOR = 0x010), mobs that are Aggressive can also change target if they are chasing/following a player when someone else casts a skill on them. [Skotlex] * Fixed Dark Blessing. [Skotlex] * Changed the default battle_delay_damage value from no to yes. [Skotlex] * Added check to prevent reinitiating SC_GOSPEL on a character that already has GOSPEL and val4 == BCT_SELF, may fix multiple Gospels being placed on the ground. [Skotlex] 2005/11/17 * Altered behaviour of NPC_EMOTION/NPC_EMOTION_ON as requested by Komurka. [Skotlex] - val[0] (the first one) is the emotion the mob does. If val[1] is different from 0, then the mob's mode is changed to THIS value. If val[2] is different from zero, it'll add/remove a mode based on skill used (EMOTION_ON adds mode, EMOTION removes it), both can stack [Skotlex] * Fixed for sure the Makefile... [Skotlex] * Modified Wedding effects. That is, changing base to 22 does NOT displays wedding outfit anymore. To display the wedding outfits, you have to start SC_WEDDING instead. Tux/Wedding dress scripts likely need being updated. [Skotlex] * Added battle option disp_zeny, will display on console how much zeny you earned (be it from selling, trading, mobs, etc, as long as you "earned" zeny) [Skotlex] * Updated status_calc_pc to prevent infinite recursion loops. [Skotlex] * Applied End of Exam's suggested signedness fixes to npc.c [Skotlex] * Updated sting lib, to avoid SQL troubles [Lupus] * Fixed moonlit not properly checking for nearby walls. [Skotlex] * Added a recursion protection system to status_calc_pc which should avoid exploits derived from recursively calling status_calc_pc which certain equipment scripts could trigger. Thanks to End of Exam for pointing it out. [Skotlex] * Applied Celest's patch which should help compiling eA under mingwin. [Skotlex] 2005/11/16 * Fixed AFM map loading (something was missing there which was gonna make the map server crash for sure later on) [Skotlex] * Some corrections to the mob states, linked/cast-sensitive mobs engage in attach/chase modes, not angry/follow (which seem reserved entirely for aggressive mobs) [Skotlex] * Cleaned up and corrected target types MSS_AROUND->MSS_AROUND8, also added and documented them in mob_skill_db.txt [Skotlex] * Probably corrected whispers to GMs. Thanks to Slennox for pointing it out. [Skotlex] * Modified mob-skill states to use Aegis-based information. Modes are MSS_IDLE, MSS_WALK, MSS_LOOT, MSS_DEAD, MSS_BERSERK, MSS_ANGRY, MSS_RUSH and MSS_FOLLOW. Mob skill db is unaltered other than for the fact it now supports "angry" and "follow" states. [Skotlex] * Cleanup of how knockback routines are invoked. [Skotlex] * Added MOB_LAZYSKILLPERC to mob.c, determines probability of a mob doing a skill when there are no players nearby (but there has to be players in the same map for it to trigger). Currently set to 10/1000 chance. [Skotlex] * battle_check_target update. Rewrote the party/guild checks, this should hopefully fix any problems left with pvp/gvg and mapflags not working properly. [Skotlex] * Fixed playerattached() returning char id instead of account id. [Skotlex] * Added battle option party_even_share_bonus to enable use of Valaris's evn share experience bonus equation rather than the official one. [Skotlex] * Corrected @jump not displaying the actual coords you jumped to. Thanks to kitty74x9 for noticing (and fixing) it out. [Skotlex] 2005/11/15 * Fixed multi-hitting skills not increasing the "can-walk" delay accordingly. [Skotlex] * Modified way to updating hp/position of party members. [LuzZza] * Added battle config option "aura_lv", specifies which level characters have to be for the server to report their level as "max_lv" (which normally is used to enable the aura). See battle_athena.conf for more details. It may not work for your self, but only for other characters (this is, afterall, untested yet) [Skotlex] * Implemented High Jump (works 100%) and Fighting Chant (untested but should work). [DracoRPG] * Various cleanups and typo fixes here and there. [DracoRPG] * Corrected the upkeep SP cost of Moonlight Petals. [Skotlex] * Modified Magnum Break's fire bonus to be 20% ADDITIONAL fire damage of your total damage previous to the elemental modifier. [Skotlex] * Modified Fatal Blow's stun chance to kRO's equation (+5% stun chance per bash skill level over 5) [Skotlex] * Corrected Sharpshooting's damage equation to +50%*skill_lv [Skotlex] * Updated Magnum Break's bonus from 10% to 20% fire elemental. [Skotlex] * Updated Arrow Shower to be a ground based skill (untested yet) [Skotlex] * Pretty much rewrote how Moonlight Petals work, it should be working mostly right now. [Skotlex] * Splitted gat map information into gat and cell info. gat info is permanent map data (walls, ground, etc) while cell is temp map info (basilica, pneuma, etc). Modified Pneuma and Moonlight Petals to work based on map cells. [Skotlex] 2005/11/14 * New Visual Studio projects, compiling works, need zlib.dll for txt server. [Kevin] * Longing for Freedom can't be used during Moonlight Petals now. [Skotlex] * Corrected True Sight's critical bonus (from +0.1 cri per level to +1 cri per level) [Skotlex] * Made coma a status effect. SC_COMA. Sets HP/SP to 1. Bosses/Emperium are immune to it. [Skotlex] * Fixed null pointer crash in battle_damage. [Skotlex] * Increased max account variables to 32. [Skotlex] * Pressure/Gloria Domini now isn't instant-cancelled by status effects, and bypasses the Devotion/Sacrifice check. [Skotlex] * Added handling of the /pk packet, even thought it just shows an empty listing for now. [Skotlex] * Applied zBuffer's suggested fix to prevent S. Novices from getting mental Strength at 100% exp. [Skotlex] * Fixed Friends List not able to add more than 20 friends (current clients support up to 40) [Lupus] thanks to CAHTEXNIK for pointing it out 8) 2005/11/12 * Probably fixed the name of freshly captured pet eggs. [Skotlex] * Changes Win32 to not require svnversion.h, but instead tries to peek in .svn\entries to check for svn version. If the file doesn't exist it'll display "Unknown" though, which I guess isn't a good thing ^^; [celest] * Removed the option to load zlib as a plugin for Win32 since it should be linked at compile time [celest] * Added zlib and libmysql .lib files for compiling in Visual Studio [celest] Note: The project files on SVN don't have them yet, you'll need to include them yourself for now * Fixed a compile error in Visual Studio [celest] * Readded a missing zlib file needed by Win32, sorry ^^; [celest] 2005/11/11 * New readme content/layout (IE warning: IE hates new readme) [Evera] * Imported use of the refine weapon packets from jA. [Skotlex] * Removed SC_MODE, now NPC_EMOTION and NPC_EMOTION_ON can change a mob's mode permanently (until their death, that is), and it won't work on player summoned mobs. As before, val1 is the emotion value, val2 is the mode to add/remove. Val3 is now ignored (used to be duration) [Skotlex] (no, no need to wipe SC data this time around either) * Cleaned up sql-files to use TYPE rather than ENGINE as TYPE is supported by older MySQL versions and not quite deprecated yet. [Skotlex] * Modified the party even share exp bonus to be +10% per extra party member as official sources state. [Skotlex] * Organized the clif_devotion packet, and added clif_marionette as per jA's implementation. [Skotlex] * Added db_path to map_athena.conf, used to specify an alternate directory to locate the db/ files. Defaults to "db", obviously. [Skotlex] * Removed SC_FALCON and SC_RIDING, the status icons are directly managed through the change of the character's option now. The actual defines were not removed to avoid shifting all the SC_ values again (no need to wipe sc data) [Skotlex] * Added additional debug information to battle_attr_fix until the cause of those errors are found and resolved. [Skotlex] * Fixed win32 compiles always reporting "unable to set socket to non-blocking mode", together with other minor win32 fixes. [Skotlex] 2005/11/10 * Fixed char-sql cart loading. [Skotlex] * Updated the function that specifies the cards to support more than four slots. [Skotlex] - Since the packets are fixed sized the client can never receive data of more than four cards, therefore if the client was compiled with MAX_SLOTS above 4, a random subset of cards will be sent each time the item data is sent (eg: if the item has 6 slots, it may randomly choose to send cards 1->4, 2->5, or 3->6). * Removed the OnAgitInit call when the map connects to char server. Fixes double guardian spawn. [Skotlex] * Fixed the sql query strings that would appear "incomplete" under certain *nix systems. [Skotlex] * Applied zBuffer's patches to correct memory leaks in the PCRE module (regular expression support for npcs) and prevent server crashing when scripts divide (or do mod %) by zero. [Skotlex 2005/11/09 * Fixed Ankle Snare and Spider Web not being cleared when the trapped target dies. [Skotlex] * Fixed the range flag being incorrectly set in BF_MISC skill attacks. [Skotlex] * Corrected Venom Knife using Level1 always for the poisoning chance rather than learned Envenom's level. [Skotlex] * Fixed the crash on shutdown if PCRE support was enabled. [Skotlex] * Fixed possible item duping while vending, thanks to End of Exam for pointing it out. [Skotlex] * Fixed the blue aura of Night effect. Thanks to zBuffer [Skotlex] * Fixed mobs moving one tile when hit even if they can't move (this is what broke Ankle Snare) [Skotlex] * Fixed night/day implementation (which broke due to the addition of SI_ constants). [Skotlex] * Cleaned up the SI_ constants to have defined only those which actually display something on the client. [Skotlex] * Fixed a bug which caused a captured pet's name to be displayed as beloved even though it was just captured. [Skotlex] * Added temp skill quests for all complete 2nd Class Quest Skills [Lupus] 2005/11/08 * Updated the documentation on the announce script commands. [Skotlex] * Removed the global color message support as there's now a way to craft custom colored announces. [Skotlex] * Probably fixed mapannounce. [Skotlex] * Implemented SI_ constants to specify the icon number for different SC_ changes, idea adopted from jAthena. All SC_ data was reorganized and several checks are now in place. It is likely all saved sc_data is wrong after this update due to the numbers changing places. It won't cause any glue-boots.. but the wrong status changes will be loaded the first time anyway, so it may be a good idea to wipe that file/table for this update. [Skotlex] * Added mob boss inmunity to status changes: poison, curse, deadly poison. [Skotlex] * Now when the mob starts casting a skill and stops walking, a packet will be sent to update the mob position on the clients. [Skotlex] * Fixed a bug in mob_stop_walking which may fix stun-lock. [Skotlex] * Fixed not showing named/carded items in Vending [Lupus] (when you drag'n'drop them from your cart into your shop list) 2005/11/07 * Expanded script commands announce/mapannounce/mapareaannounce to take an additional parameter to define the color. This uses the new packet 0x1c3 to send the broadcast, and even though the packet is not fully understood yet, it should be at the point where it can be used. [Skotlex] - eg: "announce "hello world", bc_map, 0xFFFF00;" * Cleaned up and optimized the way card data is set in packets. Should correct most, if not all, pet-egg related issues. [Skotlex] * Removed combo_damage_delay and added damage_walk_delay_rate. Now the total delay during which you can't move is a percent of the normal damage delay rate adjusted by number of hits and this rate. Defaults to 50% for now. [Skotlex] * Removed the random damage delay value from status_get_dmotion as it is not really helping the walk-stun-lock. [Skotlex] * Made Gravitation ignore target's cards. [Skotlex] * Updated readme with new layout [Evera] * Updated bAddMonsterDropItem bonuses to work with cards: Mimic Card, Mystcase Card where bonus_item_rate = base_rate * (killed_mob_level/10) + 1 So if 2nd argument is negative, then it's 'rate' Now, if you kill Porings, u'd have OBB/GIFT BOX drops with 0.01% chance and if u kill Leaf Cats then u'd have them with 0.05% chance Max chance is 0.1% (when u kill MVPs with level > 94) [Lupus] 2005/11/06 * Cleaned up a bit the warp portal code. [Skotlex] * Added a timer to invoke the OnAgitInit event 10 seconds after the char/map servers are connected. Scripts should now carefully use OnInit to load the castle data, and OnAgitInit to check for castle owners, mobs, WoE, etc. [Skotlex] * Reverted the damage delay equation to 800 -4*agi, which is the correct data from packets examined. [Skotlex] * Slow motion Fix: Reverted weight packet, thanks to Momoko [Lupus] 2005/11/05 * Fixes on sending to client status of char (guild, position, etc). [LuzZza] * Updated backsliding to work as it should. [Skotlex] * Added back the GPL licence on the root directory (why was this removed?) [Skotlex] * Fixed knock-back packets, thanks to Vicious for collecting the packet samples. [Skotlex] * Fixed pretty much all ground skills not working when you "walked into them" (they were fine if casted on top of you, though) [Skotlex] * Fixed not working ZENY LOG. You can use logging filter as well. [Lupus] - Only SQL logs available. - Logs only Vending, Trade, Shops yet - Don't forget to update your logs SQL DB and log_athena.conf * Added previously removed (by an accident) "MVP Prize item log" into pick_log [Lupus] 2005/11/04 * Added support for new quest skills to @allskills/@skillall. Thanks again to blackhole89 for pointing that out! [Kayla] * Fixed various occurencies of assuming Guild Skills being >= ID 10000 rather than 500= 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 immune to. So far undead chars are immune 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