summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-07-25 23:18:53 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-07-25 23:18:53 +0000
commitf9c3a2a80b9981a3102661928f5c2469e47d360c (patch)
tree7ef877e22e1c170cccfafc3e897b14cf756be3ba /src/map/skill.c
parent3222178785b9f2f6fe6ac41283cb47bf07ab44ad (diff)
downloadhercules-f9c3a2a80b9981a3102661928f5c2469e47d360c.tar.gz
hercules-f9c3a2a80b9981a3102661928f5c2469e47d360c.tar.bz2
hercules-f9c3a2a80b9981a3102661928f5c2469e47d360c.tar.xz
hercules-f9c3a2a80b9981a3102661928f5c2469e47d360c.zip
* Fixed message display for FullStrip and SelfProvoke. (bugreport: 3011, bugreport: 3415)
* Fixed an error on 'changequest' git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13962 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index aebfc9eee..861a073a1 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3796,7 +3796,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
return 1;
}
//TODO: How much does base level affects? Dummy value of 1% per level difference used. [Skotlex]
- clif_skill_nodamage(src,bl,skillid,skilllv,
+ clif_skill_nodamage(src,bl,skillid == SM_SELFPROVOKE ? SM_PROVOKE : skillid,skilllv,
(i = sc_start(bl,type, skillid == SM_SELFPROVOKE ? 100:( 50 + 3*skilllv + status_get_lv(src) - status_get_lv(bl)), skilllv, skill_get_time(skillid,skilllv))));
if( !i )
{
@@ -4507,9 +4507,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
location = EQP_WEAPON|EQP_SHIELD|EQP_ARMOR|EQP_HELM;
break;
}
+
+ //Special message when trying to use strip on FCP [Jobbie]
+ if( sd && skillid == ST_FULLSTRIP && tsc && tsc->data[SC_CP_WEAPON] && tsc->data[SC_CP_HELM] && tsc->data[SC_CP_ARMOR] && tsc->data[SC_CP_SHIELD] )
+ {
+ clif_gospel_info(sd, 0x28);
+ break;
+ }
+
//Attempts to strip at rate i and duration d
- if (!clif_skill_nodamage(src,bl,skillid,skilllv,skill_strip_equip(bl, location, i, skilllv, d)) && sd)
- clif_skill_fail(sd,skillid,0,0); //Nothing stripped.
+ if( (i = skill_strip_equip(bl, location, i, skilllv, d)) || skillid != ST_FULLSTRIP )
+ clif_skill_nodamage(src,bl,skillid,skilllv,i);
+
+ //Nothing stripped.
+ if( sd && !i )
+ clif_skill_fail(sd,skillid,0,0);
}
break;