1package com.osroyale.game.action.impl;
3import com.osroyale.game.action.Action;
4import com.osroyale.game.action.policy.WalkablePolicy;
5import com.osroyale.game.world.entity.mob.Direction;
6import com.osroyale.game.world.entity.mob.player.Player;
7import com.osroyale.game.world.position.Position;
8import com.osroyale.game.world.object.GameObject;
9import com.osroyale.net.packet.out.SendMessage;
10import com.osroyale.util.MessageColor;
11import com.osroyale.util.Utility;
13import java.util.function.Predicate;
20public final class DoorAction
extends Action<Player> {
24 private final Predicate<Player> condition;
25 private final String message;
29 this(player, door, destination, face,
null,
null);
33 super(player, 1,
true);
36 this.position = destination;
38 this.condition = condition;
39 this.message = message;
44 if (condition !=
null && !condition.test(
getMob())) {
53 if (!
Utility.within(
getMob().getPosition(), door.getPosition(), 1)) {
54 if (!
getMob().movement.isMoving())
55 getMob().walk(door.getPosition());
59 if (
getMob().getCombat().inCombat())
60 getMob().getCombat().reset();
65 }
else if (count == 1) {
Action(T mob, int delay, boolean instant)
WalkablePolicy getWalkablePolicy()
void onCancel(boolean logout)
synchronized final void cancel()