Exemple #1
0
 override public void OnMove(GoRogue.FOV playerFov, System.Collections.Generic.IList <Entity> monsters)
 {
     if (this.CurrentShield < KlogborgShield.MaxShield && !monsters.Any(m => playerFov.BooleanFOV[m.X, m.Y] == true))
     {
         this.CurrentShield = KlogborgShield.MaxShield;
     }
 }
Exemple #2
0
 internal void RegenerateShield(GoRogue.FOV playerFov, IList <Entity> monsters)
 {
     this.Shield.OnMove(playerFov, monsters);
     if (!this.Shield.IsDown())
     {
         this.ChangeToShieldColor();
     }
 }
Exemple #3
0
        public void OnMoveResetsShieldToMaxIfNoMonstersInFov()
        {
            // Arrange
            var shield = new KlogborgShield();

            shield.Damage(24);

            var fov = new GoRogue.FOV(new ArrayMap <bool>(10, 10));

            fov.Calculate(5, 5, 5);

            var monsters = new List <Entity>()
            {
                Entity.CreateFromTemplate("Zug", 0, 2), Entity.CreateFromTemplate("Slink", 9, 8)
            };

            // Act
            shield.OnMove(fov, monsters);

            // Assert
            Assert.That(shield.CurrentShield, Is.EqualTo(KlogborgShield.MaxShield));
        }
Exemple #4
0
        public void OnMoveLeavesShieldValueIntactIfMonstersAreInFov()
        {
            // Arrange
            var shield = new KlogborgShield();

            shield.Damage(24);

            var fov = new GoRogue.FOV(new ArrayMap <bool>(10, 10));

            fov.Calculate(5, 5, 5);

            var monsters = new List <Entity>()
            {
                Entity.CreateFromTemplate("Zug", 6, 6)
            };

            // Act
            shield.OnMove(fov, monsters);

            // Assert
            Assert.That(shield.CurrentShield, Is.Not.EqualTo(KlogborgShield.MaxShield));
        }
Exemple #5
0
 public virtual void OnMove(GoRogue.FOV playerFov, IList <Entity> monsters)
 {
     this.CurrentShield += Shield.ShieldRegenPerMove;
     this.CurrentShield  = Math.Min(this.CurrentShield, Shield.MaxShield);
 }
 protected LivingCharacter(MapConsole map, Color foreground, Color background, int glyph) : base(map, foreground, background, glyph)
 {
     FOVSight   = new GoRogue.FOV(map.MapToFOV);
     FOVLighted = new GoRogue.FOV(map.MapToFOV);
 }