- Re-applied change r9593 that got accidentally reverted by r9595.
- Added the official behavior of monsters regaining full hp when they morph.
- Added support for text/comments at the end of monster spawn lines (<tab> required)
- Silenced the debug message in socket.c that's been freaking people out.
- Modified the useless error message in atcommand_effect.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed getitem trying to get <character ID> from the wrong argument.
- Now getitem can be run on scripts without a player attached if <character ID> is specified.
- Now the two last arguments of guardian are optional and independant of each other ("<event label>" and <guardian index>). This way the previous implementation and script_commands definition are still valid code.
- Now buildin function names and argument definitions are checked for validity before adding the function to the script engine.
Argument definitions follow the pattern:
(v|s|i|l)*\?*\*?
v - value (string or int)
s - string
i - int
l - label
? - one optional parameter
* - unknown number of optional parameters
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9599 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- Removed search_str from add_str (add_str already searches for the string).
- Native script words like do,while,for,... are case insensitive now.
- Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better distributions).
- Added alternative hash implementations to the script engine (to try out later).
removed int_homun.c from header section of the VS8 map project files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
"Basically what I did was perform simple one-liner substitutions for ugly repetitive blocks of code. The most apparent are the send/recv code and the other basic socket calls."
- flush_fifo is non-blocking now. I guess best effort is good enough...
- Copied header files from vcproj-7.1 files to vcproj-8 files.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9570 54d463be-8e91-2dee-dedb-b68131a5f0ec
- clif_parse_TickSend is sent immediately so the client gets accurate "pings"
Note: in Changelog, for my changes, if they're grouped together and in the same day I'm only gonna "sign" the bottom line.
All unsigned lines are assumed to be from the same person of the previous line (below). (easier searches =P)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9443 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed the interserver link reserve size being 8 times instead of 1/8th the default size. Changed it to be 1/4th as well.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9411 54d463be-8e91-2dee-dedb-b68131a5f0ec
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
- 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
- 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
- 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://svn.code.sf.net/p/rathena/svn/trunk@9152 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Made Global chat always reply back to you even on @/# commands, this prevents the client from muting yourself due to "hack". However, this same fix isn't easily applicable to @ commands invoked from whispers or party/guild messages, those are still pending.
- Some fixes in socket.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8801 54d463be-8e91-2dee-dedb-b68131a5f0ec
- The new code includes support for two config settings (packet_athena.txt): frame_size, which can be used to alter the logic packet-size allowed by the code, and mode_neg, which when set to yes, sets TCP_NODELAY on all connections (defaults to yes).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8799 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied said function around most of the code where needed. Removed includes for the OS/network system pretty much from every file (our socket.c file should handle this)
- Added clif_getip_long, which returns the ip as a long. Prevents having to include the files to define the int_addr structure in all files that include clif.h
- Made the GM mute request bypass the manner_system setting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7285 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
- status_percent_change will now account for when the target's max hp/sp is above INT_MAX.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7281 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed unused checks for unsigned data type and possible logic error for char type (gcc treats char as unsigned).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6814 54d463be-8e91-2dee-dedb-b68131a5f0ec
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Removed some old eA code that was causing Frost Nova to do an extra hit
* Corrected Vulcan Arrow's hits in skill_db
* Readded zlib and zconf .h files to under /lib
* Fixed some compile errors in Windows
* Changed remove_control_characters back to supporting korean chars
* Moved some other code around
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1125 54d463be-8e91-2dee-dedb-b68131a5f0ec