mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Fixed text for quest cape removal
Quest cape can now be retrieved from the wise old man if both inventory and bank are full when quests are implemented
This commit is contained in:
parent
020d5a9c05
commit
9a5f1e85e2
2 changed files with 66 additions and 13 deletions
|
|
@ -1,19 +1,21 @@
|
|||
package content.global.handlers.player;
|
||||
|
||||
import core.api.Container;
|
||||
import core.game.activity.ActivityManager;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.item.Item;
|
||||
import core.game.system.SystemManager;
|
||||
import core.game.world.GameWorld;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.PluginManifest;
|
||||
import core.plugin.PluginType;
|
||||
import core.game.world.GameWorld;
|
||||
|
||||
import static core.api.ContentAPIKt.setVarp;
|
||||
import org.rs09.consts.Items;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static core.api.ContentAPIKt.*;
|
||||
|
||||
/**
|
||||
* Validates a player login.
|
||||
* @author Emperor
|
||||
|
|
@ -27,7 +29,7 @@ public final class LoginValidationPlugin implements Plugin<Player> {
|
|||
/**
|
||||
* Represents the quest point items to remove.
|
||||
*/
|
||||
private static final Item[] QUEST_ITEMS = new Item[] { new Item(9813), new Item(9814)};
|
||||
private static final Item[] QUEST_ITEMS = new Item[] { new Item(Items.QUEST_POINT_CAPE_9813), new Item(Items.QUEST_POINT_HOOD_9814)};
|
||||
|
||||
/**
|
||||
* Constructs a new {@Code LoginValidationPlugin} {@Code Object}
|
||||
|
|
@ -78,19 +80,43 @@ public final class LoginValidationPlugin implements Plugin<Player> {
|
|||
* @param player the player.
|
||||
*/
|
||||
private static void checkQuestPointsItems(final Player player) {
|
||||
if (!player.getQuestRepository().hasCompletedAll() &&
|
||||
(player.getEquipment().contains(9813, 1) || player.getEquipment().contains(9814, 1))
|
||||
) {
|
||||
if (!player.getQuestRepository().hasCompletedAll() && anyInEquipment(player, Items.QUEST_POINT_CAPE_9813, Items.QUEST_POINT_HOOD_9814)) {
|
||||
String location1 = null;
|
||||
String location2 = null;
|
||||
int item1 = 0;
|
||||
int item2 = 0;
|
||||
int amt = 0;
|
||||
for (Item i : QUEST_ITEMS) {
|
||||
if (player.getEquipment().remove(i)) {
|
||||
player.getDialogueInterpreter().sendItemMessage(i, "As you no longer have completed all the quests, your " + i.getName() + " unequips itself to your " + (player.getInventory().freeSlots() < 1 ? "bank" : "inventory") + "!");
|
||||
if (player.getInventory().freeSlots() < 1) {
|
||||
player.getBank().add(i);
|
||||
if (removeItem(player, i, Container.EQUIPMENT)) {
|
||||
amt++;
|
||||
String location;
|
||||
if (addItem(player, i.getId(), i.getAmount(), Container.INVENTORY)) {
|
||||
location = "your inventory";
|
||||
} else if (addItem(player, i.getId(), i.getAmount(), Container.BANK)) {
|
||||
location = "your bank";
|
||||
} else {
|
||||
player.getInventory().add(i);
|
||||
location = "the Wise Old Man";
|
||||
if (i.getId() == Items.QUEST_POINT_CAPE_9813) {
|
||||
setAttribute(player, "/save:reclaim-qp-cape", true);
|
||||
} else {
|
||||
setAttribute(player, "/save:reclaim-qp-hood", true);
|
||||
}
|
||||
}
|
||||
if (amt == 1) {
|
||||
item1 = i.getId();
|
||||
location1 = location;
|
||||
}
|
||||
if (amt == 2) {
|
||||
item2 = i.getId();
|
||||
location2 = location;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (amt == 2) {
|
||||
sendDoubleItemDialogue(player, item1, item2, "As you no longer have completed all the quests, your " + getItemName(item1) + " unequips itself to " + location1 + " and your " + getItemName(item2) + " unequips itself to " + location2 + "!");
|
||||
} else {
|
||||
sendItemDialogue(player, item1, "As you no longer have completed all the quests, your " + getItemName(item1) + " unequips itself to " + location1 + "!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package content.region.misthalin.draynor.dialogue;
|
||||
|
||||
import core.api.Container;
|
||||
import core.game.dialogue.DialoguePlugin;
|
||||
import core.game.dialogue.FacialExpression;
|
||||
import core.game.node.entity.npc.NPC;
|
||||
|
|
@ -7,6 +8,9 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.entity.player.link.diary.DiaryType;
|
||||
import core.plugin.Initializable;
|
||||
import core.game.node.item.Item;
|
||||
import org.rs09.consts.Items;
|
||||
|
||||
import static core.api.ContentAPIKt.*;
|
||||
|
||||
/**
|
||||
* Represents the dialogue plugin used for the wise old man.
|
||||
|
|
@ -69,6 +73,29 @@ public final class WiseOldManDialogue extends DialoguePlugin {
|
|||
public boolean handle(int interfaceId, int buttonId) {
|
||||
switch (stage) {
|
||||
case 0:
|
||||
if (getAttribute(player, "reclaim-qp-cape", false) || getAttribute(player, "reclaim-qp-hood", false)) {
|
||||
if (getAttribute(player, "reclaim-qp-cape", false) && getAttribute(player, "reclaim-qp-hood", false)) {
|
||||
npcl(FacialExpression.NEUTRAL, "I assume you're looking for your items? I've placed them " + (freeSlots(player) < 2 ? "at your feet." : "in your inventory."));
|
||||
removeAttribute(player, "reclaim-qp-cape");
|
||||
removeAttribute(player, "reclaim-qp-hood");
|
||||
addItemOrDrop(player, Items.QUEST_POINT_CAPE_9813, 1);
|
||||
addItemOrDrop(player, Items.QUEST_POINT_HOOD_9814, 1);
|
||||
stage = 505;
|
||||
return true;
|
||||
} else if (getAttribute(player, "reclaim-qp-cape", false)) {
|
||||
npcl(FacialExpression.NEUTRAL, "I assume you're looking for your Quest Point Cape? I've placed it " + (freeSlots(player) < 1 ? "at your feet." : "in your inventory."));
|
||||
removeAttribute(player, "reclaim-qp-cape");
|
||||
addItemOrDrop(player, Items.QUEST_POINT_CAPE_9813, 1);
|
||||
stage = 505;
|
||||
return true;
|
||||
} else {
|
||||
npcl(FacialExpression.NEUTRAL, "I assume you're looking for your Quest Point Hood? I've placed it " + (freeSlots(player) < 1 ? "at your feet." : "in your inventory."));
|
||||
removeAttribute(player, "reclaim-qp-hood");
|
||||
addItemOrDrop(player, Items.QUEST_POINT_HOOD_9814, 1);
|
||||
stage = 505;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (player.getQuestRepository().hasCompletedAll()) {
|
||||
options("Quest Point Cape.", "Something else.");
|
||||
stage = 500;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue