Fixed farming patches wrongly getting diseased during offline catchup
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user