summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-13 15:12:47 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-13 15:12:47 +0000
commitbcec48bc2cce15635ce21db52a1525c07a19935e (patch)
tree9c63fd1fa8c96aa3db5a02e1d81994e60b1e41cf /src/map/skill.c
parenta2bc00fdc8d53a6dbb6036b706dc69c7ecf9bb74 (diff)
downloadhercules-bcec48bc2cce15635ce21db52a1525c07a19935e.tar.gz
hercules-bcec48bc2cce15635ce21db52a1525c07a19935e.tar.bz2
hercules-bcec48bc2cce15635ce21db52a1525c07a19935e.tar.xz
hercules-bcec48bc2cce15635ce21db52a1525c07a19935e.zip
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
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c26
1 files changed, 13 insertions, 13 deletions
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);
}