From 8a17c72b4bda1ecbfe02fca71edf40b62c816299 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Wed, 26 Feb 2014 08:32:19 +0100 Subject: [PATCH] Make sure to copy all the important bits of a wave... This system needs refactoring... --- resources/plugin.yml | 2 +- src/com/garbagemule/MobArena/waves/AbstractWave.java | 4 ++++ src/com/garbagemule/MobArena/waves/types/BossWave.java | 6 ++++++ .../garbagemule/MobArena/waves/types/DefaultWave.java | 6 ++++++ .../garbagemule/MobArena/waves/types/SpecialWave.java | 9 ++++++++- src/com/garbagemule/MobArena/waves/types/SupplyWave.java | 6 ++++++ src/com/garbagemule/MobArena/waves/types/SwarmWave.java | 6 ++++++ .../garbagemule/MobArena/waves/types/UpgradeWave.java | 6 ++++++ 8 files changed, 43 insertions(+), 2 deletions(-) diff --git a/resources/plugin.yml b/resources/plugin.yml index 5acd310..80c7f20 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -1,7 +1,7 @@ name: MobArena author: garbagemule main: com.garbagemule.MobArena.MobArena -version: 0.96.2.12 +version: 0.96.2.13 softdepend: [Multiverse-Core,Towny,Heroes,MagicSpells,Vault] commands: ma: diff --git a/src/com/garbagemule/MobArena/waves/AbstractWave.java b/src/com/garbagemule/MobArena/waves/AbstractWave.java index 652bb33..e9fc4b1 100644 --- a/src/com/garbagemule/MobArena/waves/AbstractWave.java +++ b/src/com/garbagemule/MobArena/waves/AbstractWave.java @@ -28,6 +28,10 @@ public abstract class AbstractWave implements Wave public List getSpawnpoints(Arena arena) { return WaveUtils.getValidSpawnpoints(arena, spawnpoints, arena.getPlayersInArena()); } + + protected List getSpawnpoints() { + return spawnpoints; + } @Override public void setSpawnpoints(List spawnpoints) { diff --git a/src/com/garbagemule/MobArena/waves/types/BossWave.java b/src/com/garbagemule/MobArena/waves/types/BossWave.java index 3e91dc7..599e755 100644 --- a/src/com/garbagemule/MobArena/waves/types/BossWave.java +++ b/src/com/garbagemule/MobArena/waves/types/BossWave.java @@ -150,6 +150,12 @@ public class BossWave extends AbstractWave result.flatHealth = this.flatHealth; result.reward = this.reward; result.bossName = this.bossName; + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); return result; } } diff --git a/src/com/garbagemule/MobArena/waves/types/DefaultWave.java b/src/com/garbagemule/MobArena/waves/types/DefaultWave.java index 903d7b2..31ef760 100644 --- a/src/com/garbagemule/MobArena/waves/types/DefaultWave.java +++ b/src/com/garbagemule/MobArena/waves/types/DefaultWave.java @@ -90,6 +90,12 @@ public class DefaultWave extends AbstractWave DefaultWave result = new DefaultWave(monsterMap); result.growth = this.growth; result.fixed = this.fixed; + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); return result; } } diff --git a/src/com/garbagemule/MobArena/waves/types/SpecialWave.java b/src/com/garbagemule/MobArena/waves/types/SpecialWave.java index 234c88c..68931a1 100644 --- a/src/com/garbagemule/MobArena/waves/types/SpecialWave.java +++ b/src/com/garbagemule/MobArena/waves/types/SpecialWave.java @@ -51,6 +51,13 @@ public class SpecialWave extends AbstractWave } public Wave copy() { - return new SpecialWave(monsterMap); + SpecialWave result = new SpecialWave(monsterMap); + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); + return result; } } diff --git a/src/com/garbagemule/MobArena/waves/types/SupplyWave.java b/src/com/garbagemule/MobArena/waves/types/SupplyWave.java index bd603e9..70f6bf9 100644 --- a/src/com/garbagemule/MobArena/waves/types/SupplyWave.java +++ b/src/com/garbagemule/MobArena/waves/types/SupplyWave.java @@ -63,6 +63,12 @@ public class SupplyWave extends AbstractWave public Wave copy() { SupplyWave result = new SupplyWave(monsterMap); result.drops = new ArrayList(this.drops); + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); return result; } } diff --git a/src/com/garbagemule/MobArena/waves/types/SwarmWave.java b/src/com/garbagemule/MobArena/waves/types/SwarmWave.java index 1ce9c96..96b5fa0 100644 --- a/src/com/garbagemule/MobArena/waves/types/SwarmWave.java +++ b/src/com/garbagemule/MobArena/waves/types/SwarmWave.java @@ -42,6 +42,12 @@ public class SwarmWave extends AbstractWave public Wave copy() { SwarmWave result = new SwarmWave(monster); result.amount = this.amount; + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); return result; } } diff --git a/src/com/garbagemule/MobArena/waves/types/UpgradeWave.java b/src/com/garbagemule/MobArena/waves/types/UpgradeWave.java index 0b73446..12550e2 100644 --- a/src/com/garbagemule/MobArena/waves/types/UpgradeWave.java +++ b/src/com/garbagemule/MobArena/waves/types/UpgradeWave.java @@ -52,6 +52,12 @@ public class UpgradeWave extends AbstractWave } UpgradeWave result = new UpgradeWave(upgrades); result.giveAll = this.giveAll; + + // From AbstractWave + result.setAmountMultiplier(getAmountMultiplier()); + result.setHealthMultiplier(getHealthMultiplier()); + result.setName(getName()); + result.setSpawnpoints(getSpawnpoints()); return result; }