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.]"; }
public LumberContract(LumberResourceQuantity lumber, DevResourceQuantity pay, int deadline, ContractStatus startStatus, ContractDifficulty diff) { requiredLumber = lumber; payout = pay; completionDeadline = deadline; status = startStatus; difficulty = diff; }
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; }
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"; }
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"; }
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"; }
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."; }
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"; }
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"; }
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"; }
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"; }
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"; }
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"; }
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"; }
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"; }
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"; }
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)); }
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"; }
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"; }
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."; }
public void SetPayout(DevResourceQuantity pay) { payout = pay; }
public void SetDevResourceQuantityAtTier(int tier, DevResourceQuantity newCost) { upgradeCosts[tier - 1] = newCost; }
public void SetPurchaseCosts(DevResourceQuantity costs) { purchaseCosts = costs; }
public HomesteadAddition(AdditionName name, bool unlocked, DevResourceQuantity costs) { additionName = name; isUnlocked = unlocked; purchaseCosts = costs; }