4640 Commits

Author SHA1 Message Date
skotlex
416f151368 - Fixed clif_sendfakenpc not being updated for PACKETVER 9
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12008 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 09:47:39 +00:00
skotlex
de7ce05609 - Fixed Music Lesson's effect on Assassin Cross of Sunset.
- Fixed a possible crash in status_change_timer when debug mode is disabled.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12006 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 09:33:24 +00:00
ultramage
6bf267e60e Changes to reduce the number of map cell types
- Pneuma now again works via status change (see r3969)
- removed unused CELL_SAFETYWALL
- removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 23:27:22 +00:00
ultramage
c2dfc595b1 Fixed npc unloading not clearing NPC touch cells (bugreport:595).
Added a comment to npc_unsetcells(), pointing out that it's most likely not scanning for cells correctly.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12004 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 22:00:59 +00:00
ultramage
8fdc689343 Map cell mechanism rewrite
- defined a data structure for map cells (replaces 3 various cell arrays)
- both terrain (gat) and dynamic (cell) information is now stored as C-style bit flags instead of #defines and bitmasks
- added map_gat2cell() and map_cell2gat() for terrain type conversions
- changing terrain information via 'setcell' is temporarily disabled
- mapserver startup now takes longer, as it needs to adapt mapcache data to internal representation, cell by cell (new mapcache format anyone?)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 21:36:40 +00:00
ultramage
8f1eaa3d67 Moved extra junk from map_addblock/map_delblock to where it logically belongs (loadendack/unit_remove_map), removed flags and _sub macros
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12002 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 20:56:20 +00:00
ultramage
ca115ffc82 Removed map_data's block_count, as (quote Yor/ja2160), "Perhaps useful for debug, but uses memory AND CPU for nothing." (block lists are linked lists, they don't need count tracking)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12001 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-03 20:43:25 +00:00
FlavioJS
7bc9d86651 * Fixed a crash in txt char-servers that the memory manager was hiding. online_char_db being used after being destroyed (since r4026)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11999 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-31 19:46:59 +00:00
FlavioJS
1c3b249328 * Added code to reject double logins in clif_parse_WantToConnection and added debug messages to detect possible double logins that escaped.
* Isolated accounts that are waiting for the quit ack. The rest of the game logic no longer has access to them though the id2sd/charid2sd dbs.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-31 19:23:34 +00:00
FlavioJS
b465fb5f30 * Fixed get_val2 not using the stack, which automatically frees the data, causing memory leaks for string variables since r11976. (bugreport:723 , part of bugreport:714 and part of bugreport:708)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-30 21:14:09 +00:00
FlavioJS
94ad564ec8 * Trully fixed the previous commits. (missing casts and incomplete sizes)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11996 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-30 06:36:50 +00:00
FlavioJS
e535c63a84 Fixed a mistake of the previous commit (r11994). Was reading the size in the wrong place.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11995 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-30 06:10:20 +00:00
FlavioJS
382233178c * Made the memory manager set allocated memory to 0xCD and freed memory to 0xDD. The memory manager no longer 'hides' uses of freed memory.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11994 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-30 05:43:51 +00:00
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