How to increase ASPD by Status.c

安赫尔

New member
Messages
163
Points
0
Location
Shanghai
Github
stacksnet
Emulator
I am change status.c on line 2991 to increase ASPD on some jobclass before.

more info if((skill_lv=pc->checkskill(sd,AC_CONCENTRATION))>0 && sd->status.weapon == W_BOW) bstatus->aspd_rate += 20; if((skill_lv=pc->checkskill(sd,KN_TWOHANDQUICKEN))>0 && sd->status.weapon == W_2HSWORD) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,BS_ADRENALINE))>0 && sd->status.weapon == W_2HAXE) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,CR_SPEARQUICKEN))>0 && sd->status.weapon == W_2HSPEAR) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_KATAR) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_DAGGER) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_1HSWORD) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,TF_DOUBLE))>0 && sd->status.weapon >= W_1HSWORD) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,NJ_ISSEN))>0 && !pc->nextjobexp(sd)) bstatus->aspd_

But it invalid after https://github.com/HerculesWS/Hercules/commit/53b2d771beebbb358bf88cad47317965876eb0b4  this update.

So, how can I increase ASPD now?  I wanna increase RK Aspd.. I feel its much lower than the CRO.

Thanks.

 
You can add those below

Code:
#ifndef RENEWAL_ASPD	if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)		bstatus->aspd_rate -= 5*skill_lv;	if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))		bstatus->aspd_rate -= 30*skill_lv;	if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 &&		(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))		bstatus->aspd_rate -= ((skill_lv+1)/2) * 10;	if(pc_isriding(sd))		bstatus->aspd_rate += 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY);	else if%2
 
You can add those below

#ifndef RENEWAL_ASPD if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK) bstatus->aspd_rate -= 5*skill_lv; if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd)) bstatus->aspd_rate -= 30*skill_lv; if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) bstatus->aspd_rate -= ((skill_lv+1)/2) * 10; if(pc_isriding(sd)) bstatus->aspd_rate += 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY); else if%2

Yes I am add below , but it's invalid. In the game Aspd is nothing changes.

// ----- ASPD CALCULATION ----- // Unlike other stats, ASPD rate modifiers from skills/SCs/items/etc are first all added together, then the final modifier is applied // Basic ASPD value 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); // Relative modifiers from passive skills#ifndef RENEWAL_ASPD if((skill_lv=pc->checkskill(sd,AC_CONCENTRATION))>0 && sd->status.weapon == W_BOW) bstatus->aspd_rate += 20; if((skill_lv=pc->checkskill(sd,KN_TWOHANDQUICKEN))>0 && sd->status.weapon == W_2HSWORD) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,BS_ADRENALINE))>0 && sd->status.weapon == W_2HAXE) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,CR_SPEARQUICKEN))>0 && sd->status.weapon == W_2HSPEAR) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_KATAR) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_DAGGER) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_1HSWORD) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,TF_DOUBLE))>0 && sd->status.weapon >= W_1HSWORD) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,NJ_ISSEN))>0 && !pc->nextjobexp(sd)) bstatus->aspd_rate += 18; if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK) bstatus->aspd_rate -= 5*skill_lv; if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd)) bstatus->aspd_rate -= 30*skill_lv; if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) bstatus->aspd_rate -= ((skill_lv+1)/2) * 10; if(pc_isriding(sd)) bstatus->aspd_rate += 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY); else if(pc_isridingdragon(sd)) bstatus->aspd_rate += 250-50*pc->checkskill(sd,RK_DRAGONTRAINING);#else // needs more info if((skill_lv=pc->checkskill(sd,AC_CONCENTRATION))>0 && sd->status.weapon == W_BOW) bstatus->aspd_rate += 20; if((skill_lv=pc->checkskill(sd,KN_TWOHANDQUICKEN))>0 && sd->status.weapon == W_2HSWORD) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,BS_ADRENALINE))>0 && sd->status.weapon == W_2HAXE) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,CR_SPEARQUICKEN))>0 && sd->status.weapon == W_2HSPEAR) bstatus->aspd_rate += 35; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_KATAR) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_DAGGER) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,GC_CROSSIMPACT))>0 && sd->status.weapon == W_1HSWORD) bstatus->aspd_rate += 45; if((skill_lv=pc->checkskill(sd,TF_DOUBLE))>0 && sd->status.weapon >= W_1HSWORD) bstatus->aspd_rate += 25; if((skill_lv=pc->checkskill(sd,NJ_ISSEN))>0 && !pc->nextjobexp(sd)) bstatus->aspd_rate += 18; if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK) bstatus->aspd_rate += 5*skill_lv; if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd)) bstatus->aspd_rate += 30*skill_lv; if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) bstatus->aspd_rate += 150; if(pc_isriding(sd)) bstatus->aspd_rate -= 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY); else if(pc_isridingdragon(sd)) bstatus->aspd_rate -= 250-50*pc->checkskill(sd,RK_DRAGONTRAINING);#endif bstatus->adelay = 2*bstatus->amotion; // ----- DMOTION ----- // i = 800-bstatus->agi*4;

Did it have some another way to add Aspd?

 
Back
Top