summaryrefslogtreecommitdiff
path: root/Penguloon/Objects
diff options
context:
space:
mode:
authoraldrikboy <aldrikboy@gmail.com>2018-01-17 14:26:43 +0100
committeraldrikboy <aldrikboy@gmail.com>2018-01-17 14:26:43 +0100
commitaf0ba50d00722e1b7330d1f9b1d23bd3b07a5567 (patch)
treefbd7f63dc9bdfc4f1019c03b8f6bf7accb2dce7d /Penguloon/Objects
parenta9daa029db68962603905eded0e29c2a2e2abd91 (diff)
upgrades
Diffstat (limited to 'Penguloon/Objects')
-rw-r--r--Penguloon/Objects/CannonObject.cs26
-rw-r--r--Penguloon/Objects/GoldPenguinObject.cs30
-rw-r--r--Penguloon/Objects/HealthGeneratorObject.cs11
-rw-r--r--Penguloon/Objects/KingPenguinObject.cs26
-rw-r--r--Penguloon/Objects/MortarObject.cs26
-rw-r--r--Penguloon/Objects/PenguinObject.cs24
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