浏览代码

sql optimizations.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7198 54d463be-8e91-2dee-dedb-b68131a5f0ec
Euph 19 年之前
父节点
当前提交
c897622a1d
共有 3 个文件被更改,包括 1585 次插入1580 次删除
  1. 1043 1041
      Changelog-Trunk.txt
  2. 540 539
      sql-files/main.sql
  3. 2 0
      sql-files/upgrade_svn7194.sql

+ 1043 - 1041
Changelog-Trunk.txt

@@ -1,1041 +1,1043 @@
-Date	Added
-
-AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
-IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
-
-2006/06/15
-	* Merged Adam's patch to let the char-server handle validation of
-	  pet-name-change requests through the allowed char letters config. [Skotlex]
-	* Fixed "wedding_ignore_palette: yes" not working when relogging with the
-	  gear already equipped. [Skotlex]
-	* Added blocking of the Kick skills when you are a Soul Linker. [Skotlex]
-	* Added enabling to turn off a kick-stance regardless of class. [Skotlex]
-	* Altered a bit how status_set_viewdata behaves in regards to Wedding/Xmas
-	  options. [Skotlex]
-	* Added back OPTION_XMAS, but the actual value is missing! [Skotlex]
-	* Corrected chrif_save so that the player is not set offline on map-change.
-	  [Skotlex]
-	* Added change-look support in pc_setoption when specifying OPTION_XMAS
-	  [Skotlex]
-	* Fixed clif_parse_RemoveOption removing all options instead of just
-	  Falcon/Cart/Peco [Skotlex]
-	* Fixed clif_send not sending packets to SELF when specifying AREA if the
-	  source is not on the map yet. [Skotlex]
-	* Fixed and cleaned up script command 'equip' [Skotlex]
-	* Fixed 'autoequip' items. [Skotlex]
-	* Fixed Aspd not being updated in your status window after Agi/Dex
-	  increasing statuses take effect. [Skotlex]
-2006/06/14
-	* Fixed map_nick2sd so that searching for "Adam" will not match a char
-	  named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
-	* Modified how luk reduces status changes by reducing the gap. Eg: resist =
-	  vit; resist += (max - resist)*luk/300; [Skotlex]
-	* Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
-	  luk threshold at which you gain inmunity (defaults to 300). [Skotlex]
-	* Fixed buildin_getmobdata. It was trying to handle the first parameter as the
-	  array to fill in. [blackhole89]
-	* Blocked again skill usage during marionette. [Skotlex]
-	* Fixed main.sql adding a key on char_id rather than account_id for the
-	  char table. [Skotlex]
-	* Cleaned up character saving in char-sql, it no longer needs to query the
-	  database to see if the player exists on each char-save, instead it checks
-	  the received data against the online-players db.  No such fix is required
-	  for char-txt. [Skotlex]
-	* Added an error message on the char-server when the received player data
-	  size does not matches with the expected size (should avoid the crash that
-	  happens on such a memcpy). [Skotlex]
-	* [Improved]:
-	  - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
-	    queries. [Lance]
-2006/06/13
-	* Updated mob_db.sql and item_db.sql to latest. [Skotlex]
-	* Added account_id index to char table. Thanks to Buuyo for reporting it.
-	  Sql users apply upgrade_svn7146.sql NOW. [Skotlex]
-	* Marionette and Devotion will now check raw distance and ignore obstacles
-	  and the like. [Skotlex]
-	* Added irc_channel_pass setting and prevent crashing when irc server
-	  lookup by host fails. Thanks to Trancid for the details. [Skotlex]
-	* [Fixed]:
-	  - clif_parse_GetCharNameRequest displaying false alarm for legitimate GM snooping.
-	    [Lance]
-	* Added support for reading correctly status change data from Guild and
-	  Homun skills. [Skotlex]
-	* Added support for reading Homun skill data (which means the HM skills are
-	  now safe to add to skill_db, skill_require_db, etc) [Skotlex]
-	* Oppositions can't be made during WoE now. [Skotlex]
-	* Fixed a few compiler warnings from VC [Skotlex]
-	* Commented out the Homunculus Skills<->Status Change link which was
-	  causing some memory corruptions. [Skotlex]
-2006/06/12
-	* [Fixed]:
-	  - buildin_npcshopitem not allocating extra 1 block of terminator.
-	  [Added]:
-	  - Modified versions of Dj-Yhn's buildin_npcshopdelitem and buildin_npcshopadditem
-	  [Lance]
-	* Updated clif_disp_onlyself to not use dynamic memory and write directly
-	  to the player's buffer. [Skotlex]
-	* Updated @noask to also tell the user what he has just rejected (added
-	  msg_athena entries for each of the different requests). Also updated it to
-	  use clif_disp_onlyself. [Skotlex]
-	* Fixed a pair of missing initializers in the clif storage functions.
-	  [Skotlex]
-	* @heal no longer displays a healing animation. Fixes the client believing
-	  you couldn't be healed more than 32K. [Skotlex]
-	* Now you can use any skills (except encore/dancing ones) while under
-	  Longing for Freeding. [Skotlex]
-	* Now you can use any skills while under Marionette Control. [Skotlex]
-	* Fixed npc_checknear's distance check returning the opposite of what it
-	  should (false when the range is correct and viceversa) [Skotlex]
-	* Added a warning on item loading when an item is of equippable type but
-	  has no equippable position. [Skotlex]
-	* Turning an alliance to an opposition won't work now during WoE [Skotlex]
-	* Slaves can summon other mobs now. The only ones who can't do this are
-	  player summoned mobs. [Skotlex]
-	* Merged the following functions for faster processing of items: [Skotlex]
-	  clif_storageitemlist + clif_storageequiplist = clif_storagelist
-	  clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
-	  clif_itemlist + clif_equiplist = clif_inventorylist
-	  Note that the changes are a bit substantial and need proper testing!
-	* Increased max knockback value support to 25. [Skotlex]
-	* [Optimized]:
-	  - buildin_npcshopitem memory allocation to calculate before reallocating.
-	    [Lance]
-	* Made guild member exp an unsigned int. [Skotlex]
-	* Various cleanups to the npc clicking related functions. Should fix quite
-	  some possible crashes from crafted packets. [Skotlex]
-	* Added overflow checks for bonus settings mdef_rate/def_rate. [Skotlex]
-	* Added missing update of INT after a buf.  [Skotlex]
-	* Small cleanup of how SC_BLEEDING works. [Skotlex]
-	* Fixed party_foreach_samemap invoking the function on the CASTER instead
-	  of on the party members. [Skotlex]
-	* Modified clif_parse_NpcClicked to handle the different situations with
-	  different bl-objects (attack on players/mobs, click on npcs or mobs with
-	  npc attached) [Skotlex]
-2006/06/09
-	* [Fixed]
-	  - Compilation warnings on guild.c and int_guild.c [Lance]
-	* Added structure party_data and party_member_data to the map server to
-	  hold party-specific required information about parties including
-	  Monk/TK/SG/SN states and party member count. Family information is still
-	  missing, and handling of the state should probably be done by the
-	  char-server, too... [Skotlex]
-	* party Hp updates are no longer done each time the Hp is modified, but
-	  together with the party xy timer. It means HP-bars will be a bit delayed
-	  before being updated, but packet consumption should be much less during
-	  heated battles. [Skotlex]
-	* Fixed MoM's typo [Vicious]
-	* Fixed map_readafm missing strcpy(afm_name, m->name). [Skotlex]
-	* [Improved]:
-	  - npc_click interception on BL_MOB and BL_PC to let sd act accordingly.
-	    [Lance]
-	* [Fixed]:
-	  - Execution of sleep/sleep2 more than once will hang the script_state.
-	    [Lance]
-	* Fixed @mapinfo displaying incorrectly maps with nosave which send you
-	  back to your last savepoint. [Skotlex]
-	* Moved guild_exp_rate from a mapserver battle config setting to a char
-	  server config. It no longer modifies the total taxed exp as seen on the
-	  guild information window, but directly modifies the exp that the guild
-	  earns. [Skotlex]
-	* Added an error report and correction when the map server receives a guild
-	  from the char-server with more guild members than MAX_GUILD. [Skotlex]
-	* Changed the interval between waterballs back to 125 [MasterOfMuppets]
-	* Fixed a typo in char_sql/char.c, thanks to Euph [MasterOfMuppets]
-2006/06/08
-	* Modified guild exp to be an unsigned int rather than a signed one.
-	  [Skotlex]
-	* Fixed @skilltree printing out Unknown job for most targets used.
-	  [Skotlex]
-	* Cleaned clif_pvpset to not send the packet to nearby characters when the
-	  source is GM-hidden. May help fix the crash on PvP with gm-hidden
-	  characters. [Skotlex]
-	* Modified map_freeblock_unlock so that aFree errors will report the
-	  file/line that INVOKED the function rather than the function itself.
-	  [Skotlex]
-	  NOTE: Do NOT disable the memory manager as that will break this change.
-	  This change is to be temporarily set until the afree'd error can be
-	  resolved.
-	* Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable
-	  only on warps that don't lead to nobranch maps. 2 - enable on all warps.
-	  [Skotlex]
-	* Adjusted Don't Forget Me, Defender, Longing to use all val entries, and
-	  to hold the speed adjustment value rather than speed penalty (eg: 125
-	  instead of 25). [Skotlex]
-	* Cleaned up status_calc_speed so that speed penalties are correctly
-	  handled (eg: 25% penalty is speed*100/75, not +speed*25/100). Thanks to
-	  Euph for pointing it out and Belle for the speed mechanics. [Skotlex]
-2006/06/07
-	* Fixed Sense using mdef instead of mdef2 [Skotlex]
-	* Fixed item-skills not showing up on login. [Skotlex]
-	* Cleaned up clif_parseLoadEndAck, by testing which packets are required
-	  only on first-login and which ones are required on all map-changes.
-	  Skill-tree, Exp, Skill Points and most of the basic status are no longer
-	  sent on map-change (items, cart data and zeny still need to be sent one
-	  very  map-change). [Skotlex]
-	* Fixed the mob state not being set to Berserk/Angry correctly after the
-	  mob reaches the target's location. [Skotlex]
-	* Added config setting mob_npc_warp, when set to yes, enables mobs to be
-	  warped between maps when stepping on a npc-warp. [Skotlex]
-	* Added monster_ai setting &64, when enabled makes a mob run to any nearby
-	  npc-warp when their current target has switched maps. [Skotlex]
-	* Added pc_calcexp to calculate individual exp bonuses acquired from exp's
-	  source (race bonus cards, SG Exp skills, pk-mode higher level exp) [Skotlex]
-	* pc_gain_exp now also receives the source of the exp, when said source
-	  exists, bonuses are applicated as needed. [Skotlex]
-	* Added status_kill when capturing a mob, should take care of the mob not
-	  respawning after caputed. [Skotlex]
-	* Fixed item info not displaying the found item id [Skotlex]
-	* Fixed item info not displaying the weight value properly. [Skotlex]
-	* Adjusted status resistances and durations taking as base Viccious's info
-	  from the kro guidebook. [Skotlex]
-	* Moved souldrain code from skill_counter_additional_effect to mob_dead. It
-	  should display the skill animation correctly now. [Skotlex]
-	* Adjusted several sc rate/time reductions as pointed out by Playtester.
-	  [Skotlex]
-	- Luk now plays a luk/10 reduction role rather than a luk/3 one.
-	* Removed char_nick2id from char-sql server as it's no longer needed.
-	  [Skotlex]
-	* Fixed quitting the map server not properly saving the storage before
-	  deleting it. Thanks to Adam for pointing it out. [Skotlex]
-	* Cleaned status_get_sc_tick/status_get_sc_def to use the status_data
-	  function. [Skotlex]
-	* SC_STOP's chance and duration can't be reduced anymore. [Skotlex]
-	* Storm Gust no longer has a 100% chance to freeze by passing mdef, now it
-	  has a 300% base chance reduced by mdef and the like as explained out by
-	  Tharis. [Skotlex]
-	* Frost Diver/Frost Nova's base freezing chance is no longer affected by
-	  target's int. [Skotlex]
-	* [Improved]:
-	  - mob_dead not to remove script controlled monsters with player sprites.
-	  [Added]:
-	  - buildin_mobdeadsit :D [Lance]
-	* [Fixed]:
-	  - temp++ gets issued before if(mvp_damage<(unsigned int)md->dmglog[i].dmg) in
-	    mob_damage. Thanks to seahorsix. [Lance]
-	* [Fixed]:
-	  - Corrected login-server SQL to use *((ulong *)p) instead of (ulong)p [Lance]
-	* [Optimized]:
-	  - list and size not being initialized (size get intialized in default: switch case)
-	    Eliminated default case and initialized list and size at the beginning. [Lance]
-2006/06/06
-	* Hopefully fixed for sure mobs getting extra stats when changing-class due
-	  to the mobs level up setting. [Skotlex]
-	* Removed a piece of code that should no longer be needed due to the
-	  combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
-	  self-skills from being used on others (pets/mobs should be allowed to do
-	  that)  [Skotlex]
-	* Added a status_check_skilluse call in Sightblaster to prevent it from
-	  hitting hidden/cloaked/act-dead/etc players. [Skotlex]
-	* Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
-	* Fixed Soul Burn not zapping away all SP. [Skotlex]
-	* The monsters can level up setting will not take effect when the mob's
-	  level is LESS than their db counter-part (should prevent under-leveling
-	  causing underflows and semi-immortal mobs) [Skotlex]
-	* Fixed mvp-exp calculations being messed up with more than one attacker.
-	  [Skotlex]
-	* Changed the mob exp race bonus so that each player gets their own bonus,
-	  rather than the killer's bonus applying to everyone. Still not the
-	  "correct" way, but one step closer to it. [Skotlex]
-	* [Fixed]:
-	  - Allocation of event_list in guild_npc_request_info to aCalloc so 
-	    memcpy(ev->name,event,strlen(event)) will have a null terminator. [Lance]
-2006/06/05
-	* Fixed a crash when using SL_SMA and the "combo" ain't ready. [Skotlex]
-	* Hopefully fixed changing a mob's class causing them to get all sort of
-	  stat bonuses due to the mobs-level-up setting. [Skotlex]
-	* Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef
-	  to signed char to correctly account for cards with penalties in said stats.
-	  [Skotlex]
-	* Fog of Wall won't affect the caster now in any way. [Skotlex]
-	* Added clif_fixpos packets before attacking for the first time to clear
-	  any position sync issues with the client. [Skotlex]
-	* Fixed skill_unitsetting using layout->count for the for instead of
-	  group->count [Skotlex]
-	* Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly
-	  increase dex/agi by 40% per level. [Skotlex]
-	* Fixed char-sql server not deleting character variables when deleting a
-	  char. [Skotlex]
-	* Corrected cloaking not ending on attack if you are near a wall. [Skotlex]
-	* Updated pc_bonus to use cap_value on all status_data modifiers to prevent
-	  overflows/underflows. [Skotlex]
-2006/06/03
-	* Fixed @mi/@mobinfo not showing the name collumns correcly [shadow]
-	* Solved the bug that made firewalls only castable a few times until [MasterOfMuppets]
-	  you relogged. Thanks to Euph for the fix.
-	* Added variable other_mapserver_count to chrif.c which holds total count
-	  of connected map-servers. By using this we prevent sending unnecessary
-	  packets to the char-server when there's no more map-servers connected.
-	  [Skotlex]
-	- Affected packets are whispers, announces, party messages, guild messages.
-2006/06/02
-	* Fixed Visual Studio 7.1 Solution File (Login TXT and Map TXT were removed)
-	* Fixed a bug in unit_can_reach_bl which breaks path seeking when the
-	  target is near obstacles. [Skotlex]
-	* Updated offensive use of Sanctuary to function like on the official servers [MasterOfMuppets]
-	* Changed the interval between waterballs from 150 to 250 milliseconds [MasterOfMuppets]
-	* Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it
-	  fails. Fixes cases where the client gets "stuck" and refuses to let you
-	  pick any items. [Skotlex]
-	* Removed the walk delay from firewall and changed its knockback [MasterOfMuppets]
-	  to 1 tile to make it act more like in the official servers.
-	* Some cleaning of the mob slave ai. [Skotlex]
-	* Corrected Brandish Spear to work on levels above 10. [Skotlex]
-	* Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for
-	  skill levels above 10 (meant for boss casted skills) [Skotlex]
-	* Fixed Spear-Quicken messing with the calc_flag [Skotlex]
-	* Fixed Freeze/Stone/Benedictio not changing your elemental LEVEL to 1.
-	  [Skotlex]
-	* [Fixed]
-	  - Yet another compilation warning. [Lance]
-2006/06/01
-	* Altered status_calc_pc so that equipment scripts are ran before
-	  card-scripts. [Skotlex]
-	* Fixed pc_bonus to not underflow/overflow when adjusting def/mdef.
-	  [Skotlex]
-	- These two together, should fix Tao Gunka Card. 
-	* npc_debug_warps() will now be invoked if warp_point_debug is set.
-	  [Skotlex]
-	* Updated item_db.sql/mob_db.sql to current. [Skotlex]
-	* Fixed NPC_SELFDESTRUCTION not showing nor dealing damage. [Skotlex]
-	* NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
-	  without removing it when the skill level is greater than one. [Skotlex]
-	* Added SC_DANCING declaration in the Status Change tables to signal it
-	  modifies Walk speed. [Skotlex]
-	* Fixed pc_damage setting your canlog_tick even if the damage has no source
-	  (eg: poison, berserk) [Skotlex]
-	* Berserk's aspd bonus now stacks with other aspd bonuses, but is still
-	  affected by Quagmire/Forget-me-not. [Skotlex]
-	* Corrected setting slaves_inherit_mode to not apply to morphosis skills.
-	  [Skotlex]
-	* Corrected pc_setoption to invoke status_calc_pc when getting/removing the
-	  cart. [Skotlex]
-	* Fixed @mobinfo displaying the wrong element. [Skotlex]
-	* Fixed Autoblitz taking into account target's luck rather than attacker's
-	  [Skotlex]
-	* Fixed slaves warping endlessly to their master when the master-slave
-	  distance exceeds 30. [Skotlex]
-	* SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)
-	  [Skotlex]
-	* Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the
-	  incorrect range variable. [Skotlex]
-	* You can now equip/unequip stuff while the storage is open. [Skotlex]
-2006/05/31
-	* Fixed Soul Drain not really giving you SP [Skotlex]
-	* [Fixed]:
-	  - Suppressed compilation warning in chrif.c [Lance]
-	* [Fixed]:
-	  - Guys can't go across map-servers :( [Lance]
-	* [Fixed]:
-	  - Restoration and saving of sd->npc_id must be done every time. [Lance]
-	* Added back the Freeze/Petrify adjustments of -50%def and +25%mdef (when
-	  where these lost?). Thanks to Buuyo for pointing it out. [Skotlex]
-	* Corrected the mob_ai&2 setting triggering rude-attacked due to can't walk
-	  delay. [Skotlex]
-	* Made the char_name_option char_athena.conf setting apply to parties and
-	  guilds as well. It cannot be applied to pets yet without adding a
-	  change-name-request interserver packet. [Skotlex]
-	* Moved the JOB_* defines from map.h to mmo.h, update char.c to use them.
-	  [Skotlex]
-	* Added function char_read_fame_list for famelist reading. Invoked it on
-	  init, and made it be sent automatically to connecting map servers.
-	  [Skotlex]
-	* Some cleaning of the fame-list reading code. [Skotlex]
-	* Some cleaning of the fame-update code, fixed a logic bug which made the
-	  ranking list fail to display the correct ranker names. [Skotlex]
-	* Removed typedef bool from socket.h and included cbasetypes.c instead.
-	  [Skotlex]
-	* Cleaned up and corrected the calculation of hit/flee/cri/lucky dodge in
-	  status_calc_bl. [Skotlex]
-	* [Fixed]:
-	  - Incorrect SQL syntax in login.c (missing collumn) [Lance]
-	* [Improved]:
-	  - SQL upgrade file for the new loginlog. Thanks to ultramage. [Lance]
-	* [Fixed]:
-	  - nullpo in pet.c caused by equipping without checking if the pet is available.
-	    [Lance]
-	* [Fixed]:
-	  - Latest client support completed! [Lance]
-	* [Fixed]:
-	  - Missing #include for cbasetypes.h in login server SQL.
-	  - Logic errors in run_script [Lance]
-	* [Added]:
-	  - Partial support for latest login packet. But it seems to have a new security
-	    module. [Lance]
-2006/05/30
-	* [Improved]:
-	  - Fake NPC interface to use real NPCs.
-	  - Scripting interface to restore and save sd->npc_id. [Lance]
-	* Added function pc_check_skilltree for checking if you unlocked new
-	  tree-skills when raising non-passive skills. [Skotlex]
-	* Fixed flee/hit calculation in status_calc_bl to account for bonuses from
-	  the base status. [Skotlex]
-	* [Fixed]:
-	  - Compatibility problems in login.c [Lance]
-	* Fixed pets ignoring can-act delays for skill usage. [Skotlex]
-	* [Added]:
-	  - Mercenary.c in VS.NET 2005 project files
-	  [Improved]:
-	  - loginlog using unsigned long `ip` field. 
-	    (Please check for compatibility problems). [Lance]
-	* Fixed status_calc_pc not zero'ing ALL vars it should, allowing certain
-	  bonuses (like effect-on-hit) to stack. [Skotlex]
-	* slaves inherit speed setting will now work regardless of whether the
-	  slave or master has the MD_CANMOVE mode bit. [Skotlex]
-	* Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
-	* AL_TELEPORT will fail when used by slave mobs. [Skotlex]
-	* Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
-	  attacks. [Skotlex]
-	* Fixed status_damage not setting your HP to 0 when you died [Skotlex]
-	* Fixed the pcbonus2 warnings using the wrong value before printing the
-	  invalid Element error. [Skotlex]
-	* Fixed underflow issues when calculating dmotion. [Skotlex]
-	* Fixed Absorb Spirit Spheres [Skotlex]
-	* Added battle_config min_chat_delay (default 0, battle/client.conf)
-	  specifies in ms what is the min delay between player sent chats
-	  (whisper/global/party/guild). Messages that exceed this threshold are
-	  silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the
-	  player?) [Skotlex]
-	* [Fixed]:
-	  - signed/usigned problem in sprintf and fscanf @ mercenary.c [Lance]
-	* Rewrote/cleaned up @petfriendly. [Skotlex]
-	* Cleaned up final part of status_calc_pc (flags 2/4 do not exist) [Skotlex]
-	* Updated attr_fix_table reading code to account for ELE_MAX (will
-	  correctly read bigger elemental tables if ELE_MAX is changed) [Skotlex]
-	* Aggressive mobs will now use battle_check_range rather than mob_can_reach
-	  to decide whether to lock-on or not to a target within sight-range. [Skotlex]
-	* Added warnings in mob_readdb when the mob's element is invalid. [Skotlex]
-	* Added error messages in pc_bonus* functions when an invalid element is
-	  passed to the relevant bonuses. [Skotlex]
-	* [Optimized]:
-	  - clif_specialeffect to use the enums.
-	  [Improved]:
-	  - buildin_specialeffect and buildin_specialeffect2 to accept effect area 
-	    definition. [Lance]
-	* [Added]:
-	  - Visual Studio .NET 2003 includes for mercenary.c [Lance]
-	* Removed the on-die specific code from unit_remove_map and placed it on
-	  the corresponding *_dead functions. unit_remove_map should never assume the
-	  char died, it is just a "remove from map" function. [Skotlex]
-	* Updated status_damage to handle the general death code (clearing status
-	  changes, clearing skill related data, sending death packet, etc). The
-	  return value from the *_dead functions will tell it what to do or not with
-	  the object (death aborted, clear it from map/memory, etc) [Skotlex]
-	* Cleaned up pc_dead to take advantage of the fact that status changes are
-	  not ended until after the function. [Skotlex]
-	* Disabled ontouch npcs triggering on hidden/chase-walk characters. 
-	  [Skotlex]
-	* Updated/adapted current Homun code to use the status_data update.
-	  [Skotlex]
-	* Updated map-server Makefile to compile mercenary.* files. [Skotlex]
-	* [Fixed]:
-	  - Pets attacking even master is dead. [Lance]
-	* Fixed battle_calc_weapon_attack damage capping damage to a minimum of 0
-	  (negative values should be allowed when attack is absorbed by target's
-	  element) [Skotlex]
-2006/05/29
-	* [Fixed]:
-	  - Missing ';' in item #4358 [Lance]
-	* [Fixed]:
-	  - Missing maps in map index database. [Lance]
-	* [Fixed]:
-	  - Battle mechanics in battle_check_target [Lance]
-	* [Fixed]:
-	  - Typo in mob_dead causing crash. Thanks to reddozen and his gang for testing.
-	    [Lance]
-	* Cleaned up friend list saving and fixed loading of friends.txt file
-	  (char-txt) [Skotlex]
-	* Added the Arunafeltz maps, not tested yet [Playtester]
-	- someone with an up-to-date client should test them
-	* Fixed pc_gainexp resetting your exp to 0 rather than adding it in...
-	  [Skotlex]
-	* Corrected aspd calculation code to avoid negative overflows. [Skotlex]
-	* Fixed battle_check_target check on BCT_ALL to check versus BL_CHAR
-	  instead of BL_PC and BL_MOB [Skotlex]
-	* [Fixed]:
-	  - Declaration of int map_getcellp(struct map_data*,int,int,cell_t); [Lance]
-	* Removed Undead being inmune to poison status. [Skotlex]
-	* Removed speed penalty from SC_SKA [Skotlex]
-	* Fixed SC_SPURT triggering on Soul Linkers. [Skotlex]
-	* SC_DODGE won't be dispelled on death now. [Skotlex]
-	* [Fixed]:
-	  - pc_follow_timer possible triggering crash.
-	  - pc_reg_received to use battle_status.hp instead of status.hp
-	  [Added]:
-	  - macro map_id2index for non-cyptic mapid to mapindex conversion. [Lance]
-	* Added a division by zero check in mob_dead to prevent the (impossible)
-	  case where a mob dies with received damage of zero. [Skotlex]
-	* Modified skill_get_range2 to return range 9 for skills with range 0 for
-	  Non-Players. This usually signals Self skills, and mobs/pets should be able
-	  to use them in other characters. [Skotlex]
-	* Optimized a bit the SC_PROVOKE code (to use val3/val4) [Skotlex]
-	* Fixed draining when the amount drained is negative (invoke zap rather
-	  than heal) [Skotlex]
-	* Implemented GS_FLING as per the current skill description. [Skotlex]
-	* Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than
-	  status.hp/sp, fixes scripts reading the wrong Hp/Sp values [Skotlex]
-	* Added some missing SC_* entries on the initial listing (potion related
-	  and speed up ones) [Skotlex]
-	* Fixed function declaration of map_getcellp() [Skotlex]
-	* [Fixed]:
-	  - status.c:920: warning: 'mbl' might be used uninitialized in this function
-	  - skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
-	  - skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
-	  - skill.c:2826: warning: 'sid' might be used uninitialized in this function [Lance]
-	* [Optimized]:
-	  - Removed unused variable (account_id) in storage_guild_storagesaved.
-	* [Optimized]:
-	  - Removed unused checks for unsigned data type and possible logic error for
-	    char type (gcc treats char as unsigned). [Lance]
-	* [Fixed]:
-	  - Relogging in with 0 HP didn't trigger dead event. [Lance]
-2006/05/28
-	* Added functions status_revive, pc_revive and mob_revive to handle revival
-	  (it doesn't handles player respawning, though). Fixed reviving @ commands.
-	  [Skotlex]
-	* Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes
-	  Bladestop causing an unknown status change message). [Skotlex]
-	* Fixed MSS_DEAD state skills not triggering. [Skotlex]
-	* Changed undeads to by default always sustain 100% of the damage from firewalls [MasterOfMuppets] 
-	* [Fixed]: 
-	  - script functions that doesn't pass references, thanks to End_of_exam. [Lance]
-	* [Protected]:
-	  - clif_parse_LGMmessage from possible hacks [Lance]
-	* Fixed unable to store n items into storage unless n was the total amount
-	  of items you had. [Skotlex]
-	* Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
-2006/05/27
-	* Added structure status_data which holds status-related information (str,
-	  agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
-	  and weapon_atk structure with the weapon specific info (atk, atk2, element)
-	  to be used by all combat structures (TODO: Homun needs to be updated to use
-	  it). This in change involves a LOT of changes throughout the code and many
-	  optimizations were done as well. Partial list (see svn changelog for complete
-	  changes): [Skotlex]
-	- NOTE: Changes are substantial! I tested a bunch of stuff and all the
-	  skills I changed the most, but it is possible there are unnoticed bugs
-	  remaining to fix!
-	- Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
-	- Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
-	- Added status functions to deal with damage and healing (status_damage,
-	  status_heal, status_percent_change) and a bunch of defines for easier
-	  handling of them (status_percent_heal, status_percent_damage,
-	  status_fix_damage, status_kill, etc). Objects must be hurt/healed through
-	  THIS, pc_damage/mob_damage most no longer be directly invoked!
-	- Rewrote and cleaned up battle_calc_misc_attack
-	- Merged config options pc_attack_attr_none, mob_attack_attr_none,
-	  pet_attack_attr_none into attack_attr_none (type 4)
-	- Removed config options player_defense_type, monster_defense_type,
-	  pet_defense_type in favor of weapon_defense_type
-	- Modified skill_calc_heal to take into account the MEDITATION bonus.
-	- Modified Slim Pitcher so it will work when casted by non-players. Will
-	  now also work with SP-healing items.
-	- Rewrote Freedom of Cast code to use function status_freecast_switch to
-	  switch adelay/speed when cast begins/ends.
-	- Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
-	  easier updating when used in conjunction with ground skills.
-	- Fixed Asura Strike being usable from within a combo regardless of combo skill.
-	- Added status_calc_bl which does status-change related calculations using
-	  as base the base_status of the bl object and the SCB_* flag passed. This is
-	  invoked on status changes, and status_calc_pc will no longer be invoked
-	  (which results on much faster status-change calculations).
-	- pc_clean_skilltree will now also remove item-granted skills.
-	- Learning skills will now only invoke status_calc_pc when the skill is passive.
-	- Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
-	  packets and functions ONCE regardless of skill-levls earned.
-	- Cleaned up pc_ regen related functions.
-	- Made player-sprite mobs have item pickup animation and walkdelay when taking items.
-	- Clones will copy a player's base status rather than battle status (so
-	  status-change alterations are not cloned)
-2006/05/26
-	* Part B of the homunculus code. [blackhole89]
-	  While most of the homunculus handling functions are in now, it still lacks
-	  code required for players to create it.
-	  Given I haven't screwed up, you could master yourself one through the DB though.
-	* Fixed crashing in mob.c [Lance]
-	* Patches to allow everything to work right. + 1 more sample script. [Lance]
-	* Mob control engine tested 99% working so far. [Lance]
-	* Change scripting engine's NPC scope vars to dot (.) style.
-	* Improved and (should be fully) fixed the mob control engine. [Lance]
-	* Fixed typos in char.c [Lance]
-	* Rewrote fame rank lists system to reduce char-server load, as requested by
-	  Skotlex: now it has a copy of those lists, and updates only the proper one
-	  when needed instead of rebuilding all from saves everytime (which required
-	  to always save the character before rebuilding the lists) [DracoRPG]
-	  - Note it hasn't been compiled nor tested with SQL, please do it for me
-2006/05/25
-	* Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
-	  int-based damage component (which is added right before elemental
-	  modifiers) as described by AuronX. Pending further refining. [Skotlex]
-	* Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
-		Fixed atcommand @request MSG numbers accordinly.
-		On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
-	* Added NoVending mapflag. You may disable vending in the streets [Lupus]
-	* Increased capacity for Account Variables to 64 [Skotlex]
-	* Reverted Intravision implementation to that of stable's. [Skotlex]
-	* Corrected Login Server taking it's first argument as both login config
-	  and lan config. [Skotlex]
-	* Fixed mob control commands.
-	* Fixed memory leak in scripts (again). Still have a few lying. [Lance]
-2006/05/24
-	* Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
-	* Item sharing now shares the same rules as exp sharing (no sharing when
-	  dead, or idle, etc) [Skotlex]
-	* Fixed summoned slaves being able to cast onspawn summon-skills (slaves
-	  aren't supposed to be able to call minions) [Skotlex]
-	* The clif_skill_poseffect packet will not be invoked in Snap unless the
-	  skill was successful. May fix the client-position lag. [Skotlex]
-	* Merged item_db.sql from stable (the one from stable was more recent than
-	  the one of trunk...) [Skotlex]
-	* Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
-	* Corrected a pair of incorrect sql query parsing logic in the login-sql
-	  ban request packet. [Skotlex]
-2006/05/23
-	* Corrected mob angry mode, now it only "restores" itself after being hit
-	  when the mob has no target within their range of sight rather than on
-	  picking a new target. [Skotlex]
-	* Fixed wedding sprite where it would stay active after unequipping. [Zido]
-	* Some cleanup of run_script, should fix the memory leak there. [Skotlex]
-	* the charname request hack message has been downgraded to only include
-	  GM-invisible characters. [Skotlex]
-	* corrected clif_charnameack to send negative ID when a disguised player
-	  asks for it's own disguised name. [Skotlex]
-	* Cleaned up the disguised target-id checks taking into considering that
-	  the only character that sees a negative ID is the same disguised character.
-	  [Skotlex]
-	* Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
-	  defense), Investigate and Icepick will now use the final def/vit-def values
-	  rather than the base ones. [Skotlex]
-	* The move-enable condition checks for skills are now checked for only when
-	  on skill use, not at cast-end time. [Skotlex]
-	* Corrected clif parse name request failing on disguised characters [Skotlex]
-	* Corrected Soul Drain draining from all non-ground-based skills including
-	  non-magic attacks. [Skotlex]
-	* Corrected pc_setoption to change the option and then change class.
-	  changing option-wedding will automatically convert the view-class as well.
-	  [Skotlex]
-	* Corrected the 15% drop rate increase when killing higher level mobs in
-	  pk-mode triggering for all mobs with lower level than yourself. Thanks to
-	  Vayu. [Skotlex]
-	* Fixed typo (this time it's not my fault) in script_reload() clearing the same
-	  db each time o_o [Lance]
-	* Fixed sleep command. [Lance]
-	* Added 'setd' support for local NPC scope (') variables. [Lance]
-	* [Scripting Engine Update] New variables are ready to be used. [Lance]
-2006/05/22
-	* Updated skill_delayfix to return 0 for mobs since they have no skill
-	  delay other than the one specified in mob_skill_db [Skotlex]
-	* Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
-	  Vayu for pointing it out. [Skotlex]
-	* status_get_sc_tick will now use directly Stun's formula rather than
-	  invoking the status sc chance once. [Skotlex]
-	* Fixed a possible null pointer in script command misc_effect [Skotlex]
-	* Modified Investigate to take into consideration final def/vit-def rather
-	  than base values for damage adjustment. [Skotlex]
-	* WARNING: New scripting system contains memory leak
-	  TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
-	* Excluded idle and auto-trade party members from TK_POWER list. [Lance]
-	* Fixed compilation errors.
-	  Tidy up jobmaster for easy debugging. [Lance]
-2006/05/21
-	* Part A of the Homunculus code.
-	  This only features the structures, status_* and clif_* (packets) and is
-	  not functional yet in any conventional way, but doesn't interfere
-	  with present functionality either.
-	  Main purpose is helping me to keep my work organized. [blackhole89]
-	* Fixed the "fake" mute status bug. [Zido]
-	* Speed up array size calculation and deletion. [Lance]
-	* Player must learn the skill before doing auto-spell [Lance]
-	* Exploit prevention in clif_parse_NpcStringInput [Lance]
-	* SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
-	* Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
-2006/05/20
-	* grfio_final moved back if any of GRF overriding is enabled so servers
-	  with such configuration will not have different values after reloading. [Lance]
-	* jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
-	* Abit of alterations to login-server. [Lance]
-2006/05/19
-	* Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
-	* Small change in pc_additem that could be fixing the current bug with new
-	  items not getting added. [Skotlex]
-	* Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
-	* Likely fixed the mob-skill random picking behaviour causing infinite
-	  loops sometimes. [Skotlex]
-	* Modified mobskill_use behaviour to pick a random starting point and check
-	  skills from that, rather than always checking from first to last. Fixes
-	  skills with high priority blocking skills lower down in the list from
-	  triggering. [Skotlex]
-	* Updated mob ai behaviour so that mobs use IDLE state skills when their
-	  current target cannot be reached for melee fighting. [Skotlex]
-2006/05/18
-	* Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
-	  [Skotlex]
-	* Fixed mob_max_skilllvl being capped to 11! [Skotlex]
-	* Rewrote/cleaned up several functions in storage.c [Skotlex]
-	* Optimized pc_additem comparisons to account for items with more than four
-	  slots. [Skotlex]
-	* Updated clif.c to enable retrieval of items from cart/storage while
-	  trading. Exception is retrieving items from the cart while vending.
-	  [Skotlex]
-	- The reasoning is that an ongoing trade will not get "corrupted" if you
-	  earn items before it is commited (only if you lose items from your
-	  inventory), and it is an annoyance when you realize the stuff you want to
-	  trade is on the cart/storage.
-	* skill reiteration code now does not checks for the trigger-area of the
-	  skill in the case of non-players, which means mobs can now place traps in
-	  cells adjacent to each other. [Skotlex]
-	* Applied an experimental weather code that should lower bandwidth usage to
-	  near-none, which's only disadvantage should be the weather not clearing out
-	  until moving to another map (even when the mapflag is removed from the
-	  current map). Please test and report if there's any anomalies with it.
-	  [Skotlex]
-	* NPC_AGIUP will now give movement boost of 50% [Skotlex]
-	* Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
-	* MO_BODYRELOCATION will send the slide packet with the actual src's
-	  coordinates rather than selected tile. [Skotlex]
-2006/05/17
-	* Modified mob_can_changetarget to return true always when the new target
-	  is the provoked-by character. Fixes provoke not making the mob change
-	  target when it already is locked on another player. [Skotlex]
-	* Added check to clear previous skill when combo time ends. Should fix TK
-	  Rankers being unable to initiate a combo with the same kick their previous
-	  combo was finished with. [Skotlex]
-	* Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
-2006/05/16
-	* Modified "hide woe damage" to send the number of hits rather than 1 as
-	  damage Because when the damage is less than the number of hits, the client
-	  will display MISS. [Skotlex]
-	* Fire Pillar will now do 200%MATK damage per hit when level is >10.
-	  [Skotlex]
-	* Blood Drain always hits now. [Skotlex]
-	* Fixed Mob Area Skills not updating their use-time (rendering their skill
-	  delay useless) [Skotlex]
-	* Search free cell will now skip picking the center-tile as target
-	  location. Will prevent slaves from walking on top of their master, or mobs
-	  placing stuff right under themselves with the "around" target conditions
-	  among other things. [Skotlex]
-2006/05/15
-	* Small changes to the skill.conf
-	- Monsters now can place ground skills on top of each other by default
-	- Land_Skill_Limit format changed and set to "Only Players" by default
-	* When reading mapflags, when a map is set to be pvp or gvg, the other will
-	  be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
-	* Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
-	  skill level is above 10. [Skotlex]
-	* Sorted out the item_data structure, getiteminfo should work correctly
-	  now. [Skotlex]
-	* KA* skills can now be casted on other Soul Linkers as well without the
-	  Spirit requirement. [Skotlex]
-	* Soul Drain will now show the SP drained regardless of drain display
-	  settings. [Skotlex]
-	* SC_COMBO state will now end in skill_attack rather than
-	  skill_check_condition (as it is required there to apply damage bonuses
-	  based on combo-casted skills) [Skotlex]
-	* Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
-	  [Skotlex]
-	* Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
-	  servers. [Skotlex]
-	* When removing a castle's owning guild, the char servers will erase the
-	  guardian data now. [Skotlex]
-	* Changed the behaviour of immobile mobs when they can't chase their
-	  target. Rather than using a longrange skill and then unlocking, they will
-	  use an attack/angry state skill and then unlock. [Skotlex]
-	* Some adjustments of how disguising + gm-hiding work together. [Skotlex]
-	* Fixed clif_GlobalMessage being the exact same function as clif_message
-	  (the first should send to ALL_CLIENT and the later should send to
-	  AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
-	* Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
-	* Characters in vending are now always considered "idle" if the
-	  idle_no_share setting is active. [Skotlex]
-	* Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
-	* Remaining fixes for item scripts. [Lance]
-	* Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
-
-2006/05/12
-	* Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
-	* Bugfix on fake npc [Lance]
-	* Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
-	* Reverted again the change that stuns the caster on Ske, Ska, Swoo when
-	  the target is a nonplayer (rather than always) [Skotlex]
-	* Modified mob_spawn_once so that coordinates -1,-1 are "random around the
-	  player" while 0,0 are random around the whole map (regardless of whether
-	  there's a player attached or not) [Skotlex]
-	* Knockback will no longer work on traps during woe. [Skotlex]
-2006/05/11
-	* Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
-	  [Skotlex]
-	* NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
-	  of 40% per level. [Skotlex]
-	* Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
-	  [Skotlex]
-	* Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
-	* Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
-	* Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
-	* Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
-	  [Skotlex]
-	* Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
-	  secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
-	* Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
-	  Tanaous [Skotlex]
-	* Added back the missing code that substracts arrows when normal-attacking.
-	  [Skotlex]
-2006/05/10
-	* Changed the state of Asura back to explosionspirits, added a hardcoded
-	  move_enable check when invoking Asura and NOT while in BladeStop or a
-	  Combo. [Skotlex]
-	* Added back SC_XMAS to status.c, it got lost sometime during all the
-	  previous reworkings. [Skotlex]
-	* Changed wedding costumes to use setoption rather than changebase.
-	  [Skotlex]
-	* Modified setoption so that flag 1 or no flag adds an option, and flag 0
-	  removes it. [Skotlex]
-	* Updated script_commands with the new behaviour. [Skotlex]
-	* Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
-	  than 15. [Skotlex]
-	* Users are now able to use their own dnsbl servers (login_athena) [Zido]
-
-2006/05/09
-	* Rewrote/cleaned up trade.c for a more clean trading implementation.
-	  [Skotlex]
-	* Added @request commands, sends a request to all connected GMs of
-	  lowest_gm_level or above as a whisper message. Defaults to gm level 20
-	  users (UNTESTED). [Skotlex]
-	* Modified @commands to use Meruru's code which is faster and does a fair
-	  attempt at tabulating the commands presented. [Skotlex]
-	* Updated SKA to return a random value between 0 and 99 each time
-	  status_get_def is invoked. [Skotlex]
-	* Updated Making Arrow to not include unidentified items in the list.
-	  [Skotlex]
-	* Reduced drop slots from 15 to 10. [Skotlex]
-	* Updated mob_db.sql with the current data. [Skotlex]
-	* Updated setoption script command to receive a second (optional) argument
-	  flag. If the flag is 1, the option is added to what the player currently
-	  has; likewise using flag 2 removes only that option. No flag (or any other
-	  value) is the older behaviour of removing all other options and setting
-	  specificly what is passed. [Skotlex]
-	* Updated script_commands information for setoption due to this change.
-	  [Skotlex]
-	* Small fix in npc-created chat rooms to properly include the terminating 0
-	  on the chat's event. [Skotlex]
-	* Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
-	  get reduced by 50% regardless of who is standing on the fog. [Skotlex]
-	* monster_ai&2 will now trigger the rude-attacked skill when the mob can't
-	  move and the attacker is out of it's attack range. [Skotlex]
-	* Added missing icon for Joint Beat [Skotlex]
-	* Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
-	* Treasure chests will now be excluded from the mob-drop listings
-	  (@whodrops) [Skotlex]
-	* Fix on pc_skill which fixes overlapping when one gets more than one bonus
-	  for the same skill. [Skotlex]
-	* Updated main.sql's loginlog table structure. [Skotlex]
-	* Added svn_update6533.sql to update the loginlog structure as suggested by
-	  theultramage. [Skotlex]
-	* Cleaned up somewhat the implementation of BladeStop. [Skotlex]
-	* Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
-	  when crafted for non-players. [Skotlex]
-	* Script commands sc_start, sc_start2 and sc_start4 will now start
-	  regardless of sc defense of the target player (that is, they cannot be
-	  avoided/blocked) [Skotlex]
-	* Fixed a possible counter overflow in attacked_count, changed the var size
-	  to unsigned char since the code can handle the overflow now. [Skotlex]
-	* Multiple targets again reduces armor defense, as reported by Tharis.
-	  [Skotlex]
-	* Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
-	* Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
-2006/05/08
-	* Reverted the change that was making ES skills stun the caster always.
-	  [Skotlex]
-	* Removed the fixpos packet which is sent whenever you are hit while moving
-	  as Aegis doesn't sends this packet neither. [Skotlex]
-	* ES magic will now put the caster on stun for 0.5 secs regardless of
-	  whether the skill-target is a mob or not. [Skotlex]
-	* Added function clif_party_join_info which sends packet 0x1e9 each time a
-	  party-member joins. This packet (as redundant info as it has) should also
-	  contain the field for "adoptability", but that needs to be coded in yet.
-	  [Skotlex]
-	* Added clif_ParseAdoptRequest which does the basic adoption handling. More
-	  checks and the reply packets still need to be coded in. [Skotlex]
-	* Happy State and TK stances won't dispel on death now. [Skotlex]
-	* Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
-	  skill_check_condition now. [Skotlex]
-	* Modified TK-ranker infinite combos to behave as described by AuronX.
-	  Refer to his thread in the development section for details. [Skotlex] 
-	* Made all Soul Link Spirit skills not be castable on self. [Skotlex]
-	* Changed rate of NPC status effect skills to 50+10*lv% base chance
-	  (guessed, but better than 100% for all levels) [Skotlex]
-	* Changed max level of NPC status effect skills to 5 [Skotlex]
-	* Increased max number of tries to find a random spot in maps to 1000 since
-	  some maps have so many non-walkable tiles it's hard to find one in just 100
-	  tries. [Skotlex]
-	* status_set_viewdata will remove the Wedding Option status when you set a
-	  class that is not wedding.  [Skotlex]
-	* hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
-	* idletime will now be updated on attack-request, not on sit/standup
-	  [Skotlex]
-	* Party members sitting will no longer be considered idle. [Skotlex]
-	* Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
-	  with the disguise/undisguise script commands instead). [Skotlex]
-	* Moved Sharp Shooting display to the block with Auto-Counter (since that's
-	  the other skill that can show critical as well) [Skotlex]
-	* Corrected some fields in the standing still packet (guild emblem being
-	  stored as a Long when it should be Short) [Skotlex]
-	* Modified most fields of view_data to be unsigned shorts rather than
-	  signed ones. [Skotlex]
-	* On-Touch NPCs will now make you stop walking when you trigger them.
-	  [Skotlex]
-	* ShadowJump/JumpKick will make you land on the target's cell now.
-	  [Skotlex]
-	* Fixed Kaahi triggering only once per skill duration. [Skotlex]
-2006/05/07
-	* Fixed readme/changelog.html [KillerBox]
-	* Removed old logs. [Lupus]
-	TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
-2006/05/05
-	* Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
-	  before sending one (as it's not required to send twice).
-	* Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
-	  players and still continues execution to work). [Lance]
-	* Updated item_db.sql to current. [Skotlex]
-	* Fixed a bug in @commands, most likely the reason some people were still
-	  getting crashes. [Skotlex]
-	* Fixed @commands not showing the last available commands (unless the total
-	  amount of commands is divisible by ten) [Skotlex]
-	* Added a npc-script-event cache to avoid looking up event-scripts every
-	  time they need to be executed. Events cached are all those defined in
-	  script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
-	- Since the cache holds direct pointers to the npcs/events, do NOT unload
-	  the related NPCs or you'll get dangling pointer crashes. However,
-	  @reloadscript will work fine.
-	- Set the etc_log to on to see a summary of npcs/events loaded for script
-	  execution on startup.
-	* The Rest bonus activated by using /doridori while in rest should now
-	  trigger with all the class tree (TK/SL/SG) [Skotlex]
-	* Fixed Kaupe always triggering when the one who was under Kaupe was a
-	  player rather than the one attacking... [Skotlex]
-	* /doridori now won't double the HP/SP regen of TKs, it only activates
-	  their "happy" state. [Skotlex]
-	* Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
-	* Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
-	* Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
-	  (even if there's no other TK around). [Skotlex]
-	* Added battle config settings view_range_rate and chase_range_rate to
-	  adjust the view-range and chase-range (range2/range3) of the mob_db without
-	  having to manually change them (battle/monster.conf) [Skotlex]
-	* Kaupe now will only block all skills of players, for non-players, only
-	  normal attacks can be missed. [Skotlex]
-	* Moved the Kaite spell-reflect code after the damage calculation function,
-	  so the reflected damage is exactly the damage the original target would
-	  have received. Will only trigger if the damage to be reflected is above 0.
-	  [Skotlex]
-	* OnEquip scripts will now trigger on log-on. [Skotlex]
-	* Infinite Endure will no longer give mdef bonus. [Skotlex]
-	* Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
-	  start/end infinite endure. [Skotlex]
-	* Fixed Kaahi's SP cost per heal. [Skotlex]
-	* Now when walkdelay is set to 0, characters will stop walking when hit,
-	  but will not have any walk delay. (previously setting walk delay to 0 would
-	  not even stop characters from walking when hit) [Skotlex]
-2006/05/04
-	* Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
-	* Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
-	* Some clean-ups in the mob_ai [Skotlex]
-	* Improved atcommand autoloot, now displays droprate in percents and notices
-	  player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
-	  commited by erKURITA
-	* Added one grace range in the mob_loot search function which should fix
-	  mob_can_reach failing when invoked with the same distance that distance_bl
-	  returned. [Skotlex]
-	* Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
-	* Eska is now usable on bosses. [Skotlex]
-	* Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
-	* clif_skill_failed will print out a debug line with the skill_id (since
-	  the current null_po does not helps at all to fix it) [Skotlex]
-	* Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
-	* Rewrote Kaahi to behave as it should. It will heal whatever amount of
-	  damage accumulates in the time2 interval (500ms by default) after being
-	  hit. [Skotlex]
-	* Changed skill_unit_move_unit_group to enable moving of all types of
-	  ground-skills except ensembles (fixes warmth not following you) [Skotlex]
-2006/05/03
-	* Kaahi now triggers every 500ms rather than on every hit (but it only
-	  heals if in those 500ms an attack that would previously trigger Kaahi has
-	  taken effect). In other words, it works just like before, except damage
-	  gets "buffered" into 500ms slots. [Skotlex]
-	* Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
-	* Knowledge will now only trigger if you logon to the memorized map, not
-	  walk into it. [Skotlex]
-	* Corrected @whomap directly invoking msg_table[] rather than msg_txt()
-	  [Skotlex]
-	* Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
-	  and not fix the pet issue, but I doubt it'll cause any problems that won't
-	  be fixed by making the pet move. [Skotlex]
-	* Updated Charge Attack's state from none to move_enable. [Skotlex]
-	* Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
-2006/05/02
-	* Fixed standing up not really standing you up. [Skotlex]
-	* Moved battle_consume_ammo to the end of skill_castend_damage_id,
-	  skill_castend_nodamage_id and skill_castend_pos2 rather than
-	  battle_calc_weapon_attack. They will trigger when the player's arrow_atk
-	  state is active and a ground skill was not invoked. It should fix all
-	  issues with splash/ground skills consuming ammo per target rather than once
-	  per skill use. [Skotlex]
-	* Added structure state to the ground skills, their fields are magic_power,
-	  into_abyss and ammo_consume to indicate the states that were previously
-	  stored in val3. [Skotlex]
-	* Implemented desperado as explained by Rockman-EXE. The skill-effect is
-	  not showing up though, I'll need some logged packets to see what's missing.
-	  [Skotlex]
-	* Removed the unit_can_move checks in skill cast-end, they should be
-	  performed in skill_check_require when the skill's state is move_enabled.
-	  [Skotlex]
-	* Changed extremity fist's state to move_enabled, the explosion spirits
-	  check is now hardcoded. [Skotlex]
-	* Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
-	  Haplo. [Skotlex]
-	* Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
-	  impossible to steal unless you have at least 100% steal-rate (where steal
-	  rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
-	* Cleaned up clif_parse_action_request to enable sitting/standing while in
-	  shops, interacting with npcs, etc. [Skotlex]
-	* Kaite now works against all types of spells. [Skotlex]
-	* Kaupe now works against all skills. [Skotlex]
-	* Sanctuary now won't damage non-enemies. [Skotlex]
-	* Blessing now will always give you bonus stats even if you are wearing
-	  undead armor. [Skotlex]
-	* Modified how Rogue's treasure works so that you get +1% to your steal
-	  rate rather than +0.01% to the final rate. [Skotlex]
-	* Rewrote Warmth to use ground-skill-units, it should behave now like in
-	  officials (implementation is not quite the same, but it should yield the
-	  same effects while consuming less bandwidth). "Stacking", as it's called,
-	  is possible now, but limited to eA's minimum timer skill interval (100ms).
-	  [Skotlex]
-	* Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
-	  +5+lv to all stats (as explained by Playtester and Tharis on how the skill
-	  behaves). [Skotlex]
-	* Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
-	* SC_FUSION won't end when you die now. [Skotlex]
-2006/05/01
-	* Added knockback when you run into a wall during running. However
-	  position is not being refreshed on the client yet... [Skotlex]
-	* Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
-	* Corrected a crash when sd is null in npc_event [Skotlex]
-	* After testing to make sure it works properly, I'm including
-	  new battle conf options to limit MVP drops. [Reddozen]
-	* Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
-	* Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
-	  since it has a visual effect to use. [Skotlex]
-	* Corrected the value of OPTION_FLYING [Skotlex]
-	* Using SG_FUSION ends Soul Linked effect. [Skotlex]
-	* status_setviewdata will set your option accordingly when the previous/new
-	  view-class is wedding or xmas suit. [Skotlex]
-	* Added function map_foreachinshootrange, behaves the same way as
-	  map_foreachinrange, but it also performs a "shoot-path" check before
-	  invoking the function. Used in the skill subtimer function if
-	  skill_wall_check is defined. [Skotlex]
-	* Fixed AL_WARP displaying "Unknown Area" selections when you don't have
-	  all memo points used up. [Skotlex]
-	* Fixed alive_count not being reset on skill unitsetting, which leads to
-	  some groups not being cleared once all their units expire. [Skotlex]
-	* Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
-	  to skill_counter additional effect so it may trigger even on miss. [Skotlex]
-	* SKA no longer blocks skills. [Skotlex]
-	* Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]
+Date	Added
+
+AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
+IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+
+2006/06/15
+	* Added indexes for loginlog and ipbanlist as they did not have any. 
+   	  (note, someone already put the index on loginlog on trunk.) [Euph]
+	* Merged Adam's patch to let the char-server handle validation of
+	  pet-name-change requests through the allowed char letters config. [Skotlex]
+	* Fixed "wedding_ignore_palette: yes" not working when relogging with the
+	  gear already equipped. [Skotlex]
+	* Added blocking of the Kick skills when you are a Soul Linker. [Skotlex]
+	* Added enabling to turn off a kick-stance regardless of class. [Skotlex]
+	* Altered a bit how status_set_viewdata behaves in regards to Wedding/Xmas
+	  options. [Skotlex]
+	* Added back OPTION_XMAS, but the actual value is missing! [Skotlex]
+	* Corrected chrif_save so that the player is not set offline on map-change.
+	  [Skotlex]
+	* Added change-look support in pc_setoption when specifying OPTION_XMAS
+	  [Skotlex]
+	* Fixed clif_parse_RemoveOption removing all options instead of just
+	  Falcon/Cart/Peco [Skotlex]
+	* Fixed clif_send not sending packets to SELF when specifying AREA if the
+	  source is not on the map yet. [Skotlex]
+	* Fixed and cleaned up script command 'equip' [Skotlex]
+	* Fixed 'autoequip' items. [Skotlex]
+	* Fixed Aspd not being updated in your status window after Agi/Dex
+	  increasing statuses take effect. [Skotlex]
+2006/06/14
+	* Fixed map_nick2sd so that searching for "Adam" will not match a char
+	  named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
+	* Modified how luk reduces status changes by reducing the gap. Eg: resist =
+	  vit; resist += (max - resist)*luk/300; [Skotlex]
+	* Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
+	  luk threshold at which you gain inmunity (defaults to 300). [Skotlex]
+	* Fixed buildin_getmobdata. It was trying to handle the first parameter as the
+	  array to fill in. [blackhole89]
+	* Blocked again skill usage during marionette. [Skotlex]
+	* Fixed main.sql adding a key on char_id rather than account_id for the
+	  char table. [Skotlex]
+	* Cleaned up character saving in char-sql, it no longer needs to query the
+	  database to see if the player exists on each char-save, instead it checks
+	  the received data against the online-players db.  No such fix is required
+	  for char-txt. [Skotlex]
+	* Added an error message on the char-server when the received player data
+	  size does not matches with the expected size (should avoid the crash that
+	  happens on such a memcpy). [Skotlex]
+	* [Improved]:
+	  - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
+	    queries. [Lance]
+2006/06/13
+	* Updated mob_db.sql and item_db.sql to latest. [Skotlex]
+	* Added account_id index to char table. Thanks to Buuyo for reporting it.
+	  Sql users apply upgrade_svn7146.sql NOW. [Skotlex]
+	* Marionette and Devotion will now check raw distance and ignore obstacles
+	  and the like. [Skotlex]
+	* Added irc_channel_pass setting and prevent crashing when irc server
+	  lookup by host fails. Thanks to Trancid for the details. [Skotlex]
+	* [Fixed]:
+	  - clif_parse_GetCharNameRequest displaying false alarm for legitimate GM snooping.
+	    [Lance]
+	* Added support for reading correctly status change data from Guild and
+	  Homun skills. [Skotlex]
+	* Added support for reading Homun skill data (which means the HM skills are
+	  now safe to add to skill_db, skill_require_db, etc) [Skotlex]
+	* Oppositions can't be made during WoE now. [Skotlex]
+	* Fixed a few compiler warnings from VC [Skotlex]
+	* Commented out the Homunculus Skills<->Status Change link which was
+	  causing some memory corruptions. [Skotlex]
+2006/06/12
+	* [Fixed]:
+	  - buildin_npcshopitem not allocating extra 1 block of terminator.
+	  [Added]:
+	  - Modified versions of Dj-Yhn's buildin_npcshopdelitem and buildin_npcshopadditem
+	  [Lance]
+	* Updated clif_disp_onlyself to not use dynamic memory and write directly
+	  to the player's buffer. [Skotlex]
+	* Updated @noask to also tell the user what he has just rejected (added
+	  msg_athena entries for each of the different requests). Also updated it to
+	  use clif_disp_onlyself. [Skotlex]
+	* Fixed a pair of missing initializers in the clif storage functions.
+	  [Skotlex]
+	* @heal no longer displays a healing animation. Fixes the client believing
+	  you couldn't be healed more than 32K. [Skotlex]
+	* Now you can use any skills (except encore/dancing ones) while under
+	  Longing for Freeding. [Skotlex]
+	* Now you can use any skills while under Marionette Control. [Skotlex]
+	* Fixed npc_checknear's distance check returning the opposite of what it
+	  should (false when the range is correct and viceversa) [Skotlex]
+	* Added a warning on item loading when an item is of equippable type but
+	  has no equippable position. [Skotlex]
+	* Turning an alliance to an opposition won't work now during WoE [Skotlex]
+	* Slaves can summon other mobs now. The only ones who can't do this are
+	  player summoned mobs. [Skotlex]
+	* Merged the following functions for faster processing of items: [Skotlex]
+	  clif_storageitemlist + clif_storageequiplist = clif_storagelist
+	  clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
+	  clif_itemlist + clif_equiplist = clif_inventorylist
+	  Note that the changes are a bit substantial and need proper testing!
+	* Increased max knockback value support to 25. [Skotlex]
+	* [Optimized]:
+	  - buildin_npcshopitem memory allocation to calculate before reallocating.
+	    [Lance]
+	* Made guild member exp an unsigned int. [Skotlex]
+	* Various cleanups to the npc clicking related functions. Should fix quite
+	  some possible crashes from crafted packets. [Skotlex]
+	* Added overflow checks for bonus settings mdef_rate/def_rate. [Skotlex]
+	* Added missing update of INT after a buf.  [Skotlex]
+	* Small cleanup of how SC_BLEEDING works. [Skotlex]
+	* Fixed party_foreach_samemap invoking the function on the CASTER instead
+	  of on the party members. [Skotlex]
+	* Modified clif_parse_NpcClicked to handle the different situations with
+	  different bl-objects (attack on players/mobs, click on npcs or mobs with
+	  npc attached) [Skotlex]
+2006/06/09
+	* [Fixed]
+	  - Compilation warnings on guild.c and int_guild.c [Lance]
+	* Added structure party_data and party_member_data to the map server to
+	  hold party-specific required information about parties including
+	  Monk/TK/SG/SN states and party member count. Family information is still
+	  missing, and handling of the state should probably be done by the
+	  char-server, too... [Skotlex]
+	* party Hp updates are no longer done each time the Hp is modified, but
+	  together with the party xy timer. It means HP-bars will be a bit delayed
+	  before being updated, but packet consumption should be much less during
+	  heated battles. [Skotlex]
+	* Fixed MoM's typo [Vicious]
+	* Fixed map_readafm missing strcpy(afm_name, m->name). [Skotlex]
+	* [Improved]:
+	  - npc_click interception on BL_MOB and BL_PC to let sd act accordingly.
+	    [Lance]
+	* [Fixed]:
+	  - Execution of sleep/sleep2 more than once will hang the script_state.
+	    [Lance]
+	* Fixed @mapinfo displaying incorrectly maps with nosave which send you
+	  back to your last savepoint. [Skotlex]
+	* Moved guild_exp_rate from a mapserver battle config setting to a char
+	  server config. It no longer modifies the total taxed exp as seen on the
+	  guild information window, but directly modifies the exp that the guild
+	  earns. [Skotlex]
+	* Added an error report and correction when the map server receives a guild
+	  from the char-server with more guild members than MAX_GUILD. [Skotlex]
+	* Changed the interval between waterballs back to 125 [MasterOfMuppets]
+	* Fixed a typo in char_sql/char.c, thanks to Euph [MasterOfMuppets]
+2006/06/08
+	* Modified guild exp to be an unsigned int rather than a signed one.
+	  [Skotlex]
+	* Fixed @skilltree printing out Unknown job for most targets used.
+	  [Skotlex]
+	* Cleaned clif_pvpset to not send the packet to nearby characters when the
+	  source is GM-hidden. May help fix the crash on PvP with gm-hidden
+	  characters. [Skotlex]
+	* Modified map_freeblock_unlock so that aFree errors will report the
+	  file/line that INVOKED the function rather than the function itself.
+	  [Skotlex]
+	  NOTE: Do NOT disable the memory manager as that will break this change.
+	  This change is to be temporarily set until the afree'd error can be
+	  resolved.
+	* Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable
+	  only on warps that don't lead to nobranch maps. 2 - enable on all warps.
+	  [Skotlex]
+	* Adjusted Don't Forget Me, Defender, Longing to use all val entries, and
+	  to hold the speed adjustment value rather than speed penalty (eg: 125
+	  instead of 25). [Skotlex]
+	* Cleaned up status_calc_speed so that speed penalties are correctly
+	  handled (eg: 25% penalty is speed*100/75, not +speed*25/100). Thanks to
+	  Euph for pointing it out and Belle for the speed mechanics. [Skotlex]
+2006/06/07
+	* Fixed Sense using mdef instead of mdef2 [Skotlex]
+	* Fixed item-skills not showing up on login. [Skotlex]
+	* Cleaned up clif_parseLoadEndAck, by testing which packets are required
+	  only on first-login and which ones are required on all map-changes.
+	  Skill-tree, Exp, Skill Points and most of the basic status are no longer
+	  sent on map-change (items, cart data and zeny still need to be sent one
+	  very  map-change). [Skotlex]
+	* Fixed the mob state not being set to Berserk/Angry correctly after the
+	  mob reaches the target's location. [Skotlex]
+	* Added config setting mob_npc_warp, when set to yes, enables mobs to be
+	  warped between maps when stepping on a npc-warp. [Skotlex]
+	* Added monster_ai setting &64, when enabled makes a mob run to any nearby
+	  npc-warp when their current target has switched maps. [Skotlex]
+	* Added pc_calcexp to calculate individual exp bonuses acquired from exp's
+	  source (race bonus cards, SG Exp skills, pk-mode higher level exp) [Skotlex]
+	* pc_gain_exp now also receives the source of the exp, when said source
+	  exists, bonuses are applicated as needed. [Skotlex]
+	* Added status_kill when capturing a mob, should take care of the mob not
+	  respawning after caputed. [Skotlex]
+	* Fixed item info not displaying the found item id [Skotlex]
+	* Fixed item info not displaying the weight value properly. [Skotlex]
+	* Adjusted status resistances and durations taking as base Viccious's info
+	  from the kro guidebook. [Skotlex]
+	* Moved souldrain code from skill_counter_additional_effect to mob_dead. It
+	  should display the skill animation correctly now. [Skotlex]
+	* Adjusted several sc rate/time reductions as pointed out by Playtester.
+	  [Skotlex]
+	- Luk now plays a luk/10 reduction role rather than a luk/3 one.
+	* Removed char_nick2id from char-sql server as it's no longer needed.
+	  [Skotlex]
+	* Fixed quitting the map server not properly saving the storage before
+	  deleting it. Thanks to Adam for pointing it out. [Skotlex]
+	* Cleaned status_get_sc_tick/status_get_sc_def to use the status_data
+	  function. [Skotlex]
+	* SC_STOP's chance and duration can't be reduced anymore. [Skotlex]
+	* Storm Gust no longer has a 100% chance to freeze by passing mdef, now it
+	  has a 300% base chance reduced by mdef and the like as explained out by
+	  Tharis. [Skotlex]
+	* Frost Diver/Frost Nova's base freezing chance is no longer affected by
+	  target's int. [Skotlex]
+	* [Improved]:
+	  - mob_dead not to remove script controlled monsters with player sprites.
+	  [Added]:
+	  - buildin_mobdeadsit :D [Lance]
+	* [Fixed]:
+	  - temp++ gets issued before if(mvp_damage<(unsigned int)md->dmglog[i].dmg) in
+	    mob_damage. Thanks to seahorsix. [Lance]
+	* [Fixed]:
+	  - Corrected login-server SQL to use *((ulong *)p) instead of (ulong)p [Lance]
+	* [Optimized]:
+	  - list and size not being initialized (size get intialized in default: switch case)
+	    Eliminated default case and initialized list and size at the beginning. [Lance]
+2006/06/06
+	* Hopefully fixed for sure mobs getting extra stats when changing-class due
+	  to the mobs level up setting. [Skotlex]
+	* Removed a piece of code that should no longer be needed due to the
+	  combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
+	  self-skills from being used on others (pets/mobs should be allowed to do
+	  that)  [Skotlex]
+	* Added a status_check_skilluse call in Sightblaster to prevent it from
+	  hitting hidden/cloaked/act-dead/etc players. [Skotlex]
+	* Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
+	* Fixed Soul Burn not zapping away all SP. [Skotlex]
+	* The monsters can level up setting will not take effect when the mob's
+	  level is LESS than their db counter-part (should prevent under-leveling
+	  causing underflows and semi-immortal mobs) [Skotlex]
+	* Fixed mvp-exp calculations being messed up with more than one attacker.
+	  [Skotlex]
+	* Changed the mob exp race bonus so that each player gets their own bonus,
+	  rather than the killer's bonus applying to everyone. Still not the
+	  "correct" way, but one step closer to it. [Skotlex]
+	* [Fixed]:
+	  - Allocation of event_list in guild_npc_request_info to aCalloc so 
+	    memcpy(ev->name,event,strlen(event)) will have a null terminator. [Lance]
+2006/06/05
+	* Fixed a crash when using SL_SMA and the "combo" ain't ready. [Skotlex]
+	* Hopefully fixed changing a mob's class causing them to get all sort of
+	  stat bonuses due to the mobs-level-up setting. [Skotlex]
+	* Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef
+	  to signed char to correctly account for cards with penalties in said stats.
+	  [Skotlex]
+	* Fog of Wall won't affect the caster now in any way. [Skotlex]
+	* Added clif_fixpos packets before attacking for the first time to clear
+	  any position sync issues with the client. [Skotlex]
+	* Fixed skill_unitsetting using layout->count for the for instead of
+	  group->count [Skotlex]
+	* Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly
+	  increase dex/agi by 40% per level. [Skotlex]
+	* Fixed char-sql server not deleting character variables when deleting a
+	  char. [Skotlex]
+	* Corrected cloaking not ending on attack if you are near a wall. [Skotlex]
+	* Updated pc_bonus to use cap_value on all status_data modifiers to prevent
+	  overflows/underflows. [Skotlex]
+2006/06/03
+	* Fixed @mi/@mobinfo not showing the name collumns correcly [shadow]
+	* Solved the bug that made firewalls only castable a few times until [MasterOfMuppets]
+	  you relogged. Thanks to Euph for the fix.
+	* Added variable other_mapserver_count to chrif.c which holds total count
+	  of connected map-servers. By using this we prevent sending unnecessary
+	  packets to the char-server when there's no more map-servers connected.
+	  [Skotlex]
+	- Affected packets are whispers, announces, party messages, guild messages.
+2006/06/02
+	* Fixed Visual Studio 7.1 Solution File (Login TXT and Map TXT were removed)
+	* Fixed a bug in unit_can_reach_bl which breaks path seeking when the
+	  target is near obstacles. [Skotlex]
+	* Updated offensive use of Sanctuary to function like on the official servers [MasterOfMuppets]
+	* Changed the interval between waterballs from 150 to 250 milliseconds [MasterOfMuppets]
+	* Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it
+	  fails. Fixes cases where the client gets "stuck" and refuses to let you
+	  pick any items. [Skotlex]
+	* Removed the walk delay from firewall and changed its knockback [MasterOfMuppets]
+	  to 1 tile to make it act more like in the official servers.
+	* Some cleaning of the mob slave ai. [Skotlex]
+	* Corrected Brandish Spear to work on levels above 10. [Skotlex]
+	* Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for
+	  skill levels above 10 (meant for boss casted skills) [Skotlex]
+	* Fixed Spear-Quicken messing with the calc_flag [Skotlex]
+	* Fixed Freeze/Stone/Benedictio not changing your elemental LEVEL to 1.
+	  [Skotlex]
+	* [Fixed]
+	  - Yet another compilation warning. [Lance]
+2006/06/01
+	* Altered status_calc_pc so that equipment scripts are ran before
+	  card-scripts. [Skotlex]
+	* Fixed pc_bonus to not underflow/overflow when adjusting def/mdef.
+	  [Skotlex]
+	- These two together, should fix Tao Gunka Card. 
+	* npc_debug_warps() will now be invoked if warp_point_debug is set.
+	  [Skotlex]
+	* Updated item_db.sql/mob_db.sql to current. [Skotlex]
+	* Fixed NPC_SELFDESTRUCTION not showing nor dealing damage. [Skotlex]
+	* NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
+	  without removing it when the skill level is greater than one. [Skotlex]
+	* Added SC_DANCING declaration in the Status Change tables to signal it
+	  modifies Walk speed. [Skotlex]
+	* Fixed pc_damage setting your canlog_tick even if the damage has no source
+	  (eg: poison, berserk) [Skotlex]
+	* Berserk's aspd bonus now stacks with other aspd bonuses, but is still
+	  affected by Quagmire/Forget-me-not. [Skotlex]
+	* Corrected setting slaves_inherit_mode to not apply to morphosis skills.
+	  [Skotlex]
+	* Corrected pc_setoption to invoke status_calc_pc when getting/removing the
+	  cart. [Skotlex]
+	* Fixed @mobinfo displaying the wrong element. [Skotlex]
+	* Fixed Autoblitz taking into account target's luck rather than attacker's
+	  [Skotlex]
+	* Fixed slaves warping endlessly to their master when the master-slave
+	  distance exceeds 30. [Skotlex]
+	* SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)
+	  [Skotlex]
+	* Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the
+	  incorrect range variable. [Skotlex]
+	* You can now equip/unequip stuff while the storage is open. [Skotlex]
+2006/05/31
+	* Fixed Soul Drain not really giving you SP [Skotlex]
+	* [Fixed]:
+	  - Suppressed compilation warning in chrif.c [Lance]
+	* [Fixed]:
+	  - Guys can't go across map-servers :( [Lance]
+	* [Fixed]:
+	  - Restoration and saving of sd->npc_id must be done every time. [Lance]
+	* Added back the Freeze/Petrify adjustments of -50%def and +25%mdef (when
+	  where these lost?). Thanks to Buuyo for pointing it out. [Skotlex]
+	* Corrected the mob_ai&2 setting triggering rude-attacked due to can't walk
+	  delay. [Skotlex]
+	* Made the char_name_option char_athena.conf setting apply to parties and
+	  guilds as well. It cannot be applied to pets yet without adding a
+	  change-name-request interserver packet. [Skotlex]
+	* Moved the JOB_* defines from map.h to mmo.h, update char.c to use them.
+	  [Skotlex]
+	* Added function char_read_fame_list for famelist reading. Invoked it on
+	  init, and made it be sent automatically to connecting map servers.
+	  [Skotlex]
+	* Some cleaning of the fame-list reading code. [Skotlex]
+	* Some cleaning of the fame-update code, fixed a logic bug which made the
+	  ranking list fail to display the correct ranker names. [Skotlex]
+	* Removed typedef bool from socket.h and included cbasetypes.c instead.
+	  [Skotlex]
+	* Cleaned up and corrected the calculation of hit/flee/cri/lucky dodge in
+	  status_calc_bl. [Skotlex]
+	* [Fixed]:
+	  - Incorrect SQL syntax in login.c (missing collumn) [Lance]
+	* [Improved]:
+	  - SQL upgrade file for the new loginlog. Thanks to ultramage. [Lance]
+	* [Fixed]:
+	  - nullpo in pet.c caused by equipping without checking if the pet is available.
+	    [Lance]
+	* [Fixed]:
+	  - Latest client support completed! [Lance]
+	* [Fixed]:
+	  - Missing #include for cbasetypes.h in login server SQL.
+	  - Logic errors in run_script [Lance]
+	* [Added]:
+	  - Partial support for latest login packet. But it seems to have a new security
+	    module. [Lance]
+2006/05/30
+	* [Improved]:
+	  - Fake NPC interface to use real NPCs.
+	  - Scripting interface to restore and save sd->npc_id. [Lance]
+	* Added function pc_check_skilltree for checking if you unlocked new
+	  tree-skills when raising non-passive skills. [Skotlex]
+	* Fixed flee/hit calculation in status_calc_bl to account for bonuses from
+	  the base status. [Skotlex]
+	* [Fixed]:
+	  - Compatibility problems in login.c [Lance]
+	* Fixed pets ignoring can-act delays for skill usage. [Skotlex]
+	* [Added]:
+	  - Mercenary.c in VS.NET 2005 project files
+	  [Improved]:
+	  - loginlog using unsigned long `ip` field. 
+	    (Please check for compatibility problems). [Lance]
+	* Fixed status_calc_pc not zero'ing ALL vars it should, allowing certain
+	  bonuses (like effect-on-hit) to stack. [Skotlex]
+	* slaves inherit speed setting will now work regardless of whether the
+	  slave or master has the MD_CANMOVE mode bit. [Skotlex]
+	* Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
+	* AL_TELEPORT will fail when used by slave mobs. [Skotlex]
+	* Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
+	  attacks. [Skotlex]
+	* Fixed status_damage not setting your HP to 0 when you died [Skotlex]
+	* Fixed the pcbonus2 warnings using the wrong value before printing the
+	  invalid Element error. [Skotlex]
+	* Fixed underflow issues when calculating dmotion. [Skotlex]
+	* Fixed Absorb Spirit Spheres [Skotlex]
+	* Added battle_config min_chat_delay (default 0, battle/client.conf)
+	  specifies in ms what is the min delay between player sent chats
+	  (whisper/global/party/guild). Messages that exceed this threshold are
+	  silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the
+	  player?) [Skotlex]
+	* [Fixed]:
+	  - signed/usigned problem in sprintf and fscanf @ mercenary.c [Lance]
+	* Rewrote/cleaned up @petfriendly. [Skotlex]
+	* Cleaned up final part of status_calc_pc (flags 2/4 do not exist) [Skotlex]
+	* Updated attr_fix_table reading code to account for ELE_MAX (will
+	  correctly read bigger elemental tables if ELE_MAX is changed) [Skotlex]
+	* Aggressive mobs will now use battle_check_range rather than mob_can_reach
+	  to decide whether to lock-on or not to a target within sight-range. [Skotlex]
+	* Added warnings in mob_readdb when the mob's element is invalid. [Skotlex]
+	* Added error messages in pc_bonus* functions when an invalid element is
+	  passed to the relevant bonuses. [Skotlex]
+	* [Optimized]:
+	  - clif_specialeffect to use the enums.
+	  [Improved]:
+	  - buildin_specialeffect and buildin_specialeffect2 to accept effect area 
+	    definition. [Lance]
+	* [Added]:
+	  - Visual Studio .NET 2003 includes for mercenary.c [Lance]
+	* Removed the on-die specific code from unit_remove_map and placed it on
+	  the corresponding *_dead functions. unit_remove_map should never assume the
+	  char died, it is just a "remove from map" function. [Skotlex]
+	* Updated status_damage to handle the general death code (clearing status
+	  changes, clearing skill related data, sending death packet, etc). The
+	  return value from the *_dead functions will tell it what to do or not with
+	  the object (death aborted, clear it from map/memory, etc) [Skotlex]
+	* Cleaned up pc_dead to take advantage of the fact that status changes are
+	  not ended until after the function. [Skotlex]
+	* Disabled ontouch npcs triggering on hidden/chase-walk characters. 
+	  [Skotlex]
+	* Updated/adapted current Homun code to use the status_data update.
+	  [Skotlex]
+	* Updated map-server Makefile to compile mercenary.* files. [Skotlex]
+	* [Fixed]:
+	  - Pets attacking even master is dead. [Lance]
+	* Fixed battle_calc_weapon_attack damage capping damage to a minimum of 0
+	  (negative values should be allowed when attack is absorbed by target's
+	  element) [Skotlex]
+2006/05/29
+	* [Fixed]:
+	  - Missing ';' in item #4358 [Lance]
+	* [Fixed]:
+	  - Missing maps in map index database. [Lance]
+	* [Fixed]:
+	  - Battle mechanics in battle_check_target [Lance]
+	* [Fixed]:
+	  - Typo in mob_dead causing crash. Thanks to reddozen and his gang for testing.
+	    [Lance]
+	* Cleaned up friend list saving and fixed loading of friends.txt file
+	  (char-txt) [Skotlex]
+	* Added the Arunafeltz maps, not tested yet [Playtester]
+	- someone with an up-to-date client should test them
+	* Fixed pc_gainexp resetting your exp to 0 rather than adding it in...
+	  [Skotlex]
+	* Corrected aspd calculation code to avoid negative overflows. [Skotlex]
+	* Fixed battle_check_target check on BCT_ALL to check versus BL_CHAR
+	  instead of BL_PC and BL_MOB [Skotlex]
+	* [Fixed]:
+	  - Declaration of int map_getcellp(struct map_data*,int,int,cell_t); [Lance]
+	* Removed Undead being inmune to poison status. [Skotlex]
+	* Removed speed penalty from SC_SKA [Skotlex]
+	* Fixed SC_SPURT triggering on Soul Linkers. [Skotlex]
+	* SC_DODGE won't be dispelled on death now. [Skotlex]
+	* [Fixed]:
+	  - pc_follow_timer possible triggering crash.
+	  - pc_reg_received to use battle_status.hp instead of status.hp
+	  [Added]:
+	  - macro map_id2index for non-cyptic mapid to mapindex conversion. [Lance]
+	* Added a division by zero check in mob_dead to prevent the (impossible)
+	  case where a mob dies with received damage of zero. [Skotlex]
+	* Modified skill_get_range2 to return range 9 for skills with range 0 for
+	  Non-Players. This usually signals Self skills, and mobs/pets should be able
+	  to use them in other characters. [Skotlex]
+	* Optimized a bit the SC_PROVOKE code (to use val3/val4) [Skotlex]
+	* Fixed draining when the amount drained is negative (invoke zap rather
+	  than heal) [Skotlex]
+	* Implemented GS_FLING as per the current skill description. [Skotlex]
+	* Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than
+	  status.hp/sp, fixes scripts reading the wrong Hp/Sp values [Skotlex]
+	* Added some missing SC_* entries on the initial listing (potion related
+	  and speed up ones) [Skotlex]
+	* Fixed function declaration of map_getcellp() [Skotlex]
+	* [Fixed]:
+	  - status.c:920: warning: 'mbl' might be used uninitialized in this function
+	  - skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
+	  - skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
+	  - skill.c:2826: warning: 'sid' might be used uninitialized in this function [Lance]
+	* [Optimized]:
+	  - Removed unused variable (account_id) in storage_guild_storagesaved.
+	* [Optimized]:
+	  - Removed unused checks for unsigned data type and possible logic error for
+	    char type (gcc treats char as unsigned). [Lance]
+	* [Fixed]:
+	  - Relogging in with 0 HP didn't trigger dead event. [Lance]
+2006/05/28
+	* Added functions status_revive, pc_revive and mob_revive to handle revival
+	  (it doesn't handles player respawning, though). Fixed reviving @ commands.
+	  [Skotlex]
+	* Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes
+	  Bladestop causing an unknown status change message). [Skotlex]
+	* Fixed MSS_DEAD state skills not triggering. [Skotlex]
+	* Changed undeads to by default always sustain 100% of the damage from firewalls [MasterOfMuppets] 
+	* [Fixed]: 
+	  - script functions that doesn't pass references, thanks to End_of_exam. [Lance]
+	* [Protected]:
+	  - clif_parse_LGMmessage from possible hacks [Lance]
+	* Fixed unable to store n items into storage unless n was the total amount
+	  of items you had. [Skotlex]
+	* Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
+2006/05/27
+	* Added structure status_data which holds status-related information (str,
+	  agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
+	  and weapon_atk structure with the weapon specific info (atk, atk2, element)
+	  to be used by all combat structures (TODO: Homun needs to be updated to use
+	  it). This in change involves a LOT of changes throughout the code and many
+	  optimizations were done as well. Partial list (see svn changelog for complete
+	  changes): [Skotlex]
+	- NOTE: Changes are substantial! I tested a bunch of stuff and all the
+	  skills I changed the most, but it is possible there are unnoticed bugs
+	  remaining to fix!
+	- Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
+	- Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
+	- Added status functions to deal with damage and healing (status_damage,
+	  status_heal, status_percent_change) and a bunch of defines for easier
+	  handling of them (status_percent_heal, status_percent_damage,
+	  status_fix_damage, status_kill, etc). Objects must be hurt/healed through
+	  THIS, pc_damage/mob_damage most no longer be directly invoked!
+	- Rewrote and cleaned up battle_calc_misc_attack
+	- Merged config options pc_attack_attr_none, mob_attack_attr_none,
+	  pet_attack_attr_none into attack_attr_none (type 4)
+	- Removed config options player_defense_type, monster_defense_type,
+	  pet_defense_type in favor of weapon_defense_type
+	- Modified skill_calc_heal to take into account the MEDITATION bonus.
+	- Modified Slim Pitcher so it will work when casted by non-players. Will
+	  now also work with SP-healing items.
+	- Rewrote Freedom of Cast code to use function status_freecast_switch to
+	  switch adelay/speed when cast begins/ends.
+	- Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
+	  easier updating when used in conjunction with ground skills.
+	- Fixed Asura Strike being usable from within a combo regardless of combo skill.
+	- Added status_calc_bl which does status-change related calculations using
+	  as base the base_status of the bl object and the SCB_* flag passed. This is
+	  invoked on status changes, and status_calc_pc will no longer be invoked
+	  (which results on much faster status-change calculations).
+	- pc_clean_skilltree will now also remove item-granted skills.
+	- Learning skills will now only invoke status_calc_pc when the skill is passive.
+	- Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
+	  packets and functions ONCE regardless of skill-levls earned.
+	- Cleaned up pc_ regen related functions.
+	- Made player-sprite mobs have item pickup animation and walkdelay when taking items.
+	- Clones will copy a player's base status rather than battle status (so
+	  status-change alterations are not cloned)
+2006/05/26
+	* Part B of the homunculus code. [blackhole89]
+	  While most of the homunculus handling functions are in now, it still lacks
+	  code required for players to create it.
+	  Given I haven't screwed up, you could master yourself one through the DB though.
+	* Fixed crashing in mob.c [Lance]
+	* Patches to allow everything to work right. + 1 more sample script. [Lance]
+	* Mob control engine tested 99% working so far. [Lance]
+	* Change scripting engine's NPC scope vars to dot (.) style.
+	* Improved and (should be fully) fixed the mob control engine. [Lance]
+	* Fixed typos in char.c [Lance]
+	* Rewrote fame rank lists system to reduce char-server load, as requested by
+	  Skotlex: now it has a copy of those lists, and updates only the proper one
+	  when needed instead of rebuilding all from saves everytime (which required
+	  to always save the character before rebuilding the lists) [DracoRPG]
+	  - Note it hasn't been compiled nor tested with SQL, please do it for me
+2006/05/25
+	* Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
+	  int-based damage component (which is added right before elemental
+	  modifiers) as described by AuronX. Pending further refining. [Skotlex]
+	* Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
+		Fixed atcommand @request MSG numbers accordinly.
+		On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
+	* Added NoVending mapflag. You may disable vending in the streets [Lupus]
+	* Increased capacity for Account Variables to 64 [Skotlex]
+	* Reverted Intravision implementation to that of stable's. [Skotlex]
+	* Corrected Login Server taking it's first argument as both login config
+	  and lan config. [Skotlex]
+	* Fixed mob control commands.
+	* Fixed memory leak in scripts (again). Still have a few lying. [Lance]
+2006/05/24
+	* Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
+	* Item sharing now shares the same rules as exp sharing (no sharing when
+	  dead, or idle, etc) [Skotlex]
+	* Fixed summoned slaves being able to cast onspawn summon-skills (slaves
+	  aren't supposed to be able to call minions) [Skotlex]
+	* The clif_skill_poseffect packet will not be invoked in Snap unless the
+	  skill was successful. May fix the client-position lag. [Skotlex]
+	* Merged item_db.sql from stable (the one from stable was more recent than
+	  the one of trunk...) [Skotlex]
+	* Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
+	* Corrected a pair of incorrect sql query parsing logic in the login-sql
+	  ban request packet. [Skotlex]
+2006/05/23
+	* Corrected mob angry mode, now it only "restores" itself after being hit
+	  when the mob has no target within their range of sight rather than on
+	  picking a new target. [Skotlex]
+	* Fixed wedding sprite where it would stay active after unequipping. [Zido]
+	* Some cleanup of run_script, should fix the memory leak there. [Skotlex]
+	* the charname request hack message has been downgraded to only include
+	  GM-invisible characters. [Skotlex]
+	* corrected clif_charnameack to send negative ID when a disguised player
+	  asks for it's own disguised name. [Skotlex]
+	* Cleaned up the disguised target-id checks taking into considering that
+	  the only character that sees a negative ID is the same disguised character.
+	  [Skotlex]
+	* Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
+	  defense), Investigate and Icepick will now use the final def/vit-def values
+	  rather than the base ones. [Skotlex]
+	* The move-enable condition checks for skills are now checked for only when
+	  on skill use, not at cast-end time. [Skotlex]
+	* Corrected clif parse name request failing on disguised characters [Skotlex]
+	* Corrected Soul Drain draining from all non-ground-based skills including
+	  non-magic attacks. [Skotlex]
+	* Corrected pc_setoption to change the option and then change class.
+	  changing option-wedding will automatically convert the view-class as well.
+	  [Skotlex]
+	* Corrected the 15% drop rate increase when killing higher level mobs in
+	  pk-mode triggering for all mobs with lower level than yourself. Thanks to
+	  Vayu. [Skotlex]
+	* Fixed typo (this time it's not my fault) in script_reload() clearing the same
+	  db each time o_o [Lance]
+	* Fixed sleep command. [Lance]
+	* Added 'setd' support for local NPC scope (') variables. [Lance]
+	* [Scripting Engine Update] New variables are ready to be used. [Lance]
+2006/05/22
+	* Updated skill_delayfix to return 0 for mobs since they have no skill
+	  delay other than the one specified in mob_skill_db [Skotlex]
+	* Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
+	  Vayu for pointing it out. [Skotlex]
+	* status_get_sc_tick will now use directly Stun's formula rather than
+	  invoking the status sc chance once. [Skotlex]
+	* Fixed a possible null pointer in script command misc_effect [Skotlex]
+	* Modified Investigate to take into consideration final def/vit-def rather
+	  than base values for damage adjustment. [Skotlex]
+	* WARNING: New scripting system contains memory leak
+	  TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
+	* Excluded idle and auto-trade party members from TK_POWER list. [Lance]
+	* Fixed compilation errors.
+	  Tidy up jobmaster for easy debugging. [Lance]
+2006/05/21
+	* Part A of the Homunculus code.
+	  This only features the structures, status_* and clif_* (packets) and is
+	  not functional yet in any conventional way, but doesn't interfere
+	  with present functionality either.
+	  Main purpose is helping me to keep my work organized. [blackhole89]
+	* Fixed the "fake" mute status bug. [Zido]
+	* Speed up array size calculation and deletion. [Lance]
+	* Player must learn the skill before doing auto-spell [Lance]
+	* Exploit prevention in clif_parse_NpcStringInput [Lance]
+	* SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
+	* Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
+2006/05/20
+	* grfio_final moved back if any of GRF overriding is enabled so servers
+	  with such configuration will not have different values after reloading. [Lance]
+	* jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
+	* Abit of alterations to login-server. [Lance]
+2006/05/19
+	* Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
+	* Small change in pc_additem that could be fixing the current bug with new
+	  items not getting added. [Skotlex]
+	* Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
+	* Likely fixed the mob-skill random picking behaviour causing infinite
+	  loops sometimes. [Skotlex]
+	* Modified mobskill_use behaviour to pick a random starting point and check
+	  skills from that, rather than always checking from first to last. Fixes
+	  skills with high priority blocking skills lower down in the list from
+	  triggering. [Skotlex]
+	* Updated mob ai behaviour so that mobs use IDLE state skills when their
+	  current target cannot be reached for melee fighting. [Skotlex]
+2006/05/18
+	* Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
+	  [Skotlex]
+	* Fixed mob_max_skilllvl being capped to 11! [Skotlex]
+	* Rewrote/cleaned up several functions in storage.c [Skotlex]
+	* Optimized pc_additem comparisons to account for items with more than four
+	  slots. [Skotlex]
+	* Updated clif.c to enable retrieval of items from cart/storage while
+	  trading. Exception is retrieving items from the cart while vending.
+	  [Skotlex]
+	- The reasoning is that an ongoing trade will not get "corrupted" if you
+	  earn items before it is commited (only if you lose items from your
+	  inventory), and it is an annoyance when you realize the stuff you want to
+	  trade is on the cart/storage.
+	* skill reiteration code now does not checks for the trigger-area of the
+	  skill in the case of non-players, which means mobs can now place traps in
+	  cells adjacent to each other. [Skotlex]
+	* Applied an experimental weather code that should lower bandwidth usage to
+	  near-none, which's only disadvantage should be the weather not clearing out
+	  until moving to another map (even when the mapflag is removed from the
+	  current map). Please test and report if there's any anomalies with it.
+	  [Skotlex]
+	* NPC_AGIUP will now give movement boost of 50% [Skotlex]
+	* Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
+	* MO_BODYRELOCATION will send the slide packet with the actual src's
+	  coordinates rather than selected tile. [Skotlex]
+2006/05/17
+	* Modified mob_can_changetarget to return true always when the new target
+	  is the provoked-by character. Fixes provoke not making the mob change
+	  target when it already is locked on another player. [Skotlex]
+	* Added check to clear previous skill when combo time ends. Should fix TK
+	  Rankers being unable to initiate a combo with the same kick their previous
+	  combo was finished with. [Skotlex]
+	* Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
+2006/05/16
+	* Modified "hide woe damage" to send the number of hits rather than 1 as
+	  damage Because when the damage is less than the number of hits, the client
+	  will display MISS. [Skotlex]
+	* Fire Pillar will now do 200%MATK damage per hit when level is >10.
+	  [Skotlex]
+	* Blood Drain always hits now. [Skotlex]
+	* Fixed Mob Area Skills not updating their use-time (rendering their skill
+	  delay useless) [Skotlex]
+	* Search free cell will now skip picking the center-tile as target
+	  location. Will prevent slaves from walking on top of their master, or mobs
+	  placing stuff right under themselves with the "around" target conditions
+	  among other things. [Skotlex]
+2006/05/15
+	* Small changes to the skill.conf
+	- Monsters now can place ground skills on top of each other by default
+	- Land_Skill_Limit format changed and set to "Only Players" by default
+	* When reading mapflags, when a map is set to be pvp or gvg, the other will
+	  be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
+	* Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
+	  skill level is above 10. [Skotlex]
+	* Sorted out the item_data structure, getiteminfo should work correctly
+	  now. [Skotlex]
+	* KA* skills can now be casted on other Soul Linkers as well without the
+	  Spirit requirement. [Skotlex]
+	* Soul Drain will now show the SP drained regardless of drain display
+	  settings. [Skotlex]
+	* SC_COMBO state will now end in skill_attack rather than
+	  skill_check_condition (as it is required there to apply damage bonuses
+	  based on combo-casted skills) [Skotlex]
+	* Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
+	  [Skotlex]
+	* Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
+	  servers. [Skotlex]
+	* When removing a castle's owning guild, the char servers will erase the
+	  guardian data now. [Skotlex]
+	* Changed the behaviour of immobile mobs when they can't chase their
+	  target. Rather than using a longrange skill and then unlocking, they will
+	  use an attack/angry state skill and then unlock. [Skotlex]
+	* Some adjustments of how disguising + gm-hiding work together. [Skotlex]
+	* Fixed clif_GlobalMessage being the exact same function as clif_message
+	  (the first should send to ALL_CLIENT and the later should send to
+	  AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
+	* Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
+	* Characters in vending are now always considered "idle" if the
+	  idle_no_share setting is active. [Skotlex]
+	* Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
+	* Remaining fixes for item scripts. [Lance]
+	* Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
+
+2006/05/12
+	* Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
+	* Bugfix on fake npc [Lance]
+	* Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
+	* Reverted again the change that stuns the caster on Ske, Ska, Swoo when
+	  the target is a nonplayer (rather than always) [Skotlex]
+	* Modified mob_spawn_once so that coordinates -1,-1 are "random around the
+	  player" while 0,0 are random around the whole map (regardless of whether
+	  there's a player attached or not) [Skotlex]
+	* Knockback will no longer work on traps during woe. [Skotlex]
+2006/05/11
+	* Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
+	  [Skotlex]
+	* NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
+	  of 40% per level. [Skotlex]
+	* Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
+	  [Skotlex]
+	* Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
+	* Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
+	* Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
+	* Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
+	  [Skotlex]
+	* Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
+	  secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
+	* Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
+	  Tanaous [Skotlex]
+	* Added back the missing code that substracts arrows when normal-attacking.
+	  [Skotlex]
+2006/05/10
+	* Changed the state of Asura back to explosionspirits, added a hardcoded
+	  move_enable check when invoking Asura and NOT while in BladeStop or a
+	  Combo. [Skotlex]
+	* Added back SC_XMAS to status.c, it got lost sometime during all the
+	  previous reworkings. [Skotlex]
+	* Changed wedding costumes to use setoption rather than changebase.
+	  [Skotlex]
+	* Modified setoption so that flag 1 or no flag adds an option, and flag 0
+	  removes it. [Skotlex]
+	* Updated script_commands with the new behaviour. [Skotlex]
+	* Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
+	  than 15. [Skotlex]
+	* Users are now able to use their own dnsbl servers (login_athena) [Zido]
+
+2006/05/09
+	* Rewrote/cleaned up trade.c for a more clean trading implementation.
+	  [Skotlex]
+	* Added @request commands, sends a request to all connected GMs of
+	  lowest_gm_level or above as a whisper message. Defaults to gm level 20
+	  users (UNTESTED). [Skotlex]
+	* Modified @commands to use Meruru's code which is faster and does a fair
+	  attempt at tabulating the commands presented. [Skotlex]
+	* Updated SKA to return a random value between 0 and 99 each time
+	  status_get_def is invoked. [Skotlex]
+	* Updated Making Arrow to not include unidentified items in the list.
+	  [Skotlex]
+	* Reduced drop slots from 15 to 10. [Skotlex]
+	* Updated mob_db.sql with the current data. [Skotlex]
+	* Updated setoption script command to receive a second (optional) argument
+	  flag. If the flag is 1, the option is added to what the player currently
+	  has; likewise using flag 2 removes only that option. No flag (or any other
+	  value) is the older behaviour of removing all other options and setting
+	  specificly what is passed. [Skotlex]
+	* Updated script_commands information for setoption due to this change.
+	  [Skotlex]
+	* Small fix in npc-created chat rooms to properly include the terminating 0
+	  on the chat's event. [Skotlex]
+	* Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
+	  get reduced by 50% regardless of who is standing on the fog. [Skotlex]
+	* monster_ai&2 will now trigger the rude-attacked skill when the mob can't
+	  move and the attacker is out of it's attack range. [Skotlex]
+	* Added missing icon for Joint Beat [Skotlex]
+	* Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
+	* Treasure chests will now be excluded from the mob-drop listings
+	  (@whodrops) [Skotlex]
+	* Fix on pc_skill which fixes overlapping when one gets more than one bonus
+	  for the same skill. [Skotlex]
+	* Updated main.sql's loginlog table structure. [Skotlex]
+	* Added svn_update6533.sql to update the loginlog structure as suggested by
+	  theultramage. [Skotlex]
+	* Cleaned up somewhat the implementation of BladeStop. [Skotlex]
+	* Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
+	  when crafted for non-players. [Skotlex]
+	* Script commands sc_start, sc_start2 and sc_start4 will now start
+	  regardless of sc defense of the target player (that is, they cannot be
+	  avoided/blocked) [Skotlex]
+	* Fixed a possible counter overflow in attacked_count, changed the var size
+	  to unsigned char since the code can handle the overflow now. [Skotlex]
+	* Multiple targets again reduces armor defense, as reported by Tharis.
+	  [Skotlex]
+	* Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
+	* Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
+2006/05/08
+	* Reverted the change that was making ES skills stun the caster always.
+	  [Skotlex]
+	* Removed the fixpos packet which is sent whenever you are hit while moving
+	  as Aegis doesn't sends this packet neither. [Skotlex]
+	* ES magic will now put the caster on stun for 0.5 secs regardless of
+	  whether the skill-target is a mob or not. [Skotlex]
+	* Added function clif_party_join_info which sends packet 0x1e9 each time a
+	  party-member joins. This packet (as redundant info as it has) should also
+	  contain the field for "adoptability", but that needs to be coded in yet.
+	  [Skotlex]
+	* Added clif_ParseAdoptRequest which does the basic adoption handling. More
+	  checks and the reply packets still need to be coded in. [Skotlex]
+	* Happy State and TK stances won't dispel on death now. [Skotlex]
+	* Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
+	  skill_check_condition now. [Skotlex]
+	* Modified TK-ranker infinite combos to behave as described by AuronX.
+	  Refer to his thread in the development section for details. [Skotlex] 
+	* Made all Soul Link Spirit skills not be castable on self. [Skotlex]
+	* Changed rate of NPC status effect skills to 50+10*lv% base chance
+	  (guessed, but better than 100% for all levels) [Skotlex]
+	* Changed max level of NPC status effect skills to 5 [Skotlex]
+	* Increased max number of tries to find a random spot in maps to 1000 since
+	  some maps have so many non-walkable tiles it's hard to find one in just 100
+	  tries. [Skotlex]
+	* status_set_viewdata will remove the Wedding Option status when you set a
+	  class that is not wedding.  [Skotlex]
+	* hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
+	* idletime will now be updated on attack-request, not on sit/standup
+	  [Skotlex]
+	* Party members sitting will no longer be considered idle. [Skotlex]
+	* Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
+	  with the disguise/undisguise script commands instead). [Skotlex]
+	* Moved Sharp Shooting display to the block with Auto-Counter (since that's
+	  the other skill that can show critical as well) [Skotlex]
+	* Corrected some fields in the standing still packet (guild emblem being
+	  stored as a Long when it should be Short) [Skotlex]
+	* Modified most fields of view_data to be unsigned shorts rather than
+	  signed ones. [Skotlex]
+	* On-Touch NPCs will now make you stop walking when you trigger them.
+	  [Skotlex]
+	* ShadowJump/JumpKick will make you land on the target's cell now.
+	  [Skotlex]
+	* Fixed Kaahi triggering only once per skill duration. [Skotlex]
+2006/05/07
+	* Fixed readme/changelog.html [KillerBox]
+	* Removed old logs. [Lupus]
+	TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
+2006/05/05
+	* Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
+	  before sending one (as it's not required to send twice).
+	* Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
+	  players and still continues execution to work). [Lance]
+	* Updated item_db.sql to current. [Skotlex]
+	* Fixed a bug in @commands, most likely the reason some people were still
+	  getting crashes. [Skotlex]
+	* Fixed @commands not showing the last available commands (unless the total
+	  amount of commands is divisible by ten) [Skotlex]
+	* Added a npc-script-event cache to avoid looking up event-scripts every
+	  time they need to be executed. Events cached are all those defined in
+	  script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
+	- Since the cache holds direct pointers to the npcs/events, do NOT unload
+	  the related NPCs or you'll get dangling pointer crashes. However,
+	  @reloadscript will work fine.
+	- Set the etc_log to on to see a summary of npcs/events loaded for script
+	  execution on startup.
+	* The Rest bonus activated by using /doridori while in rest should now
+	  trigger with all the class tree (TK/SL/SG) [Skotlex]
+	* Fixed Kaupe always triggering when the one who was under Kaupe was a
+	  player rather than the one attacking... [Skotlex]
+	* /doridori now won't double the HP/SP regen of TKs, it only activates
+	  their "happy" state. [Skotlex]
+	* Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
+	* Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
+	* Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
+	  (even if there's no other TK around). [Skotlex]
+	* Added battle config settings view_range_rate and chase_range_rate to
+	  adjust the view-range and chase-range (range2/range3) of the mob_db without
+	  having to manually change them (battle/monster.conf) [Skotlex]
+	* Kaupe now will only block all skills of players, for non-players, only
+	  normal attacks can be missed. [Skotlex]
+	* Moved the Kaite spell-reflect code after the damage calculation function,
+	  so the reflected damage is exactly the damage the original target would
+	  have received. Will only trigger if the damage to be reflected is above 0.
+	  [Skotlex]
+	* OnEquip scripts will now trigger on log-on. [Skotlex]
+	* Infinite Endure will no longer give mdef bonus. [Skotlex]
+	* Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
+	  start/end infinite endure. [Skotlex]
+	* Fixed Kaahi's SP cost per heal. [Skotlex]
+	* Now when walkdelay is set to 0, characters will stop walking when hit,
+	  but will not have any walk delay. (previously setting walk delay to 0 would
+	  not even stop characters from walking when hit) [Skotlex]
+2006/05/04
+	* Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
+	* Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
+	* Some clean-ups in the mob_ai [Skotlex]
+	* Improved atcommand autoloot, now displays droprate in percents and notices
+	  player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
+	  commited by erKURITA
+	* Added one grace range in the mob_loot search function which should fix
+	  mob_can_reach failing when invoked with the same distance that distance_bl
+	  returned. [Skotlex]
+	* Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
+	* Eska is now usable on bosses. [Skotlex]
+	* Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
+	* clif_skill_failed will print out a debug line with the skill_id (since
+	  the current null_po does not helps at all to fix it) [Skotlex]
+	* Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
+	* Rewrote Kaahi to behave as it should. It will heal whatever amount of
+	  damage accumulates in the time2 interval (500ms by default) after being
+	  hit. [Skotlex]
+	* Changed skill_unit_move_unit_group to enable moving of all types of
+	  ground-skills except ensembles (fixes warmth not following you) [Skotlex]
+2006/05/03
+	* Kaahi now triggers every 500ms rather than on every hit (but it only
+	  heals if in those 500ms an attack that would previously trigger Kaahi has
+	  taken effect). In other words, it works just like before, except damage
+	  gets "buffered" into 500ms slots. [Skotlex]
+	* Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
+	* Knowledge will now only trigger if you logon to the memorized map, not
+	  walk into it. [Skotlex]
+	* Corrected @whomap directly invoking msg_table[] rather than msg_txt()
+	  [Skotlex]
+	* Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
+	  and not fix the pet issue, but I doubt it'll cause any problems that won't
+	  be fixed by making the pet move. [Skotlex]
+	* Updated Charge Attack's state from none to move_enable. [Skotlex]
+	* Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
+2006/05/02
+	* Fixed standing up not really standing you up. [Skotlex]
+	* Moved battle_consume_ammo to the end of skill_castend_damage_id,
+	  skill_castend_nodamage_id and skill_castend_pos2 rather than
+	  battle_calc_weapon_attack. They will trigger when the player's arrow_atk
+	  state is active and a ground skill was not invoked. It should fix all
+	  issues with splash/ground skills consuming ammo per target rather than once
+	  per skill use. [Skotlex]
+	* Added structure state to the ground skills, their fields are magic_power,
+	  into_abyss and ammo_consume to indicate the states that were previously
+	  stored in val3. [Skotlex]
+	* Implemented desperado as explained by Rockman-EXE. The skill-effect is
+	  not showing up though, I'll need some logged packets to see what's missing.
+	  [Skotlex]
+	* Removed the unit_can_move checks in skill cast-end, they should be
+	  performed in skill_check_require when the skill's state is move_enabled.
+	  [Skotlex]
+	* Changed extremity fist's state to move_enabled, the explosion spirits
+	  check is now hardcoded. [Skotlex]
+	* Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
+	  Haplo. [Skotlex]
+	* Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
+	  impossible to steal unless you have at least 100% steal-rate (where steal
+	  rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
+	* Cleaned up clif_parse_action_request to enable sitting/standing while in
+	  shops, interacting with npcs, etc. [Skotlex]
+	* Kaite now works against all types of spells. [Skotlex]
+	* Kaupe now works against all skills. [Skotlex]
+	* Sanctuary now won't damage non-enemies. [Skotlex]
+	* Blessing now will always give you bonus stats even if you are wearing
+	  undead armor. [Skotlex]
+	* Modified how Rogue's treasure works so that you get +1% to your steal
+	  rate rather than +0.01% to the final rate. [Skotlex]
+	* Rewrote Warmth to use ground-skill-units, it should behave now like in
+	  officials (implementation is not quite the same, but it should yield the
+	  same effects while consuming less bandwidth). "Stacking", as it's called,
+	  is possible now, but limited to eA's minimum timer skill interval (100ms).
+	  [Skotlex]
+	* Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
+	  +5+lv to all stats (as explained by Playtester and Tharis on how the skill
+	  behaves). [Skotlex]
+	* Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
+	* SC_FUSION won't end when you die now. [Skotlex]
+2006/05/01
+	* Added knockback when you run into a wall during running. However
+	  position is not being refreshed on the client yet... [Skotlex]
+	* Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
+	* Corrected a crash when sd is null in npc_event [Skotlex]
+	* After testing to make sure it works properly, I'm including
+	  new battle conf options to limit MVP drops. [Reddozen]
+	* Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
+	* Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
+	  since it has a visual effect to use. [Skotlex]
+	* Corrected the value of OPTION_FLYING [Skotlex]
+	* Using SG_FUSION ends Soul Linked effect. [Skotlex]
+	* status_setviewdata will set your option accordingly when the previous/new
+	  view-class is wedding or xmas suit. [Skotlex]
+	* Added function map_foreachinshootrange, behaves the same way as
+	  map_foreachinrange, but it also performs a "shoot-path" check before
+	  invoking the function. Used in the skill subtimer function if
+	  skill_wall_check is defined. [Skotlex]
+	* Fixed AL_WARP displaying "Unknown Area" selections when you don't have
+	  all memo points used up. [Skotlex]
+	* Fixed alive_count not being reset on skill unitsetting, which leads to
+	  some groups not being cleared once all their units expire. [Skotlex]
+	* Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
+	  to skill_counter additional effect so it may trigger even on miss. [Skotlex]
+	* SKA no longer blocks skills. [Skotlex]
+	* Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]

+ 540 - 539
sql-files/main.sql

@@ -1,539 +1,540 @@
--- MySQL dump 9.11
--- Server version	4.0.24
-
---
--- Table structure for table `cart_inventory`
---
-
-DROP TABLE IF EXISTS `cart_inventory`;
-CREATE TABLE `cart_inventory` (
-  `id` int(11) NOT NULL auto_increment,
-  `char_id` int(11) NOT NULL default '0',
-  `nameid` int(11) NOT NULL default '0',
-  `amount` int(11) NOT NULL default '0',
-  `equip` mediumint(8) unsigned NOT NULL default '0',
-  `identify` smallint(6) NOT NULL default '0',
-  `refine` tinyint(3) unsigned NOT NULL default '0',
-  `attribute` tinyint(4) NOT NULL default '0',
-  `card0` int(11) NOT NULL default '0',
-  `card1` int(11) NOT NULL default '0',
-  `card2` int(11) NOT NULL default '0',
-  `card3` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`id`),
-  KEY `char_id` (`char_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `char`
---
-
-DROP TABLE IF EXISTS `char`;
-CREATE TABLE `char` (
-  `char_id` int(11) unsigned NOT NULL auto_increment,
-  `account_id` int(11) unsigned NOT NULL default '0',
-  `char_num` tinyint(1) NOT NULL default '0',
-  `name` varchar(30) NOT NULL default '',
-  `class` smallint(6) unsigned NOT NULL default '0',
-  `base_level` smallint(6) unsigned NOT NULL default '1',
-  `job_level` smallint(6) unsigned NOT NULL default '1',
-  `base_exp` bigint(20) unsigned NOT NULL default '0',
-  `job_exp` bigint(20) unsigned NOT NULL default '0',
-  `zeny` int(11) unsigned NOT NULL default '0',
-  `str` smallint(4) unsigned NOT NULL default '0',
-  `agi` smallint(4) unsigned NOT NULL default '0',
-  `vit` smallint(4) unsigned NOT NULL default '0',
-  `int` smallint(4) unsigned NOT NULL default '0',
-  `dex` smallint(4) unsigned NOT NULL default '0',
-  `luk` smallint(4) unsigned NOT NULL default '0',
-  `max_hp` mediumint(8) unsigned NOT NULL default '0',
-  `hp` mediumint(8) unsigned NOT NULL default '0',
-  `max_sp` mediumint(6) unsigned NOT NULL default '0',
-  `sp` mediumint(6) unsigned NOT NULL default '0',
-  `status_point` smallint(4) unsigned NOT NULL default '0',
-  `skill_point` smallint(4) unsigned NOT NULL default '0',
-  `option` int(11) NOT NULL default '0',
-  `karma` tinyint(3) NOT NULL default '0',
-  `manner` tinyint(3) NOT NULL default '0',
-  `party_id` smallint(11) unsigned NOT NULL default '0',
-  `guild_id` smallint(11) unsigned NOT NULL default '0',
-  `pet_id` int(11) unsigned NOT NULL default '0',
-  `hair` tinyint(4) unsigned NOT NULL default '0',
-  `hair_color` smallint(5) unsigned NOT NULL default '0',
-  `clothes_color` smallint(5) unsigned NOT NULL default '0',
-  `weapon` smallint(6) unsigned NOT NULL default '1',
-  `shield` smallint(6) unsigned NOT NULL default '0',
-  `head_top` smallint(6) unsigned NOT NULL default '0',
-  `head_mid` smallint(6) unsigned NOT NULL default '0',
-  `head_bottom` smallint(6) unsigned NOT NULL default '0',
-  `last_map` varchar(20) NOT NULL default 'prontera.gat',
-  `last_x` smallint(4) unsigned NOT NULL default '53',
-  `last_y` smallint(4) unsigned NOT NULL default '111',
-  `save_map` varchar(20) NOT NULL default 'prontera.gat',
-  `save_x` smallint(4) unsigned NOT NULL default '53',
-  `save_y` smallint(4) unsigned NOT NULL default '111',
-  `partner_id` int(11) unsigned NOT NULL default '0',
-  `online` tinyint(2) NOT NULL default '0',
-  `father` int(11) unsigned NOT NULL default '0',
-  `mother` int(11) unsigned NOT NULL default '0',
-  `child` int(11) unsigned NOT NULL default '0',
-  `fame` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`char_id`),
-  KEY `account_id` (`account_id`),
-  KEY `party_id` (`party_id`),
-  KEY `guild_id` (`guild_id`)
-) TYPE=InnoDB AUTO_INCREMENT=150000; 
-
---
--- Table structure for table `charlog`
---
-
-DROP TABLE IF EXISTS `charlog`;
-CREATE TABLE `charlog` (
-  `time` datetime NOT NULL default '0000-00-00 00:00:00',
-  `char_msg` varchar(255) NOT NULL default 'char select',
-  `account_id` int(11) NOT NULL default '0',
-  `char_num` tinyint(4) NOT NULL default '0',
-  `name` varchar(255) NOT NULL default '',
-  `str` int(11) unsigned NOT NULL default '0',
-  `agi` int(11) unsigned NOT NULL default '0',
-  `vit` int(11) unsigned NOT NULL default '0',
-  `int` int(11) unsigned NOT NULL default '0',
-  `dex` int(11) unsigned NOT NULL default '0',
-  `luk` int(11) unsigned NOT NULL default '0',
-  `hair` tinyint(4) NOT NULL default '0',
-  `hair_color` int(11) NOT NULL default '0'
-) TYPE=MyISAM; 
-
---
--- Table structure for table `friends`
---
-
-DROP TABLE IF EXISTS `friends`;
-CREATE TABLE `friends` (
-  `char_id` int(11) NOT NULL default '0',
-  `friend_account` int(11) NOT NULL default '0',
-  `friend_id` int(11) NOT NULL default '0'
-) TYPE=MyISAM;
-
---
--- Table structure for table `global_reg_value`
---
-
-DROP TABLE IF EXISTS `global_reg_value`;
-CREATE TABLE `global_reg_value` (
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `str` varchar(255) NOT NULL default '',
-  `value` varchar(255) NOT NULL default '0',
-  `type` int(11) NOT NULL default '3',
-  `account_id` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`char_id`,`str`,`account_id`),
-  KEY `account_id` (`account_id`),
-  KEY `char_id` (`char_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `guild`
---
-
-DROP TABLE IF EXISTS `guild`;
-CREATE TABLE `guild` (
-  `guild_id` int(11) unsigned NOT NULL auto_increment,
-  `name` varchar(24) NOT NULL default '',
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `master` varchar(24) NOT NULL default '',
-  `guild_lv` tinyint(6) unsigned NOT NULL default '0',
-  `connect_member` tinyint(6) unsigned NOT NULL default '0',
-  `max_member` tinyint(6) unsigned NOT NULL default '0',
-  `average_lv` smallint(6) unsigned NOT NULL default '1',
-  `exp` int(11) unsigned NOT NULL default '0',
-  `next_exp` int(11) unsigned NOT NULL default '0',
-  `skill_point` tinyint(11) unsigned NOT NULL default '0',
-  `mes1` varchar(60) NOT NULL default '',
-  `mes2` varchar(120) NOT NULL default '',
-  `emblem_len` int(11) unsigned NOT NULL default '0',
-  `emblem_id` int(11) unsigned NOT NULL default '0',
-  `emblem_data` blob NOT NULL,
-  PRIMARY KEY  (`guild_id`,`char_id`),
-  UNIQUE KEY `guild_id` (`guild_id`),
-  KEY `char_id` (`char_id`),
-  CONSTRAINT `guild_ibfk_1` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_alliance`
---
-
-DROP TABLE IF EXISTS `guild_alliance`;
-CREATE TABLE `guild_alliance` (
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `opposition` int(11) unsigned NOT NULL default '0',
-  `alliance_id` int(11) unsigned NOT NULL default '0',
-  `name` varchar(24) NOT NULL default '',
-  PRIMARY KEY  (`guild_id`,`alliance_id`),
-  KEY `alliance_id` (`alliance_id`),
-  CONSTRAINT `guild_alliance_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
-  CONSTRAINT `guild_alliance_ibfk_2` FOREIGN KEY (`alliance_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_castle`
---
-
-DROP TABLE IF EXISTS `guild_castle`;
-CREATE TABLE `guild_castle` (
-  `castle_id` int(11) unsigned NOT NULL default '0',
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `economy` int(11) unsigned NOT NULL default '0',
-  `defense` int(11) unsigned NOT NULL default '0',
-  `triggerE` int(11) unsigned NOT NULL default '0',
-  `triggerD` int(11) unsigned NOT NULL default '0',
-  `nextTime` int(11) unsigned NOT NULL default '0',
-  `payTime` int(11) unsigned NOT NULL default '0',
-  `createTime` int(11) unsigned NOT NULL default '0',
-  `visibleC` int(11) unsigned NOT NULL default '0',
-  `visibleG0` int(11) unsigned NOT NULL default '0',
-  `visibleG1` int(11) unsigned NOT NULL default '0',
-  `visibleG2` int(11) unsigned NOT NULL default '0',
-  `visibleG3` int(11) unsigned NOT NULL default '0',
-  `visibleG4` int(11) unsigned NOT NULL default '0',
-  `visibleG5` int(11) unsigned NOT NULL default '0',
-  `visibleG6` int(11) unsigned NOT NULL default '0',
-  `visibleG7` int(11) unsigned NOT NULL default '0',
-  `gHP0` int(11) unsigned NOT NULL default '0',
-  `ghP1` int(11) unsigned NOT NULL default '0',
-  `gHP2` int(11) unsigned NOT NULL default '0',
-  `gHP3` int(11) unsigned NOT NULL default '0',
-  `gHP4` int(11) unsigned NOT NULL default '0',
-  `gHP5` int(11) unsigned NOT NULL default '0',
-  `gHP6` int(11) unsigned NOT NULL default '0',
-  `gHP7` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`castle_id`),
-  KEY `guild_id` (`guild_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `guild_expulsion`
---
-
-DROP TABLE IF EXISTS `guild_expulsion`;
-CREATE TABLE `guild_expulsion` (
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `name` varchar(24) NOT NULL default '',
-  `mes` varchar(40) NOT NULL default '',
-  `acc` varchar(40) NOT NULL default '',
-  `account_id` int(11) unsigned NOT NULL default '0',
-  `rsv1` int(11) unsigned NOT NULL default '0',
-  `rsv2` int(11) unsigned NOT NULL default '0',
-  `rsv3` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`guild_id`,`name`),
-  CONSTRAINT `guild_expulsion_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_member`
---
-
-DROP TABLE IF EXISTS `guild_member`;
-CREATE TABLE `guild_member` (
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `account_id` int(11) unsigned NOT NULL default '0',
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `hair` tinyint(6) unsigned NOT NULL default '0',
-  `hair_color` smallint(6) unsigned NOT NULL default '0',
-  `gender` tinyint(6) unsigned NOT NULL default '0',
-  `class` smallint(6) unsigned NOT NULL default '0',
-  `lv` smallint(6) unsigned NOT NULL default '0',
-  `exp` bigint(20) unsigned NOT NULL default '0',
-  `exp_payper` tinyint(11) unsigned NOT NULL default '0',
-  `online` tinyint(4) unsigned NOT NULL default '0',
-  `position` tinyint(6) unsigned NOT NULL default '0',
-  `rsv1` int(11) unsigned NOT NULL default '0',
-  `rsv2` int(11) unsigned NOT NULL default '0',
-  `name` varchar(24) NOT NULL default '',
-  PRIMARY KEY  (`guild_id`,`char_id`),
-  KEY `char_id` (`char_id`),
-  CONSTRAINT `guild_member_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
-  CONSTRAINT `guild_member_ibfk_2` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_position`
---
-
-DROP TABLE IF EXISTS `guild_position`;
-CREATE TABLE `guild_position` (
-  `guild_id` int(9) unsigned NOT NULL default '0',
-  `position` tinyint(6) unsigned NOT NULL default '0',
-  `name` varchar(24) NOT NULL default '',
-  `mode` tinyint(11) unsigned NOT NULL default '0',
-  `exp_mode` tinyint(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`guild_id`,`position`),
-  KEY `guild_id` (`guild_id`),
-  CONSTRAINT `guild_position_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_skill`
---
-
-DROP TABLE IF EXISTS `guild_skill`;
-CREATE TABLE `guild_skill` (
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `id` smallint(11) unsigned NOT NULL default '0',
-  `lv` tinyint(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`guild_id`,`id`),
-  CONSTRAINT `guild_skill_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `guild_storage`
---
-
-DROP TABLE IF EXISTS `guild_storage`;
-CREATE TABLE `guild_storage` (
-  `id` int(10) unsigned NOT NULL auto_increment,
-  `guild_id` int(11) unsigned NOT NULL default '0',
-  `nameid` int(11) unsigned NOT NULL default '0',
-  `amount` int(11) unsigned NOT NULL default '0',
-  `equip` mediumint(8) unsigned NOT NULL default '0',
-  `identify` smallint(6) unsigned NOT NULL default '0',
-  `refine` tinyint(3) unsigned NOT NULL default '0',
-  `attribute` tinyint(4) unsigned NOT NULL default '0',
-  `card0` smallint(11) NOT NULL default '0',
-  `card1` smallint(11) NOT NULL default '0',
-  `card2` smallint(11) NOT NULL default '0',
-  `card3` smallint(11) NOT NULL default '0',
-  PRIMARY KEY  (`id`),
-  KEY `guild_id` (`guild_id`),
-  CONSTRAINT `guild_storage_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
--- Database: Ragnarok
--- Table: 'interlog'
---
-
-DROP TABLE IF EXISTS `interlog`;
-CREATE TABLE `interlog` (
-  `time` datetime NOT NULL default '0000-00-00 00:00:00',
-  `log` varchar(255) NOT NULL default ''
-) TYPE=MyISAM; 
-
---
--- Table structure for table `inventory`
---
-
-DROP TABLE IF EXISTS `inventory`;
-CREATE TABLE `inventory` (
-  `id` int(11) unsigned NOT NULL auto_increment,
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `nameid` int(11) unsigned NOT NULL default '0',
-  `amount` int(11) unsigned NOT NULL default '0',
-  `equip` mediumint(8) unsigned NOT NULL default '0',
-  `identify` smallint(6) NOT NULL default '0',
-  `refine` tinyint(3) unsigned NOT NULL default '0',
-  `attribute` tinyint(4) unsigned NOT NULL default '0',
-  `card0` smallint(11) NOT NULL default '0',
-  `card1` smallint(11) NOT NULL default '0',
-  `card2` smallint(11) NOT NULL default '0',
-  `card3` smallint(11) NOT NULL default '0',
-  PRIMARY KEY  (`id`),
-  KEY `char_id` (`char_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `ipbanlist`
---
-
-DROP TABLE IF EXISTS `ipbanlist`;
-CREATE TABLE `ipbanlist` (
-  `list` varchar(255) NOT NULL default '',
-  `btime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `rtime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `reason` varchar(255) NOT NULL default ''
-) TYPE=MyISAM;
-
---
--- Table structure for table `login`
---
-
-DROP TABLE IF EXISTS `login`;
-CREATE TABLE `login` (
-  `account_id` int(11) unsigned NOT NULL auto_increment,
-  `userid` varchar(255) NOT NULL default '',
-  `user_pass` varchar(32) NOT NULL default '',
-  `lastlogin` datetime NOT NULL default '0000-00-00 00:00:00',
-  `sex` char(1) NOT NULL default 'M',
-  `logincount` mediumint(9) unsigned NOT NULL default '0',
-  `email` varchar(60) NOT NULL default '',
-  `level` tinyint(3) NOT NULL default '0',
-  `error_message` smallint(11) unsigned NOT NULL default '0',
-  `connect_until` smallint(11) unsigned NOT NULL default '0',
-  `last_ip` varchar(100) NOT NULL default '',
-  `memo` smallint(11) unsigned NOT NULL default '0',
-  `ban_until` int(11) unsigned NOT NULL default '0',
-  `state` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`account_id`),
-  KEY `name` (`userid`)
-) TYPE=InnoDB AUTO_INCREMENT=2000000; 
-
--- added standard accounts for servers, VERY INSECURE!!!
--- inserted into the table called login which is above
-
-INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com');
-
---
--- Table structure for table `sc_data`
---
-
-DROP TABLE IF EXISTS `sc_data`;
-CREATE TABLE `sc_data` (
-  `account_id` int(11) unsigned NOT NULL,
-  `char_id` int(11) unsigned NOT NULL,
-  `type` smallint(11) unsigned NOT NULL,
-  `tick` int(11) NOT NULL,
-  `val1` int(11) NOT NULL default '0',
-  `val2` int(11) NOT NULL default '0',
-  `val3` int(11) NOT NULL default '0',
-  `val4` int(11) NOT NULL default '0',
-  KEY (`account_id`),
-  KEY (`char_id`),
-  CONSTRAINT `scdata_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE,
-  CONSTRAINT `scdata_ibfk_2` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
-) TYPE=InnoDB;
-
---
--- Table structure for table `loginlog`
---
-
-DROP TABLE IF EXISTS `loginlog`;
-CREATE TABLE `loginlog` (
-  `time` datetime NOT NULL default '0000-00-00 00:00:00',
-  `ip` int(10) unsigned NOT NULL default '0',
-  `user` varchar(32) NOT NULL default '',
-  `rcode` tinyint(4) NOT NULL default '0',
-  `log` varchar(255) NOT NULL default '',
-  INDEX (`ip`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `memo`
---
-
-DROP TABLE IF EXISTS `memo`;
-CREATE TABLE `memo` (
-  `memo_id` int(11) unsigned NOT NULL auto_increment,
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `map` varchar(255) NOT NULL default '',
-  `x` smallint(9) unsigned NOT NULL default '0',
-  `y` smallint(9) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`memo_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `party`
---
-
-DROP TABLE IF EXISTS `party`;
-CREATE TABLE `party` (
-  `party_id` int(11) unsigned NOT NULL auto_increment,
-  `name` char(100) NOT NULL default '',
-  `exp` tinyint(11) unsigned NOT NULL default '0',
-  `item` tinyint(11) unsigned NOT NULL default '0',
-  `leader_id` int(11) unsigned NOT NULL default '0',
-  `leader_char` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`party_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `pet`
---
-
-DROP TABLE IF EXISTS `pet`;
-CREATE TABLE `pet` (
-  `pet_id` int(11) unsigned NOT NULL auto_increment,
-  `class` mediumint(9) unsigned NOT NULL default '0',
-  `name` varchar(24) NOT NULL default '',
-  `account_id` int(11) unsigned NOT NULL default '0',
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `level` smallint(4) unsigned NOT NULL default '0',
-  `egg_id` smallint(11) unsigned NOT NULL default '0',
-  `equip` mediumint(8) unsigned NOT NULL default '0',
-  `intimate` smallint(9) unsigned NOT NULL default '0',
-  `hungry` smallint(9) unsigned NOT NULL default '0',
-  `rename_flag` tinyint(4) unsigned NOT NULL default '0',
-  `incuvate` int(11) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`pet_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `ragsrvinfo`
---
-
-DROP TABLE IF EXISTS `ragsrvinfo`;
-CREATE TABLE `ragsrvinfo` (
-  `index` int(11) NOT NULL default '0',
-  `name` varchar(255) NOT NULL default '',
-  `exp` int(11) unsigned NOT NULL default '0',
-  `jexp` int(11) unsigned NOT NULL default '0',
-  `drop` int(11) unsigned NOT NULL default '0',
-  `motd` varchar(255) NOT NULL default ''
-) TYPE=MyISAM;
-
---
--- Table structure for table `skill`
---
-
-DROP TABLE IF EXISTS `skill`;
-CREATE TABLE `skill` (
-  `char_id` int(11) unsigned NOT NULL default '0',
-  `id` smallint(11) unsigned NOT NULL default '0',
-  `lv` tinyint(4) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`char_id`,`id`),
-  KEY `char_id` (`char_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `sstatus`
---
-
-DROP TABLE IF EXISTS `sstatus`;
-CREATE TABLE `sstatus` (
-  `index` tinyint(4) unsigned NOT NULL default '0',
-  `name` varchar(255) NOT NULL default '',
-  `user` int(11) unsigned NOT NULL default '0'
-) TYPE=MyISAM;
-
---
--- Table structure for table `storage`
---
-
-DROP TABLE IF EXISTS `storage`;
-CREATE TABLE `storage` (
-  `id` int(11) unsigned NOT NULL auto_increment,
-  `account_id` int(11) unsigned NOT NULL default '0',
-  `nameid` int(11) unsigned NOT NULL default '0',
-  `amount` smallint(11) unsigned NOT NULL default '0',
-  `equip` mediumint(8) unsigned NOT NULL default '0',
-  `identify` smallint(6) unsigned NOT NULL default '0',
-  `refine` tinyint(3) unsigned NOT NULL default '0',
-  `attribute` tinyint(4) unsigned NOT NULL default '0',
-  `card0` smallint(11) NOT NULL default '0',
-  `card1` smallint(11) NOT NULL default '0',
-  `card2` smallint(11) NOT NULL default '0',
-  `card3` smallint(11) NOT NULL default '0',
-  PRIMARY KEY  (`id`),
-  KEY `account_id` (`account_id`)
-) TYPE=MyISAM;
-
---
--- Table structure for table `mapreg`
---
-
-DROP TABLE IF EXISTS `mapreg`;
-CREATE TABLE `mapreg` (
-  `varname` varchar(32) NOT NULL,
-  `index` int(11) unsigned NOT NULL default '0',
-  `value` varchar(255) NOT NULL,
-  KEY `varname` (`varname`),
-  KEY `index` (`index`)
-) TYPE=MyISAM;
+-- MySQL dump 9.11
+-- Server version	4.0.24
+
+--
+-- Table structure for table `cart_inventory`
+--
+
+DROP TABLE IF EXISTS `cart_inventory`;
+CREATE TABLE `cart_inventory` (
+  `id` int(11) NOT NULL auto_increment,
+  `char_id` int(11) NOT NULL default '0',
+  `nameid` int(11) NOT NULL default '0',
+  `amount` int(11) NOT NULL default '0',
+  `equip` mediumint(8) unsigned NOT NULL default '0',
+  `identify` smallint(6) NOT NULL default '0',
+  `refine` tinyint(3) unsigned NOT NULL default '0',
+  `attribute` tinyint(4) NOT NULL default '0',
+  `card0` int(11) NOT NULL default '0',
+  `card1` int(11) NOT NULL default '0',
+  `card2` int(11) NOT NULL default '0',
+  `card3` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  KEY `char_id` (`char_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `char`
+--
+
+DROP TABLE IF EXISTS `char`;
+CREATE TABLE `char` (
+  `char_id` int(11) unsigned NOT NULL auto_increment,
+  `account_id` int(11) unsigned NOT NULL default '0',
+  `char_num` tinyint(1) NOT NULL default '0',
+  `name` varchar(30) NOT NULL default '',
+  `class` smallint(6) unsigned NOT NULL default '0',
+  `base_level` smallint(6) unsigned NOT NULL default '1',
+  `job_level` smallint(6) unsigned NOT NULL default '1',
+  `base_exp` bigint(20) unsigned NOT NULL default '0',
+  `job_exp` bigint(20) unsigned NOT NULL default '0',
+  `zeny` int(11) unsigned NOT NULL default '0',
+  `str` smallint(4) unsigned NOT NULL default '0',
+  `agi` smallint(4) unsigned NOT NULL default '0',
+  `vit` smallint(4) unsigned NOT NULL default '0',
+  `int` smallint(4) unsigned NOT NULL default '0',
+  `dex` smallint(4) unsigned NOT NULL default '0',
+  `luk` smallint(4) unsigned NOT NULL default '0',
+  `max_hp` mediumint(8) unsigned NOT NULL default '0',
+  `hp` mediumint(8) unsigned NOT NULL default '0',
+  `max_sp` mediumint(6) unsigned NOT NULL default '0',
+  `sp` mediumint(6) unsigned NOT NULL default '0',
+  `status_point` smallint(4) unsigned NOT NULL default '0',
+  `skill_point` smallint(4) unsigned NOT NULL default '0',
+  `option` int(11) NOT NULL default '0',
+  `karma` tinyint(3) NOT NULL default '0',
+  `manner` tinyint(3) NOT NULL default '0',
+  `party_id` smallint(11) unsigned NOT NULL default '0',
+  `guild_id` smallint(11) unsigned NOT NULL default '0',
+  `pet_id` int(11) unsigned NOT NULL default '0',
+  `hair` tinyint(4) unsigned NOT NULL default '0',
+  `hair_color` smallint(5) unsigned NOT NULL default '0',
+  `clothes_color` smallint(5) unsigned NOT NULL default '0',
+  `weapon` smallint(6) unsigned NOT NULL default '1',
+  `shield` smallint(6) unsigned NOT NULL default '0',
+  `head_top` smallint(6) unsigned NOT NULL default '0',
+  `head_mid` smallint(6) unsigned NOT NULL default '0',
+  `head_bottom` smallint(6) unsigned NOT NULL default '0',
+  `last_map` varchar(20) NOT NULL default 'prontera.gat',
+  `last_x` smallint(4) unsigned NOT NULL default '53',
+  `last_y` smallint(4) unsigned NOT NULL default '111',
+  `save_map` varchar(20) NOT NULL default 'prontera.gat',
+  `save_x` smallint(4) unsigned NOT NULL default '53',
+  `save_y` smallint(4) unsigned NOT NULL default '111',
+  `partner_id` int(11) unsigned NOT NULL default '0',
+  `online` tinyint(2) NOT NULL default '0',
+  `father` int(11) unsigned NOT NULL default '0',
+  `mother` int(11) unsigned NOT NULL default '0',
+  `child` int(11) unsigned NOT NULL default '0',
+  `fame` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`char_id`),
+  KEY `account_id` (`account_id`),
+  KEY `party_id` (`party_id`),
+  KEY `guild_id` (`guild_id`)
+) TYPE=InnoDB AUTO_INCREMENT=150000; 
+
+--
+-- Table structure for table `charlog`
+--
+
+DROP TABLE IF EXISTS `charlog`;
+CREATE TABLE `charlog` (
+  `time` datetime NOT NULL default '0000-00-00 00:00:00',
+  `char_msg` varchar(255) NOT NULL default 'char select',
+  `account_id` int(11) NOT NULL default '0',
+  `char_num` tinyint(4) NOT NULL default '0',
+  `name` varchar(255) NOT NULL default '',
+  `str` int(11) unsigned NOT NULL default '0',
+  `agi` int(11) unsigned NOT NULL default '0',
+  `vit` int(11) unsigned NOT NULL default '0',
+  `int` int(11) unsigned NOT NULL default '0',
+  `dex` int(11) unsigned NOT NULL default '0',
+  `luk` int(11) unsigned NOT NULL default '0',
+  `hair` tinyint(4) NOT NULL default '0',
+  `hair_color` int(11) NOT NULL default '0'
+) TYPE=MyISAM; 
+
+--
+-- Table structure for table `friends`
+--
+
+DROP TABLE IF EXISTS `friends`;
+CREATE TABLE `friends` (
+  `char_id` int(11) NOT NULL default '0',
+  `friend_account` int(11) NOT NULL default '0',
+  `friend_id` int(11) NOT NULL default '0'
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `global_reg_value`
+--
+
+DROP TABLE IF EXISTS `global_reg_value`;
+CREATE TABLE `global_reg_value` (
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `str` varchar(255) NOT NULL default '',
+  `value` varchar(255) NOT NULL default '0',
+  `type` int(11) NOT NULL default '3',
+  `account_id` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`char_id`,`str`,`account_id`),
+  KEY `account_id` (`account_id`),
+  KEY `char_id` (`char_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `guild`
+--
+
+DROP TABLE IF EXISTS `guild`;
+CREATE TABLE `guild` (
+  `guild_id` int(11) unsigned NOT NULL auto_increment,
+  `name` varchar(24) NOT NULL default '',
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `master` varchar(24) NOT NULL default '',
+  `guild_lv` tinyint(6) unsigned NOT NULL default '0',
+  `connect_member` tinyint(6) unsigned NOT NULL default '0',
+  `max_member` tinyint(6) unsigned NOT NULL default '0',
+  `average_lv` smallint(6) unsigned NOT NULL default '1',
+  `exp` int(11) unsigned NOT NULL default '0',
+  `next_exp` int(11) unsigned NOT NULL default '0',
+  `skill_point` tinyint(11) unsigned NOT NULL default '0',
+  `mes1` varchar(60) NOT NULL default '',
+  `mes2` varchar(120) NOT NULL default '',
+  `emblem_len` int(11) unsigned NOT NULL default '0',
+  `emblem_id` int(11) unsigned NOT NULL default '0',
+  `emblem_data` blob NOT NULL,
+  PRIMARY KEY  (`guild_id`,`char_id`),
+  UNIQUE KEY `guild_id` (`guild_id`),
+  KEY `char_id` (`char_id`),
+  CONSTRAINT `guild_ibfk_1` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_alliance`
+--
+
+DROP TABLE IF EXISTS `guild_alliance`;
+CREATE TABLE `guild_alliance` (
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `opposition` int(11) unsigned NOT NULL default '0',
+  `alliance_id` int(11) unsigned NOT NULL default '0',
+  `name` varchar(24) NOT NULL default '',
+  PRIMARY KEY  (`guild_id`,`alliance_id`),
+  KEY `alliance_id` (`alliance_id`),
+  CONSTRAINT `guild_alliance_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
+  CONSTRAINT `guild_alliance_ibfk_2` FOREIGN KEY (`alliance_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_castle`
+--
+
+DROP TABLE IF EXISTS `guild_castle`;
+CREATE TABLE `guild_castle` (
+  `castle_id` int(11) unsigned NOT NULL default '0',
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `economy` int(11) unsigned NOT NULL default '0',
+  `defense` int(11) unsigned NOT NULL default '0',
+  `triggerE` int(11) unsigned NOT NULL default '0',
+  `triggerD` int(11) unsigned NOT NULL default '0',
+  `nextTime` int(11) unsigned NOT NULL default '0',
+  `payTime` int(11) unsigned NOT NULL default '0',
+  `createTime` int(11) unsigned NOT NULL default '0',
+  `visibleC` int(11) unsigned NOT NULL default '0',
+  `visibleG0` int(11) unsigned NOT NULL default '0',
+  `visibleG1` int(11) unsigned NOT NULL default '0',
+  `visibleG2` int(11) unsigned NOT NULL default '0',
+  `visibleG3` int(11) unsigned NOT NULL default '0',
+  `visibleG4` int(11) unsigned NOT NULL default '0',
+  `visibleG5` int(11) unsigned NOT NULL default '0',
+  `visibleG6` int(11) unsigned NOT NULL default '0',
+  `visibleG7` int(11) unsigned NOT NULL default '0',
+  `gHP0` int(11) unsigned NOT NULL default '0',
+  `ghP1` int(11) unsigned NOT NULL default '0',
+  `gHP2` int(11) unsigned NOT NULL default '0',
+  `gHP3` int(11) unsigned NOT NULL default '0',
+  `gHP4` int(11) unsigned NOT NULL default '0',
+  `gHP5` int(11) unsigned NOT NULL default '0',
+  `gHP6` int(11) unsigned NOT NULL default '0',
+  `gHP7` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`castle_id`),
+  KEY `guild_id` (`guild_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `guild_expulsion`
+--
+
+DROP TABLE IF EXISTS `guild_expulsion`;
+CREATE TABLE `guild_expulsion` (
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `name` varchar(24) NOT NULL default '',
+  `mes` varchar(40) NOT NULL default '',
+  `acc` varchar(40) NOT NULL default '',
+  `account_id` int(11) unsigned NOT NULL default '0',
+  `rsv1` int(11) unsigned NOT NULL default '0',
+  `rsv2` int(11) unsigned NOT NULL default '0',
+  `rsv3` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`guild_id`,`name`),
+  CONSTRAINT `guild_expulsion_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_member`
+--
+
+DROP TABLE IF EXISTS `guild_member`;
+CREATE TABLE `guild_member` (
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `account_id` int(11) unsigned NOT NULL default '0',
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `hair` tinyint(6) unsigned NOT NULL default '0',
+  `hair_color` smallint(6) unsigned NOT NULL default '0',
+  `gender` tinyint(6) unsigned NOT NULL default '0',
+  `class` smallint(6) unsigned NOT NULL default '0',
+  `lv` smallint(6) unsigned NOT NULL default '0',
+  `exp` bigint(20) unsigned NOT NULL default '0',
+  `exp_payper` tinyint(11) unsigned NOT NULL default '0',
+  `online` tinyint(4) unsigned NOT NULL default '0',
+  `position` tinyint(6) unsigned NOT NULL default '0',
+  `rsv1` int(11) unsigned NOT NULL default '0',
+  `rsv2` int(11) unsigned NOT NULL default '0',
+  `name` varchar(24) NOT NULL default '',
+  PRIMARY KEY  (`guild_id`,`char_id`),
+  KEY `char_id` (`char_id`),
+  CONSTRAINT `guild_member_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
+  CONSTRAINT `guild_member_ibfk_2` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_position`
+--
+
+DROP TABLE IF EXISTS `guild_position`;
+CREATE TABLE `guild_position` (
+  `guild_id` int(9) unsigned NOT NULL default '0',
+  `position` tinyint(6) unsigned NOT NULL default '0',
+  `name` varchar(24) NOT NULL default '',
+  `mode` tinyint(11) unsigned NOT NULL default '0',
+  `exp_mode` tinyint(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`guild_id`,`position`),
+  KEY `guild_id` (`guild_id`),
+  CONSTRAINT `guild_position_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_skill`
+--
+
+DROP TABLE IF EXISTS `guild_skill`;
+CREATE TABLE `guild_skill` (
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `id` smallint(11) unsigned NOT NULL default '0',
+  `lv` tinyint(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`guild_id`,`id`),
+  CONSTRAINT `guild_skill_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `guild_storage`
+--
+
+DROP TABLE IF EXISTS `guild_storage`;
+CREATE TABLE `guild_storage` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `guild_id` int(11) unsigned NOT NULL default '0',
+  `nameid` int(11) unsigned NOT NULL default '0',
+  `amount` int(11) unsigned NOT NULL default '0',
+  `equip` mediumint(8) unsigned NOT NULL default '0',
+  `identify` smallint(6) unsigned NOT NULL default '0',
+  `refine` tinyint(3) unsigned NOT NULL default '0',
+  `attribute` tinyint(4) unsigned NOT NULL default '0',
+  `card0` smallint(11) NOT NULL default '0',
+  `card1` smallint(11) NOT NULL default '0',
+  `card2` smallint(11) NOT NULL default '0',
+  `card3` smallint(11) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  KEY `guild_id` (`guild_id`),
+  CONSTRAINT `guild_storage_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+-- Database: Ragnarok
+-- Table: 'interlog'
+--
+
+DROP TABLE IF EXISTS `interlog`;
+CREATE TABLE `interlog` (
+  `time` datetime NOT NULL default '0000-00-00 00:00:00',
+  `log` varchar(255) NOT NULL default ''
+) TYPE=MyISAM; 
+
+--
+-- Table structure for table `inventory`
+--
+
+DROP TABLE IF EXISTS `inventory`;
+CREATE TABLE `inventory` (
+  `id` int(11) unsigned NOT NULL auto_increment,
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `nameid` int(11) unsigned NOT NULL default '0',
+  `amount` int(11) unsigned NOT NULL default '0',
+  `equip` mediumint(8) unsigned NOT NULL default '0',
+  `identify` smallint(6) NOT NULL default '0',
+  `refine` tinyint(3) unsigned NOT NULL default '0',
+  `attribute` tinyint(4) unsigned NOT NULL default '0',
+  `card0` smallint(11) NOT NULL default '0',
+  `card1` smallint(11) NOT NULL default '0',
+  `card2` smallint(11) NOT NULL default '0',
+  `card3` smallint(11) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  KEY `char_id` (`char_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `ipbanlist`
+--
+
+DROP TABLE IF EXISTS `ipbanlist`;
+CREATE TABLE `ipbanlist` (
+  `list` varchar(255) NOT NULL default '',
+  `btime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `rtime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `reason` varchar(255) NOT NULL default '',
+  KEY (`list`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `login`
+--
+
+DROP TABLE IF EXISTS `login`;
+CREATE TABLE `login` (
+  `account_id` int(11) unsigned NOT NULL auto_increment,
+  `userid` varchar(255) NOT NULL default '',
+  `user_pass` varchar(32) NOT NULL default '',
+  `lastlogin` datetime NOT NULL default '0000-00-00 00:00:00',
+  `sex` char(1) NOT NULL default 'M',
+  `logincount` mediumint(9) unsigned NOT NULL default '0',
+  `email` varchar(60) NOT NULL default '',
+  `level` tinyint(3) NOT NULL default '0',
+  `error_message` smallint(11) unsigned NOT NULL default '0',
+  `connect_until` smallint(11) unsigned NOT NULL default '0',
+  `last_ip` varchar(100) NOT NULL default '',
+  `memo` smallint(11) unsigned NOT NULL default '0',
+  `ban_until` int(11) unsigned NOT NULL default '0',
+  `state` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`account_id`),
+  KEY `name` (`userid`)
+) TYPE=InnoDB AUTO_INCREMENT=2000000; 
+
+-- added standard accounts for servers, VERY INSECURE!!!
+-- inserted into the table called login which is above
+
+INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com');
+
+--
+-- Table structure for table `sc_data`
+--
+
+DROP TABLE IF EXISTS `sc_data`;
+CREATE TABLE `sc_data` (
+  `account_id` int(11) unsigned NOT NULL,
+  `char_id` int(11) unsigned NOT NULL,
+  `type` smallint(11) unsigned NOT NULL,
+  `tick` int(11) NOT NULL,
+  `val1` int(11) NOT NULL default '0',
+  `val2` int(11) NOT NULL default '0',
+  `val3` int(11) NOT NULL default '0',
+  `val4` int(11) NOT NULL default '0',
+  KEY (`account_id`),
+  KEY (`char_id`),
+  CONSTRAINT `scdata_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE,
+  CONSTRAINT `scdata_ibfk_2` FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
+) TYPE=InnoDB;
+
+--
+-- Table structure for table `loginlog`
+--
+
+DROP TABLE IF EXISTS `loginlog`;
+CREATE TABLE `loginlog` (
+  `time` datetime NOT NULL default '0000-00-00 00:00:00',
+  `ip` int(10) unsigned NOT NULL default '0',
+  `user` varchar(32) NOT NULL default '',
+  `rcode` tinyint(4) NOT NULL default '0',
+  `log` varchar(255) NOT NULL default '',
+  INDEX (`ip`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `memo`
+--
+
+DROP TABLE IF EXISTS `memo`;
+CREATE TABLE `memo` (
+  `memo_id` int(11) unsigned NOT NULL auto_increment,
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `map` varchar(255) NOT NULL default '',
+  `x` smallint(9) unsigned NOT NULL default '0',
+  `y` smallint(9) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`memo_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `party`
+--
+
+DROP TABLE IF EXISTS `party`;
+CREATE TABLE `party` (
+  `party_id` int(11) unsigned NOT NULL auto_increment,
+  `name` char(100) NOT NULL default '',
+  `exp` tinyint(11) unsigned NOT NULL default '0',
+  `item` tinyint(11) unsigned NOT NULL default '0',
+  `leader_id` int(11) unsigned NOT NULL default '0',
+  `leader_char` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`party_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `pet`
+--
+
+DROP TABLE IF EXISTS `pet`;
+CREATE TABLE `pet` (
+  `pet_id` int(11) unsigned NOT NULL auto_increment,
+  `class` mediumint(9) unsigned NOT NULL default '0',
+  `name` varchar(24) NOT NULL default '',
+  `account_id` int(11) unsigned NOT NULL default '0',
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `level` smallint(4) unsigned NOT NULL default '0',
+  `egg_id` smallint(11) unsigned NOT NULL default '0',
+  `equip` mediumint(8) unsigned NOT NULL default '0',
+  `intimate` smallint(9) unsigned NOT NULL default '0',
+  `hungry` smallint(9) unsigned NOT NULL default '0',
+  `rename_flag` tinyint(4) unsigned NOT NULL default '0',
+  `incuvate` int(11) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`pet_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `ragsrvinfo`
+--
+
+DROP TABLE IF EXISTS `ragsrvinfo`;
+CREATE TABLE `ragsrvinfo` (
+  `index` int(11) NOT NULL default '0',
+  `name` varchar(255) NOT NULL default '',
+  `exp` int(11) unsigned NOT NULL default '0',
+  `jexp` int(11) unsigned NOT NULL default '0',
+  `drop` int(11) unsigned NOT NULL default '0',
+  `motd` varchar(255) NOT NULL default ''
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `skill`
+--
+
+DROP TABLE IF EXISTS `skill`;
+CREATE TABLE `skill` (
+  `char_id` int(11) unsigned NOT NULL default '0',
+  `id` smallint(11) unsigned NOT NULL default '0',
+  `lv` tinyint(4) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`char_id`,`id`),
+  KEY `char_id` (`char_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `sstatus`
+--
+
+DROP TABLE IF EXISTS `sstatus`;
+CREATE TABLE `sstatus` (
+  `index` tinyint(4) unsigned NOT NULL default '0',
+  `name` varchar(255) NOT NULL default '',
+  `user` int(11) unsigned NOT NULL default '0'
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `storage`
+--
+
+DROP TABLE IF EXISTS `storage`;
+CREATE TABLE `storage` (
+  `id` int(11) unsigned NOT NULL auto_increment,
+  `account_id` int(11) unsigned NOT NULL default '0',
+  `nameid` int(11) unsigned NOT NULL default '0',
+  `amount` smallint(11) unsigned NOT NULL default '0',
+  `equip` mediumint(8) unsigned NOT NULL default '0',
+  `identify` smallint(6) unsigned NOT NULL default '0',
+  `refine` tinyint(3) unsigned NOT NULL default '0',
+  `attribute` tinyint(4) unsigned NOT NULL default '0',
+  `card0` smallint(11) NOT NULL default '0',
+  `card1` smallint(11) NOT NULL default '0',
+  `card2` smallint(11) NOT NULL default '0',
+  `card3` smallint(11) NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  KEY `account_id` (`account_id`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `mapreg`
+--
+
+DROP TABLE IF EXISTS `mapreg`;
+CREATE TABLE `mapreg` (
+  `varname` varchar(32) NOT NULL,
+  `index` int(11) unsigned NOT NULL default '0',
+  `value` varchar(255) NOT NULL,
+  KEY `varname` (`varname`),
+  KEY `index` (`index`)
+) TYPE=MyISAM;

+ 2 - 0
sql-files/upgrade_svn7194.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `loginlog` ADD INDEX ( `ip` );
+ALTER TABLE `ipbanlist` ADD INDEX ( `list` );