forked from 2009Scape/Server
Added requirement checks to the teleport tablets
This commit is contained in:
parent
df3fc6c973
commit
fa808accd4
1 changed files with 23 additions and 7 deletions
|
|
@ -11,6 +11,8 @@ import core.game.node.item.Item
|
|||
import core.game.world.map.Location
|
||||
import core.api.hasRequirement;
|
||||
|
||||
import core.cache.def.impl.ItemDefinition;
|
||||
|
||||
class TeleTabsListener : InteractionListener {
|
||||
|
||||
enum class TeleTabs(val item: Int, val location: Location, val exp: Double, val requirementCheck: (Player) -> Boolean = { true }) {
|
||||
|
|
@ -18,23 +20,37 @@ class TeleTabsListener : InteractionListener {
|
|||
player -> hasRequirement(player, "Plague City");
|
||||
}),
|
||||
AIR_ALTAR_TELEPORT(13599, Location.create(2978, 3296, 0), 0.0),
|
||||
ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0),
|
||||
BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0),
|
||||
ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0, {
|
||||
player -> hasRequirement(player, "Lunar Diplomacy");
|
||||
}),
|
||||
BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0, {
|
||||
player -> hasRequirement(player, "Legacy of Seergaze");
|
||||
}),
|
||||
BODY_ALTAR_TELEPORT(13604, Location.create(3055, 3443, 0), 0.0),
|
||||
CAMELOT_TELEPORT(8010, Location.create(2757, 3477, 0), 55.5),
|
||||
CHAOS_ALTAR_TELEPORT(13606, Location.create(3058, 3593, 0), 0.0),
|
||||
COSMIC_ALTAR_TELEPORT(13605, Location.create(2411, 4380, 0), 0.0),
|
||||
DEATH_ALTAR_TELEPORT(13609, Location.create(1863, 4639, 0), 0.0),
|
||||
COSMIC_ALTAR_TELEPORT(13605, Location.create(2411, 4380, 0), 0.0, {
|
||||
player -> hasRequirement(player, "Lost City");
|
||||
}),
|
||||
DEATH_ALTAR_TELEPORT(13609, Location.create(1863, 4639, 0), 0.0, {
|
||||
player -> hasRequirement(player, "Mourning's End Part II");
|
||||
}),
|
||||
EARTH_ALTAR_TELEPORT(13602, Location.create(3304, 3472, 0), 0.0),
|
||||
FALADOR_TELEPORT(8009, Location.create(2966, 3380, 0), 47.0),
|
||||
FIRE_ALTAR_TELEPORT(13603, Location.create(3311, 3252, 0), 0.0),
|
||||
LAW_ALTAR_TELEPORT(13608, Location.create(2857, 3378, 0), 0.0),
|
||||
LAW_ALTAR_TELEPORT(13608, Location.create(2857, 3378, 0), 0.0, {
|
||||
player -> if (!ItemDefinition.canEnterEntrana(player)) (player.sendMessage("The power of Saradomin prevents you from taking armour or weaponry to Entrana.") !is Unit) else true; // ugly way of doing this, but the sendMessage function returns a Unit type, so by using !is Unit it becomes false.
|
||||
}),
|
||||
LUMBRIDGE_TELEPORT(8008, Location.create(3222, 3218, 0), 41.0),
|
||||
MIND_ALTAR_TELEPORT(13600, Location.create(2979, 3510, 0), 0.0),
|
||||
NATURE_ALTAR_TELEPORT(13607, Location.create(2868, 3013, 0), 0.0),
|
||||
TELEKINETIC_GRAB(8022, Location.create(2836, 3285, 0), 0.0),
|
||||
TELEKINETIC_GRAB(8022, Location.create(2836, 3285, 0), 0.0, {
|
||||
player -> hasRequirement(player, "Dragon Slayer");
|
||||
}),
|
||||
VARROCK_TELEPORT(8007, Location.create(3212, 3423, 0), 35.00),
|
||||
WATCH_TOWER_TELEPORT(8012, Location.create(2548, 3114, 0), 68.00),
|
||||
WATCH_TOWER_TELEPORT(8012, Location.create(2548, 3114, 0), 68.00, {
|
||||
player -> hasRequirement(player, "Watchtower");
|
||||
}),
|
||||
WATER_ALTAR_TELEPORT(13601, Location.create(3182, 3162, 0), 0.0);
|
||||
|
||||
companion object {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue