summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/skill.c21
2 files changed, 12 insertions, 10 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 06429ddbb..bc28b85b3 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/10/05
+ * Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)
* Removed a broken remnant of code from old gospel code (r4349) that's
_supposed_ to clear the gospel status (no item use?) when you step
out of its zone; 1) the constant UNT_GOSPEL was used in a switch()
diff --git a/src/map/skill.c b/src/map/skill.c
index 11ce69536..5c8e671c3 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -4400,20 +4400,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case BA_PANGVOICE:
- clif_skill_nodamage(src,bl,skillid,skilllv,
- sc_start(bl,SC_CONFUSION,50,7,skill_get_time(skillid,skilllv)));
+ clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,SC_CONFUSION,50,7,skill_get_time(skillid,skilllv)));
break;
case DC_WINKCHARM:
- if(dstsd){
- clif_skill_nodamage(src,bl,skillid,skilllv,
- sc_start(bl,SC_CONFUSION,30,7,skill_get_time2(skillid,skilllv)));
- }else if(dstmd)
+ if( dstsd )
+ clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,SC_CONFUSION,30,7,skill_get_time2(skillid,skilllv)));
+ else
+ if( dstmd )
{
- if(status_get_lv(src)>status_get_lv(bl) && (tstatus->race == RC_DEMON || tstatus->race == RC_DEMIHUMAN || tstatus->race == RC_ANGEL)) {
- clif_skill_nodamage(src,bl,skillid,skilllv,
- sc_start(bl,type,70,skilllv,skill_get_time(skillid,skilllv)));
- } else{
+ if( status_get_lv(src) > status_get_lv(bl)
+ && (tstatus->race == RC_DEMON || tstatus->race == RC_DEMIHUMAN || tstatus->race == RC_ANGEL)
+ && !(tstatus->mode&MD_BOSS) )
+ clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,70,skilllv,skill_get_time(skillid,skilllv)));
+ else
+ {
clif_skill_nodamage(src,bl,skillid,skilllv,0);
if(sd) clif_skill_fail(sd,skillid,0,0);
}