Forráskód Böngészése

Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11362 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage 17 éve
szülő
commit
0579199d79
2 módosított fájl, 12 hozzáadás és 10 törlés
  1. 1 0
      Changelog-Trunk.txt
  2. 11 10
      src/map/skill.c

+ 1 - 0
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()

+ 11 - 10
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);
 			}