Update health object to have a list of bodyparts

This commit is contained in:
Chomp 2021-12-20 10:47:18 +00:00
parent 8ccacce4b3
commit be995f1613

View File

@ -3,226 +3,225 @@ using System.Collections.Generic;
namespace Common.Models.Output namespace Common.Models.Output
{ {
public class Bot public class Bot
{
public Bot(BotType botType)
{ {
public Bot(BotType botType) this.botType = botType;
{ appearance = new Appearance();
this.botType = botType; experience = new Experience();
appearance = new Appearance(); health = new Health();
experience = new Experience(); skills = new Skills();
health = new Health(); inventory = new Inventory();
skills = new Skills(); firstName = new List<string>();
inventory = new Inventory(); lastName = new List<string>();
firstName = new List<string>(); difficulty = new Difficulty.Difficulty();
lastName = new List<string>(); chances = new Chances();
difficulty = new Difficulty.Difficulty(); generation = new GenerationChances();
chances = new Chances();
generation = new GenerationChances();
}
[JsonIgnore]
public BotType botType { get;set;}
public Appearance appearance { get; set; }
public Experience experience { get; set; }
public Health health { get; set; }
public Skills skills { get; set; }
public Inventory inventory { get; set; }
public List<string> firstName { get; set; }
public List<string> lastName { get; set; }
public Difficulty.Difficulty difficulty { get; set;}
public Chances chances { get; set; }
public GenerationChances generation { get; set; }
}
public class Appearance
{
public Appearance()
{
body = new List<string>();
feet = new List<string>();
hands = new List<string>();
head = new List<string>();
voice = new List<string>();
}
public List<string> body { get; set; }
public List<string> feet { get; set; }
public List<string> hands { get; set; }
public List<string> head { get; set; }
public List<string> voice { get; set; }
} }
public class Experience [JsonIgnore]
{ public BotType botType { get; set; }
public Experience() public Appearance appearance { get; set; }
{ public Experience experience { get; set; }
level = new MinMax(0, 1); public Health health { get; set; }
reward = new MinMax(-1, -1); public Skills skills { get; set; }
standingForKill = -0.02; public Inventory inventory { get; set; }
aggressorBonus = 0.01; public List<string> firstName { get; set; }
} public List<string> lastName { get; set; }
public Difficulty.Difficulty difficulty { get; set; }
public MinMax level { get; set; } public Chances chances { get; set; }
public MinMax reward { get; set; } public GenerationChances generation { get; set; }
public double standingForKill { get; set; } }
public double aggressorBonus { get; set; } public class Appearance
} {
public Appearance()
public class BodyParts {
{ body = new List<string>();
public BodyParts() feet = new List<string>();
{ hands = new List<string>();
Head = new MinMax(35, 35); head = new List<string>();
Chest = new MinMax(85, 85); voice = new List<string>();
Stomach = new MinMax(70, 70); }
LeftArm = new MinMax(60, 60);
RightArm = new MinMax(60, 60); public List<string> body { get; set; }
LeftLeg = new MinMax(65, 65); public List<string> feet { get; set; }
RightLeg = new MinMax(65, 65); public List<string> hands { get; set; }
} public List<string> head { get; set; }
public List<string> voice { get; set; }
public MinMax Head { get; set; } }
public MinMax Chest { get; set; }
public MinMax Stomach { get; set; } public class Experience
public MinMax LeftArm { get; set; } {
public MinMax RightArm { get; set; } public Experience()
public MinMax LeftLeg { get; set; } {
public MinMax RightLeg { get; set; } level = new MinMax(0, 1);
} reward = new MinMax(-1, -1);
standingForKill = -0.02;
public class Health aggressorBonus = 0.01;
{ }
public Health()
{ public MinMax level { get; set; }
Hydration = new MinMax(100, 100); public MinMax reward { get; set; }
Energy = new MinMax(100, 100); public double standingForKill { get; set; }
Temperature = new MinMax(36, 40); public double aggressorBonus { get; set; }
BodyParts = new BodyParts(); }
}
public class BodyParts
public MinMax Hydration { get; set; } {
public MinMax Energy { get; set; } public BodyParts()
public MinMax Temperature { get; set; } {
public BodyParts BodyParts { get; set; } Head = new MinMax(35, 35);
} Chest = new MinMax(85, 85);
Stomach = new MinMax(70, 70);
public class Skills LeftArm = new MinMax(60, 60);
{ RightArm = new MinMax(60, 60);
public Skills() LeftLeg = new MinMax(65, 65);
{ RightLeg = new MinMax(65, 65);
Common = new Dictionary<string, MinMax>(); }
}
public MinMax Head { get; set; }
public Dictionary<string, MinMax> Common { get; set; } public MinMax Chest { get; set; }
} public MinMax Stomach { get; set; }
public MinMax LeftArm { get; set; }
public MinMax RightArm { get; set; }
public class Chances public MinMax LeftLeg { get; set; }
{ public MinMax RightLeg { get; set; }
public Chances() }
{
equipment = new EquipmentChances(); public class Health
} {
public Health()
public EquipmentChances equipment { get; set; } {
public Dictionary<string, int> mods { get; set; } Hydration = new MinMax(100, 100);
} Energy = new MinMax(100, 100);
Temperature = new MinMax(36, 40);
public class EquipmentChances BodyParts = new List<BodyParts>();
{ }
public EquipmentChances()
{ public MinMax Hydration { get; set; }
} public MinMax Energy { get; set; }
public MinMax Temperature { get; set; }
public EquipmentChances(int head, int ear, int faceCover, public List<BodyParts> BodyParts { get; set; }
int vest, int eyewear, int armband, int tacVest, }
int backpack, int firstPrimary, int secondPrimary,
int holster, int scabbard, int pockets, int securedContainer) public class Skills
{ {
Headwear = head; public Skills()
Earpiece = ear; {
FaceCover = faceCover; Common = new Dictionary<string, MinMax>();
ArmorVest = vest; }
ArmBand = armband;
Eyewear = eyewear; public Dictionary<string, MinMax> Common { get; set; }
TacticalVest = tacVest; }
Backpack = backpack;
FirstPrimaryWeapon = firstPrimary; public class Chances
SecondPrimaryWeapon = secondPrimary; {
Holster = holster; public Chances()
Scabbard = scabbard; {
Pockets = pockets; equipment = new EquipmentChances();
SecuredContainer = securedContainer; }
}
public EquipmentChances equipment { get; set; }
public int Headwear { get; set; } public Dictionary<string, int> mods { get; set; }
public int Earpiece { get; set; } }
public int FaceCover { get; set; }
public int ArmorVest { get; set; } public class EquipmentChances
public int Eyewear { get; set; } {
public int ArmBand { get; set; } public EquipmentChances()
public int TacticalVest { get; set; } {
public int Backpack { get; set; } }
public int FirstPrimaryWeapon { get; set; }
public int SecondPrimaryWeapon { get; set; } public EquipmentChances(int head, int ear, int faceCover,
public int Holster { get; set; } int vest, int eyewear, int armband, int tacVest,
public int Scabbard { get; set; } int backpack, int firstPrimary, int secondPrimary,
public int Pockets { get; set; } int holster, int scabbard, int pockets, int securedContainer)
public int SecuredContainer { get; set; } {
} Headwear = head;
Earpiece = ear;
public class GenerationChances FaceCover = faceCover;
{ ArmorVest = vest;
public GenerationChances(int specialMin, int SpecialMax, ArmBand = armband;
int healingMin, int healingMax, Eyewear = eyewear;
int looseLootMin, int looseLootMax, TacticalVest = tacVest;
int magazinesMin, int MagazineMax, Backpack = backpack;
int grenandesMin, int grenadesMax) FirstPrimaryWeapon = firstPrimary;
{ SecondPrimaryWeapon = secondPrimary;
items = new ItemChances Holster = holster;
{ Scabbard = scabbard;
specialItems = new MinMax(specialMin, SpecialMax), Pockets = pockets;
healing = new MinMax(healingMin, healingMax), SecuredContainer = securedContainer;
looseLoot = new MinMax(looseLootMin, looseLootMax), }
magazines = new MinMax(magazinesMin, MagazineMax),
grenades = new MinMax(grenandesMin, grenadesMax) public int Headwear { get; set; }
}; public int Earpiece { get; set; }
} public int FaceCover { get; set; }
public int ArmorVest { get; set; }
public GenerationChances() public int Eyewear { get; set; }
{ public int ArmBand { get; set; }
items = new ItemChances(); public int TacticalVest { get; set; }
} public int Backpack { get; set; }
public int FirstPrimaryWeapon { get; set; }
public ItemChances items { get; set; } public int SecondPrimaryWeapon { get; set; }
} public int Holster { get; set; }
public int Scabbard { get; set; }
public class ItemChances public int Pockets { get; set; }
{ public int SecuredContainer { get; set; }
public ItemChances() }
{
specialItems = new MinMax(0, 1); public class GenerationChances
healing = new MinMax(1, 2); {
looseLoot = new MinMax(0, 3); public GenerationChances(int specialMin, int SpecialMax,
magazines = new MinMax(2, 4); int healingMin, int healingMax,
grenades = new MinMax(0, 5); int looseLootMin, int looseLootMax,
} int magazinesMin, int MagazineMax,
int grenandesMin, int grenadesMax)
public MinMax specialItems { get; set; } {
public MinMax healing { get; set; } items = new ItemChances
public MinMax looseLoot { get; set; } {
public MinMax magazines { get; set; } specialItems = new MinMax(specialMin, SpecialMax),
public MinMax grenades { get; set; } healing = new MinMax(healingMin, healingMax),
} looseLoot = new MinMax(looseLootMin, looseLootMax),
magazines = new MinMax(magazinesMin, MagazineMax),
public class MinMax grenades = new MinMax(grenandesMin, grenadesMax)
{ };
public MinMax(int min, int max) }
{
this.min = min; public GenerationChances()
this.max = max; {
} items = new ItemChances();
}
public int min { get; set; }
public int max { get; set; } public ItemChances items { get; set; }
} }
public class ItemChances
{
public ItemChances()
{
specialItems = new MinMax(0, 1);
healing = new MinMax(1, 2);
looseLoot = new MinMax(0, 3);
magazines = new MinMax(2, 4);
grenades = new MinMax(0, 5);
}
public MinMax specialItems { get; set; }
public MinMax healing { get; set; }
public MinMax looseLoot { get; set; }
public MinMax magazines { get; set; }
public MinMax grenades { get; set; }
}
public class MinMax
{
public MinMax(int min, int max)
{
this.min = min;
this.max = max;
}
public int min { get; set; }
public int max { get; set; }
}
} }