2783 Commits

Author SHA1 Message Date
skotlex
722b1689e3 - Changed clif_blown to use fixpos again as per aegis packets.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9402 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04 16:08:42 +00:00
skotlex
1424d93e12 - Repairing items via scripts no longer displays "item has been repaired"
- Status Recovery again makes mobs unlock their current target.
- Moved requesting party/guilds from the char-server from pc_authok to pc_reg_received, since map_nick2sd and map_getallsd won't work until the characters are authentified. Also removed the guild master setting from clif_parse_LoadEndAck to pc_reg_received since guild master setting will work there.
- Fixed homun hunger timer being started on login even when hom is vaporized/dead.
- Fixed mvp exp attacker bonus applying incorrectly.
- Removed duplicate msg_athena.conf entries 619 and 620 for Ninja/Gunslinger.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9401 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04 15:37:09 +00:00
skotlex
0043aed5fd - Fixed the txt->sql converter not escaping character names before saving them.
- Fixed a pet's level not resetting to their db level when you enable pet leveling and later on decide to turn it off.
- Fixed a bad initialization in pc_setnewpc
- Fixed restricted equipment not updating your view info after they are unequipped.
- Removed a bunch of extra text/checks when ignoring characters (/ex) when Aegis does none of these checks. /inall now wipes your ignore list (it does this on Aegis, too).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9400 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-04 13:59:42 +00:00
skotlex
231f495291 - Removed sd->sex since it's redundant (we can always use sd->status.sex)
- If somehow a player logs out and it's saved with 0 hp, on login his state will be set to dead as well so he can respawn (otherwise that leads to a stuck char)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9398 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03 19:46:43 +00:00
FlavioJS
7831807dc5 - Fixed even share exp flutuating as described in:
http://www.eathena.ws/board/index.php?showtopic=126139
  thanks to TheUltraMague for the fix.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9397 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03 19:23:27 +00:00
FlavioJS
5d65da8e0c - Made ers double frees report as missing entries on destruction.
- Only one swap function (in cbasetypes.h) is used.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03 16:50:58 +00:00
Lance
e82fd31056 * Added buildin_checkvending and buildin_checkchatting.
modified   Changelog-Trunk.txt
modified   src/map/script.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9395 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-03 09:37:36 +00:00
Lance
ffbcbb0b54 git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9394 54d463be-8e91-2dee-dedb-b68131a5f0ec 2006-12-02 23:47:21 +00:00
Lance
90352e92a2 * Enabled atcommand parsing for clients with Korean langtype and version.
modified   Changelog-Trunk.txt
modified   src/map/atcommand.c
modified   src/map/charcommand.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9393 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02 18:22:37 +00:00
FlavioJS
09f54754c7 - Added missing min/max definitions to cbasetypes.h, needed for the @send change.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9388 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02 04:41:23 +00:00
FlavioJS
b522ca0cdc - Replaced @send with the version I use for testing packets.
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://svn.code.sf.net/p/rathena/svn/trunk@9387 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02 04:21:35 +00:00
skotlex
8e68089e85 - Fixed passive mobs becoming increasingly unlikely to retaliate to attacks after they got inflicted by a disabling status change.
- Changed the "is_boss" define to check for mode MD_BOSS instead of giving mvp exp.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02 01:49:27 +00:00
skotlex
2de8486627 - Fixed txt-converter compilation.
- 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://svn.code.sf.net/p/rathena/svn/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01 17:17:09 +00:00
Lance
b59e7b8596 Minor tweak in
modified   src/map/script.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9373 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01 04:06:18 +00:00
skotlex
7f67461a49 - Added a missing map_quit in clif_parse which was the real reason for the 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://svn.code.sf.net/p/rathena/svn/trunk@9368 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29 20:54:55 +00:00
skotlex
b421d38216 - Added overflow protection to @main whisper parsing.
- Fixed a bug in slaves_inherit_speed
- Miscellanous silly cleanups (format, unnecessary assignments, comments, etc)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29 20:11:12 +00:00
FlavioJS
636089bb3a - Probably fixed the Segmentation Faults we've been having.
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
2006-11-29 20:07:22 +00:00
skotlex
72ee155c06 - Fixed the new npc parsing code not accounting for windows-style line terminators, which as a side effect messed up mapflag parsing if the file had windows-style terminators, which coincidentally was the case for the nopvp file, which unfortunately meant that all towns became pvp!
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9363 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29 18:41:31 +00:00
skotlex
02330c9d81 - Fixed (likely) deleting homs from the menu causing a double free'd error.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29 16:32:50 +00:00
skotlex
19b4efdc6c - HT_PHANTASMIC no longer knocks back even when it misses.
- 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
2006-11-29 16:09:54 +00:00
skotlex
c22f5854dc - Now gvg_dungeon mapflag will activate the other mapflags which are 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://svn.code.sf.net/p/rathena/svn/trunk@9360 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29 15:22:47 +00:00
skotlex
e4e42fbcb7 - Some cleaning on the homunc speed calculating code, so that it correctly uses the default walk speed if the player has no speed yet.
- 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
2006-11-29 14:18:20 +00:00
skotlex
0f2e649828 - Fixed a typo which made the wedding_ignore_palette setting not work when you log on with them equipped
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28 21:14:42 +00:00
skotlex
e23391b60d - Increased line buffer size when parsing scripts. Helps when trying to define pretty big shops.
- 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
2006-11-28 20:11:54 +00:00
skotlex
e3615a4cb5 - Reverted the previous SG freeze counter method. Now the counter is reset on status_change_clear.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9351 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28 19:48:24 +00:00
skotlex
228979981d - Moved the blocking of casting supportive skills on homunculus from battle_check_target to status_check_skilluse as bct is not invoked unless the skill is offensive (or party/guild only)
- 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
2006-11-28 19:07:38 +00:00
skotlex
9692efa6f0 - Fixed a possible crash due to the recent core.c upgrade.
- 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
2006-11-28 16:26:08 +00:00
skotlex
b06ebc1719 - Modified the way Storm Gust freeze's counter works. Now it checks for the caster of the Storm Gust, if it's the same as the previous hit, the counter is increased, otherwise, the ID is updated and the counter is changed to 1.
- Fixed always receiving at least 1 bexp/jexp even when the mob gives no exp at all.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9345 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28 13:42:49 +00:00
FlavioJS
1e8a3bcd3f - Changed write to send as suggested by TheUltraMage in:
http://www.eathena.ws/board/index.php?showtopic=105417
  Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
- Server name in core.c skipping '\\' characters.
- Memory allocation functions using file,line,func from the invoking functions.
- Other minor changes in malloc

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9344 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28 13:31:22 +00:00
skotlex
4f70932567 - Now when a player's "attack once" request fails due to range, the client is told to move to the target to attack it. This sort of fixes the problem of the client SPAMMING the server with attack requests from afar without even approaching the icewall x_X
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9340 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28 04:18:48 +00:00
skotlex
4fe7389fb0 - Updated the status change field "option" to an int rather than short. This 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://svn.code.sf.net/p/rathena/svn/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 21:32:32 +00:00
skotlex
83748da27b - Fixed the Homunculus hungry timer not starting on login.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9336 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 20:50:23 +00:00
skotlex
436a8a53cb - Fixed clif.c dumping unknown packets by default... (oops, used an #ifdef where an #if had to go)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9335 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 20:38:16 +00:00
KarLaeda
fbb36710c3 Added logging for standard GM commands (/mm /b /kick etc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9334 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 20:34:52 +00:00
skotlex
bdc1679c54 - Some cleanups on the trade_additem function. When specifying a qty of 0, an ack will be returned to the client so it doesn't gets stuck.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9331 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 19:32:51 +00:00
skotlex
00409a92bb - Corrected KiriKage's range so it works correctly when used by non-players 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://svn.code.sf.net/p/rathena/svn/trunk@9325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-27 14:58:50 +00:00
skotlex
3992c59b87 - Fixed missing line in status.c which explains why NPC_DEFENDER wasn't quite working yet.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-25 13:19:02 +00:00
skotlex
f9e9983ae1 - Heaven's drive no longer targets traps.
- Some minor cleanups


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9316 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 21:30:38 +00:00
skotlex
d5de96b257 - Cleaned the opt3 values to use hex instead of decimals in status.c, removed theconstants in status.h since each opt3 value can mean many different things.
- Homunc's min matk is now always equal to max matk


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9315 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 17:18:56 +00:00
skotlex
5cd713758c - Fixed EDP's damage being 100% more than it should (should be 5x, not 6x on normal attacks)
- 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
2006-11-24 16:50:23 +00:00
skotlex
1c02640811 - Likely fixed Homunculus not disappearing the second their intimacy hit 0.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9313 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 16:04:40 +00:00
skotlex
75ebff35c4 - Some cleaning of the pc_authok, clif_WantToConnection functions. Also some cleaning of the logout messages and some other cleanups in clif_parse
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9312 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 15:55:25 +00:00
skotlex
9db096c861 - The check that blocks the skill AL_TELEPORT on noteleport maps will be 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://svn.code.sf.net/p/rathena/svn/trunk@9311 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 14:49:55 +00:00
skotlex
964ede96d5 - Fixed uninitialized variable fd being used in WFIFOHEAD in a few clif 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://svn.code.sf.net/p/rathena/svn/trunk@9308 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 13:53:21 +00:00
skotlex
cfee0ccf63 - Added all the missing FIFOHEADs in the login/sql servers (required for 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://svn.code.sf.net/p/rathena/svn/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 12:41:38 +00:00
Lance
05b2d83b43 * Completed Reddozen's hanging mapwarp code to support party and old syntax.
modified   Changelog-Trunk.txt
modified   src/map/script.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9305 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-24 05:25:01 +00:00
skotlex
73379857e2 - Made WFIFOHEAD() check for available buffer size remaining on the 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://svn.code.sf.net/p/rathena/svn/trunk@9297 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-23 15:33:51 +00:00
skotlex
be7935af91 - Modified slaves_inherit_speed and slaves_inherit_mode so you get better 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://svn.code.sf.net/p/rathena/svn/trunk@9294 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22 20:32:25 +00:00
skotlex
01d8d4dfbe - Recoded @send so that it uses clif.c instead of doing all the WFIFO stuff 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://svn.code.sf.net/p/rathena/svn/trunk@9293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22 16:34:34 +00:00
skotlex
cef4b48a16 - Fixed the homunc hungry timer being started when the homun data is received from the char-server and the homunc is NOT 'active'.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9292 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-22 13:53:49 +00:00