Description: A player quits and it's session is freed and set to NULL,
but the char server already sent a packet with player information
(registers, storage, ...). If a message is sent in consequence of
updating that info, a segmentation fault happens because
session[sd->fd] is already NULL.
Fix: make shure the session of the target player is valid before
processing the rest of the char server's message.
- Some minor cleanups.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9366 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Earned exp by dead homuns will now be lost (same treatment as earned exp from players that died)
- Some minor cleaning in mob_dead
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9361 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9360 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Some speed up code when loading status changes (use a pointer instead of memcpy'ing all the time)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9359 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied The Ultra Mage's patch to use strict npc header formatting parsing. Updated the relevant stock scripts/mapflags that didn't conform to the standard.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9352 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int bonuses skills making their atk/def/mdef stack with itself over and over.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9350 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9347 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9325 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Self Destruction will only hit everyone and not just enemies when used by mobs (non marine spheres) unless the map is a versus map.
- Spider Web's duration is now halved on players (before it was halved in pvp maps only)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9314 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9311 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9308 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec