diff options
| author | aldrikboy <aldrikboy@gmail.com> | 2018-01-17 14:26:43 +0100 |
|---|---|---|
| committer | aldrikboy <aldrikboy@gmail.com> | 2018-01-17 14:26:43 +0100 |
| commit | af0ba50d00722e1b7330d1f9b1d23bd3b07a5567 (patch) | |
| tree | fbd7f63dc9bdfc4f1019c03b8f6bf7accb2dce7d /Penguloon/Objects | |
| parent | a9daa029db68962603905eded0e29c2a2e2abd91 (diff) | |
upgrades
Diffstat (limited to 'Penguloon/Objects')
| -rw-r--r-- | Penguloon/Objects/CannonObject.cs | 26 | ||||
| -rw-r--r-- | Penguloon/Objects/GoldPenguinObject.cs | 30 | ||||
| -rw-r--r-- | Penguloon/Objects/HealthGeneratorObject.cs | 11 | ||||
| -rw-r--r-- | Penguloon/Objects/KingPenguinObject.cs | 26 | ||||
| -rw-r--r-- | Penguloon/Objects/MortarObject.cs | 26 | ||||
| -rw-r--r-- | Penguloon/Objects/PenguinObject.cs | 24 |
6 files changed, 133 insertions, 10 deletions
diff --git a/Penguloon/Objects/CannonObject.cs b/Penguloon/Objects/CannonObject.cs index 41ed9bf..01afab8 100644 --- a/Penguloon/Objects/CannonObject.cs +++ b/Penguloon/Objects/CannonObject.cs @@ -7,6 +7,8 @@ namespace Penguloon.Objects { class CannonObject : ObjectBase { + int extraPops = 0; + public CannonObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/cannon"); @@ -27,6 +29,28 @@ namespace Penguloon.Objects this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectCannon); } + public override void CreateUpgrades() + { + ObjectUpgrade pop3 = new ObjectUpgrade(650, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(500, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(350, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(650, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(500, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(350, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(650, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(500, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(350, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; + + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); + } + public override void DrawUnique(float deltaTime) { @@ -39,7 +63,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new CannonballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file diff --git a/Penguloon/Objects/GoldPenguinObject.cs b/Penguloon/Objects/GoldPenguinObject.cs index 1b15131..5926559 100644 --- a/Penguloon/Objects/GoldPenguinObject.cs +++ b/Penguloon/Objects/GoldPenguinObject.cs @@ -7,13 +7,15 @@ namespace Penguloon.Objects { public class GoldPenguinObject : ObjectBase { + int extraPops = 0; + public GoldPenguinObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/penguin2"); this.TileSpanX = 1; this.TileSpanY = 1; this.Range = Map.TileWidth * 2.5f; - this.AttackSpeedMS = 500; + this.AttackSpeedMS = 700; this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectGoldPenguin); } @@ -23,10 +25,32 @@ namespace Penguloon.Objects this.TileSpanX = 1; this.TileSpanY = 1; this.Range = Map.TileWidth * 2.5f; - this.AttackSpeedMS = 500; + this.AttackSpeedMS = 700; this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectGoldPenguin); } + public override void CreateUpgrades() + { + ObjectUpgrade pop3 = new ObjectUpgrade(550, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(400, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(250, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(550, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(400, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(250, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(550, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(400, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(250, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; + + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); + } + public override void DrawUnique(float deltaTime) { @@ -39,7 +63,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new SnowballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file diff --git a/Penguloon/Objects/HealthGeneratorObject.cs b/Penguloon/Objects/HealthGeneratorObject.cs index bce4d78..703cb60 100644 --- a/Penguloon/Objects/HealthGeneratorObject.cs +++ b/Penguloon/Objects/HealthGeneratorObject.cs @@ -41,6 +41,17 @@ namespace Penguloon.Objects Font = ContentManager.GetFont(StaticUIValues.IngameFont); } + public override void CreateUpgrades() + { + ObjectUpgrade spd3 = new ObjectUpgrade(1850, UpgradeType.Speed, "+15 health/r", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(1200, UpgradeType.Speed, "+15 health/r", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(850, UpgradeType.Speed, "+15 health/r", spd2, Map.Level); + spd1.OnClick += delegate { HealthToRegenerate += 15; }; spd2.OnClick += delegate { HealthToRegenerate += 15; }; spd3.OnClick += delegate { HealthToRegenerate += 15; }; + + UpgradeList.Add(spd1); + } + + public override void DrawUnique(float deltaTime) { if (DrawText) diff --git a/Penguloon/Objects/KingPenguinObject.cs b/Penguloon/Objects/KingPenguinObject.cs index 721497b..b9cb1b1 100644 --- a/Penguloon/Objects/KingPenguinObject.cs +++ b/Penguloon/Objects/KingPenguinObject.cs @@ -7,6 +7,8 @@ namespace Penguloon.Objects { public class KingPenguinObject : ObjectBase { + int extraPops = 0; + public KingPenguinObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/penguin3"); @@ -27,6 +29,28 @@ namespace Penguloon.Objects this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectKingPenguin); } + public override void CreateUpgrades() + { + ObjectUpgrade pop3 = new ObjectUpgrade(1850, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(1200, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(850, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(1850, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(1200, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(850, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(1850, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(1200, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(850, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; + + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); + } + public override void DrawUnique(float deltaTime) { @@ -39,7 +63,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new SnowballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file diff --git a/Penguloon/Objects/MortarObject.cs b/Penguloon/Objects/MortarObject.cs index c210044..e1d58ca 100644 --- a/Penguloon/Objects/MortarObject.cs +++ b/Penguloon/Objects/MortarObject.cs @@ -7,6 +7,8 @@ namespace Penguloon.Objects { class MortarObject : ObjectBase { + int extraPops = 0; + public MortarObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/mortar"); @@ -29,6 +31,28 @@ namespace Penguloon.Objects this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectMortar); } + public override void CreateUpgrades() + { + ObjectUpgrade pop3 = new ObjectUpgrade(850, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(700, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(550, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(850, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(700, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(550, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(850, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(700, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(550, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; + + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); + } + public override void DrawUnique(float deltaTime) { @@ -41,7 +65,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new CannonballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file diff --git a/Penguloon/Objects/PenguinObject.cs b/Penguloon/Objects/PenguinObject.cs index de48e4c..00aa1da 100644 --- a/Penguloon/Objects/PenguinObject.cs +++ b/Penguloon/Objects/PenguinObject.cs @@ -8,6 +8,8 @@ namespace Penguloon.Objects { class PenguinObject : ObjectBase { + int extraPops = 0; + public PenguinObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/penguin1"); @@ -30,10 +32,24 @@ namespace Penguloon.Objects public override void CreateUpgrades() { - ObjectUpgrade upg = new ObjectUpgrade(12341234, UpgradeType.PopCount, "+2 pop", null, Map.Level); + ObjectUpgrade pop3 = new ObjectUpgrade(450, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(300, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(150, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(450, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(300, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(150, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(450, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(300, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(150, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; - UpgradeList.Add(new ObjectUpgrade(100, UpgradeType.PopCount, "+1 pop", upg, Map.Level)); - UpgradeList.Add(new ObjectUpgrade(100, UpgradeType.Range, "+15 Range", null, Map.Level)); + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); } public override void DrawUnique(float deltaTime) @@ -48,7 +64,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new SnowballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file |
