mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-12 01:21:20 -07:00
Fixed farming patches wrongly getting diseased during offline catchup
This commit is contained in:
parent
cd43f8d269
commit
4a016d45e5
5 changed files with 12 additions and 4 deletions
|
|
@ -24,8 +24,15 @@ abstract class RSTimer (var runInterval: Int, val identifier: String = "generict
|
||||||
**/
|
**/
|
||||||
open fun getInitialRunDelay() : Int { return runInterval }
|
open fun getInitialRunDelay() : Int { return runInterval }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by core code before the timer is first registered. Called after parse on PersistTimers.
|
||||||
|
* Called before the timer has been added to the timer list.
|
||||||
|
**/
|
||||||
|
open fun beforeRegister (entity: Entity) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called by core code when the timer is first registered. Called after parse on PersistTimers.
|
* Called by core code when the timer is first registered. Called after parse on PersistTimers.
|
||||||
|
* Called after the timer has been added to the timer list.
|
||||||
**/
|
**/
|
||||||
open fun onRegister (entity: Entity) {}
|
open fun onRegister (entity: Entity) {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,9 @@ class TimerManager (val entity: Entity) {
|
||||||
val toRemoveTimers = ArrayList<RSTimer>()
|
val toRemoveTimers = ArrayList<RSTimer>()
|
||||||
|
|
||||||
fun registerTimer (timer: RSTimer) {
|
fun registerTimer (timer: RSTimer) {
|
||||||
|
timer.beforeRegister(entity)
|
||||||
|
newTimers.add(timer)
|
||||||
timer.onRegister(entity)
|
timer.onRegister(entity)
|
||||||
newTimers.add (timer)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun processTimers () {
|
fun processTimers () {
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class Disease : PersistTimer (30, "disease", flags = arrayOf(TimerFlag.ClearOnDe
|
||||||
hitsLeft = root["hitsLeft"].toString().toInt()
|
hitsLeft = root["hitsLeft"].toString().toInt()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRegister (entity: Entity) {
|
override fun beforeRegister (entity: Entity) {
|
||||||
if (hasTimerActive<Disease>(entity))
|
if (hasTimerActive<Disease>(entity))
|
||||||
removeTimer(entity, this)
|
removeTimer(entity, this)
|
||||||
else if (entity is Player)
|
else if (entity is Player)
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class Frozen : PersistTimer (1, "frozen", flags = arrayOf(TimerFlag.ClearOnDeath
|
||||||
shouldApplyImmunity = root["applyImmunity"] as? Boolean ?: false
|
shouldApplyImmunity = root["applyImmunity"] as? Boolean ?: false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRegister (entity: Entity) {
|
override fun beforeRegister (entity: Entity) {
|
||||||
if (hasTimerActive<FrozenImmunity>(entity)) {
|
if (hasTimerActive<FrozenImmunity>(entity)) {
|
||||||
removeTimer(entity, this)
|
removeTimer(entity, this)
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class Miasmic : PersistTimer (1, "miasmic", flags = arrayOf(TimerFlag.ClearOnDea
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRegister (entity: Entity) {
|
override fun beforeRegister (entity: Entity) {
|
||||||
if (hasTimerActive<MiasmicImmunity>(entity))
|
if (hasTimerActive<MiasmicImmunity>(entity))
|
||||||
removeTimer(entity, this)
|
removeTimer(entity, this)
|
||||||
if (hasTimerActive<Miasmic>(entity))
|
if (hasTimerActive<Miasmic>(entity))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue