616 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
cd8c03aa81 Changed Cloaking to not show an animation when it fails (thanks to Harbin for pointing it out).
And while at it, also tweaked skill_check_cloaking() to use a more readable boolean logic instead of the previous zero-nonzero.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11877 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09 20:39:06 +00:00
skotlex
9ca2a6c0dd - Changed the chaotic delay from block to delay since it just a sec
- Fixed the longing for freedom check in unit_can_move
- Corrected a check while parsing refine_db.txt


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11870 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-08 17:09:24 +00:00
skotlex
e823c2e3eb - removed the timer heap correction code when the timers overflow since Flavio points out that it is not needed.
- Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards.
- Cleaned up #changesex
- Signum Crucis now works on bosses.
- party_recv_data will not set the sd pointer for not-yet-authed characters.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 08:44:52 +00:00
skotlex
655100c9e2 - Made the struct weapon_atk lhw in status_data a static member rather than a pointer as requested by Ultra Mage.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-05 13:16:37 +00:00
ultramage
2b186ae7b8 Fixed some minor inconsistencies in homunculus packets, in an attempt to make the lvl99 aura show to owner onSpawn.
Still doesn't work as there appears to be a complex packet order dependency...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-02 16:29:37 +00:00
skotlex
7ca3198824 - Applied the required changes to handle def as a signed char (allows for negative def)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11837 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 13:13:42 +00:00
skotlex
8463446738 - Reverted the position of the max_hp/max_sp basic setting, modified the max_hp/max_sp bonuses to use casting in order to work correctly with negative bonuses.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11832 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-28 10:50:31 +00:00
skotlex
b06c88e70f - Moved basic max HP/SP calculation to before parsing equipment, fixes negative absolute HP/SP bonuses not working.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11819 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 09:38:38 +00:00
skotlex
ddf923dba5 - Changed the status_change structure to use dynamic rather than static memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption.
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22 23:52:58 +00:00
skotlex
6840bb28ab - Moved subtype from struct block_list to struct npc_data.
- Fixed some compilation warnings.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 13:29:45 +00:00
skotlex
53d5219da6 - removed 'skill_fail' message when a ground skill fails as that caues double 'skill failed' messages in several instances.
- Corrected shop freeing using free instead of aFree ,causing memory leak reports.
- Corrected the sc def settings modifying tick_def in regards to sc_def instead of tick_def


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11762 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-19 19:40:19 +00:00
ultramage
560005b13e Removed battle_config.error_log as console_silent already handles this
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17 20:51:25 +00:00
zephyrus
e5fd2c8ab4 - Added 2 new status changes for Life and Regeneration Potions [Zephyrus]
- Fixed some items boxes giving wrong tamings.
- Fixed another item giving 48 gladius[3]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11738 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-15 04:29:05 +00:00
ultramage
4957a893e5 Fixed some guild skill offset calculation mistakes -_-
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11732 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-14 09:38:44 +00:00
zephyrus
9145b0167f - Added SC_INCMDEFRATE, used in Mdef Potions.
- Added the effects of the fireworks items.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11722 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-12 09:13:29 +00:00
ultramage
1b56a795b9 * The Forget-me-not dance now behaves like Decrease AGI
- doesn't cancel Impressive Riff, Wind Walker, True Sight (bugreport:187)
- additionally, it doesn't cancel Cart Boost

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11718 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-11 20:46:00 +00:00
ultramage
5eda6c0e57 Replaced several 'int' variables with enums that they represent.
Expanded weapon_type enum with dual-wield constants (bugreport:384).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 22:42:56 +00:00
ultramage
d3d23aa363 Corrected Whirlwind/Violent Gale to give a numeric flee bonus instead of percentual (bugreport:329)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11644 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 20:29:22 +00:00
ultramage
989a557598 Removed some long-unneccessary debug messages (from r1105).
Removed function skill_count_target() because it's a duplicate (see topic:169337).
Renamed skill_get_pl to skill_get_ele (because it retrieves element ids).
The block_list structure now uses the BL_ enums instead of 'unsigned char'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 15:54:27 +00:00
ultramage
26166c5dc6 Commented out msg_athena.conf strings disabled in r11625.
Reverted changes in r11625 that used enum sc_type where it shouldn't have been used.
Removed leftover npc/other/arena.txt.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 16:37:16 +00:00
ultramage
ac33a63e54 * Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 13:20:48 +00:00
skotlex
fe0c93c77b - Fixed the pc_additem weight check breaking when your current weight is above your max.
- Some minor cleanups.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 00:42:56 +00:00
ultramage
e3ab4cdcfe Moved the new novending cell check from the internal code to the client-server interface (allows server to force-open shop if needed)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11580 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-26 09:25:55 +00:00
skotlex
480a4f0ac8 - added defines JOB_MAX_BASIC and JOB_MAX to mmo.h so the code can know which are the max valid classes.
- @/#jobchange no longer strip your equipment since pc_jobchange removes any unequippables already.
- removed the wasteful define MAX_PC_CLASS and replaced it by the CLASS_COUNT define (which is automatically updated using the previous JOB_MAX* defines) + pc_class2idx function (which converts high class IDs into values that fit in CLASS_COUNT)
- Made status_charge a function rather than a define to get rid of those warnings that have been there since forever.
- Merged the CELL_NOVENDING code (see topic #129209)
- Small check that disables the pet catching process if you try to use another item. 
- Added a check to fix a warning and prevent a crash in the npc duplicate check (even though I have no idea what this check is supposed to do, therefore I can't fix it properly other than to avoid the crash)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:02:00 +00:00
skotlex
a3590acef4 - Removed SC_INCAGIRATE/SC_INCDEXRATE as they are not used anymore (and where even incompletely coded)
- Added SC_INCASPDRATE, SC_INCFLEE2, SC_INCCRI, SC_INCDEF, SC_INCBASEATK and SC_FASTCAST as these are required by the newer items.
- Cleaned a bit the implementation of Suffragium


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11535 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-21 11:17:07 +00:00
skotlex
a1becae58f - Added bonusautoscript and bonusautoscript2. These are used to attach a script to a player which gets executed on attack (or when attacked). Required for several of the more recent items.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-19 20:31:57 +00:00
skotlex
8d0ac1d316 - Applied some cleanups that should correct "Infinite Endure" ending sometimes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11518 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-19 19:10:21 +00:00