Is it possible this ASPD formula?

Triedge

New member
Messages
199
Points
0
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
Code:
WFIFOW(fd,38) = (2000-pl_sd->battle_status.amotion)/10;  // aspd 
in pc.c
Code:
case SP_ASPD:		    val = (2000-sd->battle_status.amotion)/10; break; 
in status.c

Code:
status->dummy.amotion = 2000;status->dummy.dmotion = 2000; 
Code:
i = status->base_amotion_pc(sd,bstatus);bstatus->amotion = cap_value(i,((sd->class_&JOBL_THIRD) ? battle_config.max_third_aspd : battle_config.max_aspd),2000); 
Code:
} 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?

 
Back
Top