소스 검색

- Updated the way SC_SILENCE works. From what I remember (from previous forum discussions) it: 1- Always blocks skills from being used. 2- Will only block a skill when the cast-bar ends IF the skill is targetted. If anyone wants to debate to get this changed, make an appropiate forum topic in the svn development area to discuss.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8083 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 년 전
부모
커밋
689c7368e6
2개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 0
      Changelog-Trunk.txt
  2. 2 3
      src/map/status.c

+ 5 - 0
Changelog-Trunk.txt

@@ -4,6 +4,11 @@ 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.
 
 2006/08/02
+	* Updated the way SC_SILENCE works. From what I remember (from previous
+	  forum discussions) it: 1- Always blocks skills from being used. 2- Will
+	  only block a skill when the cast-bar ends IF the skill is targetted. If
+	  anyone wants to debate to get this changed, make an appropiate forum topic
+	  in the svn development area to discuss. [Skotlex]
 	* Added a check in the walking code when triggering skills.
 	  NPC_SELFDESTRUCTION will no longer cancel walking, it will instead resend
 	  the walk packet, this effectively causes the mob to start walking

+ 2 - 3
src/map/status.c

@@ -964,9 +964,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
 			))
 				return 0;
 
-			if (flag != 2 && ( //Those that block begin/end casting.
-				sc->data[SC_SILENCE].timer != -1
-			))
+			//Silence is a special, but weird, case. It prevents skill begin, and skill end only when there's a target. [Skotlex]
+			if(sc->data[SC_SILENCE].timer != -1 && flag <= (target?1:0))
 				return 0;
 
 			//Skill blocking.