Trans and 3rds Cast Time Separation

skempertush

New member
Messages
10
Points
0
int fixed = 0, fixcast_r = 0, varcast_r = 0, i = 0;//down a bitif(sd->class_&JOBL_THIRD) { fixed = skill->get_fixed_cast(skill_id, skill_lv);}if( fixed == 0 ){ if(sd->class_&JOBL_THIRD) { fixed = (int)time * 20 / 100; // fixed time time = time * 80 / 100; // variable time } else { time = time * 100 / 100; // variable time }}else if( fixed < 0 ) // no fixed cast time fixed = 0;//Further downif(sd->class_&JOBL_THIRD) { //HARRIS if( !(skill->get_castnodex(skill_id, skill_lv)&1) )// reduction from status point time = (1 - sqrt( ((float)(status_get_dex(bl)*2 + status_get_int(bl)) / battle_config.vcast_stat_scale) )) * time;} else { if( !(skill->get_castnodex(skill_id, skill_lv)&1) )// reduction from status point time = (1 - sqrt( ((float)(status_get_dex(bl)*3.535) / battle_config.vcast_stat_scale) )) * time;}
Basically, what I want is 150dex for Trans making them Instacast and 3rds still have fixed cast.

Transcendent- It works on some skills like StormGust, but for Dangerous Soul Collect is no cast.

3rd jobs- Working normal(Haven't test all skills)

Problem is

ReduceDex [ 80%(VCast) ] + 20%(FCast) <<<<NormalReduceDex [ 100%(VCast) + 0%(FCast) ] <<<<My ChangesReduceDex [ 80%(VCast) + 20%(FCast) ] <<<<I Need
Needing assistance....

 
Last edited by a moderator:
I managed to solve my own problem. I revert back my changes then did this.

src/map/skill.c

if( varcast_r < 0 ) // now compute overall factors time = time * (1 - (float)varcast_r / 100);if(sd->class_&JOBL_THIRD) { if( !(skill->get_castnodex(skill_id, skill_lv)&1) )// reduction from status point time = (1 - sqrt( ((float)(status_get_dex(bl)*2 + status_get_int(bl)) / battle_config.vcast_stat_scale) )) * time;} else { time = time + (1 - (float)min(fixcast_r, 100) / 100) * max(fixed,0); if( !(skill->get_castnodex(skill_id, skill_lv)&1) )// reduction from status point time = (1 - sqrt( ((float)(status_get_dex(bl)*3.535) / battle_config.vcast_stat_scale) )) * time;} // underflow checking/cappingif(!(sd->class_&JOBL_THIRD)) time = max(time, 0);else time = max(time, 0) + (1 - (float)min(fixcast_r, 100) / 100) * max(fixed,0);
I'm not sure IF its totally solved. Though I did get good result.

 
wow if this work flawless this i something i had to go search for but seems i got this
default_biggrin.png


thnx ahead

 
Last edited by a moderator:
Back
Top