public override void Damage(float damage, float pushTime, Vector2 pushSpeed, BasicShipGameObject Damager, AttackType attackType)
        {
            if (attackType != AttackType.White && HasDamageField && BasicField.TestFieldClear(Position.get()))
            {
                HasDamageField = false;
                DamageBoostField c = new DamageBoostField();
                ParentLevel.AddObject(c);
                c.SetPosition(Position.get());
            }

            base.Damage(damage, pushTime, pushSpeed, Damager, attackType);
        }
Beispiel #2
0
        public override void Destroy()
        {
            if (HasSpeedField && BasicField.TestFieldClear(Position.get()))
            {
                HasSpeedField = false;
                SpeedBoostField s = new SpeedBoostField();
                ParentLevel.AddObject(s);
                s.Position.set(Position.get());
            }

            base.Destroy();
        }
Beispiel #3
0
        public override void Destroy()
        {
            if (HasCloakField && BasicField.TestFieldClear(Position.get()))
            {
                HasCloakField = false;
                CloakingField c = new CloakingField();
                ParentLevel.AddObject(c);
                c.SetPosition(Position.get());
            }

            base.Destroy();
        }
        public override bool Trigger(PlayerShip p)
        {
            if (BasicField.TestFieldClear(p.Position.get()))
            {
                BasicField f = new CloakingField();
                p.ParentLevel.AddObject(f);
                f.Position.set(p.Position.get());
                f.TargetSize *= 1.5f;
                return(true);
            }

            return(false);
        }
Beispiel #5
0
        public override void Damage(float damage, float pushTime, Vector2 pushSpeed, BasicShipGameObject Damager, AttackType attackType)
        {
            if (attackType != AttackType.White && HasSpeedField && BasicField.TestFieldClear(Position.get()))
            {
                HasSpeedField = false;
                SpeedBoostField s = new SpeedBoostField();
                ParentLevel.AddObject(s);
                s.Position.set(Position.get());
            }

            if (attackType != Weakness && attackType != AttackType.Explosion && attackType != AttackType.Melee)
            {
                attackType = Resistence;
            }

            base.Damage(damage, pushTime, pushSpeed, Damager, attackType);
        }