From 0d09d414e79a04be1ff1b10253953a6fc06559d3 Mon Sep 17 00:00:00 2001 From: Inkfish Date: Fri, 12 Jun 2009 07:45:50 +0000 Subject: * 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 --- src/map/pc.c | 3 ++- src/map/status.c | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src') 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; -- cgit v1.2.3-70-g09d2