The Valkyrie Queen now teleports to you if you try to attack her from somewhere she can't reach for too long.

This commit is contained in:
bconlon 2020-07-12 21:07:42 -07:00
parent 2b6905b5d1
commit e26d2c7af7
2 changed files with 25 additions and 3 deletions

View file

@ -48,7 +48,7 @@ public class EntityValkyrieQueen extends EntityBossMob implements IAetherBoss {
public int angerLevel;
public int timeLeft, timeUntilTeleport, chatTime;
public int timeLeft, timeUntilTeleport, chatTime, timeUntilTeleportToPlayer;
public int dungeonX, dungeonY, dungeonZ;
@ -224,6 +224,16 @@ public class EntityValkyrieQueen extends EntityBossMob implements IAetherBoss {
this.moveStrafing = this.moveForward = 0;
} else {
if (this.getEntityToAttack() instanceof EntityPlayer) {
if (this.getEntityToAttack().posY > this.posY) {
timeUntilTeleportToPlayer++;
if (timeUntilTeleportToPlayer >= 75 && !this.worldObj.isRemote) {
this.teleportToPlayer();
}
} else {
timeUntilTeleportToPlayer = 0;
}
if (this.timeUntilTeleport++ >= 450) {
if (this.onGround && this.rand.nextInt(10) == 0) {
this.makeHomeShot(1, (EntityPlayer) this.getEntityToAttack());
@ -498,6 +508,20 @@ public class EntityValkyrieQueen extends EntityBossMob implements IAetherBoss {
}
}
public void teleportToPlayer() {
if (this.getEntityToAttack() instanceof EntityPlayer) {
this.spawnExplosionParticle();
this.enhancedCombat.resetTask();
this.setPosition(this.getEntityToAttack().posX + 0.5D, this.getEntityToAttack().posY + 0.5D, this.getEntityToAttack().posZ + 0.5D);
this.isJumping = false;
this.renderYawOffset = this.rand.nextFloat() * 360F;
this.timeUntilTeleportToPlayer = 0;
this.motionX = this.motionY = this.motionZ = this.moveForward = this.moveStrafing = this.rotationPitch = this.rotationYaw = 0;
}
}
public boolean isAirySpace(int x, int y, int z) {
Block block = this.worldObj.getBlock(x, y, z);

View file

@ -207,8 +207,6 @@ public class BronzeDungeon extends AetherDungeon {
return true;
}
System.out.println(roomCount);
ArrayList<Integer> sides = new ArrayList<>();
sides.add(1);
sides.add(2);