diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-10-30 17:53:18 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-10-30 17:53:18 +0000 |
commit | 5d2225fbbf84324c1cf370bb11776b1c0a671b4a (patch) | |
tree | 448f2af719809cbc0a733729be8017de4b5c57a7 /src/map/status.c | |
parent | b47c0ac38a3b04b6e5b0001608e726de3e93448f (diff) | |
download | hercules-5d2225fbbf84324c1cf370bb11776b1c0a671b4a.tar.gz hercules-5d2225fbbf84324c1cf370bb11776b1c0a671b4a.tar.bz2 hercules-5d2225fbbf84324c1cf370bb11776b1c0a671b4a.tar.xz hercules-5d2225fbbf84324c1cf370bb11776b1c0a671b4a.zip |
- Set the inf2 to encore skills of Wand of Hermode
- Modified battle_calc_return_damage to take the skill id as well, now magic damage return will not work on skills tagged as ground or self targetted.
- Fixed Gank not working at all with the default max steal tries setting.
- Soul Drain won't work with skills tagged as self-targetted.
- Improved the Suiton code so that the walk/agi penalty only applies to enemies of whoever casted the skill.
- Moved the initial status_calc_pc call to when you finish loading the map, should fix equipment scripts which are based on character variables not working.
- Some cleanup of the clif_parse_LoadEndAck function.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9099 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c index 126ee5ae1..8ee4d5780 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3150,7 +3150,7 @@ static unsigned short status_calc_agi(struct block_list *bl, struct status_chang agi -= sc->data[SC_DECREASEAGI].val2;
if(sc->data[SC_QUAGMIRE].timer!=-1)
agi -= sc->data[SC_QUAGMIRE].val2;
- if(sc->data[SC_SUITON].timer!=-1 && sc->data[SC_SUITON].val3) // does not affect players when not in PVP nor WoE. Does not affect Ninjas.
+ if(sc->data[SC_SUITON].timer!=-1 && sc->data[SC_SUITON].val3)
agi -= sc->data[SC_SUITON].val2;
if(sc->data[SC_MARIONETTE].timer!=-1)
agi -= (sc->data[SC_MARIONETTE].val3>>8)&0xFF;
@@ -4919,11 +4919,12 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val val2 = 0;
break;
case SC_SUITON:
- val2 = 0; //Agi penalty
- val3 = 0; //Walk speed penalty
- if (status_get_class(bl) == JOB_NINJA ||
- (sd && !map_flag_vs(bl->m)))
+ if (!val2 || (sd && (sd->class_&MAPID_UPPERMASK) == MAPID_NINJA)) {
+ //No penalties.
+ val2 = 0; //Agi penalty
+ val3 = 0; //Walk speed penalty
break;
+ }
val3 = 50;
val2 = 3*((val1+1)/3);
if (val1 > 4) val2--;
|