I've been trying to change the formula of ASPD to work as follows.
[*]ASPD 50: 0.5 Hits per second
[*]ASPD 100: 1 Hits per second
[*]ASPD 200: 2 Hits per second
[*]ASPD 300: 3 Hits per second
[*]ASPD 400: 4 Hits per second
[*]ETC...
Unfortunately however much you move all variables in the SRC, it seems that there is always a "2000" hidden somewhere that is always trying to put it in formulas based on a maximum of 200 ASPD.
I've been trying to change the formula of ASPD to work as follows.
[*]ASPD 50: 0.5 Hits per second
[*]ASPD 100: 1 Hits per second
[*]ASPD 200: 2 Hits per second
[*]ASPD 300: 3 Hits per second
[*]ASPD 400: 4 Hits per second
[*]ETC...
Unfortunately however much you move all variables in the SRC, it seems that there is always a "2000" hidden somewhere that is always trying to put it in formulas based on a maximum of 200 ASPD.
in battle.c
{ "monster_max_aspd", &battle_config.monster_max_aspd, 199, 100, 199, },{ "max_aspd", &battle_config.max_aspd, 190, 100, 199, },{ "max_third_aspd", &battle_config.max_third_aspd, 193, 100, 199, },battle_config.monster_max_aspd = 2000 - battle_config.monster_max_aspd*10;battle_config.max_aspd = 2000 - battle_config.max_aspd*10;battle_config.max_third_aspd = 2000 - battle_config.max_third_aspd*10;in clif.c
in pc.c
in status.c} else if ( bl->type&BL_PC ) { amotion = status->base_amotion_pc(sd, st);#ifndef RENEWAL_ASPD st->aspd_rate = status->calc_aspd_rate(bl, sc, bst->aspd_rate);#endif if ( st->aspd_rate != 1000 ) // absolute percentage modifier amotion = amotion * st->aspd_rate / 1000; if ( sd && sd->ud.skilltimer != INVALID_TIMER && pc->checkskill(sd, SA_FREECAST) > 0 ) amotion = amotion * 5 * (pc->checkskill(sd, SA_FREECAST) + 10) / 100;#ifdef RENEWAL_ASPD amotion += (max(0xc3 - amotion, 2) * (st->aspd_rate2 + status->calc_aspd(bl, sc, 2))) / 100; amotion = 10 * (200 - amotion) + sd->bonus.aspd_add;#endif amotion = status->calc_fix_aspd(bl, sc, amotion); st->amotion = cap_value(amotion, ((sd->class_&JOBL_THIRD) ? battle_config.max_third_aspd : battle_config.max_aspd), 2000); st->adelay = 2 * st->amotion;I feel I'm close to it, but I find the code I need.Any ideas?
Share this post
Link to post
Share on other sites