Advertisement
Diaghilev

Untitled

Mar 14th, 2021
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 22.29 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Restocker : MonoBehaviour
  6. {
  7.     // Start is called before the first frame update
  8.     void Start()
  9.     {
  10.         print("Press '1' to restock a room. Press '2' to test the treasure roller.");
  11.     }
  12.  
  13.     void BasicRestocker()
  14.     {
  15.         int restockOutcome = Roll(1, 6);
  16.  
  17.         if (restockOutcome == 1) { print("Rolled a 1. Room contains a monster."); }
  18.         else if (restockOutcome == 2) { print("Rolled a 2. Room contains a monster and treasure."); }
  19.         else if (restockOutcome >= 3)
  20.         {
  21.             int unguardedTreasureCheck = Roll(1, 6);
  22.             if (unguardedTreasureCheck <= 5) { print("Rolled a 3+. Room is empty."); }
  23.             else if (unguardedTreasureCheck == 6)
  24.             {
  25.                 int trapPresenceCheck = Roll(1, 6);
  26.                 if (trapPresenceCheck >= 3) { print("Rolled a 3+, then a 6, then a 3+. A trap guards this treasure!"); }
  27.                 else { print ("Rolled a 3+, then a 6. Room is empty, but has unguarded treasure."); }
  28.             }
  29.         }
  30.     }
  31.  
  32.     double TreasureUnitCalculator() //Determine size of treasure unit, then determine base value of the hoard.
  33.     {
  34.         double baseTreasureUnit = Random.Range(800, 999);
  35.         double treasureunit = 0;
  36.  
  37.         int baseValueMultiplier = Roll(1, 100);
  38.         if (InRangeInclusive(baseValueMultiplier, 1, 1)) { treasureunit = baseTreasureUnit * 0.01; }
  39.         else if (InRangeInclusive(baseValueMultiplier, 2, 3)) { treasureunit = baseTreasureUnit * 0.10; }
  40.         else if (InRangeInclusive(baseValueMultiplier, 4, 8)) { treasureunit = baseTreasureUnit * 0.25; }
  41.         else if (InRangeInclusive(baseValueMultiplier, 9, 14)) { treasureunit = baseTreasureUnit * 0.50; }
  42.         else if (InRangeInclusive(baseValueMultiplier, 15, 24)) { treasureunit = baseTreasureUnit * 0.75; }
  43.         else if (InRangeInclusive(baseValueMultiplier, 25, 76)) { treasureunit = baseTreasureUnit * 1.00; }
  44.         else if (InRangeInclusive(baseValueMultiplier, 77, 86)) { treasureunit = baseTreasureUnit * 1.50; }
  45.         else if (InRangeInclusive(baseValueMultiplier, 78, 92)) { treasureunit = baseTreasureUnit * 2.00; }
  46.         else if (InRangeInclusive(baseValueMultiplier, 93, 97)) { treasureunit = baseTreasureUnit * 3.00; }
  47.         else if (InRangeInclusive(baseValueMultiplier, 98, 99)) { treasureunit = baseTreasureUnit * 5.00; }
  48.         else if (InRangeInclusive(baseValueMultiplier, 100, 100)) { treasureunit = baseTreasureUnit * 10.0; }
  49.  
  50.         print("Base Treasure Unit is " + baseTreasureUnit + "; value per TU is " + treasureunit + " GP. (x" + treasureunit / baseTreasureUnit + ")");
  51.  
  52.         return treasureunit;
  53.     }
  54.  
  55.     void TreasureGenerator()
  56.     {
  57.         //Determine the hoard size (number of total Treasure Units).
  58.         string hoardSizeName = null;
  59.         int hoardSize = Roll(1, 20);
  60.         if (InRangeInclusive(hoardSize, 1, 1)) { hoardSize = 1; hoardSizeName = "Individual Treasure"; }
  61.         else if (InRangeInclusive(hoardSize, 2, 3)) { hoardSize = Roll(1, 3); hoardSizeName = "Small (Unguarded) Hoard"; }
  62.         else if (InRangeInclusive(hoardSize, 4, 7)) { hoardSize = Roll(1, 6) + 1; hoardSizeName = "Small Hoard"; }
  63.         else if (InRangeInclusive(hoardSize, 8, 13)) { hoardSize = Roll(1, 4) + 3; hoardSizeName = "Medium Hoard"; }
  64.         else if (InRangeInclusive(hoardSize, 14, 16)) { hoardSize = Roll(1, 4) + 6; hoardSizeName = "Large Hoard"; }
  65.         else if (InRangeInclusive(hoardSize, 17, 18)) { hoardSize = Roll(1, 4) + Roll(1, 4) + 6; hoardSizeName = "Huge Hoard"; }
  66.         else if (InRangeInclusive(hoardSize, 19, 19)) { hoardSize = Roll(1, 4) + Roll(1, 4) + Roll(1, 4) + 6; hoardSizeName = "Massive Hoard"; }
  67.         else if (InRangeInclusive(hoardSize, 20, 20)) { hoardSize = (Roll(1, 4) + 2) * 4; hoardSizeName = "Gargantuan Hoard"; }
  68.  
  69.         var treasureUnitValue = TreasureUnitCalculator(); //Store this for later use in stuff like artValue or gemValue.
  70.         print("Generating " + hoardSizeName + " of " + hoardSize + " Treasure Units. Total value = " + treasureUnitValue * hoardSize + " GP.");
  71.  
  72.         //Assign type of treasure for each Treasure Unit.
  73.         string treasureList = null;
  74.         for (int i = 0; i < hoardSize; i++)
  75.         {
  76.             int treasureType = Roll(1, 20);
  77.             if (InRangeInclusive(treasureType, 1, 1)) { treasureList += "Art - " + ArtDetails(treasureUnitValue) + "\n"; }
  78.             else if (InRangeInclusive(treasureType, 2, 3)) { treasureList += "Jeweled Items\n"; }
  79.             else if (InRangeInclusive(treasureType, 4, 7)) { treasureList += "Goods\n"; }
  80.             else if (InRangeInclusive(treasureType, 8, 13)) { treasureList += "Coins\n"; }
  81.             else if (InRangeInclusive(treasureType, 14, 17)) { treasureList += "Furnishings and Clothing\n"; }
  82.             else if (InRangeInclusive(treasureType, 18, 19)) { treasureList += "Gems\n"; }
  83.             else if (InRangeInclusive(treasureType, 20, 20)) { treasureList += "Special or Magic Items\n"; }
  84.         }
  85.         print(treasureList);
  86.     }
  87.  
  88.     string ArtDetails(double treasureUnitValue)
  89.     {
  90.         int roll;
  91.         string artForm = "";
  92.         string artSubject = "";
  93.         string artArtistRenown = "";
  94.         string artSize = "";
  95.         string artMaterialQuality = "";
  96.         string artWorkQuality = "";
  97.         string artAge = "";
  98.         string artCondition = "";
  99.         int artValue = 0;
  100.  
  101.         ArtForm();
  102.  
  103.         string ArtForm()
  104.         {
  105.             //Roll art's form
  106.             roll = Roll(1, 20);
  107.             if (InRangeInclusive(roll, 1, 2))
  108.             {
  109.                 artForm = "Paper art (prints, calligraphy, illustrated manuscript)"; //Start breaking these up into individual types of art. Using a list, maybe?
  110.                 int subRoll = Roll(1, 8);
  111.                 //Pastel chalk or oil, Charcoal, Colored pencil, Conte, Crayon, Graphite, Ink, Colored ink
  112.                 //doing Calligraphy, Printing, or Illustrating a manuscript, letter, or drawing
  113.                 //on Paper, Canvas, Wood, Plaster, or Metal
  114.             }
  115.             else if (InRangeInclusive(roll, 3, 4)) { artForm = "Fabric art (tapestry, embroidery, quilt)"; }
  116.             else if (InRangeInclusive(roll, 5, 6)) { artForm = "Painting (watercolor, oils, acrylics, enamels)"; }
  117.             else if (InRangeInclusive(roll, 7, 8)) { artForm = "Crafts (dollmaking, bookbinding"; }
  118.             else if (InRangeInclusive(roll, 9, 10)) { artForm = "Carving (woodwork, scrimshaw, bone, ivory, scales)"; }
  119.             else if (InRangeInclusive(roll, 11, 12)) { artForm = "Ceramics (pottery, urns, statuary, china)"; }
  120.             else if (InRangeInclusive(roll, 13, 14)) { artForm = "Glasswork (decanters, chandeliers, goblets, pipes, bowls, windows)"; }
  121.             else if (InRangeInclusive(roll, 15, 17)) { artForm = "Stonework (statues, birdbaths, plaques)"; }
  122.             else if (InRangeInclusive(roll, 18, 19)) { artForm = "Metalwork (sculpture, furnishings, decorative)"; }
  123.             else if (InRangeInclusive(roll, 20, 20)) { artForm = "Magical"; }
  124.            
  125.             return artForm;
  126.         }
  127.        
  128.  
  129.  
  130.         //Roll art's subject - HOW DO I ENCAPSULATE THIS TO STILL PRODUCE BOTH THE STRING AND INT OUTPUTS?
  131.         roll = Roll(1, 20);
  132.         if (InRangeInclusive(roll, 1, 1)) { artSubject = "Abstract (-2)"; artValue -= 2; }
  133.         else if (InRangeInclusive(roll, 2, 2)) { artSubject = "Monster (-1)"; artValue -= 1; }
  134.         else if (InRangeInclusive(roll, 3, 3)) { artSubject = "Humanoid"; }
  135.         else if (InRangeInclusive(roll, 4, 5)) { artSubject = "Natural"; }
  136.         else if (InRangeInclusive(roll, 6, 6)) { artSubject = "Supernatural"; }
  137.         else if (InRangeInclusive(roll, 7, 9)) { artSubject = "Local"; }
  138.         else if (InRangeInclusive(roll, 10, 12)) { artSubject = "Historical"; }
  139.         else if (InRangeInclusive(roll, 13, 17)) { artSubject = "Religious"; }
  140.         else if (InRangeInclusive(roll, 18, 19)) { artSubject = "Wealthy/Noble (+1)"; artValue += 1; }
  141.         else if (InRangeInclusive(roll, 20, 20)) { artSubject = "Royalty (+2)"; artValue += 2; }
  142.  
  143.         //Start rolling optional sub-details        
  144.  
  145.         //Roll artist renown
  146.         roll = Roll(1, 20);
  147.         if (InRangeInclusive(roll, 1, 3)) { artArtistRenown = "Unknown (-3)"; artValue -= 3; }
  148.         else if (InRangeInclusive(roll, 4, 6)) { artArtistRenown = "Obscure (-2)"; artValue -= 2; }
  149.         else if (InRangeInclusive(roll, 7, 10)) { artArtistRenown = "Locally known (-1)"; artValue -= 1; }
  150.         else if (InRangeInclusive(roll, 11, 14)) { artArtistRenown = "Regionally known"; }
  151.         else if (InRangeInclusive(roll, 15, 18)) { artArtistRenown = "Nationally known (+1)"; artValue += 1; }
  152.         else if (InRangeInclusive(roll, 19, 19)) { artArtistRenown = "Continentally known (+2)"; artValue += 2; }
  153.         else if (InRangeInclusive(roll, 20, 20))
  154.         {
  155.             int subRoll = Roll(1, 20);
  156.             if (InRangeInclusive(subRoll, 1, 16)) { artArtistRenown = "World renowned (+3)"; artValue += 3; }
  157.             else if (InRangeInclusive(subRoll, 17, 20)) { artArtistRenown = "Ubiquitous (+4)"; artValue += 4; }
  158.         }
  159.  
  160.         //Roll art object's size
  161.         roll = Roll(1, 20);
  162.         if (InRangeInclusive(roll, 1, 1)) { artSize = "Tiny (-3)"; artValue -= 3; }
  163.         else if (InRangeInclusive(roll, 2, 2)) { artSize = "Very Small (-2)"; artValue -= 2; }
  164.         else if (InRangeInclusive(roll, 3, 5)) { artSize = "Small (-1)"; artValue -= 1; }
  165.         else if (InRangeInclusive(roll, 6, 13)) { artSize = "Average"; }
  166.         else if (InRangeInclusive(roll, 14, 17)) { artSize = "Large (+1)"; artValue += 1; }
  167.         else if (InRangeInclusive(roll, 18, 18)) { artSize = "Very Large (+2)"; artValue += 2; }
  168.         else if (InRangeInclusive(roll, 19, 19)) { artSize = "Huge (+3)"; artValue += 3; }
  169.         else if (InRangeInclusive(roll, 20, 20))
  170.         {
  171.             int subRoll = Roll(1, 20);
  172.             if (InRangeInclusive(subRoll, 1, 14)) { artSize = "Massive (+4)"; artValue += 4; }
  173.             else if (InRangeInclusive(subRoll, 15, 20)) { artSize = "Gargantuan (+5)"; artValue += 5; }
  174.         }
  175.  
  176.         //Roll material quality
  177.         roll = Roll(1, 20);
  178.         if (InRangeInclusive(roll, 1, 1)) { artMaterialQuality = "Awful (-3)"; artValue -= 3; }
  179.         else if (InRangeInclusive(roll, 2, 2)) { artMaterialQuality = "Poor (-2)"; artValue -= 2; }
  180.         else if (InRangeInclusive(roll, 3, 5)) { artMaterialQuality = "Below Average (-1)"; artValue -= 1; }
  181.         else if (InRangeInclusive(roll, 6, 13)) { artMaterialQuality = "Average"; }
  182.         else if (InRangeInclusive(roll, 14, 17)) { artMaterialQuality = "Above Average (+1)"; artValue += 1; }
  183.         else if (InRangeInclusive(roll, 18, 18)) { artMaterialQuality = "Good (+2)"; artValue += 2; }
  184.         else if (InRangeInclusive(roll, 19, 19)) { artMaterialQuality = "Excellent (+3)"; artValue += 3; }
  185.         else if (InRangeInclusive(roll, 20, 20))
  186.         {
  187.             int subRoll = Roll(1, 20);
  188.             if (InRangeInclusive(subRoll, 1, 14)) { artMaterialQuality = "Finest (+4)"; artValue += 4; }
  189.             else if (InRangeInclusive(subRoll, 15, 20)) { artMaterialQuality = "Unique (+5)"; artValue += 5; }
  190.         }
  191.  
  192.         //Roll quality of the work itself
  193.         roll = Roll(1, 20);
  194.         if (InRangeInclusive(roll, 1, 1)) { artWorkQuality = "Awful (-3)"; artValue -= 3; }
  195.         else if (InRangeInclusive(roll, 2, 2)) { artWorkQuality = "Poor (-2)"; artValue -= 2; }
  196.         else if (InRangeInclusive(roll, 3, 5)) { artWorkQuality = "Below Average (-1)"; artValue -= 1; }
  197.         else if (InRangeInclusive(roll, 6, 13)) { artWorkQuality = "Average"; }
  198.         else if (InRangeInclusive(roll, 14, 17)) { artWorkQuality = "Above Average (+1)"; artValue += 1; }
  199.         else if (InRangeInclusive(roll, 18, 18)) { artWorkQuality = "Good (+2)"; artValue += 2; }
  200.         else if (InRangeInclusive(roll, 19, 19)) { artWorkQuality = "Excellent (+3)"; artValue += 3; }
  201.         else if (InRangeInclusive(roll, 20, 20))
  202.         {
  203.             int subRoll = Roll(1, 20);
  204.             if (InRangeInclusive(subRoll, 1, 14)) { artWorkQuality = "Brilliant (+4)"; artValue += 4; }
  205.             else if (InRangeInclusive(subRoll, 15, 20)) { artWorkQuality = "Masterpiece (+5)"; artValue += 5; }
  206.         }
  207.  
  208.         //Roll art object's age
  209.         roll = Roll(1, 20);
  210.         if (InRangeInclusive(roll, 1, 1)) { artAge = "Avant-garde (-3)"; artValue -= 3; }
  211.         else if (InRangeInclusive(roll, 2, 2)) { artAge = "Current (-2)"; artValue -= 2; }
  212.         else if (InRangeInclusive(roll, 3, 5)) { artAge = "Recent (-1)"; artValue -= 1; }
  213.         else if (InRangeInclusive(roll, 6, 13)) { artAge = "Contemporary"; }
  214.         else if (InRangeInclusive(roll, 14, 17)) { artAge = "Modern (+1)"; artValue += 1; }
  215.         else if (InRangeInclusive(roll, 18, 18)) { artAge = "Old (+2)"; artValue += 2; }
  216.         else if (InRangeInclusive(roll, 19, 19)) { artAge = "Antique (+3)"; artValue += 3; }
  217.         else if (InRangeInclusive(roll, 20, 20))
  218.         {
  219.             int subRoll = Roll(1, 20);
  220.             if (InRangeInclusive(subRoll, 1, 14)) { artAge = "Venerable (+4)"; artValue += 4; }
  221.             else if (InRangeInclusive(subRoll, 15, 19)) { artAge = "Archaic (+5)"; artValue += 5; }
  222.             else if (InRangeInclusive(subRoll, 20, 20))
  223.             {
  224.                 int subSubRoll = Roll(1, 20);
  225.                 if (InRangeInclusive(subSubRoll, 1, 14)) { artAge = "Antediluvian (+6)"; artValue += 6; }
  226.                 else if (InRangeInclusive(subSubRoll, 15, 20)) { artAge = "Primordial (+7)"; artValue += 7; }
  227.             }
  228.         }
  229.  
  230.         //Roll art object's condition
  231.         roll = Roll(1, 20);
  232.         if (InRangeInclusive(roll, 1, 1)) { artCondition = "Badly Damaged (-3)"; artValue -= 3; }
  233.         else if (InRangeInclusive(roll, 2, 2)) { artCondition = "Damaged (-2)"; artValue -= 2; }
  234.         else if (InRangeInclusive(roll, 3, 5)) { artCondition = "Worn (-1)"; artValue -= 1; }
  235.         else if (InRangeInclusive(roll, 6, 13)) { artCondition = "Average"; }
  236.         else if (InRangeInclusive(roll, 14, 17)) { artCondition = "Good (+1)"; artValue += 1; }
  237.         else if (InRangeInclusive(roll, 18, 18)) { artCondition = "Excellent (+2)"; artValue += 2; }
  238.         else if (InRangeInclusive(roll, 19, 19)) { artCondition = "Near Perfect (+3)"; artValue += 3; }
  239.         else if (InRangeInclusive(roll, 20, 20))
  240.         {
  241.             int subRoll = Roll(1, 20);
  242.             if (InRangeInclusive(subRoll, 1, 14)) { artCondition = "Perfect (+4)"; artValue += 4; }
  243.             else if (InRangeInclusive(subRoll, 15, 20)) { artCondition = "Flawless (+5)"; artValue += 5; }
  244.         }
  245.  
  246.         double AV1 = 0.01; //1 CP
  247.         double AV2 = 0.10; //1 SP
  248.         double AV3 = 0.50; //5 SP
  249.         double AV4 = 1; //1 GP, and so on.
  250.         double AV5 = 10;
  251.         double AV6 = 25;
  252.         double AV7 = 50;
  253.         double AV8 = 75;
  254.         double AV9 = 100;
  255.         double AV10 = 150;
  256.         double AV11 = 200;
  257.         double AV12 = 300;
  258.         double AV13 = 400;
  259.         double AV14 = 500;
  260.         double AV15 = 750;
  261.         double AV16 = 1000;
  262.         double AV17 = 1500;
  263.         double AV18 = 2000;
  264.         double AV19 = 3000;
  265.         double AV20 = 4000;
  266.         double AV21 = 5000;
  267.         double AV22 = 7500;
  268.         double AV23 = 10000;
  269.         double AV24 = 20000;
  270.         double AV25 = 40000;
  271.         double AV26 = 80000;
  272.         double AV27 = 150000;
  273.         double AV28 = 250000;
  274.         double AV29 = 400000;
  275.         double AV30 = 800000;
  276.         double AV31 = 1000000; //technically another category beyond 1,000,000 GP is "Priceless"
  277.  
  278.         //Use artValue to determine supposed value of art object.
  279.         //This is almost CERTAINLY not the right way to do this...
  280.  
  281.         //first determine where the modified treasure unit value sits on the art value index.
  282.  
  283.         int artValueIndex = 0; //This is not a good way to do this.
  284.  
  285.         if (InRangeInclusive(treasureUnitValue, AV1, AV2)) { artValueIndex = 1; }
  286.         else if (InRangeInclusive(treasureUnitValue, AV2, AV3)) { artValueIndex = 2;  }
  287.         else if (InRangeInclusive(treasureUnitValue, AV3, AV4)) { artValueIndex = 3; }
  288.         else if (InRangeInclusive(treasureUnitValue, AV4, AV5)) { artValueIndex = 4; }
  289.         else if (InRangeInclusive(treasureUnitValue, AV5, AV6)) { artValueIndex = 5; }
  290.         else if (InRangeInclusive(treasureUnitValue, AV6, AV7)) { artValueIndex = 6; }
  291.         else if (InRangeInclusive(treasureUnitValue, AV7, AV8)) { artValueIndex = 7; }
  292.         else if (InRangeInclusive(treasureUnitValue, AV8, AV9)) { artValueIndex = 8; }
  293.         else if (InRangeInclusive(treasureUnitValue, AV9, AV10)) { artValueIndex = 9; }
  294.         else if (InRangeInclusive(treasureUnitValue, AV10, AV11)) { artValueIndex = 10; }
  295.         else if (InRangeInclusive(treasureUnitValue, AV11, AV12)) { artValueIndex = 11; }
  296.         else if (InRangeInclusive(treasureUnitValue, AV12, AV13)) { artValueIndex = 12; }
  297.         else if (InRangeInclusive(treasureUnitValue, AV13, AV14)) { artValueIndex = 13; }
  298.         else if (InRangeInclusive(treasureUnitValue, AV14, AV15)) { artValueIndex = 14; }
  299.         else if (InRangeInclusive(treasureUnitValue, AV15, AV16)) { artValueIndex = 15; }
  300.         else if (InRangeInclusive(treasureUnitValue, AV16, AV17)) { artValueIndex = 16; }
  301.         else if (InRangeInclusive(treasureUnitValue, AV17, AV18)) { artValueIndex = 17; }
  302.         else if (InRangeInclusive(treasureUnitValue, AV18, AV19)) { artValueIndex = 18; }
  303.         else if (InRangeInclusive(treasureUnitValue, AV19, AV20)) { artValueIndex = 19; }
  304.         else if (InRangeInclusive(treasureUnitValue, AV20, AV21)) { artValueIndex = 20; }
  305.         else if (InRangeInclusive(treasureUnitValue, AV21, AV22)) { artValueIndex = 21; }
  306.         else if (InRangeInclusive(treasureUnitValue, AV22, AV23)) { artValueIndex = 22; }
  307.         else if (InRangeInclusive(treasureUnitValue, AV23, AV24)) { artValueIndex = 23; }
  308.         else if (InRangeInclusive(treasureUnitValue, AV24, AV25)) { artValueIndex = 24; }
  309.         else if (InRangeInclusive(treasureUnitValue, AV25, AV26)) { artValueIndex = 25; }
  310.         else if (InRangeInclusive(treasureUnitValue, AV26, AV27)) { artValueIndex = 26; }
  311.         else if (InRangeInclusive(treasureUnitValue, AV27, AV28)) { artValueIndex = 27; }
  312.         else if (InRangeInclusive(treasureUnitValue, AV28, AV29)) { artValueIndex = 28; }
  313.         else if (InRangeInclusive(treasureUnitValue, AV29, AV30)) { artValueIndex = 29; }
  314.         else if (InRangeInclusive(treasureUnitValue, AV30, AV31)) { artValueIndex = 30; }
  315.         else if (InRangeInclusive(treasureUnitValue, AV31, int.MaxValue)) { artValueIndex = 31; }
  316.  
  317.         //Now that the treasure unit has been set to an index, modify that index with whatever the art object's value is.
  318.         artValueIndex += artValue;
  319.  
  320.         //Associate a GP value with a given artValueIndex.
  321.         double artValueInGP = 0;
  322.  
  323.         if (artValueIndex <= 1) { artValueInGP = AV1; } //Covers values less than AV1
  324.         if (artValueIndex == 2) { artValueInGP = AV2; }
  325.         if (artValueIndex == 3) { artValueInGP = AV3; }
  326.         if (artValueIndex == 4) { artValueInGP = AV4; }
  327.         if (artValueIndex == 5) { artValueInGP = AV5; }
  328.         if (artValueIndex == 6) { artValueInGP = AV6; }
  329.         if (artValueIndex == 7) { artValueInGP = AV7; }
  330.         if (artValueIndex == 8) { artValueInGP = AV8; }
  331.         if (artValueIndex == 9) { artValueInGP = AV9; }
  332.         if (artValueIndex == 10) { artValueInGP = AV10; }
  333.         if (artValueIndex == 11) { artValueInGP = AV11; }
  334.         if (artValueIndex == 12) { artValueInGP = AV12; }
  335.         if (artValueIndex == 13) { artValueInGP = AV13; }
  336.         if (artValueIndex == 14) { artValueInGP = AV14; }
  337.         if (artValueIndex == 15) { artValueInGP = AV15; }
  338.         if (artValueIndex == 16) { artValueInGP = AV16; }
  339.         if (artValueIndex == 17) { artValueInGP = AV17; }
  340.         if (artValueIndex == 18) { artValueInGP = AV18; }
  341.         if (artValueIndex == 19) { artValueInGP = AV19; }
  342.         if (artValueIndex == 20) { artValueInGP = AV20; }
  343.         if (artValueIndex == 21) { artValueInGP = AV21; }
  344.         if (artValueIndex == 22) { artValueInGP = AV22; }
  345.         if (artValueIndex == 23) { artValueInGP = AV23; }
  346.         if (artValueIndex == 24) { artValueInGP = AV24; }
  347.         if (artValueIndex == 25) { artValueInGP = AV25; }
  348.         if (artValueIndex == 26) { artValueInGP = AV26; }
  349.         if (artValueIndex == 27) { artValueInGP = AV27; }
  350.         if (artValueIndex == 28) { artValueInGP = AV28; }
  351.         if (artValueIndex == 29) { artValueInGP = AV29; }
  352.         if (artValueIndex == 30) { artValueInGP = AV30; }
  353.         if (artValueIndex >= 31) { artValueInGP = AV31; } //Covers values greater than AV31
  354.  
  355.         //Finally, Output the full list of art object details.
  356.         //TODO: Convert this to use string interpolation (fstrings from Python)
  357.         string output = "Form: " + artForm + " " + "Subject: " + artSubject +
  358.             " " + "\n\tArtist Renown: " + artArtistRenown + " " + "\n\tSize: " + artSize + " " + "\n\tMaterial quality: " +
  359.             artMaterialQuality + " " + "\n\tWork quality: " + artWorkQuality + " " + "\n\tAge: " +
  360.             artAge + " " + "\n\tCondition: " + artCondition + " " + "\n\tFINAL VALUE: " + artValueInGP + " GP (Index: " + artValue + ")";
  361.  
  362.         return (output);
  363.  
  364.     }
  365.  
  366.     //Rolls a SINGLE die with an eye toward 1dx+y tabletop dice notation.
  367.     //TODO: Update this with a loop to handle dice pools of xdy+z. You're already asking for "number" and doing nothing with it...
  368.     int Roll(int number, int sides, int modifier = 0)
  369.     {
  370.         return Random.Range(1, sides + 1);
  371.     }
  372.  
  373.     //Checks if a number--usually a Roll()--is within a certain range. If so, you can produce a given associated chart result.
  374.     static bool InRangeInclusive(double value, double lower, double upper)
  375.     {
  376.         return lower <= value && value <= upper;
  377.     }
  378.  
  379.     // Update is called once per frame
  380.     void Update()
  381.     {
  382.         if (Input.GetKeyDown(KeyCode.Alpha1)) { BasicRestocker(); } // Press 1 to run the basic restocker
  383.         else if (Input.GetKeyDown(KeyCode.Alpha2)) // Press 2 to run the treasure generator
  384.         {
  385.             TreasureGenerator();
  386.         }
  387.     }
  388. }
  389.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement