Initial commit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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; } = "";
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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; } = "";
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 { }
|
||||
Reference in New Issue
Block a user