Browse Source

- Now when a mob's adelay is set to be less than the amotion, both values will be swapped (this is an attempt to understand how those mobs actually work on aegis)

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

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ 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/24
+	* Now when a mob's adelay is set to be less than the amotion, both values
+	  will be swapped (this is an attempt to understand how those mobs actually
+	  work on aegis) [Skotlex]
 	* script command "isrefine" will no longer return always false for equip
 	  positions above 6 (this has not been needed since the addition of the
 	  refine column to tbe item_db many months ago) [Skotlex]

+ 13 - 2
src/map/mob.c

@@ -3248,8 +3248,13 @@ static int mob_readdb(void)
 			status->amotion=atoi(str[28]);
 			status->dmotion=atoi(str[29]);
 			//If the attack animation is longer than the delay, the client crops the attack animation!
-			if (status->adelay < status->amotion)
+			if (status->adelay < status->amotion) {
+				//Let's try switching them to see what happens.
+//				status->adelay = status->amotion;
+				i = status->adelay;
 				status->adelay = status->amotion;
+				status->amotion = i;
+			}
 			if(battle_config.monster_damage_delay_rate != 100)
 				status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100;
 
@@ -3925,8 +3930,14 @@ static int mob_read_sqldb(void)
 				status->amotion = TO_INT(28);
 				status->dmotion = TO_INT(29);
 				//If the attack animation is longer than the delay, the client crops the attack animation!
-				if (status->adelay < status->amotion)
+				if (status->adelay < status->amotion) {
+					//Let's try switching them to see what happens.
+	//				status->adelay = status->amotion;
+					i = status->adelay;
 					status->adelay = status->amotion;
+					status->amotion = i;
+				}
+
 				if(battle_config.monster_damage_delay_rate != 100)
 					status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100;