1248 Commits

Author SHA1 Message Date
ultramage
03afc4ffda * Implemented more official Warp Portal behavior
- 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
2007-10-10 23:47:02 +00:00
ultramage
6d6f73231e Re-enabled packet 0x1ac to be sent when something gets ankle-snared
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-10 22:25:37 +00:00
ultramage
44e2d917a6 Removed name checks from /b and /lb after finding out that /nb and /nlb use the same packet...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11387 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-09 18:49:26 +00:00
ultramage
52a7948f8b * Corrected string lengths according to bugreport:198
- 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
2007-10-09 17:45:51 +00:00
FlavioJS
f808f37ec1 * Delayed the check for required items when a skill is cast to when they are consumed. Now skills only fail due to lack of items after being cast.
- 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
2007-10-08 21:39:57 +00:00
ultramage
4ed5333885 * REALLY fixed emblem not displaying when a char logs in (compromise between r10624 and r11033 that hopefully works)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11369 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 20:57:15 +00:00
zephyrus
c5e5128eb0 * Completed the code for SC_LIFEINSURANCE and it's status icon.
- Added the summer_ignorepalette to client.conf.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11359 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-05 01:00:16 +00:00
ultramage
c7256c0577 * Corrected Icewall skill to be closer to official behavior (part of bugreport:38)
- 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
2007-10-04 18:41:54 +00:00
ultramage
286e1a32c4 * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define
* Fixed a compile problem when hotkey saving is disabled (topic:167265)
* Added script source error reporting to countitem() (topic:167165)
* Removed integer mob skill state/target definition support (unused)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 16:16:44 +00:00
ultramage
ce7dd37878 * Cleaned up parts of skill.c related to skill units
- 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
2007-10-03 12:58:52 +00:00
ultramage
6a2e87e03b * Fixed various trading/vending glitches
- 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
2007-10-01 14:55:35 +00:00
ultramage
afbef4dce6 Renamed&moved macros clif_trading() and clif_cant_act() to pc.c since they're completely player-status related.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11331 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-29 10:37:53 +00:00
L0ne_W0lf
694679913a * Implemented Summer Outfit care of Zephyrus_CR.
- 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
2007-09-28 02:52:04 +00:00
L0ne_W0lf
ac52b62707 * Implemented Token of Siegfried effect care of Zephyrus_CR.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-26 17:07:21 +00:00
FlavioJS
52f3681f3d * Disabled tick cache (to enable it: define TICK_CACHE to the number of calls that should be cached).
* 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
2007-09-25 01:58:31 +00:00
ultramage
c5b8e5d082 Added back log_chat's '1 - log everything' setting (revert from r10850).
Don't forget to adjust your config file ... again.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11289 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-24 22:33:50 +00:00
ultramage
961f23767d * Added 'safestrnlen' to prevent null pointer crashes
* 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
2007-09-22 11:02:26 +00:00
FlavioJS
2365e833a4 * Makefile deleting .svn in save folder.
* 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
2007-09-21 05:22:13 +00:00
FlavioJS
65642f6f1c * Merged the tmpsql branch:
- 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
2007-09-20 11:09:36 +00:00
ultramage
a71c730693 Getting some (mostly atcommand) code cleaning out of the way...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-15 21:49:21 +00:00
skotlex
1e822f6deb - Corrected /invite letting you invite people even if you are not the party leader.
- 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
2007-09-11 17:25:49 +00:00
ultramage
892f36f0b7 * Added a safeguard to skill_get_unit_layout() against incorrectly defined layout ids (will give weird results but won't crash at least)
* 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
2007-09-10 20:50:55 +00:00
skotlex
574c76e799 - Added support for the new party invite/reply packets from the latest client version.
- 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
2007-09-07 07:31:58 +00:00
ultramage
1481fc1524 * Documented/cleaned up chatroom code and packetry
* 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
2007-08-31 17:08:27 +00:00
skotlex
4612bb8a10 - Fixed the hotkey list sending to the client not displaying right away.
- Corrected the unit_id of NPC_EVILLAND (taken from jA)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11071 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-24 01:15:56 +00:00
ultramage
0072a0189e * Cleaned/clarified some #include relationships between headers
* 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
2007-08-19 12:55:29 +00:00
skotlex
1518e0240b - Cleaned up some the pet armor display code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11034 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19 00:55:46 +00:00
skotlex
29a07a72e7 - Corrected a bit npc_remove_map, map_deliddb and strdb_remove calls belong to npc_unload rather than npc_remove_map. Also improved a bit the removal of the npc from the map's npc list.
- 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
2007-08-18 03:22:11 +00:00
ultramage
8076b535d4 * Fixed npc chatrooms not being deleted on npc unload/reload (crash)
* 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
2007-08-16 14:14:11 +00:00
skotlex
dff80559d4 - Merged and completed Latio's work on server-side hot-key saving (http://www.eathena.ws/board/index.php?s=&showtopic=159388&view=findpost&p=884453)
- 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
2007-08-15 22:08:30 +00:00
ultramage
56d9a037a6 * Some serious code cleanups
- 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
2007-08-15 17:13:04 +00:00
ultramage
bc31c68ad5 The new functions now clear junk from the output buffer, this simplifies the code a bit.
Added a TODO for one emblem loading problem/crash.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10969 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-09 11:02:44 +00:00
ultramage
f5f77a5d51 * Cleaned up junk left in the code by the mapcache/mapindex update
- 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
2007-08-08 17:41:49 +00:00
ultramage
c06dca0c87 Some minor typo fixing.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10960 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-07 21:54:12 +00:00
ultramage
f26bc90351 * Added a null-pointer check to skill_initunit() to prevent a crash
* Added a while() loop to the client packet processor (for performance)
* Added support for kRO 2007-05-14aSakexe langtype 0 login packet 0x2b0
* Added Job_Baby_Alchemist define to complement the Job_Alchemist update
* Added custom Hollow Poring mob_db2 entry

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10954 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-06 19:05:37 +00:00
ultramage
0a0782c664 Some all-around code reformatting/cleaning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-04 16:24:49 +00:00
ultramage
66516651c3 * Removed weird mvp reward item drop behavior (see topic:160077)
* 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
2007-08-04 15:31:02 +00:00
ultramage
519d61249b Renamed menuskill_lv -> Renamed menuskill_val, because people also used it to store stuff like map coords, inventory offsets and object IDs...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10937 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-31 07:41:21 +00:00
ultramage
eae0b6d382 * Corrected pet taming code; items are consumed immediately and only 1x
- TODO: add proper code for people who want delayed consumption

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-30 20:40:06 +00:00
ultramage
2afd345d77 * Cleaned up mob drop code, crashfix is still needed though...
* 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
2007-07-26 23:27:40 +00:00
ultramage
8c5bebe386 Fixed a missing homunculus info packet when doing @refresh
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10910 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-25 21:01:19 +00:00
ultramage
8be64bc3b4 * Added support for character rename packet (only dummy code for now)
* 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
2007-07-25 16:45:09 +00:00
ultramage
348019358c * Changed the restricting mapflag for @jump from nowarp/nowarpto to noteleport
* 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
2007-07-23 17:58:54 +00:00
ultramage
16baba6519 * Corrected packet_db.txt. See topic:158382 for details. As a side-effect, the latest packet version is now 22 instead of 21.
* 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
2007-07-20 03:38:47 +00:00
ultramage
02e009bd8d - Small update to the effects list (new exe's effects by Au{R}oN)
- 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
2007-07-18 23:07:05 +00:00
ultramage
c73c55d465 * update from Skotlex
- 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
2007-07-05 18:07:31 +00:00
ultramage
8db83e248a - Re-coded 'soundeffectall'; removed the third parameter ('coverage')
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03 15:15:23 +00:00
ultramage
1ed7f6c584 Cleaned up some parts of the code.
Removed obsolete script function 'hasitems'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10838 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-01 15:26:53 +00:00
ultramage
fdb0636dc3 random fixing
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10808 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-23 12:15:58 +00:00
ultramage
338c473b7d * Changed behavior of some guild-related code (according to X.4 tests):
- 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
2007-06-22 16:25:18 +00:00