aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/MasterModeDataProvider.java11
-rwxr-xr-xmod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/doorfinder/catacombs/impl/NormalModeDataProvider.java8
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorBonzo.java10
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorProf.java14
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorScarf.java15
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/dungeon/roomprocessor/bossfight/BossfightProcessorThorn.java6
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;
}