mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-09 16:45:44 -07:00
Fixed fishing trawler teleport and random event issues
This commit is contained in:
parent
5237051e71
commit
0e6b4ad816
3 changed files with 16 additions and 4 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package content.minigame.fishingtrawler
|
||||
|
||||
import core.api.MapArea
|
||||
import core.game.node.entity.player.Player
|
||||
import core.game.system.task.Pulse
|
||||
import core.game.world.GameWorld
|
||||
|
|
@ -10,6 +11,7 @@ import core.plugin.Initializable
|
|||
import core.tools.ticksToSeconds
|
||||
import core.game.activity.ActivityManager
|
||||
import core.game.activity.ActivityPlugin
|
||||
import core.game.world.map.zone.ZoneBorders
|
||||
import core.tools.colorize
|
||||
|
||||
|
||||
|
|
@ -17,13 +19,14 @@ import core.tools.colorize
|
|||
* Handles the fishing trawler "waiting room"
|
||||
* @author Ceikry
|
||||
*/
|
||||
private val WAIT_TIME = if(GameWorld.settings?.isDevMode == true) 10 else 203
|
||||
private val WAIT_TIME = if(GameWorld.settings?.isDevMode == true) 30 else 203
|
||||
private val waitingPlayers = ArrayList<Player>()
|
||||
private val ftWaitingArea = arrayOf(ZoneBorders(2668, 3165, 2675, 3184))
|
||||
private val sessions = ArrayList<FishingTrawlerSession>()
|
||||
private var activity: FishingTrawlerActivity? = null
|
||||
private var nextStart = GameWorld.ticks + WAIT_TIME
|
||||
@Initializable
|
||||
class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true,ZoneRestriction.CANNON,ZoneRestriction.FIRES,ZoneRestriction.FOLLOWERS,ZoneRestriction.RANDOM_EVENTS) {
|
||||
class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true,ZoneRestriction.CANNON,ZoneRestriction.FIRES,ZoneRestriction.FOLLOWERS,ZoneRestriction.RANDOM_EVENTS), MapArea {
|
||||
|
||||
init {
|
||||
activity = this
|
||||
|
|
@ -86,4 +89,12 @@ class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true
|
|||
override fun getSpawnLocation(): Location {
|
||||
return Location.create(2667, 3161, 0)
|
||||
}
|
||||
|
||||
override fun defineAreaBorders(): Array<ZoneBorders> {
|
||||
return ftWaitingArea
|
||||
}
|
||||
|
||||
override fun getRestrictions(): Array<ZoneRestriction> {
|
||||
return arrayOf(ZoneRestriction.RANDOM_EVENTS, ZoneRestriction.TELEPORT)
|
||||
}
|
||||
}
|
||||
|
|
@ -16,6 +16,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.entity.player.link.TeleportManager;
|
||||
import core.game.node.entity.skill.Skills;
|
||||
import core.game.system.task.Pulse;
|
||||
import core.game.world.map.zone.ZoneRestriction;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import core.game.world.GameWorld;
|
||||
import core.game.world.map.Location;
|
||||
|
|
@ -928,7 +929,7 @@ public abstract class Entity extends Node {
|
|||
* @return {@code True} if so.
|
||||
*/
|
||||
public boolean isTeleBlocked() {
|
||||
return timers.getTimer("teleblock") != null || getLocks().isTeleportLocked();
|
||||
return timers.getTimer("teleblock") != null || getLocks().isTeleportLocked() || getZoneMonitor().isRestricted(ZoneRestriction.TELEPORT);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ public class TeleportManager {
|
|||
if (!entity.getZoneMonitor().teleport(teleportType, null)) {
|
||||
return false;
|
||||
}
|
||||
if (teleportType != -1 && (entity.isTeleBlocked() || entity.getZoneMonitor().isRestricted(ZoneRestriction.TELEPORT))) {
|
||||
if (teleportType != -1 && entity.isTeleBlocked()) {
|
||||
if (entity.isPlayer())
|
||||
entity.asPlayer().sendMessage("A magical force has stopped you from teleporting.");
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue