summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-26 07:40:41 +0000
committerLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-26 07:40:41 +0000
commitccd3e0e2d45eac452406eab7dfcfa7a08a369042 (patch)
treed2b4a5a4deee3a0036f081707081a4e4fe668972
parentc576ad09280dc788d9e95ca410594e88dd5fa7aa (diff)
downloadhercules-ccd3e0e2d45eac452406eab7dfcfa7a08a369042.tar.gz
hercules-ccd3e0e2d45eac452406eab7dfcfa7a08a369042.tar.bz2
hercules-ccd3e0e2d45eac452406eab7dfcfa7a08a369042.tar.xz
hercules-ccd3e0e2d45eac452406eab7dfcfa7a08a369042.zip
added new script commands
from jA git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1182 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-SVN.txt1788
-rw-r--r--Changelog.txt1771
-rw-r--r--src/map/clif.c21
-rw-r--r--src/map/clif.h2
-rw-r--r--src/map/npc.c26
-rw-r--r--src/map/npc.h1
-rw-r--r--src/map/script.c276
7 files changed, 2110 insertions, 1775 deletions
diff --git a/Changelog-SVN.txt b/Changelog-SVN.txt
index 3d9576b9c..fa165d791 100644
--- a/Changelog-SVN.txt
+++ b/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.
diff --git a/Changelog.txt b/Changelog.txt
index 492a470fd..fe5d151b3 100644
--- a/Changelog.txt
+++ b/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
diff --git a/src/map/clif.c b/src/map/clif.c
index 67c925f75..020d8d3a2 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -4761,6 +4761,27 @@ int clif_GMmessage(struct block_list *bl, char* mes, int len, int flag)
}
/*==========================================
+ * グローバルメッセージ
+ *------------------------------------------
+ */
+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回復エフェクトを送信する
*------------------------------------------
*/
diff --git a/src/map/clif.h b/src/map/clif.h
index c9b18a996..196050c0d 100644
--- a/src/map/clif.h
+++ b/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
diff --git a/src/map/npc.c b/src/map/npc.c
index 36569eb88..c6d77c18c 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -916,6 +916,32 @@ int npc_checknear(struct map_session_data *sd,int id)
}
/*==========================================
+ * 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処理
*------------------------------------------
*/
diff --git a/src/map/npc.h b/src/map/npc.h
index e04587508..5c9c8b900 100644
--- a/src/map/npc.h
+++ b/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);
diff --git a/src/map/script.c b/src/map/script.c
index 24195b698..d0fc773b2 100644
--- a/src/map/script.c
+++ b/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},
};
@@ -4140,6 +4159,25 @@ int buildin_getusers(struct script_state *st)
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;
+}
+/*==========================================
* マップ指定ユーザー数所得
*------------------------------------------
*/
@@ -4553,6 +4591,29 @@ int buildin_waitingroom(struct script_state *st)
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チャット削除
*------------------------------------------
*/
@@ -6117,6 +6178,221 @@ int buildin_gmcommand(struct script_state *st)
}
/*==========================================
+ * 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]
*------------------------------------------
*/