Jelajahi Sumber

- Halved the aftercast delay of auto-casted spells.
- Allowed auto-spells to retrigger themselves.


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

skotlex 19 tahun lalu
induk
melakukan
b59b68509f
2 mengubah file dengan 6 tambahan dan 4 penghapusan
  1. 2 0
      Changelog-Trunk.txt
  2. 4 4
      src/map/skill.c

+ 2 - 0
Changelog-Trunk.txt

@@ -4,6 +4,8 @@ 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/04/12
+	* Halved the aftercast delay of auto-casted spells. [Skotlex]
+	* Allowed auto-spells to retrigger themselves. [Skotlex]
 	* Changed slave chasing from using unit_walktobl to map_search_freecell +
 	  unit_walktoxy, since the previous behaviour makes all slaves always end up
 	  on the same cell. [Skotlex]

+ 4 - 4
src/map/skill.c

@@ -1334,8 +1334,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		for (i = 0; i < MAX_PC_BONUS && sd->autospell[i].id; i++) {
 
 			skill = (sd->autospell[i].id > 0) ? sd->autospell[i].id : -sd->autospell[i].id;
-			//Prevents skill from retriggering themselves. [Skotlex]
-			if (skill == skillid || skillnotok(skill, sd))
+			
+			if (skillnotok(skill, sd))
 				continue;
 
 			//skill2 reused to store skilllv.
@@ -1366,7 +1366,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 			//Set canact delay. [Skotlex]
 			ud = unit_bl2ud(src);
 			if (ud) {
-				rate = skill_delayfix(src, skill, skill2);
+				rate = skill_delayfix(src, skill, skill2)/2;
 				if (DIFF_TICK(ud->canact_tick, tick + rate) < 0)
 					ud->canact_tick = tick+rate;
 			}
@@ -1497,7 +1497,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
 			//Set canact delay. [Skotlex]
 			ud = unit_bl2ud(bl);
 			if (ud) {
-				rate = skill_delayfix(bl, skillid, skilllv);
+				rate = skill_delayfix(bl, skillid, skilllv)/2;
 				if (DIFF_TICK(ud->canact_tick, tick + rate) < 0)
 					ud->canact_tick = tick+rate;
 			}