Implemented Tolna Rift

Improved ::npcanim admin command
This commit is contained in:
Oven Bread
2023-11-02 08:26:27 +00:00
committed by Ryan
parent 7d1a16f7f7
commit 70a47aeb5d
4 changed files with 150 additions and 26 deletions
@@ -0,0 +1,26 @@
package content.region.misthalin.quest.asoulsbane
import core.api.*
import core.game.interaction.InteractionListener
import core.game.world.map.Location
import org.rs09.consts.Scenery
// Temporary access since the monsters in there drop nothing.
class ASoulsBaneListener : InteractionListener {
companion object {
private val RIFT_IDS = intArrayOf(13967, 13968, 13969, 13970, 13971, 13972, 13973, 13974, 13975, 13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983, 13984, 13985, 13986, 13987, 13988, 13989, 13990, 13991, 13992, 13993)
}
override fun defineListeners() {
on(RIFT_IDS, SCENERY, "enter") { player, _ ->
if (hasRequirement(player, "A Soul's Bane")) {
teleport(player, Location(3297, 9824, 0))
}
return@on true
}
on(Scenery.ROPE_13999, SCENERY, "climb-up") { player, _ ->
teleport(player, Location(3309, 3452, 0))
return@on true
}
}
}
@@ -37,13 +37,13 @@ class FunCommandSet : CommandSet(Privilege.ADMIN) {
/**
* Force animation + messages on all NPCs in a radius of 10 from the player.
*/
define("npcareaanim", Privilege.ADMIN, "::npcareaanim <lt>Animation ID<gt> <lt>String<gt>") { player, args ->
if (args.size < 3) {
reject(player, "Syntax error: ::npcareaanim <Animation ID> <String>")
define("npcanim", Privilege.ADMIN, "::npcanim <lt>Animation ID<gt>") { player, args ->
if (args.size < 2) {
reject(player, "Syntax error: ::npcanim <Animation ID>")
}
npcs = RegionManager.getLocalNpcs(player.location, 10)
for (n in npcs) {
n.sendChat(args.slice(2 until args.size).joinToString(" "))
n.sendChat(args.slice(1 until args.size).joinToString(" "))
n.lock(6)
n.faceTemporary(player, 6)
n.animator.animate(Animation(args[1].toInt()))