- the transition from active to waiting mode is now done as a simple appearance change instead of deleting one and creating the other
- due to the above, an opening warp is now properly accompanied by the log-in like sound effect
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11404 54d463be-8e91-2dee-dedb-b68131a5f0ec
- CHATBOX_SIZE: 70 -> 70+1
- removed some too aggressive checks in clif_parse_globalmessage()
- removed CHAT_SIZE define as it actually doesn't apply anywhere
- added CHAT_SIZE_MAX to serve as a custom limit to input string lengths
- added length/contents checks to /b and /lb (against fake names)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11386 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Please make a bug report if you know of any skill that doesn't work like this in official.
* Fixed hp of other party members not being sent when you join a party.
* Removed unused global array names_id and renamed some structures that are used with variables of the same name.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
- now works on occupied squares (previously it disappeared)
- now you can walk out of an icewall square (removed code that blocked pathfinding if the origin cell was of a nonwalkable type)
- added back the hack where mapcell changes are broadcast to whole map (prevents client from leaving the cells non-walkable if you warp away)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11354 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed some nonsense code in skill_dance_switch() (from r8876)
- removed 'security system to prevent forgetting timer removal' (r1213)
- renamed some skill-related data structs (had same name as variables)
- commented out custom Venom Splasher countdown messaging code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11347 54d463be-8e91-2dee-dedb-b68131a5f0ec
- fixed vending_tax not working at all (integer division in r10182)
- undid change from r8273 where pc_getzeny() treated zeny overflow as an error condition; officially, the value is just bounded to MAX_ZENY
- fixed stupid code that, instead of properly checking and filtering invalid items during shop setup, opted to 'hide' these items from the vending list instead...
- removed some custom error message packets related to vending
- fixed a glitch where the server would open a shop with no items when all entered items were tagged as invalid
- split zeny handling from trade_tradeadditem() into a separate func (trade_tradeaddzeny())
- removed loads of redundant code from vending.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11344 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation of the 12.1 Guild Castles.
* Added constants for Summer Outfit and updated the Summer_Event_Suit item script.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11321 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Added a charid2sd database for fast charid searches.
* Reworked the nick cache to only contain offline characters.
Note: The tick cache was causing _some_ of the desync problems in eA. Gameplay should be much smother, but desync problems still exist.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11290 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Fixed global chat logging always crashing on a null pointer
* Applied changes to clif_parse_globalmessage() from my WiP code
- clearer processing of the individual packet components
- proper code ordering, some more integrity checks
- fixes to some poorly chosen ShowWarning() format strings
- global chat logging no longer logs the entire string (w/ player name)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Limited the number of packets parsed per cycle to 3. (packet spammers create less lag)
* Fixed sql login throwing an out-of-place debug message and escaping too much of the name string when creating a new login with _M/F.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11253 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added some reply messages when you try /invite and a. the character is not found or b. you are not the party leader.
- Added a check so that the 'save on crash' routine won't get stuck if it happens to crash while attempting to save characters.
- People in chat-rooms no longer receive @main messages.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11179 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Fixed Firewall/Icewall being oriented backwards (no real difference though...)
* Removed some junk Landprotector/Graffiti code; Graffiti doesn't get placed randomly anymore
* Icewall can now be cast on yourself... but for some reason, the cell on yourself immediately expires!
* Merged together functions clif_set0192() and clif_changemapcell()
- also removed its "send to whole map" mode which is just plain wrong (although aegis actually does use it to 'inform' caster about changes)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11175 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleared up some TODO's
- Added auto-rejecting party/guild invites when the target is disconnected from the server.
- Added a correction in the walking code to abort it when map_moveblock cancels the player's walking (by warping/knocking back),the default code would fail because unit_stopwalking would do nothing since the walk timer was already -1 in that moment.
- Corrected mob_randomwalk to use unsigned int for the tick variable.
- Changed the default @Main format to prevent crashes in the newer clients.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11134 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Added some comments to clif_changechatowner()
- totally broken, see the code + topic:163829
* Implemented the chatroom display packet properly
- now has 4 types: public, private, npc and non-clickable npc chatroom
* Implemented the chatroom leave packet properly
- now utilizes the 'kicked' flag when the user was forced to leave
- TODO: banlist support to prevent re-entry, see jAthena code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11100 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects)
* Removed way messed-up script function 'unitdeadsit'
* Tagged 'FIXME' lines written by myself
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added back the hair-style/hair-bottom fields to the spawn packet, and the pet-idle packet is no longer sent when the pet does not has an armor equipped (this should cut down on bandwidth a bit for non-equipped pets)
- Moved the position of the map_addblock/clif_spawn code section in parse_LoadEndAck to above the party-hp blocks, this corrects party-member HP display mnot being updated when someone spawns in your range of sight.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11033 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Modified chat code a bit for more clarity
- replaced double-indirection on 'owner' with a normal pointer
- separated some common functionality to 'chat_createchat()'
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11023 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Now hotkeys are stored server-side (table hotkey in SQL servers, file save/hotkeys.txt for TXT servers). You can disable this behaviour by commenting out the 'HOTKEY_SAVING' define in mmo.h
- Fixed a few compilation warnings/errors.
- Apply upgrade_svn11018.sql to create the hotkey table.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11019 54d463be-8e91-2dee-dedb-b68131a5f0ec
- adjusted @reloadbattleconf to not depend on variable ordering
- changed all battle vars to 'int' (removes pointless duplicit coding)
- added min, max and default columns to battle config data structure
- added properly bounded values for these columns (or at least tried to)
- battle-conf loading will now complain if it finds unknown settings,
and will reject values that are outside of the allowed range
- added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE
- partially cleaned up chatroom manipulation code
* Fixed 'Job_Professer' typo in mage jobchange quest
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11017 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added mapindex_getmapname(_ext) to help with ".gat" adding/removing
- Moved related processing to the interface (prevents duplicity)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10963 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Fixed Cart Revolution not transferring status effects on attack, and Cart Termination doing it when it shouldn't (see topic:156745)
* Fixed #refine not accepting names with spaces in them
* Fixed disguises not doing sit-down properly (missing self packet), broken since r6299 stable / r5833 trunk
* Added missing /blackmith packet action to packet_db.txt
* Removed "eathena's custom equipped mobs" from mob&skill db
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10946 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Reduced ignore-list length to 20, added proper reply packet
* Cleaned up some very poorly written pm-ignore code (see r141)
* Fixed a typo in Warp Portal code displaying an incorrect map name
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10915 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Added support for langtype-12 char deletion packet (tested, works)
* Synchronized txt/sql charserver code a bit
* Adjusted motd.txt to not crash new clients
* Removed some dead code from the charserver (see r352)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10909 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Simplified the mapindex code a bit
* Changed clif_skill_warppoint() so that now the '.gat' adding happens inside and doesn't have to be handled by the calling code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10901 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Added a charserver config option for the character renaming flag, along with a detailed comment on what it's supposed to be. This eliminates all that "change PACKETVER to 8 and recompile" mess.
* Moved PACKETVER back to clif.h, cleaned the related code a bit.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10888 54d463be-8e91-2dee-dedb-b68131a5f0ec
- No sending of the pet_equip packet when pet has no equip (thx to Skotlex)
- Added back exp gain limiting for old formula to stop exploits (see r8177)
- Now a message is printed when the packet_ver filter rejects someone
- Renamed two structs using same name as variables (MSVC debugger issue)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10886 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed NPC_STOP's visual effect not clearing when the status ends
- Corrected @homshuffle making the skill tree be lost.
- Corrected homunculus skills being unusable if the master was sitting or inflicted by a disabling status (eg: petrify, stun)
- Some fixes to the cell no stacking mod (mainly mobs would just get stuck behind each other and not properly surround you)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10856 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed code that prevented Homunculus Resurrection during WoE
- logging in doesn't activate the 5 minute guild skill block anymore
- non-Urgent guild skills can now only be cast on WoE grounds during WoE
- all guild skills now have no cast delay (previously was 1 second)
- casting guild skills will now block FreeCast sages from walking
- Battle Orders and Regeneration are now instacast
- Restoration now has a 10 second cast time, reducible only by dex
- Urgent Call's cast cannot be reduced anymore (not even by items)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10807 54d463be-8e91-2dee-dedb-b68131a5f0ec