예제 #1
0
 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;
 }
예제 #2
0
 public void RemoveArmor()
 {
     RemoveCurrent();
     wornArmor = null;
     CharacterSheets.ForEach((sheet) => sheet.NotifyArmor(WornArmor));
 }