From d69c05db1f3c9eeaf9f43aa8a40db585ec0951c6 Mon Sep 17 00:00:00 2001 From: Talon Date: Mon, 19 Apr 2021 23:37:40 +0200 Subject: [PATCH] Take and replenish health and ammo --- .vs/EvilSatellites/v16/.suo | Bin 106496 -> 105472 bytes EvilSatellites/Objects/Debris.cs | 2 ++ EvilSatellites/Objects/Player.cs | 14 +++++++++++++ EvilSatellites/Screens/GameScreen.cs | 11 +++++++++- EvilSatellites/Weapons/LaserMG.cs | 20 +++++++++++++++---- EvilSatellites/sfx/weapons/LaserMG/empty.wav | 3 +++ alarmAltitude.wav | 3 +++ 7 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 EvilSatellites/sfx/weapons/LaserMG/empty.wav create mode 100644 alarmAltitude.wav diff --git a/.vs/EvilSatellites/v16/.suo b/.vs/EvilSatellites/v16/.suo index c07cd40d5c55c687bf073aae27af03b0b64f7d0c..21c6bbf050a6b4129e0de142842d698e6c07a311 100644 GIT binary patch delta 3004 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 0) @@ -201,6 +205,16 @@ namespace EvilSatellites.Objects Screen.Manager.Sound.PlayOneshot(dmgSound); } + public void IncreaseHealth(float amount) + { + Health += amount; + if (Health > 25 && IsDamaged) + { + IsDamaged = false; + sfxDamage.Pause(); + } + } + public void PlayTap() { sfxTaps.Play(); diff --git a/EvilSatellites/Screens/GameScreen.cs b/EvilSatellites/Screens/GameScreen.cs index 54cec5a..32f2f8f 100644 --- a/EvilSatellites/Screens/GameScreen.cs +++ b/EvilSatellites/Screens/GameScreen.cs @@ -179,7 +179,16 @@ namespace EvilSatellites.Screens Tolk.Output("Satellites"); } } - + if (Input.IsJustPressed(Keys.H)) + { + _player.PlayTap(); + Tolk.Output(_player.Health.ToString() + " health", true); + } + if (Input.IsJustPressed(Keys.X)) + { + _player.PlayTap(); + Tolk.Output(_player.CurrentWeapon.RemainingAmmo.ToString() + " rounds", true); + } if (Input.IsJustPressed(Keys.O)) { DavyKager.Tolk.Output(Objects.Count.ToString()); diff --git a/EvilSatellites/Weapons/LaserMG.cs b/EvilSatellites/Weapons/LaserMG.cs index 48a63ee..0501b6b 100644 --- a/EvilSatellites/Weapons/LaserMG.cs +++ b/EvilSatellites/Weapons/LaserMG.cs @@ -17,6 +17,7 @@ namespace EvilSatellites.Weapons public ISoundEffect sfxSpindown; public ISoundEffect sfxSpinup; public ISoundEffect sfxSpinning; + public ISoundEffect sfxEmpty; public GameScreen Screen; public LaserMG(IGameObject wielder, GameScreen screen) { @@ -37,6 +38,8 @@ namespace EvilSatellites.Weapons sfxSpinning = Screen.Manager.Sound.Load(@"sfx/weapons/LaserMG/spinning.wav", false); sfxSpinning.Loop = true; sfxShoot = new AudioAsset(Screen.Manager.Sound, @"sfx/weapons/LaserMG/fire", 1, 4); + sfxEmpty = Screen.Manager.Sound.Load(@"sfx/weapons/LaserMG/empty.wav", false); + sfxEmpty.ConnectToEffect(Screen.Manager.EnvironmentEffect); sfxReload.ConnectToEffect(Screen.Manager.EnvironmentEffect); sfxShoot.AddEffect(Screen.Manager.EnvironmentEffect); sfxSpindown.ConnectToEffect(Screen.Manager.EnvironmentEffect); @@ -84,10 +87,19 @@ namespace EvilSatellites.Weapons { if (TimerEnd - TimerStart > FireRate) { - sfxShoot.Play(); - TimerStart = TimerEnd; - Projectile proj = new Projectile(Screen, _wielder.Position, _wielder.Rotation, _wielder); - Screen.AddObject(proj); + if (RemainingAmmo > 0) + { + sfxShoot.Play(); + RemainingAmmo--; + TimerStart = TimerEnd; + Projectile proj = new Projectile(Screen, _wielder.Position, _wielder.Rotation, _wielder); + Screen.AddObject(proj); + } else + { + sfxEmpty.Reset(); + sfxEmpty.Play(); + TimerStart = TimerEnd; + } } } if (State == WeaponState.Stopping) diff --git a/EvilSatellites/sfx/weapons/LaserMG/empty.wav b/EvilSatellites/sfx/weapons/LaserMG/empty.wav new file mode 100644 index 0000000..199c8ac --- /dev/null +++ b/EvilSatellites/sfx/weapons/LaserMG/empty.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f8abd1efdf4645a55976cea45a1537b59bf312d27729442e2b1c52106777de4 +size 103016 diff --git a/alarmAltitude.wav b/alarmAltitude.wav new file mode 100644 index 0000000..199c8ac --- /dev/null +++ b/alarmAltitude.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f8abd1efdf4645a55976cea45a1537b59bf312d27729442e2b1c52106777de4 +size 103016