Fixed sum shit
This commit is contained in:
@@ -44633,7 +44633,7 @@
|
|||||||
"id": "4564"
|
"id": "4564"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"bankable": "false",
|
"bankable": "true",
|
||||||
"turn90cw_anim": "821",
|
"turn90cw_anim": "821",
|
||||||
"examine": "Hand them out to spread the Easter happiness.",
|
"examine": "Hand them out to spread the Easter happiness.",
|
||||||
"walk_anim": "1836",
|
"walk_anim": "1836",
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ public final class GameAttributes {
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public <T> T getAttribute(String key) {
|
public <T> T getAttribute(String key) {
|
||||||
|
key = key.replace("/save:","");
|
||||||
if (!attributes.containsKey(key)) {
|
if (!attributes.containsKey(key)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -304,7 +304,9 @@ public final class WildernessZone extends MapZone {
|
|||||||
p.getInterfaceManager().openWildernessOverlay(new Component(381));
|
p.getInterfaceManager().openWildernessOverlay(new Component(381));
|
||||||
p.getSkullManager().setLevel(getWilderness(p));
|
p.getSkullManager().setLevel(getWilderness(p));
|
||||||
p.getPacketDispatch().sendString("Level: " + p.getSkullManager().getLevel(), 381, 1);
|
p.getPacketDispatch().sendString("Level: " + p.getSkullManager().getLevel(), 381, 1);
|
||||||
p.getInteraction().set(Option._P_ATTACK);
|
if(GameWorld.getSettings().getWild_pvp_enabled()) {
|
||||||
|
p.getInteraction().set(Option._P_ATTACK);
|
||||||
|
}
|
||||||
p.getSkullManager().setWilderness(true);
|
p.getSkullManager().setWilderness(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ import core.game.content.global.BossKillCounter
|
|||||||
import core.game.node.entity.player.Player
|
import core.game.node.entity.player.Player
|
||||||
import core.game.node.item.GroundItemManager
|
import core.game.node.item.GroundItemManager
|
||||||
import core.game.node.item.Item
|
import core.game.node.item.Item
|
||||||
import core.game.node.item.WeightedChanceItem
|
|
||||||
import core.tools.RandomFunction
|
import core.tools.RandomFunction
|
||||||
import org.rs09.consts.Components
|
import org.rs09.consts.Components
|
||||||
import org.rs09.consts.Items
|
import org.rs09.consts.Items
|
||||||
|
import rs09.game.content.global.WeightBasedTable
|
||||||
|
import rs09.game.content.global.WeightedItem
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21,49 +22,49 @@ object RewardChest {
|
|||||||
/**
|
/**
|
||||||
* The low profit drop table.
|
* The low profit drop table.
|
||||||
*/
|
*/
|
||||||
private val DROP_TABLE = arrayOf(
|
private val DROP_TABLE = WeightBasedTable.create(
|
||||||
//Weighted total = 3050
|
//Weighted total = 3050
|
||||||
WeightedChanceItem(Items.COINS_995, 1, 5306, 950),
|
WeightedItem(Items.COINS_995, 1, 5306, 950.0),
|
||||||
WeightedChanceItem(Items.MIND_RUNE_558, 60, 60, 300),
|
WeightedItem(Items.MIND_RUNE_558, 60, 60, 300.0),
|
||||||
WeightedChanceItem(Items.MIND_RUNE_558, 100, 850, 300),
|
WeightedItem(Items.MIND_RUNE_558, 100, 850, 300.0),
|
||||||
WeightedChanceItem(Items.CHAOS_RUNE_562, 115, 720, 300),
|
WeightedItem(Items.CHAOS_RUNE_562, 115, 720, 300.0),
|
||||||
WeightedChanceItem(Items.DEATH_RUNE_560, 15, 15, 300),
|
WeightedItem(Items.DEATH_RUNE_560, 15, 15, 300.0),
|
||||||
WeightedChanceItem(Items.DEATH_RUNE_560, 70, 230, 300),
|
WeightedItem(Items.DEATH_RUNE_560, 70, 230, 300.0),
|
||||||
WeightedChanceItem(Items.BLOOD_RUNE_565, 35, 230, 300),
|
WeightedItem(Items.BLOOD_RUNE_565, 35, 230, 300.0),
|
||||||
WeightedChanceItem(Items.BOLT_RACK_4740, 35, 280, 300),
|
WeightedItem(Items.BOLT_RACK_4740, 35, 280, 300.0),
|
||||||
//Weight total = 975
|
//Weight total = 975
|
||||||
WeightedChanceItem(Items.SUPER_DEFENCE2_165, 1, 1, 325),
|
WeightedItem(Items.SUPER_DEFENCE2_165, 1, 1, 325.0),
|
||||||
WeightedChanceItem(Items.PRAYER_POTION2_141, 1, 1, 325),
|
WeightedItem(Items.PRAYER_POTION2_141, 1, 1, 325.0),
|
||||||
WeightedChanceItem(Items.RESTORE_POTION2_129, 1, 1, 325),
|
WeightedItem(Items.RESTORE_POTION2_129, 1, 1, 325.0),
|
||||||
//Weight total = 53
|
//Weight total = 53
|
||||||
WeightedChanceItem(Items.TOOTH_HALF_OF_A_KEY_985, 1, 1, 25),
|
WeightedItem(Items.TOOTH_HALF_OF_A_KEY_985, 1, 1, 25.0),
|
||||||
WeightedChanceItem(Items.LOOP_HALF_OF_A_KEY_987, 1, 1, 25),
|
WeightedItem(Items.LOOP_HALF_OF_A_KEY_987, 1, 1, 25.0),
|
||||||
WeightedChanceItem(Items.DRAGON_MED_HELM_1149, 1, 1, 3),
|
WeightedItem(Items.DRAGON_MED_HELM_1149, 1, 1, 3.0),
|
||||||
//Weight total = 120 BARROWS ITEMS V
|
//Weight total = 120 BARROWS ITEMS V
|
||||||
WeightedChanceItem(4708, 1, 1, 5),
|
WeightedItem(4708, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4710, 1, 1, 5),
|
WeightedItem(4710, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4712, 1, 1, 5),
|
WeightedItem(4712, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4714, 1, 1, 5),
|
WeightedItem(4714, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4716, 1, 1, 5),
|
WeightedItem(4716, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4718, 1, 1, 5),
|
WeightedItem(4718, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4720, 1, 1, 5),
|
WeightedItem(4720, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4722, 1, 1, 5),
|
WeightedItem(4722, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4724, 1, 1, 5),
|
WeightedItem(4724, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4726, 1, 1, 5),
|
WeightedItem(4726, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4728, 1, 1, 5),
|
WeightedItem(4728, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4730, 1, 1, 5),
|
WeightedItem(4730, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4732, 1, 1, 5),
|
WeightedItem(4732, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4734, 1, 1, 5),
|
WeightedItem(4734, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4736, 1, 1, 5),
|
WeightedItem(4736, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4738, 1, 1, 5),
|
WeightedItem(4738, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4745, 1, 1, 5),
|
WeightedItem(4745, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4747, 1, 1, 5),
|
WeightedItem(4747, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4749, 1, 1, 5),
|
WeightedItem(4749, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4751, 1, 1, 5),
|
WeightedItem(4751, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4753, 1, 1, 5),
|
WeightedItem(4753, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4755, 1, 1, 5),
|
WeightedItem(4755, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4757, 1, 1, 5),
|
WeightedItem(4757, 1, 1, 5.0),
|
||||||
WeightedChanceItem(4759, 1, 1, 5)
|
WeightedItem(4759, 1, 1, 5.0)
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -87,9 +88,9 @@ object RewardChest {
|
|||||||
var maxRolls = 2 + RandomFunction.random(0,player.savedData.activityData.barrowKills / 3)
|
var maxRolls = 2 + RandomFunction.random(0,player.savedData.activityData.barrowKills / 3)
|
||||||
if(maxRolls > 6) maxRolls = 6
|
if(maxRolls > 6) maxRolls = 6
|
||||||
for (i in 0 until maxRolls) {
|
for (i in 0 until maxRolls) {
|
||||||
rewards.add(RandomFunction.rollWeightedChanceTable(*DROP_TABLE))
|
rewards.addAll(DROP_TABLE.roll())
|
||||||
}
|
}
|
||||||
InterfaceContainer.generateItems(player, rewards.toTypedArray(), arrayOf("Pog!","Examine"), 364, 4,3,4)
|
InterfaceContainer.generateItems(player, rewards.toTypedArray(), arrayOf("Examine"), 364, 4,3,4)
|
||||||
player.interfaceManager.open(Component(Components.TRAIL_REWARD_364))
|
player.interfaceManager.open(Component(Components.TRAIL_REWARD_364))
|
||||||
BossKillCounter.addtoBarrowsCount(player)
|
BossKillCounter.addtoBarrowsCount(player)
|
||||||
for(item in rewards){
|
for(item in rewards){
|
||||||
|
|||||||
@@ -1,321 +0,0 @@
|
|||||||
package rs09.game.node.entity.skill.thieving
|
|
||||||
|
|
||||||
import core.game.content.ttrail.ClueLevel
|
|
||||||
import core.game.content.ttrail.ClueScrollPlugin
|
|
||||||
import core.game.node.entity.npc.NPC
|
|
||||||
import core.game.node.entity.npc.drop.DropFrequency
|
|
||||||
import core.game.node.entity.player.Player
|
|
||||||
import core.game.node.item.ChanceItem
|
|
||||||
import core.game.node.item.Item
|
|
||||||
import core.tools.RandomFunction
|
|
||||||
import java.util.*
|
|
||||||
import java.util.stream.IntStream
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents a pickpocket npc.
|
|
||||||
* @author Ceikry
|
|
||||||
*/
|
|
||||||
enum class Pickpocket(val npc: IntArray, val level: Int, val experience: Double, val stunDamage: Int, val loot: Array<ChanceItem>) {
|
|
||||||
MAN(intArrayOf(1, 2, 3, 4, 5, 6, 16, 24, 170, 3915), 1, 8.0, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 3, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
FARMER(intArrayOf(7, 1757, 1758), 10, 14.5, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 9, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5318, 1, DropFrequency.UNCOMMON)
|
|
||||||
)),
|
|
||||||
MALE_HAM_MEMBER(intArrayOf(1714), 20, 18.5, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 20, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(590, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(697, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1511, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(201, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(203, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(205, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(688, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1269, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1267, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1353, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(199, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(321, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2138, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1621, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(1623, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(995, 50, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(453, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(4298, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4300, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4302, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4304, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4306, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4308, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(995, 100, DropFrequency.RARE),
|
|
||||||
ChanceItem(4310, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(1625, 1, DropFrequency.RARE)
|
|
||||||
)),
|
|
||||||
FEMALE_HAM_MEMBER(intArrayOf(1715), 15, 18.5, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 20, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(590, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(697, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1511, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(201, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(203, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(205, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(688, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1269, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1267, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1353, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(199, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(321, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2138, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1621, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(1623, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(995, 50, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(453, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(4298, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4300, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4302, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4304, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4306, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(4308, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(995, 100, DropFrequency.RARE),
|
|
||||||
ChanceItem(4310, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(1625, 1, DropFrequency.RARE)
|
|
||||||
)),
|
|
||||||
WARRIOR(intArrayOf(15, 18), 25, 26.0, 2, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 18, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
ROGUE(intArrayOf(187, 2267, 2268, 2269, 8122), 32, 35.5, 2, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 25, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 40, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1993, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(556, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1219, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1523, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1944, 1, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
CAVE_GOBLIN(IntStream.rangeClosed(5752, 5768).toArray(), 36, 40.0, 2, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 1, 30, DropFrequency.COMMON),
|
|
||||||
ChanceItem(4522, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(4544, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(596, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1939, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(442, 1, 4, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(441, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(10981, 1, DropFrequency.RARE)
|
|
||||||
)),
|
|
||||||
MASTER_FARMER(intArrayOf(2234, 2235), 38, 43.0, 3, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(5096, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5097, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5098, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5099, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5100, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5101, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5102, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5103, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5104, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5105, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5106, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5291, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5292, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5293, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5294, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5295, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5296, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5297, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5298, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5299, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5300, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5301, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5302, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5303, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5304, 1, DropFrequency.UNCOMMON)
|
|
||||||
)),
|
|
||||||
GUARD(intArrayOf(9, 32, 206, 296, 297, 298, 299, 344, 345, 346, 368, 678, 812, 9, 32, 296, 297, 298, 299, 2699, 2700, 2701, 2702, 2703, 3228, 3229, 3230, 3231, 3232, 3233, 3241, 3407, 3408, 4307, 4308, 4309, 4310, 4311, 5919, 5920), 40, 46.5, 2, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 30, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
FREMENIK_CITIZEN(intArrayOf(2462), 45, 65.0, 2, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 40, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
BEARDED_BANDIT(intArrayOf(1880, 1881, 6174), 45, 65.0, 5, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 40, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
DESERT_BANDIT(intArrayOf(1926, 1921), 53, 79.5, 3, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 30, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
KNIGHT_OF_ADROUGNE(intArrayOf(23, 26), 55, 84.3, 3, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 50, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
YANILLE_WATCHMAN(intArrayOf(34), 65, 137.5, 5, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 60, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
MENAPHITE_THUG(intArrayOf(1905), 65, 137.5, 5, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 60, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
PALADIN(intArrayOf(20, 2256), 70, 151.75, 3, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 80, DropFrequency.ALWAYS),
|
|
||||||
ChanceItem(562, 1, 2, DropFrequency.ALWAYS)
|
|
||||||
)),
|
|
||||||
MONKEY_KNIFE_FIGHTER(intArrayOf(13195, 13212, 13213), 70, 150.0, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 50, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(869, 1, 4, DropFrequency.COMMON),
|
|
||||||
ChanceItem(874, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(379, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1331, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1333, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(4587, 1, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
GNOME(intArrayOf(66, 67, 68, 168, 169, 2249, 2250, 2251, 2371, 2649, 2650, 6002, 6004), 75, 198.5, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 1, 300, DropFrequency.COMMON),
|
|
||||||
ChanceItem(557, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(444, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(569, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2150, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2162, 1, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
HERO(intArrayOf(21), 80, 273.3, 5, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 1, 200, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 1, 300, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(560, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(565, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(569, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1601, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(444, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(1993, 1, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
ELF(intArrayOf(), 85, 353.0, 5, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 250, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 350, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 300, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
DWARF_TRADER(intArrayOf(2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126), 90, 556.5, 1, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(995, 1, 100, DropFrequency.COMMON),
|
|
||||||
ChanceItem(995, 1, 400, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2350, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2352, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2354, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2360, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2362, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(2364, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(437, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(439, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(441, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(448, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(450, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(452, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(454, 1, DropFrequency.COMMON)
|
|
||||||
)),
|
|
||||||
MARTIN_THE_MASTER_GARDENER(intArrayOf(3299), 38, 43.0, 3, arrayOf<ChanceItem>(
|
|
||||||
ChanceItem(5318, 1, 4, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5319, 1, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5324, 1, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5322, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5320, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5323, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5321, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5096, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5097, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5098, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5099, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5100, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5305, 1, 4, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5307, 1, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5308, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5306, 1, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5319, 1, 3, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5309, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5310, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5311, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5101, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5102, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5103, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5104, 1, 2, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5105, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5106, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5291, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5292, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5293, 1, 1, DropFrequency.COMMON),
|
|
||||||
ChanceItem(5294, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5295, 1, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(5296, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5297, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5298, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5299, 1, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(5300, 1, 1, DropFrequency.VERY_RARE),
|
|
||||||
ChanceItem(5301, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5302, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5303, 1, 1, DropFrequency.RARE),
|
|
||||||
ChanceItem(5304, 1, 1, DropFrequency.VERY_RARE),
|
|
||||||
ChanceItem(5282, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5280, 1, 1, DropFrequency.UNCOMMON),
|
|
||||||
ChanceItem(5281, 1, 1, DropFrequency.UNCOMMON)
|
|
||||||
));
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
private val idMap = HashMap<Int, Pickpocket>()
|
|
||||||
@JvmStatic
|
|
||||||
fun forNPC(npc: NPC): Pickpocket {
|
|
||||||
var pp = idMap[npc.id]
|
|
||||||
if (pp == null) {
|
|
||||||
println("Unhandled pickpocket option for: " + npc.name + "(" + npc.id + ")")
|
|
||||||
pp = MAN
|
|
||||||
}
|
|
||||||
return pp
|
|
||||||
}
|
|
||||||
|
|
||||||
init {
|
|
||||||
Arrays.stream(values()).forEach{entry -> Arrays.stream(entry.npc).forEach{id -> idMap.putIfAbsent(id,entry)}}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private val messages: Array<String> = arrayOf(
|
|
||||||
"You attempt to pick the " + "@name" + "'s pocket...",
|
|
||||||
"You pick the " + "@name" + "'s pocket.",
|
|
||||||
"You fail to pick the " + "@name" + "'s pocket.",
|
|
||||||
"What do you think you're doing?"
|
|
||||||
)
|
|
||||||
|
|
||||||
val startMessage: String
|
|
||||||
get() = messages[0]
|
|
||||||
|
|
||||||
val rewardMessage: String
|
|
||||||
get() = messages[1]
|
|
||||||
|
|
||||||
val failMessage: String
|
|
||||||
get() = messages[2]
|
|
||||||
|
|
||||||
val forceMessage: String
|
|
||||||
get() = messages[3]
|
|
||||||
|
|
||||||
fun getRandomLoot(player: Player): List<Item> {
|
|
||||||
// 5/250 chance for easy clue scroll
|
|
||||||
if ((this == MALE_HAM_MEMBER || this == FEMALE_HAM_MEMBER) && RandomFunction.random(250) <= 5 && !player.treasureTrailManager.hasClue()) {
|
|
||||||
return ArrayList(listOf((ClueScrollPlugin.getClue(ClueLevel.EASY))))
|
|
||||||
}
|
|
||||||
val loot = RandomFunction.rollChanceTable(true, *loot)
|
|
||||||
|
|
||||||
// Calculate any bonus multipliers
|
|
||||||
var bonusMultiplier = 1
|
|
||||||
var rogueItemsWorn = 0
|
|
||||||
val rogueItemIds = intArrayOf(5553, 5554, 5555, 5556, 5557)
|
|
||||||
|
|
||||||
// Figure out how many rogue equipment pieces are worn
|
|
||||||
rogueItemIds.forEach {
|
|
||||||
if(player.equipment.contains(it, 1)){
|
|
||||||
rogueItemsWorn += 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculate if the player will get double the loot for this pickpocket
|
|
||||||
if(RandomFunction.random(0.0, 1.0) <= 0.2 * rogueItemsWorn){
|
|
||||||
bonusMultiplier += 1
|
|
||||||
}
|
|
||||||
|
|
||||||
// Multiply the loot amounts by the bonus multiplier
|
|
||||||
loot.stream().forEach { item: Item -> item.amount = item.amount * bonusMultiplier }
|
|
||||||
return loot
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -79,6 +79,7 @@ class GameSettings
|
|||||||
var increased_door_time: Boolean,
|
var increased_door_time: Boolean,
|
||||||
var enabled_botting : Boolean,
|
var enabled_botting : Boolean,
|
||||||
var max_adv_bots: Int,
|
var max_adv_bots: Int,
|
||||||
|
var wild_pvp_enabled: Boolean,
|
||||||
|
|
||||||
/**"Lobby" interface
|
/**"Lobby" interface
|
||||||
* The message of the week models to display
|
* The message of the week models to display
|
||||||
@@ -130,6 +131,7 @@ class GameSettings
|
|||||||
val increased_door_time = if(data.containsKey("increased_door_time")) data["increased_door_time"] as Boolean else false
|
val increased_door_time = if(data.containsKey("increased_door_time")) data["increased_door_time"] as Boolean else false
|
||||||
val enable_botting = if(data.containsKey("botting_enabled")) data["botting_enabled"] as Boolean else false
|
val enable_botting = if(data.containsKey("botting_enabled")) data["botting_enabled"] as Boolean else false
|
||||||
val max_adv_bots = if(data.containsKey("max_adv_bots")) data["max_adv_bots"].toString().toInt() else 100
|
val max_adv_bots = if(data.containsKey("max_adv_bots")) data["max_adv_bots"].toString().toInt() else 100
|
||||||
|
val wild_pvp_enabled = if(data.containsKey("wild_pvp_enabled")) data["wild_pvp_enabled"] as Boolean else true
|
||||||
val allow_token_purchase = data["allow_token_purchase"] as Boolean
|
val allow_token_purchase = data["allow_token_purchase"] as Boolean
|
||||||
val message_of_the_week_identifier = data["message_of_the_week_identifier"].toString().toInt()
|
val message_of_the_week_identifier = data["message_of_the_week_identifier"].toString().toInt()
|
||||||
val message_of_the_week_text = data["message_of_the_week_text"].toString()
|
val message_of_the_week_text = data["message_of_the_week_text"].toString()
|
||||||
@@ -156,6 +158,7 @@ class GameSettings
|
|||||||
increased_door_time,
|
increased_door_time,
|
||||||
enable_botting,
|
enable_botting,
|
||||||
max_adv_bots,
|
max_adv_bots,
|
||||||
|
wild_pvp_enabled,
|
||||||
message_of_the_week_identifier,
|
message_of_the_week_identifier,
|
||||||
message_of_the_week_text
|
message_of_the_week_text
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user