3877 Commits

Author SHA1 Message Date
ultramage
f96f0d27a9 Removed the hardcoded limit for numeric npc input boxes (bugreport:811)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12074 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 12:01:58 +00:00
ultramage
1859b5e45a Applied a temp patch to make some npc-executed atcommands work again (bugreport:790).
Added support for right-click-gm-menu kicking NPC objects.
Removed redundant function npc_checknear2().

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12073 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 11:34:59 +00:00
ultramage
d5455fabfc Simplified the BL_CAST macro (see topic:166795)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 08:54:54 +00:00
skotlex
f70624598f - Fixed a compilation warning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12071 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 23:28:38 +00:00
skotlex
fb100b2f09 - Fixed dangling pointer crashes when bleeding or Deadly poison kills a spawn-once monster.
- Fixed a possible ERS entry corruption when Deadly Poison kills a target that has kaziel active.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12069 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 23:06:06 +00:00
skotlex
16305634d6 - Removed the sc_start_abort define. Since now when a status already exists, it is not modified in any way (no timer deleted, no sc->count reduced), it is completely safe to allow a simple return from within the rest of the function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12068 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 10:40:46 +00:00
skotlex
0f7c4f24f3 - Fixed a possible ers_entry corruption if you die from bleeding while under the effects of kaizel.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12063 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 03:08:36 +00:00
skotlex
418f5b1059 - Updated Safety wall so it does not blocks melee magic.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12062 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 02:52:06 +00:00
FlavioJS
04d47e8c6d * Another possible fix to ers/status_change crashing.
- same logic as r12058 but in status_change_timer.
- look out for this error: "[Error]: status_change_timer: Unexpected NULL status change id: ### data: ###"
  getting it means that a crash was avoided and the culprit found.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12061 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 02:40:39 +00:00
FlavioJS
4b4a7ef2a0 * Modified npc_parsesrcfile to read the file as binary and let sv_parse handle LF/CRLF line endings.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12059 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-12 17:21:41 +00:00
FlavioJS
a85a22d75a * Possible fix to ers/status_change crashing. [FlavioJS]
- this patch is untested. Didn't find anyone willing to test it and I can't reproduce the crash so can't test the patch.
  symptom:
   status_change_entry.timer is being modified after the entry is freed.
   ers uses that memory location as a pointer when the entry is freed, it crashes when accessing the contents when it points to an invalid location.
  assumption:
   status_change_start starts an already existing status.
   as a consequence of something called inside status_change_start the status is ended.
   when the sce is finally being modified, it's modifying a freed entry.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12058 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-12 17:12:23 +00:00
ultramage
6635c98756 Patched a mistake in r12043 that caused inter-server connection problems when check_client_version was enabled.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12055 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11 14:48:45 +00:00
ultramage
68659bc0c4 Applied Skotlex's alternative to r12044 (abracadabra fix)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11 13:13:35 +00:00
skotlex
da34bd4811 - Implemented the extra damage bonus to TK_JUMPKICK when it is used while running (however what the bonus's equation is has been lost to time, so someone else correct it).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12053 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11 13:00:27 +00:00
skotlex
114f7e13e3 - Corrected CR_CULTIVATION to cause summoned plants to expire after 5 minutes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12052 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-11 10:36:56 +00:00
skotlex
ced9aada8c - Fixed getmonsterinfo to return "null" when returning the name of a non-existing mob instead of -1.
- Extended the status_percent_damage define to include a bolean to specify whether or not the target can be killed from it.
- Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on it already.
- Changed the meaning of 'flag' in status_percent_change, to enable differentiation between damage that can kill the object and damage that cannot.
- Script command percentheal will no longer kill the player if the specified amount is negative (and not -100).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 22:02:33 +00:00
ultramage
787512d6db Fixed Abracadabra unable to cast non-targeted skills (bugreport:186)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12044 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 18:14:59 +00:00
ultramage
fafb4b8476 Another round of login server cleaning
* fixed passwordencrypt on SQL not behaving correctly (since r10753)
 * corrected some column lengths in the login db (username, password,...)
 * fixed some places which used wfifo without first reallocating it
 * removed interserver packet 0x7532 (Request to end connection), as there was no code that actually sent this packet
 * moved RFIFOSKIP actions to execute as soon as possible

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12043 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 15:35:23 +00:00
skotlex
614c28dbf9 - Removed 'skill_steal_type' from skill.conf as said config no longer exists.
- Corrected @slaveclone/@clone behaving as @evilclone when you change the @ symbol.
- Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they were card granted bonuses.
- fixed a SA_DISPELL crash when casted on an object with no status changes.
- Adjusted the autospell code so that it does not relies on card_id == 0 for subtracting rates.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12041 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 13:10:13 +00:00
skotlex
5c4212300a - corrected duration of sphere mines to be 30 secs regardless of skill level
- Corrected duel_count/duel_list (you DON'T place variables in a .h file! That is what 'extern' is for)
- Script command warpportal now places a warp in its initial state (as if a real warp portal was casted)
- Updated dispell to also not remove the following effects: Hindsight, Inc Hit/Atk Rate (NPC_POWERUP), Nen, TK stances and tumble, warm and speedup1 (the other speed potion)
- Chase-walking characters can now loot.
- Hiding characters can't drop items now. 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-09 16:08:57 +00:00
ultramage
b3696e2e03 Added missing session auth checks to charserver.
Packets from non-authed clients will now be discarded.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12034 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 14:30:28 +00:00
skotlex
9a2033c364 - Made the pc reg variables receive a const char* as the argument, since they duplicate the value anyway (and they were receiving const char* values from the setd function)
- Fixed Wand of Hermod not starting the SC_HERMOD status change (which blocks spells)
- Fixed a missing break in the cast cancel code.
- Fixed additional def/mdef from vit/int bonuses being lost when a status change that affects def/mdef triggers (for homunculus)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 13:30:43 +00:00
reddozen
25aebd3e08 git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12031 54d463be-8e91-2dee-dedb-b68131a5f0ec 2008-01-08 00:29:33 +00:00
ultramage
d3ff689c2b Added missing code to log main chat messages sent by whispering to main_chat_nick (bugreport:424)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12030 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 00:24:35 +00:00
skotlex
38dd2f2fde - Fixed Overthrust's timer not being able to be refreshed when recasting it (conflict on what val2 should mean)
- Changed the code in status_change_timer so that a null pointer no longer causes a crash but prints an error instead.
- Corrected clones not copying over a player's skills properly.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 23:48:13 +00:00
ultramage
67cb0da56c Corrected a TXT compilation problem caused by r12023 (mail system code is not present in TXT builds).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12026 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 23:01:58 +00:00
ultramage
0848355f90 Extended the id range for npcs, now [400,700) will also be treated as NPC objects (see topic:170845 and bugreport:727).
Silenced a compilation warning.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12025 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 22:08:23 +00:00
ultramage
a4007e12d4 Expanded the poor "npc_touch_areanpc : some bug" with info about which cell exactly caused the problem.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12024 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 21:14:54 +00:00
zephyrus
825d214242 - Fixed a visual itemdupple bug on mail system.
- Fixed Overthrusth status cannot being recalled at same skill lvl.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12023 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 16:43:02 +00:00
ultramage
144afd8189 Cleaned up mob_once_spawn() and mob_once_spawn_area().
- now they use mapid instead of mapname as input parameter
- moved the responsibility to perform "this" -> mapid resolution to the caller
- added a pair of swap() operations to prevent working with a negative-dimensioned area (fixes bugreport:87)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12022 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 16:37:06 +00:00
ultramage
65834585a8 Modified showmsg code to not attach a timestamp to MSG_NONE-type messages, generated by ShowMessage(). It now works exactly like printf().
Removed/replaced all printf calls in the code.
Added a new flag to setting 'console_silent', for filtering debug messages.
Silenced the "Broken pipe found" and "Server running in debug mode" messages.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12020 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 14:19:26 +00:00
ultramage
f0038722a3 Corrected one place belonging to the no-stacking mod that I missed when doing the mapcell update (followup to r12003).
Added info from newest clients to packet db.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12015 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-05 21:41:22 +00:00
ultramage
23e02001cf Fixed a bad allocation line, which in my case resulted in trashing several ingame objects when doing @reloadmobdb.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12013 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 19:39:02 +00:00
ultramage
51e05f0fcf Fixed a typo in r12008 causing server crashes when sending the fake npc packet.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12012 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 17:11:01 +00:00
ultramage
24ee182b90 Waterball code cleanup (see bugreport:707)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12011 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 16:57:53 +00:00
ultramage
c29f4e1823 Fixed a mistake in r11991 that let knockback work through walls
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12010 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 13:00:49 +00:00
ultramage
e7bb626a80 Modified the map_setcell() code to to use a boolean flag instead of needing SET_ / CLR_ pairs of defines (topic:174323).
Also removed script object 'setcell', added script function 'setcell'.
- Now you can manipulate cell information without needing @loadnpc
- You can also manipulate the terrain ('gat') type itself, using the new cell_walkable, cell_shootable and cell_water constants
  (currently the implementation uses bit flags too, so to get the type you want, you need to adjust the flags one by one)
- This breaks current scripts, so please adjust places that use setcell
  (also be sure to _only_ use predefined constants, not direct numbers)
- Details can be found in the script reference.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12009 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 12:41:49 +00:00
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