User:Nod/Auto Character Generator And Dice Roller: Difference between revisions

From FuturePath
Jump to navigation Jump to search
(Created page with "'This is source code for a nicely formatted automatic character generator for use on Windows (Yeah, I know...). 'Copy and paste this into a plain text document like notepad an...")
 
No edit summary
 
Line 1: Line 1:
'This is source code for a nicely formatted automatic character generator for use on Windows (Yeah, I know...).
'This is source code for a nicely formatted automatic character generator for use on Windows (Yeah, I know...).
'Copy and paste this into a plain text document like notepad and save as chargen.vbs.
'Copy and paste this into a plain text document like notepad and save as chargen.vbs.
'DO NOT COPY any of this block of single quoted lines.
'Open a command windows and cd to the directory where this file resides.
'Open a command windows and cd to the directory where this file resides.
'Type the below.
'Type the below.
Line 11: Line 10:
'cscript chargen.vbs <integer of the number of sides on the die you would like to roll>
'cscript chargen.vbs <integer of the number of sides on the die you would like to roll>
'Example: cscript chargen.vbs 12
'Example: cscript chargen.vbs 12


On Error Resume Next
On Error Resume Next
Line 18: Line 16:
Dim die
Dim die
Set die = Wscript.Arguments
Set die = Wscript.Arguments
'Wscript.Echo Err.Number & " - " & Err.description


If die.Count = 0 Then
If die.Count = 0 Then
Line 27: Line 26:
Cool = Nothing
Cool = Nothing


'New change to get the modifier for each stat by dividing by the number of dice used to roll?
'Seems like the outcome would basically the same if the player just rolled a D12...
If die(0) = "new" Then
If die(0) = "new" Then
     Wscript.Echo "MAIN STATS"
     Wscript.Echo "MAIN STATS"
Line 43: Line 44:
     Coolness = Int(stats(Cool))
     Coolness = Int(stats(Cool))


     Wscript.Echo "                 ---Physical--------Mental------"
     Wscript.Echo "         ---Physical--- ---Mental---"
     Wscript.Echo "  Power       " & PhysicalPower & "       " & MentalPower
     Wscript.Echo "  Power         " & PhysicalPower & "             " & MentalPower
     Wscript.Echo "  Quick       " & PhysicalQuickness & "       " & MentalQuickness
     Wscript.Echo "  Quick         " & PhysicalQuickness & "             " & MentalQuickness
     Wscript.Echo "  Tough       " & PhysicalToughness & "       " & MentalToughness
     Wscript.Echo "  Tough         " & PhysicalToughness & "             " & MentalToughness
     Wscript.Echo "  Prowess     " & PhysicalProwess & "     " & MentalProwess
     Wscript.Echo "  Prowess       " & PhysicalProwess & "             " & MentalProwess


     Wscript.Echo ""
     Wscript.Echo ""


     Wscript.Echo "  Common Sense       " & CommonSense
     Wscript.Echo "COMBAT (DERIVED) STATS"
     Wscript.Echo " Sixth Sense     " & SixthSense
 
     Wscript.Echo " Coolness       " & Int(Coolness   /  3)
    PhysicalHit = Int((PhysicalProwess              +  ((PhysicalQuickness +  CommonSense)        /  2)) /  2)
     Wscript.Echo " Social         " & Social
    PhysicalDamage = Int((PhysicalPower            +  ((PhysicalProwess  +  CommonSense)       /  2))  /  2)
    PhysicalSoak = Int((PhysicalToughness          +  ((PhysicalQuickness +  CommonSense)        /  2))  /  2)
    PhysicalHitRange = Int((PhysicalProwess        +  ((PhysicalQuickness +  PhysicalPower)      /  2))  /  2)
    PhysicalDamageRange = Int((PhysicalQuickness    +  ((PhysicalProwess  +  PhysicalPower)      /  2))  /  2)
    PhysicalSoakRange = Int((PhysicalToughness      +  ((PhysicalProwess  +  PhysicalQuickness)  /  2))  /  2)
    MentalHit = Int((MentalProwess                  +  ((MentalQuickness  +  SixthSense)        /  2))  /  2)
    MentalDamage = Int((MentalPower                +  ((MentalProwess    +  SixthSense)        /  2))  /  2)
    MentalSoak = Int((MentalToughness              +  ((MentalQuickness  +  SixthSense)        /  2))  /  2)
    MentalHitRange = Int((MentalQuickness          +  ((MentalProwess    +  MentalPower)        /  2))  /  2)
    MentalDamageRange = Int((MentalPower            +  ((MentalProwess    +  MentalQuickness)    /  2))  /  2)
     MentalSoakRange = Int((MentalProwess            +  ((MentalToughness  +  MentalQuickness)    /  2)) /  2)
     PhysicalDodge = Int((PhysicalQuickness          +  ((PhysicalProwess  +  SixthSense)        /  2))  /  2)
     PhysicalGrip = Int((((PhysicalPower            +  PhysicalToughness)  /  3)                  +  ((PhysicalSoak  +  PhysicalDodge)  /  4)))
    PhysicalCrit = Int((PhysicalProwess            +  ((PhysicalPower    +  SixthSense)        /  2)) /  2)
    MentalDodge = Int((MentalQuickness              +  ((MentalProwess    +  CommonSense)       /  2))  /  2)
    MentalGrip = Int((((MentalPower                +  MentalToughness)   /  3)                  +  ((MentalSoak    +  MentalDodge)    /  4)))
    MentalCrit = Int((MentalProwess                +  ((MentalPower      +  CommonSense)        /  2))  /  2)
 
    'PhysicalHit = Int((PhysicalProwess            +  ((PhysicalQuickness +  CommonSense)        /  2))/3)
    'PhysicalDamage = Int((PhysicalPower            +  ((PhysicalProwess  +  CommonSense)        /  2))/3)
     'PhysicalSoak = Int((PhysicalToughness          +  ((PhysicalQuickness +  CommonSense)        /  2))/3)
    'PhysicalHitRange = Int((PhysicalProwess        +  ((PhysicalQuickness +  PhysicalPower)      /  2))/3)
    'PhysicalDamageRange = Int((PhysicalQuickness  +  ((PhysicalProwess  +  PhysicalPower)      /  2))/3)
    'PhysicalSoakRange = Int((PhysicalToughness    +  ((PhysicalProwess  +  PhysicalQuickness) /  2))/3)
    'MentalHit = Int((MentalProwess                +  ((MentalQuickness  +  SixthSense)        /  2))/3)
    'MentalDamage = Int((MentalPower                +  ((MentalProwess    +  SixthSense)        /  2))/3)
    'MentalSoak = Int((MentalToughness              +  ((MentalQuickness  +  SixthSense)        /  2))/3)
    'MentalHitRange = Int((MentalQuickness         +  ((MentalProwess    +  MentalPower)        /  2))/3)
    'MentalDamageRange = Int((MentalPower          +  ((MentalProwess    +  MentalQuickness)    /  2))/3)
    'MentalSoakRange = Int((MentalProwess          +  ((MentalToughness  +  MentalQuickness)    /  2))/3)
    'PhysicalDodge = Int((PhysicalQuickness        +  ((PhysicalProwess  +  SixthSense)        /  2))/3)
    'PhysicalGrip = Int((((PhysicalPower            +  PhysicalToughness)  /  2)                  +  ((PhysicalSoak  +  PhysicalDodge)  /  3))/4)
    'PhysicalCrit = Int((PhysicalProwess            +  ((PhysicalPower    +  SixthSense)        /  2))/3)
    'MentalDodge = Int((MentalQuickness            +  ((MentalProwess    +  CommonSense)        /  2))/3)
    'MentalGrip = Int((((MentalPower                +  MentalToughness)    /  2)                  +  ((MentalSoak    +  MentalDodge)    /  3))/4)
    'MentalCrit = Int((MentalProwess                +  ((MentalPower      +  CommonSense)        /  2))/3)


     Wscript.Echo ""
     Wscript.Echo ""


     Wscript.Echo "COMBAT STATS"
     Wscript.Echo " Dodge        " & PhysicalDodge & "            " & MentalDodge
    Wscript.Echo "  Grip          " & PhysicalGrip & "            " & MentalGrip
    Wscript.Echo "  Crit          " & PhysicalCrit & "            " & MentalCrit


     PhysicalHit = Int((PhysicalProwess    +  ((PhysicalQuickness +  CommonSense)        /  2)))
     Wscript.Echo ""
    PhysicalDamage = Int((PhysicalPower        +  ((PhysicalProwess  +  CommonSense)        /  2)))
 
     PhysicalSoak = Int((PhysicalToughness     +  ((PhysicalQuickness +  CommonSense)        /  2)))
     Wscript.Echo "     ----Melee--Range--  --Melee--Range----"
     PhysicalHitRange = Int((PhysicalProwess        +  ((PhysicalQuickness +  PhysicalPower)     /  2)))
     Wscript.Echo "  Hit     " & PhysicalHit & "    " & PhysicalDamage & "        " & MentalHit & "     " & MentalDamage
     PhysicalDamageRange = Int((PhysicalQuickness  +  ((PhysicalProwess  +  PhysicalPower)      /  2)))
     Wscript.Echo " Damage   " & PhysicalDamage & "     " & PhysicalDamageRange & "         " & MentalDamage & "     " & MentalDamageRange
     PhysicalSoakRange = Int((PhysicalToughness +  ((PhysicalProwess  +  PhysicalQuickness) /   2)))
     Wscript.Echo "  Soak     " & PhysicalSoak & "     " & PhysicalSoakRange & "        " & MentalSoak & "     " & MentalSoakRange
     MentalHit = Int((MentalProwess         +  ((MentalQuickness  +  SixthSense)    /  2)))
 
    MentalDamage = Int((MentalPower            +  ((MentalProwess    +  SixthSense)    /  2)))
     Wscript.Echo ""
    MentalSoak = Int((MentalToughness      +  ((MentalQuickness  +  SixthSense)    /  2)))
    MentalHitRange = Int((MentalQuickness      +  ((MentalProwess    +  MentalPower)        /  2)))
     MentalDamageRange = Int((MentalPower      +  ((MentalProwess    +  MentalQuickness)    /  2)))
     MentalSoakRange = Int((MentalProwess      +  ((MentalToughness  +  MentalQuickness)    /  2)))
    PhysicalDodge = Int((PhysicalQuickness     +  ((PhysicalProwess  +  SixthSense)    /  2)))
    PhysicalGrip = Int((((PhysicalPower        +  PhysicalToughness)  /  2)          +  ((PhysicalSoak +  PhysicalDodge)  /  3)))
     PhysicalCrit = Int((PhysicalProwess        +  ((PhysicalPower     +  SixthSense)    /  2)))
    MentalDodge = Int((MentalQuickness    +  ((MentalProwess    +  CommonSense)        /  2)))
     MentalGrip = Int((((MentalPower            +  MentalToughness)    /  2)          +  ((MentalSoak    +  MentalDodge)    /  3)))
    MentalCrit = Int((MentalProwess            +  ((MentalPower      +  CommonSense)        /  2)))


     'PhysicalHit = Int((PhysicalProwess      +  ((PhysicalQuickness +  CommonSense)        /  2))/3)
     Wscript.Echo "OTHER STATS"
    'PhysicalDamage = Int((PhysicalPower    +  ((PhysicalProwess  +  CommonSense)        /  2))/3)
    'PhysicalSoak = Int((PhysicalToughness      +  ((PhysicalQuickness +  CommonSense)        /  2))/3)
    'PhysicalHitRange = Int((PhysicalProwess    +  ((PhysicalQuickness +  PhysicalPower)      /  2))/3)
    'PhysicalDamageRange = Int((PhysicalQuickness    +  ((PhysicalProwess  +  PhysicalPower)      /  2))/3)
    'PhysicalSoakRange = Int((PhysicalToughness  +  ((PhysicalProwess  +  PhysicalQuickness)  /  2))/3)
    'MentalHit = Int((MentalProwess          +  ((MentalQuickness  +  SixthSense)    /  2))/3)
    'MentalDamage = Int((MentalPower        +  ((MentalProwess    +  SixthSense)    /  2))/3)
    'MentalSoak = Int((MentalToughness      +  ((MentalQuickness  +  SixthSense)    /  2))/3)
    'MentalHitRange = Int((MentalQuickness      +  ((MentalProwess    +  MentalPower)        /  2))/3)
    'MentalDamageRange = Int((MentalPower        +  ((MentalProwess    +  MentalQuickness)    /  2))/3)
    'MentalSoakRange = Int((MentalProwess        +  ((MentalToughness  +  MentalQuickness)    /  2))/3)
    'PhysicalDodge = Int((PhysicalQuickness      +  ((PhysicalProwess  +  SixthSense)    /  2))/3)
    'PhysicalGrip = Int((((PhysicalPower    +  PhysicalToughness)  /  2)          +  ((PhysicalSoak  +  PhysicalDodge)  /  3))/4)
    'PhysicalCrit = Int((PhysicalProwess    +  ((PhysicalPower    +  SixthSense)    /  2))/3)
    'MentalDodge = Int((MentalQuickness      +  ((MentalProwess    +  CommonSense)        /  2))/3)
    'MentalGrip = Int((((MentalPower        +  MentalToughness)    /  2)          +  ((MentalSoak    +  MentalDodge)    /  3))/4)
    'MentalCrit = Int((MentalProwess        +  ((MentalPower      +  CommonSense)        /  2))/3)


     Wscript.Echo ""
     Wscript.Echo ""


     Wscript.Echo "  Dodge      " & PhysicalDodge & "       " & MentalDodge
     Wscript.Echo "  Common Sense          " & CommonSense
     Wscript.Echo "  Grip        " & PhysicalGrip & "        " & MentalGrip
    Wscript.Echo " Sixth Sense          " & SixthSense
     Wscript.Echo "  Crit        " & PhysicalCrit & "        " & MentalCrit
     Wscript.Echo "  Coolness              " & Int(Coolness    /  3)
     Wscript.Echo "  Social                " & Social


     Wscript.Echo ""
     Wscript.Echo ""


    Wscript.Echo "                  ---Melee--Range--Melee--Range"
    Wscript.Echo "  Hit      " & PhysicalHit & "    " & PhysicalDamage & "    " & MentalHit & "    " & MentalDamage
    Wscript.Echo "  Damage        " & PhysicalDamage & "    " & PhysicalDamageRange & "    " & MentalDamage & "    " & MentalDamageRange
    Wscript.Echo "  Soak          " & PhysicalSoak & "    " & PhysicalSoakRange & "    " & MentalSoak & "    " & MentalSoakRange


End If
End If

Latest revision as of 07:51, 16 January 2015

'This is source code for a nicely formatted automatic character generator for use on Windows (Yeah, I know...). 'Copy and paste this into a plain text document like notepad and save as chargen.vbs. 'Open a command windows and cd to the directory where this file resides. 'Type the below. 'For help: 'cscript chargen.vbs 'To roll a new character: 'cscript chargen.vbs new 'To roll a die (Only recognizes one die at a time): 'cscript chargen.vbs <integer of the number of sides on the die you would like to roll> 'Example: cscript chargen.vbs 12

On Error Resume Next


Dim die Set die = Wscript.Arguments 'Wscript.Echo Err.Number & " - " & Err.description

If die.Count = 0 Then

   Wscript.Echo "To roll a die, type the number of sides for that die 2-20"
   Wscript.Echo "To roll a character, type ""new"""
   Wscript.Quit 0

End If

Cool = Nothing

'New change to get the modifier for each stat by dividing by the number of dice used to roll? 'Seems like the outcome would basically the same if the player just rolled a D12... If die(0) = "new" Then

   Wscript.Echo "MAIN STATS"
   PhysicalPower = Int(stats(Cool))
   PhysicalQuickness = Int(stats(Cool))
   PhysicalToughness = Int(stats(Cool))
   PhysicalProwess = Int(stats(Cool))
   MentalPower = Int(stats(Cool))
   MentalQuickness = Int(stats(Cool))
   MentalToughness = Int(stats(Cool))
   MentalProwess = Int(stats(Cool))
   CommonSense = Int(stats(Cool))
   SixthSense = Int(stats(Cool))
   Social = Int(stats(Cool))
   Cool = "coolness"
   Coolness = Int(stats(Cool))
   Wscript.Echo "          ---Physical---  ---Mental---"
   Wscript.Echo "  Power         " & PhysicalPower & "             " & MentalPower
   Wscript.Echo "  Quick         " & PhysicalQuickness & "             " & MentalQuickness
   Wscript.Echo "  Tough         " & PhysicalToughness & "             " & MentalToughness
   Wscript.Echo "  Prowess       " & PhysicalProwess & "             " & MentalProwess
   Wscript.Echo ""
   Wscript.Echo "COMBAT (DERIVED) STATS"
   PhysicalHit = Int((PhysicalProwess              +   ((PhysicalQuickness +   CommonSense)        /   2))  /   2)
   PhysicalDamage = Int((PhysicalPower             +   ((PhysicalProwess   +   CommonSense)        /   2))  /   2)
   PhysicalSoak = Int((PhysicalToughness           +   ((PhysicalQuickness +   CommonSense)        /   2))  /   2)
   PhysicalHitRange = Int((PhysicalProwess         +   ((PhysicalQuickness +   PhysicalPower)      /   2))  /   2)
   PhysicalDamageRange = Int((PhysicalQuickness    +   ((PhysicalProwess   +   PhysicalPower)      /   2))  /   2)
   PhysicalSoakRange = Int((PhysicalToughness      +   ((PhysicalProwess   +   PhysicalQuickness)  /   2))  /   2)
   MentalHit = Int((MentalProwess                  +   ((MentalQuickness   +   SixthSense)         /   2))  /   2)
   MentalDamage = Int((MentalPower                 +   ((MentalProwess     +   SixthSense)         /   2))  /   2)
   MentalSoak = Int((MentalToughness               +   ((MentalQuickness   +   SixthSense)         /   2))  /   2)
   MentalHitRange = Int((MentalQuickness           +   ((MentalProwess     +   MentalPower)        /   2))  /   2)
   MentalDamageRange = Int((MentalPower            +   ((MentalProwess     +   MentalQuickness)    /   2))  /   2)
   MentalSoakRange = Int((MentalProwess            +   ((MentalToughness   +   MentalQuickness)    /   2))  /   2)
   PhysicalDodge = Int((PhysicalQuickness          +   ((PhysicalProwess   +   SixthSense)         /   2))  /   2)
   PhysicalGrip = Int((((PhysicalPower             +   PhysicalToughness)  /   3)                  +   ((PhysicalSoak  +   PhysicalDodge)  /   4)))
   PhysicalCrit = Int((PhysicalProwess             +   ((PhysicalPower     +   SixthSense)         /   2))  /   2)
   MentalDodge = Int((MentalQuickness              +   ((MentalProwess     +   CommonSense)        /   2))  /   2)
   MentalGrip = Int((((MentalPower                 +   MentalToughness)    /   3)                  +   ((MentalSoak    +   MentalDodge)    /   4)))
   MentalCrit = Int((MentalProwess                 +   ((MentalPower       +   CommonSense)        /   2))  /   2)
   'PhysicalHit = Int((PhysicalProwess             +   ((PhysicalQuickness +   CommonSense)        /   2))/3)
   'PhysicalDamage = Int((PhysicalPower            +   ((PhysicalProwess   +   CommonSense)        /   2))/3)
   'PhysicalSoak = Int((PhysicalToughness          +   ((PhysicalQuickness +   CommonSense)        /   2))/3)
   'PhysicalHitRange = Int((PhysicalProwess        +   ((PhysicalQuickness +   PhysicalPower)      /   2))/3)
   'PhysicalDamageRange = Int((PhysicalQuickness   +   ((PhysicalProwess   +   PhysicalPower)      /   2))/3)
   'PhysicalSoakRange = Int((PhysicalToughness     +   ((PhysicalProwess   +   PhysicalQuickness)  /   2))/3)
   'MentalHit = Int((MentalProwess                 +   ((MentalQuickness   +   SixthSense)         /   2))/3)
   'MentalDamage = Int((MentalPower                +   ((MentalProwess     +   SixthSense)         /   2))/3)
   'MentalSoak = Int((MentalToughness              +   ((MentalQuickness   +   SixthSense)         /   2))/3)
   'MentalHitRange = Int((MentalQuickness          +   ((MentalProwess     +   MentalPower)        /   2))/3)
   'MentalDamageRange = Int((MentalPower           +   ((MentalProwess     +   MentalQuickness)    /   2))/3)
   'MentalSoakRange = Int((MentalProwess           +   ((MentalToughness   +   MentalQuickness)    /   2))/3)
   'PhysicalDodge = Int((PhysicalQuickness         +   ((PhysicalProwess   +   SixthSense)         /   2))/3)
   'PhysicalGrip = Int((((PhysicalPower            +   PhysicalToughness)  /   2)                  +   ((PhysicalSoak  +   PhysicalDodge)  /   3))/4)
   'PhysicalCrit = Int((PhysicalProwess            +   ((PhysicalPower     +   SixthSense)         /   2))/3)
   'MentalDodge = Int((MentalQuickness             +   ((MentalProwess     +   CommonSense)        /   2))/3)
   'MentalGrip = Int((((MentalPower                +   MentalToughness)    /   2)                  +   ((MentalSoak    +   MentalDodge)    /   3))/4)
   'MentalCrit = Int((MentalProwess                +   ((MentalPower       +   CommonSense)        /   2))/3)
   Wscript.Echo ""
   Wscript.Echo "  Dodge         " & PhysicalDodge & "             " & MentalDodge
   Wscript.Echo "  Grip          " & PhysicalGrip & "             " & MentalGrip
   Wscript.Echo "  Crit          " & PhysicalCrit & "             " & MentalCrit
   Wscript.Echo ""
   Wscript.Echo "      ----Melee--Range--  --Melee--Range----"
   Wscript.Echo "  Hit      " & PhysicalHit & "     " & PhysicalDamage & "         " & MentalHit & "     " & MentalDamage
   Wscript.Echo "  Damage   " & PhysicalDamage & "     " & PhysicalDamageRange & "         " & MentalDamage & "     " & MentalDamageRange
   Wscript.Echo "  Soak     " & PhysicalSoak & "     " & PhysicalSoakRange & "         " & MentalSoak & "     " & MentalSoakRange
   Wscript.Echo ""
   Wscript.Echo "OTHER STATS"
   Wscript.Echo ""
   Wscript.Echo "  Common Sense          " & CommonSense
   Wscript.Echo "  Sixth Sense           " & SixthSense
   Wscript.Echo "  Coolness              " & Int(Coolness    /   3)
   Wscript.Echo "  Social                " & Social
   Wscript.Echo ""


End If

Function stats(coolStat)

   If coolStat = "coolness" Then
       roll1 = Int(Dice12)
       roll2 = Int(Dice12)
       roll3 = Int(Dice12)
       roll4 = Int(Dice12)
       allRolls = Array(roll1, roll2, roll3, roll4)
   Else
       roll1 = Int(Dice12)
       roll2 = Int(Dice12)
       allRolls = Array(roll1, roll2)
       If roll1 = 1 And roll2 = 1 Then
           finalRoll = 25
           stats = finalRoll
           Exit Function
       End If
   End If
   For Each eachRoll in allRolls
       While eachRoll < 3
           eachRoll = Int(Dice12)
       Wend
       finalRoll = Int(finalRoll + eachRoll)
   Next
   stats = finalroll
   'New change (divide final roll by 2) to use only one D12 rather than 2 for the final stat result
   'stats = Int(finalroll/2)

End Function

If die(0) = "2" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice2)
   If die(1) Then Wscript.Echo Int(Dice2 * die(1))

End If

If die(0) = "3" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice3)
   If die(1) Then Wscript.Echo Int(Dice3 * die(1))

End If

If die(0) = "4" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice4)
   If die(1) Then Wscript.Echo Int(Dice4 * die(1))

End If

If die(0) = "5" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice2 + Dice3)
   If die(1) Then Wscript.Echo Int((Dice2 + Dice3) * die(1))

End If

If die(0) = "6" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice6)
   If die(1) Then Wscript.Echo Int(Dice6 * die(1))

End If

If die(0) = "7" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice3 + Dice4)
   If die(1) Then Wscript.Echo Int((Dice3 + Dice4) * die(1))

End If

If die(0) = "8" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice8)
   If die(1) Then Wscript.Echo Int(Dice8 * die(1))

End If

If die(0) = "9" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice4 + (Dice2 + Dice3))
   If die(1) Then Wscript.Echo Int((Dice4 + (Dice2 + Dice3)) * die(1))

End If

If die(0) = "10" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice10)
   If die(1) Then Wscript.Echo Int(Dice10 * die(1))

End If

If die(0) = "11" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice3 + Dice2) + Dice6)
   If die(1) Then Wscript.Echo Int(((Dice3 + Dice2) + Dice6) * die(1))

End If

If die(0) = "12" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice12)
   If die(1) Then Wscript.Echo Int(Dice12 * die(1))

End If

If die(0) = "13" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice3 + Dice4) + Dice6)
   If die(1) Then Wscript.Echo Int(((Dice3 + Dice4) + Dice6) * die(1))

End If

If die(0) = "14" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice3 + Dice4) + (Dice3 + Dice4))
   If die(1) Then Wscript.Echo Int(((Dice3 + Dice4) + (Dice3 + Dice4)) * die(1))

End If

If die(0) = "15" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice3 + Dice4) + Dice8)
   If die(1) Then Wscript.Echo Int(((Dice3 + Dice4) + Dice8) * die(1))

End If

If die(0) = "16" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice8 + Dice8)
   If die(1) Then Wscript.Echo Int((Dice8 + Dice8) * die(1))

End If

If die(0) = "17" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice8 + (Dice4 + (Dice2 + Dice3)))
   If die(1) Then Wscript.Echo Int((Dice8 + (Dice4 + (Dice2 + Dice3))) * die(1))

End If

If die(0) = "18" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice4 + (Dice2 + Dice3)) + (Dice4 + (Dice2 + Dice3)))
   If die(1) Then Wscript.Echo Int(((Dice4 + (Dice2 + Dice3)) + (Dice4 + (Dice2 + Dice3))) * die(1))

End If

If die(0) = "19" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int((Dice4 + (Dice2 + Dice3)) + Dice10)
   If die(1) Then Wscript.Echo Int(((Dice4 + (Dice2 + Dice3)) + Dice10) * die(1))

End If

If die(0) = "20" Then

   If die(0) and die(1) = Null Then Wscript.Echo Int(Dice20)
   If die(1) Then Wscript.Echo Int(Dice20 * die(1))

End If

Function Dice2 Dim Die2 Randomize Die2 = Int((2 * Rnd) + 1) 'Wscript.Echo Die2 Dice2 = Die2 Set Die2 = Nothing End Function

Function Dice3 Dim Die3 Randomize Die3 = Int((3 * Rnd) + 1) 'Wscript.Echo Die3 Dice3 = Die3 Set Die3 = Nothing End Function

Function Dice4 Dim Die4 Randomize Die4 = Int((4 * Rnd) + 1) 'Wscript.Echo Die4 Dice4 = Die4 Set Die4 = Nothing End Function

Function Dice6 Dim Die6 Randomize Die6 = Int((6 * Rnd) + 1) 'Wscript.Echo Die6 Dice6 = Die6 Set Die6 = Nothing End Function

Function Dice8 Dim Die8 Randomize Die8 = Int((8 * Rnd) + 1) 'Wscript.Echo Die8 Dice8 = Die8 Set Die8 = Nothing End Function

Function Dice10 Dim Die10 Randomize Die10 = Int((10 * Rnd) + 1) 'Wscript.Echo Die10 Dice10 = Die10 Set Die10 = Nothing End Function

Function Dice12 Dim Die12 Randomize Die12 = Int((12 * Rnd) + 1) 'Wscript.Echo Die12 Dice12 = Die12 Set Die12 = Nothing End Function

Function Dice20 Dim Die20 Randomize Die20 = Int((20 * Rnd) + 1) 'Wscript.Echo Die20 Dice20 = Die20 Set Die20 = Nothing End Function

Error.Clear


Set die = Nothing