Ver Fonte

* Fixed kill steal protection result in skill casting (unit_skilluse_id2) not getting evaluated (bugreport:1808, since r12203).
- Moved kill steal protection in skill casting to be only executed, after the actual target has been determined and validated (since r12203).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14658 54d463be-8e91-2dee-dedb-b68131a5f0ec

ai4rei há 14 anos atrás
pai
commit
c8f5056a4a
2 ficheiros alterados com 5 adições e 2 exclusões
  1. 2 0
      Changelog-Trunk.txt
  2. 3 2
      src/map/unit.c

+ 2 - 0
Changelog-Trunk.txt

@@ -1,6 +1,8 @@
 Date	Added
 
 2011/01/08
+	* Fixed kill steal protection result in skill casting (unit_skilluse_id2) not getting evaluated (bugreport:1808, since r12203). [Ai4rei]
+	- Moved kill steal protection in skill casting to be only executed, after the actual target has been determined and validated (since r12203).
 	* Applied fix provided by Valaris to make /pvpinfo actually work. (bugreport:1785, since r1602). [Ai4rei]
 	- Filled-in missing packet fields and documented the packet. Note, that this command does not show anything outside of PvP maps (client-side limitation).
 	* Fixed @homlevel usage message stating, that deleveling is possible, although it is not (bugreport:1485, since r10272). [Ai4rei]

+ 3 - 2
src/map/unit.c

@@ -939,8 +939,6 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 		if(skillnotok(skill_num, sd)) // [MouseJstr]
 			return 0;
 
-		mob_ksprotected(src, map_id2bl(target_id));
-
 		switch(skill_num)
 		{	//Check for skills that auto-select target
 		case MO_CHAINCOMBO:
@@ -987,6 +985,9 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 	if( !target || src->m != target->m || !src->prev || !target->prev )
 		return 0;
 
+	if( mob_ksprotected(src, target) )
+		return 0;
+
 	//Normally not needed because clif.c checks for it, but the at/char/script commands don't! [Skotlex]
 	if(ud->skilltimer != -1 && skill_num != SA_CASTCANCEL)
 		return 0;