// TMW2 scripts. // Authors: // Jesusalva // Description: // Core functions for Mercenary boxset // Main loop // merc_boxset(5★, 4★, 3★, 2★, 1★) function script merc_boxset { .@s5=getarg(0,0); .@s4=getarg(1,0); .@s3=getarg(2,0); .@s2=getarg(3,0); .@s1=getarg(4,0); .@sumup=.@s5+.@s4+.@s3+.@s2+.@s1; /* I wonder if this is needed...? .@s4+=.@s5; .@s3+=.@s4; .@s2+=.@s3; .@s1+=.@s2; */ // Make the seed. More level and luck increases odds of higher rarity .@seed=max(0, rand(0, .@sumup)-BaseLevel-readparam(bLuk)); // 5 ★ if (.@seed < .@s5) { setarray .@r, MercCard_AndreiSakar, MercCard_Woody, MercCard_Lilanna, MercCard_Xanthem; .@n=any_of(.@r); // 4 ★ } else if (.@seed < .@s4) { setarray .@r, MercCard_Aisen, MercCard_Msawis, MercCard_Swezanne, MercCard_DragonStar; .@n=any_of(.@r); // 3 ★ } else if (.@seed < .@s3) { setarray .@r, MercCard_Saulc, MercCard_Crazyfefe, MercCard_LawnCable, MercCard_Arthur; .@n=any_of(.@r); // 2 ★ } else if (.@seed < .@s2) { setarray .@r, MercCard_Pookie, MercCard_Jesusalva, MercCard_Demure, MercCard_EarthWitch; .@n=any_of(.@r); // 1 ★ } else { setarray .@r, MercCard_Apane, MercCard_Soren, MercCard_GonzoDark, MercCard_Rosa; .@n=any_of(.@r); } getitem .@n, 1; return; } /* // Setup a merc_boxset based on level (TODO) function script cond_mercboxset { return; } */ // Get mercenary ID // merc_randid(5★, 4★, 3★, 2★, 1★) function script merc_randid { .@s5=getarg(0,0); .@s4=getarg(1,0); .@s3=getarg(2,0); .@s2=getarg(3,0); .@s1=getarg(4,0); .@sumup=.@s5+.@s4+.@s3+.@s2+.@s1; /* I wonder if this is needed...? .@s4+=.@s5; .@s3+=.@s4; .@s2+=.@s3; .@s1+=.@s2; */ // Make the seed. More level and luck increases odds of higher rarity .@seed=max(0, rand(0, .@sumup)-BaseLevel-readparam(bLuk)); // 5 ★ if (.@seed < .@s5) { setarray .@r, 1192, 1191, 1193, 1210; .@n=any_of(.@r); // 4 ★ } else if (.@seed < .@s4) { setarray .@r, 1194, 1195, 1209, 1205; .@n=any_of(.@r); // 3 ★ } else if (.@seed < .@s3) { setarray .@r, 1196, 1197, 1198, 1208; .@n=any_of(.@r); // 2 ★ } else if (.@seed < .@s2) { setarray .@r, 1200, 1201, 1199, 1207; .@n=any_of(.@r); // 1 ★ } else { setarray .@r, 1203, 1204, 1202, 1206; .@n=any_of(.@r); } //debugmes "Return: %d ([%d, %d, %d])", .@n, .@r[0], .@r[1], .@r[2]; return .@n; }