mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-09 16:45:44 -07:00
Fixed Nettle Tea wrong return item
Fixed Yak Hide crafting swapped items Fixed mining bot dropped ore ironman restrictions Fixed Ardy teleport tab requirements Fixed Alice's husband not requiring ghostspeak Fixed Fishing Trawler stuck on boat bug Fixed POH debug region info showing in non-debug mode
This commit is contained in:
parent
1d4d380e93
commit
a7516f2d6e
7 changed files with 27 additions and 9 deletions
|
|
@ -287,7 +287,7 @@ public enum Consumables {
|
||||||
CUP_OF_TEA(new Drink(new int[] {712, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 3, 0)), "Aaah, nothing like a nice cuppa tea!")),
|
CUP_OF_TEA(new Drink(new int[] {712, 1980}, new MultiEffect(new HealingEffect(3), new SkillEffect(Skills.ATTACK, 3, 0)), "Aaah, nothing like a nice cuppa tea!")),
|
||||||
CUP_OF_TEA_NETTLE(new Drink(new int[] {4242, 1980}, new EnergyEffect(10))),
|
CUP_OF_TEA_NETTLE(new Drink(new int[] {4242, 1980}, new EnergyEffect(10))),
|
||||||
CUP_OF_TEA_MILKY_NETTLE(new Drink(new int[] {4243, 1980}, new EnergyEffect(10))),
|
CUP_OF_TEA_MILKY_NETTLE(new Drink(new int[] {4243, 1980}, new EnergyEffect(10))),
|
||||||
NETTLE_TEA(new Drink(new int[] {4239, 1980}, new NettleTeaEffect())),
|
NETTLE_TEA(new Drink(new int[] {4239, 1923}, new NettleTeaEffect())),
|
||||||
NETTLE_TEA_MILKY(new Drink(new int[] {4240, 1980}, new NettleTeaEffect())),
|
NETTLE_TEA_MILKY(new Drink(new int[] {4240, 1980}, new NettleTeaEffect())),
|
||||||
CUP_OF_TEA_CLAY(new Drink(new int[] {7730, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0), "You feel refreshed and ready for more building.")),
|
CUP_OF_TEA_CLAY(new Drink(new int[] {7730, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0), "You feel refreshed and ready for more building.")),
|
||||||
CUP_OF_TEA_CLAY_MILKY(new Drink(new int[] {7731, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0))),
|
CUP_OF_TEA_CLAY_MILKY(new Drink(new int[] {7731, 7728}, new SkillEffect(Skills.CONSTRUCTION, 1, 0))),
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ class NonBankingMiner : Script() {
|
||||||
}
|
}
|
||||||
//checks if the bot has tin ore in his inventory and drops it if he does
|
//checks if the bot has tin ore in his inventory and drops it if he does
|
||||||
if(bot.inventory.containsAtLeastOneItem(Items.TIN_ORE_438)){
|
if(bot.inventory.containsAtLeastOneItem(Items.TIN_ORE_438)){
|
||||||
produceGroundItem(null,438,1,bot.location)
|
produceGroundItem(bot,438,1,bot.location)
|
||||||
bot.inventory.remove(Item(Items.TIN_ORE_438,1))
|
bot.inventory.remove(Item(Items.TIN_ORE_438,1))
|
||||||
}
|
}
|
||||||
//The following is to prevent lucky bots from breaking by having a full inventory of gems
|
//The following is to prevent lucky bots from breaking by having a full inventory of gems
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,18 @@ import core.api.removeItem
|
||||||
import core.api.teleport
|
import core.api.teleport
|
||||||
import core.game.interaction.IntType
|
import core.game.interaction.IntType
|
||||||
import core.game.interaction.InteractionListener
|
import core.game.interaction.InteractionListener
|
||||||
|
import core.game.node.entity.player.Player
|
||||||
import core.game.node.entity.player.link.TeleportManager
|
import core.game.node.entity.player.link.TeleportManager
|
||||||
import core.game.node.item.Item
|
import core.game.node.item.Item
|
||||||
import core.game.world.map.Location
|
import core.game.world.map.Location
|
||||||
|
import core.api.hasRequirement;
|
||||||
|
|
||||||
class TeleTabsListener : InteractionListener {
|
class TeleTabsListener : InteractionListener {
|
||||||
|
|
||||||
enum class TeleTabs(val item: Int, val location: Location, val exp: Double) {
|
enum class TeleTabs(val item: Int, val location: Location, val exp: Double, val requirementCheck: (Player) -> Boolean = { true }) {
|
||||||
ADDOUGNE_TELEPORT(8011, Location.create(2662, 3307, 0), 61.0),
|
ADDOUGNE_TELEPORT(8011, Location.create(2662, 3307, 0), 61.0, {
|
||||||
|
player -> hasRequirement(player, "Plague City");
|
||||||
|
}),
|
||||||
AIR_ALTAR_TELEPORT(13599, Location.create(2978, 3296, 0), 0.0),
|
AIR_ALTAR_TELEPORT(13599, Location.create(2978, 3296, 0), 0.0),
|
||||||
ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0),
|
ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0),
|
||||||
BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0),
|
BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0),
|
||||||
|
|
@ -47,7 +51,7 @@ class TeleTabsListener : InteractionListener {
|
||||||
val tabEnum = TeleTabs.forId(tab)
|
val tabEnum = TeleTabs.forId(tab)
|
||||||
if (tabEnum != null && inInventory(player,tab)) {
|
if (tabEnum != null && inInventory(player,tab)) {
|
||||||
val tabloc = tabEnum.location
|
val tabloc = tabEnum.location
|
||||||
if (inInventory(player, tab)) {
|
if (inInventory(player, tab) && tabEnum.requirementCheck(player)) {
|
||||||
if (teleport(player, tabloc, TeleportManager.TeleportType.TELETABS)) {
|
if (teleport(player, tabloc, TeleportManager.TeleportType.TELETABS)) {
|
||||||
removeItem(player, Item(node.id, 1))
|
removeItem(player, Item(node.id, 1))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -196,7 +196,7 @@ public final class HouseManager {
|
||||||
}
|
}
|
||||||
player.setAttribute("poh_entry", HouseManager.this);
|
player.setAttribute("poh_entry", HouseManager.this);
|
||||||
player.lock(1);
|
player.lock(1);
|
||||||
player.sendMessage("House location: " + houseRegion.getBaseLocation() + ", entry: " + getEnterLocation());
|
player.debug("House location: " + houseRegion.getBaseLocation() + ", entry: " + getEnterLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,9 @@ class FishingTrawlerSession(val activity: FishingTrawlerActivity? = null) : MapA
|
||||||
|
|
||||||
for(player in session.players){
|
for(player in session.players){
|
||||||
session.updateOverlay(player)
|
session.updateOverlay(player)
|
||||||
|
if(session.timeLeft <= 1) {
|
||||||
|
lockInteractions(player, 2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
session.tickMurphy()
|
session.tickMurphy()
|
||||||
return !session.isActive
|
return !session.isActive
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
||||||
* The index.
|
* The index.
|
||||||
*/
|
*/
|
||||||
private final int index;
|
private final int index;
|
||||||
|
private final int YAK_BODY_INDEX = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ticks.
|
* The ticks.
|
||||||
|
|
@ -96,7 +97,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean checkRequirements() {
|
public boolean checkRequirements() {
|
||||||
int level = (index == 1 ? 46 : 43);
|
int level = (index == YAK_BODY_INDEX ? 46 : 43);
|
||||||
if (player.getSkills().getLevel(Skills.CRAFTING) < level) {
|
if (player.getSkills().getLevel(Skills.CRAFTING) < level) {
|
||||||
player.getDialogueInterpreter().sendDialogue("You need a Crafting level of at least " + level + " in order to do this.");
|
player.getDialogueInterpreter().sendDialogue("You need a Crafting level of at least " + level + " in order to do this.");
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -108,7 +109,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
||||||
player.getDialogueInterpreter().sendDialogue("You need some thread to make anything out of leather.");
|
player.getDialogueInterpreter().sendDialogue("You need some thread to make anything out of leather.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int reqAmount = index == 1 ? 1 : 2;
|
int reqAmount = index == YAK_BODY_INDEX ? 2 : 1;
|
||||||
if (!player.getInventory().contains(10820, reqAmount)) {
|
if (!player.getInventory().contains(10820, reqAmount)) {
|
||||||
player.getDialogueInterpreter().sendDialogue("You don't have the required amount of yak-hide in order to do this.");
|
player.getDialogueInterpreter().sendDialogue("You don't have the required amount of yak-hide in order to do this.");
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -129,7 +130,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
||||||
if (++ticks % 5 != 0) {
|
if (++ticks % 5 != 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int reqAmount = index == 1 ? 1 : 2;
|
int reqAmount = index == YAK_BODY_INDEX ? 2 : 1;
|
||||||
if (player.getInventory().remove(new Item(10820, reqAmount))) {
|
if (player.getInventory().remove(new Item(10820, reqAmount))) {
|
||||||
player.getInventory().add(node);
|
player.getInventory().add(node);
|
||||||
player.getSkills().addExperience(Skills.CRAFTING, 32, true);
|
player.getSkills().addExperience(Skills.CRAFTING, 32, true);
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
package content.region.misthalin.draynor.quest.anma;
|
package content.region.misthalin.draynor.quest.anma;
|
||||||
|
|
||||||
import core.game.dialogue.DialoguePlugin;
|
import core.game.dialogue.DialoguePlugin;
|
||||||
|
import core.game.dialogue.FacialExpression;
|
||||||
import core.game.node.entity.player.Player;
|
import core.game.node.entity.player.Player;
|
||||||
import core.game.node.entity.player.link.quest.Quest;
|
import core.game.node.entity.player.link.quest.Quest;
|
||||||
import core.game.node.item.Item;
|
import core.game.node.item.Item;
|
||||||
import content.region.misthalin.draynor.quest.anma.AnmaCutscene;
|
import content.region.misthalin.draynor.quest.anma.AnmaCutscene;
|
||||||
|
import org.rs09.consts.Items;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the husband of alice's npc dialogue.
|
* Handles the husband of alice's npc dialogue.
|
||||||
|
|
@ -46,6 +48,10 @@ public final class AliceHusbandDialogue extends DialoguePlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean open(Object... args) {
|
public boolean open(Object... args) {
|
||||||
|
if (!player.getEquipment().containsAtLeastOneItem(Items.GHOSTSPEAK_AMULET_552)) {
|
||||||
|
npc("Wooo wooo wooooo!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
quest = player.getQuestRepository().getQuest(AnimalMagnetism.NAME);
|
quest = player.getQuestRepository().getQuest(AnimalMagnetism.NAME);
|
||||||
switch (quest.getStage(player)) {
|
switch (quest.getStage(player)) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
@ -85,6 +91,10 @@ public final class AliceHusbandDialogue extends DialoguePlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean handle(int interfaceId, int buttonId) {
|
public boolean handle(int interfaceId, int buttonId) {
|
||||||
|
if (!player.getEquipment().containsAtLeastOneItem(Items.GHOSTSPEAK_AMULET_552)) {
|
||||||
|
end();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
switch (quest.getStage(player)) {
|
switch (quest.getStage(player)) {
|
||||||
default:
|
default:
|
||||||
switch (stage) {
|
switch (stage) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue