/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { using (RNSEB game = new RNSEB()) { game.Run(); } }
public void GrantUpgrade(RNSEB.HenryUpgrade up) { switch(up) { //zihao focused weapons case RNSEB.HenryUpgrade.PlayerPulsePhaser: Zihao.FocusedWeapon = new PulsePhaser(Zihao); ZihaoWepBar.ChangeWeapon(1, Zihao.FocusedWeapon); break; case RNSEB.HenryUpgrade.PlayerQuadLaser: Zihao.FocusedWeapon = new QuadLaser(Zihao); ZihaoWepBar.ChangeWeapon(1, Zihao.FocusedWeapon); break; case RNSEB.HenryUpgrade.PlayerIonBeam: Zihao.FocusedWeapon = new IonBeam(Zihao); ZihaoWepBar.ChangeWeapon(1, Zihao.FocusedWeapon); break; case RNSEB.HenryUpgrade.PlayerShockwave: Zihao.FocusedWeapon = new Shockwave(Zihao); ZihaoWepBar.ChangeWeapon(1, Zihao.FocusedWeapon); break; //zihao diffuse weapons case RNSEB.HenryUpgrade.PlayerTwinRockets: Zihao.DiffuseWeapon = new TwinRockets(Zihao); ZihaoWepBar.AddWeapon(Zihao.DiffuseWeapon); break; case RNSEB.HenryUpgrade.PlayerSeekers: Zihao.DiffuseWeapon = new SeekerMissles(Zihao); ZihaoWepBar.ChangeWeapon(2, Zihao.DiffuseWeapon); break; case RNSEB.HenryUpgrade.PlayerSpiralRockets: Zihao.DiffuseWeapon = new SpiralRockets(Zihao); ZihaoWepBar.ChangeWeapon(2, Zihao.DiffuseWeapon); break; case RNSEB.HenryUpgrade.PlayerEnergyBomb: Zihao.DiffuseWeapon = new EnergyBomb(Zihao); ZihaoWepBar.ChangeWeapon(2, Zihao.DiffuseWeapon); break; case RNSEB.HenryUpgrade.PlayerDrones: Zihao.DiffuseWeapon = new DroneLauncher(Zihao); ZihaoWepBar.ChangeWeapon(2, Zihao.DiffuseWeapon); break; //zihao upgrades case RNSEB.HenryUpgrade.PlayerShieldCapacity1: Zihao.ShieldMax += 2; break; case RNSEB.HenryUpgrade.PlayerShieldRecharge1: Zihao.ShieldRegenRate *= 1.25f; break; case RNSEB.HenryUpgrade.PlayerShieldCapacity2: Zihao.ShieldMax += 4; break; case RNSEB.HenryUpgrade.PlayerShieldRecharge2: Zihao.ShieldRegenRate *= 1.25f; break; case RNSEB.HenryUpgrade.PlayerShieldRecovery: Zihao.ShieldDownTime /= 3.0f; break; //notus focused spawners case RNSEB.HenryUpgrade.BossPhotonTorpedo: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.3f, "PhotonTorpedo", 400)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count-1]); break; case RNSEB.HenryUpgrade.BossPlasmaTorpedo: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "PlasmaTorpedo", 200)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count-1]); break; case RNSEB.HenryUpgrade.BossQuantumMines: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "QuantumMines", 300)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; case RNSEB.HenryUpgrade.BossReplicator: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.1f, "Replicator", 250)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; //notus diffuse spawners case RNSEB.HenryUpgrade.BossRingOfFire: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "RingOfFire", 300)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; case RNSEB.HenryUpgrade.BossHorizontalPlasmaWall: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "HorizontalPlasmaWall", 250)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; case RNSEB.HenryUpgrade.BossVerticalPlasmaWall: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "VerticalPlasmaWall", 250)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; case RNSEB.HenryUpgrade.BossHulk: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.1f, "Hulk", 200)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; case RNSEB.HenryUpgrade.BossMagneto: Notus.LaunchBays.Add(new LaunchBay(Notus, 0.2f, "Magneto", 300)); NotusWepBar.AddWeapon(Notus.LaunchBays[Notus.LaunchBays.Count - 1]); break; //notus upgrades case RNSEB.HenryUpgrade.BossStaticField: Notus.ExtraWeapons.Add(new ArseLightning(Notus)); Notus.StaticField = true; break; case RNSEB.HenryUpgrade.BossKevlar: Notus.DamageReceivedMultiplier = 0.75f; break; case RNSEB.HenryUpgrade.BossNanoregenerativeSubsystems: Notus.Regeneration = true; break; case RNSEB.HenryUpgrade.BossTritaniumBulkheads: Notus.DamageReceivedMultiplier = 0.5f; break; case RNSEB.HenryUpgrade.BossAutoTurrets: Notus.ExtraWeapons.Add(new AutoLaser(Notus)); break; default: //unimplemented upgrade; do nothin' break; } }