diff --git a/scripts/commands/generic/cmdTip.py b/scripts/commands/generic/cmdTip.py index 8527a531a..25353f4bc 100644 --- a/scripts/commands/generic/cmdTip.py +++ b/scripts/commands/generic/cmdTip.py @@ -1,5 +1,4 @@ import sys def execute(objManager, player, target, args): - player.getPlayerObject().setExperience("entertainer", 13) return \ No newline at end of file diff --git a/scripts/commands/generic/setWaypointActiveStatus.py b/scripts/commands/generic/setWaypointActiveStatus.py new file mode 100644 index 000000000..b25d0d2b0 --- /dev/null +++ b/scripts/commands/generic/setWaypointActiveStatus.py @@ -0,0 +1,18 @@ +import sys + +def execute(objManager, player, target, args): + ghost = player.getPlayerObject() + if ghost is None: + return + + waypoint = ghost.getWaypoint(target.getObjectId()) + if waypoint is None: + return + + if waypoint.isActive(): + waypoint.setActive(False) + else: + waypoint.setActive(True) + + ghost.updateWaypoint(waypoint) + return \ No newline at end of file diff --git a/scripts/commands/generic/setWaypointName.py b/scripts/commands/generic/setWaypointName.py new file mode 100644 index 000000000..59b54d9b4 --- /dev/null +++ b/scripts/commands/generic/setWaypointName.py @@ -0,0 +1,14 @@ +import sys + +def execute(objManager, player, target, args): + ghost = player.getPlayerObject() + if ghost is None: + return + + waypoint = ghost.getWaypoint(target.getObjectId()) + if waypoint is None: + return + + waypoint.setName(args) + ghost.updateWaypoint(waypoint) + return \ No newline at end of file diff --git a/src/resources/objects/player/PlayerObject.java b/src/resources/objects/player/PlayerObject.java index 37c25213a..49c155fd1 100644 --- a/src/resources/objects/player/PlayerObject.java +++ b/src/resources/objects/player/PlayerObject.java @@ -42,6 +42,25 @@ public class PlayerObject extends IntangibleObject { } } + public WaypointObject getWaypoint(long objId) { + synchronized(waypoints) { + return waypoints.get(objId); + } + } + + public void updateWaypoint(WaypointObject obj) { + synchronized(waypoints) { + waypoints.update(obj.getObjectId(), this); + } + } + + public void removeWaypoint(long objId) { + synchronized(waypoints) { + waypoints.remove(objId); + waypoints.sendDeltaMessage(this); + } + } + public void setExperience(String type, int value) { experience.put(type, value); experience.sendDeltaMessage(this);