RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.content.Obelisks Class Reference

Created by Daniel on 2017-11-24. More...

Collaboration diagram for com.runehive.content.Obelisks:

Classes

enum  ObeliskData

Public Member Functions

boolean activate (Player player, int objectId)
boolean activate (Player player, int objectId, ObeliskData destination)
void open (Player player, int obj)

Static Public Member Functions

static Obelisks get ()

Static Package Functions

 [static initializer]

Static Private Attributes

static Obelisks INSTANCE = new Obelisks()
static Map< Integer, Boolean > state = new HashMap<>()

Detailed Description

Created by Daniel on 2017-11-24.

Definition at line 24 of file Obelisks.java.

Member Function Documentation

◆ [static initializer]()

com.runehive.content.Obelisks.[static initializer]
staticpackage

References INSTANCE.

◆ activate() [1/2]

boolean com.runehive.content.Obelisks.activate ( Player player,
int objectId )

Definition at line 51 of file Obelisks.java.

51 {
52 ObeliskData location = ObeliskData.forObject(objectId);
53 return location != null && activate(player, objectId, ObeliskData.getRandom(location));
54 }

References activate(), com.runehive.content.Obelisks.ObeliskData.forObject(), and com.runehive.content.Obelisks.ObeliskData.getRandom().

Referenced by activate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ activate() [2/2]

boolean com.runehive.content.Obelisks.activate ( Player player,
int objectId,
ObeliskData destination )

Definition at line 56 of file Obelisks.java.

56 {
57 ObeliskData location = ObeliskData.forObject(objectId);
58
59 if (location == null)
60 return false;
61
62 boolean active = state.get(objectId);
63
64 if (active) {
65 player.send(new SendMessage("The obelisk is already active, please wait."));
66 return true;
67 }
68
69 state.put(objectId, true);
70 int x = location.getBoundaries().getMinimumX();
71 int y = location.getBoundaries().getMinimumY();
72 GameObject one = World.getRegions().getRegion(player.getPosition()).getGameObject(objectId, new Position(x, y, player.getHeight()));
73 GameObject two = World.getRegions().getRegion(player.getPosition()).getGameObject(objectId, new Position(x + 4, y, player.getHeight()));
74 GameObject three = World.getRegions().getRegion(player.getPosition()).getGameObject(objectId, new Position(x, y + 4, player.getHeight()));
75 GameObject four = World.getRegions().getRegion(player.getPosition()).getGameObject(objectId, new Position(x + 4, y + 4, player.getHeight()));
76 World.schedule(new ObjectReplacementEvent(one, 14825, 15));
77 World.schedule(new ObjectReplacementEvent(two, 14825, 15));
78 World.schedule(new ObjectReplacementEvent(three, 14825, 15));
79 World.schedule(new ObjectReplacementEvent(four, 14825, 15));
80 player.attributes.set("OBELISK", -1);
81
82 World.schedule(new Task(14) {
83 @Override
84 protected void execute() {
85 state.put(location.objectId, false);
86 Boundary boundary = new Boundary(location.boundary.getMinimumX() + 1, location.boundary.getMinimumY() + 1, location.boundary.getMinimumX() + 3, location.boundary.getMinimumY() + 3);
87 List<Player> players = Boundary.getPlayers(boundary);
88
89 if (players.size() > 0) {
90 for (Player p : players) {
91 if (p.isDead())
92 continue;
93 int x = destination.getBoundaries().getMinimumX() + 1;
94 int y = destination.getBoundaries().getMinimumY() + 1;
95 Position position = new Position(x + Utility.random(2), y + Utility.random(2), player.getHeight());
96 Teleportation.activateOverride(p, position, TeleportationData.OBELISK);
97 }
98 }
99 cancel();
100 }
101 });
102 return true;
103 }

References com.runehive.content.skill.impl.magic.teleport.Teleportation.activateOverride(), com.runehive.game.world.entity.mob.Mob.attributes, com.runehive.content.Obelisks.ObeliskData.boundary, com.runehive.content.Obelisks.ObeliskData.forObject(), com.runehive.content.Obelisks.ObeliskData.getBoundaries(), com.runehive.game.world.region.Region.getGameObject(), com.runehive.game.world.entity.Entity.getHeight(), com.runehive.game.world.position.Boundary.getMinimumX(), com.runehive.game.world.position.Boundary.getMinimumY(), com.runehive.game.world.position.Boundary.getPlayers(), com.runehive.game.world.entity.Entity.getPosition(), com.runehive.game.world.region.RegionManager.getRegion(), com.runehive.game.world.World.getRegions(), com.runehive.content.skill.impl.magic.teleport.TeleportationData.OBELISK, com.runehive.content.Obelisks.ObeliskData.objectId, com.runehive.util.Utility.random(), com.runehive.game.world.World.schedule(), com.runehive.game.world.entity.mob.player.Player.send(), com.runehive.util.generic.GenericAttributes.set(), and state.

Here is the call graph for this function:

◆ get()

Obelisks com.runehive.content.Obelisks.get ( )
static

Definition at line 29 of file Obelisks.java.

29 {
30 return INSTANCE;
31 }

◆ open()

void com.runehive.content.Obelisks.open ( Player player,
int obj )

Definition at line 39 of file Obelisks.java.

39 {
40 if (!PlayerRight.isSuper(player)) {
41 player.dialogueFactory.sendStatement("You need to be a super donator to use this feature!").execute();
42 return;
43 }
44 player.attributes.set("OBELISK", obj);
45 InterfaceWriter.write(new ObeliskWriter(player));
46 player.send(new SendString("Wilderness Obelisk", 51002));
47 player.send(new SendString("Click on the obelisk you would like to teleport too", 51003));
48 player.interfaceManager.open(51000);
49 }

References com.runehive.game.world.entity.mob.Mob.attributes, com.runehive.game.world.entity.mob.player.Player.dialogueFactory, com.runehive.content.dialogue.DialogueFactory.execute(), com.runehive.game.world.entity.mob.player.Player.interfaceManager, com.runehive.game.world.entity.mob.player.PlayerRight.isSuper(), com.runehive.game.world.entity.mob.player.InterfaceManager.open(), com.runehive.game.world.entity.mob.player.Player.send(), com.runehive.content.dialogue.DialogueFactory.sendStatement(), com.runehive.util.generic.GenericAttributes.set(), and com.runehive.content.writer.InterfaceWriter.write().

Here is the call graph for this function:

Member Data Documentation

◆ INSTANCE

Obelisks com.runehive.content.Obelisks.INSTANCE = new Obelisks()
staticprivate

Definition at line 27 of file Obelisks.java.

Referenced by [static initializer]().

◆ state

Map<Integer, Boolean> com.runehive.content.Obelisks.state = new HashMap<>()
staticprivate

Definition at line 26 of file Obelisks.java.

Referenced by activate().


The documentation for this class was generated from the following file: