Saturday, January 2, 2010

Stats

These are the stats that I use (pretty much) from http://en.wikipedia.org/wiki/Tri-Stat_dX.

Stats
Characters in Tri-Stat have three main Stats:

Body: a measure of the character's physical prowess and health.
Mind: a measure of the character's mental capacity and intelligence.
Soul: a measure of the character's spirit and willpower.

Typical Stats range in levels from 1 to 20, although the Stats can go higher depending on the Power Level of the game. Levels of Stats are purchased with Character Points. All Stats cost two Character Points per level, requiring a minimum expenditure of two points per Stat. (Example: Having a Mind Stat of 6 would cost 12 points, two points each for the six stat points). An optional rule the GM can impose increases the point cost for Stats at incremental levels, so that high level Stats require more points to be increased to the next level.

Derived Values
Derived Values are determined by mathematical formulas based on the values of the character's Stats.

Attack Combat Value: (ACV) [(Body + Mind + Soul) / 3] which is the focus of all the character's Stats to determine their bonus to Hit an opponent during combat scenes.

Defense Combat Value: (DCV) [(Body + Mind + Soul) / 3 - 2] which is the character's ability to react against incoming attacks.

Health Points: [(Body + Soul) × 5] which is the amount of damage a character can withstand before they are knocked unconscious or killed. These are similar to hit points in other games.

Optional Derived Values:

Energy Points: [(Mind + Soul) × 5] an optional Stat used for fueling certain superpower Attributes. When a character runs out of Energy Points, they can no longer use that power.

Shock Value: [(Health Points) / 5] for more "realistic" combat scenes, when a character suffers their Shock Value in damage, there is a chance they can become stunned.


No, I've never played the original game, nor any other pen and paper RPG, so my implementation may be a complete butchering. Shock value was one thing I removed... some other names were changed during coding.

Here is what the PHP:


//stats roller
//This generates the stats for a character (the hero).
//This should be done on hero creation.

// Generate character three main stats
//Each stat is a random number between 4 and 12 to start with.
//This generates level 1 through 3 characters
//Each level is determined by every 10 stat points.
$mind = rand(4,12);
$body = rand(4,12);
$soul = rand(4,12);

//Generate additional stats
$total = ($mind + $body + $soul);
$level = ($total) / 10;
$level = round($level);
$health = ($body + $soul) * 5;
$defense = ($total)/3 - 2;
$defense = round($defense);
$attack = ($total)/3;
$attack = round($attack);
$agility = ($body + $mind)/2;
$agility = round($agility);

No comments:

Post a Comment