public WarehouseElementType() { _elementType = ElementType.Type.BUILDING_WAREHOUSE; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_storage.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_storage.png"; _elementInfo = "It increases the storage capacity for all resources. Enhanced by any bordering Sawmill, Stonemason, Mill or Foundry."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(60, 0, 0)); _elementCostsList.Add(2, new ElementCost(150, 0, 0)); _elementCostsList.Add(3, new ElementCost(250, 50, 0)); _elementCostsList.Add(4, new ElementCost(500, 150, 0)); _elementCostsList.Add(5, new ElementCost(1600, 400, 0)); _elementCostsList.Add(6, new ElementCost(3000, 1000, 0)); _elementCostsList.Add(7, new ElementCost(6000, 2000, 0)); _elementCostsList.Add(8, new ElementCost(9600, 4800, 0)); _elementCostsList.Add(9, new ElementCost(15000, 9000, 0)); _elementCostsList.Add(10, new ElementCost(20000, 13000, 0)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 2); _elementScoreList.Add(3, 5); _elementScoreList.Add(4, 10); _elementScoreList.Add(5, 16); _elementScoreList.Add(6, 24); _elementScoreList.Add(7, 34); _elementScoreList.Add(8, 46); _elementScoreList.Add(9, 60); _elementScoreList.Add(10, 80); // Element Storage for each level _elementStorageList.Add(1, new ElementStorage(2500)); _elementStorageList.Add(2, new ElementStorage(5000)); _elementStorageList.Add(3, new ElementStorage(9000)); _elementStorageList.Add(4, new ElementStorage(16000)); _elementStorageList.Add(5, new ElementStorage(26000)); _elementStorageList.Add(6, new ElementStorage(42000)); _elementStorageList.Add(7, new ElementStorage(65000)); _elementStorageList.Add(8, new ElementStorage(100000)); _elementStorageList.Add(9, new ElementStorage(145000)); _elementStorageList.Add(10, new ElementStorage(200000)); }
public TownhouseElementType() { _elementType = ElementType.Type.BUILDING_TOWNHOUSE; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_townhouse.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_townhouse.png"; _elementInfo = "It enables taxation (gold). Income from tax can be increased by connecting Marketplaces and Harbors."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(0, 100, 0)); _elementCostsList.Add(2, new ElementCost(0, 300, 0)); _elementCostsList.Add(3, new ElementCost(0, 600, 0)); _elementCostsList.Add(4, new ElementCost(0, 2000, 0)); _elementCostsList.Add(5, new ElementCost(1000, 4000, 0)); _elementCostsList.Add(6, new ElementCost(2000, 7000, 0)); _elementCostsList.Add(7, new ElementCost(3500, 11500, 0)); _elementCostsList.Add(8, new ElementCost(7000, 17000, 0)); _elementCostsList.Add(9, new ElementCost(14000, 20000, 0)); _elementCostsList.Add(10, new ElementCost(29000, 29000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(0, 0, 0, 0, 25)); _elementProductionList.Add(2, new ElementProduction(0, 0, 0, 0, 50)); _elementProductionList.Add(3, new ElementProduction(0, 0, 0, 0, 75)); _elementProductionList.Add(4, new ElementProduction(0, 0, 0, 0, 100)); _elementProductionList.Add(5, new ElementProduction(0, 0, 0, 0, 130)); _elementProductionList.Add(6, new ElementProduction(0, 0, 0, 0, 170)); _elementProductionList.Add(7, new ElementProduction(0, 0, 0, 0, 210)); _elementProductionList.Add(8, new ElementProduction(0, 0, 0, 0, 260)); _elementProductionList.Add(9, new ElementProduction(0, 0, 0, 0, 320)); _elementProductionList.Add(10, new ElementProduction(0, 0, 0, 0, 400)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public FarmElementType() { _elementType = ElementType.Type.BUILDING_FARM; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_farm_2.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_farm.png"; _elementInfo = "It produces food. Any bordering grassland, lakes, Cottages and Mills will increase productivity."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(50, 0, 0)); _elementCostsList.Add(2, new ElementCost(200, 0, 0)); _elementCostsList.Add(3, new ElementCost(400, 200, 0)); _elementCostsList.Add(4, new ElementCost(1400, 600, 0)); _elementCostsList.Add(5, new ElementCost(3500, 1500, 0)); _elementCostsList.Add(6, new ElementCost(6000, 3000, 0)); _elementCostsList.Add(7, new ElementCost(10000, 5000, 0)); _elementCostsList.Add(8, new ElementCost(16000, 8000, 0)); _elementCostsList.Add(9, new ElementCost(25000, 13000, 0)); _elementCostsList.Add(10, new ElementCost(38000, 20000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(0, 0, 0, 5)); _elementProductionList.Add(2, new ElementProduction(0, 0, 0, 8)); _elementProductionList.Add(3, new ElementProduction(0, 0, 0, 15)); _elementProductionList.Add(4, new ElementProduction(0, 0, 0, 20)); _elementProductionList.Add(5, new ElementProduction(0, 0, 0, 30)); _elementProductionList.Add(6, new ElementProduction(0, 0, 0, 45)); _elementProductionList.Add(7, new ElementProduction(0, 0, 0, 75)); _elementProductionList.Add(8, new ElementProduction(0, 0, 0, 120)); _elementProductionList.Add(9, new ElementProduction(0, 0, 0, 200)); _elementProductionList.Add(10, new ElementProduction(0, 0, 0, 300)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public QuarryElementType() { _elementType = ElementType.Type.BUILDING_QUARRY; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_stone_quary.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_quarry.png"; _elementInfo = "It produces Stone. Productivity can be increased by bordering Rocks, Cottages and a maximum of one Stonemason."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(50, 0, 0)); _elementCostsList.Add(2, new ElementCost(200, 0, 0)); _elementCostsList.Add(3, new ElementCost(400, 200, 0)); _elementCostsList.Add(4, new ElementCost(1400, 600, 0)); _elementCostsList.Add(5, new ElementCost(3500, 1500, 0)); _elementCostsList.Add(6, new ElementCost(6000, 3000, 0)); _elementCostsList.Add(7, new ElementCost(10000, 5000, 0)); _elementCostsList.Add(8, new ElementCost(16000, 8000, 0)); _elementCostsList.Add(9, new ElementCost(25000, 13000, 0)); _elementCostsList.Add(10, new ElementCost(38000, 20000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(0, 20, 0, 0)); _elementProductionList.Add(2, new ElementProduction(0, 40, 0, 0)); _elementProductionList.Add(3, new ElementProduction(0, 60, 0, 0)); _elementProductionList.Add(4, new ElementProduction(0, 85, 0, 0)); _elementProductionList.Add(5, new ElementProduction(0, 110, 0, 0)); _elementProductionList.Add(6, new ElementProduction(0, 140, 0, 0)); _elementProductionList.Add(7, new ElementProduction(0, 175, 0, 0)); _elementProductionList.Add(8, new ElementProduction(0, 210, 0, 0)); _elementProductionList.Add(9, new ElementProduction(0, 250, 0, 0)); _elementProductionList.Add(10, new ElementProduction(0, 300, 0, 0)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public WoodcutterElementType() { _elementType = ElementType.Type.BUILDING_WOODCUTTER; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_woodcutter.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_woodcutter.png"; _elementInfo = "It produces wood. Any bordering woods, Cottages and a maximum of one Sawmill will increase productivity."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(50, 0, 0)); _elementCostsList.Add(2, new ElementCost(200, 0, 0)); _elementCostsList.Add(3, new ElementCost(400, 200, 0)); _elementCostsList.Add(4, new ElementCost(1400, 600, 0)); _elementCostsList.Add(5, new ElementCost(3500, 1500, 0)); _elementCostsList.Add(6, new ElementCost(6000, 3000, 0)); _elementCostsList.Add(7, new ElementCost(10000, 5000, 0)); _elementCostsList.Add(8, new ElementCost(16000, 8000, 0)); _elementCostsList.Add(9, new ElementCost(25000, 13000, 0)); _elementCostsList.Add(10, new ElementCost(38000, 20000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(20, 0, 0, 0)); _elementProductionList.Add(2, new ElementProduction(40, 0, 0, 0)); _elementProductionList.Add(3, new ElementProduction(60, 0, 0, 0)); _elementProductionList.Add(4, new ElementProduction(85, 0, 0, 0)); _elementProductionList.Add(5, new ElementProduction(110, 0, 0, 0)); _elementProductionList.Add(6, new ElementProduction(140, 0, 0, 0)); _elementProductionList.Add(7, new ElementProduction(175, 0, 0, 0)); _elementProductionList.Add(8, new ElementProduction(210, 0, 0, 0)); _elementProductionList.Add(9, new ElementProduction(250, 0, 0, 0)); _elementProductionList.Add(10, new ElementProduction(300, 0, 0, 0)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public IronMineElementType() { _elementType = ElementType.Type.BUILDING_IRONMINE; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_iron_quary.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_ironmine.png"; _elementInfo = "It produces iron. Any bordering ore deposits, Cottages and a maximum of one Foundry will increase productivity."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(50, 0, 0)); _elementCostsList.Add(2, new ElementCost(200, 0, 0)); _elementCostsList.Add(3, new ElementCost(400, 200, 0)); _elementCostsList.Add(4, new ElementCost(1400, 600, 0)); _elementCostsList.Add(5, new ElementCost(3500, 1500, 0)); _elementCostsList.Add(6, new ElementCost(6000, 3000, 0)); _elementCostsList.Add(7, new ElementCost(10000, 5000, 0)); _elementCostsList.Add(8, new ElementCost(16000, 8000, 0)); _elementCostsList.Add(9, new ElementCost(25000, 13000, 0)); _elementCostsList.Add(10, new ElementCost(38000, 20000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(0, 0, 20, 0)); _elementProductionList.Add(2, new ElementProduction(0, 0, 40, 0)); _elementProductionList.Add(3, new ElementProduction(0, 0, 60, 0)); _elementProductionList.Add(4, new ElementProduction(0, 0, 85, 0)); _elementProductionList.Add(5, new ElementProduction(0, 0, 110, 0)); _elementProductionList.Add(6, new ElementProduction(0, 0, 140, 0)); _elementProductionList.Add(7, new ElementProduction(0, 0, 175, 0)); _elementProductionList.Add(8, new ElementProduction(0, 0, 210, 0)); _elementProductionList.Add(9, new ElementProduction(0, 0, 250, 0)); _elementProductionList.Add(10, new ElementProduction(0, 0, 300, 0)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public TownHallElementType() { _elementType = ElementType.Type.BUILDING_TOWNHALL; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_townhall.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_townhall.png"; _elementInfo = "It provides basic storage and wood production. Also determines the maximum number of buildings in a city. Only one can be built in each city. Cannot be totally demolished or destroyed."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(0, 0, 0)); _elementCostsList.Add(2, new ElementCost(200, 0, 0)); _elementCostsList.Add(3, new ElementCost(500, 100, 0)); _elementCostsList.Add(4, new ElementCost(1000, 300, 0)); _elementCostsList.Add(5, new ElementCost(3000, 1500, 0)); _elementCostsList.Add(6, new ElementCost(8000, 4000, 0)); _elementCostsList.Add(7, new ElementCost(15000, 10000, 0)); _elementCostsList.Add(8, new ElementCost(30000, 25000, 0)); _elementCostsList.Add(9, new ElementCost(60000, 60000, 0)); _elementCostsList.Add(10, new ElementCost(120000, 120000, 0)); // Element Score for each level _elementScoreList.Add(1, 3); _elementScoreList.Add(2, 9); _elementScoreList.Add(3, 18); _elementScoreList.Add(4, 36); _elementScoreList.Add(5, 60); _elementScoreList.Add(6, 90); _elementScoreList.Add(7, 126); _elementScoreList.Add(8, 171); _elementScoreList.Add(9, 225); _elementScoreList.Add(10, 300); // Element Storage for each level _elementStorageList.Add(1, new ElementStorage(5000)); _elementStorageList.Add(2, new ElementStorage(7000)); _elementStorageList.Add(3, new ElementStorage(10000)); _elementStorageList.Add(4, new ElementStorage(15000)); _elementStorageList.Add(5, new ElementStorage(24000)); _elementStorageList.Add(6, new ElementStorage(35000)); _elementStorageList.Add(7, new ElementStorage(50000)); _elementStorageList.Add(8, new ElementStorage(80000)); _elementStorageList.Add(9, new ElementStorage(125000)); _elementStorageList.Add(10, new ElementStorage(175000)); }
public ResearchCenterElementType() { _elementType = ElementType.Type.BUILDING_RESEARCH_CENTER; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_research_center.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_research_center.png"; _elementInfo = "It produces research."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(100, 0, 0)); _elementCostsList.Add(2, new ElementCost(300, 0, 0)); _elementCostsList.Add(3, new ElementCost(600, 0, 0)); _elementCostsList.Add(4, new ElementCost(2000, 0, 0)); _elementCostsList.Add(5, new ElementCost(4000, 1000, 0)); _elementCostsList.Add(6, new ElementCost(7000, 2000, 0)); _elementCostsList.Add(7, new ElementCost(11500, 3500, 0)); _elementCostsList.Add(8, new ElementCost(17000, 7000, 0)); _elementCostsList.Add(9, new ElementCost(10000, 14000, 0)); _elementCostsList.Add(10, new ElementCost(29000, 29000, 0)); // Element production for each level _elementProductionList.Add(1, new ElementProduction(0, 0, 0, 0, 0, 25)); _elementProductionList.Add(2, new ElementProduction(0, 0, 0, 0, 0, 50)); _elementProductionList.Add(3, new ElementProduction(0, 0, 0, 0, 0, 75)); _elementProductionList.Add(4, new ElementProduction(0, 0, 0, 0, 0, 100)); _elementProductionList.Add(5, new ElementProduction(0, 0, 0, 0, 0, 130)); _elementProductionList.Add(6, new ElementProduction(0, 0, 0, 0, 0, 170)); _elementProductionList.Add(7, new ElementProduction(0, 0, 0, 0, 0, 210)); _elementProductionList.Add(8, new ElementProduction(0, 0, 0, 0, 0, 260)); _elementProductionList.Add(9, new ElementProduction(0, 0, 0, 0, 0, 320)); _elementProductionList.Add(10, new ElementProduction(0, 0, 0, 0, 0, 400)); // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 3); _elementScoreList.Add(3, 6); _elementScoreList.Add(4, 12); _elementScoreList.Add(5, 20); _elementScoreList.Add(6, 30); _elementScoreList.Add(7, 42); _elementScoreList.Add(8, 57); _elementScoreList.Add(9, 75); _elementScoreList.Add(10, 100); }
public IronElementType() { _elementType = ElementType.Type.RESSOURCE_IRON; _name = ElementType.GetTypeName(_elementType); _isRessources = true; _hasLevelEnable = false; var select = Random.Next(1, 5); _imagePath = "pack://application:,,,/Resources/Images/resource_iron_" + select.ToString() + ".png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_iron.png"; _elementInfo = "Each Iron Mine gains 50% for the first adjacent iron node, then 40% for each after that. The Iron Mine's production efficiency can then be increased up to 75% by an adjacent Foundry, and up to 30% by each adjacent Cottage."; // Bonus linked to iron _elementProductionBonus = new ElementProductionBonus(0, 0, 0, 0); _elementProductionBonus.IsRessourcesBonus = true; _elementProductionBonus.FirstBonus = 50; _elementProductionBonus.SecondBonus = 40; }
public ForestElementType() { _elementType = ElementType.Type.RESSOURCE_FOREST; _name = ElementType.GetTypeName(_elementType); _isRessources = true; _hasLevelEnable = false; var select = Random.Next(1, 5); _imagePath = "pack://application:,,,/Resources/Images/resource_wood_" + select + ".png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_forest.png"; _elementInfo = "Each Woodcutter's Hut gains 50% production efficiency from the first adjacent wood node, then 40% for each after that. The Woodcutter's Hut production efficiency can then be further increased up to 75% by an adjacent Sawmill, and up to 30% by each adjacent Cottage."; // Bonus linked to Forest _elementProductionBonus = new ElementProductionBonus(0, 0, 0, 0); _elementProductionBonus.IsRessourcesBonus = true; _elementProductionBonus.FirstBonus = 50; _elementProductionBonus.SecondBonus = 40; }
public FoundryElementType() { _elementType = ElementType.Type.BUILDING_FOUNDRY; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_foundry.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_foundry.png"; _elementInfo = "It increases the efficiency of bordering Ore Mines and iron storage capacity of bordering Storage."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(60, 60, 0)); _elementCostsList.Add(2, new ElementCost(150, 150, 0)); _elementCostsList.Add(3, new ElementCost(350, 350, 0)); _elementCostsList.Add(4, new ElementCost(1100, 1100, 0)); _elementCostsList.Add(5, new ElementCost(2700, 2700, 0)); _elementCostsList.Add(6, new ElementCost(5000, 5000, 0)); _elementCostsList.Add(7, new ElementCost(8500, 8500, 0)); _elementCostsList.Add(8, new ElementCost(13500, 13500, 0)); _elementCostsList.Add(9, new ElementCost(21500, 21500, 0)); _elementCostsList.Add(10, new ElementCost(33000, 33000, 0)); for (int i = 1; i <= 10; i++) { _elementProductionBonusList.Add(i, new ElementProductionBonus(0, 0, 30 + (i - 1) * 5, 0)); } // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 4); _elementScoreList.Add(3, 7); _elementScoreList.Add(4, 14); _elementScoreList.Add(5, 24); _elementScoreList.Add(6, 36); _elementScoreList.Add(7, 50); _elementScoreList.Add(8, 68); _elementScoreList.Add(9, 90); _elementScoreList.Add(10, 120); }
public MarketplaceElementType() { _elementType = ElementType.Type.BUILDING_MARKETPLACE; _name = ElementType.GetTypeName(_elementType); _isRessources = false; _hasLevelEnable = true; _imagePath = "pack://application:,,,/Resources/Images/building_marketplace.png"; _detailImagePath = "pack://application:,,,/Resources/Images/menu_marketplace.png"; _elementInfo = "It allows transport of resources between cities and enables trade with other players by land. Also increases the tax income of connected buildings."; // Element cost for each level _elementCostsList.Add(1, new ElementCost(40, 20, 0)); _elementCostsList.Add(2, new ElementCost(80, 40, 0)); _elementCostsList.Add(3, new ElementCost(160, 80, 0)); _elementCostsList.Add(4, new ElementCost(400, 200, 0)); _elementCostsList.Add(5, new ElementCost(1200, 600, 0)); _elementCostsList.Add(6, new ElementCost(2800, 1400, 0)); _elementCostsList.Add(7, new ElementCost(5600, 2800, 0)); _elementCostsList.Add(8, new ElementCost(9600, 4800, 0)); _elementCostsList.Add(9, new ElementCost(15200, 7600, 0)); _elementCostsList.Add(10, new ElementCost(23200, 11600, 0)); for (int i = 1; i <= 10; i++) { _elementProductionBonusList.Add(i, new ElementProductionBonus(0, 0, i * 2, 0)); } // Element Score for each level _elementScoreList.Add(1, 1); _elementScoreList.Add(2, 2); _elementScoreList.Add(3, 5); _elementScoreList.Add(4, 10); _elementScoreList.Add(5, 16); _elementScoreList.Add(6, 24); _elementScoreList.Add(7, 34); _elementScoreList.Add(8, 46); _elementScoreList.Add(9, 60); _elementScoreList.Add(10, 80); }