- 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
This commit is contained in:
skotlex 2007-10-13 10:50:37 +00:00
parent 3e5c810544
commit 49ee59c5cb
6 changed files with 14 additions and 11 deletions

View File

@ -3,6 +3,10 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. 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. 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 2007/10/12
* Further updates to skill_delayfix function [Playtester] * Further updates to skill_delayfix function [Playtester]
- aftercast delay can never be lower than amotion - aftercast delay can never be lower than amotion

View File

@ -1,5 +1,8 @@
Date Added 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 2007/10/11
* Renamed import folder to import-tmpl [Playtester] * Renamed import folder to import-tmpl [Playtester]
- new server owners please rename/copy it to import to use it - new server owners please rename/copy it to import to use it

View File

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

View File

@ -3609,7 +3609,7 @@ static const struct _battle_data {
{ "exp_bonus_attacker", &battle_config.exp_bonus_attacker, 25, 0, INT_MAX, }, { "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, }, { "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, }, { "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, }, { "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, }, { "attack_walk_delay", &battle_config.attack_walk_delay, 0, 0, INT_MAX, },
{ "require_glory_guild", &battle_config.require_glory_guild, 0, 0, 1, }, { "require_glory_guild", &battle_config.require_glory_guild, 0, 0, 1, },

View File

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

View File

@ -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); ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
if (skill_get_state(ud->skillid) != ST_MOVE_ENABLE) 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) 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", 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); src->type, src->id, ud->skillid, ud->skilllv, ud->skillx, ud->skilly);
unit_stop_walking(src,1); unit_stop_walking(src,1);
ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv); 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(); map_freeblock_lock();
skill_castend_pos2(src,ud->skillx,ud->skilly,ud->skillid,ud->skilllv,tick,0); skill_castend_pos2(src,ud->skillx,ud->skilly,ud->skillid,ud->skilllv,tick,0);
@ -8868,10 +8868,7 @@ int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
if (time < 0) if (time < 0)
time = -time + status_get_amotion(bl); // If set to <0, add to attack motion. time = -time + status_get_amotion(bl); // If set to <0, add to attack motion.
else if (time == 0) 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 // Delay reductions
switch (skill_id) switch (skill_id)