// Constructor(s) public Rock(Player player, Level level) : base() { this.Texture = TextureManager.rock; this.Position = new Vector2(Globals.Randomizer.Next(400, Globals.ScreenSize.X - 300), -100); this.Direction = (float)Math.Atan2((player.Position - Position).Y, (player.Position - Position).X); level.CombatText("Rock heading towards you! Move!"); }
// Constructor(s) public Rock(Player player, Level level) : base() { this.Texture = TextureManager.rock; this.Position = new Vector2(Globals.Randomizer.Next(400, Globals.ScreenSize.X - 300), -100); this.Direction = (float)Math.Atan2((player.Position - Position).Y, (player.Position - Position).X); level.CombatText("|0,0,0|Rock heading |0,0,255|towards you!|255,0,0| Move!"); }
public static void HitCrit(Ship ship, Level level, Shot shot) { if (Globals.Randomizer.Next(0, 101) < shot.Chance) { ship.TakeDamage(shot.Damage * 2, shot.ShieldPiercing, DamageType.laser); level.CombatText("CRIT!"); } else { ship.TakeDamage(shot.Damage, shot.ShieldPiercing, DamageType.laser); } }
public static void HitEnemyShotDelay(Level level, Shot shot) { if (CollisionTarget(level, shot) != null) { Ship ship = CollisionTarget(level, shot); ship.TakeDamage(shot.Damage, shot.ShieldPiercing, DamageType.laser, false); if (Globals.Randomizer.Next(0, 101) < shot.Chance) { ship.Weapons[Globals.Randomizer.Next(0, ship.Weapons.Count)].Disabled = 120; level.CombatText(ship.GetType().Name + " Weapon Jammed!"); } shot.Dead = true; } }
public static void HitCrit(Level level, Shot shot) { if (CollisionTarget(level, shot) != null) { Ship ship = CollisionTarget(level, shot); if (Globals.Randomizer.Next(0, 101) < shot.Chance) { ship.TakeDamage(shot.Damage * 1.5f, shot.ShieldPiercing, DamageType.laser, false); level.CombatText("CRIT!"); } else { ship.TakeDamage(shot.Damage, shot.ShieldPiercing, DamageType.laser, false); } shot.Dead = true; } }
public void Action(int tilesMatched, TileType tileType, Level level, bool manuallyMatched) { if (tileType == TileType.cog) { Energy.Change(tilesMatched * 5 + (tilesMatched - 3) * 10); SoundManager.match.Play(); } else if (Energy.Value > 10 || !manuallyMatched) { SoundManager.match.Play(); if (manuallyMatched) { Energy.Change(-10); } if (tileType == TileType.shoot && Weapons[SelectedWeapon].Disabled < 0) { KnockBack = 3; Weapons[SelectedWeapon].Method(this, Weapons[SelectedWeapon], tilesMatched, level, false); } if (tileType == TileType.left && ShipLocation != Location.left) { MoveLeft += 20 * tilesMatched; } if (tileType == TileType.right && ShipLocation != Location.right) { MoveRight += 20 * tilesMatched; } if (tileType == TileType.shield && ShipShield.Value != ShipShield.Width) { ShipShield.Change((ShipShield.ShieldHeal / 3) * tilesMatched); } } else { level.CombatText("NOT ENOUGH ENERGY!"); SoundManager.notEnoughEnergy.Play(); } }
public static void HitEnemyShotDelay(Ship ship, Level level, Shot shot) { ship.TakeDamage(shot.Damage, shot.ShieldPiercing, DamageType.laser); if (Globals.Randomizer.Next(0, 101) < shot.Chance) { ship.Weapons[Globals.Randomizer.Next(0, ship.Weapons.Count)].Disabled = 120; level.CombatText(ship.GetType().Name + " Weapon Jammed!"); } }
public void Action(int tilesMatched, TileType tileType, Level level, bool manuallyMatched) { if (tileType == TileType.cog) { Energy.Change(tilesMatched * 5 + (tilesMatched - 3) * 10); } else if (Energy.Value > 10 || !manuallyMatched) { if (manuallyMatched) { Energy.Change(-10); } if (tileType == TileType.shoot && Weapons[SelectedWeapon].Disabled < 0) { Weapons[SelectedWeapon].ShootMethods[Weapons[SelectedWeapon].Action](new Vector2(Position.X, Position.Y - Texture.Height / 2), Direction, tilesMatched, level, false); } if (tileType == TileType.left && ShipLocation != Location.left) { MoveLeft += 20 * tilesMatched; DirectionSpeed = -0.0005f; } if (tileType == TileType.right && ShipLocation != Location.right) { MoveRight += 20 * tilesMatched; DirectionSpeed = 0.0005f; } if (tileType == TileType.shield && ShipShield.Value != ShipShield.Width) { ShipShield.Change(10 * tilesMatched); } } else { level.CombatText("NOT ENOUGH ENERGY!"); } }