The barren wasteland of sources for Spirit of Elid questlog.

This commit is contained in:
Oven Bread 2025-01-07 11:51:58 -08:00
parent acc6c182a5
commit 73f36d5b7e

View file

@ -0,0 +1,199 @@
package content.region.desert.quest.spiritsoftheelid
import core.api.*
import core.game.node.entity.player.Player
import core.game.node.entity.player.link.quest.Quest
import core.game.node.entity.skill.Skills
import core.plugin.Initializable
import org.rs09.consts.Items
/**
* Spirit of the Elid Quest
*/
@Initializable
class SpiritsOfTheElid : Quest("Spirits of the Elid", 116, 115, 2,616, 1444, 0, 1, 60) {
companion object {
const val questName = "Spirits of the Elid"
}
override fun drawJournal(player: Player, stage: Int) {
super.drawJournal(player, stage)
var line = 12
var stage = getStage(player)
var started = getQuestStage(player, questName) > 0
if (!started) {
line(player, "I can start this quest by speaking to !!Awusah?? who is the", line++, false)
line(player, "mayor in the desert town of !!Nardah??.", line++, false)
line++
line(player, "To complete this quest I will need:", line++, false)
line(player, "!!Level 33 Magic.??", line++, hasLevelStat(player, Skills.MAGIC, 33))
line(player, "!!Level 37 Ranged.??", line++, hasLevelStat(player, Skills.RANGE, 37))
line(player, "!!Level 37 Mining.??", line++, hasLevelStat(player, Skills.MINING, 37))
line(player, "!!Level 37 Thieving.??", line++, hasLevelStat(player, Skills.THIEVING, 37))
line(player, "I must be able to !!defeat three level 75 enemies.", line++, false)
} else {
line(player, "I spoke to Awusah the mayor of Nardah.", line++, true)
if (stage >= 20) {
line++
line(player, "Awusah asked me to look around Nardah for clues as to", line++, true)
line(player, "why the town's water source had dried up.", line++, true)
line++
line(player, "Ghastor the village elder gave me an item called the Ballad", line++, true)
line(player, "of Jaressh that seems to contain lots of clues.", line++, true)
line++
line(player, "I worked out that I needed to enter a cave at the source of", line++, true)
line(player, "the river Elid.", line++, true)
line++
line(player, "I used an ancestral key and wore some robes of Eldinis", line++, true) // Eldinis is sic
line(player, "that I had found in the shrine in Nardah to get through", line++, true)
line(player, "some double doors in the cave.", line++, true)
} else if (stage >= 10) {
line++
line(player, "Awusah tells me that the !!towns water supply?? has dried up.", line++, false)
line(player, "I should look around town to see if I can find any clues as", line++, false)
line(player, "to what can be done about this.", line++, false)
line++
// Following sections appear as you do it. No line spaces.
//
line(player, "Ghastor the village elder gave me !!The Ballad of Jaressh??", line++, false)
line(player, "which provides some useful information about a previous", line++, false)
line(player, "trip to see some !!river spirits??.", line++, false)
// http://youtu.be/SWjuatbJvxI (There seems to be a strange magical force preventing you from / opening the door.)
line(player, "The shrine custodian let slip that the !!ancestral key?? she", line++, false)
line(player, "had on display is for the chambers of the !!Spirits of the??", line++, false)
line(player, "!!Elid??.", line++, false)
//
line(player, "I cast telekinetic grab to steal the !!ancestral key?? from the", line++, false)
line(player, "shrine.", line++, false)
//
line(player, "I found a !!robe of Elidinis top?? in a cupboard and repaired it", line++, false)
line(player, "with a needle and thread.", line++, false)
//
line(player, "I found a !!robe of Elidinis bottom?? in a cupboard and", line++, false)
line(player, "repaired it with a needle and thread.", line++, false)
// http://youtu.be/vZ5P08cGSbA
line(player, "I managed to climb up to a !!cave at the source of the river??.", line++, false)
line(player, "Further progress is blocked by a !!door??.", line++, false)
}
if (stage >= 30) {
line(player, "I killed 3 golems and unblocked three waterchannels in", line++, true)
line(player, "various ways. This allowed me to get through another pair", line++, true)
line(player, "of double doors.", line++, true)
line++
line(player, "I have spoken to the Spirits of the Elid.", line++, true)
} else if (stage >= 20) {
// http://youtu.be/vZ5P08cGSbA
line(player, "I have come to a second pair of !!double doors?? I need to get", line++, false)
line(player, "through. There are !!3 single doors here too.", line++, false)
line++
line(player, "I have not got through the most northern single door yet.", line++, false)
// Segment
line(player, "I have defeated a black golem.", line++, true)
line(player, "I shot a target and unblocked a waterchannel.", line++, true)
line++
line(player, "I have not got through the central single door yet.", line++, false)
// Segment
line(player, "I have defeated a grey golem.", line++, true)
line(player, "I mined away some rocks and unblocked a waterchannel.", line++, true)
line++
line(player, "I have not got through the most southern single door yet.", line++, false)
// Segment
line(player, "I have defeated a white golem.", line++, true)
line(player, "I disabled a trap and unblocked a waterchannel.", line++, true)
}
// http://youtu.be/QgiKtgo8toE
if (stage >= 40) {
// For weird reasons "statuette" becomes "statue".
line++
line(player, "This spirits told me the townspeople of Nardah threw away a", line++, true)
line(player, "!!statue of Elidinis??. As a result they were cursed to have", line++, true)
line(player, "no water. As long as they do not have the statue the", line++, true)
line(player, "curse will stand.", line++, true)
} else if (stage >= 30) {
line++
line(player, "This spirits told me the townspeople of Nardah threw away a", line++, false)
line(player, "!!statuette of Elidinis??. As a result they were cursed to have", line++, false)
line(player, "no water. As long as they do not have the statuette the", line++, false)
line(player, "curse will stand.", line++, false)
}
if (stage >= 50) {
line++
line(player, "I spoke to Awusah again. He told me the statuette was", line++, true)
line(player, "thrown down a crevice to the west of Nardah.", line++, true)
line++
line(player, "I met a genie down the crevice. He told me that he had", line++, false)
line(player, "the statuette which he would give it to me exchange", line++, false)
line(player, "for the sole of Awusah!", line++, false)
line++
line(player, "I have cut the soles from Awusah's shoes. Fortunately", line++, true)
line(player, "the genie wanted Awusah's sole and not Awusah's soul.", line++, true) // Authentically, its sole not soles
line(player, "We have completed the trade.", line++, true)
} else if (stage >= 40) {
// VivJYfgyshU
line++
line(player, "I spoke to Awusah again. He told me the !!statuette?? was", line++, false)
line(player, "thrown down a !!crevice to the west of Nardah??.", line++, false)
// Derived
line++
line(player, "I met a genie down the crevice. He told me that he had", line++, false)
line(player, "the statuette which he would give it to me exchange", line++, false)
line(player, "for the sole of Awusah!", line++, false)
// Derived
line++
line(player, "I have cut the soles from Awusah's shoes. Fortunately", line++, false)
line(player, "the genie wanted Awusah's sole and not Awusah's soul.", line++, false) // Authentically, its sole not soles
line(player, "We have completed the trade.", line++, false)
}
// http://youtu.be/VivJYfgyshU
if (stage >= 100) {
line++
line(player, "I have returned the statuette to the shrine of Elidinis.", line++, true)
line(player, "The curse is lifted and the town has its water supply back.", line++, true)
} else if (stage >= 50) {
line++
line(player, "I have !!the statuette of Elidinis?? I should return it to its", line++, false)
line(player, "rightful place.", line++, false)
}
if (stage >= 100) {
line++
line(player,"<col=FF0000>QUEST COMPLETE!</col>", line)
}
}
}
override fun reset(player: Player) {
//removeAttribute(player, attributeChosenEnding)
}
override fun finish(player: Player) {
var ln = 10
super.finish(player)
player.packetDispatch.sendString("You have completed the Spirits of the Elid Quest!!", 277, 4)
player.packetDispatch.sendItemZoomOnInterface(Items.STATUETTE_6785,230,277,5)
drawReward(player, "2 Quest Points", ln++)
drawReward(player, "Use of the shrine to pray at.", ln++)
drawReward(player, "8,000 Prayer XP", ln++)
drawReward(player, "1,000 Thieving XP", ln++)
drawReward(player, "1,000 Magic XP", ln++)
rewardXP(player, Skills.PRAYER, 8000.0)
rewardXP(player, Skills.THIEVING, 1000.0)
rewardXP(player, Skills.MAGIC, 1000.0)
}
override fun newInstance(`object`: Any?): Quest {
return this
}
}