From 5133c16488a31af87b619065e85a66b3cc04eccf Mon Sep 17 00:00:00 2001 From: Chris Kearney <chris@kearneymail.com> Date: Wed, 25 Nov 2015 21:37:15 -0800 Subject: [PATCH] this should do it for not allowing movement while frozen --- .../com/comandante/creeper/command/MovementCommand.java | 9 +++++++++ .../creeper/command/admin/TeleportCommand.java | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/com/comandante/creeper/command/MovementCommand.java b/src/main/java/com/comandante/creeper/command/MovementCommand.java index 0ca09b3c..b0538473 100644 --- a/src/main/java/com/comandante/creeper/command/MovementCommand.java +++ b/src/main/java/com/comandante/creeper/command/MovementCommand.java @@ -3,6 +3,7 @@ package com.comandante.creeper.command; import com.comandante.creeper.managers.GameManager; import com.comandante.creeper.player.CoolDownType; import com.comandante.creeper.player.PlayerMovement; +import com.comandante.creeper.spells.Effect; import com.comandante.creeper.world.RemoteExit; import com.comandante.creeper.world.Room; import com.google.common.base.Optional; @@ -11,6 +12,7 @@ import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.channel.MessageEvent; import java.util.Arrays; +import java.util.Iterator; import java.util.List; public class MovementCommand extends Command { @@ -44,6 +46,13 @@ public class MovementCommand extends Command { write("You are dead and can not move."); return; } + for (String effectId : playerManager.getPlayerMetadata(playerId).getEffects()) { + Effect effect = gameManager.getEntityManager().getEffectEntity(effectId); + if (effect.isFrozenMovement()) { + write("You are frozen and can not move."); + return; + } + } final String command = getRootCommand(e); PlayerMovement playerMovement = null; if (!validTriggers.contains(command.toLowerCase())) { diff --git a/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java b/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java index db5b1118..9666b4f5 100644 --- a/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java +++ b/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java @@ -8,6 +8,7 @@ import com.comandante.creeper.player.Player; import com.comandante.creeper.player.PlayerMovement; import com.comandante.creeper.player.PlayerRole; import com.comandante.creeper.server.Color; +import com.comandante.creeper.spells.Effect; import com.comandante.creeper.world.Room; import com.google.common.collect.Sets; import org.jboss.netty.channel.ChannelHandlerContext; @@ -43,6 +44,13 @@ public class TeleportCommand extends Command { write("You are dead and can not move."); return; } + for (String effectId : playerManager.getPlayerMetadata(playerId).getEffects()) { + Effect effect = gameManager.getEntityManager().getEffectEntity(effectId); + if (effect.isFrozenMovement()) { + write("You are frozen and can not move."); + return; + } + } String desiredId = originalMessageParts.get(1); Iterator<Map.Entry<String, Player>> players = playerManager.getPlayers(); while (players.hasNext()) { -- GitLab