public FireplaceAddition()
 {
     additionName  = AdditionName.FIREPLACE;
     isUnlocked    = false;
     purchaseCosts = new DevResourceQuantity(1000, 100, 0, 0);
     description   = "A fireplace for the den. Keeps the cabin toasty in the winter months.";
 }
 public WoodworkingBenchAddition()
 {
     additionName  = AdditionName.WOODWORKING_BENCH;
     isUnlocked    = false;
     purchaseCosts = new DevResourceQuantity(250, 25, 50, 0);
     description   = "A woodworking bench for the workshop. Can be used to make furniture, instruments, and other knick knacks.";
 }
 public FrontPorchAddition()
 {
     additionName  = AdditionName.FRONT_PORCH;
     isUnlocked    = false;
     purchaseCosts = new DevResourceQuantity(500, 50, 0, 0);
     description   = "Adds a porch to the front of the cabin. A nice place to sit and whittle or to just take it all in.";
 }
 public CoffeeMakerAddition()
 {
     additionName  = AdditionName.COFFEE_MAKER;
     isUnlocked    = false;
     purchaseCosts = new DevResourceQuantity(250, 0, 0, 0);
     description   = "An addition for the kitchen. Make a cup of coffee to replenish a bit of energy. [Requires currency. Max of 2 per day.]";
 }
Example #5
0
 public LumberContract(LumberResourceQuantity lumber, DevResourceQuantity pay, int deadline, ContractStatus startStatus, ContractDifficulty diff)
 {
     requiredLumber     = lumber;
     payout             = pay;
     completionDeadline = deadline;
     status             = startStatus;
     difficulty         = diff;
 }
Example #6
0
    public LumberContract(int difficultyNumber)
    {
        ContractDifficulty[] difficultyArray = LumberContractHelper.DifficultyDictionary[difficultyNumber];
        int randomSelection = UnityEngine.Random.Range(0, difficultyArray.Length - 1);

        difficulty = difficultyArray[randomSelection];

        requiredLumber     = new LumberResourceQuantity(difficulty);
        payout             = requiredLumber.GenerateDevResourcePayout();
        completionDeadline = 3;                         //should generate deadline based on either difficulty or required lumber quantities
        status             = ContractStatus.AVAILABLE;
    }
Example #7
0
 public WorkshopRoom(int tier)
 {
     roomName      = RoomName.WORKSHOP;
     currentTier   = tier;
     tierIntValues = new int[5] {
         1, 2, 3, 4, 5
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum level of Tool that can be upgraded in the Workshop";
     tierDescriptiveString = "Able to upgrade level " + currentTier + " tools";
 }
Example #8
0
 public StudyRoom(int tier)
 {
     roomName      = RoomName.STUDY;
     currentTier   = tier;
     tierIntValues = new int[5] {
         1, 2, 3, 4, 5
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Highest level of Books available in the Study";
     tierDescriptiveString = "Level " + currentTier + " books available for reading";
 }
Example #9
0
 public OfficeRoom(int tier)
 {
     roomName      = RoomName.OFFICE;
     currentTier   = tier;
     tierIntValues = new int[5] {
         1, 2, 3, 4, 5
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Highest level of Tools available in the store.";
     tierDescriptiveString = "Level " + currentTier + " tools available for purchase";
 }
Example #10
0
 public BedRoom(int tier)
 {
     roomName        = RoomName.BEDROOM;
     currentTier     = tier;
     tierFloatValues = new float[5] {
         8f, 7.5f, 7f, 6.5f, 6f
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Sleep duration required to completely restore energy.";
     tierDescriptiveString = tierFloatValues[currentTier - 1] + " hours for a full rest.";
 }
Example #11
0
 public LumberFirewoodSkill(int tier)
 {
     skillName  = SkillName.LUMBER_FIREWOOD;
     tierValues = new int[5] {
         50, 100, 250, 500, 1000
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum stockpile capacity for firewood";
     tierDescriptiveString = "{0} Firewood";
 }
Example #12
0
 public KitchenRoom(int tier)
 {
     roomName      = RoomName.KITCHEN;
     currentTier   = tier;
     tierIntValues = new int[5] {
         3, 5, 8, 10, 15
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "The maximum number of Lumber Contracts that can be displayed in the newspaper.";
     tierDescriptiveString = tierIntValues[currentTier - 1] + " available contracts";
 }
Example #13
0
 public LumberTreesSkill(int tier)
 {
     skillName  = SkillName.LUMBER_TREES;
     tierValues = new int[5] {
         5, 10, 25, 50, 100
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum stockpile capacity for felled trees";
     tierDescriptiveString = "{0} Felled trees";
 }
Example #14
0
 public LumberLogsSkill()
 {
     skillName  = SkillName.LUMBER_LOGS;
     tierValues = new int[5] {
         25, 50, 100, 250, 500
     };
     currentTier  = 1;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum stockpile capacity for logs";
     tierDescriptiveString = "{0} Logs";
 }
Example #15
0
 public ToolPartsSkill(int tier)
 {
     skillName  = SkillName.TOOL_PARTS;
     tierValues = new int[5] {
         50, 100, 250, 500, 1000
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum inventory capacity for tool parts";
     tierDescriptiveString = "{0} Parts";
 }
Example #16
0
 public BookPagesSkill(int tier)
 {
     skillName  = SkillName.BOOK_PAGES;
     tierValues = new int[5] {
         50, 100, 250, 500, 1000
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum inventory capacity for book pages";
     tierDescriptiveString = "{0} Pages";
 }
Example #17
0
 public ActiveContractsSkill(int tier)
 {
     skillName  = SkillName.ACTIVE_CONTRACTS;
     tierValues = new int[5] {
         1, 3, 5, 8, 10
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "The maximum number of contracts that can be in progress at one time.";
     tierDescriptiveString = "{0} Active contract maximum";
 }
Example #18
0
 public BuildingMaterialsSkill(int tier)
 {
     skillName  = SkillName.BUILDING_MATERIALS;
     tierValues = new int[5] {
         50, 100, 250, 500, 1000
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum inventory capacity for building materials";
     tierDescriptiveString = "{0} Materials";
 }
Example #19
0
 public CurrencySkill(int tier)
 {
     skillName  = SkillName.CURRENCY;
     tierValues = new int[5] {
         500, 1000, 2500, 5000, 10000
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Currency pouch capacity";
     tierDescriptiveString = "{0} coins";
 }
Example #20
0
 public EfficiencySkill(int tier)
 {
     skillName  = SkillName.EFFICIENCY;
     tierValues = new int[5] {
         1, 2, 3, 4, 5
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "How much effort (in the form of axe swings and saw moves) must be given to completing Logging Activities.";
     tierDescriptiveString = "Efficiency level {0}";
 }
    public DevResourceQuantity GenerateDevResourcePayout()
    {
        DevResourceQuantity treeRate     = LumberContractHelper.FelledTreeExchangeRates[treeGrade.GetHashCode()];
        DevResourceQuantity logRate      = LumberContractHelper.LogExchangeRates[logGrade.GetHashCode()];
        DevResourceQuantity firewoodRate = LumberContractHelper.FirewoodExchangeRates[firewoodGrade.GetHashCode()];

        int currency  = (treeRate.GetCurrency() * trees) + (logRate.GetCurrency() * logs) + (firewoodRate.GetCurrency() * firewood);
        int materials = 0;
        int parts     = 0;
        int pages     = 0;

        int[] resourceIndexes =
        {
            UnityEngine.Random.Range(1, 4),
            UnityEngine.Random.Range(1, 4),
            UnityEngine.Random.Range(1, 4),
        };

        int [] lumberPayouts =
        {
            treeRate.GetResourceAtIndex(resourceIndexes[0]) * trees,
            logRate.GetResourceAtIndex(resourceIndexes[1]) * (logs / 3),
            firewoodRate.GetResourceAtIndex(resourceIndexes[2]) * (firewood / 6),
        };

        for (int i = 0; i < resourceIndexes.Length; i++)
        {
            if (resourceIndexes[i] == 1)
            {
                materials += lumberPayouts[i];
            }
            else if (resourceIndexes[i] == 2)
            {
                parts += lumberPayouts[i];
            }
            else if (resourceIndexes[i] == 3)
            {
                pages += lumberPayouts[i];
            }
        }


        return(new DevResourceQuantity(currency, materials, parts, pages));
    }
Example #22
0
 public EnergySkill(int tier)
 {
     skillName = SkillName.ENERGY;
     // tierValues = new int[5] {20, 40, 60, 80, 100};
     tierValues = new int[5] {
         50, 100, 150, 200, 250
     };
     currentTier  = tier;
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Maximum energy level";
     tierDescriptiveString = "{0} Energy";
 }
Example #23
0
 public OfficeRoom()
 {
     roomName    = RoomName.OFFICE;
     currentTier = 1;
     //tiervalues represent the max level (quality grade equivalent) of the tools available to puchase
     tierIntValues = new int[5] {
         1, 2, 3, 4, 5
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Highest level of Tools available in the store.";
     tierDescriptiveString = "Level " + currentTier + " tools available for purchase";
 }
Example #24
0
 public BedRoom()
 {
     roomName    = RoomName.BEDROOM;
     currentTier = 1;
     //for bunk room, b/c this is sleep duration, this should really be float vals for tiervalues(8, 7.5, 7, 6.5, 6). for now, this is just hours
     tierFloatValues = new float[5] {
         8f, 7.5f, 7f, 6.5f, 6f
     };
     upgradeCosts = new DevResourceQuantity[5] {
         new DevResourceQuantity(0, 0, 0, 0),
         new DevResourceQuantity(100, 0, 0, 0),
         new DevResourceQuantity(250, 0, 0, 0),
         new DevResourceQuantity(500, 0, 0, 0),
         new DevResourceQuantity(1000, 0, 0, 0)
     };
     canBeUpgraded         = (currentTier < upgradeCosts.Length);
     description           = "Sleep duration required to completely restore energy.";
     tierDescriptiveString = tierFloatValues[currentTier - 1] + " hours for a full rest.";
 }
Example #25
0
 public void SetPayout(DevResourceQuantity pay)
 {
     payout = pay;
 }
Example #26
0
 public void SetDevResourceQuantityAtTier(int tier, DevResourceQuantity newCost)
 {
     upgradeCosts[tier - 1] = newCost;
 }
Example #27
0
 public void SetPurchaseCosts(DevResourceQuantity costs)
 {
     purchaseCosts = costs;
 }
Example #28
0
 public HomesteadAddition(AdditionName name, bool unlocked, DevResourceQuantity costs)
 {
     additionName  = name;
     isUnlocked    = unlocked;
     purchaseCosts = costs;
 }