Quellcode durchsuchen

added new script commands
from jA

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1182 54d463be-8e91-2dee-dedb-b68131a5f0ec

Lupus vor 20 Jahren
Ursprung
Commit
9f0d5a05a8
7 geänderte Dateien mit 2110 neuen und 1775 gelöschten Zeilen
  1. 14 1774
      Changelog-SVN.txt
  2. 1771 0
      Changelog.txt
  3. 21 0
      src/map/clif.c
  4. 1 1
      src/map/clif.h
  5. 26 0
      src/map/npc.c
  6. 1 0
      src/map/npc.h
  7. 276 0
      src/map/script.c

+ 14 - 1774
Changelog-SVN.txt

@@ -1,7 +1,20 @@
 Date	Added
-02/24
+
+02/26
+        * 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]
@@ -277,1776 +290,3 @@ Date	Added
 	  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_
-            <number>.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 + <number here>;
-
-             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 "<Player Name">;
-
-          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 "<NPC Name">;
-
-	* 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 <monster name>,<monster id>[,<event>];
-
-          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 <name of event>, <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 <item_name> <item_count> <charname|all|everyone>
-	* 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 <<yourself>>. [MC Cameri]
-	* Added @petid <pet name> 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 <time in minutes> <character name>
-        * Added save_flag for skill_status_change_start [celest]
-        * Fixed muting not being saved when you quit/change characters/log off [celest]
-        * *Hopefully* fixed the skill tree problem where you have to use 49 skill 
-          points first before 2nd job skills will show... please report any bugs found
-          with it, thank you. [celest]
-	* Added flag to pc_unequipitem (thanks to DracoRPG for suggestion) [celest]
-	* Skill updates [celest]
-	  - Updated Cloaking (thanks to orn), Endure
-          - Pneuma (thanks to DracoRPG)
-          - Changed sc_ id for Basilica
-          - Cancel Basilica (100%) when caster moves or uses another skill
-          - Updated Poison React (90%), Endure
-          - Added SC_BLOCKSKILL, SC_SLOWDOWN
-	* Modified pc_attack to fix monster npc's not working in certain exes, thanks
-	  to leinsirk10 [celest]
-	* Moved mapflags organized by type to main mapflag folder and removed "type" folder.
-	  Removed mapflags organized by location.[kobra_k88]
-
-11/17
-	* Added stub-handler for packet 0x3090 into char_sql [MouseJstr]
-	* Fixed a crash in the afm reading/closing code [MouseJstr]
-	* Added skill_steal_type to battle_athena.conf for the new (but unconfirmed) 
-	  stealing formula [celest]
-	* Skill updates: [celest]
-	  - Removed annoying skill fail messages from rogue's Snatcher
-	  - Add sc_data check for firewall and fogwall
-	  - Fixed Berserk (99% hopefully? ^_^)
-
-11/16
-	* Fix for compiling against gcc 2.95 [MouseJstr]
-	* Added day of week events (OnSat2000) into scripting engine [MouseJstr]
-	* Temporarily Disabled GM Command Logs; Weren't working Properly >_<! [Codemaster]
-	* Fixed a typo in ../db/Changelog.txt [Nana]
-	* Added -funroll-loops argument to makefile to further increase performance [Shinigami]
-	* Fixed 2 bugs in DELITEM script command. [Lupus]
-	  - added deleting priority: If you have some items with the same ID and want to delete some of them, then
-	    at first it'll delete common items then, if necessary, delete the rest items but upgraded/named/with cards. [Lupus]
-	* Added checks for Perfect hiding [celest]
-	* Modified level 0 skill check to allow auto blitz beat and steal. [celest]
-	* Added constant BaseJob. [celest] Usage: For example, instead of
-	     If (Class==12) || (Class==4012) || (Class==4035)
-	  you can use
-	     If (BaseJob==12) or If (BaseJob==Job_Assassin)
-	* Added 'indoors' mapflag : When in-doors players will not be affected by Night [celest]
-	* Skill updates [celest]
-	  - Assumptio is now disabled in GvG maps.
-	  - Changed cloaking checks a bit.
-	  - Tidied up some parts of skill.c abit. ;P
-	* Added pk_min_level option in battle_athena.conf. Change this to define the
-	  minimum level players can attack others when pk_mode is on. [celest]
-
-11/15
-	* Added a Database Changelog.txt File, use it for any changes inside the db folder. [shadowlady]
-	* Added GM Command Logs & Added TXT Logs + TXT Log Options [Codemaster]
-	* Added spawning of monsters at specific level by adding ,# after the spawn name. [Valaris]
-	  mobs_level_up option should be on when using this.
-	  (Example: {ama_dun01.gat,0,0,0,0	monster	Shinobi,99	1401,1,0,0,0} to spawn a level 99 shinobi.)
-	* Added addtoskill script command for (levels can stack on top of existing levels). [Valaris]
-	  Use same usage as skill script command.
-	* Added -ffast-math argument to makefile to increase performance, thanks to kashy. [Valaris]
-	* Added small and big mob sprite spawning. [Valaris]
-	  -Added @monstersmall and @monsterbig commands.
-	  -For using in scripts, use id +2000 for small and id +4000 for big.
-	   (Example: 3002 for small poring and 5002 for big poring)
-	* Added mobs_level_up option. [Valaris]
-	  -Everytime a monster kills a play their level will increase and show levelup animation.
-	  -Their 6 main stats and speed will increase as they level.
-	  -They will recover 10% of the max hp of the player it kills.
-	  -Player will gain extra exp based on how much stronger a monster is than normal.
-	  -Skill estimation will show monsters current level (instead of reading from db).
-	  -Will display level 99 aura if and when a monster hits level 99.
-	  -They will not go higher than level 99.
-	* Fixed maximum skill levels not following skill tree [celest]
-	* Updated HP/SP for baby classes [celest]
-	* Corrected pc_calc_base_job [celest]
-	* Skill updates [celest]
-	 - Marionette Control (70%), Berserk (thanks to DracoRPG)
-	* Modified pc_jobchange code to work with new pc_calc_base_job [celest]
-	* Corrected skill_tree_get_max, sorry >.< [celest]
-
-11/14
-	* Made the Advance jobchangers to kRO standars with the following;
-	 - Checks if you are level 99/50 and 2nd class OR above.
-	 - Checks if you have an Cart of Falcon equiped.
-	 - Checks if you have any Quest Skills, stores a variable on you and gives them back
-	   when you change to 1st advance class.
-	 - Added minimum joblevel to change to an 2nd or 2-2 advance class to job 45 after kro. [Nana]
-	* Fixed loading of AFMs when no resnametable is found. [Valaris]
-	* mob_db.txt: Fixed Golden Thief Bug MVP MOB mode (it wasn't moving/attacking) [Lupus]
-	* Added AFM (Advanced Fusion Map) support, thanks to alexkreuz and fusion. [Valaris]
-	  Use the afm_dir option in grf-files.txt (currently needs a resnametable.txt). 
-	* Initialized password variable in login.c. [Valaris]
-	* Added zeny_from_mobs option. [Valaris]
-	* Corrected the file type attribute on most of the files in three which fixes the
-	  newline issues between linux and dos [MouseJstr]
-              svn propset -R svn:eol-style native .
-        * Skill changes [celest]
-          - Corrected steal formula, updated BladeStop, Headcrush.
-
-11/13
-	* Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer]
-	* Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster]
-	* Removed compile warnings in intif.c. [Valaris]
-	* Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri]
-	* Updated some skills, credits to orn and midas. [celest]
-	  - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire,
-	    Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection.
-	  - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, 
-	    Claymore Trap
-	  - Adjusted some mob skills for mod support.
-	* Fixed weight increase when riding. [celest]
-
-11/12
-	* added folder: /save-tmpl, removed folder /save
-	* battle_athena.conf: Updated Packet Version Flags.
-	* !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster]
-	* Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana]
-11/11
-	* Skill Updates : (Need to revise skill_cast_db.txt for new updates)
-		( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist,
-		Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. 
-		Fixed Devotion use requeriments. Thanks to Orn.	[shadow]
-11/11
-	* Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88]
-
-11/10
-
-	* Updated Sprout (Item #7193), Thin Trunk (Item #7186),
-		Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957)
-		- thanks to cheng - [Codemaster]
-	* Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster]
-	* Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster]
-	* Added, Fixed & Updated ALOT of skills:	[Codemaster]
-		- Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt,
-		Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison,
-		Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize,
-		Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher,
-		Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade,
-		Concentration, Cart Boost, Magic Power
-		- Thanks goes to Celest, Midas, and DracoRPG!
-	* Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster]
-	* char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster]
-	* Added packetver 6 flag to makefile. [Valaris]
-
-11/09
-	* mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster]
-	* chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster]
-	* clif.c: Fixed sitting. [spira]
-	* -  Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097
-	  - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow]
-	* Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer]
-
-11/08
-	* Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus]
-	  Get position for char/npc/pet/mob objects.
-	* Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster]
-	* Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus]
-11/07
-	- Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo]
-	* clif.c: Added a few things from jAthena 1057 [Codemaster]
-	* Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
-	* Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami]
-
-11/06
-	- Added missing items in item_db.txt and reorganised it.[Nasedo]
-	- Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db,
-	 updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady]
-	* atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri]
-	* mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster]
-	* mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster]
-11/05
-	* Fixed and redo optional Umbalian quests:
-	- Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
-	  alternative way)
-	- On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
-	  (For Sphinx Mask)
-	* Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
-	  Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
-	  easy quests with expensive prizes to avoid exploits) [Lupus]
-	* Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady]
-	* Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris]
-	* Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris]
-
-11/04
-	* Added sara-chan's packet db with support for 11-1 [Valaris]
-	* [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster]
-	* map/skill.c: Added a few checks for level 0 skills being used. [Codemaster]
-
-11/03
-	* Removed broken column, using attribute column for broken equip now. [Valaris]
-
-11/02
-	* Fixed compile time errors for gcc 2.95  [MouseJstr]
-	* Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria]
-11/01
-	* Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria]
-10/31
-	* Fixed Devnpcs giving off errors -_- [Aria]
-	* Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris]
-	* map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster]
-	* map/battle.c: re-did Water Ball's damage calculation [Codemaster]
-10/30
-	* Added new guild skills to skill_db from sara-chan. [Valaris]
-	* db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster]
-	* char_sql/char.c: removed the double free()ing of gm_account [Codemaster]
-	* Added check for c value in int_guild.c before dividing to calculate average level. [Valaris]
-	* Commented unfinished dev npcs and added devnpc to map_athena. [Aria]
-	* Removed item requirement of Aqua Benedicta (10/26 patch) [Aria]
-	* Fixed some compiling error for Map-server [Shinigami]
-	* Removed Rogue's backstab pushback effect (kRO style again) [Aria]
-	* Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria]
-	* Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw]
-	* Included Mugendai's oA GUI in the GUI folder [davidsiaw]
-
-10/29
-	* another exploit fix for mult in script [MouseJstr]
-	* Corrected mode for peco, condor mobs.  Added custom mobs Easter Egg and Easter Bunny for easter egg event script.
-	 Corrected mysteltain card location, penomena card typo.[kobra_k88]
-10/28
-	* Cloak Speed fixed [Aria]
-	* Throw stone damage fixed [Aria]
-	* Added new packets from Sara to packet database. [spira]
-	* Fixed and changed command lists to reflect on new packet changes. [spira]
-		- @jumpto, @recall, and @where
-		- Removed old @ignore* functions because they are no longer needed.
-	* Replaced old whisper ignoring code with better and more efficient code. [spira]
-	* Added packet_db.txt support, removed old packet functions. [spira]
-	* fixed forger-zeny exploit [MouseJstr]
-
-	  Doing script math that returns a number greater then (1<<31) will now
-	  return a (1<<31).  This prevents you from finding a npc that
-	  asks for a quantity then mults the cost by that quantity to get
-	  what you need to pay.
-
-10/27
-	* Updated CSS styles for readme a bit [Aria]
-	* branched athena at version 340 to begin work on the packet_db 
-	  stuff from jA.  To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb
-	  later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands
-	  as a FYI, the command I used to create this branch was:
-	  svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work"
-	* Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus]
-
-10/26
-	* Added more quotes -_- [Aria]
-	* Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan]
-		-Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info.
-		-Changed guild_skillup functions based on japanese code, but for a good reason.
-		  It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance.
-		  I think the first four new guild skill requirements are correct, at the least.
-		I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late.
-	* Fixed compile errors in showmsg.c. [Sara-chan]
-	* Fixed Mouse's devnpc only saying his quotes once per server reset [Aria]
-	* Added log_athena.conf & the logs.sql file [Codemaster]
-	* Added log configurations to inter_athena.conf [Codemaster]
-
-10/25
-	* Fixed a compiling error in Login-server [Shinigami]
-	* Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster]
-	* Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster]
-	* Fixed items and mobs in DB. Added new items. [Lupus]
-	* Fixed some NPC bugs (check NPC=changelog.txt) [Lupus]
-	* Fixed getting MAX PET ID (SQL only bug) [Lupus]
-	* Fix char/char.c which was crashing after double freeing logs
-	  [MouseJstr]
-	* Improved basic server rebooters [MC Cameri]
-	* Commited common/showmsg.c/.h, previously missing x_X [MC Cameri]
-	* Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami]
-
-10/24	
-	* Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri]
-	  -Check showmsg.h to see how to use it.
-	  -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on.
-	  -Begin your own journey of replacing/removing old printfs, and using the new function.
-	  -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done:
-		1.Outputting messages to a file is now disabled(commented out).
-		2.MSG_SQL is now commented out.
-		3.If the server is out of memory, it will not use abort().
-		4.Returns 0 if successful, 1 otherwise.
-	  -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello
-	  -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not.
-	  -Just add #include "showmsg.h" wherever you need it.
-	* Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri]
-	* Updated readme/gmcommands.html with new @uptime command [MC Cameri]
-	* Somebody had added some additional noskill checks that prevented
-	  vending from happening in prontera [MouseJstr]
-	* Added bypass with gm_allskill of npc_selfdestruct2. [Valaris]
-	* Corrected some minor bugs in some Quests [Shinigami]
-	* Added new maps (from lateast kRO patch)
-	  Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus]
-10/23	
-	* Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster]
-	* Finished Aria and MC Cameri "Dev edition" NPCs. [Aria]
-	* Corrected extra stat points given to high classes. [Valaris]
-	* Added high classes getting the extra 40 stat points on stat reset. [Valaris]
-	* performance tweaks on socket.c to reduce lag [MouseJstr]
-
-	  do a "OPT="-g -DNSOCKET" to compile with the changes
-	  enabled.. and tell me if you notice a change in your
-	  performance/lag
-
-	* Added @uptime to atcommand.c [MC Cameri]
-	* Added the stuff for my npc to Dev/quotes.txt [MC Cameri]
-
-10/22	
-	* Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria]
-	* Waiting for various devs to tell me their coords, map, biography, quotes,
-	  moving coords, etc. In the meantime, I replaced them with (x,y),(lols),
-	  (sprite),(somewhere), and if they didn't give me any info, I didn't 
-	  add them yet =P. [Aria]
-	* Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild
-	  to "Dev edition" NPCs [Aria]
-	* Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final
-	  layout unless something goes wrong =O. [Aria]
-	* Fixed the eol markers on some checked in files [Mousejstr]
-	* Fix two crashes caused by calling isGM on mobs [MouseJstr]
-	* Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri]
-	* Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria]
-	* Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria]
-	* Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria]
-	* Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria]
-	* Fixed removing friends from the list [davidsiaw]
-	* Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw]
-	  The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs)
-
-10/21
-	* Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus]
-	* Fixed hair_dyer.txt: fixed missing menu label [Lupus]
-	* new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel,
-	  Ear of Demon,Big Golden Bell, Mistress Crown,
-	  Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus]
-	* Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus]
-	* Fixed item names in the temp Crusader Job Quest according to our DB [Lupus]
-
-10/20
-	* map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
-	* map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster]
-	* map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
-	* Aligned the list of commands at the beginning of atcommand.c,
-	  with tabs instead of spaces. [MC Cameri]
-	* Fixed AtCommand_SetBattleFlag, it was previously being called by "@send"
-	  instead of "@setbattleflag". [MC Cameri]
-	* Finished basic layout, finished Aria starting to create Shinigami [Aria]
-	* Started to create "Dev edition" npcs [Aria]
-	* Fixed a compile error in src/char/char.c [MouseJstr]
-	* Fixed a bug in @trade where the distance was not ignored [MouseJstr]
-	* Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr]
-	* implemented Friends List support for TXT version [davidsiaw]
-	* added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw]
-10/19
-	* switched login_sql/login.c to use binary when retrieving
-	  by account name [MouseJstr]
-	* skill.c & skill.h: added skill_type_cloaking [Codemaster]
-	* storage.c & storage.h: added storage_storageopen2() [Codemaster]
-10/18
-	* Changed readme layout for 1.0 scheme. [Aria]
-	* added check for console variable in login_sql [MouseJstr]
-	* Fully translated the untranslated items in the database.sql for SQL. [Nana]
-	* Dev/TODO, asigned myself to some items. [MC Cameri]
-	* char/char.c: changed the online system to omniAthena's [Codemaster]
-	* char/char.c: added log_char and log_inter [Codemaster]
-	* char/char.c: added Mugendai's GUI Support [Codemaster]
-	* char/int_guild.c: added log_inter and db_path [Codemaster]
-	* char/inter.c: added log_inter [Codemaster]
-	* char/char.c: added db_path [Codemaster]
-	* char/inter.h: added log_inter [Codemaster]
-	* char_sql/char.c: added log_char and log_inter [Codemaster]
-	* char_sql/char.c: added Mugendai's GUI Support [Codemaster]
-	* char_sql/int_guild.c: added log_inter and db_path [Codemaster]
-	* char_sql/inter.c: added log_inter [Codemaster]
-	* char_sql/char.c: added db_path [Codemaster]
-	* char_sql/inter.h: added log_inter [Codemaster]
-	* conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster]
-	* conf-tmpl/inter_athena.conf: Added log_inter [Codemaster]
-
-10/18
-	* clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris]
-	  -npcspeed #; To change npc's walking speed.
-	  -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear).
-	  -npcstop; Stops an npc's movement. 
-
-10/17
-        * Made the IP autodetection code work under a pure win32
-          executable
-        * Fixed the win32 build and made a src\map\Makefile.win32 to
-          make it easier to do win32 builds of the map server
-
-            src\common\utils.c src\common\utils.h src\common\grfio.c
-            src\common\nullpo.h src\common\timer.c src\common\db.c
-            src\common\socket.c src\common\core.c src\common\mmo.h
-            src\common\socket.h src\map\script.c src\map\intif.c
-            src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h
-            src\map\chrif.c src\map\Makefile.win32
-
-	* skill.c: Fixed noicewall flag. [Valaris]
-	* battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris]
-	* pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris]
-	        Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris]
-	* Added template for server control from the console [Wizputer]
-	* conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
-	* login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
-	* login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
-	* Usable GM commands from server console admin:<gm command>:<map of "GM"> <x> <y> [Wizputer]
-	* Added server:shutdown to shutdown server and help [Wizputer]
-	* Added user discretion for console commands in conf files [Wizputer]
-10/16
-	* Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami]
-	* Fixed bug in new_hats.txt where free items are given out [Shinigami]
-	* Correct Morroc warp npc overlaying Kafra npc. [Aria]
-	* Corrected npc typos. [Aria]
-	* Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris]
-	* Fixed some typos in some of the NPCs [Shinigami]
-        * tweaked the auto-configure stuff to deal better with
-          machines that have no detectable IP addresses.. is this
-          possible?  [MouseJstr]
-                src\char_sql\char.c src\char\char.c src\map\map.c
-	* Made it compile under gcc 2.95 [MouseJstr]
-	* made the char and map servers auto-configure their own IP's
-	  whenever possible [MouseJstr]
-
-	  If you do not specify the server IP address, it now determines it
-	  on its own.  This means that to get a server running that is
-	  accessable from the internet you should only need to specify the
-	  location of the data.grf files.  This eliminates one more point
-	  of misconfiguration.
-
-	  It does not correctly auto-configure for when you are behind a 
-	  router or a firewall since there is no way of determining the 
-	  external IP address.  On the other hand, we should be able to 
-	  eliminate the lan_conf file since we know our IP addresses as well 
-	  as our netmask.

+ 1771 - 0
Changelog.txt

@@ -1,7 +1,1778 @@
 Date	Added
 
 -------- Read Changelog-SVN.txt for the newer SVN entries--------
+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_
+            <number>.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 + <number here>;
+
+             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 "<Player Name">;
+
+          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 "<NPC Name">;
+
+	* 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 <monster name>,<monster id>[,<event>];
+
+          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 <name of event>, <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 <item_name> <item_count> <charname|all|everyone>
+	* 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 <<yourself>>. [MC Cameri]
+	* Added @petid <pet name> 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 <time in minutes> <character name>
+        * Added save_flag for skill_status_change_start [celest]
+        * Fixed muting not being saved when you quit/change characters/log off [celest]
+        * *Hopefully* fixed the skill tree problem where you have to use 49 skill 
+          points first before 2nd job skills will show... please report any bugs found
+          with it, thank you. [celest]
+	* Added flag to pc_unequipitem (thanks to DracoRPG for suggestion) [celest]
+	* Skill updates [celest]
+	  - Updated Cloaking (thanks to orn), Endure
+          - Pneuma (thanks to DracoRPG)
+          - Changed sc_ id for Basilica
+          - Cancel Basilica (100%) when caster moves or uses another skill
+          - Updated Poison React (90%), Endure
+          - Added SC_BLOCKSKILL, SC_SLOWDOWN
+	* Modified pc_attack to fix monster npc's not working in certain exes, thanks
+	  to leinsirk10 [celest]
+	* Moved mapflags organized by type to main mapflag folder and removed "type" folder.
+	  Removed mapflags organized by location.[kobra_k88]
+
+11/17
+	* Added stub-handler for packet 0x3090 into char_sql [MouseJstr]
+	* Fixed a crash in the afm reading/closing code [MouseJstr]
+	* Added skill_steal_type to battle_athena.conf for the new (but unconfirmed) 
+	  stealing formula [celest]
+	* Skill updates: [celest]
+	  - Removed annoying skill fail messages from rogue's Snatcher
+	  - Add sc_data check for firewall and fogwall
+	  - Fixed Berserk (99% hopefully? ^_^)
+
+11/16
+	* Fix for compiling against gcc 2.95 [MouseJstr]
+	* Added day of week events (OnSat2000) into scripting engine [MouseJstr]
+	* Temporarily Disabled GM Command Logs; Weren't working Properly >_<! [Codemaster]
+	* Fixed a typo in ../db/Changelog.txt [Nana]
+	* Added -funroll-loops argument to makefile to further increase performance [Shinigami]
+	* Fixed 2 bugs in DELITEM script command. [Lupus]
+	  - added deleting priority: If you have some items with the same ID and want to delete some of them, then
+	    at first it'll delete common items then, if necessary, delete the rest items but upgraded/named/with cards. [Lupus]
+	* Added checks for Perfect hiding [celest]
+	* Modified level 0 skill check to allow auto blitz beat and steal. [celest]
+	* Added constant BaseJob. [celest] Usage: For example, instead of
+	     If (Class==12) || (Class==4012) || (Class==4035)
+	  you can use
+	     If (BaseJob==12) or If (BaseJob==Job_Assassin)
+	* Added 'indoors' mapflag : When in-doors players will not be affected by Night [celest]
+	* Skill updates [celest]
+	  - Assumptio is now disabled in GvG maps.
+	  - Changed cloaking checks a bit.
+	  - Tidied up some parts of skill.c abit. ;P
+	* Added pk_min_level option in battle_athena.conf. Change this to define the
+	  minimum level players can attack others when pk_mode is on. [celest]
+
+11/15
+	* Added a Database Changelog.txt File, use it for any changes inside the db folder. [shadowlady]
+	* Added GM Command Logs & Added TXT Logs + TXT Log Options [Codemaster]
+	* Added spawning of monsters at specific level by adding ,# after the spawn name. [Valaris]
+	  mobs_level_up option should be on when using this.
+	  (Example: {ama_dun01.gat,0,0,0,0	monster	Shinobi,99	1401,1,0,0,0} to spawn a level 99 shinobi.)
+	* Added addtoskill script command for (levels can stack on top of existing levels). [Valaris]
+	  Use same usage as skill script command.
+	* Added -ffast-math argument to makefile to increase performance, thanks to kashy. [Valaris]
+	* Added small and big mob sprite spawning. [Valaris]
+	  -Added @monstersmall and @monsterbig commands.
+	  -For using in scripts, use id +2000 for small and id +4000 for big.
+	   (Example: 3002 for small poring and 5002 for big poring)
+	* Added mobs_level_up option. [Valaris]
+	  -Everytime a monster kills a play their level will increase and show levelup animation.
+	  -Their 6 main stats and speed will increase as they level.
+	  -They will recover 10% of the max hp of the player it kills.
+	  -Player will gain extra exp based on how much stronger a monster is than normal.
+	  -Skill estimation will show monsters current level (instead of reading from db).
+	  -Will display level 99 aura if and when a monster hits level 99.
+	  -They will not go higher than level 99.
+	* Fixed maximum skill levels not following skill tree [celest]
+	* Updated HP/SP for baby classes [celest]
+	* Corrected pc_calc_base_job [celest]
+	* Skill updates [celest]
+	 - Marionette Control (70%), Berserk (thanks to DracoRPG)
+	* Modified pc_jobchange code to work with new pc_calc_base_job [celest]
+	* Corrected skill_tree_get_max, sorry >.< [celest]
+
+11/14
+	* Made the Advance jobchangers to kRO standars with the following;
+	 - Checks if you are level 99/50 and 2nd class OR above.
+	 - Checks if you have an Cart of Falcon equiped.
+	 - Checks if you have any Quest Skills, stores a variable on you and gives them back
+	   when you change to 1st advance class.
+	 - Added minimum joblevel to change to an 2nd or 2-2 advance class to job 45 after kro. [Nana]
+	* Fixed loading of AFMs when no resnametable is found. [Valaris]
+	* mob_db.txt: Fixed Golden Thief Bug MVP MOB mode (it wasn't moving/attacking) [Lupus]
+	* Added AFM (Advanced Fusion Map) support, thanks to alexkreuz and fusion. [Valaris]
+	  Use the afm_dir option in grf-files.txt (currently needs a resnametable.txt). 
+	* Initialized password variable in login.c. [Valaris]
+	* Added zeny_from_mobs option. [Valaris]
+	* Corrected the file type attribute on most of the files in three which fixes the
+	  newline issues between linux and dos [MouseJstr]
+              svn propset -R svn:eol-style native .
+        * Skill changes [celest]
+          - Corrected steal formula, updated BladeStop, Headcrush.
+
+11/13
+	* Fixed map-server loading, doesn't require data\resnametable.txt anymore [Wizputer]
+	* Updated & Optimized TXT Login from FREYA. (need to do SQL now) [Codemaster]
+	* Removed compile warnings in intif.c. [Valaris]
+	* Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri]
+	* Updated some skills, credits to orn and midas. [celest]
+	  - Magnum Break, Throw Stone, Sprinkle Sand, Magic Power, Memorise, Quagmire,
+	    Spider Web, Reject Sword, assassin's Dodge, Demonbane, Divine Protection.
+	  - Firewall, Quagmire, Fog Wall (100%), Marionette Control (30%), Sandman, 
+	    Claymore Trap
+	  - Adjusted some mob skills for mod support.
+	* Fixed weight increase when riding. [celest]
+
+11/12
+	* added folder: /save-tmpl, removed folder /save
+	* battle_athena.conf: Updated Packet Version Flags.
+	* !!!Fixed Mobs Attacking!!!: Thanks for MagicalTux and Yor, I fixed the mobs attacking by using one of their files. [Codemaster]
+	* Warps Update : Added ayothaya warps in ./npc/warps/ and in map_athena.conf [Nana]
+11/11
+	* Skill Updates : (Need to revise skill_cast_db.txt for new updates)
+		( Sharp Shooting, Sword Reject, Chain Crush Combo, Tiger Knuckle Fist,
+		Head Crush, Arrow Vulcan, HP COnversion) Thanks to DracoRPG. 
+		Fixed Devotion use requeriments. Thanks to Orn.	[shadow]
+11/11
+	* Corrected minor typo in item_db, and removed/commented out dupe items.[kobra_k88]
+
+11/10
+
+	* Updated Sprout (Item #7193), Thin Trunk (Item #7186),
+		Huge Leaf (Item #7198), and Rante Whip (Items #1956, #1957)
+		- thanks to cheng - [Codemaster]
+	* Updated Parasite (Mob #1500) Drops - thanks to cheng [Codemaster]
+	* Updated Soft Grass Leaf (Item #7194) - thanks to cheng [Codemaster]
+	* Added, Fixed & Updated ALOT of skills:	[Codemaster]
+		- Fire Pillar, Backstab, Grimtooth, Poison React, Falcon Assalt,
+		Skin Tempering, Hilt Binding, Frost Nova, TEMPORARY fix for Create Deadly Poison,
+		Enchant Deadly Poison, Endure, Sacrifice, Spider Web, Memorize,
+		Hyper Spirit Sphere, Palm Strike, Sword Reject, Pressure, Magic Crasher,
+		Amplify Magic Power, Napalm Vulcan, True Sight, Wind Walk, Aura Blade,
+		Concentration, Cart Boost, Magic Power
+		- Thanks goes to Celest, Midas, and DracoRPG!
+	* Fixed spira's mistake in using the packet_len_table; no biggie ^_^ [Codemaster]
+	* char/char.c & char_sql/char.c: Fixed start_armor and start_weapon - thanks to AppleGirl [Codemaster]
+	* Added packetver 6 flag to makefile. [Valaris]
+
+11/09
+	* mob_db.txt: Fixed Drake dropping the wrong card - thanks to roslen [Codemaster]
+	* chat.c: Fixed multiple joins in a single chat - thanks to Alex14 and CHaNGeTe. [Codemaster]
+	* clif.c: Fixed sitting. [spira]
+	* -  Fixed item 657 Job ID , 11/09 patch updates to item_db, Correct stats for item 5097
+	  - Added Unbreakable funcions to item_db armors/shields/garments/footgear [shadow]
+	* Defined SO_REUSEPORT to allow the servers to re-use ports if server crashes [Wizputer]
+
+11/08
+	* Added new script command: getMapXY(MapName$,MaxX,MapY,type,[CharName$]) by Lorky [Lupus]
+	  Get position for char/npc/pet/mob objects.
+	* Attempted to fix the mob bug (still haven't :( ). Still updated mob.c/clif.c/chrif.c according to jA 1057. [Codemaster]
+	* Fixed item_cardalbum.txt: Removed extra column which mad all albums empty [Lupus]
+11/07
+	- Fixed a few npcs will start implementing new ones soon, have alot on paper, need to type them up. [Nasedo]
+	* clif.c: Added a few things from jAthena 1057 [Codemaster]
+	* Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
+	* Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami]
+
+11/06
+	- Added missing items in item_db.txt and reorganised it.[Nasedo]
+	- Fixed wrong coords for payon guild flags (it has the old map coords), fixed some weapon effects in item_db,
+	 updated the mob_db (90%+ done), added EP 5-9 mobs to mob_branch.txt and EP 6 cards to item_cardalbum.txt[shadowlady]
+	* atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri]
+	* mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster]
+	* mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster]
+11/05
+	* Fixed and redo optional Umbalian quests:
+	- Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
+	  alternative way)
+	- On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
+	  (For Sphinx Mask)
+	* Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
+	  Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
+	  easy quests with expensive prizes to avoid exploits) [Lupus]
+	* Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady]
+	* Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris]
+	* Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris]
+
+11/04
+	* Added sara-chan's packet db with support for 11-1 [Valaris]
+	* [alot of files >_<]: Changed connecting a bit, from oA source; it connected easier/better in my opinion so... [Codemaster]
+	* map/skill.c: Added a few checks for level 0 skills being used. [Codemaster]
+
+11/03
+	* Removed broken column, using attribute column for broken equip now. [Valaris]
+
+11/02
+	* Fixed compile time errors for gcc 2.95  [MouseJstr]
+	* Changed Blacksmith skill "Hammer Fall" to only be used with maces or Hammers [Aria]
+11/01
+	* Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria]
+10/31
+	* Fixed Devnpcs giving off errors -_- [Aria]
+	* Fixed showmsg.c compile warnings thanks to LittleWolf. [Valaris]
+	* map/skill.c: removed a second declaration of sc_def_vit in skill_castend_nodamage_id; thanks to spira [Codemaster]
+	* map/battle.c: re-did Water Ball's damage calculation [Codemaster]
+10/30
+	* Added new guild skills to skill_db from sara-chan. [Valaris]
+	* db/skill_cast_db, map/skill.c, map/pc.c: Corrected a few CHASEWALK things; Thanks to Celest [Codemaster]
+	* char_sql/char.c: removed the double free()ing of gm_account [Codemaster]
+	* Added check for c value in int_guild.c before dividing to calculate average level. [Valaris]
+	* Commented unfinished dev npcs and added devnpc to map_athena. [Aria]
+	* Removed item requirement of Aqua Benedicta (10/26 patch) [Aria]
+	* Fixed some compiling error for Map-server [Shinigami]
+	* Removed Rogue's backstab pushback effect (kRO style again) [Aria]
+	* Changed requirement of Fire Pillar to fit kRO style; lv1-5 = no gem, but 6-10 = 1 gem. [Aria]
+	* Added Mugendai's oA GUI support for map-server (previously not added) [davidsiaw]
+	* Included Mugendai's oA GUI in the GUI folder [davidsiaw]
+
+10/29
+	* another exploit fix for mult in script [MouseJstr]
+	* Corrected mode for peco, condor mobs.  Added custom mobs Easter Egg and Easter Bunny for easter egg event script.
+	 Corrected mysteltain card location, penomena card typo.[kobra_k88]
+10/28
+	* Cloak Speed fixed [Aria]
+	* Throw stone damage fixed [Aria]
+	* Added new packets from Sara to packet database. [spira]
+	* Fixed and changed command lists to reflect on new packet changes. [spira]
+		- @jumpto, @recall, and @where
+		- Removed old @ignore* functions because they are no longer needed.
+	* Replaced old whisper ignoring code with better and more efficient code. [spira]
+	* Added packet_db.txt support, removed old packet functions. [spira]
+	* fixed forger-zeny exploit [MouseJstr]
+
+	  Doing script math that returns a number greater then (1<<31) will now
+	  return a (1<<31).  This prevents you from finding a npc that
+	  asks for a quantity then mults the cost by that quantity to get
+	  what you need to pay.
+
+10/27
+	* Updated CSS styles for readme a bit [Aria]
+	* branched athena at version 340 to begin work on the packet_db 
+	  stuff from jA.  To retrieve it, do a svn co http://dev.deltaanime.net:8080/svn/eathena/packetdb
+	  later, once we are happy with it.. and feel it is stable, we will remerge it back into the main tree via the appropriate svn commands
+	  as a FYI, the command I used to create this branch was:
+	  svn copy http://dev.deltaanime.net:8080/svn/eathena/athena http://dev.deltaanime.net:8080/svn/eathena/packetdb -m "branch for packetdb work"
+	* Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus]
+
+10/26
+	* Added more quotes -_- [Aria]
+	* Modified a few things related to guild skills. I hope it doesn't interfere with anyone else's work, and isn't seen as bad. [Sara-chan]
+		-Support for new guild skills, though they don't work yet. Added guild_skill_get_inf and guild_skill_get_max entries for them based on early info.
+		-Changed guild_skillup functions based on japanese code, but for a good reason.
+		  It allows for guild skill trees, sort of. I made Kafra Contract and Guardian Research require Guild Approval, for instance.
+		  I think the first four new guild skill requirements are correct, at the least.
+		I hope everything works alright, it's my first contribution to eA in quite some time and I'm rather rusty at programming of late.
+	* Fixed compile errors in showmsg.c. [Sara-chan]
+	* Fixed Mouse's devnpc only saying his quotes once per server reset [Aria]
+	* Added log_athena.conf & the logs.sql file [Codemaster]
+	* Added log configurations to inter_athena.conf [Codemaster]
+
+10/25
+	* Fixed a compiling error in Login-server [Shinigami]
+	* Added alot of Azndragon's spiffy logs & then added a few things of my own (Silly Dragon, structs are for kids!) [Codemaster]
+	* Corrected a small bug (forgot to change a few variables!) in my different GM option. [Codemaster]
+	* Fixed items and mobs in DB. Added new items. [Lupus]
+	* Fixed some NPC bugs (check NPC=changelog.txt) [Lupus]
+	* Fixed getting MAX PET ID (SQL only bug) [Lupus]
+	* Fix char/char.c which was crashing after double freeing logs
+	  [MouseJstr]
+	* Improved basic server rebooters [MC Cameri]
+	* Commited common/showmsg.c/.h, previously missing x_X [MC Cameri]
+	* Added a basic server rebooter program, just use 'runserver.bat' to start up the server. [Shinigami]
+
+10/24	
+	* Added files common/showmsg.c/.h which contain the function _ShowMessage(char *string, int flag) [MC Cameri]
+	  -Check showmsg.h to see how to use it.
+	  -This function is made to replace printf in all the cases, so it MUST be used instead of print from now on.
+	  -Begin your own journey of replacing/removing old printfs, and using the new function.
+	  -This function was previously called ShowMessage() in oA, it is now merged, some changes have been done:
+		1.Outputting messages to a file is now disabled(commented out).
+		2.MSG_SQL is now commented out.
+		3.If the server is out of memory, it will not use abort().
+		4.Returns 0 if successful, 1 otherwise.
+	  -Example: ShowInfo("hello\n"); will print this to the screen: [Info]: hello
+	  -Always add \n at the end. Unless someone edits the function to add the \n whether it exists or not.
+	  -Just add #include "showmsg.h" wherever you need it.
+	* Edited ALL makefile's to include showmsg.o -> _ShowMessage(). [MC Cameri]
+	* Updated readme/gmcommands.html with new @uptime command [MC Cameri]
+	* Somebody had added some additional noskill checks that prevented
+	  vending from happening in prontera [MouseJstr]
+	* Added bypass with gm_allskill of npc_selfdestruct2. [Valaris]
+	* Corrected some minor bugs in some Quests [Shinigami]
+	* Added new maps (from lateast kRO patch)
+	  Touched WOE (u can't surrender the castle during the WOE), misc fix of the bank [Lupus]
+10/23	
+	* Added the option to read GM accounts from a different table than login. Default set to login table. [Codemaster]
+	* Finished Aria and MC Cameri "Dev edition" NPCs. [Aria]
+	* Corrected extra stat points given to high classes. [Valaris]
+	* Added high classes getting the extra 40 stat points on stat reset. [Valaris]
+	* performance tweaks on socket.c to reduce lag [MouseJstr]
+
+	  do a "OPT="-g -DNSOCKET" to compile with the changes
+	  enabled.. and tell me if you notice a change in your
+	  performance/lag
+
+	* Added @uptime to atcommand.c [MC Cameri]
+	* Added the stuff for my npc to Dev/quotes.txt [MC Cameri]
+
+10/22	
+	* Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria]
+	* Waiting for various devs to tell me their coords, map, biography, quotes,
+	  moving coords, etc. In the meantime, I replaced them with (x,y),(lols),
+	  (sprite),(somewhere), and if they didn't give me any info, I didn't 
+	  add them yet =P. [Aria]
+	* Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild
+	  to "Dev edition" NPCs [Aria]
+	* Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final
+	  layout unless something goes wrong =O. [Aria]
+	* Fixed the eol markers on some checked in files [Mousejstr]
+	* Fix two crashes caused by calling isGM on mobs [MouseJstr]
+	* Added folder "mc_cameri" in npc/other which contains my bank npc. [MC Cameri]
+	* Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria]
+	* Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria]
+	* Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria]
+	* Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria]
+	* Fixed removing friends from the list [davidsiaw]
+	* Added PCLoginEvent NPC (When a character logs on, NPC runs as if he/she clicked the NPC) [davidsiaw]
+	  The NPC sample is located in npc/sample/PCLoginEvent.txt (you only need one of these NPCs)
+
+10/21
+	* Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus]
+	* Fixed hair_dyer.txt: fixed missing menu label [Lupus]
+	* new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel,
+	  Ear of Demon,Big Golden Bell, Mistress Crown,
+	  Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus]
+	* Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus]
+	* Fixed item names in the temp Crusader Job Quest according to our DB [Lupus]
+
+10/20
+	* map/mob.c: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
+	* map/map.h: Changed Vending Struct: amount and value to unsigned variables (so they CAN'T be 0 or less) [Codemaster]
+	* map/mob.h: Added mob_exclusion_add() & mob_exclusion_check() [Codemaster]
+	* Aligned the list of commands at the beginning of atcommand.c,
+	  with tabs instead of spaces. [MC Cameri]
+	* Fixed AtCommand_SetBattleFlag, it was previously being called by "@send"
+	  instead of "@setbattleflag". [MC Cameri]
+	* Finished basic layout, finished Aria starting to create Shinigami [Aria]
+	* Started to create "Dev edition" npcs [Aria]
+	* Fixed a compile error in src/char/char.c [MouseJstr]
+	* Fixed a bug in @trade where the distance was not ignored [MouseJstr]
+	* Fixed a potential inf loop in pc.c when multi_level_up is set to no. [MouseJstr]
+	* implemented Friends List support for TXT version [davidsiaw]
+	* added queries in main.sql for Friends List. mySQL support for friends list pending [davidsiaw]
+10/19
+	* switched login_sql/login.c to use binary when retrieving
+	  by account name [MouseJstr]
+	* skill.c & skill.h: added skill_type_cloaking [Codemaster]
+	* storage.c & storage.h: added storage_storageopen2() [Codemaster]
+10/18
+	* Changed readme layout for 1.0 scheme. [Aria]
+	* added check for console variable in login_sql [MouseJstr]
+	* Fully translated the untranslated items in the database.sql for SQL. [Nana]
+	* Dev/TODO, asigned myself to some items. [MC Cameri]
+	* char/char.c: changed the online system to omniAthena's [Codemaster]
+	* char/char.c: added log_char and log_inter [Codemaster]
+	* char/char.c: added Mugendai's GUI Support [Codemaster]
+	* char/int_guild.c: added log_inter and db_path [Codemaster]
+	* char/inter.c: added log_inter [Codemaster]
+	* char/char.c: added db_path [Codemaster]
+	* char/inter.h: added log_inter [Codemaster]
+	* char_sql/char.c: added log_char and log_inter [Codemaster]
+	* char_sql/char.c: added Mugendai's GUI Support [Codemaster]
+	* char_sql/int_guild.c: added log_inter and db_path [Codemaster]
+	* char_sql/inter.c: added log_inter [Codemaster]
+	* char_sql/char.c: added db_path [Codemaster]
+	* char_sql/inter.h: added log_inter [Codemaster]
+	* conf-tmpl/char_athena.conf: Added log_char & db_path [Codemaster]
+	* conf-tmpl/inter_athena.conf: Added log_inter [Codemaster]
+
+10/18
+	* clif.c,clif.h,map.h,npc.c,npc.h,script.c: Added NPC Walking. [Valaris]
+	  -npcspeed #; To change npc's walking speed.
+	  -npcwalkto x,y; Move an npc to a position (keep it less than area size, or sprite will glitch and disappear).
+	  -npcstop; Stops an npc's movement. 
+
+10/17
+        * Made the IP autodetection code work under a pure win32
+          executable
+        * Fixed the win32 build and made a src\map\Makefile.win32 to
+          make it easier to do win32 builds of the map server
+
+            src\common\utils.c src\common\utils.h src\common\grfio.c
+            src\common\nullpo.h src\common\timer.c src\common\db.c
+            src\common\socket.c src\common\core.c src\common\mmo.h
+            src\common\socket.h src\map\script.c src\map\intif.c
+            src\map\npc.c src\map\clif.c src\map\map.c src\map\clif.h
+            src\map\chrif.c src\map\Makefile.win32
+
+	* skill.c: Fixed noicewall flag. [Valaris]
+	* battle.c: Battle calc weapon attack now checks to see if pc_breakweapon successfully broke the weapon then recalculates damage. [Valaris]
+	* pc.c: Removed broken weapon and equip status, just unequips items again when broken. [Valaris]
+	        Removed useless code from pc_breakweapon and pc_breakarmor. [Valaris]
+	* Added template for server control from the console [Wizputer]
+	* conf-tmpl/login_athena.conf: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
+	* login/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
+	* login_sql/login.c: added support for Mugendai's "I'm Alive" Timer and GUI Flush [Codemaster]
+	* Usable GM commands from server console admin:<gm command>:<map of "GM"> <x> <y> [Wizputer]
+	* Added server:shutdown to shutdown server and help [Wizputer]
+	* Added user discretion for console commands in conf files [Wizputer]
+10/16
+	* Fixed Umbala Language Quest, where a certain NPC would freeze you due to an unfinished script [Shinigami]
+	* Fixed bug in new_hats.txt where free items are given out [Shinigami]
+	* Correct Morroc warp npc overlaying Kafra npc. [Aria]
+	* Corrected npc typos. [Aria]
+	* Skip over npc_selfdestruction2 on allskillup (thanks to celest) [Valaris]
+	* Fixed some typos in some of the NPCs [Shinigami]
+        * tweaked the auto-configure stuff to deal better with
+          machines that have no detectable IP addresses.. is this
+          possible?  [MouseJstr]
+                src\char_sql\char.c src\char\char.c src\map\map.c
+	* Made it compile under gcc 2.95 [MouseJstr]
+	* made the char and map servers auto-configure their own IP's
+	  whenever possible [MouseJstr]
+
+	  If you do not specify the server IP address, it now determines it
+	  on its own.  This means that to get a server running that is
+	  accessable from the internet you should only need to specify the
+	  location of the data.grf files.  This eliminates one more point
+	  of misconfiguration.
+
+	  It does not correctly auto-configure for when you are behind a 
+	  router or a firewall since there is no way of determining the 
+	  external IP address.  On the other hand, we should be able to 
+	  eliminate the lan_conf file since we know our IP addresses as well 
+	  as our netmask.
 10/15
 	* added @setbattleflag to let me reset a battle_config at runtime [MouseJstr]
 	* --- RC5 release

+ 21 - 0
src/map/clif.c

@@ -4760,6 +4760,27 @@ int clif_GMmessage(struct block_list *bl, char* mes, int len, int flag)
 	return 0;
 }
 
+/*==========================================
+ * グローバルメッセージ
+ *------------------------------------------
+ */
+void clif_GlobalMessage(struct block_list *bl,char *message)
+{
+	char buf[100];
+	int len,cmd=0x8d;
+
+	if(!bl || !message)
+		return;
+
+	len=strlen(message)+1;
+
+	WBUFW(buf,0)=cmd;
+	WBUFW(buf,2)=len+8;
+	WBUFL(buf,4)=bl->id;
+	strncpy(WBUFP(buf,8),message,len);
+	clif_send(buf,WBUFW(buf,2),bl,AREA_CHAT_WOC);
+}
+
 /*==========================================
  * HPSP回復エフェクトを送信する
  *------------------------------------------

+ 1 - 1
src/map/clif.h

@@ -92,7 +92,7 @@ int clif_misceffect(struct block_list*,int);	// area
 int clif_misceffect2(struct block_list *bl,int type);
 int clif_changeoption(struct block_list*);	// area
 int clif_useitemack(struct map_session_data*,int,int,int);	// self
-
+void clif_GlobalMessage(struct block_list *bl,char *message);
 int clif_createchat(struct map_session_data*,int);	// self
 int clif_dispchat(struct chat_data*,int);	// area or fd
 int clif_joinchatfail(struct map_session_data*,int);	// self

+ 26 - 0
src/map/npc.c

@@ -915,6 +915,32 @@ int npc_checknear(struct map_session_data *sd,int id)
 	return 0;
 }
 
+/*==========================================
+ * NPCのオープンチャット発言
+ *------------------------------------------
+ */
+int npc_globalmessage(const char *name,char *mes)
+{
+	struct npc_data *nd=strdb_search(npcname_db,name);
+	char temp[100];
+	char ntemp[50];
+	char *ltemp;
+
+	if(nd==NULL) return 0;
+	if(name==NULL) return 0;
+
+	ltemp=strchr(name,'#');
+	if(ltemp!=NULL) {
+		strncpy(ntemp,name,ltemp - name);	// 123#456 の # から後ろを削除する
+		ntemp[ltemp - name]=0x00;	// strncpy のバグ?使い方間違ってる?
+	}
+
+	snprintf(temp, sizeof temp ,"%s : %s",ntemp,mes);
+	clif_GlobalMessage(&nd->bl,temp);
+
+	return 0;
+}
+
 /*==========================================
  * クリック時のNPC処理
  *------------------------------------------

+ 1 - 0
src/map/npc.h

@@ -26,6 +26,7 @@ int npc_buylist(struct map_session_data *,int,unsigned short *);
 int npc_selllist(struct map_session_data *,int,unsigned short *);
 int npc_parse_mob(char *w1,char *w2,char *w3,char *w4);
 int npc_parse_warp(char *w1,char *w2,char *w3,char *w4);
+int npc_globalmessage(const char *name,char *mes);
 
 int npc_enable(const char *name,int flag);
 struct npc_data* npc_name2id(const char *name);

+ 276 - 0
src/map/script.c

@@ -308,6 +308,16 @@ int buildin_isnight(struct script_state *st); // [celest]
 int buildin_isday(struct script_state *st); // [celest]
 int buildin_isequipped(struct script_state *st); // [celest]
 int buildin_isequippedcnt(struct script_state *st); // [celest]
+int buildin_getusersname(struct script_state *st); //jA commands added [Lupus]
+int buildin_dispbottom(struct script_state *st);
+int buildin_recovery(struct script_state *st);
+int buildin_getpetinfo(struct script_state *st);
+int buildin_checkequipedcard(struct script_state *st);
+int buildin_globalmes(struct script_state *st);
+int buildin_jump_zero(struct script_state *st);
+int buildin_select(struct script_state *st);
+int buildin_getmapmobs(struct script_state *st); //jA addition end
+
 
 void push_val(struct script_stack *stack,int type,int val);
 int run_func(struct script_state *st);
@@ -550,6 +560,15 @@ struct {
         {buildin_deactivatepset, "deactivatepset", "i"}, // Deactive a pattern set [MouseJstr]
         {buildin_deletepset, "deletepset", "i"}, // Delete a pattern set [MouseJstr]
 #endif
+	{buildin_dispbottom,"dispbottom","s"}, //added from jA [Lupus]
+	{buildin_getusersname,"getusersname","*"},
+	{buildin_recovery,"recovery",""},
+	{buildin_getpetinfo,"getpetinfo","i"},
+	{buildin_checkequipedcard,"checkequipedcard","i"},
+	{buildin_jump_zero,"jump_zero","ii"}, //for future jA script compatibility
+	{buildin_select,"select","*"}, //for future jA script compatibility
+	{buildin_globalmes,"globalmes","s*"},
+	{buildin_getmapmobs,"getmapmobs","s"}, //end jA addition
 	{NULL,NULL,NULL},
 };
 
@@ -4139,6 +4158,25 @@ int buildin_getusers(struct script_state *st)
 	push_val(st->stack,C_INT,val);
 	return 0;
 }
+/*==========================================
+ * Works like @WHO - displays all online users names in window
+ *------------------------------------------
+ */
+int buildin_getusersname(struct script_state *st)
+{
+	struct map_session_data *pl_sd = NULL;
+	int i=0,disp_num=1;
+	
+	for (i=0;i<fd_max;i++)
+		if(session[i] && (pl_sd=session[i]->session_data) && pl_sd->state.auth){
+			if( !(battle_config.hide_GM_session && pc_isGM(pl_sd)) ){
+				if((disp_num++)%10==0)
+					clif_scriptnext(script_rid2sd(st),st->oid);
+				clif_scriptmes(script_rid2sd(st),st->oid,pl_sd->status.name);
+			}
+		}
+	return 0;
+}
 /*==========================================
  * マップ指定ユーザー数所得
  *------------------------------------------
@@ -4552,6 +4590,29 @@ int buildin_waitingroom(struct script_state *st)
 		limit,pub,trigger,name,strlen(name)+1,ev);
 	return 0;
 }
+/*==========================================
+ * Works like 'announce' but outputs in the common chat window
+ *------------------------------------------
+ */
+int buildin_globalmes(struct script_state *st)
+{
+	struct block_list *bl = map_id2bl(st->oid);
+	struct npc_data *nd = (struct npc_data *)bl;
+	char *name=NULL,*mes;
+
+	mes=conv_str(st,& (st->stack->stack_data[st->start+2]));	// メッセージの取得
+	if(mes==NULL) return 0;
+	
+	if(st->end>st->start+3){	// NPC名の取得(123#456)
+		name=conv_str(st,& (st->stack->stack_data[st->start+3]));
+	} else {
+		name=nd->name;
+	}
+
+	npc_globalmessage(name,mes);	// グローバルメッセージ送信
+
+	return 0;
+}
 /*==========================================
  * npcチャット削除
  *------------------------------------------
@@ -6116,6 +6177,221 @@ int buildin_gmcommand(struct script_state *st)
 	return 0;
 }
 
+/*==========================================
+ * Displays a message for the player only (like system messages like "you got an apple" )
+ *------------------------------------------
+ */
+int buildin_dispbottom(struct script_state *st)
+{
+	struct map_session_data *sd=script_rid2sd(st);
+	char *message;
+	message=conv_str(st,& (st->stack->stack_data[st->start+2]));
+	if(sd)
+		clif_disp_onlyself(sd,message,strlen(message));
+	return 0;
+}
+
+/*==========================================
+ * All The Players Full Recovery
+   (HP/SP full restore and resurrect if need)
+ *------------------------------------------
+ */
+int buildin_recovery(struct script_state *st)
+{
+	int i = 0;
+	for (i = 0; i < fd_max; i++) {
+		if (session[i]){
+			struct map_session_data *sd = session[i]->session_data;
+			if (sd && sd->state.auth) {
+				sd->status.hp = sd->status.max_hp;
+				sd->status.sp = sd->status.max_sp;
+				clif_updatestatus(sd, SP_HP);
+				clif_updatestatus(sd, SP_SP);
+				if(pc_isdead(sd)){
+					pc_setstand(sd);
+					clif_resurrection(&sd->bl, 1);
+				}
+				clif_displaymessage(sd->fd,"You have been recovered!");
+			}
+		}
+	}
+	return 0;
+}
+/*==========================================
+ * Get your pet info: getpetinfo(n)  
+ * n -> 0:pet_id 1:pet_class 2:pet_name
+	3:friendly 4:hungry
+ *------------------------------------------
+ */
+int buildin_getpetinfo(struct script_state *st)
+{
+	struct map_session_data *sd=script_rid2sd(st);
+	int type=conv_num(st,& (st->stack->stack_data[st->start+2]));
+
+	if(sd && sd->status.pet_id){
+		switch(type){
+			case 0:
+				push_val(st->stack,C_INT,sd->status.pet_id);
+				break;
+			case 1:
+				if(sd->pet.class_)
+					push_val(st->stack,C_INT,sd->pet.class_);
+				else
+					push_val(st->stack,C_INT,0);
+				break;
+			case 2:
+				if(sd->pet.name)
+					push_str(st->stack,C_STR,sd->pet.name);
+				else
+					push_val(st->stack,C_INT,0);
+				break;
+			case 3:
+				//if(sd->pet.intimate)
+				push_val(st->stack,C_INT,sd->pet.intimate);
+				break;
+			case 4:
+				//if(sd->pet.hungry)
+				push_val(st->stack,C_INT,sd->pet.hungry);
+				break;
+			default:
+				push_val(st->stack,C_INT,0);
+				break;
+		}
+	}else{
+		push_val(st->stack,C_INT,0);
+	}
+	return 0;
+}
+/*==========================================
+ * Shows wether your inventory(and equips) contain
+   selected card or not.
+	checkequipedcard(4001);
+ *------------------------------------------
+ */
+int buildin_checkequipedcard(struct script_state *st)
+{
+	struct map_session_data *sd=script_rid2sd(st);
+	int n,i,c=0;
+	c=conv_num(st,& (st->stack->stack_data[st->start+2]));
+
+	if(sd){
+		for(i=0;i<MAX_INVENTORY;i++){
+			if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].amount){
+				for(n=0;n<4;n++){
+					if(sd->status.inventory[i].card[n]==c){
+						push_val(st->stack,C_INT,1);
+						return 0;
+					}
+				}
+			}
+		}
+	}
+	push_val(st->stack,C_INT,0);
+	return 0;
+}
+
+int buildin_jump_zero(struct script_state *st) {
+	int sel;
+	sel=conv_num(st,& (st->stack->stack_data[st->start+2]));
+	if(!sel) {
+		int pos;
+		if( st->stack->stack_data[st->start+3].type!=C_POS ){
+			printf("script: jump_zero: not label !\n");
+			st->state=END;
+			return 0;
+		}
+
+		pos=conv_num(st,& (st->stack->stack_data[st->start+3]));
+		st->pos=pos;
+		st->state=GOTO;
+		// printf("script: jump_zero: jumpto : %d\n",pos);
+	} else {
+		// printf("script: jump_zero: fail\n");
+	}
+	return 0;
+}
+
+int buildin_select(struct script_state *st)
+{
+	char *buf;
+	int len,i;
+	struct map_session_data *sd;
+
+	sd=script_rid2sd(st);
+
+	if(sd->state.menu_or_input==0){
+		st->state=RERUNLINE;
+		sd->state.menu_or_input=1;
+		for(i=st->start+2,len=16;i<st->end;i++){
+			conv_str(st,& (st->stack->stack_data[i]));
+			len+=strlen(st->stack->stack_data[i].u.str)+1;
+		}
+		buf=(char *)aCalloc(len,sizeof(char));
+		buf[0]=0;
+		for(i=st->start+2,len=0;i<st->end;i++){
+			strcat(buf,st->stack->stack_data[i].u.str);
+			strcat(buf,":");
+		}
+		clif_scriptmenu(script_rid2sd(st),st->oid,buf);
+		free(buf);
+	} else if(sd->npc_menu==0xff){	// cansel
+		sd->state.menu_or_input=0;
+		st->state=END;
+	} else {
+		pc_setreg(sd,add_str("l15"),sd->npc_menu);
+		pc_setreg(sd,add_str("@menu"),sd->npc_menu);
+		sd->state.menu_or_input=0;
+		push_val(st->stack,C_INT,sd->npc_menu);
+	}
+	return 0;
+}
+
+/*==========================================
+ * GetMapMobs
+	returns mob counts on a set map:
+	e.g. GetMapMobs("prontera.gat")
+	use "this" - for player's map
+ *------------------------------------------
+ */
+int buildin_getmapmobs(struct script_state *st)
+{
+	char *str=NULL;
+	int m=-1,bx,by,i;
+	int count=0,c;
+	struct block_list *bl;
+
+	str=conv_str(st,& (st->stack->stack_data[st->start+2]));
+
+	if(strcmp(str,"this")==0){
+		struct map_session_data *sd=script_rid2sd(st);
+		if(sd)
+			m=sd->bl.m;
+		else{
+			push_val(st->stack,C_INT,-1);
+			return 0;
+		}
+	}else
+		m=map_mapname2mapid(str);
+
+	if(m < 0){
+		push_val(st->stack,C_INT,-1);
+		return 0;
+	}
+
+	for(by=0;by<=(map[m].ys-1)/BLOCK_SIZE;by++){
+		for(bx=0;bx<=(map[m].xs-1)/BLOCK_SIZE;bx++){
+			bl = map[m].block_mob[bx+by*map[m].bxs];
+			c = map[m].block_mob_count[bx+by*map[m].bxs];
+			for(i=0;i<c && bl;i++,bl=bl->next){
+				if(bl->x>=0 && bl->x<=map[m].xs-1 && bl->y>=0 && bl->y<=map[m].ys-1)
+					count++;
+			}
+		}
+	}
+	push_val(st->stack,C_INT,count);
+	return 0;
+}
+
 /*==========================================
  * movenpc [MouseJstr]
  *------------------------------------------