/* Powerstone php3 script
Copyright 2003 by Jeff Wilson
v1.0 Jan 30 2003
http://www.io.com/~jwilson/gurps/pstone.php3
http://www.io.com/~jwilson/gurps/pstone.html
Modified to tabulate 3's, Critical Sucesses, Skill Level
By Eric Funk With Permission
v1.1 March 04 2003
http://gurps.r3d.net/pstone.html
http://gurps.r3d.net/pstone.txt
*/
?>
Powerstone Analysis
Powerstone Analysis
mt_srand((double)microtime()*1000000);
$carats=100;
$castings=0;
$quirks=0;
$successes=0;
$size=0;
$lastquirk=0;
$destroyed=0;
$stunted=0;
$num3s=0;/* new March 3*/
$numCSs15=0;
$numCSs16=0;
while (($size<$carats) and ($destroyed==0) and ($stunted==0)) {
$castings+=1;
$dietotal=0;
$diestring="";
for ($i=1; $i<=3; $i++) {
$thisdie=mt_rand(1,6);
$dietotal=$dietotal+$thisdie;
$diestring=$diestring."$thisdie,";
}
$diestring=substr($diestring,0,strlen($diestring)-1);
/* new March 3:*/
if ($dietotal==3):
$result="Critical Success! Natural 3!";
$num3s+=1;
$successes+=1;
$size+=1;
$lastquirk=0;
/* new March 3 ^^ */
elseif ($dietotal<=5):/* mod'd March 3:*/
$result="Critical Success!";
$numCSs15 +=1;/* <-new March 3*/
$numCSs16 +=1;
$successes+=1;
$size+=1;
$lastquirk=0;
elseif ($dietotal<=6):/* mod'd March 3:*/
$result="Critical Success! (Skill 16 only)";
$numCSs16 +=1;
$successes+=1;
$size+=1;
$lastquirk=0;/* new March 3: ^^^ */
elseif ($dietotal<16):
$result="success";
$successes+=1;
$size+=1;
$lastquirk=0;
elseif ($dietotal==16):
$result="Failure!";
$quirks+=1;
if ($lastquirk):
$stunted=1;
$result="Failure! - Stunted!";
else:
$lastquirk=1;
endif;
else:
$result="Critical Failure!";
$destroyed=1;
endif;
echo "$diestring - $dietotal - $result
\n";
}
echo "
\n";
echo "carats=$carats
\n";
echo "castings=$castings
\n";
echo "size=$size
\n";
echo "
\n";
echo "quirks=$quirks
\n";
echo "successes=$successes
\n";
/* new March 3:*/
echo "critical successes (Skill 15)=$numCSs15
\n";
echo "critical successes (Skill 16)=$numCSs16
\n";
echo "natural 3s(seperate)=$num3s
\n";
echo "
\n";
echo "lastquirk=$lastquirk
\n";
echo "destroyed=$destroyed
\n";
echo "stunted=$stunted
\n";
?>
/* new March 3:*/?>
View script source.