public AICharacter( string name, int currentPf, int maximumPf, int hunger, AI intelligence, int perceptionDistance, AI.SensingMethod sensingMethod = null, Stats? stats = null, Armor wornArmor = null, Shield embracedShield = null, Weapon handledWeapon = null, Backpack backpack = null, God god = null, bool unblockable = false, string symbol = "C", Color? color = null, string description = "A creature of the world", Coord position = new Coord(), Allied hostile = Allied.Enemy) : base( name, currentPf, maximumPf, hunger, stats == null ? new Stats(StatsBuilder.RandomStats()) : (Stats)stats, wornArmor, embracedShield, handledWeapon, backpack == null ? new Backpack() : backpack, god, unblockable, symbol, color == null ? (hostile == Allied.Enemy ? Color.Red : Color.Green) : (Color)color, description, position) { this.intelligence = intelligence; this.SensePg = sensingMethod == null ? AI.SensingAlgorythms.AllAround : sensingMethod; this.intelligence.ControlledCharacter = this; this.PerceptionDistance = perceptionDistance; this.AlliedTo = hostile; }
public void RemoveArmor() { RemoveCurrent(); wornArmor = null; CharacterSheets.ForEach((sheet) => sheet.NotifyArmor(WornArmor)); }