Date Added 01/05 * 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 * 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