Some stub map placeholder for future content
This commit is contained in:
@@ -10,8 +10,7 @@
|
||||
var vanguardAdded = entity.VanguardAdded();
|
||||
var replaced = EntityData.Get()[vanguardAdded.ReplaceId];
|
||||
var immortal = EntityData.Get()[vanguardAdded.ImmortalId];
|
||||
|
||||
|
||||
|
||||
var productionBuilding = (from building in requirements
|
||||
where building.Requirement == RequirementType.Production_Building
|
||||
select building).First().Id;
|
||||
|
||||
@@ -38,7 +38,7 @@ public partial class EntityData
|
||||
{ Alloy = 450, BuildTime = 90, RequiresWorker = true, ConsumesWorker = true })
|
||||
.AddPart(new EntityVitalityModel
|
||||
{ Health = 2300, DefenseLayer = 1200, Armor = ArmorType.Heavy, IsStructure = true })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 2,
|
||||
TotalAmount = 3600
|
||||
@@ -61,7 +61,7 @@ public partial class EntityData
|
||||
Requirement = RequirementType.Morph
|
||||
})
|
||||
.AddPart(new EntityProductionModel { Alloy = 400, BuildTime = 20, RequiresWorker = false })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 4,
|
||||
TotalAmount = 3600
|
||||
@@ -83,7 +83,7 @@ public partial class EntityData
|
||||
Requirement = RequirementType.Morph
|
||||
})
|
||||
.AddPart(new EntityProductionModel { Alloy = 50, Cooldown = 50, RequiresWorker = false })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 2, RequiresWorker = false, Resource = ResourceType.Ether, Slots = 1,
|
||||
TotalAmount = 100
|
||||
@@ -105,7 +105,7 @@ public partial class EntityData
|
||||
Requirement = RequirementType.Morph
|
||||
})
|
||||
.AddPart(new EntityProductionModel { Alloy = 50, Cooldown = 50, RequiresWorker = false })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 2, RequiresWorker = false, Resource = ResourceType.Ether, Slots = 1,
|
||||
TotalAmount = 100
|
||||
@@ -129,7 +129,7 @@ public partial class EntityData
|
||||
.AddPart(new EntityProductionModel { Alloy = 175, BuildTime = 30, RequiresWorker = true })
|
||||
.AddPart(new EntityVitalityModel
|
||||
{ Health = 300, DefenseLayer = 200, Armor = ArmorType.Heavy, IsStructure = true })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1.5625f,
|
||||
RequiresWorker = false,
|
||||
@@ -423,7 +423,7 @@ public partial class EntityData
|
||||
Health = 2000, DefenseLayer = 400, Defense = DefenseType.Overgrowth, Armor = ArmorType.Heavy,
|
||||
IsStructure = true
|
||||
})
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 2,
|
||||
TotalAmount = 3600
|
||||
@@ -468,7 +468,7 @@ public partial class EntityData
|
||||
Requirement = RequirementType.Morph
|
||||
})
|
||||
.AddPart(new EntityProductionModel { Alloy = 400, BuildTime = 20, RequiresWorker = false })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 2,
|
||||
TotalAmount = 3600
|
||||
@@ -494,7 +494,7 @@ public partial class EntityData
|
||||
.AddPart(new EntityProductionModel { Alloy = 225, BuildTime = 30, RequiresWorker = true })
|
||||
.AddPart(new EntityVitalityModel
|
||||
{ Health = 400, DefenseLayer = 225, Armor = ArmorType.Heavy, IsStructure = true })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1.5625f, RequiresWorker = false, Resource = ResourceType.Ether,
|
||||
Slots = 1, TotalAmount = 1200
|
||||
|
||||
@@ -18,7 +18,7 @@ public partial class EntityData
|
||||
new EntityModel(DataType.IMMORTAL_Atzlan, EntityType.Immortal)
|
||||
.AddPart(new EntityInfoModel { Name = "Atzlan" })
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
|
||||
RequiresWorker = false, Slots = 1, TotalAmount = -1
|
||||
@@ -37,7 +37,7 @@ public partial class EntityData
|
||||
new EntityModel(DataType.IMMORTAL_Mala, EntityType.Immortal)
|
||||
.AddPart(new EntityInfoModel { Name = "Mala" })
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
|
||||
RequiresWorker = false, Slots = 1, TotalAmount = -1
|
||||
@@ -56,7 +56,7 @@ public partial class EntityData
|
||||
new EntityModel(DataType.IMMORTAL_Xol, EntityType.Immortal)
|
||||
.AddPart(new EntityInfoModel { Name = "Xol" })
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
|
||||
RequiresWorker = false, Slots = 1, TotalAmount = -1
|
||||
@@ -77,7 +77,7 @@ public partial class EntityData
|
||||
new EntityModel(DataType.IMMORTAL_Ajari, EntityType.Immortal)
|
||||
.AddPart(new EntityInfoModel { Name = "Ajari" })
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
|
||||
RequiresWorker = false, Slots = 1, TotalAmount = -1
|
||||
@@ -95,7 +95,7 @@ public partial class EntityData
|
||||
new EntityModel(DataType.IMMORTAL_Orzum, EntityType.Immortal)
|
||||
.AddPart(new EntityInfoModel { Name = "Orzum" })
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
Resource = ResourceType.Pyre, HarvestedPerInterval = 1, HarvestDelay = 3,
|
||||
RequiresWorker = false, Slots = 1, TotalAmount = -1
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
using System.Collections.Generic;
|
||||
using Model.Entity.Parts;
|
||||
using Model.Types;
|
||||
|
||||
namespace Model.Entity.Data;
|
||||
|
||||
public partial class EntityData
|
||||
{
|
||||
public static Dictionary<string, EntityModel> GetMapData()
|
||||
{
|
||||
return new Dictionary<string, EntityModel>
|
||||
{
|
||||
// Maps
|
||||
//TODO I don't remember the map details, this data is wrong
|
||||
{
|
||||
DataType.MAP_Naginata,
|
||||
new EntityModel(DataType.MAP_Naginata, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Naginata", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityMapModel
|
||||
{
|
||||
PlayerCount = PlayerCountType.OneVsOne,
|
||||
ResourcePlatforms = [
|
||||
DataType.MAPPLATFORM_Base,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
]
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.MAP_SummerPalace,
|
||||
new EntityModel(DataType.MAP_SummerPalace, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Summer Palace", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityMapModel
|
||||
{
|
||||
PlayerCount = PlayerCountType.OneVsOne,
|
||||
ResourcePlatforms = [
|
||||
DataType.MAPPLATFORM_Base,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
]
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.MAPPLATFORM_Base,
|
||||
new EntityModel(DataType.MAPPLATFORM_Base, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Base Map Platform", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(
|
||||
new EntityMapBasePlatformModel
|
||||
{
|
||||
ConnectedResourceNodes =
|
||||
[
|
||||
DataType.RESOURCENODE_AlloyCitadel,
|
||||
DataType.RESOURCENODE_Alloy,
|
||||
DataType.RESOURCENODE_Ether,
|
||||
DataType.RESOURCENODE_Ether
|
||||
]
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.MAPPLATFORM_Standard,
|
||||
new EntityModel(DataType.MAPPLATFORM_Standard, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Standard Map Platform", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(
|
||||
new EntityMapBasePlatformModel
|
||||
{
|
||||
ConnectedResourceNodes =
|
||||
[
|
||||
DataType.RESOURCENODE_Alloy,
|
||||
DataType.RESOURCENODE_Ether
|
||||
]
|
||||
})
|
||||
},
|
||||
|
||||
{
|
||||
DataType.RESOURCENODE_AlloyBase,
|
||||
new EntityModel(DataType.RESOURCENODE_AlloyBase, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Base Alloy", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityResourceNodeAlloyModel
|
||||
{
|
||||
Resource = ResourceType.Alloy,
|
||||
DefaultAmount = 6000
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.RESOURCENODE_AlloyCitadel,
|
||||
new EntityModel(DataType.RESOURCENODE_AlloyCitadel, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Citadel Alloy", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityResourceNodeAlloyModel
|
||||
{
|
||||
Resource = ResourceType.Alloy,
|
||||
DefaultAmount = 6000
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.RESOURCENODE_Alloy,
|
||||
new EntityModel(DataType.RESOURCENODE_Alloy, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Standard Alloy", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityResourceNodeAlloyModel
|
||||
{
|
||||
Resource = ResourceType.Alloy,
|
||||
DefaultAmount = 3600
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.RESOURCENODE_Ether,
|
||||
new EntityModel(DataType.RESOURCENODE_Ether, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Standard Ether", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityResourceNodeAlloyModel
|
||||
{
|
||||
Resource = ResourceType.Ether,
|
||||
DefaultAmount = 1200
|
||||
})
|
||||
},
|
||||
{
|
||||
DataType.RESOURCENODE_Ether,
|
||||
new EntityModel(DataType.RESOURCENODE_Ether, EntityType.Map)
|
||||
.AddPart(new EntityInfoModel
|
||||
{
|
||||
Name = "Standard Ether", Descriptive = DescriptiveType.Map,
|
||||
Description = ""
|
||||
})
|
||||
.AddPart(new EntityResourceNodeAlloyModel
|
||||
{
|
||||
Resource = ResourceType.Ether,
|
||||
DefaultAmount = 1200
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -258,7 +258,7 @@ public partial class EntityData
|
||||
Notes = "Revives in 40 seconds when destroyed."
|
||||
})
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Neutral })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 6, RequiresWorker = false, Resource = ResourceType.Alloy, Slots = 1,
|
||||
TotalAmount = 6000
|
||||
@@ -298,7 +298,7 @@ public partial class EntityData
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_Aru })
|
||||
.AddPart(new EntityVitalityModel
|
||||
{ Health = 2000, DefenseLayer = 400, Armor = ArmorType.Heavy, IsStructure = true })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 1, RequiresWorker = true, Resource = ResourceType.Alloy, Slots = 6,
|
||||
TotalAmount = 6000
|
||||
@@ -315,7 +315,7 @@ public partial class EntityData
|
||||
.AddPart(new EntityFactionModel { Faction = DataType.FACTION_QRath })
|
||||
.AddPart(new EntityVitalityModel
|
||||
{ Health = 1600, DefenseLayer = 800, Armor = ArmorType.Heavy, IsStructure = true })
|
||||
.AddPart(new EntityHarvestModel
|
||||
.AddPart(new EntityHarvesterModel
|
||||
{
|
||||
HarvestedPerInterval = 6, RequiresWorker = false, Resource = ResourceType.Alloy, Slots = 1,
|
||||
TotalAmount = 6000
|
||||
|
||||
@@ -19,6 +19,11 @@ public static class EntityType
|
||||
public static string Ability = "Ability";
|
||||
public static string Tech = "Tech";
|
||||
public static string Passive = "Passive";
|
||||
public static string Map = "Map";
|
||||
|
||||
|
||||
|
||||
public static string NotApplicable = "NotApplicable";
|
||||
}
|
||||
|
||||
public static class ImmortalSpellType
|
||||
|
||||
@@ -298,4 +298,18 @@ public static class DataType
|
||||
public static string UNIT_Thrum = nameof(UNIT_Thrum);
|
||||
public static string UNIT_Behemoth = "3783004b-65fd-4e4e-bef0-4cf161ea2d2d";
|
||||
public static string SUMMON_Quitl = "d554fb2a-eec5-45fd-bf36-a52d51e615e2";
|
||||
|
||||
|
||||
//TODO I don't remember the maps
|
||||
public static string MAP_Naginata = nameof(MAP_Naginata);
|
||||
public static string MAP_SummerPalace = nameof(MAP_SummerPalace);
|
||||
|
||||
public static string MAPPLATFORM_Base = nameof(MAPPLATFORM_Base);
|
||||
public static string MAPPLATFORM_Standard = nameof(MAPPLATFORM_Standard);
|
||||
|
||||
|
||||
public static string RESOURCENODE_AlloyBase = nameof(RESOURCENODE_AlloyBase);
|
||||
public static string RESOURCENODE_Alloy = nameof(RESOURCENODE_Alloy);
|
||||
public static string RESOURCENODE_AlloyCitadel = nameof(RESOURCENODE_AlloyCitadel);
|
||||
public static string RESOURCENODE_Ether = nameof(RESOURCENODE_Ether);
|
||||
}
|
||||
@@ -21,7 +21,7 @@ public class EntityModel
|
||||
private static Dictionary<string, List<EntityModel>>? _entityModelsByHotkey;
|
||||
|
||||
|
||||
public EntityModel(string data, string entity, bool isSpeculative = false)
|
||||
public EntityModel(string data, string entity = "NotApplicable", bool isSpeculative = false)
|
||||
{
|
||||
DataType = data;
|
||||
EntityType = entity;
|
||||
@@ -255,9 +255,9 @@ public class EntityModel
|
||||
}
|
||||
|
||||
|
||||
public EntityHarvestModel Harvest()
|
||||
public EntityHarvesterModel Harvest()
|
||||
{
|
||||
return (EntityHarvestModel)EntityParts.Find(x => x.GetType() == typeof(EntityHarvestModel))!;
|
||||
return (EntityHarvesterModel)EntityParts.Find(x => x.GetType() == typeof(EntityHarvesterModel))!;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+1
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Model.Entity.Parts;
|
||||
|
||||
public class EntityHarvestModel : IEntityPartInterface
|
||||
public class EntityHarvesterModel : IEntityPartInterface
|
||||
{
|
||||
public string Type { get; set; } = "EntityHarvestModel";
|
||||
public ResourceType Resource { get; set; } = ResourceType.Alloy;
|
||||
@@ -12,7 +12,6 @@ public class EntityHarvestModel : IEntityPartInterface
|
||||
public int TotalAmount { get; set; }
|
||||
public bool RequiresWorker { get; set; }
|
||||
|
||||
|
||||
public bool IsDepleted(float interval, float startedAt)
|
||||
{
|
||||
var lifeTime = interval - startedAt;
|
||||
@@ -0,0 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using Model.Types;
|
||||
|
||||
namespace Model.Entity.Parts;
|
||||
|
||||
public class EntityMapBasePlatformModel : IEntityPartInterface
|
||||
{
|
||||
public string Type { get; set; } = "EntityMapBasePlatformModel";
|
||||
|
||||
public List<string> ConnectedResourceNodes { get; set; } = new();
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Collections.Generic;
|
||||
using Model.Types;
|
||||
|
||||
namespace Model.Entity.Parts;
|
||||
|
||||
public class EntityMapModel : IEntityPartInterface
|
||||
{
|
||||
public string Type { get; set; } = "EntityMapModel";
|
||||
public string PlayerCount { get; set; } = "Two";
|
||||
|
||||
public List<string> ResourcePlatforms { get; set; } = [];
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Model.Types;
|
||||
|
||||
namespace Model.Entity.Parts;
|
||||
|
||||
public class EntityResourceNodeAlloyModel : IEntityPartInterface
|
||||
{
|
||||
public string Type { get; set; } = "EntityResourceNodeAlloyModel";
|
||||
public ResourceType Resource { get; set; } = ResourceType.Alloy;
|
||||
public int DefaultAmount { get; set; }
|
||||
}
|
||||
@@ -24,6 +24,8 @@ public static class DescriptiveType
|
||||
public static string Summon = "Summon";
|
||||
public static string Upgrade = "Upgrade";
|
||||
public static string Ability = "Ability";
|
||||
|
||||
public static string Map = "Map";
|
||||
|
||||
public static string Passive = "Passive";
|
||||
public static string Applies_Debuff = "Applies_Debuff";
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Model.Types;
|
||||
|
||||
public static class PlayerCountType
|
||||
{
|
||||
public static string OneVsOne = "OneVsOne";
|
||||
public static string TwoVsTwo = "TwoVsTwo";
|
||||
}
|
||||
Reference in New Issue
Block a user