Refactored how quests are referred to internally
Fixed numerous requirement checks for Rag and Bone Man II, The Lost Tribe, The Tourist Trap, Waterfall Quest and The Fremennik Trials
This commit is contained in:
@@ -10,6 +10,7 @@ import org.rs09.consts.Items
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.interaction.IntType
|
||||
import core.game.world.GameWorld
|
||||
import content.data.Quests
|
||||
|
||||
private val VALID_LOGS = intArrayOf(Items.LOGS_1511, Items.OAK_LOGS_1521,Items.WILLOW_LOGS_1519,Items.MAPLE_LOGS_1517,Items.YEW_LOGS_1515,Items.MAGIC_LOGS_1513)
|
||||
private val FILL_ANIM = Animation(9136)
|
||||
@@ -24,8 +25,8 @@ class AFUBeaconListeners : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(IntType.SCENERY,"add-logs","light"){ player, node ->
|
||||
val beacon = AFUBeacon.forLocation(node.location)
|
||||
val questComplete = player.questRepository.isComplete("All Fired Up")
|
||||
val questStage = player.questRepository.getStage("All Fired Up")
|
||||
val questComplete = player.questRepository.isComplete(Quests.ALL_FIRED_UP)
|
||||
val questStage = player.questRepository.getStage(Quests.ALL_FIRED_UP)
|
||||
|
||||
if ((beacon != AFUBeacon.RIVER_SALVE && beacon != AFUBeacon.RAG_AND_BONE && !questComplete)
|
||||
|| (beacon == AFUBeacon.RIVER_SALVE && questStage < 20 && !questComplete)
|
||||
@@ -68,7 +69,7 @@ class AFUBeaconListeners : InteractionListener {
|
||||
}
|
||||
|
||||
AFUBeacon.GOBLIN_VILLAGE -> {
|
||||
if(!player.questRepository.isComplete("Lost Tribe")){
|
||||
if(!player.questRepository.isComplete(Quests.THE_LOST_TRIBE)){
|
||||
player.dialogueInterpreter.sendDialogues(NPC(beacon.keeper).getShownNPC(player), core.game.dialogue.FacialExpression.THINKING,"We no trust you outsider. You no light our beacon.","(Complete Lost Tribe to use this beacon.)")
|
||||
return
|
||||
}
|
||||
@@ -151,7 +152,7 @@ class AFUBeaconListeners : InteractionListener {
|
||||
experience += session?.getBonusExperience() ?: 0.0
|
||||
player.skills.addExperience(Skills.FIREMAKING,experience)
|
||||
} else {
|
||||
player.questRepository.getQuest("All Fired Up").setStage(player, player.questRepository.getStage("All Fired Up") + 10)
|
||||
player.questRepository.getQuest(Quests.ALL_FIRED_UP).setStage(player, player.questRepository.getStage(Quests.ALL_FIRED_UP) + 10)
|
||||
}
|
||||
}
|
||||
2 -> player.unlock().also { return true }
|
||||
@@ -183,7 +184,7 @@ class AFUBeaconListeners : InteractionListener {
|
||||
if(questComplete){
|
||||
session?.refreshTimer(beacon,logs.id)
|
||||
} else {
|
||||
player.questRepository.getQuest("All Fired Up").setStage(player, 80)
|
||||
player.questRepository.getQuest(Quests.ALL_FIRED_UP).setStage(player, 80)
|
||||
}
|
||||
}
|
||||
2 -> player.unlock().also { return true }
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package content.minigame.allfiredup
|
||||
|
||||
import content.data.Quests
|
||||
import core.game.node.entity.impl.ForceMovement
|
||||
import core.game.node.entity.player.Player
|
||||
import core.game.node.entity.skill.Skills
|
||||
@@ -26,7 +27,7 @@ class AFURepairClimbHandler : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
|
||||
on(repairIDs, IntType.SCENERY, "repair"){ player, _ ->
|
||||
if (hasRequirement(player, "All Fired Up")){
|
||||
if (hasRequirement(player, Quests.ALL_FIRED_UP)){
|
||||
val rco: RepairClimbObject? = getClimbingObject(player)
|
||||
repair(player,rco!!)
|
||||
return@on true
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.rs09.consts.Items
|
||||
import core.game.dialogue.DialogueFile
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.interaction.IntType
|
||||
import content.data.Quests
|
||||
|
||||
/**
|
||||
* Adds functionality to the pharoah's scepter
|
||||
@@ -23,7 +24,7 @@ class PharaohSceptre : InteractionListener {
|
||||
val SCEPTRES = intArrayOf(Items.PHARAOHS_SCEPTRE_9044, Items.PHARAOHS_SCEPTRE_9046, Items.PHARAOHS_SCEPTRE_9048, Items.PHARAOHS_SCEPTRE_9050)
|
||||
|
||||
on(SCEPTRES, IntType.ITEM, "teleport", "operate"){ player, node ->
|
||||
if (!hasRequirement(player, "Icthlarin's Little Helper"))
|
||||
if (!hasRequirement(player, Quests.ICTHLARINS_LITTLE_HELPER))
|
||||
return@on true
|
||||
|
||||
val sceptre = node.asItem()
|
||||
|
||||
@@ -23,6 +23,7 @@ import core.game.interaction.InteractionListener
|
||||
import core.game.interaction.IntType
|
||||
import core.game.world.GameWorld
|
||||
import core.plugin.ClassScanner
|
||||
import content.data.Quests
|
||||
|
||||
|
||||
class GardenObjectsPlugin : InteractionListener {
|
||||
@@ -503,7 +504,7 @@ class GardenObjectsPlugin : InteractionListener {
|
||||
|
||||
override fun open(vararg args: Any): Boolean {
|
||||
npc = args[0] as NPC
|
||||
quest = player.questRepository.getQuest("Prince Ali Rescue")
|
||||
quest = player.questRepository.getQuest(Quests.PRINCE_ALI_RESCUE)
|
||||
when (quest!!.getStage(player)) {
|
||||
100 -> {
|
||||
interpreter.sendDialogues(player, null, "I'd like to talk about sq'irks.")
|
||||
|
||||
@@ -11,6 +11,7 @@ import core.game.world.map.Location;
|
||||
import core.game.world.update.flag.context.Graphics;
|
||||
|
||||
import static core.api.ContentAPIKt.hasRequirement;
|
||||
import content.data.Quests;
|
||||
|
||||
/**
|
||||
* Dialogue for Sorceress Apprentice
|
||||
@@ -238,7 +239,7 @@ public class SorceressApprenticeDialogue extends DialoguePlugin {
|
||||
}
|
||||
|
||||
public static void teleport(final NPC npc, final Player player) {
|
||||
if (!hasRequirement(player, "Prince Ali Rescue"))
|
||||
if (!hasRequirement(player, Quests.PRINCE_ALI_RESCUE))
|
||||
return;
|
||||
npc.faceTemporary(player, 4);
|
||||
npc.graphics(new Graphics(108));
|
||||
|
||||
Reference in New Issue
Block a user