Merge remote-tracking branch 'origin/master'

This commit is contained in:
Ceikry
2021-04-08 12:47:29 -05:00
9 changed files with 265 additions and 237 deletions
+5 -17
View File
@@ -948,18 +948,6 @@
"weight": "5.0", "weight": "5.0",
"id": "2353", "id": "2353",
"maxAmount": "1" "maxAmount": "1"
},
{
"minAmount": "1",
"weight": "5.0",
"id": "2434",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "5.0",
"id": "173",
"maxAmount": "1"
} }
] ]
}, },
@@ -9972,7 +9960,7 @@
}, },
{ {
"minAmount": "1", "minAmount": "1",
"weight": "5.0", "weight": "3.0",
"id": "143", "id": "143",
"maxAmount": "1" "maxAmount": "1"
}, },
@@ -36947,7 +36935,7 @@
}, },
{ {
"minAmount": "1", "minAmount": "1",
"weight": "25.0", "weight": "20.0",
"id": "141", "id": "141",
"maxAmount": "1" "maxAmount": "1"
}, },
@@ -51807,10 +51795,10 @@
"maxAmount": "2" "maxAmount": "2"
}, },
{ {
"minAmount": "3", "minAmount": "1",
"weight": "250.0", "weight": "200.0",
"id": "2434", "id": "2434",
"maxAmount": "3" "maxAmount": "2"
}, },
{ {
"minAmount": "3", "minAmount": "3",
+8
View File
@@ -15,6 +15,10 @@
"item_id": "88", "item_id": "88",
"loc_data": "{1,2654,9767,0,4587583}" "loc_data": "{1,2654,9767,0,4587583}"
}, },
{
"item_id": "185",
"loc_data": "{1,2467,3176,0,7209050}"
},
{ {
"item_id": "223", "item_id": "223",
"loc_data": "{1,3128,9956,0,7864410}-{1,3129,9954,0,7864410}-{1,3126,9958,0,7864410}-{1,3117,9951,0,7864410}-{1,3118,9948,0,7864410}-{1,3119,9949,0,7864410}-{1,3179,9881,0,7864410}-{1,3177,9880,0,7864410}" "loc_data": "{1,3128,9956,0,7864410}-{1,3129,9954,0,7864410}-{1,3126,9958,0,7864410}-{1,3117,9951,0,7864410}-{1,3118,9948,0,7864410}-{1,3119,9949,0,7864410}-{1,3179,9881,0,7864410}-{1,3177,9880,0,7864410}"
@@ -427,6 +431,10 @@
"item_id": "2347", "item_id": "2347",
"loc_data": "{1,2934,3286,0,7209050}-{1,2579,3463,0,5242920}-{1,2975,3368,1,5898270}" "loc_data": "{1,2934,3286,0,7209050}-{1,2579,3463,0,5242920}-{1,2975,3368,1,5898270}"
}, },
{
"item_id": "2351",
"loc_data": "{1,3062,3657,0,11141270}"
},
{ {
"item_id": "2357", "item_id": "2357",
"loc_data": "{1,3192,9822,0,11141270}" "loc_data": "{1,3192,9822,0,11141270}"
File diff suppressed because it is too large Load Diff
+11 -8
View File
@@ -12335,13 +12335,13 @@
"defence_animation": "425", "defence_animation": "425",
"death_animation": "836", "death_animation": "836",
"name": "Tyras guard", "name": "Tyras guard",
"defence_level": "1", "defence_level": "110",
"safespot": null, "safespot": null,
"lifepoints": "112", "lifepoints": "110",
"strength_level": "1", "strength_level": "105",
"id": "1203", "id": "1203",
"range_level": "1", "range_level": "50",
"attack_level": "1" "attack_level": "95"
}, },
{ {
"examine": "One of King Tyras's men.", "examine": "One of King Tyras's men.",
@@ -16033,6 +16033,7 @@
"examine": "A spiky crawling critter. ", "examine": "A spiky crawling critter. ",
"melee_animation": "266", "melee_animation": "266",
"range_animation": "266", "range_animation": "266",
"poisonous": "true",
"attack_speed": "4", "attack_speed": "4",
"respawn_delay": "25", "respawn_delay": "25",
"defence_animation": "267", "defence_animation": "267",
@@ -16053,6 +16054,7 @@
"examine": "A spiky crawling critter. ", "examine": "A spiky crawling critter. ",
"melee_animation": "266", "melee_animation": "266",
"range_animation": "266", "range_animation": "266",
"poisonous": "true",
"attack_speed": "4", "attack_speed": "4",
"respawn_delay": "25", "respawn_delay": "25",
"defence_animation": "267", "defence_animation": "267",
@@ -16073,6 +16075,7 @@
"examine": "A spiky crawling critter. ", "examine": "A spiky crawling critter. ",
"melee_animation": "266", "melee_animation": "266",
"range_animation": "266", "range_animation": "266",
"poisonous": "true",
"attack_speed": "4", "attack_speed": "4",
"respawn_delay": "25", "respawn_delay": "25",
"defence_animation": "267", "defence_animation": "267",
@@ -16253,7 +16256,7 @@
"defence_level": "107", "defence_level": "107",
"safespot": null, "safespot": null,
"lifepoints": "105", "lifepoints": "105",
"strength_level": "105", "strength_level": "95",
"id": "1610", "id": "1610",
"aggressive": "true", "aggressive": "true",
"bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0", "bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0",
@@ -18799,7 +18802,7 @@
"defence_level": "107", "defence_level": "107",
"safespot": null, "safespot": null,
"lifepoints": "105", "lifepoints": "105",
"strength_level": "105", "strength_level": "95",
"id": "1827", "id": "1827",
"aggressive": "true", "aggressive": "true",
"bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0", "bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0",
@@ -55952,7 +55955,7 @@
"defence_level": "107", "defence_level": "107",
"safespot": null, "safespot": null,
"lifepoints": "105", "lifepoints": "105",
"strength_level": "105", "strength_level": "95",
"id": "6389", "id": "6389",
"aggressive": "true", "aggressive": "true",
"bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0", "bonuses": "0,0,0,0,0,20,20,0,20,20,0,0,0,0,0",
+3 -3
View File
@@ -1773,7 +1773,7 @@
}, },
{ {
"npc_id": "666", "npc_id": "666",
"loc_data": "{2819,3451,0,0,3}-{3158,3405,0,0,0}" "loc_data": "{2819,3451,0,0,3}"
}, },
{ {
"npc_id": "670", "npc_id": "670",
@@ -5973,7 +5973,7 @@
}, },
{ {
"npc_id": "3804", "npc_id": "3804",
"loc_data": "{3349,3793,0,0,0}-{3349,3793,0,0,4}-{3349,3793,0,0,4}" "loc_data": "{3349,3793,0,0,0}"
}, },
{ {
"npc_id": "3806", "npc_id": "3806",
@@ -9421,7 +9421,7 @@
}, },
{ {
"npc_id": "7046", "npc_id": "7046",
"loc_data": "{2460,2925,0,0,4}-{3353,3810,0,0,0}-{3348,3812,0,0,4}-{3367,3801,0,0,4}" "loc_data": "{2460,2925,0,0,4}-{3364,3800,0,0,4}-{3368,3811,0,0,4}-{3347,3814,0,0,4}-{3363,3816,0,0,4}"
}, },
{ {
"npc_id": "7047", "npc_id": "7047",
@@ -3,6 +3,7 @@ package core.game.content.quest.members.lostcity;
import core.game.interaction.NodeUsageEvent; import core.game.interaction.NodeUsageEvent;
import core.game.interaction.UseWithHandler; import core.game.interaction.UseWithHandler;
import core.game.node.entity.player.Player; import core.game.node.entity.player.Player;
import core.game.node.entity.skill.Skills;
import core.game.node.item.Item; import core.game.node.item.Item;
import core.plugin.Plugin; import core.plugin.Plugin;
@@ -38,9 +39,13 @@ public final class DramenStaffPlugin extends UseWithHandler {
@Override @Override
public boolean handle(NodeUsageEvent event) { public boolean handle(NodeUsageEvent event) {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
if (player.getInventory().remove(DRAMEN_BRANCH)) { if (player.getInventory().containsItem(DRAMEN_BRANCH) && player.getSkills().hasLevel(Skills.CRAFTING,31)) {
player.getInventory().remove(DRAMEN_BRANCH);
player.getInventory().add(DRAMEN_STAFF); player.getInventory().add(DRAMEN_STAFF);
player.getPacketDispatch().sendMessage("You carve the branch into a staff."); player.getDialogueInterpreter().sendDialogue("You carve the branch into a staff.");
}else{
player.getDialogueInterpreter().sendDialogue("You need a crafting level of 31 to do this.");
return false;
} }
player.lock(1); player.lock(1);
return true; return true;
@@ -4,6 +4,7 @@ import core.cache.def.impl.ObjectDefinition;
import core.game.component.Component; import core.game.component.Component;
import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.entity.player.link.diary.DiaryType;
import core.game.content.activity.ActivityManager; import core.game.content.activity.ActivityManager;
import core.game.node.entity.skill.Skills;
import core.game.node.entity.skill.gather.SkillingTool; import core.game.node.entity.skill.gather.SkillingTool;
import core.game.node.entity.skill.runecrafting.Altar; import core.game.node.entity.skill.runecrafting.Altar;
import core.game.interaction.NodeUsageEvent; import core.game.interaction.NodeUsageEvent;
@@ -194,14 +195,19 @@ public class WLBelowPlugin extends OptionHandler {
return true; return true;
}*/ }*/
Item chaosItem = player.getInventory().containsItem(CHAOS_TALISMAN) ? CHAOS_TALISMAN : CHAOS_TIARA; Item chaosItem = player.getInventory().containsItem(CHAOS_TALISMAN) ? CHAOS_TALISMAN : CHAOS_TIARA;
if (chaosItem != null && player.getInventory().remove(CHAOS_RUNES)) { if (player.getSkills().hasLevel(Skills.RUNECRAFTING,35)){
player.lock(5); if (chaosItem != null && player.getInventory().remove(CHAOS_RUNES)) {
player.getInventory().remove(WhatLiesBelow.WAND); player.lock(5);
player.getInventory().add(WhatLiesBelow.INFUSED_WAND); player.getInventory().remove(WhatLiesBelow.WAND);
player.animate(Animation.create(6104)); player.getInventory().add(WhatLiesBelow.INFUSED_WAND);
player.getDialogueInterpreter().sendDialogue("The metal wand bursts into life and crackles with arcane", "power. This is a powerful instrument indeed!"); player.animate(Animation.create(6104));
player.getDialogueInterpreter().sendDialogue("The metal wand bursts into life and crackles with arcane", "power. This is a powerful instrument indeed!");
}
return true;
}else {
player.getDialogueInterpreter().sendDialogue("You need a Runecrafting level of 35 to make the infused wand.");
return false;
} }
return true;
} }
} }
@@ -10,7 +10,7 @@ import rs09.game.content.global.WeightedItem
import java.util.stream.IntStream import java.util.stream.IntStream
enum class Pickpockets(val ids: IntArray, val requiredLevel: Int, val low: Double, val high: Double, val experience: Double, val stunDamageMin: Int, val stunDamageMax: Int, val stunTime: Int, val table: WeightBasedTable) { enum class Pickpockets(val ids: IntArray, val requiredLevel: Int, val low: Double, val high: Double, val experience: Double, val stunDamageMin: Int, val stunDamageMax: Int, val stunTime: Int, val table: WeightBasedTable) {
MAN(intArrayOf(1, 2, 3, 4, 5, 6, 16, 24, 170, 3915), 1, 180.0, 240.0, 8.0, 1, 1,5, WeightBasedTable.create( MAN(intArrayOf(1, 2, 3, 4, 5, 6, 16, 24, 170, 3915, 3226, 5924, 5923), 1, 180.0, 240.0, 8.0, 1, 1,5, WeightBasedTable.create(
WeightedItem(Items.COINS_995,3,3,1.0,true) WeightedItem(Items.COINS_995,3,3,1.0,true)
)), )),
FARMER(intArrayOf(7, 1757, 1758), 10, 180.0, 240.0, 14.5, 1,1,5,WeightBasedTable.create( FARMER(intArrayOf(7, 1757, 1758), 10, 180.0, 240.0, 14.5, 1,1,5,WeightBasedTable.create(
@@ -98,7 +98,7 @@ class MiscCommandSet : CommandSet(Command.Privilege.ADMIN){
/** /**
* Lists the players currently online * Lists the players currently online
*/ */
define("players", Command.Privilege.STANDARD){ player, _ -> define("players", Command.Privilege.MODERATOR){ player, _ ->
val rights = player.rights.ordinal val rights = player.rights.ordinal
if (player!!.interfaceManager.isOpened && player.interfaceManager.opened.id != Components.QUESTJOURNAL_SCROLL_275 || player.locks.isMovementLocked || player.locks.isTeleportLocked) { if (player!!.interfaceManager.isOpened && player.interfaceManager.opened.id != Components.QUESTJOURNAL_SCROLL_275 || player.locks.isMovementLocked || player.locks.isTeleportLocked) {
reject(player, "Please finish what you're doing first.") reject(player, "Please finish what you're doing first.")