From bcec48bc2cce15635ce21db52a1525c07a19935e Mon Sep 17 00:00:00 2001 From: rud0lp20 Date: Wed, 13 Jun 2012 15:12:47 +0000 Subject: Fixed bugreport:5988 AB_LAUDAAGNUS and AB_LAUDARAMUS now can only give status bonus to non infected targets/party members. Fixed bugreport:5725 'bautospellonskill' should now work properly. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16286 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/map/skill.c b/src/map/skill.c index 55c11f80d..f0379390e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7467,15 +7467,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case AB_LAUDAAGNUS: if( flag&1 || sd == NULL ) { - if( (tsc && (tsc->data[SC_FREEZE] || tsc->data[SC_STONE] || - tsc->data[SC_BLIND]))&& (rnd()%100 < 30+5*skilllv) ) { + if( tsc && (tsc->data[SC_FREEZE] || tsc->data[SC_STONE] || tsc->data[SC_BLIND]) ) { + // Success Chance: (40 + 10 * Skill Level) % + if( rnd()%100 > 40+10*skilllv ) break; status_change_end(bl, SC_FREEZE, INVALID_TIMER); status_change_end(bl, SC_STONE, INVALID_TIMER); status_change_end(bl, SC_BLIND, INVALID_TIMER); - } - // Success rate only applies to the curing effect and not stat bonus. - clif_skill_nodamage(bl, bl, skillid, skilllv, - sc_start(bl, type, 100, skilllv, skill_get_time(skillid, skilllv))); + }else //Success rate only applies to the curing effect and not stat bonus. Bonus status only applies to non infected targets + clif_skill_nodamage(bl, bl, skillid, skilllv, + sc_start(bl, type, 100, skilllv, skill_get_time(skillid, skilllv))); } else if( sd ) party_foreachsamemap(skill_area_sub, sd, skill_get_splash(skillid, skilllv), src, skillid, skilllv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id); @@ -7483,16 +7483,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case AB_LAUDARAMUS: if( flag&1 || sd == NULL ) { - if( (tsc && (tsc->data[SC_SLEEP] || tsc->data[SC_STUN] || tsc->data[SC_MANDRAGORA] || - tsc->data[SC_SILENCE]))&& (rnd()%100 < 30+5*skilllv) ) { + if( tsc && (tsc->data[SC_SLEEP] || tsc->data[SC_STUN] || tsc->data[SC_MANDRAGORA] || tsc->data[SC_SILENCE]) ){ + // Success Chance: (40 + 10 * Skill Level) % + if( rnd()%100 > 40+10*skilllv ) break; status_change_end(bl, SC_SLEEP, INVALID_TIMER); status_change_end(bl, SC_STUN, INVALID_TIMER); status_change_end(bl, SC_MANDRAGORA, INVALID_TIMER); status_change_end(bl, SC_SILENCE, INVALID_TIMER); - } - clif_skill_nodamage(bl, bl, skillid, skilllv, - sc_start(bl, type, 100, skilllv, skill_get_time(skillid, skilllv))); - //Success rate only applies to the curing effect and not stat bonus. + }else // Success rate only applies to the curing effect and not stat bonus. Bonus status only applies to non infected targets + clif_skill_nodamage(bl, bl, skillid, skilllv, + sc_start(bl, type, 100, skilllv, skill_get_time(skillid, skilllv))); } else if( sd ) party_foreachsamemap(skill_area_sub, sd, skill_get_splash(skillid, skilllv), src, skillid, skilllv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id); @@ -8622,7 +8622,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in {// consume arrow on last invocation to this skill. battle_consume_ammo(sd, skillid, skilllv); } - + skill_onskillusage(sd, bl, skillid, tick); // perform skill requirement consumption skill_consume_requirement(sd,skillid,skilllv,2); } -- cgit v1.2.3-70-g09d2