Initial commit

This commit is contained in:
2022-03-28 18:44:08 -04:00
commit e43d9a90e7
267 changed files with 17049 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityFactionModel : IEntityPartInterface {
public string Type { get; set; } = "EntityFactionModel";
public string Faction { get; set; } = FactionType.QRath;
}
+13
View File
@@ -0,0 +1,13 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityHarvestModel : IEntityPartInterface {
public string Type { get; set; } = "EntityHarvestModel";
public ResourceType Resource { get; set; } = ResourceType.Alloy;
public float Slots { get; set; }
public float HarvestedPerInterval { get; set; }
public float HarvestDelay { get; set; } = 1;
public int TotalAmount { get; set; }
public bool RequiresWorker { get; set; }
}
+38
View File
@@ -0,0 +1,38 @@
using System.Collections.Generic;
namespace Model.Immortal.Entity.Parts;
public class EntityHotkeyModel : IEntityPartInterface {
public string Type { get; set; } = "EntityHotkeyModel";
public string Hotkey { get; set; }
public bool HoldSpace { get; set; } = false;
public string HotkeyGroup { get; set; }
public bool IsSelectedHotkey(List<string> keys) {
return keys.Contains(Hotkey.ToUpper());
}
public bool IsSelectedHotkeyGroup(List<string> keys) {
return keys.Contains(HotkeyGroup.ToUpper());
}
public bool IsSelectedHoldSpace(List<string> keys) {
return (keys.Contains("SPACE") || keys.Contains(" ")) == HoldSpace;
}
public bool IsSelectedHotkeyGroupWithSpace(List<string> keys) {
var foundKey = false;
var foundHold = false;
foreach (var key in keys) {
if (key.ToUpper().Equals(HotkeyGroup.ToUpper())) foundKey = true;
if (key.ToUpper().Equals("SPACE") || key.ToUpper().Equals(" ")) foundHold = true;
}
if (foundKey && foundHold == HoldSpace) return true;
return false;
}
}
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdAbilityModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdAbilityModel";
public string Id { get; set; }
}
+6
View File
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdArmyModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdArmyModel";
public string Id { get; set; }
}
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdPassiveModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdPassiveModel";
public string Id { get; set; }
}
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdPyreSpellModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdPyreSpellModel";
public string Id { get; set; }
}
@@ -0,0 +1,7 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdUpgradeModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdUpgradeModel";
public string Id { get; set; }
}
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityIdVanguardModel : IEntityPartInterface {
public string Type { get; set; } = "EntityIdVanguardModel";
public string Id { get; set; }
}
+11
View File
@@ -0,0 +1,11 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityInfoModel : IEntityPartInterface {
public string Type { get; set; } = "EntityInfoModel";
public string Name { get; set; } = "";
public string Descriptive { get; set; } = DescriptiveType.None;
public string Description { get; set; } = "";
public string Notes { get; set; }
}
@@ -0,0 +1,7 @@
namespace Model.Immortal.Entity.Parts;
public class EntityMechanicModel : IEntityPartInterface {
public string Type { get; set; } = "EntityMechanicModel";
public string Name { get; set; } = "";
public string Description { get; set; }
}
@@ -0,0 +1,9 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityMovementModel : IEntityPartInterface {
public string Type { get; set; } = "EntityMovementModel";
public float Speed { get; set; } = 0;
public string Movement { get; set; } = MovementType.Ground;
}
+7
View File
@@ -0,0 +1,7 @@
namespace Model.Immortal.Entity.Parts;
public class EntityPassiveModel : IEntityPartInterface {
public string Type { get; set; } = "EntityPassiveModel";
public string Name { get; set; } = "";
public string Description { get; set; }
}
@@ -0,0 +1,19 @@
namespace Model.Immortal.Entity.Parts;
public class EntityProductionModel : IEntityPartInterface {
public string Type { get; set; } = "EntityProductionModel";
public int Alloy { get; set; } = 0;
public int Ether { get; set; } = 0;
public int Pyre { get; set; } = 0;
public int Energy { get; set; } = 0;
public int BuildTime { get; set; } = 0;
// Remove cooldown as a cost, and move into ability stats
public int Cooldown { get; set; } = 0;
public bool RequiresWorker { get; set; } = false;
public bool ConsumesWorker { get; set; } = false;
}
@@ -0,0 +1,9 @@
namespace Model.Immortal.Entity.Parts;
public class EntityPyreRewardModel : IEntityPartInterface {
public string Type { get; set; } = "EntityPyreRewardModel";
public int BaseReward { get; set; } = 0;
public float OverTimeReward { get; set; } = 0;
public int OverTimeRewardDuration { get; set; } = 0;
}
@@ -0,0 +1,10 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityRequirementModel : IEntityPartInterface {
public string Type { get; set; } = "EntityRequirementModel";
public string Name { get; set; } = "";
public string DataType { get; set; }
public string Requirement { get; set; } = RequirementType.Production_Building;
}
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityStrategyModel : IEntityPartInterface {
public string Type { get; set; } = "EntityStrategyModel";
public string Notes { get; set; } = "";
}
+7
View File
@@ -0,0 +1,7 @@
namespace Model.Immortal.Entity.Parts;
public class EntitySupplyModel : IEntityPartInterface {
public string Type { get; set; } = "EntitySupplyModel";
public int Takes { get; set; } = 0;
public int Grants { get; set; } = 0;
}
+6
View File
@@ -0,0 +1,6 @@
namespace Model.Immortal.Entity.Parts;
public class EntityTierModel : IEntityPartInterface {
public string Type { get; set; } = "EntityTierModel";
public float Tier { get; set; }
}
@@ -0,0 +1,9 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityVanguardAddedModel : IEntityPartInterface {
public string Type { get; set; } = "EntityVanguardAddedModel";
public string Immortal { get; set; } = ImmortalType.Ajari;
public string Replaces { get; set; } = "";
}
@@ -0,0 +1,9 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityVanguardReplacedModel : IEntityPartInterface {
public string Type { get; set; } = "EntityVanguardReplacedModel";
public string Immortal { get; set; } = ImmortalType.Ajari;
public string ReplacedBy { get; set; } = "";
}
+15
View File
@@ -0,0 +1,15 @@
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityVitalityModel : IEntityPartInterface {
public string Type { get; set; } = "EntityVitalityModel";
public int Health { get; set; } = 0;
public int DefenseLayer { get; set; } = 0;
public string Defense { get; set; } = DefenseType.None;
public string Armor { get; set; } = ArmorType.Light;
public bool IsEtheric { get; set; } = false;
public bool IsStructure { get; set; } = false;
public int Energy { get; set; } = 0;
}
+29
View File
@@ -0,0 +1,29 @@
using System;
using Model.Immortal.Types;
namespace Model.Immortal.Entity.Parts;
public class EntityWeaponModel : IEntityPartInterface {
public int Id { get; set; } = 1;
public int EntityModelId { get; set; }
public virtual EntityModel EntityModel { get; set; }
public int Range { get; set; } = 40;
public float AttacksPerSecond { get; set; } = 0;
public float SecondsBetweenAttacks { get; set; } = 0;
public int Damage { get; set; } = 0;
public bool HasSplash { get; set; }
public int LightDamage { get; set; } = 0;
public int MediumDamage { get; set; } = 0;
public int HeavyDamage { get; set; } = 0;
public int StructureDamageBonus { get; set; } = 0;
public int EthericDamageBonus { get; set; } = 0;
public string Targets { get; set; } = TargetType.All;
}
@@ -0,0 +1,3 @@
namespace Model.Immortal.Entity.Parts;
public interface IEntityPartInterface { }