diff options
6 files changed, 41 insertions, 23 deletions
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/MasterModeDataProvider.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/MasterModeDataProvider.java index 7cb217ce..73d78f96 100755 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/MasterModeDataProvider.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/MasterModeDataProvider.java @@ -20,8 +20,7 @@ package kr.syeyoung.dungeonsguide.mod.dungeon.doorfinder.catacombs.impl; import kr.syeyoung.dungeonsguide.mod.chat.ChatTransmitter; import kr.syeyoung.dungeonsguide.mod.dungeon.doorfinder.catacombs.CatacombsDataProvider; -import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.BossfightProcessor; -import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.BossfightProcessorLivid; +import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.*; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; @@ -34,6 +33,14 @@ public class MasterModeDataProvider extends CatacombsDataProvider { ChatTransmitter.sendDebugChat(new ChatComponentText("Floor: Master mode " +floor+ " Building boss fight processor")); if (floor.equals("M5")) { return new BossfightProcessorLivid(true); + } else if (floor.equals("M1")) { + return new BossfightProcessorBonzo(true); + } else if (floor.equals("M2")) { + return new BossfightProcessorScarf(true); + } else if (floor.equals("M3")) { + return new BossfightProcessorProf(true); + } else if (floor.equals("M4")) { + return new BossfightProcessorThorn(true); } return null; } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/NormalModeDataProvider.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/NormalModeDataProvider.java index 563239ed..81ab635c 100755 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/NormalModeDataProvider.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/NormalModeDataProvider.java @@ -33,13 +33,13 @@ public class NormalModeDataProvider extends CatacombsDataProvider { ChatTransmitter.sendDebugChat(new ChatComponentText("Floor: " +floor+ " Building boss fight processor")); switch (floor) { case "F1": - return new BossfightProcessorBonzo(); + return new BossfightProcessorBonzo(false); case "F2": - return new BossfightProcessorScarf(); + return new BossfightProcessorScarf(false); case "F3": - return new BossfightProcessorProf(); + return new BossfightProcessorProf(false); case "F4": - return new BossfightProcessorThorn(); + return new BossfightProcessorThorn(false); case "F5": return new BossfightProcessorLivid(false); case "F6": diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorBonzo.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorBonzo.java index 0e32815a..4a17e6d7 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorBonzo.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorBonzo.java @@ -21,14 +21,16 @@ package kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight; import kr.syeyoung.dungeonsguide.mod.utils.TextUtils; +import lombok.AllArgsConstructor; import net.minecraft.entity.item.EntityArmorStand; import net.minecraftforge.event.entity.living.LivingEvent; import java.util.ArrayList; import java.util.List; +@AllArgsConstructor public class BossfightProcessorBonzo extends GeneralBossfightProcessor { - public BossfightProcessorBonzo() { + public BossfightProcessorBonzo(boolean isMasterMode) { addPhase(GeneralBossfightProcessor.PhaseData.builder() .phase("start") .signatureMsg("§r§c[BOSS] Bonzo §r§f: Gratz for making it this far, but I’m basically unbeatable.§r") @@ -54,8 +56,9 @@ public class BossfightProcessorBonzo extends GeneralBossfightProcessor { .phase("final-defeat") .signatureMsg("§r§c[BOSS] Bonzo §r§f: Alright, maybe I'm just weak after all..§r").build() ); + this.isMasterMode = isMasterMode; } - + private boolean isMasterMode; @Override public List<HealthData> getHealths() { @@ -66,7 +69,7 @@ public class BossfightProcessorBonzo extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Bonzo", (int) health,250000 , this.getCurrentPhase().startsWith("fight-"))); + healths.add(new HealthData("Bonzo", (int) health,isMasterMode? 200_000_000: 250000 , this.getCurrentPhase().startsWith("fight-"))); return healths; } @@ -79,6 +82,7 @@ public class BossfightProcessorBonzo extends GeneralBossfightProcessor { @Override // §e﴾ §c§lBonzo§r §e71k§c❤ §e﴿ // §e﴾ §c§lBonzo§r §a250k§c❤ §e﴿ + // Now I'm convinced name format is always the same public void onEntityUpdate(LivingEvent.LivingUpdateEvent updateEvent) { if (updateEvent.entityLiving.getName().startsWith("§e﴾ §c§lBonzo§r ") && updateEvent.entityLiving instanceof EntityArmorStand) { bonzoStand = (EntityArmorStand) updateEvent.entityLiving; diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorProf.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorProf.java index fdf268ed..7800135c 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorProf.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorProf.java @@ -26,7 +26,7 @@ import java.util.ArrayList; import java.util.List; public class BossfightProcessorProf extends GeneralBossfightProcessor { - public BossfightProcessorProf() { + public BossfightProcessorProf(boolean isMasterMode) { addPhase(GeneralBossfightProcessor.PhaseData.builder() .phase("start") .signatureMsg("§r§c[BOSS] The Professor§r§f: I was burdened with terrible news recently...§r") @@ -61,8 +61,10 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { .phase("final-defeat") .signatureMsg("§r§c[BOSS] The Professor§r§f: What?! My Guardian power is unbeatable!§r").build() ); + this.isMasterMode = isMasterMode; } + private boolean isMasterMode; @Override public List<HealthData> getHealths() { List<HealthData> healths = new ArrayList<HealthData>(); @@ -73,7 +75,7 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[3]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("The Professor", (int) health, 3000000, this.getCurrentPhase().startsWith("fight-") && !this.getCurrentPhase().equals("fight-1"))); + healths.add(new HealthData("The Professor", (int) health, isMasterMode ? 600000000 :3000000, this.getCurrentPhase().startsWith("fight-") && !this.getCurrentPhase().equals("fight-1"))); } if (!getCurrentPhase().equals("second-defeat") && !getCurrentPhase().equals("fight-3") && !getCurrentPhase().equals("final-defeat")) { { @@ -83,7 +85,7 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Healthy Guardian", (int) health, 1000000, this.getCurrentPhase().equals("fight-1"))); + healths.add(new HealthData("Healthy Guardian", (int) health, isMasterMode ? 120000000 : 1000000, this.getCurrentPhase().equals("fight-1"))); } { long health = 0; @@ -92,7 +94,7 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Chaos Guardian", (int) health, 1000000, this.getCurrentPhase().equals("fight-1"))); + healths.add(new HealthData("Chaos Guardian", (int) health, isMasterMode ? 120000000 : 1000000, this.getCurrentPhase().equals("fight-1"))); } { long health = 0; @@ -101,7 +103,7 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Laser Guardian", (int) health, 1000000, this.getCurrentPhase().equals("fight-1"))); + healths.add(new HealthData("Laser Guardian", (int) health, isMasterMode ? 120000000 : 1000000, this.getCurrentPhase().equals("fight-1"))); } { long health = 0; @@ -110,7 +112,7 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Reinforced Guardian", (int) health, 1000000, this.getCurrentPhase().equals("fight-1"))); + healths.add(new HealthData("Reinforced Guardian", (int) health, isMasterMode ? 140000000 : 1000000, this.getCurrentPhase().equals("fight-1"))); } } return healths; diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorScarf.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorScarf.java index 5113780e..f94407fc 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorScarf.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorScarf.java @@ -26,7 +26,7 @@ import java.util.ArrayList; import java.util.List; public class BossfightProcessorScarf extends GeneralBossfightProcessor { - public BossfightProcessorScarf() { + public BossfightProcessorScarf(boolean isMasterMode) { addPhase(GeneralBossfightProcessor.PhaseData.builder() .phase("start") .signatureMsg("§r§c[BOSS] Scarf §r§f: This is where the journey ends for you, Adventurers.§r") @@ -51,8 +51,11 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { .phase("final-defeat") .signatureMsg("§r§c[BOSS] Scarf §r§f: Whatever...§r").build() ); + this.isMasterMode = isMasterMode; } + private boolean isMasterMode; + @Override public List<HealthData> getHealths() { List<HealthData> healths = new ArrayList<HealthData>(); @@ -63,7 +66,7 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Scarf", (int) health, 1000000, this.getCurrentPhase().equals("fight-2"))); + healths.add(new HealthData("Scarf", (int) health, isMasterMode ? 375000000 : 1000000, this.getCurrentPhase().equals("fight-2"))); } if (!getCurrentPhase().equals("start") && !getCurrentPhase().equals("final-defeat")) { { @@ -73,7 +76,7 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Undead Priest", (int) health, 600000, this.getCurrentPhase().startsWith("fight-"))); + healths.add(new HealthData("Undead Priest", (int) health, isMasterMode ? 90000000 : 600000, this.getCurrentPhase().startsWith("fight-"))); } { long health = 0; @@ -82,7 +85,7 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Undead Warrior", (int) health, 500000, this.getCurrentPhase().startsWith("fight-"))); + healths.add(new HealthData("Undead Warrior", (int) health, isMasterMode ? 75000000 : 500000, this.getCurrentPhase().startsWith("fight-"))); } { long health = 0; @@ -91,7 +94,7 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Undead Mage", (int) health, 400000, this.getCurrentPhase().startsWith("fight-"))); + healths.add(new HealthData("Undead Mage", (int) health, isMasterMode ? 60000000 : 400000, this.getCurrentPhase().startsWith("fight-"))); } { long health = 0; @@ -100,7 +103,7 @@ public class BossfightProcessorScarf extends GeneralBossfightProcessor { String healthPart = name.split(" ")[2]; health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); } - healths.add(new HealthData("Undead Archer", (int) health, 400000, this.getCurrentPhase().startsWith("fight-"))); + healths.add(new HealthData("Undead Archer", (int) health, isMasterMode ? 60000000 : 400000, this.getCurrentPhase().startsWith("fight-"))); } } return healths; diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorThorn.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorThorn.java index 58574c2d..cca070e7 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorThorn.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorThorn.java @@ -36,11 +36,12 @@ import java.util.Set; public class BossfightProcessorThorn extends GeneralBossfightProcessor { - public BossfightProcessorThorn() { + public BossfightProcessorThorn(boolean isMasterMode) { addPhase(GeneralBossfightProcessor.PhaseData.builder() .phase("fight").build() ); w= DungeonsGuide.getDungeonsGuide().getDungeonFacade().getContext().getWorld(); + this.isMasterMode = isMasterMode; } private final Set<BlockPos> progressBar = new HashSet<BlockPos>(); private final World w; @@ -62,11 +63,12 @@ public class BossfightProcessorThorn extends GeneralBossfightProcessor { } } } + private boolean isMasterMode; @Override public List<HealthData> getHealths() { List<HealthData> healths = new ArrayList<HealthData>(); - healths.add(new HealthData("Thorn", Math.round(BossStatus.healthScale * 4),4, true)); + healths.add(new HealthData("Thorn", Math.round(BossStatus.healthScale * (isMasterMode ? 6 : 4)),isMasterMode ? 6 : 4, true)); return healths; } |