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); }
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(); }
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); }
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); }