= $initadv[$j]*2) { $nbattacks++; $initordernew[$nbattacks] = $i; } # new order of initiative for ($plnew=1; $plnew<=$nbadv; $plnew++) { $max = 0; for ($jnew=1; $jnew<=$nbadv; $jnew++) { if ($initadv[$jnew] > $max) { # echo "init of ".$j." = ".$initadv[$j]."
"; $n = $jnew; $max = $initadv[$jnew]; } } $initordernew[$plnew] = $n; $initadv[$n] = -1; # echo "init place ".$pl." = ".$nameadv[$initorder[$pl]]."
"; } break; # Anticipate Blow case "3" : $attackmodadv[$i][1] = $attackmodadv[$i][1] + $talentsrankadv[$i][3]; $physdefmodadv[$i][1] = $physdefmodadv[$i][1] + $talentsrankadv[$i][3]; break; # Astral Sight case "4" : # useless without magic objets or creatures break; # Avoid Blow case "5" : $attackcanbecanceled[$j][1] = true; $attacksmaller[$j][1] = $talentstep; break; # Battle Shout case "6" : $attackmodadv[$j][1] = $attackmodadv[$j][1] - $talentsrankadv[$i][6]; $damagemodadv[$j][1] = $damagemodadv[$j][1] - $talentsrankadv[$i][6]; $physdefmodadv[$j][1] = $physdefmodadv[$j][1] - $talentsrankadv[$i][6]; $spelldefmodadv[$j][1] = $spelldefmodadv[$j][1] - $talentsrankadv[$i][6]; $alltalmodadv[$j][1] = $alltalmodadv[$j][1] - $talentsrankadv[$i][6]; break; # Called Shot case "7" : # useless without shooting weapons break; # Charge case "8" : $damagestepadv[$i] = $talentstep; $damagereplaced[$i][1] == true; # MISSING : need previous round charging on the enemy break; # Claw Frenzy case "9" : # need unarmed combat break; # Claw Shape case "10" : # need unarmed combat break; # Cobra Strike case "11" : $initadv[$i] = $talenttest; # new order of initiative for ($plnew=1; $plnew<=$nbadv; $plnew++) { $max = 0; for ($jnew=1; $jnew<=$nbadv; $jnew++) { if ($initadv[$jnew] > $max) { # echo "init of ".$j." = ".$initadv[$j]."
"; $n = $jnew; $max = $initadv[$jnew]; } } $initordernew[$plnew] = $n; $initadv[$n] = -1; # echo "init place ".$pl." = ".$nameadv[$initorder[$pl]]."
"; } $attackmodadv[$i][1] = $attackmodadv[$i][1] + $talentsrankadv[$i][11]; break; # Cold Purify case "12" : # useless without poison break; # Conceal Weapon case "13" : break; # Crushing Blow case "14" : $damagemodadv[$i][1] = $damagemodadv[$i][1] + $talentsrankadv[$i][14] + $karmabonus; # MISSING : +3 bonus if using (mastering?) battle shout break; # Dead Fall case "15" : # needed to avoid being killed in battles ? break; # Detect Weapon case "16" : # needed against conceal weapon break; # Disarm case "17" : $attackstepadv[$i] = $talentstep; $attackreplacedadv[$i][1] = true; # MISSING : special treatment for lost weapon break; # Down Strike case "18" : $damagestepadv[$i] = $talentstep; $damagereplaced[$i][1] == true; # MISSING : need of position above enemy break; # Durability case "19" : # implemented / no battle effect break; # Eagle Eye case "20" : # useless without shooting weapons break; # Earth Skin case "21" : $spelldefmodadv[$i][1] = $spelldefmodadv[$i][1] - $talentsrankadv[$i][21]; $deathratingadv[$i] = $deathratingadv[$i] + $talentsrankadv[$i][21]; $talentnbuseadv[$i][21] = 0; # MISSING : check use (mastering ?) of wood skin break; # Enhanced Matrix case "22" : # useless without magic system break; # Fence case "23" : # no battle effect break; # Fireblood case "24" : $damageadv[$i] = $damageadv[$i] - EDice($attadv[$i][3]); if ($damageadv[$i] < 0) { $damageadv[$i] = 0; } break; # First Impression case "25" : # need design of crowd psychology effects break; # Fire arrow case "26" : # useless without shooting weapons break; # Forge Blade case "27" : # no battle effect break; # Frighten case "28" : for ($pile=1; $pile<=$talentsrankadv[$i][6]; $pile++) { $noactionadv[$j][$pile] = true; } break; # Gliding Stride case "29" : # need to take into account battle position break; # Graceful Exit case "30" : # need design of crowd psychology effects break; # Great Leap case "31" : # need to take into account battle position break; # Haggle case "32" : # no battle effect break; # Heartening Laugh case "33" : break; # Hold Thread case "34" : # useless without magic system break; # Karma Ritual case "35" : # no battle effect break; # Lasting Impression case "36" : # need design of crowd psychology effects break; # Life Check case "37" : if ($damageadv[$i] >= $deathratingadv[$i]) { $recovadv[$i]++; $damageadv[$i] = $damageadv[$i] - EDice($attadv[$i][3]); if ($damageadv[$i] < 0) { $damageadv[$i] = 0; } } break; # Lion Heart case "38" : break; # Maneuver case "39" : $noactionadv[$i][1] = true; $physicaldefreplaced[$i][1] = true; $physicaldefadv[$i] = $talenttest; $attackmodadv[$i][2] = $attackmodadv[$i][2] + $talentsrankadv[$i][39]; $damagemodadv[$i][2] = $damagemodadv[$i][2] + $talentsrankadv[$i][39]; # MISSING : check the character avoids attacks during the round break; # Melee Weapons case "40" : $attackmodadv[$i][1] = $attackmodadv[$i][1] + $talentsrankadv[$i][40]; # used by default ? break; # Missile Weapons case "41" : # useless without shooting weapons break; # Momentum Attack case "42" : $nbattacks++; $initordernew[$nbattacks] = $i; # need to check for extraordinary success break; # Poison Resistance case "43" : # useless without poison break; # Resist Taunt case "44" : break; # Riposte case "45" : $attackcanbecanceled[$j][1] = true; $attackriposte[$j][1] = $talentstep; # MISSING : attack gained is of level of test result break; # Second Attack case "46" : $nbattacks++; $initordernew[$nbattacks] = $i; break; # Second Weapon case "47" : $nbattacks++; $initordernew[$nbattacks] = $i; # need to implement second attack (or supplementary attacks) # need to implement more than one readied weapon break; # Sense Poison case "48" : # useless without poison break; # Spellcasting case "49" : $spelladv[$i] = $doingspell; # useless without magic system break; # Spell Matrix case "50" : # useless without magic system break; # Srint case "51" : # need to take into account battle position break; # Surprise Strike case "52" : $attackstepadv[$i] = $talentstep; $attackreplacedadv[$i][1] = true; $damagemodadv[$i][1] = $damagemodadv[$i][1] + 7; $talentnbuseadv[$i][52] = 0; # MISSING : use of karma dice break; # Swift Kick case "53" : # need unarmed combat break; # Taunt case "54" : for ($pile=1; $pile<=$talentsrankadv[$i][6]; $pile++) { $attackmodadv[$j][$pile] = $attackmodadv[$j][$pile] - $talentsrankadv[$i][54]; $damagemodadv[$j][$pile] = $damagemodadv[$j][$pile] - $talentsrankadv[$i][54]; $notalentadv[$i][$pile] = true; } break; # Thread Weaving case "55" : # no battle effect (contrary to original earthdawn system break; # Throwing Weapons case "56" : # useless without shooting weapons break; # Tiger Spring case "57" : $newinitiativeadv[$i] = $initiativeadv[$i] + $talentsrankadv[$i][57]; $initadv[$i] = EDice($newinitiativeadv[$i]); # new order of initiative for ($plnew=1; $plnew<=$nbadv; $plnew++) { $max = 0; for ($jnew=1; $jnew<=$nbadv; $jnew++) { if ($initadv[$jnew] > $max) { # echo "init of ".$j." = ".$initadv[$j]."
"; $n = $jnew; $max = $initadv[$jnew]; } } $initordernew[$plnew] = $n; $initadv[$n] = -1; # echo "init place ".$pl." = ".$nameadv[$initorder[$pl]]."
"; } break; # True Shot case "58" : # useless without shooting weapons break; # Unarmed Combat case "59" : # need unarmed combat break; # Unshakable Earth case "60" : # need implementation of the knockdown test and effects break; # Willforce case "61" : # useless without magic system break; # Wood Skin case "62" : $unconratingadv[$i] = $unconratingadv[$i] + $talenttest; $deathratingadv[$i] = $deathratingadv[$i] + $talenttest; $talentnbuseadv[$i][62] = 0; # MISSING : use of one recovery test canceled (?) break; # Wound Balance case "63" : # need implementation of the knockdown test and effects break; } ?>