mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -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 }
|
||||
|
||||
/**
|
||||
* 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 after the timer has been added to the timer list.
|
||||
**/
|
||||
open fun onRegister (entity: Entity) {}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,9 @@ class TimerManager (val entity: Entity) {
|
|||
val toRemoveTimers = ArrayList<RSTimer>()
|
||||
|
||||
fun registerTimer (timer: RSTimer) {
|
||||
timer.beforeRegister(entity)
|
||||
newTimers.add(timer)
|
||||
timer.onRegister(entity)
|
||||
newTimers.add (timer)
|
||||
}
|
||||
|
||||
fun processTimers () {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class Disease : PersistTimer (30, "disease", flags = arrayOf(TimerFlag.ClearOnDe
|
|||
hitsLeft = root["hitsLeft"].toString().toInt()
|
||||
}
|
||||
|
||||
override fun onRegister (entity: Entity) {
|
||||
override fun beforeRegister (entity: Entity) {
|
||||
if (hasTimerActive<Disease>(entity))
|
||||
removeTimer(entity, this)
|
||||
else if (entity is Player)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class Frozen : PersistTimer (1, "frozen", flags = arrayOf(TimerFlag.ClearOnDeath
|
|||
shouldApplyImmunity = root["applyImmunity"] as? Boolean ?: false
|
||||
}
|
||||
|
||||
override fun onRegister (entity: Entity) {
|
||||
override fun beforeRegister (entity: Entity) {
|
||||
if (hasTimerActive<FrozenImmunity>(entity)) {
|
||||
removeTimer(entity, this)
|
||||
return
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class Miasmic : PersistTimer (1, "miasmic", flags = arrayOf(TimerFlag.ClearOnDea
|
|||
return false
|
||||
}
|
||||
|
||||
override fun onRegister (entity: Entity) {
|
||||
override fun beforeRegister (entity: Entity) {
|
||||
if (hasTimerActive<MiasmicImmunity>(entity))
|
||||
removeTimer(entity, this)
|
||||
if (hasTimerActive<Miasmic>(entity))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue