Sfoglia il codice sorgente

- Again modified the delayfix function to reflect the current skill delay knowledge. Skills with 0 delay use amotion always (regardless of cast times)
- Renamed the config default_skill_delay to default_walk_delay as that is the only thing it does now.


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

skotlex 17 anni fa
parent
commit
49ee59c5cb
6 ha cambiato i file con 14 aggiunte e 11 eliminazioni
  1. 4 0
      Changelog-Trunk.txt
  2. 3 0
      conf/Changelog.txt
  3. 2 3
      conf/battle/skill.conf
  4. 1 1
      src/map/battle.c
  5. 1 1
      src/map/battle.h
  6. 3 6
      src/map/skill.c

+ 4 - 0
Changelog-Trunk.txt

@@ -3,6 +3,10 @@ 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.
 
+2007/10/13
+	* Again modified the delayfix function to reflect the current skill delay
+	  knowledge. Skills with 0 delay use amotion always (regardless of cast
+	  times) [Skotlex]
 2007/10/12
 	* Further updates to skill_delayfix function [Playtester]
 	- aftercast delay can never be lower than amotion

+ 3 - 0
conf/Changelog.txt

@@ -1,5 +1,8 @@
 Date	Added
 
+2007/10/13
+	* Renamed the config default_skill_delay to default_walk_delay as that is
+	  the only thing it does now.
 2007/10/11
 	* Renamed import folder to import-tmpl [Playtester]
 	- new server owners please rename/copy it to import to use it

+ 2 - 3
conf/battle/skill.conf

@@ -36,12 +36,11 @@ delay_dependon_agi: no
 // Note: Setting this to anything above 0 can stop speedhacks.
 min_skill_delay_limit: 100
 
-// Default skill delay for non-weapon based skills which have no delay specified.
-// This delay is also the min can't walk delay of all skills.
+// This delay is the min 'can't walk delay' of all skills.
 // NOTE: Do not set this too low, if a character starts moving too soon after 
 // doing a skill, the client will not update this, and the player/mob will 
 // appear to "teleport" afterwards.
-default_skill_delay: 300
+default_walk_delay: 300
 
 //Completely disable skill delay of the following types (Note 3)
 //NOTE: By default mobs don't have the skill delay as specified in the skill

+ 1 - 1
src/map/battle.c

@@ -3609,7 +3609,7 @@ static const struct _battle_data {
 	{ "exp_bonus_attacker",                 &battle_config.exp_bonus_attacker,              25,     0,      INT_MAX,        },
 	{ "exp_bonus_max_attacker",             &battle_config.exp_bonus_max_attacker,          12,     2,      INT_MAX,        },
 	{ "min_skill_delay_limit",              &battle_config.min_skill_delay_limit,           100,    10,     INT_MAX,        },
-	{ "default_skill_delay",                &battle_config.default_skill_delay,             300,    0,      INT_MAX,        },
+	{ "default_walk_delay",                 &battle_config.default_walk_delay,              300,    0,      INT_MAX,        },
 	{ "no_skill_delay",                     &battle_config.no_skill_delay,                  BL_MOB, BL_NUL, BL_ALL,         },
 	{ "attack_walk_delay",                  &battle_config.attack_walk_delay,               0,      0,      INT_MAX,        },
 	{ "require_glory_guild",                &battle_config.require_glory_guild,             0,      0,      1,              },

+ 1 - 1
src/map/battle.h

@@ -354,7 +354,7 @@ extern struct Battle_Config
 	int exp_bonus_attacker;
 	int exp_bonus_max_attacker;
 	int min_skill_delay_limit;
-	int default_skill_delay;
+	int default_walk_delay;
 	int no_skill_delay;
 	int attack_walk_delay;
 	int require_glory_guild;

+ 3 - 6
src/map/skill.c

@@ -5913,7 +5913,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
 		ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
 	
 		if (skill_get_state(ud->skillid) != ST_MOVE_ENABLE)
-			unit_set_walkdelay(src, tick, battle_config.default_skill_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
+			unit_set_walkdelay(src, tick, battle_config.default_walk_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
 		
 		if(battle_config.skill_log && battle_config.skill_log&src->type)
 			ShowInfo("Type %d, ID %d skill castend id [id =%d, lv=%d, target ID %d)\n",
@@ -6080,7 +6080,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data)
 				src->type, src->id, ud->skillid, ud->skilllv, ud->skillx, ud->skilly);
 		unit_stop_walking(src,1);
 		ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
-		unit_set_walkdelay(src, tick, battle_config.default_skill_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
+		unit_set_walkdelay(src, tick, battle_config.default_walk_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
 
 		map_freeblock_lock();
 		skill_castend_pos2(src,ud->skillx,ud->skilly,ud->skillid,ud->skilllv,tick,0);
@@ -8868,11 +8868,8 @@ 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 = battle_config.default_skill_delay; // Use default skill delay.
+		time = status_get_amotion(bl); // Use amotion
 
-	if (time < status_get_amotion(bl))
-		time = status_get_amotion(bl); // Delay can never be lower than attack motion.
-	
 	// Delay reductions
 	switch (skill_id)
   	{	//Monk combo skills have their delay reduced by agi/dex.