Added delay_dependon_agi since people actually use and need it...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10887 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2007-07-19 00:15:02 +00:00
parent 02e009bd8d
commit c1673d90c7
6 changed files with 19 additions and 4 deletions

View File

@ -4,6 +4,7 @@ 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/07/18
* Added delay_dependon_agi since people actually use and need it...
* Small update to the effects list (new exe's effects by Au{R}oN)
* No sending of the pet_equip packet when pet has no equip (thx2Skotlex)
* Added back exp gain limiting for old formula to stop exploits (see r8177)

View File

@ -1,5 +1,7 @@
Date Added
2007/07/18
* Added delay_dependon_agi, both options are available now [ultramage]
2007/06/10
* Rev. 10744 Fixed nopvp mapflag entry for mosk_in. [L0ne_W0lf]
2007/06/08

View File

@ -31,9 +31,10 @@ casting_rate: 100
// Delay time after casting (Note 2)
delay_rate: 100
// Is the delay time is dependent on the caster's DEX? (Note 1)
// Note: On Official servers Dex does NOT affect delay time
// Does the delay time depend on the caster's DEX and/or AGI? (Note 1)
// Note: On Official servers, neither Dex nor Agi affect delay time
delay_dependon_dex: no
delay_dependon_agi: no
// Minimum allowed delay for ANY skills after casting (in miliseconds) (Note 1)
// Note: Setting this to anything above 0 can stop speedhacks.

View File

@ -3341,6 +3341,7 @@ static const struct battle_data_short {
{ "casting_rate", &battle_config.cast_rate },
{ "delay_rate", &battle_config.delay_rate },
{ "delay_dependon_dex", &battle_config.delay_dependon_dex },
{ "delay_dependon_agi", &battle_config.delay_dependon_agi },
{ "skill_delay_attack_enable", &battle_config.sdelay_attack_enable },
{ "left_cardfix_to_right", &battle_config.left_cardfix_to_right },
{ "skill_add_range", &battle_config.skill_add_range },
@ -3735,6 +3736,7 @@ void battle_set_defaults()
battle_config.cast_rate=100;
battle_config.delay_rate=100;
battle_config.delay_dependon_dex=0;
battle_config.delay_dependon_agi=0;
battle_config.sdelay_attack_enable=0;
battle_config.left_cardfix_to_right=0;
battle_config.skill_add_range=0;

View File

@ -94,7 +94,8 @@ extern struct Battle_Config {
unsigned short critical_rate;
unsigned short enable_baseatk;
unsigned short enable_perfect_flee;
unsigned short cast_rate,delay_rate,delay_dependon_dex;
unsigned short cast_rate, delay_rate;
unsigned short delay_dependon_dex, delay_dependon_agi;
unsigned short sdelay_attack_enable;
unsigned short left_cardfix_to_right;
unsigned short skill_add_range;

View File

@ -8694,7 +8694,7 @@ int skill_castfix_sc (struct block_list *bl, int time)
}
/*==========================================
* Does delay reductions based on dex, sc data, item bonuses, ...
* Does delay reductions based on dex/agi, sc data, item bonuses, ...
*------------------------------------------*/
int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
{
@ -8733,6 +8733,14 @@ int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
else //To be capped later to minimum.
time = 0;
}
if (battle_config.delay_dependon_agi && !(delaynodex&1))
{ // if skill delay is allowed to be reduced by agi
int scale = battle_config.castrate_dex_scale - status_get_agi(bl);
if (scale > 0)
time = time * scale / battle_config.castrate_dex_scale;
else //To be capped later to minimum.
time = 0;
}
}
if (!(delaynodex&2))