summaryrefslogtreecommitdiff
path: root/Penguloon/Objects/KingPenguinObject.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Penguloon/Objects/KingPenguinObject.cs')
-rw-r--r--Penguloon/Objects/KingPenguinObject.cs26
1 files changed, 25 insertions, 1 deletions
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