Halloween event changes

This commit is contained in:
Chiss 2013-10-25 21:25:23 +11:00
parent 5563d94111
commit b74b8e3915
9 changed files with 73 additions and 14 deletions

View File

@ -6,6 +6,7 @@ import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerDropItemEvent;
import mineplex.core.common.util.UtilServer;
import mineplex.core.disguise.disguises.DisguiseSkeleton;
import mineplex.hub.gadget.GadgetManager;
import mineplex.hub.gadget.types.ArmorGadget;
@ -18,14 +19,28 @@ public class Halloween2013_Helmet extends ArmorGadget
}
@Override
public void Enable(Player player)
public void Enable(final Player player)
{
this.ApplyArmor(player);
DisguiseSkeleton disguise = new DisguiseSkeleton(player);
disguise.showArmor();
disguise.SetName(player.getName());
disguise.SetCustomNameVisible(true);
disguise.SetSkeletonType(SkeletonType.WITHER);
Manager.Manager.GetDisguise().disguise(disguise);
Manager.Manager.GetPlugin().getServer().getScheduler().scheduleSyncDelayedTask(Manager.Manager.GetPlugin(), new Runnable()
{
public void run()
{
for (Player other : UtilServer.getPlayers())
{
other.hidePlayer(player);
other.showPlayer(player);
}
}
}, 0);
}
@Override

View File

@ -77,11 +77,11 @@ public class ParkourManager extends MiniPlugin
_lavaParkourReturn.setYaw(90);
}
public boolean InParkour(Player player)
public boolean InParkour(LivingEntity ent)
{
for (ParkourData data : _parkour)
{
if (UtilMath.offset(player.getLocation(), data.Location) < data.Distance)
if (UtilMath.offset(ent.getLocation(), data.Location) < data.Distance)
{
return true;
}

View File

@ -125,6 +125,14 @@ public class Mount implements Listener
continue;
}
//Parkour
if (Manager.Manager.GetParkour().InParkour(horse))
{
horse.remove();
activeIterator.remove();
continue;
}
//Move
EntityCreature ec = ((CraftCreature)horse).getHandle();
Navigation nav = ec.getNavigation();
@ -146,6 +154,13 @@ public class Mount implements Listener
public void Enable(Player player)
{
//Parkour
if (Manager.Manager.GetParkour().InParkour(player))
{
UtilPlayer.message(player, F.main("Mount", "You cannot use Mounts near Parkour."));
return;
}
//Remove other mounts
Manager.DeregisterAll(player);

View File

@ -80,11 +80,11 @@ public class Halloween extends SoloGame
_spawns.add(WorldData.GetDataLocs("BLUE"));
_waves = new ArrayList<WaveBase>();
_waves.add(new Wave1(this));
_waves.add(new Wave2(this));
_waves.add(new Wave3(this));
//_waves.add(new Wave1(this));
//_waves.add(new Wave2(this));
//_waves.add(new Wave3(this));
//_waves.add(new Wave4(this));
//_waves.add(new Wave5(this));
_waves.add(new Wave5(this));
//_waves.add(new Wave6(this));
_waves.add(new WaveBoss(this));
_waves.add(new WaveVictory(this));

View File

@ -1,14 +1,20 @@
package nautilus.game.arcade.game.games.halloween.creatures;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.Game;
import net.minecraft.server.v1_6_R3.Entity;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftGhast;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.entity.Ghast;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.util.Vector;
public class MobGhast extends CreatureBase<Ghast>
{
@ -20,7 +26,8 @@ public class MobGhast extends CreatureBase<Ghast>
@Override
public void SpawnCustom(Ghast ent)
{
ent.teleport(new Location(ent.getWorld(), 0, 50, 0));
UtilEnt.Vegetate(ent);
((CraftGhast)GetEntity()).getHandle().a(1f, 1f, 0.02f);
}
@Override
@ -38,10 +45,13 @@ public class MobGhast extends CreatureBase<Ghast>
@Override
public void Update(UpdateEvent event)
{
if (true)
return;
if (event.getType() == UpdateType.TICK)
Move();
if (event.getType() == UpdateType.FASTER)
if (event.getType() == UpdateType.SEC)
Destroy();
}
@ -52,6 +62,13 @@ public class MobGhast extends CreatureBase<Ghast>
private void Move()
{
if (GetTarget() == null)
SetTarget(GetPlayerTarget());
Vector vel = UtilAlg.getTrajectory(GetEntity().getLocation(), GetTarget());
((CraftGhast)GetEntity()).getHandle().i = GetTarget().getX();
((CraftGhast)GetEntity()).getHandle().j = GetTarget().getY();
((CraftGhast)GetEntity()).getHandle().bn = GetTarget().getZ();
}
}

View File

@ -12,6 +12,7 @@ import nautilus.game.arcade.game.Game;
import org.bukkit.Location;
import org.bukkit.entity.Giant;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.util.Vector;
public class MobGiant extends CreatureBase<Giant>
@ -37,6 +38,9 @@ public class MobGiant extends CreatureBase<Giant>
{
if (event.GetDamageeEntity().equals(GetEntity()))
event.SetKnockback(false);
if (event.GetCause() == DamageCause.SUFFOCATION)
event.SetCancelled("Suffocation Cancel");
}
@Override

View File

@ -26,6 +26,7 @@ public class MobZombie extends CreatureBase<Zombie>
public void SpawnCustom(Zombie ent)
{
Move();
Host.Manager.GetCondition().Factory().Speed("Zombie", ent, ent, 99999, 0, false, false, false);
}
@Override
@ -73,11 +74,11 @@ public class MobZombie extends CreatureBase<Zombie>
target.add(UtilAlg.getTrajectory(GetEntity().getLocation(), GetTarget()).multiply(12));
nav.a(target.getX(), target.getY(), target.getZ(), 1.6f);
nav.a(target.getX(), target.getY(), target.getZ(), 1f);
}
else
{
nav.a(GetTarget().getX(), GetTarget().getY(), GetTarget().getZ(), 1.2f);
nav.a(GetTarget().getX(), GetTarget().getY(), GetTarget().getZ(), 1f);
}
}
}

View File

@ -3,6 +3,7 @@ package nautilus.game.arcade.game.games.halloween.waves;
import mineplex.core.common.util.UtilTime;
import nautilus.game.arcade.game.games.halloween.Halloween;
import nautilus.game.arcade.game.games.halloween.creatures.MobCreeper;
import nautilus.game.arcade.game.games.halloween.creatures.MobGhast;
import nautilus.game.arcade.game.games.halloween.creatures.MobGiant;
import nautilus.game.arcade.game.games.halloween.creatures.MobSkeletonArcher;
import nautilus.game.arcade.game.games.halloween.creatures.MobWitch;
@ -22,6 +23,6 @@ public class Wave5 extends WaveBase
return;
if (tick == 0)
Host.AddCreature(new MobWitch(Host, GetSpawn()));
Host.AddCreature(new MobGhast(Host, GetSpawn().clone().add(0, 40, 0)));
}
}

View File

@ -1,6 +1,7 @@
package nautilus.game.arcade.game.games.halloween.waves;
import nautilus.game.arcade.game.games.halloween.Halloween;
import nautilus.game.arcade.game.games.halloween.creatures.MobCreeper;
import nautilus.game.arcade.game.games.halloween.creatures.MobZombie;
import nautilus.game.arcade.game.games.halloween.creatures.PumpkinKing;
@ -23,8 +24,13 @@ public class WaveBoss extends WaveBase
}
if (Host.GetCreatures().size() < 30)
if (tick % 20 == 0)
Host.AddCreature(new MobZombie(Host, Host.GetRandomSpawn()));
{
if (tick % 30 == 0)
if (Math.random() > 0.10)
Host.AddCreature(new MobZombie(Host, Host.GetRandomSpawn()));
else
Host.AddCreature(new MobCreeper(Host, Host.GetRandomSpawn()));
}
}
@Override