7WCharacter Sheet file v. 1B€HeroŒ€3Champions character template with superhero limits.€ CharacterK€Hero.hlpn€ê€Š€ÈI€l€dround((c + a)*m)H€€3€_ßÿÿÿÿ €01/09/2001 08:41:05€.€hero.cds€J€ Champions.cst5€hero.fltr€ €€rnd5(x) round(x/5)€chrRoll(chr, a_chr, bonus)^format("%d%s-", 9+rnd5(chr)+round(bonus), a_chr?concat("/",9+rnd5(chr+a_chr)+round(bonus)):"")€rnd2(x) round(x/2)€m_mass1€m_height1€cmToEnglish(cm)^{ local inches; if (cm < 10) inches = cm / 2.54; else inches = round(cm / 2.54); endif if (inches < 12) if (inches = integer(inches)) return format('%d"', inches); else return format('%2n"', inches); endif endif return format("%d'%d%s", integer(inches/12), inches mod 12, '"'); } €kgToEnglish(kg)ƒ{ local lbs; if (kg < 10/2.2) return format('%2n lbs',kg * 2.2); endif return format('%n lbs',round(kg * 2.2)); }€ sl(dummy)h{ if (optPresent("Label")) return format("%s: ", itemInfo("@Label@")); endif return ''; }€twoN(n)e{ if (n>16) return 125000.*2^(n-17); elseif (n>6) return 125.*2^(n-7); endif return 2^n; }€ dexcost(x)(x-(9+round(dex/5))-1)*2+1€endCost(incAdds, base)#{ local nd, mult, adds, bc, frac, redEnd, incEnd, charges, costsEnd, multiplier; charges = optPresent('Charges'); costsEnd = optPresent('Costs END'); if (charges) if (!costsEnd) return 0; endif endif if (incAdds) adds = itemInfo('@a@'); else adds = 0; endif bc = itemInfo('@bc@'); frac = itemInfo('@fm@'); redEnd = itemInfo('`Reduced END`'); multiplier = itemInfo('@mo@'); if (redEnd >= 1/2) return 0; endif if (redEnd != 0) nd = dround((adds+bc) * multiplier * (1+frac-redEnd)/base); nd = dround(nd/2); else nd = dround((adds+bc) * multiplier * (1+frac)/base); endif incEnd = itemInfo('`Increased END`'); if (incEnd) mult = (-incEnd+0.5)*2; if (mult = 9) mult = 10; endif nd = nd * mult; endif return max(1,nd); }€ phase[12] "7","6, 12","4, 8, 12","3, 6, 9, 12","3, 5, 8, 10, 12","2, 4, 6, 8, 10, 12","2, 4, 6, 7, 9, 11, 12","2, 3, 5, 6, 8, 9, 11, 12","2, 3, 4, 6, 7, 8, 10, 11, 12","2, 3, 4, 5, 6, 8, 9, 10, 11, 12","2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12","1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12"€ common1[6]'"Uncommon",1,"Common",2,"Very Common",3€chargeCostArray[24]Q1,-2,2,-1.5,3,-1.25,4,-1,6,-0.75,8,-.5,12,-.25,16,0,32,0.25,64,0.5,125,0.75,250,1€ chargeCost(n)lookup(chargeCostArray,n)€chargeIndexArray[24]:1,1,2,2,3,3,4,4,6,5,8,6,12,7,16,8,32,9,64,10,125,11,250,12€$totalChargeCost(n, clips, cont, rec)»{ local i, cost, total, nc, prev; i = lookup(chargeIndexArray,n); total = i + cont + rec; if (total = 1) cost = -2; else cost = -2 + total/4; endif nc = 1; i = 0; while (nc < clips) if (cost >= 0) i = i + 2; else i = i + 1; endif if (cost = -2) cost = cost + 0.5; else cost = cost + 0.25; endif nc = twoN(i); endwhile return cost; }€ ap(c,a,mo,fa)y{ if (optPresent("Limited Power Advantage")) return dround((c+a)*mo*fa); endif return dround((c+a)*mo*(1+fa)); } €rf(mult)³{ local multiplier, incMax; if (optPresent("No Range")) return 0; endif if (mult = 0) if (!optPresent("Ranged")) return 0; endif multiplier = 5; else multiplier = mult; endif incMax = optValue("Increased Maximum Range"); if (incMax != 0) multiplier = multiplier * 5 * 4 * incMax; endif return ap(itemInfo("@bc@"), itemInfo("@a@"), itemInfo("@mo@"), itemInfo("@fm@")-incMax)*multiplier; }€ liftFunc(s)Ç{ if (s<=40) return format('%dkg',round(25 * 2^(s/5+1))/2); endif if (s<=90) return format('%d ton', round(25 * 2^(s/5-9))/2); endif return format('%d kton', round(25 * 2 ^(s/5-19))/2); }€apParent(dummy)¶{ local bc, a, mo, fm; bc = parentItemInfo("@bc@"); a = parentItemInfo("@a@"); mo = parentItemInfo("@mo@"); fm = float(parentItemInfo("@fm@")); return ap(bc, a, mo, fm); }€totalCost(bc,a,mo,fm,fd)ý{ local parClass, total, ec, mult, div, parentAP, thisAP; if (optPresent("Limited Power Advantage")) return dround(dround((bc+a)*mo*fm) / (1+fd)); endif if (itemInfo("@indent@") > 0) parClass = parentItemInfo("@cat@"); if (parClass = "EC") ec = apParent(0); thisAP = ap(bc,a,mo,fm); if (thisAP < 2 * ec) total = dround(ec/(1+fd)); else total = dround((thisAP-ec)/(1+fd)); endif elseif (parClass = "Multipower") mult = optValue("Multipower"); if (mult = "Variable Slot") div = 5; else div = 10; endif parentAP = apParent(0); thisAP = ap(bc,a,mo,fm); if (thisAP > parentAP) total = dround(dround(parentAP/div)/(1+fd)); total = total + dround((thisAP-parentAP)/(1+fd)); else total = dround(ap(bc,a,mo/div,fm)/(1+fd)); endif total = max(1, total); else total = dround(ap(bc,a,mo,fm)/(1+fd)); endif else total = dround(ap(bc,a,mo,fm)/(1+fd)); endif return total; }€ combMP(nc)r{ local mult, parentAP, capTotal, i, total, childAP, bc, a, mo, fm, fd, div, limAd; mult = optValue("Multipower"); if (mult = "Variable Slot") div = 5; else div = 10; endif parentAP = apParent(0); capTotal = 0; i = 1; while (i <= nc) bc = childItemInfo(i, "@bc@"); a = childItemInfo(i, "@a@"); mo = childItemInfo(i, "@mo@"); fm = childItemInfo(i, "@fm@"); fd = childItemInfo(i, "@fd@"); limAd = childItemInfo(i, "(optPresent('Limited Power Advantage'))"); if (!limAd) fm = fm + 1; endif childAP = dround((bc+a)*mo*fm); if (capTotal + childAP > parentAP) if (capTotal < parentAP) total = total + max(1, dround(dround((parentAP - capTotal)/div)/(1+fd))); capTotal = capTotal + childAP; total = total + dround((capTotal - parentAP)/(1+fd)); else capTotal = capTotal + childAP; total = total + dround(childAP/(1+fd)); endif else capTotal = capTotal + childAP; total = total + dround(dround((bc+a)*mo/div*fm)/(1+fd)); endif i = i + 1; endwhile total = max(1, total); return total; }€childTotal(nc){ local total, i; total = 0; i = 1; while (i <= nc) total = total + childItemInfo(i, "@c@"); i = i + 1; endwhile return total; }€totalCombCost(nc) Ä{ local parClass, total, ec, mult, div, parentAP, childAP, i, capTotal, cfd; if (itemInfo("@indent@") = 0) return childTotal(nc); endif parClass = parentItemInfo("@cat@"); total = 0; if (parClass = "EC") ec = apParent(0); parentAP = ec; i = 1; while (i <= nc) childAP = childItemInfo(i, "(ap(@bc@,@a@,@mo@,@fm@))"); capTotal = capTotal + childAP; if (ec > childAP) ec = ec - childAP; elseif (ec > 0) childAP = childAP - ec; total = total + dround(childAP/(1+ childItemInfo(i, "@fd@"))); ec = 0; else total = total + dround(childAP/(1+ childItemInfo(i, "@fd@"))); endif i = i + 1; endwhile if (parentAP * 2 > capTotal) total = total + dround((parentAP * 2 - capTotal)/ (1+ itemInfo("@fd@"))); endif elseif (parClass = "Multipower") total = combMP(nc); else total = childTotal(nc); endif return total; } € ce(exp, cost)•{ local parClass, total, ec, okay, bc, a, mo, fm, active, pactive; if (itemInfo("@indent@") = 0) return exp; endif a = itemInfo("@a@"); mo = itemInfo("@mo@"); fm = float(itemInfo("@fm@")); active = ap(cost, a, mo, fm); parClass = parentItemInfo("@cat@"); if (parClass = "EC") pactive = apParent(0); okay = exp and active >= 2*pactive; else okay = exp; endif return okay; }€ ct(dummy)F{ local parClass,cost,failed; if (itemInfo("@checkFailed@")) failed = "!"; else failed = ""; endif cost = itemInfo("@c@"); if (itemInfo("@indent@") = 0) return format('%s%d',failed, cost); endif parClass = parentItemInfo("@cat@"); if (parClass = "EC") return format("%s%s-%d", failed, chrval(itemInfo("@listindex@")+96), cost); endif if (parClass = "Multipower") if (optValue("Multipower") = "Variable Slot") return format("%sm-%d", failed, cost); endif return format("%su-%d", failed, cost); endif return format("%s(%d)",failed,cost); }€cc(char,cost,base,mx)†{ local b,c; b = max(mx,base); c = dround((char-base)*cost); if (mx and char>b) c = c + (char - b) * cost; endif return c; }€optOption(name)‚{ if (optValue(name) != 0) return format(", %s", listOptions('optTextValue', name, ', ')); endif return ""; }€"skCost(skill, bonus, base, bc, cm)Eskill=8?(optValue('Everyman')?0:1):bc-bonus+(skill-(9+rnd5(base)))*cm€genCost(skill, bonus, bc, cm)9skill=8?(optValue('Everyman')?0:1):bc-bonus+(skill-11)*cm€ initsk(base) 9+rnd5(base)€talCost(level, base, bc, cm)bc+(level-(9+rnd5(base)))*cm€gskillcost(lev, bonus)h{ local type, stat, base, inc; if (lev = 8) return optValue('Everyman')?0:1; endif type = optValue("Type"); base = optValue("Base"); inc = optValue("Increase"); if (type = "INT") stat = total_int; elseif (type = "DEX") stat = total_dex; elseif (type = "PRE") stat = total_pre; elseif (type = "EGO") stat = total_ego; elseif (type = "STR") stat = total_str; elseif (type = "CON") stat = total_con; elseif (type = "BODY") stat = total_body; elseif (type = "COM") stat = total_com; elseif (type = "Focus") stat = 0; else stat = 10; if (base = 0) base = 2; endif if (inc = 0) inc = 1; endif endif if (base = 0) base = 3; endif if (inc = 0) inc = 1; endif return base-bonus+(lev-(9+rnd5(stat)))*inc; }€gskillcheck(lev, cost, bonus){ local type, base; base = optValue("Base"); type = optValue("Type"); if (lev=8) return 1; endif if (type = "INT") if (base = 0) base = 3; endif elseif (type = "DEX") if (base = 0) base = 3; endif elseif (type = "PRE") if (base = 0) base = 3; endif elseif (type = "EGO") if (base = 0) base = 3; endif elseif (type = "STR" or type = "CON" or type = "BODY" or type = "COM") if (base = 0) base = 3; endif else if (base = 0) base = 2; endif endif return cost>=base-bonus; }€ kadmg(pts)G{ local dice, rmdr; dice = integer(pts/15); rmdr = pts mod 15; if (rmdr >= 10) if (dice = 0) return '½d6'; endif return format('%d½d6', dice); endif if (rmdr >= 5) if (dice = 0) return '+1'; endif return format('%dd6+1', dice); endif return format('%dd6', dice); }€)weapdmg(dc, minstr, extradc, dcper, type)D{ local totaldc, strdiff, killing; killing = strindex(type,"K") > 0; if (total_str > minstr) strdiff = total_str - minstr; strdiff = integer(strdiff/5)*5; if (dcper = 1) totaldc = 5 * dc + min(5*dc, strdiff); else totaldc = 5 * dc + 5*min(dc, integer(strdiff / extradc)*dcper + (killing?integer(martialDC/2):martialDC)); endif else totaldc = 5 * dc; endif if (killing) return concat(kadmg(min(10*dc, totaldc+integer(martialDC/2)*5)), type); endif return concat(kadmg(3*min(10*dc, totaldc+martialDC*5)), type); }€"moveCost(var,a_var,levcost, m_var)Â{ local cost; if (m_var = 0 or var + a_var <= m_var) return a_var*levcost; endif cost = (m_var - var) * levcost; cost = cost + 2*(var+a_var-m_var)*levcost; return cost; }€areafunc(aeText, cost)È{ local incArea,bc,a,fm, doubling, aeCost; aeCost = cost; bc = itemInfo("@bc@"); a = itemInfo("@a@"); fm = itemInfo("@fm@"); incArea = itemInfo("`Increased Area`"); doubling = twoN(incArea*4); aeCost = ap(bc, a, 1, fm-aeCost-incArea); if (aeText = "Radius") return format('%d" radius', round(round(aeCost/10)*doubling)); elseif (aeText = "Cone") return format('%d" long', round(aeCost/5)*doubling); elseif (aeText = "Line") return format('%d" long', 2*round(aeCost/5)*doubling); elseif (aeText = "Any Area") return format('%d hexes', round(aeCost/10)*doubling); elseif (aeText = "One-Hex") return format('%d hex(es)', 1*doubling); endif return 'Unknown area type'; }€ de(dummy)T{ if (optPresent("END")) return itemInfo("`END`"); endif return ''; }€gmad(type, extradc)À{ if (type = "Dice") return format('%dd6', extradc+ rnd5(total_STR)+martialDC); endif if (type = "Killing") return format('%s HKA', kadmg(min(total_str,extradc*5)+extradc*5 + 5*integer(martialDC/2))); endif if (type = "Strength") return format('STR %d', total_STR+extradc*5+martialDC*5); endif if (type = "NND") return format('%dd6 NND',extradc + integer(martialDC/2)); endif return "None"; }€ charnames[28]t"STR",1,"DEX",2,"CON",3,"BODY",4,"INT",5,"EGO",6,"PRE",7,"COM",8,"PD",9,"ED",10,"SPD",11,"REC",12,'END',13,'STUN',14€run6€swim2€jumpround((str+a_str)/5)€a_char(char,total)"char!=total?format("/%d",total):""€maxChar(norm,a40,a60){ if (age60) return a60; endif if (age40) return a40; endif if (NormalMaxima or normMaxChars) return norm; endif return 0; }€ total_str str+a_str€ total_dex dex+a_dex€ total_con con+a_con€ total_body body+a_body€ total_int int+a_int€ total_ego ego+a_ego€ total_pre pre+a_pre€ total_com com+a_com€total_pdpd+a_pd€total_eded+a_ed€ total_spd a_spd+spd€ total_rec rec+a_rec€ total_end end+a_end€ total_stun stun+a_stun€m_strmaxChar(20, 15, 10)+mx_str€m_dexmaxChar(20, 20, 20)+mx_dex€m_conmaxChar(20, 15, 10)+mx_con€m_bodymaxChar(20, 15, 10)+mx_body€m_intmaxChar(20, 25, 30)+mx_int€m_egomaxChar(20, 25, 30)+mx_ego€m_premaxChar(20, 25, 30)+mx_pre€m_commaxChar(20,20,20)+mx_com€m_pdmaxChar(8,6,4)+mx_pd€m_edmaxChar(8,6,4)+mx_ed€m_spdmaxChar(4,4,4)+mx_spd€m_recmaxChar(10,8,6)+mx_rec€m_endmaxChar(50,40,30)+mx_end€m_stunmaxChar(50,40,30)+mx_stun€m_runmaxChar(10,8,6)+mx_run€m_swimmaxChar(5,4,3)+mx_swim€ logoGraphic"hero\Champions.jpg"—€€moveEnd(inches){ local nd, mult, redEnd, incEnd, charges, costsEnd, multiplier; charges = optPresent('Charges'); costsEnd = optPresent('Costs END'); if (charges) if (!costsEnd) return 0; endif endif redEnd = itemInfo('`Reduced END`'); if (redEnd >= 1/2) return 0; endif if (redEnd != 0) nd = dround(inches/10); else nd = rnd5(inches); endif incEnd = itemInfo('`Increased END`'); if (incEnd) mult = (-incEnd+0.5)*2; if (mult = 9) mult = 10; endif nd = nd * mult; endif return max(1,nd); } € €Skills/€Skills†€€skillsPBD€%0rx'skills'%7l!TotalC€S%€ MS Sans Serif~€`€"(€f›}€%0r!Cost%7l!Skill%-5r!Roll*€%0rc%7ln€ Acrobatics€ Skill;DEX€DEXL€ Acrobaticsm€Skills€skCost(x,&x,total_dex,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€ acrobatics€14€@@|€@@€ Breakfall€ Skill;DEX€DEXL€ Breakfallm€Skills€skCost(x,&x,total_dex,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€ breakfall€14€@@|€@@€Climbing€ Skill;DEX€DEXL€Climbingm€Skills€skCost(x,&x,total_dex,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€ breakfall7€€€Everyman?+1;‹€'l'‰€€€€14€@@|€@@€Stealth€ Skill;DEX€DEXL€Stealthm€Skills€skCost(x,&x,total_dex,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€Stealth7€€€Everyman?+1;‹€'l'‰€€€€14€@@|€@@€Security Systems€ Skill;INT€INTL€Security Systemsm€Skills€skCost(x,&x,total_int,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€securitysystems€14€@@|€@@€Combat Piloting€ Skill;DEX€DEXL€Combat Pilotingm€Skills€skCost(x,&x,total_dex,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€combatpiloting€14€@@|€@@€ Paramedic€ Skill;INT€INTL€ Paramedicm€Skills€skCost(x,&x,total_int,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€ paramedic7€€€Everyman?+1;‹€'l'‰€€€€14€@@|€@@€Computer Programming€ Skill;INT€INTL€Computer Programmingm€Skills€skCost(x,&x,total_int,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€computerprogramming€14€@@|€@@€ Seduction€ Skill;PRE€PREL€ Seductionm€Skills€skCost(x,&x,total_pre,3,2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€x=8 or c>=3-&x*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-4r!3/2+€ Seduction€12€@@|€@@€ Contact: mom€ Perk;ContactL€Contactm€Skills€max(1,1+(x>10)*(x-10)-&x))€ x=8 or x>10*€%0rx|ct(0)|%7l!^n%-6rv-0€%0ln%-10r!Varies+€contact7€>€ Usefulness0?:1;Normal,+0;Very,+1;Extremely,+2;Incredibly,+3€€11€@|€@€ Ambidexterityv€€TalentL€ Ambidexteritym€Skillsl€ totalcost(@bc@,a,@mo@,@fm@,@fd@)*€%0rx|ct(0)|%7ln0€%0ln%-25ll%-4rc€@@|€@@,€Kenjitsu-€€off handv€„€€ Familiarity€ FamiliarityL€Generic Familiaritym€Skills*€%0rx|ct(0)|%7ln0€%0ln%-25ll%-4rc+€fam€€?|€€?€meleev€„€€ Familiarity€ FamiliarityL€Generic Familiaritym€Skills*€%0rx|ct(0)|%7ln0€%0ln%-25ll%-4rc+€fam€€?|€€?€ Fast Strikev€€Martial ManeuverL€ Fast Strikem€Skills€x+0*martialDC*total_str)€x=4*€V%0rx|ct(0)|%7ln (OCV ^x|format('%+d',`OCV`)|, DCV ^x|format('%+d',`DCV`)|, ^o'Damage')0€"%0ln (^o'OCV'/^o'DCV')%-25lt%-4r!4+€martman7€€€OCV??+2‹€format('l: %+d', o)‰€€€€DCV??0‹€format('l: %+d', o)‰€€€8€Damage5format('%dd6',round((total_STR*2-2)/5)/2+2+martialDC)‰€€€€4€€@|€€@€ Martial Dodgev€€Martial ManeuverL€ Martial Dodgem€Skills€x+0*martialDC*total_str)€x=4*€5%0rx|ct(0)|%7ln (OCV --, DCV ^x|format('%+d',`DCV`)|)0€%0ln%-25lt%-4r!4+€martman7€€€DCV??+5‹€format('l: %+d', o)‰€€€€4€€@|€€@€Passing Strikev€€Martial ManeuverL€Passing Strikem€Skills€x+0*martialDC*total_str)€x=5*€V%0rx|ct(0)|%7ln (OCV ^x|format('%+d',`OCV`)|, DCV ^x|format('%+d',`DCV`)|, ^o'Damage')0€"%0ln (^o'OCV'/^o'DCV')%-25lt%-4r!5+€martman7€€€OCV??+1‹€format('l: %+d', o)‰€€€€DCV??0‹€format('l: %+d', o)‰€€€8€Damage7format('%dd6+v/5',round((total_STR*2-2)/5)/2+martialDC)‰€€€€5€ @|€ @€'Knowledge Skill: anylize style Kenjitsu€Skill;Knowledge€ BackgroundL€Knowledge Skillm€Skills€gskillcost(x,&x)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€gskillcheck(x,c,&x)*€%0rx|ct(0)|%7ln%-5rv-0€%0ln%-25ll%-7r!2-3/1+€knowledgeskill7€€€Type?:2;Background;INT‰€€€€14€@@|€@@€martial manouvers€ Combat Level€ Combat LevelL€ Tight Groupm€Skills€ round(3*x))€x>=1*€%0rx|ct(0)|%7l!+^v level w/^n0€%0ln%-25ll%-10r!3 per +17€€€Type?:1;HTH;Ranged‰€€€€5€pA|€pA€ package bonusv€€NoteL€---*€ %0r! %7ln0€%0ln€ Á|€ Á€ style bonusv€€NoteL€---*€ %0r! %7ln0€%0ln€@À|€@À€w€€x€†€€Martial Arts StyleL€Create Your Own*€%0rx|ct(0)|%5ln€ A|€ A€ €Powers/€Powers†€€powers–BD€%0rx'Powers'%7l!TotalC€P%€ MS Sans Serif~€`€"(€–à}€%0r!Cost%7l!Power%-5r!END*€%0rc%7ln,€Elemental Control-€€Growth€ùa_str+x*5*`Add to Characteristics`;m_mass*(`Add to Characteristics`?twoN(x):1);a_body+x*`Add to Characteristics`;a_stun+x*`Add to Characteristics`;m_height*integer(2^(x*`Add to Characteristics`/3)*10)/10);a_gdcv-round(x*`Add to Characteristics`*2/3)€SizeL€Growthm€Powers€ dround(x*5)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x>=1,c)*€j%0rx|ct(0)|%7lx|sl(0)|^n-^v (^o'Mass Multiplier' mass, ^o'Height and Width Multiplier' height)%-5rx'de(0)'0€%0ln%-22lt%-10r!5/level+€power7€€8€END endCost(1,10)‰€€€€Add to Characteristics?+1;‹€'l'‰€€8€Mass=format('%n kg/%s',twoN(x)*weight,kgToEnglish(twoN(x)*weight))8€Height]format('%n cm/%s', height*integer(2^(x/3)*10)/10, cmToEnglish(height*integer(2^(x/3)*10)/10))€8€Mass Multiplierformat('×%d',twoN(x))£€Mass‰€€€8€Height and Width Multiplier%format('×%d',integer(2^(x/3)*10)/10))‰€€8€ Extra STRx*58€Knockback Reduction-x8€ Extra BODYx8€ Extra STUNx8€ DCV Penalty -round(x*2/3)8€ PER Penaltyformat('+%d',round(x*2/3))€Add to Characteristics ?:2;No;Yes<€ ConcentrateA?:1;½ DCV,-¼;0 DCV,-½;Throughout & ½ DCV,-½;Throughout & 0 DCV,-1€<€ Reduced END(?:1;Half,+¼;Zero,+½;Zero & Persistent,+1£€RE‹€%format('l: t, %+d', `Autofire`?o*2:o)8€`Autofire`?o*2:o€€€6€ðA|€ˆA€Damage Resistance€StandardL€Damage Resistancem€Powers€dround(x*(takesNoStun?3:1)/2)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x>=10,c)*€:%0rx|ct(0)|%7lx|sl(0)|^n (^o'PD' PD/^o'ED' ED)%-5rx'de(0)'0€%0ln%-22lt%-10r!½RD£€Dmg Res+€power7€€y€PDDRpd+(`Affect Totals`?x:0)16‰€€€y€EDDRed+(`Affect Totals`?x:0)16‰€€€€ Affect Totals?+1;‹€'l'‰€€<€OIF-½€€Focus Breakability?:2;Breakable;Unbreakable£€Focus€€€Focus Applicability?:2;Universal;Personal£€ Applicability€€<€Focus ExpendabilityS?:2;None,+0;Hard to Acquire,-¼;Extremely Hard to Acquire,-½;Dangerous to Acquire,-1£€ Expendability€€<€Hardened??2;½;x/4;x>0;‹€format('l: ×%d, o', o*4)€€€32€€A|€À@€ Invisibilityv€€SpecialL€ Invisibilitym€Powers€xl€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x=20,c)*€%0rx|ct(0)|%7lx|sl(0)|^n (^x|listOptions('optTextValue', 'Sense',', ')|^x|optOption('Sense Group')|^x|`Fringe`?', No Fringe':''|)%-5rx'de(0)'0€%0ln%-22lt%-10r!^c+€power7€€8€END endCost(1,10)‰€€€€SenseÖ?:1;Normal Sight;IR Vision;UV Vision;Hearing;Ultrasonic Hearing;Sonar;Radio Listen/Transmit;High Range Radio Hearing;Smell;Taste;Spatial Awareness;N-Ray Vision;Clairsentience;Radar;Mind Scan;Mental Awareness;Detect‰€€€>€ Sense GroupR?:2;None,0;Sight,10;Hearing,10;Radio,10;Smell/Taste,10;Unusual Senses,10;Mental,10‰€€€>€Fringe?:2;Present,+0;Absent,+10‰€€>€ Sense GroupR?:3;None,0;Sight,10;Hearing,10;Radio,10;Smell/Taste,10;Unusual Senses,10;Mental,10<€OIF-½€€Focus Breakability?:2;Breakable;Unbreakable£€Focus€€<€Focus ExpendabilityS?:2;None,+0;Hard to Acquire,-¼;Extremely Hard to Acquire,-½;Dangerous to Acquire,-1£€ Expendability€€<€ Activation4?:2;15-,-¼;14-,-½;12-,-¾;11-,-1;10-,-1¼;9-,-1½;8-,-2£€Act€€€20€ A|€pA€Running€a_run+x€MovementL€Runningm€Powers€moveCost(run,x,2,m_run)+0*a_runl€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x>=-6,c)*€g%0rx|ct(0)|%7lx|sl(0)|^n (^x|format('%+d',@v@)|", ^o'Running', NC: ^o'Non-Combat Movement')%-5rx'de(0)'0€%0ln%-22lt%-10r!2/1"+€running7€€8€END moveEnd(6+x)‰€€€8€Runningformat('%d"',6+a_run)‰€€€>€Non-Combat Multiplier??2;5;(x-1)*5;x>0;‹€#format('l: ×%d, +o', twoN((o)/5+1))€€8€Non-Combat MovementN`No Non-Combat`?'--':format('%n"',(6+a_run)*twoN(`Non-Combat Multiplier`/5+1))‰€€€8€Non-Combat (MPH)[`No Non-Combat`?'--':format('%n',round(x*twoN(`Non-Combat Multiplier`/5+1)*total_spd*.372))£€MPH€<€ Has Turn Mode?+0;-¼€€10€ A|€ A€Drain: intelligence€ AdjustmentL€Drainm€Powers€ dround(x*10)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x>=1,c)*€B%0rx|ct(0)|%7lx|sl(0)|^vd6 ^n (Return/^o'Return Rate')%-5rx'de(0)'0€%0ln%-22lt%-10r!10/1d6+€power7€€8€END endCost(1,10)‰€€8€Rangerf(0)€<€ Return RateŽ?:1;turn,+0;min.,+¼;5 min.,+½;hour,+¾;5 hours,+1;day,+1¼;week,+1½;month,+1¾;season,+2;year,+2¼;5 years,+2½;decade,+2¾;5 decades,+3;century,+3¼‰€€<€AffectsU?:1;Single Power,+0;Single Power of Special Effect,+¼;All Powers of Special Effect,+2€Special Effect batting eyes<€Gestures&?:1;Instant Power,-¼;Constant Power,-½€<€ Activation4?:7;15-,-¼;14-,-½;12-,-¾;11-,-1;10-,-1¼;9-,-1½;8-,-2£€Act€<€ ConcentrateA?:1;½ DCV,-¼;0 DCV,-½;Throughout & ½ DCV,-½;Throughout & 0 DCV,-1€€3€ðA|€ @€‡€ˆ€w€€…€†€€EC€ECL€Elemental Controll€'dround((ap(@bc@,0,@mo@,@fm@))/(1+@fd@)))€x>=0*€.%0rx|ct(0)|%5lx|sl(0)|^n (^x|@bc@|-pt reserve)£€EC7€<€ Incantation&?:1;Instant Power,-¼;Constant Power,-½€€@A|€ A€Enhanced Perception (all)€b_per+x€Enhanced SenseL€Enhanced Perception (all)m€Powers€ dround(x*3)l€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x>=1,c)*€1%0rx|ct(0)|%7lx|sl(0)|^n (+^v to PER)%-5rx'de(0)'0€%0ln%-22lt%-10r!3 per +1£€Enh PER+€power7€<€OIF-½€€Focus Breakability?:2;Breakable;Unbreakable£€Focus€€<€Focus ExpendabilityS?:2;None,+0;Hard to Acquire,-¼;Extremely Hard to Acquire,-½;Dangerous to Acquire,-1£€ Expendability€€€3€A|€ @€Mind Link: with Bastv€€MentalL€ Mind Linkm€Powers€xl€ totalcost(@bc@,a,@mo@,@fm@,@fd@))€ ce(x=0,c)*€$%0rx|ct(0)|%7lx|sl(0)|^n%-5rx'de(0)'0€%0ln%-22lt%-10r!Varies+€power7€>€Minds;?:1;One Specific Mind,+5;Related Group,+10;Any One Mind,+15€>€Number of Minds??1;0;(x-1)*5;x>0;‹€format('l: %d, +o', twoN(o/5))€>€Distance?:2;Single Planet,+0;Any,+5>€ Dimension?:1;Current,+0;Any,+5<€ Link with%?:1;Anyone,+0;Those with Mind Link,-1€<€ Always On-½£€AO€€€0|€à@€ € Disadvantages/€ Disadvantages€ disadvantages/CD€%0rx'disadvantages'%7l!TotalC€D%€ MS Sans Serif~€`€"(€ Êû)€D!ConfigParam('CheckDisadLimit') or disadvantages <= MaxDisadvantagesM€)Maximum points in disadvantages exceeded.}€%0r!Pts%7l!Disadvantage*€%0rc%7ln€Berserk: twin hurtv€€BerserkL€Berserkl€round((c+a)*m)*€R%0rx|ct(0)|%7l!^n (^o'Chance to Go Berserk', ^o'Chance to Recover', ^o'Intensity')0€%0ln%-10r!Varies7€>€ Circumstances*?:3;Uncommon,+5;Common,+10;Very Common,+15€>€Chance to Go Berserk?:3;8-,+0;11-,+5;14-,+10‰€€€>€Chance to Recover?:2;14-,+0;11-,+5;8-,+10‰€€€=€ Intensity?:1;Berserk,×1;Enraged Only,×½‰€€€|€ðA€Berserk: mindlink brokenv€€BerserkL€Berserkl€round((c+a)*m)*€R%0rx|ct(0)|%7l!^n (^o'Chance to Go Berserk', ^o'Chance to Recover', ^o'Intensity')0€%0ln%-10r!Varies7€>€ Circumstances*?:2;Uncommon,+5;Common,+10;Very Common,+15€>€Chance to Go Berserk?:1;8-,+0;11-,+5;14-,+10‰€€€>€Chance to Recover?:3;14-,+0;11-,+5;8-,+10‰€€€=€ Intensity?:2;Berserk,×1;Enraged Only,×½‰€€€|€ A€8Berserk: someone is extremely unflattering about parentsv€€BerserkL€Berserkl€round((c+a)*m)*€R%0rx|ct(0)|%7l!^n (^o'Chance to Go Berserk', ^o'Chance to Recover', ^o'Intensity')0€%0ln%-10r!Varies7€>€ Circumstances*?:2;Uncommon,+5;Common,+10;Very Common,+15€>€Chance to Go Berserk?:1;8-,+0;11-,+5;14-,+10‰€€€>€Chance to Recover?:1;14-,+0;11-,+5;8-,+10‰€€€=€ Intensity?:2;Berserk,×1;Enraged Only,×½‰€€€|€ @€#Distinctive Features: Anthropomorphv€€Distinctive FeaturesL€Distinctive Featuresl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€%0ln%-10r!Varies£€DF7€€>€Concealability.?:2;Easily,5;Concealable,10;Not Concealable,15£€Conc€>€ReactionN?:1;Noticed and Recognizable,+0;Always noticed & major reaction,+5;Extreme,+10€€0|€ A€$Distinctive Features: Identical Twinv€€Distinctive FeaturesL€Distinctive Featuresl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€%0ln%-10r!Varies£€DF7€€>€Concealability.?:1;Easily,5;Concealable,10;Not Concealable,15£€Conc€>€ReactionN?:1;Noticed and Recognizable,+0;Always noticed & major reaction,+5;Extreme,+10€€0|€ @€Hunted: puristsv€€HuntedL€Huntedl€round((c+a)*m)*€"%0rx|ct(0)|%7l!^n (^o'Appearance')0€%0ln%-10r!Varies7€>€ Capabilities3?:3;Less Powerful,5;As Powerful,10;More Powerful,15€>€Non-combat Influence?:2;None,+0;Extensive,+5£€NCI€€>€Geographical Area?:1;Unlimited,-0;Limited,-5£€Geo€€>€ Appearance?:1;8-,+0;11-,+5;14-,+10‰€€=€Actions?:1;Hunting,×1;Only Watching,×½>€ Punishment?:2;Mild,-5;Harsh,0€|€ A€Public Identityv€€IdentityL€Public Identityl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€ %0ln%-10rc£€ Public ID1€!Secret Identity€ A|€ A€Rivalry: elder 3 siblingsv€€RivalryL€Rivalryl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€%0ln%-10r!Varies7€>€ Situation:?:1;Professional,5;Romantic,5;Professional and Romantic,10>€Position?:1;Equal,+0;Superior,+5>€Rival?:1;NPC,+0;PC,+5€€0|€ @€ Disadvantagesv€„€€ Villain BonusL€ Villain Bonusl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€ %0ln%-10rc€0€\B|€\B€Other: skill bonusv€„€€ Villain BonusL€ Villain Bonusl€round((c+a)*m)*€%0rx|ct(0)|%7ln0€ %0ln%-10rc€ÈA|€ÈA€ € Equipment/€ Equipment€ equipmentD€.%0rx'equipment'%9l!Totals (^x'equipweight' kg)9€CostC€E%€ MS Sans Serif~€`€"(€ÿÿÿÿ0ñ}€%0r!Cost%7l!Equipment*€%0rc%7ln€&€Characteristics4(€†€%€ MS Sans Serif~€ž€%€ MS Sans Serif~€`€"Ÿ€€€€)€<(c_pd<0)+(c_ed<0)+(c_spd<0)+(c_rec<0)+(c_end<0)+(c_stun<0)<2M€DOnly one figured characteristic may be reduced below the base value.€Name: "!€€Ermine (Jacqueline)+Name€ Experience:#;!€€]t_powers+t_char>t_disadv+basePoints ? min(t_exp,t_powers+t_char - (t_disadv+basePoints)) : 0C# "€ experience€/\# !€$€1d")€x>=04€t_exp$€21L STR$€23d DEX$€23| CON$€12• BODY$€23­ INT$€15Æ EGO$€13Þ PRE$€20ö COM$€15œ| €rnd5(str+a_str_pd)PD$€15œ” €rnd5(con+a_con_ed)ED$€5.0œ¬ €1+(dex+a_dex_spd)/10SPD$€9œÅ €'rnd5(str+a_str_rec)+rnd5(con+a_con_rec)rec$€46œÝ €(con+a_con_end)*2end$€35œö €HtakesNoStun?0:body+a_body_stun+rnd2(str+a_str_stun)+rnd2(con+a_con_stun)*€takesNoStun?'No':xstun €Costs™™J€Value:! !€€CharD: !€€Pointsg:& !€€STRDP! !€€cc(str,1,10,m_str)gP "€c_str€DEXDh! !€€cc(dex,3,10,m_dex)gh "€c_dex€COND! !€€cc(con,2,10,m_con)g "€c_con€BODYD™! !€€cc(body,2,10,m_body)g™ "€c_body€INTD±! !€€cc(int,1,10,m_int)g± "€c_int€EGODÊ! !€€cc(ego,2,10,m_ego)gÊ "€c_ego€PREDâ! !€€cc(pre,1,10,m_pre)gâ "€c_pre€COMDû! !€€cc(com,0.5,10,m_com)gû "€c_com€Valueœj! !€€CharÛj !€€Pointsþj& !€€PDÛ€! !€€ cc(pd,1,rnd5(str+a_str_pd),m_pd)þ€ "€c_pd€EDÛ˜! !€€ cc(ed,1,rnd5(con+a_con_ed),m_ed)þ˜ "€c_ed€SPDÛ°! !€€%cc(spd,10,1+(dex+a_dex_spd)/10,m_spd)þ° "€c_spd€RECÛÉ! !€€ENDÛá! !€€STUNÛú !€€7cc(rec,2,rnd5(str+a_str_rec)+rnd5(con+a_con_rec),m_rec)þÉ "€c_rec€#cc(end,0.5,2*(con+a_con_end),m_end)þá "€c_end€ZtakesNoStun?0:cc(stun,1,body+a_body_stun+rnd2(str+a_str_stun)+rnd2(con+a_con_stun),m_stun)þú "€c_stun€Char.œ-% "€€Powersœ?% "€€TotalœQ% "€€TotalQ! !€€Disad.-! !€€a_char(str,total_str)(P !€t_str€a_char(dex,total_dex)(h !€t_dex€a_char(con,total_con)( !€t_con€a_char(body,total_body)(™ !€t_body€a_char(int,total_int)(± !€t_int€a_char(ego,total_ego)(Ê !€t_ego€a_char(pre,total_pre)(â !€t_pre€a_char(com,total_com)(û !€t_com€a_char(pd,total_pd)½€ !€t_pd€a_char(ed,total_ed)½˜ !€t_ed€'a_char(integer(spd),integer(total_spd))½° !€t_spd€a_char(rec,total_rec)½É !€t_rec€a_char(end,total_end)½á !€t_end€a_char(stun,total_stun)½ú !€t_stun€Base?! !€€Sc_str+c_dex+c_con+c_body+c_int+c_ego+c_pre+c_com+c_pd+c_ed+c_spd+c_rec+c_end+c_stunÈ- !€t_char€€t_powers+t_char+0*ptsAvailÈQ !€total €total>ptsAvail€€#disadvantages+experience+basePointsóQ "€ptsavail€ disadvantagesó- "€t_disadv€ basePointsó? "€t_base€7total < ptsAvail ? '<' : (total > ptsAvail ? '>' : '=')çQ #€balance€)skills+powers+(equipCostsPts?equipment:0)È? !€t_powers€&€ Information\(€6%€ MS Sans Serif~€C€I€Player: ( !€€ Diane SodherRplayer€ Appearance:I !€€White ermine-like anthropomorphR= appearance€ Background:aI !€€*Fox and Mink's kid one of identical twinsRaestory€Weight:Ó'!€$€550Ï)*€x?x:''weight€kg\Ó!€€Height:qÓ$!€$€165—Ï$*€x?x:''height€cm¿Ó!€€Age:ÚÓ!€$€16óÏ)€W{ if (age40) return x>=40; endif if (age60) return x>=60; endif return 1; }M€AYou've chosen an Age disadvantage and your age is less than that.*€x?x:''age€Sex:ú!€6€00ö>EsexFemale;0;Male;1; ;2€Created: %@datecreated%Ì@!€€Race:}ú!!€€ anthropomorph¦ö­Race€weight?kgToEnglish(weight):''0æ5 !€ weightLbs€height?cmToEnglish(height):''—æ5 !€ heightEng€&€ ConfigurationV˜(€RP%€ MS Sans Serif~€C€O €Character Type£’6€6 “{charTypevIncompetent Normal;1;Normal;2;Skilled Normal;3;Competent Normal;4;Hero;5;Standard Superhero;6;High-Powered Superhero;7€ Base Points: 2D!€$€100/€'qindex(charType,-20,0,25,50,75,100,150) basePoints€Max. Disadvantages: Jg!€$€175G€'qindex(charType,25,25,25,50,75,150,225)MaxDisadvantages€$Max. from one cat. of Disadvantages: \[!€$€%qindex(charType,25,25,25,25,25,50,75)_€%qindex(charType,25,25,25,25,25,50,75) MaxCatDisad€Total: zg!€€BasePoints+MaxDisadvantagesz !€ CharTotal€Normal Characteristic Maxima®£ NormalMaxima€Equipment Costs Points® Ÿ equipCostsPts€ Logo Graphic:®?_!€›€ Browse...5:browselogo = $$Config.Logo; getfilename logo, Logo Graphic, "Pictures|*.jpg;*.bmp;*.png"; if (logo) Configuration.logo = logo; $@logoGraphic = logo; endif€€hero\Champions.jpg®N Logoœ€%$@logoGraphic = $$Configuration.Logo;€€ logoGraphicÀg|- LogoDisplay€&€Combat Í(€ÿÿÿÿ%€ MS Sans Serif~€C€B €Combat{X €Phases[{4 €Defense‡[4€OCV:  !€€DCV: # !€€ECV: 4 !€€round(total_dex/3), !€ocv€round(total_dex/3),# !€dcv€round(total_ego/3),4 !€ecv€phase[total_spd]km!!€phases€Mental Defense: EQ !€€(mentalDef?round(total_ego/5)+mentalDef:0_E !€ t_mentalDef €Physical Feats‡X€Run: !€€Swim:# !€€Jump:4 !€€PD:’j !€€ED:’} !€€rPD:Ðj !€€rED:Ð} !€€ pd+a_pd+rpd¦j !€d_pd€ ed+a_ed+red¦} !€d_ed€rpd+a_rpd+min(total_pd,DRpd)èj !€ total_rpd€red+a_red+min(total_ed,DRed)è} !€ total_red€;format('%d%d"',run,a_run?concat("/",integer(run+a_run)):"")°- !€t_run€?format('%d%d"',swim,a_swim?concat("/",integer(swim+a_swim)):"")°#- !€t_swim€?format('%d%d"',jump,a_jump?concat("/",integer(jump+a_jump)):"")°4- !€t_jump€Lift:E !€€Tformat("%d%s", liftFunc(str), str=total_str ? "" : concat("/", liftFunc(total_str)))°ET !€t_lift€,format('/ %s',a_gdcv?max(0,dcv+a_gdcv):'--')@# !€growdcv€-format('/ %s', a_sdcv?max(0,dcv+a_sdcv):'--')Z# !€ shrinkdcv €Characteristic Rolls”3€STR: ¥ !€€DEX: µ !€€chrRoll(str, a_str, 0)0¥" !€STRRoll€chrRoll(dex, a_dex, 0)0µ" !€DEXRoll€INT:j¥ !€€chrRoll(int, a_int, 0)¥" !€INTRoll€PER:¾¥ !€€chrRoll(int, a_int, b_per)á¥" !€PERRoll€EGO:jµ !€€chrRoll(ego, a_ego, 0)µ" !€EGORoll€CON:¾µ !€€chrRoll(con, a_con, 0)áµ" !€CONRoll€&€Pictureú((€ÿÿÿÿ%€ MS Sans Serif~€C€TT€Pictureõ%€€