mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-01 14:39:13 -06:00
Fixed Giles spamming chat messages
This commit is contained in:
parent
a6699243db
commit
2419bdb65e
2 changed files with 8 additions and 8 deletions
|
|
@ -1,8 +1,10 @@
|
||||||
package content.global.ame
|
package content.global.ame
|
||||||
|
|
||||||
import content.global.ame.events.surpriseexam.MysteriousOldManNPC
|
import content.global.ame.events.surpriseexam.MysteriousOldManNPC
|
||||||
|
import core.api.getAttribute
|
||||||
import core.api.playGlobalAudio
|
import core.api.playGlobalAudio
|
||||||
import core.api.poofClear
|
import core.api.poofClear
|
||||||
|
import core.api.removeAttribute
|
||||||
import core.api.sendMessage
|
import core.api.sendMessage
|
||||||
import core.api.setAttribute
|
import core.api.setAttribute
|
||||||
import core.api.utils.WeightBasedTable
|
import core.api.utils.WeightBasedTable
|
||||||
|
|
@ -25,8 +27,6 @@ import core.tools.secondsToTicks
|
||||||
import core.tools.ticksToCycles
|
import core.tools.ticksToCycles
|
||||||
import org.rs09.consts.NPCs
|
import org.rs09.consts.NPCs
|
||||||
import org.rs09.consts.Sounds
|
import org.rs09.consts.Sounds
|
||||||
import kotlin.math.ceil
|
|
||||||
import kotlin.math.min
|
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
import kotlin.reflect.full.createInstance
|
import kotlin.reflect.full.createInstance
|
||||||
|
|
||||||
|
|
@ -37,7 +37,6 @@ abstract class RandomEventNPC(id: Int) : NPC(id) {
|
||||||
val SMOKE_GRAPHICS = Graphics(86)
|
val SMOKE_GRAPHICS = Graphics(86)
|
||||||
var initialized = false
|
var initialized = false
|
||||||
var finalized = false
|
var finalized = false
|
||||||
var timerPaused = false
|
|
||||||
var ticksLeft = secondsToTicks(180)
|
var ticksLeft = secondsToTicks(180)
|
||||||
private val combatBracket = intArrayOf(10, 20, 40, 60, 90)
|
private val combatBracket = intArrayOf(10, 20, 40, 60, 90)
|
||||||
|
|
||||||
|
|
@ -57,6 +56,7 @@ abstract class RandomEventNPC(id: Int) : NPC(id) {
|
||||||
poofClear(this)
|
poofClear(this)
|
||||||
playGlobalAudio(this.location, Sounds.SMOKEPUFF_1930, ticksToCycles(1))
|
playGlobalAudio(this.location, Sounds.SMOKEPUFF_1930, ticksToCycles(1))
|
||||||
}
|
}
|
||||||
|
removeAttribute(player, "random:pause")
|
||||||
finalized = true
|
finalized = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +93,6 @@ abstract class RandomEventNPC(id: Int) : NPC(id) {
|
||||||
override fun init() {
|
override fun init() {
|
||||||
initialized = true
|
initialized = true
|
||||||
finalized = false
|
finalized = false
|
||||||
timerPaused = false
|
|
||||||
spawnLocation ?: terminate()
|
spawnLocation ?: terminate()
|
||||||
location = spawnLocation
|
location = spawnLocation
|
||||||
player.setAttribute("re-npc", this)
|
player.setAttribute("re-npc", this)
|
||||||
|
|
@ -150,7 +149,8 @@ abstract class RandomEventNPC(id: Int) : NPC(id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun sayLine(npc: NPC, phrases: Array<String>, hasOpeningPhrase: Boolean, hasOverTimePhrase: Boolean) {
|
fun sayLine(npc: NPC, phrases: Array<String>, hasOpeningPhrase: Boolean, hasOverTimePhrase: Boolean) {
|
||||||
if (!timerPaused && (ticksLeft % 20 == 0 || ticksLeft <= 2)) { //unless the Certer interface is up, speak every 20 ticks, or in the 2nd-to-last tick before attack/note-&-teleport
|
val inInteraction = getAttribute(player, "random:pause", false) //used by Certer
|
||||||
|
if ((ticksLeft % 20 == 0 || ticksLeft <= 2) && !inInteraction) { //speak every 20 ticks, or in the 2nd-to-last tick before attack/note-&-teleport
|
||||||
var playDwarfWhistle = true
|
var playDwarfWhistle = true
|
||||||
if (ticksLeft == secondsToTicks(180) && hasOpeningPhrase) {
|
if (ticksLeft == secondsToTicks(180) && hasOpeningPhrase) {
|
||||||
sendChat(phrases[0])
|
sendChat(phrases[0])
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import org.rs09.consts.NPCs
|
||||||
import content.global.ame.RandomEventNPC
|
import content.global.ame.RandomEventNPC
|
||||||
import core.api.animate
|
import core.api.animate
|
||||||
import core.api.lock
|
import core.api.lock
|
||||||
|
import core.api.setAttribute
|
||||||
import core.api.utils.WeightBasedTable
|
import core.api.utils.WeightBasedTable
|
||||||
|
|
||||||
class CerterNPC(override var loot: WeightBasedTable? = null) : RandomEventNPC(NPCs.GILES_2538) {
|
class CerterNPC(override var loot: WeightBasedTable? = null) : RandomEventNPC(NPCs.GILES_2538) {
|
||||||
|
|
@ -33,8 +34,7 @@ class CerterNPC(override var loot: WeightBasedTable? = null) : RandomEventNPC(NP
|
||||||
"It's really rude to ignore someone, ${player.username}!",
|
"It's really rude to ignore someone, ${player.username}!",
|
||||||
"No-one ignores me!"
|
"No-one ignores me!"
|
||||||
)
|
)
|
||||||
player.setAttribute("random:pause", false)
|
setAttribute(player, "certer:reward", false)
|
||||||
player.setAttribute("certer:reward", false)
|
|
||||||
animate(this, Emotes.BOW.animation, true)
|
animate(this, Emotes.BOW.animation, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,4 +42,4 @@ class CerterNPC(override var loot: WeightBasedTable? = null) : RandomEventNPC(NP
|
||||||
noteAndTeleport()
|
noteAndTeleport()
|
||||||
terminate()
|
terminate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue