From 15465f20449c3195a507dc0cb452658258ae2808 Mon Sep 17 00:00:00 2001 From: RedSparr0w Date: Sun, 22 Sep 2019 16:51:09 +1200 Subject: [PATCH] fixup add doubles --- .../global/consumable/CookingProperties.java | 4 +++- .../crafting/armour/DragonCraftPulse.java | 4 +++- .../free/crafting/armour/HardCraftPulse.java | 4 +++- .../free/crafting/armour/SnakeSkinPulse.java | 4 +++- .../free/crafting/armour/SoftCraftPulse.java | 4 +++- .../skill/free/crafting/gem/GemCutPulse.java | 4 +++- .../crafting/jewellery/JewelleryPulse.java | 4 +++- .../crafting/pottery/FirePotteryPulse.java | 4 +++- .../free/crafting/pottery/PotteryPulse.java | 4 +++- .../free/crafting/spinning/SpinningPulse.java | 4 +++- .../skill/free/fishing/FishingPulse.java | 4 +++- .../free/gather/GatheringSkillPulse.java | 5 +++-- .../free/runecrafting/RuneCraftPulse.java | 6 ++++- .../skill/free/smithing/SmithingPulse.java | 4 +++- .../skill/member/farming/tool/SpadePulse.java | 4 +++- .../member/fletching/FletchingPulse.java | 4 +++- .../skill/member/herblore/HerbTarPulse.java | 4 +++- .../skill/member/herblore/HerblorePulse.java | 8 +++++-- .../skill/member/hunter/bnet/BNetNode.java | 4 +++- .../member/summoning/SummoningCreator.java | 4 +++- .../skill/member/thieving/Pickpocket.java | 9 ++++++-- .../member/thieving/PickpocketPulse.java | 5 ++++- .../content/skill/member/thieving/Stall.java | 22 +++++++++++++++++-- .../member/thieving/StallThiefPulse.java | 3 ++- .../node/entity/player/info/portal/Perks.java | 4 ++-- .../object/ThievingGuidePlugin.java | 1 + .../src/plugin/zone/WildernessAreaZone.java | 4 +++- .../zone/neitiznot/YakArmourPlugin.java | 1 + 28 files changed, 105 insertions(+), 31 deletions(-) diff --git a/09HDscape-server/src/org/crandor/game/content/global/consumable/CookingProperties.java b/09HDscape-server/src/org/crandor/game/content/global/consumable/CookingProperties.java index f7b00070d..7404f4d2c 100644 --- a/09HDscape-server/src/org/crandor/game/content/global/consumable/CookingProperties.java +++ b/09HDscape-server/src/org/crandor/game/content/global/consumable/CookingProperties.java @@ -173,7 +173,9 @@ public class CookingProperties { public boolean cook(final Food food, final Player player, final GameObject object, final boolean burned) { if (player.getInventory().remove(food.getRaw())) { if (!burned) { - Perks.addDouble(player, food.getItem()); + Item item = food.getItem(); + player.getInventory().add(item); + Perks.addDouble(player, item); } else { player.getInventory().add(food.getBurnt()); } diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/DragonCraftPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/DragonCraftPulse.java index b63b7b59b..a021bef48 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/DragonCraftPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/DragonCraftPulse.java @@ -100,7 +100,9 @@ public final class DragonCraftPulse extends SkillPulse { } else { player.getPacketDispatch().sendMessage("You make " + (StringUtils.isPlusN(ItemDefinition.forId(hide.getProduct()).getName().toLowerCase()) ? "an" : "a") + " " + ItemDefinition.forId(hide.getProduct()).getName().toLowerCase() + "."); } - Perks.addDouble(player, new Item(hide.getProduct())); + Item item = new Item(hide.getProduct()); + player.getInventory().add(item); + Perks.addDouble(player, item); if (player.getDetails().getShop().hasPerk(Perks.GOLDEN_NEEDLE) && RandomFunction.random(100) <= 10) { player.getSkills().addExperience(Skills.CRAFTING, (hide.getExperience() * 0.35), true); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/HardCraftPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/HardCraftPulse.java index 62ccff048..f8c6cb5fd 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/HardCraftPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/HardCraftPulse.java @@ -80,7 +80,9 @@ public final class HardCraftPulse extends SkillPulse { } } if (player.getInventory().remove(new Item(LeatherCrafting.HARD_LEATHER))) { - Perks.addDouble(player, new Item(1131)); + Item item = new Item(1131); + player.getInventory().add(item); + Perks.addDouble(player, item); if (player.getDetails().getShop().hasPerk(Perks.GOLDEN_NEEDLE) && RandomFunction.random(100) <= 10) { player.getSkills().addExperience(Skills.CRAFTING, (35 * 0.35), true); player.sendMessage("Your golden needle rewards you with some extra XP!"); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SnakeSkinPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SnakeSkinPulse.java index 1ae842095..662ac7ac2 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SnakeSkinPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SnakeSkinPulse.java @@ -87,7 +87,9 @@ public final class SnakeSkinPulse extends SkillPulse { } } if (player.getInventory().remove(new Item(6289, skin.getRequiredAmount()))) { - Perks.addDouble(player, skin.getProduct()); + Item item = skin.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); if (player.getDetails().getShop().hasPerk(Perks.GOLDEN_NEEDLE) && RandomFunction.random(100) <= 10) { player.getSkills().addExperience(Skills.CRAFTING, (skin.getExperience() * 0.35), true); player.sendMessage("Your golden needle rewards you with some extra XP!"); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SoftCraftPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SoftCraftPulse.java index 89e768130..0f88aaeb9 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SoftCraftPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/armour/SoftCraftPulse.java @@ -98,7 +98,9 @@ public final class SoftCraftPulse extends SkillPulse { } else { player.getPacketDispatch().sendMessage("You make " + (StringUtils.isPlusN(soft.getProduct().getName()) ? "an" : "a") + " " + soft.getProduct().getName().toLowerCase() + "."); } - Perks.addDouble(player, soft.getProduct()); + Item item = soft.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); if (player.getDetails().getShop().hasPerk(Perks.GOLDEN_NEEDLE) && RandomFunction.random(100) <= 10) { player.getSkills().addExperience(Skills.CRAFTING, (soft.getExperience() * 0.35), true); player.sendMessage("Your golden needle rewards you with some extra XP!"); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/gem/GemCutPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/gem/GemCutPulse.java index d47723f23..d2be3e447 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/gem/GemCutPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/gem/GemCutPulse.java @@ -73,7 +73,9 @@ public final class GemCutPulse extends SkillPulse { return false; } if (player.getInventory().remove(gem.getUncut())) { - Perks.addDouble(player, gem.getGem()); + final Item item = gem.getGem(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.CRAFTING, gem.getExp(), true); } amount--; diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/jewellery/JewelleryPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/jewellery/JewelleryPulse.java index e53976ba8..9f4503338 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/jewellery/JewelleryPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/jewellery/JewelleryPulse.java @@ -66,7 +66,9 @@ public final class JewelleryPulse extends SkillPulse { return false; } if (player.getInventory().remove(getItems())) { - Perks.addDouble(player, new Item(type.getSendItem())); + final Item item = new Item(type.getSendItem()); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.CRAFTING, type.getExperience(), true); } amount--; diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/FirePotteryPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/FirePotteryPulse.java index b1b365e94..332812f28 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/FirePotteryPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/FirePotteryPulse.java @@ -75,7 +75,9 @@ public final class FirePotteryPulse extends SkillPulse { if (player.getLocation().getY() == 3408 && player.getAttribute("spun-bowl", false) && !player.getAchievementDiaryManager().getDiary(DiaryType.VARROCK).isComplete(0, 9)) { player.getAchievementDiaryManager().getDiary(DiaryType.VARROCK).updateTask(player, 0, 9, true); } - Perks.addDouble(player, pottery.getProduct()); + final Item item = pottery.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.CRAFTING, pottery.getFireExp(), true); player.getPacketDispatch().sendMessage("You put the " + pottery.getUnfinished().getName().toLowerCase() + " in the oven."); player.getPacketDispatch().sendMessage("You remove a " + pottery.getProduct().getName().toLowerCase() + " from the oven."); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/PotteryPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/PotteryPulse.java index 33dc47729..b1402f08f 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/PotteryPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/pottery/PotteryPulse.java @@ -81,7 +81,9 @@ public final class PotteryPulse extends SkillPulse { if (pottery == PotteryItem.BOWL && player.getLocation().getX() == 3086) { player.setAttribute("spun-bowl", true); } - Perks.addDouble(player, pottery.getUnfinished()); + final Item item = pottery.getUnfinished(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.CRAFTING, pottery.getExp(), true); player.getPacketDispatch().sendMessage("You make the soft clay into " + (StringUtils.isPlusN(pottery.getUnfinished().getName()) ? "an" : "a") + " " + pottery.getUnfinished().getName().toLowerCase() + "."); } diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/spinning/SpinningPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/spinning/SpinningPulse.java index acb4fa8d7..4a7ce739a 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/spinning/SpinningPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/crafting/spinning/SpinningPulse.java @@ -72,7 +72,9 @@ public final class SpinningPulse extends SkillPulse { return false; } if (player.getInventory().remove(new Item(type.getNeed(), 1))) { - Perks.addDouble(player, new Item(type.getProduct(), 1)); + final Item item = new Item(type.getProduct(), 1); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.CRAFTING, type.getExp(), true); } ammount--; diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/fishing/FishingPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/fishing/FishingPulse.java index 706ab4be8..8536baa26 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/fishing/FishingPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/fishing/FishingPulse.java @@ -184,7 +184,9 @@ public final class FishingPulse extends SkillPulse { if (GlobalEventManager.get().isActive("Plenty of fish")) player.getInventory().add(fish.getItem()); SkillingPets.checkPetDrop(player, SkillingPets.HERON); - Perks.addDouble(player, fish.getItem()); + final Item item = fish.getItem(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.FISHING, fish.getExperience(), true); message(2); if (TutorialSession.getExtension(player).getStage() == 13) { diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java index c154bab09..fdbf32e89 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java @@ -161,7 +161,9 @@ public final class GatheringSkillPulse extends SkillPulse { applyAchievementTask(reward); // Give the player the items int rewardAmount = calculateRewardAmount(reward); - player.getInventory().add(new Item(reward, rewardAmount)); + Item item = new Item(reward, rewardAmount); + player.getInventory().add(item); + Perks.addDouble(player, item); // Apply the experience points double experience = calculateExperience(reward, rewardAmount); player.getSkills().addExperience(resource.getSkillId(), experience, true); @@ -369,7 +371,6 @@ public final class GatheringSkillPulse extends SkillPulse { } SkillingPets.checkPetDrop(player, isMining ? SkillingPets.GOLEM : SkillingPets.BEAVER); - Perks.addDouble(player, new Item(reward, 1)); return amount; } diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/runecrafting/RuneCraftPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/runecrafting/RuneCraftPulse.java index cb50dbe29..d2e958d04 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/runecrafting/RuneCraftPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/runecrafting/RuneCraftPulse.java @@ -175,6 +175,7 @@ public final class RuneCraftPulse extends SkillPulse { if (altar == Altar.COSMIC && i.getAmount() == 56 && !player.getAchievementDiaryManager().getDiary(DiaryType.LUMBRIDGE).isComplete(2, 1)) { player.getAchievementDiaryManager().updateTask(player, DiaryType.LUMBRIDGE, 2, 1, true); } + player.getInventory().add(i); Perks.addDouble(player, i); player.getSkills().addExperience(Skills.RUNECRAFTING, rune.getExperience() * amount, true); } @@ -193,7 +194,9 @@ public final class RuneCraftPulse extends SkillPulse { } } player.getSkills().addExperience(Skills.RUNECRAFTING, rune.getExperience() * 2, true); - Perks.addDouble(player, rune.getRune()); + Item runeItem = rune.getRune(); + player.getInventory().add(runeItem); + Perks.addDouble(player, runeItem); } } } @@ -300,6 +303,7 @@ public final class RuneCraftPulse extends SkillPulse { i++; } } + if (player.hasPerk(Perks.RUNESTONE_KNOWLEDGE) && (altar == Altar.DEATH || altar == Altar.LAW || altar == Altar.COSMIC || altar == Altar.BLOOD || altar == Altar.NATURE)) { i *= 2; } diff --git a/09HDscape-server/src/org/crandor/game/content/skill/free/smithing/SmithingPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/free/smithing/SmithingPulse.java index befee256e..2eb3beda5 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/free/smithing/SmithingPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/free/smithing/SmithingPulse.java @@ -80,7 +80,9 @@ public class SmithingPulse extends SkillPulse { return false; } player.getInventory().remove(new Item(bar.getBarType().getBarType(), bar.getSmithingType().getRequired())); - Perks.addDouble(player, (new Item(node.getId(), bar.getSmithingType().getProductAmount()))); + final Item item = new Item(node.getId(), bar.getSmithingType().getProductAmount()); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.SMITHING, bar.getBarType().getExperience() * bar.getSmithingType().getRequired(), true); String message = StringUtils.isPlusN(ItemDefinition.forId(bar.getProduct()).getName().toLowerCase()) == true ? "an" : "a"; player.getPacketDispatch().sendMessage("You hammer the " + bar.getBarType().getBarName().toLowerCase().replace("smithing", "") + "and make " + message + " " + ItemDefinition.forId(bar.getProduct()).getName().toLowerCase() + "."); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/farming/tool/SpadePulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/farming/tool/SpadePulse.java index 242214c03..96466cbfa 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/farming/tool/SpadePulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/farming/tool/SpadePulse.java @@ -178,7 +178,9 @@ public final class SpadePulse extends ToolAction { * @return {@code True} if harvested. */ private boolean harvestPatch() { - Perks.addDouble(player, wrapper.getNode().getProduct()); + final Item item = wrapper.getNode().getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.FARMING, wrapper.getNode().getExperiences()[1], true); wrapper.getCycle().setHarvestAmount(wrapper.getCycle().getHarvestAmount() - 1); if (wrapper.getCycle().getHarvestAmount() < 1) { diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/fletching/FletchingPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/fletching/FletchingPulse.java index 4dbc6da9a..1edb91ab3 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/fletching/FletchingPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/fletching/FletchingPulse.java @@ -64,7 +64,9 @@ public final class FletchingPulse extends SkillPulse { return false; } if (player.getInventory().remove(fletch.getType().getLog())) { - Perks.addDouble(player, fletch.getProduct()); + final Item item = fletch.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.FLETCHING, fletch.getExperience(), true); String message = getMessage(); player.getPacketDispatch().sendMessage(message); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerbTarPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerbTarPulse.java index 6629d6130..111001e7e 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerbTarPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerbTarPulse.java @@ -84,7 +84,9 @@ public final class HerbTarPulse extends SkillPulse { return false; } if (player.getInventory().containsItem(SWAMP_TAR) && player.getInventory().containsItem(tar.getIngredient()) && player.getInventory().remove(SWAMP_TAR) && player.getInventory().remove(tar.getIngredient())) { - Perks.addDouble(player, new Item(tar.getTar().getId(), 15)); + final Item item = new Item(tar.getTar().getId(), 15); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.HERBLORE, tar.getExperience(), true); player.getPacketDispatch().sendMessage("You add the " + tar.getIngredient().getName().toLowerCase().replace("clean", "").trim() + " to the swamp tar."); } else { diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerblorePulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerblorePulse.java index 46f688179..81673840d 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerblorePulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/herblore/HerblorePulse.java @@ -115,7 +115,9 @@ public final class HerblorePulse extends SkillPulse { player.animate(ANIMATION); } if ((player.getInventory().containsItem(potion.getBase()) && player.getInventory().containsItem(potion.getIngredient())) && player.getInventory().remove(potion.getBase(), potion.getIngredient())) { - Perks.addDouble(player, potion.getProduct()); + final Item item = potion.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getPacketDispatch().sendMessage("You put the" + StringUtils.formatDisplayName(potion.getIngredient().getName().replace("Clean", "")) + " Leaf into the vial of water."); if (cycles++ == 3) { player.animate(ANIMATION); @@ -129,7 +131,9 @@ public final class HerblorePulse extends SkillPulse { */ public void handleFinished() { if ((player.getInventory().containsItem(potion.getBase()) && player.getInventory().containsItem(potion.getIngredient())) && player.getInventory().remove(potion.getBase(), potion.getIngredient())) { - Perks.addDouble(player, potion.getProduct()); + final Item item = potion.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.HERBLORE, potion.getExperience(), true); player.getPacketDispatch().sendMessage("You mix the " + potion.getIngredient().getName().toLowerCase() + " into your potion."); player.animate(ANIMATION); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/hunter/bnet/BNetNode.java b/09HDscape-server/src/org/crandor/game/content/skill/member/hunter/bnet/BNetNode.java index 84685b6da..cacc5c9d4 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/hunter/bnet/BNetNode.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/hunter/bnet/BNetNode.java @@ -74,7 +74,9 @@ public class BNetNode { public void reward(Player player, NPC npc) { if (!isBareHand(player)) { if (player.getInventory().remove(getJar())) { - Perks.addDouble(player, getReward()); + final Item item = getReward(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.HUNTER, getExperience(player), true); } } else { diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/summoning/SummoningCreator.java b/09HDscape-server/src/org/crandor/game/content/skill/member/summoning/SummoningCreator.java index 757d1ce01..1bd68f9ac 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/summoning/SummoningCreator.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/summoning/SummoningCreator.java @@ -168,7 +168,9 @@ public final class SummoningCreator { } } if (player.getInventory().remove(type.getRequired())) { - Perks.addDouble(player, type.getProduct()); + final Item item = type.getProduct(); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(Skills.SUMMONING, type.getExperience(), true); } } diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Pickpocket.java b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Pickpocket.java index 717f7a66f..3a5f518f5 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Pickpocket.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Pickpocket.java @@ -162,6 +162,7 @@ public enum Pickpocket { if (this == MARTIN_THE_MASTER_GARDENER) { return RandomFunction.getChanceItem(MARTIN_REWARDS).getRandomItem(); } + // 5/250 chance for easy clue scroll? if ((this == FEMALE_HAM_MEMBER || this == MALE_HAM_MEMBER) && RandomFunction.random(250) <= 5 && !player.getTreasureTrailManager().hasClue()) { return ClueScrollPlugin.getClue(ClueLevel.EASY); } @@ -169,12 +170,16 @@ public enum Pickpocket { if (loot.length == 1) { loot = new int[] { loot[0], 1 }; } + + + // Calculate any bonus multipliers + int bonusMultiplier = 1; if (loot[0] == 995) { if(GlobalEventManager.get().isActive("Thieves jackpot")) { - loot[1] *= 3; + bonusMultiplier *= 3; } } - return new Item(loot[0], loot[1]); + return new Item(loot[0], loot[1] * bonusMultiplier); } /** diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/PickpocketPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/PickpocketPulse.java index 03c196acc..9496154b1 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/PickpocketPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/PickpocketPulse.java @@ -12,6 +12,7 @@ import org.crandor.game.node.entity.player.info.portal.Perks; import org.crandor.game.node.entity.player.link.audio.Audio; import org.crandor.game.node.entity.player.link.diary.DiaryType; import org.crandor.game.node.entity.state.EntityState; +import org.crandor.game.node.item.Item; import org.crandor.game.world.GameWorld; import org.crandor.game.world.update.flag.context.Animation; import org.crandor.tools.RandomFunction; @@ -101,7 +102,9 @@ public final class PickpocketPulse extends SkillPulse { player.getAchievementDiaryManager().getDiary(DiaryType.LUMBRIDGE).updateTask(player, 1, 6, true); } player.getSkills().addExperience(Skills.THIEVING, type.getExperience(), true); - Perks.addDouble(player, type.getRandomLoot(player), true); + Item loot = type.getRandomLoot(player); + player.getInventory().add(loot); + Perks.addDouble(player, loot, true); player.getPacketDispatch().sendMessage(type.getRewardMessage().replace("@name", node.getName().toLowerCase())); } else { node.animate(NPC_ANIM); diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Stall.java b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Stall.java index e30d87cfe..0cbce9968 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Stall.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/Stall.java @@ -11,9 +11,27 @@ import org.crandor.tools.RandomFunction; * @author 'Vexia */ public enum Stall { - VEGETABLE_STALL(new int[] { 4706, 4708, }, 2, new int[][] { { 1957, 1 }, { 1965, 1 }, { 1942, 1 } }, "some vegetables from the vegetable's merchant stall.", 10, 634, 10), BAKER_STALL(new int[] { 2561, 6163, 34384 }, 5, new int[][] { { 1891, 1 }, { 2309, 1 }, { 1901, 1 } }, "a cake from the baker's stall.", 16, 634, 11), CRAFTING_STALL(new int[] { 6166 }, 5, new int[][] { { 1755, 1 }, { 1592, 1 }, { 1901, 1 }, { 1597, 1 } }, "some crafting equipment from the crafting merchant stall", 16, 634, 18), TEA_STALL(new int[] { 635, 6574 }, 5, new int[][] { { 712, 1 } }, "a cup of tea.", 16, 634, 10), SILK_STALL(new int[] { 34383, 2560 }, 20, new int[][] { { 950, 1 } }, "some silk from the silk stall.", 24, 634, 10), WINE_STALL(new int[] { 34383, 14011 }, 22, new int[][] { { 1937, 1 }, { 1993, 1 }, { 1987, 1 }, { 1935, 1 }, { 7919, 1 } }, "some wine from the wine stall.", 27, 634, 20), SEED_STALL(new int[] { 7053 }, 27, new int[][] { { 5305, 1 }, { 5306, 1 }, { 5308, 1 }, { 5319, 3 }, { 5318, 2 }, { 5324, 1 }, { 5322, 2 } }, "some seed's from the seed merchant's stall.", 10, 634, 10), FUR_STALL(new int[] { 34387, 2563 }, 35, new int[][] { { 6814, 1 }, { 958, 1 } }, "some fur from the fur stall.", 36, 634, 22), FISH_STAILL(new int[] { 4277, 4705, 4707 }, 42, new int[][] { { 331, 1 }, { 359, 1 }, { 377, 1 } }, "some fish from the fish stall.", 42, 634, 22), CROSSBOW_STALL(new int[] { 4277, 4705, 4707 }, 49, new int[][] { { 9375, 3 }, { 9420, 1 }, { 9440, 1 } }, "something from the crossbow stall.", 52, 634, 22), SILVER_STALL(new int[] { 2565, 6164, 34382 }, 50, new int[][] { { 442, 1 } }, "some silver from the silver stall.", 54, 634, 50), SPICE_STALL(new int[] { 2564, 34386 }, 65, new int[][] { { 2007, 1 } }, "some spice from the spice stall.", 81, 634, 100), MAGIC_STALL(new int[] { 4705, 4707 }, 65, new int[][] { { 556, 1 }, { 557, 1 }, { 554, 1 }, { 555, 1 }, { 563, 1 } }, "some runes from the rune's stall.", 100, 634, 100), SCIMITAR_STALL(new int[] { 4705, 4707 }, 65, new int[][] { { 1323, 1 } }, "a scimitar from the scimitar stall.", 100, 634, 100), GEM_STALL(new int[] { 2562, 6162, 34385 }, 75, new int[][] { { 1623, 1 } }, "a gem from the gem stall.", 160, 634, 340), + VEGETABLE_STALL(new int[] { 4706, 4708, }, 2, new int[][] { { 1957, 1 }, { 1965, 1 }, { 1942, 1 } }, "some vegetables from the vegetable's merchant stall.", 10, 634, 10), + BAKER_STALL(new int[] { 2561, 6163, 34384 }, 5, new int[][] { { 1891, 1 }, { 2309, 1 }, { 1901, 1 } }, "a cake from the baker's stall.", 16, 634, 11), + CRAFTING_STALL(new int[] { 6166 }, 5, new int[][] { { 1755, 1 }, { 1592, 1 }, { 1901, 1 }, { 1597, 1 } }, "some crafting equipment from the crafting merchant stall", 16, 634, 18), + TEA_STALL(new int[] { 635, 6574 }, 5, new int[][] { { 712, 1 } }, "a cup of tea.", 16, 634, 10), + SILK_STALL(new int[] { 34383, 2560 }, 20, new int[][] { { 950, 1 } }, "some silk from the silk stall.", 24, 634, 10), + WINE_STALL(new int[] { 34383, 14011 }, 22, new int[][] { { 1937, 1 }, { 1993, 1 }, { 1987, 1 }, { 1935, 1 }, { 7919, 1 } }, "some wine from the wine stall.", 27, 634, 20), + SEED_STALL(new int[] { 7053 }, 27, new int[][] { { 5305, 1 }, { 5306, 1 }, { 5308, 1 }, { 5319, 3 }, { 5318, 2 }, { 5324, 1 }, { 5322, 2 } }, "some seed's from the seed merchant's stall.", 10, 634, 10), + FUR_STALL(new int[] { 34387, 2563 }, 35, new int[][] { { 6814, 1 }, { 958, 1 } }, "some fur from the fur stall.", 36, 634, 22), + FISH_STAILL(new int[] { 4277, 4705, 4707 }, 42, new int[][] { { 331, 1 }, { 359, 1 }, { 377, 1 } }, "some fish from the fish stall.", 42, 634, 22), + CROSSBOW_STALL(new int[] { 4277, 4705, 4707 }, 49, new int[][] { { 9375, 3 }, { 9420, 1 }, { 9440, 1 } }, "something from the crossbow stall.", 52, 634, 22), + SILVER_STALL(new int[] { 2565, 6164, 34382 }, 50, new int[][] { { 442, 1 } }, "some silver from the silver stall.", 54, 634, 50), + SPICE_STALL(new int[] { 2564, 34386 }, 65, new int[][] { { 2007, 1 } }, "some spice from the spice stall.", 81, 634, 100), + MAGIC_STALL(new int[] { 4705, 4707 }, 65, new int[][] { { 556, 1 }, { 557, 1 }, { 554, 1 }, { 555, 1 }, { 563, 1 } }, "some runes from the rune's stall.", 100, 634, 100), + SCIMITAR_STALL(new int[] { 4705, 4707 }, 65, new int[][] { { 1323, 1 } }, "a scimitar from the scimitar stall.", 100, 634, 100), + GEM_STALL(new int[] { 2562, 6162, 34385 }, 75, new int[][] { { 1623, 1 } }, "a gem from the gem stall.", 160, 634, 340), // ape atoll: - SCIMITAR_APE_STALL(new int[] { 4878 }, 65, new int[][] { { 1323, 1 } }, "a scimitar from the scimitar stall.", 100, 4797, 120), MAGIC_APE_STALL(new int[] { 4877 }, 65, new int[][] { { 556, 1 }, { 557, 1 }, { 554, 1 }, { 555, 1 }, { 563, 1 } }, "some runes from the magic stall.", 100, 4797, 120), MONEKY_GENERAL(new int[] { 4876 }, 5, new int[][] { { 1931, 1 }, { 2347, 1 }, { 590, 1 } }, "a general item from the general stall.", 16, 4797, 10), MONKEY_FOOD(new int[] { 4875 }, 5, new int[][] { { 1963, 1 } }, "a banana from the food stall.", 16, 4797, 10), CRAFTING_APE(new int[] { 4874 }, 5, new int[][] { { 1755, 1 }, { 1592, 1 }, { 1901, 1 }, { 1597, 1 } }, "a crafting item from the crafting stall.", 16, 4797, 10); + SCIMITAR_APE_STALL(new int[] { 4878 }, 65, new int[][] { { 1323, 1 } }, "a scimitar from the scimitar stall.", 100, 4797, 120), + MAGIC_APE_STALL(new int[] { 4877 }, 65, new int[][] { { 556, 1 }, { 557, 1 }, { 554, 1 }, { 555, 1 }, { 563, 1 } }, "some runes from the magic stall.", 100, 4797, 120), + MONEKY_GENERAL(new int[] { 4876 }, 5, new int[][] { { 1931, 1 }, { 2347, 1 }, { 590, 1 } }, "a general item from the general stall.", 16, 4797, 10), + MONKEY_FOOD(new int[] { 4875 }, 5, new int[][] { { 1963, 1 } }, "a banana from the food stall.", 16, 4797, 10), + CRAFTING_APE(new int[] { 4874 }, 5, new int[][] { { 1755, 1 }, { 1592, 1 }, { 1901, 1 }, { 1597, 1 } }, "a crafting item from the crafting stall.", 16, 4797, 10); /** * Constructs a new {@code Stall} {@code Object}. diff --git a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/StallThiefPulse.java b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/StallThiefPulse.java index 81f43f946..73a7a42d2 100644 --- a/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/StallThiefPulse.java +++ b/09HDscape-server/src/org/crandor/game/content/skill/member/thieving/StallThiefPulse.java @@ -96,7 +96,6 @@ public final class StallThiefPulse extends SkillPulse { } final boolean success = success(); if (success) { - final Item item = stall.getRandomLoot(); if (stall == Stall.SILK_STALL) { player.getSavedData().getGlobalData().setSilkSteal(System.currentTimeMillis() + 1800000); } @@ -106,6 +105,8 @@ public final class StallThiefPulse extends SkillPulse { if (node.isActive()) { ObjectBuilder.replace(((GameObject) node), ((GameObject) node).transform(stall.getTemporary()), stall.getDelay()); } + final Item item = stall.getRandomLoot(); + player.getInventory().add(item); Perks.addDouble(player, item, true); player.getSkills().addExperience(Skills.THIEVING, stall.getExperience(), true); if (item.getId() == 1987) { diff --git a/09HDscape-server/src/org/crandor/game/node/entity/player/info/portal/Perks.java b/09HDscape-server/src/org/crandor/game/node/entity/player/info/portal/Perks.java index 43fd6fda6..85f98211b 100644 --- a/09HDscape-server/src/org/crandor/game/node/entity/player/info/portal/Perks.java +++ b/09HDscape-server/src/org/crandor/game/node/entity/player/info/portal/Perks.java @@ -100,8 +100,8 @@ public enum Perks { * @return the item. */ public static boolean addDouble(Player player, Item item, boolean ground, int maxRand) { - // 10 % chance to give an extra item - if (!player.hasPerk(DOUBLE_TROUBLE) || RandomFunction.random(maxRand) > 10) { + // 5% chance to give an extra item + if (!player.hasPerk(DOUBLE_TROUBLE) || RandomFunction.random(maxRand) > 5) { return false; } // Give the player the extra item(s)! diff --git a/09HDscape-server/src/plugin/interaction/object/ThievingGuidePlugin.java b/09HDscape-server/src/plugin/interaction/object/ThievingGuidePlugin.java index 5ef9a8726..d8ae67bca 100644 --- a/09HDscape-server/src/plugin/interaction/object/ThievingGuidePlugin.java +++ b/09HDscape-server/src/plugin/interaction/object/ThievingGuidePlugin.java @@ -168,6 +168,7 @@ public class ThievingGuidePlugin extends OptionHandler { } tries++; } + player.getInventory().add(item); Perks.addDouble(player, item); } diff --git a/09HDscape-server/src/plugin/zone/WildernessAreaZone.java b/09HDscape-server/src/plugin/zone/WildernessAreaZone.java index 91cd8607e..2408b9fd4 100644 --- a/09HDscape-server/src/plugin/zone/WildernessAreaZone.java +++ b/09HDscape-server/src/plugin/zone/WildernessAreaZone.java @@ -235,7 +235,9 @@ public class WildernessAreaZone extends MapZone implements Plugin { } node.transform(8667); node.setAttribute("reward-tick", GameWorld.getTicks() + resource.getRespawnDuration()); - Perks.addDouble(player, new Item(resource.getReward())); + final Item item = new Item(resource.getReward()); + player.getInventory().add(item); + Perks.addDouble(player, item); player.getSkills().addExperience(resource.getSkillId(), resource.getExperience(), true); return true; } diff --git a/09HDscape-server/src/plugin/zone/neitiznot/YakArmourPlugin.java b/09HDscape-server/src/plugin/zone/neitiznot/YakArmourPlugin.java index 531d7a198..d1ab57236 100644 --- a/09HDscape-server/src/plugin/zone/neitiznot/YakArmourPlugin.java +++ b/09HDscape-server/src/plugin/zone/neitiznot/YakArmourPlugin.java @@ -139,6 +139,7 @@ public class YakArmourPlugin extends UseWithHandler { } int reqAmount = index == 1 ? 1 : 2; if (player.getInventory().remove(new Item(10820, reqAmount))) { + player.getInventory().add(node); Perks.addDouble(player, node); if (player.getDetails().getShop().hasPerk(Perks.GOLDEN_NEEDLE) && RandomFunction.random(100) <= 10) { player.getSkills().addExperience(Skills.CRAFTING, (32 * 0.35), true);