Browse Source

- Removed a block of code from skill_check_condition that actually belongs to status_check_skilluse.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5651 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 years ago
parent
commit
22c298e647
3 changed files with 7 additions and 3 deletions
  1. 3 0
      Changelog-Trunk.txt
  2. 1 1
      src/map/npc.c
  3. 3 2
      src/map/skill.c

+ 3 - 0
Changelog-Trunk.txt

@@ -5,6 +5,9 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.  EV
 GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
 
 2006/03/17
+	* Removed a block of code from skill_check_condition that actually belongs
+	  to status_check_skilluse. Should fix silence/stun blocking skills
+	  regardless of settings. [Skotlex]
 	* Fixed misleading and inaccurately documented events and added a missing flag. [Lance]
 	* Fixed npc_cleanup_dbsub not removing key and caused pointer being freed problem. [Lance]
 	* Fixed handling of the char_gm_read config for packet 0x2af7 (reloadgmdb)

+ 1 - 1
src/map/npc.c

@@ -703,7 +703,7 @@ int npc_timerevent_stop(struct npc_data *nd)
 	*tid = -1;
 	//Set the timer tick to the time that has passed since the beginning of the timers and now.
 	nd->u.scr.timer = DIFF_TICK(gettick(),nd->u.scr.timertick);
-	nd->u.scr.rid = 0;
+//	nd->u.scr.rid = 0; //Eh? why detach?
 	return 0;
 }
 /*==========================================

+ 3 - 2
src/map/skill.c

@@ -7665,6 +7665,7 @@ int skill_check_condition(struct map_session_data *sd,int type)
 			sd->skillitem = sd->skillitemlv = -1;
 		return 1;
 	}
+	/* These two are part of status_check_skilluse now.
 	if( sd->sc.opt1 ){
 		clif_skill_fail(sd,sd->skillid,0,0);
 		return 0;
@@ -7677,10 +7678,10 @@ int skill_check_condition(struct map_session_data *sd,int type)
 			sd->sc.data[SC_BERSERK].timer != -1 ||
 			(sd->sc.data[SC_MARIONETTE].timer != -1 && sd->skillid != CG_MARIONETTE)){
 			clif_skill_fail(sd,sd->skillid,0,0);
-			return 0;	/* ?‘ÔˆÙ?í‚â’¾?‚È‚Ç */
+			return 0;
 		}
 	}
-
+	*/
 	skill = sd->skillid;
 	lv = sd->skilllv;
 	if (lv <= 0) return 0;