mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Rewrote altar praying
Added the Tai Bwo Wannai Trio as quest requirement for praying at the tribal statue
This commit is contained in:
parent
6f9a975f7a
commit
0165d373bd
5 changed files with 255 additions and 257 deletions
|
|
@ -0,0 +1,63 @@
|
||||||
|
package content.global.skill.magic
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.interaction.IntType
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import core.game.node.Node
|
||||||
|
import core.game.node.entity.player.Player
|
||||||
|
import core.game.node.entity.player.link.SpellBookManager.SpellBook
|
||||||
|
import core.game.node.entity.skill.Skills
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
import org.rs09.consts.Sounds
|
||||||
|
|
||||||
|
class MagicAltarListener : InteractionListener {
|
||||||
|
override fun defineListeners() {
|
||||||
|
on(intArrayOf(ANCIENT_ALTAR, LUNAR_ALTAR), IntType.SCENERY, "pray-at", "pray") { player, node ->
|
||||||
|
if (meetsRequirements(player, node)) {
|
||||||
|
swapSpellBook(player, node)
|
||||||
|
}
|
||||||
|
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun meetsRequirements(player: Player, altar: Node): Boolean {
|
||||||
|
val level = if (altar.id == ANCIENT_ALTAR) 50 else 65
|
||||||
|
|
||||||
|
if (!hasRequirement(player, if (altar.id == ANCIENT_ALTAR) "Desert Treasure" else "Lunar Diplomacy")) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasLevelStat(player, Skills.MAGIC, level)) {
|
||||||
|
sendMessage(player, "You need a Magic level of at least $level in order to do this.")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun swapSpellBook(player: Player, altar: Node) {
|
||||||
|
lock(player, 3)
|
||||||
|
playAudio(player, Sounds.PRAYER_RECHARGE_2674)
|
||||||
|
animate(player, 645)
|
||||||
|
|
||||||
|
if (altar.id == ANCIENT_ALTAR) {
|
||||||
|
player.skills.decrementPrayerPoints(player.skills.prayerPoints)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SpellBook.forInterface(player.spellBookManager.spellBook) == if (altar.id == ANCIENT_ALTAR) SpellBook.ANCIENT else SpellBook.LUNAR) {
|
||||||
|
sendMessage(player, if (altar.id == ANCIENT_ALTAR) "You feel a strange drain upon your memory..." else "Modern spells activated!")
|
||||||
|
player.spellBookManager.setSpellBook(SpellBook.MODERN)
|
||||||
|
player.spellBookManager.update(player)
|
||||||
|
} else {
|
||||||
|
sendMessage(player, if (altar.id == ANCIENT_ALTAR) "You feel a strange wisdom fill your mind..." else "Lunar spells activated!")
|
||||||
|
player.spellBookManager.setSpellBook(if (altar.id == ANCIENT_ALTAR) SpellBook.ANCIENT else SpellBook.LUNAR)
|
||||||
|
player.spellBookManager.update(player)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val ANCIENT_ALTAR = Scenery.ALTAR_6552
|
||||||
|
private const val LUNAR_ALTAR = Scenery.ALTAR_17010
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,165 @@
|
||||||
|
package content.global.skill.prayer
|
||||||
|
|
||||||
|
import core.api.*
|
||||||
|
import core.game.event.PrayerPointsRechargeEvent
|
||||||
|
import core.game.interaction.IntType
|
||||||
|
import core.game.interaction.InteractionListener
|
||||||
|
import core.game.interaction.QueueStrength
|
||||||
|
import core.game.node.Node
|
||||||
|
import core.game.node.entity.player.Player
|
||||||
|
import core.game.node.entity.player.link.TeleportManager
|
||||||
|
import core.game.node.entity.skill.Skills
|
||||||
|
import core.game.world.map.Location
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
import org.rs09.consts.Sounds
|
||||||
|
|
||||||
|
class PrayerAltarListener : InteractionListener {
|
||||||
|
override fun defineListeners() {
|
||||||
|
on(altars, IntType.SCENERY, "pray", "pray-at") { player, node ->
|
||||||
|
if (node.id == Scenery.TRIBAL_STATUE_3863 && !hasRequirement(player, "Tai Bwo Wannai Trio")) {
|
||||||
|
// https://runescape.wiki/w/Tribal_Statue?oldid=1940922
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!pray(player, node)) {
|
||||||
|
if (node.id != Scenery.ELIDINIS_STATUETTE_10439) return@on true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node.id == Scenery.ELIDINIS_STATUETTE_10439) {
|
||||||
|
// https://youtu.be/kEwYhnrQCu8?t=727 & https://youtu.be/b9Wy1JWDes8?t=413
|
||||||
|
setTempLevel(player, Skills.HITPOINTS, getStatLevel(player, Skills.HITPOINTS).plus(7))
|
||||||
|
sendMessage(player, "You feel much healthier after praying in the shrine.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node.id == Scenery.CHAOS_ALTAR_412) {
|
||||||
|
lock(player, 4)
|
||||||
|
queueScript(player, 4, QueueStrength.STRONG) {
|
||||||
|
sendMessage(player, "It's a trap!")
|
||||||
|
teleport(player, Location(2583, 9576, 0), TeleportManager.TeleportType.INSTANT)
|
||||||
|
return@queueScript stopExecuting(player)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
|
||||||
|
on(Scenery.CHAOS_ALTAR_61, IntType.SCENERY, "check") { player, _ ->
|
||||||
|
if (getQuestStage(player, "Merlin's Crystal") == 70) {
|
||||||
|
sendDialogue(player, "You find a small inscription at the bottom of the altar. It reads: 'Snarthon Candtrick Termanto'.")
|
||||||
|
setQuestStage(player, "Merlin's Crystal", 80)
|
||||||
|
} else {
|
||||||
|
sendMessage(player, "An altar of the evil god Zamorak.")
|
||||||
|
}
|
||||||
|
return@on true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun pray(player: Player, node: Node): Boolean {
|
||||||
|
val prayerLevel = getStatLevel(player, Skills.PRAYER).plus(if (node.id in boostedAltars) 2 else 0)
|
||||||
|
|
||||||
|
if (player.skills.prayerPoints >= prayerLevel.toDouble()) {
|
||||||
|
sendMessage(player, "You already have full prayer points.")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
lock(player, 3)
|
||||||
|
animate(player, 645)
|
||||||
|
playAudio(player, Sounds.PRAYER_RECHARGE_2674)
|
||||||
|
setTempLevel(player, Skills.PRAYER, prayerLevel)
|
||||||
|
sendMessage(player, "You recharge your prayer points.")
|
||||||
|
player.dispatch(PrayerPointsRechargeEvent(node))
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val altars = intArrayOf(
|
||||||
|
Scenery.ALTAR_409,
|
||||||
|
Scenery.ALTAR_2478,
|
||||||
|
Scenery.ALTAR_2479,
|
||||||
|
Scenery.ALTAR_2480,
|
||||||
|
Scenery.ALTAR_2481,
|
||||||
|
Scenery.ALTAR_2482,
|
||||||
|
Scenery.ALTAR_2483,
|
||||||
|
Scenery.ALTAR_2484,
|
||||||
|
Scenery.ALTAR_2485,
|
||||||
|
Scenery.ALTAR_2486,
|
||||||
|
Scenery.ALTAR_2487,
|
||||||
|
Scenery.ALTAR_2488,
|
||||||
|
Scenery.ALTAR_2489,
|
||||||
|
Scenery.ALTAR_2640,
|
||||||
|
Scenery.ALTAR_4008,
|
||||||
|
Scenery.ALTAR_8749,
|
||||||
|
Scenery.ALTAR_10639,
|
||||||
|
Scenery.ALTAR_10640,
|
||||||
|
Scenery.ALTAR_13179,
|
||||||
|
Scenery.ALTAR_13180,
|
||||||
|
Scenery.ALTAR_13181,
|
||||||
|
Scenery.ALTAR_13182,
|
||||||
|
Scenery.ALTAR_13183,
|
||||||
|
Scenery.ALTAR_13184,
|
||||||
|
Scenery.ALTAR_13185,
|
||||||
|
Scenery.ALTAR_13186,
|
||||||
|
Scenery.ALTAR_13187,
|
||||||
|
Scenery.ALTAR_13188,
|
||||||
|
Scenery.ALTAR_13189,
|
||||||
|
Scenery.ALTAR_13190,
|
||||||
|
Scenery.ALTAR_13191,
|
||||||
|
Scenery.ALTAR_13192,
|
||||||
|
Scenery.ALTAR_13193,
|
||||||
|
Scenery.ALTAR_13194,
|
||||||
|
Scenery.ALTAR_13195,
|
||||||
|
Scenery.ALTAR_13196,
|
||||||
|
Scenery.ALTAR_13197,
|
||||||
|
Scenery.ALTAR_13198,
|
||||||
|
Scenery.ALTAR_13199,
|
||||||
|
Scenery.ALTAR_15050,
|
||||||
|
Scenery.ALTAR_15051,
|
||||||
|
Scenery.ALTAR_18254,
|
||||||
|
Scenery.ALTAR_19145,
|
||||||
|
Scenery.ALTAR_20377,
|
||||||
|
Scenery.ALTAR_20378,
|
||||||
|
Scenery.ALTAR_20379,
|
||||||
|
Scenery.ALTAR_24343,
|
||||||
|
Scenery.ALTAR_27306,
|
||||||
|
Scenery.ALTAR_27307,
|
||||||
|
Scenery.ALTAR_27308,
|
||||||
|
Scenery.ALTAR_27309,
|
||||||
|
Scenery.ALTAR_27334,
|
||||||
|
Scenery.ALTAR_27338,
|
||||||
|
Scenery.ALTAR_27339,
|
||||||
|
Scenery.ALTAR_27661,
|
||||||
|
Scenery.ALTAR_30624,
|
||||||
|
Scenery.ALTAR_30726,
|
||||||
|
Scenery.ALTAR_34616,
|
||||||
|
Scenery.ALTAR_36972,
|
||||||
|
Scenery.ALTAR_37630,
|
||||||
|
Scenery.ALTAR_37901,
|
||||||
|
Scenery.ALTAR_37902,
|
||||||
|
Scenery.ALTAR_37903,
|
||||||
|
Scenery.ALTAR_37904,
|
||||||
|
Scenery.ALTAR_37905,
|
||||||
|
Scenery.ALTAR_37906,
|
||||||
|
Scenery.ALTAR_37907,
|
||||||
|
Scenery.ALTAR_37908,
|
||||||
|
Scenery.ALTAR_37909,
|
||||||
|
Scenery.ALTAR_37910,
|
||||||
|
Scenery.ALTAR_37911,
|
||||||
|
Scenery.ALTAR_37912,
|
||||||
|
Scenery.ALTAR_39547,
|
||||||
|
Scenery.ALTAR_39842,
|
||||||
|
Scenery.CHAOS_ALTAR_61,
|
||||||
|
Scenery.CHAOS_ALTAR_411,
|
||||||
|
Scenery.CHAOS_ALTAR_412,
|
||||||
|
Scenery.CHAOS_ALTAR_32079,
|
||||||
|
Scenery.CHAOS_ALTAR_37990,
|
||||||
|
Scenery.GORILLA_STATUE_4858,
|
||||||
|
Scenery.GORILLA_STATUE_4859,
|
||||||
|
Scenery.ALTAR_OF_GUTHIX_410,
|
||||||
|
Scenery.ALTAR_OF_GUTHIX_28698,
|
||||||
|
Scenery.ALTAR_OF_NATURE_3521,
|
||||||
|
Scenery.TRIBAL_STATUE_3863,
|
||||||
|
Scenery.ELIDINIS_STATUETTE_10439,
|
||||||
|
Scenery.DECAYED_ALTAR_37985
|
||||||
|
)
|
||||||
|
private val boostedAltars = intArrayOf(Scenery.ALTAR_2640, Scenery.ALTAR_OF_NATURE_3521)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,254 +0,0 @@
|
||||||
package content.global.skill.prayer;
|
|
||||||
|
|
||||||
import core.cache.def.impl.SceneryDefinition;
|
|
||||||
import core.game.component.Component;
|
|
||||||
import core.game.node.entity.player.link.prayer.PrayerType;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.game.node.entity.skill.Skills;
|
|
||||||
import core.game.interaction.OptionHandler;
|
|
||||||
import core.game.node.Node;
|
|
||||||
import core.game.node.entity.player.Player;
|
|
||||||
import core.game.node.entity.player.link.SpellBookManager.SpellBook;
|
|
||||||
import core.game.node.entity.player.link.diary.DiaryType;
|
|
||||||
import core.game.node.entity.player.link.quest.Quest;
|
|
||||||
import core.game.world.map.Location;
|
|
||||||
import core.game.world.update.flag.context.Animation;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
import org.rs09.consts.Sounds;
|
|
||||||
|
|
||||||
import static core.api.ContentAPIKt.hasRequirement;
|
|
||||||
import static core.api.ContentAPIKt.playAudio;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the praying at an alter.
|
|
||||||
* @author Vexia
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public class PrayerAltarPlugin extends OptionHandler {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
SceneryDefinition.setOptionHandler("pray-at", this);
|
|
||||||
SceneryDefinition.setOptionHandler("pray", this);
|
|
||||||
SceneryDefinition.forId(61).getHandlers().put("option:check", this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(Player player, Node node, String option) {
|
|
||||||
if (option.equalsIgnoreCase("check")) {
|
|
||||||
final Quest quest = player.getQuestRepository().getQuest("Merlin's Crystal");
|
|
||||||
if (quest.getStage(player) == 70) {
|
|
||||||
player.getDialogueInterpreter().sendDialogue("You find a small inscription at the bottom of the altar. It reads:", "'Snarthon Candtrick Termanto'.");
|
|
||||||
quest.setStage(player, 80);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
player.getPacketDispatch().sendMessage("An altar of the evil god Zamorak.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
Altar altar = Altar.forId(node.getId());
|
|
||||||
if (altar != null) {
|
|
||||||
altar.pray(player);
|
|
||||||
visualize(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (player.getSkills().getPrayerPoints() == player.getSkills().getStaticLevel(Skills.PRAYER)) {
|
|
||||||
player.getPacketDispatch().sendMessage("You already have full prayer points.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
visualize(player);
|
|
||||||
player.getSkills().rechargePrayerPoints();
|
|
||||||
player.getPacketDispatch().sendMessage("You recharge your Prayer points.");
|
|
||||||
if (node.getId() == 2640) {
|
|
||||||
player.getSkills().setLevel(Skills.PRAYER, player.getSkills().getStaticLevel(Skills.PRAYER) + 2);
|
|
||||||
}
|
|
||||||
if (node.getId() == 409
|
|
||||||
&& player.getLocation().withinDistance(new Location(3209, 3495, 1))
|
|
||||||
&& player.getPrayer().getActive().contains(PrayerType.SMITE)) {
|
|
||||||
player.getAchievementDiaryManager().finishTask(player,DiaryType.VARROCK,2, 4);
|
|
||||||
}
|
|
||||||
if (node.getId() == 39842
|
|
||||||
&& player.getLocation().withinDistance(new Location(2995, 3177, 0))) {
|
|
||||||
player.getAchievementDiaryManager().finishTask(player,DiaryType.FALADOR,0, 13);
|
|
||||||
}
|
|
||||||
// Seers task can be completed with either of camelot altar or seers church altar
|
|
||||||
if (node.getId() == 19145
|
|
||||||
&& player.getLocation().withinDistance(new Location(2749, 3496, 1))) {
|
|
||||||
player.getAchievementDiaryManager().finishTask(player,DiaryType.SEERS_VILLAGE,0, 10);
|
|
||||||
}
|
|
||||||
if (node.getId() == 409
|
|
||||||
&& player.getLocation().withinDistance(new Location(2694, 3462, 0))) {
|
|
||||||
player.getAchievementDiaryManager().finishTask(player,DiaryType.SEERS_VILLAGE,0, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.getLocation().equals(new Location(2571, 9499, 0))) {
|
|
||||||
player.teleport(new Location(2583, 9576, 0));
|
|
||||||
player.sendMessage("It's a trap!");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Visualizes the prayer.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public void visualize(Player player) {
|
|
||||||
player.lock(3);
|
|
||||||
playAudio(player, Sounds.PRAYER_RECHARGE_2674);
|
|
||||||
player.animate(Animation.create(645));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An altar.
|
|
||||||
* @author Vexia
|
|
||||||
*/
|
|
||||||
public enum Altar {
|
|
||||||
ANCIENT(6552, SpellBook.ANCIENT.getInterfaceId(), "You feel a strange wisdom fill your mind...", "You feel a strange drain upon your memory...") {
|
|
||||||
@Override
|
|
||||||
public void pray(Player player) {
|
|
||||||
if (!hasRequirement(player, "Desert Treasure"))
|
|
||||||
return;
|
|
||||||
if (player.getSkills().getStaticLevel(Skills.MAGIC) < 50) {
|
|
||||||
player.sendMessage("You need a Magic level of at least 50 in order to do this.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
drain(player);
|
|
||||||
if (!isPrayerType(player)) {
|
|
||||||
switchToBook(player);
|
|
||||||
player.sendMessage(getMessages()[0]);
|
|
||||||
} else {
|
|
||||||
revert(player);
|
|
||||||
player.sendMessage(getMessages()[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
LUNAR(17010, SpellBook.LUNAR.getInterfaceId(), "Lunar spells activated!", "Modern spells activated!") {
|
|
||||||
@Override
|
|
||||||
public void pray(Player player) {
|
|
||||||
if (!hasRequirement(player, "Lunar Diplomacy"))
|
|
||||||
return;
|
|
||||||
if (player.getSkills().getStaticLevel(Skills.MAGIC) < 65) {
|
|
||||||
player.sendMessage("You need a Magic level of at least 65 in order to do this.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!isPrayerType(player)) {
|
|
||||||
switchToBook(player);
|
|
||||||
player.sendMessage(getMessages()[0]);
|
|
||||||
} else {
|
|
||||||
revert(player);
|
|
||||||
player.sendMessage(getMessages()[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The id.
|
|
||||||
*/
|
|
||||||
private int id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The book.
|
|
||||||
*/
|
|
||||||
private int book;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The messages.
|
|
||||||
*/
|
|
||||||
private String[] messages;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@Code Altar} {@Code Object}
|
|
||||||
* @param id the id.
|
|
||||||
* @param book the book.
|
|
||||||
* @param messages the messages.
|
|
||||||
*/
|
|
||||||
private Altar(int id, int book, String... messages) {
|
|
||||||
this.id = id;
|
|
||||||
this.book = book;
|
|
||||||
this.messages = messages;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prays at the altar.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public void pray(Player player) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reverts the book.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public void revert(Player player) {
|
|
||||||
player.getSpellBookManager().setSpellBook(SpellBook.MODERN);
|
|
||||||
player.getInterfaceManager().openTab(new Component(SpellBook.values()[SpellBook.MODERN.ordinal()].getInterfaceId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Drains the player.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public void drain(Player player) {
|
|
||||||
player.getSkills().decrementPrayerPoints(player.getSkills().getPrayerPoints());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Switches to the book.
|
|
||||||
* @param player the player.
|
|
||||||
*/
|
|
||||||
public void switchToBook(Player player) {
|
|
||||||
player.getSpellBookManager().setSpellBook(SpellBook.forInterface(book));
|
|
||||||
player.getInterfaceManager().openTab(new Component(book));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if it is the prayer type.
|
|
||||||
* @param player the player.
|
|
||||||
* @return true if so.
|
|
||||||
*/
|
|
||||||
public boolean isPrayerType(Player player) {
|
|
||||||
return player.getSpellBookManager().getSpellBook() == book;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an altar.
|
|
||||||
* @param id the id.
|
|
||||||
* @return the altar.
|
|
||||||
*/
|
|
||||||
public static Altar forId(int id) {
|
|
||||||
for (Altar altar : values()) {
|
|
||||||
if (id == altar.getId()) {
|
|
||||||
return altar;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the id.
|
|
||||||
* @return the id
|
|
||||||
*/
|
|
||||||
public int getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the book.
|
|
||||||
* @return the book
|
|
||||||
*/
|
|
||||||
public int getBook() {
|
|
||||||
return book;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the messages.
|
|
||||||
* @return the messages
|
|
||||||
*/
|
|
||||||
public String[] getMessages() {
|
|
||||||
return messages;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -19,6 +19,7 @@ import core.game.diary.DiaryEventHookBase
|
||||||
import core.game.diary.DiaryLevel
|
import core.game.diary.DiaryLevel
|
||||||
import core.game.event.*
|
import core.game.event.*
|
||||||
import core.game.node.entity.skill.Skills
|
import core.game.node.entity.skill.Skills
|
||||||
|
import core.game.world.map.Location
|
||||||
|
|
||||||
class FaladorAchievementDiary : DiaryEventHookBase(DiaryType.FALADOR) {
|
class FaladorAchievementDiary : DiaryEventHookBase(DiaryType.FALADOR) {
|
||||||
companion object {
|
companion object {
|
||||||
|
|
@ -283,4 +284,14 @@ class FaladorAchievementDiary : DiaryEventHookBase(DiaryType.FALADOR) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onPrayerPointsRecharged(player: Player, event: PrayerPointsRechargeEvent) {
|
||||||
|
if (event.altar.id == Scenery.ALTAR_39842 && event.altar.location == Location(2995, 3177, 0)) {
|
||||||
|
finishTask(
|
||||||
|
player,
|
||||||
|
DiaryLevel.EASY,
|
||||||
|
EasyTasks.PORT_SARIM_RECHARGE_PRAYER_POINTS
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -14,6 +14,7 @@ import core.game.world.map.Location
|
||||||
import core.game.world.map.zone.ZoneBorders
|
import core.game.world.map.zone.ZoneBorders
|
||||||
import org.rs09.consts.Items
|
import org.rs09.consts.Items
|
||||||
import org.rs09.consts.NPCs
|
import org.rs09.consts.NPCs
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
|
||||||
class SeersVillageAchievementDiary : DiaryEventHookBase(DiaryType.SEERS_VILLAGE) {
|
class SeersVillageAchievementDiary : DiaryEventHookBase(DiaryType.SEERS_VILLAGE) {
|
||||||
companion object {
|
companion object {
|
||||||
|
|
@ -313,4 +314,16 @@ class SeersVillageAchievementDiary : DiaryEventHookBase(DiaryType.SEERS_VILLAGE)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onPrayerPointsRecharged(player: Player, event: PrayerPointsRechargeEvent) {
|
||||||
|
if (player.viewport.region.id == 10806) {
|
||||||
|
if (event.altar.id == Scenery.ALTAR_409 || event.altar.id == Scenery.ALTAR_19145) {
|
||||||
|
finishTask(
|
||||||
|
player,
|
||||||
|
DiaryLevel.EASY,
|
||||||
|
EasyTasks.PRAY_AT_ALTAR
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue