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

Fixed OnTouch doesn't trigger on hiding characters. (bugreport:4208)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14291 54d463be-8e91-2dee-dedb-b68131a5f0ec
Inkfish 15 éve
szülő
commit
a07d7e43f9
2 módosított fájl, 7 hozzáadás és 2 törlés
  1. 2 0
      Changelog-Trunk.txt
  2. 5 2
      src/map/npc.c

+ 2 - 0
Changelog-Trunk.txt

@@ -3,6 +3,8 @@ 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.
 
+2010/04/28
+	* Fixed OnTouch doesn't trigger on hiding character. (bugreport:4208) [Inkfish]
 2010/04/23
 	* Merged a few updates for supporting renewal clients (thanks to Diablo): [Skotlex]
 	- Updated packets for char-select screen, trade item add, guild storage item add, vending list.

+ 5 - 2
src/map/npc.c

@@ -107,8 +107,11 @@ int npc_ontouch_event(struct map_session_data *sd, struct npc_data *nd)
 {
 	char name[NAME_LENGTH*2+3];
 
-	if( nd->touching_id || pc_ishiding(sd) )
-		return 0;
+	if( nd->touching_id )
+		return 0; // Attached a player already. Can't trigger on anyone else.
+
+	if( pc_ishiding(sd) )
+		return 1; // Can't trigger 'OnTouch_'. try 'OnTouch' later.
 
 	snprintf(name, ARRAYLENGTH(name), "%s::%s", nd->exname, script_config.ontouch_name);
 	return npc_event(sd,name,1);