diff options
-rw-r--r-- | Changelog-Trunk.txt | 2084 | ||||
-rw-r--r-- | sql-files/main.sql | 1079 | ||||
-rw-r--r-- | sql-files/upgrade_svn7194.sql | 2 |
3 files changed, 1585 insertions, 1580 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 34b92cff1..fa1206496 100644 --- a/Changelog-Trunk.txt +++ b/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] diff --git a/sql-files/main.sql b/sql-files/main.sql index f0350d929..d6dfabf5f 100644 --- a/sql-files/main.sql +++ b/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; diff --git a/sql-files/upgrade_svn7194.sql b/sql-files/upgrade_svn7194.sql new file mode 100644 index 000000000..8dc0ca36a --- /dev/null +++ b/sql-files/upgrade_svn7194.sql @@ -0,0 +1,2 @@ +ALTER TABLE `loginlog` ADD INDEX ( `ip` ); +ALTER TABLE `ipbanlist` ADD INDEX ( `list` ); |