diff --git a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2
index 81c69e1..a2e6059 100644
Binary files a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 and b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/.vs/EvilSatellites/v16/.suo b/.vs/EvilSatellites/v16/.suo
index 6aca985..9634a6a 100644
Binary files a/.vs/EvilSatellites/v16/.suo and b/.vs/EvilSatellites/v16/.suo differ
diff --git a/EvilSatellites/EvilSatellites.csproj b/EvilSatellites/EvilSatellites.csproj
index 57592a4..ed8a200 100644
--- a/EvilSatellites/EvilSatellites.csproj
+++ b/EvilSatellites/EvilSatellites.csproj
@@ -9,6 +9,9 @@
app.manifest
Icon.ico
+
+ d:\EvilSatellites\
+
diff --git a/EvilSatellites/Objects/Debris.cs b/EvilSatellites/Objects/Debris.cs
index 95e690f..2b227e2 100644
--- a/EvilSatellites/Objects/Debris.cs
+++ b/EvilSatellites/Objects/Debris.cs
@@ -56,7 +56,7 @@ namespace EvilSatellites.Objects
var player = (Player)obj;
if (player.Vacuuming)
{
- player.CurrentWeapon.RemainingAmmo += rnd.Next(player.CurrentWeapon.MaxAmmo);
+ player.CurrentWeapon.Reload(rnd.Next(player.CurrentWeapon.MaxAmmo));
Destroy();
return;
}
diff --git a/EvilSatellites/Objects/Player.cs b/EvilSatellites/Objects/Player.cs
index f547923..10939f0 100644
--- a/EvilSatellites/Objects/Player.cs
+++ b/EvilSatellites/Objects/Player.cs
@@ -203,6 +203,13 @@ namespace EvilSatellites.Objects
}
dmgSound += "/int/" + (rnd.Next(2)+1).ToString()+".wav";
Screen.Manager.Sound.PlayOneshot(dmgSound);
+ if (Health < 1)
+ {
+ Destroy();
+ Screen.Manager.Sound.PlayOneshot(@"sfx/physics/crashes/1.wav");
+ System.Threading.Thread.Sleep(2000);
+ Environment.Exit(0);
+ }
}
public void IncreaseHealth(float amount)
diff --git a/EvilSatellites/Weapons/AbstractWeapon.cs b/EvilSatellites/Weapons/AbstractWeapon.cs
index 70117de..b7fec3f 100644
--- a/EvilSatellites/Weapons/AbstractWeapon.cs
+++ b/EvilSatellites/Weapons/AbstractWeapon.cs
@@ -16,7 +16,7 @@ namespace EvilSatellites.Weapons
Stopping
}
- public class AbstractWeapon : IWeapon
+ public abstract class AbstractWeapon : IWeapon
{
public IGameObject _wielder;
public float FireRate { get; set; }
@@ -29,6 +29,6 @@ namespace EvilSatellites.Weapons
public virtual void Reload() { }
public virtual void Stop() { }
public virtual void Update(GameTime time) { }
-
+ public abstract void Reload(int amount);
}
}
diff --git a/EvilSatellites/Weapons/IWeapon.cs b/EvilSatellites/Weapons/IWeapon.cs
index cc7cf10..df68099 100644
--- a/EvilSatellites/Weapons/IWeapon.cs
+++ b/EvilSatellites/Weapons/IWeapon.cs
@@ -11,7 +11,7 @@ namespace EvilSatellites.Weapons
public interface IWeapon
{
void Shoot(GameTime time);
- void Reload();
+ void Reload(int amount);
void Stop();
void Update(GameTime time);
float FireRate { get; set; }
diff --git a/EvilSatellites/Weapons/LaserMG.cs b/EvilSatellites/Weapons/LaserMG.cs
index 0501b6b..0466e66 100644
--- a/EvilSatellites/Weapons/LaserMG.cs
+++ b/EvilSatellites/Weapons/LaserMG.cs
@@ -113,5 +113,11 @@ namespace EvilSatellites.Weapons
base.Update(time);
}
+ public override void Reload(int amount)
+ {
+ RemainingAmmo += amount;
+ sfxReload.Reset();
+ sfxReload.Play();
+ }
}
}