Copy everything below the dotted line and paste into your favorite word processor.

Save the document as a text file with the end extension .html

Example: combat.html

If you have any questions, feel free to Contact Me

Have Fun

----------------------------- Copy Below This Line ----------------------------------------------

<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
<title>Combat Rating System</title>
<script language="JavaScript" type="text/javascript">
<!--

var offensive_rating_description = "Total Offensive Rating uses the following formula:\n\n(OCV + DCV + DC + Number Of Attacks) + (Find Weakness/5)";

var defensive_rating_description = "Total Defensive Rating uses the following formula:\n\n(Total PD/3) + (Total ED/3) + (Damage Reduction/3) + (Total rPD/10) + (Total rED/10) + \n (2 x Regeneration) + (STUN/3) + (Everything Else Added Together/5)";

var movement_rating_description = "Total Speed Rating uses the following formula:\n\n(Speed * 3) + Max Move Before Attack + Number Of Movement Powers";

var how_to_use_description = "Enter numbers into the Entry Fields.\n\nClick 'Calculate Combat Rating' to get the final figure.\n\nFor general information on a section, click on the Header (in the Purple Boxes). For more specific information, click on the Name next to the Entry Fields";

var how_to_compare_description = "The totals of each category, Offensive, Defensive, and Movement, are not to be compared with each other.\n\nA category CAN be compared with another character's.\n\nRule of Thumb:\nIf the difference in one category between two characters is 10 or more,\nthe lower point character is considered to be outclassed in that category.\n\nIf a character is outclassed in all of the categories, that character is in deep trouble.";

var credits = "The original concept came from an old Adventurer's Club issue\n\nA few changes were made to the original text and some of the formulas were adjusted.";

var good_total_description = "Each game is different and therefore a 'Good Total' cannot be given\n\nHere are a few examples:\n\nA 'Normal' has a Combat Rating of 28\n\nA character with: 8 OCV/DCV - 2 Attacks - 10 DC\nSpeed 5 - 3\" Movement Before Attack - 1 Attack\n15 PD and ED - 40 Stun\nCombat Rating: 70";

var total_rating_description = "Total Combat Rating adds Offensive, Defensive, and Movement Ratings together.\n\nThis number could be used as a Rule Of X";

var offensive_rating1_description = "Page 1/2\n\n1) Select the character's best attack in terms of overall OCV, DCV, and Damage (This will be refered to as the Main Attack). Remember combat maneuver modifiers which might lower the Main Attack's effectiveness.\n\n2) Enter the OCV and DCV while using the Main Attack (after applying all levels and maneuver modifiers). If the attack is Mental, use the ECV and multiply by 1.5.";

var offensive_rating2_description = "Page 2/2\n\n3) Enter the Damage Class (Divide the Active Points by 5) of the Main Attack\n\n4) Count the number of attacks the character has (including the Main Attack). The other attacks should be AT LEAST half the Damage Class of the Main Attack\n\n5) Enter the total Active points in Find Weakness\n\nFor the formula, click on Offensive Rating.";

var movement_rating_chart_description = "1) Enter the character's SPEED.\n\n2) Determine the maximum inches the character can move before using Main Attack (see Offensive Rating Chart for details)\n\n3) Count the number of movement powers that move AT LEAST half the inches as the fastest movement rate.\n\nFor the formula, click on Movement Rating.";

var defensive_rating1_description = "Page 1/2\n\n1) Count ALL PD and ED (even if it has limitations)\n\n2) Count ALL Resistant PD and ED (The same PD and ED in Step 1 CAN be counted again)\n\n3) Enter the total Active Points in Damage Reduction\n\n4) Count the Total KB Resistance in Inches (Including those from Growth and Density Increase)";

var defensive_rating2_description = "Page 2/2\n\n5) Enter the total Active points in Danger Sense\n\n6) Determine the total Amount of Mental Defense (after calculating EGO).\n\nFor the formula, click on Defensive Rating";

var defensive_rating3_description = "Page 1/2\n\n1) Enter the total Amount of Flash Defense\n\n2) Enter the total Amount of Lack of Weakness\n\n3) Enter the total Points spent in making the character's defense Hardened\n\n4) Enter the character's STUN\n\n5) Enter the total Active points in Invisibility";

var defensive_rating4_description = "Page 2/2\n\n6) Enter the total Active points in Missle Deflection (and Reflection)\n\n7) Enter the number of BODY of Regeneration (ignore any shifts on the Time Chart)\n\n8) Enter the total Active points in Desolidification\n\nFor the formula, click on Defensive Rating";

var entry_description = "Enter the numbers here.";

var ocv_description = "Figure in all combat skill levels and maneuver bonuses/penaties that apply to the OCV of the Main Attack.\n\nRemember to use a skill level ONLY ONCE. If a skill level has been used for DCV, it cannot be used for OCV.\n\nIf the Main Attack is mental, figure for ECV then multiply by 1.5";

var dcv_description = "Figure in all combat skill levels and maneuver bonuses/penatlies that apply to the DCV of the Main Attack.\n\nRemember to use a skill level ONLY ONCE. If a skill level has been used for OCV, it cannot be used for DCV.\n\nIf the Main Attack is mental, figure for ECV then multiply by 1.5";

var dc_description = "Use the Active Points (including Reduced END) of the Main Attack and divide by 5.";

var no_of_attacks_description = "Count ALL Attacks equal to or greater than half\nthe Active Points of the Main Attack.";

var find_weakness_description = "Total ACTIVE Points in Find Weakness (i.e. exclude all limitation modifiers).";

var pd_description = "Use the PD figures from the largest defense possible for the character.\n\nExample: If the character has a Force Field and a Force Wall\nthat CANNOT be turned on at the same time, use the one\nthat would give the largest PD."

var ed_description = "Use the ED figures from the largest defense possible for the character.\n\nExample: If the character has a Force Field and a Force Wall\nthat CANNOT be turned on at the same time, use the one\nthat would give the largest ED."

var rpd_description = "Use the Resistant PD figures from the largest defense possible for the character.\nThe character could have the same number in both Total PD and Resistant PD boxes.\n\nExample: If the character has a Force Field and a Force Wall\nthat CANNOT be turned on at the same time, use the one\nthat would give the largest PD.\n\nIf the character has Damage Resistance, the character's PD would be counted\nin both Total PD and Resistant PD.";

var red_description = "Use the Resistant ED figures from the largest defense possible for the character.\nThe character could have the same number in both Total ED and Resistant ED boxes.\n\nExample: If the character has a Force Field and a Force Wall\nthat CANNOT be turned on at the same time, use the one\nthat would give the largest ED.\n\nIf the character has Damage Resistance, the character's ED would be counted\nin both Total ED and Resistant ED.";

var damage_reduction_description = "Total ACTIVE Points in Damage Reduction (i.e. exclude all limitation modifiers).";

var kb_resistance_description = "Number of inches of Knockback Resistance, including the KB Resistance\nin powers like Growth and Density Increase.";

var danger_sense_description = "Total ACTIVE Points in Danger Sense (i.e. exclude all limitation modifiers).";

var mental_defense_description = "Total Amount of Mental Defense.";

var flash_defense_description = "Total Amount of Flash Defense.";

var lack_of_weakness_description = "Total ACTIVE Points in Lack of Weakness (i.e. exclude all limitation modifiers).";

var hardened_description = "Total ACTIVE Points in all Hardened Defenses (i.e. exclude all limitation modifiers).";

var power_defense_description = "Total ACTIVE Points in Power Defense (i.e. exclude all limitation modifiers).";

var stun_description = "Total Amount of STUN.";

var invisibility_description = "Total ACTIVE Points in Invisibility (i.e. exclude all limitation modifiers).";

var missle_deflection_description = "Total ACTIVE Points in Missle Deflection and Reflection (i.e. exclude all limitation modifiers).";

var regeneration_description = "Total BODY able to Regenerate (ignore movements on the Time Chart)";

var desolidification_description = "Total ACTIVE Points in Desolidification (i.e. exclude all limitation modifiers).";

var combat_sense_description = "The roll (after adjusting for INT).\n\nExample: If the roll is 13 or less, Enter 13.";

var fast_draw_description = "The roll (after adjusting for DEX).\n\nExample: If the roll is 13 or less, Enter 13.";

var speed_description = "Character's Speed";

var max_move_description = "Maxium Movement in inches before the character can attack with Main Attack\n\nMost characters will use Half Move for this number\n\nIf the Main Attack is a Move Through, use Full Movement.";

var no_of_move_description = "Count ALL Movement Powers equal to or greater than half\nthe inches in the Main Movement Power.";


function calculate() {

// Offensive Rating Variables

var OCV = Number(document.combat_rating.ocv.value);
var DCV = Number(document.combat_rating.dcv.value);
var DC = Number(document.combat_rating.dc.value);
var NO_OF_ATTACKS = Number(document.combat_rating.number_attacks.value);
var FIND_WEAKNESS = Number(document.combat_rating.find_weakness.value);

// Defensive Rating Variables

var ALL_PD = Number(document.combat_rating.all_pd.value);
var ALL_ED = Number(document.combat_rating.all_ed.value);
var ALL_rPD = Number(document.combat_rating.all_rpd.value);
var ALL_rED = Number(document.combat_rating.all_red.value);
var STUN = Number(document.combat_rating.stun.value);
var DAMAGE_REDUCTION = Number(document.combat_rating.damage_reduction.value);
var KB_RESISTANCE = Number(document.combat_rating.kb_resistance.value);
var DANGER_SENSE = Number(document.combat_rating.danger_sense.value);
var MENTAL_DEFENSE = Number(document.combat_rating.mental_defense.value);
var FLASH_DEFENSE = Number(document.combat_rating.flash_defense.value);
var LACK_OF_WEAKNESS = Number(document.combat_rating.lack_of_weakness.value);
var HARDENED = Number(document.combat_rating.hardened.value);
var POWER_DEFENSE = Number(document.combat_rating.power_defense.value);
var INVISIBILITY = Number(document.combat_rating.invisibility.value);
var MISSLE_DEFLECTION = Number(document.combat_rating.missle_deflection.value);
var REGENERATION = Number(document.combat_rating.regeneration.value);
var DESOLIDIFICATION = Number(document.combat_rating.desolidification.value);
var COMBAT_SENSE = Number(document.combat_rating.combat_sense.value);
var FAST_DRAW = Number(document.combat_rating.fast_draw.value);

// Movement Rating Variables

var SPEED = Number(document.combat_rating.speed.value);
var MAX_MOVE = Number(document.combat_rating.max_move.value);
var NO_OF_MOVEMENT = Number(document.combat_rating.no_of_movement.value);

// Offensive Rating Final Number:
// Add OCV, DCV, DC, and NO_OF_ATTACKS together.
// Take 1/5 of the Find Weakness total and add to the result.

var OFFENSIVE_RATING = document.combat_rating.total_offensive_rating.value = OCV + DCV + DC + NO_OF_ATTACKS + Math.round(FIND_WEAKNESS/5);

// Defensive Rating Final Number:
// 1/3 of All PD, ED and Damage Reduction
// 1/10 of All Resistant PD/ED
// 1/3 of STUN
// Add Double the Regeneration Body
// Add everything else together and take 1/5

var DEFENSIVE_RATING = document.combat_rating.total_defensive_rating.value = Math.round(ALL_PD/3) + Math.round(ALL_ED/3) + Math.round(DAMAGE_REDUCTION/3) + Math.round (ALL_rPD/10) + Math.round(ALL_rED/10) + Math.round(STUN/3) + (REGENERATION * 2) + (Math.round(KB_RESISTANCE + DANGER_SENSE + MENTAL_DEFENSE + FLASH_DEFENSE + LACK_OF_WEAKNESS + HARDENED + POWER_DEFENSE + INVISIBILITY + MISSLE_DEFLECTION + DESOLIDIFICATION + COMBAT_SENSE + FAST_DRAW)/5);

// Movement Rating Final Number:
// Multiply SPEED by 3, added MAX_MOVE.
// Next Add NO_OF_MOVEMENT.

var MOVEMENT_RATING = document.combat_rating.total_movement_rating.value = (SPEED * 3) + MAX_MOVE + NO_OF_MOVEMENT;

document.combat_rating.total_rating.value = Number(OFFENSIVE_RATING) + Number(DEFENSIVE_RATING) + Number(MOVEMENT_RATING);


}
// -->
</script>
<style type="text/css" media="screen"><!--
h3 { color: blue; font-size: 14px; font-family: Arial, Helvetica, Geneva, Swiss, SunSans-Regular }
a { color: blue; font-weight: normal; font-size: 12px; font-family: Arial, Helvetica, Geneva, Swiss, SunSans-Regular; text-decoration: none }
--></style>
</head>

<body bgcolor="#ffffff">
<center>
<h1>Combat Rating System</h1>
<form action="#" name=combat_rating method=POST>
<table width="700" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td bgcolor="yellow" width="250">
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<td align="right" bgcolor="#eeaaaa"><a href="#" onClick="window.alert(offensive_rating_description);">Offensive Rating</a></td>
<td bgcolor="#eeaaaa" width="80"><input type=text name=total_offensive_rating size=10></td>
</tr>
</table>
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<td align="right" bgcolor="#eeaaaa"><a href="#" onClick="window.alert(defensive_rating_description);">Defensive Rating</a></td>
<td bgcolor="#eeaaaa" width="80"><input
type=text name=total_defensive_rating size=10></td>
</tr>
</table>
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<td align="right" bgcolor="#eeaaaa"><a href="#" onClick="window.alert(movement_rating_description);">Movement Rating</a></td>
<td bgcolor="#eeaaaa" width="80"><input
type=text name=total_movement_rating size=10></td>
</tr>
</table>
<br>
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<td align="right" bgcolor="#ccffff"><a href="#" onClick="window.alert(total_rating_description);">Total Combat Rating</a></td>
<td bgcolor="#ccffff" width="80"><input
type=text name=total_rating size=10></td>
</tr>
</table>
</td>
<td valign="top">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="33%">&#149; <a href="#" onClick="window.alert(how_to_use_description);">How To Use</a></td>
<td width="33%">&#149; <a href="#" onClick="window.alert(how_to_compare_description);">How To Compare</a></td>
<td>&#149; <a href="#" onClick="window.alert(credits);">Credits</a></td>
</tr>
<tr>
<td width="33%">&#149; <a href="#" onClick="window.alert(good_total_description);">What's A Good Total?</a></td>
<td width="33%">&#149; <a href="http://www.trimira.com/hero_stuff/hero_stuff.html">Random Characters</a></td>
<td>&#149; <a href="http://www.herogames.com">Hero Games</a></td>
</tr>
</table>
<br>
<table width="450" border=1 cellspacing="2" cellpadding="2">
<tr>
<td colspan="2" align=center bgcolor="#ffffcc">
<p><input type=button onclick="calculate()" value="Calculate Combat Rating"></p>
<p><input type=reset value=Reset></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td valign="top" width="230">
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<th bgcolor="#ff00ff"><a href="#" onclick="window.alert(offensive_rating1_description); window.alert(offensive_rating2_description);">
<h3>Offensive<br>
Rating Chart</h3>
</a></th>
<th bgcolor="#ff00ff" width="80"><a href="#" onclick="window.alert(entry_description);">
<h3>Entry</h3>
</a></th>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee">
<a href="#" onclick="window.alert(ocv_description);">OCV/oECV</a>
</td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=ocv value="3" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee">
<a href="#" onclick="window.alert(dcv_description);">DCV/dECV</a>
</td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=dcv value="3" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(dc_description);">Damage Class</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="dc" value="2" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(no_of_attacks_description);">Number Of Attacks</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="number_attacks" value="1" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(find_weakness_description);">Find Weakness</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="find_weakness" value="0" size="10"></td>
</tr>
</table>
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<th bgcolor="#ff00ff"><a href="#" onclick="window.alert(movement_rating_chart_description);">
<h3>Movement<br>
Rating Chart</h3>
</a></th>
<th bgcolor="#ff00ff" width="80"><a href="#" onclick="window.alert(entry_description);">
<h3>Entry</h3>
</a></th>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(speed_description);">Speed</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=speed value="2" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(max_move_description);">Maximum Move<br>
Before Attack</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=max_move value="3" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(no_of_move_description);">Number Of<br>
Movement Powers</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="no_of_movement" value="1" size="10"></td>
</tr>
</table>
</td>
<td valign="top">
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<th bgcolor="#ff00ff"><a href="#" onclick="window.alert(defensive_rating1_description); window.alert(defensive_rating2_description);">
<h3>Defensive<br>
Rating Chart</h3>
</a></th>
<th bgcolor="#ff00ff" width="80"><a href="#" onclick="window.alert(entry_description);">
<h3>Entry</h3>
</a></th>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(pd_description);">Total PD</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=all_pd value="2" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(ed_description);">Total ED</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=all_ed value="2" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(rpd_description);">Total rPD</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=all_rpd value="0" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(red_description);">Total rED</a></td>
<td bgcolor="#aaeeaa" width="80"><input type=text name=all_red value="0" size=10></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(stun_description);">Total STUN</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="stun" value="20" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(damage_reduction_description);">Damage Reduction</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="damage_reduction" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(kb_resistance_description);">Knockback Resistance</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="kb_resistance" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(danger_sense_description);">Danger Sense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="danger_sense" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(mental_defense_description);">Mental Defense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="mental_defense" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(power_defense_description);">Power Defense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="power_defense" value="0" size="10"></td>
</tr>
</table>
</td>
<td valign="top">
<table width="228" border=1 cellspacing="2" cellpadding="2">
<tr>
<th bgcolor="#ff00ff"><a href="#" onclick="window.alert(defensive_rating3_description); window.alert(defensive_rating4_description);">
<h3>Defensive<br>
Rating Chart</h3>
</a></th>
<th bgcolor="#ff00ff" width="80"><a href="#" onclick="window.alert(entry_description);">
<h3>Entry</h3>
</a></th>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(flash_defense_description);">Flash Defense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="flash_defense" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(lack_of_weakness_description);">Lack of Weakness</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="lack_of_weakness" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(hardened_description);">Hardened Defense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="hardened" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(invisibility_description);">Invisibility</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="invisibility" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(missle_deflection_description);">Missle Deflection</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="missle_deflection" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(regeneration_description);">Regeneration</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="regeneration" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(desolidification_description);">Desolidification</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="desolidification" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(combat_sense_description);">Combat Sense</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="combat_sense" value="0" size="10"></td>
</tr>
<tr>
<td align="right" bgcolor="#eeeeee"><a href="#" onclick="window.alert(fast_draw_description);">Fast Draw</a></td>
<td bgcolor="#aaeeaa" width="80"><input type="text" name="fast_draw" value="0" size="10"></td>
</tr>
</table>
<div align="center">

</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</center>
</body>

</html>