3877 Commits

Author SHA1 Message Date
FlavioJS
4c54d4923f * Fixed two missing @LDFLAGS@ in src/plugins/Makefile.in.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11993 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-29 23:18:20 +00:00
ultramage
470a56dbea Implemented THE official Steal skill equation and game mechanics (basically version from /stable plus a few tweaks) (see topic:116540).
Added missing bAddStealRate reference to doc/item_bonus.txt.
Removed skill_steal_rate, as it was never used in the code (see r231).
Removed skill_steal_type, it's just a one-liner source mod (see r231).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11992 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-29 22:30:29 +00:00
ultramage
bad3a0c04e Knockback now works through cells where there is a diagonal path, but no horizontal+vertical alternative (like two perpendicular icewalls with a gap where they 'join').
Some dead code removal in path.c.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11991 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-29 20:12:46 +00:00
FlavioJS
bbf60788db * Fixed a memory leak in memitemdata_to_sql.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11989 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-28 18:53:56 +00:00
FlavioJS
548e1bfd28 * Reverted a bad modification in clif_produceeffect from r11290.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11988 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-28 14:43:15 +00:00
ultramage
d75169014a Removed an incorrect range check and fixed a copypaste typo which caused script engine errors / crashes (see r11984)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11987 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27 18:45:33 +00:00
ultramage
f16dcdf4d5 Re-added a missing mob last_thinktime timer initialization when a mob spawns, causing mob AI to freeze (mistake in r11964)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11986 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27 18:00:29 +00:00
FlavioJS
b6c11a8282 * Corrected description of scope and npc variables in script_commands.txt.
* Made temporary character string variables not have a limited length. (now all temporary string variables don't have limited length)
* Made temporary character variables reuse free positions.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11984 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27 05:47:50 +00:00
FlavioJS
4dcf5bb0b9 * Tweeked the declaration and initialization defines for vectors.
* Made do_sockets leave the for loop as soon as the readable number of sockets returned by select is found.
* Made all posix compliant systems that support it and FreeBSD >= 5.1 (implements it but doesn't have the posix defines) use the precise and consistent tick() implementation.
* Minor tweek to HEAP_SEARCH (same variable can be used in from and to).
* Fixed the map server not exiting when make_listen_bind fails and returns -1.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11983 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-27 03:35:57 +00:00
ultramage
a91d8177c6 Fixed the incorrect interpretation of the map-cell height information stored in .gat files; this was causing an overall of 20000 cells to be treated as water when officially they aren't.
A full mapcache rebuild is needed to apply this change.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11982 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26 21:51:58 +00:00
ultramage
7906017662 Moved distance-related functions to path.c/h
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11981 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26 17:18:57 +00:00
FlavioJS
214feac880 * Fixed string variables dereferencing directly to the value instead of dereferencing to a copy of the value. (fixes bugreport:684 bugreport:641)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11976 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-26 00:55:27 +00:00
ultramage
67088ee436 some minor cleaning of player variable loading/saving
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11975 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-24 22:51:43 +00:00
FlavioJS
70ca76a770 * Added a generic vector implementation (dynamic array) based on defines.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11972 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23 18:05:29 +00:00
skotlex
1d73a777c6 - Fixed horrible handling of skill_abra_db which leads to memory corruption (depending on the contents of yor abra_db.txt file)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11970 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23 16:32:45 +00:00
skotlex
81e5c08f4f - Fixed warning about unused variable
- Made the kaahi heal timer function uncrashable.
- Fixed pc move item to cart function checking against the wrong max index.
- Fixed initialization of sd issue in map_addblock
- Removed redundant reinitialization when parsing item pickup.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11968 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-23 11:06:58 +00:00
ultramage
f9c52aa0aa Fixed droprate overflows when going over rate 2000x
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11966 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 21:24:40 +00:00
skotlex
146ca072bb - Corrected mob spawn utilization of the delay1/delay2 values (one is respawn delay base, the second is random variance added on top of it). Cleaned up related code.
- Changed abit map_add_block to prevent adding a player object which is invalid (not authed, waiting to be disconnected)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11964 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 18:08:37 +00:00
ultramage
e0611bf8b5 Fixed server not always sending the correct level values to the client.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11963 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 17:30:49 +00:00
ultramage
08980b13b3 Fixed non-skill splash attacks showing 'unknown skill' (bugreport:665)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11961 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 16:05:47 +00:00
ultramage
0d011cc9b2 forgot path.h ._.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11959 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 13:05:51 +00:00
ultramage
b3b275f24f Path code cleaning...
* Added map/path.h, moved path-related function headers to path.h.
 * Removed the macroed _real() path functions.
 * Modified some functions to use boolean return values instead of 1/0 or 0/-1.
 * Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead).
 * Removed an unused ->path_half member variable from struct walkpath_data.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 13:00:48 +00:00
ultramage
db3db2c2e5 Fixed mob AI code iterating over non-mob objects without checking, when monster_ai flag 0x20 is set (caused by r11943)
Cleaned up macros that wrap unit_stop_attack() (bugreport:357)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11957 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-22 09:00:57 +00:00
ultramage
9a8739d28e Fixed some formatting glitches in atcommand.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11956 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 22:15:27 +00:00
ultramage
6730ae32cc Fixed yet another buffer overflow, in @adopt
(caused by a conflict between a mass replace in r2207 and very dumb variable reuse in r1316)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 20:56:37 +00:00
skotlex
c5415465da - Corected the SC_MIRACLE + Anger code using the wrong skill level to calculate damage bonus.
- Corrected SC_MIRACLE to trigger Bless of the Stars on all defeated mobs.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 16:41:56 +00:00
skotlex
a6875211ef - Fixed skill name for skill 39 (MC_PUSHCART)
- Corrected some formatting in a few entries in skill_db (TODO: if you really want to format the file to have file names aligned, spaces should be used instead of tabs, like it was done for GD/HLIF skills!)
- Corrected placement of leveled up mobs bonus exp
- Fixed a possible crash when parsing MSC_MASTERATTACKED mob skills.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11949 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-19 13:10:48 +00:00
ultramage
ff2ae0fe05 Fixed a possible buffer overflow in @partyoption code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11947 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 22:06:36 +00:00
Playtester
4703cc8e2e * Updated respawn time interpretation according to latest kRO update
- this first time is the "min respawn time"
- the second time is the "variance" which is added to the "min respawn time"

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11946 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 21:22:29 +00:00
skotlex
ece12b6e42 - Cleaned up a bit the format of skill_db.txt (that comma next to the skill name looks ugly if you ask me)
- Corrected skill_db reading to properly trim the skill name/descs.
- Added a mobid_db in map.c to handle mob lookups faster.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11943 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 15:45:48 +00:00
skotlex
ace81763bc - removed redundant clif_hominfo line in merc_hom_dead (it was sent already from hom_damage)
- Item usage is now blocked while hidden.
- Moved the bladestop/berserk check from clif_parse_EquipItem to pc_equipitem


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11942 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 15:01:18 +00:00
ultramage
11f67e9099 Fixed a glitch where the TXT charserver would not unlock castle.txt after creating it, thus preventing it from being saved correctly.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11941 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 14:46:19 +00:00
ultramage
acad1ac4dd minor code tweaking
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11936 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 09:13:01 +00:00
ultramage
5790585d16 * Added flag.server to indicate interserver sockets
- replaces the previous way (setting 'client_addr' to 0)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-17 13:23:34 +00:00
ultramage
86b5e0c6f6 Replaced the 'map name' castle data variable with the equivalent 'map index'.
Optimized the castle lookup functions (direct dbmap enumeration, and no redundant operations inside the searching loop).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11918 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-16 21:00:36 +00:00
ultramage
950e40ed47 Some more guild code reformatting (moved do_init_guild() to the end of guild.c, cleaned up and documented the castle/guild/member lookup functions, fixed a compilation warning...)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11917 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-16 13:50:50 +00:00
ultramage
d68cc86799 Fixed one query that I missed when doing r11915
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11916 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-15 07:57:36 +00:00
ultramage
1e6922174e Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 23:38:11 +00:00
ultramage
a772e3699d Added a precise and consistent tick() function for freebsd (see bugreport:240)
(TODO: apply it to multiple platforms using an appropriate configure script)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11912 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 10:52:51 +00:00
skotlex
aa83de997f - corrected Option_Xmas value in const.txt
- Wand of Hermode now dispells buffs only of allies.
- Fixed some null pointer checks in status_change_end.
- Corrected a crashy Warning message.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11910 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 02:57:54 +00:00
ultramage
822ba1ddd7 Fixed a mistake in r11895 where guild invitation data was being cleared too soon, causing a check to fail when confirmation arrived from the charserver.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11902 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 23:29:41 +00:00
FlavioJS
9bfc5b4425 * Fixed possible segmentation faults in the script engine.
- some strings that can be freed outside the script engine were being pushed into the stack as constant strings

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11901 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 21:42:38 +00:00
FlavioJS
ef54f5d793 * Disabled ers until recent crashes are fixed.
- ers entries are being corrupted, probably by modifying them after they are released or by releasing something else

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11900 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 18:50:48 +00:00
FlavioJS
02d21582a6 * Abstracted the windows socket code so that all fd's are in the range [1,FD_SETSIZE[. (bugreport:604)
- The socket of a fd is forgotten when executing sClose, so things that depend on the socket (like sFD_CLR) must be executed before closing.
* Replaced the fd_set of the short list with a custom implementation (works like the linux fd_set).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11897 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-13 16:32:58 +00:00
ultramage
2af4a7f61b Some more tweaks to the guild code
- unrolling of foreach()/_sub() pairs using db iterators
- usage of ARR_FIND instead of for()/break;
- old function header adjustment

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11896 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 14:18:46 +00:00
ultramage
8be1c4d48c * Some preparations for the guild script update
- cleaned up npc event execution code
- cleaned up guild data loading/saving code; to be improved later
- removed dummy 'account name' expulsion list management code
- removed columns 'rsv1' and 'rsv2' from guild member data
- removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- added upgrade_svn11895.sql for SQL

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:55:13 +00:00
ultramage
e464c81aea Removed the badly designed/unfinished guild_check_conflict() data integrity check (that wasn't actually being used up 'till now).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:41:51 +00:00
skotlex
9d353fba9b - Added query_logsql script command to perform sql commands using the log db connection.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11892 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 22:37:07 +00:00
skotlex
4adcab437f - Status change start will now fail when invoked on players that are disconnecting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11891 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 22:06:36 +00:00
ultramage
ef8bf03761 Fixed TXT charserver attempting to do a guild master change instead of an integrity check whenever a new guild member gets added.
See revisions r3185 and r3719 on how the code arrived into such a state...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11890 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-11 21:01:55 +00:00