Browse Source

* Some further changes to the delayfix function
- aftercast delay is at least amotion no matter what skill (this includes skills with cast time AND skills with skill delay!)
- aftercast delay reductions can NEVER reduce the aftercast delay below amotion (this includes Bragi and Soul Links)

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

Playtester 17 years ago
parent
commit
b0220e00d4
2 changed files with 8 additions and 2 deletions
  1. 5 0
      Changelog-Trunk.txt
  2. 3 2
      src/map/skill.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.
 
 2007/10/13
+	* Some further changes to the delayfix function [Playtester]
+	- aftercast delay is at least amotion no matter what skill
+	  (this includes skills with cast time AND skills with skill delay!)
+	- aftercast delay reductions can NEVER reduce the aftercast delay below amotion
+	  (this includes Bragi and Soul Links)
 	* Again modified the delayfix function to reflect the current skill delay
 	  knowledge. Skills with 0 delay use amotion always (regardless of cast
 	  times) [Skotlex]

+ 3 - 2
src/map/skill.c

@@ -8867,8 +8867,6 @@ int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
 
 	if (time < 0)
 		time = -time + status_get_amotion(bl);	// If set to <0, add to attack motion.
-	else if (time == 0)
-		time = status_get_amotion(bl); // Use amotion
 
 	// Delay reductions
 	switch (skill_id)
@@ -8927,6 +8925,9 @@ int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
 	if (battle_config.delay_rate != 100)
 		time = time * battle_config.delay_rate / 100;
 
+	if (time < status_get_amotion(bl))
+		time = status_get_amotion(bl); // Delay can never be below amotion [Playtester]
+
 	return max(time, battle_config.min_skill_delay_limit);
 }