aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java39
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java128
2 files changed, 130 insertions, 37 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java
index 0d79c67d..c2cb430c 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java
@@ -79,43 +79,8 @@ public class CatacombDataProvider implements DungeonSpecificDataProvider {
return new BossfightProcessorScarf();
} else if (floor.equals("F1")) {
return new BossfightProcessorBonzo();
-// } else if (floor.equals("F3")) {
-// GeneralBossfightProcessor bossfightProcessor = new GeneralBossfightProcessor();
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("start")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: I was burdened with terrible news recently...§r")
-// .nextPhase("fight-1").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("fight-1")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: I'll show you real power!§r")
-// .nextPhase("first-defeat").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("first-defeat")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: Oh? You found my Guardians one weakness?§r")
-// .nextPhase("fight-2").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("fight-2")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: This time I'll be your opponent!§r")
-// .nextPhase("second-defeat").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("second-defeat")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: I see. You have forced me to use my ultimate technique.§r")
-// .nextPhase("fight-3").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("fight-3")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: The process is irreversible, but I'll be stronger than a Wither now!§r")
-// .nextPhase("final-defeat").build()
-// );
-// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
-// .phase("final-defeat")
-// .signatureMsg("§r§c[BOSS] The Professor§r§f: What?! My Guardian power is unbeatable!§r").build()
-// );
-// return bossfightProcessor;
+ } else if (floor.equals("F3")) {
+ return new BossfightProcessorProf();
// } else if (floor.equals("F4")) {
// GeneralBossfightProcessor bossfightProcessor = new GeneralBossfightProcessor();
// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder()
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java
new file mode 100644
index 00000000..04e5461f
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java
@@ -0,0 +1,128 @@
+package kr.syeyoung.dungeonsguide.roomprocessor.bossfight;
+
+import kr.syeyoung.dungeonsguide.utils.TextUtils;
+import net.minecraft.entity.item.EntityArmorStand;
+import net.minecraftforge.event.entity.living.LivingEvent;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BossfightProcessorProf extends GeneralBossfightProcessor {
+ public BossfightProcessorProf() {
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("start")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: I was burdened with terrible news recently...§r")
+ .nextPhase("fight-1").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("fight-1")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: I'll show you real power!§r")
+ .nextPhase("first-defeat").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("first-defeat")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: Oh? You found my Guardians one weakness?§r")
+ .nextPhase("fight-2").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("fight-2")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: This time I'll be your opponent!§r")
+ .nextPhase("second-defeat").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("second-defeat")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: I see. You have forced me to use my ultimate technique.§r")
+ .nextPhase("fight-3").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("fight-3")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: The process is irreversible, but I'll be stronger than a Wither now!§r")
+ .nextPhase("final-defeat").build()
+ );
+ addPhase(GeneralBossfightProcessor.PhaseData.builder()
+ .phase("final-defeat")
+ .signatureMsg("§r§c[BOSS] The Professor§r§f: What?! My Guardian power is unbeatable!§r").build()
+ );
+ }
+
+
+/*§6§4§lUndead Archer §e0§c❤
+ §6§4§lUndead Mage §a366k§c❤
+ §6§4§lUndead Priest §e180k§c❤
+ §6§4§lUndead Warrior §e189k§c❤
+ §e﴾ §c§lScarf§r §a1M§c❤ §e﴿*/
+
+ @Override
+ public List<HealthData> getHealths() {
+ List<HealthData> healths = new ArrayList<HealthData>();
+ {
+ long health = 0;
+ if (profStand != null) {
+ String name = TextUtils.stripColor(profStand.getName());
+ 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")));
+ }
+ if (!getCurrentPhase().equals("second-defeat") && !getCurrentPhase().equals("fight-3") && !getCurrentPhase().equals("final-defeat")) {
+ {
+ long health = 0;
+ if (healthyGuard != null) {
+ String name = TextUtils.stripColor(healthyGuard.getName());
+ 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")));
+ }
+ {
+ long health = 0;
+ if (chaosGuard != null) {
+ String name = TextUtils.stripColor(chaosGuard.getName());
+ 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")));
+ }
+ {
+ long health = 0;
+ if (laserGuard != null) {
+ String name = TextUtils.stripColor(laserGuard.getName());
+ 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")));
+ }
+ {
+ long health = 0;
+ if (reinforcedGuard != null) {
+ String name = TextUtils.stripColor(reinforcedGuard.getName());
+ 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")));
+ }
+ }
+ return healths;
+ }
+
+ private EntityArmorStand profStand;
+ private EntityArmorStand laserGuard;
+ private EntityArmorStand chaosGuard;
+ private EntityArmorStand reinforcedGuard;
+ private EntityArmorStand healthyGuard;
+ @Override
+ public void onEntitySpawn(LivingEvent.LivingUpdateEvent updateEvent) {
+ if (updateEvent.entityLiving instanceof EntityArmorStand) {
+ if (updateEvent.entityLiving.getName().startsWith("§e﴾ §c§lThe Professor§r "))
+ profStand = (EntityArmorStand) updateEvent.entityLiving;
+ else if (updateEvent.entityLiving.getName().startsWith("§cHealthy Guardian "))
+ healthyGuard = (EntityArmorStand) updateEvent.entityLiving;
+ else if (updateEvent.entityLiving.getName().startsWith("§cChaos Guardian "))
+ chaosGuard = (EntityArmorStand) updateEvent.entityLiving;
+ else if (updateEvent.entityLiving.getName().startsWith("§cLaser Guardian "))
+ laserGuard = (EntityArmorStand) updateEvent.entityLiving;
+ else if (updateEvent.entityLiving.getName().startsWith("§cReinforced Guardian "))
+ reinforcedGuard = (EntityArmorStand) updateEvent.entityLiving;
+ }
+ }
+}