Browse Source

- Fixed Dancers/Bards being able to use normal attacks while performing.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8245 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 years ago
parent
commit
c39d3b2a02
2 changed files with 20 additions and 15 deletions
  1. 3 0
      Changelog-Trunk.txt
  2. 17 15
      src/map/status.c

+ 3 - 0
Changelog-Trunk.txt

@@ -3,6 +3,9 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2006/08/11
+	* Fixed Dancers/Bards being able to use normal attacks while performing.
+	  [Skotlex]
 2006/08/10
 	* Fixed the item group bonus not working. [Skotlex]
 	* Fixed songs/dances always being considered overlapped with themselves.

+ 17 - 15
src/map/status.c

@@ -954,6 +954,23 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
 				default: return 0;
 			}
 		}
+
+		if (sc->data[SC_DANCING].timer != -1 && flag!=2)
+		{
+			if(sc->data[SC_LONGING].timer != -1)
+			{	//Allow everything except dancing/re-dancing. [Skotlex]
+				if (skill_num == BD_ENCORE ||
+					skill_get_inf2(skill_num)&(INF2_SONG_DANCE|INF2_ENSEMBLE_SKILL)
+				)
+					return 0;
+			} else
+			if (skill_num != BD_ADAPTATION && skill_num != CG_LONGINGFREEDOM
+				&& skill_num != BA_MUSICALSTRIKE && skill_num != DC_THROWARROW)
+				return 0;
+			if (sc->data[SC_DANCING].val1 == CG_HERMODE && skill_num == BD_ADAPTATION)
+				return 0;	//Can't amp out of Wand of Hermode :/ [Skotlex]
+		}
+
 		if (skill_num && //Do not block item-casted skills.
 			(src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_num)
 		) {	//Skills blocked through status changes...
@@ -975,21 +992,6 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
 			)
 				return 0;
 
-			if (flag!=2 && sc->data[SC_DANCING].timer != -1)
-			{
-				if(sc->data[SC_LONGING].timer != -1)
-			  	{	//Allow everything except dancing/re-dancing. [Skotlex]
-					if (skill_num == BD_ENCORE ||
-						skill_get_inf2(skill_num)&(INF2_SONG_DANCE|INF2_ENSEMBLE_SKILL)
-					)
-						return 0;
-				} else
-				if (skill_num != BD_ADAPTATION && skill_num != CG_LONGINGFREEDOM
-					&& skill_num != BA_MUSICALSTRIKE && skill_num != DC_THROWARROW)
-					return 0;
-				if (sc->data[SC_DANCING].val1 == CG_HERMODE && skill_num == BD_ADAPTATION)
-					return 0;	//Can't amp out of Wand of Hermode :/ [Skotlex]
-			}
 		}
 	}