summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-12 07:45:50 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-12 07:45:50 +0000
commit0d09d414e79a04be1ff1b10253953a6fc06559d3 (patch)
tree2d368991cba1b2c01d021dabe2f948b74779bc65 /src
parentbfc59214c01cc9342f26cb0d0aea81e44a097235 (diff)
downloadhercules-0d09d414e79a04be1ff1b10253953a6fc06559d3.tar.gz
hercules-0d09d414e79a04be1ff1b10253953a6fc06559d3.tar.bz2
hercules-0d09d414e79a04be1ff1b10253953a6fc06559d3.tar.xz
hercules-0d09d414e79a04be1ff1b10253953a6fc06559d3.zip
* Fixed itemskill not bypassing Silence, SteelBody, Berserk and the like. (bugreport:3232)
* Fury and Asura no longer disable SP regen on any other classes than Monk/Champion.(bugreport:3200) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13883 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/pc.c3
-rw-r--r--src/map/status.c9
2 files changed, 7 insertions, 5 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index abb86f95d..a53a3a7fe 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -3479,7 +3479,8 @@ int pc_useitem(struct map_session_data *sd,int n)
//Since most delay-consume items involve using a "skill-type" target cursor,
//perform a skill-use check before going through. [Skotlex]
//resurrection was picked as testing skill, as a non-offensive, generic skill, it will do.
- if( sd->inventory_data[n]->flag.delay_consume && ( sd->ud.skilltimer != -1 || !status_check_skilluse(&sd->bl, &sd->bl, ALL_RESURRECTION, 0) ) )
+ //FIXME: Is this really needed here? It'll be checked in unit.c after all and this prevents skill items using when silenced [Inkfish]
+ if( sd->inventory_data[n]->flag.delay_consume && ( sd->ud.skilltimer != -1 /*|| !status_check_skilluse(&sd->bl, &sd->bl, ALL_RESURRECTION, 0)*/ ) )
return 0;
sd->itemid = sd->status.inventory[n].nameid;
diff --git a/src/map/status.c b/src/map/status.c
index b3433728c..f9db3f9c6 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2644,10 +2644,11 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str
regen->flag = 0;
if (
- sc->data[SC_EXTREMITYFIST]
- || sc->data[SC_DANCING]
- || (sc->data[SC_EXPLOSIONSPIRITS]
- && (!sc->data[SC_SPIRIT] || sc->data[SC_SPIRIT]->val2 != SL_MONK))
+ sc->data[SC_DANCING]
+ || (
+ (((TBL_PC*)bl)->class_&MAPID_UPPERMASK) == MAPID_MONK &&
+ (sc->data[SC_EXTREMITYFIST] || (sc->data[SC_EXPLOSIONSPIRITS] && (!sc->data[SC_SPIRIT] || sc->data[SC_SPIRIT]->val2 != SL_MONK)))
+ )
) //No natural SP regen
regen->flag &=~RGN_SP;