mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -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_NETTLE(new Drink(new int[] {4242, 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())),
|
||||
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))),
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class NonBankingMiner : Script() {
|
|||
}
|
||||
//checks if the bot has tin ore in his inventory and drops it if he does
|
||||
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))
|
||||
}
|
||||
//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.game.interaction.IntType
|
||||
import core.game.interaction.InteractionListener
|
||||
import core.game.node.entity.player.Player
|
||||
import core.game.node.entity.player.link.TeleportManager
|
||||
import core.game.node.item.Item
|
||||
import core.game.world.map.Location
|
||||
import core.api.hasRequirement;
|
||||
|
||||
class TeleTabsListener : InteractionListener {
|
||||
|
||||
enum class TeleTabs(val item: Int, val location: Location, val exp: Double) {
|
||||
ADDOUGNE_TELEPORT(8011, Location.create(2662, 3307, 0), 61.0),
|
||||
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, {
|
||||
player -> hasRequirement(player, "Plague City");
|
||||
}),
|
||||
AIR_ALTAR_TELEPORT(13599, Location.create(2978, 3296, 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),
|
||||
|
|
@ -47,7 +51,7 @@ class TeleTabsListener : InteractionListener {
|
|||
val tabEnum = TeleTabs.forId(tab)
|
||||
if (tabEnum != null && inInventory(player,tab)) {
|
||||
val tabloc = tabEnum.location
|
||||
if (inInventory(player, tab)) {
|
||||
if (inInventory(player, tab) && tabEnum.requirementCheck(player)) {
|
||||
if (teleport(player, tabloc, TeleportManager.TeleportType.TELETABS)) {
|
||||
removeItem(player, Item(node.id, 1))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ public final class HouseManager {
|
|||
}
|
||||
player.setAttribute("poh_entry", HouseManager.this);
|
||||
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){
|
||||
session.updateOverlay(player)
|
||||
if(session.timeLeft <= 1) {
|
||||
lockInteractions(player, 2)
|
||||
}
|
||||
}
|
||||
session.tickMurphy()
|
||||
return !session.isActive
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
|||
* The index.
|
||||
*/
|
||||
private final int index;
|
||||
private final int YAK_BODY_INDEX = 1;
|
||||
|
||||
/**
|
||||
* The ticks.
|
||||
|
|
@ -96,7 +97,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
|||
|
||||
@Override
|
||||
public boolean checkRequirements() {
|
||||
int level = (index == 1 ? 46 : 43);
|
||||
int level = (index == YAK_BODY_INDEX ? 46 : 43);
|
||||
if (player.getSkills().getLevel(Skills.CRAFTING) < level) {
|
||||
player.getDialogueInterpreter().sendDialogue("You need a Crafting level of at least " + level + " in order to do this.");
|
||||
return false;
|
||||
|
|
@ -108,7 +109,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
|||
player.getDialogueInterpreter().sendDialogue("You need some thread to make anything out of leather.");
|
||||
return false;
|
||||
}
|
||||
int reqAmount = index == 1 ? 1 : 2;
|
||||
int reqAmount = index == YAK_BODY_INDEX ? 2 : 1;
|
||||
if (!player.getInventory().contains(10820, reqAmount)) {
|
||||
player.getDialogueInterpreter().sendDialogue("You don't have the required amount of yak-hide in order to do this.");
|
||||
return false;
|
||||
|
|
@ -129,7 +130,7 @@ public class YakArmourPlugin extends UseWithHandler {
|
|||
if (++ticks % 5 != 0) {
|
||||
return false;
|
||||
}
|
||||
int reqAmount = index == 1 ? 1 : 2;
|
||||
int reqAmount = index == YAK_BODY_INDEX ? 2 : 1;
|
||||
if (player.getInventory().remove(new Item(10820, reqAmount))) {
|
||||
player.getInventory().add(node);
|
||||
player.getSkills().addExperience(Skills.CRAFTING, 32, true);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package content.region.misthalin.draynor.quest.anma;
|
||||
|
||||
import core.game.dialogue.DialoguePlugin;
|
||||
import core.game.dialogue.FacialExpression;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.entity.player.link.quest.Quest;
|
||||
import core.game.node.item.Item;
|
||||
import content.region.misthalin.draynor.quest.anma.AnmaCutscene;
|
||||
import org.rs09.consts.Items;
|
||||
|
||||
/**
|
||||
* Handles the husband of alice's npc dialogue.
|
||||
|
|
@ -46,6 +48,10 @@ public final class AliceHusbandDialogue extends DialoguePlugin {
|
|||
|
||||
@Override
|
||||
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);
|
||||
switch (quest.getStage(player)) {
|
||||
case 0:
|
||||
|
|
@ -85,6 +91,10 @@ public final class AliceHusbandDialogue extends DialoguePlugin {
|
|||
|
||||
@Override
|
||||
public boolean handle(int interfaceId, int buttonId) {
|
||||
if (!player.getEquipment().containsAtLeastOneItem(Items.GHOSTSPEAK_AMULET_552)) {
|
||||
end();
|
||||
return true;
|
||||
}
|
||||
switch (quest.getStage(player)) {
|
||||
default:
|
||||
switch (stage) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue