Disable all other magmus abilities while heat room is active, and make the heat room safezone despawn after damage stops occurring

This commit is contained in:
AlexTheCoder 2017-07-14 07:06:42 -04:00
parent 99c2522e92
commit 46768c60ec
6 changed files with 20 additions and 12 deletions

View File

@ -29,7 +29,7 @@ public class HeatingUp extends Cataclysm
@Override
protected void onStart()
{
((MagmusMeteor)Magmus.Abilities.get(2)).Disabled = true;
Magmus.HeatingRoom = true;
_center = Challenge.getRaid().getWorldData().getCustomLocs("C_SIX_C1S").get(0);
for (int x = -1; x <= 1; x++)
{
@ -50,17 +50,14 @@ public class HeatingUp extends Cataclysm
_center.getBlock().getRelative(x, -1, z).setType(Material.STONE);
}
}
if (Magmus.Abilities.size() > 1 && Magmus.Abilities.get(2) instanceof MagmusMeteor)
{
((MagmusMeteor)Magmus.Abilities.get(2)).Disabled = false;
}
Magmus.HeatingRoom = true;
}
@Override
protected void tick()
{
_ticks++;
if (_ticks > (20 * 10))
if (_ticks > (20 * 10) && _ticks <= (20 * 30))
{
for (Player player : Challenge.getRaid().getPlayers())
{
@ -71,7 +68,7 @@ public class HeatingUp extends Cataclysm
}
}
}
if (_ticks > (20 * 30))
if (_ticks > (20 * 33))
{
end();
}

View File

@ -26,6 +26,7 @@ public class Magmus extends RaidCreature<MagmaCube>
protected List<BossPassive<Magmus, MagmaCube>> Abilities = new ArrayList<>();
protected boolean TeleportBackASAP = true;
protected boolean HeatingRoom = false;
public Magmus(ChallengeSix challenge, Location location)
{

View File

@ -40,6 +40,10 @@ public class MagmusCataclysm extends BossPassive<Magmus, MagmaCube>
@Override
public void tick()
{
if (getBoss().HeatingRoom)
{
return;
}
if (UtilTime.elapsed(_lastUse, getCooldown() * 1000))
{
_lastUse = System.currentTimeMillis();

View File

@ -39,7 +39,7 @@ public class MagmusEat extends BossPassive<Magmus, MagmaCube>
private void eat()
{
if (_ticks < 20 * 10)
if (_ticks < 20 * 10 && !getBoss().HeatingRoom)
{
_eating.setFireTicks(40);
_eating.teleport(getEntity());
@ -73,6 +73,10 @@ public class MagmusEat extends BossPassive<Magmus, MagmaCube>
@Override
public void tick()
{
if (getBoss().HeatingRoom)
{
return;
}
if (_eating != null)
{
eat();

View File

@ -28,8 +28,6 @@ public class MagmusMeteor extends BossPassive<Magmus, MagmaCube>
private long _lastUse;
private List<LargeFireball> _shot = new ArrayList<>();
protected boolean Disabled = false;
public MagmusMeteor(Magmus creature)
{
super(creature);
@ -38,7 +36,7 @@ public class MagmusMeteor extends BossPassive<Magmus, MagmaCube>
private void newBall()
{
if (Disabled)
if (getBoss().HeatingRoom)
{
return;
}
@ -72,7 +70,7 @@ public class MagmusMeteor extends BossPassive<Magmus, MagmaCube>
@Override
public void tick()
{
if (Disabled)
if (getBoss().HeatingRoom)
{
return;
}

View File

@ -62,6 +62,10 @@ public class MagmusSmash extends BossPassive<Magmus, MagmaCube>
@Override
public void tick()
{
if (getBoss().HeatingRoom)
{
return;
}
if (UtilTime.elapsed(_lastUse, getCooldown() * 1000))
{
_lastUse = System.currentTimeMillis();