summaryrefslogtreecommitdiff
path: root/src/map/clif.c
AgeCommit message (Collapse)AuthorFilesLines
2006-12-02- Replaced @send with the version I use for testing packets.FlavioJS1-12342/+12301
Can display the packet length. Supports dynamic packets, quoted strings with escaped characters and fixed/variable length, and normal/hex byte/word/long data types. The number of fields is not limited, but it automatically stops parsing when the packet is full. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9387 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01- Fixed txt-converter compilation. skotlex1-4/+13
- Added my_global.h include to login converter - Removed sd->char_id since we can use sd->status.char_id instead. - Small speedup in STRECOVERY, and made it not unlock a mob's target. - Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out. - gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now. - Now when coming out of hiding land-effects will trigger on the character. - Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it. - Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Added a missing map_quit in clif_parse which was the real reason for the ↵skotlex1-1/+2
crashes. - Therefore, removed the session valid checks from intif.c - Thanks for Flavio for figuring out how to reproduce the crash. And unthanks to me for introducing it on the first place D: - Note: Every connection before being closed and free'd will set eof to 1 and invoke the parse function (clif_parse for players), and since this is the last invocation, it is clif_parse's job to do any cleanup necessary. The missing map_quit what did was to leave the player pointer reference in different db's, which lead to a dangling pointer! Which obviously leads to no good. The map server's code should always ensure that session[sd->fd]->session_data == sd ALL the time (except when sd->fd is 0). - Finally, not writing any of this on the txt changelog file so Flavio can have the glory of the bugfix :B git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9368 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Added overflow protection to @main whisper parsing.skotlex1-5/+5
- Fixed a bug in slaves_inherit_speed - Miscellanous silly cleanups (format, unnecessary assignments, comments, etc) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Now gvg_dungeon mapflag will activate the other mapflags which are ↵skotlex1-5/+3
required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced to off if gvg_dungeon is on and viceversa) - Cleaned the pvp ranking code so that it takes effect even if pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. - Cleaned up a bit the pvp ranking timer code. - Now homuncs and their masters are the only ones who can use support skills on the homunc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9360 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Fixed a possible crash due to the recent core.c upgrade.skotlex1-0/+10
- Changing setting the Guild Master from pc_authok to clif_parse_LoadEndAck so that it will not fail to set the gmaster flag when the first person of a guild to log on is the guild master. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9347 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Updated the status change field "option" to an int rather than short. This ↵skotlex1-5/+7
fixes the option values for xmas/sightblaster not getting set, which could explain why some people crash when equipping weapons while in xmas suit. - Also did the same to opt3 since the new packet version uses LONG to store the opt3 values. - Made the clif weapon view function use the EQI constants instead of ints. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Fixed the Homunculus hungry timer not starting on login.skotlex1-0/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9336 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Fixed clif.c dumping unknown packets by default... (oops, used an #ifdef ↵skotlex1-1/+1
where an #if had to go) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9335 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27Added logging for standard GM commands (/mm /b /kick etc)KarLaeda1-6/+48
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9334 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27- Corrected KiriKage's range so it works correctly when used by non-players ↵skotlex1-1/+1
or when use weapon's range is used. - Changed service for you's flags so it affects all players on range. - Corrected the skill animation for Absorb Spirits - Cleaned up a bit the implementation of how Gravity Field blocks the caster from moving. - Mob class-changing will fail if the new class is the same as the previous one. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Heaven's drive no longer targets traps.skotlex1-1/+1
- Some minor cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9316 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Some cleaning of the pc_authok, clif_WantToConnection functions. Also some ↵skotlex1-94/+88
cleaning of the logout messages and some other cleanups in clif_parse git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9312 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- The check that blocks the skill AL_TELEPORT on noteleport maps will be ↵skotlex1-7/+15
overriden when you use Flywings/Butterfly wings, so B Wings are usable again in noteleport maps. - Removed a fd check in foreachinmovearea, which explains why autotraders sometimes were invisible to people who walked within sight of them - Corrected the ignore list sorting function to account for entries with no names so they are sent to the end, not the beginning. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9311 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Fixed uninitialized variable fd being used in WFIFOHEAD in a few clif ↵skotlex1-16/+4
functions. - Some cleaning in the script.c functions that invoke the clif functions to make sure a null sd is never passed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9308 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24- Added all the missing FIFOHEADs in the login/sql servers (required for ↵skotlex1-115/+97
TURBO support) - Fixed the fact that the TURBO code breaks when you attempt to handle more than one connection at a time within the same function. However this broke map-server compilation, therefore, don't use TURBO yet! It needs more fixing (and I need more time to fix it) - While at it, cleaned a few packet implementations in the char/login servers which were not only ugly, but had some really stupid flaws within (stuff like escaping a string, and then using the non-escaped variable to insert to SQL? T_T) And will someone explain me why the TXT servers are coded much more cleanly, and without such horribly broken code as I find in the SQL ones? T_T; git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-23- Made WFIFOHEAD() check for available buffer size remaining on the ↵skotlex1-11/+15
connection, and when there's not enough space, it will increase it. - Added define TURBO to the Makefile. It enables MouseJstr's socket access optimization which should speed up the code when accessing the write/read buffers repeatedly within a function. - Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used incorrectly (prevents TURBO enabled compilations from finishing) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9297 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22- Modified slaves_inherit_speed and slaves_inherit_mode so you get better ↵skotlex1-1/+1
control of when to copy/remove modes/speed. - Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be able to switch targets while attacking. - Simplified some more the chase-changetarget function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9294 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22- Recoded @send so that it uses clif.c instead of doing all the WFIFO stuff ↵skotlex1-1/+42
itself. - Cleaned up a bunch of very uglily coded atcommands which used the rather pointless charid2sessionid and accountid2sessionid functions. - Some miscellanous cleanups around usage of the session[] variable. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-21- Moved ignoreAll to state.ignoreAll so it saves some space.skotlex1-200/+215
- Cleaned up clif_parse_Wis to prevent crashes from forged packets (using a strlen() on a string where you don't know if it's null-terminated is a NO-NO) - Cleaned up the implementation of the ignore list so it's more efficient. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9282 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- Fixed itemskill variable being cleared before parsing the skill, this ↵skotlex1-4/+4
causes auto-casted teleport to fail to skip the skill menu. It is now cleared on castend_pos/id directly. - The item skill/lv variables now use 0 as default to signal they aren't being used (instead of -1) - Skills with state 'move_enable' will now do a "walk path" check between target cell/object and caster instead of a "shoot path" check, this would fix skills like snap or charge from letting you "teleport" across pits. - Fixed a possible double map_addblock when hatching a pet egg right before going through a warp. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9275 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-20- Raised the amount of skills that can stack on a single cell before the ↵skotlex1-1/+3
"in-area/out-area" detection code breaks to 24 (from 8) - Fixed a crash in clif_SkillInfoBlock if the passed player already disconnected. - Added limiting drop rate to 100% from item-bonuses that depend on the mob's level so that "@autoloot 100" will catch them. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9270 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-19* Hack protection from packet monkeys in clif_parse_NpcSelectMenu. Lance1-2/+9
modified Changelog-Trunk.txt modified src/map/clif.c modified src/map/map.h modified src/map/script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9261 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-18Calculation error in clif_parse_Wis.Lance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9254 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-17- Corrected use of the party invitation reply packet, thanks to FlavioJS.skotlex1-1/+6
- Removed requirement of "Changelog-Trunk" in the common/Makefile, why was it even there?? - Minor cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9251 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-17* Fixed potential hack by modifying packet of whispers.Lance1-2/+13
modified Changelog-Trunk.txt modified src/map/clif.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9249 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-17- Updated map_quit to handle removing of players who are not even ↵skotlex1-2/+6
authenticated yet. - New connection requests are now also blocked when there's a player already online but hasn't finished loading yet. - Because of these changes, the friendlist notification when people join has been moved to LoadEndAck from pc_authok git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9241 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-16* Edited atcommand and charcommand syntax. Now it doesn't need the useless ↵Lance1-9/+9
character name and ":". modified Changelog-Trunk.txt modified src/map/atcommand.c modified src/map/atcommand.h modified src/map/charcommand.c modified src/map/charcommand.h modified src/map/clif.c modified src/map/map.c modified src/map/script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9230 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-16- Overlapping song/dances will now cause dissonance/ugly-dance level 1 ↵skotlex1-2/+1
instead of retaining the level of their song/dance. - Fixed the misleading description of what item_avail does. - Fixed wrong check in @petrename, thanks to The Ultra Mage. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9228 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-14- Characters with Karma may fight amongst them anywhere.skotlex1-0/+72
- Added mapflags partylock and guildlock, which lock the state of the parties/guilds on said maps. partylock blocks user party requests to create/invite/leave/kick, while guildlock blocks user guild requests to create/invite/leave/expel/make alliance/make opposition/delete alliance/delete opposition/break git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-13- HP Conversion will fail when used at max SP. It should not display any ↵skotlex1-1/+8
errors to the client. - Modified yet again the login procedure. The initial status_calc_pc is invoked when the variable registries arrive, but the initial LoadEndAck will not be parsed until the registries have arrived. In the rare case this happens, pc_reg_received will take care of invoking the LoadEndAck function itself. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9208 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-13- Volcano/Deluge/Violent Gale are now interchangeable, in the sense that as ↵skotlex1-6/+6
long as one of these is out, casting any of the three will not consume gems, and will use the remaining time of the previous one. In turn, Land Protector will now always consume gems on every cast. - Small cleanup in the Land protector code which may fix it not blocking AoE skills. - Fixed the interpretation of "head_dir". Removed setting head_dir to match character direction in the whole code. Now it is only reset to 0 (look forward) when unit_setpos is invoked, or when a character begins walking. Thanks to FlavioJS for figuring out how the client parses the head direction. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9206 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-10- Fog of Wall will fail when casted on top of a Volcano/Violent Galeskotlex1-19/+22
- Applied FlavioJS's fix to the npc whisper system. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9190 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- The GVG map-packet will now also be sent for guild dungeon maps.skotlex1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9178 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- Did some cleaning in pc_authok and clif_parse_LoadEndAckskotlex1-88/+80
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- Some cleaning of the Gospel code.skotlex1-1/+25
- Added clif_gospel_info which displays info about the buffs you are receiving. Thanks to Rayce for the packet information. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9174 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- Moved the duel functions to pc.c since they are so totally out of place in ↵skotlex1-2/+4
atcommand.c - Fixed Spider Web not ending when hit by a fireelemental attack. - Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc) - Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp. - Moved the duel auto-reject on logout from map_quit to unit_free - Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event). - Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- Added a check to prevent casting ground skills on a target and vice-versa ↵skotlex1-7/+12
when said skill use packets are received. It really shouldn't be exploitable, but doing that certainly makes the server print a lot of "unknown skill used!" messages. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9163 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- Fixed map_foreachiddb and map_foreachpc so they don't encapsulate the ↵skotlex1-18/+35
variable arguments into a double va_arg list. Thanks to the Ultra Mage for the tip. - Cleaned up the clif_hate/mob_info functions with the correct fields/usage as explained by Rayce. - Implemented clif_feel_hate_reset packet to properly display the Angel of the Sun/Moon/Stars, thanks again to Rayce for the relevant information. - LP will again block all land-stuff from being placed down on top of it for the exception of Song/Dance/Encores. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-06- Ganbantein's delay is now 2 secs.skotlex1-5/+6
- Removed the time2 value of NJ_NEN since it has no use. - Removed the return code entry when logging GM reload-GM requests (login-sql),it'll just be stored as zero. - Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP. - Applied the correction on maprespawnguildid so that it parses ALL players and not just those on a map. - TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched ones) and Preserve will be unable to block this. - Soul Linkers are now inmune to SA_DISPEL - You can now place everything (except magic skills) on top of LPs. - Corrected Ganbantein to not touch song/dance/ensembles. - Status_calc_pc will refuse to execute if the player is still tagged as a "new connection" and the invocation is not meant to be the first one. - Swapped the order of checks in status_isimmune so that Wand of Hermod skill blocking takes precedence over GTB's - Client packets will all be ignored while a player is not on a map until the LoadEndAck packet is received. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9152 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-06modified src/map/clif.cLance1-1/+2
modified src/map/pc.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9149 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-30- Set the inf2 to encore skills of Wand of Hermodeskotlex1-37/+37
- Modified battle_calc_return_damage to take the skill id as well, now magic damage return will not work on skills tagged as ground or self targetted. - Fixed Gank not working at all with the default max steal tries setting. - Soul Drain won't work with skills tagged as self-targetted. - Improved the Suiton code so that the walk/agi penalty only applies to enemies of whoever casted the skill. - Moved the initial status_calc_pc call to when you finish loading the map, should fix equipment scripts which are based on character variables not working. - Some cleanup of the clif_parse_LoadEndAck function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9099 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25- Cleaned up some more the event dequeue code, it will no longer clear out ↵skotlex1-1/+2
the npc_id if there's no events waiting to be executed (why does it clears the npc_id anyway?) - Because of possible conflicts with this change and the on-login script, now the on-login script is executed when the player has finished loading into their start-up map rather than as soon as receiving the registry variables from the char-server. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9073 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-20- Fixed Charge Atk being able to go through chasm/pits.skotlex1-57/+47
- Moved the homunculus DB information from the player structure to the homun structure. Modified the homunculus creation packets to hold this information during creation, also, all initial values are handled by the map-server, the char server only assigns it a homun ID. - Removed target_id/attacked_id from homun_data as it wasn't really used. - Codes cleanup (removing of commented code mostly) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9031 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-16- Adjusted UTSUSEMI/BUNSINJYUTSU so that they block range/melee weapon ↵skotlex1-1/+0
attacks and only melee misc attacks. This isn't 100% correct, but it's a better approximation to the way these skills behave. - Corrected issen's range to 5, as per the login packet information. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9001 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-14Homun info window to display crit valueVicious1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8993 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-06- Disabling status abnormalities will now reset a mob's target.skotlex1-9/+1
- Mob morphing also resets their target now. - Monk combos no longer can ignore skill delay (delay skill for all their combo-related skills is ASPD) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8945 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-06- Now you can trade while in a chatroom.skotlex1-3/+3
- Fixed homun-txt reading when the file has DOS line-type delimiters (\r\n) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8944 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-04- Bowling bash now always hits twice regardless of situation.skotlex1-2/+9
- Added an underflow check to prevent sending to the client negative mdef2 value (for Frenzy'ed characters) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8934 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-03- Reverted declaration of run_script to normal since it appears there's no ↵skotlex1-4/+5
longer any memory leaks related to it. - Returned the MAX_PC_BONUS value to 10. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8928 54d463be-8e91-2dee-dedb-b68131a5f0ec